@salsita-ai/sdk 0.50.0-develop.68d6fe1d1b → 0.50.0-develop.6d8967bc99

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 (569) hide show
  1. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  2. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  3. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  4. package/dist/application-spec/generate-application/code/common/project-module-list.d.ts +8 -0
  5. package/dist/application-spec/generate-application/code/common/project-module-list.js +3 -0
  6. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  7. package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
  8. package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
  9. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
  10. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
  11. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +1 -2
  12. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -16
  13. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
  14. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
  15. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
  16. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
  17. package/dist/application-spec/generate-application/code/templates/domain-spec.js +4 -4
  18. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  19. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +41 -13
  20. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +1 -1
  21. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  22. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +18 -1
  23. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +17 -3
  24. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +8 -4
  25. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
  26. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
  27. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +3 -8
  28. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
  29. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +9 -43
  30. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  31. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
  32. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -21
  33. package/dist/client/phoenix-api.d.ts +58 -30
  34. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +15 -3
  35. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  36. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  37. package/dist/configurator/ui/assistant/tool-chip.d.ts +8 -1
  38. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  39. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +84 -98
  40. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
  41. package/dist/docs/index.json +1 -1
  42. package/dist/docs/layouts/custom-price.mdx +14 -16
  43. package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
  44. package/dist/docs/other-features/domain-actions.mdx +1 -1
  45. package/dist/docs/other-features/side-effects.mdx +42 -34
  46. package/dist/docs/other-features/transformers.mdx +1 -1
  47. package/dist/docs/phoenix/admin.mdx +9 -24
  48. package/dist/docs/phoenix/localization.mdx +3 -22
  49. package/dist/docs/phoenix/phoenix-cli.mdx +1 -1
  50. package/dist/docs/phoenix/project-structure.mdx +6 -0
  51. package/dist/docs/phoenix/sdk-builder-workflow.mdx +4 -3
  52. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
  53. package/dist/docs/relations/hierarchy.mdx +13 -2
  54. package/dist/domain/actions/action-factory.d.ts +4 -4
  55. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  56. package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
  57. package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
  58. package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
  59. package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
  60. package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
  61. package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
  62. package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
  63. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +1 -4
  64. package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
  65. package/dist/domain/admin-domain/index.d.ts +2 -3
  66. package/dist/domain/admin-domain/index.js +1 -1
  67. package/dist/domain/application/admin-page-factories.d.ts +1 -1
  68. package/dist/domain/application/application-config.d.ts +25 -75
  69. package/dist/domain/application/assistant/assistant-manifest.d.ts +61 -0
  70. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +95 -0
  71. package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
  72. package/dist/domain/application/assistant/assistant-value-type.js +1 -0
  73. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
  74. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
  75. package/dist/{phoenix/application-spec → domain/application/assistant}/generate-assistant-prompt.d.ts +3 -3
  76. package/dist/{phoenix/application-spec → domain/application/assistant}/generate-assistant-prompt.js +1 -1
  77. package/dist/domain/application/assistant/index.d.ts +4 -0
  78. package/dist/domain/application/assistant/index.js +1 -0
  79. package/dist/domain/application/assistant-field-options.d.ts +2 -3
  80. package/dist/domain/application/assistant-mutations.d.ts +2 -5
  81. package/dist/domain/application/assistant-mutations.js +1 -1
  82. package/dist/domain/application/assistant-recipe-groups.d.ts +2 -6
  83. package/dist/domain/application/configurator-builder.d.ts +33 -18
  84. package/dist/domain/application/configurator-builder.js +1 -1
  85. package/dist/domain/application/element-registration.d.ts +5 -0
  86. package/dist/domain/application/element-registration.js +1 -1
  87. package/dist/domain/application/handler-registration.d.ts +5 -0
  88. package/dist/domain/application/handler-registration.js +1 -1
  89. package/dist/domain/application/index.d.ts +5 -4
  90. package/dist/domain/application/index.js +1 -1
  91. package/dist/domain/application/published-data/create-finalize-admin-domain.d.ts +1 -2
  92. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +1 -1
  93. package/dist/domain/application/published-data/map-published-data.d.ts +1 -2
  94. package/dist/domain/application/resolve-imported-transformers.d.ts +12 -2
  95. package/dist/domain/application/resolve-imported-transformers.js +1 -1
  96. package/dist/domain/available-system-components.js +1 -1
  97. package/dist/domain/core/action.d.ts +5 -6
  98. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -2
  99. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  100. package/dist/domain/core/component/debug-state-component.js +1 -0
  101. package/dist/domain/{components → core/component}/domain-component-optic.d.ts +6 -6
  102. package/dist/domain/core/component/domain-component-optic.js +16 -0
  103. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  104. package/dist/domain/core/component/drag-state-component.js +1 -0
  105. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  106. package/dist/domain/core/component/export-state-component.js +1 -0
  107. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  108. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  109. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -2
  110. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  111. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  112. package/dist/domain/core/component/hover-state-component.js +1 -0
  113. package/dist/domain/core/component/index.d.ts +18 -0
  114. package/dist/domain/core/component/index.js +1 -0
  115. package/dist/domain/{components → core/component}/legacy-filter.d.ts +2 -2
  116. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  117. package/dist/domain/core/component/navigation-state-component.js +1 -0
  118. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  119. package/dist/domain/core/component/selection-state-component.js +1 -0
  120. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -2
  121. package/dist/domain/core/component/system-component-builder.js +1 -0
  122. package/dist/domain/{components → core/component}/system-component-filter.d.ts +3 -3
  123. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  124. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  125. package/dist/domain/core/component/tool-state-component.js +1 -0
  126. package/dist/domain/{components → core/component}/updates.d.ts +1 -2
  127. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  128. package/dist/domain/core/component/view-state-component.js +1 -0
  129. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  130. package/dist/domain/core/component/viewport-state-component.js +1 -0
  131. package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
  132. package/dist/domain/core/decoder/create-decoder.js +1 -0
  133. package/dist/domain/core/decoder/decoder.d.ts +6 -0
  134. package/dist/domain/core/decoder/index.d.ts +2 -0
  135. package/dist/domain/core/decoder/index.js +1 -0
  136. package/dist/domain/core/domain-factory.d.ts +3 -4
  137. package/dist/domain/core/domain-factory.js +1 -1
  138. package/dist/domain/core/domain.d.ts +3 -4
  139. package/dist/domain/core/domain.js +1 -1
  140. package/dist/domain/{expressions → core/expression}/constant-expressions.d.ts +2 -3
  141. package/dist/domain/core/expression/constant-expressions.js +1 -0
  142. package/dist/domain/{expressions → core/expression}/custom-expression.d.ts +4 -5
  143. package/dist/domain/core/expression/custom-expression.js +1 -0
  144. package/dist/domain/core/{expression.d.ts → expression/expression.d.ts} +6 -8
  145. package/dist/domain/core/expression/expression.js +1 -0
  146. package/dist/domain/core/expression/index.d.ts +5 -0
  147. package/dist/domain/core/expression/index.js +1 -0
  148. package/dist/domain/{expressions → core/expression}/memoize-expression.d.ts +2 -2
  149. package/dist/domain/{expressions → core/expression}/prepare-domain-expressions.d.ts +1 -1
  150. package/dist/domain/core/index.d.ts +9 -17
  151. package/dist/domain/core/index.js +1 -1
  152. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -2
  153. package/dist/domain/{invariants → core/invariant}/custom-invariants.d.ts +2 -3
  154. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  155. package/dist/domain/core/invariant/index.d.ts +5 -0
  156. package/dist/domain/core/invariant/index.js +1 -0
  157. package/dist/domain/{invariants → core/invariant}/invariants.d.ts +12 -4
  158. package/dist/domain/core/invariant/invariants.js +1 -0
  159. package/dist/domain/core/invariant/violation-component.js +1 -0
  160. package/dist/domain/{invariants → core/invariant}/violation.d.ts +2 -2
  161. package/dist/domain/core/{component.d.ts → model/component.d.ts} +1 -1
  162. package/dist/domain/core/model/index.d.ts +6 -0
  163. package/dist/domain/core/model/index.js +1 -0
  164. package/dist/domain/core/{reflection.d.ts → model/reflection.d.ts} +1 -1
  165. package/dist/domain/core/model/reflection.js +1 -0
  166. package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
  167. package/dist/domain/core/schema/extended-schema-validator.js +1 -0
  168. package/dist/domain/core/schema/index.d.ts +3 -0
  169. package/dist/domain/core/schema/index.js +1 -0
  170. package/dist/domain/core/schema/schema-validator.js +1 -0
  171. package/dist/domain/core/state/id-sequence.d.ts +15 -0
  172. package/dist/domain/core/state/id-sequence.js +1 -0
  173. package/dist/domain/core/state/index.d.ts +3 -0
  174. package/dist/domain/core/state/index.js +1 -0
  175. package/dist/domain/core/{migrations.d.ts → state/migrations.d.ts} +1 -2
  176. package/dist/domain/core/{state.d.ts → state/state.d.ts} +1 -2
  177. package/dist/domain/domain-builder.d.ts +11 -8
  178. package/dist/domain/domain-builder.js +1 -1
  179. package/dist/domain/domain-context/action-system/action-system.d.ts +1 -3
  180. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  181. package/dist/domain/domain-context/create-transformer.d.ts +1 -1
  182. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  183. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +1 -2
  184. package/dist/domain/domain-context/domain-context-systems.d.ts +1 -3
  185. package/dist/domain/domain-context/index.d.ts +1 -1
  186. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +3 -5
  187. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  188. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  189. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  190. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +1 -1
  191. package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
  192. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +1 -2
  193. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  194. package/dist/domain/domain-context/recipe-system/recipes.d.ts +1 -3
  195. package/dist/domain/domain-context/recipe-system/recipes.js +1 -1
  196. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +1 -1
  197. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  198. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +1 -1
  199. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  200. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +1 -1
  201. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  202. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +1 -1
  203. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  204. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -3
  205. package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
  206. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -13
  207. package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
  208. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  209. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  210. package/dist/domain/domain-context/store-system/store-system.d.ts +1 -5
  211. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  212. package/dist/domain/domain-context/store-system/system-state.d.ts +1 -3
  213. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  214. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  215. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  216. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +1 -3
  217. package/dist/domain/domain-context/transformers/chain-builder.d.ts +2 -2
  218. package/dist/domain/domain-context/transformers/context.d.ts +1 -5
  219. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  220. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  221. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  222. package/dist/domain/domain-context/transformers/then-builder.js +1 -1
  223. package/dist/domain/domain-context/transformers/when-builder.d.ts +1 -6
  224. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  225. package/dist/domain/domain-context/undo-system.d.ts +1 -1
  226. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -4
  227. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  228. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +1 -3
  229. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  230. package/dist/domain/domain-runtime/domain-runtime.d.ts +4 -4
  231. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  232. package/dist/domain/domain-runtime/spec/selectors.d.ts +2 -2
  233. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  234. package/dist/domain/domain-runtime/spec/types.d.ts +4 -5
  235. package/dist/domain/index.d.ts +1 -25
  236. package/dist/domain/index.js +1 -1
  237. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +3 -3
  238. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  239. package/dist/domain/project-modules/index.d.ts +1 -0
  240. package/dist/domain/project-modules/index.js +1 -0
  241. package/dist/domain/project-modules/project-modules.d.ts +41 -0
  242. package/dist/domain/project-modules/project-modules.js +1 -0
  243. package/dist/domain/projections/blender-projections/blender-projections.d.ts +1 -1
  244. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  245. package/dist/domain/projections/composition-projections.js +1 -1
  246. package/dist/domain/projections/projected-entities-projections.d.ts +1 -2
  247. package/dist/domain/projections/snap-matching.d.ts +1 -2
  248. package/dist/domain/projections/snap-utils.d.ts +1 -2
  249. package/dist/domain/projections/validation-projections.d.ts +1 -2
  250. package/dist/domain/projections/validation-projections.js +1 -1
  251. package/dist/domain/relations/all-of-type-relation.d.ts +1 -4
  252. package/dist/domain/relations/all-of-type-relation.js +1 -1
  253. package/dist/domain/relations/component-factories.d.ts +1 -2
  254. package/dist/domain/relations/composed-of.d.ts +1 -1
  255. package/dist/domain/relations/composed-of.js +1 -1
  256. package/dist/domain/relations/direct-relation.d.ts +1 -3
  257. package/dist/domain/relations/indirect-relation.d.ts +1 -4
  258. package/dist/domain/relations/indirect-relation.js +1 -1
  259. package/dist/domain/relations/reference-component.d.ts +3 -5
  260. package/dist/domain/relations/reference-component.js +1 -1
  261. package/dist/domain/relations/reference-field.d.ts +1 -1
  262. package/dist/domain/relations/relation-factory.d.ts +1 -3
  263. package/dist/domain/relations/relation-implementation.d.ts +1 -4
  264. package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
  265. package/dist/domain/system-components/admin-sidebar.js +1 -1
  266. package/dist/domain/system-components/angle-dimension.js +1 -1
  267. package/dist/domain/system-components/angle-indicator.d.ts +1 -1
  268. package/dist/domain/system-components/angle-indicator.js +1 -1
  269. package/dist/domain/system-components/application-config.d.ts +1 -1
  270. package/dist/domain/system-components/application-config.js +1 -1
  271. package/dist/domain/system-components/attribute-selection.js +1 -1
  272. package/dist/domain/system-components/attribute-switch.js +1 -1
  273. package/dist/domain/system-components/autorotate-camera-component.d.ts +1 -1
  274. package/dist/domain/system-components/autorotate-camera-component.js +1 -1
  275. package/dist/domain/system-components/basic-sidebar-footer.d.ts +1 -1
  276. package/dist/domain/system-components/basic-sidebar-footer.js +1 -1
  277. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  278. package/dist/domain/system-components/bounding-box-component.js +1 -1
  279. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  280. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  281. package/dist/domain/system-components/camera-based-hidden-entity-object.js +1 -1
  282. package/dist/domain/system-components/camera-based-hidden-entity.js +1 -1
  283. package/dist/domain/system-components/canvas-config.d.ts +1 -1
  284. package/dist/domain/system-components/canvas-config.js +1 -1
  285. package/dist/domain/system-components/canvas-custom-environment.js +1 -1
  286. package/dist/domain/system-components/canvas-padding.d.ts +1 -1
  287. package/dist/domain/system-components/canvas-padding.js +1 -1
  288. package/dist/domain/system-components/canvas-preset-environment.d.ts +1 -1
  289. package/dist/domain/system-components/canvas-preset-environment.js +1 -1
  290. package/dist/domain/system-components/child-entity-recipe-hierarchy.d.ts +1 -1
  291. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +1 -1
  292. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  293. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  294. package/dist/domain/system-components/child-entity-selection.d.ts +1 -1
  295. package/dist/domain/system-components/child-entity-selection.js +1 -1
  296. package/dist/domain/system-components/client-side-image.js +1 -1
  297. package/dist/domain/system-components/collision-box-geometry.d.ts +1 -1
  298. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  299. package/dist/domain/system-components/collision-geometries.d.ts +1 -1
  300. package/dist/domain/system-components/collision-geometry.d.ts +1 -1
  301. package/dist/domain/system-components/collision-geometry.js +1 -1
  302. package/dist/domain/system-components/collision-point-geometry.d.ts +1 -1
  303. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  304. package/dist/domain/system-components/color-value.js +1 -1
  305. package/dist/domain/system-components/common/dimension-indicator-schema.d.ts +1 -1
  306. package/dist/domain/system-components/common/dimension-indicator-schema.js +1 -1
  307. package/dist/domain/system-components/constraint.d.ts +1 -1
  308. package/dist/domain/system-components/constraint.js +1 -1
  309. package/dist/domain/system-components/create-blueprint.d.ts +1 -1
  310. package/dist/domain/system-components/custom-header.d.ts +1 -1
  311. package/dist/domain/system-components/custom-header.js +1 -1
  312. package/dist/domain/system-components/custom-price-footer.js +1 -1
  313. package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
  314. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  315. package/dist/domain/system-components/custom-sidebar-footer.d.ts +1 -1
  316. package/dist/domain/system-components/custom-sidebar-footer.js +1 -1
  317. package/dist/domain/system-components/detail.js +1 -1
  318. package/dist/domain/system-components/dimension-indicator.d.ts +1 -1
  319. package/dist/domain/system-components/dimension-indicator.js +1 -1
  320. package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
  321. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  322. package/dist/domain/system-components/distance-dimension.d.ts +1 -1
  323. package/dist/domain/system-components/distance-dimension.js +1 -1
  324. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  325. package/dist/domain/system-components/drag-handle.js +1 -1
  326. package/dist/domain/system-components/editable-angle-indicator.d.ts +1 -1
  327. package/dist/domain/system-components/editable-angle-indicator.js +1 -1
  328. package/dist/domain/system-components/editable-distance-dimension-indicator.d.ts +1 -1
  329. package/dist/domain/system-components/editable-distance-dimension-indicator.js +1 -1
  330. package/dist/domain/system-components/editable-offset-indicator.d.ts +1 -1
  331. package/dist/domain/system-components/editable-offset-indicator.js +1 -1
  332. package/dist/domain/system-components/editable-size-indicator.d.ts +1 -1
  333. package/dist/domain/system-components/editable-size-indicator.js +1 -1
  334. package/dist/domain/system-components/entity-header.js +1 -1
  335. package/dist/domain/system-components/exit-tool-mode-fab.d.ts +1 -1
  336. package/dist/domain/system-components/exit-tool-mode-fab.js +1 -1
  337. package/dist/domain/system-components/finalize-action.d.ts +1 -1
  338. package/dist/domain/system-components/finalize-action.js +1 -1
  339. package/dist/domain/system-components/finalize-component.js +1 -1
  340. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  341. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  342. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  343. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  344. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +1 -1
  345. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +1 -1
  346. package/dist/domain/system-components/fixed-header.d.ts +1 -1
  347. package/dist/domain/system-components/fixed-header.js +1 -1
  348. package/dist/domain/system-components/floating-header.d.ts +1 -1
  349. package/dist/domain/system-components/floating-header.js +1 -1
  350. package/dist/domain/system-components/generic-dimension.d.ts +1 -1
  351. package/dist/domain/system-components/generic-dimension.js +1 -1
  352. package/dist/domain/system-components/hidden-entity.js +1 -1
  353. package/dist/domain/system-components/hidden-header.d.ts +1 -1
  354. package/dist/domain/system-components/hidden-header.js +1 -1
  355. package/dist/domain/system-components/hidden-sidebar-footer.d.ts +1 -1
  356. package/dist/domain/system-components/hidden-sidebar-footer.js +1 -1
  357. package/dist/domain/system-components/horizontal-tabs.d.ts +1 -1
  358. package/dist/domain/system-components/horizontal-tabs.js +1 -1
  359. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -2
  360. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  361. package/dist/domain/system-components/list-selector-dimension-indicator.d.ts +1 -1
  362. package/dist/domain/system-components/list-selector-dimension-indicator.js +1 -1
  363. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  364. package/dist/domain/system-components/material-override-transformer.js +1 -1
  365. package/dist/domain/system-components/material-swatch.js +1 -1
  366. package/dist/domain/system-components/multilingual-text-value.js +1 -1
  367. package/dist/domain/system-components/navigation-page.js +1 -1
  368. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  369. package/dist/domain/system-components/navigation-steps.js +1 -1
  370. package/dist/domain/system-components/offset-anchors.d.ts +1 -1
  371. package/dist/domain/system-components/offset-anchors.js +1 -1
  372. package/dist/domain/system-components/offset-indicator.d.ts +1 -2
  373. package/dist/domain/system-components/offset-indicator.js +1 -1
  374. package/dist/domain/system-components/offset.d.ts +1 -1
  375. package/dist/domain/system-components/offset.js +1 -1
  376. package/dist/domain/system-components/other-action.d.ts +1 -1
  377. package/dist/domain/system-components/other-action.js +1 -1
  378. package/dist/domain/system-components/pivot-point.d.ts +1 -1
  379. package/dist/domain/system-components/pivot-point.js +1 -1
  380. package/dist/domain/system-components/price.js +1 -1
  381. package/dist/domain/system-components/projected-entities.d.ts +1 -1
  382. package/dist/domain/system-components/projected-entities.js +1 -1
  383. package/dist/domain/system-components/property-page.d.ts +1 -1
  384. package/dist/domain/system-components/property-page.js +1 -1
  385. package/dist/domain/system-components/read-sidebar-footer.d.ts +1 -1
  386. package/dist/domain/system-components/read-sidebar-footer.js +1 -1
  387. package/dist/domain/system-components/replace-entity-recipe-hierarchy.d.ts +1 -1
  388. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +1 -1
  389. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  390. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  391. package/dist/domain/system-components/rotatable.js +1 -1
  392. package/dist/domain/system-components/rotation-handle.js +1 -1
  393. package/dist/domain/system-components/save-template-thumbnail.js +1 -1
  394. package/dist/domain/system-components/scene-entity-add-fab.js +1 -1
  395. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  396. package/dist/domain/system-components/scene-entity-animation.js +1 -1
  397. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  398. package/dist/domain/system-components/scene-entity-control.js +1 -1
  399. package/dist/domain/system-components/scene-entity-delete-fab.js +1 -1
  400. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  401. package/dist/domain/system-components/scene-entity-floor-object.js +1 -1
  402. package/dist/domain/system-components/scene-entity-html-hotspot.js +1 -1
  403. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  404. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  405. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +1 -1
  406. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  407. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  408. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  409. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +1 -1
  410. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  411. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  412. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  413. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  414. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  415. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  416. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  417. package/dist/domain/system-components/scene-entity-object.js +1 -1
  418. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  419. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  420. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  421. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  422. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  423. package/dist/domain/system-components/scene-entity-select-hotspot.js +1 -1
  424. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  425. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  426. package/dist/domain/system-components/scene-entity-wall-object.js +1 -1
  427. package/dist/domain/system-components/selectable-component.js +1 -1
  428. package/dist/domain/system-components/sidebar-tabs.d.ts +1 -1
  429. package/dist/domain/system-components/sidebar-tabs.js +1 -1
  430. package/dist/domain/system-components/simple-summary.js +1 -1
  431. package/dist/domain/system-components/size.d.ts +1 -1
  432. package/dist/domain/system-components/size.js +1 -1
  433. package/dist/domain/system-components/sketching-draw.d.ts +1 -1
  434. package/dist/domain/system-components/sketching-draw.js +1 -1
  435. package/dist/domain/system-components/sketching-edit.d.ts +1 -1
  436. package/dist/domain/system-components/sketching-edit.js +1 -1
  437. package/dist/domain/system-components/sketching-line.d.ts +1 -1
  438. package/dist/domain/system-components/sketching-line.js +1 -1
  439. package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
  440. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  441. package/dist/domain/system-components/sketching.d.ts +1 -1
  442. package/dist/domain/system-components/sketching.js +1 -1
  443. package/dist/domain/system-components/snap-axis.d.ts +1 -1
  444. package/dist/domain/system-components/snap-axis.js +1 -1
  445. package/dist/domain/system-components/snap-edge.d.ts +1 -1
  446. package/dist/domain/system-components/snap-edge.js +1 -1
  447. package/dist/domain/system-components/snap-plane.d.ts +1 -1
  448. package/dist/domain/system-components/snap-plane.js +1 -1
  449. package/dist/domain/system-components/snap-point.d.ts +1 -1
  450. package/dist/domain/system-components/snap-point.js +1 -1
  451. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  452. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  453. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  454. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  455. package/dist/domain/system-components/summary-component.js +1 -1
  456. package/dist/domain/system-components/text-value.js +1 -1
  457. package/dist/domain/system-components/tool-controls.js +1 -1
  458. package/dist/domain/system-components/tool-menu-fab.d.ts +1 -1
  459. package/dist/domain/system-components/tool-menu-fab.js +1 -1
  460. package/dist/domain/system-components/toolbar.d.ts +1 -1
  461. package/dist/domain/system-components/toolbar.js +1 -1
  462. package/dist/domain/system-components/universal-sidebar-footer.d.ts +1 -1
  463. package/dist/domain/system-components/universal-sidebar-footer.js +1 -1
  464. package/dist/domain/system-components/view-controls.js +1 -1
  465. package/dist/domain/utils/eval-cache.d.ts +1 -2
  466. package/dist/domain/utils/memo-eval.d.ts +1 -3
  467. package/dist/editor/domain-editors/use-implementation-files.d.ts +7 -6
  468. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  469. package/dist/i18n/locales/cs/messages.js +1 -1
  470. package/dist/i18n/locales/da/messages.js +1 -1
  471. package/dist/i18n/locales/de/messages.js +1 -1
  472. package/dist/i18n/locales/de-AT/messages.js +1 -1
  473. package/dist/i18n/locales/en/messages.js +1 -1
  474. package/dist/i18n/locales/en-AU/messages.js +1 -1
  475. package/dist/i18n/locales/en-GB/messages.js +1 -1
  476. package/dist/i18n/locales/es/messages.js +1 -1
  477. package/dist/i18n/locales/fr/messages.js +1 -1
  478. package/dist/i18n/locales/hu/messages.js +1 -1
  479. package/dist/i18n/locales/it/messages.js +1 -1
  480. package/dist/i18n/locales/nl/messages.js +1 -1
  481. package/dist/i18n/locales/pl/messages.js +1 -1
  482. package/dist/i18n/locales/pt/messages.js +1 -1
  483. package/dist/i18n/locales/ro/messages.js +1 -1
  484. package/dist/i18n/locales/sk/messages.js +1 -1
  485. package/dist/i18n/locales/tr/messages.js +1 -1
  486. package/dist/legacy/domain-cli/gen/configurator-builder.js +21 -8
  487. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  488. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  489. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -19
  490. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +15 -16
  491. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +22 -23
  492. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +15 -16
  493. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
  494. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
  495. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
  496. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
  497. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
  498. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
  499. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  500. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  501. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  502. package/dist/phoenix/scripts/build-admin.js +1 -1
  503. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  504. package/dist/phoenix/services/variant-file-session.js +1 -1
  505. package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
  506. package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
  507. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
  508. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  509. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +4 -4
  510. package/dist/webhook/builders/common.d.ts +3 -0
  511. package/dist/webhook/builders/webhook-builder.d.ts +1 -1
  512. package/dist/webhook/builders/webhook-builder.js +1 -1
  513. package/package.json +3 -3
  514. package/dist/domain/components/debug-state-component.js +0 -1
  515. package/dist/domain/components/domain-component-optic.js +0 -16
  516. package/dist/domain/components/drag-state-component.js +0 -1
  517. package/dist/domain/components/export-state-component.js +0 -1
  518. package/dist/domain/components/fullscreen-state-component.js +0 -1
  519. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  520. package/dist/domain/components/hover-state-component.js +0 -1
  521. package/dist/domain/components/index.d.ts +0 -2
  522. package/dist/domain/components/index.js +0 -1
  523. package/dist/domain/components/navigation-state-component.js +0 -1
  524. package/dist/domain/components/selection-state-component.js +0 -1
  525. package/dist/domain/components/system-component-builder.js +0 -1
  526. package/dist/domain/components/system-virtual-entity.js +0 -1
  527. package/dist/domain/components/tool-state-component.js +0 -1
  528. package/dist/domain/components/view-state-component.js +0 -1
  529. package/dist/domain/components/viewport-state-component.js +0 -1
  530. package/dist/domain/core/json-schema.js +0 -1
  531. package/dist/domain/core/reflection.js +0 -1
  532. package/dist/domain/expressions/constant-expressions.js +0 -1
  533. package/dist/domain/expressions/custom-expression.js +0 -1
  534. package/dist/domain/expressions/index.d.ts +0 -1
  535. package/dist/domain/expressions/index.js +0 -1
  536. package/dist/domain/invariants/custom-invariants.js +0 -1
  537. package/dist/domain/invariants/invariants.js +0 -1
  538. package/dist/domain/invariants/violation-component.js +0 -1
  539. /package/dist/domain/{components/component-reader-types.js → application/assistant/assistant-manifest.js} +0 -0
  540. /package/dist/domain/{core/enhanced-json-schema.js → application/assistant/assistant-resolved-manifest.js} +0 -0
  541. /package/dist/domain/core/{expression.js → component/component-reader-types.js} +0 -0
  542. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  543. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  544. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  545. /package/dist/domain/{components → core/component}/updates.js +0 -0
  546. /package/dist/domain/core/{schema-validator.js → decoder/decoder.js} +0 -0
  547. /package/dist/domain/{expressions → core/expression}/memoize-expression.js +0 -0
  548. /package/dist/domain/{expressions → core/expression}/prepare-domain-expressions.js +0 -0
  549. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  550. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  551. /package/dist/domain/{invariants → core/invariant}/violation.js +0 -0
  552. /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
  553. /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
  554. /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
  555. /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
  556. /package/dist/domain/core/{component.js → model/component.js} +0 -0
  557. /package/dist/domain/core/{model.d.ts → model/model.d.ts} +0 -0
  558. /package/dist/domain/core/{model.js → model/model.js} +0 -0
  559. /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
  560. /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
  561. /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
  562. /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
  563. /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
  564. /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
  565. /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
  566. /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
  567. /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
  568. /package/dist/domain/core/{migrations.js → state/migrations.js} +0 -0
  569. /package/dist/domain/core/{state.js → state/state.js} +0 -0
@@ -0,0 +1 @@
1
+ import{isSnapshotInstance as t}from"../model/index.js";import{SystemComponentBuilder as e}from"./system-component-builder.js";import{systemVirtualEntityId as o}from"./system-virtual-entity.js";export const dragStateComponent=e.component("dragState").withState({type:"object",properties:{draggedEntityId:{oneOf:[{type:"string"},{type:"null"}]}},required:["draggedEntityId"],additionalProperties:!1,tsType:"DragStateComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"DragStateComponentState"}]}).withWritableKeys(["draggedEntityId"]).build();export const isDragStateComponentSnapshot=e=>t(e,"singleton",dragStateComponent);export const isSystemDragStateComponentSnapshot=t(o,"singleton",dragStateComponent);
@@ -1,4 +1,4 @@
1
- import type { DomainEntityId, EntityId } from '../core/model.js';
1
+ import { type DomainEntityId, type EntityId } from '../model/index.js';
2
2
  export type ExportStateComponentState = {
3
3
  readonly activeState: string;
4
4
  readonly exportedEntityId: DomainEntityId<string>;
@@ -0,0 +1 @@
1
+ import{isSnapshotInstance as t}from"../model/index.js";import{SystemComponentBuilder as e}from"./system-component-builder.js";import{systemVirtualEntityId as o}from"./system-virtual-entity.js";export const exportStateComponent=e.component("exportState").withState({type:"object",properties:{activeState:{type:"string"},exportedEntityId:{oneOf:[{type:"string"},{type:"null"}]}},required:["activeState","exportedEntityId"],additionalProperties:!1}).withWritableKeys(["activeState","exportedEntityId"]).build();export const isExportStateComponentSnapshot=e=>t(e,"singleton",exportStateComponent);export const isSystemExportStateComponentSnapshot=t(o,"singleton",exportStateComponent);
@@ -1,4 +1,4 @@
1
- import type { EntityId } from '../core/index.js';
1
+ import type { EntityId } from '../model/index.js';
2
2
  export type FullscreenStateComponentState = {
3
3
  readonly enabled: boolean;
4
4
  };
@@ -0,0 +1 @@
1
+ import{isSnapshotInstance as e}from"../model/index.js";import{SystemComponentBuilder as t}from"./system-component-builder.js";import{systemVirtualEntityId as o}from"./system-virtual-entity.js";export const fullscreenStateComponent=t.component("fullscreenState").withState({type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"],additionalProperties:!1}).withWritableKeys(["enabled"]).build();export const isFullscreenStateComponentSnapshot=t=>e(t,"singleton",fullscreenStateComponent);export const isSystemFullscreenStateComponentSnapshot=e(o,"singleton",fullscreenStateComponent);
@@ -1,5 +1,4 @@
1
- import { type ComponentSnapshot, type SystemComponentTypeConstraint } from '../core/component.js';
2
- import type { EntityId } from '../core/model.js';
1
+ import { type ComponentSnapshot, type EntityId, type SystemComponentTypeConstraint } from '../model/index.js';
3
2
  export type GroupedComponentSnapshots<COMPONENT_TYPE extends SystemComponentTypeConstraint> = {
4
3
  [NAME in COMPONENT_TYPE['name']]: ReadonlyArray<ComponentSnapshot<Extract<COMPONENT_TYPE, {
5
4
  name: NAME;
@@ -0,0 +1 @@
1
+ import{isArray as o,isShallowEqual as t}from"@salsita-ai/common/utils";import{areEqualComponentSnapshots as n,isEqualComponentSnapshot as e}from"../model/index.js";export const isEqualGroupedComponentSnapshots=(p,m)=>t(p,m,(t,p)=>t===p||void 0!==t&&void 0!==p&&(o(t)&&o(p)?n(t,p):!(o(t)||o(p))&&e(t,p)));export const groupComponentsByEntityIdAndName=o=>{let t=new Map;return o.forEach(o=>{let n=o.componentInstance.entityId,e=o.componentInstance.componentType.name,p=t.get(n);p||(p={},t.set(n,p));let m=p[e]??[];p[e]=m,m.push(o)}),t};
@@ -1,4 +1,4 @@
1
- import type { DomainEntityId, EntityId } from '../core/model.js';
1
+ import { type DomainEntityId, type EntityId } from '../model/index.js';
2
2
  export type HoverStateComponentState = {
3
3
  readonly hoveredEntityId: DomainEntityId<string> | null;
4
4
  };
@@ -0,0 +1 @@
1
+ import{isSnapshotInstance as t}from"../model/index.js";import{SystemComponentBuilder as e}from"./system-component-builder.js";import{systemVirtualEntityId as o}from"./system-virtual-entity.js";export const hoverStateComponent=e.component("hoverState").withState({type:"object",properties:{hoveredEntityId:{oneOf:[{type:"string"},{type:"null"}]}},required:["hoveredEntityId"],additionalProperties:!1,tsType:"HoverStateComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"HoverStateComponentState"}]}).withWritableKeys(["hoveredEntityId"]).build();export const isHoverStateComponentSnapshot=e=>t(e,"singleton",hoverStateComponent);export const isSystemHoverStateComponentSnapshot=t(o,"singleton",hoverStateComponent);
@@ -0,0 +1,18 @@
1
+ export type * from './component-reader-types.js';
2
+ export * from './debug-state-component.js';
3
+ export * from './domain-component-optic.js';
4
+ export * from './drag-state-component.js';
5
+ export * from './export-state-component.js';
6
+ export * from './fullscreen-state-component.js';
7
+ export * from './group-components-by-entity-id-and-name.js';
8
+ export * from './hover-state-component.js';
9
+ export * from './legacy-filter.js';
10
+ export * from './navigation-state-component.js';
11
+ export * from './selection-state-component.js';
12
+ export * from './system-component-builder.js';
13
+ export * from './system-component-filter.js';
14
+ export * from './system-virtual-entity.js';
15
+ export * from './tool-state-component.js';
16
+ export * from './updates.js';
17
+ export * from './view-state-component.js';
18
+ export * from './viewport-state-component.js';
@@ -0,0 +1 @@
1
+ export*from"./debug-state-component.js";export*from"./domain-component-optic.js";export*from"./drag-state-component.js";export*from"./export-state-component.js";export*from"./fullscreen-state-component.js";export*from"./group-components-by-entity-id-and-name.js";export*from"./hover-state-component.js";export*from"./legacy-filter.js";export*from"./navigation-state-component.js";export*from"./selection-state-component.js";export*from"./system-component-builder.js";export*from"./system-component-filter.js";export*from"./system-virtual-entity.js";export*from"./tool-state-component.js";export*from"./updates.js";export*from"./view-state-component.js";export*from"./viewport-state-component.js";
@@ -1,6 +1,6 @@
1
1
  import type { SessionRole } from '@salsita-ai/contracts/api';
2
- import type { $DomainEntity, DomainEntity } from '../core/model.js';
3
- import type { DomainState } from '../core/state.js';
2
+ import type { $DomainEntity, DomainEntity } from '../model/index.js';
3
+ import type { DomainState } from '../state/index.js';
4
4
  import { type IdOrWithId } from './system-component-filter.js';
5
5
  import type { Viewport } from './viewport-state-component.js';
6
6
  export type DeclarativeComponentSystemFilter = {
@@ -1,4 +1,4 @@
1
- import type { EntityId } from '../core/model.js';
1
+ import { type EntityId } from '../model/index.js';
2
2
  export type NavigationStateComponentState = {
3
3
  readonly activeState: string;
4
4
  readonly historyStack?: string[];
@@ -0,0 +1 @@
1
+ import{isSnapshotInstance as t}from"../model/index.js";import{SystemComponentBuilder as e}from"./system-component-builder.js";import{systemVirtualEntityId as o}from"./system-virtual-entity.js";export const navigationStateComponent=e.component("navigationState").withState({type:"object",properties:{activeState:{type:"string"},historyStack:{type:"array",items:{type:"string"}}},required:["activeState"],additionalProperties:!1}).withWritableKeys(["activeState","historyStack"]).build();export const isNavigationComponentSnapshot=e=>t(e,"singleton",navigationStateComponent);export const isSystemNavigationComponentSnapshot=t(o,"singleton",navigationStateComponent);
@@ -1,4 +1,4 @@
1
- import type { DomainEntityId, EntityId } from '../core/model.js';
1
+ import { type DomainEntityId, type EntityId } from '../model/index.js';
2
2
  export type SelectionStateComponentState = {
3
3
  readonly selectedEntityId: DomainEntityId<string>;
4
4
  };
@@ -0,0 +1 @@
1
+ import{isSnapshotInstance as t}from"../model/index.js";import{SystemComponentBuilder as e}from"./system-component-builder.js";import{systemVirtualEntityId as o}from"./system-virtual-entity.js";export const selectionStateComponent=e.component("selectionState").withState({type:"object",properties:{selectedEntityId:{type:"string"}},required:["selectedEntityId"],additionalProperties:!1,tsType:"SelectionStateComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SelectionStateComponentState"}]}).withWritableKeys(["selectedEntityId"]).build();export const isSelectionComponentSnapshot=e=>t(e,"singleton",selectionStateComponent);export const isSystemSelectionComponentSnapshot=t(o,"singleton",selectionStateComponent);
@@ -1,5 +1,4 @@
1
- import type { SystemComponentType } from '../core/component.js';
2
- import type { SchemaOfObject } from '../core/reflection.js';
1
+ import type { SchemaOfObject, SystemComponentType } from '../model/index.js';
3
2
  export declare class SystemComponentBuilder<NAME extends string, COMPONENT_STATE extends Record<string, unknown>, WRITABLE_KEYS extends keyof COMPONENT_STATE> {
4
3
  private readonly name;
5
4
  private readonly writableKeys;
@@ -0,0 +1 @@
1
+ import e from"lodash-es/pick.js";import{getCommonPhxDefinitions as t}from"../model/index.js";import{extendedSchemaValidator as i}from"../schema/index.js";export class SystemComponentBuilder{name;writableKeys;jsonSchema;constructor(e,t,i){this.name=e,this.writableKeys=t,this.jsonSchema=i}static component(e){return new SystemComponentBuilder(e,[],{type:"object",properties:{},required:[],additionalProperties:!1})}withState(e){return new SystemComponentBuilder(this.name,[],e)}withWritableKeys(e){return new SystemComponentBuilder(this.name,e,this.jsonSchema)}build(){let s=t(),r={...this.jsonSchema,definitions:{...s,...this.jsonSchema.definitions}};return{name:this.name,writableKeys:this.writableKeys,schema:this.jsonSchema,validateState:i.compile(r),validateWritableState:i.compile({...r,properties:e(this.jsonSchema.properties,this.writableKeys),required:this.jsonSchema.required?.filter(e=>this.writableKeys.includes(e))})}}}
@@ -1,7 +1,7 @@
1
1
  import type { SessionRole } from '@salsita-ai/contracts/api';
2
- import type { AnonymousExpression, ExpressionContext } from '../core/expression.js';
3
- import type { DomainEntity, DomainEntityId } from '../core/model.js';
4
- import type { DomainState } from '../core/state.js';
2
+ import type { AnonymousExpression, ExpressionContext } from '../expression/index.js';
3
+ import type { DomainEntity, DomainEntityId } from '../model/index.js';
4
+ import type { DomainState } from '../state/index.js';
5
5
  import { type Viewport } from './viewport-state-component.js';
6
6
  export interface ComponentSystemFilterState {
7
7
  navigationState: string | undefined;
@@ -0,0 +1 @@
1
+ import{createVirtualEntityId as t}from"../model/index.js";export const systemVirtualEntityId=t("system");
@@ -1,4 +1,4 @@
1
- import type { EntityId } from '../core/model.js';
1
+ import { type EntityId } from '../model/index.js';
2
2
  export type ToolStateComponentState = {
3
3
  readonly activeState: string;
4
4
  };
@@ -0,0 +1 @@
1
+ import{isSnapshotInstance as t}from"../model/index.js";import{SystemComponentBuilder as o}from"./system-component-builder.js";import{systemVirtualEntityId as e}from"./system-virtual-entity.js";export const toolStateComponent=o.component("toolState").withState({type:"object",properties:{activeState:{type:"string"}},required:["activeState"],additionalProperties:!1}).withWritableKeys(["activeState"]).build();export const isToolStateComponentSnapshot=o=>t(o,"singleton",toolStateComponent);export const isSystemToolStateComponentSnapshot=t(e,"singleton",toolStateComponent);
@@ -1,6 +1,5 @@
1
1
  import type { Localizable } from '@salsita-ai/common/utils';
2
- import type { ComponentInstance, StateOfComponent, SystemComponentType, SystemComponentTypeConstraint, WritableStateOfComponent } from '../core/component.js';
3
- import type { DomainEntity, EntityByType, EntityId } from '../core/model.js';
2
+ import type { ComponentInstance, DomainEntity, EntityByType, EntityId, StateOfComponent, SystemComponentType, SystemComponentTypeConstraint, WritableStateOfComponent } from '../model/index.js';
4
3
  import type { OneComponentFilter } from './component-reader-types.js';
5
4
  export interface ComponentModification<COMPONENT_TYPE extends SystemComponentTypeConstraint> {
6
5
  kind: 'modifyComponent';
@@ -1,4 +1,4 @@
1
- import type { EntityId } from '../core/model.js';
1
+ import { type EntityId } from '../model/index.js';
2
2
  export type ViewStateComponentState = {
3
3
  readonly activeState: string;
4
4
  };
@@ -0,0 +1 @@
1
+ import{isSnapshotInstance as t}from"../model/index.js";import{SystemComponentBuilder as e}from"./system-component-builder.js";import{systemVirtualEntityId as o}from"./system-virtual-entity.js";export const viewStateComponent=e.component("viewState").withState({type:"object",properties:{activeState:{type:"string"}},required:["activeState"],additionalProperties:!1}).withWritableKeys(["activeState"]).build();export const isViewComponentSnapshot=e=>t(e,"singleton",viewStateComponent);export const isSystemViewComponentSnapshot=t(o,"singleton",viewStateComponent);
@@ -1,4 +1,4 @@
1
- import type { EntityId } from '../core/model.js';
1
+ import { type EntityId } from '../model/index.js';
2
2
  /**
3
3
  * A responsive class the configurator container currently satisfies. The values mirror the
4
4
  * responsive flags computed by the UI layer from the theme breakpoints (`isPhone`, `isMobile`,
@@ -0,0 +1 @@
1
+ import{isSnapshotInstance as t}from"../model/index.js";import{SystemComponentBuilder as e}from"./system-component-builder.js";import{systemVirtualEntityId as o}from"./system-virtual-entity.js";export const VIEWPORTS=["phone","mobile","tablet","desktop","landscape","portrait"];export const viewportStateComponent=e.component("viewportState").withState({type:"object",properties:{active:{oneOf:[{type:"array",items:{type:"string",enum:[...VIEWPORTS]}},{type:"null"}]}},required:["active"],additionalProperties:!1,tsType:"ViewportStateComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ViewportStateComponentState"}]}).withWritableKeys(["active"]).build();export const isViewportStateComponentSnapshot=e=>t(e,"singleton",viewportStateComponent);export const isSystemViewportStateComponentSnapshot=t(o,"singleton",viewportStateComponent);
@@ -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,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
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';
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, ExpressionContext } 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
  /**
@@ -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)}}
@@ -1,6 +1,5 @@
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, ExpressionMetas } 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]>;
@@ -0,0 +1 @@
1
+ import{mapNestedObject as t}from"../../utils/map-nested-object.js";export const createConstantExpressionFactory=e=>o=>t()(o,([t,o,a])=>[[t,o,{meta:e[t]?.[o]??{},evaluate:()=>a}]]);
@@ -1,8 +1,7 @@
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';
1
+ import type { AliasedExpressions } from '../../domain-builder.js';
2
+ import type { $DomainEntity, DomainEntity, EntityByType, TypeOrAlias } from '../model/index.js';
3
+ import type { DomainState } from '../state/index.js';
4
+ import type { AnonymousExpression, ExpressionContext, ExpressionMeta, ExpressionMetas } from './expression.js';
6
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;
7
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>> = {
8
7
  [TYPE_OR_ALIAS in keyof $MAP]?: {
@@ -0,0 +1 @@
1
+ import{mapNestedObject as e}from"../../utils/map-nested-object.js";export const createCustomExpressionFactory=t=>o=>e()(o,([e,o,r])=>{if(!r)throw Error(`Custom expression for ${e}.${o} is of type undefined`);return[[e,o,createCustomExpression(r,t[e]?.[o]??{})]]});export const createCustomExpression=(e,t)=>({evaluate:(t,o,r)=>e(r.domain.get$Entity(t,o),o,r),meta:t});
@@ -1,12 +1,10 @@
1
1
  import type { SessionRole } from '@salsita-ai/contracts/api';
2
- import type { ComponentReader } from '../domain-runtime/domain-context/index.js';
3
- import type { CollisionProjections, ConstraintProjections, PositionProjections, ProjectedEntitiesProjections, SnappingProjections } from '../projections/index.js';
4
- import type { SketchingProjections } from '../sketching/index.js';
5
- import type { TypeOrAlias } from './alias.js';
6
- import type { Domain } from './domain.js';
7
- import type { MigrateFunction } from './migrations.js';
8
- import type { $DomainEntity, DomainEntity } from './model.js';
9
- import type { DomainState } from './state.js';
2
+ import type { ComponentReader } from '../../domain-runtime/domain-context/index.js';
3
+ import type { CollisionProjections, ConstraintProjections, PositionProjections, ProjectedEntitiesProjections, SnappingProjections } from '../../projections/index.js';
4
+ import type { SketchingProjections } from '../../sketching/index.js';
5
+ import type { Domain } from '../domain.js';
6
+ import type { $DomainEntity, DomainEntity, TypeOrAlias } from '../model/index.js';
7
+ import type { DomainState, MigrateFunction } from '../state/index.js';
10
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>> {
11
9
  readonly mode: 'owner' | 'read' | 'finalize';
12
10
  readonly role: SessionRole;
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,5 @@
1
+ export * from './constant-expressions.js';
2
+ export * from './custom-expression.js';
3
+ export type * from './expression.js';
4
+ export * from './memoize-expression.js';
5
+ export * from './prepare-domain-expressions.js';
@@ -0,0 +1 @@
1
+ export*from"./constant-expressions.js";export*from"./custom-expression.js";export*from"./memoize-expression.js";export*from"./prepare-domain-expressions.js";
@@ -1,5 +1,5 @@
1
- import type { Expression, ExpressionOrigin } from '../core/expression.js';
2
- import type { DomainEntity, DomainEntityId } from '../core/model.js';
1
+ import type { DomainEntity, DomainEntityId } from '../model/index.js';
2
+ import type { Expression, ExpressionOrigin } from './expression.js';
3
3
  export interface ExpressionTrace {
4
4
  origin: ExpressionOrigin;
5
5
  entityId: DomainEntityId<string>;
@@ -1,4 +1,4 @@
1
- import type { AnyExpressions } from '../core/expression.js';
1
+ import type { AnyExpressions } from './expression.js';
2
2
  interface DomainExpressionsSource {
3
3
  readonly expressions: AnyExpressions;
4
4
  readonly $entityReflections: Record<string, {
@@ -1,18 +1,10 @@
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 type * from './action.js';
2
+ export * from './component/index.js';
3
+ export * from './decoder/index.js';
15
4
  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';
5
+ export * from './domain.js';
6
+ export * from './expression/index.js';
7
+ export * from './invariant/index.js';
8
+ export * from './model/index.js';
9
+ export * from './schema/index.js';
10
+ 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"./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,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,7 +1,6 @@
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
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>>>> = {
@@ -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 * 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"./invariants.js";export*from"./violation-component.js";export*from"./violation.js";
@@ -1,8 +1,8 @@
1
1
  import type { OmitNever } from '@salsita-ai/common/utils';
2
- import { type AliasMap, type EventualAlias, type ExpandAlias, type ExtractFromAliasedRecord, type TypeOrAlias } from '../core/alias.js';
3
- import type { AnonymousExpression, ExpressionContext } from '../core/expression.js';
4
- import type { $DomainEntity, DomainEntity, EntityByType } from '../core/model.js';
5
- import type { DomainState } from '../core/state.js';
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';
5
+ import type { DomainState } from '../state/index.js';
6
6
  import { type Violation } from './violation.js';
7
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
8
  evaluate(selfId: ENTITY['id'], state: DomainState<ENTITIES>, ctx: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>): ReadonlyArray<Violation<VIOLATION_TYPE>>;
@@ -38,10 +38,18 @@ type ExpressionsFromInvariants<ENTITIES extends DomainEntity<string>, ALLOWED_RO
38
38
  };
39
39
  };
40
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[]>>;
41
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>> {
42
45
  private readonly aliasMap;
43
46
  private readonly invariants;
44
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>>>;
45
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>>;
46
54
  /**
47
55
  * DO NOT USE in runtime!
@@ -0,0 +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}}
@@ -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 '../../domain-context/store-system/store-system.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{};
@@ -0,0 +1 @@
1
+ import{createAjvSchemaValidator as e}from"./create-ajv-schema-validator.js";import{createCspSchemaValidator as a}from"./create-csp-schema-validator.js";let t="csp-compatible"===globalThis.PHX_SCHEMA_VALIDATOR?a:e;export const getExtendedSchemaValidator=()=>{let e=t();return e.addKeyword("tsType"),e.addKeyword("import"),e.addKeyword("declared"),e};export const extendedSchemaValidator=getExtendedSchemaValidator();
@@ -0,0 +1,3 @@
1
+ export type { EnhancedJsonObjectSchemaType, EnhancedJsonSchemaType, JsonSchemaType, MemberImport, } from './enhanced-json-schema.js';
2
+ export { extendedSchemaValidator, getExtendedSchemaValidator } from './extended-schema-validator.js';
3
+ export type { PhxValidateFunction, PhxValidationError, SchemaValidator } from './schema-validator.js';
@@ -0,0 +1 @@
1
+ export{extendedSchemaValidator,getExtendedSchemaValidator}from"./extended-schema-validator.js";
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,15 @@
1
+ import type { DomainEntity, DomainEntityId } from '../model/index.js';
2
+ /**
3
+ * Hands out the ids of entities that are about to be created, one sequence per entity type. An
4
+ * action or a transformer asks it for an id instead of computing one from the state.
5
+ */
6
+ export type IdSequence<ENTITIES extends DomainEntity<string>> = {
7
+ /**
8
+ * Returns the next available entity ID for the given type.
9
+ * This automatically increments the sequence number for the given type, so that the next call will return a new ID.
10
+ *
11
+ * @param type the entity type
12
+ * @returns a new domain entity ID for the given type
13
+ */
14
+ nextId: <TYPE extends ENTITIES['type']>(type: TYPE) => DomainEntityId<TYPE>;
15
+ };
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,3 @@
1
+ export type * from './id-sequence.js';
2
+ export * from './migrations.js';
3
+ export * from './state.js';
@@ -0,0 +1 @@
1
+ export*from"./migrations.js";export*from"./state.js";