@salsita-ai/sdk 0.50.0-develop.6d8967bc99 → 0.50.0-develop.71209819cd

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 (410) 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/templates/domain-spec/generate-domain-block.js +36 -36
  4. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  5. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  6. package/dist/application-spec/generate-application/code/templates/env-example.js +4 -0
  7. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +66 -42
  8. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +4 -4
  9. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +4 -4
  10. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +4 -3
  11. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -2
  12. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  13. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  14. package/dist/client/authorized-client.d.ts +3 -1
  15. package/dist/client/authorized-client.js +1 -1
  16. package/dist/client/contract.d.ts +34 -0
  17. package/dist/client/contract.js +1 -1
  18. package/dist/client/index.d.ts +2 -2
  19. package/dist/client/index.js +1 -1
  20. package/dist/client/local-authorized-client.d.ts +3 -1
  21. package/dist/client/local-authorized-client.js +1 -1
  22. package/dist/client/memory-authorized-client.d.ts +3 -1
  23. package/dist/client/memory-authorized-client.js +1 -1
  24. package/dist/client/phoenix-api.d.ts +215 -2
  25. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +89 -2
  26. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  27. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  28. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  29. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  30. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +2 -1
  31. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  32. package/dist/configurator/ui/assistant/AssistantThread.d.ts +6 -2
  33. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  34. package/dist/configurator/ui/assistant/thread-items.d.ts +13 -2
  35. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  36. package/dist/docs/index.json +1 -1
  37. package/dist/docs/phoenix/deployments.mdx +1 -1
  38. package/dist/docs/phoenix/expression-context.mdx +11 -3
  39. package/dist/docs/phoenix/phoenix-cli.mdx +24 -21
  40. package/dist/docs/phoenix/sdk-builder-workflow.mdx +6 -6
  41. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  42. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +10 -10
  43. package/dist/domain/admin-domain/index.d.ts +8 -3
  44. package/dist/domain/admin-domain/index.js +1 -1
  45. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  46. package/dist/domain/application/application-config.d.ts +1 -21
  47. package/dist/domain/application/assistant/assistant-manifest.d.ts +2 -0
  48. package/dist/domain/application/assistant/assistant-value-type.js +1 -1
  49. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  50. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +1 -11
  51. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  52. package/dist/domain/application/assistant-mutations.d.ts +2 -1
  53. package/dist/domain/application/assistant-mutations.js +1 -1
  54. package/dist/domain/application/index.d.ts +2 -2
  55. package/dist/domain/application/index.js +1 -1
  56. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  57. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  58. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  59. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +2 -2
  60. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  61. package/dist/domain/available-system-components.js +1 -1
  62. package/dist/domain/core/action/action-factory.d.ts +11 -0
  63. package/dist/domain/core/{action.d.ts → action/action.d.ts} +21 -16
  64. package/dist/domain/core/action/index.d.ts +2 -0
  65. package/dist/domain/core/action/index.js +1 -0
  66. package/dist/domain/core/component/domain-component-optic.d.ts +34 -37
  67. package/dist/domain/core/component/domain-component-optic.js +2 -2
  68. package/dist/domain/core/component/system-component-filter.d.ts +17 -17
  69. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  70. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  71. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  72. package/dist/domain/core/data-schema/data-schema-field-object.js +1 -0
  73. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  74. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  75. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  76. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  77. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  78. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  79. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  80. package/dist/domain/core/data-schema/data-schema.js +1 -0
  81. package/dist/domain/core/data-schema/index.d.ts +7 -0
  82. package/dist/domain/core/data-schema/index.js +1 -0
  83. package/dist/domain/core/domain-factory.d.ts +1 -1
  84. package/dist/domain/core/domain.d.ts +2 -2
  85. package/dist/domain/core/emission/index.d.ts +8 -0
  86. package/dist/domain/core/emission/index.js +1 -0
  87. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  88. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  89. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  90. package/dist/domain/core/emission/state-emission.js +1 -0
  91. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  92. package/dist/domain/core/emission/state-update-emission.js +1 -0
  93. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  94. package/dist/domain/core/emission/state-validation-result.js +1 -0
  95. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  96. package/dist/domain/core/emission/transformation-log.js +1 -0
  97. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  98. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  99. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  100. package/dist/domain/core/emission/transformer-log.js +1 -0
  101. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  102. package/dist/domain/core/emission/transformer-phase.js +1 -0
  103. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  104. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  105. package/dist/domain/core/expression/custom-expression.d.ts +7 -7
  106. package/dist/domain/core/expression/expression.d.ts +14 -15
  107. package/dist/domain/core/expression/index.d.ts +1 -2
  108. package/dist/domain/core/expression/index.js +1 -1
  109. package/dist/domain/core/index.d.ts +5 -1
  110. package/dist/domain/core/index.js +1 -1
  111. package/dist/domain/core/invariant/custom-invariants.d.ts +5 -5
  112. package/dist/domain/core/invariant/index.d.ts +1 -1
  113. package/dist/domain/core/invariant/index.js +1 -1
  114. package/dist/domain/core/invariant/invariants.d.ts +4 -67
  115. package/dist/domain/core/invariant/invariants.js +1 -1
  116. package/dist/domain/core/invariant/violation.d.ts +1 -1
  117. package/dist/domain/core/recipe/index.d.ts +1 -0
  118. package/dist/domain/core/recipe/index.js +1 -0
  119. package/dist/domain/{domain-context/recipe-system → core/recipe}/recipes.d.ts +1 -1
  120. package/dist/domain/core/recipe/recipes.js +1 -0
  121. package/dist/domain/{relations → core/relation}/all-of-type-relation.d.ts +3 -1
  122. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  123. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -1
  124. package/dist/domain/core/relation/component-factories.js +1 -0
  125. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  126. package/dist/domain/core/relation/composed-of.js +1 -0
  127. package/dist/domain/{relations → core/relation}/direct-relation.d.ts +2 -1
  128. package/dist/domain/core/relation/index.d.ts +9 -0
  129. package/dist/domain/core/relation/index.js +1 -0
  130. package/dist/domain/{relations → core/relation}/indirect-relation.d.ts +3 -1
  131. package/dist/domain/core/relation/indirect-relation.js +1 -0
  132. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -3
  133. package/dist/domain/core/relation/reference-component.js +1 -0
  134. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  135. package/dist/domain/core/relation/reference-field.js +1 -0
  136. package/dist/domain/{relations → core/relation}/relation-factory.d.ts +2 -1
  137. package/dist/domain/{relations → core/relation}/relation-implementation.d.ts +3 -1
  138. package/dist/domain/core/relation/relation-implementation.js +1 -0
  139. package/dist/domain/domain-builder.d.ts +2 -5
  140. package/dist/domain/domain-builder.js +1 -1
  141. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -2
  142. package/dist/domain/domain-context/index.d.ts +1 -2
  143. package/dist/domain/domain-context/index.js +1 -1
  144. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +1 -2
  145. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  146. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  147. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  148. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  149. package/dist/domain/domain-context/store-system/store-system.d.ts +1 -32
  150. package/dist/domain/domain-context/transformers/context.d.ts +1 -2
  151. package/dist/domain/domain-context/undo-system.d.ts +1 -2
  152. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  153. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  154. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  155. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  156. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  157. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  158. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  159. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +3 -2
  160. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  161. package/dist/domain/domain-runtime/domain-runtime.d.ts +8 -8
  162. package/dist/domain/domain-runtime/spec/index.d.ts +8 -0
  163. package/dist/domain/domain-runtime/spec/index.js +1 -1
  164. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  165. package/dist/domain/domain-runtime/spec/invariant-builder.d.ts +61 -0
  166. package/dist/domain/domain-runtime/spec/invariant-builder.js +1 -0
  167. package/dist/domain/{core/expression → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  168. package/dist/domain/{actions → domain-runtime/spec}/prepare-action-implementations.d.ts +1 -1
  169. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  170. package/dist/domain/{core/expression → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  171. package/dist/domain/domain-runtime/spec/resolve-action-modules.d.ts +4 -0
  172. package/dist/domain/domain-runtime/spec/resolve-action-modules.js +1 -0
  173. package/dist/domain/domain-runtime/spec/resolve-component-optic-modules.d.ts +4 -0
  174. package/dist/domain/domain-runtime/spec/resolve-component-optic-modules.js +1 -0
  175. package/dist/domain/domain-runtime/spec/resolve-expression-modules.d.ts +15 -0
  176. package/dist/domain/domain-runtime/spec/resolve-expression-modules.js +1 -0
  177. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.d.ts +6 -0
  178. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.js +1 -0
  179. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +1 -1
  180. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  181. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +1 -1
  182. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  183. package/dist/domain/extensions/common/index.d.ts +4 -0
  184. package/dist/domain/extensions/common/index.js +1 -0
  185. package/dist/domain/{system-components → extensions}/custom-header.d.ts +1 -1
  186. package/dist/domain/extensions/custom-header.js +1 -0
  187. package/dist/domain/{system-components → extensions}/custom-price-footer.js +1 -1
  188. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +1 -1
  189. package/dist/domain/extensions/custom-sidebar-footer.js +1 -0
  190. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +2 -1
  191. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  192. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +2 -1
  193. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  194. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +2 -1
  195. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  196. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +2 -1
  197. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  198. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  199. package/dist/domain/extensions/entity-header.js +1 -0
  200. package/dist/domain/{system-components → extensions}/finalize-component.js +1 -1
  201. package/dist/domain/extensions/index.d.ts +69 -0
  202. package/dist/domain/extensions/index.js +1 -0
  203. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +2 -1
  204. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  205. package/dist/domain/{system-components → extensions}/property-page.d.ts +1 -1
  206. package/dist/domain/extensions/property-page.js +1 -0
  207. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +1 -1
  208. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  209. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  210. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  211. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  212. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  213. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  214. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  215. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  216. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  217. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  218. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  219. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  220. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  221. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +1 -1
  222. package/dist/domain/extensions/sketching-edit.js +1 -0
  223. package/dist/domain/{system-components → extensions}/summary-component.js +1 -1
  224. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +1 -1
  225. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  226. package/dist/domain/{system-components → extensions}/toolbar.d.ts +1 -1
  227. package/dist/domain/extensions/toolbar.js +1 -0
  228. package/dist/domain/index.d.ts +3 -8
  229. package/dist/domain/index.js +1 -1
  230. package/dist/domain/project-modules/index.d.ts +1 -1
  231. package/dist/domain/project-modules/index.js +1 -1
  232. package/dist/domain/project-modules/project-modules.d.ts +0 -16
  233. package/dist/domain/project-modules/project-modules.js +1 -1
  234. package/dist/domain/projections/composition-projections.js +1 -1
  235. package/dist/domain/projections/index.d.ts +1 -1
  236. package/dist/domain/projections/validation-projections.d.ts +1 -17
  237. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  238. package/dist/domain/system-components/common/index.d.ts +0 -4
  239. package/dist/domain/system-components/common/index.js +1 -1
  240. package/dist/domain/system-components/common/recipes.d.ts +1 -2
  241. package/dist/domain/system-components/index.d.ts +0 -68
  242. package/dist/domain/system-components/index.js +1 -1
  243. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  244. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  245. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  246. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  247. package/dist/domain/utils/memo-eval.d.ts +2 -2
  248. package/dist/i18n/locales/cs/messages.js +1 -1
  249. package/dist/i18n/locales/da/messages.js +1 -1
  250. package/dist/i18n/locales/de/messages.js +1 -1
  251. package/dist/i18n/locales/de-AT/messages.js +1 -1
  252. package/dist/i18n/locales/en/messages.js +1 -1
  253. package/dist/i18n/locales/en-AU/messages.js +1 -1
  254. package/dist/i18n/locales/en-GB/messages.js +1 -1
  255. package/dist/i18n/locales/es/messages.js +1 -1
  256. package/dist/i18n/locales/fr/messages.js +1 -1
  257. package/dist/i18n/locales/hu/messages.js +1 -1
  258. package/dist/i18n/locales/it/messages.js +1 -1
  259. package/dist/i18n/locales/nl/messages.js +1 -1
  260. package/dist/i18n/locales/pl/messages.js +1 -1
  261. package/dist/i18n/locales/pt/messages.js +1 -1
  262. package/dist/i18n/locales/ro/messages.js +1 -1
  263. package/dist/i18n/locales/sk/messages.js +1 -1
  264. package/dist/i18n/locales/tr/messages.js +1 -1
  265. package/dist/legacy/domain-cli/gen/implementation.js +5 -5
  266. package/dist/legacy/domain-cli/gen/invariants.js +5 -3
  267. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  268. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  269. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  270. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  271. package/dist/ui-sdk/theme/types.d.ts +1 -1
  272. package/dist/webhook/builders/common.d.ts +5 -0
  273. package/dist/webhook/builders/webhook-builder.js +1 -1
  274. package/package.json +3 -3
  275. package/dist/domain/actions/action-factory.d.ts +0 -10
  276. package/dist/domain/actions/prepare-action-implementations.js +0 -5
  277. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  278. package/dist/domain/relations/all-of-type-relation.js +0 -1
  279. package/dist/domain/relations/component-factories.js +0 -1
  280. package/dist/domain/relations/composed-of.js +0 -1
  281. package/dist/domain/relations/indirect-relation.js +0 -1
  282. package/dist/domain/relations/reference-component.js +0 -1
  283. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  284. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  285. package/dist/domain/system-components/custom-header.js +0 -1
  286. package/dist/domain/system-components/custom-sidebar-footer.js +0 -1
  287. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  288. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  289. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  290. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  291. package/dist/domain/system-components/entity-header.js +0 -1
  292. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  293. package/dist/domain/system-components/property-page.js +0 -1
  294. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  295. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  296. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  297. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  298. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  299. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  300. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  301. package/dist/domain/system-components/sketching-edit.js +0 -1
  302. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  303. package/dist/domain/system-components/toolbar.js +0 -1
  304. /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
  305. /package/dist/domain/core/{action.js → action/action.js} +0 -0
  306. /package/dist/domain/{relations/reference-field.js → core/data-schema/data-cell-value.js} +0 -0
  307. /package/dist/domain/{relations/relation-implementation.js → core/data-schema/data-schema-array-field.js} +0 -0
  308. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  309. /package/dist/domain/{relations → core/relation}/relation-factory.js +0 -0
  310. /package/dist/domain/{core/expression → domain-runtime/spec}/memoize-expression.js +0 -0
  311. /package/dist/domain/{core/expression → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  312. /package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +0 -0
  313. /package/dist/domain/{system-components → extensions}/angle-indicator.js +0 -0
  314. /package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +0 -0
  315. /package/dist/domain/{system-components → extensions}/attribute-switch.js +0 -0
  316. /package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +0 -0
  317. /package/dist/domain/{system-components → extensions}/autorotate-camera-component.js +0 -0
  318. /package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +0 -0
  319. /package/dist/domain/{system-components → extensions}/basic-sidebar-footer.js +0 -0
  320. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  321. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.js +0 -0
  322. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  323. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.js +0 -0
  324. /package/dist/domain/{system-components → extensions}/canvas-config.d.ts +0 -0
  325. /package/dist/domain/{system-components → extensions}/canvas-config.js +0 -0
  326. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  327. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.js +0 -0
  328. /package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +0 -0
  329. /package/dist/domain/{system-components → extensions}/canvas-padding.js +0 -0
  330. /package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +0 -0
  331. /package/dist/domain/{system-components → extensions}/canvas-preset-environment.js +0 -0
  332. /package/dist/domain/{system-components → extensions}/client-side-image.d.ts +0 -0
  333. /package/dist/domain/{system-components → extensions}/client-side-image.js +0 -0
  334. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  335. /package/dist/domain/{system-components → extensions}/color-value.js +0 -0
  336. /package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +0 -0
  337. /package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.js +0 -0
  338. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  339. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  340. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  341. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  342. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  343. /package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +0 -0
  344. /package/dist/domain/{system-components → extensions}/dimension-indicator.js +0 -0
  345. /package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +0 -0
  346. /package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.js +0 -0
  347. /package/dist/domain/{system-components → extensions}/finalize-action.d.ts +0 -0
  348. /package/dist/domain/{system-components → extensions}/finalize-action.js +0 -0
  349. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  350. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  351. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.js +0 -0
  352. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  353. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.js +0 -0
  354. /package/dist/domain/{system-components → extensions}/fixed-header.d.ts +0 -0
  355. /package/dist/domain/{system-components → extensions}/fixed-header.js +0 -0
  356. /package/dist/domain/{system-components → extensions}/floating-header.d.ts +0 -0
  357. /package/dist/domain/{system-components → extensions}/floating-header.js +0 -0
  358. /package/dist/domain/{system-components → extensions}/hidden-header.d.ts +0 -0
  359. /package/dist/domain/{system-components → extensions}/hidden-header.js +0 -0
  360. /package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +0 -0
  361. /package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.js +0 -0
  362. /package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +0 -0
  363. /package/dist/domain/{system-components → extensions}/horizontal-tabs.js +0 -0
  364. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  365. /package/dist/domain/{system-components → extensions}/multilingual-text-value.js +0 -0
  366. /package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +0 -0
  367. /package/dist/domain/{system-components → extensions}/navigation-steps.js +0 -0
  368. /package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +0 -0
  369. /package/dist/domain/{system-components → extensions}/offset-anchors.js +0 -0
  370. /package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +0 -0
  371. /package/dist/domain/{system-components → extensions}/offset-indicator.js +0 -0
  372. /package/dist/domain/{system-components → extensions}/offset.d.ts +0 -0
  373. /package/dist/domain/{system-components → extensions}/offset.js +0 -0
  374. /package/dist/domain/{system-components → extensions}/other-action.d.ts +0 -0
  375. /package/dist/domain/{system-components → extensions}/other-action.js +0 -0
  376. /package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +0 -0
  377. /package/dist/domain/{system-components → extensions}/read-sidebar-footer.js +0 -0
  378. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  379. /package/dist/domain/{system-components → extensions}/rotatable.js +0 -0
  380. /package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +0 -0
  381. /package/dist/domain/{system-components → extensions}/rotation-handle.js +0 -0
  382. /package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +0 -0
  383. /package/dist/domain/{system-components → extensions}/save-template-thumbnail.js +0 -0
  384. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  385. /package/dist/domain/{system-components → extensions}/scene-entity-animation.js +0 -0
  386. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  387. /package/dist/domain/{system-components → extensions}/scene-entity-control.js +0 -0
  388. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  389. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.js +0 -0
  390. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  391. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.js +0 -0
  392. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  393. /package/dist/domain/{system-components → extensions}/selectable-component.js +0 -0
  394. /package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +0 -0
  395. /package/dist/domain/{system-components → extensions}/sidebar-tabs.js +0 -0
  396. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  397. /package/dist/domain/{system-components → extensions}/simple-summary.js +0 -0
  398. /package/dist/domain/{system-components → extensions}/size.d.ts +0 -0
  399. /package/dist/domain/{system-components → extensions}/size.js +0 -0
  400. /package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +0 -0
  401. /package/dist/domain/{system-components → extensions}/sketching-draw.js +0 -0
  402. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  403. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  404. /package/dist/domain/{system-components → extensions}/text-value.js +0 -0
  405. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  406. /package/dist/domain/{system-components → extensions}/tool-controls.js +0 -0
  407. /package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +0 -0
  408. /package/dist/domain/{system-components → extensions}/universal-sidebar-footer.js +0 -0
  409. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
  410. /package/dist/domain/{system-components → extensions}/view-controls.js +0 -0
@@ -1,5 +1,5 @@
1
1
  import type { SessionRole } from '@salsita-ai/contracts/api';
2
- import type { AnonymousExpression, ExpressionContext } from '../expression/index.js';
2
+ import type { AnonymousExpression, OpenExpressionContext } from '../expression/index.js';
3
3
  import type { DomainEntity, DomainEntityId } from '../model/index.js';
4
4
  import type { DomainState } from '../state/index.js';
5
5
  import { type Viewport } from './viewport-state-component.js';
@@ -38,21 +38,21 @@ export type ComponentSystemFilterProps = {
38
38
  debug?: boolean;
39
39
  viewports?: readonly Viewport[];
40
40
  };
41
- export interface GradualComponentSystemFilter<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>> {
42
- navigationStates: undefined | readonly string[] | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly string[] | undefined>;
43
- selectedEntityIds: undefined | readonly IdOrWithId[] | IdOrWithId | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly IdOrWithId[] | IdOrWithId | undefined>;
44
- hoveredEntityIds: undefined | readonly IdOrWithId[] | IdOrWithId | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly IdOrWithId[] | IdOrWithId | undefined>;
45
- draggedEntityIds: undefined | readonly IdOrWithId[] | IdOrWithId | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly IdOrWithId[] | IdOrWithId | undefined>;
46
- exportedEntityIds: undefined | readonly IdOrWithId[] | IdOrWithId | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly IdOrWithId[] | IdOrWithId | undefined>;
47
- viewStates: undefined | readonly string[] | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly string[] | undefined>;
48
- toolStates: undefined | readonly string[] | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly string[] | undefined>;
49
- exportStates: undefined | readonly string[] | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly string[] | undefined>;
50
- modes: undefined | ReadonlyArray<'owner' | 'read' | 'finalize'> | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, ReadonlyArray<'owner' | 'read' | 'finalize'> | undefined>;
51
- roles: undefined | readonly SessionRole[] | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly SessionRole[] | undefined>;
52
- active: undefined | boolean | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, boolean | undefined>;
53
- fullscreen: undefined | boolean | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, boolean | undefined>;
54
- debug: undefined | boolean | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, boolean | undefined>;
55
- viewports: undefined | readonly Viewport[] | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly Viewport[] | undefined>;
41
+ export interface GradualComponentSystemFilter<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> {
42
+ navigationStates: undefined | readonly string[] | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly string[] | undefined, CONTEXT_EXTENSION>;
43
+ selectedEntityIds: undefined | readonly IdOrWithId[] | IdOrWithId | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly IdOrWithId[] | IdOrWithId | undefined, CONTEXT_EXTENSION>;
44
+ hoveredEntityIds: undefined | readonly IdOrWithId[] | IdOrWithId | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly IdOrWithId[] | IdOrWithId | undefined, CONTEXT_EXTENSION>;
45
+ draggedEntityIds: undefined | readonly IdOrWithId[] | IdOrWithId | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly IdOrWithId[] | IdOrWithId | undefined, CONTEXT_EXTENSION>;
46
+ exportedEntityIds: undefined | readonly IdOrWithId[] | IdOrWithId | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly IdOrWithId[] | IdOrWithId | undefined, CONTEXT_EXTENSION>;
47
+ viewStates: undefined | readonly string[] | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly string[] | undefined, CONTEXT_EXTENSION>;
48
+ toolStates: undefined | readonly string[] | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly string[] | undefined, CONTEXT_EXTENSION>;
49
+ exportStates: undefined | readonly string[] | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly string[] | undefined, CONTEXT_EXTENSION>;
50
+ modes: undefined | ReadonlyArray<'owner' | 'read' | 'finalize'> | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, ReadonlyArray<'owner' | 'read' | 'finalize'> | undefined, CONTEXT_EXTENSION>;
51
+ roles: undefined | readonly SessionRole[] | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly SessionRole[] | undefined, CONTEXT_EXTENSION>;
52
+ active: undefined | boolean | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, boolean | undefined, CONTEXT_EXTENSION>;
53
+ fullscreen: undefined | boolean | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, boolean | undefined, CONTEXT_EXTENSION>;
54
+ debug: undefined | boolean | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, boolean | undefined, CONTEXT_EXTENSION>;
55
+ viewports: undefined | readonly Viewport[] | AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, readonly Viewport[] | undefined, CONTEXT_EXTENSION>;
56
56
  }
57
57
  export interface FilterMismatchReason {
58
58
  readonly modes?: ReadonlyArray<'owner' | 'read' | 'finalize'>;
@@ -70,7 +70,7 @@ export interface FilterMismatchReason {
70
70
  readonly draggedEntityIds?: readonly IdOrWithId[] | IdOrWithId;
71
71
  readonly active?: boolean;
72
72
  }
73
- export declare const isComponentActive: <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>(filterState: ComponentSystemFilterState, filters: ReadonlyArray<GradualComponentSystemFilter<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>>, id: SELF['id'], domainState: DomainState<ENTITIES>, context: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>, reportReason?: boolean) => boolean | readonly FilterMismatchReason[];
73
+ export declare const isComponentActive: <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, CONTEXT_EXTENSION = unknown>(filterState: ComponentSystemFilterState, filters: ReadonlyArray<GradualComponentSystemFilter<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, CONTEXT_EXTENSION>>, id: SELF['id'], domainState: DomainState<ENTITIES>, context: OpenExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, CONTEXT_EXTENSION>, reportReason?: boolean) => boolean | readonly FilterMismatchReason[];
74
74
  export declare const ComponentSystemFilterPropsSchema: {
75
75
  readonly tsType: 'ComponentSystemFilterProps';
76
76
  readonly import: [{
@@ -0,0 +1,4 @@
1
+ import type { CellValue } from '@salsita-ai/contracts/webhook';
2
+ export type DataCellValue = CellValue | null | {
3
+ readonly $lang: Record<string, string>;
4
+ } | readonly CellValue[];
@@ -0,0 +1,5 @@
1
+ export interface DataSchemaArrayField {
2
+ readonly type: 'array';
3
+ readonly items: 'string' | 'number' | 'boolean';
4
+ readonly description?: string;
5
+ }
@@ -0,0 +1,4 @@
1
+ import type { DataSchemaArrayField } from './data-schema-array-field.js';
2
+ import type { DataSchemaLocalizedField } from './data-schema-localized-field.js';
3
+ import type { DataSchemaPrimitiveField } from './data-schema-primitive-field.js';
4
+ export type DataSchemaFieldObject = DataSchemaPrimitiveField | DataSchemaLocalizedField | DataSchemaArrayField;
@@ -0,0 +1,2 @@
1
+ import type { DataSchemaFieldObject } from './data-schema-field-object.js';
2
+ export type DataSchemaField = 'string' | 'number' | 'boolean' | readonly ['string', 'null'] | readonly ['number', 'null'] | readonly ['boolean', 'null'] | DataSchemaFieldObject;
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,4 @@
1
+ export interface DataSchemaLocalizedField {
2
+ readonly type: 'localized';
3
+ readonly description?: string;
4
+ }
@@ -0,0 +1,5 @@
1
+ export interface DataSchemaPrimitiveField {
2
+ readonly type: 'string' | 'number' | 'integer' | 'boolean';
3
+ readonly enum?: ReadonlyArray<string | number>;
4
+ readonly description?: string;
5
+ }
@@ -0,0 +1,2 @@
1
+ import type { DataSchemaField } from './data-schema-field.js';
2
+ export type DataSchema = Record<string, DataSchemaField>;
@@ -0,0 +1 @@
1
+ export{};
@@ -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{};
@@ -1,5 +1,5 @@
1
1
  import type { ExtendedJsonSchema } from '@salsita-ai/common/utils';
2
- import type { ActionDefinitions, AnyActionImplementations } from './action.js';
2
+ import type { ActionDefinitions, AnyActionImplementations } from './action/index.js';
3
3
  import type { Expression } from './expression/index.js';
4
4
  import type { $DomainEntity, $DomainEntityReflection, DomainEntity, EntityByType, EntityReflections, SchemaOfObject } from './model/index.js';
5
5
  import type { MigrateFunction } from './state/index.js';
@@ -1,4 +1,4 @@
1
- import type { AnyExpressions, ExpressionContext } from './expression/index.js';
1
+ import type { AnyExpressions, OpenExpressionContext } from './expression/index.js';
2
2
  import { type $DomainEntity, type AnyEntityReflections, type DomainEntity, type DomainEntityId, type EntityByType } from './model/index.js';
3
3
  import type { DomainState } from './state/index.js';
4
4
  export type AllowedRootEntityTypes<ALLOWED_ROOT_ENTITIES extends DomainEntity<string>> = ReadonlyArray<ALLOWED_ROOT_ENTITIES['type']>;
@@ -12,7 +12,7 @@ export interface DomainSelectors {
12
12
  readonly getDomainExpressions: () => AnyExpressions;
13
13
  readonly getAllowedRootEntityTypes: () => ReadonlyArray<string>;
14
14
  readonly getEntityReflections: () => AnyEntityReflections;
15
- readonly getExpressionContext: () => ExpressionContext<any, any, any, any, any>;
15
+ readonly getExpressionContext: () => OpenExpressionContext<any, any, any, any, any>;
16
16
  }
17
17
  /** Effective mode used by domain expressions and systems. */
18
18
  export type DomainMode = 'owner' | 'read' | 'finalize';
@@ -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,12 +1,12 @@
1
- import type { AliasedExpressions } from '../../domain-builder.js';
2
1
  import type { $DomainEntity, DomainEntity, EntityByType, TypeOrAlias } from '../model/index.js';
3
2
  import type { DomainState } from '../state/index.js';
4
- import type { AnonymousExpression, ExpressionContext, ExpressionMeta, ExpressionMetas } 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> = (self: SELF, state: DomainState<ENTITIES>, ctx: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>) => 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>> = {
3
+ import type { AliasedExpressions } from './aliased-expressions.js';
4
+ import type { AnonymousExpression, ExpressionMeta, ExpressionMetas, 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> = {
7
7
  [TYPE_OR_ALIAS in keyof $MAP]?: {
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]>;
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>;
9
9
  };
10
10
  };
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>>(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>;
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>(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>(metas: ExpressionMetas<ENTITIES, ALIASES>) => (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>;
@@ -1,11 +1,12 @@
1
1
  import type { SessionRole } from '@salsita-ai/contracts/api';
2
- import type { ComponentReader } from '../../domain-runtime/domain-context/index.js';
3
- import type { CollisionProjections, ConstraintProjections, PositionProjections, ProjectedEntitiesProjections, SnappingProjections } from '../../projections/index.js';
4
- import type { SketchingProjections } from '../../sketching/index.js';
5
2
  import type { Domain } from '../domain.js';
6
3
  import type { $DomainEntity, DomainEntity, TypeOrAlias } from '../model/index.js';
7
4
  import type { DomainState, MigrateFunction } from '../state/index.js';
8
- export interface ExpressionContext<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>> {
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>> {
9
10
  readonly mode: 'owner' | 'read' | 'finalize';
10
11
  readonly role: SessionRole;
11
12
  readonly publishedData: PUBLISHED_DATA;
@@ -13,16 +14,14 @@ export interface ExpressionContext<ENTITIES extends DomainEntity<string>, ALLOWE
13
14
  readonly backendData: Record<string, unknown> | undefined;
14
15
  readonly sessionData: SESSION_DATA;
15
16
  readonly domain: Domain<ENTITIES, ALLOWED_ROOT_ENTITIES, Record<ENTITIES['type'], $DomainEntity<ENTITIES>>>;
16
- readonly componentReader: ComponentReader<ENTITIES>;
17
17
  readonly migrate: MigrateFunction<ENTITIES>;
18
- readonly positionProjections: PositionProjections<ENTITIES>;
19
- readonly sketchingProjections: SketchingProjections<ENTITIES>;
20
- readonly collisionProjections: CollisionProjections<ENTITIES>;
21
- readonly constraintProjections: ConstraintProjections<ENTITIES>;
22
- readonly snappingProjections: SnappingProjections<ENTITIES>;
23
- readonly projectedEntitiesProjections: ProjectedEntitiesProjections<ENTITIES>;
24
18
  }
25
- export type AnyExpressionContext = ExpressionContext<any, any, any, any, any>;
19
+ /**
20
+ * The context an expression is evaluated in. Core declares its own part; `CONTEXT_EXTENSION` is
21
+ * what whoever evaluates the expression adds to it, such as the component reader and the
22
+ * projections of the domain runtime. An expression that reads only core's part leaves it out.
23
+ */
24
+ export type OpenExpressionContext<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, CONTEXT_EXTENSION = unknown> = CoreExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA> & CONTEXT_EXTENSION;
26
25
  export interface ExpressionMeta {
27
26
  /**
28
27
  * By enabling this flag, expression will be run during validation. It is primarily used to check validity of relations.
@@ -37,11 +36,11 @@ export interface ExpressionOrigin {
37
36
  readonly typeOrAlias: string;
38
37
  readonly name: string;
39
38
  }
40
- 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> {
41
- evaluate(selfId: SELF['id'], state: DomainState<ENTITIES>, ctx: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>): T;
39
+ export interface AnonymousExpression<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, SELF extends ENTITIES, T, CONTEXT_EXTENSION = unknown> {
40
+ evaluate(selfId: SELF['id'], state: DomainState<ENTITIES>, ctx: OpenExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, CONTEXT_EXTENSION>): T;
42
41
  readonly meta: ExpressionMeta;
43
42
  }
44
- export interface Expression<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, SELF extends ENTITIES, T> extends AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, SELF, T> {
43
+ export interface Expression<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, SELF extends ENTITIES, T, CONTEXT_EXTENSION = unknown> extends AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, SELF, T, CONTEXT_EXTENSION> {
45
44
  readonly origin: ExpressionOrigin;
46
45
  }
47
46
  export type AnyExpression = Expression<any, any, any, any, any, any, any>;
@@ -1,5 +1,4 @@
1
+ export type * from './aliased-expressions.js';
1
2
  export * from './constant-expressions.js';
2
3
  export * from './custom-expression.js';
3
4
  export type * from './expression.js';
4
- export * from './memoize-expression.js';
5
- export * from './prepare-domain-expressions.js';
@@ -1 +1 @@
1
- export*from"./constant-expressions.js";export*from"./custom-expression.js";export*from"./memoize-expression.js";export*from"./prepare-domain-expressions.js";
1
+ export*from"./constant-expressions.js";export*from"./custom-expression.js";
@@ -1,10 +1,14 @@
1
- export type * from './action.js';
1
+ export * from './action/index.js';
2
2
  export * from './component/index.js';
3
+ export type * from './data-schema/index.js';
3
4
  export * from './decoder/index.js';
4
5
  export * from './domain-factory.js';
5
6
  export * from './domain.js';
7
+ export type * from './emission/index.js';
6
8
  export * from './expression/index.js';
7
9
  export * from './invariant/index.js';
8
10
  export * from './model/index.js';
11
+ export * from './recipe/index.js';
12
+ export * from './relation/index.js';
9
13
  export * from './schema/index.js';
10
14
  export * from './state/index.js';
@@ -1 +1 @@
1
- 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"./schema/index.js";export*from"./state/index.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";
@@ -3,9 +3,9 @@ import type { CustomExpression } from '../expression/index.js';
3
3
  import type { $DomainEntity, DomainEntity, ExpandAlias, TypeOrAlias } from '../model/index.js';
4
4
  import type { Invariant } from './invariants.js';
5
5
  import type { Violation } from './violation.js';
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>>>> = {
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> = {
7
7
  [TYPE_OR_ALIAS in keyof BLUEPRINTS]: {
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]> : 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;
9
9
  };
10
10
  };
11
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<{
@@ -13,9 +13,9 @@ export type StaticallyDefinedViolations<ENTITIES extends DomainEntity<string>, A
13
13
  [NAME in keyof BLUEPRINTS[TYPE_OR_ALIAS]]: BLUEPRINTS[TYPE_OR_ALIAS][NAME] extends boolean ? Violation<string> : never;
14
14
  }>;
15
15
  }>;
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> = {
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> = {
17
17
  readonly [TYPE_OR_ALIAS in keyof BLUEPRINTS & string & PICK]: ReadonlyArray<{
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>;
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>;
19
19
  }[keyof BLUEPRINTS[TYPE_OR_ALIAS]]>;
20
20
  };
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>>>>() => <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>;
@@ -1,5 +1,5 @@
1
1
  export * from './builtin-invariant.js';
2
2
  export * from './custom-invariants.js';
3
- export * from './invariants.js';
3
+ export type * from './invariants.js';
4
4
  export * from './violation-component.js';
5
5
  export * from './violation.js';
@@ -1 +1 @@
1
- export*from"./builtin-invariant.js";export*from"./custom-invariants.js";export*from"./invariants.js";export*from"./violation-component.js";export*from"./violation.js";
1
+ export*from"./builtin-invariant.js";export*from"./custom-invariants.js";export*from"./violation-component.js";export*from"./violation.js";
@@ -1,11 +1,9 @@
1
- import type { OmitNever } from '@salsita-ai/common/utils';
2
- import { type ProjectModule } from '../../project-modules/index.js';
3
- import type { AnonymousExpression, ExpressionContext } from '../expression/index.js';
4
- import { type $DomainEntity, type AliasMap, type DomainEntity, type EntityByType, type EventualAlias, type ExpandAlias, type ExtractFromAliasedRecord, type TypeOrAlias } from '../model/index.js';
1
+ import type { OpenExpressionContext } from '../expression/index.js';
2
+ import type { $DomainEntity, DomainEntity, ExpandAlias, TypeOrAlias } from '../model/index.js';
5
3
  import type { DomainState } from '../state/index.js';
6
4
  import { type Violation } from './violation.js';
7
- 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> {
8
- evaluate(selfId: ENTITY['id'], state: DomainState<ENTITIES>, ctx: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>): ReadonlyArray<Violation<VIOLATION_TYPE>>;
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>>;
9
7
  }
10
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> = {
11
9
  [K in TypeOrAlias<ENTITIES, ALIASES>]?: ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ExpandAlias<ENTITIES, ALIASES, K>, VIOLATION_TYPES>>;
@@ -13,64 +11,3 @@ export type AliasedInvariants<ENTITIES extends DomainEntity<string>, ALLOWED_ROO
13
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>> = {
14
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;
15
13
  };
16
- type ConflictingInvariants<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>, EXPECTED extends Partial<Record<ENTITIES['type'], ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, string>>>>, IMPLEMENTED extends Partial<Record<ENTITIES['type'], ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, string>>>>> = OmitNever<{
17
- [K in keyof EXPECTED]: EXPECTED[K] extends [never] ? never : K extends keyof IMPLEMENTED ? ViolationTypeOfInvariants<EXPECTED[K]> extends ViolationTypeOfInvariants<IMPLEMENTED[K]> ? ViolationTypeOfInvariants<IMPLEMENTED[K]> extends ViolationTypeOfInvariants<EXPECTED[K]> ? never : {
18
- missing: Exclude<ViolationTypeOfInvariants<EXPECTED[K]>, ViolationTypeOfInvariants<IMPLEMENTED[K]>>;
19
- extra: Exclude<ViolationTypeOfInvariants<IMPLEMENTED[K]>, ViolationTypeOfInvariants<EXPECTED[K]>>;
20
- } : {
21
- missing: Exclude<ViolationTypeOfInvariants<EXPECTED[K]>, ViolationTypeOfInvariants<IMPLEMENTED[K]>>;
22
- extra: Exclude<ViolationTypeOfInvariants<IMPLEMENTED[K]>, ViolationTypeOfInvariants<EXPECTED[K]>>;
23
- } : {
24
- missing: ViolationTypeOfInvariants<EXPECTED[K]>;
25
- extra: never;
26
- };
27
- }>;
28
- type ViolationOfInvariants<INVARIANTS> = INVARIANTS extends ReadonlyArray<infer INVARIANT> ? INVARIANT : never;
29
- type ViolationTypeOfInvariants<INVARIANTS> = ViolationOfInvariants<INVARIANTS> extends Invariant<any, any, any, any, any, any, infer VIOLATION_TYPE> ? VIOLATION_TYPE : never;
30
- type ExpandAndMergeInvariants<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 Readonly<Record<string, ENTITIES>>, EXPANDED extends Partial<Record<ENTITIES['type'], ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, string>>>>, ALIASED extends Partial<Record<TypeOrAlias<ENTITIES, ALIASES>, ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, string>>>>> = {
31
- [K in keyof EXPANDED | ExpandAlias<ENTITIES, ALIASES, keyof ALIASED & string>['type']]: K extends ENTITIES['type'] ? ExtractFromAliasedRecord<ENTITIES, ALIASES, ALIASED, EventualAlias<ENTITIES, ALIASES, K> | K> extends infer INVARIANTS_FROM_ALIAS ? [
32
- INVARIANTS_FROM_ALIAS
33
- ] extends [never] ? K extends keyof EXPANDED ? EXPANDED[K] : never : K extends keyof EXPANDED ? ReadonlyArray<ViolationOfInvariants<EXPANDED[K]> | ViolationOfInvariants<INVARIANTS_FROM_ALIAS>> : ReadonlyArray<ViolationOfInvariants<INVARIANTS_FROM_ALIAS>> : never : never;
34
- };
35
- type ExpressionsFromInvariants<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>, INVARIANTS extends Partial<Record<ENTITIES['type'], ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, string>>>>> = {
36
- [K in keyof INVARIANTS & ENTITIES['type']]: {
37
- $violations: AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, EntityByType<ENTITIES, K>, ReadonlyArray<Violation<INVARIANTS[K] extends ReadonlyArray<infer ELEMENT> ? ELEMENT extends Invariant<any, any, any, any, any, any, infer VIOLATION_TYPE> ? VIOLATION_TYPE : never : never>>>;
38
- };
39
- };
40
- type BuildViolationExpressions<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>, INVARIANTS extends Partial<Record<ENTITIES['type'], ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, string>>>>> = Record<never, never> extends ConflictingInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, DeclaredInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>, INVARIANTS> ? () => ExpressionsFromInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, INVARIANTS> : never;
41
- type AnyInvariant = Invariant<any, any, any, any, any, any, string>;
42
- /** Validates the `src/invariants/` files and concatenates their invariants per entity type or alias. */
43
- export declare const resolveInvariantModules: (modules: readonly ProjectModule[]) => Readonly<Record<string, readonly AnyInvariant[]>>;
44
- export declare class InvariantBuilder<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>, INVARIANTS extends Partial<Record<ENTITIES['type'], ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, string>>>> = Record<never, never>> {
45
- private readonly aliasMap;
46
- private readonly invariants;
47
- constructor(aliasMap: AliasMap<ALIASES>, invariants?: INVARIANTS);
48
- /**
49
- * Adds the invariants of the `src/invariants/` files, as the generated barrel lists them, after
50
- * checking each file against the folder's contract.
51
- */
52
- withInvariantModules(modules: readonly ProjectModule[]): InvariantBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, ExpandAndMergeInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, INVARIANTS, AliasedInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, string>>>;
53
- withInvariants<ALIASED_INVARIANTS extends AliasedInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, string>>(aliasedInvariants: ALIASED_INVARIANTS): InvariantBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, ExpandAndMergeInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, INVARIANTS, ALIASED_INVARIANTS>>;
54
- /**
55
- * DO NOT USE in runtime!
56
- *
57
- * This is just a dev-time to review conflicts in declared and actually reportable violations.
58
- * Use your IDEs code-completion to see which entities have conflicts and which violations are the conflicting ones.
59
- *
60
- * Use the helper when you see the following error on the `.buildViolationExpressions()` method call:
61
- * ```
62
- * TS2349: This expression is not callable.
63
- * Type never has no call signatures.
64
- * ```
65
- * simply
66
- * ```ts
67
- * const violationExpressions = invariantBuilder
68
- * .withInvariants(createBuiltinInvariants(domainComponentReader))
69
- * .withInvariants(kitchenRangeInvariants)
70
- * ._conflicts.Oven. // <- trigger code-completion here
71
- * ```
72
- */
73
- _conflicts: ConflictingInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, DeclaredInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>, INVARIANTS>;
74
- buildViolationExpressions: BuildViolationExpressions<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, INVARIANTS>;
75
- }
76
- export {};
@@ -1 +1 @@
1
- import{SHARED_FOLDER_HINT as t,createContractError as e,isRecord as a}from"../../project-modules/index.js";import{expandAlias as i}from"../model/index.js";let r={expected:"an object of invariant lists keyed by entity type or alias",fix:`Create it with phx.domain.implementCustomInvariants({ ... }) (phx.domain.admin.implementCustomInvariants({ ... }) under src/admin/), ${t}.`},n=t=>a(t)&&"function"==typeof t.evaluate,s=t=>a(t)&&Object.values(t).every(t=>Array.isArray(t)&&t.every(n));export const resolveInvariantModules=t=>{let a={};for(let i of t){if(!s(i.exports))throw e(i.origin,r,i.exports);for(let[t,e]of Object.entries(i.exports))a[t]=[...a[t]??[],...e]}return a};export class InvariantBuilder{aliasMap;invariants;constructor(t,e={}){this.aliasMap=t,this.invariants=e}withInvariantModules(t){return this.withInvariants(resolveInvariantModules(t))}withInvariants(t){let e={...this.invariants};return Object.entries(t).forEach(([t,a])=>{i(this.aliasMap,t).forEach(t=>{e[t]=[...e[t]??[],...a]})}),new InvariantBuilder(this.aliasMap,e)}_conflicts={};buildViolationExpressions=()=>{let t={};return Object.entries(this.invariants).forEach(([e,a])=>{t[e]={$violations:{evaluate:(t,e,i)=>a.flatMap(a=>a.evaluate(t,e,i)),meta:{}}}}),t}}
1
+ export{};
@@ -1,6 +1,6 @@
1
1
  import type { I18n } from '@lingui/core';
2
2
  import type { Localizable } from '@salsita-ai/common/utils';
3
- import type { StateEmission } from '../../domain-context/store-system/store-system.js';
3
+ import type { StateEmission } from '../emission/index.js';
4
4
  import type { $DomainEntity, DomainEntity, EntityId } from '../model/index.js';
5
5
  /**
6
6
  * An **ORDERED** list of violation severities.
@@ -0,0 +1 @@
1
+ export * from './recipes.js';
@@ -0,0 +1 @@
1
+ export*from"./recipes.js";