@salsita-ai/sdk 0.50.0-develop.abef6d86a1 → 0.50.0-develop.ae9a830ef0
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 +2 -2
- package/dist/application-spec/core/components/component-filter.d.ts +53 -0
- package/dist/application-spec/core/components/component-filter.js +1 -0
- package/dist/application-spec/core/components/index.d.ts +2 -0
- package/dist/application-spec/core/components/index.js +1 -0
- package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
- package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
- package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
- package/dist/application-spec/core/enhanced-json-value.js +1 -1
- package/dist/application-spec/core/expressions/index.d.ts +2 -0
- package/dist/application-spec/core/expressions/index.js +1 -0
- package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
- package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
- package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
- package/dist/application-spec/core/index.d.ts +2 -0
- package/dist/application-spec/core/index.js +1 -1
- package/dist/application-spec/core/json-value.d.ts +1 -1
- package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
- package/dist/application-spec/enhanced-json/index.d.ts +4 -0
- package/dist/application-spec/enhanced-json/index.js +1 -0
- package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
- package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
- package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
- package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
- package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
- package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
- package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
- package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
- package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
- package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
- package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
- package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
- package/dist/application-spec/errors/diagnostic-codes.d.ts +9 -0
- package/dist/application-spec/errors/diagnostic-codes.js +1 -1
- package/dist/application-spec/errors/diagnostic-messages.d.ts +12 -0
- package/dist/application-spec/errors/diagnostic-messages.js +1 -1
- package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +7 -0
- package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +4 -4
- 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-defaults.js +1 -1
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +48 -48
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
- 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 +3 -3
- package/dist/application-spec/generate-application/code/templates/globals.js +5 -4
- package/dist/application-spec/generate-application/code/templates/index.d.ts +0 -1
- 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-review-skill.js +8 -2
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
- package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +5 -2
- package/dist/application-spec/generate-application/code/templates/skills/sdk-content.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/build-sdk-optic.d.ts +1 -1
- package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.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/index.d.ts +1 -0
- package/dist/application-spec/index.js +1 -1
- package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
- package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
- package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
- package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
- package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.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/components/component-entry.d.ts +1 -9
- package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
- package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
- package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
- package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
- package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
- package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
- package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
- package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +1 -1
- package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
- package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
- package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
- package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
- package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.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-schema.js +1 -1
- 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/phoenix-api.d.ts +96 -0
- package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
- package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
- package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +3 -1
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +14 -4
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
- package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
- package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
- package/dist/configurator/common/configurator-interface.d.ts +11 -1
- package/dist/configurator/common/configurator-interface.js +1 -1
- package/dist/configurator/common/frontend-analytics.d.ts +2 -0
- package/dist/configurator/common/frontend-analytics.js +1 -1
- package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +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-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
- package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
- package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
- package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
- package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
- package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
- package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
- package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
- package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +1 -1
- package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
- package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
- package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
- package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
- package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
- package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
- package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
- package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
- package/dist/configurator/ui/assistant/entity-link/entity-link-target.d.ts +5 -0
- package/dist/configurator/ui/assistant/entity-link/entity-link-target.js +1 -0
- package/dist/configurator/ui/assistant/entity-link/index.d.ts +3 -0
- package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
- package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
- package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
- package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
- package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
- package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
- package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
- package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
- package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
- package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
- package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
- package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
- package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
- package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
- package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
- package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
- 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/MobileLayout.js +4 -4
- 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/layout/steps/StepsNavigation.d.ts +2 -2
- package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -2
- package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
- package/dist/docs/complex-use-cases/sketching.mdx +0 -38
- package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
- package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
- package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
- package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
- package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
- package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
- package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
- package/dist/docs/drag-and-drop/planes.mdx +1 -1
- package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
- package/dist/docs/index.json +42 -1
- package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
- package/dist/docs/layouts/custom-layout.mdx +1164 -0
- package/dist/docs/layouts/header/fixed.mdx +2 -2
- package/dist/docs/layouts/header/floating.mdx +2 -2
- package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
- package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
- package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
- package/dist/docs/other-features/side-effects.mdx +8 -11
- package/dist/docs/other-features/transformers.mdx +4 -0
- package/dist/docs/other-features/violation-messages.mdx +52 -56
- package/dist/docs/phoenix/application-states.mdx +9 -7
- package/dist/docs/phoenix/configurator-interface.mdx +184 -80
- package/dist/docs/phoenix/domain-model.mdx +4 -0
- package/dist/docs/phoenix/finalization.mdx +1 -1
- package/dist/docs/phoenix/layout-slots.mdx +114 -0
- package/dist/docs/phoenix/phoenix-cli.mdx +24 -27
- package/dist/docs/phoenix/project-structure.mdx +14 -9
- package/dist/docs/phoenix/quickstart.mdx +2 -2
- package/dist/docs/phoenix/sdk-builder-workflow.mdx +2 -2
- package/dist/docs/phoenix/testing.mdx +140 -0
- package/dist/docs/phoenix/webhook-membership.mdx +10 -9
- package/dist/docs/phoenix/webhooks.mdx +2 -2
- package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -11
- package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
- package/dist/domain/admin-domain/index.js +1 -1
- package/dist/domain/application/GetApplicationWrapperHandler.d.ts +1 -1
- package/dist/domain/application/application-config.d.ts +4 -2
- package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
- package/dist/domain/application/assistant/assistant-fields.js +1 -0
- package/dist/domain/application/assistant/assistant-manifest.d.ts +9 -1
- package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +38 -2
- package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
- package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
- package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
- package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
- package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
- package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
- package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
- package/dist/domain/application/assistant/index.d.ts +6 -1
- package/dist/domain/application/assistant/index.js +1 -1
- package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
- package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
- package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
- package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
- package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
- package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
- package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
- package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
- package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
- package/dist/domain/application/assistant/session-setup/index.js +1 -0
- package/dist/domain/application/configurator-builder.d.ts +1 -1
- package/dist/domain/application/configurator-builder.js +1 -1
- package/dist/domain/application/create-initial-published-data.d.ts +5 -5
- package/dist/domain/application/index.d.ts +0 -1
- package/dist/domain/application/index.js +1 -1
- package/dist/domain/application/published-data/map-published-chunked-data.d.ts +1 -1
- package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
- package/dist/domain/core/component/domain-component-optic.d.ts +11 -19
- package/dist/domain/core/component/domain-component-optic.js +2 -2
- package/dist/domain/core/component/legacy-filter.d.ts +2 -17
- package/dist/domain/core/component/system-component-filter.d.ts +36 -18
- package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
- package/dist/domain/core/expression/custom-expression.d.ts +16 -3
- package/dist/domain/core/invariant/custom-invariants.d.ts +6 -14
- package/dist/domain/core/invariant/invariants.d.ts +1 -4
- package/dist/domain/core/invariant/violation.d.ts +50 -2
- package/dist/domain/core/invariant/violation.js +1 -1
- package/dist/domain/core/model/model.d.ts +1 -1
- package/dist/domain/core/recipe/recipes.d.ts +18 -50
- package/dist/domain/core/recipe/recipes.js +1 -1
- package/dist/domain/core/relation/all-of-type-relation.d.ts +8 -21
- package/dist/domain/core/relation/all-of-type-relation.js +1 -1
- package/dist/domain/core/relation/direct-relation.d.ts +13 -24
- package/dist/domain/core/relation/index.d.ts +0 -1
- package/dist/domain/core/relation/indirect-relation.d.ts +12 -67
- package/dist/domain/core/relation/indirect-relation.js +1 -1
- package/dist/domain/core/relation/relation-factory.d.ts +19 -15
- package/dist/domain/core/relation/relation-factory.js +1 -1
- package/dist/domain/core/state/migrations.d.ts +14 -45
- package/dist/domain/core/state/migrations.js +1 -1
- package/dist/domain/core/state/state.d.ts +1 -1
- package/dist/domain/domain-builder.js +1 -1
- package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
- package/dist/domain/domain-runtime/access/selectors.js +1 -1
- package/dist/domain/domain-runtime/access/types.d.ts +2 -0
- package/dist/domain/domain-runtime/access/types.js +1 -1
- package/dist/domain/domain-runtime/domain-context/selectors.d.ts +14 -13
- package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
- package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
- package/dist/domain/domain-runtime/domain-runtime.d.ts +32 -16
- package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
- package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
- package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
- package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
- package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
- package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
- package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
- package/dist/domain/domain-runtime/errors/index.js +1 -0
- package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
- package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
- package/dist/domain/domain-runtime/index.d.ts +1 -0
- package/dist/domain/domain-runtime/index.js +1 -1
- 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 +1 -1
- package/dist/domain/domain-runtime/spec/index.js +1 -1
- package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
- package/dist/domain/domain-runtime/spec/initialize.js +1 -1
- package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +1 -1
- package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +8 -1
- package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -1
- package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -1
- package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -1
- package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +7 -7
- package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -1
- package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +2 -2
- package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -1
- package/dist/domain/extensions/attribute-switch.d.ts +1 -1
- package/dist/domain/extensions/attribute-switch.js +1 -1
- package/dist/domain/extensions/canvas-config.d.ts +1 -1
- package/dist/domain/extensions/client-side-image.d.ts +2 -2
- package/dist/domain/extensions/client-side-image.js +1 -1
- package/dist/domain/extensions/common/angle-indicator-schema.d.ts +2 -2
- package/dist/domain/extensions/common/dimension-indicator-schema.d.ts +2 -2
- package/dist/domain/extensions/editable-angle-indicator.d.ts +1 -1
- package/dist/domain/extensions/editable-distance-dimension-indicator.d.ts +1 -1
- package/dist/domain/extensions/editable-offset-indicator.d.ts +1 -1
- package/dist/domain/extensions/editable-offset-indicator.js +1 -1
- package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -1
- package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -1
- package/dist/domain/extensions/horizontal-tabs.d.ts +2 -2
- package/dist/domain/extensions/list-selector-dimension-indicator.d.ts +1 -1
- package/dist/domain/extensions/navigation-steps.d.ts +2 -2
- package/dist/domain/extensions/offset-indicator.js +1 -1
- package/dist/domain/extensions/rotation-handle.d.ts +2 -2
- package/dist/domain/extensions/save-template-thumbnail.d.ts +2 -2
- package/dist/domain/extensions/save-template-thumbnail.js +1 -1
- package/dist/domain/extensions/scene-entity-animation.js +1 -1
- package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
- package/dist/domain/mocks/create-mock-domain-runtime.d.ts +18 -9
- 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-domain.js +1 -1
- package/dist/domain/mocks/create-mock-state.d.ts +2 -2
- package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
- package/dist/domain/mocks/create-test-application-config.js +1 -0
- package/dist/domain/mocks/index.d.ts +1 -0
- package/dist/domain/mocks/index.js +1 -1
- package/dist/domain/projections/blender-projections/camera.d.ts +1 -1
- package/dist/domain/system-components/application-config.d.ts +2 -2
- package/dist/domain/system-components/child-entity-selection.js +1 -1
- package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
- package/dist/domain/system-components/collision-geometry.d.ts +4 -2
- package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
- package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
- package/dist/domain/system-components/common/recipes.d.ts +21 -3
- package/dist/domain/system-components/common/recipes.js +1 -1
- package/dist/domain/system-components/constraint.d.ts +10 -23
- 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/hotspot-drag-handle.d.ts +1 -1
- package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
- package/dist/domain/system-components/material-swatch.js +1 -1
- package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
- package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
- package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
- package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
- package/dist/domain/system-components/scene-entity-transimissive-material-override.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.js +1 -1
- package/dist/domain/utils/eval-cache.d.ts +1 -1
- package/dist/domain/utils/map-nested-object.d.ts +1 -1
- package/dist/editor/domain-editors/use-implementation-files.d.ts +1 -2
- package/dist/editor/mocks/EditorMockContext.js +1 -1
- package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
- package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -1
- package/dist/legacy/domain-cli/gen/defaults.js +1 -7
- package/dist/legacy/domain-cli/gen/invariants.js +3 -4
- 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/domain-spec/__generated/domain-schema.d.ts +81 -68
- 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 +2 -0
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
- package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
- package/dist/phoenix/commands/deploy.js +1 -1
- package/dist/phoenix/commands/init.d.ts +4 -4
- package/dist/phoenix/commands/init.js +1 -1
- package/dist/phoenix/commands/prettier.js +1 -1
- package/dist/phoenix/services/source-archive.d.ts +1 -0
- package/dist/phoenix/services/source-archive.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/hooks/use-access-service.d.ts +2 -0
- package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
- package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
- package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +33 -16
- package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
- package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +30 -0
- package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
- package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +4 -4
- package/dist/react-sdk/domain-context/index.d.ts +2 -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/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
- package/dist/ui-sdk/theme/types.d.ts +1 -1
- package/dist/webhook/builders/webhook-builder.js +1 -1
- package/package.json +3 -3
- package/schema/domain-spec.json +1115 -209
- 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/domain/application/resource-builder.d.ts +0 -13
- package/dist/domain/application/resource-builder.js +0 -1
- package/dist/domain/core/relation/relation-implementation.d.ts +0 -7
- package/dist/domain/domain-runtime/spec/invariant-builder.d.ts +0 -26
- package/dist/domain/domain-runtime/spec/invariant-builder.js +0 -1
- /package/dist/{domain/core/relation/relation-implementation.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
- /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
- /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
- /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ImplementationError } from '../../errors/index.js';
|
|
1
2
|
/**
|
|
2
3
|
* The default export of one file in a project convention folder (`src/elements/`, `src/handlers/`,
|
|
3
4
|
* `src/expressions/`, …), paired with the project-relative path it was imported from.
|
|
@@ -17,7 +18,13 @@ export interface ProjectModuleContract {
|
|
|
17
18
|
}
|
|
18
19
|
export declare const SHARED_FOLDER_HINT = "or move the file to an underscore-prefixed folder such as src/_shared/ when it is shared code";
|
|
19
20
|
export declare const isRecord: (value: unknown) => value is Record<string, unknown>;
|
|
20
|
-
|
|
21
|
+
/**
|
|
22
|
+
* The error of a file whose default export does not match its folder's contract. `received` is the
|
|
23
|
+
* value the message reports: the export itself, or the item of an array export that fails. The
|
|
24
|
+
* code is `MISSING_EXPORT` when the file has no default export at all, and `INVALID_EXPORT`
|
|
25
|
+
* otherwise, also when an item of an array export is `undefined`.
|
|
26
|
+
*/
|
|
27
|
+
export declare const createContractError: (module: ProjectModule, contract: ProjectModuleContract, received: unknown) => ImplementationError;
|
|
21
28
|
/**
|
|
22
29
|
* Checks a file of a folder whose contract is one item or an array of them, and returns its items.
|
|
23
30
|
* The first item that fails the check is the value the error reports.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const SHARED_FOLDER_HINT="or move the file to an underscore-prefixed folder such as src/_shared/ when it is shared code";export const isRecord=e=>"object"==typeof e&&null!==e&&!Array.isArray(e);export const createContractError=(
|
|
1
|
+
import{ImplementationError as e}from"../../errors/index.js";export const SHARED_FOLDER_HINT="or move the file to an underscore-prefixed folder such as src/_shared/ when it is shared code";export const isRecord=e=>"object"==typeof e&&null!==e&&!Array.isArray(e);export const createContractError=(r,t,o)=>new e({code:void 0===r.exports?"MISSING_EXPORT":"INVALID_EXPORT",origin:r.origin,problem:"Invalid default export",expected:t.expected,received:(e=>{if(void 0===e)return"nothing (the file has no default export)";if(null===e)return"null";if("function"==typeof e)return e.name?`the function "${e.name}"`:"an anonymous function";if(Array.isArray(e))return`an array of ${e.length} item(s)`;if(isRecord(e)){let r=Object.keys(e);return r.length>0?`an object with the keys ${r.join(", ")}`:"an empty object"}return`the ${typeof e} ${JSON.stringify(e)}`})(o),fix:`Every file in this folder is loaded by convention, so each one must default-export that shape. ${t.fix}`});export const resolveListModule=(e,r,t)=>{let o=Array.isArray(e.exports)?e.exports:[e.exports],n=[];for(let i of o){if(!t(i))throw createContractError(e,r,i);n.push(i)}return n};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SHARED_FOLDER_HINT as e,createContractError as t,isRecord as o}from"./project-modules.js";let i={expected:"an object of action implementations keyed by action name",fix:`Create it with phx.domain.implementActions({ ... }), ${e}.`},n=e=>"function"==typeof e;export const resolveActionModules=e=>e.reduce((e,r)=>{let c;if(!(o(c=r.exports)&&Object.values(c).every(n)))throw t(r
|
|
1
|
+
import{SHARED_FOLDER_HINT as e,createContractError as t,isRecord as o}from"./project-modules.js";let i={expected:"an object of action implementations keyed by action name",fix:`Create it with phx.domain.implementActions({ ... }), ${e}.`},n=e=>"function"==typeof e;export const resolveActionModules=e=>e.reduce((e,r)=>{let c;if(!(o(c=r.exports)&&Object.values(c).every(n)))throw t(r,i,r.exports);return{...e,...r.exports}},{});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SHARED_FOLDER_HINT as e,createContractError as o,isRecord as t}from"./project-modules.js";let i={expected:"an object of expressions keyed by entity type or alias, then by expression name",fix:`Create it with phx.domain.implementCustomExpressions({ ... }) (phx.domain.admin.implementCustomExpressions({ ... }) under src/admin/), ${e}.`},r=e=>t(e)&&"function"==typeof e.evaluate,n=e=>t(e)&&Object.values(e).every(r);export const resolveExpressionModules=(e,r)=>{let s=new Map;return e.map(e=>{let p;if(!(t(p=e.exports)&&Object.values(p).every(n)))throw o(e
|
|
1
|
+
import{SHARED_FOLDER_HINT as e,createContractError as o,isRecord as t}from"./project-modules.js";let i={expected:"an object of expressions keyed by entity type or alias, then by expression name",fix:`Create it with phx.domain.implementCustomExpressions({ ... }) (phx.domain.admin.implementCustomExpressions({ ... }) under src/admin/), ${e}.`},r=e=>t(e)&&"function"==typeof e.evaluate,n=e=>t(e)&&Object.values(e).every(r);export const resolveExpressionModules=(e,r)=>{let s=new Map;return e.map(e=>{let p;if(!(t(p=e.exports)&&Object.values(p).every(n)))throw o(e,i,e.exports);for(let[o,t]of Object.entries(e.exports))for(let i of r[o]??[o])for(let o of Object.keys(t)){let t=`${i}.${o}`,r=s.get(t);if(void 0!==r&&r!==e.origin)throw Error(`Duplicate expression ${t}: it is defined in both ${r} and ${e.origin}, which would make its value depend on file order. Keep one definition and remove the other.`);s.set(t,e.origin)}return{origin:e.origin,expressions:e.exports}})};
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import type { ImportedTransformer, SpecTransformer } from '../../../application/index.js';
|
|
2
|
-
import type {
|
|
3
|
-
import type { DomainContextSystems, Transformers } from '../../../domain-context/index.js';
|
|
2
|
+
import type { AnyDomainContextSystems, Transformers } from '../../../domain-context/index.js';
|
|
4
3
|
import { type ProjectModule } from './project-modules.js';
|
|
5
|
-
type AnyImportedTransformer = ImportedTransformer<any, any, any, any, any, any, any>;
|
|
6
4
|
/**
|
|
7
5
|
* The transformer of one `src/transformers/` file, named after the file. The spec's `transformers` section
|
|
8
6
|
* selects a plain-function export by that name; a transformer made with `build(name)` registers under its own.
|
|
9
7
|
*/
|
|
10
|
-
export declare const resolveTransformerModule: (module: ProjectModule) =>
|
|
8
|
+
export declare const resolveTransformerModule: (module: ProjectModule) => ImportedTransformer;
|
|
11
9
|
/** Validates the `src/transformers/` files of an application config and names each after its file. */
|
|
12
|
-
export declare const resolveTransformerModules: (modules: readonly ProjectModule[]) => readonly
|
|
10
|
+
export declare const resolveTransformerModules: (modules: readonly ProjectModule[]) => readonly ImportedTransformer[];
|
|
13
11
|
/**
|
|
14
12
|
* Resolves imported transformer modules against spec transformer declarations.
|
|
15
13
|
* Each imported transformer is registered/executed with the domain context,
|
|
@@ -17,6 +15,8 @@ export declare const resolveTransformerModules: (modules: readonly ProjectModule
|
|
|
17
15
|
*
|
|
18
16
|
* Used both when the runtime spec is initialized from the application config and at hot-reload time
|
|
19
17
|
* (via domain-context subscription to registry changes).
|
|
18
|
+
*
|
|
19
|
+
* The transformers come from untyped project modules, so the context and the result have the open types of
|
|
20
|
+
* `AnyCreateTransformersFactory`, the slot of the runtime spec this function fills.
|
|
20
21
|
*/
|
|
21
|
-
export declare const resolveImportedTransformers:
|
|
22
|
-
export {};
|
|
22
|
+
export declare const resolveImportedTransformers: (importedTransformers: readonly ImportedTransformer[], specTransformers: readonly SpecTransformer[], ctx: AnyDomainContextSystems) => Transformers<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SHARED_FOLDER_HINT as r,createContractError as e,isRecord as t}from"./project-modules.js";let o={expected:"a transformer (a function of the domain context, or an object with a register method), or an array of them",fix:`Create it with phx.frontend.transformerBuilder, ${r}.`},n=r=>"function"==typeof r||t(r)&&"function"==typeof r.register;export const resolveTransformerModule=r=>{let t;if(!(Array.isArray(t=r.exports)?t.every(n):n(t)))throw e(r
|
|
1
|
+
import{SHARED_FOLDER_HINT as r,createContractError as e,isRecord as t}from"./project-modules.js";let o={expected:"a transformer (a function of the domain context, or an object with a register method), or an array of them",fix:`Create it with phx.frontend.transformerBuilder, ${r}.`},n=r=>"function"==typeof r||t(r)&&"function"==typeof r.register;export const resolveTransformerModule=r=>{let t;if(!(Array.isArray(t=r.exports)?t.every(n):n(t)))throw e(r,o,r.exports);return{name:r.origin.replace(/^.*\//,"").replace(/\.tsx?$/,""),transformer:r.exports}};export const resolveTransformerModules=r=>r.map(resolveTransformerModule);export const resolveImportedTransformers=(r,e,t)=>{let o=r.flatMap(({name:r,transformer:e})=>{if(Array.isArray(e))return e.map((e,o)=>{if("register"in e)return e.register(t);if("function"==typeof e)return{priority:1/0,transformer:e(t),name:`${r}[${o}]`};throw Error(`Transformer '${r}[${o}]' must be either a RegistrableTransformer (with register method) or a TransformerFactory (function)`)});if("register"in e)return e.register(t);if("function"==typeof e)return{priority:1/0,transformer:e(t),name:r};throw Error(`Transformer '${r}' must be either a RegistrableTransformer (with register method) or a TransformerFactory (function)`)}),n=[];for(let r of e){let e=o.find(e=>e.name===r.name);if(!e){let e=o.map(r=>r.name).filter(Boolean).join(", ");throw Error(`Transformer '${r.name}' not found in imported transformer files. Available transformers: ${e||"none"}`)}n.push({priority:r.priority??1/0,transformer:e.transformer,name:r.name})}return n};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Invariant } from '../../../core/index.js';
|
|
2
2
|
import { type ProjectModule } from './project-modules.js';
|
|
3
|
-
|
|
3
|
+
/** An invariant of any project: a file's default export does not carry the project's entity and data types. */
|
|
4
|
+
export type AnyInvariant = Invariant<any, any, any, any, any, any, string>;
|
|
4
5
|
/** Validates the `src/invariants/` files and concatenates their invariants per entity type or alias. */
|
|
5
6
|
export declare const resolveInvariantModules: (modules: readonly ProjectModule[]) => Readonly<Record<string, readonly AnyInvariant[]>>;
|
|
6
|
-
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SHARED_FOLDER_HINT as e,createContractError as t,isRecord as r}from"./project-modules.js";let o={expected:"an object of invariant lists keyed by entity type or alias",fix:`Create it with phx.domain.implementCustomInvariants({ ... }) (phx.domain.admin.implementCustomInvariants({ ... }) under src/admin/), ${e}.`},i=e=>r(e)&&"function"==typeof e.evaluate,n=e=>r(e)&&Object.values(e).every(e=>Array.isArray(e)&&e.every(i));export const resolveInvariantModules=e=>{let r={};for(let i of e){if(!n(i.exports))throw t(i
|
|
1
|
+
import{SHARED_FOLDER_HINT as e,createContractError as t,isRecord as r}from"./project-modules.js";let o={expected:"an object of invariant lists keyed by entity type or alias",fix:`Create it with phx.domain.implementCustomInvariants({ ... }) (phx.domain.admin.implementCustomInvariants({ ... }) under src/admin/), ${e}.`},i=e=>r(e)&&"function"==typeof e.evaluate,n=e=>r(e)&&Object.values(e).every(e=>Array.isArray(e)&&e.every(i));export const resolveInvariantModules=e=>{let r={};for(let i of e){if(!n(i.exports))throw t(i,o,i.exports);for(let[e,t]of Object.entries(i.exports))r[e]=[...r[e]??[],...t]}return r};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SystemComponentBuilder as t}from"../core/index.js";export const AttributeSwitchValueSchema={type:
|
|
1
|
+
import{SystemComponentBuilder as t}from"../core/index.js";export const AttributeSwitchValueSchema={type:"boolean"};export const attributeSwitchComponent=t.component("attributeSwitch").withState({type:"object",properties:{value:AttributeSwitchValueSchema},tsType:"AttributeSwitchComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"AttributeSwitchComponentState"}],required:["value"],additionalProperties:!1}).withWritableKeys(["value"]).build();
|
|
@@ -41,7 +41,7 @@ export type CanvasConfigComponentState = {
|
|
|
41
41
|
/**
|
|
42
42
|
* Can be "high-performance", "low-power" or "default"
|
|
43
43
|
*/
|
|
44
|
-
readonly powerPreference?:
|
|
44
|
+
readonly powerPreference?: 'high-performance' | 'low-power' | 'default' | undefined;
|
|
45
45
|
/**
|
|
46
46
|
* default is true.
|
|
47
47
|
*/
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type HexColor } from '@salsita-ai/common/utils';
|
|
2
2
|
export type ClientSideImageComponentState = {
|
|
3
3
|
readonly exportState: string;
|
|
4
4
|
readonly width: number;
|
|
5
5
|
readonly height: number;
|
|
6
6
|
readonly fileFormat: 'PNG' | 'JPEG';
|
|
7
|
-
readonly backgroundColor?:
|
|
7
|
+
readonly backgroundColor?: HexColor;
|
|
8
8
|
readonly toolState: string;
|
|
9
9
|
readonly viewState: string;
|
|
10
10
|
readonly navigationState: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SystemComponentBuilder as t,isSnapshotOfComponentType as e}from"../core/index.js";export const clientSideImageComponent=t.component("clientSideImage").withState({type:"object",tsType:"ClientSideImageComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ClientSideImageComponentState"}],properties:{exportState:{type:"string"},width:{type:"number"},height:{type:"number"},fileFormat:{type:"string",enum:["PNG","JPEG"]},backgroundColor:{type:"string",pattern:"^#[0-9a-fA-F]{6}$"},toolState:{type:"string"},viewState:{type:"string"},navigationState:{type:"string"}},required:["exportState","width","height","fileFormat","toolState","viewState","navigationState"],additionalProperties:!1}).build();export const isClientSideImageComponentSnapshot=e(clientSideImageComponent);
|
|
1
|
+
import{SystemComponentBuilder as t,isSnapshotOfComponentType as e}from"../core/index.js";export const clientSideImageComponent=t.component("clientSideImage").withState({type:"object",tsType:"ClientSideImageComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ClientSideImageComponentState"}],properties:{exportState:{type:"string"},width:{type:"number"},height:{type:"number"},fileFormat:{type:"string",enum:["PNG","JPEG"]},backgroundColor:{type:"string",pattern:"^#[0-9a-fA-F]{6}$",tsType:"HexColor",import:[{module:"@salsita-ai/sdk/common/utils",member:"HexColor"}]},toolState:{type:"string"},viewState:{type:"string"},navigationState:{type:"string"}},required:["exportState","width","height","fileFormat","toolState","viewState","navigationState"],additionalProperties:!1}).build();export const isClientSideImageComponentSnapshot=e(clientSideImageComponent);
|
|
@@ -71,9 +71,9 @@ export type AngleIndicatorBaseState = {
|
|
|
71
71
|
*/
|
|
72
72
|
readonly labelFontStyle?: 'normal' | 'italic';
|
|
73
73
|
/**
|
|
74
|
-
* Font weight
|
|
74
|
+
* Font weight: a number, or a keyword such as 'normal' or 'bold'.
|
|
75
75
|
*/
|
|
76
|
-
readonly labelFontWeight?: number |
|
|
76
|
+
readonly labelFontWeight?: number | string;
|
|
77
77
|
/**
|
|
78
78
|
* Spacing between letters. Default is 0.
|
|
79
79
|
*/
|
|
@@ -119,10 +119,10 @@ export type DimensionIndicatorBaseState = {
|
|
|
119
119
|
*/
|
|
120
120
|
readonly labelFontStyle?: 'normal' | 'italic';
|
|
121
121
|
/**
|
|
122
|
-
* Font weight
|
|
122
|
+
* Font weight: a number, or a keyword such as 'normal' or 'bold'.
|
|
123
123
|
* See https://protectwise.github.io/troika/troika-three-text/
|
|
124
124
|
*/
|
|
125
|
-
readonly labelFontWeight?: number |
|
|
125
|
+
readonly labelFontWeight?: number | string;
|
|
126
126
|
/**
|
|
127
127
|
* Spacing between letters. Default is 0.
|
|
128
128
|
* See https://protectwise.github.io/troika/troika-three-text/
|
|
@@ -10,7 +10,7 @@ export type EditableAngleIndicatorComponentState = AngleIndicatorBaseState & Sce
|
|
|
10
10
|
/**
|
|
11
11
|
* An array of fixable violations. They will be ignored in the violation hint.
|
|
12
12
|
*/
|
|
13
|
-
readonly fixableViolations?: string[];
|
|
13
|
+
readonly fixableViolations?: readonly string[];
|
|
14
14
|
/**
|
|
15
15
|
* The label of the input field.
|
|
16
16
|
*/
|
|
@@ -10,7 +10,7 @@ export type EditableDistanceDimensionIndicatorComponentState = DimensionIndicato
|
|
|
10
10
|
/**
|
|
11
11
|
* An array of fixable violations. They will be ignored in the violation hint.
|
|
12
12
|
*/
|
|
13
|
-
readonly fixableViolations?: string[];
|
|
13
|
+
readonly fixableViolations?: readonly string[];
|
|
14
14
|
/**
|
|
15
15
|
* The label of the input field.
|
|
16
16
|
*/
|
|
@@ -13,7 +13,7 @@ export type EditableOffsetIndicatorComponentState = OffsetIndicatorComponentStat
|
|
|
13
13
|
/**
|
|
14
14
|
* Violation names to ignore when computing hints for the edit input.
|
|
15
15
|
*/
|
|
16
|
-
readonly fixableViolations?: string[];
|
|
16
|
+
readonly fixableViolations?: readonly string[];
|
|
17
17
|
/**
|
|
18
18
|
* Label displayed on the edit input field.
|
|
19
19
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{EnhancedLocalizableSchema as
|
|
1
|
+
import{EnhancedLocalizableSchema as e}from"@salsita-ai/common/utils";import{DomainEntityIdSchema as t,SystemComponentBuilder as i,isSnapshotOfComponentType as n}from"../core/index.js";import{DimensionUnitSchema as r,UnitsConfigSchema as o}from"../dimensions/index.js";import{SceneHtmlOpacityProperties as a,SceneHtmlVisibilityProperties as s}from"../system-components/index.js";import{DimensionIndicatorBaseProperties as p,EditableIndicatorButtonVariantSchema as m}from"./common/index.js";export const editableOffsetIndicatorComponent=i.component("editableOffsetIndicator").withState({tsType:"EditableOffsetIndicatorComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"EditableOffsetIndicatorComponentState"}],type:"object",properties:{...p,targetEntityOffsetAnchors:{type:"array",items:{type:"string"}},targetReferenceOffsetAnchors:{type:"array",items:{type:"string"}},referenceEntityIds:{type:["array","null"],items:t},directionVector:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},additionalProperties:!1},directionVectorRelativeToEntityId:{anyOf:[t,{type:"null"}]},maxDistance:{type:["number","null"]},minDistance:{type:["number","null"]},maxPerpendicularDistance:{type:["number","null"]},minPerpendicularDistance:{type:["number","null"]},visible:{type:"boolean"},force:{type:"boolean"},displayUnit:r,unitDisplayConfig:o,...a,...s,targetOffset:{type:"string"},fixableViolations:{type:"array",items:{type:"string"}},inputLabel:e,modalTitle:e,modalText:e,helperText:e,buttonVariant:m},required:["targetOffset","targetEntityOffsetAnchors","targetReferenceOffsetAnchors","directionVector"],additionalProperties:!1}).build();export const isEditableOffsetIndicatorSnapshot=n(editableOffsetIndicatorComponent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";export const FitSelectionOrthographicCameraComponentName="fitSelectionOrthographicCamera";export const fitSelectionOrthographicCameraComponent=e.component("fitSelectionOrthographicCamera").withState({type:"object",tsType:"FitSelectionOrthographicCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitSelectionOrthographicCameraComponentState"}],properties:{priority:{type:"number"},fitToBox:{type:"boolean"},animateTransition:{type:"boolean"},zoomLockGroup:{type:["string","null"]},rotationLockGroup:{type:["string","null"]},left:{type:"number"},bottom:{type:"number"},frustumSize:{type:"number"},near:{type:"number"},far:{type:"number"},
|
|
1
|
+
import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";export const FitSelectionOrthographicCameraComponentName="fitSelectionOrthographicCamera";export const fitSelectionOrthographicCameraComponent=e.component("fitSelectionOrthographicCamera").withState({type:"object",tsType:"FitSelectionOrthographicCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitSelectionOrthographicCameraComponentState"}],properties:{priority:{type:"number"},fitToBox:{type:"boolean"},animateTransition:{type:"boolean"},zoomLockGroup:{type:["string","null"]},rotationLockGroup:{type:["string","null"]},left:{type:"number"},bottom:{type:"number"},frustumSize:{type:"number"},near:{type:"number"},far:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},minZoom:{type:"number"},maxZoom:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number",enum:[0,1,2,4,8,16]},middle:{type:"number",enum:[0,1,2,4,8,16]},right:{type:"number",enum:[0,1,2,4,8,16]},wheel:{type:"number",enum:[0,1,2,4,8,16]}},required:["left","middle","right","wheel"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number",enum:[0,8,16,32,64,128]},two:{type:"number",enum:[0,32,64,128,256,512,1024,2048,4096,8192,16384,32768]},three:{type:"number",enum:[0,32,64,128,256,512,1024,2048,4096,8192,16384,32768]}},required:["one","two","three"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitSelectionOrthographicCameraComponent=t(fitSelectionOrthographicCameraComponent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";export const FitSelectionPerspectiveCameraComponentName="fitSelectionPerspectiveCamera";export const fitSelectionPerspectiveCameraComponent=e.component("fitSelectionPerspectiveCamera").withState({type:"object",tsType:"FitSelectionPerspectiveCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitSelectionPerspectiveCameraComponentState"}],properties:{priority:{type:"number"},fitToBox:{type:"boolean"},fitMeshChanges:{type:"boolean"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},distanceLockGroup:{type:["string","null"]},rotationLockGroup:{type:["string","null"]},fov:{type:"number"},far:{type:"number"},near:{type:"number"},focus:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitSelectionPerspectiveCameraComponent=t(fitSelectionPerspectiveCameraComponent);
|
|
1
|
+
import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";export const FitSelectionPerspectiveCameraComponentName="fitSelectionPerspectiveCamera";export const fitSelectionPerspectiveCameraComponent=e.component("fitSelectionPerspectiveCamera").withState({type:"object",tsType:"FitSelectionPerspectiveCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitSelectionPerspectiveCameraComponentState"}],properties:{priority:{type:"number"},fitToBox:{type:"boolean"},fitMeshChanges:{type:"boolean"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},distanceLockGroup:{type:["string","null"]},rotationLockGroup:{type:["string","null"]},fov:{type:"number"},far:{type:"number"},near:{type:"number"},focus:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number",enum:[0,1,2,4,8,16]},middle:{type:"number",enum:[0,1,2,4,8,16]},right:{type:"number",enum:[0,1,2,4,8,16]},wheel:{type:"number",enum:[0,1,2,4,8,16]}},required:["left","middle","right","wheel"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number",enum:[0,8,16,32,64,128]},two:{type:"number",enum:[0,32,64,128,256,512,1024,2048,4096,8192,16384,32768]},three:{type:"number",enum:[0,32,64,128,256,512,1024,2048,4096,8192,16384,32768]}},required:["one","two","three"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitSelectionPerspectiveCameraComponent=t(fitSelectionPerspectiveCameraComponent);
|
|
@@ -12,13 +12,13 @@ export interface HorizontalTab {
|
|
|
12
12
|
/**
|
|
13
13
|
* List of navigation states when the tab is active. First one will be used for activation.
|
|
14
14
|
*/
|
|
15
|
-
readonly navigationStates: string[];
|
|
15
|
+
readonly navigationStates: readonly string[];
|
|
16
16
|
}
|
|
17
17
|
export type HorizontalTabsComponentState = {
|
|
18
18
|
/**
|
|
19
19
|
* List of tabs in the horizontal tabs.
|
|
20
20
|
*/
|
|
21
|
-
readonly tabs: HorizontalTab[];
|
|
21
|
+
readonly tabs: readonly HorizontalTab[];
|
|
22
22
|
};
|
|
23
23
|
export declare const horizontalTabsComponent: import("../index.js").SystemComponentType<"horizontalTabs", HorizontalTabsComponentState, never>;
|
|
24
24
|
export type HorizontalTabsComponent = typeof horizontalTabsComponent;
|
|
@@ -10,7 +10,7 @@ export type ListSelectorDimensionIndicatorComponentState = DimensionIndicatorSta
|
|
|
10
10
|
/**
|
|
11
11
|
* An array of fixable violations. They will be ignored in the violation hint.
|
|
12
12
|
*/
|
|
13
|
-
readonly fixableViolations?: string[];
|
|
13
|
+
readonly fixableViolations?: readonly string[];
|
|
14
14
|
/**
|
|
15
15
|
* The title of the modal.
|
|
16
16
|
*/
|
|
@@ -7,13 +7,13 @@ export interface NavigationStep {
|
|
|
7
7
|
/**
|
|
8
8
|
* List of navigation states when the tab is active. First one will be used for activation.
|
|
9
9
|
*/
|
|
10
|
-
readonly navigationStates: string[];
|
|
10
|
+
readonly navigationStates: readonly string[];
|
|
11
11
|
}
|
|
12
12
|
export type NavigationStepsComponentState = {
|
|
13
13
|
/**
|
|
14
14
|
* List of steps in the top navigation.
|
|
15
15
|
*/
|
|
16
|
-
readonly steps: NavigationStep[];
|
|
16
|
+
readonly steps: readonly NavigationStep[];
|
|
17
17
|
};
|
|
18
18
|
export declare const navigationStepsComponent: import("../index.js").SystemComponentType<"navigationSteps", NavigationStepsComponentState, never>;
|
|
19
19
|
export type NavigationStepsComponent = typeof navigationStepsComponent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{DomainEntityIdSchema as e,SystemComponentBuilder as t,isSnapshotOfComponentType as n}from"../core/index.js";import{DimensionUnitSchema as r,UnitsConfigSchema as o}from"../dimensions/index.js";import{DimensionIndicatorBaseProperties as i}from"./common/index.js";export const offsetIndicatorComponent=t.component("offsetIndicator").withState({tsType:"OffsetIndicatorComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"OffsetIndicatorComponentState"}],type:"object",properties:{...i,targetEntityOffsetAnchors:{type:"array",items:{type:"string"}},targetReferenceOffsetAnchors:{type:"array",items:{type:"string"}},referenceEntityIds:{type:["array","null"],items:e},directionVector:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},additionalProperties:!1},directionVectorRelativeToEntityId:{anyOf:[e,{type:"null"}]},maxDistance:{type:["number","null"]},minDistance:{type:["number","null"]},maxPerpendicularDistance:{type:["number","null"]},minPerpendicularDistance:{type:["number","null"]},visible:{type:"boolean"},force:{type:"boolean"},displayUnit:r,unitDisplayConfig:o},required:["targetEntityOffsetAnchors","targetReferenceOffsetAnchors","directionVector"],additionalProperties:!1}).build();export const isOffsetIndicatorSnapshot=n(offsetIndicatorComponent);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export type RotatableSurface = {
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Identifier of the surface.
|
|
4
4
|
*/
|
|
5
|
-
readonly key
|
|
5
|
+
readonly key?: string;
|
|
6
6
|
/**
|
|
7
7
|
* The widget rotation axis in normal form. Usually corresponds to the target object's rotation axis.
|
|
8
8
|
*/
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type HexColor } from '@salsita-ai/common/utils';
|
|
2
2
|
export type SaveTemplateThumbnailComponentState = {
|
|
3
3
|
readonly exportState: string;
|
|
4
4
|
readonly width: number;
|
|
5
5
|
readonly height: number;
|
|
6
6
|
readonly fileFormat: 'PNG' | 'JPEG';
|
|
7
|
-
readonly backgroundColor?:
|
|
7
|
+
readonly backgroundColor?: HexColor;
|
|
8
8
|
readonly toolState: string;
|
|
9
9
|
readonly viewState: string;
|
|
10
10
|
readonly navigationState: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SystemComponentBuilder as t,isSnapshotOfComponentType as e}from"../core/index.js";export const saveTemplateThumbnailComponent=t.component("saveTemplateThumbnail").withState({type:"object",tsType:"SaveTemplateThumbnailComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SaveTemplateThumbnailComponentState"}],properties:{exportState:{type:"string"},width:{type:"number"},height:{type:"number"},fileFormat:{type:"string",enum:["PNG","JPEG"]},backgroundColor:{type:"string",pattern:"^#[0-9a-fA-F]{6}$"},toolState:{type:"string"},viewState:{type:"string"},navigationState:{type:"string"}},required:["exportState","width","height","fileFormat","toolState","viewState","navigationState"],additionalProperties:!1}).build();export const isSaveTemplateThumbnailComponentSnapshot=e(saveTemplateThumbnailComponent);
|
|
1
|
+
import{SystemComponentBuilder as t,isSnapshotOfComponentType as e}from"../core/index.js";export const saveTemplateThumbnailComponent=t.component("saveTemplateThumbnail").withState({type:"object",tsType:"SaveTemplateThumbnailComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SaveTemplateThumbnailComponentState"}],properties:{exportState:{type:"string"},width:{type:"number"},height:{type:"number"},fileFormat:{type:"string",enum:["PNG","JPEG"]},backgroundColor:{type:"string",pattern:"^#[0-9a-fA-F]{6}$",tsType:"HexColor",import:[{module:"@salsita-ai/sdk/common/utils",member:"HexColor"}]},toolState:{type:"string"},viewState:{type:"string"},navigationState:{type:"string"}},required:["exportState","width","height","fileFormat","toolState","viewState","navigationState"],additionalProperties:!1}).build();export const isSaveTemplateThumbnailComponentSnapshot=e(saveTemplateThumbnailComponent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SystemComponentBuilder as e}from"../core/index.js";export const sceneEntityAnimationComponent=e.component("sceneEntityAnimation").withState({type:"object",tsType:"SceneEntityAnimationComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityAnimationComponentState"}],properties:{fileUrl:{type:"string"},name:{type:"string"},type:{type:"string"},timeScale:{type:"number"}},required:["fileUrl","name","timeScale","type"],additionalProperties:!1}).build();
|
|
1
|
+
import{SystemComponentBuilder as e}from"../core/index.js";export const sceneEntityAnimationComponent=e.component("sceneEntityAnimation").withState({type:"object",tsType:"SceneEntityAnimationComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityAnimationComponentState"}],properties:{fileUrl:{type:"string"},name:{type:"string"},type:{type:"string",enum:["reversable"]},timeScale:{type:"number"}},required:["fileUrl","name","timeScale","type"],additionalProperties:!1}).build();
|
|
@@ -5,7 +5,7 @@ export interface MockTransformer<ENTITIES extends DomainEntity<string>, ALLOWED_
|
|
|
5
5
|
transformer: RegistrableTransformer<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES>;
|
|
6
6
|
priority?: number;
|
|
7
7
|
}
|
|
8
|
-
export declare const createMockDomainContext: <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,
|
|
8
|
+
export declare const createMockDomainContext: <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, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>>(cfg: ApplicationConfig<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES, any, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, any, any, any, any, any>, mocks: {
|
|
9
9
|
frontendData: FRONTEND_DATA;
|
|
10
10
|
publishedData: PUBLISHED_DATA;
|
|
11
11
|
sessionData: SESSION_DATA;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AccessLevel } from '@salsita-ai/contracts/api';
|
|
1
2
|
import type { ApplicationConfig } from '../application/index.js';
|
|
2
3
|
import type { $DomainEntity, DomainEntity } from '../core/index.js';
|
|
3
4
|
import type { RegistrableTransformer } from '../domain-context/index.js';
|
|
@@ -15,7 +16,7 @@ import type { RegistrableTransformer } from '../domain-context/index.js';
|
|
|
15
16
|
*
|
|
16
17
|
* Contributing no extension systems is the same shape webhook and finalize hosts run in.
|
|
17
18
|
*/
|
|
18
|
-
export declare const createMockDomainRuntime: <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,
|
|
19
|
+
export declare const createMockDomainRuntime: <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, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>>(config: ApplicationConfig<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES, any, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, any, any, any, any, any>, mocks: {
|
|
19
20
|
frontendData: FRONTEND_DATA;
|
|
20
21
|
publishedData: PUBLISHED_DATA;
|
|
21
22
|
sessionData: SESSION_DATA;
|
|
@@ -268,24 +269,28 @@ export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<str
|
|
|
268
269
|
access: {
|
|
269
270
|
selectConfiguratorRawAccessInfo: import("@salsita-ai/common/utils").Selector<import("../index.js").AccessSelectorState, {
|
|
270
271
|
raw: string;
|
|
272
|
+
access: AccessLevel;
|
|
271
273
|
viewMode: boolean;
|
|
272
274
|
revisionId: string | undefined;
|
|
273
275
|
configurationId: string;
|
|
274
276
|
} | null>;
|
|
275
277
|
selectAdminRawAccessInfo: import("@salsita-ai/common/utils").Selector<import("../index.js").AccessSelectorState, {
|
|
276
278
|
raw: string;
|
|
279
|
+
access: AccessLevel;
|
|
277
280
|
viewMode: boolean;
|
|
278
281
|
revisionId: string | undefined;
|
|
279
282
|
configurationId: string;
|
|
280
283
|
} | null>;
|
|
281
284
|
selectConfiguratorAccessInfo: import("@salsita-ai/common/utils").Selector<import("../index.js").AccessSelectorState, {
|
|
282
285
|
raw: string;
|
|
286
|
+
access: AccessLevel;
|
|
283
287
|
viewMode: boolean;
|
|
284
288
|
revisionId: string | undefined;
|
|
285
289
|
configurationId: string;
|
|
286
290
|
}>;
|
|
287
291
|
selectAdminAccessInfo: import("@salsita-ai/common/utils").Selector<import("../index.js").AccessSelectorState, {
|
|
288
292
|
raw: string;
|
|
293
|
+
access: AccessLevel;
|
|
289
294
|
viewMode: boolean;
|
|
290
295
|
revisionId: string | undefined;
|
|
291
296
|
configurationId: string;
|
|
@@ -298,24 +303,28 @@ export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<str
|
|
|
298
303
|
selectAdminConfigurationId: import("@salsita-ai/common/utils").Selector<import("../index.js").AccessSelectorState, string>;
|
|
299
304
|
getConfiguratorRawAccessInfo: () => {
|
|
300
305
|
raw: string;
|
|
306
|
+
access: AccessLevel;
|
|
301
307
|
viewMode: boolean;
|
|
302
308
|
revisionId: string | undefined;
|
|
303
309
|
configurationId: string;
|
|
304
310
|
} | null;
|
|
305
311
|
getAdminRawAccessInfo: () => {
|
|
306
312
|
raw: string;
|
|
313
|
+
access: AccessLevel;
|
|
307
314
|
viewMode: boolean;
|
|
308
315
|
revisionId: string | undefined;
|
|
309
316
|
configurationId: string;
|
|
310
317
|
} | null;
|
|
311
318
|
getConfiguratorAccessInfo: () => {
|
|
312
319
|
raw: string;
|
|
320
|
+
access: AccessLevel;
|
|
313
321
|
viewMode: boolean;
|
|
314
322
|
revisionId: string | undefined;
|
|
315
323
|
configurationId: string;
|
|
316
324
|
};
|
|
317
325
|
getAdminAccessInfo: () => {
|
|
318
326
|
raw: string;
|
|
327
|
+
access: AccessLevel;
|
|
319
328
|
viewMode: boolean;
|
|
320
329
|
revisionId: string | undefined;
|
|
321
330
|
configurationId: string;
|
|
@@ -361,9 +370,9 @@ export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<str
|
|
|
361
370
|
selectIsViewMode: import("@salsita-ai/common/utils").Selector<import("../index.js").DomainContextSelectorState, boolean>;
|
|
362
371
|
selectInitializationState: import("@salsita-ai/common/utils").Selector<import("../index.js").DomainContextSelectorState, import("../index.js").DomainContextInitializationState>;
|
|
363
372
|
selectComponentOptics: import("@salsita-ai/common/utils").Selector<import("../index.js").DomainContextSelectorState, readonly import("../index.js").AnyDomainComponentOptic[]>;
|
|
364
|
-
selectComponentReaderIndexes: import("@salsita-ai/common/utils").Selector<import("../index.js").DomainContextSelectorState, import("../index.js").ComponentReaderIndexes
|
|
373
|
+
selectComponentReaderIndexes: import("@salsita-ai/common/utils").Selector<import("../index.js").DomainContextSelectorState, import("../index.js").ComponentReaderIndexes>;
|
|
365
374
|
selectStoreRuntimeDependencies: import("@salsita-ai/common/utils").Selector<import("../index.js").DomainContextSelectorState, {
|
|
366
|
-
componentReaderIndexes: import("../index.js").ComponentReaderIndexes
|
|
375
|
+
componentReaderIndexes: import("../index.js").ComponentReaderIndexes;
|
|
367
376
|
domainExpressions: import("../index.js").AnyExpressions;
|
|
368
377
|
allowedRootEntityTypes: import("../index.js").AnyAllowedRootEntityTypes;
|
|
369
378
|
}>;
|
|
@@ -403,9 +412,9 @@ export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<str
|
|
|
403
412
|
getMigrate: () => import("../index.js").MigrateFunction<DomainEntity<string>>;
|
|
404
413
|
getActiveMode: () => import("../index.js").DomainMode;
|
|
405
414
|
getIsInitialized: () => boolean;
|
|
406
|
-
getComponentReaderIndexes: () => import("../index.js").ComponentReaderIndexes
|
|
415
|
+
getComponentReaderIndexes: () => import("../index.js").ComponentReaderIndexes;
|
|
407
416
|
getStoreRuntimeDependencies: () => {
|
|
408
|
-
componentReaderIndexes: import("../index.js").ComponentReaderIndexes
|
|
417
|
+
componentReaderIndexes: import("../index.js").ComponentReaderIndexes;
|
|
409
418
|
domainExpressions: import("../index.js").AnyExpressions;
|
|
410
419
|
allowedRootEntityTypes: import("../index.js").AnyAllowedRootEntityTypes;
|
|
411
420
|
};
|
|
@@ -470,9 +479,9 @@ export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<str
|
|
|
470
479
|
selectIsViewMode: import("@salsita-ai/common/utils").Selector<import("../index.js").DomainContextSelectorState, boolean>;
|
|
471
480
|
selectInitializationState: import("@salsita-ai/common/utils").Selector<import("../index.js").DomainContextSelectorState, import("../index.js").DomainContextInitializationState>;
|
|
472
481
|
selectComponentOptics: import("@salsita-ai/common/utils").Selector<import("../index.js").DomainContextSelectorState, readonly import("../index.js").AnyDomainComponentOptic[]>;
|
|
473
|
-
selectComponentReaderIndexes: import("@salsita-ai/common/utils").Selector<import("../index.js").DomainContextSelectorState, import("../index.js").ComponentReaderIndexes
|
|
482
|
+
selectComponentReaderIndexes: import("@salsita-ai/common/utils").Selector<import("../index.js").DomainContextSelectorState, import("../index.js").ComponentReaderIndexes>;
|
|
474
483
|
selectStoreRuntimeDependencies: import("@salsita-ai/common/utils").Selector<import("../index.js").DomainContextSelectorState, {
|
|
475
|
-
componentReaderIndexes: import("../index.js").ComponentReaderIndexes
|
|
484
|
+
componentReaderIndexes: import("../index.js").ComponentReaderIndexes;
|
|
476
485
|
domainExpressions: import("../index.js").AnyExpressions;
|
|
477
486
|
allowedRootEntityTypes: import("../index.js").AnyAllowedRootEntityTypes;
|
|
478
487
|
}>;
|
|
@@ -512,9 +521,9 @@ export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<str
|
|
|
512
521
|
getMigrate: () => import("../index.js").MigrateFunction<DomainEntity<string>>;
|
|
513
522
|
getActiveMode: () => import("../index.js").DomainMode;
|
|
514
523
|
getIsInitialized: () => boolean;
|
|
515
|
-
getComponentReaderIndexes: () => import("../index.js").ComponentReaderIndexes
|
|
524
|
+
getComponentReaderIndexes: () => import("../index.js").ComponentReaderIndexes;
|
|
516
525
|
getStoreRuntimeDependencies: () => {
|
|
517
|
-
componentReaderIndexes: import("../index.js").ComponentReaderIndexes
|
|
526
|
+
componentReaderIndexes: import("../index.js").ComponentReaderIndexes;
|
|
518
527
|
domainExpressions: import("../index.js").AnyExpressions;
|
|
519
528
|
allowedRootEntityTypes: import("../index.js").AnyAllowedRootEntityTypes;
|
|
520
529
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createDomainRuntime as
|
|
1
|
+
import{AccessLevel as t}from"@salsita-ai/contracts/api";import{createDomainRuntime as e}from"../domain-runtime/index.js";import{createMockDomainRuntimeServices as o}from"./create-mock-domain-runtime-services.js";import{createMockSessionContext as a}from"./create-mock-session-context.js";export const createMockDomainRuntime=(i,n)=>{let{sessionData:r,mode:s,role:c}=n,m=e({config:i,services:o()}),d=m.getState().spec;return m.actions.spec.updateSpec({...d,configurator:{...d.configurator,createTransformers:t=>n.transformers.map(e=>e.transformer.register(t,e.priority??1/0))}}),m.actions.sessionContext.setSessionContext(a(c,r)),m.actions.access.setConfiguratorAccessInfo({raw:"mock-access-token",access:"read"===s?t.Read:t.Owner,viewMode:"read"===s,revisionId:void 0,configurationId:"mock"}),m.actions.domainData.setDomainData({publishedData:n.publishedData,frontendData:n.frontendData,backendData:n.backendData}),m.actions.loadedData.completeConfiguratorLoad({initialRevisionId:"mock-revision",initialEntities:n.entities,modelVersion:i.domain.domainFactory.modelVersion,rootEntityType:n.rootEntityType,schemaIdentity:i.domain.domainFactory}),m};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ApplicationConfig } from '../application/index.js';
|
|
2
2
|
import type { $DomainEntity, Domain, DomainEntity, DomainMode } from '../core/index.js';
|
|
3
|
-
export declare const createMockDomain: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>,
|
|
3
|
+
export declare const createMockDomain: <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>>(cfg: ApplicationConfig<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, any, any, any, any, any, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, any, any, any, any, any>, mocks: {
|
|
4
4
|
frontendData: FRONTEND_DATA;
|
|
5
5
|
publishedData: PUBLISHED_DATA;
|
|
6
6
|
sessionData: SESSION_DATA;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{AccessLevel as o}from"@salsita-ai/contracts/api";import{createDomainRuntime as e}from"../domain-runtime/index.js";import{createMockDomainRuntimeServices as t}from"./create-mock-domain-runtime-services.js";import{createMockSessionContext as i}from"./create-mock-session-context.js";export const createMockDomain=(n,a)=>{let{frontendData:s,publishedData:c,sessionData:r,backendData:m,mode:d,role:f}=a,u=e({config:n,services:t()});return u.actions.access.setConfiguratorAccessInfo({raw:"mock-access-token",access:"read"===d?o.Read:o.Owner,viewMode:"read"===d,revisionId:void 0,configurationId:"mock-configuration"}),"finalize"===d&&u.actions.domainContext.configurator.setExecutionMode("finalize"),u.actions.domainData.setDomainData({publishedData:c,frontendData:s,backendData:m}),u.actions.sessionContext.setSessionContext(i(f,r)),u.selectors.domainContext.configurator.getDomain()};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ApplicationConfig } from '../application/index.js';
|
|
2
|
-
import type {
|
|
3
|
-
export declare const createMockState: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES
|
|
2
|
+
import type { DomainEntity, DomainState } from '../core/index.js';
|
|
3
|
+
export declare const createMockState: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES>(cfg: ApplicationConfig<ENTITIES, ALLOWED_ROOT_ENTITIES, any, any, any, any, any, any, any, any, any, any, any, any, any, any>, mocks: {
|
|
4
4
|
entities: ENTITIES[];
|
|
5
5
|
rootEntityType: ALLOWED_ROOT_ENTITIES['type'];
|
|
6
6
|
}) => DomainState<ENTITIES>;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { TransformersConfig } from '../application/index.js';
|
|
2
|
+
import type { ProjectModule } from '../domain-runtime/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* What a project's test adds to its generated application before it builds the config.
|
|
5
|
+
*
|
|
6
|
+
* Each option names a part of the application config: the test states what it wants in the
|
|
7
|
+
* application, not how the application is assembled.
|
|
8
|
+
*/
|
|
9
|
+
export interface TestApplicationOptions {
|
|
10
|
+
/**
|
|
11
|
+
* Component files added after the components the generated application already has, for example
|
|
12
|
+
* the `customComponentOptics` of `.phoenix/configurator-domain-code.js`, which the configurator and
|
|
13
|
+
* the webhooks add to the domain the generated `configuratorBuilder` describes.
|
|
14
|
+
*/
|
|
15
|
+
readonly componentModules?: readonly ProjectModule[];
|
|
16
|
+
/**
|
|
17
|
+
* The transformers of the application: the `src/transformers/` files the test runs, and the
|
|
18
|
+
* entries of the spec's `transformers` section that select and order them. Replaces the
|
|
19
|
+
* transformers the generated application has.
|
|
20
|
+
*/
|
|
21
|
+
readonly transformers?: TransformersConfig;
|
|
22
|
+
/**
|
|
23
|
+
* The tag of the custom element the application mounts as. Without it the config keeps the tag of
|
|
24
|
+
* the generated application, which is `salsita-configurator` unless the application names another.
|
|
25
|
+
*/
|
|
26
|
+
readonly tag?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The shape of a generated application export (`configuratorBuilder` of `.phoenix/domain.js`,
|
|
30
|
+
* `configuratorConfig` of `.phoenix/configurator-config.js`) that the helper reads. `CONFIG` is the
|
|
31
|
+
* application config the export builds, with the project's types, so the result needs no type argument.
|
|
32
|
+
*/
|
|
33
|
+
interface GeneratedApplication<CONFIG> {
|
|
34
|
+
withComponentOptics(componentModules: readonly ProjectModule[]): GeneratedApplication<CONFIG>;
|
|
35
|
+
withTransformers(importedTransformers: TransformersConfig['importedTransformers'], specTransformers: TransformersConfig['specTransformers']): GeneratedApplication<CONFIG>;
|
|
36
|
+
withWebComponentTag(tag: string): GeneratedApplication<CONFIG>;
|
|
37
|
+
buildConfig(): CONFIG;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Builds the application config of a project for its tests, from the generated application export
|
|
41
|
+
* the test imports and the parts the test adds. The config carries the project's types, so it goes
|
|
42
|
+
* straight into `createDomainRuntime`, `createMockDomainContext`, `createMockState` or a mounted
|
|
43
|
+
* custom element, and its `initialPublishedData`, `domain.presets` and domain factories are the ones
|
|
44
|
+
* the deployed application starts with.
|
|
45
|
+
*
|
|
46
|
+
* This is the way a project's test builds its application. Its call does not depend on how the SDK
|
|
47
|
+
* assembles an application, so a test written against it needs no change when that assembly changes.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* const config = createTestApplicationConfig(configuratorBuilder, {
|
|
51
|
+
* componentModules: customComponentOptics,
|
|
52
|
+
* transformers: {
|
|
53
|
+
* importedTransformers: [{ origin: 'src/transformers/add-cooking-top.ts', exports: addCookingTop }],
|
|
54
|
+
* specTransformers: [{ name: 'addCookingTop', priority: 30 }],
|
|
55
|
+
* },
|
|
56
|
+
* })
|
|
57
|
+
*/
|
|
58
|
+
export declare const createTestApplicationConfig: <CONFIG>(application: GeneratedApplication<CONFIG>, options?: TestApplicationOptions) => CONFIG;
|
|
59
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const createTestApplicationConfig=(e,o={})=>{let{componentModules:r,transformers:t,tag:n}=o,i=e;return r&&(i=i.withComponentOptics(r)),t&&(i=i.withTransformers(t.importedTransformers,t.specTransformers)),void 0!==n&&(i=i.withWebComponentTag(n)),i.buildConfig()};
|