@salsita-ai/sdk 0.50.0-develop.be40f0cee8 → 0.50.0-develop.c1dcc73e88
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.
- package/README.md +3 -3
- package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
- package/dist/application-spec/errors/diagnostic-codes.d.ts +5 -0
- package/dist/application-spec/errors/diagnostic-codes.js +1 -1
- package/dist/application-spec/errors/diagnostic-messages.d.ts +5 -0
- package/dist/application-spec/errors/diagnostic-messages.js +1 -1
- package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
- package/dist/application-spec/generate-application/code/common/index.js +1 -1
- package/dist/application-spec/generate-application/code/common/project-module-list.d.ts +8 -0
- package/dist/application-spec/generate-application/code/common/project-module-list.js +3 -0
- package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
- package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +8 -1
- package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
- package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
- package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
- package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
- package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
- package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +1 -2
- package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -16
- package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
- package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +53 -54
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +11 -11
- package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +1 -1
- package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
- package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
- package/dist/application-spec/generate-application/code/templates/domain.js +5 -5
- package/dist/application-spec/generate-application/code/templates/index.d.ts +1 -7
- package/dist/application-spec/generate-application/code/templates/index.js +1 -1
- package/dist/application-spec/generate-application/code/templates/package-json.js +1 -1
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +93 -41
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +1 -1
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +2 -2
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +6 -0
- package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +37 -12
- package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +19 -7
- package/dist/application-spec/generate-application/code/templates/webhook-builders.js +9 -4
- package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -2
- package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +1 -3
- package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +1 -3
- package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
- package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
- package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +2 -1
- package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
- package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +2 -4
- package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
- package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
- package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
- package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
- package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
- package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
- package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
- package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
- package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
- package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
- package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
- package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +3 -8
- package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
- package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +9 -43
- package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
- package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
- package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -21
- package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
- package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
- package/dist/client/authorized-client.d.ts +3 -1
- package/dist/client/authorized-client.js +1 -1
- package/dist/client/contract.d.ts +34 -0
- package/dist/client/contract.js +1 -1
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.js +1 -1
- package/dist/client/local-authorized-client.d.ts +3 -1
- package/dist/client/local-authorized-client.js +1 -1
- package/dist/client/memory-authorized-client.d.ts +3 -1
- package/dist/client/memory-authorized-client.js +1 -1
- package/dist/client/phoenix-api.d.ts +271 -30
- package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +245 -13
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.d.ts +85 -0
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.js +1 -0
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +8 -3
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +4 -0
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +16 -1
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.d.ts +9 -0
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.js +1 -0
- package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
- package/dist/configurator/common/configurator-interface.d.ts +5 -1
- package/dist/configurator/common/configurator-interface.js +1 -1
- package/dist/configurator/common/frontend-analytics.d.ts +21 -21
- package/dist/configurator/index.d.ts +0 -1
- package/dist/configurator/index.js +1 -1
- package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +6 -0
- package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
- package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
- package/dist/configurator/scene/scene-analytics/scene-analytics.d.ts +2 -2
- package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
- package/dist/configurator/ui/assistant/AssistantComposer.d.ts +3 -7
- package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
- package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
- package/dist/configurator/ui/assistant/AssistantThread.d.ts +7 -8
- package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
- package/dist/configurator/ui/assistant/index.d.ts +1 -1
- package/dist/configurator/ui/assistant/index.js +1 -1
- package/dist/configurator/ui/assistant/thread-items.d.ts +14 -3
- package/dist/configurator/ui/assistant/thread-items.js +1 -1
- package/dist/configurator/ui/assistant/tool-chip.d.ts +8 -1
- package/dist/configurator/ui/assistant/tool-chip.js +1 -1
- package/dist/configurator/ui/assistant/use-is-assistant-panel-open.d.ts +5 -0
- package/dist/configurator/ui/assistant/use-is-assistant-panel-open.js +1 -0
- package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +1 -75
- package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
- package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
- package/dist/configurator/ui/configurator-layout/universal/DesktopSidebar.d.ts +92 -0
- package/dist/configurator/ui/configurator-layout/universal/DesktopSidebar.js +16 -0
- package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
- package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +2 -2
- package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
- package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
- package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
- package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
- package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
- package/dist/configurator/ui/legacy/mobile-controls/MobileControls.d.ts +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.d.ts +2 -2
- package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
- package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +100 -117
- package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
- package/dist/docs/complex-use-cases/sketching.mdx +0 -38
- package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
- package/dist/docs/index.json +1 -1
- package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
- package/dist/docs/layouts/custom-price.mdx +14 -16
- package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
- package/dist/docs/layouts/toolbar.mdx +3 -1
- package/dist/docs/other-features/domain-actions.mdx +1 -1
- package/dist/docs/other-features/side-effects.mdx +76 -45
- package/dist/docs/other-features/transformers.mdx +1 -1
- package/dist/docs/other-features/violation-messages.mdx +52 -56
- package/dist/docs/phoenix/admin.mdx +9 -24
- package/dist/docs/phoenix/configurator-interface.mdx +104 -65
- package/dist/docs/phoenix/deployments.mdx +1 -1
- package/dist/docs/phoenix/domain-model.mdx +4 -0
- package/dist/docs/phoenix/expression-context.mdx +11 -3
- package/dist/docs/phoenix/getting-started.mdx +1 -1
- package/dist/docs/phoenix/localization.mdx +3 -22
- package/dist/docs/phoenix/phoenix-cli.mdx +124 -49
- package/dist/docs/phoenix/project-structure.mdx +24 -11
- package/dist/docs/phoenix/quickstart.mdx +2 -2
- package/dist/docs/phoenix/sdk-builder-workflow.mdx +12 -11
- package/dist/docs/phoenix/webhooks.mdx +2 -2
- package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
- package/dist/docs/relations/hierarchy.mdx +13 -2
- package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
- package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
- package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
- package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
- package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
- package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
- package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
- package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
- package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
- package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -14
- package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
- package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
- package/dist/domain/admin-domain/index.d.ts +9 -5
- package/dist/domain/admin-domain/index.js +1 -1
- package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
- package/dist/domain/application/GetThemeHandler.d.ts +1 -1
- package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
- package/dist/domain/application/admin-page-factories.d.ts +1 -2
- package/dist/domain/application/application-config.d.ts +28 -97
- package/dist/domain/application/assistant/assistant-manifest.d.ts +63 -0
- package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +95 -0
- package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
- package/dist/domain/application/assistant/assistant-value-type.js +1 -0
- package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
- package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
- package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
- package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -0
- package/dist/domain/application/assistant/index.d.ts +4 -0
- package/dist/domain/application/assistant/index.js +1 -0
- package/dist/domain/application/assistant-field-options.d.ts +2 -3
- package/dist/domain/application/assistant-mutations.d.ts +3 -5
- package/dist/domain/application/assistant-mutations.js +1 -1
- package/dist/domain/application/assistant-recipe-groups.d.ts +3 -7
- package/dist/domain/application/configurator-builder.d.ts +33 -18
- package/dist/domain/application/configurator-builder.js +1 -1
- package/dist/domain/application/create-initial-published-data.d.ts +6 -7
- package/dist/domain/application/index.d.ts +3 -6
- package/dist/domain/application/index.js +1 -1
- package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
- package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
- package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
- package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
- package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
- package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
- package/dist/domain/application/published-data/create-finalize-admin-domain.d.ts +1 -2
- package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
- package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
- package/dist/domain/application/published-data/map-published-chunked-data.d.ts +3 -3
- package/dist/domain/application/published-data/map-published-data.d.ts +7 -4
- package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
- package/dist/domain/available-system-components.js +1 -1
- package/dist/domain/core/action/action-factory.d.ts +11 -0
- package/dist/domain/core/{action.d.ts → action/action.d.ts} +22 -18
- package/dist/domain/core/action/index.d.ts +2 -0
- package/dist/domain/core/action/index.js +1 -0
- package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -2
- package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
- package/dist/domain/core/component/debug-state-component.js +1 -0
- package/dist/domain/core/component/domain-component-optic.d.ts +65 -0
- package/dist/domain/core/component/domain-component-optic.js +16 -0
- package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
- package/dist/domain/core/component/drag-state-component.js +1 -0
- package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
- package/dist/domain/core/component/export-state-component.js +1 -0
- package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
- package/dist/domain/core/component/fullscreen-state-component.js +1 -0
- package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -2
- package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
- package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
- package/dist/domain/core/component/hover-state-component.js +1 -0
- package/dist/domain/core/component/index.d.ts +18 -0
- package/dist/domain/core/component/index.js +1 -0
- package/dist/domain/{components → core/component}/legacy-filter.d.ts +4 -19
- package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
- package/dist/domain/core/component/navigation-state-component.js +1 -0
- package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
- package/dist/domain/core/component/selection-state-component.js +1 -0
- package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -2
- package/dist/domain/core/component/system-component-builder.js +1 -0
- package/dist/domain/{components → core/component}/system-component-filter.d.ts +38 -20
- package/dist/domain/core/component/system-virtual-entity.js +1 -0
- package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
- package/dist/domain/core/component/tool-state-component.js +1 -0
- package/dist/domain/{components → core/component}/updates.d.ts +17 -2
- package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
- package/dist/domain/core/component/view-state-component.js +1 -0
- package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
- package/dist/domain/core/component/viewport-state-component.js +1 -0
- package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
- package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
- package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
- package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
- package/dist/domain/core/data-schema/data-schema-field.js +1 -0
- package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
- package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
- package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
- package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
- package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
- package/dist/domain/core/data-schema/data-schema.js +1 -0
- package/dist/domain/core/data-schema/index.d.ts +7 -0
- package/dist/domain/core/data-schema/index.js +1 -0
- package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
- package/dist/domain/core/decoder/create-decoder.js +1 -0
- package/dist/domain/core/decoder/decoder.d.ts +6 -0
- package/dist/domain/core/decoder/decoder.js +1 -0
- package/dist/domain/core/decoder/index.d.ts +2 -0
- package/dist/domain/core/decoder/index.js +1 -0
- package/dist/domain/core/domain-factory.d.ts +4 -5
- package/dist/domain/core/domain-factory.js +1 -1
- package/dist/domain/core/domain.d.ts +4 -5
- package/dist/domain/core/domain.js +1 -1
- package/dist/domain/core/emission/index.d.ts +8 -0
- package/dist/domain/core/emission/index.js +1 -0
- package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
- package/dist/domain/core/emission/reset-state-emission.js +1 -0
- package/dist/domain/core/emission/state-emission.d.ts +4 -0
- package/dist/domain/core/emission/state-emission.js +1 -0
- package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
- package/dist/domain/core/emission/state-update-emission.js +1 -0
- package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
- package/dist/domain/core/emission/state-validation-result.js +1 -0
- package/dist/domain/core/emission/transformation-log.d.ts +2 -0
- package/dist/domain/core/emission/transformation-log.js +1 -0
- package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
- package/dist/domain/core/emission/transformer-log-entry.js +1 -0
- package/dist/domain/core/emission/transformer-log.d.ts +11 -0
- package/dist/domain/core/emission/transformer-log.js +1 -0
- package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
- package/dist/domain/core/emission/transformer-phase.js +1 -0
- package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
- package/dist/domain/core/expression/aliased-expressions.js +1 -0
- package/dist/domain/{expressions → core/expression}/constant-expressions.d.ts +3 -4
- package/dist/domain/core/expression/constant-expressions.js +1 -0
- package/dist/domain/core/expression/custom-expression.d.ts +25 -0
- package/dist/domain/core/expression/custom-expression.js +1 -0
- package/dist/domain/core/expression/expression.d.ts +46 -0
- package/dist/domain/core/expression/expression.js +1 -0
- package/dist/domain/core/expression/index.d.ts +4 -0
- package/dist/domain/core/expression/index.js +1 -0
- package/dist/domain/core/index.d.ts +13 -17
- package/dist/domain/core/index.js +1 -1
- package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -2
- package/dist/domain/core/invariant/custom-invariants.d.ts +13 -0
- package/dist/domain/core/invariant/custom-invariants.js +1 -0
- package/dist/domain/core/invariant/index.d.ts +5 -0
- package/dist/domain/core/invariant/index.js +1 -0
- package/dist/domain/core/invariant/invariants.d.ts +10 -0
- package/dist/domain/core/invariant/invariants.js +1 -0
- package/dist/domain/core/invariant/violation-component.js +1 -0
- package/dist/domain/{invariants → core/invariant}/violation.d.ts +2 -2
- package/dist/domain/core/{component.d.ts → model/component.d.ts} +1 -1
- package/dist/domain/core/model/index.d.ts +6 -0
- package/dist/domain/core/model/index.js +1 -0
- package/dist/domain/core/{reflection.d.ts → model/reflection.d.ts} +1 -1
- package/dist/domain/core/model/reflection.js +1 -0
- package/dist/domain/core/recipe/index.d.ts +1 -0
- package/dist/domain/core/recipe/index.js +1 -0
- package/dist/domain/core/recipe/recipes.d.ts +23 -0
- package/dist/domain/core/recipe/recipes.js +1 -0
- package/dist/domain/core/relation/all-of-type-relation.d.ts +19 -0
- package/dist/domain/core/relation/all-of-type-relation.js +1 -0
- package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -2
- package/dist/domain/core/relation/component-factories.js +1 -0
- package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
- package/dist/domain/core/relation/composed-of.js +1 -0
- package/dist/domain/core/relation/direct-relation.d.ts +17 -0
- package/dist/domain/core/relation/index.d.ts +8 -0
- package/dist/domain/core/relation/index.js +1 -0
- package/dist/domain/core/relation/indirect-relation.d.ts +25 -0
- package/dist/domain/core/relation/indirect-relation.js +1 -0
- package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -5
- package/dist/domain/core/relation/reference-component.js +1 -0
- package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
- package/dist/domain/core/relation/reference-field.js +1 -0
- package/dist/domain/core/relation/relation-factory.d.ts +22 -0
- package/dist/domain/core/relation/relation-factory.js +1 -0
- package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
- package/dist/domain/core/schema/extended-schema-validator.js +1 -0
- package/dist/domain/core/schema/index.d.ts +3 -0
- package/dist/domain/core/schema/index.js +1 -0
- package/dist/domain/core/schema/schema-validator.js +1 -0
- package/dist/domain/core/state/id-sequence.d.ts +15 -0
- package/dist/domain/core/state/id-sequence.js +1 -0
- package/dist/domain/core/state/index.d.ts +3 -0
- package/dist/domain/core/state/index.js +1 -0
- package/dist/domain/core/{migrations.d.ts → state/migrations.d.ts} +15 -47
- package/dist/domain/core/state/migrations.js +1 -0
- package/dist/domain/core/{state.d.ts → state/state.d.ts} +2 -3
- package/dist/domain/domain-builder.d.ts +11 -11
- package/dist/domain/domain-builder.js +1 -1
- package/dist/domain/domain-context/action-system/action-system.d.ts +2 -4
- package/dist/domain/domain-context/action-system/action-system.js +1 -1
- package/dist/domain/domain-context/action-system/index.d.ts +1 -0
- package/dist/domain/domain-context/action-system/index.js +1 -0
- package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
- package/dist/domain/domain-context/analytics-system/index.js +1 -0
- package/dist/domain/domain-context/create-transformer.d.ts +2 -2
- package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
- package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +3 -4
- package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
- package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
- package/dist/domain/domain-context/dimension-system/index.js +1 -0
- package/dist/domain/domain-context/domain-context-systems.d.ts +8 -10
- package/dist/domain/domain-context/index.d.ts +8 -18
- package/dist/domain/domain-context/index.js +1 -1
- package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
- package/dist/domain/domain-context/navigation-system/index.js +1 -0
- package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +5 -8
- package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
- package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
- package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
- package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +2 -2
- package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
- package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
- package/dist/domain/domain-context/recipe-system/index.js +1 -0
- package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -4
- package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
- package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +3 -3
- package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
- package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +3 -3
- package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
- package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +3 -3
- package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
- package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
- package/dist/domain/domain-context/relation-transformers/index.js +1 -0
- package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +3 -3
- package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
- package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -3
- package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
- package/dist/domain/domain-context/store-system/index.d.ts +4 -0
- package/dist/domain/domain-context/store-system/index.js +1 -0
- package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -13
- package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
- package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
- package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
- package/dist/domain/domain-context/store-system/store-system.d.ts +2 -39
- package/dist/domain/domain-context/store-system/store-system.js +2 -2
- package/dist/domain/domain-context/store-system/system-state.d.ts +2 -4
- package/dist/domain/domain-context/store-system/system-state.js +1 -1
- package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
- package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
- package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +6 -10
- package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
- package/dist/domain/domain-context/transformers/chain-builder.d.ts +3 -3
- package/dist/domain/domain-context/transformers/context.d.ts +2 -7
- package/dist/domain/domain-context/transformers/context.js +1 -1
- package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
- package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
- package/dist/domain/domain-context/transformers/index.d.ts +1 -1
- package/dist/domain/domain-context/transformers/index.js +1 -1
- package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
- package/dist/domain/domain-context/transformers/then-builder.js +1 -1
- package/dist/domain/domain-context/transformers/when-builder.d.ts +3 -9
- package/dist/domain/domain-context/transformers/when-builder.js +1 -1
- package/dist/domain/domain-context/undo-system.d.ts +2 -3
- package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
- package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
- package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -4
- package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
- package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
- package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
- package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
- package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
- package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
- package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
- package/dist/domain/domain-runtime/domain-context/selectors.d.ts +19 -25
- package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
- package/dist/domain/domain-runtime/domain-runtime.d.ts +72 -72
- package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
- package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
- package/dist/domain/domain-runtime/spec/index.d.ts +5 -0
- package/dist/domain/domain-runtime/spec/index.js +1 -1
- package/dist/domain/domain-runtime/spec/initialize.js +1 -1
- package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.d.ts +1 -2
- package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +6 -1
- package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
- package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +5 -0
- package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
- package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
- package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
- package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +25 -0
- package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
- package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
- package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
- package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
- package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
- package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
- package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
- package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
- package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
- package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
- package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
- package/dist/domain/{actions → domain-runtime/spec}/prepare-action-implementations.d.ts +1 -1
- package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
- package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
- package/dist/domain/domain-runtime/spec/selectors.d.ts +7 -8
- package/dist/domain/domain-runtime/spec/selectors.js +1 -1
- package/dist/domain/domain-runtime/spec/types.d.ts +6 -6
- package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +1 -1
- package/dist/domain/extensions/angle-indicator.js +1 -0
- package/dist/domain/extensions/attribute-switch.js +1 -0
- package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
- package/dist/domain/extensions/autorotate-camera-component.js +1 -0
- package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +1 -1
- package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
- package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
- package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
- package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
- package/dist/domain/extensions/canvas-config.js +1 -0
- package/dist/domain/extensions/canvas-custom-environment.js +1 -0
- package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +1 -1
- package/dist/domain/extensions/canvas-padding.js +1 -0
- package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +1 -1
- package/dist/domain/extensions/canvas-preset-environment.js +1 -0
- package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
- package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
- package/dist/domain/extensions/client-side-image.js +1 -0
- package/dist/domain/extensions/color-value.js +1 -0
- package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +1 -1
- package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
- package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +1 -1
- package/dist/domain/extensions/common/dimension-indicator-schema.js +1 -0
- package/dist/domain/extensions/common/index.d.ts +4 -0
- package/dist/domain/extensions/common/index.js +1 -0
- package/dist/domain/{system-components → extensions}/custom-header.d.ts +2 -2
- package/dist/domain/{system-components → extensions}/custom-header.js +1 -1
- package/dist/domain/extensions/custom-price-footer.js +1 -0
- package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +2 -2
- package/dist/domain/{system-components → extensions}/custom-sidebar-footer.js +1 -1
- package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +1 -1
- package/dist/domain/extensions/dimension-indicator.js +1 -0
- package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +3 -2
- package/dist/domain/extensions/editable-angle-indicator.js +1 -0
- package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +3 -2
- package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
- package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +3 -2
- package/dist/domain/extensions/editable-offset-indicator.js +1 -0
- package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +3 -2
- package/dist/domain/extensions/editable-size-indicator.js +1 -0
- package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
- package/dist/domain/extensions/entity-header.js +1 -0
- package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +1 -1
- package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
- package/dist/domain/{system-components → extensions}/finalize-action.d.ts +1 -1
- package/dist/domain/extensions/finalize-action.js +1 -0
- package/dist/domain/extensions/finalize-component.js +1 -0
- package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
- package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
- package/dist/domain/{system-components → extensions}/fixed-header.d.ts +1 -1
- package/dist/domain/extensions/fixed-header.js +1 -0
- package/dist/domain/{system-components → extensions}/floating-header.d.ts +1 -1
- package/dist/domain/extensions/floating-header.js +1 -0
- package/dist/domain/{system-components → extensions}/hidden-header.d.ts +1 -1
- package/dist/domain/extensions/hidden-header.js +1 -0
- package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +1 -1
- package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
- package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +1 -1
- package/dist/domain/extensions/horizontal-tabs.js +1 -0
- package/dist/domain/extensions/index.d.ts +69 -0
- package/dist/domain/extensions/index.js +1 -0
- package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
- package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
- package/dist/domain/extensions/multilingual-text-value.js +1 -0
- package/dist/domain/extensions/navigation-steps.js +1 -0
- package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +1 -1
- package/dist/domain/extensions/offset-anchors.js +1 -0
- package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +1 -2
- package/dist/domain/extensions/offset-indicator.js +1 -0
- package/dist/domain/{system-components → extensions}/offset.d.ts +1 -1
- package/dist/domain/extensions/offset.js +1 -0
- package/dist/domain/{system-components → extensions}/other-action.d.ts +1 -1
- package/dist/domain/extensions/other-action.js +1 -0
- package/dist/domain/{system-components → extensions}/property-page.d.ts +2 -2
- package/dist/domain/extensions/property-page.js +1 -0
- package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +1 -1
- package/dist/domain/extensions/read-sidebar-footer.js +1 -0
- package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
- package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
- package/dist/domain/extensions/rotatable.js +1 -0
- package/dist/domain/extensions/rotation-handle.js +1 -0
- package/dist/domain/extensions/save-template-thumbnail.js +1 -0
- package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
- package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
- package/dist/domain/extensions/scene-entity-animation.js +1 -0
- package/dist/domain/extensions/scene-entity-control.js +1 -0
- package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
- package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
- package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
- package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
- package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
- package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
- package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
- package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
- package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
- package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
- package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
- package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
- package/dist/domain/extensions/selectable-component.js +1 -0
- package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +1 -1
- package/dist/domain/extensions/sidebar-tabs.js +1 -0
- package/dist/domain/extensions/simple-summary.js +1 -0
- package/dist/domain/{system-components → extensions}/size.d.ts +1 -1
- package/dist/domain/extensions/size.js +1 -0
- package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +1 -1
- package/dist/domain/extensions/sketching-draw.js +1 -0
- package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +2 -2
- package/dist/domain/extensions/sketching-edit.js +1 -0
- package/dist/domain/extensions/summary-component.js +1 -0
- package/dist/domain/extensions/text-value.js +1 -0
- package/dist/domain/extensions/tool-controls.js +1 -0
- package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +2 -2
- package/dist/domain/extensions/tool-menu-fab.js +1 -0
- package/dist/domain/{system-components → extensions}/toolbar.d.ts +2 -2
- package/dist/domain/{system-components → extensions}/toolbar.js +1 -1
- package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +1 -1
- package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
- package/dist/domain/extensions/view-controls.js +1 -0
- package/dist/domain/index.d.ts +2 -32
- package/dist/domain/index.js +1 -1
- package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
- package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
- package/dist/domain/mocks/create-mock-domain-runtime.d.ts +21 -21
- package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
- package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
- package/dist/domain/mocks/create-mock-state.d.ts +2 -2
- package/dist/domain/projections/blender-projections/blender-projections.d.ts +2 -3
- package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
- package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
- package/dist/domain/projections/collision-projections.d.ts +1 -1
- package/dist/domain/projections/composition-projections.d.ts +1 -1
- package/dist/domain/projections/composition-projections.js +1 -1
- package/dist/domain/projections/constraint-projections.d.ts +1 -1
- package/dist/domain/projections/index.d.ts +1 -1
- package/dist/domain/projections/position-projections.d.ts +1 -1
- package/dist/domain/projections/projected-entities-projections.d.ts +2 -3
- package/dist/domain/projections/snap-matching.d.ts +1 -2
- package/dist/domain/projections/snap-utils.d.ts +1 -2
- package/dist/domain/projections/snapping-projections.d.ts +1 -1
- package/dist/domain/projections/validation-projections.d.ts +3 -20
- package/dist/domain/projections/validation-projections.js +1 -1
- package/dist/domain/sketching/sketching-projections.d.ts +1 -1
- package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
- package/dist/domain/system-components/admin-sidebar.js +1 -1
- package/dist/domain/system-components/angle-dimension.js +1 -1
- package/dist/domain/system-components/application-config.d.ts +1 -1
- package/dist/domain/system-components/application-config.js +1 -1
- package/dist/domain/system-components/attribute-selection.js +1 -1
- package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
- package/dist/domain/system-components/bounding-box-component.js +1 -1
- package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
- package/dist/domain/system-components/bounding-sphere-component.js +1 -1
- package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
- package/dist/domain/system-components/child-entity-recipes.js +1 -1
- package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
- package/dist/domain/system-components/child-entity-selection.js +1 -1
- package/dist/domain/system-components/collision-box-geometry.d.ts +1 -1
- package/dist/domain/system-components/collision-box-geometry.js +1 -1
- package/dist/domain/system-components/collision-geometries.d.ts +1 -1
- package/dist/domain/system-components/collision-geometry.d.ts +1 -1
- package/dist/domain/system-components/collision-geometry.js +1 -1
- package/dist/domain/system-components/collision-point-geometry.d.ts +1 -1
- package/dist/domain/system-components/collision-point-geometry.js +1 -1
- package/dist/domain/system-components/common/index.d.ts +0 -4
- package/dist/domain/system-components/common/index.js +1 -1
- package/dist/domain/system-components/common/recipes.d.ts +1 -2
- package/dist/domain/system-components/constraint.d.ts +1 -1
- package/dist/domain/system-components/constraint.js +1 -1
- package/dist/domain/system-components/create-blueprint.d.ts +1 -1
- package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
- package/dist/domain/system-components/custom-scene-entity.js +1 -1
- package/dist/domain/system-components/detail.js +1 -1
- package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
- package/dist/domain/system-components/distance-dimension-select.js +1 -1
- package/dist/domain/system-components/distance-dimension.d.ts +1 -1
- package/dist/domain/system-components/distance-dimension.js +1 -1
- package/dist/domain/system-components/drag-handle.d.ts +1 -1
- package/dist/domain/system-components/drag-handle.js +1 -1
- package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
- package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
- package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
- package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
- package/dist/domain/system-components/generic-dimension.d.ts +1 -1
- package/dist/domain/system-components/generic-dimension.js +1 -1
- package/dist/domain/system-components/hidden-entity.js +1 -1
- package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -2
- package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
- package/dist/domain/system-components/index.d.ts +0 -68
- package/dist/domain/system-components/index.js +1 -1
- package/dist/domain/system-components/material-override-property-transition.js +1 -1
- package/dist/domain/system-components/material-override-transformer.js +1 -1
- package/dist/domain/system-components/material-swatch.js +1 -1
- package/dist/domain/system-components/navigation-page.js +1 -1
- package/dist/domain/system-components/navigation-panel-list.js +1 -1
- package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
- package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
- package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
- package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
- package/dist/domain/system-components/pivot-point.d.ts +1 -1
- package/dist/domain/system-components/pivot-point.js +1 -1
- package/dist/domain/system-components/price.js +1 -1
- package/dist/domain/system-components/projected-entities.d.ts +1 -1
- package/dist/domain/system-components/projected-entities.js +1 -1
- package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
- package/dist/domain/system-components/replace-entity-recipes.js +1 -1
- package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
- package/dist/domain/system-components/scene-entity-box-object.js +1 -1
- package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
- package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
- package/dist/domain/system-components/scene-entity-material-override.js +1 -1
- package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
- package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
- package/dist/domain/system-components/scene-entity-object-group.js +1 -1
- package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
- package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
- package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
- package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
- package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
- package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
- package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
- package/dist/domain/system-components/scene-entity-object.js +1 -1
- package/dist/domain/system-components/scene-entity-point-light.js +1 -1
- package/dist/domain/system-components/scene-entity-properties.js +1 -1
- package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
- package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
- package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
- package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
- package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
- package/dist/domain/system-components/sketching-line.d.ts +1 -1
- package/dist/domain/system-components/sketching-line.js +1 -1
- package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
- package/dist/domain/system-components/sketching-rectangle.js +1 -1
- package/dist/domain/system-components/sketching.d.ts +1 -1
- package/dist/domain/system-components/sketching.js +1 -1
- package/dist/domain/system-components/snap-axis.d.ts +1 -1
- package/dist/domain/system-components/snap-axis.js +1 -1
- package/dist/domain/system-components/snap-edge.d.ts +1 -1
- package/dist/domain/system-components/snap-edge.js +1 -1
- package/dist/domain/system-components/snap-plane.d.ts +1 -1
- package/dist/domain/system-components/snap-plane.js +1 -1
- package/dist/domain/system-components/snap-point.d.ts +1 -1
- package/dist/domain/system-components/snap-point.js +1 -1
- package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
- package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
- package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
- package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
- package/dist/domain/utils/eval-cache.d.ts +2 -3
- package/dist/domain/utils/map-nested-object.d.ts +1 -1
- package/dist/domain/utils/memo-eval.d.ts +2 -4
- package/dist/editor/Editor.js +1 -1
- package/dist/editor/domain-editors/use-implementation-files.d.ts +8 -8
- package/dist/editor/domain-editors/use-implementation-files.js +1 -1
- package/dist/editor/graphql/GraphQLPanel.js +1 -1
- package/dist/editor/variants/VariantAnswerFooter.d.ts +17 -0
- package/dist/editor/variants/VariantAnswerFooter.js +1 -0
- package/dist/editor/variants/VariantPreviewHandler.d.ts +6 -0
- package/dist/editor/variants/VariantPreviewHandler.js +1 -0
- package/dist/editor/variants/variant-preview-styles.d.ts +49 -0
- package/dist/editor/variants/variant-preview-styles.js +1 -0
- package/dist/i18n/locales/cs/messages.js +1 -1
- package/dist/i18n/locales/da/messages.js +1 -1
- package/dist/i18n/locales/de/messages.js +1 -1
- package/dist/i18n/locales/de-AT/messages.js +1 -1
- package/dist/i18n/locales/en/messages.js +1 -1
- package/dist/i18n/locales/en-AU/messages.js +1 -1
- package/dist/i18n/locales/en-GB/messages.js +1 -1
- package/dist/i18n/locales/es/messages.js +1 -1
- package/dist/i18n/locales/fr/messages.js +1 -1
- package/dist/i18n/locales/hu/messages.js +1 -1
- package/dist/i18n/locales/it/messages.js +1 -1
- package/dist/i18n/locales/nl/messages.js +1 -1
- package/dist/i18n/locales/pl/messages.js +1 -1
- package/dist/i18n/locales/pt/messages.js +1 -1
- package/dist/i18n/locales/ro/messages.js +1 -1
- package/dist/i18n/locales/sk/messages.js +1 -1
- package/dist/i18n/locales/tr/messages.js +1 -1
- package/dist/legacy/domain-cli/gen/configurator-builder.js +30 -16
- package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
- package/dist/legacy/domain-cli/gen/defaults.js +1 -7
- package/dist/legacy/domain-cli/gen/implementation.js +7 -11
- package/dist/legacy/domain-cli/gen/invariants.js +7 -6
- package/dist/legacy/domain-cli/gen/relations.js +1 -1
- package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
- package/dist/legacy/domain-cli/utils/cache.js +1 -1
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +1 -0
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -19
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +15 -16
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +22 -23
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +15 -16
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
- package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
- package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
- package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
- package/dist/phoenix/cli.js +1 -1
- package/dist/phoenix/commands/deploy.js +2 -2
- package/dist/phoenix/commands/dev.js +5 -5
- package/dist/phoenix/commands/index.d.ts +1 -0
- package/dist/phoenix/commands/index.js +1 -1
- package/dist/phoenix/commands/init.d.ts +4 -4
- package/dist/phoenix/commands/init.js +1 -1
- package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
- package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
- package/dist/phoenix/commands/prettier.js +1 -1
- package/dist/phoenix/commands/story-dev.js +2 -2
- package/dist/phoenix/commands/variants.d.ts +35 -0
- package/dist/phoenix/commands/variants.js +1 -0
- package/dist/phoenix/editor-server/commands-router.d.ts +68 -1
- package/dist/phoenix/editor-server/commands-router.js +1 -1
- package/dist/phoenix/editor-server/editor-router.d.ts +65 -0
- package/dist/phoenix/editor-server/editor-server.d.ts +3 -3
- package/dist/phoenix/editor-server/editor-server.js +1 -1
- package/dist/phoenix/editor-server/protocol.d.ts +1 -0
- package/dist/phoenix/editor-server/spec-router.js +1 -1
- package/dist/phoenix/editor-server/trpc.d.ts +3 -0
- package/dist/phoenix/scripts/build-admin.js +1 -1
- package/dist/phoenix/services/application-spec-project-watcher.d.ts +13 -2
- package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
- package/dist/phoenix/services/index.d.ts +4 -0
- package/dist/phoenix/services/index.js +1 -1
- package/dist/phoenix/services/phoenix-application.d.ts +21 -0
- package/dist/phoenix/services/phoenix-application.js +1 -0
- package/dist/phoenix/services/phoenix-store.d.ts +48 -0
- package/dist/phoenix/services/phoenix-store.js +1 -0
- package/dist/phoenix/services/phx-variant-previews-plugin.d.ts +9 -0
- package/dist/phoenix/services/phx-variant-previews-plugin.js +1 -0
- package/dist/phoenix/services/prepare-development-environment.js +1 -1
- package/dist/phoenix/services/variant-file-session.d.ts +36 -0
- package/dist/phoenix/services/variant-file-session.js +1 -0
- package/dist/phoenix/services/variant-preview-service.d.ts +80 -0
- package/dist/phoenix/services/variant-preview-service.js +1 -0
- package/dist/phoenix/services/vite-config.js +1 -1
- package/dist/phoenix/utils/git/index.d.ts +1 -0
- package/dist/phoenix/utils/git/index.js +1 -0
- package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
- package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
- package/dist/phoenix/utils/index.d.ts +1 -0
- package/dist/phoenix/utils/index.js +1 -1
- package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +2 -2
- package/dist/react-sdk/application-runtime/common-services/analytics/domain-controls-analytics.d.ts +21 -21
- package/dist/react-sdk/application-runtime/hooks/data/use-published-data.d.ts +1 -1
- package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
- package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
- package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
- package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
- package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +40 -40
- package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +9 -9
- package/dist/react-sdk/domain-context/index.d.ts +1 -1
- package/dist/react-sdk/domain-context/index.js +1 -1
- package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +6 -0
- package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
- package/dist/ui-sdk/common/use-viewport-size.d.ts +4 -1
- package/dist/ui-sdk/common/use-viewport-size.js +1 -1
- package/dist/ui-sdk/components/mobile-controls/index.d.ts +1 -1
- package/dist/ui-sdk/theme/types.d.ts +1 -1
- package/dist/webhook/builders/common.d.ts +8 -0
- package/dist/webhook/builders/webhook-builder.d.ts +1 -1
- package/dist/webhook/builders/webhook-builder.js +1 -1
- package/package.json +4 -4
- package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
- package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
- package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
- package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
- package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
- package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
- package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
- package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
- package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
- package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
- package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
- package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
- package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
- package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
- package/dist/configurator/assistant/index.d.ts +0 -1
- package/dist/configurator/assistant/index.js +0 -1
- package/dist/configurator/assistant/use-assistant-chat.d.ts +0 -30
- package/dist/configurator/assistant/use-assistant-chat.js +0 -1
- package/dist/configurator/ui/assistant/AssistantPanelProvider.d.ts +0 -42
- package/dist/configurator/ui/assistant/AssistantPanelProvider.js +0 -1
- package/dist/domain/actions/action-factory.d.ts +0 -10
- package/dist/domain/actions/prepare-action-implementations.js +0 -5
- package/dist/domain/application/element-registration.js +0 -1
- package/dist/domain/application/handler-registration.js +0 -1
- package/dist/domain/application/resolve-imported-transformers.d.ts +0 -13
- package/dist/domain/application/resolve-imported-transformers.js +0 -1
- package/dist/domain/application/resource-builder.d.ts +0 -13
- package/dist/domain/application/resource-builder.js +0 -1
- package/dist/domain/components/debug-state-component.js +0 -1
- package/dist/domain/components/domain-component-optic.d.ts +0 -76
- package/dist/domain/components/domain-component-optic.js +0 -16
- package/dist/domain/components/drag-state-component.js +0 -1
- package/dist/domain/components/export-state-component.js +0 -1
- package/dist/domain/components/fullscreen-state-component.js +0 -1
- package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
- package/dist/domain/components/hover-state-component.js +0 -1
- package/dist/domain/components/index.d.ts +0 -2
- package/dist/domain/components/index.js +0 -1
- package/dist/domain/components/navigation-state-component.js +0 -1
- package/dist/domain/components/selection-state-component.js +0 -1
- package/dist/domain/components/system-component-builder.js +0 -1
- package/dist/domain/components/system-virtual-entity.js +0 -1
- package/dist/domain/components/tool-state-component.js +0 -1
- package/dist/domain/components/view-state-component.js +0 -1
- package/dist/domain/components/viewport-state-component.js +0 -1
- package/dist/domain/core/expression.d.ts +0 -50
- package/dist/domain/core/json-schema.js +0 -1
- package/dist/domain/core/migrations.js +0 -1
- package/dist/domain/core/reflection.js +0 -1
- package/dist/domain/domain-context/recipe-system/recipes.d.ts +0 -57
- package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
- package/dist/domain/expressions/constant-expressions.js +0 -1
- package/dist/domain/expressions/custom-expression.d.ts +0 -13
- package/dist/domain/expressions/custom-expression.js +0 -1
- package/dist/domain/expressions/index.d.ts +0 -1
- package/dist/domain/expressions/index.js +0 -1
- package/dist/domain/invariants/custom-invariants.d.ts +0 -22
- package/dist/domain/invariants/custom-invariants.js +0 -1
- package/dist/domain/invariants/invariants.d.ts +0 -68
- package/dist/domain/invariants/invariants.js +0 -1
- package/dist/domain/invariants/violation-component.js +0 -1
- package/dist/domain/relations/all-of-type-relation.d.ts +0 -33
- package/dist/domain/relations/all-of-type-relation.js +0 -1
- package/dist/domain/relations/component-factories.js +0 -1
- package/dist/domain/relations/composed-of.js +0 -1
- package/dist/domain/relations/direct-relation.d.ts +0 -29
- package/dist/domain/relations/indirect-relation.d.ts +0 -81
- package/dist/domain/relations/indirect-relation.js +0 -1
- package/dist/domain/relations/reference-component.js +0 -1
- package/dist/domain/relations/relation-factory.d.ts +0 -19
- package/dist/domain/relations/relation-factory.js +0 -1
- package/dist/domain/relations/relation-implementation.d.ts +0 -8
- package/dist/domain/system-components/angle-indicator.js +0 -1
- package/dist/domain/system-components/attribute-switch.js +0 -1
- package/dist/domain/system-components/autorotate-camera-component.js +0 -1
- package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
- package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
- package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
- package/dist/domain/system-components/canvas-config.js +0 -1
- package/dist/domain/system-components/canvas-custom-environment.js +0 -1
- package/dist/domain/system-components/canvas-padding.js +0 -1
- package/dist/domain/system-components/canvas-preset-environment.js +0 -1
- package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
- package/dist/domain/system-components/client-side-image.js +0 -1
- package/dist/domain/system-components/color-value.js +0 -1
- package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
- package/dist/domain/system-components/common/dimension-indicator-schema.js +0 -1
- package/dist/domain/system-components/custom-price-footer.js +0 -1
- package/dist/domain/system-components/dimension-indicator.js +0 -1
- package/dist/domain/system-components/editable-angle-indicator.js +0 -1
- package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
- package/dist/domain/system-components/editable-offset-indicator.js +0 -1
- package/dist/domain/system-components/editable-size-indicator.js +0 -1
- package/dist/domain/system-components/entity-header.js +0 -1
- package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
- package/dist/domain/system-components/finalize-action.js +0 -1
- package/dist/domain/system-components/finalize-component.js +0 -1
- package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
- package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
- package/dist/domain/system-components/fixed-header.js +0 -1
- package/dist/domain/system-components/floating-header.js +0 -1
- package/dist/domain/system-components/hidden-header.js +0 -1
- package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
- package/dist/domain/system-components/horizontal-tabs.js +0 -1
- package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
- package/dist/domain/system-components/multilingual-text-value.js +0 -1
- package/dist/domain/system-components/navigation-steps.js +0 -1
- package/dist/domain/system-components/offset-anchors.js +0 -1
- package/dist/domain/system-components/offset-indicator.js +0 -1
- package/dist/domain/system-components/offset.js +0 -1
- package/dist/domain/system-components/other-action.js +0 -1
- package/dist/domain/system-components/property-page.js +0 -1
- package/dist/domain/system-components/read-sidebar-footer.js +0 -1
- package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
- package/dist/domain/system-components/rotatable.js +0 -1
- package/dist/domain/system-components/rotation-handle.js +0 -1
- package/dist/domain/system-components/save-template-thumbnail.js +0 -1
- package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
- package/dist/domain/system-components/scene-entity-animation.js +0 -1
- package/dist/domain/system-components/scene-entity-control.js +0 -1
- package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
- package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
- package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
- package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
- package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
- package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
- package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
- package/dist/domain/system-components/selectable-component.js +0 -1
- package/dist/domain/system-components/sidebar-tabs.js +0 -1
- package/dist/domain/system-components/simple-summary.js +0 -1
- package/dist/domain/system-components/size.js +0 -1
- package/dist/domain/system-components/sketching-draw.js +0 -1
- package/dist/domain/system-components/sketching-edit.js +0 -1
- package/dist/domain/system-components/summary-component.js +0 -1
- package/dist/domain/system-components/text-value.js +0 -1
- package/dist/domain/system-components/tool-controls.js +0 -1
- package/dist/domain/system-components/tool-menu-fab.js +0 -1
- package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
- package/dist/domain/system-components/view-controls.js +0 -1
- package/dist/phoenix/application-spec/generate-assistant-prompt.d.ts +0 -12
- package/dist/phoenix/application-spec/generate-assistant-prompt.js +0 -1
- /package/dist/domain/{components/component-reader-types.js → application/assistant/assistant-manifest.js} +0 -0
- /package/dist/domain/{core/action.js → application/assistant/assistant-resolved-manifest.js} +0 -0
- /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
- /package/dist/domain/core/{enhanced-json-schema.js → action/action.js} +0 -0
- /package/dist/domain/core/{expression.js → component/component-reader-types.js} +0 -0
- /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
- /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
- /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
- /package/dist/domain/{components → core/component}/updates.js +0 -0
- /package/dist/domain/core/{schema-validator.js → data-schema/data-cell-value.js} +0 -0
- /package/dist/domain/{relations/reference-field.js → core/data-schema/data-schema-array-field.js} +0 -0
- /package/dist/domain/{relations/relation-implementation.js → core/data-schema/data-schema-field-object.js} +0 -0
- /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
- /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
- /package/dist/domain/{invariants → core/invariant}/violation.js +0 -0
- /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
- /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
- /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
- /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
- /package/dist/domain/core/{component.js → model/component.js} +0 -0
- /package/dist/domain/core/{model.d.ts → model/model.d.ts} +0 -0
- /package/dist/domain/core/{model.js → model/model.js} +0 -0
- /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
- /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
- /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
- /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
- /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
- /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
- /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
- /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
- /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
- /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
- /package/dist/domain/core/{state.js → state/state.js} +0 -0
- /package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.js +0 -0
- /package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
- /package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/client-side-image.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
- /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
- /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
- /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{match as e}from"ts-pattern";import{isEqualArray as t,isNonNullish as
|
|
1
|
+
import{match as e}from"ts-pattern";import{isEqualArray as t,isNonNullish as i}from"@salsita-ai/common/utils";import{domainEntityTypeFromId as n}from"../../core/index.js";import{isDeselectUpdate as r,isNavigationUpdate as o,isSelectUpdate as l,isViewUpdate as a}from"../navigation-system/index.js";import{createCascadeDeletesTransformer as p,createCascadeRefPruningTransformer as d,createCreateEntityRefsTransformer as s,createRefReplaceTransformer as g}from"../relation-transformers/index.js";import{getIdSequence as f}from"../store-system/index.js";import{chainBuilder as u}from"./chain-builder.js";import{isContextWithEntityId as h,isContextWithUpdate as c}from"./context.js";let m=(e,t)=>{let n=[s(e.componentReader),g(e.componentReader),p(e.compositionProjections),d(e.componentReader),t?e.storeSystem.transformToDataUpdates:void 0].filter(i);return(e,t,i,r,o)=>n.reduce((e,n)=>n(e,t,i,r,o),e)};export const updateActions=p=>d=>{let s,g=t=>i=>u(n=>{let r=m(n,p);return(o,l,a,p)=>{let s=d(o,l,a,n,p);return s.length?s.reduce((n,o)=>{let d=i({...o,getIdSequence:()=>f(l.entities,n)});return e(t).with("applySideEffect",()=>0===d.length?(p?.("no-apply","No side effects applied"),n):(p?.("apply","Applying side effects",{added:d}),[...n,...r(d,l,a,p,n)])).with("overrideMatchingUpdate",()=>{let e=c(o)?o.update:null;if(1===d.length&&d[0]===e)return p?.("no-apply","Update replaced with itself, no-op"),n;p?.("apply","Overriding matched updates",{removed:[e],added:d});let t=n.filter(t=>t!==e);return[...t,...r(d,l,a,p,t)]}).exhaustive()},o):o}});return{applySideEffect:g("applySideEffect"),overrideMatchingUpdate:g("overrideMatchingUpdate"),overrideAllUpdates:e=>u(i=>{let n=m(i,p);return(r,o,l,a)=>{let p=d(r,o,l,i,a);if(!p.length)return r;p.length>1&&a?.("apply",'Multiple contexts matched for "overrideAllUpdates", picking the first one only');let s=e(p[0]);if(t(s,r))return a?.("no-apply",'Updates returned from "overrideAllUpdates" are the same as the original updates, skipping transformer'),r;let{processedUpdates:g,trulyNewUpdates:f}=s.reduce((e,t)=>(r.includes(t)?e.processedUpdates.push(t):e.trulyNewUpdates.push(t),e),{processedUpdates:[],trulyNewUpdates:[]});return a?.("apply","Overriding all updates",{removed:r,added:s,keptUnchanged:g,trulyNew:f}),[...g,...n(f,o,l,a,g)]}}),...(s=(e,t,i,n)=>{if(0===i.length)return t;i.length>1&&n?.("apply","Multiple entities supposed to be selected, picking the first one",{entityIds:i});let o=t.filter(e=>!(l(e)||r(e))),a=i[0],p=e.navigationSystem.getSelectUpdate(a);return o.length<t.length?n?.("apply",`Overriding previous selection updates with selection of entity ${a}`,{removed:t.filter(e=>l(e)||r(e)),added:p}):n?.("apply",`Selecting entity ${a}`,{added:p}),[...o,p]},{select:{entity:e=>u(t=>(n,r,o,l)=>{t.storeSystem.prepareStateEmissionWithoutTransformation(n,r,o);let a=d(n,r,o,t,l);if(0===a.length)return n;let p=a.map(e).filter(i);return 0===p.length?(l?.("no-resolve","Custom selector did not return any entity id, skipping selection"),n):s(t,n,p,l)}),self:()=>u(e=>(t,i,n,r)=>{let o=d(t,i,n,e,r);return 0===o.length?t:s(e,t,o.map(e=>{if(!h(e))throw Error("Context does not have entity id");return e.entityId}),r)}),ancestorOfType:e=>u(t=>(r,o,l,a)=>{let p=d(r,o,l,t,a);if(0===p.length)return r;let g=p.map(e=>{if(!h(e))throw Error("Context does not have entity id");return e.entityId}),f=p.map(i=>{if(!h(i))throw Error("Context does not have entity id");let r=t.compositionProjections.getTree(o).map.get(i.entityId);if(!r)throw Error(`Entity with id ${i.entityId} not found in the composition tree. The state is invalid!`);for(let t of r.ancestors())if(e.includes(n(t.id)))return t.id}),u=f.filter(i);return(u.length<g.length&&a?.("no-apply",0===u.length?"No entities have ancestor of the specified type, skipping selection":"Some entities do not have ancestor of the specified type",{entityIds:g.filter((e,t)=>void 0===f[t])}),0===u.length)?r:s(t,r,u,a)})},deselect:()=>u(e=>(t,i,n,o)=>0===d(t,i,n,e,o).length?t:[...t.filter(e=>!(l(e)||r(e))),e.navigationSystem.getDeselectUpdate()]),navigateTo:e=>u(t=>(n,r,l,a)=>{let p=d(n,r,l,t,a);if(0===p.length)return n;let s=p.map(t=>"function"==typeof e?e(t):e).filter(i);if(0===s.length)return a?.("no-resolve","Custom selector did not return any navigation state, skipping navigation"),n;s.length>1&&a?.("apply","Multiple navigation states selected, picking the first one",{navigationStates:s});let g=s[0],f=t.navigationSystem.getNavigationUpdate(g),u=n.filter(e=>!o(e));return u.length<n.length?a?.("apply",`Overriding previous navigation updates with ${g}`,{removed:n.filter(e=>o(e)),added:f}):a?.("apply",`Navigating to ${g}`,{added:f}),[...u,f]}),changeView:e=>u(t=>(n,o,p,s)=>{let g=d(n,o,p,t,s);if(0===g.length)return n;let f=g.map(t=>"function"==typeof e?e(t):e).filter(i);if(0===f.length)return s?.("no-resolve","Custom selector did not return any view state, skipping view change"),n;f.length>1&&s?.("apply","Multiple view states selected, picking the first one",{viewStates:f});let u=f[0],h=t.navigationSystem.getViewUpdate(u),c=n.filter(e=>!a(e));return c.length<n.length?s?.("apply",`Overriding previous view state updates with ${u}`,{removed:n.filter(e=>l(e)||r(e)),added:h}):s?.("apply",`Changing view to ${u}`,{added:h}),[...c,h]})})}};
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { Euler, Vector3 } from 'three';
|
|
2
|
-
import type
|
|
3
|
-
import type
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import type { ComponentReader } from '../../domain-runtime/domain-context/index.js';
|
|
7
|
-
import type { PositionProjections } from '../../projections/position-projections.js';
|
|
8
|
-
import type { AnySnapMatch, WorldSnapPoint } from '../../projections/snap-matching.js';
|
|
9
|
-
import type { SnappingProjections } from '../../projections/snapping-projections.js';
|
|
2
|
+
import { type $DomainEntity, type ComponentModification, type ComponentSnapshot, type DomainEntity, type DomainEntityId, type StateUpdate } from '../../core/index.js';
|
|
3
|
+
import { type DimensionUnit } from '../../dimensions/index.js';
|
|
4
|
+
import type { ComponentReader } from '../../domain-runtime/index.js';
|
|
5
|
+
import type { AnySnapMatch, PositionProjections, SnappingProjections, WorldSnapPoint } from '../../projections/index.js';
|
|
10
6
|
import { dragHandleComponent, hotspotDragHandleComponent, snapPointComponent } from '../../system-components/index.js';
|
|
11
|
-
import type { DimensionSystem } from '../dimension-system/
|
|
12
|
-
import type { StoreSystem, TransformerLogFunction, UpdateTransformer } from '../store-system/
|
|
7
|
+
import type { DimensionSystem } from '../dimension-system/index.js';
|
|
8
|
+
import type { StoreSystem, TransformerLogFunction, UpdateTransformer } from '../store-system/index.js';
|
|
13
9
|
export declare const AutoSnapUpdateTag: 'AutoSnap.applied';
|
|
14
10
|
export type AutoSnapType = 'point' | 'edge' | 'plane' | 'axis';
|
|
15
11
|
export interface AutoSnapMetadata {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Euler as t,Quaternion as e,Vector3 as a}from"three";import{isDomainEntityId as n}from"../../core/index.js";import{defaultDistanceToUnit as o,distanceUnitToDefault as r}from"../../dimensions/
|
|
1
|
+
import{Euler as t,Quaternion as e,Vector3 as a}from"three";import{isDomainEntityId as n}from"../../core/index.js";import{defaultDistanceToUnit as o,distanceUnitToDefault as r}from"../../dimensions/index.js";import{computeWorldMatrix as i,computeWorldSnapEdges as l,computeWorldSnapPoints as p,extractYRotationFromMatrix as d,findBestAxisSnap as s,findBestEdgeSnap as g,findBestPlaneSnap as c,findBestPointSnap as u,snapScore as y}from"../../projections/index.js";import{DraggableUpdateTag as m,TransientDraggableUpdateTag as h,dragHandleComponent as f,hotspotDragHandleComponent as S,pivotPointComponent as x,sceneEntityPropertiesComponent as w,snapAxisComponent as Y,snapEdgeComponent as M,snapPlaneComponent as b,snapPointComponent as v}from"../../system-components/index.js";export const AutoSnapUpdateTag="AutoSnap.applied";let T=[m,h],R=t=>"modifyComponent"===t.kind&&(t.componentInstance.componentType===f||t.componentInstance.componentType===S)&&T.includes(t.updateTag);export const isAutoSnapUpdate=t=>"modifyComponent"===t.kind&&t.updateTag===AutoSnapUpdateTag;export const createAutoSnapTransformer=(m,h,f,S,T)=>(P,$,z,A)=>{let E=P.filter(R);if(0===E.length)return A?.("no-event","No drag component modifications found, skipping auto-snap"),P;if(E.length>1)throw Error(`Auto-snap transformer received ${E.length} drag updates in a single batch. Only one drag update per batch is supported. Entity IDs: ${E.map(t=>String(t.componentInstance.entityId)).join(", ")}`);let C=f.getDataDistanceUnit($),X=T.getNewState(P,$),Z=!1,F=[];for(let f of P){if(!R(f)){F.push(f);continue}let T=f.componentInstance.entityId;if(!n(T)){F.push(f);continue}let P=function(n,o,m,h,f,S,T,R,P){let $,z=[n],A=S.readManyComponents({componentTypes:[v],entityIds:z},h),E=S.readManyComponents({componentTypes:[M],entityIds:z},h),C=S.readManyComponents({componentTypes:[b],entityIds:z},h),X=S.readManyComponents({componentTypes:[Y],entityIds:z},h);if(!(A.length>0||E.length>0||C.length>0||X.length>0))return null;if(A.every(t=>!1===t.state.autoSnap)&&E.every(t=>!1===t.state.autoSnap)&&C.every(t=>!1===t.state.autoSnap)&&X.every(t=>!1===t.state.autoSnap))return P?.("no-match",`All snap components on entity ${String(n)} have autoSnap disabled`),null;let Z=S.readFirstComponent({componentTypes:[w],entityIds:z},h),F=o.writableState,W=F.draggableX??0,I=F.draggableY??0,j=F.draggableZ??0,U=new a(r(Z?.state.offsetX??W,f),r(Z?.state.offsetY??I,f),r(Z?.state.offsetZ??j,f)),D=new t(Z?.state.rotationX??0,Z?.state.rotationY??0,Z?.state.rotationZ??0,"XYZ"),N=new a(Z?.state.scaleX??1,Z?.state.scaleY??1,Z?.state.scaleZ??1),O=i(U,D,N),k=R.getEntityParentWorldMatrix(n,h,null),q=k.clone().multiply(O),Q=new a;q.decompose(Q,new e,new a);let B=d(q),G=d(k),H=new e;k.decompose(new a,H,new a);let J=H.clone().invert(),K=new t(D.x,B,D.z,"XYZ"),L=[],V=A.filter(t=>!1!==t.state.autoSnap),_={entityWorldOrigin:Q,currentRotationY:B};if(V.length>0){let t=u($=V.flatMap(t=>p(n,t,t.state,q,f,(t=>{if(void 0===t)return;let e=S.readFirstComponent({componentTypes:[x],instanceNames:[t],entityIds:z},h);if(e)return new a(r(e.state.x,f),r(e.state.y,f),r(e.state.z,f))})(t.state.targetPivotPoint))),T.getWorldSnapPoints(m,z),_);t&&L.push({delta:t.delta,snapMatch:{...t,type:"point"},distance:t.distance,priority:t.targetPoint.priority,targetRotationY:t.targetRotationY,group:t.targetPoint.group})}let tt=E.filter(t=>!1!==t.state.autoSnap);if(tt.length>0){let t,e=g(tt.flatMap(t=>l(n,t,t.state,q,f)),T.getWorldSnapEdges(m,z));e&&L.push({delta:(t=e.sourceEdge.worldStart.clone().add(e.sourceEdge.worldEnd).multiplyScalar(.5),e.alignedWorldMidpoint.clone().sub(t)),snapMatch:{...e,type:"edge"},distance:e.distance,priority:e.targetEdge.priority,targetRotationY:void 0,group:e.targetEdge.group})}if($&&$.length>0){let t=T.getWorldSnapPlanes(m,z);if(t.length>0){let e=c($,t,_);e&&L.push({delta:e.delta,snapMatch:{...e,type:"plane"},distance:e.distance,priority:e.targetPlane.priority,targetRotationY:e.targetRotationY,group:e.targetPlane.group})}let e=T.getWorldSnapAxes(m,z);if(e.length>0){let t=s($,e);t&&L.push({delta:t.delta,snapMatch:{...t,type:"axis"},distance:t.distance,priority:t.targetAxis.priority,targetRotationY:t.targetRotationY,group:t.targetAxis.group})}}L.sort((t,e)=>y(e.priority,e.distance)-y(t.priority,t.distance));let te=L[0];if(!te)return null;if(void 0!==te.targetRotationY){var ta;let t=("edge"===(ta=te.snapMatch).type?ta.sourceEdge.worldStart.clone().add(ta.sourceEdge.worldEnd).multiplyScalar(.5):ta.sourcePoint.worldPosition).clone().sub(Q),e=te.targetRotationY-B,a=Math.cos(e),n=Math.sin(e),o=a*t.x+n*t.z,r=-n*t.x+a*t.z;te.delta.x+=t.x-o,te.delta.z+=t.z-r}let tn=composeOrthogonalSnap({primary:te,activePointSnapshots:V,targetPoints:T.getWorldSnapPoints(m,z),entityId:n,proposedWorldPosition:Q,proposedWorldEuler:K,scale:N,dataDistanceUnit:f});tn&&(P?.("apply",`Composing secondary snap with primary (${te.snapMatch.type}, group=${te.group??"any"}), orthogonal delta: (${tn.x.toFixed(1)}, ${tn.y.toFixed(1)}, ${tn.z.toFixed(1)})`),te.delta.add(tn));let to=te.delta.clone().applyQuaternion(J),tr=void 0!==te.targetRotationY?te.targetRotationY-G:void 0;return{delta:to,snapMatch:te.snapMatch,targetRotationY:tr}}(T,f,$,X,C,m,h,S,A);if(!P){F.push(f);continue}Z=!0;let{delta:z,snapMatch:E,targetRotationY:W}=P,I=new a(o(z.x,C),o(z.y,C),o(z.z,C)),j=f.writableState,U=void 0!==j.draggableX,D=void 0!==j.draggableY,N=void 0!==j.draggableZ,O=j.draggableX??0,k=j.draggableY??0,q=j.draggableZ??0;A?.("apply",`Auto-snap (${E.type}) on entity ${String(T)}, delta: (${z.x.toFixed(1)}, ${z.y.toFixed(1)}, ${z.z.toFixed(1)}), targetRotationY: ${W}`);let Q=Math.round((O+I.x)*1e3)/1e3,B=Math.round((k+I.y)*1e3)/1e3,G=Math.round((q+I.z)*1e3)/1e3;F.push({...f,writableState:{...f.writableState,...U&&{draggableX:Q},...D&&{draggableY:B},...N&&{draggableZ:G},...void 0!==W&&{draggableRotationY:W}},updateTag:AutoSnapUpdateTag,metadata:{...f.metadata,snapType:E.type,snapMatch:E,originalUpdateTag:f.updateTag}})}return Z?F:P};export function composeOrthogonalSnap(e){let{primary:a,activePointSnapshots:n,targetPoints:o,entityId:r,proposedWorldPosition:l,proposedWorldEuler:d,scale:s,dataDistanceUnit:g}=e,c=getConstrainedDirection(a);if(!c||0===n.length)return null;let y=a.targetRotationY??d.y,m=new t(d.x,y,d.z,"XYZ"),h=i(l.clone().add(a.delta),m,s),f=u(n.flatMap(t=>p(r,t,t.state,h,g)),o);return f?composeSecondarySnap(a,f,c):null}export function composeSecondarySnap(t,e,a){let n=e.delta;if(1e-10>=n.lengthSq())return null;let o=n.dot(a),r=n.clone().sub(a.clone().multiplyScalar(o));if(1e-6>=r.lengthSq())return null;let i=e.targetPoint.group;return void 0!==i&&i===t.group?null:r}export function getConstrainedDirection(t){return"plane"===t.snapMatch.type?t.snapMatch.targetPlane.worldNormal.clone().normalize():"axis"===t.snapMatch.type?null:t.delta.lengthSq()>1e-10?t.delta.clone().normalize():null}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { $DomainEntity, DomainEntity } from '../../core/
|
|
1
|
+
import type { $DomainEntity, DomainEntity } from '../../core/index.js';
|
|
2
2
|
import type { DomainContextSystems } from '../domain-context-systems.js';
|
|
3
|
-
import type { TransformerRegistration, UpdateTransformer } from '../store-system/
|
|
3
|
+
import type { TransformerRegistration, UpdateTransformer } from '../store-system/index.js';
|
|
4
4
|
export type RegisterFunction<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> = (domainContext: DomainContextSystems<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES>, priority?: number) => TransformerRegistration<ENTITIES>;
|
|
5
5
|
export type RegistrableTransformer<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> = {
|
|
6
6
|
/**
|
|
7
|
-
* Creates a registration object consumed
|
|
7
|
+
* Creates a registration object consumed by the runtime spec's `createTransformers` factory.
|
|
8
8
|
*/
|
|
9
9
|
register: RegisterFunction<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES>;
|
|
10
10
|
};
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
import type { DomainEntityModification, DomainEntityStateDelta, StateUpdate } from '../../
|
|
2
|
-
import type { $DomainEntity, DomainEntity, DomainEntityId } from '../../core/model.js';
|
|
3
|
-
import type { DomainState } from '../../core/state.js';
|
|
4
|
-
import type { ViolationTypesOf$Entity } from '../../invariants/violation.js';
|
|
5
|
-
import type { StateValidationResult } from '../../projections/validation-projections.js';
|
|
1
|
+
import type { $DomainEntity, DomainEntity, DomainEntityId, DomainEntityModification, DomainEntityStateDelta, DomainState, IdSequence, StateUpdate, StateValidationResult, ViolationTypesOf$Entity } from '../../core/index.js';
|
|
6
2
|
import type { DomainContextSystems } from '../domain-context-systems.js';
|
|
7
|
-
import type {
|
|
8
|
-
import type { StateEmissionKind, TransformerLogFunction } from '../store-system/store-system.js';
|
|
3
|
+
import type { StateEmissionKind, TransformerLogFunction } from '../store-system/index.js';
|
|
9
4
|
export type BaseTransformerBuilderContext<ENTITIES extends DomainEntity<string>, $MAP extends Record<string, $DomainEntity<ENTITIES>>, ALLOWED_ROOT_ENTITIES extends ENTITIES, NAVIGATION_STATES extends string, VIEW_STATES extends string, TOOL_STATES extends string, EXPORT_STATES extends string> = {
|
|
10
5
|
/**
|
|
11
6
|
* The domain context instance. Provides low-level access to the domain, navigation system,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{memoOnce as t}from"@salsita-ai/common/utils";import{getIdSequence as e}from"../store-system/
|
|
1
|
+
import{memoOnce as t}from"@salsita-ai/common/utils";import{getIdSequence as e}from"../store-system/index.js";export const isContextWithUpdate=t=>"update"in t&&"object"==typeof t.update&&null!==t.update;export const isContextWithEntityId=t=>"entityId"in t;export const createBaseContext=(i,a,o,n,s)=>{let g=t(()=>i.storeSystem.prepareStateEmissionWithoutTransformation(n,a,o));return{domainContext:i,stateEmissionKind:o,updates:n,getOldState:()=>a,getNewState:()=>g().state,getOld$Root:()=>i.domain.getRoot$Entity(a),getNew$Root:()=>i.domain.getRoot$Entity(g().state),getNewValidity:()=>g().validity,getOldNavigationState:()=>i.navigationSystem.getActiveNavigationState(a),getNewNavigationState:()=>i.navigationSystem.getActiveNavigationState(g().state),getOldViewState:()=>i.navigationSystem.getActiveViewState(a),getNewViewState:()=>i.navigationSystem.getActiveViewState(g().state),getIdSequence:()=>e(a.entities,n),log:s}};
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type { selectionStateComponent } from '../../components/selection-state-component.js';
|
|
3
|
-
import type { DomainEntityCreation, DomainEntityModification, DomainEntityReplacement, EntityDeletion, EphemeralRecordModification } from '../../components/updates.js';
|
|
4
|
-
import { type $DomainEntity, type DomainEntity, type DomainEntityId, type EntityByType } from '../../core/model.js';
|
|
5
|
-
import type { ViolationTypesOf$Entity } from '../../invariants/violation.js';
|
|
1
|
+
import { type $DomainEntity, type DomainEntity, type DomainEntityCreation, type DomainEntityId, type DomainEntityModification, type DomainEntityReplacement, type EntityByType, type EntityDeletion, type EphemeralRecordModification, type ViolationTypesOf$Entity, type exportStateComponent, type selectionStateComponent } from '../../core/index.js';
|
|
6
2
|
import type { AllActions } from './actions-builder.js';
|
|
7
3
|
import type { BaseTransformerBuilderContext, ContextFactoryFilter, DomainEntityModificationUpdateAtField } from './context.js';
|
|
8
4
|
import type { ThenAndEntityAwareCausesBuilder, ThenBuilder } from './then-builder.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{domainEntityTypeFromId as t,isDomainEntityId as e}from"../../core/
|
|
1
|
+
import{domainEntityTypeFromId as t,isDomainEntityId as e}from"../../core/index.js";import{isDeselectUpdate as n,isExportUpdate as i,isSelectUpdate as r}from"../navigation-system/index.js";import{updateActions as o}from"./actions-builder.js";import{createBaseContext as a}from"./context.js";import{thenAndEntityAwareCausesBuilder as l,thenBuilder as s}from"./then-builder.js";export const entityBuilder=(d,f)=>{let p=(n,i,r,o)=>{let a=r.filter(t=>"replaceDomainEntity"===t.kind);if(0===a.length)return o?.("no-event","No replacement updates found, skipping transformer",{updates:r}),[];let l=a.filter(r=>e(r.entityId)&&(void 0===n||n.includes(t(r.entityId)))&&(void 0===i||i.includes(r.replacementEntity.type)));return 0===l.length?(o?.("no-match",`No replacement from ${n?.join(", ")??"any"} to ${i?.join(", ")??"any"} found, skipping transformer`,{updates:r}),[]):l};return{modified:e=>l(d,o(!0),f()((n,i,r,o,l)=>{let s=n.filter(t=>"modifyDomainEntity"===t.kind);if(0===s.length)return l?.("no-event","No modification updates found, skipping transformer",{updates:n}),[];let f=s.filter(e=>d.includes(t(e.entityId)));if(0===f.length)return l?.("no-match",`No modification updates for entity ${d.join(", ")}, skipping transformer`,{updates:n}),[];let p=f;if(e?.atFields!==void 0){if(0===(p=f.filter(t=>e.atFields.every(e=>Object.hasOwn(t.stateDelta,e)))).length)return l?.("no-match",`Entity ${d.join(", ")} modified, but not at field ${e.atFields.join(", ")}, skipping transformer`,{updates:n}),[];l?.("match",`Entity ${d.join(", ")} modified at field ${e.atFields.join(", ")}, processing transformer`,{updates:n})}else l?.("match",`Entity ${d.join(", ")} modified, processing transformer`,{updates:n});let c=a(o,i,r,n,l);return p.map(t=>{let e=t.entityId;return{...c,getOld$Entity:()=>o.domain.get$Entity(e,i),getNew$Entity:()=>o.domain.get$Entity(e,c.getNewState()),entityId:e,update:t}})})),created:()=>l(d,o(!0),f()((t,e,n,i,r)=>{let o=t.filter(t=>"createDomainEntity"===t.kind);if(0===o.length)return r?.("no-event","No entity creation updates found, skipping transformer",{updates:t}),[];let l=o.filter(t=>d.includes(t.entity.type));if(0===l.length)return r?.("no-match",`No creation updates for entity ${d.join(", ")}, skipping transformer`,{updates:t}),[];r?.("match",`Entity ${d.join(", ")} created, processing transformer`,{updates:t});let s=a(i,e,n,t,r);return l.map(t=>{let e=t.entityId;return{...s,getNew$Entity:()=>i.domain.get$Entity(e,s.getNewState()),entityId:e,update:t}})})),deleted:()=>l(d,o(!0),f()((n,i,r,o,l)=>{let s=n.filter(t=>"deleteEntity"===t.kind);if(0===s.length)return l?.("no-event","No entity deletion updates found, skipping transformer",{updates:n}),[];let f=s.filter(n=>e(n.entityId)&&d.includes(t(n.entityId)));if(0===f.length)return l?.("no-match",`No deletion updates for entity ${d.join(", ")}, skipping transformer`,{updates:n}),[];l?.("match",`Entity ${d.join(", ")} deleted, processing transformer`,{updates:n});let p=a(o,i,r,n,l);return f.map(t=>{let e=t.entityId;return{...p,getOld$Entity:()=>o.domain.get$Entity(e,i),entityId:e,update:t}})})),replaces:t=>l(d,o(!0),f()((e,n,i,r,o)=>{let l=p(t,d,e,o);if(0===l.length)return[];o?.("match",`Entity ${d.join(", ")} replaces ${t.join(", ")??"any"}, processing transformer`,{updates:e});let s=a(r,n,i,e,o);return l.map(t=>{let e=t.entityId,i=t.replacementEntity.id;return{...s,getReplacing$Entity:()=>r.domain.get$Entity(i,s.getNewState()),getReplaced$Entity:()=>r.domain.get$Entity(e,n),entityId:i,update:t}})})),replacedWith:t=>l(d,o(!0),f()((e,n,i,r,o)=>{let l=p(d,t,e,o);if(0===l.length)return[];o?.("match",`Entity ${d.join(", ")} replaced with ${t.join(", ")??"any"}, processing transformer`,{updates:e});let s=a(r,n,i,e,o);return l.map(t=>{let e=t.entityId,i=t.replacementEntity.id;return{...s,getReplacing$Entity:()=>r.domain.get$Entity(i,s.getNewState()),getReplaced$Entity:()=>r.domain.get$Entity(e,n),entityId:e,update:t}})})),selected:n=>l(d,o(!0),f()((i,o,l,s,f)=>{let p=i.filter(r);if(0===p.length)return f?.("no-event","No selection updates found, skipping transformer",{updates:i}),[];let c=p.filter(n=>e(n.writableState.selectedEntityId)&&d.includes(t(n.writableState.selectedEntityId)));if(0===c.length)return f?.("no-match",`No selection updates for entity ${d.join(", ")}, skipping transformer`,{updates:i}),[];let m=s.navigationSystem.getActiveSelectionState(o),y=t(m);if(n?.insteadOf!==void 0&&!n?.insteadOf?.includes(y))return f?.("no-match",`Entity ${d.join(", ")} selected, but not instead of ${d.join(", ")}, skipping transformer`,{updates:i}),[];let g=n?.occurrence??"initial",u="any"===g?c:c.filter(t=>"repeated"===g==(t.writableState.selectedEntityId===m));if(0===u.length)return"initial"===g?f?.("no-match",`Targeting initial selection, but the entity ${d.join(", ")} was res-selected, skipping transformer`,{updates:i}):f?.("no-match",`Targeting repeated selection, but the entity ${d.join(", ")} was selected initially, skipping transformer`,{updates:i}),[];f?.("match",`Entity ${d.join(", ")} selected, processing transformer`,{updates:i});let $=a(s,o,l,i,f);return u.map(t=>{let e=t.writableState.selectedEntityId;return{...$,getSelected$Entity:()=>s.domain.get$Entity(e,$.getNewState()),getDeselected$Entity:()=>s.domain.get$Entity(m,o),entityId:e,update:t}})})),deselected:e=>{if((e?.occurrence==="repeated"||e?.occurrence==="any")&&e?.inFavorOf!==void 0)throw Error("inFavorOf is not supported when occurrence is repeated or any");return l(d,o(!0),f()((i,o,l,s,f)=>{let p=i.filter(t=>r(t)||n(t));if(0===p.length)return f?.("no-event","No selection/deselection updates found, skipping transformer",{updates:i}),[];let c=s.navigationSystem.getActiveSelectionState(o),m=t(c);if(!d.includes(m))return f?.("no-match",`Deselected entity is of type ${m} and not ${d.join(", ")}, skipping transformer`,{updates:i}),[];let y=p.filter(t=>t.writableState.selectedEntityId!==c),g=e?.occurrence??"initial";if(0===y.length&&"initial"===g)return f?.("no-match","Entity has not truly been deselected, skipping transformer",{updates:i}),[];if(y.length>0&&"repeated"===g)return f?.("no-match","Entity has been deselected initially, but target occurrence is repeated, skipping transformer",{updates:i}),[];let u=y.length>0?y:p,$=e?.inFavorOf?u.filter(n=>e.inFavorOf?.includes(t(n.writableState.selectedEntityId))):u;if(0===$.length)return f?.("no-match",`Entity ${c} deselected but not in favor of ${e?.inFavorOf?.join(",")}, skipping transformer`,{updates:i}),[];f?.("match",`Entity ${d.join(", ")} deselected in favor of ${e?.inFavorOf?.join(",")??"any"}, processing transformer`,{updates:i});let h=a(s,o,l,i,f);return $.map(t=>{let e=t.writableState.selectedEntityId;return{...h,getSelected$Entity:()=>s.domain.get$Entity(e,h.getNewState()),getDeselected$Entity:()=>s.domain.get$Entity(c,o),entityId:c,update:t}})}))},violated:n=>s(o(!0),f()((i,r,o,l,s)=>{let{validity:f,state:p}=l.storeSystem.prepareStateEmissionWithoutTransformation(i,r,o);if(f.valid||"uncaught"===f.severity)return s?.("no-event","State is valid, skipping transformer",{validity:f}),[];let c=Array.from(new Set(f.entityViolations.filter(t=>n.includes(t.violation.type)).map(t=>t.entityId)));if(!c)return s?.("no-event",`No violations of type ${n.join(", ")} found, skipping transformer`,{validity:f}),[];let m=c.filter(n=>e(n)&&d.includes(t(n)));if(0===m.length)return s?.("no-match",`No violations of type ${n.join(", ")} found for entity ${d.join(", ")}, skipping transformer`,{validity:f}),[];s?.("no-match",`Violations of type ${n.join(", ")} found for entity ${d.join(", ")}, processing transformer`,{validity:f});let y=a(l,r,o,i,s);return m.map(t=>({...y,getViolated$Entity:()=>l.domain.get$Entity(t,p)}))})),exported:n=>l(d,o(!0),f()((r,o,l,s,f)=>{let p=r.filter(i);if(0===p.length)return f?.("no-event","No export updates found, skipping transformer",{updates:r}),[];let c=p.filter(t=>n.includes(t.writableState.activeState));if(0===c.length)return f?.("no-match",`No export updates matching states ${n.join(", ")}, skipping transformer`,{updates:r}),[];let m=c.filter(n=>e(n.writableState.exportedEntityId)&&d.includes(t(n.writableState.exportedEntityId)));if(0===m.length)return f?.("no-match",`No export updates for entity ${d.join(", ")} with states ${n.join(", ")}, skipping transformer`,{updates:r}),[];f?.("match",`Entity ${d.join(", ")} exported with state ${n.join(", ")}, processing transformer`,{updates:r});let y=a(s,o,l,r,f);return m.map(t=>{let e=t.writableState.exportedEntityId;return{...y,getExported$Entity:()=>s.domain.get$Entity(e,y.getNewState()),entityId:e,update:t,getExportState:()=>t.writableState.activeState}})}))}};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { createTransformerBuilder } from './when-builder.js';
|
|
2
2
|
export type { TransformerBuilder } from './when-builder.js';
|
|
3
3
|
export type { RegistrableTransformer } from './chain-builder.js';
|
|
4
|
-
export { AutoSnapUpdateTag, isAutoSnapUpdate, type AutoSnapType, type AutoSnapMetadata, } from './auto-snap-transformer.js';
|
|
4
|
+
export { AutoSnapUpdateTag, isAutoSnapUpdate, type AutoSnapType, type AutoSnapMetadata, createAutoSnapTransformer, } from './auto-snap-transformer.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{createTransformerBuilder}from"./when-builder.js";export{AutoSnapUpdateTag,isAutoSnapUpdate}from"./auto-snap-transformer.js";
|
|
1
|
+
export{createTransformerBuilder}from"./when-builder.js";export{AutoSnapUpdateTag,isAutoSnapUpdate,createAutoSnapTransformer}from"./auto-snap-transformer.js";
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { type $DomainEntity, type DomainEntity, type DomainEntityId } from '../../core/
|
|
2
|
-
import type { ViolationTypesOf$Entity } from '../../invariants/violation.js';
|
|
1
|
+
import { type $DomainEntity, type DomainEntity, type DomainEntityId, type ViolationTypesOf$Entity } from '../../core/index.js';
|
|
3
2
|
import type { Actions, ActionsBuilder, AllActions } from './actions-builder.js';
|
|
4
3
|
import type { BaseTransformerBuilderContext, ContextFactory, ContextWithEntityId, ContextWithUpdate, ContextWithUpdateAndEntityId } from './context.js';
|
|
5
4
|
export type ThenBuilder<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, ACTIONS extends AllActions, CTX> = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isNonNullish as t}from"@salsita-ai/common/utils";import{domainEntityTypeFromId as e,isDomainEntityId as i}from"../../core/
|
|
1
|
+
import{isNonNullish as t}from"@salsita-ai/common/utils";import{domainEntityTypeFromId as e,isDomainEntityId as i}from"../../core/index.js";import{updateActions as n}from"./actions-builder.js";export const thenBuilder=(t,e)=>({then:t(e),and:i=>({then:t((t,n,r,o,a)=>{let s=e(t,n,r,o,a);if(!s.length)return[];let l=s.filter(i);return l.length||a?.("no-match","Custom `and` predicate did not match any update, skipping transformer"),l})})});export const tagBuilder=(t,e)=>({...thenBuilder(t,e),withTag:i=>thenBuilder(t,(t,n,r,o,a)=>{let s=e(t,n,r,o,a);if(!s.length)return[];let l=s.filter(t=>i.includes(t.update.updateTag));return l.length||a?.("no-match",`No matching update with tag ${i.join(", ")} found, skipping transformer`,{updates:t}),l})});export const causesBuilder=r=>({entity:o=>({withId:e=>({violation:i=>thenBuilder(n(!0),(n,o,a,s,l)=>{let u=r(n,o,a,s,l);if(!u.length)return[];let{validity:d,state:p}=s.storeSystem.prepareStateEmissionWithoutTransformation(n,o,a);if(d.valid||"uncaught"===d.severity)return l?.("no-event","No violations found, skipping transformer"),[];let f=d.entityViolations.filter(t=>i.includes(t.violation.type)).map(t=>t.entityId);if(0===f.length)return l?.("no-match",`No violations of type ${i.join(", ")} found, skipping transformer`),[];let m=u.map(t=>{let i=e(t);return i?{context:t,candidateEntityIds:Array.isArray(i)?i:[i]}:null}).filter(t);if(0===m.length)return l?.("no-resolve","No entities returned by the selector, skipping transformer"),[];let h=m.map(t=>({...t,violatedEntityIds:t.candidateEntityIds.filter(t=>f.includes(t))})).filter(t=>t.violatedEntityIds.length>0);return 0===h.length?(l?.("no-match",`No violations of type ${i.join(", ")} found for entities returned by the selector, skipping transformer`,{violatedEntityIds:f}),[]):h.map(t=>({...t.context,getViolated$Entities:()=>t.violatedEntityIds.map(t=>s.domain.get$Entity(t,p))}))})}),violation:a=>thenBuilder(n(!0),(n,s,l,u,d)=>{let{validity:p,state:f}=u.storeSystem.prepareStateEmissionWithoutTransformation(n,s,l);if(p.valid||"uncaught"===p.severity)return[];let m=p.entityViolations.map(t=>a.includes(t.violation.type)&&i(t.entityId)&&o.includes(e(t.entityId))?t.entityId:null).filter(t),h=r(n,s,l,u,d);return 0===m.length?[]:h.map(t=>({...t,getViolated$Entities:()=>m.map(t=>u.domain.get$Entity(t,f))}))})})});export const entityAwareCausesBuilder=(t,e)=>({...causesBuilder(e),self:{violation:i=>thenBuilder(n(!0),(n,r,o,a,s)=>{let{validity:l}=a.storeSystem.prepareStateEmissionWithoutTransformation(n,r,o);if(l.valid)return s?.("no-event","No violations found, skipping transformer",{validity:l}),[];if("uncaught"===l.severity)return s?.("no-event","Uncaught exception encountered while calculating new state, skipping transformer",{updates:n}),[];let u=new Set(l.entityViolations.filter(t=>i.includes(t.violation.type)).map(t=>t.entityId));if(0===u.size)return s?.("no-match",`No violations of type ${i.join(", ")} found for the ${t.join(", ")} entities, skipping transformer`,{entityIds:Array.from(u)}),[];let d=e(n,r,o,a,s),p=d.filter(t=>u.has(t.entityId));return 0===p.length&&s?.("no-match",`No violations of type ${i.join(", ")} found for entity ${d.map(t=>t.entityId).join(", ")}, skipping transformer`,{updates:n}),p})}});export const thenAndEntityAwareCausesBuilder=(t,e,i)=>({...tagBuilder(e,i),causes:entityAwareCausesBuilder(t,i)});export const thenAndCausesBuilder=(t,e)=>({...tagBuilder(t,e),causes:causesBuilder(e)});
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type { viewStateComponent } from '../../components/view-state-component.js';
|
|
5
|
-
import type { SystemComponentTypeConstraint } from '../../core/component.js';
|
|
6
|
-
import { type $DomainEntity, type DomainEntity, type DomainEntityId } from '../../core/model.js';
|
|
7
|
-
import type { DragHandleComponent } from '../../system-components/drag-handle.js';
|
|
8
|
-
import type { HotspotDragHandleComponent } from '../../system-components/hotspot-drag-handle.js';
|
|
9
|
-
import type { StateEmissionKind } from '../store-system/store-system.js';
|
|
1
|
+
import { type $DomainEntity, type ComponentModification, type DomainEntity, type DomainEntityId, type EphemeralRecordModification, type StateUpdate, type SystemComponentTypeConstraint, type navigationStateComponent, type toolStateComponent, type viewStateComponent } from '../../core/index.js';
|
|
2
|
+
import type { DragHandleComponent, HotspotDragHandleComponent } from '../../system-components/index.js';
|
|
3
|
+
import type { StateEmissionKind } from '../store-system/index.js';
|
|
10
4
|
import type { AllActions } from './actions-builder.js';
|
|
11
5
|
import { type AutoSnapMetadata, type AutoSnapType } from './auto-snap-transformer.js';
|
|
12
6
|
import type { BaseTransformerBuilderContext, ContextFactoryFilter, ContextWithUpdate } from './context.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{domainEntityTypeFromId as t,isDomainEntityId as e}from"../../core/
|
|
1
|
+
import{domainEntityTypeFromId as t,isDomainEntityId as e}from"../../core/index.js";import{isNavigationUpdate as n,isToolUpdate as o,isViewUpdate as i}from"../navigation-system/index.js";import{updateActions as r}from"./actions-builder.js";import{isAutoSnapUpdate as a}from"./auto-snap-transformer.js";import{createBaseContext as s}from"./context.js";import{entityBuilder as m}from"./entity-builder.js";import{tagBuilder as f,thenAndCausesBuilder as l,thenBuilder as d}from"./then-builder.js";let p=n=>({...f(r(!1),n),onEntity:o=>f(r(!1),(i,r,a,s,m)=>{let f=n(i,r,a,s,m);if(!f.length)return[];let l=f.filter(n=>e(n.update.entityId)&&o.includes(t(n.update.entityId)));return l.length||m?.("no-match",`No matching update for entity ${o.join(", ")} found, skipping transformer`,{updates:i}),l.map(t=>{let e=t.update.entityId;return{...t,getOld$Entity:()=>s.domain.get$Entity(e,r),getNew$Entity:()=>s.domain.get$Entity(e,t.getNewState()),entityId:e}})})}),g=(t,e,n)=>p(t()((t,o,i,r,a)=>{let m=t.filter(t=>"modifyComponent"===t.kind);if(0===m.length)return a?.("no-event","No component modification updates found, skipping transformer",{updates:t}),[];let f=m.filter(t=>e.includes(t.componentInstance.componentType));return 0===f.length?(a?.("no-match",`No modification updates for component ${e.join(", ")}, skipping transformer`,{updates:t}),[]):(void 0===n?f:f.filter(t=>n.includes(t.componentInstance.instanceName))).map(e=>({...s(r,o,i,t,a),update:e}))}));export const whenBuilder=t=>({component:e=>({modified:g(t,e),instance:n=>({modified:g(t,e,n)})}),update:e=>({fired:p(t()((t,n,o,i,r)=>{let a=t.filter(t=>e.includes(t.kind));return 0===a.length?(r?.("no-event",`No updates of kind ${e.join(", ")} found, skipping transformer`,{updates:t}),[]):a.map(e=>({...s(i,n,o,t,r),update:e}))}))}),entity:e=>m(e,t),snapped:()=>l(r(!0),t()((t,e,n,o,i)=>{let r=t.filter(a);if(0===r.length)return i?.("no-event","No auto-snap updates found, skipping transformer",{updates:t}),[];i?.("match",`Found ${r.length} auto-snap update(s), processing transformer`);let m=s(o,e,n,t,i);return r.map(t=>({...m,update:t,entityId:t.componentInstance.entityId,snapMatch:t.metadata.snapMatch,snapType:t.metadata.snapType}))})),navigated:e=>l(r(!0),t()((t,o,i,r,a)=>{let m=t.filter(n);if(0===m.length)return a?.("no-event","No navigation updates found, skipping transformer",{updates:t}),[];let f=m.filter(t=>{let n=t.writableState.activeState,i=r.navigationSystem.getActiveNavigationState(o);return(e?.to===void 0||e.to.includes(n))&&(e?.from===void 0||e.from.includes(i))});if(0===f.length)return a?.("no-match",`No navigation updates matching filter from ${e?.from?.join(", ")??"any"} to ${e?.to?.join(", ")??"any"}, skipping transformer`,{updates:t}),[];a?.("match",`Navigation state changed from ${e?.from?.join(", ")??"any"} to ${e?.to?.join(", ")??"any"}, processing transformer`,{updates:t});let l=s(r,o,i,t,a);return f.map(t=>{let e=t.writableState.activeState,n=r.navigationSystem.getActiveNavigationState(o);return{...l,update:t,getFrom:()=>n,getTo:()=>e}})})),viewChanged:e=>l(r(!0),t()((t,n,o,r,a)=>{let m=t.filter(i);if(0===m.length)return a?.("no-event","No view updates found, skipping transformer",{updates:t}),[];let f=m.filter(t=>{let o=t.writableState.activeState,i=r.navigationSystem.getActiveViewState(n);return(e?.to===void 0||e.to.includes(o))&&(e?.from===void 0||e.from.includes(i))});if(0===f.length)return a?.("no-match",`No view updates matching filter from ${e?.from?.join(", ")??"any"} to ${e?.to?.join(", ")??"any"}, skipping transformer`,{updates:t}),[];a?.("match",`View state changed from ${e?.from?.join(", ")??"any"} to ${e?.to?.join(", ")??"any"}, processing transformer`,{updates:t});let l=s(r,n,o,t,a);return f.map(t=>{let e=t.writableState.activeState,o=r.navigationSystem.getActiveViewState(n);return{...l,update:t,getFrom:()=>o,getTo:()=>e}})})),toolChanged:e=>l(r(!0),t()((t,n,i,r,a)=>{let m=t.filter(o);if(0===m.length)return a?.("no-event","No tool updates found, skipping transformer",{updates:t}),[];let f=m.filter(t=>{let o=t.writableState.activeState,i=r.navigationSystem.getActiveToolState(n);return(e?.to===void 0||e.to.includes(o))&&(e?.from===void 0||e.from.includes(i))});if(0===f.length)return a?.("no-match",`No tool updates matching filter from ${e?.from?.join(", ")??"any"} to ${e?.to?.join(", ")??"any"}, skipping transformer`,{updates:t}),[];a?.("match",`Tool state changed from ${e?.from?.join(", ")??"any"} to ${e?.to?.join(", ")??"any"}, processing transformer`,{updates:t});let l=s(r,n,i,t,a);return f.map(t=>{let e=t.writableState.activeState,o=r.navigationSystem.getActiveToolState(n);return{...l,update:t,getFrom:()=>o,getTo:()=>e}})}))});export const createTransformerBuilder=()=>({when:whenBuilder(()=>t=>t),onEmissionsOfKind:t=>({when:whenBuilder(()=>e=>(n,o,i,r,a)=>t.includes(i)?e(n,o,i,r,a):(a?.("no-event",`Emission kind ${i} is not supposed to trigger this transformer, only ${t.join(", ")} is, skipping transformer`,{updates:n}),[]))}),always:d(r(!1),(t,e,n,o,i)=>[s(o,e,n,t,i)])});
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { ObservableWithLastValue } from '@salsita-ai/common/utils';
|
|
2
|
-
import type { $DomainEntity, DomainEntity } from '../core/
|
|
3
|
-
import type { DomainContextSelectors } from '../domain-runtime/
|
|
4
|
-
import type { ResetStateEmission, StateEmission } from './store-system/store-system.js';
|
|
2
|
+
import type { $DomainEntity, DomainEntity, ResetStateEmission, StateEmission } from '../core/index.js';
|
|
3
|
+
import type { DomainContextSelectors } from '../domain-runtime/index.js';
|
|
5
4
|
export interface UndoCapabilities {
|
|
6
5
|
readonly canUndo: boolean;
|
|
7
6
|
readonly canRedo: boolean;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { $DomainEntity, DomainEntity, OpenActionContext } from '../../core/index.js';
|
|
2
|
+
import type { DomainContextSystems } from '../../domain-context/index.js';
|
|
3
|
+
import type { RuntimeExpressionContext } from './runtime-expression-context.js';
|
|
4
|
+
/**
|
|
5
|
+
* The context the domain runtime runs an action implementation with: core's part, with the
|
|
6
|
+
* expression context the runtime evaluates expressions in and the domain systems of the application.
|
|
7
|
+
* `ActionSystem.createContext` builds it.
|
|
8
|
+
*/
|
|
9
|
+
export interface ActionContext<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>, NAVIGATION_STATES extends string, VIEW_STATES extends string, TOOL_STATES extends string, EXPORT_STATES extends string> extends OpenActionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, RuntimeExpressionContext<ENTITIES>, DomainContextSystems<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES>> {
|
|
10
|
+
}
|
|
11
|
+
export type AnyActionContext = ActionContext<any, any, any, any, any, any, any, any, any, any>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{};
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { type ComponentSnapshot, type SystemComponentTypeConstraint } from '../../core/component.js';
|
|
3
|
-
import type { DomainEntity, EntityId } from '../../core/model.js';
|
|
4
|
-
import type { DomainState } from '../../core/state.js';
|
|
1
|
+
import { type ComponentSnapshot, type DomainEntity, type DomainState, type EntityId, type FilteredOutComponentSnapshot, type ManyComponentFilter, type OneComponentFilter, type SystemComponentTypeConstraint } from '../../core/index.js';
|
|
5
2
|
import type { DomainContextSelectors } from './selectors.js';
|
|
6
3
|
export interface ComponentReaderContext {
|
|
7
4
|
readonly selectors: DomainContextSelectors;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{domainEntityTypeFromId as e,getComponentSystemFilterState as n,isComponentActive as t,isDomainEntityId as o}from"../../core/index.js";let i=class InternalFilter{componentTypes;entityIds;instanceNames;constructor(e){"entityId"in e&&void 0!==e.entityId&&(this.entityIds=new Set([e.entityId])),"entityIds"in e&&void 0!==e.entityIds&&(this.entityIds=new Set(e.entityIds)),"instanceName"in e&&void 0!==e.instanceName&&(this.instanceNames=new Set([e.instanceName])),"instanceNames"in e&&void 0!==e.instanceNames&&(this.instanceNames=new Set(e.instanceNames)),"componentType"in e&&void 0!==e.componentType&&(this.componentTypes=new Set([e.componentType])),"componentTypes"in e&&void 0!==e.componentTypes&&(this.componentTypes=new Set(e.componentTypes))}toString(){let e=this.instanceNames&&Array.from(this.instanceNames).join(", "),n=this.componentTypes&&Array.from(this.componentTypes).map(e=>e.name).join(", "),t=this.entityIds&&Array.from(this.entityIds).map(e=>`#${String(e)}`).join(", ");return[e?`instance ${e} of`:void 0,n?`component ${n}`:void 0,t?`on entity ${t}`:void 0].filter(Boolean).join(" ")}},s=new WeakMap;export class ComponentReader{_context;constructor(e){this._context=e}_resolveDynamicInstanceName=(e,n,t,o)=>{let i=o.dynamicInstanceNames.get(e)?.get(n);if(!i)return null;for(let e of i)if(t.startsWith(`${e}_`))return e;return null};_readComponents(i,a,c,p=!1){let m=n(a),r=this._context.selectors.getExpressionContext(),l=this._context.selectors.getComponentReaderIndexes(),d=[],y=void 0!==i.entityIds?[]:void 0;if(void 0!==i.entityIds)for(let e of i.entityIds)o(e)&&y?.push(e);if(void 0===y||y.length>0){let n=y??a.entities,o=void 0!==y?new Map:void 0;for(let y of n){let n="string"==typeof y?y:y.id;if(void 0!==o){if(o.has(n))continue;o.set(n,!0)}let f="string"==typeof y?e(n):y.type;for(let e of i.componentTypes??l.allComponentTypes.get(f)??[])for(let o of i.instanceNames??l.allComponentInstanceNames.get(f)?.get(e)??[]){let i=l.opticMap.get(f)?.get(e)?.get(o),y=i?null:this._resolveDynamicInstanceName(f,e,o,l),h=y?l.opticMap.get(f)?.get(e)?.get(y):void 0,I=i??h;if(!I)continue;let u=0===I.navigationFilters.length||t(m,I.navigationFilters,n,a,r,p);if(!0!==u){p&&d.push({componentInstance:{componentType:e,entityId:n,instanceName:o},filteredOut:!0,filterState:m,filterContext:{mode:r.mode,role:r.role},mismatchReasons:u});continue}if("simple"===I.kind){let e=I.read(n,a,r),t=s.get(e);if(!t||t.componentInstance.entityId!==n||t.componentInstance.componentType!==I.componentType||t.componentInstance.instanceName!==I.instanceName){let o={state:e,componentInstance:{componentType:I.componentType,entityId:n,instanceName:I.instanceName}};s.set(e,o),t=o}if(d.push(t),c)return d}else{let e=I.read(n,a,r),t=new Set;for(let i of e){let e=I.instanceName+`_${i.key}`;if(null!==y&&o!==e)continue;if(t.has(e))throw Error(`Cannot read dynamic component instance ${I.instanceName} for component ${I.componentType.name} on entity ${n} because it emitted duplicate compound instance ${e}. Make emitted keys unique for this component instance.`);t.add(e);let a=s.get(i);if(!a||a.componentInstance.entityId!==n||a.componentInstance.componentType!==I.componentType||a.componentInstance.instanceName!==e){let t={state:function(e){let n={};for(let t in e)"key"!==t&&(n[t]=e[t]);return n}(i),componentInstance:{componentType:I.componentType,entityId:n,instanceName:e}};s.set(i,t),a=t}if(d.push(a),c)return d}}}}}for(let e of a.ephemeralRecords)if((void 0===i.entityIds||i.entityIds.has(e.componentInstance.entityId))&&(void 0===i.componentTypes||i.componentTypes.has(e.componentInstance.componentType))&&(void 0===i.instanceNames||i.instanceNames.has(e.componentInstance.instanceName))&&(d.push(e),c))break;return d}readOneComponent(e,n){let t=new i(e),o=this._readComponents(t,n,!1);if(o.length>1)throw Error(`Expected component ${e.componentType.name} to be attached only once to entity #${String(e.entityId)}, but found ${o.length} instances`);return o.length>0?o[0]:null}readManyComponents(e,n){let t=new i(e);return this._readComponents(t,n,!1)}readFirstComponent(e,n){let t=new i(e),o=this._readComponents(t,n,!0);return o.length>0?o[0]:null}readFirstRootComponent(e,n){let t=new i({...e,entityIds:[n.rootEntityId]}),o=this._readComponents(t,n,!0);return o.length>0?o[0]:null}readOneComponentOrThrow(e,n){let t=this.readOneComponent(e,n);if(null===t){let n=new i(e);throw Error(`Cannot read ${n.toString()} because such component is not attached`)}return t}isComponentTypeAttached=n=>{let t,i,s,{componentTypes:a,instanceNames:c,entityTypes:p}=("componentTypes"in n&&(t=n.componentTypes),"componentType"in n&&n.componentType&&(t=[n.componentType]),"instanceNames"in n&&(i=n.instanceNames),"instanceName"in n&&n.instanceName&&(i=[n.instanceName]),"entityIds"in n&&n.entityIds&&(s=n.entityIds.filter(o).map(n=>e(n))),"entityId"in n&&n.entityId&&(s=o(n.entityId)?[e(n.entityId)]:[]),{componentTypes:t,instanceNames:i,entityTypes:s}),m=this._context.selectors.getComponentReaderIndexes();for(let e of p??Array.from(m.allComponentTypes.keys()))for(let n of a??m.allComponentTypes.get(e)??[])for(let t of c??m.allComponentInstanceNames.get(e)?.get(n)??[])if(m.opticMap.get(e)?.get(n)?.get(t)||this._resolveDynamicInstanceName(e,n,t,m))return!0;return!1};peekManyComponents(e,n){let t=new i(e);return this._readComponents(t,n,!1,!0)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{createAutoSnapTransformer as e,createCascadeDeletesTransformer as t,createCascadeRefPruningTransformer as s,createCreateEntityRefsTransformer as r,createRefReplaceTransformer as n}from"../../domain-context/index.js";export class DomainContext{_context;_connected=!1;_activeCreateTransformers=void 0;_userTransformerUnregisters=[];_lastExpressionContext=null;_lastDomainExpressions=null;_lastComponentReaderIndexes=null;_lastLoadedData=null;constructor(e){this._context=e}initialize(){let{selectors:o,actions:i,getExtensionSystems:a}=this._context;this._assertSchemaCoherence();let m=o.getStoreSystem();try{for(let a of(i.setInitializationContext(o.getNextInitializationContext()),this._connected||(m.registerTransformer(10,t(o.getCompositionProjections()),"CascadeDeletes"),m.registerTransformer(20,s(o.getComponentReader()),"CascadeRefPruning"),m.registerTransformer(25,r(o.getComponentReader()),"CreateEntityRefs"),m.registerTransformer(30,n(o.getComponentReader()),"RefReplace"),m.registerTransformer(40,e(o.getComponentReader(),o.getSnappingProjections(),o.getDimensionSystem(),o.getPositionProjections(),m),"AutoSnap"),this._connected=!0),this._reconcileUserTransformers(),[m,o.getUndoSystem()]))a.initialize();for(let e of(m.stageAndCommit(o.getDimensionSystem().initialize(m.stateSlices.committed.value.state)),[o.getNavigationSystem(),...a()]))e.initialize();o.getActionImplementations(),this._lastExpressionContext=o.getExpressionContext(),this._lastDomainExpressions=o.getDomainExpressions(),this._lastComponentReaderIndexes=o.getComponentReaderIndexes(),this._lastLoadedData=o.getLoadedData(),i.completeInitialization()}catch(e){throw i.failInitialization(),e}}reconcile=()=>{this._context.selectors.getInitializationState().isCurrent&&(this._reconcileUserTransformers(),this._refreshIfLoadedDataChanged(),this._refreshIfExpressionContextChanged())};_assertSchemaCoherence(){switch(this._context.selectors.getSchemaCoherence()){case"coherent":return;case"missing-stamp":throw Error("Cannot initialize the domain context: the loaded data carries no schema identity.");case"schema-mismatch":throw Error("Cannot initialize the domain context: the loaded data belongs to a different schema identity than the active spec.")}}_registerUserTransformers(e){let t=this._context.selectors.getStoreSystem();for(let s of e)this._userTransformerUnregisters.push(t.registerTransformer(s.priority,s.transformer,s.name??"Anonymous"))}_unregisterUserTransformers(){for(let e of this._userTransformerUnregisters)e();this._userTransformerUnregisters=[]}_reconcileUserTransformers(){let e=this._context.selectors.getCreateTransformers();if(this._activeCreateTransformers===e)return;let t=e?.(this._context.selectors.getDomainSystems())??[];this._unregisterUserTransformers(),this._activeCreateTransformers=e,this._registerUserTransformers(t)}_refreshIfExpressionContextChanged(){let{selectors:e}=this._context,t=e.getExpressionContext(),s=e.getDomainExpressions(),r=e.getComponentReaderIndexes();if(this._lastExpressionContext===t&&this._lastDomainExpressions===s&&this._lastComponentReaderIndexes===r)return;let n=e.getStoreSystem();n.reset(n.stateSlices.committed.value.state,"expressionContextRefreshed"),this._lastExpressionContext=t,this._lastDomainExpressions=s,this._lastComponentReaderIndexes=r}_refreshIfLoadedDataChanged(){let{selectors:e}=this._context,t=e.getLatestLoadedData();null!==t&&this._lastLoadedData!==t&&(e.getStoreSystem().reset(e.getInitialDomainState(),"loadedDataRefreshed"),this._lastLoadedData=t)}}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CoreExpressionContext, DomainEntity } from '../../core/index.js';
|
|
2
|
+
import type { RuntimeExpressionContext } from './runtime-expression-context.js';
|
|
3
|
+
/**
|
|
4
|
+
* The context the domain runtime evaluates expressions in: core's part and the runtime's own part.
|
|
5
|
+
*/
|
|
6
|
+
export interface ExpressionContext<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>> extends CoreExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>, RuntimeExpressionContext<ENTITIES> {
|
|
7
|
+
}
|
|
8
|
+
export type AnyExpressionContext = ExpressionContext<any, any, any, any, any>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{};
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
export type * from './action-context.js';
|
|
1
2
|
export * from './actions.js';
|
|
2
3
|
export { ComponentReader, type AnyComponentReader } from './component-reader.js';
|
|
3
4
|
export { DomainContext } from './domain-context.js';
|
|
5
|
+
export type * from './expression-context.js';
|
|
4
6
|
export * from './initialize.js';
|
|
7
|
+
export type * from './runtime-expression-context.js';
|
|
5
8
|
export * from './selectors.js';
|
|
6
9
|
export type * from './types.js';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { DomainEntity } from '../../core/index.js';
|
|
2
|
+
import type { CollisionProjections, ConstraintProjections, PositionProjections, ProjectedEntitiesProjections, SnappingProjections } from '../../projections/index.js';
|
|
3
|
+
import type { SketchingProjections } from '../../sketching/index.js';
|
|
4
|
+
import type { ComponentReader } from './component-reader.js';
|
|
5
|
+
/**
|
|
6
|
+
* What the domain runtime adds to the expression context of core: the component reader and the
|
|
7
|
+
* projections it builds for every application. It is the context extension that generated project
|
|
8
|
+
* code closes the factories of core with.
|
|
9
|
+
*/
|
|
10
|
+
export interface RuntimeExpressionContext<ENTITIES extends DomainEntity<string>> {
|
|
11
|
+
readonly componentReader: ComponentReader<ENTITIES>;
|
|
12
|
+
readonly positionProjections: PositionProjections<ENTITIES>;
|
|
13
|
+
readonly sketchingProjections: SketchingProjections<ENTITIES>;
|
|
14
|
+
readonly collisionProjections: CollisionProjections<ENTITIES>;
|
|
15
|
+
readonly constraintProjections: ConstraintProjections<ENTITIES>;
|
|
16
|
+
readonly snappingProjections: SnappingProjections<ENTITIES>;
|
|
17
|
+
readonly projectedEntitiesProjections: ProjectedEntitiesProjections<ENTITIES>;
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{};
|
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { type
|
|
3
|
-
import type { AnyDomainFactory, AnyExpressionContext, DomainEntity, DomainMode, SystemComponentTypeConstraint } from '../../core/index.js';
|
|
4
|
-
import { type AnyActionSystem } from '../../domain-context/action-system/action-system.js';
|
|
5
|
-
import { type AnyDimensionSystem } from '../../domain-context/dimension-system/dimension-system.js';
|
|
6
|
-
import type { AnyDomainContextSystems } from '../../domain-context/domain-context-systems.js';
|
|
7
|
-
import { type AnyNavigationSystem } from '../../domain-context/navigation-system/navigation-system.js';
|
|
8
|
-
import { type AnyRecipeCookerSystem } from '../../domain-context/recipe-system/recipe-cooker-system.js';
|
|
9
|
-
import { type AnyStoreSystem } from '../../domain-context/store-system/store-system.js';
|
|
10
|
-
import { type AnyUndoSystem } from '../../domain-context/undo-system.js';
|
|
1
|
+
import { type AnyDomain, type AnyDomainFactory, type DomainComponentOptic, type DomainMode, type SystemComponentTypeConstraint } from '../../core/index.js';
|
|
2
|
+
import { type AnyActionSystem, type AnyDimensionSystem, type AnyDomainContextSystems, type AnyNavigationSystem, type AnyRecipeCookerSystem, type AnyStoreSystem, type AnyUndoSystem } from '../../domain-context/index.js';
|
|
11
3
|
import { type AnyBlenderProjections, type AnyCollisionProjections, type AnyCompositionProjections, type AnyConstraintProjections, type AnyPositionProjections, type AnyProjectedEntitiesProjections, type AnySnappingProjections, type AnyValidationProjections } from '../../projections/index.js';
|
|
12
4
|
import { type AnySketchingProjections } from '../../sketching/sketching-projections.js';
|
|
13
5
|
import type { AccessInfoSelectors, AccessSelectorState } from '../access/index.js';
|
|
@@ -16,23 +8,25 @@ import type { DomainServicesSelectors } from '../domain-services/index.js';
|
|
|
16
8
|
import type { EnvironmentSelectors } from '../environment/index.js';
|
|
17
9
|
import type { ApplicationLoadedData } from '../loaded-data/index.js';
|
|
18
10
|
import type { DomainSessionContext, SessionContextSelectorState, SessionContextSelectors } from '../session-context/index.js';
|
|
19
|
-
import type
|
|
11
|
+
import { type SpecSelectorState, type SpecSelectors } from '../spec/index.js';
|
|
20
12
|
import type { WebComponentSelectorState, WebComponentSelectors } from '../web-component/index.js';
|
|
21
13
|
import type { DomainContextApplicationActions } from './actions.js';
|
|
22
14
|
import { type AnyComponentReader } from './component-reader.js';
|
|
23
15
|
import { DomainContext } from './domain-context.js';
|
|
16
|
+
import type { AnyExpressionContext } from './expression-context.js';
|
|
24
17
|
import type { ApplicationDomainContextState, DomainApplicationType, DomainContextInitializationContext, DomainContextInitializationIdentity, DomainContextInitializationState, InitializableSystem, SchemaCoherence } from './types.js';
|
|
25
|
-
|
|
18
|
+
/** A component optic of any project, for any component type. */
|
|
19
|
+
type ComponentOptic = DomainComponentOptic<any, any, any, any, any, any, SystemComponentTypeConstraint>;
|
|
26
20
|
/**
|
|
27
21
|
* Lookup indexes derived from the current component optics. The component reader and the
|
|
28
22
|
* component write systems share this representation so a runtime optic update is observed
|
|
29
23
|
* consistently across reads and writes.
|
|
30
24
|
*/
|
|
31
|
-
export interface ComponentReaderIndexes
|
|
32
|
-
readonly opticMap: ReadonlyMap<
|
|
33
|
-
readonly allComponentTypes: ReadonlyMap<
|
|
34
|
-
readonly allComponentInstanceNames: ReadonlyMap<
|
|
35
|
-
readonly dynamicInstanceNames: ReadonlyMap<
|
|
25
|
+
export interface ComponentReaderIndexes {
|
|
26
|
+
readonly opticMap: ReadonlyMap<string, ReadonlyMap<SystemComponentTypeConstraint, ReadonlyMap<string, ComponentOptic>>>;
|
|
27
|
+
readonly allComponentTypes: ReadonlyMap<string, ReadonlySet<SystemComponentTypeConstraint>>;
|
|
28
|
+
readonly allComponentInstanceNames: ReadonlyMap<string, ReadonlyMap<SystemComponentTypeConstraint, ReadonlySet<string>>>;
|
|
29
|
+
readonly dynamicInstanceNames: ReadonlyMap<string, ReadonlyMap<SystemComponentTypeConstraint, readonly string[]>>;
|
|
36
30
|
}
|
|
37
31
|
interface Context {
|
|
38
32
|
readonly applicationType: DomainApplicationType;
|
|
@@ -76,7 +70,7 @@ export declare const createDomainContextSelectors: (context: Context) => {
|
|
|
76
70
|
selectAliasMap: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").AnyAliasMap>;
|
|
77
71
|
selectAllowedRootEntityTypes: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").AnyAllowedRootEntityTypes>;
|
|
78
72
|
selectEntityReflections: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").AnyEntityReflections>;
|
|
79
|
-
selectMigrate: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").MigrateFunction<DomainEntity<string>>>;
|
|
73
|
+
selectMigrate: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").MigrateFunction<import("../../index.js").DomainEntity<string>>>;
|
|
80
74
|
selectLatestMode: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, DomainMode>;
|
|
81
75
|
selectLatestConfigurationId: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, string | null>;
|
|
82
76
|
selectLatestSessionContext: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, DomainSessionContext> | import("@salsita-ai/common/utils").Selector<SessionContextSelectorState, DomainSessionContext | null>;
|
|
@@ -88,9 +82,9 @@ export declare const createDomainContextSelectors: (context: Context) => {
|
|
|
88
82
|
selectIsViewMode: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, boolean>;
|
|
89
83
|
selectInitializationState: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, DomainContextInitializationState>;
|
|
90
84
|
selectComponentOptics: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, readonly import("../../index.js").AnyDomainComponentOptic[]>;
|
|
91
|
-
selectComponentReaderIndexes: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, ComponentReaderIndexes
|
|
85
|
+
selectComponentReaderIndexes: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, ComponentReaderIndexes>;
|
|
92
86
|
selectStoreRuntimeDependencies: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, {
|
|
93
|
-
componentReaderIndexes: ComponentReaderIndexes
|
|
87
|
+
componentReaderIndexes: ComponentReaderIndexes;
|
|
94
88
|
domainExpressions: import("../../index.js").AnyExpressions;
|
|
95
89
|
allowedRootEntityTypes: import("../../index.js").AnyAllowedRootEntityTypes;
|
|
96
90
|
}>;
|
|
@@ -98,7 +92,7 @@ export declare const createDomainContextSelectors: (context: Context) => {
|
|
|
98
92
|
selectViewStates: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, readonly string[]>;
|
|
99
93
|
selectToolStates: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, readonly string[]>;
|
|
100
94
|
selectExportStates: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, readonly string[]>;
|
|
101
|
-
selectCreateTransformers: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, undefined> | import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../
|
|
95
|
+
selectCreateTransformers: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, undefined> | import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").AnyCreateTransformersFactory>;
|
|
102
96
|
selectLatestLoadedData: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../index.js").ConfiguratorLoadedData | null>;
|
|
103
97
|
selectLoadedData: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../index.js").ConfiguratorLoadedData>;
|
|
104
98
|
selectInitialDomainState: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").DomainState<any>>;
|
|
@@ -127,12 +121,12 @@ export declare const createDomainContextSelectors: (context: Context) => {
|
|
|
127
121
|
getAliasMap: () => import("../../index.js").AnyAliasMap;
|
|
128
122
|
getAllowedRootEntityTypes: () => import("../../index.js").AnyAllowedRootEntityTypes;
|
|
129
123
|
getEntityReflections: () => import("../../index.js").AnyEntityReflections;
|
|
130
|
-
getMigrate: () => import("../../index.js").MigrateFunction<DomainEntity<string>>;
|
|
124
|
+
getMigrate: () => import("../../index.js").MigrateFunction<import("../../index.js").DomainEntity<string>>;
|
|
131
125
|
getActiveMode: () => DomainMode;
|
|
132
126
|
getIsInitialized: () => boolean;
|
|
133
|
-
getComponentReaderIndexes: () => ComponentReaderIndexes
|
|
127
|
+
getComponentReaderIndexes: () => ComponentReaderIndexes;
|
|
134
128
|
getStoreRuntimeDependencies: () => {
|
|
135
|
-
componentReaderIndexes: ComponentReaderIndexes
|
|
129
|
+
componentReaderIndexes: ComponentReaderIndexes;
|
|
136
130
|
domainExpressions: import("../../index.js").AnyExpressions;
|
|
137
131
|
allowedRootEntityTypes: import("../../index.js").AnyAllowedRootEntityTypes;
|
|
138
132
|
};
|
|
@@ -140,7 +134,7 @@ export declare const createDomainContextSelectors: (context: Context) => {
|
|
|
140
134
|
getViewStates: () => readonly string[];
|
|
141
135
|
getToolStates: () => readonly string[];
|
|
142
136
|
getExportStates: () => readonly string[];
|
|
143
|
-
getCreateTransformers: () => import("../../
|
|
137
|
+
getCreateTransformers: () => import("../../index.js").AnyCreateTransformersFactory | undefined;
|
|
144
138
|
getLoadedData: () => import("../index.js").ConfiguratorLoadedData;
|
|
145
139
|
getInitialDomainState: () => import("../../index.js").DomainState<any>;
|
|
146
140
|
getFrontendData: () => Record<string, unknown>;
|