@endora-commerce/platform 0.100.0
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/LICENSE +21 -0
- package/README.md +58 -0
- package/dist/cli/dispatch.d.ts +146 -0
- package/dist/cli/dispatch.d.ts.map +1 -0
- package/dist/cli/dispatch.js +259 -0
- package/dist/cli/dispatch.js.map +1 -0
- package/dist/cli/index.d.ts +58 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +58 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/module-commands.d.ts +118 -0
- package/dist/cli/module-commands.d.ts.map +1 -0
- package/dist/cli/module-commands.js +120 -0
- package/dist/cli/module-commands.js.map +1 -0
- package/dist/commands/actor.d.ts +19 -0
- package/dist/commands/actor.d.ts.map +1 -0
- package/dist/commands/actor.js +45 -0
- package/dist/commands/actor.js.map +1 -0
- package/dist/commands/audit-from-context.d.ts +24 -0
- package/dist/commands/audit-from-context.d.ts.map +1 -0
- package/dist/commands/audit-from-context.js +28 -0
- package/dist/commands/audit-from-context.js.map +1 -0
- package/dist/commands/command-bus.d.ts +40 -0
- package/dist/commands/command-bus.d.ts.map +1 -0
- package/dist/commands/command-bus.js +46 -0
- package/dist/commands/command-bus.js.map +1 -0
- package/dist/commands/command.d.ts +76 -0
- package/dist/commands/command.d.ts.map +1 -0
- package/dist/commands/command.js +2 -0
- package/dist/commands/command.js.map +1 -0
- package/dist/commands/index.d.ts +65 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +57 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/reversible.d.ts +66 -0
- package/dist/commands/reversible.d.ts.map +1 -0
- package/dist/commands/reversible.js +41 -0
- package/dist/commands/reversible.js.map +1 -0
- package/dist/composition/compose-app.d.ts +305 -0
- package/dist/composition/compose-app.d.ts.map +1 -0
- package/dist/composition/compose-app.js +939 -0
- package/dist/composition/compose-app.js.map +1 -0
- package/dist/composition/index.d.ts +92 -0
- package/dist/composition/index.d.ts.map +1 -0
- package/dist/composition/index.js +175 -0
- package/dist/composition/index.js.map +1 -0
- package/dist/composition/newsletter-token-secret.d.ts +19 -0
- package/dist/composition/newsletter-token-secret.d.ts.map +1 -0
- package/dist/composition/newsletter-token-secret.js +24 -0
- package/dist/composition/newsletter-token-secret.js.map +1 -0
- package/dist/composition/process-runs-workers.d.ts +17 -0
- package/dist/composition/process-runs-workers.d.ts.map +1 -0
- package/dist/composition/process-runs-workers.js +19 -0
- package/dist/composition/process-runs-workers.js.map +1 -0
- package/dist/db/baseline-migration-inventory.d.ts +15 -0
- package/dist/db/baseline-migration-inventory.d.ts.map +1 -0
- package/dist/db/baseline-migration-inventory.js +115 -0
- package/dist/db/baseline-migration-inventory.js.map +1 -0
- package/dist/db/configured-entities.d.ts +74 -0
- package/dist/db/configured-entities.d.ts.map +1 -0
- package/dist/db/configured-entities.js +20 -0
- package/dist/db/configured-entities.js.map +1 -0
- package/dist/db/configured-migrations.d.ts +199 -0
- package/dist/db/configured-migrations.d.ts.map +1 -0
- package/dist/db/configured-migrations.js +181 -0
- package/dist/db/configured-migrations.js.map +1 -0
- package/dist/db/index.d.ts +54 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +54 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/migrate.d.ts +21 -0
- package/dist/db/migrate.d.ts.map +1 -0
- package/dist/db/migrate.js +48 -0
- package/dist/db/migrate.js.map +1 -0
- package/dist/db/migration-order.d.ts +159 -0
- package/dist/db/migration-order.d.ts.map +1 -0
- package/dist/db/migration-order.js +273 -0
- package/dist/db/migration-order.js.map +1 -0
- package/dist/db/mikro-orm.config.d.ts +51 -0
- package/dist/db/mikro-orm.config.d.ts.map +1 -0
- package/dist/db/mikro-orm.config.js +64 -0
- package/dist/db/mikro-orm.config.js.map +1 -0
- package/dist/db/orm.d.ts +40 -0
- package/dist/db/orm.d.ts.map +1 -0
- package/dist/db/orm.js +25 -0
- package/dist/db/orm.js.map +1 -0
- package/dist/db/platform-schema.d.ts +102 -0
- package/dist/db/platform-schema.d.ts.map +1 -0
- package/dist/db/platform-schema.js +79 -0
- package/dist/db/platform-schema.js.map +1 -0
- package/dist/db/pluralizing-naming-strategy.d.ts +16 -0
- package/dist/db/pluralizing-naming-strategy.d.ts.map +1 -0
- package/dist/db/pluralizing-naming-strategy.js +66 -0
- package/dist/db/pluralizing-naming-strategy.js.map +1 -0
- package/dist/demo/guard.d.ts +101 -0
- package/dist/demo/guard.d.ts.map +1 -0
- package/dist/demo/guard.js +168 -0
- package/dist/demo/guard.js.map +1 -0
- package/dist/demo/host-command.d.ts +133 -0
- package/dist/demo/host-command.d.ts.map +1 -0
- package/dist/demo/host-command.js +113 -0
- package/dist/demo/host-command.js.map +1 -0
- package/dist/demo/index.d.ts +82 -0
- package/dist/demo/index.d.ts.map +1 -0
- package/dist/demo/index.js +82 -0
- package/dist/demo/index.js.map +1 -0
- package/dist/demo/packages.d.ts +67 -0
- package/dist/demo/packages.d.ts.map +1 -0
- package/dist/demo/packages.js +132 -0
- package/dist/demo/packages.js.map +1 -0
- package/dist/demo/plan.d.ts +111 -0
- package/dist/demo/plan.d.ts.map +1 -0
- package/dist/demo/plan.js +74 -0
- package/dist/demo/plan.js.map +1 -0
- package/dist/demo/report.d.ts +17 -0
- package/dist/demo/report.d.ts.map +1 -0
- package/dist/demo/report.js +85 -0
- package/dist/demo/report.js.map +1 -0
- package/dist/demo/runner.d.ts +207 -0
- package/dist/demo/runner.d.ts.map +1 -0
- package/dist/demo/runner.js +169 -0
- package/dist/demo/runner.js.map +1 -0
- package/dist/demo/scope.d.ts +44 -0
- package/dist/demo/scope.d.ts.map +1 -0
- package/dist/demo/scope.js +44 -0
- package/dist/demo/scope.js.map +1 -0
- package/dist/env/index.d.ts +68 -0
- package/dist/env/index.d.ts.map +1 -0
- package/dist/env/index.js +427 -0
- package/dist/env/index.js.map +1 -0
- package/dist/events/bus.d.ts +29 -0
- package/dist/events/bus.d.ts.map +1 -0
- package/dist/events/bus.js +67 -0
- package/dist/events/bus.js.map +1 -0
- package/dist/events/index.d.ts +19 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +19 -0
- package/dist/events/index.js.map +1 -0
- package/dist/http/cursor.d.ts +10 -0
- package/dist/http/cursor.d.ts.map +1 -0
- package/dist/http/cursor.js +20 -0
- package/dist/http/cursor.js.map +1 -0
- package/dist/http/error-envelope.d.ts +127 -0
- package/dist/http/error-envelope.d.ts.map +1 -0
- package/dist/http/error-envelope.js +402 -0
- package/dist/http/error-envelope.js.map +1 -0
- package/dist/http/health.d.ts +88 -0
- package/dist/http/health.d.ts.map +1 -0
- package/dist/http/health.js +77 -0
- package/dist/http/health.js.map +1 -0
- package/dist/http/index.d.ts +50 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +50 -0
- package/dist/http/index.js.map +1 -0
- package/dist/http/interceptors/dispatch.d.ts +14 -0
- package/dist/http/interceptors/dispatch.d.ts.map +1 -0
- package/dist/http/interceptors/dispatch.js +113 -0
- package/dist/http/interceptors/dispatch.js.map +1 -0
- package/dist/http/interceptors/index.d.ts +6 -0
- package/dist/http/interceptors/index.d.ts.map +1 -0
- package/dist/http/interceptors/index.js +5 -0
- package/dist/http/interceptors/index.js.map +1 -0
- package/dist/http/interceptors/registry.d.ts +44 -0
- package/dist/http/interceptors/registry.d.ts.map +1 -0
- package/dist/http/interceptors/registry.js +123 -0
- package/dist/http/interceptors/registry.js.map +1 -0
- package/dist/http/interceptors/route-table.d.ts +33 -0
- package/dist/http/interceptors/route-table.d.ts.map +1 -0
- package/dist/http/interceptors/route-table.js +39 -0
- package/dist/http/interceptors/route-table.js.map +1 -0
- package/dist/http/interceptors/types.d.ts +101 -0
- package/dist/http/interceptors/types.d.ts.map +1 -0
- package/dist/http/interceptors/types.js +2 -0
- package/dist/http/interceptors/types.js.map +1 -0
- package/dist/http/interceptors/validation.d.ts +22 -0
- package/dist/http/interceptors/validation.d.ts.map +1 -0
- package/dist/http/interceptors/validation.js +39 -0
- package/dist/http/interceptors/validation.js.map +1 -0
- package/dist/http/logger.d.ts +9 -0
- package/dist/http/logger.d.ts.map +1 -0
- package/dist/http/logger.js +25 -0
- package/dist/http/logger.js.map +1 -0
- package/dist/http/openapi.d.ts +21 -0
- package/dist/http/openapi.d.ts.map +1 -0
- package/dist/http/openapi.js +114 -0
- package/dist/http/openapi.js.map +1 -0
- package/dist/http/product-audience.d.ts +78 -0
- package/dist/http/product-audience.d.ts.map +1 -0
- package/dist/http/product-audience.js +92 -0
- package/dist/http/product-audience.js.map +1 -0
- package/dist/http/request-actor.d.ts +82 -0
- package/dist/http/request-actor.d.ts.map +1 -0
- package/dist/http/request-actor.js +2 -0
- package/dist/http/request-actor.js.map +1 -0
- package/dist/http/server.d.ts +60 -0
- package/dist/http/server.d.ts.map +1 -0
- package/dist/http/server.js +117 -0
- package/dist/http/server.js.map +1 -0
- package/dist/http/storefront-revalidator.d.ts +29 -0
- package/dist/http/storefront-revalidator.d.ts.map +1 -0
- package/dist/http/storefront-revalidator.js +34 -0
- package/dist/http/storefront-revalidator.js.map +1 -0
- package/dist/http/test-actor-carrier.d.ts +28 -0
- package/dist/http/test-actor-carrier.d.ts.map +1 -0
- package/dist/http/test-actor-carrier.js +10 -0
- package/dist/http/test-actor-carrier.js.map +1 -0
- package/dist/http/trusted-proxy.d.ts +48 -0
- package/dist/http/trusted-proxy.d.ts.map +1 -0
- package/dist/http/trusted-proxy.js +136 -0
- package/dist/http/trusted-proxy.js.map +1 -0
- package/dist/kernel/audit/audit-log-entry.entity.d.ts +33 -0
- package/dist/kernel/audit/audit-log-entry.entity.d.ts.map +1 -0
- package/dist/kernel/audit/audit-log-entry.entity.js +102 -0
- package/dist/kernel/audit/audit-log-entry.entity.js.map +1 -0
- package/dist/kernel/audit/audit-log-service.d.ts +63 -0
- package/dist/kernel/audit/audit-log-service.d.ts.map +1 -0
- package/dist/kernel/audit/audit-log-service.js +107 -0
- package/dist/kernel/audit/audit-log-service.js.map +1 -0
- package/dist/kernel/cache/in-process-cache-registry.d.ts +93 -0
- package/dist/kernel/cache/in-process-cache-registry.d.ts.map +1 -0
- package/dist/kernel/cache/in-process-cache-registry.js +78 -0
- package/dist/kernel/cache/in-process-cache-registry.js.map +1 -0
- package/dist/kernel/cache/shared-drop-marks.d.ts +39 -0
- package/dist/kernel/cache/shared-drop-marks.d.ts.map +1 -0
- package/dist/kernel/cache/shared-drop-marks.js +68 -0
- package/dist/kernel/cache/shared-drop-marks.js.map +1 -0
- package/dist/kernel/compose.d.ts +234 -0
- package/dist/kernel/compose.d.ts.map +1 -0
- package/dist/kernel/compose.js +279 -0
- package/dist/kernel/compose.js.map +1 -0
- package/dist/kernel/container.d.ts +95 -0
- package/dist/kernel/container.d.ts.map +1 -0
- package/dist/kernel/container.js +90 -0
- package/dist/kernel/container.js.map +1 -0
- package/dist/kernel/contribution-sinks.d.ts +106 -0
- package/dist/kernel/contribution-sinks.d.ts.map +1 -0
- package/dist/kernel/contribution-sinks.js +153 -0
- package/dist/kernel/contribution-sinks.js.map +1 -0
- package/dist/kernel/crypto/password-hasher.d.ts +3 -0
- package/dist/kernel/crypto/password-hasher.d.ts.map +1 -0
- package/dist/kernel/crypto/password-hasher.js +44 -0
- package/dist/kernel/crypto/password-hasher.js.map +1 -0
- package/dist/kernel/i18n/error-envelope-options.d.ts +56 -0
- package/dist/kernel/i18n/error-envelope-options.d.ts.map +1 -0
- package/dist/kernel/i18n/error-envelope-options.js +46 -0
- package/dist/kernel/i18n/error-envelope-options.js.map +1 -0
- package/dist/kernel/i18n/error-translation.d.ts +144 -0
- package/dist/kernel/i18n/error-translation.d.ts.map +1 -0
- package/dist/kernel/i18n/error-translation.js +84 -0
- package/dist/kernel/i18n/error-translation.js.map +1 -0
- package/dist/kernel/i18n/request-language.d.ts +80 -0
- package/dist/kernel/i18n/request-language.d.ts.map +1 -0
- package/dist/kernel/i18n/request-language.js +168 -0
- package/dist/kernel/i18n/request-language.js.map +1 -0
- package/dist/kernel/index.d.ts +142 -0
- package/dist/kernel/index.d.ts.map +1 -0
- package/dist/kernel/index.js +160 -0
- package/dist/kernel/index.js.map +1 -0
- package/dist/kernel/lazy-port.d.ts +59 -0
- package/dist/kernel/lazy-port.d.ts.map +1 -0
- package/dist/kernel/lazy-port.js +78 -0
- package/dist/kernel/lazy-port.js.map +1 -0
- package/dist/kernel/lifecycle/activation-resolver.d.ts +63 -0
- package/dist/kernel/lifecycle/activation-resolver.d.ts.map +1 -0
- package/dist/kernel/lifecycle/activation-resolver.js +70 -0
- package/dist/kernel/lifecycle/activation-resolver.js.map +1 -0
- package/dist/kernel/lifecycle/capability-registry.d.ts +145 -0
- package/dist/kernel/lifecycle/capability-registry.d.ts.map +1 -0
- package/dist/kernel/lifecycle/capability-registry.js +170 -0
- package/dist/kernel/lifecycle/capability-registry.js.map +1 -0
- package/dist/kernel/lifecycle/effective-state.d.ts +126 -0
- package/dist/kernel/lifecycle/effective-state.d.ts.map +1 -0
- package/dist/kernel/lifecycle/effective-state.js +111 -0
- package/dist/kernel/lifecycle/effective-state.js.map +1 -0
- package/dist/kernel/lifecycle/module-registration.entity.d.ts +57 -0
- package/dist/kernel/lifecycle/module-registration.entity.d.ts.map +1 -0
- package/dist/kernel/lifecycle/module-registration.entity.js +111 -0
- package/dist/kernel/lifecycle/module-registration.entity.js.map +1 -0
- package/dist/kernel/lifecycle/plugin-helpers.d.ts +165 -0
- package/dist/kernel/lifecycle/plugin-helpers.d.ts.map +1 -0
- package/dist/kernel/lifecycle/plugin-helpers.js +395 -0
- package/dist/kernel/lifecycle/plugin-helpers.js.map +1 -0
- package/dist/kernel/lifecycle/registry-cache.d.ts +318 -0
- package/dist/kernel/lifecycle/registry-cache.d.ts.map +1 -0
- package/dist/kernel/lifecycle/registry-cache.js +509 -0
- package/dist/kernel/lifecycle/registry-cache.js.map +1 -0
- package/dist/kernel/lifecycle/required-modules.d.ts +137 -0
- package/dist/kernel/lifecycle/required-modules.d.ts.map +1 -0
- package/dist/kernel/lifecycle/required-modules.js +80 -0
- package/dist/kernel/lifecycle/required-modules.js.map +1 -0
- package/dist/kernel/lifecycle/unique-module-ids.d.ts +58 -0
- package/dist/kernel/lifecycle/unique-module-ids.d.ts.map +1 -0
- package/dist/kernel/lifecycle/unique-module-ids.js +82 -0
- package/dist/kernel/lifecycle/unique-module-ids.js.map +1 -0
- package/dist/kernel/logging.d.ts +116 -0
- package/dist/kernel/logging.d.ts.map +1 -0
- package/dist/kernel/logging.js +71 -0
- package/dist/kernel/logging.js.map +1 -0
- package/dist/kernel/module-context.d.ts +563 -0
- package/dist/kernel/module-context.d.ts.map +1 -0
- package/dist/kernel/module-context.js +670 -0
- package/dist/kernel/module-context.js.map +1 -0
- package/dist/kernel/ports/audit.d.ts +115 -0
- package/dist/kernel/ports/audit.d.ts.map +1 -0
- package/dist/kernel/ports/audit.js +2 -0
- package/dist/kernel/ports/audit.js.map +1 -0
- package/dist/kernel/ports/organizations.d.ts +56 -0
- package/dist/kernel/ports/organizations.d.ts.map +1 -0
- package/dist/kernel/ports/organizations.js +2 -0
- package/dist/kernel/ports/organizations.js.map +1 -0
- package/dist/kernel/ports/provide.d.ts +14 -0
- package/dist/kernel/ports/provide.d.ts.map +1 -0
- package/dist/kernel/ports/provide.js +50 -0
- package/dist/kernel/ports/provide.js.map +1 -0
- package/dist/kernel/ports/require-admin.d.ts +61 -0
- package/dist/kernel/ports/require-admin.d.ts.map +1 -0
- package/dist/kernel/ports/require-admin.js +2 -0
- package/dist/kernel/ports/require-admin.js.map +1 -0
- package/dist/kernel/ports/require-customer.d.ts +17 -0
- package/dist/kernel/ports/require-customer.d.ts.map +1 -0
- package/dist/kernel/ports/require-customer.js +2 -0
- package/dist/kernel/ports/require-customer.js.map +1 -0
- package/dist/kernel/ports/sales-channel.d.ts +84 -0
- package/dist/kernel/ports/sales-channel.d.ts.map +1 -0
- package/dist/kernel/ports/sales-channel.js +2 -0
- package/dist/kernel/ports/sales-channel.js.map +1 -0
- package/dist/kernel/ports/settings.d.ts +59 -0
- package/dist/kernel/ports/settings.d.ts.map +1 -0
- package/dist/kernel/ports/settings.js +2 -0
- package/dist/kernel/ports/settings.js.map +1 -0
- package/dist/kernel/public-api-base-url.d.ts +98 -0
- package/dist/kernel/public-api-base-url.d.ts.map +1 -0
- package/dist/kernel/public-api-base-url.js +144 -0
- package/dist/kernel/public-api-base-url.js.map +1 -0
- package/dist/kernel/request-scope-hook.d.ts +63 -0
- package/dist/kernel/request-scope-hook.d.ts.map +1 -0
- package/dist/kernel/request-scope-hook.js +67 -0
- package/dist/kernel/request-scope-hook.js.map +1 -0
- package/dist/kernel/sales-channels/channel-bridge-registry.d.ts +109 -0
- package/dist/kernel/sales-channels/channel-bridge-registry.d.ts.map +1 -0
- package/dist/kernel/sales-channels/channel-bridge-registry.js +75 -0
- package/dist/kernel/sales-channels/channel-bridge-registry.js.map +1 -0
- package/dist/kernel/sales-channels/compose.d.ts +69 -0
- package/dist/kernel/sales-channels/compose.d.ts.map +1 -0
- package/dist/kernel/sales-channels/compose.js +43 -0
- package/dist/kernel/sales-channels/compose.js.map +1 -0
- package/dist/kernel/sales-channels/default-channel-reconciler.d.ts +66 -0
- package/dist/kernel/sales-channels/default-channel-reconciler.d.ts.map +1 -0
- package/dist/kernel/sales-channels/default-channel-reconciler.js +91 -0
- package/dist/kernel/sales-channels/default-channel-reconciler.js.map +1 -0
- package/dist/kernel/sales-channels/no-system-default-channel.error.d.ts +28 -0
- package/dist/kernel/sales-channels/no-system-default-channel.error.d.ts.map +1 -0
- package/dist/kernel/sales-channels/no-system-default-channel.error.js +33 -0
- package/dist/kernel/sales-channels/no-system-default-channel.error.js.map +1 -0
- package/dist/kernel/sales-channels/request-channel-assortment.d.ts +72 -0
- package/dist/kernel/sales-channels/request-channel-assortment.d.ts.map +1 -0
- package/dist/kernel/sales-channels/request-channel-assortment.js +83 -0
- package/dist/kernel/sales-channels/request-channel-assortment.js.map +1 -0
- package/dist/kernel/sales-channels/sales-channel-membership.service.d.ts +157 -0
- package/dist/kernel/sales-channels/sales-channel-membership.service.d.ts.map +1 -0
- package/dist/kernel/sales-channels/sales-channel-membership.service.js +302 -0
- package/dist/kernel/sales-channels/sales-channel-membership.service.js.map +1 -0
- package/dist/kernel/sales-channels/sales-channel-resolver.middleware.d.ts +76 -0
- package/dist/kernel/sales-channels/sales-channel-resolver.middleware.d.ts.map +1 -0
- package/dist/kernel/sales-channels/sales-channel-resolver.middleware.js +184 -0
- package/dist/kernel/sales-channels/sales-channel-resolver.middleware.js.map +1 -0
- package/dist/kernel/sales-channels/sales-channel-resolver.service.d.ts +82 -0
- package/dist/kernel/sales-channels/sales-channel-resolver.service.d.ts.map +1 -0
- package/dist/kernel/sales-channels/sales-channel-resolver.service.js +126 -0
- package/dist/kernel/sales-channels/sales-channel-resolver.service.js.map +1 -0
- package/dist/kernel/sales-channels/sales-channel.entity.d.ts +50 -0
- package/dist/kernel/sales-channels/sales-channel.entity.d.ts.map +1 -0
- package/dist/kernel/sales-channels/sales-channel.entity.js +132 -0
- package/dist/kernel/sales-channels/sales-channel.entity.js.map +1 -0
- package/dist/kernel/sales-channels/sales-channels-cache.d.ts +170 -0
- package/dist/kernel/sales-channels/sales-channels-cache.d.ts.map +1 -0
- package/dist/kernel/sales-channels/sales-channels-cache.js +243 -0
- package/dist/kernel/sales-channels/sales-channels-cache.js.map +1 -0
- package/dist/kernel/scope.d.ts +153 -0
- package/dist/kernel/scope.d.ts.map +1 -0
- package/dist/kernel/scope.js +172 -0
- package/dist/kernel/scope.js.map +1 -0
- package/dist/kernel/settings/compose.d.ts +49 -0
- package/dist/kernel/settings/compose.d.ts.map +1 -0
- package/dist/kernel/settings/compose.js +21 -0
- package/dist/kernel/settings/compose.js.map +1 -0
- package/dist/kernel/settings/manifest-reconciler.d.ts +78 -0
- package/dist/kernel/settings/manifest-reconciler.d.ts.map +1 -0
- package/dist/kernel/settings/manifest-reconciler.js +343 -0
- package/dist/kernel/settings/manifest-reconciler.js.map +1 -0
- package/dist/kernel/settings/secret-value-codec.d.ts +52 -0
- package/dist/kernel/settings/secret-value-codec.d.ts.map +1 -0
- package/dist/kernel/settings/secret-value-codec.js +102 -0
- package/dist/kernel/settings/secret-value-codec.js.map +1 -0
- package/dist/kernel/settings/setting-group.entity.d.ts +25 -0
- package/dist/kernel/settings/setting-group.entity.d.ts.map +1 -0
- package/dist/kernel/settings/setting-group.entity.js +79 -0
- package/dist/kernel/settings/setting-group.entity.js.map +1 -0
- package/dist/kernel/settings/setting-value.entity.d.ts +23 -0
- package/dist/kernel/settings/setting-value.entity.d.ts.map +1 -0
- package/dist/kernel/settings/setting-value.entity.js +66 -0
- package/dist/kernel/settings/setting-value.entity.js.map +1 -0
- package/dist/kernel/settings/setting.entity.d.ts +56 -0
- package/dist/kernel/settings/setting.entity.d.ts.map +1 -0
- package/dist/kernel/settings/setting.entity.js +147 -0
- package/dist/kernel/settings/setting.entity.js.map +1 -0
- package/dist/kernel/settings/settings-cache.d.ts +158 -0
- package/dist/kernel/settings/settings-cache.d.ts.map +1 -0
- package/dist/kernel/settings/settings-cache.js +253 -0
- package/dist/kernel/settings/settings-cache.js.map +1 -0
- package/dist/kernel/settings/settings.service.d.ts +142 -0
- package/dist/kernel/settings/settings.service.d.ts.map +1 -0
- package/dist/kernel/settings/settings.service.js +294 -0
- package/dist/kernel/settings/settings.service.js.map +1 -0
- package/dist/lifecycle/backend.d.ts +51 -0
- package/dist/lifecycle/backend.d.ts.map +1 -0
- package/dist/lifecycle/backend.js +40 -0
- package/dist/lifecycle/backend.js.map +1 -0
- package/dist/lifecycle/commands/activation.commands.d.ts +97 -0
- package/dist/lifecycle/commands/activation.commands.d.ts.map +1 -0
- package/dist/lifecycle/commands/activation.commands.js +142 -0
- package/dist/lifecycle/commands/activation.commands.js.map +1 -0
- package/dist/lifecycle/commands/disable.d.ts +3 -0
- package/dist/lifecycle/commands/disable.d.ts.map +1 -0
- package/dist/lifecycle/commands/disable.js +126 -0
- package/dist/lifecycle/commands/disable.js.map +1 -0
- package/dist/lifecycle/commands/enable.d.ts +3 -0
- package/dist/lifecycle/commands/enable.d.ts.map +1 -0
- package/dist/lifecycle/commands/enable.js +102 -0
- package/dist/lifecycle/commands/enable.js.map +1 -0
- package/dist/lifecycle/commands/install.d.ts +3 -0
- package/dist/lifecycle/commands/install.d.ts.map +1 -0
- package/dist/lifecycle/commands/install.js +263 -0
- package/dist/lifecycle/commands/install.js.map +1 -0
- package/dist/lifecycle/commands/operator-entry.d.ts +104 -0
- package/dist/lifecycle/commands/operator-entry.d.ts.map +1 -0
- package/dist/lifecycle/commands/operator-entry.js +127 -0
- package/dist/lifecycle/commands/operator-entry.js.map +1 -0
- package/dist/lifecycle/commands/operator-runtime.d.ts +147 -0
- package/dist/lifecycle/commands/operator-runtime.d.ts.map +1 -0
- package/dist/lifecycle/commands/operator-runtime.js +40 -0
- package/dist/lifecycle/commands/operator-runtime.js.map +1 -0
- package/dist/lifecycle/commands/status.d.ts +3 -0
- package/dist/lifecycle/commands/status.d.ts.map +1 -0
- package/dist/lifecycle/commands/status.js +108 -0
- package/dist/lifecycle/commands/status.js.map +1 -0
- package/dist/lifecycle/commands/uninstall.d.ts +3 -0
- package/dist/lifecycle/commands/uninstall.d.ts.map +1 -0
- package/dist/lifecycle/commands/uninstall.js +223 -0
- package/dist/lifecycle/commands/uninstall.js.map +1 -0
- package/dist/lifecycle/divergence-declaration.d.ts +74 -0
- package/dist/lifecycle/divergence-declaration.d.ts.map +1 -0
- package/dist/lifecycle/divergence-declaration.js +92 -0
- package/dist/lifecycle/divergence-declaration.js.map +1 -0
- package/dist/lifecycle/i18n/en.json +4 -0
- package/dist/lifecycle/i18n/pl.json +4 -0
- package/dist/lifecycle/index.d.ts +110 -0
- package/dist/lifecycle/index.d.ts.map +1 -0
- package/dist/lifecycle/index.js +189 -0
- package/dist/lifecycle/index.js.map +1 -0
- package/dist/lifecycle/manifest-registry.d.ts +244 -0
- package/dist/lifecycle/manifest-registry.d.ts.map +1 -0
- package/dist/lifecycle/manifest-registry.js +223 -0
- package/dist/lifecycle/manifest-registry.js.map +1 -0
- package/dist/lifecycle/manifest.d.ts +166 -0
- package/dist/lifecycle/manifest.d.ts.map +1 -0
- package/dist/lifecycle/manifest.js +121 -0
- package/dist/lifecycle/manifest.js.map +1 -0
- package/dist/lifecycle/plugin.d.ts +56 -0
- package/dist/lifecycle/plugin.d.ts.map +1 -0
- package/dist/lifecycle/plugin.js +59 -0
- package/dist/lifecycle/plugin.js.map +1 -0
- package/dist/lifecycle/resident.d.ts +16 -0
- package/dist/lifecycle/resident.d.ts.map +1 -0
- package/dist/lifecycle/resident.js +59 -0
- package/dist/lifecycle/resident.js.map +1 -0
- package/dist/lifecycle/routes.admin.d.ts +57 -0
- package/dist/lifecycle/routes.admin.d.ts.map +1 -0
- package/dist/lifecycle/routes.admin.js +162 -0
- package/dist/lifecycle/routes.admin.js.map +1 -0
- package/dist/lifecycle/routes.storefront.d.ts +26 -0
- package/dist/lifecycle/routes.storefront.d.ts.map +1 -0
- package/dist/lifecycle/routes.storefront.js +36 -0
- package/dist/lifecycle/routes.storefront.js.map +1 -0
- package/dist/lifecycle/services/deactivation-ledger.d.ts +216 -0
- package/dist/lifecycle/services/deactivation-ledger.d.ts.map +1 -0
- package/dist/lifecycle/services/deactivation-ledger.js +171 -0
- package/dist/lifecycle/services/deactivation-ledger.js.map +1 -0
- package/dist/lifecycle/services/dep-graph.d.ts +119 -0
- package/dist/lifecycle/services/dep-graph.d.ts.map +1 -0
- package/dist/lifecycle/services/dep-graph.js +334 -0
- package/dist/lifecycle/services/dep-graph.js.map +1 -0
- package/dist/lifecycle/services/gating-graph.d.ts +164 -0
- package/dist/lifecycle/services/gating-graph.d.ts.map +1 -0
- package/dist/lifecycle/services/gating-graph.js +203 -0
- package/dist/lifecycle/services/gating-graph.js.map +1 -0
- package/dist/lifecycle/services/lock.d.ts +27 -0
- package/dist/lifecycle/services/lock.d.ts.map +1 -0
- package/dist/lifecycle/services/lock.js +82 -0
- package/dist/lifecycle/services/lock.js.map +1 -0
- package/dist/lifecycle/services/manifest-loader.d.ts +125 -0
- package/dist/lifecycle/services/manifest-loader.d.ts.map +1 -0
- package/dist/lifecycle/services/manifest-loader.js +210 -0
- package/dist/lifecycle/services/manifest-loader.js.map +1 -0
- package/dist/lifecycle/services/migration-ownership.d.ts +36 -0
- package/dist/lifecycle/services/migration-ownership.d.ts.map +1 -0
- package/dist/lifecycle/services/migration-ownership.js +15 -0
- package/dist/lifecycle/services/migration-ownership.js.map +1 -0
- package/dist/lifecycle/services/module-id-claims.d.ts +38 -0
- package/dist/lifecycle/services/module-id-claims.d.ts.map +1 -0
- package/dist/lifecycle/services/module-id-claims.js +123 -0
- package/dist/lifecycle/services/module-id-claims.js.map +1 -0
- package/dist/lifecycle/services/module-origin.d.ts +55 -0
- package/dist/lifecycle/services/module-origin.d.ts.map +1 -0
- package/dist/lifecycle/services/module-origin.js +47 -0
- package/dist/lifecycle/services/module-origin.js.map +1 -0
- package/dist/lifecycle/services/orchestrator.d.ts +235 -0
- package/dist/lifecycle/services/orchestrator.d.ts.map +1 -0
- package/dist/lifecycle/services/orchestrator.js +954 -0
- package/dist/lifecycle/services/orchestrator.js.map +1 -0
- package/dist/lifecycle/services/presence-load.d.ts +281 -0
- package/dist/lifecycle/services/presence-load.d.ts.map +1 -0
- package/dist/lifecycle/services/presence-load.js +437 -0
- package/dist/lifecycle/services/presence-load.js.map +1 -0
- package/dist/lifecycle/services/static-registry.d.ts +47 -0
- package/dist/lifecycle/services/static-registry.d.ts.map +1 -0
- package/dist/lifecycle/services/static-registry.js +41 -0
- package/dist/lifecycle/services/static-registry.js.map +1 -0
- package/dist/migrations/20260424T165847_core_foundation_init.d.ts +25 -0
- package/dist/migrations/20260424T165847_core_foundation_init.d.ts.map +1 -0
- package/dist/migrations/20260424T165847_core_foundation_init.js +238 -0
- package/dist/migrations/20260424T165847_core_foundation_init.js.map +1 -0
- package/dist/migrations/20260425T050720_core_commerce_init.d.ts +19 -0
- package/dist/migrations/20260425T050720_core_commerce_init.d.ts.map +1 -0
- package/dist/migrations/20260425T050720_core_commerce_init.js +200 -0
- package/dist/migrations/20260425T050720_core_commerce_init.js.map +1 -0
- package/dist/migrations/20260430T101450_core_settings_init.d.ts +25 -0
- package/dist/migrations/20260430T101450_core_settings_init.d.ts.map +1 -0
- package/dist/migrations/20260430T101450_core_settings_init.js +113 -0
- package/dist/migrations/20260430T101450_core_settings_init.js.map +1 -0
- package/dist/migrations/20260430T170044_core_sales_channels_promote.d.ts +67 -0
- package/dist/migrations/20260430T170044_core_sales_channels_promote.d.ts.map +1 -0
- package/dist/migrations/20260430T170044_core_sales_channels_promote.js +101 -0
- package/dist/migrations/20260430T170044_core_sales_channels_promote.js.map +1 -0
- package/dist/migrations/20260506T200657_core_module_lifecycle_init.d.ts +21 -0
- package/dist/migrations/20260506T200657_core_module_lifecycle_init.d.ts.map +1 -0
- package/dist/migrations/20260506T200657_core_module_lifecycle_init.js +41 -0
- package/dist/migrations/20260506T200657_core_module_lifecycle_init.js.map +1 -0
- package/dist/migrations/20260514T111329_core_settings_global_value.d.ts +30 -0
- package/dist/migrations/20260514T111329_core_settings_global_value.d.ts.map +1 -0
- package/dist/migrations/20260514T111329_core_settings_global_value.js +34 -0
- package/dist/migrations/20260514T111329_core_settings_global_value.js.map +1 -0
- package/dist/migrations/20260611T140411_core_settings_secret_value_type.d.ts +26 -0
- package/dist/migrations/20260611T140411_core_settings_secret_value_type.d.ts.map +1 -0
- package/dist/migrations/20260611T140411_core_settings_secret_value_type.js +63 -0
- package/dist/migrations/20260611T140411_core_settings_secret_value_type.js.map +1 -0
- package/dist/migrations/20260611T140419_core_settings_enum_options.d.ts +19 -0
- package/dist/migrations/20260611T140419_core_settings_enum_options.d.ts.map +1 -0
- package/dist/migrations/20260611T140419_core_settings_enum_options.js +23 -0
- package/dist/migrations/20260611T140419_core_settings_enum_options.js.map +1 -0
- package/dist/migrations/20260629T090100_core_settings_hidden_flag.d.ts +20 -0
- package/dist/migrations/20260629T090100_core_settings_hidden_flag.d.ts.map +1 -0
- package/dist/migrations/20260629T090100_core_settings_hidden_flag.js +24 -0
- package/dist/migrations/20260629T090100_core_settings_hidden_flag.js.map +1 -0
- package/dist/migrations/20260717T134752_core_tenant_scope_indexes.d.ts +27 -0
- package/dist/migrations/20260717T134752_core_tenant_scope_indexes.d.ts.map +1 -0
- package/dist/migrations/20260717T134752_core_tenant_scope_indexes.js +32 -0
- package/dist/migrations/20260717T134752_core_tenant_scope_indexes.js.map +1 -0
- package/dist/migrations/20260721T011510_core_settings_credential_ref_value_type.d.ts +24 -0
- package/dist/migrations/20260721T011510_core_settings_credential_ref_value_type.d.ts.map +1 -0
- package/dist/migrations/20260721T011510_core_settings_credential_ref_value_type.js +57 -0
- package/dist/migrations/20260721T011510_core_settings_credential_ref_value_type.js.map +1 -0
- package/dist/migrations/20260816T203339_core_retire_core_activation_settings.d.ts +39 -0
- package/dist/migrations/20260816T203339_core_retire_core_activation_settings.d.ts.map +1 -0
- package/dist/migrations/20260816T203339_core_retire_core_activation_settings.js +59 -0
- package/dist/migrations/20260816T203339_core_retire_core_activation_settings.js.map +1 -0
- package/dist/migrations/20260919T101500_core_module_registrations_boot_converged.d.ts +34 -0
- package/dist/migrations/20260919T101500_core_module_registrations_boot_converged.d.ts.map +1 -0
- package/dist/migrations/20260919T101500_core_module_registrations_boot_converged.js +38 -0
- package/dist/migrations/20260919T101500_core_module_registrations_boot_converged.js.map +1 -0
- package/dist/migrations/baseline-migrations.generated.d.ts +2 -0
- package/dist/migrations/baseline-migrations.generated.d.ts.map +1 -0
- package/dist/migrations/baseline-migrations.generated.js +136 -0
- package/dist/migrations/baseline-migrations.generated.js.map +1 -0
- package/dist/migrations/index.d.ts +62 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +75 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/overlay/deployment-roots.d.ts +37 -0
- package/dist/overlay/deployment-roots.d.ts.map +1 -0
- package/dist/overlay/deployment-roots.js +90 -0
- package/dist/overlay/deployment-roots.js.map +1 -0
- package/dist/overlay/index.d.ts +62 -0
- package/dist/overlay/index.d.ts.map +1 -0
- package/dist/overlay/index.js +62 -0
- package/dist/overlay/index.js.map +1 -0
- package/dist/overlay/overlay-runtime.d.ts +173 -0
- package/dist/overlay/overlay-runtime.d.ts.map +1 -0
- package/dist/overlay/overlay-runtime.js +281 -0
- package/dist/overlay/overlay-runtime.js.map +1 -0
- package/dist/overlay/resolve-overlay.d.ts +41 -0
- package/dist/overlay/resolve-overlay.d.ts.map +1 -0
- package/dist/overlay/resolve-overlay.js +72 -0
- package/dist/overlay/resolve-overlay.js.map +1 -0
- package/dist/packages/index.d.ts +57 -0
- package/dist/packages/index.d.ts.map +1 -0
- package/dist/packages/index.js +57 -0
- package/dist/packages/index.js.map +1 -0
- package/dist/packages/installed-packages.d.ts +79 -0
- package/dist/packages/installed-packages.d.ts.map +1 -0
- package/dist/packages/installed-packages.js +312 -0
- package/dist/packages/installed-packages.js.map +1 -0
- package/dist/packages/package-entity-lookup.d.ts +120 -0
- package/dist/packages/package-entity-lookup.d.ts.map +1 -0
- package/dist/packages/package-entity-lookup.js +17 -0
- package/dist/packages/package-entity-lookup.js.map +1 -0
- package/dist/packages/package-runtime.d.ts +177 -0
- package/dist/packages/package-runtime.d.ts.map +1 -0
- package/dist/packages/package-runtime.js +386 -0
- package/dist/packages/package-runtime.js.map +1 -0
- package/dist/tenancy/derived-scope.d.ts +43 -0
- package/dist/tenancy/derived-scope.d.ts.map +1 -0
- package/dist/tenancy/derived-scope.js +76 -0
- package/dist/tenancy/derived-scope.js.map +1 -0
- package/dist/tenancy/escape-hatch.d.ts +30 -0
- package/dist/tenancy/escape-hatch.d.ts.map +1 -0
- package/dist/tenancy/escape-hatch.js +50 -0
- package/dist/tenancy/escape-hatch.js.map +1 -0
- package/dist/tenancy/filters.d.ts +87 -0
- package/dist/tenancy/filters.d.ts.map +1 -0
- package/dist/tenancy/filters.js +126 -0
- package/dist/tenancy/filters.js.map +1 -0
- package/dist/tenancy/index.d.ts +63 -0
- package/dist/tenancy/index.d.ts.map +1 -0
- package/dist/tenancy/index.js +61 -0
- package/dist/tenancy/index.js.map +1 -0
- package/dist/tenancy/org-scoped.decorator.d.ts +150 -0
- package/dist/tenancy/org-scoped.decorator.d.ts.map +1 -0
- package/dist/tenancy/org-scoped.decorator.js +339 -0
- package/dist/tenancy/org-scoped.decorator.js.map +1 -0
- package/dist/tenancy/org-write-guard.d.ts +106 -0
- package/dist/tenancy/org-write-guard.d.ts.map +1 -0
- package/dist/tenancy/org-write-guard.js +141 -0
- package/dist/tenancy/org-write-guard.js.map +1 -0
- package/dist/tenancy/resolve-tenant-context.d.ts +91 -0
- package/dist/tenancy/resolve-tenant-context.d.ts.map +1 -0
- package/dist/tenancy/resolve-tenant-context.js +85 -0
- package/dist/tenancy/resolve-tenant-context.js.map +1 -0
- package/dist/tenancy/scoped-em.d.ts +10 -0
- package/dist/tenancy/scoped-em.d.ts.map +1 -0
- package/dist/tenancy/scoped-em.js +11 -0
- package/dist/tenancy/scoped-em.js.map +1 -0
- package/dist/tenancy/tenant-context.d.ts +154 -0
- package/dist/tenancy/tenant-context.d.ts.map +1 -0
- package/dist/tenancy/tenant-context.js +109 -0
- package/dist/tenancy/tenant-context.js.map +1 -0
- package/package.json +123 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
+
import { asFunction } from 'awilix';
|
|
3
|
+
import { runWithTenantContext } from '../tenancy/tenant-context.js';
|
|
4
|
+
import { systemTenantContext } from '../tenancy/resolve-tenant-context.js';
|
|
5
|
+
import { recordEscapeHatchAudit } from '../tenancy/escape-hatch.js';
|
|
6
|
+
import { getRootContainer } from './container.js';
|
|
7
|
+
/**
|
|
8
|
+
* The ambient scope of the current execution.
|
|
9
|
+
*
|
|
10
|
+
* A second `AsyncLocalStorage`, deliberately: the awilix child container is not
|
|
11
|
+
* reachable from a Fastify request, and the one value that has to be readable
|
|
12
|
+
* from arbitrary depth — the resolved sales channel — is read at 49 call sites
|
|
13
|
+
* that receive neither the cradle nor the scope. Tenancy still travels in its
|
|
14
|
+
* own store (`tenancy/tenant-context.ts`) and is never mirrored here, because a
|
|
15
|
+
* second copy of the tenant context is a second source of truth.
|
|
16
|
+
*/
|
|
17
|
+
const scopeStorage = new AsyncLocalStorage();
|
|
18
|
+
/** The scope of the current execution, or `undefined` outside one. */
|
|
19
|
+
export function getCurrentPlatformScope() {
|
|
20
|
+
return scopeStorage.getStore();
|
|
21
|
+
}
|
|
22
|
+
let openScopes = 0;
|
|
23
|
+
/**
|
|
24
|
+
* How many scopes are currently open. Diagnostics only — the leak test asserts
|
|
25
|
+
* it returns to its pre-request value after success, error and client abort
|
|
26
|
+
* (FR-015).
|
|
27
|
+
*/
|
|
28
|
+
export function openPlatformScopeCount() {
|
|
29
|
+
return openScopes;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Build the scope object.
|
|
33
|
+
*
|
|
34
|
+
* A separate function so its closures capture **only** these parameters. In one
|
|
35
|
+
* lexical scope V8 gives every closure the same context object, so a `dispose`
|
|
36
|
+
* defined next to the caller's `run` retains `run` — and through it the Fastify
|
|
37
|
+
* `request` and `reply` of that request. Since the scope is what lives in the
|
|
38
|
+
* `AsyncLocalStorage` store, and a store is retained for as long as any async
|
|
39
|
+
* resource created inside it is alive, that turned one pooled connection into a
|
|
40
|
+
* pinned request. Measured over `test/integration/catalog`: 1598 MB of post-GC
|
|
41
|
+
* live set with the shared context, 1000 MB with it split out, against 881 MB
|
|
42
|
+
* for the pre-kernel hook.
|
|
43
|
+
*/
|
|
44
|
+
function createPlatformScope(root, tenant, opts) {
|
|
45
|
+
let channel = opts.channel ?? null;
|
|
46
|
+
const requestMeta = opts.requestMeta ?? null;
|
|
47
|
+
/**
|
|
48
|
+
* The awilix child, created on **first resolution** rather than on entry.
|
|
49
|
+
*
|
|
50
|
+
* Same reasoning as above, one step further: a request that resolves nothing
|
|
51
|
+
* from the cradle — which is every request until the modules are converted in
|
|
52
|
+
* Phase 4 — should not pin a container, its registration closures and its
|
|
53
|
+
* cradle proxy for as long as the store lives. Awilix itself is not the cost:
|
|
54
|
+
* 100 000 create → register → dispose cycles in isolation hold flat at 5 MB.
|
|
55
|
+
*/
|
|
56
|
+
/**
|
|
57
|
+
* The root, held in a variable rather than used through the parameter so
|
|
58
|
+
* `dispose` can **drop it**.
|
|
59
|
+
*
|
|
60
|
+
* Not a micro-optimisation — it is the difference between the suite finishing
|
|
61
|
+
* and dying. Once modules register into the root (feature 072 Phase 4), the
|
|
62
|
+
* root reaches an entire composition: the ORM and its metadata, the Redis
|
|
63
|
+
* client, every module service and cache. A scope is what lives in the
|
|
64
|
+
* `AsyncLocalStorage` store, and a store stays reachable for as long as any
|
|
65
|
+
* async resource created inside it does — so a single retained store pinned a
|
|
66
|
+
* whole composed application. Measured: with the root captured for the life of
|
|
67
|
+
* the scope, the full suite died with `JavaScript heap out of memory` at file
|
|
68
|
+
* **78** of 928; with it released on disposal it runs to completion. Before
|
|
69
|
+
* Phase 4 the same retention was free, because the process root was empty.
|
|
70
|
+
*/
|
|
71
|
+
let rootRef = root;
|
|
72
|
+
let child;
|
|
73
|
+
const resolutionScope = () => {
|
|
74
|
+
if (child)
|
|
75
|
+
return child;
|
|
76
|
+
if (!rootRef) {
|
|
77
|
+
// A resolution after disposal would create a child nothing will ever
|
|
78
|
+
// dispose. It means work outlived its scope — fail loudly rather than
|
|
79
|
+
// hand back a container that leaks.
|
|
80
|
+
throw new Error('This platform scope is disposed; it can no longer resolve.');
|
|
81
|
+
}
|
|
82
|
+
child = rootRef.createScope();
|
|
83
|
+
// Per-scope values. `salesChannel` is the registration that lets the 49
|
|
84
|
+
// `getResolvedChannel(request)` call sites stop threading `request`.
|
|
85
|
+
//
|
|
86
|
+
// `asFunction(...).scoped()` rather than `asValue(...)` deliberately: awilix
|
|
87
|
+
// marks an `asValue` registration `isLeakSafe`, so a **singleton** could
|
|
88
|
+
// capture the first request's channel and hold it for the life of the
|
|
89
|
+
// process — a Constitution XII violation with no test to catch it. A scoped
|
|
90
|
+
// resolver is not leak-safe, so strict mode refuses that capture at the
|
|
91
|
+
// resolution that makes it.
|
|
92
|
+
//
|
|
93
|
+
// The resolver reads `scope.channel` rather than closing over the value, so
|
|
94
|
+
// a registration resolved before the channel hook ran does not pin `null` —
|
|
95
|
+
// awilix caches the resolution, not the slot.
|
|
96
|
+
child.register({
|
|
97
|
+
salesChannel: asFunction(() => scope.channel).scoped(),
|
|
98
|
+
requestMeta: asFunction(() => requestMeta).scoped(),
|
|
99
|
+
platformScope: asFunction(() => scope).scoped(),
|
|
100
|
+
});
|
|
101
|
+
return child;
|
|
102
|
+
};
|
|
103
|
+
let disposed = false;
|
|
104
|
+
openScopes += 1;
|
|
105
|
+
const scope = {
|
|
106
|
+
get cradle() {
|
|
107
|
+
return resolutionScope().cradle;
|
|
108
|
+
},
|
|
109
|
+
tenant,
|
|
110
|
+
entryPoint: opts.entryPoint ?? 'http',
|
|
111
|
+
get channel() {
|
|
112
|
+
return channel;
|
|
113
|
+
},
|
|
114
|
+
requestMeta,
|
|
115
|
+
setChannel(resolved) {
|
|
116
|
+
channel = resolved;
|
|
117
|
+
},
|
|
118
|
+
async dispose() {
|
|
119
|
+
if (disposed)
|
|
120
|
+
return;
|
|
121
|
+
disposed = true;
|
|
122
|
+
openScopes -= 1;
|
|
123
|
+
const resolved = child;
|
|
124
|
+
// Drop both references before awaiting, so a store that outlives this
|
|
125
|
+
// scope holds neither the child nor the composed root (see `rootRef`).
|
|
126
|
+
child = undefined;
|
|
127
|
+
rootRef = undefined;
|
|
128
|
+
if (resolved)
|
|
129
|
+
await resolved.dispose();
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
return scope;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Run `run` inside a fresh resolution scope with `tenant` as the ambient tenant
|
|
136
|
+
* context. The scope is disposed when `run` settles — on success, on error and
|
|
137
|
+
* on abort.
|
|
138
|
+
*/
|
|
139
|
+
export async function enterPlatformScope(tenant, run, opts = {}) {
|
|
140
|
+
const scope = createPlatformScope(opts.container ?? getRootContainer(), tenant, opts);
|
|
141
|
+
// The ALS run is the OUTERMOST wrapper of the work — see rule 2 above. The
|
|
142
|
+
// scope store nests inside the tenant store and is entered synchronously, so
|
|
143
|
+
// both reach the handler through the same continuation chain.
|
|
144
|
+
return runWithTenantContext(tenant, async () => scopeStorage.run(scope, async () => {
|
|
145
|
+
try {
|
|
146
|
+
return await run(scope);
|
|
147
|
+
}
|
|
148
|
+
finally {
|
|
149
|
+
await scope.dispose();
|
|
150
|
+
}
|
|
151
|
+
}));
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Open a scope that crosses every organisation, for an execution that has no
|
|
155
|
+
* caller to derive tenancy from: a worker job, a CLI script, a boot reconciler
|
|
156
|
+
* or an interval sweep.
|
|
157
|
+
*
|
|
158
|
+
* The difference from `withSystemScope` is which question it answers.
|
|
159
|
+
* `withSystemScope` **widens an execution that already has a context** (a
|
|
160
|
+
* request handler that must read across organisations); this **starts** one, and
|
|
161
|
+
* is therefore also where the resolution scope is created. Both emit the same
|
|
162
|
+
* escape-hatch audit record, so `reason` stays mandatory and the cross-org
|
|
163
|
+
* access stays observable.
|
|
164
|
+
*/
|
|
165
|
+
export function enterSystemScope(reason, run, opts = {}) {
|
|
166
|
+
recordEscapeHatchAudit({ scope: 'system', reason });
|
|
167
|
+
return enterPlatformScope(systemTenantContext(reason), run, {
|
|
168
|
+
entryPoint: 'worker',
|
|
169
|
+
...opts,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/kernel/scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { EntityManager } from '@mikro-orm/postgresql';
|
|
2
|
+
import type { Redis } from 'ioredis';
|
|
3
|
+
import { SettingsCache } from './settings-cache.js';
|
|
4
|
+
import { SettingsService } from './settings.service.js';
|
|
5
|
+
/**
|
|
6
|
+
* The universal settings *reader*, composed as kernel infrastructure rather
|
|
7
|
+
* than as part of the `settings` module (feature 072, T118).
|
|
8
|
+
*
|
|
9
|
+
* The split is the one T110 drew for sales channels, for the same reason: a
|
|
10
|
+
* `SettingsService.get` call backs behaviour in almost every module on the
|
|
11
|
+
* platform, so it cannot be gated on whether an operator wants the settings
|
|
12
|
+
* *administration* screens. What the module owns is the admin write surface,
|
|
13
|
+
* the cache-admin action, the storefront resolvers and its routes.
|
|
14
|
+
*
|
|
15
|
+
* `redis` is required here where the module treated it as optional. Both
|
|
16
|
+
* compositions have always passed one, and the no-cache fallback meant a
|
|
17
|
+
* settings read hit PostgreSQL on every request — a shape nothing ran and
|
|
18
|
+
* nothing measured.
|
|
19
|
+
*/
|
|
20
|
+
export interface SettingsKernelOptions {
|
|
21
|
+
readonly emFactory: () => EntityManager;
|
|
22
|
+
readonly redis: Redis;
|
|
23
|
+
/**
|
|
24
|
+
* Base64 32-byte key for the `secret` value type (feature 043, FR-021), from
|
|
25
|
+
* `SETTINGS_SECRET_ENCRYPTION_KEY`. Genuinely optional: without it a secret
|
|
26
|
+
* *write* is refused with `SETTING_SECRET_KEY_MISSING` and legacy plaintext
|
|
27
|
+
* reads keep working — absence refuses rather than permits, which is why it
|
|
28
|
+
* survives where the other options did not.
|
|
29
|
+
*/
|
|
30
|
+
readonly secretEncryptionKey?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface SettingsKernel {
|
|
33
|
+
readonly settingsService: SettingsService;
|
|
34
|
+
/**
|
|
35
|
+
* Handed to the `settings` module as `settingsCache`: it owns the one write
|
|
36
|
+
* seam, and since issue #45 the seam drops the cache itself rather than
|
|
37
|
+
* announcing the write and hoping a subscriber gets there first.
|
|
38
|
+
*/
|
|
39
|
+
readonly cache: SettingsCache;
|
|
40
|
+
/**
|
|
41
|
+
* Withdraws this process's cache from the operator-facing clear. Released
|
|
42
|
+
* for tests; in production it lives until process exit.
|
|
43
|
+
*/
|
|
44
|
+
readonly cacheRegistration: {
|
|
45
|
+
readonly dispose: () => void;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export declare function composeSettingsKernel(options: SettingsKernelOptions): SettingsKernel;
|
|
49
|
+
//# sourceMappingURL=compose.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../src/kernel/settings/compose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,aAAa,EAA4B,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,aAAa,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;CAC9D;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAsBpF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { inProcessCaches } from '../cache/in-process-cache-registry.js';
|
|
2
|
+
import { SettingsCache, SETTINGS_CACHE_NAMESPACE } from './settings-cache.js';
|
|
3
|
+
import { SettingsService } from './settings.service.js';
|
|
4
|
+
export function composeSettingsKernel(options) {
|
|
5
|
+
const cache = new SettingsCache(options.redis);
|
|
6
|
+
const settingsService = new SettingsService(options.emFactory, cache, options.secretEncryptionKey);
|
|
7
|
+
/**
|
|
8
|
+
* The one thing composing the cache still has to *do*: announce it to the
|
|
9
|
+
* operator-facing "clear cache" action (issue #33). The clear runs in this
|
|
10
|
+
* process and has to reach the object that owns both layers, or it drops the
|
|
11
|
+
* Redis keys while every warm process keeps serving — and re-pinning — the
|
|
12
|
+
* value it had already resolved.
|
|
13
|
+
*
|
|
14
|
+
* It used to ride on `attachSettingsCacheInvalidator`, which also subscribed
|
|
15
|
+
* to `settings.value_changed`. The subscription is gone (issue #45); the
|
|
16
|
+
* registration is not, because it never had anything to do with the bus.
|
|
17
|
+
*/
|
|
18
|
+
const unregister = inProcessCaches.register(SETTINGS_CACHE_NAMESPACE, cache);
|
|
19
|
+
return { settingsService, cache, cacheRegistration: { dispose: unregister } };
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=compose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../src/kernel/settings/compose.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA6CxD,MAAM,UAAU,qBAAqB,CAAC,OAA8B;IAClE,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,IAAI,eAAe,CACzC,OAAO,CAAC,SAAS,EACjB,KAAK,EACL,OAAO,CAAC,mBAAmB,CAC5B,CAAC;IAEF;;;;;;;;;;OAUG;IACH,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAE7E,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC;AAChF,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { EntityManager } from '@mikro-orm/postgresql';
|
|
2
|
+
import { type ModuleSettingsManifest } from '@endora-commerce/contracts';
|
|
3
|
+
/**
|
|
4
|
+
* Manifest reconciler — feature 004 / US1 (T023).
|
|
5
|
+
*
|
|
6
|
+
* Walks a list of {@link ModuleSettingsManifest}s and ensures the database
|
|
7
|
+
* contains every declared group and setting. Idempotent: re-running adds only
|
|
8
|
+
* missing rows; never overwrites administrator-chosen `setting_values`. Boot
|
|
9
|
+
* sync NEVER deletes — only `modules:uninstall` removes entries (R-1).
|
|
10
|
+
*
|
|
11
|
+
* Errors:
|
|
12
|
+
* - {@link ManifestSchemaInvalid} — Zod parse failed.
|
|
13
|
+
* - {@link SettingCodeConflict} / {@link GroupCodeConflict} — code owned by
|
|
14
|
+
* a different module.
|
|
15
|
+
* - {@link BreakingChangeRejected} — `valueType` or `defaultValue` changed
|
|
16
|
+
* for an existing code (without `--force`).
|
|
17
|
+
*/
|
|
18
|
+
export declare class ManifestSchemaInvalid extends Error {
|
|
19
|
+
readonly issues: unknown;
|
|
20
|
+
readonly name = "ManifestSchemaInvalid";
|
|
21
|
+
constructor(issues: unknown);
|
|
22
|
+
}
|
|
23
|
+
export declare class SettingCodeConflict extends Error {
|
|
24
|
+
readonly code: string;
|
|
25
|
+
readonly existingOwnerModule: string;
|
|
26
|
+
readonly attemptedOwnerModule: string;
|
|
27
|
+
readonly name = "SettingCodeConflict";
|
|
28
|
+
constructor(code: string, existingOwnerModule: string, attemptedOwnerModule: string);
|
|
29
|
+
}
|
|
30
|
+
export declare class GroupCodeConflict extends Error {
|
|
31
|
+
readonly code: string;
|
|
32
|
+
readonly existingOwnerModule: string;
|
|
33
|
+
readonly attemptedOwnerModule: string;
|
|
34
|
+
readonly name = "GroupCodeConflict";
|
|
35
|
+
constructor(code: string, existingOwnerModule: string, attemptedOwnerModule: string);
|
|
36
|
+
}
|
|
37
|
+
export declare class BreakingChangeRejected extends Error {
|
|
38
|
+
readonly settingCode: string;
|
|
39
|
+
readonly field: 'valueType' | 'defaultValue';
|
|
40
|
+
readonly previous: unknown;
|
|
41
|
+
readonly attempted: unknown;
|
|
42
|
+
readonly name = "BreakingChangeRejected";
|
|
43
|
+
constructor(settingCode: string, field: 'valueType' | 'defaultValue', previous: unknown, attempted: unknown);
|
|
44
|
+
}
|
|
45
|
+
export interface ReconciliationOptions {
|
|
46
|
+
/** Bypass {@link BreakingChangeRejected}; existing setting_values are NOT touched even with --force. */
|
|
47
|
+
force?: boolean;
|
|
48
|
+
/** Validate manifests and compute the diff but do not write. */
|
|
49
|
+
dryRun?: boolean;
|
|
50
|
+
}
|
|
51
|
+
export interface ModuleReconciliationResult {
|
|
52
|
+
moduleCode: string;
|
|
53
|
+
addedGroups: number;
|
|
54
|
+
updatedGroups: number;
|
|
55
|
+
addedSettings: number;
|
|
56
|
+
updatedSettings: number;
|
|
57
|
+
orphanGroups: string[];
|
|
58
|
+
orphanSettings: string[];
|
|
59
|
+
}
|
|
60
|
+
export interface ReconciliationResult {
|
|
61
|
+
perModule: ModuleReconciliationResult[];
|
|
62
|
+
totalAddedGroups: number;
|
|
63
|
+
totalAddedSettings: number;
|
|
64
|
+
}
|
|
65
|
+
export declare class ManifestReconciler {
|
|
66
|
+
private readonly em;
|
|
67
|
+
constructor(em: EntityManager);
|
|
68
|
+
/**
|
|
69
|
+
* Apply the supplied manifests to the database.
|
|
70
|
+
*
|
|
71
|
+
* Within one apply() the manifests are processed in order; later manifests
|
|
72
|
+
* see earlier ones' groups, but ownership conflicts ALWAYS abort the whole
|
|
73
|
+
* batch — partial commits are rolled back via the surrounding transaction.
|
|
74
|
+
*/
|
|
75
|
+
apply(manifests: ModuleSettingsManifest[], options?: ReconciliationOptions): Promise<ReconciliationResult>;
|
|
76
|
+
private applyOne;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=manifest-reconciler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-reconciler.d.ts","sourceRoot":"","sources":["../../../src/kernel/settings/manifest-reconciler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAGL,KAAK,sBAAsB,EAE5B,MAAM,4BAA4B,CAAC;AAKpC;;;;;;;;;;;;;;GAcG;AAEH,qBAAa,qBAAsB,SAAQ,KAAK;aAElB,MAAM,EAAE,OAAO;IAD3C,SAAkB,IAAI,2BAA2B;gBACrB,MAAM,EAAE,OAAO;CAG5C;AAED,qBAAa,mBAAoB,SAAQ,KAAK;aAG1B,IAAI,EAAE,MAAM;aACZ,mBAAmB,EAAE,MAAM;aAC3B,oBAAoB,EAAE,MAAM;IAJ9C,SAAkB,IAAI,yBAAyB;gBAE7B,IAAI,EAAE,MAAM,EACZ,mBAAmB,EAAE,MAAM,EAC3B,oBAAoB,EAAE,MAAM;CAO/C;AAED,qBAAa,iBAAkB,SAAQ,KAAK;aAGxB,IAAI,EAAE,MAAM;aACZ,mBAAmB,EAAE,MAAM;aAC3B,oBAAoB,EAAE,MAAM;IAJ9C,SAAkB,IAAI,uBAAuB;gBAE3B,IAAI,EAAE,MAAM,EACZ,mBAAmB,EAAE,MAAM,EAC3B,oBAAoB,EAAE,MAAM;CAO/C;AAED,qBAAa,sBAAuB,SAAQ,KAAK;aAG7B,WAAW,EAAE,MAAM;aACnB,KAAK,EAAE,WAAW,GAAG,cAAc;aACnC,QAAQ,EAAE,OAAO;aACjB,SAAS,EAAE,OAAO;IALpC,SAAkB,IAAI,4BAA4B;gBAEhC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,WAAW,GAAG,cAAc,EACnC,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,OAAO;CAQrC;AAED,MAAM,WAAW,qBAAqB;IACpC,wGAAwG;IACxG,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gEAAgE;IAChE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,0BAA0B,EAAE,CAAC;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAiBD,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,aAAa;IAE9C;;;;;;OAMG;IACG,KAAK,CACT,SAAS,EAAE,sBAAsB,EAAE,EACnC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC;YA8ClB,QAAQ;CA4OvB"}
|