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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (907) hide show
  1. package/README.md +1 -1
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  4. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  5. package/dist/application-spec/generate-application/code/common/project-module-list.d.ts +8 -0
  6. package/dist/application-spec/generate-application/code/common/project-module-list.js +3 -0
  7. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  8. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +1 -1
  9. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  10. package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
  11. package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
  12. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
  13. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
  14. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +1 -2
  15. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -16
  16. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
  17. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
  18. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
  19. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
  20. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +36 -36
  21. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  22. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  23. package/dist/application-spec/generate-application/code/templates/domain-spec.js +4 -4
  24. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  25. package/dist/application-spec/generate-application/code/templates/index.d.ts +1 -6
  26. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  27. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  28. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +93 -41
  29. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +2 -2
  30. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  31. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +1 -0
  32. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +6 -0
  33. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +35 -11
  34. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +19 -7
  35. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +9 -4
  36. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -2
  37. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
  38. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
  39. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  40. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +3 -8
  41. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
  42. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +9 -43
  43. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  44. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
  45. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -21
  46. package/dist/client/authorized-client.d.ts +3 -1
  47. package/dist/client/authorized-client.js +1 -1
  48. package/dist/client/contract.d.ts +34 -0
  49. package/dist/client/contract.js +1 -1
  50. package/dist/client/index.d.ts +2 -2
  51. package/dist/client/index.js +1 -1
  52. package/dist/client/local-authorized-client.d.ts +3 -1
  53. package/dist/client/local-authorized-client.js +1 -1
  54. package/dist/client/memory-authorized-client.d.ts +3 -1
  55. package/dist/client/memory-authorized-client.js +1 -1
  56. package/dist/client/phoenix-api.d.ts +271 -30
  57. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +104 -5
  58. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  59. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  60. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  61. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  62. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  63. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +2 -1
  64. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  65. package/dist/configurator/ui/assistant/AssistantThread.d.ts +6 -2
  66. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  67. package/dist/configurator/ui/assistant/thread-items.d.ts +13 -2
  68. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  69. package/dist/configurator/ui/assistant/tool-chip.d.ts +8 -1
  70. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  71. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +84 -98
  72. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
  73. package/dist/docs/index.json +1 -1
  74. package/dist/docs/layouts/custom-price.mdx +14 -16
  75. package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
  76. package/dist/docs/other-features/domain-actions.mdx +1 -1
  77. package/dist/docs/other-features/side-effects.mdx +42 -34
  78. package/dist/docs/other-features/transformers.mdx +1 -1
  79. package/dist/docs/phoenix/admin.mdx +9 -24
  80. package/dist/docs/phoenix/deployments.mdx +1 -1
  81. package/dist/docs/phoenix/expression-context.mdx +11 -3
  82. package/dist/docs/phoenix/getting-started.mdx +1 -1
  83. package/dist/docs/phoenix/localization.mdx +3 -22
  84. package/dist/docs/phoenix/phoenix-cli.mdx +105 -23
  85. package/dist/docs/phoenix/project-structure.mdx +12 -3
  86. package/dist/docs/phoenix/sdk-builder-workflow.mdx +11 -10
  87. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
  88. package/dist/docs/relations/hierarchy.mdx +13 -2
  89. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  90. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  91. package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
  92. package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
  93. package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
  94. package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
  95. package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
  96. package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
  97. package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
  98. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +10 -13
  99. package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
  100. package/dist/domain/admin-domain/index.d.ts +9 -5
  101. package/dist/domain/admin-domain/index.js +1 -1
  102. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +1 -1
  103. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  104. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  105. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  106. package/dist/domain/application/application-config.d.ts +24 -95
  107. package/dist/domain/application/assistant/assistant-manifest.d.ts +63 -0
  108. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +95 -0
  109. package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
  110. package/dist/domain/application/assistant/assistant-value-type.js +1 -0
  111. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
  112. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
  113. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  114. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -0
  115. package/dist/domain/application/assistant/index.d.ts +4 -0
  116. package/dist/domain/application/assistant/index.js +1 -0
  117. package/dist/domain/application/assistant-field-options.d.ts +2 -3
  118. package/dist/domain/application/assistant-mutations.d.ts +3 -5
  119. package/dist/domain/application/assistant-mutations.js +1 -1
  120. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -7
  121. package/dist/domain/application/configurator-builder.d.ts +33 -18
  122. package/dist/domain/application/configurator-builder.js +1 -1
  123. package/dist/domain/application/create-initial-published-data.d.ts +1 -2
  124. package/dist/domain/application/index.d.ts +3 -5
  125. package/dist/domain/application/index.js +1 -1
  126. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  127. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  128. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  129. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  130. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  131. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  132. package/dist/domain/application/published-data/create-finalize-admin-domain.d.ts +1 -2
  133. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  134. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  135. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +2 -2
  136. package/dist/domain/application/published-data/map-published-data.d.ts +1 -2
  137. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  138. package/dist/domain/available-system-components.js +1 -1
  139. package/dist/domain/core/action/action-factory.d.ts +11 -0
  140. package/dist/domain/core/{action.d.ts → action/action.d.ts} +22 -18
  141. package/dist/domain/core/action/index.d.ts +2 -0
  142. package/dist/domain/core/action/index.js +1 -0
  143. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -2
  144. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  145. package/dist/domain/core/component/debug-state-component.js +1 -0
  146. package/dist/domain/{components → core/component}/domain-component-optic.d.ts +36 -39
  147. package/dist/domain/{components → core/component}/domain-component-optic.js +2 -2
  148. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  149. package/dist/domain/core/component/drag-state-component.js +1 -0
  150. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  151. package/dist/domain/core/component/export-state-component.js +1 -0
  152. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  153. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  154. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -2
  155. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  156. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  157. package/dist/domain/core/component/hover-state-component.js +1 -0
  158. package/dist/domain/core/component/index.d.ts +18 -0
  159. package/dist/domain/core/component/index.js +1 -0
  160. package/dist/domain/{components → core/component}/legacy-filter.d.ts +2 -2
  161. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  162. package/dist/domain/core/component/navigation-state-component.js +1 -0
  163. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  164. package/dist/domain/core/component/selection-state-component.js +1 -0
  165. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -2
  166. package/dist/domain/core/component/system-component-builder.js +1 -0
  167. package/dist/domain/{components → core/component}/system-component-filter.d.ts +19 -19
  168. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  169. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  170. package/dist/domain/core/component/tool-state-component.js +1 -0
  171. package/dist/domain/{components → core/component}/updates.d.ts +1 -2
  172. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  173. package/dist/domain/core/component/view-state-component.js +1 -0
  174. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  175. package/dist/domain/core/component/viewport-state-component.js +1 -0
  176. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  177. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  178. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  179. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  180. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  181. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  182. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  183. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  184. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  185. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  186. package/dist/domain/core/data-schema/data-schema.js +1 -0
  187. package/dist/domain/core/data-schema/index.d.ts +7 -0
  188. package/dist/domain/core/data-schema/index.js +1 -0
  189. package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
  190. package/dist/domain/core/decoder/create-decoder.js +1 -0
  191. package/dist/domain/core/decoder/decoder.d.ts +6 -0
  192. package/dist/domain/core/decoder/decoder.js +1 -0
  193. package/dist/domain/core/decoder/index.d.ts +2 -0
  194. package/dist/domain/core/decoder/index.js +1 -0
  195. package/dist/domain/core/domain-factory.d.ts +4 -5
  196. package/dist/domain/core/domain-factory.js +1 -1
  197. package/dist/domain/core/domain.d.ts +4 -5
  198. package/dist/domain/core/domain.js +1 -1
  199. package/dist/domain/core/emission/index.d.ts +8 -0
  200. package/dist/domain/core/emission/index.js +1 -0
  201. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  202. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  203. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  204. package/dist/domain/core/emission/state-emission.js +1 -0
  205. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  206. package/dist/domain/core/emission/state-update-emission.js +1 -0
  207. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  208. package/dist/domain/core/emission/state-validation-result.js +1 -0
  209. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  210. package/dist/domain/core/emission/transformation-log.js +1 -0
  211. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  212. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  213. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  214. package/dist/domain/core/emission/transformer-log.js +1 -0
  215. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  216. package/dist/domain/core/emission/transformer-phase.js +1 -0
  217. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  218. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  219. package/dist/domain/{expressions → core/expression}/constant-expressions.d.ts +3 -4
  220. package/dist/domain/core/expression/constant-expressions.js +1 -0
  221. package/dist/domain/{expressions → core/expression}/custom-expression.d.ts +9 -10
  222. package/dist/domain/core/expression/custom-expression.js +1 -0
  223. package/dist/domain/core/expression/expression.d.ts +46 -0
  224. package/dist/domain/core/expression/expression.js +1 -0
  225. package/dist/domain/core/expression/index.d.ts +4 -0
  226. package/dist/domain/core/expression/index.js +1 -0
  227. package/dist/domain/core/index.d.ts +13 -17
  228. package/dist/domain/core/index.js +1 -1
  229. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -2
  230. package/dist/domain/{invariants → core/invariant}/custom-invariants.d.ts +7 -8
  231. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  232. package/dist/domain/core/invariant/index.d.ts +5 -0
  233. package/dist/domain/core/invariant/index.js +1 -0
  234. package/dist/domain/core/invariant/invariants.d.ts +13 -0
  235. package/dist/domain/core/invariant/invariants.js +1 -0
  236. package/dist/domain/core/invariant/violation-component.js +1 -0
  237. package/dist/domain/{invariants → core/invariant}/violation.d.ts +2 -2
  238. package/dist/domain/core/{component.d.ts → model/component.d.ts} +1 -1
  239. package/dist/domain/core/model/index.d.ts +6 -0
  240. package/dist/domain/core/model/index.js +1 -0
  241. package/dist/domain/core/{reflection.d.ts → model/reflection.d.ts} +1 -1
  242. package/dist/domain/core/model/reflection.js +1 -0
  243. package/dist/domain/core/recipe/index.d.ts +1 -0
  244. package/dist/domain/core/recipe/index.js +1 -0
  245. package/dist/domain/{domain-context/recipe-system → core/recipe}/recipes.d.ts +1 -3
  246. package/dist/domain/core/recipe/recipes.js +1 -0
  247. package/dist/domain/{relations → core/relation}/all-of-type-relation.d.ts +3 -4
  248. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  249. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -2
  250. package/dist/domain/core/relation/component-factories.js +1 -0
  251. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  252. package/dist/domain/core/relation/composed-of.js +1 -0
  253. package/dist/domain/{relations → core/relation}/direct-relation.d.ts +2 -3
  254. package/dist/domain/core/relation/index.d.ts +9 -0
  255. package/dist/domain/core/relation/index.js +1 -0
  256. package/dist/domain/{relations → core/relation}/indirect-relation.d.ts +3 -4
  257. package/dist/domain/core/relation/indirect-relation.js +1 -0
  258. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -5
  259. package/dist/domain/core/relation/reference-component.js +1 -0
  260. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  261. package/dist/domain/core/relation/reference-field.js +1 -0
  262. package/dist/domain/{relations → core/relation}/relation-factory.d.ts +2 -3
  263. package/dist/domain/{relations → core/relation}/relation-implementation.d.ts +3 -4
  264. package/dist/domain/core/relation/relation-implementation.js +1 -0
  265. package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
  266. package/dist/domain/core/schema/extended-schema-validator.js +1 -0
  267. package/dist/domain/core/schema/index.d.ts +3 -0
  268. package/dist/domain/core/schema/index.js +1 -0
  269. package/dist/domain/core/schema/schema-validator.js +1 -0
  270. package/dist/domain/core/state/id-sequence.d.ts +15 -0
  271. package/dist/domain/core/state/id-sequence.js +1 -0
  272. package/dist/domain/core/state/index.d.ts +3 -0
  273. package/dist/domain/core/state/index.js +1 -0
  274. package/dist/domain/core/{migrations.d.ts → state/migrations.d.ts} +1 -2
  275. package/dist/domain/core/{state.d.ts → state/state.d.ts} +1 -2
  276. package/dist/domain/domain-builder.d.ts +11 -11
  277. package/dist/domain/domain-builder.js +1 -1
  278. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -4
  279. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  280. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  281. package/dist/domain/domain-context/action-system/index.js +1 -0
  282. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  283. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  284. package/dist/domain/domain-context/create-transformer.d.ts +2 -2
  285. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  286. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +3 -4
  287. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  288. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  289. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  290. package/dist/domain/domain-context/domain-context-systems.d.ts +8 -10
  291. package/dist/domain/domain-context/index.d.ts +8 -18
  292. package/dist/domain/domain-context/index.js +1 -1
  293. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  294. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  295. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +5 -8
  296. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  297. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  298. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  299. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +2 -2
  300. package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
  301. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  302. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  303. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -4
  304. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  305. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +3 -3
  306. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  307. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +3 -3
  308. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  309. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +3 -3
  310. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  311. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  312. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  313. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +3 -3
  314. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  315. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -3
  316. package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
  317. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  318. package/dist/domain/domain-context/store-system/index.js +1 -0
  319. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -13
  320. package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
  321. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  322. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  323. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -39
  324. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  325. package/dist/domain/domain-context/store-system/system-state.d.ts +2 -4
  326. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  327. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  328. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  329. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +6 -10
  330. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  331. package/dist/domain/domain-context/transformers/chain-builder.d.ts +3 -3
  332. package/dist/domain/domain-context/transformers/context.d.ts +2 -7
  333. package/dist/domain/domain-context/transformers/context.js +1 -1
  334. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  335. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  336. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  337. package/dist/domain/domain-context/transformers/index.js +1 -1
  338. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  339. package/dist/domain/domain-context/transformers/then-builder.js +1 -1
  340. package/dist/domain/domain-context/transformers/when-builder.d.ts +3 -9
  341. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  342. package/dist/domain/domain-context/undo-system.d.ts +2 -3
  343. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  344. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  345. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -4
  346. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  347. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  348. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  349. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  350. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  351. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  352. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  353. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +6 -13
  354. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  355. package/dist/domain/domain-runtime/domain-runtime.d.ts +56 -56
  356. package/dist/domain/domain-runtime/spec/index.d.ts +5 -0
  357. package/dist/domain/domain-runtime/spec/index.js +1 -1
  358. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  359. package/dist/domain/domain-runtime/spec/invariant-builder.d.ts +26 -0
  360. package/dist/domain/domain-runtime/spec/invariant-builder.js +1 -0
  361. package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  362. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +6 -1
  363. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  364. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +5 -0
  365. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  366. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  367. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  368. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +25 -0
  369. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  370. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  371. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  372. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  373. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  374. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  375. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  376. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  377. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  378. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  379. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  380. package/dist/domain/{actions → domain-runtime/spec}/prepare-action-implementations.d.ts +1 -1
  381. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  382. package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  383. package/dist/domain/domain-runtime/spec/selectors.d.ts +7 -8
  384. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  385. package/dist/domain/domain-runtime/spec/types.d.ts +6 -6
  386. package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +1 -1
  387. package/dist/domain/extensions/angle-indicator.js +1 -0
  388. package/dist/domain/extensions/attribute-switch.js +1 -0
  389. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  390. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  391. package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +1 -1
  392. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  393. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  394. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  395. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
  396. package/dist/domain/extensions/canvas-config.js +1 -0
  397. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  398. package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +1 -1
  399. package/dist/domain/extensions/canvas-padding.js +1 -0
  400. package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +1 -1
  401. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  402. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  403. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  404. package/dist/domain/extensions/client-side-image.js +1 -0
  405. package/dist/domain/extensions/color-value.js +1 -0
  406. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +1 -1
  407. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  408. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +1 -1
  409. package/dist/domain/extensions/common/dimension-indicator-schema.js +1 -0
  410. package/dist/domain/extensions/common/index.d.ts +4 -0
  411. package/dist/domain/extensions/common/index.js +1 -0
  412. package/dist/domain/{system-components → extensions}/custom-header.d.ts +2 -2
  413. package/dist/domain/{system-components → extensions}/custom-header.js +1 -1
  414. package/dist/domain/extensions/custom-price-footer.js +1 -0
  415. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +2 -2
  416. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.js +1 -1
  417. package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +1 -1
  418. package/dist/domain/extensions/dimension-indicator.js +1 -0
  419. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +3 -2
  420. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  421. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +3 -2
  422. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  423. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +3 -2
  424. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  425. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +3 -2
  426. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  427. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  428. package/dist/domain/extensions/entity-header.js +1 -0
  429. package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +1 -1
  430. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  431. package/dist/domain/{system-components → extensions}/finalize-action.d.ts +1 -1
  432. package/dist/domain/extensions/finalize-action.js +1 -0
  433. package/dist/domain/extensions/finalize-component.js +1 -0
  434. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  435. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  436. package/dist/domain/{system-components → extensions}/fixed-header.d.ts +1 -1
  437. package/dist/domain/extensions/fixed-header.js +1 -0
  438. package/dist/domain/{system-components → extensions}/floating-header.d.ts +1 -1
  439. package/dist/domain/extensions/floating-header.js +1 -0
  440. package/dist/domain/{system-components → extensions}/hidden-header.d.ts +1 -1
  441. package/dist/domain/extensions/hidden-header.js +1 -0
  442. package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +1 -1
  443. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  444. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +1 -1
  445. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  446. package/dist/domain/extensions/index.d.ts +69 -0
  447. package/dist/domain/extensions/index.js +1 -0
  448. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
  449. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  450. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  451. package/dist/domain/extensions/navigation-steps.js +1 -0
  452. package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +1 -1
  453. package/dist/domain/extensions/offset-anchors.js +1 -0
  454. package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +1 -2
  455. package/dist/domain/extensions/offset-indicator.js +1 -0
  456. package/dist/domain/{system-components → extensions}/offset.d.ts +1 -1
  457. package/dist/domain/extensions/offset.js +1 -0
  458. package/dist/domain/{system-components → extensions}/other-action.d.ts +1 -1
  459. package/dist/domain/extensions/other-action.js +1 -0
  460. package/dist/domain/{system-components → extensions}/property-page.d.ts +2 -2
  461. package/dist/domain/extensions/property-page.js +1 -0
  462. package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +1 -1
  463. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  464. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  465. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  466. package/dist/domain/extensions/rotatable.js +1 -0
  467. package/dist/domain/extensions/rotation-handle.js +1 -0
  468. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  469. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  470. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  471. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  472. package/dist/domain/extensions/scene-entity-control.js +1 -0
  473. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  474. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  475. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  476. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  477. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  478. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  479. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  480. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  481. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  482. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  483. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  484. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  485. package/dist/domain/extensions/selectable-component.js +1 -0
  486. package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +1 -1
  487. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  488. package/dist/domain/extensions/simple-summary.js +1 -0
  489. package/dist/domain/{system-components → extensions}/size.d.ts +1 -1
  490. package/dist/domain/extensions/size.js +1 -0
  491. package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +1 -1
  492. package/dist/domain/extensions/sketching-draw.js +1 -0
  493. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +2 -2
  494. package/dist/domain/extensions/sketching-edit.js +1 -0
  495. package/dist/domain/extensions/summary-component.js +1 -0
  496. package/dist/domain/extensions/text-value.js +1 -0
  497. package/dist/domain/extensions/tool-controls.js +1 -0
  498. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +2 -2
  499. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  500. package/dist/domain/{system-components → extensions}/toolbar.d.ts +2 -2
  501. package/dist/domain/{system-components → extensions}/toolbar.js +1 -1
  502. package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +1 -1
  503. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  504. package/dist/domain/extensions/view-controls.js +1 -0
  505. package/dist/domain/index.d.ts +2 -32
  506. package/dist/domain/index.js +1 -1
  507. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  508. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +13 -13
  509. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  510. package/dist/domain/projections/blender-projections/blender-projections.d.ts +2 -3
  511. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  512. package/dist/domain/projections/blender-projections/camera.d.ts +1 -1
  513. package/dist/domain/projections/collision-projections.d.ts +1 -1
  514. package/dist/domain/projections/composition-projections.d.ts +1 -1
  515. package/dist/domain/projections/composition-projections.js +1 -1
  516. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  517. package/dist/domain/projections/index.d.ts +1 -1
  518. package/dist/domain/projections/position-projections.d.ts +1 -1
  519. package/dist/domain/projections/projected-entities-projections.d.ts +2 -3
  520. package/dist/domain/projections/snap-matching.d.ts +1 -2
  521. package/dist/domain/projections/snap-utils.d.ts +1 -2
  522. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  523. package/dist/domain/projections/validation-projections.d.ts +3 -20
  524. package/dist/domain/projections/validation-projections.js +1 -1
  525. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  526. package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
  527. package/dist/domain/system-components/admin-sidebar.js +1 -1
  528. package/dist/domain/system-components/angle-dimension.js +1 -1
  529. package/dist/domain/system-components/application-config.d.ts +1 -1
  530. package/dist/domain/system-components/application-config.js +1 -1
  531. package/dist/domain/system-components/attribute-selection.js +1 -1
  532. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  533. package/dist/domain/system-components/bounding-box-component.js +1 -1
  534. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  535. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  536. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  537. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  538. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  539. package/dist/domain/system-components/child-entity-selection.js +1 -1
  540. package/dist/domain/system-components/collision-box-geometry.d.ts +1 -1
  541. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  542. package/dist/domain/system-components/collision-geometries.d.ts +1 -1
  543. package/dist/domain/system-components/collision-geometry.d.ts +1 -1
  544. package/dist/domain/system-components/collision-geometry.js +1 -1
  545. package/dist/domain/system-components/collision-point-geometry.d.ts +1 -1
  546. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  547. package/dist/domain/system-components/common/index.d.ts +0 -4
  548. package/dist/domain/system-components/common/index.js +1 -1
  549. package/dist/domain/system-components/common/recipes.d.ts +1 -2
  550. package/dist/domain/system-components/constraint.d.ts +1 -1
  551. package/dist/domain/system-components/constraint.js +1 -1
  552. package/dist/domain/system-components/create-blueprint.d.ts +1 -1
  553. package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
  554. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  555. package/dist/domain/system-components/detail.js +1 -1
  556. package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
  557. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  558. package/dist/domain/system-components/distance-dimension.d.ts +1 -1
  559. package/dist/domain/system-components/distance-dimension.js +1 -1
  560. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  561. package/dist/domain/system-components/drag-handle.js +1 -1
  562. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  563. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  564. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  565. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  566. package/dist/domain/system-components/generic-dimension.d.ts +1 -1
  567. package/dist/domain/system-components/generic-dimension.js +1 -1
  568. package/dist/domain/system-components/hidden-entity.js +1 -1
  569. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -2
  570. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  571. package/dist/domain/system-components/index.d.ts +0 -68
  572. package/dist/domain/system-components/index.js +1 -1
  573. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  574. package/dist/domain/system-components/material-override-transformer.js +1 -1
  575. package/dist/domain/system-components/material-swatch.js +1 -1
  576. package/dist/domain/system-components/navigation-page.js +1 -1
  577. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  578. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  579. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  580. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  581. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  582. package/dist/domain/system-components/pivot-point.d.ts +1 -1
  583. package/dist/domain/system-components/pivot-point.js +1 -1
  584. package/dist/domain/system-components/price.js +1 -1
  585. package/dist/domain/system-components/projected-entities.d.ts +1 -1
  586. package/dist/domain/system-components/projected-entities.js +1 -1
  587. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  588. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  589. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  590. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  591. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  592. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  593. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  594. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  595. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  596. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  597. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  598. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  599. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  600. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  601. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  602. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  603. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  604. package/dist/domain/system-components/scene-entity-object.js +1 -1
  605. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  606. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  607. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  608. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  609. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  610. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  611. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  612. package/dist/domain/system-components/sketching-line.d.ts +1 -1
  613. package/dist/domain/system-components/sketching-line.js +1 -1
  614. package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
  615. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  616. package/dist/domain/system-components/sketching.d.ts +1 -1
  617. package/dist/domain/system-components/sketching.js +1 -1
  618. package/dist/domain/system-components/snap-axis.d.ts +1 -1
  619. package/dist/domain/system-components/snap-axis.js +1 -1
  620. package/dist/domain/system-components/snap-edge.d.ts +1 -1
  621. package/dist/domain/system-components/snap-edge.js +1 -1
  622. package/dist/domain/system-components/snap-plane.d.ts +1 -1
  623. package/dist/domain/system-components/snap-plane.js +1 -1
  624. package/dist/domain/system-components/snap-point.d.ts +1 -1
  625. package/dist/domain/system-components/snap-point.js +1 -1
  626. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  627. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  628. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  629. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  630. package/dist/domain/utils/eval-cache.d.ts +1 -2
  631. package/dist/domain/utils/memo-eval.d.ts +2 -4
  632. package/dist/editor/Editor.js +1 -1
  633. package/dist/editor/domain-editors/use-implementation-files.d.ts +7 -6
  634. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  635. package/dist/editor/variants/VariantAnswerFooter.d.ts +17 -0
  636. package/dist/editor/variants/VariantAnswerFooter.js +1 -0
  637. package/dist/editor/variants/VariantPreviewHandler.d.ts +6 -0
  638. package/dist/editor/variants/VariantPreviewHandler.js +1 -0
  639. package/dist/editor/variants/variant-preview-styles.d.ts +49 -0
  640. package/dist/editor/variants/variant-preview-styles.js +1 -0
  641. package/dist/i18n/locales/cs/messages.js +1 -1
  642. package/dist/i18n/locales/da/messages.js +1 -1
  643. package/dist/i18n/locales/de/messages.js +1 -1
  644. package/dist/i18n/locales/de-AT/messages.js +1 -1
  645. package/dist/i18n/locales/en/messages.js +1 -1
  646. package/dist/i18n/locales/en-AU/messages.js +1 -1
  647. package/dist/i18n/locales/en-GB/messages.js +1 -1
  648. package/dist/i18n/locales/es/messages.js +1 -1
  649. package/dist/i18n/locales/fr/messages.js +1 -1
  650. package/dist/i18n/locales/hu/messages.js +1 -1
  651. package/dist/i18n/locales/it/messages.js +1 -1
  652. package/dist/i18n/locales/nl/messages.js +1 -1
  653. package/dist/i18n/locales/pl/messages.js +1 -1
  654. package/dist/i18n/locales/pt/messages.js +1 -1
  655. package/dist/i18n/locales/ro/messages.js +1 -1
  656. package/dist/i18n/locales/sk/messages.js +1 -1
  657. package/dist/i18n/locales/tr/messages.js +1 -1
  658. package/dist/legacy/domain-cli/gen/configurator-builder.js +21 -8
  659. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  660. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  661. package/dist/legacy/domain-cli/gen/invariants.js +5 -3
  662. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  663. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  664. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  665. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  666. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -19
  667. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +15 -16
  668. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +22 -23
  669. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +15 -16
  670. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
  671. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
  672. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
  673. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
  674. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
  675. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  676. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
  677. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  678. package/dist/phoenix/cli.js +1 -1
  679. package/dist/phoenix/commands/dev.js +5 -5
  680. package/dist/phoenix/commands/index.d.ts +1 -0
  681. package/dist/phoenix/commands/index.js +1 -1
  682. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  683. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  684. package/dist/phoenix/commands/story-dev.js +2 -2
  685. package/dist/phoenix/commands/variants.d.ts +35 -0
  686. package/dist/phoenix/commands/variants.js +1 -0
  687. package/dist/phoenix/editor-server/commands-router.d.ts +68 -1
  688. package/dist/phoenix/editor-server/commands-router.js +1 -1
  689. package/dist/phoenix/editor-server/editor-router.d.ts +65 -0
  690. package/dist/phoenix/editor-server/editor-server.d.ts +3 -3
  691. package/dist/phoenix/editor-server/editor-server.js +1 -1
  692. package/dist/phoenix/editor-server/protocol.d.ts +1 -0
  693. package/dist/phoenix/editor-server/spec-router.js +1 -1
  694. package/dist/phoenix/editor-server/trpc.d.ts +3 -0
  695. package/dist/phoenix/scripts/build-admin.js +1 -1
  696. package/dist/phoenix/services/application-spec-project-watcher.d.ts +13 -2
  697. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  698. package/dist/phoenix/services/index.d.ts +4 -0
  699. package/dist/phoenix/services/index.js +1 -1
  700. package/dist/phoenix/services/phoenix-application.d.ts +21 -0
  701. package/dist/phoenix/services/phoenix-application.js +1 -0
  702. package/dist/phoenix/services/phoenix-store.d.ts +48 -0
  703. package/dist/phoenix/services/phoenix-store.js +1 -0
  704. package/dist/phoenix/services/phx-variant-previews-plugin.d.ts +9 -0
  705. package/dist/phoenix/services/phx-variant-previews-plugin.js +1 -0
  706. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  707. package/dist/phoenix/services/variant-file-session.d.ts +36 -0
  708. package/dist/phoenix/services/variant-file-session.js +1 -0
  709. package/dist/phoenix/services/variant-preview-service.d.ts +80 -0
  710. package/dist/phoenix/services/variant-preview-service.js +1 -0
  711. package/dist/phoenix/services/vite-config.js +1 -1
  712. package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
  713. package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
  714. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
  715. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  716. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +24 -24
  717. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +5 -5
  718. package/dist/ui-sdk/theme/types.d.ts +1 -1
  719. package/dist/webhook/builders/common.d.ts +8 -0
  720. package/dist/webhook/builders/webhook-builder.d.ts +1 -1
  721. package/dist/webhook/builders/webhook-builder.js +1 -1
  722. package/package.json +3 -3
  723. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  724. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  725. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  726. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  727. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  728. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  729. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  730. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  731. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  732. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  733. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  734. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  735. package/dist/domain/actions/action-factory.d.ts +0 -10
  736. package/dist/domain/actions/prepare-action-implementations.js +0 -5
  737. package/dist/domain/application/element-registration.js +0 -1
  738. package/dist/domain/application/handler-registration.js +0 -1
  739. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -13
  740. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  741. package/dist/domain/components/debug-state-component.js +0 -1
  742. package/dist/domain/components/drag-state-component.js +0 -1
  743. package/dist/domain/components/export-state-component.js +0 -1
  744. package/dist/domain/components/fullscreen-state-component.js +0 -1
  745. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  746. package/dist/domain/components/hover-state-component.js +0 -1
  747. package/dist/domain/components/index.d.ts +0 -2
  748. package/dist/domain/components/index.js +0 -1
  749. package/dist/domain/components/navigation-state-component.js +0 -1
  750. package/dist/domain/components/selection-state-component.js +0 -1
  751. package/dist/domain/components/system-component-builder.js +0 -1
  752. package/dist/domain/components/system-virtual-entity.js +0 -1
  753. package/dist/domain/components/tool-state-component.js +0 -1
  754. package/dist/domain/components/view-state-component.js +0 -1
  755. package/dist/domain/components/viewport-state-component.js +0 -1
  756. package/dist/domain/core/expression.d.ts +0 -50
  757. package/dist/domain/core/json-schema.js +0 -1
  758. package/dist/domain/core/reflection.js +0 -1
  759. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  760. package/dist/domain/expressions/constant-expressions.js +0 -1
  761. package/dist/domain/expressions/custom-expression.js +0 -1
  762. package/dist/domain/expressions/index.d.ts +0 -1
  763. package/dist/domain/expressions/index.js +0 -1
  764. package/dist/domain/invariants/custom-invariants.js +0 -1
  765. package/dist/domain/invariants/invariants.d.ts +0 -68
  766. package/dist/domain/invariants/invariants.js +0 -1
  767. package/dist/domain/invariants/violation-component.js +0 -1
  768. package/dist/domain/relations/all-of-type-relation.js +0 -1
  769. package/dist/domain/relations/component-factories.js +0 -1
  770. package/dist/domain/relations/composed-of.js +0 -1
  771. package/dist/domain/relations/indirect-relation.js +0 -1
  772. package/dist/domain/relations/reference-component.js +0 -1
  773. package/dist/domain/system-components/angle-indicator.js +0 -1
  774. package/dist/domain/system-components/attribute-switch.js +0 -1
  775. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  776. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  777. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  778. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  779. package/dist/domain/system-components/canvas-config.js +0 -1
  780. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  781. package/dist/domain/system-components/canvas-padding.js +0 -1
  782. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  783. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  784. package/dist/domain/system-components/client-side-image.js +0 -1
  785. package/dist/domain/system-components/color-value.js +0 -1
  786. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  787. package/dist/domain/system-components/common/dimension-indicator-schema.js +0 -1
  788. package/dist/domain/system-components/custom-price-footer.js +0 -1
  789. package/dist/domain/system-components/dimension-indicator.js +0 -1
  790. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  791. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  792. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  793. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  794. package/dist/domain/system-components/entity-header.js +0 -1
  795. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  796. package/dist/domain/system-components/finalize-action.js +0 -1
  797. package/dist/domain/system-components/finalize-component.js +0 -1
  798. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  799. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  800. package/dist/domain/system-components/fixed-header.js +0 -1
  801. package/dist/domain/system-components/floating-header.js +0 -1
  802. package/dist/domain/system-components/hidden-header.js +0 -1
  803. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  804. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  805. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  806. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  807. package/dist/domain/system-components/navigation-steps.js +0 -1
  808. package/dist/domain/system-components/offset-anchors.js +0 -1
  809. package/dist/domain/system-components/offset-indicator.js +0 -1
  810. package/dist/domain/system-components/offset.js +0 -1
  811. package/dist/domain/system-components/other-action.js +0 -1
  812. package/dist/domain/system-components/property-page.js +0 -1
  813. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  814. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  815. package/dist/domain/system-components/rotatable.js +0 -1
  816. package/dist/domain/system-components/rotation-handle.js +0 -1
  817. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  818. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  819. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  820. package/dist/domain/system-components/scene-entity-control.js +0 -1
  821. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  822. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  823. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  824. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  825. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  826. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  827. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  828. package/dist/domain/system-components/selectable-component.js +0 -1
  829. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  830. package/dist/domain/system-components/simple-summary.js +0 -1
  831. package/dist/domain/system-components/size.js +0 -1
  832. package/dist/domain/system-components/sketching-draw.js +0 -1
  833. package/dist/domain/system-components/sketching-edit.js +0 -1
  834. package/dist/domain/system-components/summary-component.js +0 -1
  835. package/dist/domain/system-components/text-value.js +0 -1
  836. package/dist/domain/system-components/tool-controls.js +0 -1
  837. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  838. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  839. package/dist/domain/system-components/view-controls.js +0 -1
  840. package/dist/phoenix/application-spec/generate-assistant-prompt.d.ts +0 -13
  841. package/dist/phoenix/application-spec/generate-assistant-prompt.js +0 -1
  842. /package/dist/domain/{components/component-reader-types.js → application/assistant/assistant-manifest.js} +0 -0
  843. /package/dist/domain/{core/action.js → application/assistant/assistant-resolved-manifest.js} +0 -0
  844. /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
  845. /package/dist/domain/core/{enhanced-json-schema.js → action/action.js} +0 -0
  846. /package/dist/domain/core/{expression.js → component/component-reader-types.js} +0 -0
  847. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  848. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  849. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  850. /package/dist/domain/{components → core/component}/updates.js +0 -0
  851. /package/dist/domain/core/{schema-validator.js → data-schema/data-cell-value.js} +0 -0
  852. /package/dist/domain/{relations/reference-field.js → core/data-schema/data-schema-array-field.js} +0 -0
  853. /package/dist/domain/{relations/relation-implementation.js → core/data-schema/data-schema-field-object.js} +0 -0
  854. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  855. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  856. /package/dist/domain/{invariants → core/invariant}/violation.js +0 -0
  857. /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
  858. /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
  859. /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
  860. /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
  861. /package/dist/domain/core/{component.js → model/component.js} +0 -0
  862. /package/dist/domain/core/{model.d.ts → model/model.d.ts} +0 -0
  863. /package/dist/domain/core/{model.js → model/model.js} +0 -0
  864. /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
  865. /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
  866. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  867. /package/dist/domain/{relations → core/relation}/relation-factory.js +0 -0
  868. /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
  869. /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
  870. /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
  871. /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
  872. /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
  873. /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
  874. /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
  875. /package/dist/domain/core/{migrations.js → state/migrations.js} +0 -0
  876. /package/dist/domain/core/{state.js → state/state.js} +0 -0
  877. /package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.js +0 -0
  878. /package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  879. /package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +0 -0
  880. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  881. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  882. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  883. /package/dist/domain/{system-components → extensions}/client-side-image.d.ts +0 -0
  884. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  885. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  886. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  887. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  888. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  889. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  890. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  891. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  892. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  893. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  894. /package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +0 -0
  895. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  896. /package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +0 -0
  897. /package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +0 -0
  898. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  899. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  900. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  901. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  902. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  903. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  904. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  905. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  906. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  907. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -1,5 +1,4 @@
1
- import type { DomainEntity, DomainEntityId } from '../core/model.js';
2
- import type { DomainEntityReflection, RawAliasReflection } from '../core/reflection.js';
1
+ import type { DomainEntity, DomainEntityId, DomainEntityReflection, RawAliasReflection } from '../model/index.js';
3
2
  import type { ComposedOfComponentState } from './composed-of.js';
4
3
  import type { ReferenceComponentState } from './reference-component.js';
5
4
  export declare const createSingleReferenceRead: <TARGET extends DomainEntity<string>>(_targetReflection: DomainEntityReflection<TARGET> | RawAliasReflection<TARGET>, field: string) => (self: object, state: unknown, ctx: unknown) => ReferenceComponentState;
@@ -0,0 +1 @@
1
+ import{memoEval as e}from"../../utils/memo-eval.js";export const createSingleReferenceRead=(t,r)=>e(e=>[e[r]],e=>({referencedEntityIds:null===e?[]:[e]}));export const createSingleReferenceWrite=(e,t)=>r=>{let n=r.referencedEntityIds[0];return n&&e.assertId(n),{[t]:n??null}};export const createMultipleReferenceRead=(t,r)=>e(e=>[e[r]],e=>({referencedEntityIds:e}));export const createMultipleReferenceWrite=(e,t)=>r=>(e.assertIds(r.referencedEntityIds),{[t]:r.referencedEntityIds});export const createSingleCompositionRead=t=>e(e=>[e[t]?.id??null],e=>({childEntityIds:null===e?[]:[e]}));export const createMultipleCompositionRead=t=>e(e=>e[t].map(e=>e.id),(...e)=>({childEntityIds:e}));export const createEmptyWrite=()=>()=>({});
@@ -1,4 +1,4 @@
1
- import { type DomainEntityId } from '../core/model.js';
1
+ import { type DomainEntityId } from '../model/index.js';
2
2
  export type ComposedOfComponentState = {
3
3
  /**
4
4
  * List of entity IDs that the parent entity is composed of
@@ -0,0 +1 @@
1
+ import{SystemComponentBuilder as o}from"../component/index.js";import{EntityIdSchema as t}from"../model/index.js";export const composedOfComponent=o.component("composedOf").withState({type:"object",properties:{childEntityIds:{type:"array",items:t}},required:["childEntityIds"],additionalProperties:!1}).build();
@@ -1,6 +1,5 @@
1
- import type { ExpandAlias, TypeOrAlias } from '../core/alias.js';
2
- import type { ExpressionMeta } from '../core/expression.js';
3
- import type { DomainEntity } from '../core/model.js';
1
+ import type { ExpressionMeta } from '../expression/index.js';
2
+ import type { DomainEntity, ExpandAlias, TypeOrAlias } from '../model/index.js';
4
3
  import type { ArrayReferenceField, SingleReferenceField } from './reference-field.js';
5
4
  import type { RelationImplementation } from './relation-implementation.js';
6
5
  interface DirectArrayRelation<ENTITIES extends DomainEntity<string>, ALIASES extends Record<string, ENTITIES>, SELF extends TypeOrAlias<ENTITIES, ALIASES>, TARGET extends TypeOrAlias<ENTITIES, ALIASES>> {
@@ -0,0 +1,9 @@
1
+ export * from './all-of-type-relation.js';
2
+ export * from './component-factories.js';
3
+ export * from './composed-of.js';
4
+ export * from './direct-relation.js';
5
+ export * from './indirect-relation.js';
6
+ export * from './reference-component.js';
7
+ export type * from './reference-field.js';
8
+ export * from './relation-factory.js';
9
+ export type * from './relation-implementation.js';
@@ -0,0 +1 @@
1
+ export*from"./all-of-type-relation.js";export*from"./component-factories.js";export*from"./composed-of.js";export*from"./direct-relation.js";export*from"./indirect-relation.js";export*from"./reference-component.js";export*from"./relation-factory.js";
@@ -1,7 +1,6 @@
1
- import { type AliasMap, type ExpandAlias, type TypeOrAlias } from '../core/alias.js';
2
- import type { ExpressionMeta } from '../core/expression.js';
3
- import { type DomainEntity, type DomainEntityId } from '../core/model.js';
4
- import type { DomainState } from '../core/state.js';
1
+ import type { ExpressionMeta } from '../expression/index.js';
2
+ import { type AliasMap, type DomainEntity, type DomainEntityId, type ExpandAlias, type TypeOrAlias } from '../model/index.js';
3
+ import type { DomainState } from '../state/index.js';
5
4
  import type { ArrayReferenceField, SingleReferenceField } from './reference-field.js';
6
5
  interface IndirectNullableSingle0Relation<ENTITIES extends DomainEntity<string>, ALIASES extends Record<string, ENTITIES>, SELF extends TypeOrAlias<ENTITIES, ALIASES>, TARGET extends TypeOrAlias<ENTITIES, ALIASES>> {
7
6
  kind: 'indirect';
@@ -0,0 +1 @@
1
+ import{isArray as e}from"@salsita-ai/common/utils";import{expandAlias as t}from"../model/index.js";let r=e=>"string"==typeof e;export const createIndirectRelation=i=>{let n=new Map,o=new WeakMap,a=!1;return l=>{if(a)throw Error(`Cannot register indirect relation ${String(l.target)}#${l.field} after evaluation started. Create all relation expressions before evaluating the domain state.`);let s=new Set(t(i,l.target)),f=`${l.field}|${[...s].sort().join("|")}`;return n.set(f,{field:l.field,targetTypes:s}),(t,i)=>(t=>{let i=o.get(t);if(i)return i;a=!0;let l=new Map([...n.keys()].map(e=>[e,new Map]));for(let i of t.entities)for(let[t,{field:o,targetTypes:a}]of n){if(!a.has(i.type))continue;let n=i[o],s=e(n)?new Set(n.filter(r)):r(n)?[n]:[],f=l.get(t);for(let e of s){let t=f.get(e);t||(t=[],f.set(e,t)),t.push(i.id)}}return o.set(t,l),l})(i).get(f).get(t)??[]}};
@@ -1,6 +1,5 @@
1
- import type { DomainComponentOpticBuilder } from '../components/domain-component-optic.js';
2
- import type { $DomainEntity, DomainEntity, DomainEntityId } from '../core/model.js';
3
- import type { DomainEntityReflection, RawAliasReflection } from '../core/reflection.js';
1
+ import { type DomainComponentOpticBuilder } from '../component/index.js';
2
+ import { type $DomainEntity, type DomainEntity, type DomainEntityId, type DomainEntityReflection, type RawAliasReflection } from '../model/index.js';
4
3
  import type { ArrayReferenceField, SingleReferenceField } from './reference-field.js';
5
4
  export type ReferenceComponentState = {
6
5
  /**
@@ -14,5 +13,5 @@ export type ReferenceComponentState = {
14
13
  */
15
14
  export declare const referenceComponent: import("../index.js").SystemComponentType<"reference", ReferenceComponentState, "referencedEntityIds">;
16
15
  export type ReferenceComponent = typeof referenceComponent;
17
- export declare const attachSingleReferenceComponent: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>, ENTITY extends ENTITIES, $ENTITY extends $DomainEntity<ENTITY>, TARGET_ENTITY extends ENTITIES>(attachComponent: DomainComponentOpticBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, ENTITY, $ENTITY, typeof referenceComponent>, targetReflection: DomainEntityReflection<TARGET_ENTITY> | RawAliasReflection<TARGET_ENTITY>, field: SingleReferenceField<ENTITY, TARGET_ENTITY, any>) => import("../components/domain-component-optic.js").DomainComponentSimpleOptic<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITY, import("../index.js").SystemComponentType<"reference", ReferenceComponentState, "referencedEntityIds">>;
18
- export declare const attachMultipleReferenceComponent: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>, ENTITY extends ENTITIES, $ENTITY extends $DomainEntity<ENTITY>, TARGET_ENTITY extends ENTITIES>(attachComponent: DomainComponentOpticBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, ENTITY, $ENTITY, typeof referenceComponent>, targetReflection: DomainEntityReflection<TARGET_ENTITY> | RawAliasReflection<TARGET_ENTITY>, field: ArrayReferenceField<ENTITY, TARGET_ENTITY>) => import("../components/domain-component-optic.js").DomainComponentSimpleOptic<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITY, import("../index.js").SystemComponentType<"reference", ReferenceComponentState, "referencedEntityIds">>;
16
+ export declare const attachSingleReferenceComponent: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>, ENTITY extends ENTITIES, $ENTITY extends $DomainEntity<ENTITY>, TARGET_ENTITY extends ENTITIES, CONTEXT_EXTENSION = unknown>(attachComponent: DomainComponentOpticBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, ENTITY, $ENTITY, typeof referenceComponent, CONTEXT_EXTENSION>, targetReflection: DomainEntityReflection<TARGET_ENTITY> | RawAliasReflection<TARGET_ENTITY>, field: SingleReferenceField<ENTITY, TARGET_ENTITY, any>) => import("../index.js").DomainComponentSimpleOptic<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITY, import("../index.js").SystemComponentType<"reference", ReferenceComponentState, "referencedEntityIds">, CONTEXT_EXTENSION>;
17
+ export declare const attachMultipleReferenceComponent: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>, ENTITY extends ENTITIES, $ENTITY extends $DomainEntity<ENTITY>, TARGET_ENTITY extends ENTITIES, CONTEXT_EXTENSION = unknown>(attachComponent: DomainComponentOpticBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, ENTITY, $ENTITY, typeof referenceComponent, CONTEXT_EXTENSION>, targetReflection: DomainEntityReflection<TARGET_ENTITY> | RawAliasReflection<TARGET_ENTITY>, field: ArrayReferenceField<ENTITY, TARGET_ENTITY>) => import("../index.js").DomainComponentSimpleOptic<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITY, import("../index.js").SystemComponentType<"reference", ReferenceComponentState, "referencedEntityIds">, CONTEXT_EXTENSION>;
@@ -0,0 +1 @@
1
+ import{memoEval as e}from"../../utils/memo-eval.js";import{SystemComponentBuilder as t}from"../component/index.js";import{EntityIdSchema as r}from"../model/index.js";export const referenceComponent=t.component("reference").withState({type:"object",properties:{referencedEntityIds:{type:"array",items:r}},required:["referencedEntityIds"],additionalProperties:!1}).withWritableKeys(["referencedEntityIds"]).build();export const attachSingleReferenceComponent=(t,r,n)=>t.attach(e(e=>[e[n]],e=>({referencedEntityIds:null===e?[]:[e]})),e=>{let t=e.referencedEntityIds[0];return t&&r.assertId(t),{[n]:t??null}});export const attachMultipleReferenceComponent=(t,r,n)=>t.attach(e(e=>[e[n]],e=>({referencedEntityIds:e})),e=>(r.assertIds(e.referencedEntityIds),{[n]:e.referencedEntityIds}));
@@ -1,4 +1,4 @@
1
- import type { DomainEntity } from '../core/model.js';
1
+ import type { DomainEntity } from '../model/index.js';
2
2
  export type SingleReferenceField<FROM extends DomainEntity<string>, TO extends DomainEntity<string>, OPTIONALITY extends null | never> = {
3
3
  [K in keyof FROM]: TO['id'] | OPTIONALITY extends FROM[K] ? FROM[K] extends TO['id'] | OPTIONALITY ? K & string : never : never;
4
4
  }[keyof FROM];
@@ -0,0 +1 @@
1
+ export{};
@@ -1,6 +1,5 @@
1
- import type { AliasMap, ExpandAlias, TypeOrAlias } from '../core/alias.js';
2
- import type { AnonymousExpression } from '../core/expression.js';
3
- import type { $DomainEntity, DomainEntity } from '../core/model.js';
1
+ import type { AnonymousExpression } from '../expression/index.js';
2
+ import type { $DomainEntity, AliasMap, DomainEntity, ExpandAlias, TypeOrAlias } from '../model/index.js';
4
3
  import { type AllOfTypeRelation } from './all-of-type-relation.js';
5
4
  import type { DirectRelation } from './direct-relation.js';
6
5
  import { type IndirectRelation } from './indirect-relation.js';
@@ -1,7 +1,6 @@
1
- import type { AliasMap } from '../core/alias.js';
2
- import type { Domain } from '../core/index.js';
3
- import type { DomainEntity, DomainEntityId } from '../core/model.js';
4
- import type { DomainState } from '../core/state.js';
1
+ import type { Domain } from '../domain.js';
2
+ import type { AliasMap, DomainEntity, DomainEntityId } from '../model/index.js';
3
+ import type { DomainState } from '../state/index.js';
5
4
  import type { Relation } from './relation-factory.js';
6
5
  export type RelationImplementation<KIND extends Relation<any, any, any, any>['kind']> = (relation: Extract<Relation<any, any, any, any>, {
7
6
  kind: KIND;
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1 @@
1
+ import{createAjvSchemaValidator as e}from"./create-ajv-schema-validator.js";import{createCspSchemaValidator as a}from"./create-csp-schema-validator.js";let t="csp-compatible"===globalThis.PHX_SCHEMA_VALIDATOR?a:e;export const getExtendedSchemaValidator=()=>{let e=t();return e.addKeyword("tsType"),e.addKeyword("import"),e.addKeyword("declared"),e};export const extendedSchemaValidator=getExtendedSchemaValidator();
@@ -0,0 +1,3 @@
1
+ export type { EnhancedJsonObjectSchemaType, EnhancedJsonSchemaType, JsonSchemaType, MemberImport, } from './enhanced-json-schema.js';
2
+ export { extendedSchemaValidator, getExtendedSchemaValidator } from './extended-schema-validator.js';
3
+ export type { PhxValidateFunction, PhxValidationError, SchemaValidator } from './schema-validator.js';
@@ -0,0 +1 @@
1
+ export{extendedSchemaValidator,getExtendedSchemaValidator}from"./extended-schema-validator.js";
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,15 @@
1
+ import type { DomainEntity, DomainEntityId } from '../model/index.js';
2
+ /**
3
+ * Hands out the ids of entities that are about to be created, one sequence per entity type. An
4
+ * action or a transformer asks it for an id instead of computing one from the state.
5
+ */
6
+ export type IdSequence<ENTITIES extends DomainEntity<string>> = {
7
+ /**
8
+ * Returns the next available entity ID for the given type.
9
+ * This automatically increments the sequence number for the given type, so that the next call will return a new ID.
10
+ *
11
+ * @param type the entity type
12
+ * @returns a new domain entity ID for the given type
13
+ */
14
+ nextId: <TYPE extends ENTITIES['type']>(type: TYPE) => DomainEntityId<TYPE>;
15
+ };
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,3 @@
1
+ export type * from './id-sequence.js';
2
+ export * from './migrations.js';
3
+ export * from './state.js';
@@ -0,0 +1 @@
1
+ export*from"./migrations.js";export*from"./state.js";
@@ -1,6 +1,5 @@
1
1
  import { type Logger } from '@salsita-ai/common/utils';
2
- import type { DomainEntity } from './model.js';
3
- import type { EntityReflections } from './reflection.js';
2
+ import type { DomainEntity, EntityReflections } from '../model/index.js';
4
3
  /**
5
4
  * Thrown when domain state cannot be validated/migrated to the latest model
6
5
  * version: an entity is invalid against its schema, an entity type or model
@@ -1,5 +1,4 @@
1
- import type { ComponentSnapshot, SystemComponentTypeConstraint } from './component.js';
2
- import type { DomainEntity } from './model.js';
1
+ import type { ComponentSnapshot, DomainEntity, SystemComponentTypeConstraint } from '../model/index.js';
3
2
  export interface DomainState<ENTITIES extends DomainEntity<string>> {
4
3
  readonly rootEntityId: ENTITIES['id'];
5
4
  readonly rootEntityType: ENTITIES['type'];
@@ -1,14 +1,6 @@
1
1
  import { type ExtendedJsonSchema } from '@salsita-ai/common/utils';
2
- import type { ActionDefinition, AnyActionImplementations } from './core/action.js';
3
- import { type AliasMap, type ExpandAlias, type TypeOrAlias } from './core/alias.js';
4
- import type { AnonymousExpression } from './core/expression.js';
5
- import { DomainFactory } from './core/index.js';
6
- import { type MigrateFunction } from './core/migrations.js';
7
- import { type $DomainEntity, type DomainEntity, type EntityByType } from './core/model.js';
8
- import type { $DomainEntityReflection, EntityReflections, SchemaOfObject } from './core/reflection.js';
9
- export type AliasedExpressions<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>> = {
10
- [K in TypeOrAlias<ENTITIES, ALIASES>]?: Record<string, AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ExpandAlias<ENTITIES, ALIASES, K>, unknown>>;
11
- };
2
+ import { type $DomainEntity, type $DomainEntityReflection, type ActionDefinition, type AliasMap, type AliasedExpressions, type AnyActionImplementations, type DomainEntity, DomainFactory, type EntityByType, type EntityReflections, type MigrateFunction, type SchemaOfObject } from './core/index.js';
3
+ import { type ProjectModule } from './domain-runtime/index.js';
12
4
  type $EntityReflections<ENTITIES extends DomainEntity<string>> = {
13
5
  [TYPE in ENTITIES['type']]: $DomainEntityReflection<$DomainEntity<EntityByType<ENTITIES, TYPE>>>;
14
6
  };
@@ -31,9 +23,17 @@ export declare class DomainBuilder<ENTITIES extends DomainEntity<string>, ALLOWE
31
23
  static from<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Readonly<Record<string, ENTITIES>>>(entities: EntityReflections<ENTITIES>, aliasMap: AliasMap<ALIASES>, $entityReflections: $EntityReflections<ENTITIES>, allowedRootEntityTypes: ReadonlyArray<ALLOWED_ROOT_ENTITIES['type']>, modelVersion: number, publishedData: SchemaOfObject<PUBLISHED_DATA>, sessionData: SchemaOfObject<SESSION_DATA>, frontendData: SchemaOfObject<FRONTEND_DATA>, backendData: ExtendedJsonSchema | undefined, isAdminDomain: boolean): DomainBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, ALIASES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
32
24
  withMigrate(migration: MigrateFunction<ENTITIES>): DomainBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, ALIASES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
33
25
  withExpressions(implementation: AliasedExpressions<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES>): DomainBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, ALIASES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
26
+ /**
27
+ * Adds the expressions of the `src/expressions/` files, as the generated barrel lists them. Each file
28
+ * is checked against the folder's contract and added on its own, so an expression defined twice is
29
+ * reported with both files instead of being overwritten by file order.
30
+ */
31
+ withExpressionModules(modules: readonly ProjectModule[]): DomainBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, ALIASES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
34
32
  /** Declares the actions of the domain, as the generated `domain-spec.ts` reads them from the spec's `actions` section. */
35
33
  withActions(actions: readonly ActionDefinition[]): DomainBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, ALIASES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
36
- /** Adds the implementations of the declared actions, as the generated barrel merges them from `src/actions/`. */
34
+ /** Adds the action implementations of the `src/actions/` files, as the generated barrel lists them, after checking each file against the folder's contract. */
35
+ withActionModules(modules: readonly ProjectModule[]): DomainBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, ALIASES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
36
+ /** Adds the implementations of the declared actions, already merged by action name. */
37
37
  withActionImplementations(implementations: AnyActionImplementations): DomainBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, ALIASES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
38
38
  build: () => DomainFactory<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
39
39
  }
@@ -1 +1 @@
1
- import{expandAlias as t}from"./core/alias.js";import{DomainFactory as i}from"./core/index.js";import{MigrateFunctionBuilder as e}from"./core/migrations.js";import{withProfilerLabel as s}from"./utils/profiler-label.js";export class DomainBuilder{entities;aliasMap;$entityReflections;allowedRootEntityTypes;implemented;modelVersion;publishedData;sessionData;frontendData;backendData;migrate;isAdminDomain;actions;actionImplementations;constructor(t,i,e,s,a,n,o,h,l,m,r,d,p,c){this.entities=t,this.aliasMap=i,this.$entityReflections=e,this.allowedRootEntityTypes=s,this.implemented=a,this.modelVersion=n,this.publishedData=o,this.sessionData=h,this.frontendData=l,this.backendData=m,this.migrate=r,this.isAdminDomain=d,this.actions=p,this.actionImplementations=c}static from(t,i,s,a,n,o,h,l,m,r){let d=e.fromVersions({1:t}).to(1).using({}).build();return new DomainBuilder(t,i,s,a,{},n,o,h,l,m,d,r,{},{})}withMigrate(t){return new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,this.implemented,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,t,this.isAdminDomain,this.actions,this.actionImplementations)}withExpressions(i){let e={...this.implemented};return Object.entries(i).forEach(([i,a])=>{t(this.aliasMap,i).forEach(t=>{let n={...e[t]};e[t]=n,Object.entries(a).forEach(([e,a])=>{let o=n[e];if(o)throw Error(`Duplicate expression ${t}.${e}: The expression is defined on both ${i} and ${o.origin.typeOrAlias}, which would lead to ambiguous usage. Please ensure that expressions are only defined once.`);n[e]={...a,evaluate:s(`${t}_${e}`,a.evaluate),origin:{name:e,typeOrAlias:i}}})})}),new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,e,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,this.migrate,this.isAdminDomain,this.actions,this.actionImplementations)}withActions(t){return new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,this.implemented,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,this.migrate,this.isAdminDomain,Object.fromEntries(t.map(t=>[t.name,t])),this.actionImplementations)}withActionImplementations(t){return new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,this.implemented,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,this.migrate,this.isAdminDomain,this.actions,{...this.actionImplementations,...t})}build=()=>{let t=this.implemented,s=this.migrate??e.fromVersions({1:this.entities}).to(1).using({}).build();return new i({aliasMap:this.aliasMap,entityReflections:this.entities,$entityReflections:this.$entityReflections,expressions:t,allowedRootEntityTypes:this.allowedRootEntityTypes,modelVersion:this.modelVersion,migrate:s,publishedData:this.publishedData,sessionData:this.sessionData,frontendData:this.frontendData,backendData:this.backendData,isAdminDomain:this.isAdminDomain,actions:this.actions,actionImplementations:this.actionImplementations})}}
1
+ import{DomainFactory as t,MigrateFunctionBuilder as i,expandAlias as e}from"./core/index.js";import{resolveActionModules as s,resolveExpressionModules as n}from"./domain-runtime/index.js";import{withProfilerLabel as a}from"./utils/profiler-label.js";export class DomainBuilder{entities;aliasMap;$entityReflections;allowedRootEntityTypes;implemented;modelVersion;publishedData;sessionData;frontendData;backendData;migrate;isAdminDomain;actions;actionImplementations;constructor(t,i,e,s,n,a,o,h,l,r,m,d,p,c){this.entities=t,this.aliasMap=i,this.$entityReflections=e,this.allowedRootEntityTypes=s,this.implemented=n,this.modelVersion=a,this.publishedData=o,this.sessionData=h,this.frontendData=l,this.backendData=r,this.migrate=m,this.isAdminDomain=d,this.actions=p,this.actionImplementations=c}static from(t,e,s,n,a,o,h,l,r,m){let d=i.fromVersions({1:t}).to(1).using({}).build();return new DomainBuilder(t,e,s,n,{},a,o,h,l,r,d,m,{},{})}withMigrate(t){return new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,this.implemented,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,t,this.isAdminDomain,this.actions,this.actionImplementations)}withExpressions(t){let i={...this.implemented};return Object.entries(t).forEach(([t,s])=>{e(this.aliasMap,t).forEach(e=>{let n={...i[e]};i[e]=n,Object.entries(s).forEach(([i,s])=>{let o=n[i];if(o)throw Error(`Duplicate expression ${e}.${i}: The expression is defined on both ${t} and ${o.origin.typeOrAlias}, which would lead to ambiguous usage. Please ensure that expressions are only defined once.`);n[i]={...s,evaluate:a(`${e}_${i}`,s.evaluate),origin:{name:i,typeOrAlias:t}}})})}),new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,i,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,this.migrate,this.isAdminDomain,this.actions,this.actionImplementations)}withExpressionModules(t){return n(t,this.aliasMap).reduce((t,i)=>t.withExpressions(i.expressions),this)}withActions(t){return new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,this.implemented,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,this.migrate,this.isAdminDomain,Object.fromEntries(t.map(t=>[t.name,t])),this.actionImplementations)}withActionModules(t){return this.withActionImplementations(s(t))}withActionImplementations(t){return new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,this.implemented,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,this.migrate,this.isAdminDomain,this.actions,{...this.actionImplementations,...t})}build=()=>{let e=this.implemented,s=this.migrate??i.fromVersions({1:this.entities}).to(1).using({}).build();return new t({aliasMap:this.aliasMap,entityReflections:this.entities,$entityReflections:this.$entityReflections,expressions:e,allowedRootEntityTypes:this.allowedRootEntityTypes,modelVersion:this.modelVersion,migrate:s,publishedData:this.publishedData,sessionData:this.sessionData,frontendData:this.frontendData,backendData:this.backendData,isAdminDomain:this.isAdminDomain,actions:this.actions,actionImplementations:this.actionImplementations})}}
@@ -1,7 +1,5 @@
1
- import type { ActionContext, ActionTypes, PreparedAction } from '../../core/action.js';
2
- import type { $DomainEntity, DomainEntity } from '../../core/model.js';
3
- import type { DomainState } from '../../core/state.js';
4
- import type { DomainContextSelectors } from '../../domain-runtime/domain-context/index.js';
1
+ import { type $DomainEntity, type ActionTypes, type DomainEntity, type DomainState, type PreparedAction } from '../../core/index.js';
2
+ import type { ActionContext, DomainContextSelectors } from '../../domain-runtime/index.js';
5
3
  export interface ActionSystemContext {
6
4
  /**
7
5
  * The action system's window into the runtime registry: the declared actions and their
@@ -1 +1 @@
1
- import{createSelector as t}from"@salsita-ai/common/utils";import{createUpdateFactory as e}from"../../components/updates.js";import{extendedSchemaValidator as s}from"../../core/json-schema.js";import{getIdSequence as o}from"../store-system/next-domain-entity-id.js";export class ActionSystem{_context;_selectValidators=t([t.leaf(t=>t)],t=>new Map(Object.values(t).map(t=>[t.name,s.compile(t.params)])));_updates=e();constructor(t){this._context=t}createContext=t=>({expressionContext:this._context.selectors.getExpressionContext(),systems:this._context.selectors.getDomainSystems(),getIdSequence:()=>o(t.entities,[]),updates:this._updates});prepareAction=(t,e,o)=>{let n=this._context.selectors.getActionDefinitions(),i=Object.values(n).find(e=>e.name===t);if(!i){let e=Object.values(n).map(t=>`"${t.name}"`);throw Error(`Unknown action "${t}". ${e.length>0?`The application declares these actions: ${e.join(", ")}.`:"The application declares no actions."} Declare it under "actions" in a spec file and implement it in src/actions/.`)}let a=this._selectValidators(n).get(i.name);if(a&&!a(e))throw Error(`The arguments of action "${t}" do not fit its params: ${s.errorsText(a.errors)}. Nothing was changed. Send arguments that fit the params the action declares.`);return(Object.entries(this._context.selectors.getActionImplementations()).find(([e])=>e===t)?.[1])(e,o,this.createContext(o))}}
1
+ import{createSelector as t}from"@salsita-ai/common/utils";import{createUpdateFactory as e,extendedSchemaValidator as s}from"../../core/index.js";import{getIdSequence as n}from"../store-system/index.js";export class ActionSystem{_context;_selectValidators=t([t.leaf(t=>t)],t=>new Map(Object.values(t).map(t=>[t.name,s.compile(t.params)])));_updates=e();constructor(t){this._context=t}createContext=t=>({expressionContext:this._context.selectors.getExpressionContext(),systems:this._context.selectors.getDomainSystems(),getIdSequence:()=>n(t.entities,[]),updates:this._updates});prepareAction=(t,e,n)=>{let o=this._context.selectors.getActionDefinitions(),i=Object.values(o).find(e=>e.name===t);if(!i){let e=Object.values(o).map(t=>`"${t.name}"`);throw Error(`Unknown action "${t}". ${e.length>0?`The application declares these actions: ${e.join(", ")}.`:"The application declares no actions."} Declare it under "actions" in a spec file and implement it in src/actions/.`)}let a=this._selectValidators(o).get(i.name);if(a&&!a(e))throw Error(`The arguments of action "${t}" do not fit its params: ${s.errorsText(a.errors)}. Nothing was changed. Send arguments that fit the params the action declares.`);return(Object.entries(this._context.selectors.getActionImplementations()).find(([e])=>e===t)?.[1])(e,n,this.createContext(n))}}
@@ -0,0 +1 @@
1
+ export { ActionSystem, type ActionSystemContext, type AnyActionSystem } from './action-system.js';
@@ -0,0 +1 @@
1
+ export{ActionSystem}from"./action-system.js";
@@ -0,0 +1,2 @@
1
+ export { type AnalyticsEvent, AnalyticsEventFactory, AnalyticsEventType, type DataLoadedEvent, type InitEvent, type NavigationEvent, type SessionAuthenticatedEvent, type SystemEvent, type UserActionEvent, } from './analytics-contracts.js';
2
+ export { type AnalyticsSystem, NoopAnalyticsSystem } from './analytics-system.js';
@@ -0,0 +1 @@
1
+ export{AnalyticsEventFactory,AnalyticsEventType}from"./analytics-contracts.js";export{NoopAnalyticsSystem}from"./analytics-system.js";
@@ -1,5 +1,5 @@
1
- import type { $DomainEntity, DomainEntity } from '../core/model.js';
1
+ import type { $DomainEntity, DomainEntity } from '../core/index.js';
2
2
  import type { DomainContextSystems } from './domain-context-systems.js';
3
- import type { UpdateTransformer } from './store-system/store-system.js';
3
+ import type { UpdateTransformer } from './store-system/index.js';
4
4
  export declare const createTransformer: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, NAVIGATION_STATES extends string, VIEW_STATES extends string, TOOL_STATES extends string, EXPORT_STATES extends string>(transformer: (ctx: DomainContextSystems<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES>) => UpdateTransformer<ENTITIES>) => (ctx: DomainContextSystems<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES>) => UpdateTransformer<ENTITIES>;
5
5
  export type TransformerFactory<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, NAVIGATION_STATES extends string, VIEW_STATES extends string, TOOL_STATES extends string, EXPORT_STATES extends string> = (transformer: (ctx: DomainContextSystems<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES>) => UpdateTransformer<ENTITIES>) => (ctx: DomainContextSystems<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES>) => UpdateTransformer<ENTITIES>;
@@ -1 +1 @@
1
- import{SystemComponentBuilder as t}from"../../components/index.js";import{DimensionUnitSchema as e}from"../../dimensions/index.js";export const dimensionStateComponent=t.component("dimensionStateComponent").withState({type:"object",properties:{unit:e},required:["unit"],additionalProperties:!1}).withWritableKeys(["unit"]).build();
1
+ import{SystemComponentBuilder as t}from"../../core/index.js";import{DimensionUnitSchema as e}from"../../dimensions/index.js";export const dimensionStateComponent=t.component("dimensionStateComponent").withState({type:"object",properties:{unit:e},required:["unit"],additionalProperties:!1}).withWritableKeys(["unit"]).build();
@@ -1,8 +1,7 @@
1
- import type { DomainEntity, DomainState } from '../../core/index.js';
1
+ import type { DomainEntity, DomainState, EntityViolation } from '../../core/index.js';
2
2
  import { DimensionUnit, type UnitsConfig } from '../../dimensions/index.js';
3
- import type { DomainContextSelectors } from '../../domain-runtime/domain-context/index.js';
4
- import type { EntityViolation } from '../../invariants/violation.js';
5
- import { SystemState } from '../store-system/system-state.js';
3
+ import type { DomainContextSelectors } from '../../domain-runtime/index.js';
4
+ import { SystemState } from '../store-system/index.js';
6
5
  import { type DimensionStateComponent } from './dimension-state.js';
7
6
  export type DistanceDimensionViolation = `${string}.distanceDimension.tooLarge` | `${string}.distanceDimension.tooSmall`;
8
7
  export type GenericDimensionViolation = `${string}.genericDimension.tooLarge` | `${string}.genericDimension.tooSmall`;
@@ -1 +1 @@
1
- import{AngleUnit as t,DEFAULT_DECIMAL_PLACES as e,DimensionUnit as i,defaultAngleToUnit as n,formatDistanceValue as a,isDimensionGreaterThanMax as o,isDimensionLowerThanMin as s}from"../../dimensions/index.js";import{angleDimensionComponent as l,applicationConfigComponent as m,distanceDimensionComponent as r,genericDimensionComponent as c}from"../../system-components/index.js";import{SystemState as u}from"../store-system/system-state.js";import{dimensionStateComponent as g}from"./dimension-state.js";let d={[t.degree]:"\xb0",[t.radian]:"rad"},p={mm:{strategy:"decimal",decimalPlaces:0},cm:{strategy:"decimal",decimalPlaces:1},m:{strategy:"decimal",decimalPlaces:2},inch:{strategy:"fraction",fractionBasis:[3,4]},feet:{strategy:"fraction-inch",fractionBasis:[3,4]}},h=["mm","cm","m","inch","feet"];function f(t,e){let i={sourceUnit:t.sourceUnit,displayUnit:t.displayUnit,unitDisplayConfig:t.unitDisplayConfig,locale:t.locale,omitLeadingZeroUnits:!0},n=a(t.limitValue,i),o=a(t.currentValue,i);return"tooLarge"===e?{id:"sdk.distanceDimension.hintMessageTooLarge",message:"Current value is {0}, which is larger than allowed maximum of {1}.",values:{0:o.valueWithUnit,1:n.valueWithUnit}}:{id:"sdk.distanceDimension.hintMessageTooSmall",message:"Current value is {0}, which is smaller than allowed minimum of {1}.",values:{0:o.valueWithUnit,1:n.valueWithUnit}}}function y(t,e){let i=`${t.currentValue.toFixed(t.decimalPlaces)}\u00A0${t.unit}`,n=`${t.limitValue}\u00A0${t.unit}`;return"tooLarge"===e?{id:"sdk.genericDimension.hintMessageTooLarge",message:"Current value is {currentWithUnit}, which is larger than allowed maximum of {limitWithUnit}.",values:{currentWithUnit:i,limitWithUnit:n}}:{id:"sdk.genericDimension.hintMessageTooSmall",message:"Current value is {currentWithUnit}, which is smaller than allowed minimum of {limitWithUnit}.",values:{currentWithUnit:i,limitWithUnit:n}}}function v(t,e){let i=`${n(t.currentValue,t.unit).toFixed(t.decimalPlaces)}\u00A0${t.unitLabel}`,a=`${n(t.limitValue,t.unit).toFixed(t.decimalPlaces)}\u00A0${t.unitLabel}`;return"tooLarge"===e?{id:"sdk.angleDimension.hintMessageTooLarge",message:"Current value is {currentWithUnit}, which is larger than allowed maximum of {limitWithUnit}.",values:{currentWithUnit:i,limitWithUnit:a}}:{id:"sdk.angleDimension.hintMessageTooSmall",message:"Current value is {currentWithUnit}, which is smaller than allowed minimum of {limitWithUnit}.",values:{currentWithUnit:i,limitWithUnit:a}}}export class DimensionSystem{_context;state;constructor(t){this._context=t,this.state=new u({selectors:this._context.selectors,componentType:g,getInitialState:t=>{let e=this._context.selectors.getComponentReader().readFirstRootComponent({componentTypes:[m]},t);return{unit:e?.state.initialGlobalUnit??e?.state.distanceDataUnit??i.mm}}})}initialize=t=>this.state.getInitialUpdates(t);getDimensionConfig=t=>{let e=this._context.selectors.getComponentReader().readFirstRootComponent({componentTypes:[m]},t);return{distanceDataUnit:e?.state.distanceDataUnit??i.mm,unitDisplayConfig:e?.state.unitDisplayConfig??p,availableDimensions:e?.state.availableDimensions??h}};getDataDistanceUnit=t=>this.getDimensionConfig(t).distanceDataUnit;getGlobalUnit=t=>this.state.get(t).unit;getSetGlobalUnitUpdates=(t,e)=>this.state.getUpdates(e=>({...e,unit:t}),e);_getDistanceComponentViolations=t=>{let e=this.getDimensionConfig(t),i=this.state.get(t),n=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[r]},t),a=[];for(let t of n){let n=t.state.displayUnit??i.unit,l=t.state.unitDisplayConfig?.[n]??e.unitDisplayConfig[n];if(!l)throw Error(`Unit config for ${n} not found!`);let m=t.state.max;if(void 0!==m&&o(t.state.value,m)){let i={currentValue:t.state.value,limitValue:m,sourceUnit:e.distanceDataUnit,displayUnit:n,unitDisplayConfig:l};a.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.distanceDimension.tooLarge`,severity:"fatal",message:f({...i,locale:"en-US"},"tooLarge"),formatControlViolationMessage:(t,e)=>f({...i,locale:e.i18n.locale},"tooLarge")}})}let r=t.state.min;if(void 0!==r&&s(t.state.value,r)){let i={currentValue:t.state.value,limitValue:r,sourceUnit:e.distanceDataUnit,displayUnit:n,unitDisplayConfig:l};a.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.distanceDimension.tooSmall`,severity:"fatal",message:f({...i,locale:"en-US"},"tooSmall"),formatControlViolationMessage:(t,e)=>f({...i,locale:e.i18n.locale},"tooSmall")}})}}return a};_getGenericComponentViolations=t=>{let i=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[c]},t),n=[];for(let t of i){if(void 0!==t.state.max&&o(t.state.value,t.state.max)){let i={currentValue:t.state.value,limitValue:t.state.max,decimalPlaces:t.state.decimalPlaces??e,unit:t.state.unit};n.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.genericDimension.tooLarge`,severity:"fatal",message:y(i,"tooLarge"),formatControlViolationMessage:()=>y(i,"tooLarge")}})}if(void 0!==t.state.min&&s(t.state.value,t.state.min)){let i={currentValue:t.state.value,limitValue:t.state.min,decimalPlaces:t.state.decimalPlaces??e,unit:t.state.unit};n.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.genericDimension.tooSmall`,severity:"fatal",message:y(i,"tooSmall"),formatControlViolationMessage:()=>y(i,"tooSmall")}})}}return n};_getAngleComponentViolations=t=>{let i=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[l]},t),n=[];for(let t of i){let i=t.state.unit??"degree",a=d[i],l=t.state.decimalPlaces??e;if(void 0!==t.state.max&&o(t.state.value,t.state.max)){let e={currentValue:t.state.value,limitValue:t.state.max,unit:i,unitLabel:a,decimalPlaces:l};n.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.angleDimension.tooLarge`,severity:"fatal",message:v(e,"tooLarge"),formatControlViolationMessage:()=>v(e,"tooLarge")}})}if(void 0!==t.state.min&&s(t.state.value,t.state.min)){let e={currentValue:t.state.value,limitValue:t.state.min,unit:i,unitLabel:a,decimalPlaces:l};n.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.angleDimension.tooSmall`,severity:"fatal",message:v(e,"tooSmall"),formatControlViolationMessage:()=>v(e,"tooSmall")}})}}return n};validateState=t=>[...this._getDistanceComponentViolations(t),...this._getGenericComponentViolations(t),...this._getAngleComponentViolations(t)]}
1
+ import{AngleUnit as t,DEFAULT_DECIMAL_PLACES as e,DimensionUnit as i,defaultAngleToUnit as n,formatDistanceValue as a,isDimensionGreaterThanMax as o,isDimensionLowerThanMin as s}from"../../dimensions/index.js";import{angleDimensionComponent as l,applicationConfigComponent as m,distanceDimensionComponent as r,genericDimensionComponent as c}from"../../system-components/index.js";import{SystemState as u}from"../store-system/index.js";import{dimensionStateComponent as g}from"./dimension-state.js";let d={[t.degree]:"\xb0",[t.radian]:"rad"},p={mm:{strategy:"decimal",decimalPlaces:0},cm:{strategy:"decimal",decimalPlaces:1},m:{strategy:"decimal",decimalPlaces:2},inch:{strategy:"fraction",fractionBasis:[3,4]},feet:{strategy:"fraction-inch",fractionBasis:[3,4]}},h=["mm","cm","m","inch","feet"];function f(t,e){let i={sourceUnit:t.sourceUnit,displayUnit:t.displayUnit,unitDisplayConfig:t.unitDisplayConfig,locale:t.locale,omitLeadingZeroUnits:!0},n=a(t.limitValue,i),o=a(t.currentValue,i);return"tooLarge"===e?{id:"sdk.distanceDimension.hintMessageTooLarge",message:"Current value is {0}, which is larger than allowed maximum of {1}.",values:{0:o.valueWithUnit,1:n.valueWithUnit}}:{id:"sdk.distanceDimension.hintMessageTooSmall",message:"Current value is {0}, which is smaller than allowed minimum of {1}.",values:{0:o.valueWithUnit,1:n.valueWithUnit}}}function y(t,e){let i=`${t.currentValue.toFixed(t.decimalPlaces)}\u00A0${t.unit}`,n=`${t.limitValue}\u00A0${t.unit}`;return"tooLarge"===e?{id:"sdk.genericDimension.hintMessageTooLarge",message:"Current value is {currentWithUnit}, which is larger than allowed maximum of {limitWithUnit}.",values:{currentWithUnit:i,limitWithUnit:n}}:{id:"sdk.genericDimension.hintMessageTooSmall",message:"Current value is {currentWithUnit}, which is smaller than allowed minimum of {limitWithUnit}.",values:{currentWithUnit:i,limitWithUnit:n}}}function v(t,e){let i=`${n(t.currentValue,t.unit).toFixed(t.decimalPlaces)}\u00A0${t.unitLabel}`,a=`${n(t.limitValue,t.unit).toFixed(t.decimalPlaces)}\u00A0${t.unitLabel}`;return"tooLarge"===e?{id:"sdk.angleDimension.hintMessageTooLarge",message:"Current value is {currentWithUnit}, which is larger than allowed maximum of {limitWithUnit}.",values:{currentWithUnit:i,limitWithUnit:a}}:{id:"sdk.angleDimension.hintMessageTooSmall",message:"Current value is {currentWithUnit}, which is smaller than allowed minimum of {limitWithUnit}.",values:{currentWithUnit:i,limitWithUnit:a}}}export class DimensionSystem{_context;state;constructor(t){this._context=t,this.state=new u({selectors:this._context.selectors,componentType:g,getInitialState:t=>{let e=this._context.selectors.getComponentReader().readFirstRootComponent({componentTypes:[m]},t);return{unit:e?.state.initialGlobalUnit??e?.state.distanceDataUnit??i.mm}}})}initialize=t=>this.state.getInitialUpdates(t);getDimensionConfig=t=>{let e=this._context.selectors.getComponentReader().readFirstRootComponent({componentTypes:[m]},t);return{distanceDataUnit:e?.state.distanceDataUnit??i.mm,unitDisplayConfig:e?.state.unitDisplayConfig??p,availableDimensions:e?.state.availableDimensions??h}};getDataDistanceUnit=t=>this.getDimensionConfig(t).distanceDataUnit;getGlobalUnit=t=>this.state.get(t).unit;getSetGlobalUnitUpdates=(t,e)=>this.state.getUpdates(e=>({...e,unit:t}),e);_getDistanceComponentViolations=t=>{let e=this.getDimensionConfig(t),i=this.state.get(t),n=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[r]},t),a=[];for(let t of n){let n=t.state.displayUnit??i.unit,l=t.state.unitDisplayConfig?.[n]??e.unitDisplayConfig[n];if(!l)throw Error(`Unit config for ${n} not found!`);let m=t.state.max;if(void 0!==m&&o(t.state.value,m)){let i={currentValue:t.state.value,limitValue:m,sourceUnit:e.distanceDataUnit,displayUnit:n,unitDisplayConfig:l};a.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.distanceDimension.tooLarge`,severity:"fatal",message:f({...i,locale:"en-US"},"tooLarge"),formatControlViolationMessage:(t,e)=>f({...i,locale:e.i18n.locale},"tooLarge")}})}let r=t.state.min;if(void 0!==r&&s(t.state.value,r)){let i={currentValue:t.state.value,limitValue:r,sourceUnit:e.distanceDataUnit,displayUnit:n,unitDisplayConfig:l};a.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.distanceDimension.tooSmall`,severity:"fatal",message:f({...i,locale:"en-US"},"tooSmall"),formatControlViolationMessage:(t,e)=>f({...i,locale:e.i18n.locale},"tooSmall")}})}}return a};_getGenericComponentViolations=t=>{let i=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[c]},t),n=[];for(let t of i){if(void 0!==t.state.max&&o(t.state.value,t.state.max)){let i={currentValue:t.state.value,limitValue:t.state.max,decimalPlaces:t.state.decimalPlaces??e,unit:t.state.unit};n.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.genericDimension.tooLarge`,severity:"fatal",message:y(i,"tooLarge"),formatControlViolationMessage:()=>y(i,"tooLarge")}})}if(void 0!==t.state.min&&s(t.state.value,t.state.min)){let i={currentValue:t.state.value,limitValue:t.state.min,decimalPlaces:t.state.decimalPlaces??e,unit:t.state.unit};n.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.genericDimension.tooSmall`,severity:"fatal",message:y(i,"tooSmall"),formatControlViolationMessage:()=>y(i,"tooSmall")}})}}return n};_getAngleComponentViolations=t=>{let i=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[l]},t),n=[];for(let t of i){let i=t.state.unit??"degree",a=d[i],l=t.state.decimalPlaces??e;if(void 0!==t.state.max&&o(t.state.value,t.state.max)){let e={currentValue:t.state.value,limitValue:t.state.max,unit:i,unitLabel:a,decimalPlaces:l};n.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.angleDimension.tooLarge`,severity:"fatal",message:v(e,"tooLarge"),formatControlViolationMessage:()=>v(e,"tooLarge")}})}if(void 0!==t.state.min&&s(t.state.value,t.state.min)){let e={currentValue:t.state.value,limitValue:t.state.min,unit:i,unitLabel:a,decimalPlaces:l};n.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.angleDimension.tooSmall`,severity:"fatal",message:v(e,"tooSmall"),formatControlViolationMessage:()=>v(e,"tooSmall")}})}}return n};validateState=t=>[...this._getDistanceComponentViolations(t),...this._getGenericComponentViolations(t),...this._getAngleComponentViolations(t)]}
@@ -0,0 +1 @@
1
+ export { type AngleDimensionViolation, type AnyDimensionSystem, DimensionSystem, type DimensionSystemContext, type DistanceDimensionViolation, type GenericDimensionViolation, } from './dimension-system.js';
@@ -0,0 +1 @@
1
+ export{DimensionSystem}from"./dimension-system.js";
@@ -1,14 +1,12 @@
1
- import type { ActionTypes } from '../core/action.js';
2
- import type { Domain } from '../core/domain.js';
3
- import type { $DomainEntity, DomainEntity } from '../core/model.js';
4
- import type { ComponentReader, DomainContextSelectors } from '../domain-runtime/domain-context/index.js';
1
+ import type { $DomainEntity, ActionTypes, Domain, DomainEntity } from '../core/index.js';
2
+ import type { ComponentReader, DomainContextSelectors } from '../domain-runtime/index.js';
5
3
  import type { BlenderProjections, CollisionProjections, CompositionProjections, ConstraintProjections, PositionProjections, ProjectedEntitiesProjections, SnappingProjections, ValidationProjections } from '../projections/index.js';
6
- import type { SketchingProjections } from '../sketching/sketching-projections.js';
7
- import type { ActionSystem } from './action-system/action-system.js';
8
- import type { DimensionSystem } from './dimension-system/dimension-system.js';
9
- import type { NavigationSystem } from './navigation-system/navigation-system.js';
10
- import type { RecipeCookerSystem } from './recipe-system/recipe-cooker-system.js';
11
- import type { StoreSystem } from './store-system/store-system.js';
4
+ import type { SketchingProjections } from '../sketching/index.js';
5
+ import type { ActionSystem } from './action-system/index.js';
6
+ import type { DimensionSystem } from './dimension-system/index.js';
7
+ import type { NavigationSystem } from './navigation-system/index.js';
8
+ import type { RecipeCookerSystem } from './recipe-system/index.js';
9
+ import type { StoreSystem } from './store-system/index.js';
12
10
  import type { UndoSystem } from './undo-system.js';
13
11
  /**
14
12
  * Stable domain system graph owned by one application slot in the domain runtime.
@@ -1,21 +1,11 @@
1
- export { type AnalyticsSystem, NoopAnalyticsSystem } from './analytics-system/analytics-system.js';
2
- export { type AnalyticsEvent, AnalyticsEventFactory, AnalyticsEventType, type DataLoadedEvent, type InitEvent, type NavigationEvent, type SessionAuthenticatedEvent, type SystemEvent, type UserActionEvent, } from './analytics-system/analytics-contracts.js';
3
- export { NavigationUpdateTag, isInitialNavigationUpdate, isNavigationUpdate, isInitialViewUpdate, isViewUpdate, isInitialSelectionUpdate, isSelectUpdate, isDeselectUpdate, isInitialFullscreenUpdate, isToggleFullscreenUpdate, isInitialDebugUpdate, isInitialViewportUpdate, isSetViewportUpdate, isInitialDragUpdate, isDragStartUpdate, isDragEndUpdate, isInitialToolUpdate, isToolUpdate, isExportUpdate, } from './navigation-system/navigation-updates.js';
4
- export { createAutoSelectionTransformer, NavigationSystem, type NavigationSystemContext, } from './navigation-system/navigation-system.js';
5
- export { createResetSelectionOnNavigationTransformer, createNavigationOnSelectionTransformer, createNavigationOnDeselectTransformer, createSelectParentOnDeselectionTransformer, createNavigationOnSelectionChangeTransformer, } from './navigation-system/selection-transformers.js';
6
- export { StoreSystem, type TransformerRegistration, type StateEmission, type UpdateTransformer, type TransformerLogFunction, type Transformers, type StateSliceName, type StateUpdateEmission, type StateEmissionKind, type CommitPreparedOutcome, } from './store-system/store-system.js';
7
- export { nextDomainEntityId, getIdSequence, type IdSequence } from './store-system/next-domain-entity-id.js';
8
- export { applyUpdates } from './store-system/apply-updates.js';
9
- export { SystemState, SystemStateInitialUpdateTag, SystemStateUpdateTag, type SystemStateContext, } from './store-system/system-state.js';
10
- export { createRefReplaceTransformer } from './relation-transformers/replace-refs.js';
11
- export { createCascadeDeletesTransformer } from './relation-transformers/cascade-deletes.js';
12
- export { createCascadeRefPruningTransformer } from './relation-transformers/cascade-ref-pruning.js';
13
- export { createCreateEntityRefsTransformer } from './relation-transformers/create-entity-refs.js';
14
- export { type CanBeUndonePredicate, type CanBeUndoneContext, type UndoCapabilities, UndoSystem, UNDO_REDO_RESET_TAG, isUndoRedoReset, } from './undo-system.js';
15
- export { DimensionSystem, type AnyDimensionSystem, type DimensionSystemContext, type AngleDimensionViolation, type DistanceDimensionViolation, type GenericDimensionViolation, } from './dimension-system/dimension-system.js';
16
- export { ActionSystem, type AnyActionSystem, type ActionSystemContext } from './action-system/action-system.js';
17
- export { RecipeFactoryBuilder, type EntityRecipe } from './recipe-system/recipes.js';
18
- export { RecipeCookerSystem, type AnyRecipeCookerSystem, type RecipeCookerSystemContext, ReplaceRecipeUpdateTag, isReplaceEntityUpdate, type IsReplaceRecipeUpdate, CreateRecipeUpdateTag, isCreateEntityUpdate, type IsCreateRecipeUpdate, } from './recipe-system/recipe-cooker-system.js';
1
+ export { type AnalyticsSystem, NoopAnalyticsSystem, type AnalyticsEvent, AnalyticsEventFactory, AnalyticsEventType, type DataLoadedEvent, type InitEvent, type NavigationEvent, type SessionAuthenticatedEvent, type SystemEvent, type UserActionEvent, } from './analytics-system/index.js';
2
+ export { NavigationUpdateTag, isInitialNavigationUpdate, isNavigationUpdate, isInitialViewUpdate, isViewUpdate, isInitialSelectionUpdate, isSelectUpdate, isDeselectUpdate, isInitialFullscreenUpdate, isToggleFullscreenUpdate, isInitialDebugUpdate, isInitialViewportUpdate, isSetViewportUpdate, isInitialDragUpdate, isDragStartUpdate, isDragEndUpdate, isInitialToolUpdate, isToolUpdate, isExportUpdate, createAutoSelectionTransformer, NavigationSystem, type NavigationSystemContext, createResetSelectionOnNavigationTransformer, createNavigationOnSelectionTransformer, createNavigationOnDeselectTransformer, createSelectParentOnDeselectionTransformer, createNavigationOnSelectionChangeTransformer, type AnyNavigationSystem, } from './navigation-system/index.js';
3
+ export { StoreSystem, type TransformerRegistration, type UpdateTransformer, type TransformerLogFunction, type Transformers, type StateSliceName, type StateEmissionKind, type CommitPreparedOutcome, nextDomainEntityId, getIdSequence, applyUpdates, SystemState, SystemStateInitialUpdateTag, SystemStateUpdateTag, type SystemStateContext, type AnyCreateTransformersFactory, type AnyStoreSystem, type Unregister, } from './store-system/index.js';
4
+ export { createRefReplaceTransformer, createCascadeDeletesTransformer, createCascadeRefPruningTransformer, createCreateEntityRefsTransformer, } from './relation-transformers/index.js';
5
+ export { type CanBeUndonePredicate, type CanBeUndoneContext, type UndoCapabilities, UndoSystem, UNDO_REDO_RESET_TAG, isUndoRedoReset, type AnyUndoSystem, } from './undo-system.js';
6
+ export { DimensionSystem, type AnyDimensionSystem, type DimensionSystemContext, type AngleDimensionViolation, type DistanceDimensionViolation, type GenericDimensionViolation, } from './dimension-system/index.js';
7
+ export { ActionSystem, type AnyActionSystem, type ActionSystemContext } from './action-system/index.js';
8
+ export { RecipeCookerSystem, type AnyRecipeCookerSystem, type RecipeCookerSystemContext, ReplaceRecipeUpdateTag, isReplaceEntityUpdate, type IsReplaceRecipeUpdate, CreateRecipeUpdateTag, isCreateEntityUpdate, type IsCreateRecipeUpdate, } from './recipe-system/index.js';
19
9
  export { type DomainContextSystems, type AnyDomainContextSystems } from './domain-context-systems.js';
20
10
  export { createTransformer, type TransformerFactory } from './create-transformer.js';
21
11
  export * from './transformers/index.js';
@@ -1 +1 @@
1
- export{NoopAnalyticsSystem}from"./analytics-system/analytics-system.js";export{AnalyticsEventFactory,AnalyticsEventType}from"./analytics-system/analytics-contracts.js";export{NavigationUpdateTag,isInitialNavigationUpdate,isNavigationUpdate,isInitialViewUpdate,isViewUpdate,isInitialSelectionUpdate,isSelectUpdate,isDeselectUpdate,isInitialFullscreenUpdate,isToggleFullscreenUpdate,isInitialDebugUpdate,isInitialViewportUpdate,isSetViewportUpdate,isInitialDragUpdate,isDragStartUpdate,isDragEndUpdate,isInitialToolUpdate,isToolUpdate,isExportUpdate}from"./navigation-system/navigation-updates.js";export{createAutoSelectionTransformer,NavigationSystem}from"./navigation-system/navigation-system.js";export{createResetSelectionOnNavigationTransformer,createNavigationOnSelectionTransformer,createNavigationOnDeselectTransformer,createSelectParentOnDeselectionTransformer,createNavigationOnSelectionChangeTransformer}from"./navigation-system/selection-transformers.js";export{StoreSystem}from"./store-system/store-system.js";export{nextDomainEntityId,getIdSequence}from"./store-system/next-domain-entity-id.js";export{applyUpdates}from"./store-system/apply-updates.js";export{SystemState,SystemStateInitialUpdateTag,SystemStateUpdateTag}from"./store-system/system-state.js";export{createRefReplaceTransformer}from"./relation-transformers/replace-refs.js";export{createCascadeDeletesTransformer}from"./relation-transformers/cascade-deletes.js";export{createCascadeRefPruningTransformer}from"./relation-transformers/cascade-ref-pruning.js";export{createCreateEntityRefsTransformer}from"./relation-transformers/create-entity-refs.js";export{UndoSystem,UNDO_REDO_RESET_TAG,isUndoRedoReset}from"./undo-system.js";export{DimensionSystem}from"./dimension-system/dimension-system.js";export{ActionSystem}from"./action-system/action-system.js";export{RecipeFactoryBuilder}from"./recipe-system/recipes.js";export{RecipeCookerSystem,ReplaceRecipeUpdateTag,isReplaceEntityUpdate,CreateRecipeUpdateTag,isCreateEntityUpdate}from"./recipe-system/recipe-cooker-system.js";export{createTransformer}from"./create-transformer.js";export*from"./transformers/index.js";
1
+ export{NoopAnalyticsSystem,AnalyticsEventFactory,AnalyticsEventType}from"./analytics-system/index.js";export{NavigationUpdateTag,isInitialNavigationUpdate,isNavigationUpdate,isInitialViewUpdate,isViewUpdate,isInitialSelectionUpdate,isSelectUpdate,isDeselectUpdate,isInitialFullscreenUpdate,isToggleFullscreenUpdate,isInitialDebugUpdate,isInitialViewportUpdate,isSetViewportUpdate,isInitialDragUpdate,isDragStartUpdate,isDragEndUpdate,isInitialToolUpdate,isToolUpdate,isExportUpdate,createAutoSelectionTransformer,NavigationSystem,createResetSelectionOnNavigationTransformer,createNavigationOnSelectionTransformer,createNavigationOnDeselectTransformer,createSelectParentOnDeselectionTransformer,createNavigationOnSelectionChangeTransformer}from"./navigation-system/index.js";export{StoreSystem,nextDomainEntityId,getIdSequence,applyUpdates,SystemState,SystemStateInitialUpdateTag,SystemStateUpdateTag}from"./store-system/index.js";export{createRefReplaceTransformer,createCascadeDeletesTransformer,createCascadeRefPruningTransformer,createCreateEntityRefsTransformer}from"./relation-transformers/index.js";export{UndoSystem,UNDO_REDO_RESET_TAG,isUndoRedoReset}from"./undo-system.js";export{DimensionSystem}from"./dimension-system/index.js";export{ActionSystem}from"./action-system/index.js";export{RecipeCookerSystem,ReplaceRecipeUpdateTag,isReplaceEntityUpdate,CreateRecipeUpdateTag,isCreateEntityUpdate}from"./recipe-system/index.js";export{createTransformer}from"./create-transformer.js";export*from"./transformers/index.js";
@@ -0,0 +1,3 @@
1
+ export { type AnyNavigationSystem, NavigationSystem, type NavigationSystemContext, createAutoSelectionTransformer, } from './navigation-system.js';
2
+ export { NavigationUpdateTag, isDeselectUpdate, isDragEndUpdate, isDragStartUpdate, isExportUpdate, isInitialDebugUpdate, isInitialDragUpdate, isInitialFullscreenUpdate, isInitialNavigationUpdate, isInitialSelectionUpdate, isInitialToolUpdate, isInitialViewUpdate, isInitialViewportUpdate, isNavigationUpdate, isSelectUpdate, isSetViewportUpdate, isToggleFullscreenUpdate, isToolUpdate, isViewUpdate, } from './navigation-updates.js';
3
+ export { createNavigationOnDeselectTransformer, createNavigationOnSelectionChangeTransformer, createNavigationOnSelectionTransformer, createResetSelectionOnNavigationTransformer, createSelectParentOnDeselectionTransformer, } from './selection-transformers.js';
@@ -0,0 +1 @@
1
+ export{NavigationSystem,createAutoSelectionTransformer}from"./navigation-system.js";export{NavigationUpdateTag,isDeselectUpdate,isDragEndUpdate,isDragStartUpdate,isExportUpdate,isInitialDebugUpdate,isInitialDragUpdate,isInitialFullscreenUpdate,isInitialNavigationUpdate,isInitialSelectionUpdate,isInitialToolUpdate,isInitialViewUpdate,isInitialViewportUpdate,isNavigationUpdate,isSelectUpdate,isSetViewportUpdate,isToggleFullscreenUpdate,isToolUpdate,isViewUpdate}from"./navigation-updates.js";export{createNavigationOnDeselectTransformer,createNavigationOnSelectionChangeTransformer,createNavigationOnSelectionTransformer,createResetSelectionOnNavigationTransformer,createSelectParentOnDeselectionTransformer}from"./selection-transformers.js";
@@ -1,9 +1,6 @@
1
- import { type Viewport } from '../../components/viewport-state-component.js';
2
- import type { DomainEntity } from '../../core/model.js';
3
- import type { DomainState } from '../../core/state.js';
4
- import type { DomainContextSelectors } from '../../domain-runtime/domain-context/index.js';
5
- import type { DomainServicesSelectors } from '../../domain-runtime/domain-services/index.js';
6
- import type { UpdateTransformer } from '../store-system/store-system.js';
1
+ import { type DomainEntity, type DomainState, type Viewport } from '../../core/index.js';
2
+ import type { DomainContextSelectors, DomainServicesSelectors } from '../../domain-runtime/index.js';
3
+ import type { UpdateTransformer } from '../store-system/index.js';
7
4
  /**
8
5
  * Automatically selects new/replaced entities and deselects deleted entities.
9
6
  * This transformers runs automatically with priority 100.
@@ -37,7 +34,7 @@ export declare class NavigationSystem<ENTITIES extends DomainEntity<string>, NAV
37
34
  private get _initialExportState();
38
35
  constructor(_context: NavigationSystemContext);
39
36
  initialize: () => void;
40
- getInitialUpdates: () => (import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"debugState", import("../../index.js").DebugStateComponentState, "enabled">> | import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"dragState", import("../../index.js").DragStateComponentState, "draggedEntityId">> | import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"exportState", import("../../components/export-state-component.js").ExportStateComponentState, "activeState" | "exportedEntityId">> | import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"fullscreenState", import("../../index.js").FullscreenStateComponentState, "enabled">> | import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"hoverState", import("../../index.js").HoverStateComponentState, "hoveredEntityId">> | import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"navigationState", import("../../index.js").NavigationStateComponentState, "activeState" | "historyStack">> | import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"selectionState", import("../../index.js").SelectionStateComponentState, "selectedEntityId">> | import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"toolState", import("../../index.js").ToolStateComponentState, "activeState">> | import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"viewState", import("../../index.js").ViewStateComponentState, "activeState">> | import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"viewportState", import("../../index.js").ViewportStateComponentState, "active">>)[];
37
+ getInitialUpdates: () => (import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"debugState", import("../../index.js").DebugStateComponentState, "enabled">> | import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"dragState", import("../../index.js").DragStateComponentState, "draggedEntityId">> | import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"exportState", import("../../index.js").ExportStateComponentState, "activeState" | "exportedEntityId">> | import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"fullscreenState", import("../../index.js").FullscreenStateComponentState, "enabled">> | import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"hoverState", import("../../index.js").HoverStateComponentState, "hoveredEntityId">> | import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"navigationState", import("../../index.js").NavigationStateComponentState, "activeState" | "historyStack">> | import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"selectionState", import("../../index.js").SelectionStateComponentState, "selectedEntityId">> | import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"toolState", import("../../index.js").ToolStateComponentState, "activeState">> | import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"viewState", import("../../index.js").ViewStateComponentState, "activeState">> | import("../../index.js").EphemeralRecordCreation<import("../../index.js").SystemComponentType<"viewportState", import("../../index.js").ViewportStateComponentState, "active">>)[];
41
38
  /**
42
39
  * Get the current navigation state from the provided system state. This method should be only used in transformers or other imperative contexts, for
43
40
  * other use cases, use the observables provided by the NavigationSystem.
@@ -102,7 +99,7 @@ export declare class NavigationSystem<ENTITIES extends DomainEntity<string>, NAV
102
99
  getPopNavigationUpdate: (state: DomainState<ENTITIES>) => import("../../index.js").EphemeralRecordModification<import("../../index.js").SystemComponentType<"navigationState", import("../../index.js").NavigationStateComponentState, "activeState" | "historyStack">> | null;
103
100
  getViewUpdate: (activeState: VIEW_STATES) => import("../../index.js").EphemeralRecordModification<import("../../index.js").SystemComponentType<"viewState", import("../../index.js").ViewStateComponentState, "activeState">>;
104
101
  getToolUpdate: (activeState: TOOL_STATES) => import("../../index.js").EphemeralRecordModification<import("../../index.js").SystemComponentType<"toolState", import("../../index.js").ToolStateComponentState, "activeState">>;
105
- getExportUpdate: (activeState: EXPORT_STATES, exportedEntityId: ENTITIES['id']) => import("../../index.js").EphemeralRecordModification<import("../../index.js").SystemComponentType<"exportState", import("../../components/export-state-component.js").ExportStateComponentState, "activeState" | "exportedEntityId">>;
102
+ getExportUpdate: (activeState: EXPORT_STATES, exportedEntityId: ENTITIES['id']) => import("../../index.js").EphemeralRecordModification<import("../../index.js").SystemComponentType<"exportState", import("../../index.js").ExportStateComponentState, "activeState" | "exportedEntityId">>;
106
103
  getSelectUpdate: (selectedEntityId: ENTITIES['id']) => import("../../index.js").EphemeralRecordModification<import("../../index.js").SystemComponentType<"selectionState", import("../../index.js").SelectionStateComponentState, "selectedEntityId">>;
107
104
  getDeselectUpdate: () => import("../../index.js").EphemeralRecordModification<import("../../index.js").SystemComponentType<"selectionState", import("../../index.js").SelectionStateComponentState, "selectedEntityId">>;
108
105
  getHoverInUpdate: (hoveredEntityId: ENTITIES['id']) => import("../../index.js").EphemeralRecordModification<import("../../index.js").SystemComponentType<"hoverState", import("../../index.js").HoverStateComponentState, "hoveredEntityId">>;
@@ -1 +1 @@
1
- import{Subject as t,debounceTime as e,distinctUntilChanged as n,map as o}from"rxjs";import{match as i}from"ts-pattern";import{isNonNullish as a}from"@salsita-ai/common/utils";import{debugStateComponent as r}from"../../components/debug-state-component.js";import{dragStateComponent as c}from"../../components/drag-state-component.js";import{exportStateComponent as s}from"../../components/export-state-component.js";import{fullscreenStateComponent as p}from"../../components/fullscreen-state-component.js";import{hoverStateComponent as l}from"../../components/hover-state-component.js";import{navigationStateComponent as d}from"../../components/navigation-state-component.js";import{selectionStateComponent as m}from"../../components/selection-state-component.js";import{getComponentSystemFilterState as g}from"../../components/system-component-filter.js";import{systemVirtualEntityId as S}from"../../components/system-virtual-entity.js";import{toolStateComponent as y}from"../../components/tool-state-component.js";import{systemUpdateFactory as u}from"../../components/updates.js";import{viewStateComponent as h}from"../../components/view-state-component.js";import{viewportStateComponent as I}from"../../components/viewport-state-component.js";import{AnalyticsEventFactory as v}from"../analytics-system/analytics-contracts.js";import{NavigationUpdateTag as T}from"./navigation-updates.js";export const createAutoSelectionTransformer=t=>(e,n)=>{let o=t.getActiveSelectionState(n),i=e.find(t=>"createDomainEntity"===t.kind);if(null!=i)return[...e,t.getSelectUpdate(i.entityId)];let a=e.find(t=>"replaceDomainEntity"===t.kind&&o===t.entityId);return null!=a?[...e,t.getSelectUpdate(a.replacementEntity.id)]:null!=e.find(t=>"deleteEntity"===t.kind&&o===t.entityId)?[...e,t.getDeselectUpdate()]:e};export class NavigationSystem{_context;_generation=null;_hoverSubject=new t;get _initialNavigationState(){return this._context.selectors.getNavigationStates()[0]}get _initialViewState(){return this._context.selectors.getViewStates()[0]}get _initialToolState(){return this._context.selectors.getToolStates()[0]}get _initialExportState(){return this._context.selectors.getExportStates()[0]}constructor(t){this._context=t,this._context.selectors.getStoreSystem().stateSlices.committed.pipe(o(t=>this.getActiveNavigationState(t.state)),n()).subscribe(t=>{this._context.domainServicesSelectors.getAnalyticsService().push(v.NavigationEvent({navigationState:t})),this._context.domainServicesSelectors.getLogger().appendToGlobalContext({navigationState:t})}),this._context.selectors.getStoreSystem().registerTransformer(100,createAutoSelectionTransformer(this),"AutoSelectionTransformer"),this._hoverSubject.pipe(e(20)).subscribe(({hoveredEntityId:t,generation:e})=>{if(e?.active===!0){if(t){if(this.getActiveHoverState(this._context.selectors.getStoreSystem().stateSlices.rendered.value.state)!==t){let e=this._context.selectors.getStoreSystem().prepareStateEmission([this.getHoverInUpdate(t)],this._context.selectors.getStoreSystem().stateSlices.rendered.value.state,"staged");this._context.selectors.getStoreSystem().emit(e)}}else if(this.getActiveHoverState(this._context.selectors.getStoreSystem().stateSlices.rendered.value.state)){let t=this._context.selectors.getStoreSystem().prepareStateEmission([this.getHoverOutUpdate()],this._context.selectors.getStoreSystem().stateSlices.rendered.value.state,"staged");this._context.selectors.getStoreSystem().emit(t)}}})}initialize=()=>{null!==this._generation&&(this._generation.active=!1),this._generation={active:!0},this._context.selectors.getStoreSystem().stageAndCommit(this.getInitialUpdates())};getInitialUpdates=()=>[this._initialNavigationState?u.EphemeralRecordCreation({componentInstance:{entityId:S,componentType:d},updateTag:T.Initial,initialState:{activeState:this._initialNavigationState,historyStack:[]}}):null,u.EphemeralRecordCreation({componentInstance:{entityId:S,componentType:m},updateTag:T.Initial,initialState:{selectedEntityId:this._context.selectors.getStoreSystem().stateSlices.committed.value.state.rootEntityId}}),u.EphemeralRecordCreation({componentInstance:{entityId:S,componentType:l},updateTag:T.Initial,initialState:{hoveredEntityId:null}}),u.EphemeralRecordCreation({componentInstance:{entityId:S,componentType:r},updateTag:T.Initial,initialState:{enabled:!1}}),this._initialViewState?u.EphemeralRecordCreation({componentInstance:{entityId:S,componentType:h},updateTag:T.Initial,initialState:{activeState:this._initialViewState}}):null,this._initialToolState?u.EphemeralRecordCreation({componentInstance:{entityId:S,componentType:y},updateTag:T.Initial,initialState:{activeState:this._initialToolState}}):null,this._initialExportState?u.EphemeralRecordCreation({componentInstance:{entityId:S,componentType:s},updateTag:T.Initial,initialState:{activeState:this._initialExportState,exportedEntityId:this._context.selectors.getStoreSystem().stateSlices.committed.value.state.rootEntityId}}):null,u.EphemeralRecordCreation({componentInstance:{entityId:S,componentType:p},updateTag:T.Initial,initialState:{enabled:!1}}),u.EphemeralRecordCreation({componentInstance:{entityId:S,componentType:c},updateTag:T.Initial,initialState:{draggedEntityId:null}}),u.EphemeralRecordCreation({componentInstance:{entityId:S,componentType:I},updateTag:T.Initial,initialState:{active:null}})].filter(a);getActiveNavigationState(t){return g(t).navigationState??this._initialNavigationState}getActiveSelectionState(t){return g(t).selectedEntityId??t.rootEntityId}getActiveHoverState(t){return g(t).hoveredEntityId??null}getActiveViewState(t){return g(t).viewState??this._initialViewState}getActiveToolState(t){return g(t).toolState??""}getActiveExportState(t){let e=g(t);return{activeState:e.exportState??this._initialExportState??"",exportedEntityId:e.exportedEntityId??t.rootEntityId}}getActiveFullscreenState(t){let e=this._context.selectors.getComponentReader().readOneComponent({entityId:S,componentType:p},t);return e?.state.enabled??!1}getActiveDragState(t){return g(t).draggedEntityId??null}getActiveViewportState(t){return g(t).viewports??null}getNavigationUpdate=t=>u.EphemeralRecordModification({componentInstance:{entityId:S,componentType:d},updateTag:T.ReplaceNavigation,writableState:{activeState:t,historyStack:[]}});getPushNavigationUpdate=(t,e,n={})=>{let o=this.getActiveNavigationState(e),a=[...this.getHistoryStack(e),o],r=i(n.canStackOnto).with(void 0,()=>a).otherwise(t=>{let e;for(let n=a.length-1;n>=0;n--)if(t.includes(a[n])){e=n;break}return void 0===e?[]:a.slice(0,e+1)});return u.EphemeralRecordModification({componentInstance:{entityId:S,componentType:d},updateTag:T.PushNavigation,writableState:{activeState:t,historyStack:r}})};getIsRootSelected=t=>this.getActiveSelectionState(t)===t.rootEntityId;getHistoryStack=t=>{let e=this._context.selectors.getComponentReader().readOneComponent({entityId:S,componentType:d},t);return e?.state.historyStack??[]};getHasStackToPop=t=>this.getHistoryStack(t).length>0;getPopNavigationUpdate=t=>{let e=this.getHistoryStack(t),n=e.at(-1);if(!n)return null;let o=e.slice(0,-1);return u.EphemeralRecordModification({componentInstance:{entityId:S,componentType:d},updateTag:T.PopNavigation,writableState:{activeState:n,historyStack:o}})};getViewUpdate=t=>u.EphemeralRecordModification({componentInstance:{entityId:S,componentType:h},updateTag:T.ActiveateView,writableState:{activeState:t}});getToolUpdate=t=>u.EphemeralRecordModification({componentInstance:{entityId:S,componentType:y},updateTag:T.ActivateTool,writableState:{activeState:t}});getExportUpdate=(t,e)=>u.EphemeralRecordModification({componentInstance:{entityId:S,componentType:s},updateTag:T.SetExportState,writableState:{activeState:t,exportedEntityId:e}});getSelectUpdate=t=>u.EphemeralRecordModification({componentInstance:{entityId:S,componentType:m},updateTag:T.SelectEntity,writableState:{selectedEntityId:t}});getDeselectUpdate=()=>u.EphemeralRecordModification({componentInstance:{entityId:S,componentType:m},updateTag:T.Deselect,writableState:{selectedEntityId:this._context.selectors.getStoreSystem().stateSlices.committed.value.state.rootEntityId}});getHoverInUpdate=t=>u.EphemeralRecordModification({componentInstance:{entityId:S,componentType:l},updateTag:T.HoverIn,writableState:{hoveredEntityId:t}});getHoverOutUpdate=()=>u.EphemeralRecordModification({componentInstance:{entityId:S,componentType:l},updateTag:T.HoverOut,writableState:{hoveredEntityId:null}});getFullscreenUpdate=t=>u.EphemeralRecordModification({componentInstance:{entityId:S,componentType:p},updateTag:T.ToggleFullscreen,writableState:{enabled:t}});getDragStartUpdate=t=>u.EphemeralRecordModification({componentInstance:{entityId:S,componentType:c},updateTag:T.DragStart,writableState:{draggedEntityId:t}});getDragEndUpdate=()=>u.EphemeralRecordModification({componentInstance:{entityId:S,componentType:c},updateTag:T.DragEnd,writableState:{draggedEntityId:null}});getViewportUpdate=t=>u.EphemeralRecordModification({componentInstance:{entityId:S,componentType:I},updateTag:T.SetViewport,writableState:{active:t}});getToggleFullscreenUpdate=(t=this._context.selectors.getStoreSystem().stateSlices.committed.value.state)=>{let e=this.getActiveFullscreenState(t);return this.getFullscreenUpdate(!e)};debouncedToggleHover=t=>{this._hoverSubject.next({hoveredEntityId:t,generation:this._generation})};resetApplicationStates(){}}
1
+ import{Subject as t,debounceTime as e,distinctUntilChanged as i,map as n}from"rxjs";import{match as a}from"ts-pattern";import{isNonNullish as o}from"@salsita-ai/common/utils";import{debugStateComponent as r,dragStateComponent as c,exportStateComponent as s,fullscreenStateComponent as l,getComponentSystemFilterState as p,hoverStateComponent as d,navigationStateComponent as S,selectionStateComponent as g,systemUpdateFactory as m,systemVirtualEntityId as y,toolStateComponent as h,viewStateComponent as u,viewportStateComponent as I}from"../../core/index.js";import{AnalyticsEventFactory as v}from"../analytics-system/index.js";import{NavigationUpdateTag as T}from"./navigation-updates.js";export const createAutoSelectionTransformer=t=>(e,i)=>{let n=t.getActiveSelectionState(i),a=e.find(t=>"createDomainEntity"===t.kind);if(null!=a)return[...e,t.getSelectUpdate(a.entityId)];let o=e.find(t=>"replaceDomainEntity"===t.kind&&n===t.entityId);return null!=o?[...e,t.getSelectUpdate(o.replacementEntity.id)]:null!=e.find(t=>"deleteEntity"===t.kind&&n===t.entityId)?[...e,t.getDeselectUpdate()]:e};export class NavigationSystem{_context;_generation=null;_hoverSubject=new t;get _initialNavigationState(){return this._context.selectors.getNavigationStates()[0]}get _initialViewState(){return this._context.selectors.getViewStates()[0]}get _initialToolState(){return this._context.selectors.getToolStates()[0]}get _initialExportState(){return this._context.selectors.getExportStates()[0]}constructor(t){this._context=t,this._context.selectors.getStoreSystem().stateSlices.committed.pipe(n(t=>this.getActiveNavigationState(t.state)),i()).subscribe(t=>{this._context.domainServicesSelectors.getAnalyticsService().push(v.NavigationEvent({navigationState:t})),this._context.domainServicesSelectors.getLogger().appendToGlobalContext({navigationState:t})}),this._context.selectors.getStoreSystem().registerTransformer(100,createAutoSelectionTransformer(this),"AutoSelectionTransformer"),this._hoverSubject.pipe(e(20)).subscribe(({hoveredEntityId:t,generation:e})=>{if(e?.active===!0){if(t){if(this.getActiveHoverState(this._context.selectors.getStoreSystem().stateSlices.rendered.value.state)!==t){let e=this._context.selectors.getStoreSystem().prepareStateEmission([this.getHoverInUpdate(t)],this._context.selectors.getStoreSystem().stateSlices.rendered.value.state,"staged");this._context.selectors.getStoreSystem().emit(e)}}else if(this.getActiveHoverState(this._context.selectors.getStoreSystem().stateSlices.rendered.value.state)){let t=this._context.selectors.getStoreSystem().prepareStateEmission([this.getHoverOutUpdate()],this._context.selectors.getStoreSystem().stateSlices.rendered.value.state,"staged");this._context.selectors.getStoreSystem().emit(t)}}})}initialize=()=>{null!==this._generation&&(this._generation.active=!1),this._generation={active:!0},this._context.selectors.getStoreSystem().stageAndCommit(this.getInitialUpdates())};getInitialUpdates=()=>[this._initialNavigationState?m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:S},updateTag:T.Initial,initialState:{activeState:this._initialNavigationState,historyStack:[]}}):null,m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:g},updateTag:T.Initial,initialState:{selectedEntityId:this._context.selectors.getStoreSystem().stateSlices.committed.value.state.rootEntityId}}),m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:d},updateTag:T.Initial,initialState:{hoveredEntityId:null}}),m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:r},updateTag:T.Initial,initialState:{enabled:!1}}),this._initialViewState?m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:u},updateTag:T.Initial,initialState:{activeState:this._initialViewState}}):null,this._initialToolState?m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:h},updateTag:T.Initial,initialState:{activeState:this._initialToolState}}):null,this._initialExportState?m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:s},updateTag:T.Initial,initialState:{activeState:this._initialExportState,exportedEntityId:this._context.selectors.getStoreSystem().stateSlices.committed.value.state.rootEntityId}}):null,m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:l},updateTag:T.Initial,initialState:{enabled:!1}}),m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:c},updateTag:T.Initial,initialState:{draggedEntityId:null}}),m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:I},updateTag:T.Initial,initialState:{active:null}})].filter(o);getActiveNavigationState(t){return p(t).navigationState??this._initialNavigationState}getActiveSelectionState(t){return p(t).selectedEntityId??t.rootEntityId}getActiveHoverState(t){return p(t).hoveredEntityId??null}getActiveViewState(t){return p(t).viewState??this._initialViewState}getActiveToolState(t){return p(t).toolState??""}getActiveExportState(t){let e=p(t);return{activeState:e.exportState??this._initialExportState??"",exportedEntityId:e.exportedEntityId??t.rootEntityId}}getActiveFullscreenState(t){let e=this._context.selectors.getComponentReader().readOneComponent({entityId:y,componentType:l},t);return e?.state.enabled??!1}getActiveDragState(t){return p(t).draggedEntityId??null}getActiveViewportState(t){return p(t).viewports??null}getNavigationUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:S},updateTag:T.ReplaceNavigation,writableState:{activeState:t,historyStack:[]}});getPushNavigationUpdate=(t,e,i={})=>{let n=this.getActiveNavigationState(e),o=[...this.getHistoryStack(e),n],r=a(i.canStackOnto).with(void 0,()=>o).otherwise(t=>{let e;for(let i=o.length-1;i>=0;i--)if(t.includes(o[i])){e=i;break}return void 0===e?[]:o.slice(0,e+1)});return m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:S},updateTag:T.PushNavigation,writableState:{activeState:t,historyStack:r}})};getIsRootSelected=t=>this.getActiveSelectionState(t)===t.rootEntityId;getHistoryStack=t=>{let e=this._context.selectors.getComponentReader().readOneComponent({entityId:y,componentType:S},t);return e?.state.historyStack??[]};getHasStackToPop=t=>this.getHistoryStack(t).length>0;getPopNavigationUpdate=t=>{let e=this.getHistoryStack(t),i=e.at(-1);if(!i)return null;let n=e.slice(0,-1);return m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:S},updateTag:T.PopNavigation,writableState:{activeState:i,historyStack:n}})};getViewUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:u},updateTag:T.ActiveateView,writableState:{activeState:t}});getToolUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:h},updateTag:T.ActivateTool,writableState:{activeState:t}});getExportUpdate=(t,e)=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:s},updateTag:T.SetExportState,writableState:{activeState:t,exportedEntityId:e}});getSelectUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:g},updateTag:T.SelectEntity,writableState:{selectedEntityId:t}});getDeselectUpdate=()=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:g},updateTag:T.Deselect,writableState:{selectedEntityId:this._context.selectors.getStoreSystem().stateSlices.committed.value.state.rootEntityId}});getHoverInUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:d},updateTag:T.HoverIn,writableState:{hoveredEntityId:t}});getHoverOutUpdate=()=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:d},updateTag:T.HoverOut,writableState:{hoveredEntityId:null}});getFullscreenUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:l},updateTag:T.ToggleFullscreen,writableState:{enabled:t}});getDragStartUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:c},updateTag:T.DragStart,writableState:{draggedEntityId:t}});getDragEndUpdate=()=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:c},updateTag:T.DragEnd,writableState:{draggedEntityId:null}});getViewportUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:I},updateTag:T.SetViewport,writableState:{active:t}});getToggleFullscreenUpdate=(t=this._context.selectors.getStoreSystem().stateSlices.committed.value.state)=>{let e=this.getActiveFullscreenState(t);return this.getFullscreenUpdate(!e)};debouncedToggleHover=t=>{this._hoverSubject.next({hoveredEntityId:t,generation:this._generation})};resetApplicationStates(){}}