@salsita-ai/sdk 0.50.0-develop.9feae4851f → 0.50.0-develop.a4dde5f252
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/admin/create-admin-pages-from-spec.d.ts +1 -1
- package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +1 -1
- package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +36 -36
- 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.js +1 -1
- package/dist/application-spec/generate-application/code/templates/index.d.ts +0 -6
- 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-create-configurator-skill.js +66 -42
- package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +10 -12
- package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +6 -8
- package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
- package/dist/client/phoenix-api.d.ts +5 -3
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +34 -1
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.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/docs/index.json +1 -1
- package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
- package/dist/docs/phoenix/configurator-interface.mdx +33 -6
- package/dist/docs/phoenix/expression-context.mdx +11 -3
- package/dist/docs/phoenix/getting-started.mdx +1 -1
- package/dist/docs/phoenix/phoenix-cli.mdx +17 -26
- package/dist/docs/phoenix/project-structure.mdx +5 -3
- package/dist/docs/phoenix/quickstart.mdx +2 -2
- package/dist/docs/phoenix/sdk-builder-workflow.mdx +2 -2
- package/dist/docs/phoenix/webhooks.mdx +1 -1
- package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
- package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +10 -10
- package/dist/domain/admin-domain/index.d.ts +7 -2
- package/dist/domain/application/GetApplicationWrapperHandler.d.ts +1 -1
- 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 +3 -24
- package/dist/domain/application/assistant-mutations.d.ts +2 -1
- package/dist/domain/application/assistant-recipe-groups.d.ts +1 -1
- package/dist/domain/application/configurator-builder.d.ts +1 -1
- package/dist/domain/application/create-initial-published-data.d.ts +1 -2
- package/dist/domain/application/index.d.ts +1 -4
- 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/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 +2 -2
- package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
- package/dist/domain/core/action/action-factory.d.ts +2 -2
- package/dist/domain/core/action/action.d.ts +19 -14
- package/dist/domain/core/component/domain-component-optic.d.ts +30 -40
- 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 +23 -18
- package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
- package/dist/domain/core/data-schema/data-cell-value.js +1 -0
- package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
- package/dist/domain/core/data-schema/data-schema-array-field.js +1 -0
- package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
- package/dist/domain/core/data-schema/data-schema-field-object.js +1 -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/domain.d.ts +2 -2
- 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 +2 -2
- package/dist/domain/core/expression/constant-expressions.d.ts +2 -2
- package/dist/domain/core/expression/constant-expressions.js +1 -1
- package/dist/domain/core/expression/custom-expression.d.ts +6 -6
- package/dist/domain/core/expression/custom-expression.js +1 -1
- package/dist/domain/core/expression/expression.d.ts +15 -17
- package/dist/domain/core/index.d.ts +2 -0
- package/dist/domain/core/invariant/custom-invariants.d.ts +5 -5
- package/dist/domain/core/invariant/index.d.ts +1 -1
- package/dist/domain/core/invariant/index.js +1 -1
- package/dist/domain/core/invariant/invariants.d.ts +4 -67
- package/dist/domain/core/invariant/invariants.js +1 -1
- package/dist/domain/core/invariant/violation.d.ts +1 -1
- package/dist/domain/core/relation/reference-component.d.ts +2 -2
- package/dist/domain/core/state/migrations.d.ts +14 -45
- package/dist/domain/core/state/migrations.js +1 -1
- package/dist/domain/domain-builder.d.ts +1 -1
- package/dist/domain/domain-builder.js +1 -1
- package/dist/domain/domain-context/action-system/action-system.d.ts +2 -2
- 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 +1 -1
- package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +2 -2
- 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 +7 -7
- package/dist/domain/domain-context/index.d.ts +8 -17
- 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 +2 -3
- package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
- package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +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 +1 -1
- package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
- package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +2 -2
- package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +2 -2
- package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +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 +2 -2
- 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/reconcile-projected-entities.js +1 -1
- package/dist/domain/domain-context/store-system/store-system.d.ts +2 -35
- package/dist/domain/domain-context/store-system/store-system.js +2 -2
- package/dist/domain/domain-context/store-system/system-state.d.ts +1 -1
- package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
- package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +5 -7
- package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
- package/dist/domain/domain-context/transformers/chain-builder.d.ts +1 -1
- package/dist/domain/domain-context/transformers/context.d.ts +2 -3
- package/dist/domain/domain-context/transformers/context.js +1 -1
- 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/when-builder.d.ts +2 -3
- 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/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 +5 -10
- package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
- package/dist/domain/domain-runtime/domain-runtime.d.ts +52 -52
- package/dist/domain/domain-runtime/spec/index.d.ts +2 -0
- package/dist/domain/domain-runtime/spec/index.js +1 -1
- package/dist/domain/domain-runtime/spec/initialize.js +1 -1
- package/dist/domain/domain-runtime/spec/invariant-builder.d.ts +26 -0
- package/dist/domain/domain-runtime/spec/invariant-builder.js +1 -0
- package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +2 -2
- 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 +1 -1
- 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/{project-modules → domain-runtime/spec/module-checks}/project-modules.d.ts +0 -16
- 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/{application → domain-runtime/spec/module-checks}/resolve-imported-transformers.d.ts +4 -5
- 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/domain-runtime/spec/selectors.d.ts +5 -6
- package/dist/domain/domain-runtime/spec/selectors.js +1 -1
- package/dist/domain/domain-runtime/spec/types.d.ts +3 -2
- package/dist/domain/index.d.ts +0 -1
- package/dist/domain/index.js +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 +10 -10
- package/dist/domain/projections/blender-projections/blender-projections.d.ts +1 -2
- package/dist/domain/projections/blender-projections/camera.d.ts +1 -1
- package/dist/domain/projections/collision-projections.d.ts +1 -1
- package/dist/domain/projections/composition-projections.d.ts +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 +1 -1
- package/dist/domain/projections/snapping-projections.d.ts +1 -1
- package/dist/domain/projections/validation-projections.d.ts +3 -19
- package/dist/domain/sketching/sketching-projections.d.ts +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/utils/memo-eval.d.ts +2 -2
- package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
- package/dist/legacy/domain-cli/gen/implementation.js +7 -11
- package/dist/legacy/domain-cli/gen/invariants.js +5 -3
- 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 +4 -4
- 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/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +20 -20
- package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +5 -5
- package/package.json +3 -3
- 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 -94
- 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/domain/application/element-registration.js +0 -1
- package/dist/domain/application/handler-registration.js +0 -1
- package/dist/domain/application/resolve-imported-transformers.js +0 -1
- package/dist/domain/project-modules/index.d.ts +0 -1
- package/dist/domain/project-modules/index.js +0 -1
- package/dist/domain/project-modules/project-modules.js +0 -1
|
@@ -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,11 +1,5 @@
|
|
|
1
|
-
import { type AnyDomain, type AnyDomainFactory, type
|
|
2
|
-
import { type AnyActionSystem } from '../../domain-context/
|
|
3
|
-
import { type AnyDimensionSystem } from '../../domain-context/dimension-system/dimension-system.js';
|
|
4
|
-
import type { AnyDomainContextSystems } from '../../domain-context/domain-context-systems.js';
|
|
5
|
-
import { type AnyNavigationSystem } from '../../domain-context/navigation-system/navigation-system.js';
|
|
6
|
-
import { type AnyRecipeCookerSystem } from '../../domain-context/recipe-system/recipe-cooker-system.js';
|
|
7
|
-
import { type AnyStoreSystem } from '../../domain-context/store-system/store-system.js';
|
|
8
|
-
import { type AnyUndoSystem } from '../../domain-context/undo-system.js';
|
|
1
|
+
import { type AnyDomain, type AnyDomainFactory, type DomainComponentOptic, type DomainEntity, 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';
|
|
9
3
|
import { type AnyBlenderProjections, type AnyCollisionProjections, type AnyCompositionProjections, type AnyConstraintProjections, type AnyPositionProjections, type AnyProjectedEntitiesProjections, type AnySnappingProjections, type AnyValidationProjections } from '../../projections/index.js';
|
|
10
4
|
import { type AnySketchingProjections } from '../../sketching/sketching-projections.js';
|
|
11
5
|
import type { AccessInfoSelectors, AccessSelectorState } from '../access/index.js';
|
|
@@ -19,6 +13,7 @@ import type { WebComponentSelectorState, WebComponentSelectors } from '../web-co
|
|
|
19
13
|
import type { DomainContextApplicationActions } from './actions.js';
|
|
20
14
|
import { type AnyComponentReader } from './component-reader.js';
|
|
21
15
|
import { DomainContext } from './domain-context.js';
|
|
16
|
+
import type { AnyExpressionContext } from './expression-context.js';
|
|
22
17
|
import type { ApplicationDomainContextState, DomainApplicationType, DomainContextInitializationContext, DomainContextInitializationIdentity, DomainContextInitializationState, InitializableSystem, SchemaCoherence } from './types.js';
|
|
23
18
|
type ComponentOptic<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>> = DomainComponentOptic<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, SystemComponentTypeConstraint>;
|
|
24
19
|
/**
|
|
@@ -96,7 +91,7 @@ export declare const createDomainContextSelectors: (context: Context) => {
|
|
|
96
91
|
selectViewStates: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, readonly string[]>;
|
|
97
92
|
selectToolStates: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, readonly string[]>;
|
|
98
93
|
selectExportStates: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, readonly string[]>;
|
|
99
|
-
selectCreateTransformers: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, undefined> | import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../
|
|
94
|
+
selectCreateTransformers: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, undefined> | import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").AnyCreateTransformersFactory>;
|
|
100
95
|
selectLatestLoadedData: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../index.js").ConfiguratorLoadedData | null>;
|
|
101
96
|
selectLoadedData: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../index.js").ConfiguratorLoadedData>;
|
|
102
97
|
selectInitialDomainState: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").DomainState<any>>;
|
|
@@ -138,7 +133,7 @@ export declare const createDomainContextSelectors: (context: Context) => {
|
|
|
138
133
|
getViewStates: () => readonly string[];
|
|
139
134
|
getToolStates: () => readonly string[];
|
|
140
135
|
getExportStates: () => readonly string[];
|
|
141
|
-
getCreateTransformers: () => import("../../
|
|
136
|
+
getCreateTransformers: () => import("../../index.js").AnyCreateTransformersFactory | undefined;
|
|
142
137
|
getLoadedData: () => import("../index.js").ConfiguratorLoadedData;
|
|
143
138
|
getInitialDomainState: () => import("../../index.js").DomainState<any>;
|
|
144
139
|
getFrontendData: () => Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createSelector as e}from"@salsita-ai/common/utils";import{Domain as t,createInitialDomainState as n}from"../../core/index.js";import{ActionSystem as o}from"../../domain-context/action-system/action-system.js";import{DimensionSystem as i}from"../../domain-context/dimension-system/dimension-system.js";import{NavigationSystem as a}from"../../domain-context/navigation-system/navigation-system.js";import{RecipeCookerSystem as s}from"../../domain-context/recipe-system/recipe-cooker-system.js";import{StoreSystem as r}from"../../domain-context/store-system/store-system.js";import{UndoSystem as c}from"../../domain-context/undo-system.js";import{BlenderProjections as l,CollisionProjections as m,CompositionProjections as d,ConstraintProjections as g,PositionProjections as f,ProjectedEntitiesProjections as p,SnappingProjections as u,ValidationProjections as y}from"../../projections/index.js";import{SketchingProjections as w}from"../../sketching/sketching-projections.js";import{requireAccessService as h}from"../access/index.js";import{prepareActionImplementations as S,prepareDomainExpressions as x}from"../spec/index.js";import{ComponentReader as j}from"./component-reader.js";import{DomainContext as C}from"./domain-context.js";let D=e.withTypes(),v=[],I={},P={role:"admin",data:I},M=e=>{if(null!==e)return e;throw Error("Cannot read the session role and data because the domain session context is not set. The session context is written into the domain runtime by the session lifecycle after authentication. Move this read into the loaded session lifecycle.")};export const createDomainContextSelectors=e=>{let{applicationType:A,getState:R,actions:E,specSelectors:T,accessSelectors:b,webComponentSelectors:k,domainDataSelectors:$,sessionContextSelectors:N,domainServicesSelectors:z,environmentSelectors:L,getExtensionSystems:V}=e,B="configurator"===A?T.selectConfiguratorSpec:T.selectAdminSpec,F="configurator"===A?b.selectConfiguratorRawAccessService:b.selectAdminRawAccessService,W=D.leaf(e=>e.domainContext[A]),_=D([W],e=>e.initializationContext),q=D([_],e=>{if(null===e)throw Error(`Domain lifecycle context is not available for ${A}! Read it from an active domain lifecycle.`);return e}),O=D([W],e=>e.executionMode),U=D([W],e=>e.isInitialized),G=D([B],e=>e.factory),H=D([B],e=>e.expressions),J=D([B],e=>e.actions),K=D([B],e=>e.actionImplementations),Q=D([J,K],S),X=D([B],e=>e.$entityReflections),Y=D([H,X],(e,t)=>x({expressions:e,$entityReflections:t})),Z=D([B],e=>e.modelVersion),ee=D([B],e=>e.aliasMap),et=D([B],e=>e.allowedRootEntityTypes),en=D([B],e=>e.entityReflections),eo=D([B],e=>e.migrate),ei=D([O,k.selectReadonly,F],(e,t,n)=>"finalize"===e?"finalize":h(A,n).accessInfo.viewMode||t?"read":"owner"),ea=D([F],e=>e?.configurationId??null),es="configurator"===A?N.selectSessionContext:D([],()=>P),er=D([es],e=>e?.role??null),ec=D([es],e=>e?.data??null),el=D([D.leaf(e=>e.loadedData)],e=>"configurator"===A?e.configuratorLoadedData:e.adminLoadedData),em=D([el],e=>e?.schemaIdentity??null),ed=D([el,G],(e,t)=>{if(null===e)return"coherent";let n=e.schemaIdentity;return void 0===n?"missing-stamp":n===t?"coherent":"schema-mismatch"}),eg=D([ea,er,ec,em,ed],(e,t,n,o,i)=>null===e||null===t||null===n||null===o||"coherent"!==i?null:{configurationId:e,role:t,schemaIdentity:o,sessionData:n}),ef=D([F,k.selectReadonly],(e,t)=>e?.accessInfo.viewMode===!0||t),ep=D([eg,_,U,ef],(e,t,n,o)=>{let i=null!==e&&null!==t&&n&&t.configurationId===e.configurationId&&t.role===e.role&&t.schemaIdentity===e.schemaIdentity&&t.sessionData===e.sessionData;return{identity:e,isCurrent:i,isViewMode:o}}),eu=D([B],e=>e.componentOptics),ey=D([eu],e=>(e=>{let t=new Map,n=new Map,o=new Map,i=new Map;for(let n of e)for(let e of n.entityTypes){let o=t.get(e);o||(o=new Map,t.set(e,o));let a=o.get(n.componentType);if(a||(a=new Map,o.set(n.componentType,a)),a.has(n.instanceName))throw Error(`Component instance ${n.instanceName} already exists for type ${n.componentType.name} in entity ${e}. This is likely a bug in the component definition! InstanceNames must be unique within an entity and component.`);if(a.set(n.instanceName,n),"dynamic"===n.kind){let t=i.get(e);t||(t=new Map,i.set(e,t));let o=t.get(n.componentType)??[],a=o.find(e=>{var t;return t=n.instanceName,e.startsWith(`${t}_`)||t.startsWith(`${e}_`)});if(a)throw Error(`Cannot register dynamic component instance ${n.instanceName} for component ${n.componentType.name} on entity ${e} because it overlaps with dynamic instance ${a}. Rename one dynamic instance so compound names cannot be ambiguous.`);t.set(n.componentType,[...o,n.instanceName])}}for(let[e,i]of t.entries()){n.set(e,new Set(i.keys()));let t=new Map;for(let[n,a]of(o.set(e,t),i.entries()))t.set(n,new Set(a.keys()))}return{opticMap:t,allComponentTypes:n,allComponentInstanceNames:o,dynamicInstanceNames:i}})(e)),ew=D([ey,Y,et],(e,t,n)=>({componentReaderIndexes:e,domainExpressions:t,allowedRootEntityTypes:n})),eh=D([B],e=>e.navigationStates),eS=D([B],e=>e.viewStates),ex="configurator"===A?D([T.selectConfiguratorSpec],e=>e.toolStates):D([],()=>v),ej="configurator"===A?D([T.selectConfiguratorSpec],e=>e.exportStates):D([],()=>v),eC="configurator"===A?D([T.selectConfiguratorSpec],e=>e.createTransformers):D([],()=>void 0),eD=D([el],e=>{if(null===e)throw Error(`Loaded data is not available for ${A}! Loaded data is written after the configuration fetch succeeds and before the domain context initialization starts.`);return e}),ev=D([eD,G],(e,t)=>n(t.validateAndMigrateState(e.initialEntities,e.modelVersion),e.rootEntityType)),eI="configurator"===A?$.selectConfiguratorFrontendData:$.selectAdminFrontendData,eP="configurator"===A?$.selectConfiguratorBackendData:$.selectAdminBackendData,eM="configurator"===A?$.selectConfiguratorPublishedData:$.selectAdminPublishedData,eA="configurator"===A?D([N.selectSessionContext],e=>M(e).role):D([],()=>"admin"),eR="configurator"===A?D([N.selectSessionContext],e=>M(e).data):D([],()=>I),eE=D([ea,ei,eA,eR,eD],(e,t,n,o,i)=>({configurationId:e,mode:t,role:n,schemaIdentity:i.schemaIdentity,sessionData:o})),eT=D([q],e=>e.mode),eb=D([q],e=>{let t=e.configurationId;if(null===t)throw Error(`Configuration id is not available for ${A}! Read it from an active interactive domain lifecycle.`);return t}),ek=D([q],e=>e.role),e$=D([q],e=>e.sessionData),eN=D([eT,ek,e$,eI,eP,eM,eo],(e,t,n,o,i,a,s)=>({mode:e,role:t,sessionData:n,frontendData:o,backendData:i,publishedData:a,migrate:s,domain:eL,componentReader:eV,positionProjections:eq,sketchingProjections:e_,collisionProjections:eO,constraintProjections:eG,snappingProjections:eU,projectedEntitiesProjections:eH})),ez={selectApplicationSpec:B,selectRawAccessService:F,selectDomainContextState:W,selectInitializationContext:_,selectActiveInitializationContext:q,selectExecutionMode:O,selectIsInitialized:U,selectFactory:G,selectSpecExpressions:H,select$SpecEntityReflections:X,selectDomainExpressions:Y,selectModelVersion:Z,selectAliasMap:ee,selectAllowedRootEntityTypes:et,selectEntityReflections:en,selectMigrate:eo,selectLatestMode:ei,selectLatestConfigurationId:ea,selectLatestSessionContext:es,selectLatestRoleOrNull:er,selectLatestSessionDataOrNull:ec,selectLatestSchemaIdentity:em,selectSchemaCoherence:ed,selectInitializationIdentity:eg,selectIsViewMode:ef,selectInitializationState:ep,selectComponentOptics:eu,selectComponentReaderIndexes:ey,selectStoreRuntimeDependencies:ew,selectNavigationStates:eh,selectViewStates:eS,selectToolStates:ex,selectExportStates:ej,selectCreateTransformers:eC,selectLatestLoadedData:el,selectLoadedData:eD,selectInitialDomainState:ev,selectFrontendData:eI,selectBackendData:eP,selectPublishedData:eM,selectLatestRole:eA,selectLatestSessionData:eR,selectNextInitializationContext:eE,selectActiveMode:eT,selectActiveConfigurationId:eb,selectActiveRole:ek,selectActiveSessionData:e$,selectExpressionContext:eN,getInitializationContext:()=>_(R()),getInitializationState:()=>ep(R()),getNextInitializationContext:()=>eE(R()),getLatestLoadedData:()=>el(R()),getSchemaCoherence:()=>ed(R()),getActiveConfigurationId:()=>eb(R()),getFactory:()=>G(R()),getDomainExpressions:()=>Y(R()),getActionDefinitions:()=>J(R()),getActionImplementations:()=>Q(R()),getModelVersion:()=>Z(R()),getAliasMap:()=>ee(R()),getAllowedRootEntityTypes:()=>et(R()),getEntityReflections:()=>en(R()),getMigrate:()=>eo(R()),getActiveMode:()=>eT(R()),getIsInitialized:()=>U(R()),getComponentReaderIndexes:()=>ey(R()),getStoreRuntimeDependencies:()=>ew(R()),getNavigationStates:()=>eh(R()),getViewStates:()=>eS(R()),getToolStates:()=>ex(R()),getExportStates:()=>ej(R()),getCreateTransformers:()=>eC(R()),getLoadedData:()=>eD(R()),getInitialDomainState:()=>ev(R()),getFrontendData:()=>eI(R()),getBackendData:()=>eP(R()),getPublishedData:()=>eM(R()),getActiveRole:()=>ek(R()),getActiveSessionData:()=>e$(R()),getDomain:()=>eL,getComponentReader:()=>eV,getCompositionProjections:()=>eB,getDimensionSystem:()=>eF,getValidationProjections:()=>eW,getSketchingProjections:()=>e_,getPositionProjections:()=>eq,getCollisionProjections:()=>eO,getSnappingProjections:()=>eU,getConstraintProjections:()=>eG,getProjectedEntitiesProjections:()=>eH,getStoreSystem:()=>eJ,getNavigationSystem:()=>eK,getUndoSystem:()=>eQ,getRecipeCookerSystem:()=>eX,getActionSystem:()=>eY,getBlenderProjections:()=>eZ,getExpressionContext:()=>eN(R()),getDomainSystems:function(){return e0},getDomainContext:function(){return e1}},eL=new t({selectors:ez}),eV=new j({selectors:ez}),eB=new d({selectors:ez}),eF=new i({selectors:ez}),eW=new y({selectors:ez}),e_=new w({selectors:ez}),eq=new f({selectors:ez}),eO=new m({selectors:ez}),eU=new u({selectors:ez}),eG=new g({selectors:ez}),eH=new p({selectors:ez}),eJ=new r({selectors:ez,domainServicesSelectors:z,environmentSelectors:L}),eK=new a({selectors:ez,domainServicesSelectors:z}),eQ=new c({selectors:ez}),eX=new s({selectors:ez}),eY=new o({selectors:ez}),eZ=new l({selectors:ez,domainServicesSelectors:z}),e0={domainContextSelectors:ez,domain:eL,componentReader:eV,compositionProjections:eB,blenderProjections:eZ,validationProjections:eW,storeSystem:eJ,navigationSystem:eK,dimensionSystem:eF,undoSystem:eQ,recipeCooker:eX,actionSystem:eY,sketchingProjections:e_,collisionProjections:eO,positionProjections:eq,snappingProjections:eU,projectedEntitiesProjections:eH,constraintProjections:eG},e1=new C({selectors:ez,actions:E,getExtensionSystems:V});return ez};
|
|
1
|
+
import{createSelector as e}from"@salsita-ai/common/utils";import{Domain as t,createInitialDomainState as n}from"../../core/index.js";import{ActionSystem as o,DimensionSystem as i,NavigationSystem as a,RecipeCookerSystem as s,StoreSystem as r,UndoSystem as c}from"../../domain-context/index.js";import{BlenderProjections as l,CollisionProjections as m,CompositionProjections as d,ConstraintProjections as g,PositionProjections as f,ProjectedEntitiesProjections as u,SnappingProjections as p,ValidationProjections as y}from"../../projections/index.js";import{SketchingProjections as w}from"../../sketching/sketching-projections.js";import{requireAccessService as h}from"../access/index.js";import{prepareActionImplementations as S,prepareDomainExpressions as x}from"../spec/index.js";import{ComponentReader as C}from"./component-reader.js";import{DomainContext as D}from"./domain-context.js";let j=e.withTypes(),v=[],I={},P={role:"admin",data:I},M=e=>{if(null!==e)return e;throw Error("Cannot read the session role and data because the domain session context is not set. The session context is written into the domain runtime by the session lifecycle after authentication. Move this read into the loaded session lifecycle.")};export const createDomainContextSelectors=e=>{let{applicationType:A,getState:R,actions:E,specSelectors:T,accessSelectors:b,webComponentSelectors:$,domainDataSelectors:k,sessionContextSelectors:N,domainServicesSelectors:z,environmentSelectors:L,getExtensionSystems:V}=e,B="configurator"===A?T.selectConfiguratorSpec:T.selectAdminSpec,F="configurator"===A?b.selectConfiguratorRawAccessService:b.selectAdminRawAccessService,W=j.leaf(e=>e.domainContext[A]),_=j([W],e=>e.initializationContext),q=j([_],e=>{if(null===e)throw Error(`Domain lifecycle context is not available for ${A}! Read it from an active domain lifecycle.`);return e}),O=j([W],e=>e.executionMode),U=j([W],e=>e.isInitialized),G=j([B],e=>e.factory),H=j([B],e=>e.expressions),J=j([B],e=>e.actions),K=j([B],e=>e.actionImplementations),Q=j([J,K],S),X=j([B],e=>e.$entityReflections),Y=j([H,X],(e,t)=>x({expressions:e,$entityReflections:t})),Z=j([B],e=>e.modelVersion),ee=j([B],e=>e.aliasMap),et=j([B],e=>e.allowedRootEntityTypes),en=j([B],e=>e.entityReflections),eo=j([B],e=>e.migrate),ei=j([O,$.selectReadonly,F],(e,t,n)=>"finalize"===e?"finalize":h(A,n).accessInfo.viewMode||t?"read":"owner"),ea=j([F],e=>e?.configurationId??null),es="configurator"===A?N.selectSessionContext:j([],()=>P),er=j([es],e=>e?.role??null),ec=j([es],e=>e?.data??null),el=j([j.leaf(e=>e.loadedData)],e=>"configurator"===A?e.configuratorLoadedData:e.adminLoadedData),em=j([el],e=>e?.schemaIdentity??null),ed=j([el,G],(e,t)=>{if(null===e)return"coherent";let n=e.schemaIdentity;return void 0===n?"missing-stamp":n===t?"coherent":"schema-mismatch"}),eg=j([ea,er,ec,em,ed],(e,t,n,o,i)=>null===e||null===t||null===n||null===o||"coherent"!==i?null:{configurationId:e,role:t,schemaIdentity:o,sessionData:n}),ef=j([F,$.selectReadonly],(e,t)=>e?.accessInfo.viewMode===!0||t),eu=j([eg,_,U,ef],(e,t,n,o)=>{let i=null!==e&&null!==t&&n&&t.configurationId===e.configurationId&&t.role===e.role&&t.schemaIdentity===e.schemaIdentity&&t.sessionData===e.sessionData;return{identity:e,isCurrent:i,isViewMode:o}}),ep=j([B],e=>e.componentOptics),ey=j([ep],e=>(e=>{let t=new Map,n=new Map,o=new Map,i=new Map;for(let n of e)for(let e of n.entityTypes){let o=t.get(e);o||(o=new Map,t.set(e,o));let a=o.get(n.componentType);if(a||(a=new Map,o.set(n.componentType,a)),a.has(n.instanceName))throw Error(`Component instance ${n.instanceName} already exists for type ${n.componentType.name} in entity ${e}. This is likely a bug in the component definition! InstanceNames must be unique within an entity and component.`);if(a.set(n.instanceName,n),"dynamic"===n.kind){let t=i.get(e);t||(t=new Map,i.set(e,t));let o=t.get(n.componentType)??[],a=o.find(e=>{var t;return t=n.instanceName,e.startsWith(`${t}_`)||t.startsWith(`${e}_`)});if(a)throw Error(`Cannot register dynamic component instance ${n.instanceName} for component ${n.componentType.name} on entity ${e} because it overlaps with dynamic instance ${a}. Rename one dynamic instance so compound names cannot be ambiguous.`);t.set(n.componentType,[...o,n.instanceName])}}for(let[e,i]of t.entries()){n.set(e,new Set(i.keys()));let t=new Map;for(let[n,a]of(o.set(e,t),i.entries()))t.set(n,new Set(a.keys()))}return{opticMap:t,allComponentTypes:n,allComponentInstanceNames:o,dynamicInstanceNames:i}})(e)),ew=j([ey,Y,et],(e,t,n)=>({componentReaderIndexes:e,domainExpressions:t,allowedRootEntityTypes:n})),eh=j([B],e=>e.navigationStates),eS=j([B],e=>e.viewStates),ex="configurator"===A?j([T.selectConfiguratorSpec],e=>e.toolStates):j([],()=>v),eC="configurator"===A?j([T.selectConfiguratorSpec],e=>e.exportStates):j([],()=>v),eD="configurator"===A?j([T.selectConfiguratorSpec],e=>e.createTransformers):j([],()=>void 0),ej=j([el],e=>{if(null===e)throw Error(`Loaded data is not available for ${A}! Loaded data is written after the configuration fetch succeeds and before the domain context initialization starts.`);return e}),ev=j([ej,G],(e,t)=>n(t.validateAndMigrateState(e.initialEntities,e.modelVersion),e.rootEntityType)),eI="configurator"===A?k.selectConfiguratorFrontendData:k.selectAdminFrontendData,eP="configurator"===A?k.selectConfiguratorBackendData:k.selectAdminBackendData,eM="configurator"===A?k.selectConfiguratorPublishedData:k.selectAdminPublishedData,eA="configurator"===A?j([N.selectSessionContext],e=>M(e).role):j([],()=>"admin"),eR="configurator"===A?j([N.selectSessionContext],e=>M(e).data):j([],()=>I),eE=j([ea,ei,eA,eR,ej],(e,t,n,o,i)=>({configurationId:e,mode:t,role:n,schemaIdentity:i.schemaIdentity,sessionData:o})),eT=j([q],e=>e.mode),eb=j([q],e=>{let t=e.configurationId;if(null===t)throw Error(`Configuration id is not available for ${A}! Read it from an active interactive domain lifecycle.`);return t}),e$=j([q],e=>e.role),ek=j([q],e=>e.sessionData),eN=j([eT,e$,ek,eI,eP,eM,eo],(e,t,n,o,i,a,s)=>({mode:e,role:t,sessionData:n,frontendData:o,backendData:i,publishedData:a,migrate:s,domain:eL,componentReader:eV,positionProjections:eq,sketchingProjections:e_,collisionProjections:eO,constraintProjections:eG,snappingProjections:eU,projectedEntitiesProjections:eH})),ez={selectApplicationSpec:B,selectRawAccessService:F,selectDomainContextState:W,selectInitializationContext:_,selectActiveInitializationContext:q,selectExecutionMode:O,selectIsInitialized:U,selectFactory:G,selectSpecExpressions:H,select$SpecEntityReflections:X,selectDomainExpressions:Y,selectModelVersion:Z,selectAliasMap:ee,selectAllowedRootEntityTypes:et,selectEntityReflections:en,selectMigrate:eo,selectLatestMode:ei,selectLatestConfigurationId:ea,selectLatestSessionContext:es,selectLatestRoleOrNull:er,selectLatestSessionDataOrNull:ec,selectLatestSchemaIdentity:em,selectSchemaCoherence:ed,selectInitializationIdentity:eg,selectIsViewMode:ef,selectInitializationState:eu,selectComponentOptics:ep,selectComponentReaderIndexes:ey,selectStoreRuntimeDependencies:ew,selectNavigationStates:eh,selectViewStates:eS,selectToolStates:ex,selectExportStates:eC,selectCreateTransformers:eD,selectLatestLoadedData:el,selectLoadedData:ej,selectInitialDomainState:ev,selectFrontendData:eI,selectBackendData:eP,selectPublishedData:eM,selectLatestRole:eA,selectLatestSessionData:eR,selectNextInitializationContext:eE,selectActiveMode:eT,selectActiveConfigurationId:eb,selectActiveRole:e$,selectActiveSessionData:ek,selectExpressionContext:eN,getInitializationContext:()=>_(R()),getInitializationState:()=>eu(R()),getNextInitializationContext:()=>eE(R()),getLatestLoadedData:()=>el(R()),getSchemaCoherence:()=>ed(R()),getActiveConfigurationId:()=>eb(R()),getFactory:()=>G(R()),getDomainExpressions:()=>Y(R()),getActionDefinitions:()=>J(R()),getActionImplementations:()=>Q(R()),getModelVersion:()=>Z(R()),getAliasMap:()=>ee(R()),getAllowedRootEntityTypes:()=>et(R()),getEntityReflections:()=>en(R()),getMigrate:()=>eo(R()),getActiveMode:()=>eT(R()),getIsInitialized:()=>U(R()),getComponentReaderIndexes:()=>ey(R()),getStoreRuntimeDependencies:()=>ew(R()),getNavigationStates:()=>eh(R()),getViewStates:()=>eS(R()),getToolStates:()=>ex(R()),getExportStates:()=>eC(R()),getCreateTransformers:()=>eD(R()),getLoadedData:()=>ej(R()),getInitialDomainState:()=>ev(R()),getFrontendData:()=>eI(R()),getBackendData:()=>eP(R()),getPublishedData:()=>eM(R()),getActiveRole:()=>e$(R()),getActiveSessionData:()=>ek(R()),getDomain:()=>eL,getComponentReader:()=>eV,getCompositionProjections:()=>eB,getDimensionSystem:()=>eF,getValidationProjections:()=>eW,getSketchingProjections:()=>e_,getPositionProjections:()=>eq,getCollisionProjections:()=>eO,getSnappingProjections:()=>eU,getConstraintProjections:()=>eG,getProjectedEntitiesProjections:()=>eH,getStoreSystem:()=>eJ,getNavigationSystem:()=>eK,getUndoSystem:()=>eQ,getRecipeCookerSystem:()=>eX,getActionSystem:()=>eY,getBlenderProjections:()=>eZ,getExpressionContext:()=>eN(R()),getDomainSystems:function(){return e0},getDomainContext:function(){return e1}},eL=new t({selectors:ez}),eV=new C({selectors:ez}),eB=new d({selectors:ez}),eF=new i({selectors:ez}),eW=new y({selectors:ez}),e_=new w({selectors:ez}),eq=new f({selectors:ez}),eO=new m({selectors:ez}),eU=new p({selectors:ez}),eG=new g({selectors:ez}),eH=new u({selectors:ez}),eJ=new r({selectors:ez,domainServicesSelectors:z,environmentSelectors:L}),eK=new a({selectors:ez,domainServicesSelectors:z}),eQ=new c({selectors:ez}),eX=new s({selectors:ez}),eY=new o({selectors:ez}),eZ=new l({selectors:ez,domainServicesSelectors:z}),e0={domainContextSelectors:ez,domain:eL,componentReader:eV,compositionProjections:eB,blenderProjections:eZ,validationProjections:eW,storeSystem:eJ,navigationSystem:eK,dimensionSystem:eF,undoSystem:eQ,recipeCooker:eX,actionSystem:eY,sketchingProjections:e_,collisionProjections:eO,positionProjections:eq,snappingProjections:eU,projectedEntitiesProjections:eH,constraintProjections:eG},e1=new D({selectors:ez,actions:E,getExtensionSystems:V});return ez};
|
|
@@ -74,17 +74,17 @@ export declare function createDomainRuntimeSlices<State extends DomainRuntimeSta
|
|
|
74
74
|
selectPrefetchTextureUrls: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, readonly string[]>;
|
|
75
75
|
selectTextLanguages: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, readonly string[]>;
|
|
76
76
|
selectHandlerHashes: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, Record<string, string>>;
|
|
77
|
-
selectHandlers: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, readonly import("
|
|
77
|
+
selectHandlers: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, readonly import("./index.js").HandlerRegistration<any, any>[]>;
|
|
78
78
|
selectHandlerSlots: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, {
|
|
79
|
-
handlers: Record<string, () => import("
|
|
80
|
-
systemHandlers: Record<string, () => import("
|
|
81
|
-
systemAsyncHandlers: Record<string, () => import("
|
|
79
|
+
handlers: Record<string, () => import("./index.js").PhoenixHandlerDefinition>;
|
|
80
|
+
systemHandlers: Record<string, () => import("./index.js").SystemPhoenixHandlerDefinition<unknown, unknown>>;
|
|
81
|
+
systemAsyncHandlers: Record<string, () => import("./index.js").SystemPhoenixAsyncHandlerDefinition<unknown, unknown>>;
|
|
82
82
|
hashes: Record<string, string>;
|
|
83
83
|
}>;
|
|
84
84
|
selectElementHashes: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, Record<string, string>>;
|
|
85
|
-
selectElements: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, readonly import("
|
|
85
|
+
selectElements: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, readonly import("./index.js").ElementRegistration[]>;
|
|
86
86
|
selectElementSlots: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, {
|
|
87
|
-
entityElements: Record<string, (props: import("
|
|
87
|
+
entityElements: Record<string, (props: import("./index.js").CustomPhoenixEntityElementProps) => JSX.Element>;
|
|
88
88
|
layoutElements: Record<string, (props: import("react").PropsWithChildren) => JSX.Element>;
|
|
89
89
|
hashes: Record<string, string>;
|
|
90
90
|
}>;
|
|
@@ -117,17 +117,17 @@ export declare function createDomainRuntimeSlices<State extends DomainRuntimeSta
|
|
|
117
117
|
getPrefetchTextureUrls: () => readonly string[];
|
|
118
118
|
getTextLanguages: () => readonly string[];
|
|
119
119
|
getHandlerHashes: () => Record<string, string>;
|
|
120
|
-
getHandlers: () => readonly import("
|
|
120
|
+
getHandlers: () => readonly import("./index.js").HandlerRegistration<any, any>[];
|
|
121
121
|
getHandlerSlots: () => {
|
|
122
|
-
handlers: Record<string, () => import("
|
|
123
|
-
systemHandlers: Record<string, () => import("
|
|
124
|
-
systemAsyncHandlers: Record<string, () => import("
|
|
122
|
+
handlers: Record<string, () => import("./index.js").PhoenixHandlerDefinition>;
|
|
123
|
+
systemHandlers: Record<string, () => import("./index.js").SystemPhoenixHandlerDefinition<unknown, unknown>>;
|
|
124
|
+
systemAsyncHandlers: Record<string, () => import("./index.js").SystemPhoenixAsyncHandlerDefinition<unknown, unknown>>;
|
|
125
125
|
hashes: Record<string, string>;
|
|
126
126
|
};
|
|
127
127
|
getElementHashes: () => Record<string, string>;
|
|
128
|
-
getElements: () => readonly import("
|
|
128
|
+
getElements: () => readonly import("./index.js").ElementRegistration[];
|
|
129
129
|
getElementSlots: () => {
|
|
130
|
-
entityElements: Record<string, (props: import("
|
|
130
|
+
entityElements: Record<string, (props: import("./index.js").CustomPhoenixEntityElementProps) => JSX.Element>;
|
|
131
131
|
layoutElements: Record<string, (props: import("react").PropsWithChildren) => JSX.Element>;
|
|
132
132
|
hashes: Record<string, string>;
|
|
133
133
|
};
|
|
@@ -375,7 +375,7 @@ export declare function createDomainRuntimeSlices<State extends DomainRuntimeSta
|
|
|
375
375
|
selectViewStates: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, readonly string[]>;
|
|
376
376
|
selectToolStates: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, readonly string[]>;
|
|
377
377
|
selectExportStates: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, readonly string[]>;
|
|
378
|
-
selectCreateTransformers: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, undefined> | import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("../
|
|
378
|
+
selectCreateTransformers: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, undefined> | import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("../index.js").AnyCreateTransformersFactory>;
|
|
379
379
|
selectLatestLoadedData: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("./index.js").ConfiguratorLoadedData | null>;
|
|
380
380
|
selectLoadedData: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("./index.js").ConfiguratorLoadedData>;
|
|
381
381
|
selectInitialDomainState: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("../index.js").DomainState<any>>;
|
|
@@ -389,7 +389,7 @@ export declare function createDomainRuntimeSlices<State extends DomainRuntimeSta
|
|
|
389
389
|
selectActiveConfigurationId: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, string>;
|
|
390
390
|
selectActiveRole: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("@salsita-ai/contracts/api").SessionRole>;
|
|
391
391
|
selectActiveSessionData: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, Record<string, unknown>>;
|
|
392
|
-
selectExpressionContext: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("
|
|
392
|
+
selectExpressionContext: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("./index.js").AnyExpressionContext>;
|
|
393
393
|
getInitializationContext: () => import("./index.js").DomainContextInitializationContext | null;
|
|
394
394
|
getInitializationState: () => import("./index.js").DomainContextInitializationState;
|
|
395
395
|
getNextInitializationContext: () => import("./index.js").DomainContextInitializationContext;
|
|
@@ -417,7 +417,7 @@ export declare function createDomainRuntimeSlices<State extends DomainRuntimeSta
|
|
|
417
417
|
getViewStates: () => readonly string[];
|
|
418
418
|
getToolStates: () => readonly string[];
|
|
419
419
|
getExportStates: () => readonly string[];
|
|
420
|
-
getCreateTransformers: () => import("../
|
|
420
|
+
getCreateTransformers: () => import("../index.js").AnyCreateTransformersFactory | undefined;
|
|
421
421
|
getLoadedData: () => import("./index.js").ConfiguratorLoadedData;
|
|
422
422
|
getInitialDomainState: () => import("../index.js").DomainState<any>;
|
|
423
423
|
getFrontendData: () => Record<string, unknown>;
|
|
@@ -436,13 +436,13 @@ export declare function createDomainRuntimeSlices<State extends DomainRuntimeSta
|
|
|
436
436
|
getSnappingProjections: () => import("../index.js").AnySnappingProjections;
|
|
437
437
|
getConstraintProjections: () => import("../index.js").AnyConstraintProjections;
|
|
438
438
|
getProjectedEntitiesProjections: () => import("../index.js").AnyProjectedEntitiesProjections;
|
|
439
|
-
getStoreSystem: () => import("../
|
|
440
|
-
getNavigationSystem: () => import("../
|
|
441
|
-
getUndoSystem: () => import("../
|
|
439
|
+
getStoreSystem: () => import("../index.js").AnyStoreSystem;
|
|
440
|
+
getNavigationSystem: () => import("../index.js").AnyNavigationSystem;
|
|
441
|
+
getUndoSystem: () => import("../index.js").AnyUndoSystem;
|
|
442
442
|
getRecipeCookerSystem: () => import("../index.js").AnyRecipeCookerSystem;
|
|
443
443
|
getActionSystem: () => import("../index.js").AnyActionSystem;
|
|
444
444
|
getBlenderProjections: () => import("../index.js").AnyBlenderProjections;
|
|
445
|
-
getExpressionContext: () => import("
|
|
445
|
+
getExpressionContext: () => import("./index.js").AnyExpressionContext;
|
|
446
446
|
getDomainSystems: () => import("../index.js").AnyDomainContextSystems;
|
|
447
447
|
getDomainContext: () => import("./index.js").DomainContext;
|
|
448
448
|
};
|
|
@@ -484,7 +484,7 @@ export declare function createDomainRuntimeSlices<State extends DomainRuntimeSta
|
|
|
484
484
|
selectViewStates: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, readonly string[]>;
|
|
485
485
|
selectToolStates: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, readonly string[]>;
|
|
486
486
|
selectExportStates: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, readonly string[]>;
|
|
487
|
-
selectCreateTransformers: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, undefined> | import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("../
|
|
487
|
+
selectCreateTransformers: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, undefined> | import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("../index.js").AnyCreateTransformersFactory>;
|
|
488
488
|
selectLatestLoadedData: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("./index.js").ConfiguratorLoadedData | null>;
|
|
489
489
|
selectLoadedData: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("./index.js").ConfiguratorLoadedData>;
|
|
490
490
|
selectInitialDomainState: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("../index.js").DomainState<any>>;
|
|
@@ -498,7 +498,7 @@ export declare function createDomainRuntimeSlices<State extends DomainRuntimeSta
|
|
|
498
498
|
selectActiveConfigurationId: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, string>;
|
|
499
499
|
selectActiveRole: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("@salsita-ai/contracts/api").SessionRole>;
|
|
500
500
|
selectActiveSessionData: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, Record<string, unknown>>;
|
|
501
|
-
selectExpressionContext: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("
|
|
501
|
+
selectExpressionContext: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("./index.js").AnyExpressionContext>;
|
|
502
502
|
getInitializationContext: () => import("./index.js").DomainContextInitializationContext | null;
|
|
503
503
|
getInitializationState: () => import("./index.js").DomainContextInitializationState;
|
|
504
504
|
getNextInitializationContext: () => import("./index.js").DomainContextInitializationContext;
|
|
@@ -526,7 +526,7 @@ export declare function createDomainRuntimeSlices<State extends DomainRuntimeSta
|
|
|
526
526
|
getViewStates: () => readonly string[];
|
|
527
527
|
getToolStates: () => readonly string[];
|
|
528
528
|
getExportStates: () => readonly string[];
|
|
529
|
-
getCreateTransformers: () => import("../
|
|
529
|
+
getCreateTransformers: () => import("../index.js").AnyCreateTransformersFactory | undefined;
|
|
530
530
|
getLoadedData: () => import("./index.js").ConfiguratorLoadedData;
|
|
531
531
|
getInitialDomainState: () => import("../index.js").DomainState<any>;
|
|
532
532
|
getFrontendData: () => Record<string, unknown>;
|
|
@@ -545,13 +545,13 @@ export declare function createDomainRuntimeSlices<State extends DomainRuntimeSta
|
|
|
545
545
|
getSnappingProjections: () => import("../index.js").AnySnappingProjections;
|
|
546
546
|
getConstraintProjections: () => import("../index.js").AnyConstraintProjections;
|
|
547
547
|
getProjectedEntitiesProjections: () => import("../index.js").AnyProjectedEntitiesProjections;
|
|
548
|
-
getStoreSystem: () => import("../
|
|
549
|
-
getNavigationSystem: () => import("../
|
|
550
|
-
getUndoSystem: () => import("../
|
|
548
|
+
getStoreSystem: () => import("../index.js").AnyStoreSystem;
|
|
549
|
+
getNavigationSystem: () => import("../index.js").AnyNavigationSystem;
|
|
550
|
+
getUndoSystem: () => import("../index.js").AnyUndoSystem;
|
|
551
551
|
getRecipeCookerSystem: () => import("../index.js").AnyRecipeCookerSystem;
|
|
552
552
|
getActionSystem: () => import("../index.js").AnyActionSystem;
|
|
553
553
|
getBlenderProjections: () => import("../index.js").AnyBlenderProjections;
|
|
554
|
-
getExpressionContext: () => import("
|
|
554
|
+
getExpressionContext: () => import("./index.js").AnyExpressionContext;
|
|
555
555
|
getDomainSystems: () => import("../index.js").AnyDomainContextSystems;
|
|
556
556
|
getDomainContext: () => import("./index.js").DomainContext;
|
|
557
557
|
};
|
|
@@ -664,17 +664,17 @@ export declare const createDomainRuntime: (props: Omit<Props<DomainRuntimeState>
|
|
|
664
664
|
selectPrefetchTextureUrls: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, readonly string[]>;
|
|
665
665
|
selectTextLanguages: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, readonly string[]>;
|
|
666
666
|
selectHandlerHashes: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, Record<string, string>>;
|
|
667
|
-
selectHandlers: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, readonly import("
|
|
667
|
+
selectHandlers: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, readonly import("./index.js").HandlerRegistration<any, any>[]>;
|
|
668
668
|
selectHandlerSlots: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, {
|
|
669
|
-
handlers: Record<string, () => import("
|
|
670
|
-
systemHandlers: Record<string, () => import("
|
|
671
|
-
systemAsyncHandlers: Record<string, () => import("
|
|
669
|
+
handlers: Record<string, () => import("./index.js").PhoenixHandlerDefinition>;
|
|
670
|
+
systemHandlers: Record<string, () => import("./index.js").SystemPhoenixHandlerDefinition<unknown, unknown>>;
|
|
671
|
+
systemAsyncHandlers: Record<string, () => import("./index.js").SystemPhoenixAsyncHandlerDefinition<unknown, unknown>>;
|
|
672
672
|
hashes: Record<string, string>;
|
|
673
673
|
}>;
|
|
674
674
|
selectElementHashes: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, Record<string, string>>;
|
|
675
|
-
selectElements: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, readonly import("
|
|
675
|
+
selectElements: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, readonly import("./index.js").ElementRegistration[]>;
|
|
676
676
|
selectElementSlots: import("@salsita-ai/common/utils").Selector<import("./index.js").SpecSelectorState, {
|
|
677
|
-
entityElements: Record<string, (props: import("
|
|
677
|
+
entityElements: Record<string, (props: import("./index.js").CustomPhoenixEntityElementProps) => JSX.Element>;
|
|
678
678
|
layoutElements: Record<string, (props: import("react").PropsWithChildren) => JSX.Element>;
|
|
679
679
|
hashes: Record<string, string>;
|
|
680
680
|
}>;
|
|
@@ -707,17 +707,17 @@ export declare const createDomainRuntime: (props: Omit<Props<DomainRuntimeState>
|
|
|
707
707
|
getPrefetchTextureUrls: () => readonly string[];
|
|
708
708
|
getTextLanguages: () => readonly string[];
|
|
709
709
|
getHandlerHashes: () => Record<string, string>;
|
|
710
|
-
getHandlers: () => readonly import("
|
|
710
|
+
getHandlers: () => readonly import("./index.js").HandlerRegistration<any, any>[];
|
|
711
711
|
getHandlerSlots: () => {
|
|
712
|
-
handlers: Record<string, () => import("
|
|
713
|
-
systemHandlers: Record<string, () => import("
|
|
714
|
-
systemAsyncHandlers: Record<string, () => import("
|
|
712
|
+
handlers: Record<string, () => import("./index.js").PhoenixHandlerDefinition>;
|
|
713
|
+
systemHandlers: Record<string, () => import("./index.js").SystemPhoenixHandlerDefinition<unknown, unknown>>;
|
|
714
|
+
systemAsyncHandlers: Record<string, () => import("./index.js").SystemPhoenixAsyncHandlerDefinition<unknown, unknown>>;
|
|
715
715
|
hashes: Record<string, string>;
|
|
716
716
|
};
|
|
717
717
|
getElementHashes: () => Record<string, string>;
|
|
718
|
-
getElements: () => readonly import("
|
|
718
|
+
getElements: () => readonly import("./index.js").ElementRegistration[];
|
|
719
719
|
getElementSlots: () => {
|
|
720
|
-
entityElements: Record<string, (props: import("
|
|
720
|
+
entityElements: Record<string, (props: import("./index.js").CustomPhoenixEntityElementProps) => JSX.Element>;
|
|
721
721
|
layoutElements: Record<string, (props: import("react").PropsWithChildren) => JSX.Element>;
|
|
722
722
|
hashes: Record<string, string>;
|
|
723
723
|
};
|
|
@@ -965,7 +965,7 @@ export declare const createDomainRuntime: (props: Omit<Props<DomainRuntimeState>
|
|
|
965
965
|
selectViewStates: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, readonly string[]>;
|
|
966
966
|
selectToolStates: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, readonly string[]>;
|
|
967
967
|
selectExportStates: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, readonly string[]>;
|
|
968
|
-
selectCreateTransformers: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, undefined> | import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("../
|
|
968
|
+
selectCreateTransformers: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, undefined> | import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("../index.js").AnyCreateTransformersFactory>;
|
|
969
969
|
selectLatestLoadedData: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("./index.js").ConfiguratorLoadedData | null>;
|
|
970
970
|
selectLoadedData: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("./index.js").ConfiguratorLoadedData>;
|
|
971
971
|
selectInitialDomainState: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("../index.js").DomainState<any>>;
|
|
@@ -979,7 +979,7 @@ export declare const createDomainRuntime: (props: Omit<Props<DomainRuntimeState>
|
|
|
979
979
|
selectActiveConfigurationId: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, string>;
|
|
980
980
|
selectActiveRole: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("@salsita-ai/contracts/api").SessionRole>;
|
|
981
981
|
selectActiveSessionData: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, Record<string, unknown>>;
|
|
982
|
-
selectExpressionContext: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("
|
|
982
|
+
selectExpressionContext: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("./index.js").AnyExpressionContext>;
|
|
983
983
|
getInitializationContext: () => import("./index.js").DomainContextInitializationContext | null;
|
|
984
984
|
getInitializationState: () => import("./index.js").DomainContextInitializationState;
|
|
985
985
|
getNextInitializationContext: () => import("./index.js").DomainContextInitializationContext;
|
|
@@ -1007,7 +1007,7 @@ export declare const createDomainRuntime: (props: Omit<Props<DomainRuntimeState>
|
|
|
1007
1007
|
getViewStates: () => readonly string[];
|
|
1008
1008
|
getToolStates: () => readonly string[];
|
|
1009
1009
|
getExportStates: () => readonly string[];
|
|
1010
|
-
getCreateTransformers: () => import("../
|
|
1010
|
+
getCreateTransformers: () => import("../index.js").AnyCreateTransformersFactory | undefined;
|
|
1011
1011
|
getLoadedData: () => import("./index.js").ConfiguratorLoadedData;
|
|
1012
1012
|
getInitialDomainState: () => import("../index.js").DomainState<any>;
|
|
1013
1013
|
getFrontendData: () => Record<string, unknown>;
|
|
@@ -1026,13 +1026,13 @@ export declare const createDomainRuntime: (props: Omit<Props<DomainRuntimeState>
|
|
|
1026
1026
|
getSnappingProjections: () => import("../index.js").AnySnappingProjections;
|
|
1027
1027
|
getConstraintProjections: () => import("../index.js").AnyConstraintProjections;
|
|
1028
1028
|
getProjectedEntitiesProjections: () => import("../index.js").AnyProjectedEntitiesProjections;
|
|
1029
|
-
getStoreSystem: () => import("../
|
|
1030
|
-
getNavigationSystem: () => import("../
|
|
1031
|
-
getUndoSystem: () => import("../
|
|
1029
|
+
getStoreSystem: () => import("../index.js").AnyStoreSystem;
|
|
1030
|
+
getNavigationSystem: () => import("../index.js").AnyNavigationSystem;
|
|
1031
|
+
getUndoSystem: () => import("../index.js").AnyUndoSystem;
|
|
1032
1032
|
getRecipeCookerSystem: () => import("../index.js").AnyRecipeCookerSystem;
|
|
1033
1033
|
getActionSystem: () => import("../index.js").AnyActionSystem;
|
|
1034
1034
|
getBlenderProjections: () => import("../index.js").AnyBlenderProjections;
|
|
1035
|
-
getExpressionContext: () => import("
|
|
1035
|
+
getExpressionContext: () => import("./index.js").AnyExpressionContext;
|
|
1036
1036
|
getDomainSystems: () => import("../index.js").AnyDomainContextSystems;
|
|
1037
1037
|
getDomainContext: () => import("./index.js").DomainContext;
|
|
1038
1038
|
};
|
|
@@ -1074,7 +1074,7 @@ export declare const createDomainRuntime: (props: Omit<Props<DomainRuntimeState>
|
|
|
1074
1074
|
selectViewStates: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, readonly string[]>;
|
|
1075
1075
|
selectToolStates: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, readonly string[]>;
|
|
1076
1076
|
selectExportStates: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, readonly string[]>;
|
|
1077
|
-
selectCreateTransformers: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, undefined> | import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("../
|
|
1077
|
+
selectCreateTransformers: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, undefined> | import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("../index.js").AnyCreateTransformersFactory>;
|
|
1078
1078
|
selectLatestLoadedData: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("./index.js").ConfiguratorLoadedData | null>;
|
|
1079
1079
|
selectLoadedData: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("./index.js").ConfiguratorLoadedData>;
|
|
1080
1080
|
selectInitialDomainState: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("../index.js").DomainState<any>>;
|
|
@@ -1088,7 +1088,7 @@ export declare const createDomainRuntime: (props: Omit<Props<DomainRuntimeState>
|
|
|
1088
1088
|
selectActiveConfigurationId: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, string>;
|
|
1089
1089
|
selectActiveRole: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("@salsita-ai/contracts/api").SessionRole>;
|
|
1090
1090
|
selectActiveSessionData: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, Record<string, unknown>>;
|
|
1091
|
-
selectExpressionContext: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("
|
|
1091
|
+
selectExpressionContext: import("@salsita-ai/common/utils").Selector<import("./index.js").DomainContextSelectorState, import("./index.js").AnyExpressionContext>;
|
|
1092
1092
|
getInitializationContext: () => import("./index.js").DomainContextInitializationContext | null;
|
|
1093
1093
|
getInitializationState: () => import("./index.js").DomainContextInitializationState;
|
|
1094
1094
|
getNextInitializationContext: () => import("./index.js").DomainContextInitializationContext;
|
|
@@ -1116,7 +1116,7 @@ export declare const createDomainRuntime: (props: Omit<Props<DomainRuntimeState>
|
|
|
1116
1116
|
getViewStates: () => readonly string[];
|
|
1117
1117
|
getToolStates: () => readonly string[];
|
|
1118
1118
|
getExportStates: () => readonly string[];
|
|
1119
|
-
getCreateTransformers: () => import("../
|
|
1119
|
+
getCreateTransformers: () => import("../index.js").AnyCreateTransformersFactory | undefined;
|
|
1120
1120
|
getLoadedData: () => import("./index.js").ConfiguratorLoadedData;
|
|
1121
1121
|
getInitialDomainState: () => import("../index.js").DomainState<any>;
|
|
1122
1122
|
getFrontendData: () => Record<string, unknown>;
|
|
@@ -1135,13 +1135,13 @@ export declare const createDomainRuntime: (props: Omit<Props<DomainRuntimeState>
|
|
|
1135
1135
|
getSnappingProjections: () => import("../index.js").AnySnappingProjections;
|
|
1136
1136
|
getConstraintProjections: () => import("../index.js").AnyConstraintProjections;
|
|
1137
1137
|
getProjectedEntitiesProjections: () => import("../index.js").AnyProjectedEntitiesProjections;
|
|
1138
|
-
getStoreSystem: () => import("../
|
|
1139
|
-
getNavigationSystem: () => import("../
|
|
1140
|
-
getUndoSystem: () => import("../
|
|
1138
|
+
getStoreSystem: () => import("../index.js").AnyStoreSystem;
|
|
1139
|
+
getNavigationSystem: () => import("../index.js").AnyNavigationSystem;
|
|
1140
|
+
getUndoSystem: () => import("../index.js").AnyUndoSystem;
|
|
1141
1141
|
getRecipeCookerSystem: () => import("../index.js").AnyRecipeCookerSystem;
|
|
1142
1142
|
getActionSystem: () => import("../index.js").AnyActionSystem;
|
|
1143
1143
|
getBlenderProjections: () => import("../index.js").AnyBlenderProjections;
|
|
1144
|
-
getExpressionContext: () => import("
|
|
1144
|
+
getExpressionContext: () => import("./index.js").AnyExpressionContext;
|
|
1145
1145
|
getDomainSystems: () => import("../index.js").AnyDomainContextSystems;
|
|
1146
1146
|
getDomainContext: () => import("./index.js").DomainContext;
|
|
1147
1147
|
};
|
|
@@ -2,6 +2,8 @@ export * from './selectors.js';
|
|
|
2
2
|
export type * from './types.js';
|
|
3
3
|
export * from './actions.js';
|
|
4
4
|
export * from './initialize.js';
|
|
5
|
+
export * from './invariant-builder.js';
|
|
5
6
|
export * from './memoize-expression.js';
|
|
7
|
+
export { type PhoenixEntityElementProps, type PhoenixEntityElementRegistration, type PhoenixLayoutElementRegistration, type PhoenixIconRegistration, type ElementRegistration, type CustomPhoenixEntityElementProps, type PhoenixLayoutElementDefinition, type PhoenixEntityElementDefinition, type CreateCustomPhoenixLayoutElement, type CreateCustomPhoenixEntityElement, createPhoenixLayoutElement, createPhoenixEntityElement, createCustomPhoenixLayoutElement, createCustomPhoenixEntityElement, resolveElementModule, resolveElementModules, type PhoenixHandlerDefinition, type SystemPhoenixHandlerDefinition, type PhoenixHandlerRegistration, type SystemPhoenixHandlerRegistration, type SystemPhoenixAsyncHandlerDefinition, type SystemPhoenixAsyncHandlerRegistration, type HandlerRegistration, type CreatePhoenixHandler, createPhoenixHandler, createSystemPhoenixHandler, createSystemPhoenixAsyncHandler, resolveHandlerModule, resolveHandlerModules, type ProjectModule, resolveActionModules, resolveComponentOpticModules, type ExpressionModule, resolveExpressionModules, resolveImportedTransformers, resolveTransformerModule, resolveTransformerModules, resolveInvariantModules, } from './module-checks/index.js';
|
|
6
8
|
export * from './prepare-action-implementations.js';
|
|
7
9
|
export * from './prepare-domain-expressions.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export*from"./selectors.js";export*from"./actions.js";export*from"./initialize.js";export*from"./memoize-expression.js";export*from"./prepare-action-implementations.js";export*from"./prepare-domain-expressions.js";
|
|
1
|
+
export*from"./selectors.js";export*from"./actions.js";export*from"./initialize.js";export*from"./invariant-builder.js";export*from"./memoize-expression.js";export{createPhoenixLayoutElement,createPhoenixEntityElement,createCustomPhoenixLayoutElement,createCustomPhoenixEntityElement,resolveElementModule,resolveElementModules,createPhoenixHandler,createSystemPhoenixHandler,createSystemPhoenixAsyncHandler,resolveHandlerModule,resolveHandlerModules,resolveActionModules,resolveComponentOpticModules,resolveExpressionModules,resolveImportedTransformers,resolveTransformerModule,resolveTransformerModules,resolveInvariantModules}from"./module-checks/index.js";export*from"./prepare-action-implementations.js";export*from"./prepare-domain-expressions.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SessionRole as e}from"@salsita-ai/contracts/api";import{
|
|
1
|
+
import{SessionRole as e}from"@salsita-ai/contracts/api";import{resolveComponentOpticModules as t,resolveElementModules as a,resolveHandlerModules as n,resolveImportedTransformers as o,resolveTransformerModules as i}from"./module-checks/index.js";export const initializeSpec=s=>{let r=s.adminDomain.presets[0];if(!r)throw Error("Cannot register application spec because admin preset is required.");let m=n(s.handlers),c=a(s.elements),d=(e=>{let t={};for(let a of e)t[a.name]=(void 0)??a.name;return t})(m),l=(e=>{let t={},a=0;for(let n of e)if("entity"===n.type||"layout"===n.type)t[n.name]=(void 0)??n.name;else{let e=`icon:${a}`;t[e]=(void 0)??`${e}:${n.elements.length}`,a+=1}return t})(c),p=i(s.transformers?.importedTransformers??[]),y=s.transformers?.specTransformers??[];return{version:s.version,dataConfig:s.dataSpec??null,chunks:s.chunks,publishedDataHash:s.publishedDataHash,initialPublishedData:s.initialPublishedData,canCreate:s.features?.acl?.canCreate??Object.values(e),enableAdminRelease:s.features?.enableAdminRelease??!1,textLanguages:s.domain.textLanguages??s.adminDomain.textLanguages??["en"],baseResourcesUrl:s.resources?.baseResourcesUrl??s.defaultEnvs?.resourcesUrl??"",configurator:{factory:s.domain.domainFactory,presets:s.domain.presets,aliasMap:s.domain.domainFactory.context.aliasMap,entityReflections:s.domain.domainFactory.context.entityReflections,$entityReflections:s.domain.domainFactory.context.$entityReflections,expressions:s.domain.domainFactory.context.expressions,actions:s.domain.domainFactory.context.actions,actionImplementations:s.domain.domainFactory.context.actionImplementations,allowedRootEntityTypes:s.domain.domainFactory.context.allowedRootEntityTypes,migrate:s.domain.domainFactory.context.migrate,componentOptics:t(s.domain.componentOptics),createTransformers:e=>o(p,y,e),navigationStates:s.navigation?.navigationStates??[],viewStates:s.navigation?.viewStates??[],toolStates:s.navigation?.toolStates??[],exportStates:s.navigation?.exportStates??[],handlers:m,handlerHashes:d,elements:c,elementHashes:l,appLoader:s.ui?.appLoader??"universal",preview:s.ui?.preview??"auto",alwaysExpand:s.ui?.alwaysExpand??!1,theme:s.ui?.theme??{},assistant:s.assistant??null,deploymentQueryDisabled:s.resources?.deploymentQueryDisabled??!1,prefetchTextureUrls:s.resources?.prefetchTextureUrls??[],modelVersion:s.domain.domainFactory.modelVersion},admin:{factory:s.adminDomain.domainFactory,modelVersion:s.adminDomain.domainFactory.modelVersion,aliasMap:s.adminDomain.domainFactory.context.aliasMap,entityReflections:s.adminDomain.domainFactory.context.entityReflections,$entityReflections:s.adminDomain.domainFactory.context.$entityReflections,expressions:s.adminDomain.domainFactory.context.expressions,actions:s.adminDomain.domainFactory.context.actions,actionImplementations:s.adminDomain.domainFactory.context.actionImplementations,allowedRootEntityTypes:s.adminDomain.domainFactory.context.allowedRootEntityTypes,migrate:s.adminDomain.domainFactory.context.migrate,preset:r,componentOptics:t(s.adminDomain.componentOptics),navigationStates:s.adminNavigation?.navigationStates??[],viewStates:s.adminNavigation?.viewStates??[],handlers:m,handlerHashes:d,elements:c,elementHashes:l}}};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type $DomainEntity, type AliasMap, type AliasedInvariants, type AnonymousExpression, type DomainEntity, type EntityByType, type EventualAlias, type ExpandAlias, type ExtractFromAliasedRecord, type Invariant, type TypeOrAlias, type Violation } from '../../core/index.js';
|
|
2
|
+
import { type ProjectModule } from './module-checks/index.js';
|
|
3
|
+
type ViolationOfInvariants<INVARIANTS> = INVARIANTS extends ReadonlyArray<infer INVARIANT> ? INVARIANT : never;
|
|
4
|
+
type ExpandAndMergeInvariants<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Readonly<Record<string, ENTITIES>>, EXPANDED extends Partial<Record<ENTITIES['type'], ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, string>>>>, ALIASED extends Partial<Record<TypeOrAlias<ENTITIES, ALIASES>, ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, string>>>>> = {
|
|
5
|
+
[K in keyof EXPANDED | ExpandAlias<ENTITIES, ALIASES, keyof ALIASED & string>['type']]: K extends ENTITIES['type'] ? ExtractFromAliasedRecord<ENTITIES, ALIASES, ALIASED, EventualAlias<ENTITIES, ALIASES, K> | K> extends infer INVARIANTS_FROM_ALIAS ? [
|
|
6
|
+
INVARIANTS_FROM_ALIAS
|
|
7
|
+
] extends [never] ? K extends keyof EXPANDED ? EXPANDED[K] : never : K extends keyof EXPANDED ? ReadonlyArray<ViolationOfInvariants<EXPANDED[K]> | ViolationOfInvariants<INVARIANTS_FROM_ALIAS>> : ReadonlyArray<ViolationOfInvariants<INVARIANTS_FROM_ALIAS>> : never : never;
|
|
8
|
+
};
|
|
9
|
+
type ExpressionsFromInvariants<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, INVARIANTS extends Partial<Record<ENTITIES['type'], ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, string>>>>> = {
|
|
10
|
+
[K in keyof INVARIANTS & ENTITIES['type']]: {
|
|
11
|
+
$violations: AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, EntityByType<ENTITIES, K>, ReadonlyArray<Violation<INVARIANTS[K] extends ReadonlyArray<infer ELEMENT> ? ELEMENT extends Invariant<any, any, any, any, any, any, infer VIOLATION_TYPE> ? VIOLATION_TYPE : never : never>>>;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export declare class InvariantBuilder<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>, INVARIANTS extends Partial<Record<ENTITIES['type'], ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, string>>>> = Record<never, never>> {
|
|
15
|
+
private readonly aliasMap;
|
|
16
|
+
private readonly invariants;
|
|
17
|
+
constructor(aliasMap: AliasMap<ALIASES>, invariants?: INVARIANTS);
|
|
18
|
+
/**
|
|
19
|
+
* Adds the invariants of the `src/invariants/` files, as the generated barrel lists them, after
|
|
20
|
+
* checking each file against the folder's contract.
|
|
21
|
+
*/
|
|
22
|
+
withInvariantModules(modules: readonly ProjectModule[]): InvariantBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, ExpandAndMergeInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, INVARIANTS, AliasedInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, string>>>;
|
|
23
|
+
withInvariants<ALIASED_INVARIANTS extends AliasedInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, string>>(aliasedInvariants: ALIASED_INVARIANTS): InvariantBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, ExpandAndMergeInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, INVARIANTS, ALIASED_INVARIANTS>>;
|
|
24
|
+
buildViolationExpressions: () => ExpressionsFromInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, INVARIANTS>;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{expandAlias as a}from"../../core/index.js";import{resolveInvariantModules as i}from"./module-checks/index.js";export class InvariantBuilder{aliasMap;invariants;constructor(a,i={}){this.aliasMap=a,this.invariants=i}withInvariantModules(a){return this.withInvariants(i(a))}withInvariants(i){let t={...this.invariants};return Object.entries(i).forEach(([i,r])=>{a(this.aliasMap,i).forEach(a=>{t[a]=[...t[a]??[],...r]})}),new InvariantBuilder(this.aliasMap,t)}buildViolationExpressions=()=>{let a={};return Object.entries(this.invariants).forEach(([i,t])=>{a[i]={$violations:{evaluate:(a,i,r)=>t.flatMap(t=>t.evaluate(a,i,r)),meta:{}}}}),a}}
|
package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { SvgIconProps } from '@mui/material';
|
|
2
2
|
import type { PropsWithChildren, ReactNode } from 'react';
|
|
3
3
|
import type { ExtendedJsonSchema } from '@salsita-ai/common/utils';
|
|
4
|
-
import type { DomainEntityId } from '
|
|
5
|
-
import { type ProjectModule } from '
|
|
4
|
+
import type { DomainEntityId } from '../../../core/index.js';
|
|
5
|
+
import { type ProjectModule } from './project-modules.js';
|
|
6
6
|
export interface PhoenixEntityElementProps {
|
|
7
7
|
entityId: DomainEntityId<string>;
|
|
8
8
|
children?: ReactNode;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{SHARED_FOLDER_HINT as e,isRecord as t,resolveListModule as n}from"./project-modules.js";export const systemElementRegistry={layoutElements:{},entityElements:{}};export const createPhoenixLayoutElement=e=>(systemElementRegistry.layoutElements[e.schema.properties.kind.enum[0]]=e.component,e.component);export const createCustomPhoenixLayoutElement=(e,t)=>({type:"layout",name:e,element:t});export const createPhoenixEntityElement=e=>(systemElementRegistry.entityElements[e.schema.properties.kind.enum[0]]=e.component,e.component);export const createCustomPhoenixEntityElement=(e,t)=>({type:"entity",name:e,element:t});let o={expected:"an element registration, or an array of them",fix:`Create it with phx.frontend.createCustomPhoenixLayoutElement(...) or phx.frontend.createCustomPhoenixEntityElement(...), ${e}.`},r=e=>!!t(e)&&("icon"===e.type?Array.isArray(e.elements):("entity"===e.type||"layout"===e.type)&&"string"==typeof e.name&&"function"==typeof e.element);export const resolveElementModule=e=>n(e,o,r);export const resolveElementModules=e=>e.flatMap(resolveElementModule);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{SHARED_FOLDER_HINT as e,isRecord as t,resolveListModule as o}from"./project-modules.js";export const createPhoenixHandler=(e,t)=>({type:"phoenix",name:e,handler:t});export const createSystemPhoenixHandler=(e,t)=>({type:"system",name:e,handler:t});export const createSystemPhoenixAsyncHandler=(e,t)=>({type:"system-async",name:e,handler:t});let r={expected:"a handler registration, or an array of them",fix:`Create it with phx.frontend.createPhoenixHandler(...) or one of the other phx.frontend.create…Handler(...) factories, ${e}.`},n=e=>t(e)&&("phoenix"===e.type||"system"===e.type||"system-async"===e.type)&&"string"==typeof e.name&&"function"==typeof e.handler;export const resolveHandlerModule=e=>o(e,r,n);export const resolveHandlerModules=e=>e.flatMap(resolveHandlerModule);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { type PhoenixEntityElementProps, type PhoenixEntityElementRegistration, type PhoenixLayoutElementRegistration, type PhoenixIconRegistration, type ElementRegistration, type CustomPhoenixEntityElementProps, type PhoenixLayoutElementDefinition, type PhoenixEntityElementDefinition, type CreateCustomPhoenixLayoutElement, type CreateCustomPhoenixEntityElement, createPhoenixLayoutElement, createPhoenixEntityElement, createCustomPhoenixLayoutElement, createCustomPhoenixEntityElement, resolveElementModule, resolveElementModules, systemElementRegistry, } from './element-registration.js';
|
|
2
|
+
export { type PhoenixHandlerDefinition, type SystemPhoenixHandlerDefinition, type PhoenixHandlerRegistration, type SystemPhoenixHandlerRegistration, type SystemPhoenixAsyncHandlerDefinition, type SystemPhoenixAsyncHandlerRegistration, type HandlerRegistration, type CreatePhoenixHandler, createPhoenixHandler, createSystemPhoenixHandler, createSystemPhoenixAsyncHandler, resolveHandlerModule, resolveHandlerModules, } from './handler-registration.js';
|
|
3
|
+
export { type ProjectModule } from './project-modules.js';
|
|
4
|
+
export { resolveActionModules } from './resolve-action-modules.js';
|
|
5
|
+
export { resolveComponentOpticModules } from './resolve-component-optic-modules.js';
|
|
6
|
+
export { type ExpressionModule, resolveExpressionModules } from './resolve-expression-modules.js';
|
|
7
|
+
export { resolveImportedTransformers, resolveTransformerModule, resolveTransformerModules, } from './resolve-imported-transformers.js';
|
|
8
|
+
export { resolveInvariantModules } from './resolve-invariant-modules.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{createPhoenixLayoutElement,createPhoenixEntityElement,createCustomPhoenixLayoutElement,createCustomPhoenixEntityElement,resolveElementModule,resolveElementModules,systemElementRegistry}from"./element-registration.js";export{createPhoenixHandler,createSystemPhoenixHandler,createSystemPhoenixAsyncHandler,resolveHandlerModule,resolveHandlerModules}from"./handler-registration.js";export{resolveActionModules}from"./resolve-action-modules.js";export{resolveComponentOpticModules}from"./resolve-component-optic-modules.js";export{resolveExpressionModules}from"./resolve-expression-modules.js";export{resolveImportedTransformers,resolveTransformerModule,resolveTransformerModules}from"./resolve-imported-transformers.js";export{resolveInvariantModules}from"./resolve-invariant-modules.js";
|
package/dist/domain/{project-modules → domain-runtime/spec/module-checks}/project-modules.d.ts
RENAMED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { AnonymousExpression, AnyActionImplementations } from '../core/index.js';
|
|
2
1
|
/**
|
|
3
2
|
* The default export of one file in a project convention folder (`src/elements/`, `src/handlers/`,
|
|
4
3
|
* `src/expressions/`, …), paired with the project-relative path it was imported from.
|
|
@@ -11,12 +10,6 @@ export interface ProjectModule {
|
|
|
11
10
|
readonly origin: string;
|
|
12
11
|
readonly exports: unknown;
|
|
13
12
|
}
|
|
14
|
-
/** The expressions of one validated expression file, keyed by entity type or alias, then by expression name. */
|
|
15
|
-
export interface ExpressionModule {
|
|
16
|
-
readonly origin: string;
|
|
17
|
-
readonly expressions: Readonly<Record<string, Readonly<Record<string, AnyAnonymousExpression>>>>;
|
|
18
|
-
}
|
|
19
|
-
type AnyAnonymousExpression = AnonymousExpression<any, any, any, any, any, any, unknown>;
|
|
20
13
|
/** What a convention folder requires of its files, in the words used by the contract error. */
|
|
21
14
|
export interface ProjectModuleContract {
|
|
22
15
|
readonly expected: string;
|
|
@@ -30,12 +23,3 @@ export declare const createContractError: (origin: string, contract: ProjectModu
|
|
|
30
23
|
* The first item that fails the check is the value the error reports.
|
|
31
24
|
*/
|
|
32
25
|
export declare const resolveListModule: <Item>(module: ProjectModule, contract: ProjectModuleContract, isItem: (value: unknown) => value is Item) => readonly Item[];
|
|
33
|
-
/**
|
|
34
|
-
* Validates the `src/expressions/` files and rejects an expression that two files define for the
|
|
35
|
-
* same entity type. Merging stays with the caller, because the domain builder and the editor expand
|
|
36
|
-
* aliases at different points; within one file the builder's own duplicate check applies.
|
|
37
|
-
*/
|
|
38
|
-
export declare const resolveExpressionModules: (modules: readonly ProjectModule[], aliasMap: Readonly<Record<string, readonly string[]>>) => readonly ExpressionModule[];
|
|
39
|
-
/** Validates the `src/actions/` files and merges their implementations by action name; a later file wins. */
|
|
40
|
-
export declare const resolveActionModules: (modules: readonly ProjectModule[]) => AnyActionImplementations;
|
|
41
|
-
export {};
|
|
@@ -0,0 +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=(e,r,t)=>Error(`Invalid default export in ${e}: expected ${r.expected}, but got ${(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)}`})(t)}. Every file in this folder is loaded by convention, so each one must default-export that shape. ${r.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.origin,r,i);n.push(i)}return n};
|