@salsita-ai/sdk 0.50.0-develop.801a817d3f → 0.50.0-develop.8f6deac646

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 (885) hide show
  1. package/README.md +1 -1
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  4. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  5. package/dist/application-spec/generate-application/code/common/project-module-list.d.ts +8 -0
  6. package/dist/application-spec/generate-application/code/common/project-module-list.js +3 -0
  7. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  8. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  9. package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
  10. package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
  11. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
  12. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
  13. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +1 -2
  14. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -16
  15. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
  16. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
  17. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
  18. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
  19. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +36 -36
  20. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  21. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  22. package/dist/application-spec/generate-application/code/templates/domain-spec.js +4 -4
  23. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  24. package/dist/application-spec/generate-application/code/templates/env-example.js +4 -0
  25. package/dist/application-spec/generate-application/code/templates/index.d.ts +1 -0
  26. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  27. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +1 -1
  28. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  29. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +93 -41
  30. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +2 -2
  31. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  32. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +1 -0
  33. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +6 -0
  34. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +30 -3
  35. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +19 -5
  36. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +9 -4
  37. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -2
  38. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
  39. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
  40. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  41. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +3 -8
  42. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
  43. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +9 -43
  44. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  45. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
  46. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -21
  47. package/dist/client/authorized-client.d.ts +3 -1
  48. package/dist/client/authorized-client.js +1 -1
  49. package/dist/client/contract.d.ts +34 -0
  50. package/dist/client/contract.js +1 -1
  51. package/dist/client/index.d.ts +2 -2
  52. package/dist/client/index.js +1 -1
  53. package/dist/client/local-authorized-client.d.ts +3 -1
  54. package/dist/client/local-authorized-client.js +1 -1
  55. package/dist/client/memory-authorized-client.d.ts +3 -1
  56. package/dist/client/memory-authorized-client.js +1 -1
  57. package/dist/client/phoenix-api.d.ts +271 -30
  58. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +121 -8
  59. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  60. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.d.ts +85 -0
  61. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.js +1 -0
  62. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +5 -1
  63. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  64. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  65. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +6 -0
  66. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  67. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  68. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  69. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +2 -1
  70. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  71. package/dist/configurator/ui/assistant/AssistantThread.d.ts +6 -2
  72. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  73. package/dist/configurator/ui/assistant/thread-items.d.ts +13 -2
  74. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  75. package/dist/configurator/ui/assistant/tool-chip.d.ts +8 -1
  76. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  77. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +84 -98
  78. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
  79. package/dist/docs/index.json +1 -1
  80. package/dist/docs/layouts/custom-price.mdx +14 -16
  81. package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
  82. package/dist/docs/other-features/domain-actions.mdx +1 -1
  83. package/dist/docs/other-features/side-effects.mdx +50 -37
  84. package/dist/docs/other-features/transformers.mdx +1 -1
  85. package/dist/docs/phoenix/admin.mdx +9 -24
  86. package/dist/docs/phoenix/deployments.mdx +1 -1
  87. package/dist/docs/phoenix/expression-context.mdx +11 -3
  88. package/dist/docs/phoenix/localization.mdx +3 -22
  89. package/dist/docs/phoenix/phoenix-cli.mdx +104 -22
  90. package/dist/docs/phoenix/project-structure.mdx +9 -2
  91. package/dist/docs/phoenix/sdk-builder-workflow.mdx +10 -9
  92. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
  93. package/dist/docs/relations/hierarchy.mdx +13 -2
  94. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  95. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  96. package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
  97. package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
  98. package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
  99. package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
  100. package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
  101. package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
  102. package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
  103. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +10 -13
  104. package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
  105. package/dist/domain/admin-domain/index.d.ts +9 -5
  106. package/dist/domain/admin-domain/index.js +1 -1
  107. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  108. package/dist/domain/application/application-config.d.ts +24 -95
  109. package/dist/domain/application/assistant/assistant-manifest.d.ts +63 -0
  110. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +95 -0
  111. package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
  112. package/dist/domain/application/assistant/assistant-value-type.js +1 -0
  113. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
  114. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
  115. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  116. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -0
  117. package/dist/domain/application/assistant/index.d.ts +4 -0
  118. package/dist/domain/application/assistant/index.js +1 -0
  119. package/dist/domain/application/assistant-field-options.d.ts +2 -3
  120. package/dist/domain/application/assistant-mutations.d.ts +3 -5
  121. package/dist/domain/application/assistant-mutations.js +1 -1
  122. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -7
  123. package/dist/domain/application/configurator-builder.d.ts +33 -18
  124. package/dist/domain/application/configurator-builder.js +1 -1
  125. package/dist/domain/application/element-registration.d.ts +5 -0
  126. package/dist/domain/application/element-registration.js +1 -1
  127. package/dist/domain/application/handler-registration.d.ts +5 -0
  128. package/dist/domain/application/handler-registration.js +1 -1
  129. package/dist/domain/application/index.d.ts +6 -5
  130. package/dist/domain/application/index.js +1 -1
  131. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  132. package/dist/domain/application/published-data/create-finalize-admin-domain.d.ts +1 -2
  133. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  134. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  135. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +2 -2
  136. package/dist/domain/application/published-data/map-published-data.d.ts +1 -2
  137. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  138. package/dist/domain/application/resolve-imported-transformers.d.ts +13 -4
  139. package/dist/domain/application/resolve-imported-transformers.js +1 -1
  140. package/dist/domain/available-system-components.js +1 -1
  141. package/dist/domain/core/action/action-factory.d.ts +11 -0
  142. package/dist/domain/core/{action.d.ts → action/action.d.ts} +22 -18
  143. package/dist/domain/core/action/index.d.ts +2 -0
  144. package/dist/domain/core/action/index.js +1 -0
  145. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -2
  146. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  147. package/dist/domain/core/component/debug-state-component.js +1 -0
  148. package/dist/domain/{components → core/component}/domain-component-optic.d.ts +36 -39
  149. package/dist/domain/{components → core/component}/domain-component-optic.js +2 -2
  150. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  151. package/dist/domain/core/component/drag-state-component.js +1 -0
  152. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  153. package/dist/domain/core/component/export-state-component.js +1 -0
  154. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  155. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  156. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -2
  157. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  158. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  159. package/dist/domain/core/component/hover-state-component.js +1 -0
  160. package/dist/domain/core/component/index.d.ts +18 -0
  161. package/dist/domain/core/component/index.js +1 -0
  162. package/dist/domain/{components → core/component}/legacy-filter.d.ts +2 -2
  163. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  164. package/dist/domain/core/component/navigation-state-component.js +1 -0
  165. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  166. package/dist/domain/core/component/selection-state-component.js +1 -0
  167. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -2
  168. package/dist/domain/core/component/system-component-builder.js +1 -0
  169. package/dist/domain/{components → core/component}/system-component-filter.d.ts +19 -19
  170. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  171. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  172. package/dist/domain/core/component/tool-state-component.js +1 -0
  173. package/dist/domain/{components → core/component}/updates.d.ts +9 -10
  174. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  175. package/dist/domain/core/component/view-state-component.js +1 -0
  176. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  177. package/dist/domain/core/component/viewport-state-component.js +1 -0
  178. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  179. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  180. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  181. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  182. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  183. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  184. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  185. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  186. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  187. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  188. package/dist/domain/core/data-schema/data-schema.js +1 -0
  189. package/dist/domain/core/data-schema/index.d.ts +7 -0
  190. package/dist/domain/core/data-schema/index.js +1 -0
  191. package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
  192. package/dist/domain/core/decoder/create-decoder.js +1 -0
  193. package/dist/domain/core/decoder/decoder.d.ts +6 -0
  194. package/dist/domain/core/decoder/decoder.js +1 -0
  195. package/dist/domain/core/decoder/index.d.ts +2 -0
  196. package/dist/domain/core/decoder/index.js +1 -0
  197. package/dist/domain/core/domain-factory.d.ts +4 -5
  198. package/dist/domain/core/domain-factory.js +1 -1
  199. package/dist/domain/core/domain.d.ts +4 -5
  200. package/dist/domain/core/domain.js +1 -1
  201. package/dist/domain/core/emission/index.d.ts +8 -0
  202. package/dist/domain/core/emission/index.js +1 -0
  203. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  204. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  205. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  206. package/dist/domain/core/emission/state-emission.js +1 -0
  207. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  208. package/dist/domain/core/emission/state-update-emission.js +1 -0
  209. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  210. package/dist/domain/core/emission/state-validation-result.js +1 -0
  211. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  212. package/dist/domain/core/emission/transformation-log.js +1 -0
  213. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  214. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  215. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  216. package/dist/domain/core/emission/transformer-log.js +1 -0
  217. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  218. package/dist/domain/core/emission/transformer-phase.js +1 -0
  219. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  220. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  221. package/dist/domain/{expressions → core/expression}/constant-expressions.d.ts +2 -3
  222. package/dist/domain/core/expression/constant-expressions.js +1 -0
  223. package/dist/domain/{expressions → core/expression}/custom-expression.d.ts +9 -10
  224. package/dist/domain/core/expression/custom-expression.js +1 -0
  225. package/dist/domain/core/{expression.d.ts → expression/expression.d.ts} +17 -20
  226. package/dist/domain/core/expression/expression.js +1 -0
  227. package/dist/domain/core/expression/index.d.ts +4 -0
  228. package/dist/domain/core/expression/index.js +1 -0
  229. package/dist/domain/core/index.d.ts +13 -17
  230. package/dist/domain/core/index.js +1 -1
  231. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -2
  232. package/dist/domain/{invariants → core/invariant}/custom-invariants.d.ts +7 -8
  233. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  234. package/dist/domain/core/invariant/index.d.ts +5 -0
  235. package/dist/domain/core/invariant/index.js +1 -0
  236. package/dist/domain/core/invariant/invariants.d.ts +13 -0
  237. package/dist/domain/core/invariant/invariants.js +1 -0
  238. package/dist/domain/core/invariant/violation-component.js +1 -0
  239. package/dist/domain/{invariants → core/invariant}/violation.d.ts +2 -2
  240. package/dist/domain/core/{component.d.ts → model/component.d.ts} +1 -1
  241. package/dist/domain/core/model/index.d.ts +6 -0
  242. package/dist/domain/core/model/index.js +1 -0
  243. package/dist/domain/core/{reflection.d.ts → model/reflection.d.ts} +1 -1
  244. package/dist/domain/core/model/reflection.js +1 -0
  245. package/dist/domain/core/recipe/index.d.ts +1 -0
  246. package/dist/domain/core/recipe/index.js +1 -0
  247. package/dist/domain/{domain-context/recipe-system → core/recipe}/recipes.d.ts +1 -3
  248. package/dist/domain/core/recipe/recipes.js +1 -0
  249. package/dist/domain/{relations → core/relation}/all-of-type-relation.d.ts +3 -4
  250. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  251. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -2
  252. package/dist/domain/core/relation/component-factories.js +1 -0
  253. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  254. package/dist/domain/core/relation/composed-of.js +1 -0
  255. package/dist/domain/{relations → core/relation}/direct-relation.d.ts +2 -3
  256. package/dist/domain/core/relation/index.d.ts +9 -0
  257. package/dist/domain/core/relation/index.js +1 -0
  258. package/dist/domain/{relations → core/relation}/indirect-relation.d.ts +3 -4
  259. package/dist/domain/core/relation/indirect-relation.js +1 -0
  260. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -5
  261. package/dist/domain/core/relation/reference-component.js +1 -0
  262. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  263. package/dist/domain/core/relation/reference-field.js +1 -0
  264. package/dist/domain/{relations → core/relation}/relation-factory.d.ts +2 -3
  265. package/dist/domain/{relations → core/relation}/relation-implementation.d.ts +3 -4
  266. package/dist/domain/core/relation/relation-implementation.js +1 -0
  267. package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
  268. package/dist/domain/core/schema/extended-schema-validator.js +1 -0
  269. package/dist/domain/core/schema/index.d.ts +3 -0
  270. package/dist/domain/core/schema/index.js +1 -0
  271. package/dist/domain/core/schema/schema-validator.js +1 -0
  272. package/dist/domain/core/state/id-sequence.d.ts +15 -0
  273. package/dist/domain/core/state/id-sequence.js +1 -0
  274. package/dist/domain/core/state/index.d.ts +3 -0
  275. package/dist/domain/core/state/index.js +1 -0
  276. package/dist/domain/core/{migrations.d.ts → state/migrations.d.ts} +1 -2
  277. package/dist/domain/core/{state.d.ts → state/state.d.ts} +1 -2
  278. package/dist/domain/domain-builder.d.ts +11 -11
  279. package/dist/domain/domain-builder.js +1 -1
  280. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -4
  281. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  282. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  283. package/dist/domain/domain-context/action-system/index.js +1 -0
  284. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  285. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  286. package/dist/domain/domain-context/create-transformer.d.ts +2 -2
  287. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  288. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +3 -4
  289. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  290. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  291. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  292. package/dist/domain/domain-context/domain-context-systems.d.ts +8 -10
  293. package/dist/domain/domain-context/index.d.ts +8 -18
  294. package/dist/domain/domain-context/index.js +1 -1
  295. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  296. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  297. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +5 -8
  298. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  299. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  300. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  301. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +2 -2
  302. package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
  303. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  304. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  305. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -4
  306. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  307. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +3 -3
  308. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  309. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +3 -3
  310. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  311. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +3 -3
  312. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  313. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  314. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  315. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +3 -3
  316. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  317. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -3
  318. package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
  319. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  320. package/dist/domain/domain-context/store-system/index.js +1 -0
  321. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -13
  322. package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
  323. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  324. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  325. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -39
  326. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  327. package/dist/domain/domain-context/store-system/system-state.d.ts +2 -4
  328. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  329. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  330. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  331. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +6 -10
  332. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  333. package/dist/domain/domain-context/transformers/chain-builder.d.ts +3 -3
  334. package/dist/domain/domain-context/transformers/context.d.ts +2 -7
  335. package/dist/domain/domain-context/transformers/context.js +1 -1
  336. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  337. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  338. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  339. package/dist/domain/domain-context/transformers/index.js +1 -1
  340. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  341. package/dist/domain/domain-context/transformers/then-builder.js +1 -1
  342. package/dist/domain/domain-context/transformers/when-builder.d.ts +3 -9
  343. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  344. package/dist/domain/domain-context/undo-system.d.ts +2 -3
  345. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  346. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  347. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -4
  348. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  349. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  350. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  351. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  352. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  353. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  354. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  355. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +6 -13
  356. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  357. package/dist/domain/domain-runtime/domain-runtime.d.ts +32 -32
  358. package/dist/domain/domain-runtime/spec/index.d.ts +8 -0
  359. package/dist/domain/domain-runtime/spec/index.js +1 -1
  360. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  361. package/dist/domain/domain-runtime/spec/invariant-builder.d.ts +26 -0
  362. package/dist/domain/domain-runtime/spec/invariant-builder.js +1 -0
  363. package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  364. package/dist/domain/{actions → domain-runtime/spec}/prepare-action-implementations.d.ts +1 -1
  365. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  366. package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  367. package/dist/domain/domain-runtime/spec/resolve-action-modules.d.ts +4 -0
  368. package/dist/domain/domain-runtime/spec/resolve-action-modules.js +1 -0
  369. package/dist/domain/domain-runtime/spec/resolve-component-optic-modules.d.ts +4 -0
  370. package/dist/domain/domain-runtime/spec/resolve-component-optic-modules.js +1 -0
  371. package/dist/domain/domain-runtime/spec/resolve-expression-modules.d.ts +15 -0
  372. package/dist/domain/domain-runtime/spec/resolve-expression-modules.js +1 -0
  373. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.d.ts +6 -0
  374. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.js +1 -0
  375. package/dist/domain/domain-runtime/spec/selectors.d.ts +2 -2
  376. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  377. package/dist/domain/domain-runtime/spec/types.d.ts +5 -6
  378. package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +1 -1
  379. package/dist/domain/extensions/angle-indicator.js +1 -0
  380. package/dist/domain/extensions/attribute-switch.js +1 -0
  381. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  382. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  383. package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +1 -1
  384. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  385. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  386. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  387. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
  388. package/dist/domain/extensions/canvas-config.js +1 -0
  389. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  390. package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +1 -1
  391. package/dist/domain/extensions/canvas-padding.js +1 -0
  392. package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +1 -1
  393. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  394. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  395. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  396. package/dist/domain/extensions/client-side-image.js +1 -0
  397. package/dist/domain/extensions/color-value.js +1 -0
  398. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +1 -1
  399. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  400. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +1 -1
  401. package/dist/domain/extensions/common/dimension-indicator-schema.js +1 -0
  402. package/dist/domain/extensions/common/index.d.ts +4 -0
  403. package/dist/domain/extensions/common/index.js +1 -0
  404. package/dist/domain/{system-components → extensions}/custom-header.d.ts +2 -2
  405. package/dist/domain/{system-components → extensions}/custom-header.js +1 -1
  406. package/dist/domain/extensions/custom-price-footer.js +1 -0
  407. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +2 -2
  408. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.js +1 -1
  409. package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +1 -1
  410. package/dist/domain/extensions/dimension-indicator.js +1 -0
  411. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +3 -2
  412. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  413. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +3 -2
  414. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  415. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +3 -2
  416. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  417. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +3 -2
  418. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  419. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  420. package/dist/domain/extensions/entity-header.js +1 -0
  421. package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +1 -1
  422. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  423. package/dist/domain/{system-components → extensions}/finalize-action.d.ts +1 -1
  424. package/dist/domain/extensions/finalize-action.js +1 -0
  425. package/dist/domain/extensions/finalize-component.js +1 -0
  426. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  427. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  428. package/dist/domain/{system-components → extensions}/fixed-header.d.ts +1 -1
  429. package/dist/domain/extensions/fixed-header.js +1 -0
  430. package/dist/domain/{system-components → extensions}/floating-header.d.ts +1 -1
  431. package/dist/domain/extensions/floating-header.js +1 -0
  432. package/dist/domain/{system-components → extensions}/hidden-header.d.ts +1 -1
  433. package/dist/domain/extensions/hidden-header.js +1 -0
  434. package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +1 -1
  435. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  436. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +1 -1
  437. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  438. package/dist/domain/extensions/index.d.ts +69 -0
  439. package/dist/domain/extensions/index.js +1 -0
  440. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
  441. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  442. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  443. package/dist/domain/extensions/navigation-steps.js +1 -0
  444. package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +1 -1
  445. package/dist/domain/extensions/offset-anchors.js +1 -0
  446. package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +1 -2
  447. package/dist/domain/extensions/offset-indicator.js +1 -0
  448. package/dist/domain/{system-components → extensions}/offset.d.ts +1 -1
  449. package/dist/domain/extensions/offset.js +1 -0
  450. package/dist/domain/{system-components → extensions}/other-action.d.ts +1 -1
  451. package/dist/domain/extensions/other-action.js +1 -0
  452. package/dist/domain/{system-components → extensions}/property-page.d.ts +2 -2
  453. package/dist/domain/extensions/property-page.js +1 -0
  454. package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +1 -1
  455. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  456. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  457. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  458. package/dist/domain/extensions/rotatable.js +1 -0
  459. package/dist/domain/extensions/rotation-handle.js +1 -0
  460. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  461. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  462. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  463. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  464. package/dist/domain/extensions/scene-entity-control.js +1 -0
  465. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  466. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  467. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  468. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  469. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  470. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  471. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  472. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  473. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  474. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  475. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  476. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  477. package/dist/domain/extensions/selectable-component.js +1 -0
  478. package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +1 -1
  479. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  480. package/dist/domain/extensions/simple-summary.js +1 -0
  481. package/dist/domain/{system-components → extensions}/size.d.ts +1 -1
  482. package/dist/domain/extensions/size.js +1 -0
  483. package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +1 -1
  484. package/dist/domain/extensions/sketching-draw.js +1 -0
  485. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +2 -2
  486. package/dist/domain/extensions/sketching-edit.js +1 -0
  487. package/dist/domain/extensions/summary-component.js +1 -0
  488. package/dist/domain/extensions/text-value.js +1 -0
  489. package/dist/domain/extensions/tool-controls.js +1 -0
  490. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +2 -2
  491. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  492. package/dist/domain/{system-components → extensions}/toolbar.d.ts +2 -2
  493. package/dist/domain/{system-components → extensions}/toolbar.js +1 -1
  494. package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +1 -1
  495. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  496. package/dist/domain/extensions/view-controls.js +1 -0
  497. package/dist/domain/index.d.ts +3 -32
  498. package/dist/domain/index.js +1 -1
  499. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  500. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +13 -13
  501. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  502. package/dist/domain/project-modules/index.d.ts +1 -0
  503. package/dist/domain/project-modules/index.js +1 -0
  504. package/dist/domain/project-modules/project-modules.d.ts +25 -0
  505. package/dist/domain/project-modules/project-modules.js +1 -0
  506. package/dist/domain/projections/blender-projections/blender-projections.d.ts +2 -3
  507. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  508. package/dist/domain/projections/blender-projections/camera.d.ts +1 -1
  509. package/dist/domain/projections/collision-projections.d.ts +1 -1
  510. package/dist/domain/projections/composition-projections.d.ts +1 -1
  511. package/dist/domain/projections/composition-projections.js +1 -1
  512. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  513. package/dist/domain/projections/index.d.ts +1 -1
  514. package/dist/domain/projections/position-projections.d.ts +1 -1
  515. package/dist/domain/projections/projected-entities-projections.d.ts +2 -3
  516. package/dist/domain/projections/snap-matching.d.ts +1 -2
  517. package/dist/domain/projections/snap-utils.d.ts +1 -2
  518. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  519. package/dist/domain/projections/validation-projections.d.ts +3 -20
  520. package/dist/domain/projections/validation-projections.js +1 -1
  521. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  522. package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
  523. package/dist/domain/system-components/admin-sidebar.js +1 -1
  524. package/dist/domain/system-components/angle-dimension.js +1 -1
  525. package/dist/domain/system-components/application-config.d.ts +1 -1
  526. package/dist/domain/system-components/application-config.js +1 -1
  527. package/dist/domain/system-components/attribute-selection.js +1 -1
  528. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  529. package/dist/domain/system-components/bounding-box-component.js +1 -1
  530. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  531. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  532. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  533. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  534. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  535. package/dist/domain/system-components/child-entity-selection.js +1 -1
  536. package/dist/domain/system-components/collision-box-geometry.d.ts +1 -1
  537. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  538. package/dist/domain/system-components/collision-geometries.d.ts +1 -1
  539. package/dist/domain/system-components/collision-geometry.d.ts +1 -1
  540. package/dist/domain/system-components/collision-geometry.js +1 -1
  541. package/dist/domain/system-components/collision-point-geometry.d.ts +1 -1
  542. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  543. package/dist/domain/system-components/common/index.d.ts +0 -4
  544. package/dist/domain/system-components/common/index.js +1 -1
  545. package/dist/domain/system-components/common/recipes.d.ts +1 -2
  546. package/dist/domain/system-components/constraint.d.ts +1 -1
  547. package/dist/domain/system-components/constraint.js +1 -1
  548. package/dist/domain/system-components/create-blueprint.d.ts +1 -1
  549. package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
  550. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  551. package/dist/domain/system-components/detail.js +1 -1
  552. package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
  553. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  554. package/dist/domain/system-components/distance-dimension.d.ts +1 -1
  555. package/dist/domain/system-components/distance-dimension.js +1 -1
  556. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  557. package/dist/domain/system-components/drag-handle.js +1 -1
  558. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  559. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  560. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  561. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  562. package/dist/domain/system-components/generic-dimension.d.ts +1 -1
  563. package/dist/domain/system-components/generic-dimension.js +1 -1
  564. package/dist/domain/system-components/hidden-entity.js +1 -1
  565. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -2
  566. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  567. package/dist/domain/system-components/index.d.ts +0 -68
  568. package/dist/domain/system-components/index.js +1 -1
  569. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  570. package/dist/domain/system-components/material-override-transformer.js +1 -1
  571. package/dist/domain/system-components/material-swatch.js +1 -1
  572. package/dist/domain/system-components/navigation-page.js +1 -1
  573. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  574. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  575. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  576. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  577. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  578. package/dist/domain/system-components/pivot-point.d.ts +1 -1
  579. package/dist/domain/system-components/pivot-point.js +1 -1
  580. package/dist/domain/system-components/price.js +1 -1
  581. package/dist/domain/system-components/projected-entities.d.ts +1 -1
  582. package/dist/domain/system-components/projected-entities.js +1 -1
  583. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  584. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  585. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  586. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  587. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  588. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  589. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  590. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  591. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  592. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  593. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  594. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  595. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  596. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  597. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  598. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  599. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  600. package/dist/domain/system-components/scene-entity-object.js +1 -1
  601. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  602. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  603. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  604. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  605. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  606. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  607. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  608. package/dist/domain/system-components/sketching-line.d.ts +1 -1
  609. package/dist/domain/system-components/sketching-line.js +1 -1
  610. package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
  611. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  612. package/dist/domain/system-components/sketching.d.ts +1 -1
  613. package/dist/domain/system-components/sketching.js +1 -1
  614. package/dist/domain/system-components/snap-axis.d.ts +1 -1
  615. package/dist/domain/system-components/snap-axis.js +1 -1
  616. package/dist/domain/system-components/snap-edge.d.ts +1 -1
  617. package/dist/domain/system-components/snap-edge.js +1 -1
  618. package/dist/domain/system-components/snap-plane.d.ts +1 -1
  619. package/dist/domain/system-components/snap-plane.js +1 -1
  620. package/dist/domain/system-components/snap-point.d.ts +1 -1
  621. package/dist/domain/system-components/snap-point.js +1 -1
  622. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  623. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  624. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  625. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  626. package/dist/domain/utils/eval-cache.d.ts +1 -2
  627. package/dist/domain/utils/memo-eval.d.ts +2 -4
  628. package/dist/editor/Editor.js +1 -1
  629. package/dist/editor/domain-editors/use-implementation-files.d.ts +7 -6
  630. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  631. package/dist/editor/variants/VariantAnswerFooter.d.ts +17 -0
  632. package/dist/editor/variants/VariantAnswerFooter.js +1 -0
  633. package/dist/editor/variants/VariantPreviewHandler.d.ts +6 -0
  634. package/dist/editor/variants/VariantPreviewHandler.js +1 -0
  635. package/dist/editor/variants/variant-preview-styles.d.ts +49 -0
  636. package/dist/editor/variants/variant-preview-styles.js +1 -0
  637. package/dist/i18n/locales/cs/messages.js +1 -1
  638. package/dist/i18n/locales/da/messages.js +1 -1
  639. package/dist/i18n/locales/de/messages.js +1 -1
  640. package/dist/i18n/locales/de-AT/messages.js +1 -1
  641. package/dist/i18n/locales/en/messages.js +1 -1
  642. package/dist/i18n/locales/en-AU/messages.js +1 -1
  643. package/dist/i18n/locales/en-GB/messages.js +1 -1
  644. package/dist/i18n/locales/es/messages.js +1 -1
  645. package/dist/i18n/locales/fr/messages.js +1 -1
  646. package/dist/i18n/locales/hu/messages.js +1 -1
  647. package/dist/i18n/locales/it/messages.js +1 -1
  648. package/dist/i18n/locales/nl/messages.js +1 -1
  649. package/dist/i18n/locales/pl/messages.js +1 -1
  650. package/dist/i18n/locales/pt/messages.js +1 -1
  651. package/dist/i18n/locales/ro/messages.js +1 -1
  652. package/dist/i18n/locales/sk/messages.js +1 -1
  653. package/dist/i18n/locales/tr/messages.js +1 -1
  654. package/dist/legacy/domain-cli/gen/configurator-builder.js +21 -8
  655. package/dist/legacy/domain-cli/gen/implementation.js +5 -5
  656. package/dist/legacy/domain-cli/gen/invariants.js +5 -3
  657. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  658. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  659. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  660. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  661. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -19
  662. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +15 -16
  663. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +22 -23
  664. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +15 -16
  665. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
  666. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
  667. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
  668. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
  669. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
  670. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  671. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
  672. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  673. package/dist/phoenix/cli.js +1 -1
  674. package/dist/phoenix/commands/dev.js +5 -5
  675. package/dist/phoenix/commands/index.d.ts +1 -0
  676. package/dist/phoenix/commands/index.js +1 -1
  677. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  678. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  679. package/dist/phoenix/commands/story-dev.js +2 -2
  680. package/dist/phoenix/commands/variants.d.ts +35 -0
  681. package/dist/phoenix/commands/variants.js +1 -0
  682. package/dist/phoenix/editor-server/commands-router.d.ts +68 -1
  683. package/dist/phoenix/editor-server/commands-router.js +1 -1
  684. package/dist/phoenix/editor-server/editor-router.d.ts +65 -0
  685. package/dist/phoenix/editor-server/editor-server.d.ts +3 -3
  686. package/dist/phoenix/editor-server/editor-server.js +1 -1
  687. package/dist/phoenix/editor-server/protocol.d.ts +1 -0
  688. package/dist/phoenix/editor-server/spec-router.js +1 -1
  689. package/dist/phoenix/editor-server/trpc.d.ts +3 -0
  690. package/dist/phoenix/scripts/build-admin.js +1 -1
  691. package/dist/phoenix/services/application-spec-project-watcher.d.ts +13 -2
  692. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  693. package/dist/phoenix/services/index.d.ts +4 -0
  694. package/dist/phoenix/services/index.js +1 -1
  695. package/dist/phoenix/services/phoenix-application.d.ts +21 -0
  696. package/dist/phoenix/services/phoenix-application.js +1 -0
  697. package/dist/phoenix/services/phoenix-store.d.ts +48 -0
  698. package/dist/phoenix/services/phoenix-store.js +1 -0
  699. package/dist/phoenix/services/phx-variant-previews-plugin.d.ts +9 -0
  700. package/dist/phoenix/services/phx-variant-previews-plugin.js +1 -0
  701. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  702. package/dist/phoenix/services/variant-file-session.d.ts +36 -0
  703. package/dist/phoenix/services/variant-file-session.js +1 -0
  704. package/dist/phoenix/services/variant-preview-service.d.ts +80 -0
  705. package/dist/phoenix/services/variant-preview-service.js +1 -0
  706. package/dist/phoenix/services/vite-config.js +1 -1
  707. package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
  708. package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
  709. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
  710. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  711. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +24 -24
  712. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +5 -5
  713. package/dist/ui-sdk/theme/types.d.ts +1 -1
  714. package/dist/webhook/builders/common.d.ts +8 -0
  715. package/dist/webhook/builders/webhook-builder.d.ts +1 -1
  716. package/dist/webhook/builders/webhook-builder.js +1 -1
  717. package/package.json +3 -3
  718. package/dist/domain/actions/action-factory.d.ts +0 -10
  719. package/dist/domain/actions/prepare-action-implementations.js +0 -5
  720. package/dist/domain/components/debug-state-component.js +0 -1
  721. package/dist/domain/components/drag-state-component.js +0 -1
  722. package/dist/domain/components/export-state-component.js +0 -1
  723. package/dist/domain/components/fullscreen-state-component.js +0 -1
  724. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  725. package/dist/domain/components/hover-state-component.js +0 -1
  726. package/dist/domain/components/index.d.ts +0 -2
  727. package/dist/domain/components/index.js +0 -1
  728. package/dist/domain/components/navigation-state-component.js +0 -1
  729. package/dist/domain/components/selection-state-component.js +0 -1
  730. package/dist/domain/components/system-component-builder.js +0 -1
  731. package/dist/domain/components/system-virtual-entity.js +0 -1
  732. package/dist/domain/components/tool-state-component.js +0 -1
  733. package/dist/domain/components/view-state-component.js +0 -1
  734. package/dist/domain/components/viewport-state-component.js +0 -1
  735. package/dist/domain/core/json-schema.js +0 -1
  736. package/dist/domain/core/reflection.js +0 -1
  737. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  738. package/dist/domain/expressions/constant-expressions.js +0 -1
  739. package/dist/domain/expressions/custom-expression.js +0 -1
  740. package/dist/domain/expressions/index.d.ts +0 -1
  741. package/dist/domain/expressions/index.js +0 -1
  742. package/dist/domain/invariants/custom-invariants.js +0 -1
  743. package/dist/domain/invariants/invariants.d.ts +0 -68
  744. package/dist/domain/invariants/invariants.js +0 -1
  745. package/dist/domain/invariants/violation-component.js +0 -1
  746. package/dist/domain/relations/all-of-type-relation.js +0 -1
  747. package/dist/domain/relations/component-factories.js +0 -1
  748. package/dist/domain/relations/composed-of.js +0 -1
  749. package/dist/domain/relations/indirect-relation.js +0 -1
  750. package/dist/domain/relations/reference-component.js +0 -1
  751. package/dist/domain/system-components/angle-indicator.js +0 -1
  752. package/dist/domain/system-components/attribute-switch.js +0 -1
  753. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  754. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  755. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  756. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  757. package/dist/domain/system-components/canvas-config.js +0 -1
  758. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  759. package/dist/domain/system-components/canvas-padding.js +0 -1
  760. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  761. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  762. package/dist/domain/system-components/client-side-image.js +0 -1
  763. package/dist/domain/system-components/color-value.js +0 -1
  764. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  765. package/dist/domain/system-components/common/dimension-indicator-schema.js +0 -1
  766. package/dist/domain/system-components/custom-price-footer.js +0 -1
  767. package/dist/domain/system-components/dimension-indicator.js +0 -1
  768. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  769. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  770. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  771. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  772. package/dist/domain/system-components/entity-header.js +0 -1
  773. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  774. package/dist/domain/system-components/finalize-action.js +0 -1
  775. package/dist/domain/system-components/finalize-component.js +0 -1
  776. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  777. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  778. package/dist/domain/system-components/fixed-header.js +0 -1
  779. package/dist/domain/system-components/floating-header.js +0 -1
  780. package/dist/domain/system-components/hidden-header.js +0 -1
  781. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  782. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  783. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  784. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  785. package/dist/domain/system-components/navigation-steps.js +0 -1
  786. package/dist/domain/system-components/offset-anchors.js +0 -1
  787. package/dist/domain/system-components/offset-indicator.js +0 -1
  788. package/dist/domain/system-components/offset.js +0 -1
  789. package/dist/domain/system-components/other-action.js +0 -1
  790. package/dist/domain/system-components/property-page.js +0 -1
  791. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  792. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  793. package/dist/domain/system-components/rotatable.js +0 -1
  794. package/dist/domain/system-components/rotation-handle.js +0 -1
  795. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  796. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  797. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  798. package/dist/domain/system-components/scene-entity-control.js +0 -1
  799. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  800. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  801. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  802. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  803. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  804. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  805. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  806. package/dist/domain/system-components/selectable-component.js +0 -1
  807. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  808. package/dist/domain/system-components/simple-summary.js +0 -1
  809. package/dist/domain/system-components/size.js +0 -1
  810. package/dist/domain/system-components/sketching-draw.js +0 -1
  811. package/dist/domain/system-components/sketching-edit.js +0 -1
  812. package/dist/domain/system-components/summary-component.js +0 -1
  813. package/dist/domain/system-components/text-value.js +0 -1
  814. package/dist/domain/system-components/tool-controls.js +0 -1
  815. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  816. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  817. package/dist/domain/system-components/view-controls.js +0 -1
  818. package/dist/phoenix/application-spec/generate-assistant-prompt.d.ts +0 -12
  819. package/dist/phoenix/application-spec/generate-assistant-prompt.js +0 -1
  820. /package/dist/domain/{components/component-reader-types.js → application/assistant/assistant-manifest.js} +0 -0
  821. /package/dist/domain/{core/action.js → application/assistant/assistant-resolved-manifest.js} +0 -0
  822. /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
  823. /package/dist/domain/core/{enhanced-json-schema.js → action/action.js} +0 -0
  824. /package/dist/domain/core/{expression.js → component/component-reader-types.js} +0 -0
  825. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  826. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  827. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  828. /package/dist/domain/{components → core/component}/updates.js +0 -0
  829. /package/dist/domain/core/{schema-validator.js → data-schema/data-cell-value.js} +0 -0
  830. /package/dist/domain/{relations/reference-field.js → core/data-schema/data-schema-array-field.js} +0 -0
  831. /package/dist/domain/{relations/relation-implementation.js → core/data-schema/data-schema-field-object.js} +0 -0
  832. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  833. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  834. /package/dist/domain/{invariants → core/invariant}/violation.js +0 -0
  835. /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
  836. /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
  837. /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
  838. /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
  839. /package/dist/domain/core/{component.js → model/component.js} +0 -0
  840. /package/dist/domain/core/{model.d.ts → model/model.d.ts} +0 -0
  841. /package/dist/domain/core/{model.js → model/model.js} +0 -0
  842. /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
  843. /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
  844. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  845. /package/dist/domain/{relations → core/relation}/relation-factory.js +0 -0
  846. /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
  847. /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
  848. /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
  849. /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
  850. /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
  851. /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
  852. /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
  853. /package/dist/domain/core/{migrations.js → state/migrations.js} +0 -0
  854. /package/dist/domain/core/{state.js → state/state.js} +0 -0
  855. /package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.js +0 -0
  856. /package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  857. /package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +0 -0
  858. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  859. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  860. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  861. /package/dist/domain/{system-components → extensions}/client-side-image.d.ts +0 -0
  862. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  863. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  864. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  865. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  866. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  867. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  868. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  869. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  870. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  871. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  872. /package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +0 -0
  873. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  874. /package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +0 -0
  875. /package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +0 -0
  876. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  877. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  878. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  879. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  880. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  881. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  882. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  883. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  884. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  885. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -1,13 +1,12 @@
1
1
  import type { SessionRole } from '@salsita-ai/contracts/api';
2
- import type { ComponentReader } from '../domain-runtime/domain-context/index.js';
3
- import type { CollisionProjections, ConstraintProjections, PositionProjections, ProjectedEntitiesProjections, SnappingProjections } from '../projections/index.js';
4
- import type { SketchingProjections } from '../sketching/index.js';
5
- import type { TypeOrAlias } from './alias.js';
6
- import type { Domain } from './domain.js';
7
- import type { MigrateFunction } from './migrations.js';
8
- import type { $DomainEntity, DomainEntity } from './model.js';
9
- import type { DomainState } from './state.js';
10
- export interface ExpressionContext<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>> {
2
+ import type { Domain } from '../domain.js';
3
+ import type { $DomainEntity, DomainEntity, TypeOrAlias } from '../model/index.js';
4
+ import type { DomainState, MigrateFunction } from '../state/index.js';
5
+ /**
6
+ * The part of the expression context that core declares: the mode and role of the session, the data
7
+ * of the application, the entity view and the migration of the model.
8
+ */
9
+ export interface CoreExpressionContext<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>> {
11
10
  readonly mode: 'owner' | 'read' | 'finalize';
12
11
  readonly role: SessionRole;
13
12
  readonly publishedData: PUBLISHED_DATA;
@@ -15,16 +14,14 @@ export interface ExpressionContext<ENTITIES extends DomainEntity<string>, ALLOWE
15
14
  readonly backendData: Record<string, unknown> | undefined;
16
15
  readonly sessionData: SESSION_DATA;
17
16
  readonly domain: Domain<ENTITIES, ALLOWED_ROOT_ENTITIES, Record<ENTITIES['type'], $DomainEntity<ENTITIES>>>;
18
- readonly componentReader: ComponentReader<ENTITIES>;
19
17
  readonly migrate: MigrateFunction<ENTITIES>;
20
- readonly positionProjections: PositionProjections<ENTITIES>;
21
- readonly sketchingProjections: SketchingProjections<ENTITIES>;
22
- readonly collisionProjections: CollisionProjections<ENTITIES>;
23
- readonly constraintProjections: ConstraintProjections<ENTITIES>;
24
- readonly snappingProjections: SnappingProjections<ENTITIES>;
25
- readonly projectedEntitiesProjections: ProjectedEntitiesProjections<ENTITIES>;
26
18
  }
27
- export type AnyExpressionContext = ExpressionContext<any, any, any, any, any>;
19
+ /**
20
+ * The context an expression is evaluated in. Core declares its own part; `CONTEXT_EXTENSION` is
21
+ * what whoever evaluates the expression adds to it, such as the component reader and the
22
+ * projections of the domain runtime. An expression that reads only core's part leaves it out.
23
+ */
24
+ export type OpenExpressionContext<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, CONTEXT_EXTENSION = unknown> = CoreExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA> & CONTEXT_EXTENSION;
28
25
  export interface ExpressionMeta {
29
26
  /**
30
27
  * By enabling this flag, expression will be run during validation. It is primarily used to check validity of relations.
@@ -39,11 +36,11 @@ export interface ExpressionOrigin {
39
36
  readonly typeOrAlias: string;
40
37
  readonly name: string;
41
38
  }
42
- export interface AnonymousExpression<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, SELF extends ENTITIES, T> {
43
- evaluate(selfId: SELF['id'], state: DomainState<ENTITIES>, ctx: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>): T;
39
+ export interface AnonymousExpression<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, SELF extends ENTITIES, T, CONTEXT_EXTENSION = unknown> {
40
+ evaluate(selfId: SELF['id'], state: DomainState<ENTITIES>, ctx: OpenExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, CONTEXT_EXTENSION>): T;
44
41
  readonly meta: ExpressionMeta;
45
42
  }
46
- export interface Expression<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, SELF extends ENTITIES, T> extends AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, SELF, T> {
43
+ export interface Expression<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, SELF extends ENTITIES, T, CONTEXT_EXTENSION = unknown> extends AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, SELF, T, CONTEXT_EXTENSION> {
47
44
  readonly origin: ExpressionOrigin;
48
45
  }
49
46
  export type AnyExpression = Expression<any, any, any, any, any, any, any>;
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,4 @@
1
+ export type * from './aliased-expressions.js';
2
+ export * from './constant-expressions.js';
3
+ export * from './custom-expression.js';
4
+ export type * from './expression.js';
@@ -0,0 +1 @@
1
+ export*from"./constant-expressions.js";export*from"./custom-expression.js";
@@ -1,18 +1,14 @@
1
- export type { EnhancedJsonObjectSchemaType, EnhancedJsonSchemaType, JsonSchemaType, MemberImport, } from './enhanced-json-schema.js';
2
- export type { ActionContext, ActionDefinition, ActionDefinitions, ActionImplementation, ActionImplementations, ActionStateChange, ActionTypes, AnyActionContext, AnyActionImplementation, AnyActionImplementations, PreparedAction, } from './action.js';
3
- export { extendedSchemaValidator, getExtendedSchemaValidator } from './json-schema.js';
4
- export { _unsafeBuildDomainEntityId, domainEntityTypeFromId, createVirtualEntityId, isDomainEntityId, isVirtualEntityId, VirtualEntityIdSchema, isEqualEntityTypeAndId, parseDomainEntityId, DomainEntityIdSchema, DomainEntitySchema, $DomainEntitySchema, } from './model.js';
5
- export type { $DomainEntity, DomainEntity, VirtualEntityId, DomainEntityId, EntityIdSchema, EntityByType, EntityId, } from './model.js';
6
- export type { PartialSchemaOfObject, SchemaOfObject, EnumLike, EntityReflections } from './reflection.js';
7
- export { type Migration, MigrateFunctionBuilder, type MigrateFunction, type VersionedState, type MigrateFunctionOptions, type AnyVersionedState, StateMigrationError, isStateMigrationError, } from './migrations.js';
8
- export * from './reflection.js';
9
- export type { ComponentInstance, StateOfComponent, WritableStateOfComponent, SystemComponentType, SystemComponentTypeConstraint, ComponentSnapshot, } from './component.js';
10
- export { isEqualComponentInstance, areEqualComponentSnapshots, isEqualComponentSnapshot, isSnapshotOfComponentType, isInstanceOfComponentType, getComponentInstanceKey, getComponentSnapshotKey, } from './component.js';
11
- export { type DomainState, type DomainStateFactory, createInitialDomainState } from './state.js';
12
- export type * from './expression.js';
13
- export * from './alias.js';
14
- export * from './domain.js';
1
+ export * from './action/index.js';
2
+ export * from './component/index.js';
3
+ export type * from './data-schema/index.js';
4
+ export * from './decoder/index.js';
15
5
  export * from './domain-factory.js';
16
- export * from './preset.js';
17
- export { getCommonPhxDefinitions, availableDefinitions } from './common-definitions.js';
18
- export type { PhxValidateFunction, PhxValidationError, SchemaValidator } from './schema-validator.js';
6
+ export * from './domain.js';
7
+ export type * from './emission/index.js';
8
+ export * from './expression/index.js';
9
+ export * from './invariant/index.js';
10
+ export * from './model/index.js';
11
+ export * from './recipe/index.js';
12
+ export * from './relation/index.js';
13
+ export * from './schema/index.js';
14
+ export * from './state/index.js';
@@ -1 +1 @@
1
- export{extendedSchemaValidator,getExtendedSchemaValidator}from"./json-schema.js";export{_unsafeBuildDomainEntityId,domainEntityTypeFromId,createVirtualEntityId,isDomainEntityId,isVirtualEntityId,VirtualEntityIdSchema,isEqualEntityTypeAndId,parseDomainEntityId,DomainEntityIdSchema,DomainEntitySchema,$DomainEntitySchema}from"./model.js";export{MigrateFunctionBuilder,StateMigrationError,isStateMigrationError}from"./migrations.js";export*from"./reflection.js";export{isEqualComponentInstance,areEqualComponentSnapshots,isEqualComponentSnapshot,isSnapshotOfComponentType,isInstanceOfComponentType,getComponentInstanceKey,getComponentSnapshotKey}from"./component.js";export{createInitialDomainState}from"./state.js";export*from"./alias.js";export*from"./domain.js";export*from"./domain-factory.js";export*from"./preset.js";export{getCommonPhxDefinitions,availableDefinitions}from"./common-definitions.js";
1
+ export*from"./action/index.js";export*from"./component/index.js";export*from"./decoder/index.js";export*from"./domain-factory.js";export*from"./domain.js";export*from"./expression/index.js";export*from"./invariant/index.js";export*from"./model/index.js";export*from"./recipe/index.js";export*from"./relation/index.js";export*from"./schema/index.js";export*from"./state/index.js";
@@ -1,5 +1,5 @@
1
- import type { DomainEntity, DomainEntityId } from '../core/model.js';
2
- import type { DomainState } from '../core/state.js';
1
+ import type { DomainEntity, DomainEntityId } from '../model/index.js';
2
+ import type { DomainState } from '../state/index.js';
3
3
  import type { Invariant } from './invariants.js';
4
4
  import type { Violation } from './violation.js';
5
5
  export declare const createInvariant: <VIOLATION_TYPE extends string>(evaluate: (selfId: DomainEntityId<string>, state: DomainState<DomainEntity<string>>) => ReadonlyArray<Violation<VIOLATION_TYPE>>) => Invariant<DomainEntity<string>, DomainEntity<string>, Record<string, unknown>, Record<string, unknown>, Record<string, unknown>, DomainEntity<string>, VIOLATION_TYPE>;
@@ -1,12 +1,11 @@
1
1
  import type { OmitEmpty, OmitNever } from '@salsita-ai/common/utils';
2
- import type { ExpandAlias, TypeOrAlias } from '../core/alias.js';
3
- import type { $DomainEntity, DomainEntity } from '../core/model.js';
4
- import type { CustomExpression } from '../expressions/custom-expression.js';
2
+ import type { CustomExpression } from '../expression/index.js';
3
+ import type { $DomainEntity, DomainEntity, ExpandAlias, TypeOrAlias } from '../model/index.js';
5
4
  import type { Invariant } from './invariants.js';
6
5
  import type { Violation } from './violation.js';
7
- export type CustomInvariantsFromBlueprints<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, BLUEPRINTS extends Partial<Record<keyof $MAP & string, Record<string, boolean | string>>>> = {
6
+ export type CustomInvariantsFromBlueprints<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, BLUEPRINTS extends Partial<Record<keyof $MAP & string, Record<string, boolean | string>>>, CONTEXT_EXTENSION = unknown> = {
8
7
  [TYPE_OR_ALIAS in keyof BLUEPRINTS]: {
9
- [NAME in keyof BLUEPRINTS[TYPE_OR_ALIAS]]: TYPE_OR_ALIAS extends keyof $MAP ? CustomExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, $MAP[TYPE_OR_ALIAS], BLUEPRINTS[TYPE_OR_ALIAS][NAME] extends string ? ReadonlyArray<Violation<BLUEPRINTS[TYPE_OR_ALIAS][NAME]>> : BLUEPRINTS[TYPE_OR_ALIAS][NAME]> : never;
8
+ [NAME in keyof BLUEPRINTS[TYPE_OR_ALIAS]]: TYPE_OR_ALIAS extends keyof $MAP ? CustomExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, $MAP[TYPE_OR_ALIAS], BLUEPRINTS[TYPE_OR_ALIAS][NAME] extends string ? ReadonlyArray<Violation<BLUEPRINTS[TYPE_OR_ALIAS][NAME]>> : BLUEPRINTS[TYPE_OR_ALIAS][NAME], CONTEXT_EXTENSION> : never;
10
9
  };
11
10
  };
12
11
  export type StaticallyDefinedViolations<ENTITIES extends DomainEntity<string>, ALIASES extends Record<string, ENTITIES>, BLUEPRINTS extends Partial<Record<TypeOrAlias<ENTITIES, ALIASES>, Record<string, boolean | string>>>> = OmitEmpty<{
@@ -14,9 +13,9 @@ export type StaticallyDefinedViolations<ENTITIES extends DomainEntity<string>, A
14
13
  [NAME in keyof BLUEPRINTS[TYPE_OR_ALIAS]]: BLUEPRINTS[TYPE_OR_ALIAS][NAME] extends boolean ? Violation<string> : never;
15
14
  }>;
16
15
  }>;
17
- export type InvariantsFromBlueprints<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>, BLUEPRINTS extends Partial<Record<TypeOrAlias<ENTITIES, ALIASES>, Record<string, boolean | string>>>, STATIC_VIOLATIONS extends StaticallyDefinedViolations<ENTITIES, ALIASES, BLUEPRINTS>, PICK extends keyof BLUEPRINTS = keyof BLUEPRINTS> = {
16
+ export type InvariantsFromBlueprints<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>, BLUEPRINTS extends Partial<Record<TypeOrAlias<ENTITIES, ALIASES>, Record<string, boolean | string>>>, STATIC_VIOLATIONS extends StaticallyDefinedViolations<ENTITIES, ALIASES, BLUEPRINTS>, PICK extends keyof BLUEPRINTS = keyof BLUEPRINTS, CONTEXT_EXTENSION = unknown> = {
18
17
  readonly [TYPE_OR_ALIAS in keyof BLUEPRINTS & string & PICK]: ReadonlyArray<{
19
- [NAME in keyof BLUEPRINTS[TYPE_OR_ALIAS]]: Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ExpandAlias<ENTITIES, ALIASES, TYPE_OR_ALIAS>, BLUEPRINTS[TYPE_OR_ALIAS][NAME] extends boolean ? TYPE_OR_ALIAS extends keyof STATIC_VIOLATIONS ? NAME extends keyof STATIC_VIOLATIONS[TYPE_OR_ALIAS] ? STATIC_VIOLATIONS[TYPE_OR_ALIAS][NAME]['type'] : never : never : BLUEPRINTS[TYPE_OR_ALIAS][NAME] extends string ? BLUEPRINTS[TYPE_OR_ALIAS][NAME] : never>;
18
+ [NAME in keyof BLUEPRINTS[TYPE_OR_ALIAS]]: Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ExpandAlias<ENTITIES, ALIASES, TYPE_OR_ALIAS>, BLUEPRINTS[TYPE_OR_ALIAS][NAME] extends boolean ? TYPE_OR_ALIAS extends keyof STATIC_VIOLATIONS ? NAME extends keyof STATIC_VIOLATIONS[TYPE_OR_ALIAS] ? STATIC_VIOLATIONS[TYPE_OR_ALIAS][NAME]['type'] : never : never : BLUEPRINTS[TYPE_OR_ALIAS][NAME] extends string ? BLUEPRINTS[TYPE_OR_ALIAS][NAME] : never, CONTEXT_EXTENSION>;
20
19
  }[keyof BLUEPRINTS[TYPE_OR_ALIAS]]>;
21
20
  };
22
- export declare const createCustomInvariantFactory: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<TypeOrAlias<ENTITIES, ALIASES>, $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>, BLUEPRINTS extends Partial<Record<TypeOrAlias<ENTITIES, ALIASES>, Record<string, boolean | string>>>>() => <STATIC_VIOLATIONS extends StaticallyDefinedViolations<ENTITIES, ALIASES, BLUEPRINTS>>(staticViolations: STATIC_VIOLATIONS) => <TYPES_OR_ALIASES extends keyof BLUEPRINTS & string>(implementations: Pick<CustomInvariantsFromBlueprints<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, BLUEPRINTS>, TYPES_OR_ALIASES>) => InvariantsFromBlueprints<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, BLUEPRINTS, STATIC_VIOLATIONS, TYPES_OR_ALIASES>;
21
+ export declare const createCustomInvariantFactory: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<TypeOrAlias<ENTITIES, ALIASES>, $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>, BLUEPRINTS extends Partial<Record<TypeOrAlias<ENTITIES, ALIASES>, Record<string, boolean | string>>>, CONTEXT_EXTENSION = unknown>() => <STATIC_VIOLATIONS extends StaticallyDefinedViolations<ENTITIES, ALIASES, BLUEPRINTS>>(staticViolations: STATIC_VIOLATIONS) => <TYPES_OR_ALIASES extends keyof BLUEPRINTS & string>(implementations: Pick<CustomInvariantsFromBlueprints<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, BLUEPRINTS, CONTEXT_EXTENSION>, TYPES_OR_ALIASES>) => InvariantsFromBlueprints<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, BLUEPRINTS, STATIC_VIOLATIONS, TYPES_OR_ALIASES, CONTEXT_EXTENSION>;
@@ -0,0 +1 @@
1
+ import{withProfilerLabel as t}from"../../utils/profiler-label.js";export const createCustomInvariantFactory=()=>e=>r=>{let n={};return Object.entries(r).forEach(([r,o])=>{let a=Object.entries(o).map(([n,o])=>({evaluate:t(`${r}_invariant_${n}`,(t,a,i)=>{let l=o(i.domain.get$Entity(t,a),a,i);if("boolean"==typeof l){let t=e[r]?.[n];if(!t)throw Error(`Cannot find statically defined violation for ${r}.${n}`);return l?[]:[t]}return l})}));n[r]=a}),n};
@@ -0,0 +1,5 @@
1
+ export * from './builtin-invariant.js';
2
+ export * from './custom-invariants.js';
3
+ export type * from './invariants.js';
4
+ export * from './violation-component.js';
5
+ export * from './violation.js';
@@ -0,0 +1 @@
1
+ export*from"./builtin-invariant.js";export*from"./custom-invariants.js";export*from"./violation-component.js";export*from"./violation.js";
@@ -0,0 +1,13 @@
1
+ import type { OpenExpressionContext } from '../expression/index.js';
2
+ import type { $DomainEntity, DomainEntity, ExpandAlias, TypeOrAlias } from '../model/index.js';
3
+ import type { DomainState } from '../state/index.js';
4
+ import { type Violation } from './violation.js';
5
+ export interface Invariant<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ENTITY extends ENTITIES, VIOLATION_TYPE extends string, CONTEXT_EXTENSION = unknown> {
6
+ evaluate(selfId: ENTITY['id'], state: DomainState<ENTITIES>, ctx: OpenExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, CONTEXT_EXTENSION>): ReadonlyArray<Violation<VIOLATION_TYPE>>;
7
+ }
8
+ export type AliasedInvariants<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>, VIOLATION_TYPES extends string> = {
9
+ [K in TypeOrAlias<ENTITIES, ALIASES>]?: ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ExpandAlias<ENTITIES, ALIASES, K>, VIOLATION_TYPES>>;
10
+ };
11
+ export type DeclaredInvariants<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>> = {
12
+ readonly [TYPE in ENTITIES['type']]: '$violations' extends keyof $MAP[TYPE] ? $MAP[TYPE]['$violations'] extends () => ReadonlyArray<Violation<infer VIOLATION_TYPE>> ? ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, VIOLATION_TYPE>> : never : never;
13
+ };
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1 @@
1
+ import{SystemComponentBuilder as o}from"../component/index.js";import{ViolationSchema as t}from"./violation.js";export const violationsComponent=o.component("violations").withState({tsType:"ViolationComponentState",type:"object",properties:{violations:{type:"array",items:t}},required:["violations"],additionalProperties:!1}).build();
@@ -1,7 +1,7 @@
1
1
  import type { I18n } from '@lingui/core';
2
2
  import type { Localizable } from '@salsita-ai/common/utils';
3
- import type { $DomainEntity, DomainEntity, EntityId } from '../core/model.js';
4
- import type { StateEmission } from '../domain-context/store-system/store-system.js';
3
+ import type { StateEmission } from '../emission/index.js';
4
+ import type { $DomainEntity, DomainEntity, EntityId } from '../model/index.js';
5
5
  /**
6
6
  * An **ORDERED** list of violation severities.
7
7
  * Do not change the order of the items in this list.
@@ -1,6 +1,6 @@
1
1
  import { type ExtendedJsonSchema } from '@salsita-ai/common/utils';
2
+ import type { PhxValidateFunction } from '../schema/index.js';
2
3
  import type { EntityId } from './model.js';
3
- import type { PhxValidateFunction } from './schema-validator.js';
4
4
  /**
5
5
  * Definition of how the component looks like, it's name, state and other properties. It is used to instantiate components.
6
6
  */
@@ -0,0 +1,6 @@
1
+ export * from './alias.js';
2
+ export * from './common-definitions.js';
3
+ export * from './component.js';
4
+ export * from './model.js';
5
+ export * from './preset.js';
6
+ export * from './reflection.js';
@@ -0,0 +1 @@
1
+ export*from"./alias.js";export*from"./common-definitions.js";export*from"./component.js";export*from"./model.js";export*from"./preset.js";export*from"./reflection.js";
@@ -1,6 +1,6 @@
1
1
  import type { ExtendedJsonSchema } from '@salsita-ai/common/utils';
2
+ import { type PhxValidateFunction } from '../schema/index.js';
2
3
  import { type $DomainEntity, type DomainEntity, type EntityByType, type EntityId } from './model.js';
3
- import type { PhxValidateFunction } from './schema-validator.js';
4
4
  type RequiredKeys<T> = {
5
5
  [K in keyof T]: undefined extends T[K] ? never : K;
6
6
  }[keyof T];
@@ -0,0 +1 @@
1
+ import{extendedSchemaValidator as t}from"../schema/index.js";import{domainEntityTypeFromId as e,isDomainEntityId as s}from"./model.js";export class SchemaReflection{_meta;constructor(e,s){this._meta={name:e,schema:s,validator:t.compile(s)}}is=t=>this._meta.validator(t);assert(t){if(!this._meta.validator(t))throw Error(`Expected value to match schema of '${this._meta.name}' but got ${t}`)}}export class EnumReflection extends SchemaReflection{constructor(t,e){for(let s of(super(t,e),e.enum))Object.defineProperty(this,s,{value:s,writable:!1,enumerable:!0,configurable:!1})}values=()=>this._meta.schema.enum}let o=class BaseDomainEntityReflection{type;constructor(t){this.type=t}is=t=>t.type===this.type;assert(t){if(!this.is(t))throw Error(`Expected entity #${t.id} to be of type ${this.type} but got ${t.type}`)}isId=t=>s(t)&&e(t)===this.type;assertId(t){if(!this.isId(t))throw Error(`Expected entity id to be of type ${this.type} but got ${t}`)}assertIds(t){t.forEach(t=>{this.assertId(t)})}};export class DomainEntityReflection extends o{_meta;constructor(e,s){super(e);let o=s.reduce((t,e)=>{let s=e.$defs;return"object"==typeof s&&null!==s&&Object.assign(t,s),t},{}),r={type:"object",properties:{id:{type:"string",pattern:`^${e}-[0-9]+$`},type:{type:"string",const:e},...s.reduce((t,e)=>({...t,...e.properties}),{})},required:["id","type",...s.flatMap(t=>t.required??[])],additionalProperties:!1},i={...r,$defs:o};this._meta={name:e,schema:r,validator:t.compile(i)}}}let r=class $DomainEntityReflectionClass extends o{expressions;constructor(t,e,s){super(t),this.expressions=e,Object.assign(this,s)}};export const $DomainEntityReflection=r;let i=class BaseAliasReflection{name;types;typeSet;constructor(t,e){this.name=t,this.types=e,this.typeSet=new Set(e)}is=t=>this.typeSet.has(t.type);assert(t){if(!this.is(t))throw Error(`Expected entity #${t.id} to be a member of alias ${this.name} but got ${t.type}`)}isId=t=>s(t)&&this.typeSet.has(e(t));assertId(t){if(!this.isId(t))throw Error(`Expected entity id to be of a member of alias ${this.name} but got ${t}`)}assertIds(t){t.forEach(t=>{this.assertId(t)})}};export class RawAliasReflection extends i{reflections;constructor(t,e){super(t,e.map(t=>t.type)),this.reflections=e}}let a=class EnhancedAliasReflectionClass extends i{constructor(t,e,s){super(t,e),Object.assign(this,s)}};export const EnhancedAliasReflection=a;export function assertString(t){if("string"!=typeof t)throw Error(`Expected value to be a string but got ${t}`)}export function assertNumber(t){if("number"!=typeof t)throw Error(`Expected value to be a number but got ${t}`)}export function assertBoolean(t){if("boolean"!=typeof t)throw Error(`Expected value to be a boolean but got ${t}`)}
@@ -0,0 +1 @@
1
+ export * from './recipes.js';
@@ -0,0 +1 @@
1
+ export*from"./recipes.js";
@@ -1,7 +1,5 @@
1
1
  import type { OmitEmpty, OmitNever, UnionToIntersection } from '@salsita-ai/common/utils';
2
- import { type AliasMap, type EventualAlias, type ExpandAlias, type ExtractFromAliasedRecord, type TypeOrAlias } from '../../core/alias.js';
3
- import { type DomainEntity, type DomainEntityId, type EntityByType } from '../../core/model.js';
4
- import type { DomainEntityReflection } from '../../core/reflection.js';
2
+ import { type AliasMap, type DomainEntity, type DomainEntityId, type DomainEntityReflection, type EntityByType, type EventualAlias, type ExpandAlias, type ExtractFromAliasedRecord, type TypeOrAlias } from '../model/index.js';
5
3
  export type EntityDefaults<ENTITY extends DomainEntity<string>> = {
6
4
  [K in Exclude<keyof ENTITY, 'id' | 'type'>]: ENTITY[K] extends DomainEntityId<any> ? null : ENTITY[K];
7
5
  };
@@ -0,0 +1 @@
1
+ import{_unsafeBuildDomainEntityId as e,expandAlias as r}from"../model/index.js";export const RecipeFactoryBuilder={forAliases:t=>({forEntities:o=>({withDefaults:i=>{let a={};Object.entries(i).forEach(([e,o])=>{r(t,e).forEach(e=>{a[e]={...a[e],...o}})});let n=new Map(o.map(e=>[e.type,e._meta.validator]));return Object.entries(a).forEach(([r,t])=>{let o=n.get(r);if(!o)throw Error(`Defaults provided for unknown entity ${r}`);if(!o({id:e(r,1),type:r,...t}))throw console.error(o.errors,t),Error(`Invalid defaults for ${r} entity.`)}),{build:()=>r=>({id:e(r.type,1),...a[r.type],...r})}}})})};
@@ -1,7 +1,6 @@
1
- import { type AliasMap, type TypeOrAlias } from '../core/alias.js';
2
- import type { ExpressionMeta } from '../core/expression.js';
3
- import type { DomainEntity, DomainEntityId } from '../core/model.js';
4
- import type { DomainState } from '../core/state.js';
1
+ import type { ExpressionMeta } from '../expression/index.js';
2
+ import { type AliasMap, type DomainEntity, type DomainEntityId, type TypeOrAlias } from '../model/index.js';
3
+ import type { DomainState } from '../state/index.js';
5
4
  interface AllOfType0Relation<ENTITIES extends DomainEntity<string>, ALIASES extends Record<string, ENTITIES>, TARGET extends TypeOrAlias<ENTITIES, ALIASES>> {
6
5
  kind: 'allOfType';
7
6
  target: TARGET;
@@ -0,0 +1 @@
1
+ import{expandAlias as e}from"../model/index.js";export const createAllOfTypeRelation=t=>{let r=new Map,a=new WeakMap,n=!1;return o=>{if(n)throw Error(`Cannot register all-of-type relation targeting ${String(o.target)} after evaluation started. Create all relation expressions before evaluating the domain state.`);let i=new Set(e(t,o.target)),l=[...i].sort().join("|");return r.set(l,i),(e,t)=>(e=>{let t=a.get(e);if(t)return t;n=!0;let o=new Map([...r.keys()].map(e=>[e,[]]));for(let t of e.entities)for(let[e,a]of r)a.has(t.type)&&o.get(e).push(t.id);return a.set(e,o),o})(t).get(l)}};
@@ -1,5 +1,4 @@
1
- import type { DomainEntity, DomainEntityId } from '../core/model.js';
2
- import type { DomainEntityReflection, RawAliasReflection } from '../core/reflection.js';
1
+ import type { DomainEntity, DomainEntityId, DomainEntityReflection, RawAliasReflection } from '../model/index.js';
3
2
  import type { ComposedOfComponentState } from './composed-of.js';
4
3
  import type { ReferenceComponentState } from './reference-component.js';
5
4
  export declare const createSingleReferenceRead: <TARGET extends DomainEntity<string>>(_targetReflection: DomainEntityReflection<TARGET> | RawAliasReflection<TARGET>, field: string) => (self: object, state: unknown, ctx: unknown) => ReferenceComponentState;
@@ -0,0 +1 @@
1
+ import{memoEval as e}from"../../utils/memo-eval.js";export const createSingleReferenceRead=(t,r)=>e(e=>[e[r]],e=>({referencedEntityIds:null===e?[]:[e]}));export const createSingleReferenceWrite=(e,t)=>r=>{let n=r.referencedEntityIds[0];return n&&e.assertId(n),{[t]:n??null}};export const createMultipleReferenceRead=(t,r)=>e(e=>[e[r]],e=>({referencedEntityIds:e}));export const createMultipleReferenceWrite=(e,t)=>r=>(e.assertIds(r.referencedEntityIds),{[t]:r.referencedEntityIds});export const createSingleCompositionRead=t=>e(e=>[e[t]?.id??null],e=>({childEntityIds:null===e?[]:[e]}));export const createMultipleCompositionRead=t=>e(e=>e[t].map(e=>e.id),(...e)=>({childEntityIds:e}));export const createEmptyWrite=()=>()=>({});
@@ -1,4 +1,4 @@
1
- import { type DomainEntityId } from '../core/model.js';
1
+ import { type DomainEntityId } from '../model/index.js';
2
2
  export type ComposedOfComponentState = {
3
3
  /**
4
4
  * List of entity IDs that the parent entity is composed of
@@ -0,0 +1 @@
1
+ import{SystemComponentBuilder as o}from"../component/index.js";import{EntityIdSchema as t}from"../model/index.js";export const composedOfComponent=o.component("composedOf").withState({type:"object",properties:{childEntityIds:{type:"array",items:t}},required:["childEntityIds"],additionalProperties:!1}).build();
@@ -1,6 +1,5 @@
1
- import type { ExpandAlias, TypeOrAlias } from '../core/alias.js';
2
- import type { ExpressionMeta } from '../core/expression.js';
3
- import type { DomainEntity } from '../core/model.js';
1
+ import type { ExpressionMeta } from '../expression/index.js';
2
+ import type { DomainEntity, ExpandAlias, TypeOrAlias } from '../model/index.js';
4
3
  import type { ArrayReferenceField, SingleReferenceField } from './reference-field.js';
5
4
  import type { RelationImplementation } from './relation-implementation.js';
6
5
  interface DirectArrayRelation<ENTITIES extends DomainEntity<string>, ALIASES extends Record<string, ENTITIES>, SELF extends TypeOrAlias<ENTITIES, ALIASES>, TARGET extends TypeOrAlias<ENTITIES, ALIASES>> {
@@ -0,0 +1,9 @@
1
+ export * from './all-of-type-relation.js';
2
+ export * from './component-factories.js';
3
+ export * from './composed-of.js';
4
+ export * from './direct-relation.js';
5
+ export * from './indirect-relation.js';
6
+ export * from './reference-component.js';
7
+ export type * from './reference-field.js';
8
+ export * from './relation-factory.js';
9
+ export type * from './relation-implementation.js';
@@ -0,0 +1 @@
1
+ export*from"./all-of-type-relation.js";export*from"./component-factories.js";export*from"./composed-of.js";export*from"./direct-relation.js";export*from"./indirect-relation.js";export*from"./reference-component.js";export*from"./relation-factory.js";
@@ -1,7 +1,6 @@
1
- import { type AliasMap, type ExpandAlias, type TypeOrAlias } from '../core/alias.js';
2
- import type { ExpressionMeta } from '../core/expression.js';
3
- import { type DomainEntity, type DomainEntityId } from '../core/model.js';
4
- import type { DomainState } from '../core/state.js';
1
+ import type { ExpressionMeta } from '../expression/index.js';
2
+ import { type AliasMap, type DomainEntity, type DomainEntityId, type ExpandAlias, type TypeOrAlias } from '../model/index.js';
3
+ import type { DomainState } from '../state/index.js';
5
4
  import type { ArrayReferenceField, SingleReferenceField } from './reference-field.js';
6
5
  interface IndirectNullableSingle0Relation<ENTITIES extends DomainEntity<string>, ALIASES extends Record<string, ENTITIES>, SELF extends TypeOrAlias<ENTITIES, ALIASES>, TARGET extends TypeOrAlias<ENTITIES, ALIASES>> {
7
6
  kind: 'indirect';
@@ -0,0 +1 @@
1
+ import{isArray as e}from"@salsita-ai/common/utils";import{expandAlias as t}from"../model/index.js";let r=e=>"string"==typeof e;export const createIndirectRelation=i=>{let n=new Map,o=new WeakMap,a=!1;return l=>{if(a)throw Error(`Cannot register indirect relation ${String(l.target)}#${l.field} after evaluation started. Create all relation expressions before evaluating the domain state.`);let s=new Set(t(i,l.target)),f=`${l.field}|${[...s].sort().join("|")}`;return n.set(f,{field:l.field,targetTypes:s}),(t,i)=>(t=>{let i=o.get(t);if(i)return i;a=!0;let l=new Map([...n.keys()].map(e=>[e,new Map]));for(let i of t.entities)for(let[t,{field:o,targetTypes:a}]of n){if(!a.has(i.type))continue;let n=i[o],s=e(n)?new Set(n.filter(r)):r(n)?[n]:[],f=l.get(t);for(let e of s){let t=f.get(e);t||(t=[],f.set(e,t)),t.push(i.id)}}return o.set(t,l),l})(i).get(f).get(t)??[]}};
@@ -1,6 +1,5 @@
1
- import type { DomainComponentOpticBuilder } from '../components/domain-component-optic.js';
2
- import type { $DomainEntity, DomainEntity, DomainEntityId } from '../core/model.js';
3
- import type { DomainEntityReflection, RawAliasReflection } from '../core/reflection.js';
1
+ import { type DomainComponentOpticBuilder } from '../component/index.js';
2
+ import { type $DomainEntity, type DomainEntity, type DomainEntityId, type DomainEntityReflection, type RawAliasReflection } from '../model/index.js';
4
3
  import type { ArrayReferenceField, SingleReferenceField } from './reference-field.js';
5
4
  export type ReferenceComponentState = {
6
5
  /**
@@ -14,5 +13,5 @@ export type ReferenceComponentState = {
14
13
  */
15
14
  export declare const referenceComponent: import("../index.js").SystemComponentType<"reference", ReferenceComponentState, "referencedEntityIds">;
16
15
  export type ReferenceComponent = typeof referenceComponent;
17
- export declare const attachSingleReferenceComponent: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>, ENTITY extends ENTITIES, $ENTITY extends $DomainEntity<ENTITY>, TARGET_ENTITY extends ENTITIES>(attachComponent: DomainComponentOpticBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, ENTITY, $ENTITY, typeof referenceComponent>, targetReflection: DomainEntityReflection<TARGET_ENTITY> | RawAliasReflection<TARGET_ENTITY>, field: SingleReferenceField<ENTITY, TARGET_ENTITY, any>) => import("../components/domain-component-optic.js").DomainComponentSimpleOptic<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITY, import("../index.js").SystemComponentType<"reference", ReferenceComponentState, "referencedEntityIds">>;
18
- export declare const attachMultipleReferenceComponent: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>, ENTITY extends ENTITIES, $ENTITY extends $DomainEntity<ENTITY>, TARGET_ENTITY extends ENTITIES>(attachComponent: DomainComponentOpticBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, ENTITY, $ENTITY, typeof referenceComponent>, targetReflection: DomainEntityReflection<TARGET_ENTITY> | RawAliasReflection<TARGET_ENTITY>, field: ArrayReferenceField<ENTITY, TARGET_ENTITY>) => import("../components/domain-component-optic.js").DomainComponentSimpleOptic<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITY, import("../index.js").SystemComponentType<"reference", ReferenceComponentState, "referencedEntityIds">>;
16
+ export declare const attachSingleReferenceComponent: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>, ENTITY extends ENTITIES, $ENTITY extends $DomainEntity<ENTITY>, TARGET_ENTITY extends ENTITIES, CONTEXT_EXTENSION = unknown>(attachComponent: DomainComponentOpticBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, ENTITY, $ENTITY, typeof referenceComponent, CONTEXT_EXTENSION>, targetReflection: DomainEntityReflection<TARGET_ENTITY> | RawAliasReflection<TARGET_ENTITY>, field: SingleReferenceField<ENTITY, TARGET_ENTITY, any>) => import("../index.js").DomainComponentSimpleOptic<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITY, import("../index.js").SystemComponentType<"reference", ReferenceComponentState, "referencedEntityIds">, CONTEXT_EXTENSION>;
17
+ export declare const attachMultipleReferenceComponent: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>, ENTITY extends ENTITIES, $ENTITY extends $DomainEntity<ENTITY>, TARGET_ENTITY extends ENTITIES, CONTEXT_EXTENSION = unknown>(attachComponent: DomainComponentOpticBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, ENTITY, $ENTITY, typeof referenceComponent, CONTEXT_EXTENSION>, targetReflection: DomainEntityReflection<TARGET_ENTITY> | RawAliasReflection<TARGET_ENTITY>, field: ArrayReferenceField<ENTITY, TARGET_ENTITY>) => import("../index.js").DomainComponentSimpleOptic<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITY, import("../index.js").SystemComponentType<"reference", ReferenceComponentState, "referencedEntityIds">, CONTEXT_EXTENSION>;
@@ -0,0 +1 @@
1
+ import{memoEval as e}from"../../utils/memo-eval.js";import{SystemComponentBuilder as t}from"../component/index.js";import{EntityIdSchema as r}from"../model/index.js";export const referenceComponent=t.component("reference").withState({type:"object",properties:{referencedEntityIds:{type:"array",items:r}},required:["referencedEntityIds"],additionalProperties:!1}).withWritableKeys(["referencedEntityIds"]).build();export const attachSingleReferenceComponent=(t,r,n)=>t.attach(e(e=>[e[n]],e=>({referencedEntityIds:null===e?[]:[e]})),e=>{let t=e.referencedEntityIds[0];return t&&r.assertId(t),{[n]:t??null}});export const attachMultipleReferenceComponent=(t,r,n)=>t.attach(e(e=>[e[n]],e=>({referencedEntityIds:e})),e=>(r.assertIds(e.referencedEntityIds),{[n]:e.referencedEntityIds}));
@@ -1,4 +1,4 @@
1
- import type { DomainEntity } from '../core/model.js';
1
+ import type { DomainEntity } from '../model/index.js';
2
2
  export type SingleReferenceField<FROM extends DomainEntity<string>, TO extends DomainEntity<string>, OPTIONALITY extends null | never> = {
3
3
  [K in keyof FROM]: TO['id'] | OPTIONALITY extends FROM[K] ? FROM[K] extends TO['id'] | OPTIONALITY ? K & string : never : never;
4
4
  }[keyof FROM];
@@ -0,0 +1 @@
1
+ export{};
@@ -1,6 +1,5 @@
1
- import type { AliasMap, ExpandAlias, TypeOrAlias } from '../core/alias.js';
2
- import type { AnonymousExpression } from '../core/expression.js';
3
- import type { $DomainEntity, DomainEntity } from '../core/model.js';
1
+ import type { AnonymousExpression } from '../expression/index.js';
2
+ import type { $DomainEntity, AliasMap, DomainEntity, ExpandAlias, TypeOrAlias } from '../model/index.js';
4
3
  import { type AllOfTypeRelation } from './all-of-type-relation.js';
5
4
  import type { DirectRelation } from './direct-relation.js';
6
5
  import { type IndirectRelation } from './indirect-relation.js';
@@ -1,7 +1,6 @@
1
- import type { AliasMap } from '../core/alias.js';
2
- import type { Domain } from '../core/index.js';
3
- import type { DomainEntity, DomainEntityId } from '../core/model.js';
4
- import type { DomainState } from '../core/state.js';
1
+ import type { Domain } from '../domain.js';
2
+ import type { AliasMap, DomainEntity, DomainEntityId } from '../model/index.js';
3
+ import type { DomainState } from '../state/index.js';
5
4
  import type { Relation } from './relation-factory.js';
6
5
  export type RelationImplementation<KIND extends Relation<any, any, any, any>['kind']> = (relation: Extract<Relation<any, any, any, any>, {
7
6
  kind: KIND;
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1 @@
1
+ import{createAjvSchemaValidator as e}from"./create-ajv-schema-validator.js";import{createCspSchemaValidator as a}from"./create-csp-schema-validator.js";let t="csp-compatible"===globalThis.PHX_SCHEMA_VALIDATOR?a:e;export const getExtendedSchemaValidator=()=>{let e=t();return e.addKeyword("tsType"),e.addKeyword("import"),e.addKeyword("declared"),e};export const extendedSchemaValidator=getExtendedSchemaValidator();
@@ -0,0 +1,3 @@
1
+ export type { EnhancedJsonObjectSchemaType, EnhancedJsonSchemaType, JsonSchemaType, MemberImport, } from './enhanced-json-schema.js';
2
+ export { extendedSchemaValidator, getExtendedSchemaValidator } from './extended-schema-validator.js';
3
+ export type { PhxValidateFunction, PhxValidationError, SchemaValidator } from './schema-validator.js';
@@ -0,0 +1 @@
1
+ export{extendedSchemaValidator,getExtendedSchemaValidator}from"./extended-schema-validator.js";
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,15 @@
1
+ import type { DomainEntity, DomainEntityId } from '../model/index.js';
2
+ /**
3
+ * Hands out the ids of entities that are about to be created, one sequence per entity type. An
4
+ * action or a transformer asks it for an id instead of computing one from the state.
5
+ */
6
+ export type IdSequence<ENTITIES extends DomainEntity<string>> = {
7
+ /**
8
+ * Returns the next available entity ID for the given type.
9
+ * This automatically increments the sequence number for the given type, so that the next call will return a new ID.
10
+ *
11
+ * @param type the entity type
12
+ * @returns a new domain entity ID for the given type
13
+ */
14
+ nextId: <TYPE extends ENTITIES['type']>(type: TYPE) => DomainEntityId<TYPE>;
15
+ };
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,3 @@
1
+ export type * from './id-sequence.js';
2
+ export * from './migrations.js';
3
+ export * from './state.js';
@@ -0,0 +1 @@
1
+ export*from"./migrations.js";export*from"./state.js";
@@ -1,6 +1,5 @@
1
1
  import { type Logger } from '@salsita-ai/common/utils';
2
- import type { DomainEntity } from './model.js';
3
- import type { EntityReflections } from './reflection.js';
2
+ import type { DomainEntity, EntityReflections } from '../model/index.js';
4
3
  /**
5
4
  * Thrown when domain state cannot be validated/migrated to the latest model
6
5
  * version: an entity is invalid against its schema, an entity type or model
@@ -1,5 +1,4 @@
1
- import type { ComponentSnapshot, SystemComponentTypeConstraint } from './component.js';
2
- import type { DomainEntity } from './model.js';
1
+ import type { ComponentSnapshot, DomainEntity, SystemComponentTypeConstraint } from '../model/index.js';
3
2
  export interface DomainState<ENTITIES extends DomainEntity<string>> {
4
3
  readonly rootEntityId: ENTITIES['id'];
5
4
  readonly rootEntityType: ENTITIES['type'];
@@ -1,14 +1,6 @@
1
1
  import { type ExtendedJsonSchema } from '@salsita-ai/common/utils';
2
- import type { ActionDefinition, AnyActionImplementations } from './core/action.js';
3
- import { type AliasMap, type ExpandAlias, type TypeOrAlias } from './core/alias.js';
4
- import type { AnonymousExpression } from './core/expression.js';
5
- import { DomainFactory } from './core/index.js';
6
- import { type MigrateFunction } from './core/migrations.js';
7
- import { type $DomainEntity, type DomainEntity, type EntityByType } from './core/model.js';
8
- import type { $DomainEntityReflection, EntityReflections, SchemaOfObject } from './core/reflection.js';
9
- export type AliasedExpressions<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>> = {
10
- [K in TypeOrAlias<ENTITIES, ALIASES>]?: Record<string, AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ExpandAlias<ENTITIES, ALIASES, K>, unknown>>;
11
- };
2
+ import { type $DomainEntity, type $DomainEntityReflection, type ActionDefinition, type AliasMap, type AliasedExpressions, type AnyActionImplementations, type DomainEntity, DomainFactory, type EntityByType, type EntityReflections, type MigrateFunction, type SchemaOfObject } from './core/index.js';
3
+ import type { ProjectModule } from './project-modules/index.js';
12
4
  type $EntityReflections<ENTITIES extends DomainEntity<string>> = {
13
5
  [TYPE in ENTITIES['type']]: $DomainEntityReflection<$DomainEntity<EntityByType<ENTITIES, TYPE>>>;
14
6
  };
@@ -31,9 +23,17 @@ export declare class DomainBuilder<ENTITIES extends DomainEntity<string>, ALLOWE
31
23
  static from<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Readonly<Record<string, ENTITIES>>>(entities: EntityReflections<ENTITIES>, aliasMap: AliasMap<ALIASES>, $entityReflections: $EntityReflections<ENTITIES>, allowedRootEntityTypes: ReadonlyArray<ALLOWED_ROOT_ENTITIES['type']>, modelVersion: number, publishedData: SchemaOfObject<PUBLISHED_DATA>, sessionData: SchemaOfObject<SESSION_DATA>, frontendData: SchemaOfObject<FRONTEND_DATA>, backendData: ExtendedJsonSchema | undefined, isAdminDomain: boolean): DomainBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, ALIASES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
32
24
  withMigrate(migration: MigrateFunction<ENTITIES>): DomainBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, ALIASES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
33
25
  withExpressions(implementation: AliasedExpressions<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES>): DomainBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, ALIASES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
26
+ /**
27
+ * Adds the expressions of the `src/expressions/` files, as the generated barrel lists them. Each file
28
+ * is checked against the folder's contract and added on its own, so an expression defined twice is
29
+ * reported with both files instead of being overwritten by file order.
30
+ */
31
+ withExpressionModules(modules: readonly ProjectModule[]): DomainBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, ALIASES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
34
32
  /** Declares the actions of the domain, as the generated `domain-spec.ts` reads them from the spec's `actions` section. */
35
33
  withActions(actions: readonly ActionDefinition[]): DomainBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, ALIASES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
36
- /** Adds the implementations of the declared actions, as the generated barrel merges them from `src/actions/`. */
34
+ /** Adds the action implementations of the `src/actions/` files, as the generated barrel lists them, after checking each file against the folder's contract. */
35
+ withActionModules(modules: readonly ProjectModule[]): DomainBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, ALIASES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
36
+ /** Adds the implementations of the declared actions, already merged by action name. */
37
37
  withActionImplementations(implementations: AnyActionImplementations): DomainBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, ALIASES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
38
38
  build: () => DomainFactory<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
39
39
  }
@@ -1 +1 @@
1
- import{expandAlias as t}from"./core/alias.js";import{DomainFactory as i}from"./core/index.js";import{MigrateFunctionBuilder as e}from"./core/migrations.js";import{withProfilerLabel as s}from"./utils/profiler-label.js";export class DomainBuilder{entities;aliasMap;$entityReflections;allowedRootEntityTypes;implemented;modelVersion;publishedData;sessionData;frontendData;backendData;migrate;isAdminDomain;actions;actionImplementations;constructor(t,i,e,s,a,n,o,h,l,m,r,d,p,c){this.entities=t,this.aliasMap=i,this.$entityReflections=e,this.allowedRootEntityTypes=s,this.implemented=a,this.modelVersion=n,this.publishedData=o,this.sessionData=h,this.frontendData=l,this.backendData=m,this.migrate=r,this.isAdminDomain=d,this.actions=p,this.actionImplementations=c}static from(t,i,s,a,n,o,h,l,m,r){let d=e.fromVersions({1:t}).to(1).using({}).build();return new DomainBuilder(t,i,s,a,{},n,o,h,l,m,d,r,{},{})}withMigrate(t){return new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,this.implemented,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,t,this.isAdminDomain,this.actions,this.actionImplementations)}withExpressions(i){let e={...this.implemented};return Object.entries(i).forEach(([i,a])=>{t(this.aliasMap,i).forEach(t=>{let n={...e[t]};e[t]=n,Object.entries(a).forEach(([e,a])=>{let o=n[e];if(o)throw Error(`Duplicate expression ${t}.${e}: The expression is defined on both ${i} and ${o.origin.typeOrAlias}, which would lead to ambiguous usage. Please ensure that expressions are only defined once.`);n[e]={...a,evaluate:s(`${t}_${e}`,a.evaluate),origin:{name:e,typeOrAlias:i}}})})}),new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,e,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,this.migrate,this.isAdminDomain,this.actions,this.actionImplementations)}withActions(t){return new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,this.implemented,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,this.migrate,this.isAdminDomain,Object.fromEntries(t.map(t=>[t.name,t])),this.actionImplementations)}withActionImplementations(t){return new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,this.implemented,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,this.migrate,this.isAdminDomain,this.actions,{...this.actionImplementations,...t})}build=()=>{let t=this.implemented,s=this.migrate??e.fromVersions({1:this.entities}).to(1).using({}).build();return new i({aliasMap:this.aliasMap,entityReflections:this.entities,$entityReflections:this.$entityReflections,expressions:t,allowedRootEntityTypes:this.allowedRootEntityTypes,modelVersion:this.modelVersion,migrate:s,publishedData:this.publishedData,sessionData:this.sessionData,frontendData:this.frontendData,backendData:this.backendData,isAdminDomain:this.isAdminDomain,actions:this.actions,actionImplementations:this.actionImplementations})}}
1
+ import{DomainFactory as t,MigrateFunctionBuilder as i,expandAlias as e}from"./core/index.js";import{resolveActionModules as s,resolveExpressionModules as n}from"./domain-runtime/index.js";import{withProfilerLabel as a}from"./utils/profiler-label.js";export class DomainBuilder{entities;aliasMap;$entityReflections;allowedRootEntityTypes;implemented;modelVersion;publishedData;sessionData;frontendData;backendData;migrate;isAdminDomain;actions;actionImplementations;constructor(t,i,e,s,n,a,o,h,l,r,m,d,p,c){this.entities=t,this.aliasMap=i,this.$entityReflections=e,this.allowedRootEntityTypes=s,this.implemented=n,this.modelVersion=a,this.publishedData=o,this.sessionData=h,this.frontendData=l,this.backendData=r,this.migrate=m,this.isAdminDomain=d,this.actions=p,this.actionImplementations=c}static from(t,e,s,n,a,o,h,l,r,m){let d=i.fromVersions({1:t}).to(1).using({}).build();return new DomainBuilder(t,e,s,n,{},a,o,h,l,r,d,m,{},{})}withMigrate(t){return new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,this.implemented,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,t,this.isAdminDomain,this.actions,this.actionImplementations)}withExpressions(t){let i={...this.implemented};return Object.entries(t).forEach(([t,s])=>{e(this.aliasMap,t).forEach(e=>{let n={...i[e]};i[e]=n,Object.entries(s).forEach(([i,s])=>{let o=n[i];if(o)throw Error(`Duplicate expression ${e}.${i}: The expression is defined on both ${t} and ${o.origin.typeOrAlias}, which would lead to ambiguous usage. Please ensure that expressions are only defined once.`);n[i]={...s,evaluate:a(`${e}_${i}`,s.evaluate),origin:{name:i,typeOrAlias:t}}})})}),new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,i,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,this.migrate,this.isAdminDomain,this.actions,this.actionImplementations)}withExpressionModules(t){return n(t,this.aliasMap).reduce((t,i)=>t.withExpressions(i.expressions),this)}withActions(t){return new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,this.implemented,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,this.migrate,this.isAdminDomain,Object.fromEntries(t.map(t=>[t.name,t])),this.actionImplementations)}withActionModules(t){return this.withActionImplementations(s(t))}withActionImplementations(t){return new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,this.implemented,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,this.migrate,this.isAdminDomain,this.actions,{...this.actionImplementations,...t})}build=()=>{let e=this.implemented,s=this.migrate??i.fromVersions({1:this.entities}).to(1).using({}).build();return new t({aliasMap:this.aliasMap,entityReflections:this.entities,$entityReflections:this.$entityReflections,expressions:e,allowedRootEntityTypes:this.allowedRootEntityTypes,modelVersion:this.modelVersion,migrate:s,publishedData:this.publishedData,sessionData:this.sessionData,frontendData:this.frontendData,backendData:this.backendData,isAdminDomain:this.isAdminDomain,actions:this.actions,actionImplementations:this.actionImplementations})}}
@@ -1,7 +1,5 @@
1
- import type { ActionContext, ActionTypes, PreparedAction } from '../../core/action.js';
2
- import type { $DomainEntity, DomainEntity } from '../../core/model.js';
3
- import type { DomainState } from '../../core/state.js';
4
- import type { DomainContextSelectors } from '../../domain-runtime/domain-context/index.js';
1
+ import { type $DomainEntity, type ActionTypes, type DomainEntity, type DomainState, type PreparedAction } from '../../core/index.js';
2
+ import type { ActionContext, DomainContextSelectors } from '../../domain-runtime/index.js';
5
3
  export interface ActionSystemContext {
6
4
  /**
7
5
  * The action system's window into the runtime registry: the declared actions and their