@salsita-ai/sdk 0.50.0-develop.aabb56df09 → 0.50.0-develop.abef6d86a1

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 (907) 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.d.ts +1 -1
  9. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  10. package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
  11. package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
  12. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
  13. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
  14. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +1 -2
  15. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -16
  16. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
  17. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
  18. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
  19. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
  20. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +36 -36
  21. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  22. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  23. package/dist/application-spec/generate-application/code/templates/domain-spec.js +4 -4
  24. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  25. package/dist/application-spec/generate-application/code/templates/index.d.ts +1 -6
  26. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  27. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  28. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +93 -41
  29. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +2 -2
  30. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  31. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +1 -0
  32. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +6 -0
  33. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +35 -11
  34. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +19 -7
  35. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +9 -4
  36. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -2
  37. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
  38. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
  39. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  40. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +3 -8
  41. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
  42. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +9 -43
  43. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  44. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
  45. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -21
  46. package/dist/client/authorized-client.d.ts +3 -1
  47. package/dist/client/authorized-client.js +1 -1
  48. package/dist/client/contract.d.ts +34 -0
  49. package/dist/client/contract.js +1 -1
  50. package/dist/client/index.d.ts +2 -2
  51. package/dist/client/index.js +1 -1
  52. package/dist/client/local-authorized-client.d.ts +3 -1
  53. package/dist/client/local-authorized-client.js +1 -1
  54. package/dist/client/memory-authorized-client.d.ts +3 -1
  55. package/dist/client/memory-authorized-client.js +1 -1
  56. package/dist/client/phoenix-api.d.ts +271 -30
  57. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +104 -5
  58. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  59. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  60. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  61. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  62. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  63. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +2 -1
  64. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  65. package/dist/configurator/ui/assistant/AssistantThread.d.ts +6 -2
  66. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  67. package/dist/configurator/ui/assistant/thread-items.d.ts +13 -2
  68. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  69. package/dist/configurator/ui/assistant/tool-chip.d.ts +8 -1
  70. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  71. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +84 -98
  72. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
  73. package/dist/docs/index.json +1 -1
  74. package/dist/docs/layouts/custom-price.mdx +14 -16
  75. package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
  76. package/dist/docs/other-features/domain-actions.mdx +1 -1
  77. package/dist/docs/other-features/side-effects.mdx +42 -34
  78. package/dist/docs/other-features/transformers.mdx +1 -1
  79. package/dist/docs/phoenix/admin.mdx +9 -24
  80. package/dist/docs/phoenix/deployments.mdx +1 -1
  81. package/dist/docs/phoenix/expression-context.mdx +11 -3
  82. package/dist/docs/phoenix/getting-started.mdx +1 -1
  83. package/dist/docs/phoenix/localization.mdx +3 -22
  84. package/dist/docs/phoenix/phoenix-cli.mdx +105 -23
  85. package/dist/docs/phoenix/project-structure.mdx +12 -3
  86. package/dist/docs/phoenix/sdk-builder-workflow.mdx +11 -10
  87. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
  88. package/dist/docs/relations/hierarchy.mdx +13 -2
  89. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  90. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  91. package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
  92. package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
  93. package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
  94. package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
  95. package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
  96. package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
  97. package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
  98. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +10 -13
  99. package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
  100. package/dist/domain/admin-domain/index.d.ts +9 -5
  101. package/dist/domain/admin-domain/index.js +1 -1
  102. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +1 -1
  103. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  104. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  105. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  106. package/dist/domain/application/application-config.d.ts +24 -95
  107. package/dist/domain/application/assistant/assistant-manifest.d.ts +63 -0
  108. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +95 -0
  109. package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
  110. package/dist/domain/application/assistant/assistant-value-type.js +1 -0
  111. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
  112. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
  113. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  114. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -0
  115. package/dist/domain/application/assistant/index.d.ts +4 -0
  116. package/dist/domain/application/assistant/index.js +1 -0
  117. package/dist/domain/application/assistant-field-options.d.ts +2 -3
  118. package/dist/domain/application/assistant-mutations.d.ts +3 -5
  119. package/dist/domain/application/assistant-mutations.js +1 -1
  120. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -7
  121. package/dist/domain/application/configurator-builder.d.ts +33 -18
  122. package/dist/domain/application/configurator-builder.js +1 -1
  123. package/dist/domain/application/create-initial-published-data.d.ts +1 -2
  124. package/dist/domain/application/index.d.ts +3 -5
  125. package/dist/domain/application/index.js +1 -1
  126. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  127. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  128. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  129. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  130. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +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/available-system-components.js +1 -1
  139. package/dist/domain/core/action/action-factory.d.ts +11 -0
  140. package/dist/domain/core/{action.d.ts → action/action.d.ts} +22 -18
  141. package/dist/domain/core/action/index.d.ts +2 -0
  142. package/dist/domain/core/action/index.js +1 -0
  143. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -2
  144. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  145. package/dist/domain/core/component/debug-state-component.js +1 -0
  146. package/dist/domain/{components → core/component}/domain-component-optic.d.ts +36 -39
  147. package/dist/domain/{components → core/component}/domain-component-optic.js +2 -2
  148. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  149. package/dist/domain/core/component/drag-state-component.js +1 -0
  150. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  151. package/dist/domain/core/component/export-state-component.js +1 -0
  152. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  153. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  154. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -2
  155. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  156. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  157. package/dist/domain/core/component/hover-state-component.js +1 -0
  158. package/dist/domain/core/component/index.d.ts +18 -0
  159. package/dist/domain/core/component/index.js +1 -0
  160. package/dist/domain/{components → core/component}/legacy-filter.d.ts +2 -2
  161. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  162. package/dist/domain/core/component/navigation-state-component.js +1 -0
  163. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  164. package/dist/domain/core/component/selection-state-component.js +1 -0
  165. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -2
  166. package/dist/domain/core/component/system-component-builder.js +1 -0
  167. package/dist/domain/{components → core/component}/system-component-filter.d.ts +19 -19
  168. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  169. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  170. package/dist/domain/core/component/tool-state-component.js +1 -0
  171. package/dist/domain/{components → core/component}/updates.d.ts +1 -2
  172. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  173. package/dist/domain/core/component/view-state-component.js +1 -0
  174. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  175. package/dist/domain/core/component/viewport-state-component.js +1 -0
  176. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  177. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  178. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  179. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  180. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  181. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  182. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  183. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  184. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  185. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  186. package/dist/domain/core/data-schema/data-schema.js +1 -0
  187. package/dist/domain/core/data-schema/index.d.ts +7 -0
  188. package/dist/domain/core/data-schema/index.js +1 -0
  189. package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
  190. package/dist/domain/core/decoder/create-decoder.js +1 -0
  191. package/dist/domain/core/decoder/decoder.d.ts +6 -0
  192. package/dist/domain/core/decoder/decoder.js +1 -0
  193. package/dist/domain/core/decoder/index.d.ts +2 -0
  194. package/dist/domain/core/decoder/index.js +1 -0
  195. package/dist/domain/core/domain-factory.d.ts +4 -5
  196. package/dist/domain/core/domain-factory.js +1 -1
  197. package/dist/domain/core/domain.d.ts +4 -5
  198. package/dist/domain/core/domain.js +1 -1
  199. package/dist/domain/core/emission/index.d.ts +8 -0
  200. package/dist/domain/core/emission/index.js +1 -0
  201. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  202. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  203. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  204. package/dist/domain/core/emission/state-emission.js +1 -0
  205. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  206. package/dist/domain/core/emission/state-update-emission.js +1 -0
  207. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  208. package/dist/domain/core/emission/state-validation-result.js +1 -0
  209. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  210. package/dist/domain/core/emission/transformation-log.js +1 -0
  211. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  212. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  213. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  214. package/dist/domain/core/emission/transformer-log.js +1 -0
  215. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  216. package/dist/domain/core/emission/transformer-phase.js +1 -0
  217. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  218. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  219. package/dist/domain/{expressions → core/expression}/constant-expressions.d.ts +3 -4
  220. package/dist/domain/core/expression/constant-expressions.js +1 -0
  221. package/dist/domain/{expressions → core/expression}/custom-expression.d.ts +9 -10
  222. package/dist/domain/core/expression/custom-expression.js +1 -0
  223. package/dist/domain/core/expression/expression.d.ts +46 -0
  224. package/dist/domain/core/expression/expression.js +1 -0
  225. package/dist/domain/core/expression/index.d.ts +4 -0
  226. package/dist/domain/core/expression/index.js +1 -0
  227. package/dist/domain/core/index.d.ts +13 -17
  228. package/dist/domain/core/index.js +1 -1
  229. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -2
  230. package/dist/domain/{invariants → core/invariant}/custom-invariants.d.ts +7 -8
  231. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  232. package/dist/domain/core/invariant/index.d.ts +5 -0
  233. package/dist/domain/core/invariant/index.js +1 -0
  234. package/dist/domain/core/invariant/invariants.d.ts +13 -0
  235. package/dist/domain/core/invariant/invariants.js +1 -0
  236. package/dist/domain/core/invariant/violation-component.js +1 -0
  237. package/dist/domain/{invariants → core/invariant}/violation.d.ts +2 -2
  238. package/dist/domain/core/{component.d.ts → model/component.d.ts} +1 -1
  239. package/dist/domain/core/model/index.d.ts +6 -0
  240. package/dist/domain/core/model/index.js +1 -0
  241. package/dist/domain/core/{reflection.d.ts → model/reflection.d.ts} +1 -1
  242. package/dist/domain/core/model/reflection.js +1 -0
  243. package/dist/domain/core/recipe/index.d.ts +1 -0
  244. package/dist/domain/core/recipe/index.js +1 -0
  245. package/dist/domain/{domain-context/recipe-system → core/recipe}/recipes.d.ts +1 -3
  246. package/dist/domain/core/recipe/recipes.js +1 -0
  247. package/dist/domain/{relations → core/relation}/all-of-type-relation.d.ts +3 -4
  248. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  249. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -2
  250. package/dist/domain/core/relation/component-factories.js +1 -0
  251. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  252. package/dist/domain/core/relation/composed-of.js +1 -0
  253. package/dist/domain/{relations → core/relation}/direct-relation.d.ts +2 -3
  254. package/dist/domain/core/relation/index.d.ts +9 -0
  255. package/dist/domain/core/relation/index.js +1 -0
  256. package/dist/domain/{relations → core/relation}/indirect-relation.d.ts +3 -4
  257. package/dist/domain/core/relation/indirect-relation.js +1 -0
  258. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -5
  259. package/dist/domain/core/relation/reference-component.js +1 -0
  260. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  261. package/dist/domain/core/relation/reference-field.js +1 -0
  262. package/dist/domain/{relations → core/relation}/relation-factory.d.ts +2 -3
  263. package/dist/domain/{relations → core/relation}/relation-implementation.d.ts +3 -4
  264. package/dist/domain/core/relation/relation-implementation.js +1 -0
  265. package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
  266. package/dist/domain/core/schema/extended-schema-validator.js +1 -0
  267. package/dist/domain/core/schema/index.d.ts +3 -0
  268. package/dist/domain/core/schema/index.js +1 -0
  269. package/dist/domain/core/schema/schema-validator.js +1 -0
  270. package/dist/domain/core/state/id-sequence.d.ts +15 -0
  271. package/dist/domain/core/state/id-sequence.js +1 -0
  272. package/dist/domain/core/state/index.d.ts +3 -0
  273. package/dist/domain/core/state/index.js +1 -0
  274. package/dist/domain/core/{migrations.d.ts → state/migrations.d.ts} +1 -2
  275. package/dist/domain/core/{state.d.ts → state/state.d.ts} +1 -2
  276. package/dist/domain/domain-builder.d.ts +11 -11
  277. package/dist/domain/domain-builder.js +1 -1
  278. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -4
  279. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  280. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  281. package/dist/domain/domain-context/action-system/index.js +1 -0
  282. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  283. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  284. package/dist/domain/domain-context/create-transformer.d.ts +2 -2
  285. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  286. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +3 -4
  287. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  288. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  289. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  290. package/dist/domain/domain-context/domain-context-systems.d.ts +8 -10
  291. package/dist/domain/domain-context/index.d.ts +8 -18
  292. package/dist/domain/domain-context/index.js +1 -1
  293. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  294. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  295. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +5 -8
  296. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  297. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  298. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  299. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +2 -2
  300. package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
  301. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  302. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  303. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -4
  304. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  305. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +3 -3
  306. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  307. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +3 -3
  308. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  309. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +3 -3
  310. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  311. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  312. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  313. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +3 -3
  314. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  315. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -3
  316. package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
  317. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  318. package/dist/domain/domain-context/store-system/index.js +1 -0
  319. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -13
  320. package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
  321. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  322. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  323. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -39
  324. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  325. package/dist/domain/domain-context/store-system/system-state.d.ts +2 -4
  326. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  327. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  328. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  329. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +6 -10
  330. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  331. package/dist/domain/domain-context/transformers/chain-builder.d.ts +3 -3
  332. package/dist/domain/domain-context/transformers/context.d.ts +2 -7
  333. package/dist/domain/domain-context/transformers/context.js +1 -1
  334. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  335. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  336. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  337. package/dist/domain/domain-context/transformers/index.js +1 -1
  338. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  339. package/dist/domain/domain-context/transformers/then-builder.js +1 -1
  340. package/dist/domain/domain-context/transformers/when-builder.d.ts +3 -9
  341. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  342. package/dist/domain/domain-context/undo-system.d.ts +2 -3
  343. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  344. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  345. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -4
  346. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  347. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  348. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  349. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  350. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  351. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  352. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  353. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +6 -13
  354. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  355. package/dist/domain/domain-runtime/domain-runtime.d.ts +56 -56
  356. package/dist/domain/domain-runtime/spec/index.d.ts +5 -0
  357. package/dist/domain/domain-runtime/spec/index.js +1 -1
  358. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  359. package/dist/domain/domain-runtime/spec/invariant-builder.d.ts +26 -0
  360. package/dist/domain/domain-runtime/spec/invariant-builder.js +1 -0
  361. package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  362. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +6 -1
  363. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  364. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +5 -0
  365. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  366. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  367. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  368. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +25 -0
  369. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  370. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  371. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  372. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  373. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  374. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  375. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  376. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  377. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  378. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  379. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  380. package/dist/domain/{actions → domain-runtime/spec}/prepare-action-implementations.d.ts +1 -1
  381. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  382. package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  383. package/dist/domain/domain-runtime/spec/selectors.d.ts +7 -8
  384. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  385. package/dist/domain/domain-runtime/spec/types.d.ts +6 -6
  386. package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +1 -1
  387. package/dist/domain/extensions/angle-indicator.js +1 -0
  388. package/dist/domain/extensions/attribute-switch.js +1 -0
  389. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  390. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  391. package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +1 -1
  392. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  393. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  394. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  395. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
  396. package/dist/domain/extensions/canvas-config.js +1 -0
  397. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  398. package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +1 -1
  399. package/dist/domain/extensions/canvas-padding.js +1 -0
  400. package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +1 -1
  401. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  402. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  403. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  404. package/dist/domain/extensions/client-side-image.js +1 -0
  405. package/dist/domain/extensions/color-value.js +1 -0
  406. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +1 -1
  407. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  408. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +1 -1
  409. package/dist/domain/extensions/common/dimension-indicator-schema.js +1 -0
  410. package/dist/domain/extensions/common/index.d.ts +4 -0
  411. package/dist/domain/extensions/common/index.js +1 -0
  412. package/dist/domain/{system-components → extensions}/custom-header.d.ts +2 -2
  413. package/dist/domain/{system-components → extensions}/custom-header.js +1 -1
  414. package/dist/domain/extensions/custom-price-footer.js +1 -0
  415. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +2 -2
  416. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.js +1 -1
  417. package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +1 -1
  418. package/dist/domain/extensions/dimension-indicator.js +1 -0
  419. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +3 -2
  420. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  421. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +3 -2
  422. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  423. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +3 -2
  424. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  425. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +3 -2
  426. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  427. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  428. package/dist/domain/extensions/entity-header.js +1 -0
  429. package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +1 -1
  430. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  431. package/dist/domain/{system-components → extensions}/finalize-action.d.ts +1 -1
  432. package/dist/domain/extensions/finalize-action.js +1 -0
  433. package/dist/domain/extensions/finalize-component.js +1 -0
  434. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  435. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  436. package/dist/domain/{system-components → extensions}/fixed-header.d.ts +1 -1
  437. package/dist/domain/extensions/fixed-header.js +1 -0
  438. package/dist/domain/{system-components → extensions}/floating-header.d.ts +1 -1
  439. package/dist/domain/extensions/floating-header.js +1 -0
  440. package/dist/domain/{system-components → extensions}/hidden-header.d.ts +1 -1
  441. package/dist/domain/extensions/hidden-header.js +1 -0
  442. package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +1 -1
  443. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  444. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +1 -1
  445. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  446. package/dist/domain/extensions/index.d.ts +69 -0
  447. package/dist/domain/extensions/index.js +1 -0
  448. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
  449. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  450. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  451. package/dist/domain/extensions/navigation-steps.js +1 -0
  452. package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +1 -1
  453. package/dist/domain/extensions/offset-anchors.js +1 -0
  454. package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +1 -2
  455. package/dist/domain/extensions/offset-indicator.js +1 -0
  456. package/dist/domain/{system-components → extensions}/offset.d.ts +1 -1
  457. package/dist/domain/extensions/offset.js +1 -0
  458. package/dist/domain/{system-components → extensions}/other-action.d.ts +1 -1
  459. package/dist/domain/extensions/other-action.js +1 -0
  460. package/dist/domain/{system-components → extensions}/property-page.d.ts +2 -2
  461. package/dist/domain/extensions/property-page.js +1 -0
  462. package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +1 -1
  463. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  464. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  465. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  466. package/dist/domain/extensions/rotatable.js +1 -0
  467. package/dist/domain/extensions/rotation-handle.js +1 -0
  468. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  469. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  470. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  471. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  472. package/dist/domain/extensions/scene-entity-control.js +1 -0
  473. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  474. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  475. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  476. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  477. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  478. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  479. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  480. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  481. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  482. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  483. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  484. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  485. package/dist/domain/extensions/selectable-component.js +1 -0
  486. package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +1 -1
  487. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  488. package/dist/domain/extensions/simple-summary.js +1 -0
  489. package/dist/domain/{system-components → extensions}/size.d.ts +1 -1
  490. package/dist/domain/extensions/size.js +1 -0
  491. package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +1 -1
  492. package/dist/domain/extensions/sketching-draw.js +1 -0
  493. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +2 -2
  494. package/dist/domain/extensions/sketching-edit.js +1 -0
  495. package/dist/domain/extensions/summary-component.js +1 -0
  496. package/dist/domain/extensions/text-value.js +1 -0
  497. package/dist/domain/extensions/tool-controls.js +1 -0
  498. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +2 -2
  499. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  500. package/dist/domain/{system-components → extensions}/toolbar.d.ts +2 -2
  501. package/dist/domain/{system-components → extensions}/toolbar.js +1 -1
  502. package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +1 -1
  503. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  504. package/dist/domain/extensions/view-controls.js +1 -0
  505. package/dist/domain/index.d.ts +2 -32
  506. package/dist/domain/index.js +1 -1
  507. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  508. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +13 -13
  509. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  510. package/dist/domain/projections/blender-projections/blender-projections.d.ts +2 -3
  511. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  512. package/dist/domain/projections/blender-projections/camera.d.ts +1 -1
  513. package/dist/domain/projections/collision-projections.d.ts +1 -1
  514. package/dist/domain/projections/composition-projections.d.ts +1 -1
  515. package/dist/domain/projections/composition-projections.js +1 -1
  516. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  517. package/dist/domain/projections/index.d.ts +1 -1
  518. package/dist/domain/projections/position-projections.d.ts +1 -1
  519. package/dist/domain/projections/projected-entities-projections.d.ts +2 -3
  520. package/dist/domain/projections/snap-matching.d.ts +1 -2
  521. package/dist/domain/projections/snap-utils.d.ts +1 -2
  522. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  523. package/dist/domain/projections/validation-projections.d.ts +3 -20
  524. package/dist/domain/projections/validation-projections.js +1 -1
  525. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  526. package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
  527. package/dist/domain/system-components/admin-sidebar.js +1 -1
  528. package/dist/domain/system-components/angle-dimension.js +1 -1
  529. package/dist/domain/system-components/application-config.d.ts +1 -1
  530. package/dist/domain/system-components/application-config.js +1 -1
  531. package/dist/domain/system-components/attribute-selection.js +1 -1
  532. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  533. package/dist/domain/system-components/bounding-box-component.js +1 -1
  534. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  535. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  536. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  537. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  538. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  539. package/dist/domain/system-components/child-entity-selection.js +1 -1
  540. package/dist/domain/system-components/collision-box-geometry.d.ts +1 -1
  541. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  542. package/dist/domain/system-components/collision-geometries.d.ts +1 -1
  543. package/dist/domain/system-components/collision-geometry.d.ts +1 -1
  544. package/dist/domain/system-components/collision-geometry.js +1 -1
  545. package/dist/domain/system-components/collision-point-geometry.d.ts +1 -1
  546. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  547. package/dist/domain/system-components/common/index.d.ts +0 -4
  548. package/dist/domain/system-components/common/index.js +1 -1
  549. package/dist/domain/system-components/common/recipes.d.ts +1 -2
  550. package/dist/domain/system-components/constraint.d.ts +1 -1
  551. package/dist/domain/system-components/constraint.js +1 -1
  552. package/dist/domain/system-components/create-blueprint.d.ts +1 -1
  553. package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
  554. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  555. package/dist/domain/system-components/detail.js +1 -1
  556. package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
  557. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  558. package/dist/domain/system-components/distance-dimension.d.ts +1 -1
  559. package/dist/domain/system-components/distance-dimension.js +1 -1
  560. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  561. package/dist/domain/system-components/drag-handle.js +1 -1
  562. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  563. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  564. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  565. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  566. package/dist/domain/system-components/generic-dimension.d.ts +1 -1
  567. package/dist/domain/system-components/generic-dimension.js +1 -1
  568. package/dist/domain/system-components/hidden-entity.js +1 -1
  569. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -2
  570. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  571. package/dist/domain/system-components/index.d.ts +0 -68
  572. package/dist/domain/system-components/index.js +1 -1
  573. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  574. package/dist/domain/system-components/material-override-transformer.js +1 -1
  575. package/dist/domain/system-components/material-swatch.js +1 -1
  576. package/dist/domain/system-components/navigation-page.js +1 -1
  577. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  578. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  579. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  580. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  581. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  582. package/dist/domain/system-components/pivot-point.d.ts +1 -1
  583. package/dist/domain/system-components/pivot-point.js +1 -1
  584. package/dist/domain/system-components/price.js +1 -1
  585. package/dist/domain/system-components/projected-entities.d.ts +1 -1
  586. package/dist/domain/system-components/projected-entities.js +1 -1
  587. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  588. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  589. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  590. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  591. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  592. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  593. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  594. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  595. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  596. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  597. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  598. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  599. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  600. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  601. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  602. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  603. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  604. package/dist/domain/system-components/scene-entity-object.js +1 -1
  605. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  606. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  607. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  608. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  609. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  610. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  611. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  612. package/dist/domain/system-components/sketching-line.d.ts +1 -1
  613. package/dist/domain/system-components/sketching-line.js +1 -1
  614. package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
  615. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  616. package/dist/domain/system-components/sketching.d.ts +1 -1
  617. package/dist/domain/system-components/sketching.js +1 -1
  618. package/dist/domain/system-components/snap-axis.d.ts +1 -1
  619. package/dist/domain/system-components/snap-axis.js +1 -1
  620. package/dist/domain/system-components/snap-edge.d.ts +1 -1
  621. package/dist/domain/system-components/snap-edge.js +1 -1
  622. package/dist/domain/system-components/snap-plane.d.ts +1 -1
  623. package/dist/domain/system-components/snap-plane.js +1 -1
  624. package/dist/domain/system-components/snap-point.d.ts +1 -1
  625. package/dist/domain/system-components/snap-point.js +1 -1
  626. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  627. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  628. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  629. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  630. package/dist/domain/utils/eval-cache.d.ts +1 -2
  631. package/dist/domain/utils/memo-eval.d.ts +2 -4
  632. package/dist/editor/Editor.js +1 -1
  633. package/dist/editor/domain-editors/use-implementation-files.d.ts +7 -6
  634. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  635. package/dist/editor/variants/VariantAnswerFooter.d.ts +17 -0
  636. package/dist/editor/variants/VariantAnswerFooter.js +1 -0
  637. package/dist/editor/variants/VariantPreviewHandler.d.ts +6 -0
  638. package/dist/editor/variants/VariantPreviewHandler.js +1 -0
  639. package/dist/editor/variants/variant-preview-styles.d.ts +49 -0
  640. package/dist/editor/variants/variant-preview-styles.js +1 -0
  641. package/dist/i18n/locales/cs/messages.js +1 -1
  642. package/dist/i18n/locales/da/messages.js +1 -1
  643. package/dist/i18n/locales/de/messages.js +1 -1
  644. package/dist/i18n/locales/de-AT/messages.js +1 -1
  645. package/dist/i18n/locales/en/messages.js +1 -1
  646. package/dist/i18n/locales/en-AU/messages.js +1 -1
  647. package/dist/i18n/locales/en-GB/messages.js +1 -1
  648. package/dist/i18n/locales/es/messages.js +1 -1
  649. package/dist/i18n/locales/fr/messages.js +1 -1
  650. package/dist/i18n/locales/hu/messages.js +1 -1
  651. package/dist/i18n/locales/it/messages.js +1 -1
  652. package/dist/i18n/locales/nl/messages.js +1 -1
  653. package/dist/i18n/locales/pl/messages.js +1 -1
  654. package/dist/i18n/locales/pt/messages.js +1 -1
  655. package/dist/i18n/locales/ro/messages.js +1 -1
  656. package/dist/i18n/locales/sk/messages.js +1 -1
  657. package/dist/i18n/locales/tr/messages.js +1 -1
  658. package/dist/legacy/domain-cli/gen/configurator-builder.js +21 -8
  659. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  660. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  661. package/dist/legacy/domain-cli/gen/invariants.js +5 -3
  662. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  663. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  664. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  665. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  666. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -19
  667. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +15 -16
  668. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +22 -23
  669. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +15 -16
  670. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
  671. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
  672. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
  673. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
  674. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
  675. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  676. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
  677. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  678. package/dist/phoenix/cli.js +1 -1
  679. package/dist/phoenix/commands/dev.js +5 -5
  680. package/dist/phoenix/commands/index.d.ts +1 -0
  681. package/dist/phoenix/commands/index.js +1 -1
  682. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  683. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  684. package/dist/phoenix/commands/story-dev.js +2 -2
  685. package/dist/phoenix/commands/variants.d.ts +35 -0
  686. package/dist/phoenix/commands/variants.js +1 -0
  687. package/dist/phoenix/editor-server/commands-router.d.ts +68 -1
  688. package/dist/phoenix/editor-server/commands-router.js +1 -1
  689. package/dist/phoenix/editor-server/editor-router.d.ts +65 -0
  690. package/dist/phoenix/editor-server/editor-server.d.ts +3 -3
  691. package/dist/phoenix/editor-server/editor-server.js +1 -1
  692. package/dist/phoenix/editor-server/protocol.d.ts +1 -0
  693. package/dist/phoenix/editor-server/spec-router.js +1 -1
  694. package/dist/phoenix/editor-server/trpc.d.ts +3 -0
  695. package/dist/phoenix/scripts/build-admin.js +1 -1
  696. package/dist/phoenix/services/application-spec-project-watcher.d.ts +13 -2
  697. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  698. package/dist/phoenix/services/index.d.ts +4 -0
  699. package/dist/phoenix/services/index.js +1 -1
  700. package/dist/phoenix/services/phoenix-application.d.ts +21 -0
  701. package/dist/phoenix/services/phoenix-application.js +1 -0
  702. package/dist/phoenix/services/phoenix-store.d.ts +48 -0
  703. package/dist/phoenix/services/phoenix-store.js +1 -0
  704. package/dist/phoenix/services/phx-variant-previews-plugin.d.ts +9 -0
  705. package/dist/phoenix/services/phx-variant-previews-plugin.js +1 -0
  706. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  707. package/dist/phoenix/services/variant-file-session.d.ts +36 -0
  708. package/dist/phoenix/services/variant-file-session.js +1 -0
  709. package/dist/phoenix/services/variant-preview-service.d.ts +80 -0
  710. package/dist/phoenix/services/variant-preview-service.js +1 -0
  711. package/dist/phoenix/services/vite-config.js +1 -1
  712. package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
  713. package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
  714. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
  715. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  716. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +24 -24
  717. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +5 -5
  718. package/dist/ui-sdk/theme/types.d.ts +1 -1
  719. package/dist/webhook/builders/common.d.ts +8 -0
  720. package/dist/webhook/builders/webhook-builder.d.ts +1 -1
  721. package/dist/webhook/builders/webhook-builder.js +1 -1
  722. package/package.json +3 -3
  723. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  724. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  725. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  726. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  727. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  728. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  729. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  730. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  731. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  732. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  733. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  734. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  735. package/dist/domain/actions/action-factory.d.ts +0 -10
  736. package/dist/domain/actions/prepare-action-implementations.js +0 -5
  737. package/dist/domain/application/element-registration.js +0 -1
  738. package/dist/domain/application/handler-registration.js +0 -1
  739. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -13
  740. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  741. package/dist/domain/components/debug-state-component.js +0 -1
  742. package/dist/domain/components/drag-state-component.js +0 -1
  743. package/dist/domain/components/export-state-component.js +0 -1
  744. package/dist/domain/components/fullscreen-state-component.js +0 -1
  745. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  746. package/dist/domain/components/hover-state-component.js +0 -1
  747. package/dist/domain/components/index.d.ts +0 -2
  748. package/dist/domain/components/index.js +0 -1
  749. package/dist/domain/components/navigation-state-component.js +0 -1
  750. package/dist/domain/components/selection-state-component.js +0 -1
  751. package/dist/domain/components/system-component-builder.js +0 -1
  752. package/dist/domain/components/system-virtual-entity.js +0 -1
  753. package/dist/domain/components/tool-state-component.js +0 -1
  754. package/dist/domain/components/view-state-component.js +0 -1
  755. package/dist/domain/components/viewport-state-component.js +0 -1
  756. package/dist/domain/core/expression.d.ts +0 -50
  757. package/dist/domain/core/json-schema.js +0 -1
  758. package/dist/domain/core/reflection.js +0 -1
  759. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  760. package/dist/domain/expressions/constant-expressions.js +0 -1
  761. package/dist/domain/expressions/custom-expression.js +0 -1
  762. package/dist/domain/expressions/index.d.ts +0 -1
  763. package/dist/domain/expressions/index.js +0 -1
  764. package/dist/domain/invariants/custom-invariants.js +0 -1
  765. package/dist/domain/invariants/invariants.d.ts +0 -68
  766. package/dist/domain/invariants/invariants.js +0 -1
  767. package/dist/domain/invariants/violation-component.js +0 -1
  768. package/dist/domain/relations/all-of-type-relation.js +0 -1
  769. package/dist/domain/relations/component-factories.js +0 -1
  770. package/dist/domain/relations/composed-of.js +0 -1
  771. package/dist/domain/relations/indirect-relation.js +0 -1
  772. package/dist/domain/relations/reference-component.js +0 -1
  773. package/dist/domain/system-components/angle-indicator.js +0 -1
  774. package/dist/domain/system-components/attribute-switch.js +0 -1
  775. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  776. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  777. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  778. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  779. package/dist/domain/system-components/canvas-config.js +0 -1
  780. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  781. package/dist/domain/system-components/canvas-padding.js +0 -1
  782. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  783. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  784. package/dist/domain/system-components/client-side-image.js +0 -1
  785. package/dist/domain/system-components/color-value.js +0 -1
  786. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  787. package/dist/domain/system-components/common/dimension-indicator-schema.js +0 -1
  788. package/dist/domain/system-components/custom-price-footer.js +0 -1
  789. package/dist/domain/system-components/dimension-indicator.js +0 -1
  790. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  791. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  792. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  793. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  794. package/dist/domain/system-components/entity-header.js +0 -1
  795. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  796. package/dist/domain/system-components/finalize-action.js +0 -1
  797. package/dist/domain/system-components/finalize-component.js +0 -1
  798. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  799. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  800. package/dist/domain/system-components/fixed-header.js +0 -1
  801. package/dist/domain/system-components/floating-header.js +0 -1
  802. package/dist/domain/system-components/hidden-header.js +0 -1
  803. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  804. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  805. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  806. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  807. package/dist/domain/system-components/navigation-steps.js +0 -1
  808. package/dist/domain/system-components/offset-anchors.js +0 -1
  809. package/dist/domain/system-components/offset-indicator.js +0 -1
  810. package/dist/domain/system-components/offset.js +0 -1
  811. package/dist/domain/system-components/other-action.js +0 -1
  812. package/dist/domain/system-components/property-page.js +0 -1
  813. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  814. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  815. package/dist/domain/system-components/rotatable.js +0 -1
  816. package/dist/domain/system-components/rotation-handle.js +0 -1
  817. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  818. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  819. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  820. package/dist/domain/system-components/scene-entity-control.js +0 -1
  821. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  822. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  823. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  824. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  825. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  826. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  827. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  828. package/dist/domain/system-components/selectable-component.js +0 -1
  829. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  830. package/dist/domain/system-components/simple-summary.js +0 -1
  831. package/dist/domain/system-components/size.js +0 -1
  832. package/dist/domain/system-components/sketching-draw.js +0 -1
  833. package/dist/domain/system-components/sketching-edit.js +0 -1
  834. package/dist/domain/system-components/summary-component.js +0 -1
  835. package/dist/domain/system-components/text-value.js +0 -1
  836. package/dist/domain/system-components/tool-controls.js +0 -1
  837. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  838. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  839. package/dist/domain/system-components/view-controls.js +0 -1
  840. package/dist/phoenix/application-spec/generate-assistant-prompt.d.ts +0 -13
  841. package/dist/phoenix/application-spec/generate-assistant-prompt.js +0 -1
  842. /package/dist/domain/{components/component-reader-types.js → application/assistant/assistant-manifest.js} +0 -0
  843. /package/dist/domain/{core/action.js → application/assistant/assistant-resolved-manifest.js} +0 -0
  844. /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
  845. /package/dist/domain/core/{enhanced-json-schema.js → action/action.js} +0 -0
  846. /package/dist/domain/core/{expression.js → component/component-reader-types.js} +0 -0
  847. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  848. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  849. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  850. /package/dist/domain/{components → core/component}/updates.js +0 -0
  851. /package/dist/domain/core/{schema-validator.js → data-schema/data-cell-value.js} +0 -0
  852. /package/dist/domain/{relations/reference-field.js → core/data-schema/data-schema-array-field.js} +0 -0
  853. /package/dist/domain/{relations/relation-implementation.js → core/data-schema/data-schema-field-object.js} +0 -0
  854. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  855. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  856. /package/dist/domain/{invariants → core/invariant}/violation.js +0 -0
  857. /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
  858. /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
  859. /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
  860. /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
  861. /package/dist/domain/core/{component.js → model/component.js} +0 -0
  862. /package/dist/domain/core/{model.d.ts → model/model.d.ts} +0 -0
  863. /package/dist/domain/core/{model.js → model/model.js} +0 -0
  864. /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
  865. /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
  866. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  867. /package/dist/domain/{relations → core/relation}/relation-factory.js +0 -0
  868. /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
  869. /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
  870. /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
  871. /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
  872. /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
  873. /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
  874. /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
  875. /package/dist/domain/core/{migrations.js → state/migrations.js} +0 -0
  876. /package/dist/domain/core/{state.js → state/state.js} +0 -0
  877. /package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.js +0 -0
  878. /package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  879. /package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +0 -0
  880. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  881. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  882. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  883. /package/dist/domain/{system-components → extensions}/client-side-image.d.ts +0 -0
  884. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  885. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  886. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  887. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  888. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  889. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  890. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  891. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  892. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  893. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  894. /package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +0 -0
  895. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  896. /package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +0 -0
  897. /package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +0 -0
  898. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  899. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  900. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  901. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  902. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  903. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  904. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  905. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  906. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  907. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -0,0 +1,7 @@
1
+ export type * from './data-cell-value.js';
2
+ export type * from './data-schema-array-field.js';
3
+ export type * from './data-schema-field-object.js';
4
+ export type * from './data-schema-field.js';
5
+ export type * from './data-schema-localized-field.js';
6
+ export type * from './data-schema-primitive-field.js';
7
+ export type * from './data-schema.js';
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,6 @@
1
+ import type { Decoder } from './decoder.js';
2
+ /**
3
+ * Creates the decoder of data that must match a JSON schema. `subject` is what the data is, as the
4
+ * error names it, for example `Session data`.
5
+ */
6
+ export declare const createDecoder: <DATA>(schema: object, subject: string) => Decoder<DATA>;
@@ -0,0 +1 @@
1
+ import{extendedSchemaValidator as r}from"../schema/index.js";export const createDecoder=(e,o)=>t=>{let i=r.compile(e);if(!i(t))throw Error(`${o} is not valid: ${r.errorsText(i.errors)}`);return t};
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Turns data of unknown shape into data of a known type, and throws when the data does not match.
3
+ * Everything that enters a domain from outside goes through one: published, session, frontend and
4
+ * backend data.
5
+ */
6
+ export type Decoder<DATA> = (data: unknown) => DATA;
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,2 @@
1
+ export { createDecoder } from './create-decoder.js';
2
+ export type { Decoder } from './decoder.js';
@@ -0,0 +1 @@
1
+ export{createDecoder}from"./create-decoder.js";
@@ -1,9 +1,8 @@
1
1
  import type { ExtendedJsonSchema } from '@salsita-ai/common/utils';
2
- import type { ActionDefinitions, AnyActionImplementations } from './action.js';
3
- import type { Expression } from './expression.js';
4
- import type { MigrateFunction } from './migrations.js';
5
- import type { $DomainEntity, DomainEntity, EntityByType } from './model.js';
6
- import type { $DomainEntityReflection, EntityReflections, SchemaOfObject } from './reflection.js';
2
+ import type { ActionDefinitions, AnyActionImplementations } from './action/index.js';
3
+ import type { Expression } from './expression/index.js';
4
+ import type { $DomainEntity, $DomainEntityReflection, DomainEntity, EntityByType, EntityReflections, SchemaOfObject } from './model/index.js';
5
+ import type { MigrateFunction } from './state/index.js';
7
6
  type $EntityReflections<ENTITIES extends DomainEntity<string>> = {
8
7
  [TYPE in ENTITIES['type']]: $DomainEntityReflection<$DomainEntity<EntityByType<ENTITIES, TYPE>>>;
9
8
  };
@@ -1 +1 @@
1
- import{migrateCommonAdminDomain as t}from"../admin-domain/implementation/common-admin-migrations.js";import{extendedSchemaValidator as r}from"./json-schema.js";export class DomainFactory{context;modelVersion;hasBackendData;constructor(t){this.context=t,this.modelVersion=t.modelVersion,this.hasBackendData=void 0!==t.backendData}parsePublishedData=t=>{let e=r.compile(this.context.publishedData);if(!e(t))throw Error(`Admin data is not valid: ${r.errorsText(e.errors)}`);return t};parseSessionData=t=>{let e=r.compile(this.context.sessionData);if(!e(t))throw Error(`Session data is not valid: ${r.errorsText(e.errors)}`);return t};parseFrontendData=t=>{let e=r.compile(this.context.frontendData);if(!e(t))throw Error(`Frontend data is not valid: ${r.errorsText(e.errors)}`);return t};parseBackendData=t=>{if(void 0===this.context.backendData)throw Error("Backend data is not supported for this domain");let e=r.compile(this.context.backendData);if(!e(t))throw Error(`Backend data is not valid: ${r.errorsText(e.errors)}`);return t};validateAndMigrateState=(r,e)=>{let a=this.context.isAdminDomain?t(r):r;return this.context.migrate({state:a,version:e},{trimExtraProperties:!1})}}
1
+ import{migrateCommonAdminDomain as t}from"../admin-domain/implementation/common-admin-migrations.js";import{createDecoder as a}from"./decoder/index.js";export class DomainFactory{context;modelVersion;hasBackendData;constructor(t){this.context=t,this.modelVersion=t.modelVersion,this.hasBackendData=void 0!==t.backendData}parsePublishedData=t=>a(this.context.publishedData,"Admin data")(t);parseSessionData=t=>a(this.context.sessionData,"Session data")(t);parseFrontendData=t=>a(this.context.frontendData,"Frontend data")(t);parseBackendData=t=>{if(void 0===this.context.backendData)throw Error("Backend data is not supported for this domain");return a(this.context.backendData,"Backend data")(t)};validateAndMigrateState=(a,e)=>{let n=this.context.isAdminDomain?t(a):a;return this.context.migrate({state:n,version:e},{trimExtraProperties:!1})}}
@@ -1,7 +1,6 @@
1
- import type { AnyExpressions, ExpressionContext } from './expression.js';
2
- import { type $DomainEntity, type DomainEntity, type DomainEntityId, type EntityByType } from './model.js';
3
- import type { AnyEntityReflections } from './reflection.js';
4
- import type { DomainState } from './state.js';
1
+ import type { AnyExpressions, OpenExpressionContext } from './expression/index.js';
2
+ import { type $DomainEntity, type AnyEntityReflections, type DomainEntity, type DomainEntityId, type EntityByType } from './model/index.js';
3
+ import type { DomainState } from './state/index.js';
5
4
  export type AllowedRootEntityTypes<ALLOWED_ROOT_ENTITIES extends DomainEntity<string>> = ReadonlyArray<ALLOWED_ROOT_ENTITIES['type']>;
6
5
  export type AnyAllowedRootEntityTypes = AllowedRootEntityTypes<DomainEntity<string>>;
7
6
  /**
@@ -13,7 +12,7 @@ export interface DomainSelectors {
13
12
  readonly getDomainExpressions: () => AnyExpressions;
14
13
  readonly getAllowedRootEntityTypes: () => ReadonlyArray<string>;
15
14
  readonly getEntityReflections: () => AnyEntityReflections;
16
- readonly getExpressionContext: () => ExpressionContext<any, any, any, any, any>;
15
+ readonly getExpressionContext: () => OpenExpressionContext<any, any, any, any, any>;
17
16
  }
18
17
  /** Effective mode used by domain expressions and systems. */
19
18
  export type DomainMode = 'owner' | 'read' | 'finalize';
@@ -1 +1 @@
1
- import{createCacheToken as t,getStickyCache as e}from"@salsita-ai/common/utils";import{domainEntityTypeFromId as i}from"./model.js";let r=t(),o=t();export class Domain{_context;constructor(t){this._context=t}getEntity=(t,i)=>{let r=e(i,o),n=r.get("entityMap");if(n)return n.get(t);let s=(t=>{let e=new Map;for(let i of t){if(e.has(i.id))throw Error(`Error while creating a UniqueEntityMap for caching of domain queries. Duplicate entity id ${i.id} encountered!`);e.set(i.id,i)}return e})(i.entities);return r.put("entityMap",s),s.get(t)};get$Entity=(t,i)=>{let o=e(i,r),n=o.get(t);if(n)return n;let s=this.getEntity(t,i);if(!s)throw Error(`Entity ${t} does not exist`);let a={...s},l=this._context.selectors.getDomainExpressions()[s.type];return l&&Object.entries(l).forEach(([t,e])=>{Object.defineProperty(a,t,{enumerable:!0,get:()=>e.evaluate(s.id,i,this._context.selectors.getExpressionContext())})}),Object.defineProperty(a,"_raw",{enumerable:!0,writable:!1,value:s}),Object.defineProperty(a,"_state",{enumerable:!0,writable:!1,value:i}),o.put(t,a),a};get$Entities=(t,e)=>t.map(t=>this.get$Entity(t,e));getRoot$Entity=t=>this.get$Entity(t.rootEntityId,t);validateExpressions=t=>{if(!this._context.selectors.getAllowedRootEntityTypes().includes(t.rootEntityType))throw Error(`Entity type ${t.rootEntityType} is not allowed as root entity`);if(!this.getEntity(t.rootEntityId,t))throw Error(`Root entity ${t.rootEntityId} was not found!`);t.entities.forEach(e=>{let i=this._context.selectors.getDomainExpressions()[e.type];void 0!==i&&Object.values(i).forEach(i=>{!0===i.meta.alwaysEvaluate&&i.evaluate(e.id,t,this._context.selectors.getExpressionContext())})})};validateEntity=t=>{let e=this._context.selectors.getEntityReflections()[t.type];if(!e)throw Error(`Unknown entity type ${t.type}`);return e._meta.validator(t)?{success:!0}:{success:!1,errors:e._meta.validator.errors?.map(t=>`${t.instancePath} ${t.message}`.trim())??[]}};getWritableEntityKeys=(t,e)=>{let r=i(t),o=this._context.selectors.getDomainExpressions()[r];return e.filter(t=>"id"!==t&&"type"!==t&&"_raw"!==t&&o?.[t]===void 0)}}
1
+ import{createCacheToken as t,getStickyCache as e}from"@salsita-ai/common/utils";import{domainEntityTypeFromId as i}from"./model/index.js";let r=t(),o=t();export class Domain{_context;constructor(t){this._context=t}getEntity=(t,i)=>{let r=e(i,o),n=r.get("entityMap");if(n)return n.get(t);let s=(t=>{let e=new Map;for(let i of t){if(e.has(i.id))throw Error(`Error while creating a UniqueEntityMap for caching of domain queries. Duplicate entity id ${i.id} encountered!`);e.set(i.id,i)}return e})(i.entities);return r.put("entityMap",s),s.get(t)};get$Entity=(t,i)=>{let o=e(i,r),n=o.get(t);if(n)return n;let s=this.getEntity(t,i);if(!s)throw Error(`Entity ${t} does not exist`);let a={...s},l=this._context.selectors.getDomainExpressions()[s.type];return l&&Object.entries(l).forEach(([t,e])=>{Object.defineProperty(a,t,{enumerable:!0,get:()=>e.evaluate(s.id,i,this._context.selectors.getExpressionContext())})}),Object.defineProperty(a,"_raw",{enumerable:!0,writable:!1,value:s}),Object.defineProperty(a,"_state",{enumerable:!0,writable:!1,value:i}),o.put(t,a),a};get$Entities=(t,e)=>t.map(t=>this.get$Entity(t,e));getRoot$Entity=t=>this.get$Entity(t.rootEntityId,t);validateExpressions=t=>{if(!this._context.selectors.getAllowedRootEntityTypes().includes(t.rootEntityType))throw Error(`Entity type ${t.rootEntityType} is not allowed as root entity`);if(!this.getEntity(t.rootEntityId,t))throw Error(`Root entity ${t.rootEntityId} was not found!`);t.entities.forEach(e=>{let i=this._context.selectors.getDomainExpressions()[e.type];void 0!==i&&Object.values(i).forEach(i=>{!0===i.meta.alwaysEvaluate&&i.evaluate(e.id,t,this._context.selectors.getExpressionContext())})})};validateEntity=t=>{let e=this._context.selectors.getEntityReflections()[t.type];if(!e)throw Error(`Unknown entity type ${t.type}`);return e._meta.validator(t)?{success:!0}:{success:!1,errors:e._meta.validator.errors?.map(t=>`${t.instancePath} ${t.message}`.trim())??[]}};getWritableEntityKeys=(t,e)=>{let r=i(t),o=this._context.selectors.getDomainExpressions()[r];return e.filter(t=>"id"!==t&&"type"!==t&&"_raw"!==t&&o?.[t]===void 0)}}
@@ -0,0 +1,8 @@
1
+ export type * from './reset-state-emission.js';
2
+ export type * from './state-emission.js';
3
+ export type * from './state-update-emission.js';
4
+ export type * from './state-validation-result.js';
5
+ export type * from './transformation-log.js';
6
+ export type * from './transformer-log-entry.js';
7
+ export type * from './transformer-log.js';
8
+ export type * from './transformer-phase.js';
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,12 @@
1
+ import type { ViolationTypesOf$Entity } from '../invariant/index.js';
2
+ import type { $DomainEntity, DomainEntity } from '../model/index.js';
3
+ import type { DomainState } from '../state/index.js';
4
+ import type { StateValidationResult } from './state-validation-result.js';
5
+ import type { TransformationLog } from './transformation-log.js';
6
+ export interface ResetStateEmission<ENTITIES extends DomainEntity<string>, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>> {
7
+ readonly kind: 'reset';
8
+ readonly state: DomainState<ENTITIES>;
9
+ readonly validity: StateValidationResult<ENTITIES, ViolationTypesOf$Entity<$MAP[ENTITIES['type']]>>;
10
+ readonly tag: unknown;
11
+ readonly transformationLog: TransformationLog | undefined;
12
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,4 @@
1
+ import type { $DomainEntity, DomainEntity } from '../model/index.js';
2
+ import type { ResetStateEmission } from './reset-state-emission.js';
3
+ import type { StateUpdateEmission } from './state-update-emission.js';
4
+ export type StateEmission<ENTITIES extends DomainEntity<string>, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>> = ResetStateEmission<ENTITIES, $MAP> | StateUpdateEmission<ENTITIES, $MAP>;
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,14 @@
1
+ import type { DataUpdate } from '../component/index.js';
2
+ import type { ViolationTypesOf$Entity } from '../invariant/index.js';
3
+ import type { $DomainEntity, DomainEntity } from '../model/index.js';
4
+ import type { DomainState } from '../state/index.js';
5
+ import type { StateValidationResult } from './state-validation-result.js';
6
+ import type { TransformationLog } from './transformation-log.js';
7
+ export interface StateUpdateEmission<ENTITIES extends DomainEntity<string>, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>> {
8
+ readonly kind: 'staged' | 'committed';
9
+ readonly previousState: DomainState<ENTITIES>;
10
+ readonly state: DomainState<ENTITIES>;
11
+ readonly updates: ReadonlyArray<DataUpdate<ENTITIES, ENTITIES>>;
12
+ readonly validity: StateValidationResult<ENTITIES, ViolationTypesOf$Entity<$MAP[ENTITIES['type']]>>;
13
+ readonly transformationLog: TransformationLog | undefined;
14
+ }
@@ -0,0 +1,18 @@
1
+ import type { EntityViolation } from '../invariant/index.js';
2
+ import type { DomainEntity } from '../model/index.js';
3
+ export type StateValidationResult<ENTITIES extends DomainEntity<string>, VIOLATION_TYPE extends string> = {
4
+ readonly valid: true;
5
+ readonly severity: null;
6
+ } | {
7
+ readonly valid: true;
8
+ readonly severity: 'warning' | 'notice';
9
+ readonly entityViolations: ReadonlyArray<EntityViolation<ENTITIES, VIOLATION_TYPE>>;
10
+ } | {
11
+ readonly valid: false;
12
+ readonly severity: 'uncaught';
13
+ readonly error: Error;
14
+ } | {
15
+ readonly valid: false;
16
+ readonly severity: 'fatal' | 'fixable';
17
+ readonly entityViolations: ReadonlyArray<EntityViolation<ENTITIES, VIOLATION_TYPE>>;
18
+ };
@@ -0,0 +1,2 @@
1
+ import type { TransformerLog } from './transformer-log.js';
2
+ export type TransformationLog = readonly TransformerLog[];
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,6 @@
1
+ import type { TransformerPhase } from './transformer-phase.js';
2
+ export interface TransformerLogEntry {
3
+ phase: TransformerPhase;
4
+ message: string;
5
+ data: unknown | undefined;
6
+ }
@@ -0,0 +1,11 @@
1
+ import type { StateUpdate } from '../component/index.js';
2
+ import type { DomainEntity } from '../model/index.js';
3
+ import type { TransformerLogEntry } from './transformer-log-entry.js';
4
+ import type { TransformerPhase } from './transformer-phase.js';
5
+ export interface TransformerLog {
6
+ name: string;
7
+ entries: readonly TransformerLogEntry[];
8
+ status: TransformerPhase;
9
+ updatesIn: ReadonlyArray<StateUpdate<DomainEntity<string>, DomainEntity<string>>>;
10
+ updatesOut: ReadonlyArray<StateUpdate<DomainEntity<string>, DomainEntity<string>>>;
11
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1 @@
1
+ export type TransformerPhase = 'no-event' | 'no-match' | 'no-resolve' | 'match' | 'no-apply' | 'apply';
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,10 @@
1
+ import type { DomainEntity, ExpandAlias, TypeOrAlias } from '../model/index.js';
2
+ import type { AnonymousExpression } from './expression.js';
3
+ /**
4
+ * The expressions a project implements, keyed by entity type or alias and then by expression name.
5
+ * It is what `implementCustomExpressions` returns and what the domain is built from; an alias key
6
+ * stands for every entity type the alias expands to.
7
+ */
8
+ 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>, CONTEXT_EXTENSION = unknown> = {
9
+ [K in TypeOrAlias<ENTITIES, ALIASES>]?: Record<string, AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ExpandAlias<ENTITIES, ALIASES, K>, unknown, CONTEXT_EXTENSION>>;
10
+ };
@@ -1,9 +1,8 @@
1
- import type { ExpandAlias, TypeOrAlias } from '../core/alias.js';
2
- import type { AnonymousExpression, ExpressionMetas } from '../core/expression.js';
3
- import type { DomainEntity } from '../core/model.js';
1
+ import type { DomainEntity, ExpandAlias, TypeOrAlias } from '../model/index.js';
2
+ import type { AnonymousExpression } from './expression.js';
4
3
  export type ConstantExpressions<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>, CONSTANTS extends Partial<Record<TypeOrAlias<ENTITIES, ALIASES>, Record<string, unknown>>>> = {
5
4
  readonly [TYPE_OR_ALIAS in keyof CONSTANTS & string]: {
6
5
  readonly [NAME in keyof CONSTANTS[TYPE_OR_ALIAS]]: AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ExpandAlias<ENTITIES, ALIASES, TYPE_OR_ALIAS>, CONSTANTS[TYPE_OR_ALIAS][NAME]>;
7
6
  };
8
7
  };
9
- export declare const createConstantExpressionFactory: <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>>(metas: ExpressionMetas<ENTITIES, ALIASES>) => <CONSTANTS extends Partial<Record<TypeOrAlias<ENTITIES, ALIASES>, Record<string, unknown>>>>(constants: CONSTANTS) => ConstantExpressions<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, CONSTANTS>;
8
+ export declare const createConstantExpressionFactory: <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>>() => <CONSTANTS extends Partial<Record<TypeOrAlias<ENTITIES, ALIASES>, Record<string, unknown>>>>(constants: CONSTANTS) => ConstantExpressions<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, CONSTANTS>;
@@ -0,0 +1 @@
1
+ import{mapNestedObject as t}from"../../utils/map-nested-object.js";export const createConstantExpressionFactory=()=>e=>t()(e,([t,e,o])=>[[t,e,{meta:{},evaluate:()=>o}]]);
@@ -1,13 +1,12 @@
1
- import type { TypeOrAlias } from '../core/alias.js';
2
- import type { AnonymousExpression, ExpressionContext, ExpressionMeta, ExpressionMetas } from '../core/expression.js';
3
- import type { $DomainEntity, DomainEntity, EntityByType } from '../core/model.js';
4
- import type { DomainState } from '../core/state.js';
5
- import type { AliasedExpressions } from '../domain-builder.js';
6
- export type CustomExpression<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 $DomainEntity<ENTITIES>, T> = (self: SELF, state: DomainState<ENTITIES>, ctx: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>) => T;
7
- export type PotentialCustomExpressions<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>> = {
1
+ import type { $DomainEntity, DomainEntity, EntityByType, TypeOrAlias } from '../model/index.js';
2
+ import type { DomainState } from '../state/index.js';
3
+ import type { AliasedExpressions } from './aliased-expressions.js';
4
+ import type { AnonymousExpression, ExpressionMeta, OpenExpressionContext } from './expression.js';
5
+ export type CustomExpression<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 $DomainEntity<ENTITIES>, T, CONTEXT_EXTENSION = unknown> = (self: SELF, state: DomainState<ENTITIES>, ctx: OpenExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, CONTEXT_EXTENSION>) => T;
6
+ export type PotentialCustomExpressions<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>, CONTEXT_EXTENSION = unknown> = {
8
7
  [TYPE_OR_ALIAS in keyof $MAP]?: {
9
- [NAME in Extract<keyof $MAP[TYPE_OR_ALIAS], `$${string}`>]?: CustomExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, $MAP[TYPE_OR_ALIAS], $MAP[TYPE_OR_ALIAS][NAME]>;
8
+ [NAME in Extract<keyof $MAP[TYPE_OR_ALIAS], `$${string}`>]?: CustomExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, $MAP[TYPE_OR_ALIAS], $MAP[TYPE_OR_ALIAS][NAME], CONTEXT_EXTENSION>;
10
9
  };
11
10
  };
12
- export declare const createCustomExpressionFactory: <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>>(metas: ExpressionMetas<ENTITIES, ALIASES>) => (implementations: PotentialCustomExpressions<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>) => AliasedExpressions<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES>;
13
- export declare const createCustomExpression: <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 $DomainEntity<ENTITIES>, T>(evaluate: CustomExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, $SELF, T>, meta: ExpressionMeta) => AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, EntityByType<ENTITIES, $SELF['type']>, T>;
11
+ export declare const createCustomExpressionFactory: <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>, CONTEXT_EXTENSION = unknown>() => (implementations: PotentialCustomExpressions<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, CONTEXT_EXTENSION>) => AliasedExpressions<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, CONTEXT_EXTENSION>;
12
+ export declare const createCustomExpression: <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 $DomainEntity<ENTITIES>, T, CONTEXT_EXTENSION = unknown>(evaluate: CustomExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, $SELF, T, CONTEXT_EXTENSION>, meta: ExpressionMeta) => AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, EntityByType<ENTITIES, $SELF['type']>, T, CONTEXT_EXTENSION>;
@@ -0,0 +1 @@
1
+ import{mapNestedObject as e}from"../../utils/map-nested-object.js";export const createCustomExpressionFactory=()=>t=>e()(t,([e,t,o])=>{if(!o)throw Error(`Custom expression for ${e}.${t} is of type undefined`);return[[e,t,createCustomExpression(o,{})]]});export const createCustomExpression=(e,t)=>({evaluate:(t,o,r)=>e(r.domain.get$Entity(t,o),o,r),meta:t});
@@ -0,0 +1,46 @@
1
+ import type { SessionRole } from '@salsita-ai/contracts/api';
2
+ import type { Domain } from '../domain.js';
3
+ import type { $DomainEntity, DomainEntity } 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>> {
10
+ readonly mode: 'owner' | 'read' | 'finalize';
11
+ readonly role: SessionRole;
12
+ readonly publishedData: PUBLISHED_DATA;
13
+ readonly frontendData: FRONTEND_DATA;
14
+ readonly backendData: Record<string, unknown> | undefined;
15
+ readonly sessionData: SESSION_DATA;
16
+ readonly domain: Domain<ENTITIES, ALLOWED_ROOT_ENTITIES, Record<ENTITIES['type'], $DomainEntity<ENTITIES>>>;
17
+ readonly migrate: MigrateFunction<ENTITIES>;
18
+ }
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;
25
+ export interface ExpressionMeta {
26
+ /**
27
+ * By enabling this flag, expression will be run during validation. It is primarily used to check validity of relations.
28
+ */
29
+ readonly alwaysEvaluate?: boolean;
30
+ }
31
+ /**
32
+ * Metadata used for debugging of expression exceptions.
33
+ */
34
+ export interface ExpressionOrigin {
35
+ readonly typeOrAlias: string;
36
+ readonly name: string;
37
+ }
38
+ 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> {
39
+ evaluate(selfId: SELF['id'], state: DomainState<ENTITIES>, ctx: OpenExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, CONTEXT_EXTENSION>): T;
40
+ readonly meta: ExpressionMeta;
41
+ }
42
+ 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> {
43
+ readonly origin: ExpressionOrigin;
44
+ }
45
+ export type AnyExpression = Expression<any, any, any, any, any, any, any>;
46
+ export type AnyExpressions = Record<string, Record<string, AnyExpression>>;
@@ -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)}};