@wildo-ai/saas-backend-lib 1.1.12 → 1.1.13
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/dist/esm/base-classes/models/manual-controllers.backend.definition.d.ts.map +1 -1
- package/dist/esm/base-classes/models/manual-controllers.backend.definition.js +2 -0
- package/dist/esm/base-classes/models/manual-controllers.backend.definition.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/stored-field-omission.backend.d.ts +4 -0
- package/dist/esm/base-classes/services/repositories/stored-field-omission.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/stored-field-omission.backend.js +20 -5
- package/dist/esm/base-classes/services/repositories/stored-field-omission.backend.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.d.ts +3 -0
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.js +10 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.d.ts +22 -0
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.js +25 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-transaction-persistence.backend.utils.d.ts +38 -3
- package/dist/esm/base-classes/services/services/resource-operation-transaction-persistence.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-transaction-persistence.backend.utils.js +68 -5
- package/dist/esm/base-classes/services/services/resource-operation-transaction-persistence.backend.utils.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.d.ts +2 -2
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js +6 -3
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts +83 -0
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js +217 -14
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js.map +1 -1
- package/dist/esm/compliance/approval-seals/approval-seal-currency.backend.d.ts +32 -0
- package/dist/esm/compliance/approval-seals/approval-seal-currency.backend.d.ts.map +1 -0
- package/dist/esm/compliance/approval-seals/approval-seal-currency.backend.js +36 -0
- package/dist/esm/compliance/approval-seals/approval-seal-currency.backend.js.map +1 -0
- package/dist/esm/compliance/approval-seals/approval-seal-on-record.backend.d.ts +38 -0
- package/dist/esm/compliance/approval-seals/approval-seal-on-record.backend.d.ts.map +1 -0
- package/dist/esm/compliance/approval-seals/approval-seal-on-record.backend.js +83 -0
- package/dist/esm/compliance/approval-seals/approval-seal-on-record.backend.js.map +1 -0
- package/dist/esm/compliance/approval-seals/approval-seal-presentation-read.backend.d.ts +36 -0
- package/dist/esm/compliance/approval-seals/approval-seal-presentation-read.backend.d.ts.map +1 -0
- package/dist/esm/compliance/approval-seals/approval-seal-presentation-read.backend.js +51 -0
- package/dist/esm/compliance/approval-seals/approval-seal-presentation-read.backend.js.map +1 -0
- package/dist/esm/compliance/approval-seals/approval-seal-relay-store.backend.d.ts +46 -0
- package/dist/esm/compliance/approval-seals/approval-seal-relay-store.backend.d.ts.map +1 -1
- package/dist/esm/compliance/approval-seals/approval-seal-relay-store.backend.js +68 -0
- package/dist/esm/compliance/approval-seals/approval-seal-relay-store.backend.js.map +1 -1
- package/dist/esm/compliance/approval-seals/approval-seal-store.backend.d.ts +27 -0
- package/dist/esm/compliance/approval-seals/approval-seal-store.backend.d.ts.map +1 -1
- package/dist/esm/compliance/approval-seals/approval-seal-store.backend.js +42 -3
- package/dist/esm/compliance/approval-seals/approval-seal-store.backend.js.map +1 -1
- package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.contracts.d.ts +26 -1
- package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.contracts.d.ts.map +1 -1
- package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.contracts.js +10 -0
- package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.contracts.js.map +1 -1
- package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.controller.d.ts +10 -1
- package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.controller.d.ts.map +1 -1
- package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.controller.js +60 -28
- package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.controller.js.map +1 -1
- package/dist/esm/compliance/approval-seals/approval-seals-on-record.backend.controller.d.ts +90 -0
- package/dist/esm/compliance/approval-seals/approval-seals-on-record.backend.controller.d.ts.map +1 -0
- package/dist/esm/compliance/approval-seals/approval-seals-on-record.backend.controller.js +373 -0
- package/dist/esm/compliance/approval-seals/approval-seals-on-record.backend.controller.js.map +1 -0
- package/dist/esm/compliance/approval-seals/decision-presentation.backend.d.ts +29 -2
- package/dist/esm/compliance/approval-seals/decision-presentation.backend.d.ts.map +1 -1
- package/dist/esm/compliance/approval-seals/decision-presentation.backend.js +40 -3
- package/dist/esm/compliance/approval-seals/decision-presentation.backend.js.map +1 -1
- package/dist/esm/compliance/electronic-signatures/pdf-signature-structure.backend.d.ts.map +1 -1
- package/dist/esm/compliance/electronic-signatures/pdf-signature-structure.backend.js +34 -6
- package/dist/esm/compliance/electronic-signatures/pdf-signature-structure.backend.js.map +1 -1
- package/dist/esm/compliance/electronic-signatures/signature-request-evidence-files.backend.d.ts +30 -6
- package/dist/esm/compliance/electronic-signatures/signature-request-evidence-files.backend.d.ts.map +1 -1
- package/dist/esm/compliance/electronic-signatures/signature-request-evidence-files.backend.js +67 -22
- package/dist/esm/compliance/electronic-signatures/signature-request-evidence-files.backend.js.map +1 -1
- package/dist/esm/compliance/electronic-signatures/signature-request-poll.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/electronic-signatures/signature-request-poll.batch.backend.service.js +18 -1
- package/dist/esm/compliance/electronic-signatures/signature-request-poll.batch.backend.service.js.map +1 -1
- package/dist/esm/compliance/electronic-signatures/signature-requests.backend.service.d.ts +66 -1
- package/dist/esm/compliance/electronic-signatures/signature-requests.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/electronic-signatures/signature-requests.backend.service.js +161 -14
- package/dist/esm/compliance/electronic-signatures/signature-requests.backend.service.js.map +1 -1
- package/dist/esm/compliance/electronic-signatures/signed-document-validation.backend.d.ts +47 -0
- package/dist/esm/compliance/electronic-signatures/signed-document-validation.backend.d.ts.map +1 -1
- package/dist/esm/compliance/electronic-signatures/signed-document-validation.backend.js.map +1 -1
- package/dist/esm/external-providers/services/content-safety.backend.service.d.ts +27 -2
- package/dist/esm/external-providers/services/content-safety.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/content-safety.backend.service.js +46 -1
- package/dist/esm/external-providers/services/content-safety.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/embeddings.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/embeddings.backend.service.js +2 -0
- package/dist/esm/external-providers/services/embeddings.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts +11 -0
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.js +23 -0
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/provider-service-account-token.backend.d.ts +19 -1
- package/dist/esm/external-providers/services/provider-service-account-token.backend.d.ts.map +1 -1
- package/dist/esm/external-providers/services/provider-service-account-token.backend.js +41 -1
- package/dist/esm/external-providers/services/provider-service-account-token.backend.js.map +1 -1
- package/dist/esm/files/utils/file-parent-read-context.backend.d.ts +27 -2
- package/dist/esm/files/utils/file-parent-read-context.backend.d.ts.map +1 -1
- package/dist/esm/files/utils/file-parent-read-context.backend.js +23 -4
- package/dist/esm/files/utils/file-parent-read-context.backend.js.map +1 -1
- package/dist/esm/flows-actors/content-guardrails/classifier-availability.backend.utils.d.ts +26 -0
- package/dist/esm/flows-actors/content-guardrails/classifier-availability.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/content-guardrails/classifier-availability.backend.utils.js +100 -8
- package/dist/esm/flows-actors/content-guardrails/classifier-availability.backend.utils.js.map +1 -1
- package/dist/esm/flows-actors/content-guardrails/record-owner-policy.backend.d.ts +3 -1
- package/dist/esm/flows-actors/content-guardrails/record-owner-policy.backend.d.ts.map +1 -1
- package/dist/esm/flows-actors/content-guardrails/record-owner-policy.backend.js +8 -2
- package/dist/esm/flows-actors/content-guardrails/record-owner-policy.backend.js.map +1 -1
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts +43 -0
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.js +37 -0
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/services/agent-work-decisions.backend.service.d.ts +7 -0
- package/dist/esm/flows-actors/services/agent-work-decisions.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/agent-work-decisions.backend.service.js +8 -3
- package/dist/esm/flows-actors/services/agent-work-decisions.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/agents.backend.service.d.ts +31 -6
- package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/agents.backend.service.js +78 -30
- package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/autonomous-agent-turn.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/autonomous-agent-turn.backend.service.js +4 -0
- package/dist/esm/flows-actors/services/autonomous-agent-turn.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts +28 -2
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.js +132 -22
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/flow-actor-executions.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/flow-actor-executions.custom-impl.backend.service.js +12 -8
- package/dist/esm/flows-actors/services/flow-actor-executions.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts +5 -0
- package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/flows-actors-registry.service.js +18 -2
- package/dist/esm/flows-actors/services/flows-actors-registry.service.js.map +1 -1
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts +33 -0
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js +58 -0
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js.map +1 -1
- package/dist/esm/inbound/services/inbound-delivery-dispatch.backend.service.d.ts +12 -1
- package/dist/esm/inbound/services/inbound-delivery-dispatch.backend.service.d.ts.map +1 -1
- package/dist/esm/inbound/services/inbound-delivery-dispatch.backend.service.js +23 -4
- package/dist/esm/inbound/services/inbound-delivery-dispatch.backend.service.js.map +1 -1
- package/dist/esm/inbound/services/inbound-delivery-receiver.backend.service.d.ts +12 -1
- package/dist/esm/inbound/services/inbound-delivery-receiver.backend.service.d.ts.map +1 -1
- package/dist/esm/inbound/services/inbound-delivery-receiver.backend.service.js +55 -17
- package/dist/esm/inbound/services/inbound-delivery-receiver.backend.service.js.map +1 -1
- package/dist/esm/inbound/services/inbound-delivery-store.backend.service.d.ts +22 -1
- package/dist/esm/inbound/services/inbound-delivery-store.backend.service.d.ts.map +1 -1
- package/dist/esm/inbound/services/inbound-delivery-store.backend.service.js +52 -9
- package/dist/esm/inbound/services/inbound-delivery-store.backend.service.js.map +1 -1
- package/dist/esm/inbound/services/inbound-delivery-stored-body.backend.service.d.ts +79 -0
- package/dist/esm/inbound/services/inbound-delivery-stored-body.backend.service.d.ts.map +1 -0
- package/dist/esm/inbound/services/inbound-delivery-stored-body.backend.service.js +211 -0
- package/dist/esm/inbound/services/inbound-delivery-stored-body.backend.service.js.map +1 -0
- package/dist/esm/inbound/services/inbound-delivery-subject-erasure-severance.backend.d.ts +2 -2
- package/dist/esm/inbound/services/inbound-delivery-subject-erasure-severance.backend.d.ts.map +1 -1
- package/dist/esm/inbound/services/inbound-delivery-subject-erasure-severance.backend.js +9 -1
- package/dist/esm/inbound/services/inbound-delivery-subject-erasure-severance.backend.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/inject/models/container.d.ts.map +1 -1
- package/dist/esm/inject/models/container.js +6 -0
- package/dist/esm/inject/models/container.js.map +1 -1
- package/dist/esm/inject/models/service-types.d.ts +5 -0
- package/dist/esm/inject/models/service-types.d.ts.map +1 -1
- package/dist/esm/inject/models/service-types.js +3 -0
- package/dist/esm/inject/models/service-types.js.map +1 -1
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts +5 -0
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.js.map +1 -1
- package/dist/esm/monitoring/observability/services/metrics.service.d.ts +34 -1
- package/dist/esm/monitoring/observability/services/metrics.service.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/services/metrics.service.js +49 -0
- package/dist/esm/monitoring/observability/services/metrics.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts +6 -1
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js +15 -4
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.custom-impl.backend.service.js +3 -1
- package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/http-server.backend.service.d.ts +3 -1
- package/dist/esm/runtime/services/http-server.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/http-server.backend.service.js +11 -3
- package/dist/esm/runtime/services/http-server.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/utils/inbound-endpoint-raw-body.backend.utils.d.ts +22 -0
- package/dist/esm/runtime/services/utils/inbound-endpoint-raw-body.backend.utils.d.ts.map +1 -1
- package/dist/esm/runtime/services/utils/inbound-endpoint-raw-body.backend.utils.js +54 -0
- package/dist/esm/runtime/services/utils/inbound-endpoint-raw-body.backend.utils.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.d.ts +51 -0
- package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.js +87 -15
- package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.js +5 -2
- package/dist/esm/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js +65 -24
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts +64 -1
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js +84 -2
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts +14 -0
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js +13 -5
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/users/services/anonymous-consent.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/anonymous-consent.custom-impl.backend.service.js +6 -2
- package/dist/esm/users/services/anonymous-consent.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/users/services/user-force-password-reset.custom-impl.backend.service.d.ts +7 -0
- package/dist/esm/users/services/user-force-password-reset.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/user-force-password-reset.custom-impl.backend.service.js +65 -20
- package/dist/esm/users/services/user-force-password-reset.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/users/services/user-role-administration.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/user-role-administration.custom-impl.backend.service.js +11 -4
- package/dist/esm/users/services/user-role-administration.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/users/services/user-self-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/users/services/user-self-custom-implementations.backend.js +4 -2
- package/dist/esm/users/services/user-self-custom-implementations.backend.js.map +1 -1
- package/dist/esm/users/services/user-super-admin-floor.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/user-super-admin-floor.custom-impl.backend.service.js +16 -0
- package/dist/esm/users/services/user-super-admin-floor.custom-impl.backend.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +10 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../../../src/inject/models/container.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ConnectionTargetAuthorizationPort } from '~wildo-backend-lib/external-providers/services/provider-http-access.backend';\nimport { Container, injectable } from 'inversify';\nimport 'reflect-metadata';\nimport { SAAS_SERVICE_TYPES } from './service-types';\n\n// Core Services\nimport { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';\nimport { AppConfigurationService } from '~wildo-backend-lib/config/services/app-configuration.backend.service';\nimport { AppConfigurationLoaderService } from '~wildo-backend-lib/config/services/app-configuration-loader.backend.service';\nimport { ApplicationStartupConfigValidatorService } from '~wildo-backend-lib/config/services/application-startup-config-validator.backend.service';\nimport { RedisService } from '~wildo-backend-lib/databases/services/redis.service';\nimport { MongoDBService } from '~wildo-backend-lib/databases/services/mongodb.service';\nimport { PostgreSQLDatabaseBackendService } from '~wildo-backend-lib/databases/services/postgresql-database.backend.service';\nimport { ResourcePersistenceUnitOfWorkBackendService } from '~wildo-backend-lib/databases/services/resource-persistence-unit-of-work.backend.service';\n\n// Authentication & Security Services\nimport { JwtBackendService } from '~wildo-backend-lib/security/jwt/services/jwt.backend.service';\nimport { WildoWorkerBootstrapClientService } from '~wildo-backend-lib/security/jwt/services/wildo-worker-bootstrap-client.backend.service';\nimport { AuthorizationsBackendService } from '~wildo-backend-lib/security/authorizations/services/authorizations.backend.service';\n\n// Audit & Compliance Services\nimport { AuditLogsBackendService } from '~wildo-backend-lib/compliance/audit-trails/services/audit-logs.backend.service';\nimport { SubjectErasureExternalEffectsRegistryBackendService } from '~wildo-backend-lib/compliance/privacy/services/subject-erasure-external-effects.backend.service';\nimport { SubjectSessionRevocationBackendService } from '~wildo-backend-lib/compliance/privacy/services/subject-session-revocation.backend.service';\nimport { AuditEventDispatcherBackendService } from '~wildo-backend-lib/compliance/audit-trails/services/audit-event-dispatcher.backend.service';\nimport { SIEMWebhookDeliveryBackendService } from '~wildo-backend-lib/compliance/audit-trails/services/siem-webhook-delivery.backend.service';\n\n\n// Communication Services\nimport { WebSocketService } from '~wildo-backend-lib/requests/service/websocket.service';\n\n// Error Handling Services\nimport { ErrorHandlerService } from '~wildo-backend-lib/errors/services/error-handler.backend.service';\nimport { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';\nimport { RateLimitBackendService } from '~wildo-backend-lib/errors/services/rate-limit.backend.service';\n\n// Monitoring Services\nimport { MetricsService } from '~wildo-backend-lib/monitoring/observability/services/metrics.service';\nimport { ObservabilityBackendService } from '~wildo-backend-lib/monitoring/observability/services/observability.backend.service';\n\n// Organization Services\nimport { AuthOrganizationConfigurationService } from '~wildo-backend-lib/security/authentications/services/admin-config/auth-organization-configuration.service';\n\n// Repository Services\nimport { ResourceOperationHelperBackendService } from '~wildo-backend-lib/base-classes/services/resource-operations-helper.backend.service';\nimport { RepositoriesRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/repositories/repositories-registry-handler.backend.service';\nimport { EvidenceReferencesBackendService } from '~wildo-backend-lib/resources/services/evidence-references.backend.service';\nimport { ZodToMongooseSchemaConvertorBackendService } from '~wildo-backend-lib/databases/services/zod-to-mongoose-schema-convertor.backend.service';\nimport { ZodToSqlHybridSchemaPlannerBackendService } from '~wildo-backend-lib/databases/services/zod-to-sql-hybrid-schema.planner';\nimport { PostgreSQLFilterBackendService } from '~wildo-backend-lib/databases/services/postgresql-filter.backend.service';\n\n// Database-agnostic Services\nimport { ResourceIdBackendService } from '~wildo-backend-lib/resources/services/resource-id.backend.service';\n\n// Service Layer Services\nimport { ServicesRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/services/services-registry-handler.backend.service';\nimport { SystemAccessBackendService } from '~wildo-backend-lib/base-classes/services/services/system-access.backend.service';\nimport { OrganizationProviderCredentialStoreBackendService } from '~wildo-backend-lib/security/connected-accounts/services/organization-provider-credential-store.backend.service';\nimport { UserProviderCredentialStoreBackendService } from '~wildo-backend-lib/security/connected-accounts/services/user-provider-credential-store.backend.service';\nimport { ApplicationProviderCredentialStoreBackendService } from '~wildo-backend-lib/security/connected-accounts/services/application-provider-credential-store.backend.service';\nimport { ProviderOAuth2PendingAuthorizationBackendService } from '~wildo-backend-lib/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service';\nimport { ProviderOAuth2RefresherBackendService } from '~wildo-backend-lib/security/connected-accounts/services/provider-oauth2-refresher.backend.service';\nimport { ProviderAudienceTokenCacheBackendService } from '~wildo-backend-lib/security/connected-accounts/services/provider-audience-token-cache.backend.service';\nimport { ProviderOAuth2RevokerBackendService } from '~wildo-backend-lib/security/connected-accounts/services/provider-oauth2-revoker.backend.service';\nimport { ProviderConnectionControllerBackendService } from '~wildo-backend-lib/security/connected-accounts/controllers/provider-connection.controller.backend.service';\nimport { ProviderOperationControllerBackendService } from '~wildo-backend-lib/external-providers/operations/controllers/provider-operation.controller.backend.service';\nimport { InitiatorMembershipConnectionTargetAuthorization } from '~wildo-backend-lib/security/connected-accounts/connection-target-authorization.backend';\nimport { RuntimePrincipalBackendService } from '~wildo-backend-lib/config/bootstrap/runtime-principal.backend.service';\nimport { RuntimePrincipalAttestationBackendService } from '~wildo-backend-lib/config/bootstrap/runtime-principal-attestation.backend.service';\n\n// Controller Layer Services\nimport { ControllersRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/controllers/controllers-registry-handler.backend.service';\nimport { ApplicationConfigControllerBackendService } from '~wildo-backend-lib/config/custom/application-config-controller.backend.service';\nimport { AuthenticationControllerBackendService } from '~wildo-backend-lib/security/authentications/controllers/authentication-controller.backend.service';\nimport { OAuthProviderControllerBackendService } from '~wildo-backend-lib/security/authentications/controllers/oauth-provider-controller.backend.service';\nimport { OidcAuthorizationCodeBackendService } from '~wildo-backend-lib/security/authentications/services/oidc-authorization-code.backend.service';\nimport { OidcUserClaimsBackendService } from '~wildo-backend-lib/security/authentications/services/oidc-user-claims.backend.service';\nimport { CimdClientMetadataBackendService } from '~wildo-backend-lib/security/authentications/services/cimd-client-metadata.backend.service';\n// === MCP === (external-access MCP-server branch — additive)\nimport { McpToolAdapterBackendService } from '~wildo-backend-lib/mcp/services/mcp-tool-adapter.backend.service';\nimport { McpServerBackendService } from '~wildo-backend-lib/mcp/services/mcp-server.backend.service';\nimport { ResourceServerInstancesRegistryBackendService } from '~wildo-backend-lib/mcp/services/resource-server-instances-registry.backend.service';\nimport { MCPControllerBackendService } from '~wildo-backend-lib/mcp/controllers/mcp.controller';\n// === /MCP ===\nimport { I18nControllerBackendService } from '~wildo-backend-lib/i18n/controllers/i18n-controller.backend.service';\nimport { AuthenticationOrchestratorBackendService } from '~wildo-backend-lib/security/authentications/services/authentication-orchestrator.backend.service';\nimport { AuthExecutionContextFactoryBackendService } from '~wildo-backend-lib/security/authentications/services/auth-execution-context-factory.backend.service';\nimport { AuthSessionStoreBackendService } from '~wildo-backend-lib/security/authentications/services/auth-session-store.backend.service';\nimport { AuthCredentialVerifierBackendService } from '~wildo-backend-lib/security/authentications/services/auth-credential-verifier.backend.service';\nimport { AuthTokenIssuerBackendService } from '~wildo-backend-lib/security/authentications/services/auth-token-issuer.backend.service';\nimport { MachineTokenIssuerBackendService } from '~wildo-backend-lib/security/authentications/services/machine-token-issuer.backend.service';\nimport { OAuthProviderTokenBackendService } from '~wildo-backend-lib/security/authentications/services/oauth-provider-token.backend.service';\nimport { AuthResponseHelperBackendService } from '~wildo-backend-lib/security/authentications/services/utils/auth-response-helper.backend.service';\nimport { AuthUserLookupBackendService } from '~wildo-backend-lib/security/authentications/services/utils/auth-user-lookup.backend.service';\nimport { RecipientLanguageBackendService } from '~wildo-backend-lib/notifications/services/recipient-language.backend.service';\nimport { AuthCredentialOpsBackendService } from '~wildo-backend-lib/security/authentications/services/utils/auth-credential-ops.backend.service';\nimport { AuthJwtGuardBackendService } from '~wildo-backend-lib/security/jwt/services/auth-jwt-guard.backend.service';\nimport { AuthPasswordResetBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/auth-password-reset.backend.service';\nimport { AuthRegistrationBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/auth-registration.backend.service';\nimport { EmailVerificationInitiatorBackendService } from '~wildo-backend-lib/security/authentications/services/email-verification-initiator.backend.service';\nimport { AuthMfaBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/auth-mfa.backend.service';\nimport { AuthPhoneVerificationBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/auth-phone-verification.backend.service';\nimport { OAuth2ConnectionResolverBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service';\nimport { OAuth2AuthenticationBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/oauth2-authentication.backend.service';\nimport { OIDCDiscoveryBackendService } from '~wildo-backend-lib/security/authentications/services/admin-config/oidc-discovery.backend.service';\nimport { DomainToOrgLookupBackendService } from '~wildo-backend-lib/security/authentications/services/admin-config/domain-to-org-lookup.backend.service';\nimport { DomainVerificationBackendService } from '~wildo-backend-lib/security/authentications/services/admin-config/domain-verification.backend.service';\nimport { EnterpriseUserProvisioningBackendService } from '~wildo-backend-lib/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service';\nimport { WebAuthnBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/webauthn.backend.service';\nimport { SCIMControllerBackendService } from '~wildo-backend-lib/security/scim/controllers/scim.backend.controller';\nimport { AuthMethodManagementBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/auth-method-management.backend.service';\nimport { AuthMethodSurvivalBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/auth-method-survival.backend.service';\nimport { AuthMethodManagementControllerBackendService } from '~wildo-backend-lib/security/authentications/controllers/auth-method-management-controller.backend.service';\nimport { SAMLReplayGuardBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/saml-replay-guard.backend.service';\nimport { SAMLMetadataBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/saml-metadata.backend.service';\nimport { SAMLAssertionValidatorBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/saml-assertion-validator.backend.service';\nimport { SAMLAuthenticationBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/saml-authentication.backend.service';\nimport { HealthControllerBackendService } from '~wildo-backend-lib/runtime/controllers/health-controller.backend.service';\n\n// HTTP Server Services\nimport { HttpServerBackendService } from '~wildo-backend-lib/runtime/services/http-server.backend.service';\n\n// Resource Registry Services\nimport { ResourcesRegistryBackendService } from '~wildo-backend-lib/resources/services/resources-registry.backend.service';\nimport { ApplicationOwnerOrganizationResolverBackendService } from '~wildo-backend-lib/organizations/services/application-owner-organization-resolver.backend.service';\nimport { RelationshipInvitationDeliveryBackendService } from '~wildo-backend-lib/organizations/organization-relationships/relationship-invitation-delivery.backend.service';\nimport { SystemsOfRecordRegistryBackendService } from '~wildo-backend-lib/systems-of-record/systems-of-record-registry.backend.service';\nimport { SYSTEMS_OF_RECORD_REGISTRY_SERVICE_TYPE } from '~wildo-backend-lib/systems-of-record/systems-of-record-registry.service-type.backend';\nimport { SystemOfRecordActionExecutorBackendService } from '~wildo-backend-lib/systems-of-record/system-of-record-action-executor.backend.service';\nimport { VirtualFieldsBackendService } from '~wildo-backend-lib/resources/services/virtual-fields.backend.service';\nimport { ResourcePopulationBackendService } from '~wildo-backend-lib/resources/services/resource-population.backend.service';\nimport { ResourceContextBackendService } from '~wildo-backend-lib/resources/services/resource-context.backend.service';\n\n// External Providers Registry Services\nimport { BackendProviderRegistryBackendService } from '~wildo-backend-lib/external-providers/services/backend-provider-registry.backend.service';\nimport { ExternalProvidersRegistryBackendService } from '~wildo-backend-lib/external-providers/services/external-providers-registry.backend.service';\nimport { ExternalProvidersHttpApiAccessResolver } from '~wildo-backend-lib/external-providers/services/provider-http-access.backend';\nimport { SharedRateBudgetLedgerBackendService } from '~wildo-backend-lib/base-classes/services/repositories/http-api/shared-rate-budget-ledger.backend.service';\nimport { ProviderOperationExecutorBackendService } from '~wildo-backend-lib/external-providers/operations/provider-operation-executor.backend.service';\nimport { ProviderCapabilityCallRecorderBackendService } from '~wildo-backend-lib/external-providers/capability-calls/provider-capability-call-recorder.backend';\nimport { ProviderCallDataResidencyGate, registerProviderCallDataResidencyGate } from '~wildo-backend-lib/external-providers/data-residency/provider-call-data-residency-gate.backend';\nimport {\n isCaptchaVerifierProvider,\n SubmissionChallengeBackendService,\n} from '~wildo-backend-lib/security/submission-challenge/submission-challenge.backend.service';\nimport { SubmissionChallengeControllerBackendService } from '~wildo-backend-lib/security/submission-challenge/submission-challenge.backend.controller';\nimport { CspViolationReportsControllerBackendService } from '~wildo-backend-lib/monitoring/csp-violation-reports/csp-violation-reports.backend.controller';\nimport { ConnectionRateBudgetBackendService } from '~wildo-backend-lib/external-providers/rate-budgets/connection-rate-budget.backend.service';\nimport { DefaultFrontendBootstrapBackendService } from '~wildo-backend-lib/external-providers/services/frontend-bootstrap.backend.service';\n\n// Feature System Services\nimport { FeatureDefinitionRegistryBackendService } from '~wildo-backend-lib/features/services/feature-definition-registry.backend.service';\nimport { FeatureResolutionBackendService } from '~wildo-backend-lib/features/services/feature-resolution.backend.service';\nimport { FeatureGateBackendService } from '~wildo-backend-lib/features/services/feature-gate.backend.service';\nimport { FeaturesControllerBackendService } from '~wildo-backend-lib/features/controllers/features.backend.controller';\n\n// Consumable Token Services\nimport { ConsumableTokenBackendService } from '~wildo-backend-lib/security/consumable-tokens/services/consumable-token.backend.service';\nimport { AnonymousSessionBackendService } from '~wildo-backend-lib/security/authentications/services/anonymous-session.backend.service';\n\n// Billing System Services\nimport { BillingFeatureSyncBackendService } from '~wildo-backend-lib/billing/services/back-office/billing-feature-sync.backend.service';\nimport { ReferralProgramBackendService } from '~wildo-backend-lib/billing/services/referrals/referral-program.backend.service';\nimport { ProductCatalogSyncBackendService } from '~wildo-backend-lib/billing/services/back-office/product-catalog-sync.backend.service';\nimport { UsageMeteringBackendService } from '~wildo-backend-lib/billing/services/back-office/usage-metering.backend.service';\nimport { BillingReconciliationBackendService } from '~wildo-backend-lib/billing/services/back-office/billing-reconciliation.backend.service';\nimport { BillingStateBackendService } from '~wildo-backend-lib/billing/services/back-office/billing-state.backend.service';\nimport { BillingEffectOutboxRelayBackendService } from '~wildo-backend-lib/billing/services/billing-effect-outbox-relay.backend.service';\nimport { ApprovalSealRelayBackendService } from '~wildo-backend-lib/compliance/approval-seals/approval-seal-relay.backend.service';\nimport { ApprovalSealsAdminBackendController } from '~wildo-backend-lib/compliance/approval-seals/approval-seals-admin.backend.controller';\nimport { BillingSubscriptionMutationRecoveryBackendService } from '~wildo-backend-lib/billing/services/billing-subscription-mutation-recovery.backend.service';\nimport { BillingSubscriptionErasureCancellationBackendService } from '~wildo-backend-lib/billing/services/billing-subscription-erasure-cancellation.backend';\nimport { WebhookHandlerBackendService } from '~wildo-backend-lib/notifications/webhooks/services/webhook-handler.backend.service';\nimport { WebhookAutoControllerBackendService } from '~wildo-backend-lib/notifications/webhooks/controllers/webhook-auto-controller.backend.service';\nimport { PolymorphicLookupBackendService } from '~wildo-backend-lib/notifications/webhooks/services/polymorphic-lookup.backend.service';\nimport { InboundHandlerRegistryBackendService } from '~wildo-backend-lib/inbound/services/inbound-handler-registry.backend.service';\nimport { InboundDeliveryStoreBackendService } from '~wildo-backend-lib/inbound/services/inbound-delivery-store.backend.service';\nimport { InboundDeliveryReceiverBackendService } from '~wildo-backend-lib/inbound/services/inbound-delivery-receiver.backend.service';\nimport { InboundDeliveryDispatchBackendService } from '~wildo-backend-lib/inbound/services/inbound-delivery-dispatch.backend.service';\nimport { InboundChannelHandlerRegistryBackendService } from '~wildo-backend-lib/inbound/services/inbound-channel-handler-registry.backend.service';\nimport { InboundChannelIntakeBackendService } from '~wildo-backend-lib/inbound/services/inbound-channel-intake.backend.service';\nimport { InboundChannelRuntimeBackendService } from '~wildo-backend-lib/inbound/services/inbound-channel-runtime.backend.service';\nimport { InboundAttachmentAdoptionBackendService } from '~wildo-backend-lib/inbound/services/inbound-attachment-adoption.backend.service';\nimport { InboundReplyBackendService } from '~wildo-backend-lib/inbound/services/inbound-reply.backend.service';\nimport { InboundReplyTokenBackendService } from '~wildo-backend-lib/inbound/services/inbound-reply-token.backend.service';\nimport { ChatIdentityLinkBackendService } from '~wildo-backend-lib/inbound/services/chat-identity-link.backend.service';\nimport { ChatAgentsBackendService } from '~wildo-backend-lib/flows-actors/services/chat-agents.backend.service';\nimport { ChatConversationStoreBackendService } from '~wildo-backend-lib/flows-actors/services/chat-conversation-store.backend.service';\nimport { ChatConversationDoorBackendService } from '~wildo-backend-lib/flows-actors/services/chat-conversation-door.backend.service';\nimport { ChatReplyHandlersBackendService } from '~wildo-backend-lib/flows-actors/services/chat-reply-handlers.backend.service';\nimport { ChatReplyDispatchBackendService } from '~wildo-backend-lib/flows-actors/services/chat-reply-dispatch.backend.service';\nimport { ChatMemberActionsBackendService } from '~wildo-backend-lib/inbound/services/chat-member-actions.backend.service';\nimport { ChatCommandCatalogBackendService } from '~wildo-backend-lib/inbound/chat-commands/chat-command-catalog.backend.service';\nimport { ChatCommandDoorBackendService } from '~wildo-backend-lib/inbound/chat-commands/chat-command-door.backend.service';\nimport { ChatSearchLaneBackendService } from '~wildo-backend-lib/inbound/chat-commands/chat-search-lane.backend.service';\nimport { ChatCommandFormLaneBackendService } from '~wildo-backend-lib/inbound/chat-commands/chat-command-form-lane.backend.service';\nimport { InboundEmailProviderBackendService } from '~wildo-backend-lib/inbound/email/inbound-email-provider.backend.service';\nimport { InboundEmailRoutingBackendService } from '~wildo-backend-lib/inbound/email/inbound-email-routing.backend.service';\nimport { InboundEmailReceptionBackendService } from '~wildo-backend-lib/inbound/email/inbound-email-reception.backend.service';\nimport { InboundEmailReplyAddressingBackendService } from '~wildo-backend-lib/inbound/email/inbound-email-reply-addressing.backend.service';\nimport { OrganizationEmailDomainsBackendService } from '~wildo-backend-lib/inbound/email/organization-email-domains.backend.service';\nimport { OrganizationCustomDomainsBackendService } from '~wildo-backend-lib/organizations/custom-domains/organization-custom-domains.backend.service';\nimport { CustomDomainHostResolverBackendService } from '~wildo-backend-lib/organizations/custom-domains/custom-domain-host-resolver.backend.service';\nimport { CustomDomainEdgeBackendService } from '~wildo-backend-lib/organizations/custom-domains/custom-domain-edge.backend.service';\nimport { DnsTxtLookupBackendService } from '~wildo-backend-lib/security/dns/dns-txt-lookup.backend.service';\nimport type { ServerProducedFileWriterDependencies } from '~wildo-backend-lib/files/services/server-produced-file-writer.backend';\n\n// Application Runtime Services\nimport { StartApplicationBackendService } from '~wildo-backend-lib/runtime/services/start-application.backend.service';\nimport { ExecutionContextHandlerBackendService } from '~wildo-backend-lib/runtime/services/execution-context-handler.backend.service';\nimport { ExecutionContextCreatorBackendService } from '~wildo-backend-lib/runtime/services/execution-context-creator.backend.service';\n\n// Notification Services\nimport { NotificationDispatcherService } from '~wildo-backend-lib/notifications/services/notifications-dispatcher.backend.service';\nimport { createEngineNotificationContextContributions } from '~wildo-backend-lib/notifications/services/engine-notification-context-contributions.backend';\nimport { NotificationBadgeBackendService } from '~wildo-backend-lib/notifications/services/notification-badge.backend.service';\n// M2M Outbound Webhook Services (Phase 3 — m2m-webhook-organization-delivery)\nimport { WebhookConfigBackendService } from '~wildo-backend-lib/notifications/webhooks/outbound/services/webhook-config.backend.service';\nimport { WebhookVerificationKeySetBackendService } from '~wildo-backend-lib/notifications/webhooks/outbound/services/webhook-verification-key-set.backend.service';\nimport { WEBHOOK_VERIFICATION_KEY_SET_SOURCE } from '@wildo-ai/saas-models';\nimport { M2MWebhookDispatcherBackendService } from '~wildo-backend-lib/notifications/webhooks/outbound/services/m2m-webhook-dispatcher.backend.service';\nimport { M2MWebhookDeliveryLogRepository } from '~wildo-backend-lib/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.repository';\n\nimport { BatchesCronjobsExecutor_BackendService } from '~wildo-backend-lib/base-classes/services/batches/batches-cronjobs-executor.backend.service';\n// Handlers (placeholders)\nimport { ExternalApiHandlerBackendService } from '~wildo-backend-lib/external-providers/services/external-api-handler.backend.service';\nimport { PlatformMutualizedHandlerBackendService } from '~wildo-backend-lib/requests/service/platform-mutualized-handler.backend.service';\nimport { ServerlessServicesHandlerBackendService } from '~wildo-backend-lib/requests/service/serverless-services-handler.backend.service';\n\nimport { ResourceOperationCustomImplementationRegistryBackendService } from '~wildo-backend-lib/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service';\nimport { I18nBackendService } from '~wildo-backend-lib/i18n/services/i18n.backend.service';\n\n// Flows-Actors Services\nimport { FlowsActorsRegistryService } from '~wildo-backend-lib/flows-actors/services/flows-actors-registry.service';\nimport { McpClientBackendService } from '~wildo-backend-lib/flows-actors/services/mcp-client.backend.service';\nimport { McpCredentialResolverBackendService } from '~wildo-backend-lib/flows-actors/services/mcp-credential-resolver.backend.service';\nimport { FlowsActorsControllerBackendService } from '~wildo-backend-lib/flows-actors/controllers/flows-actors.controller';\nimport { AgentsBackendService } from '~wildo-backend-lib/flows-actors/services/agents.backend.service';\nimport { ConversationalExecutionBackendService } from '~wildo-backend-lib/flows-actors/services/conversational-execution.backend.service';\nimport { AutonomousAgentTurnBackendService } from '~wildo-backend-lib/flows-actors/services/autonomous-agent-turn.backend.service';\nimport { WorkUnitCaseBackendService } from '~wildo-backend-lib/flows-actors/services/work-unit-case.backend.service';\nimport { RepresentativeAdmissionDecisionsBackendService } from '~wildo-backend-lib/organizations/organization-relationships/representative-admission-decisions.backend.service';\nimport { OperationApprovalHoldBackendService } from '~wildo-backend-lib/flows-actors/operation-approvals/operation-approval-hold.backend.service';\nimport { OperationApprovalDecisionsBackendService } from '~wildo-backend-lib/flows-actors/operation-approvals/operation-approval-decisions.backend.service';\nimport { OperationApprovalResolversBackendService } from '~wildo-backend-lib/flows-actors/operation-approvals/operation-approval-resolvers.backend.service';\n// === A2A (external actor exposure) ===\nimport { A2ABackendService } from '~wildo-backend-lib/flows-actors/a2a/services/a2a.backend.service';\nimport { A2ATokenBudgetBackendService, createModelUsageCeilingUsageReader, createPersonTokenCeilingUsageReader } from '~wildo-backend-lib/flows-actors/a2a/services/a2a-token-budget.backend.service';\nimport { A2ATaskBackendService } from '~wildo-backend-lib/flows-actors/a2a/services/a2a-task.backend.service';\nimport { A2APushDeliveryLogRepository } from '~wildo-backend-lib/flows-actors/a2a/services/a2a-push-delivery-log.repository';\nimport { A2APushDispatcherBackendService } from '~wildo-backend-lib/flows-actors/a2a/services/a2a-push-dispatcher.backend.service';\nimport { A2ATaskCancellationBackendService } from '~wildo-backend-lib/flows-actors/a2a/services/a2a-task-cancellation.backend.service';\nimport { A2AControllerBackendService } from '~wildo-backend-lib/flows-actors/a2a/controllers/a2a.controller';\nimport { LlmObservabilityAgentCallTraceSink } from '~wildo-backend-lib/flows-actors/services/llm-observability-agent-call-trace-sink.backend';\nimport { ProviderCallRecorderBackendService } from '~wildo-backend-lib/flows-actors/services/provider-call-recorder.backend.service';\nimport { CompositeAuditLogSink } from '~wildo-backend-lib/compliance/audit-trails/services/composite-audit-log-sink.backend';\nimport { LoggerAlertDispatchSink } from '~wildo-backend-lib/monitoring/alerting/alert-dispatch-sinks.backend';\nimport { AlertingBackendService } from '~wildo-backend-lib/monitoring/alerting/alerting.backend.service';\nimport { AgentTraceabilityLevel, ModelUsageUnit, QueueAdapterType, type AgentTraceabilityPolicy, type AlertDispatchSink } from '@wildo-ai/saas-models';\nimport { ContextCurationBackendService } from '~wildo-backend-lib/flows-actors/services/context-curation.backend.service';\nimport { PromptCompilerBackendService } from '~wildo-backend-lib/flows-actors/services/prompt-compiler.backend.service';\nimport { FlowsBackendService } from '~wildo-backend-lib/flows-actors/services/flows.backend.services';\nimport { ActorsSystemBackendService } from '~wildo-backend-lib/flows-actors/services/actors-system.backend.service';\nimport { ApplicationActorExecutionPersistence } from '~wildo-backend-lib/flows-actors/services/application-actor-execution-persistence.backend.service';\nimport { ActorSystemDecisionsBackendService } from '~wildo-backend-lib/flows-actors/services/actor-system-decisions.backend.service';\nimport { HumanDecisionNoticeStayStoreBackendService } from '~wildo-backend-lib/flows-actors/services/human-decision-notice-stay-store.backend.service';\nimport { HumanDecisionNoticeHandlersBackendService } from '~wildo-backend-lib/flows-actors/services/human-decision-notice-handlers.backend.service';\nimport { HumanDecisionNoticeReconcileBackendService } from '~wildo-backend-lib/flows-actors/services/human-decision-notice-reconcile.backend.service';\nimport { HumanDecisionNoticeDispatchBackendService } from '~wildo-backend-lib/flows-actors/services/human-decision-notice-dispatch.backend.service';\nimport { HumanDecisionNoticeWordsBackendService } from '~wildo-backend-lib/flows-actors/services/human-decision-notice-words.backend.service';\nimport type { HumanDecisionNoticeSource } from '~wildo-backend-lib/flows-actors/models/human-decision-notice-source.backend.port';\nimport type { HumanDecisionHost } from '~wildo-backend-lib/flows-actors/models/human-decision-host.backend.port';\n\n// File Management Services\nimport { FileConstraintResolverChain } from '~wildo-backend-lib/files/constraints/file-constraint-resolver-chain.backend.service';\nimport { FileValidationService } from '~wildo-backend-lib/files/constraints/file-validation.backend.service';\nimport { SharpFileImageAnalyzer } from '~wildo-backend-lib/files/constraints/sharp-file-image-analyzer.backend.service';\nimport { ResourceFieldConstraintResolver } from '~wildo-backend-lib/files/constraints/resource-field-constraint-resolver.backend.service';\nimport { FilesBackendService } from '~wildo-backend-lib/files/services/files.backend.service';\nimport { ResourceFileUploadHandlerBackendService } from '~wildo-backend-lib/files/handlers/resource-file-upload-handler.backend.service';\nimport { FileFieldDetectionBackendService } from '~wildo-backend-lib/files/services/file-field-detection.backend.service';\nimport { RagSourceFieldDetectionBackendService } from '~wildo-backend-lib/files/services/rag-source-field-detection.backend.service';\nimport { RagChunkStoreBackendService } from '~wildo-backend-lib/rag/services/rag-chunk-store.backend.service';\nimport { MongodbRagChunkStoreBackendService } from '~wildo-backend-lib/rag/services/mongodb-rag-chunk-store.backend.service';\nimport { PostgresqlRagChunkStoreBackendService } from '~wildo-backend-lib/rag/services/postgresql-rag-chunk-store.backend.service';\nimport { RagIngestionBackendService } from '~wildo-backend-lib/rag/services/rag-ingestion.backend.service';\nimport { RagRetrievalBackendService } from '~wildo-backend-lib/rag/services/rag-retrieval.backend.service';\nimport { EmbeddingsBackendService } from '~wildo-backend-lib/external-providers/services/embeddings.backend.service';\nimport { DocumentExtractionBackendService } from '~wildo-backend-lib/external-providers/services/document-extraction.backend.service';\nimport { ContentSafetyBackendService } from '~wildo-backend-lib/external-providers/services/content-safety.backend.service';\nimport { ElectronicSignatureBackendService } from '~wildo-backend-lib/external-providers/services/electronic-signature.backend.service';\nimport { SignatureRequestsBackendService } from '~wildo-backend-lib/compliance/electronic-signatures/signature-requests.backend.service';\nimport { PadesSignedDocumentValidator } from '~wildo-backend-lib/compliance/electronic-signatures/pades-signed-document-validator.backend';\nimport { SignatureRequestEvidenceFilesBackendService } from '~wildo-backend-lib/compliance/electronic-signatures/signature-request-evidence-files.backend';\nimport { SignatureRequestTriggerBackendService } from '~wildo-backend-lib/compliance/electronic-signatures/signature-request-trigger.backend.service';\nimport { FileController } from '~wildo-backend-lib/files/controllers/file.controller';\nimport { FilePopulationBackendService } from '~wildo-backend-lib/files/services/file-population.backend.service';\nimport { FileOperationHandlerBackendService } from '~wildo-backend-lib/files/services/file-operation-handler.backend.service';\nimport { FileScanningBackendService } from '~wildo-backend-lib/files/services/file-scanning.backend.service';\nimport { FileUploadGrantBackendService } from '~wildo-backend-lib/files/services/file-upload-grant.backend.service';\nimport { ClamAVScannerBackendService } from '~wildo-backend-lib/files/scanning/clamav-scanner.backend.service';\nimport { YaraScannerBackendService } from '~wildo-backend-lib/files/scanning/yara-scanner.backend.service';\nimport { FileTextExtractionBackendService } from '~wildo-backend-lib/files/services/file-text-extraction.backend.service';\nimport { WildoManagedStorageProvider } from '~wildo-backend-lib/files/storage/wildo-managed-storage-provider.backend.service';\nimport { LocalDirectoryStorageProvider } from '~wildo-backend-lib/files/storage/local-directory-storage-provider.backend.service';\nimport { GoogleDriveStorageProvider } from '~wildo-backend-lib/files/storage/google-drive-storage-provider.backend.service';\nimport { FileStorageRouterBackendService } from '~wildo-backend-lib/files/storage/file-storage-router.backend.service';\nimport { ContributedFileStorageProvidersBackendService } from '~wildo-backend-lib/files/storage/contributed-file-storage-providers.backend.service';\nimport { FileStoragePathResolverBackendService } from '~wildo-backend-lib/files/storage/file-storage-path-resolver.backend.service';\nimport { PdfTemplateBindingBackendService } from '~wildo-backend-lib/pdf-templates/services/pdf-template-binding.backend.service';\nimport { PdfCollectionExportTemplateBackendService } from '~wildo-backend-lib/pdf-templates/services/pdf-collection-export-template.backend.service';\nimport { PdfGeneratedFileWriterBackendService } from '~wildo-backend-lib/pdf-templates/services/pdf-generated-file-writer.backend.service';\nimport { ProviderDocumentFileWriterBackendService } from '~wildo-backend-lib/external-providers/operations/provider-document-file-writer.backend.service';\nimport { PdfRendererBackendService } from '~wildo-backend-lib/pdf-templates/services/pdf-renderer.backend.service';\nimport { PdfGenerationOrchestratorBackendService } from '~wildo-backend-lib/pdf-templates/services/pdf-generation-orchestrator.backend.service';\n\n// Queue System Services\nimport { bindQueueAdapter } from '~wildo-backend-lib/queue/adapters/queue-adapter.backend.binding';\nimport { QueueBackendService } from '~wildo-backend-lib/queue/queue.backend.service';\nimport { JobExecutorBackendService } from '~wildo-backend-lib/queue/job-executor.backend.service';\nimport { JobStatusTrackingBackendService } from '~wildo-backend-lib/queue/job-status-tracking.backend.service';\nimport { JobPayloadStorageBackendService } from '~wildo-backend-lib/queue/job-payload-storage.backend.service';\nimport { JobConsumerBackendService } from '~wildo-backend-lib/queue/job-consumer.backend.service';\nimport { WorkerShutdownManagerBackendService } from '~wildo-backend-lib/queue/worker-shutdown-manager.backend.service';\nimport { JobCompletionRegistryBackendService } from '~wildo-backend-lib/queue/job-completion-registry.backend.service';\nimport { DomainQueueConsumerBackendService } from '~wildo-backend-lib/queue/domain-queue-consumer.backend.service';\nimport { ScheduledMessageVerifierBackendService } from '~wildo-backend-lib/queue/scheduled-message-verifier.backend.service';\nimport { QueueMonitoringBackendService } from '~wildo-backend-lib/queue/queue-monitoring.backend.service';\nimport { QueueWorkerInitializerBackendService } from '~wildo-backend-lib/queue/queue-worker-initializer.backend.service';\nimport { CronJobSyncBackendService } from '~wildo-backend-lib/queue/cron-job-sync.backend.service';\n\n// Remote Client Services\nimport { AppsCrontabManagerBackendService } from '~wildo-backend-lib/queue/apps-crontabs-manager.backend.service';\nimport { WorkerRemoteClientFactoryBackendService } from '~wildo-backend-lib/applications/services/worker-remote-client-factory.backend.service';\nimport { ApplicationIdentityBackendService } from '~wildo-backend-lib/applications/services/application-identity.backend.service';\n\n// Aggregation & Chart Services\nimport { MongoAggregationCompilerBackendService } from '~wildo-backend-lib/databases/services/mongo-aggregation.backend.service';\nimport { PostgreSQLAggregationCompilerBackendService } from '~wildo-backend-lib/databases/services/postgresql-aggregation.backend.service';\nimport { AggregationQueryBackendService } from '~wildo-backend-lib/databases/services/aggregation/aggregation-query.backend.service';\nimport { FieldAccessValidatorBackendService } from '~wildo-backend-lib/databases/services/aggregation/field-access-validator.backend.service';\nimport { AggregationAuthorizationBackendService } from '~wildo-backend-lib/databases/services/aggregation/aggregation-authorization.backend.service';\nimport { TimeSeriesDensifierBackendService } from '~wildo-backend-lib/databases/services/aggregation/time-series-densifier.backend.service';\nimport { ComputedMeasureEvaluatorBackendService } from '~wildo-backend-lib/databases/services/aggregation/computed-measure-evaluator.backend.service';\nimport { WindowFunctionProcessorBackendService } from '~wildo-backend-lib/databases/services/aggregation/window-function-processor.backend.service';\nimport { TopNProcessorBackendService } from '~wildo-backend-lib/databases/services/aggregation/topn-processor.backend.service';\nimport { ChartRegistryBackendService } from '~wildo-backend-lib/charts/services/chart-registry.backend.service';\nimport { ChartControllerBackendService } from '~wildo-backend-lib/charts/controllers/chart.backend.controller';\nimport { SubjectErasureLaneEvidenceBackendService } from '~wildo-backend-lib/compliance/privacy/services/subject-erasure-lane-evidence.backend.service';\nimport { SubjectErasureLaneEvidenceControllerBackendService } from '~wildo-backend-lib/compliance/privacy/controllers/subject-erasure-lane-evidence.backend.controller';\nimport { DataSubjectRequestDownloadControllerBackendService } from '~wildo-backend-lib/compliance/privacy/controllers/data-subject-request-download.backend.controller';\nimport { ProviderCallEvidenceBackendService } from '~wildo-backend-lib/flows-actors/services/provider-call-evidence.backend.service';\nimport { ProviderCallEvidenceControllerBackendService } from '~wildo-backend-lib/flows-actors/controllers/provider-call-evidence.backend.controller';\nimport { AgentOperationEvidenceControllerBackendService } from '~wildo-backend-lib/flows-actors/controllers/agent-operation-evidence.backend.controller';\nimport { AgentOperationEvidenceBackendService } from '~wildo-backend-lib/flows-actors/services/agent-operation-evidence.backend.service';\nimport { AgentBehaviorReportEvidenceControllerBackendService } from '~wildo-backend-lib/flows-actors/controllers/agent-behavior-report-evidence.backend.controller';\nimport { AgentBehaviorReportEvidenceBackendService } from '~wildo-backend-lib/flows-actors/services/agent-behavior-report-evidence.backend.service';\nimport { ModelCostBackendService } from '~wildo-backend-lib/flows-actors/services/model-cost.backend.service';\nimport { ModelCostSummaryControllerBackendService } from '~wildo-backend-lib/flows-actors/controllers/model-cost-summary.backend.controller';\nimport { RepresentativeActivityBackendService } from '~wildo-backend-lib/compliance/audit-trails/services/representative-activity.backend.service';\nimport { RepresentativeActivityControllerBackendService } from '~wildo-backend-lib/compliance/audit-trails/controllers/representative-activity.backend.controller';\nimport { AgentWorkDecisionsBackendService } from '~wildo-backend-lib/flows-actors/services/agent-work-decisions.backend.service';\nimport { AgentWorkDecisionsControllerBackendService } from '~wildo-backend-lib/flows-actors/controllers/agent-work-decisions.backend.controller';\nimport { RetentionEnforcementEvidenceControllerBackendService } from '~wildo-backend-lib/compliance/privacy/controllers/retention-enforcement-evidence.backend.controller';\nimport { RetentionEnforcementEvidenceBackendService } from '~wildo-backend-lib/compliance/privacy/services/retention-enforcement-evidence.backend.service';\nimport { PublishedVerificationKeysBackendService } from '~wildo-backend-lib/security/crypto-keys/published-verification-keys.backend.service';\nimport { ApprovalSealKeysControllerBackendService } from '~wildo-backend-lib/security/crypto-keys/approval-seal-keys.backend.controller';\nimport { ApplicationKeysBackendService } from '~wildo-backend-lib/security/crypto-keys/application-keys.backend.service';\nimport { ApplicationDataKeysBackendService } from '~wildo-backend-lib/security/crypto-keys/application-data-keys.backend.service';\nimport { UsageFlushEvidenceBackendService } from '~wildo-backend-lib/billing/services/usage-flush-evidence.backend.service';\nimport { UsageFlushEvidenceControllerBackendService } from '~wildo-backend-lib/billing/controllers/usage-flush-evidence.backend.controller';\nimport { ProviderComplianceStateEvidenceBackendService } from '~wildo-backend-lib/external-providers/services/provider-compliance-state-evidence.backend.service';\nimport { ProviderComplianceStateEvidenceControllerBackendService } from '~wildo-backend-lib/external-providers/controllers/provider-compliance-state-evidence.backend.controller';\nimport { ScheduledEvidenceCoverageControllerBackendService } from '~wildo-backend-lib/compliance/privacy/controllers/scheduled-evidence-coverage.backend.controller';\nimport { ResourceOperationJobStatusControllerBackendService } from '~wildo-backend-lib/queue/controllers/resource-operation-job-status.backend.controller';\nimport { GovernedDocumentAcceptanceControllerBackendService } from '~wildo-backend-lib/compliance/documents/controllers/governed-document-acceptance.backend.controller';\n\n// Analytics & Value Moment Services\nimport { ValueMomentHandlerRegistryBackendService } from '~wildo-backend-lib/monitoring/analytics/services/value-moment-handler-registry.backend.service';\nimport { ValueMomentEngineBackendService } from '~wildo-backend-lib/monitoring/analytics/services/value-moment-engine.backend.service';\nimport { ValueMomentDefinitionRegistryBackendService } from '~wildo-backend-lib/monitoring/analytics/services/value-moment-definition-registry.backend.service';\nimport { AnalyticsBackendController } from '~wildo-backend-lib/monitoring/analytics/controllers/analytics.backend.controller';\n\n// Guidance System Services\nimport { GuidanceTriggerEvaluatorBackendService } from '~wildo-backend-lib/guidance/services/guidance-trigger-evaluator.backend.service';\n\n// Progression System Services\nimport { MilestoneDefinitionRegistryBackendService } from '~wildo-backend-lib/guidance/services/milestone-definition-registry.backend.service';\nimport { MilestoneConditionRegistryBackendService } from '~wildo-backend-lib/guidance/services/milestone-condition-registry.backend.service';\nimport { MilestoneEvaluatorBackendService } from '~wildo-backend-lib/guidance/services/milestone-evaluator.backend.service';\nimport { ProgressionStateStoreBackendService } from '~wildo-backend-lib/guidance/services/progression-state-store.backend.service';\nimport { LifecycleEvaluatorBackendService } from '~wildo-backend-lib/guidance/services/lifecycle-evaluator.backend.service';\n\n// Data Seeding System Services\nimport { DataSeedRegistryBackendService } from '~wildo-backend-lib/data-seeding/services/data-seed-registry.backend.service';\nimport { DataSeedDispatcherBackendService } from '~wildo-backend-lib/data-seeding/services/data-seed-dispatcher.backend.service';\nimport { AdditiveSeedEngineBackendService } from '~wildo-backend-lib/data-seeding/services/engines/additive-seed-engine.backend.service';\nimport { UpgradeSeedEngineBackendService } from '~wildo-backend-lib/data-seeding/services/engines/upgrade-seed-engine.backend.service';\nimport { SyncSeedEngineBackendService } from '~wildo-backend-lib/data-seeding/services/engines/sync-seed-engine.backend.service';\nimport { ExternalDataPipelineRunBackendService } from '~wildo-backend-lib/external-data/external-data-pipeline-run.backend.service';\nimport { ExternalDataPipelineKeyRequestsBackendService } from '~wildo-backend-lib/external-data/external-data-pipeline-key-requests.backend.service';\nimport { ExternalDataAdminBackendController } from '~wildo-backend-lib/external-data/controllers/external-data-admin.backend.controller';\nimport { LazySeedEngineBackendService } from '~wildo-backend-lib/data-seeding/services/engines/lazy-seed-engine.backend.service';\nimport { ManualSeedEngineBackendService } from '~wildo-backend-lib/data-seeding/services/engines/manual-seed-engine.backend.service';\nimport { DataSeedScopeResolverRegistryBackendService } from '~wildo-backend-lib/data-seeding/services/data-seed-scope-resolver-registry.backend.service';\nimport { DataSeedingAdminBackendController } from '~wildo-backend-lib/data-seeding/controllers/data-seeding-admin.backend.controller';\n\n// Email System Services\nimport { EmailTemplateValidatorBackendService } from '~wildo-backend-lib/notifications/email/services/email-template-validator.backend.service';\nimport { EmailTemplateRegistryBackendService } from '~wildo-backend-lib/notifications/email/services/email-template-registry.backend.service';\nimport { EmailBackendService } from '~wildo-backend-lib/notifications/email/services/email.backend.service';\nimport { SMSBackendService } from '~wildo-backend-lib/notifications/sms/services/sms.backend.service';\nimport { CryptoKey_Purpose } from '@wildo-ai/saas-models';\nimport { applicationSymmetricKeyOf } from '~wildo-backend-lib/security/crypto-keys/application-symmetric-keys.backend';\n\n/**\n * Global container instance for cross-package injection\n * This enables other packages to access backend services\n */\nlet globalContainer: Container | null = null;\n\n\n/**\n * Core SaaS Backend Dependency Injection Container\n *\n * This container provides currently implemented SaaS infrastructure services.\n * Services are bound based on their implementation status and dependencies.\n */\nexport class SaasContainer {\n private container: Container;\n\n constructor() {\n this.container = new Container({\n defaultScope: 'Singleton',\n });\n this.setupCoreServices();\n }\n\n /**\n * Setup currently implemented SaaS infrastructure services\n */\n private setupCoreServices(): void {\n // Configure container options\n\n // Bind the container itself for services that need to resolve dependencies dynamically\n this.container.bind(SAAS_SERVICE_TYPES.Container).toConstantValue(this.container);\n this.container.bind('Container').toConstantValue(this.container);\n\n\n // Core Infrastructure Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.Logger).to(LoggerService).inSingletonScope();\n\n // Database Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.RedisService).to(RedisService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.MongoDBService).to(MongoDBService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PostgreSQLDatabaseService).to(PostgreSQLDatabaseBackendService).inSingletonScope();\n\n // Configuration Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.AppConfigService).to(AppConfigurationService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AppConfigLoaderService).to(AppConfigurationLoaderService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ApplicationStartupConfigValidatorService).to(ApplicationStartupConfigValidatorService).inSingletonScope();\n\n // Authentication & Security Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.JwtBackendService).to(JwtBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.WildoWorkerBootstrapClientService).to(WildoWorkerBootstrapClientService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthorizationsService).to(AuthorizationsBackendService).inSingletonScope();\n\n // Communication Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.WebSocketService).to(WebSocketService).inSingletonScope();\n\n // Error Handling Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.ErrorHandlerService).to(ErrorHandlerService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ErrorBuilderService).to(ErrorBuilderBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RateLimitBackendService).to(RateLimitBackendService).inSingletonScope();\n\n // Audit & Compliance Services - Currently Implemented & Bound\n // SIEM dispatcher + delivery must be bound before AuditLogsService (which depends on dispatcher)\n this.container.bind(SAAS_SERVICE_TYPES.AuditEventDispatcherService).to(AuditEventDispatcherBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SIEMWebhookDeliveryService).to(SIEMWebhookDeliveryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuditLogsService).to(AuditLogsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SubjectErasureExternalEffectsService).to(SubjectErasureExternalEffectsRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SubjectSessionRevocationService).to(SubjectSessionRevocationBackendService).inSingletonScope();\n\n // Monitoring & Observability Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.MetricsService).to(MetricsService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ObservabilityBackendService).to(ObservabilityBackendService).inSingletonScope();\n\n // Organization Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.AuthOrganizationConfigurationService).to(AuthOrganizationConfigurationService).inSingletonScope();\n\n // Database Converter Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.ZodToMongooseSchemaConvertorService).to(ZodToMongooseSchemaConvertorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ZodToSqlHybridSchemaPlannerService).to(ZodToSqlHybridSchemaPlannerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PostgreSQLFilterBackendService).to(PostgreSQLFilterBackendService).inSingletonScope();\n\n // Database-agnostic Services\n this.container.bind(SAAS_SERVICE_TYPES.ResourceIdBackendService).to(ResourceIdBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ResourcePersistenceUnitOfWorkService).to(ResourcePersistenceUnitOfWorkBackendService).inSingletonScope();\n\n // Repository Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.ResourceOperationHelperService).to(ResourceOperationHelperBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RepositoriesRegistryHandlerService).to(RepositoriesRegistryHandlerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.EvidenceReferencesService).to(EvidenceReferencesBackendService).inSingletonScope();\n\n // Service Layer Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.ServicesRegistryHandlerService).to(ServicesRegistryHandlerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SystemAccessService).to(SystemAccessBackendService).inSingletonScope();\n // The organization-provider-credential store (#357). Bound in singleton scope like its siblings;\n // the provider registry consumes it through the narrow resolver port, @optional, so a host that\n // never binds it resolves provider secrets from the deployment environment exactly as before.\n this.container.bind(SAAS_SERVICE_TYPES.OrganizationProviderCredentialResolver)\n .to(OrganizationProviderCredentialStoreBackendService).inSingletonScope();\n // The per-USER credential store. Bound beside the organization one and NOT @optional in effect:\n // the resolver refuses a person-owned connection outright when nothing is bound, because a\n // person's credential has nothing to fall through to. An unbound store here is a wiring fault,\n // never a deployment choice.\n this.container.bind(SAAS_SERVICE_TYPES.UserProviderCredentialResolver)\n .to(UserProviderCredentialStoreBackendService).inSingletonScope();\n // The application's own stored OAuth2 grants (#3398). Unbound, an APPLICATION target reads the deployment environment\n // only, exactly as before the store existed.\n this.container.bind(SAAS_SERVICE_TYPES.ApplicationProviderCredentialResolver)\n .to(ApplicationProviderCredentialStoreBackendService).inSingletonScope();\n // The in-flight authorization record. Singleton over the Redis client like its siblings; it holds\n // no state of its own, and what it stores is bounded by a ten-minute TTL rather than by anything\n // this process remembers.\n this.container.bind(SAAS_SERVICE_TYPES.ProviderOAuth2PendingAuthorizationService)\n .to(ProviderOAuth2PendingAuthorizationBackendService).inSingletonScope();\n // The token refresher. Singleton so its in-flight map is shared across every caller in this\n // process — the map IS the single-flight, and a per-request instance would hold one entry and\n // collapse nothing.\n this.container.bind(SAAS_SERVICE_TYPES.ProviderOAuth2Refresher)\n .to(ProviderOAuth2RefresherBackendService).inSingletonScope();\n // The sealed cache of a shared connection's non-primary audience tokens (#1725). Holds nothing itself; Redis does.\n this.container.bind(SAAS_SERVICE_TYPES.ProviderAudienceTokenCache)\n .to(ProviderAudienceTokenCacheBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ProviderOAuth2Revoker)\n .to(ProviderOAuth2RevokerBackendService).inSingletonScope();\n // The connect controller — the two HTTP legs of the authorization-code flow.\n this.container.bind(SAAS_SERVICE_TYPES.ProviderConnectionController)\n .to(ProviderConnectionControllerBackendService).inSingletonScope();\n // The browser door to a declared provider operation (#367). A plain `.to()` binding, unlike the\n // executor it calls: a controller is a leaf, and it reaches the executor through that singleton so\n // every browser-triggered call shares the provider's one rate window.\n this.container.bind(SAAS_SERVICE_TYPES.ProviderOperationController)\n .to(ProviderOperationControllerBackendService).inSingletonScope();\n // WHO may spend WHOSE account. Bound rather than left @optional, because the resolver REFUSES\n // every non-application target when nothing is bound: correct as a default, and useless as a\n // permanent state. The implementation reads the initiator's organization-wide memberships out of\n // the execution context and touches no repository, so binding it costs no boot dependency — which\n // is why it can be bound this early beside the store it guards.\n this.container.bind(SAAS_SERVICE_TYPES.ConnectionTargetAuthorizationPort)\n .to(InitiatorMembershipConnectionTargetAuthorization).inSingletonScope();\n // Process-level runtime identity, initialized once at startup. Singleton because a\n // process has exactly one identity for its lifetime.\n this.container.bind(SAAS_SERVICE_TYPES.RuntimePrincipalService).to(RuntimePrincipalBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RuntimePrincipalAttestationService).to(RuntimePrincipalAttestationBackendService).inSingletonScope();\n\n // Controller Layer Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.ControllersRegistryHandlerService).to(ControllersRegistryHandlerBackendService).inSingletonScope();\n\n // Manual Controllers - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.ApplicationConfigController).to(ApplicationConfigControllerBackendService).inSingletonScope();\n // Authentication sub-services\n this.container.bind(SAAS_SERVICE_TYPES.AuthSessionStore).to(AuthSessionStoreBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthCredentialVerifier).to(AuthCredentialVerifierBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthTokenIssuer).to(AuthTokenIssuerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.MachineTokenIssuer).to(MachineTokenIssuerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OAuthProviderToken).to(OAuthProviderTokenBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OidcAuthorizationCode).to(OidcAuthorizationCodeBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OidcUserClaims).to(OidcUserClaimsBackendService).inSingletonScope();\n // Singleton on purpose: the CIMD service holds the per-pod client-metadata cache, so a\n // transient binding would give every authorize request a cold cache and turn each one into an\n // outbound fetch of a stranger's URL.\n this.container.bind(SAAS_SERVICE_TYPES.CimdClientMetadata).to(CimdClientMetadataBackendService).inSingletonScope();\n // === MCP === (external-access MCP-server branch — additive)\n this.container.bind(SAAS_SERVICE_TYPES.McpToolAdapter).to(McpToolAdapterBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.McpServer).to(McpServerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ResourceServerInstancesRegistry).to(ResourceServerInstancesRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.MCPController).to(MCPControllerBackendService).inSingletonScope();\n // === /MCP ===\n // Auth controller extraction services (auth-controller-service-migration)\n this.container.bind(SAAS_SERVICE_TYPES.AuthResponseHelperService).to(AuthResponseHelperBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthUserLookupService).to(AuthUserLookupBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RecipientLanguageService).to(RecipientLanguageBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthCredentialOpsService).to(AuthCredentialOpsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthJwtGuardService).to(AuthJwtGuardBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthPasswordResetService).to(AuthPasswordResetBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthRegistrationService).to(AuthRegistrationBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.EmailVerificationInitiatorService).to(EmailVerificationInitiatorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthMfaService).to(AuthMfaBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthPhoneVerificationService).to(AuthPhoneVerificationBackendService).inSingletonScope();\n // OAuth2 Authentication Services (Step 4)\n // NOTE: Resolver must be bound BEFORE the engine (engine depends on resolver via DI)\n this.container.bind(SAAS_SERVICE_TYPES.OIDCDiscoveryService).to(OIDCDiscoveryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OAuth2ConnectionResolverService).to(OAuth2ConnectionResolverBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OAuth2AuthenticationService).to(OAuth2AuthenticationBackendService).inSingletonScope();\n // Enterprise SSO Services (Steps 14-15)\n this.container.bind(SAAS_SERVICE_TYPES.DomainToOrgLookupService).to(DomainToOrgLookupBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.DomainVerificationService).to(DomainVerificationBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.EnterpriseUserProvisioningService).to(EnterpriseUserProvisioningBackendService).inSingletonScope();\n // WebAuthn/Passkey ceremony service (Phase G1)\n this.container.bind(SAAS_SERVICE_TYPES.WebAuthnService).to(WebAuthnBackendService).inSingletonScope();\n // SCIM Controller (Step 20) — directory provisioning via SCIM 2.0\n this.container.bind(SAAS_SERVICE_TYPES.SCIMController).to(SCIMControllerBackendService).inSingletonScope();\n // SAML 2.0 Protocol Engine (AUTH-2)\n this.container.bind(SAAS_SERVICE_TYPES.SAMLReplayGuardService).to(SAMLReplayGuardBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SAMLMetadataService).to(SAMLMetadataBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SAMLAssertionValidatorService).to(SAMLAssertionValidatorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SAMLAuthenticationService).to(SAMLAuthenticationBackendService).inSingletonScope();\n // Auth method management (#13f)\n this.container.bind(SAAS_SERVICE_TYPES.AuthMethodManagementService).to(AuthMethodManagementBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthMethodSurvivalService).to(AuthMethodSurvivalBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthMethodManagementController).to(AuthMethodManagementControllerBackendService).inSingletonScope();\n // Auth EC factory (W2.9) + orchestrator\n this.container.bind(SAAS_SERVICE_TYPES.AuthExecutionContextFactory).to(AuthExecutionContextFactoryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthenticationOrchestratorService).to(AuthenticationOrchestratorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthenticationController).to(AuthenticationControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OAuthProviderController).to(OAuthProviderControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.I18nController).to(I18nControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.HealthController).to(HealthControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileController).to(FileController).inSingletonScope();\n\n // HTTP Server Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.HttpServerService).to(HttpServerBackendService).inSingletonScope();\n\n // Resource Registry Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.ResourceRegistryService).to(ResourcesRegistryBackendService).inSingletonScope();\n // #1054 — singleton because it CACHES the owner organization id for the process lifetime; a\n // transient would re-read on every guard and lose the invalidation the promotion door performs.\n this.container.bind(SAAS_SERVICE_TYPES.ApplicationOwnerOrganizationResolver).to(ApplicationOwnerOrganizationResolverBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RelationshipInvitationDeliveryService).to(RelationshipInvitationDeliveryBackendService).inSingletonScope();\n // #1055 — singleton because the PREPARATION is the point: every declared instance is joined with\n // its vendor facet and this environment's values ONCE, at boot, and every reader takes the result\n // from here. A transient would re-derive per call, which is the three-hand-constructed-resolvers\n // shape #1044 records.\n // #1729 — where vendor rate budgets are counted. Bound BEFORE the registry and the executor that spend it. A\n // singleton only for its throttled store-failure log: the counts themselves live in Redis (or in the budget\n // objects, when this process has no Redis).\n this.container.bind(SAAS_SERVICE_TYPES.HttpApiRateBudgetLedgerService).to(SharedRateBudgetLedgerBackendService).inSingletonScope();\n this.container.bind(SYSTEMS_OF_RECORD_REGISTRY_SERVICE_TYPE).to(SystemsOfRecordRegistryBackendService).inSingletonScope();\n // #1678 — the one door to a declared system-of-record ACTION. Singleton for its per-binding read clients (the Odoo uid\n // is minted once per credential). Bound under a PUBLIC member, unlike the registry above: it returns results, never access.\n this.container.bind(SAAS_SERVICE_TYPES.SystemOfRecordActionExecutorService).to(SystemOfRecordActionExecutorBackendService).inSingletonScope();\n\n // Virtual Fields Services - For decorator-based field handling\n this.container.bind(SAAS_SERVICE_TYPES.VirtualFieldsService).to(VirtualFieldsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ResourceContextService).to(ResourceContextBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ResourcePopulationService).to(ResourcePopulationBackendService).inSingletonScope();\n\n // Backend Provider Registry - first-class provider modules\n this.container.bind(SAAS_SERVICE_TYPES.BackendProviderRegistryService).to(BackendProviderRegistryBackendService).inSingletonScope();\n\n // External Providers Registry Services - Runtime policy/config/secrets facade\n this.container.bind(SAAS_SERVICE_TYPES.ExternalProvidersRegistryService).to(ExternalProvidersRegistryBackendService).inSingletonScope();\n\n /*\n * The operation lane, bound by FACTORY rather than by decoration.\n *\n * Both classes stay plain, which is what the lane's other classes are and what lets the\n * repositories registry keep constructing its own resolver with `new`.\n *\n * This construction is handed the bound `ConnectionTargetAuthorizationPort` (#1044). The port's\n * absence is deliberately fail-closed — the resolver REFUSES every non-application connection target\n * — which is right as a default and wrong as the production state: until 2026-09-14 this site omitted\n * it, and every organization- or user-owned connection reached through the operation executor and the\n * browser door answered \"no target-authorization port is bound\". (The comment that stood here said the\n * port was a token \"which nothing binds\"; it has been bound, above, since 5c077287.)\n *\n * Only THIS construction carries it. The repositories registry's and the pipeline's own resolvers\n * serve the HTTP_API lane, which spends the application's service identity and is being replaced by\n * the systems-of-record mechanism (#1049 / #1055); a customer's own connection has no binding there.\n *\n * Singleton on purpose: the executor memoizes a catalogue per `(providerRef, domain)` and holds\n * one rate-limit window per provider. A transient would re-load 6,054 operations per call and\n * give every caller its own window, which is not a rate limit.\n */\n this.container\n .bind(SAAS_SERVICE_TYPES.HttpApiProviderAccessResolverService)\n .toDynamicValue(\n () =>\n new ExternalProvidersHttpApiAccessResolver(\n this.container.get<ExternalProvidersRegistryBackendService>(SAAS_SERVICE_TYPES.ExternalProvidersRegistryService),\n // WHO may spend WHOSE account (#1044). Without it the resolver refuses every organization- or\n // user-owned connection by design, so every customer's own connection was advertised and unusable.\n this.container.get<ConnectionTargetAuthorizationPort>(SAAS_SERVICE_TYPES.ConnectionTargetAuthorizationPort),\n ),\n )\n .inSingletonScope();\n // #1938 — ONE instance for every lane that spends a connection (the provider operation executor, Google Drive\n // storage, the MCP client), so each builds the same budget keys and, on a host without the shared ledger, even the\n // in-process fallback counts one window.\n this.container\n .bind(SAAS_SERVICE_TYPES.ConnectionRateBudgetService)\n .toDynamicValue(\n () =>\n new ConnectionRateBudgetBackendService(\n this.container.get<ExternalProvidersRegistryBackendService>(SAAS_SERVICE_TYPES.ExternalProvidersRegistryService),\n this.container.get<SharedRateBudgetLedgerBackendService>(SAAS_SERVICE_TYPES.HttpApiRateBudgetLedgerService),\n ),\n )\n .inSingletonScope();\n // Both of this class's security observations were DEAD in production until 2026-09-09, and the\n // cause was here: it was constructed with two of its six parameters, so the audit resolver and\n // the credential-use recorder were `undefined` for the process's whole life. Nothing failed —\n // each seam feature-detects its sink and does nothing when there is none — so every outbound\n // provider call left no trail and every stored credential stayed UNVALIDATED however well it\n // worked. The collaborators are a NAMED bag now precisely so a future addition cannot be\n // forgotten by being invisible, and the observations are counted when they drop, so a repeat of\n // this would raise `audit_observation_dropped_total` instead of being silent.\n //\n // Every resolver below is LAZY and resolved per loss/emission rather than at bind time: this\n // binding is evaluated during startup, and eagerly `get`ting the audit service or the metrics\n // service here would pull their subgraphs into the provider lane's construction order.\n this.container\n .bind(SAAS_SERVICE_TYPES.ProviderOperationExecutorService)\n .toDynamicValue(\n () =>\n new ProviderOperationExecutorBackendService(\n this.container.get<ExternalProvidersRegistryBackendService>(SAAS_SERVICE_TYPES.ExternalProvidersRegistryService),\n this.container.get<ExternalProvidersHttpApiAccessResolver>(SAAS_SERVICE_TYPES.HttpApiProviderAccessResolverService),\n {\n auditResolver: () => this.resolveOptional<AuditLogsBackendService>(SAAS_SERVICE_TYPES.AuditLogsService),\n // #1729 / #1938 — the connection's vendor budgets, shared with every other lane that spends a connection and\n // counted where every process of the application sees them.\n rateBudgets: this.container.get<ConnectionRateBudgetBackendService>(SAAS_SERVICE_TYPES.ConnectionRateBudgetService),\n metricsResolver: () => this.resolveOptional<MetricsService>(SAAS_SERVICE_TYPES.MetricsService),\n // Delegating objects rather than resolved instances, so the logger is fetched at the\n // moment there is something to say and never during this binding's evaluation.\n logger: { error: (message, context) => this.resolveOptional<LoggerService>(SAAS_SERVICE_TYPES.Logger)?.error(message, context) },\n warn: (message: string) => this.resolveOptional<LoggerService>(SAAS_SERVICE_TYPES.Logger)?.warn(message),\n },\n ),\n )\n .inSingletonScope();\n // #1712 — the capability egresses' outbound record. Lazy for the executor's reason above: the email, SMS and storage\n // services inject this, and resolving the audit service while they are constructed would close a cycle.\n this.container\n .bind(SAAS_SERVICE_TYPES.ProviderCapabilityCallRecorder)\n .toDynamicValue(\n () =>\n new ProviderCapabilityCallRecorderBackendService({\n auditResolver: () => this.resolveOptional<AuditLogsBackendService>(SAAS_SERVICE_TYPES.AuditLogsService),\n metricsResolver: () => this.resolveOptional<MetricsService>(SAAS_SERVICE_TYPES.MetricsService),\n logger: { error: (message, context) => this.resolveOptional<LoggerService>(SAAS_SERVICE_TYPES.Logger)?.error(message, context) },\n }),\n )\n .inSingletonScope();\n // #2294 — an organization's data residency, applied to every provider call made for it. Registered on the module-level\n // port the egresses call (some are plain functions with no DI graph), with every collaborator resolved per call: the\n // provider registry is initialized, and the audit service constructed, long after this binding runs.\n registerProviderCallDataResidencyGate(new ProviderCallDataResidencyGate({\n registry: () => this.resolveOptional<BackendProviderRegistryBackendService>(SAAS_SERVICE_TYPES.BackendProviderRegistryService),\n organizations: () => this.resolveOptional<RepositoriesRegistryHandlerBackendService>(SAAS_SERVICE_TYPES.RepositoriesRegistryHandlerService),\n audit: () => this.resolveOptional<AuditLogsBackendService>(SAAS_SERVICE_TYPES.AuditLogsService),\n logger: { error: (message, context) => this.resolveOptional<LoggerService>(SAAS_SERVICE_TYPES.Logger)?.error(message, context) },\n }));\n // #1735 — the public-submission challenge. Lazy for the same reason: it is bound before the provider registry is\n // initialized, and custom-implementation utils reach it through the services registry handler.\n this.container\n .bind(SAAS_SERVICE_TYPES.SubmissionChallengeService)\n .toDynamicValue(\n () =>\n new SubmissionChallengeBackendService({\n captchaProviders: () => {\n const registry = this.resolveOptional<BackendProviderRegistryBackendService>(SAAS_SERVICE_TYPES.BackendProviderRegistryService);\n return registry ? [...registry.getRegistry().modules.values()].filter(isCaptchaVerifierProvider) : [];\n },\n // rate-limit-relaxation: N/A — a single-use marker for one proof-of-work solution, not an abuse throttle.\n // Relaxing its `> 1` in DEVELOPMENT/TEST would let one solution answer many submissions.\n countSolutionUse: (identifier, windowSeconds) =>\n this.container.get<RedisService>(SAAS_SERVICE_TYPES.RedisService).incrementRateLimit(identifier, windowSeconds),\n challengePurposeKey: () =>\n applicationSymmetricKeyOf(this.resolveOptional<AppConfigurationService>(SAAS_SERVICE_TYPES.AppConfigService), CryptoKey_Purpose.SUBMISSION_CHALLENGE),\n errorBuilder: () => this.container.get<ErrorBuilderBackendService>(SAAS_SERVICE_TYPES.ErrorBuilderService),\n capabilityCalls: () => this.resolveOptional<ProviderCapabilityCallRecorderBackendService>(SAAS_SERVICE_TYPES.ProviderCapabilityCallRecorder),\n countRefusal: (reason) => this.resolveOptional<MetricsService>(SAAS_SERVICE_TYPES.MetricsService)?.recordSubmissionChallengeRefused({ reason }),\n logger: {\n warn: (message, context) => this.resolveOptional<LoggerService>(SAAS_SERVICE_TYPES.Logger)?.warn(message, context),\n error: (message, context) => this.resolveOptional<LoggerService>(SAAS_SERVICE_TYPES.Logger)?.error(message, context),\n },\n }),\n )\n .inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FrontendBootstrapBackendService).to(DefaultFrontendBootstrapBackendService).inSingletonScope();\n\n // Feature System Services\n this.container.bind(SAAS_SERVICE_TYPES.FeatureDefinitionRegistryService).to(FeatureDefinitionRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FeatureResolutionService).to(FeatureResolutionBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FeatureGateService).to(FeatureGateBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FeaturesController).to(FeaturesControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SubmissionChallengeController).to(SubmissionChallengeControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.CspViolationReportsController).to(CspViolationReportsControllerBackendService).inSingletonScope();\n\n // Consumable Token Services\n this.container.bind(SAAS_SERVICE_TYPES.ConsumableTokenService).to(ConsumableTokenBackendService).inSingletonScope();\n\n // Anonymous Session Service (W7.3a)\n this.container.bind(SAAS_SERVICE_TYPES.AnonymousSessionService).to(AnonymousSessionBackendService).inSingletonScope();\n\n // Webhook System Services\n this.container.bind(SAAS_SERVICE_TYPES.WebhookHandlerService).to(WebhookHandlerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.WebhookAutoController).to(WebhookAutoControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PolymorphicLookupService).to(PolymorphicLookupBackendService).inSingletonScope();\n\n // Inbound deliveries (#1596)\n this.container.bind(SAAS_SERVICE_TYPES.InboundHandlerRegistryService).to(InboundHandlerRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundDeliveryStoreService).to(InboundDeliveryStoreBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundDeliveryReceiverService).to(InboundDeliveryReceiverBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundDeliveryDispatchService).to(InboundDeliveryDispatchBackendService).inSingletonScope();\n // Inbound channels (#1630). `InboundEmailReplyAddressing` is deliberately NOT bound here: it is the\n // receiving side's port (#1600), and without it a reply goes from the application's sender.\n this.container.bind(SAAS_SERVICE_TYPES.InboundChannelHandlerRegistryService).to(InboundChannelHandlerRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundChannelIntakeService).to(InboundChannelIntakeBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundChannelRuntimeService).to(InboundChannelRuntimeBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundAttachmentAdoptionService).to(InboundAttachmentAdoptionBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundReplyService).to(InboundReplyBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundReplyTokenService).to(InboundReplyTokenBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChatIdentityLinkService).to(ChatIdentityLinkBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChatMemberActionsService).to(ChatMemberActionsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChatCommandCatalog).to(ChatCommandCatalogBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChatCommandDoor).to(ChatCommandDoorBackendService).inSingletonScope();\n // Singleton: it holds the process's running searches (one per chat account, a bounded number in all).\n this.container.bind(SAAS_SERVICE_TYPES.ChatSearchLane).to(ChatSearchLaneBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChatCommandFormLane).to(ChatCommandFormLaneBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChatAgentsService).to(ChatAgentsBackendService).inSingletonScope();\n // #2665 S6: the chat-conversation ledger, the reply handlers and the dispatcher that posts owed replies through them.\n this.container.bind(SAAS_SERVICE_TYPES.ChatConversationStore).to(ChatConversationStoreBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChatReplyHandlers).to(ChatReplyHandlersBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChatReplyDispatch).to(ChatReplyDispatchBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChatConversationDoor).to(ChatConversationDoorBackendService).inSingletonScope();\n // Receiving email (#1600). The reply-addressing port #1630 left unbound is bound here: a reply now leaves the\n // way its thread arrived (the organization's verified domain, a relationship mailbox, or the shared address).\n this.container.bind(SAAS_SERVICE_TYPES.InboundEmailProviderService).to(InboundEmailProviderBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundEmailRoutingService).to(InboundEmailRoutingBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundEmailReceptionService).to(InboundEmailReceptionBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundEmailReplyAddressing).to(InboundEmailReplyAddressingBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OrganizationEmailDomainsService).to(OrganizationEmailDomainsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OrganizationCustomDomainsService).to(OrganizationCustomDomainsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.CustomDomainHostResolverService).to(CustomDomainHostResolverBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.CustomDomainEdgeService).to(CustomDomainEdgeBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.DnsTxtLookupService).to(DnsTxtLookupBackendService).inSingletonScope();\n // One bundle for every writer of a server-produced file (#2903 S6b); the inbound email lane reads it under its own name.\n this.container.bind<ServerProducedFileWriterDependencies>(SAAS_SERVICE_TYPES.InboundEmailFileWriterDependencies).toService(SAAS_SERVICE_TYPES.ServerProducedFileWriterDependencies);\n this.container.bind<ServerProducedFileWriterDependencies>(SAAS_SERVICE_TYPES.ServerProducedFileWriterDependencies).toDynamicValue((context) => ({\n logger: context.get(SAAS_SERVICE_TYPES.Logger),\n errorBuilder: context.get(SAAS_SERVICE_TYPES.ErrorBuilderService),\n filesService: context.get(SAAS_SERVICE_TYPES.FilesBackendService),\n fileStorageRouter: context.get(SAAS_SERVICE_TYPES.FileStorageRouter),\n pathResolver: context.get(SAAS_SERVICE_TYPES.FileStoragePathResolver),\n appConfigService: context.get(SAAS_SERVICE_TYPES.AppConfigService),\n fileScanning: context.get(SAAS_SERVICE_TYPES.FileScanningService),\n })).inSingletonScope();\n\n // Billing System Services\n this.container.bind(SAAS_SERVICE_TYPES.BillingFeatureSyncService).to(BillingFeatureSyncBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ProductCatalogSyncService).to(ProductCatalogSyncBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.UsageMeteringService).to(UsageMeteringBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.BillingReconciliationService).to(BillingReconciliationBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ReferralProgramService).to(ReferralProgramBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.BillingStateService).to(BillingStateBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.BillingEffectOutboxRelayService).to(BillingEffectOutboxRelayBackendService).inSingletonScope();\n // #2903: the approval-seal relay, a singleton like every relay: its leases fence it against other replicas, not itself.\n this.container.bind(SAAS_SERVICE_TYPES.ApprovalSealRelayService).to(ApprovalSealRelayBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.BillingSubscriptionMutationRecoveryService).to(BillingSubscriptionMutationRecoveryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.BillingSubscriptionErasureCancellationService).to(BillingSubscriptionErasureCancellationBackendService).inSingletonScope();\n\n // Application Runtime Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.StartApplicationService).to(StartApplicationBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ExecutionContextHandlerService).to(ExecutionContextHandlerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ExecutionContextCreatorBackendService).to(ExecutionContextCreatorBackendService).inSingletonScope();\n\n // M2M Outbound Webhook Services (Phase 3) — bound BEFORE NotificationDispatcherService\n // because the dispatcher takes M2MWebhookDispatcherService as a constructor\n // dependency. Inversify resolution order is dependency-driven (not file\n // order), but binding webhook services first keeps the wire-up explicit.\n this.container.bind(SAAS_SERVICE_TYPES.M2MWebhookDeliveryLogRepository).to(M2MWebhookDeliveryLogRepository).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.WebhookConfigService).to(WebhookConfigBackendService).inSingletonScope();\n // The keys the virtual WebhookConfig field `applicationVerificationJwks` lists (#2895), bound under the symbol the shared\n // schema resolves, since that schema cannot import a backend service.\n this.container.bind(WEBHOOK_VERIFICATION_KEY_SET_SOURCE).to(WebhookVerificationKeySetBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.M2MWebhookDispatcherService).to(M2MWebhookDispatcherBackendService).inSingletonScope();\n\n // Notification Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.NotificationDispatcherService).to(NotificationDispatcherService).inSingletonScope();\n // The engine's own operations whose email needs facts its row does not carry (#2635, #1851). Registered here, at\n // the composition root, so the dispatcher imports no domain module.\n this.container.bind(SAAS_SERVICE_TYPES.NotificationContextContributionsService)\n .toDynamicValue(() => createEngineNotificationContextContributions(this.container))\n .inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.NotificationBadgeService).to(NotificationBadgeBackendService).inSingletonScope();\n // I18n Service - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.I18nService).to(I18nBackendService).inSingletonScope();\n\n // Requests & Remote Clients - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.AppsCrontabManagerService).to(AppsCrontabManagerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.WorkerRemoteClientFactoryService).to(WorkerRemoteClientFactoryBackendService).inSingletonScope();\n // SINGLETON deliberately: the memo is the point. A transient binding would re-read the\n // APPLICATION row per injection and defeat the whole reason this service exists.\n this.container.bind(SAAS_SERVICE_TYPES.ApplicationIdentityService).to(ApplicationIdentityBackendService).inSingletonScope();\n\n // Batch/Cron Jobs - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.BatchesCronjobsExecutorService).to(BatchesCronjobsExecutor_BackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.CronJobSyncService).to(CronJobSyncBackendService).inSingletonScope();\n\n // Handlers - Placeholder implementations\n this.container.bind(SAAS_SERVICE_TYPES.ExternalApiHandlerService).to(ExternalApiHandlerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PlatformMutualizedHandlerService).to(PlatformMutualizedHandlerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ServerlessServicesHandlerService).to(ServerlessServicesHandlerBackendService).inSingletonScope();\n\n // Resource Operation Custom Implementations\n this.container.bind(SAAS_SERVICE_TYPES.ResourceOperationCustomImplementationRegistryService).to(ResourceOperationCustomImplementationRegistryBackendService).inSingletonScope();\n\n\n // Flows-Actors Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.FlowsActorsRegistryService).to(FlowsActorsRegistryService).inSingletonScope();\n /*\n * The MCP tool plane (#491). Bound unconditionally, and reached only by an agent that\n * declares `mcpRefs` — an application with no MCP server pays nothing for these. The\n * INJECTIONS in AgentsBackendService stay `@optional()` regardless, so a host that composes\n * its own container without them degrades to function tools rather than failing to build.\n */\n this.container.bind(SAAS_SERVICE_TYPES.McpClientService).to(McpClientBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.McpCredentialResolverService).to(McpCredentialResolverBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FlowsActorsController).to(FlowsActorsControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AgentsBackendService).to(AgentsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ConversationalExecutionBackendService).to(ConversationalExecutionBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AutonomousAgentTurnService).to(AutonomousAgentTurnBackendService).inSingletonScope();\n // #1598: the one gate every boundary taking a case uses (work unit + READ as the caller).\n this.container.bind(SAAS_SERVICE_TYPES.WorkUnitCaseService).to(WorkUnitCaseBackendService).inSingletonScope();\n // #1612: a granting organization's per-representative approvals, a human-decision plane the conversational inbox\n // and act route consult.\n this.container.bind(SAAS_SERVICE_TYPES.RepresentativeAdmissionDecisions).to(RepresentativeAdmissionDecisionsBackendService).inSingletonScope();\n // #2288: the hold for operations that require another person's approval, and the plane that decides them.\n this.container.bind(SAAS_SERVICE_TYPES.OperationApprovalHold).to(OperationApprovalHoldBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OperationApprovalDecisions).to(OperationApprovalDecisionsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OperationApprovalResolvers).to(OperationApprovalResolversBackendService).inSingletonScope();\n // === A2A (external actor exposure) ===\n this.container.bind(SAAS_SERVICE_TYPES.A2AService).to(A2ABackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.A2ATokenBudgetService).to(A2ATokenBudgetBackendService).inSingletonScope();\n // #2464: the services that measure a limit the gate cannot count. Listed here, so the gate depends on the port alone.\n this.container\n .bind(SAAS_SERVICE_TYPES.FeatureUsageReaders)\n .toDynamicValue(() => {\n const budget = this.container.get<A2ATokenBudgetBackendService>(SAAS_SERVICE_TYPES.A2ATokenBudgetService);\n // #2844: the per-person ceiling is measured by the same service, through its own reader (one reader per feature).\n // #3030: so are the three unit ceilings, one reader each.\n return [\n budget,\n createPersonTokenCeilingUsageReader(budget),\n ...Object.values(ModelUsageUnit).map((unit) => createModelUsageCeilingUsageReader(budget, unit)),\n ];\n })\n .inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.A2ATaskService).to(A2ATaskBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.A2ATaskCancellationService).to(A2ATaskCancellationBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.A2APushDeliveryLogRepository).to(A2APushDeliveryLogRepository).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.A2APushDispatcherService).to(A2APushDispatcherBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.A2AController).to(A2AControllerBackendService).inSingletonScope();\n // Engine agent-call traceability. The sink + policy are resolved LAZILY against\n // the app's `defineSaaSProviders` selection for `LLM_OBSERVABILITY` — see\n // `LlmObservabilityAgentCallTraceSink`. They MUST be bound eagerly here (a stable\n // reference the dev companion composes into its `CompositeAgentCallTraceSink`, and\n // that `AgentsBackendService` `@optional()`-injects once), but the concrete\n // provider sink (e.g. PostHog) only resolves on the first agent call — by which\n // point the external-providers registry is initialized and the selection is\n // known. No provider selected/configured → the sink no-ops + the policy reads\n // `NONE` (so emission is skipped and output is byte-identical). A tracing\n // consumer — e.g. the companion — `rebind`s both: its filesystem sink composed\n // ON TOP, and a policy that COMPOSES its own level with this live one via\n // `maxAgentTraceabilityLevel` (never a static replacement — a static level\n // would silently kill the LLM-obs capture this policy gates).\n this.container.bind(LlmObservabilityAgentCallTraceSink).toSelf().inSingletonScope();\n // The provider-call RECORD, distinct from the trace above: written on every physical provider call\n // whatever the traceability level, because evidence cannot depend on an observability choice.\n this.container.bind(SAAS_SERVICE_TYPES.ProviderCallRecorder).to(ProviderCallRecorderBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AgentCallTraceSink).toDynamicValue(() =>\n this.container.get(LlmObservabilityAgentCallTraceSink),\n ).inSingletonScope();\n // Engine audit-log fan-out. `CompositeAuditLogSink` resolves EVERY provider\n // declaring `COMPLIANCE_AUDIT_TRAIL` (a FAN_OUT capability) LAZILY — same\n // eager-bind / lazy-resolve rationale as the LLM-obs sink above. Layered on\n // the always-on DB audit store; no audit providers → byte-identical no-op.\n this.container.bind(CompositeAuditLogSink).toSelf().inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuditLogSink).toDynamicValue(() =>\n this.container.get(CompositeAuditLogSink),\n ).inSingletonScope();\n // Engine alerting (#9 Phase 0). Bound eagerly as a stable reference, like the trace sink above, so a\n // host can `rebind` the port to a composite (its own sink ON TOP of this one). Phase 0 delivers to the\n // structured log only — one `wildo.alert` line the application's observability provider alerts on — so\n // no provider is resolved and nothing is configured. A router / channel sink (Phases 1–2) joins here.\n this.container.bind(LoggerAlertDispatchSink).toSelf().inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AlertDispatchSink).toDynamicValue(() =>\n this.container.get(LoggerAlertDispatchSink),\n ).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AlertingService).to(AlertingBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AgentTraceabilityPolicy).toDynamicValue(() => {\n const llmObsSink = this.container.get(LlmObservabilityAgentCallTraceSink);\n // Live level: DEBUG iff an LLM-obs provider is selected + configured, else NONE\n // (the byte-identical \"off\" path). `.level` is read per agent call, by which\n // point the registry is initialized — so the getter, not a snapshot.\n return {\n get level(): AgentTraceabilityLevel {\n return llmObsSink.isActive() ? AgentTraceabilityLevel.DEBUG : AgentTraceabilityLevel.NONE;\n },\n } satisfies AgentTraceabilityPolicy;\n }).inSingletonScope();\n // Best-effort flush on NATURAL process exit only (`beforeExit`), so a short-lived\n // host (CLI / minion) that finishes and lets the event loop drain still ships its\n // queued events. We deliberately do NOT register `SIGTERM` / `SIGINT` handlers: in\n // Node, attaching a signal listener REMOVES the default \"terminate\" behaviour, so a\n // flush-only listener makes the host unkillable by that signal (the supervisor then\n // waits its 10s grace before SIGKILL on every restart). `process.exit`/re-raise from\n // here is also unsafe — this container is shared with hosts that own their own\n // SIGTERM shutdown (e.g. the queue `WorkerShutdownManager` draining in-flight jobs).\n // Signal-driven graceful flush belongs to the host's shutdown coordinator —\n // `ObservabilityBackendService.wireLlmObservabilityFlush()` registers it into\n // `WorkerShutdownManager` for hosts that run the standard (or companion) startup;\n // `posthog-node`'s own periodic flush is the backstop elsewhere. (Getting the\n // sink here resolves the singleton but never triggers provider resolution if no\n // agent call happened — `shutdown()` no-ops when unresolved.)\n process.once('beforeExit', () => {\n void this.container.get(LlmObservabilityAgentCallTraceSink).shutdown?.();\n void this.container.get(CompositeAuditLogSink).shutdown?.();\n // The BOUND alert sink, not the logger class: a host that rebinds the port to a composite drains its children.\n void this.container.get<AlertDispatchSink>(SAAS_SERVICE_TYPES.AlertDispatchSink).shutdown?.();\n });\n this.container.bind(SAAS_SERVICE_TYPES.ContextCurationService).to(ContextCurationBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PromptCompilerService).to(PromptCompilerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FlowsBackendService).to(FlowsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ActorsSystemBackendService).to(ActorsSystemBackendService).inSingletonScope();\n /*\n * #2539: the actor plane an APPLICATION writes — its own `actorSystemExecutions` / `actorTasks`, organization-scoped.\n * The port's DEFAULT binding, so every application backend can run, suspend and resume an actor execution. A host\n * whose runs belong elsewhere REBINDS the port (the dev companion: the platform's rows, the record of building an\n * application); the concrete persistence stays bound under its own token, and the actor-system decision host serves\n * the inbox only while the port IS this persistence.\n */\n this.container.bind(SAAS_SERVICE_TYPES.ApplicationActorExecutionPersistence).to(ApplicationActorExecutionPersistence).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ActorExecutionPersistencePort).toDynamicValue(() =>\n this.container.get(SAAS_SERVICE_TYPES.ApplicationActorExecutionPersistence),\n ).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ActorSystemDecisions).to(ActorSystemDecisionsBackendService).inSingletonScope();\n // The inbox's other decision planes (#1612, #2539), consulted by the conversational service's list and act route.\n this.container.bind(SAAS_SERVICE_TYPES.HumanDecisionHosts).toDynamicValue((): readonly HumanDecisionHost[] => [\n this.container.get<HumanDecisionHost>(SAAS_SERVICE_TYPES.RepresentativeAdmissionDecisions),\n this.container.get<HumanDecisionHost>(SAAS_SERVICE_TYPES.ActorSystemDecisions),\n this.container.get<HumanDecisionHost>(SAAS_SERVICE_TYPES.OperationApprovalDecisions),\n ]).inSingletonScope();\n // Decision notices (#2664 S5b): the four planes as the reconcile reads them, the ledger's writer, the application's\n // handler (registered at startup) and the reconcile itself. Operation approvals joined with #2814.\n this.container.bind(SAAS_SERVICE_TYPES.HumanDecisionNoticeSources).toDynamicValue((): readonly HumanDecisionNoticeSource[] => [\n this.container.get<HumanDecisionNoticeSource>(SAAS_SERVICE_TYPES.ConversationalExecutionBackendService),\n this.container.get<HumanDecisionNoticeSource>(SAAS_SERVICE_TYPES.ActorSystemDecisions),\n this.container.get<HumanDecisionNoticeSource>(SAAS_SERVICE_TYPES.RepresentativeAdmissionDecisions),\n this.container.get<HumanDecisionNoticeSource>(SAAS_SERVICE_TYPES.OperationApprovalDecisions),\n ]).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.HumanDecisionNoticeStayStore).to(HumanDecisionNoticeStayStoreBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.HumanDecisionNoticeHandlers).to(HumanDecisionNoticeHandlersBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.HumanDecisionNoticeReconcile).to(HumanDecisionNoticeReconcileBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.HumanDecisionNoticeDispatch).to(HumanDecisionNoticeDispatchBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.HumanDecisionNoticeWords).to(HumanDecisionNoticeWordsBackendService).inSingletonScope();\n\n // File Management Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.ResourceFieldConstraintResolver).to(ResourceFieldConstraintResolver).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileConstraintResolverChain).to(FileConstraintResolverChain).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileImageAnalyzer).to(SharpFileImageAnalyzer).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileValidationService).to(FileValidationService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FilesBackendService).to(FilesBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ResourceFileUploadHandlerService).to(ResourceFileUploadHandlerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileFieldDetectionService).to(FileFieldDetectionBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RagSourceFieldDetectionService).to(RagSourceFieldDetectionBackendService).inSingletonScope();\n // RAG derived-data tier (plan D3): the adapter-routing chunk store + BOTH of its adapters\n // (D1: vector storage follows the resource's own database, so an application binds the one its\n // resources resolve to and the other stays unreached).\n // Singletons — each adapter caches its one-time provisioning ensure, and the router is stateless.\n this.container.bind(SAAS_SERVICE_TYPES.RagChunkStoreService).to(RagChunkStoreBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PostgresqlRagChunkStoreService).to(PostgresqlRagChunkStoreBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.MongodbRagChunkStoreService).to(MongodbRagChunkStoreBackendService).inSingletonScope();\n // RAG write path (plan §3.c): the ingestion pipeline the service-tier changed-field hook and the\n // hourly reconciliation sweep share. Singleton — stateless beyond its injected collaborators.\n this.container.bind(SAAS_SERVICE_TYPES.RagIngestionService).to(RagIngestionBackendService).inSingletonScope();\n // RAG retrieval (plan D5/D6, Phase 5): the public read surface flows/actors consume in-process.\n // Singleton — stateless beyond its injected collaborators; the embeddings binding resolves per call\n // so a provider configured after boot is picked up without a restart.\n this.container.bind(SAAS_SERVICE_TYPES.RagRetrievalService).to(RagRetrievalBackendService).inSingletonScope();\n // Embeddings execution seam (plan §3.d, DL2): applicability-class provider/model resolution +\n // the one embedTexts path the rag:embedding-drain worker and Phase-5 retrieval share.\n // Singleton — stateless beyond its injected collaborators; the trace sink/policy resolve lazily.\n this.container.bind(SAAS_SERVICE_TYPES.EmbeddingsService).to(EmbeddingsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.DocumentExtractionService).to(DocumentExtractionBackendService).inSingletonScope();\n // #2292: the classifier an agent's content guardrails screen through. Unselected, it answers NOT_SCREENED.\n this.container.bind(SAAS_SERVICE_TYPES.ContentSafetyService).to(ContentSafetyBackendService).inSingletonScope();\n // #2293: the transport of the vendor that applies its signers' electronic signatures. Unselected, every sending is refused.\n this.container.bind(SAAS_SERVICE_TYPES.ElectronicSignatureService).to(ElectronicSignatureBackendService).inSingletonScope();\n // #2293: the send path and the re-read of signature requests; the validator a vendor's \"completed\" is checked by\n // (pkijs, loaded on first use); where a SIGNED request keeps its evidence; and the trigger that sends a sealed\n // deliverable whose tool declares a signature.\n this.container.bind(SAAS_SERVICE_TYPES.SignatureRequestsService).to(SignatureRequestsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SignedDocumentValidator).to(PadesSignedDocumentValidator).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SignatureRequestEvidenceFiles).to(SignatureRequestEvidenceFilesBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SignatureRequestTriggerService).to(SignatureRequestTriggerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FilePopulationService).to(FilePopulationBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileOperationHandlerService).to(FileOperationHandlerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileStorageProvider_WildoManaged).to(WildoManagedStorageProvider).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileStorageProvider_LocalDirectory).to(LocalDirectoryStorageProvider).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileStorageProvider_GoogleDrive).to(GoogleDriveStorageProvider).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ContributedFileStorageProviders).to(ContributedFileStorageProvidersBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileStorageRouter).to(FileStorageRouterBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileStoragePathResolver).to(FileStoragePathResolverBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PdfTemplateBinding).to(PdfTemplateBindingBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PdfCollectionExportTemplates).to(PdfCollectionExportTemplateBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PdfGeneratedFileWriter).to(PdfGeneratedFileWriterBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ProviderDocumentFileWriter).to(ProviderDocumentFileWriterBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PdfRenderer).to(PdfRendererBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PdfGenerationOrchestrator).to(PdfGenerationOrchestratorBackendService).inSingletonScope();\n\n // File Scanning Services\n this.container.bind(SAAS_SERVICE_TYPES.FileScanningService).to(FileScanningBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileUploadGrantService).to(FileUploadGrantBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ClamAVScannerService).to(ClamAVScannerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.YaraScannerService).to(YaraScannerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileTextExtractionService).to(FileTextExtractionBackendService).inSingletonScope();\n\n /*\n * Queue System Services — the adapter is SELECTED, not hard-bound (#502).\n *\n * `QueueAdapterType` had zero readers while this line named one class directly, so the enum\n * described a choice nothing could make. `bindQueueAdapter` is now the only site that maps a\n * member to an implementation; a test lane rebinds the same token with `QueueAdapterType.MEMORY`\n * against this already-configured container, which is what makes the in-memory adapter reachable\n * rather than merely present.\n */\n bindQueueAdapter(this.container, QueueAdapterType.RABBITMQ);\n this.container.bind(SAAS_SERVICE_TYPES.QueueBackendService).to(QueueBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.JobExecutorBackendService).to(JobExecutorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.JobStatusTrackingService).to(JobStatusTrackingBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.JobPayloadStorageService).to(JobPayloadStorageBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.JobConsumerService).to(JobConsumerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.WorkerShutdownManagerService).to(WorkerShutdownManagerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.JobCompletionRegistryService).to(JobCompletionRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.DomainQueueConsumerService).to(DomainQueueConsumerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ScheduledMessageVerifierService).to(ScheduledMessageVerifierBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.QueueMonitoringService).to(QueueMonitoringBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.QueueWorkerInitializerService).to(QueueWorkerInitializerBackendService).inSingletonScope();\n\n // Aggregation & Chart Services\n this.container.bind(SAAS_SERVICE_TYPES.MongoAggregationCompiler).to(MongoAggregationCompilerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PostgreSQLAggregationCompiler).to(PostgreSQLAggregationCompilerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FieldAccessValidator).to(FieldAccessValidatorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AggregationAuthorizationService).to(AggregationAuthorizationBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.TimeSeriesDensifier).to(TimeSeriesDensifierBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ComputedMeasureEvaluator).to(ComputedMeasureEvaluatorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.WindowFunctionProcessor).to(WindowFunctionProcessorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.TopNProcessor).to(TopNProcessorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AggregationQueryService).to(AggregationQueryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChartRegistryService).to(ChartRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChartController).to(ChartControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SubjectErasureLaneEvidenceService).to(SubjectErasureLaneEvidenceBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SubjectErasureLaneEvidenceController).to(SubjectErasureLaneEvidenceControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.DataSubjectRequestDownloadController).to(DataSubjectRequestDownloadControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ProviderCallEvidenceService).to(ProviderCallEvidenceBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ProviderCallEvidenceController).to(ProviderCallEvidenceControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AgentOperationEvidenceService).to(AgentOperationEvidenceBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AgentOperationEvidenceController).to(AgentOperationEvidenceControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AgentBehaviorReportEvidenceService).to(AgentBehaviorReportEvidenceBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AgentBehaviorReportEvidenceController).to(AgentBehaviorReportEvidenceControllerBackendService).inSingletonScope();\n // #1598: cost per case — the summary, the period close and the tenant-deletion close — and its APP_ADMIN door.\n this.container.bind(SAAS_SERVICE_TYPES.ModelCostService).to(ModelCostBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ModelCostSummaryController).to(ModelCostSummaryControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RepresentativeActivityService).to(RepresentativeActivityBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RepresentativeActivityController).to(RepresentativeActivityControllerBackendService).inSingletonScope();\n // #1599: the decision records — and, bound as #1598's decision-time source, what makes a CASE cost summary's\n // decision time JOINED rather than NOT_RECORDED.\n this.container.bind(SAAS_SERVICE_TYPES.AgentWorkDecisionsService).to(AgentWorkDecisionsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.DecisionTimeSource).toService(SAAS_SERVICE_TYPES.AgentWorkDecisionsService);\n this.container.bind(SAAS_SERVICE_TYPES.AgentWorkDecisionsController).to(AgentWorkDecisionsControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RetentionEnforcementEvidenceService).to(RetentionEnforcementEvidenceBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PublishedVerificationKeysService).to(PublishedVerificationKeysBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ApplicationKeysService).to(ApplicationKeysBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ApplicationDataKeysService).to(ApplicationDataKeysBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ApprovalSealKeysController).to(ApprovalSealKeysControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RetentionEnforcementEvidenceController).to(RetentionEnforcementEvidenceControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.UsageFlushEvidenceService).to(UsageFlushEvidenceBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.UsageFlushEvidenceController).to(UsageFlushEvidenceControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ProviderComplianceStateEvidenceService).to(ProviderComplianceStateEvidenceBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ProviderComplianceStateEvidenceController).to(ProviderComplianceStateEvidenceControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ScheduledEvidenceCoverageController).to(ScheduledEvidenceCoverageControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ResourceOperationJobStatusController).to(ResourceOperationJobStatusControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.GovernedDocumentAcceptanceController).to(GovernedDocumentAcceptanceControllerBackendService).inSingletonScope();\n\n // Analytics & Value Moment Services\n this.container.bind(SAAS_SERVICE_TYPES.ValueMomentHandlerRegistry).to(ValueMomentHandlerRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ValueMomentDefinitionRegistry).to(ValueMomentDefinitionRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ValueMomentEngine).to(ValueMomentEngineBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AnalyticsController).to(AnalyticsBackendController).inSingletonScope();\n\n // Email System Services - Template rendering and sending\n this.container.bind(SAAS_SERVICE_TYPES.EmailTemplateValidator).to(EmailTemplateValidatorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.EmailTemplateRegistry).to(EmailTemplateRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.EmailService).to(EmailBackendService).inSingletonScope();\n\n // SMS Service (Phase G2)\n this.container.bind(SAAS_SERVICE_TYPES.SMSService).to(SMSBackendService).inSingletonScope();\n\n // Guidance System Services\n this.container.bind(SAAS_SERVICE_TYPES.GuidanceTriggerEvaluator).to(GuidanceTriggerEvaluatorBackendService).inSingletonScope();\n\n // Progression System Services\n this.container.bind(SAAS_SERVICE_TYPES.MilestoneDefinitionRegistry).to(MilestoneDefinitionRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.MilestoneConditionRegistry).to(MilestoneConditionRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ProgressionStateStore).to(ProgressionStateStoreBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.MilestoneEvaluator).to(MilestoneEvaluatorBackendService).inSingletonScope();\n\n // Lifecycle System Services\n this.container.bind(SAAS_SERVICE_TYPES.LifecycleEvaluator).to(LifecycleEvaluatorBackendService).inSingletonScope();\n\n // Data Seeding System Services\n // Engines bind FIRST so the facade `DataSeedDispatcher` can resolve\n // them via constructor injection. Phase 7 / F-16 deferred portion\n // (per-engine dispatcher split) — Slice 1 introduced AdditiveSeedEngine,\n // Slice 2 added UpgradeSeedEngine (which also exposes the shared\n // reconcile/renames helpers re-used by SYNC engine), Slice 3 adds\n // SyncSeedEngine (composes UpgradeSeedEngine via DI, must bind AFTER\n // UpgradeSeedEngine so InversifyJS resolves the dependency in order).\n // Slice 4 adds LazySeedEngine (composes AdditiveSeedEngine via DI for\n // the per-pass upsert step — bind AFTER AdditiveSeedEngine so the\n // dependency resolves in order).\n // Slice 5 adds ManualSeedEngine (composes ALL four mode engines via\n // DI for per-mode dispatch + LAZY+force/!force fallback paths —\n // bind AFTER all four mode engines so InversifyJS resolves the\n // dependencies in order).\n this.container.bind(SAAS_SERVICE_TYPES.AdditiveSeedEngine).to(AdditiveSeedEngineBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.UpgradeSeedEngine).to(UpgradeSeedEngineBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SyncSeedEngine).to(SyncSeedEngineBackendService).inSingletonScope();\n // External-data pipeline runs load through the SYNC/UPGRADE engines above (partial-resource paper P-2).\n this.container.bind(SAAS_SERVICE_TYPES.ExternalDataPipelineRunService).to(ExternalDataPipelineRunBackendService).inSingletonScope();\n // #1688 — what an inbound handler's `ctx.pipelines` reaches: records requested keys, asks the run above for a keyed run.\n this.container.bind(SAAS_SERVICE_TYPES.ExternalDataPipelineKeyRequestsService).to(ExternalDataPipelineKeyRequestsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ExternalDataAdminController).to(ExternalDataAdminBackendController).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ApprovalSealsAdminController).to(ApprovalSealsAdminBackendController).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.LazySeedEngine).to(LazySeedEngineBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ManualSeedEngine).to(ManualSeedEngineBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.DataSeedRegistry).to(DataSeedRegistryBackendService).inSingletonScope();\n // Phase 7 / Item 47 — Slice 3: cron-driven CUSTOM_RESOLVER strategy registry.\n // Standalone (no engine dependency) — bound alongside `DataSeedRegistry` so\n // both seed registries are visible to the bootstrap helper that hydrates\n // them from `BackendDomainModule`.\n this.container.bind(SAAS_SERVICE_TYPES.DataSeedScopeResolverRegistry).to(DataSeedScopeResolverRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.DataSeedDispatcher).to(DataSeedDispatcherBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.DataSeedingAdminController).to(DataSeedingAdminBackendController).inSingletonScope();\n\n\n\n }\n\n\n /**\n * Get the underlying Inversify container\n */\n public getContainer(): Container {\n return this.container;\n }\n\n /**\n * Get a service by its type symbol\n */\n public get<T>(serviceType: symbol): T {\n return this.container.get<T>(serviceType);\n }\n\n /**\n * Check if a service is bound\n */\n public isBound(serviceType: symbol): boolean {\n return this.container.isBound(serviceType);\n }\n\n /**\n * A binding when it is bound, `undefined` otherwise — and never a throw.\n *\n * For the OPTIONAL collaborators of a `toDynamicValue` binding: an observability sink, a metrics\n * recorder, a logger. Each of those must degrade to \"no emission\" rather than take down the\n * construction of the service that would have used it, and `container.get` on an unbound symbol\n * throws. The `catch` covers the second failure mode `isBound` cannot: a binding that IS declared\n * and throws while being constructed.\n */\n private resolveOptional<T>(serviceType: symbol): T | undefined {\n try {\n return this.container.isBound(serviceType) ? this.container.get<T>(serviceType) : undefined;\n } catch {\n return undefined;\n }\n }\n\n /**\n * Setup library injection for cross-package dependencies\n * This is the main method used by applications to setup the container\n */\n public static setupSaasInjection(container?: Container): Container {\n const saasContainer = new SaasContainer();\n\n if (container) {\n // Merge with existing container if provided\n // Implementation will be added as we bind services\n return container;\n }\n\n return saasContainer.getContainer();\n }\n}\n\n\n/**\n * Initialize and configure the Inversify DI container for SaaS backend services\n *\n * This container manages all service dependencies and ensures proper\n * singleton lifecycle management across the application.\n */\nexport function setupSaasBackendInjection(): Container {\n if (!globalContainer) {\n const saasContainer = new SaasContainer();\n globalContainer = saasContainer.getContainer();\n }\n return globalContainer;\n}\n\nexport function getGlobalContainer(): Container {\n if (!globalContainer) {\n return setupSaasBackendInjection();\n }\n return globalContainer;\n}\n\nexport function resetGlobalContainer(): void {\n globalContainer = null;\n}\n\n\nexport default SaasContainer;\n"]}
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../../../src/inject/models/container.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ConnectionTargetAuthorizationPort } from '~wildo-backend-lib/external-providers/services/provider-http-access.backend';\nimport { Container, injectable } from 'inversify';\nimport 'reflect-metadata';\nimport { SAAS_SERVICE_TYPES } from './service-types';\n\n// Core Services\nimport { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';\nimport { AppConfigurationService } from '~wildo-backend-lib/config/services/app-configuration.backend.service';\nimport { AppConfigurationLoaderService } from '~wildo-backend-lib/config/services/app-configuration-loader.backend.service';\nimport { ApplicationStartupConfigValidatorService } from '~wildo-backend-lib/config/services/application-startup-config-validator.backend.service';\nimport { RedisService } from '~wildo-backend-lib/databases/services/redis.service';\nimport { MongoDBService } from '~wildo-backend-lib/databases/services/mongodb.service';\nimport { PostgreSQLDatabaseBackendService } from '~wildo-backend-lib/databases/services/postgresql-database.backend.service';\nimport { ResourcePersistenceUnitOfWorkBackendService } from '~wildo-backend-lib/databases/services/resource-persistence-unit-of-work.backend.service';\n\n// Authentication & Security Services\nimport { JwtBackendService } from '~wildo-backend-lib/security/jwt/services/jwt.backend.service';\nimport { WildoWorkerBootstrapClientService } from '~wildo-backend-lib/security/jwt/services/wildo-worker-bootstrap-client.backend.service';\nimport { AuthorizationsBackendService } from '~wildo-backend-lib/security/authorizations/services/authorizations.backend.service';\n\n// Audit & Compliance Services\nimport { AuditLogsBackendService } from '~wildo-backend-lib/compliance/audit-trails/services/audit-logs.backend.service';\nimport { SubjectErasureExternalEffectsRegistryBackendService } from '~wildo-backend-lib/compliance/privacy/services/subject-erasure-external-effects.backend.service';\nimport { SubjectSessionRevocationBackendService } from '~wildo-backend-lib/compliance/privacy/services/subject-session-revocation.backend.service';\nimport { AuditEventDispatcherBackendService } from '~wildo-backend-lib/compliance/audit-trails/services/audit-event-dispatcher.backend.service';\nimport { SIEMWebhookDeliveryBackendService } from '~wildo-backend-lib/compliance/audit-trails/services/siem-webhook-delivery.backend.service';\n\n\n// Communication Services\nimport { WebSocketService } from '~wildo-backend-lib/requests/service/websocket.service';\n\n// Error Handling Services\nimport { ErrorHandlerService } from '~wildo-backend-lib/errors/services/error-handler.backend.service';\nimport { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';\nimport { RateLimitBackendService } from '~wildo-backend-lib/errors/services/rate-limit.backend.service';\n\n// Monitoring Services\nimport { MetricsService } from '~wildo-backend-lib/monitoring/observability/services/metrics.service';\nimport { ObservabilityBackendService } from '~wildo-backend-lib/monitoring/observability/services/observability.backend.service';\n\n// Organization Services\nimport { AuthOrganizationConfigurationService } from '~wildo-backend-lib/security/authentications/services/admin-config/auth-organization-configuration.service';\n\n// Repository Services\nimport { ResourceOperationHelperBackendService } from '~wildo-backend-lib/base-classes/services/resource-operations-helper.backend.service';\nimport { RepositoriesRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/repositories/repositories-registry-handler.backend.service';\nimport { EvidenceReferencesBackendService } from '~wildo-backend-lib/resources/services/evidence-references.backend.service';\nimport { ZodToMongooseSchemaConvertorBackendService } from '~wildo-backend-lib/databases/services/zod-to-mongoose-schema-convertor.backend.service';\nimport { ZodToSqlHybridSchemaPlannerBackendService } from '~wildo-backend-lib/databases/services/zod-to-sql-hybrid-schema.planner';\nimport { PostgreSQLFilterBackendService } from '~wildo-backend-lib/databases/services/postgresql-filter.backend.service';\n\n// Database-agnostic Services\nimport { ResourceIdBackendService } from '~wildo-backend-lib/resources/services/resource-id.backend.service';\n\n// Service Layer Services\nimport { ServicesRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/services/services-registry-handler.backend.service';\nimport { SystemAccessBackendService } from '~wildo-backend-lib/base-classes/services/services/system-access.backend.service';\nimport { OrganizationProviderCredentialStoreBackendService } from '~wildo-backend-lib/security/connected-accounts/services/organization-provider-credential-store.backend.service';\nimport { UserProviderCredentialStoreBackendService } from '~wildo-backend-lib/security/connected-accounts/services/user-provider-credential-store.backend.service';\nimport { ApplicationProviderCredentialStoreBackendService } from '~wildo-backend-lib/security/connected-accounts/services/application-provider-credential-store.backend.service';\nimport { ProviderOAuth2PendingAuthorizationBackendService } from '~wildo-backend-lib/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service';\nimport { ProviderOAuth2RefresherBackendService } from '~wildo-backend-lib/security/connected-accounts/services/provider-oauth2-refresher.backend.service';\nimport { ProviderAudienceTokenCacheBackendService } from '~wildo-backend-lib/security/connected-accounts/services/provider-audience-token-cache.backend.service';\nimport { ProviderOAuth2RevokerBackendService } from '~wildo-backend-lib/security/connected-accounts/services/provider-oauth2-revoker.backend.service';\nimport { ProviderConnectionControllerBackendService } from '~wildo-backend-lib/security/connected-accounts/controllers/provider-connection.controller.backend.service';\nimport { ProviderOperationControllerBackendService } from '~wildo-backend-lib/external-providers/operations/controllers/provider-operation.controller.backend.service';\nimport { InitiatorMembershipConnectionTargetAuthorization } from '~wildo-backend-lib/security/connected-accounts/connection-target-authorization.backend';\nimport { RuntimePrincipalBackendService } from '~wildo-backend-lib/config/bootstrap/runtime-principal.backend.service';\nimport { RuntimePrincipalAttestationBackendService } from '~wildo-backend-lib/config/bootstrap/runtime-principal-attestation.backend.service';\n\n// Controller Layer Services\nimport { ControllersRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/controllers/controllers-registry-handler.backend.service';\nimport { ApplicationConfigControllerBackendService } from '~wildo-backend-lib/config/custom/application-config-controller.backend.service';\nimport { AuthenticationControllerBackendService } from '~wildo-backend-lib/security/authentications/controllers/authentication-controller.backend.service';\nimport { OAuthProviderControllerBackendService } from '~wildo-backend-lib/security/authentications/controllers/oauth-provider-controller.backend.service';\nimport { OidcAuthorizationCodeBackendService } from '~wildo-backend-lib/security/authentications/services/oidc-authorization-code.backend.service';\nimport { OidcUserClaimsBackendService } from '~wildo-backend-lib/security/authentications/services/oidc-user-claims.backend.service';\nimport { CimdClientMetadataBackendService } from '~wildo-backend-lib/security/authentications/services/cimd-client-metadata.backend.service';\n// === MCP === (external-access MCP-server branch — additive)\nimport { McpToolAdapterBackendService } from '~wildo-backend-lib/mcp/services/mcp-tool-adapter.backend.service';\nimport { McpServerBackendService } from '~wildo-backend-lib/mcp/services/mcp-server.backend.service';\nimport { ResourceServerInstancesRegistryBackendService } from '~wildo-backend-lib/mcp/services/resource-server-instances-registry.backend.service';\nimport { MCPControllerBackendService } from '~wildo-backend-lib/mcp/controllers/mcp.controller';\n// === /MCP ===\nimport { I18nControllerBackendService } from '~wildo-backend-lib/i18n/controllers/i18n-controller.backend.service';\nimport { AuthenticationOrchestratorBackendService } from '~wildo-backend-lib/security/authentications/services/authentication-orchestrator.backend.service';\nimport { AuthExecutionContextFactoryBackendService } from '~wildo-backend-lib/security/authentications/services/auth-execution-context-factory.backend.service';\nimport { AuthSessionStoreBackendService } from '~wildo-backend-lib/security/authentications/services/auth-session-store.backend.service';\nimport { AuthCredentialVerifierBackendService } from '~wildo-backend-lib/security/authentications/services/auth-credential-verifier.backend.service';\nimport { AuthTokenIssuerBackendService } from '~wildo-backend-lib/security/authentications/services/auth-token-issuer.backend.service';\nimport { MachineTokenIssuerBackendService } from '~wildo-backend-lib/security/authentications/services/machine-token-issuer.backend.service';\nimport { OAuthProviderTokenBackendService } from '~wildo-backend-lib/security/authentications/services/oauth-provider-token.backend.service';\nimport { AuthResponseHelperBackendService } from '~wildo-backend-lib/security/authentications/services/utils/auth-response-helper.backend.service';\nimport { AuthUserLookupBackendService } from '~wildo-backend-lib/security/authentications/services/utils/auth-user-lookup.backend.service';\nimport { RecipientLanguageBackendService } from '~wildo-backend-lib/notifications/services/recipient-language.backend.service';\nimport { AuthCredentialOpsBackendService } from '~wildo-backend-lib/security/authentications/services/utils/auth-credential-ops.backend.service';\nimport { AuthJwtGuardBackendService } from '~wildo-backend-lib/security/jwt/services/auth-jwt-guard.backend.service';\nimport { AuthPasswordResetBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/auth-password-reset.backend.service';\nimport { AuthRegistrationBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/auth-registration.backend.service';\nimport { EmailVerificationInitiatorBackendService } from '~wildo-backend-lib/security/authentications/services/email-verification-initiator.backend.service';\nimport { AuthMfaBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/auth-mfa.backend.service';\nimport { AuthPhoneVerificationBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/auth-phone-verification.backend.service';\nimport { OAuth2ConnectionResolverBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service';\nimport { OAuth2AuthenticationBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/oauth2-authentication.backend.service';\nimport { OIDCDiscoveryBackendService } from '~wildo-backend-lib/security/authentications/services/admin-config/oidc-discovery.backend.service';\nimport { DomainToOrgLookupBackendService } from '~wildo-backend-lib/security/authentications/services/admin-config/domain-to-org-lookup.backend.service';\nimport { DomainVerificationBackendService } from '~wildo-backend-lib/security/authentications/services/admin-config/domain-verification.backend.service';\nimport { EnterpriseUserProvisioningBackendService } from '~wildo-backend-lib/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service';\nimport { WebAuthnBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/webauthn.backend.service';\nimport { SCIMControllerBackendService } from '~wildo-backend-lib/security/scim/controllers/scim.backend.controller';\nimport { AuthMethodManagementBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/auth-method-management.backend.service';\nimport { AuthMethodSurvivalBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/auth-method-survival.backend.service';\nimport { AuthMethodManagementControllerBackendService } from '~wildo-backend-lib/security/authentications/controllers/auth-method-management-controller.backend.service';\nimport { SAMLReplayGuardBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/saml-replay-guard.backend.service';\nimport { SAMLMetadataBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/saml-metadata.backend.service';\nimport { SAMLAssertionValidatorBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/saml-assertion-validator.backend.service';\nimport { SAMLAuthenticationBackendService } from '~wildo-backend-lib/security/authentications/services/auth-methods/saml-authentication.backend.service';\nimport { HealthControllerBackendService } from '~wildo-backend-lib/runtime/controllers/health-controller.backend.service';\n\n// HTTP Server Services\nimport { HttpServerBackendService } from '~wildo-backend-lib/runtime/services/http-server.backend.service';\n\n// Resource Registry Services\nimport { ResourcesRegistryBackendService } from '~wildo-backend-lib/resources/services/resources-registry.backend.service';\nimport { ApplicationOwnerOrganizationResolverBackendService } from '~wildo-backend-lib/organizations/services/application-owner-organization-resolver.backend.service';\nimport { RelationshipInvitationDeliveryBackendService } from '~wildo-backend-lib/organizations/organization-relationships/relationship-invitation-delivery.backend.service';\nimport { SystemsOfRecordRegistryBackendService } from '~wildo-backend-lib/systems-of-record/systems-of-record-registry.backend.service';\nimport { SYSTEMS_OF_RECORD_REGISTRY_SERVICE_TYPE } from '~wildo-backend-lib/systems-of-record/systems-of-record-registry.service-type.backend';\nimport { SystemOfRecordActionExecutorBackendService } from '~wildo-backend-lib/systems-of-record/system-of-record-action-executor.backend.service';\nimport { VirtualFieldsBackendService } from '~wildo-backend-lib/resources/services/virtual-fields.backend.service';\nimport { ResourcePopulationBackendService } from '~wildo-backend-lib/resources/services/resource-population.backend.service';\nimport { ResourceContextBackendService } from '~wildo-backend-lib/resources/services/resource-context.backend.service';\n\n// External Providers Registry Services\nimport { BackendProviderRegistryBackendService } from '~wildo-backend-lib/external-providers/services/backend-provider-registry.backend.service';\nimport { ExternalProvidersRegistryBackendService } from '~wildo-backend-lib/external-providers/services/external-providers-registry.backend.service';\nimport { ExternalProvidersHttpApiAccessResolver } from '~wildo-backend-lib/external-providers/services/provider-http-access.backend';\nimport { SharedRateBudgetLedgerBackendService } from '~wildo-backend-lib/base-classes/services/repositories/http-api/shared-rate-budget-ledger.backend.service';\nimport { ProviderOperationExecutorBackendService } from '~wildo-backend-lib/external-providers/operations/provider-operation-executor.backend.service';\nimport { ProviderCapabilityCallRecorderBackendService } from '~wildo-backend-lib/external-providers/capability-calls/provider-capability-call-recorder.backend';\nimport { ProviderCallDataResidencyGate, registerProviderCallDataResidencyGate } from '~wildo-backend-lib/external-providers/data-residency/provider-call-data-residency-gate.backend';\nimport {\n isCaptchaVerifierProvider,\n SubmissionChallengeBackendService,\n} from '~wildo-backend-lib/security/submission-challenge/submission-challenge.backend.service';\nimport { SubmissionChallengeControllerBackendService } from '~wildo-backend-lib/security/submission-challenge/submission-challenge.backend.controller';\nimport { CspViolationReportsControllerBackendService } from '~wildo-backend-lib/monitoring/csp-violation-reports/csp-violation-reports.backend.controller';\nimport { ConnectionRateBudgetBackendService } from '~wildo-backend-lib/external-providers/rate-budgets/connection-rate-budget.backend.service';\nimport { DefaultFrontendBootstrapBackendService } from '~wildo-backend-lib/external-providers/services/frontend-bootstrap.backend.service';\n\n// Feature System Services\nimport { FeatureDefinitionRegistryBackendService } from '~wildo-backend-lib/features/services/feature-definition-registry.backend.service';\nimport { FeatureResolutionBackendService } from '~wildo-backend-lib/features/services/feature-resolution.backend.service';\nimport { FeatureGateBackendService } from '~wildo-backend-lib/features/services/feature-gate.backend.service';\nimport { FeaturesControllerBackendService } from '~wildo-backend-lib/features/controllers/features.backend.controller';\n\n// Consumable Token Services\nimport { ConsumableTokenBackendService } from '~wildo-backend-lib/security/consumable-tokens/services/consumable-token.backend.service';\nimport { AnonymousSessionBackendService } from '~wildo-backend-lib/security/authentications/services/anonymous-session.backend.service';\n\n// Billing System Services\nimport { BillingFeatureSyncBackendService } from '~wildo-backend-lib/billing/services/back-office/billing-feature-sync.backend.service';\nimport { ReferralProgramBackendService } from '~wildo-backend-lib/billing/services/referrals/referral-program.backend.service';\nimport { ProductCatalogSyncBackendService } from '~wildo-backend-lib/billing/services/back-office/product-catalog-sync.backend.service';\nimport { UsageMeteringBackendService } from '~wildo-backend-lib/billing/services/back-office/usage-metering.backend.service';\nimport { BillingReconciliationBackendService } from '~wildo-backend-lib/billing/services/back-office/billing-reconciliation.backend.service';\nimport { BillingStateBackendService } from '~wildo-backend-lib/billing/services/back-office/billing-state.backend.service';\nimport { BillingEffectOutboxRelayBackendService } from '~wildo-backend-lib/billing/services/billing-effect-outbox-relay.backend.service';\nimport { ApprovalSealRelayBackendService } from '~wildo-backend-lib/compliance/approval-seals/approval-seal-relay.backend.service';\nimport { ApprovalSealsAdminBackendController } from '~wildo-backend-lib/compliance/approval-seals/approval-seals-admin.backend.controller';\nimport { BillingSubscriptionMutationRecoveryBackendService } from '~wildo-backend-lib/billing/services/billing-subscription-mutation-recovery.backend.service';\nimport { BillingSubscriptionErasureCancellationBackendService } from '~wildo-backend-lib/billing/services/billing-subscription-erasure-cancellation.backend';\nimport { WebhookHandlerBackendService } from '~wildo-backend-lib/notifications/webhooks/services/webhook-handler.backend.service';\nimport { WebhookAutoControllerBackendService } from '~wildo-backend-lib/notifications/webhooks/controllers/webhook-auto-controller.backend.service';\nimport { PolymorphicLookupBackendService } from '~wildo-backend-lib/notifications/webhooks/services/polymorphic-lookup.backend.service';\nimport { InboundHandlerRegistryBackendService } from '~wildo-backend-lib/inbound/services/inbound-handler-registry.backend.service';\nimport { InboundDeliveryStoreBackendService } from '~wildo-backend-lib/inbound/services/inbound-delivery-store.backend.service';\nimport { InboundDeliveryStoredBodyBackendService } from '~wildo-backend-lib/inbound/services/inbound-delivery-stored-body.backend.service';\nimport { InboundLargeBodyRoutesBackendService } from '~wildo-backend-lib/runtime/services/utils/inbound-endpoint-raw-body.backend.utils';\nimport { InboundDeliveryReceiverBackendService } from '~wildo-backend-lib/inbound/services/inbound-delivery-receiver.backend.service';\nimport { InboundDeliveryDispatchBackendService } from '~wildo-backend-lib/inbound/services/inbound-delivery-dispatch.backend.service';\nimport { InboundChannelHandlerRegistryBackendService } from '~wildo-backend-lib/inbound/services/inbound-channel-handler-registry.backend.service';\nimport { InboundChannelIntakeBackendService } from '~wildo-backend-lib/inbound/services/inbound-channel-intake.backend.service';\nimport { InboundChannelRuntimeBackendService } from '~wildo-backend-lib/inbound/services/inbound-channel-runtime.backend.service';\nimport { InboundAttachmentAdoptionBackendService } from '~wildo-backend-lib/inbound/services/inbound-attachment-adoption.backend.service';\nimport { InboundReplyBackendService } from '~wildo-backend-lib/inbound/services/inbound-reply.backend.service';\nimport { InboundReplyTokenBackendService } from '~wildo-backend-lib/inbound/services/inbound-reply-token.backend.service';\nimport { ChatIdentityLinkBackendService } from '~wildo-backend-lib/inbound/services/chat-identity-link.backend.service';\nimport { ChatAgentsBackendService } from '~wildo-backend-lib/flows-actors/services/chat-agents.backend.service';\nimport { ChatConversationStoreBackendService } from '~wildo-backend-lib/flows-actors/services/chat-conversation-store.backend.service';\nimport { ChatConversationDoorBackendService } from '~wildo-backend-lib/flows-actors/services/chat-conversation-door.backend.service';\nimport { ChatReplyHandlersBackendService } from '~wildo-backend-lib/flows-actors/services/chat-reply-handlers.backend.service';\nimport { ChatReplyDispatchBackendService } from '~wildo-backend-lib/flows-actors/services/chat-reply-dispatch.backend.service';\nimport { ChatMemberActionsBackendService } from '~wildo-backend-lib/inbound/services/chat-member-actions.backend.service';\nimport { ChatCommandCatalogBackendService } from '~wildo-backend-lib/inbound/chat-commands/chat-command-catalog.backend.service';\nimport { ChatCommandDoorBackendService } from '~wildo-backend-lib/inbound/chat-commands/chat-command-door.backend.service';\nimport { ChatSearchLaneBackendService } from '~wildo-backend-lib/inbound/chat-commands/chat-search-lane.backend.service';\nimport { ChatCommandFormLaneBackendService } from '~wildo-backend-lib/inbound/chat-commands/chat-command-form-lane.backend.service';\nimport { InboundEmailProviderBackendService } from '~wildo-backend-lib/inbound/email/inbound-email-provider.backend.service';\nimport { InboundEmailRoutingBackendService } from '~wildo-backend-lib/inbound/email/inbound-email-routing.backend.service';\nimport { InboundEmailReceptionBackendService } from '~wildo-backend-lib/inbound/email/inbound-email-reception.backend.service';\nimport { InboundEmailReplyAddressingBackendService } from '~wildo-backend-lib/inbound/email/inbound-email-reply-addressing.backend.service';\nimport { OrganizationEmailDomainsBackendService } from '~wildo-backend-lib/inbound/email/organization-email-domains.backend.service';\nimport { OrganizationCustomDomainsBackendService } from '~wildo-backend-lib/organizations/custom-domains/organization-custom-domains.backend.service';\nimport { CustomDomainHostResolverBackendService } from '~wildo-backend-lib/organizations/custom-domains/custom-domain-host-resolver.backend.service';\nimport { CustomDomainEdgeBackendService } from '~wildo-backend-lib/organizations/custom-domains/custom-domain-edge.backend.service';\nimport { DnsTxtLookupBackendService } from '~wildo-backend-lib/security/dns/dns-txt-lookup.backend.service';\nimport type { ServerProducedFileWriterDependencies } from '~wildo-backend-lib/files/services/server-produced-file-writer.backend';\n\n// Application Runtime Services\nimport { StartApplicationBackendService } from '~wildo-backend-lib/runtime/services/start-application.backend.service';\nimport { ExecutionContextHandlerBackendService } from '~wildo-backend-lib/runtime/services/execution-context-handler.backend.service';\nimport { ExecutionContextCreatorBackendService } from '~wildo-backend-lib/runtime/services/execution-context-creator.backend.service';\n\n// Notification Services\nimport { NotificationDispatcherService } from '~wildo-backend-lib/notifications/services/notifications-dispatcher.backend.service';\nimport { createEngineNotificationContextContributions } from '~wildo-backend-lib/notifications/services/engine-notification-context-contributions.backend';\nimport { NotificationBadgeBackendService } from '~wildo-backend-lib/notifications/services/notification-badge.backend.service';\n// M2M Outbound Webhook Services (Phase 3 — m2m-webhook-organization-delivery)\nimport { WebhookConfigBackendService } from '~wildo-backend-lib/notifications/webhooks/outbound/services/webhook-config.backend.service';\nimport { WebhookVerificationKeySetBackendService } from '~wildo-backend-lib/notifications/webhooks/outbound/services/webhook-verification-key-set.backend.service';\nimport { WEBHOOK_VERIFICATION_KEY_SET_SOURCE } from '@wildo-ai/saas-models';\nimport { M2MWebhookDispatcherBackendService } from '~wildo-backend-lib/notifications/webhooks/outbound/services/m2m-webhook-dispatcher.backend.service';\nimport { M2MWebhookDeliveryLogRepository } from '~wildo-backend-lib/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.repository';\n\nimport { BatchesCronjobsExecutor_BackendService } from '~wildo-backend-lib/base-classes/services/batches/batches-cronjobs-executor.backend.service';\n// Handlers (placeholders)\nimport { ExternalApiHandlerBackendService } from '~wildo-backend-lib/external-providers/services/external-api-handler.backend.service';\nimport { PlatformMutualizedHandlerBackendService } from '~wildo-backend-lib/requests/service/platform-mutualized-handler.backend.service';\nimport { ServerlessServicesHandlerBackendService } from '~wildo-backend-lib/requests/service/serverless-services-handler.backend.service';\n\nimport { ResourceOperationCustomImplementationRegistryBackendService } from '~wildo-backend-lib/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service';\nimport { I18nBackendService } from '~wildo-backend-lib/i18n/services/i18n.backend.service';\n\n// Flows-Actors Services\nimport { FlowsActorsRegistryService } from '~wildo-backend-lib/flows-actors/services/flows-actors-registry.service';\nimport { McpClientBackendService } from '~wildo-backend-lib/flows-actors/services/mcp-client.backend.service';\nimport { McpCredentialResolverBackendService } from '~wildo-backend-lib/flows-actors/services/mcp-credential-resolver.backend.service';\nimport { FlowsActorsControllerBackendService } from '~wildo-backend-lib/flows-actors/controllers/flows-actors.controller';\nimport { AgentsBackendService } from '~wildo-backend-lib/flows-actors/services/agents.backend.service';\nimport { ConversationalExecutionBackendService } from '~wildo-backend-lib/flows-actors/services/conversational-execution.backend.service';\nimport { AutonomousAgentTurnBackendService } from '~wildo-backend-lib/flows-actors/services/autonomous-agent-turn.backend.service';\nimport { WorkUnitCaseBackendService } from '~wildo-backend-lib/flows-actors/services/work-unit-case.backend.service';\nimport { RepresentativeAdmissionDecisionsBackendService } from '~wildo-backend-lib/organizations/organization-relationships/representative-admission-decisions.backend.service';\nimport { OperationApprovalHoldBackendService } from '~wildo-backend-lib/flows-actors/operation-approvals/operation-approval-hold.backend.service';\nimport { OperationApprovalDecisionsBackendService } from '~wildo-backend-lib/flows-actors/operation-approvals/operation-approval-decisions.backend.service';\nimport { OperationApprovalResolversBackendService } from '~wildo-backend-lib/flows-actors/operation-approvals/operation-approval-resolvers.backend.service';\n// === A2A (external actor exposure) ===\nimport { A2ABackendService } from '~wildo-backend-lib/flows-actors/a2a/services/a2a.backend.service';\nimport { A2ATokenBudgetBackendService, createModelUsageCeilingUsageReader, createPersonTokenCeilingUsageReader } from '~wildo-backend-lib/flows-actors/a2a/services/a2a-token-budget.backend.service';\nimport { A2ATaskBackendService } from '~wildo-backend-lib/flows-actors/a2a/services/a2a-task.backend.service';\nimport { A2APushDeliveryLogRepository } from '~wildo-backend-lib/flows-actors/a2a/services/a2a-push-delivery-log.repository';\nimport { A2APushDispatcherBackendService } from '~wildo-backend-lib/flows-actors/a2a/services/a2a-push-dispatcher.backend.service';\nimport { A2ATaskCancellationBackendService } from '~wildo-backend-lib/flows-actors/a2a/services/a2a-task-cancellation.backend.service';\nimport { A2AControllerBackendService } from '~wildo-backend-lib/flows-actors/a2a/controllers/a2a.controller';\nimport { LlmObservabilityAgentCallTraceSink } from '~wildo-backend-lib/flows-actors/services/llm-observability-agent-call-trace-sink.backend';\nimport { ProviderCallRecorderBackendService } from '~wildo-backend-lib/flows-actors/services/provider-call-recorder.backend.service';\nimport { CompositeAuditLogSink } from '~wildo-backend-lib/compliance/audit-trails/services/composite-audit-log-sink.backend';\nimport { LoggerAlertDispatchSink } from '~wildo-backend-lib/monitoring/alerting/alert-dispatch-sinks.backend';\nimport { AlertingBackendService } from '~wildo-backend-lib/monitoring/alerting/alerting.backend.service';\nimport { AgentTraceabilityLevel, ModelUsageUnit, QueueAdapterType, type AgentTraceabilityPolicy, type AlertDispatchSink } from '@wildo-ai/saas-models';\nimport { ContextCurationBackendService } from '~wildo-backend-lib/flows-actors/services/context-curation.backend.service';\nimport { PromptCompilerBackendService } from '~wildo-backend-lib/flows-actors/services/prompt-compiler.backend.service';\nimport { FlowsBackendService } from '~wildo-backend-lib/flows-actors/services/flows.backend.services';\nimport { ActorsSystemBackendService } from '~wildo-backend-lib/flows-actors/services/actors-system.backend.service';\nimport { ApplicationActorExecutionPersistence } from '~wildo-backend-lib/flows-actors/services/application-actor-execution-persistence.backend.service';\nimport { ActorSystemDecisionsBackendService } from '~wildo-backend-lib/flows-actors/services/actor-system-decisions.backend.service';\nimport { HumanDecisionNoticeStayStoreBackendService } from '~wildo-backend-lib/flows-actors/services/human-decision-notice-stay-store.backend.service';\nimport { HumanDecisionNoticeHandlersBackendService } from '~wildo-backend-lib/flows-actors/services/human-decision-notice-handlers.backend.service';\nimport { HumanDecisionNoticeReconcileBackendService } from '~wildo-backend-lib/flows-actors/services/human-decision-notice-reconcile.backend.service';\nimport { HumanDecisionNoticeDispatchBackendService } from '~wildo-backend-lib/flows-actors/services/human-decision-notice-dispatch.backend.service';\nimport { HumanDecisionNoticeWordsBackendService } from '~wildo-backend-lib/flows-actors/services/human-decision-notice-words.backend.service';\nimport type { HumanDecisionNoticeSource } from '~wildo-backend-lib/flows-actors/models/human-decision-notice-source.backend.port';\nimport type { HumanDecisionHost } from '~wildo-backend-lib/flows-actors/models/human-decision-host.backend.port';\n\n// File Management Services\nimport { FileConstraintResolverChain } from '~wildo-backend-lib/files/constraints/file-constraint-resolver-chain.backend.service';\nimport { FileValidationService } from '~wildo-backend-lib/files/constraints/file-validation.backend.service';\nimport { SharpFileImageAnalyzer } from '~wildo-backend-lib/files/constraints/sharp-file-image-analyzer.backend.service';\nimport { ResourceFieldConstraintResolver } from '~wildo-backend-lib/files/constraints/resource-field-constraint-resolver.backend.service';\nimport { FilesBackendService } from '~wildo-backend-lib/files/services/files.backend.service';\nimport { ResourceFileUploadHandlerBackendService } from '~wildo-backend-lib/files/handlers/resource-file-upload-handler.backend.service';\nimport { FileFieldDetectionBackendService } from '~wildo-backend-lib/files/services/file-field-detection.backend.service';\nimport { RagSourceFieldDetectionBackendService } from '~wildo-backend-lib/files/services/rag-source-field-detection.backend.service';\nimport { RagChunkStoreBackendService } from '~wildo-backend-lib/rag/services/rag-chunk-store.backend.service';\nimport { MongodbRagChunkStoreBackendService } from '~wildo-backend-lib/rag/services/mongodb-rag-chunk-store.backend.service';\nimport { PostgresqlRagChunkStoreBackendService } from '~wildo-backend-lib/rag/services/postgresql-rag-chunk-store.backend.service';\nimport { RagIngestionBackendService } from '~wildo-backend-lib/rag/services/rag-ingestion.backend.service';\nimport { RagRetrievalBackendService } from '~wildo-backend-lib/rag/services/rag-retrieval.backend.service';\nimport { EmbeddingsBackendService } from '~wildo-backend-lib/external-providers/services/embeddings.backend.service';\nimport { DocumentExtractionBackendService } from '~wildo-backend-lib/external-providers/services/document-extraction.backend.service';\nimport { ContentSafetyBackendService } from '~wildo-backend-lib/external-providers/services/content-safety.backend.service';\nimport { ElectronicSignatureBackendService } from '~wildo-backend-lib/external-providers/services/electronic-signature.backend.service';\nimport { SignatureRequestsBackendService } from '~wildo-backend-lib/compliance/electronic-signatures/signature-requests.backend.service';\nimport { PadesSignedDocumentValidator } from '~wildo-backend-lib/compliance/electronic-signatures/pades-signed-document-validator.backend';\nimport { SignatureRequestEvidenceFilesBackendService } from '~wildo-backend-lib/compliance/electronic-signatures/signature-request-evidence-files.backend';\nimport { SignatureRequestTriggerBackendService } from '~wildo-backend-lib/compliance/electronic-signatures/signature-request-trigger.backend.service';\nimport { FileController } from '~wildo-backend-lib/files/controllers/file.controller';\nimport { FilePopulationBackendService } from '~wildo-backend-lib/files/services/file-population.backend.service';\nimport { FileOperationHandlerBackendService } from '~wildo-backend-lib/files/services/file-operation-handler.backend.service';\nimport { FileScanningBackendService } from '~wildo-backend-lib/files/services/file-scanning.backend.service';\nimport { FileUploadGrantBackendService } from '~wildo-backend-lib/files/services/file-upload-grant.backend.service';\nimport { ClamAVScannerBackendService } from '~wildo-backend-lib/files/scanning/clamav-scanner.backend.service';\nimport { YaraScannerBackendService } from '~wildo-backend-lib/files/scanning/yara-scanner.backend.service';\nimport { FileTextExtractionBackendService } from '~wildo-backend-lib/files/services/file-text-extraction.backend.service';\nimport { WildoManagedStorageProvider } from '~wildo-backend-lib/files/storage/wildo-managed-storage-provider.backend.service';\nimport { LocalDirectoryStorageProvider } from '~wildo-backend-lib/files/storage/local-directory-storage-provider.backend.service';\nimport { GoogleDriveStorageProvider } from '~wildo-backend-lib/files/storage/google-drive-storage-provider.backend.service';\nimport { FileStorageRouterBackendService } from '~wildo-backend-lib/files/storage/file-storage-router.backend.service';\nimport { ContributedFileStorageProvidersBackendService } from '~wildo-backend-lib/files/storage/contributed-file-storage-providers.backend.service';\nimport { FileStoragePathResolverBackendService } from '~wildo-backend-lib/files/storage/file-storage-path-resolver.backend.service';\nimport { PdfTemplateBindingBackendService } from '~wildo-backend-lib/pdf-templates/services/pdf-template-binding.backend.service';\nimport { PdfCollectionExportTemplateBackendService } from '~wildo-backend-lib/pdf-templates/services/pdf-collection-export-template.backend.service';\nimport { PdfGeneratedFileWriterBackendService } from '~wildo-backend-lib/pdf-templates/services/pdf-generated-file-writer.backend.service';\nimport { ProviderDocumentFileWriterBackendService } from '~wildo-backend-lib/external-providers/operations/provider-document-file-writer.backend.service';\nimport { PdfRendererBackendService } from '~wildo-backend-lib/pdf-templates/services/pdf-renderer.backend.service';\nimport { PdfGenerationOrchestratorBackendService } from '~wildo-backend-lib/pdf-templates/services/pdf-generation-orchestrator.backend.service';\n\n// Queue System Services\nimport { bindQueueAdapter } from '~wildo-backend-lib/queue/adapters/queue-adapter.backend.binding';\nimport { QueueBackendService } from '~wildo-backend-lib/queue/queue.backend.service';\nimport { JobExecutorBackendService } from '~wildo-backend-lib/queue/job-executor.backend.service';\nimport { JobStatusTrackingBackendService } from '~wildo-backend-lib/queue/job-status-tracking.backend.service';\nimport { JobPayloadStorageBackendService } from '~wildo-backend-lib/queue/job-payload-storage.backend.service';\nimport { JobConsumerBackendService } from '~wildo-backend-lib/queue/job-consumer.backend.service';\nimport { WorkerShutdownManagerBackendService } from '~wildo-backend-lib/queue/worker-shutdown-manager.backend.service';\nimport { JobCompletionRegistryBackendService } from '~wildo-backend-lib/queue/job-completion-registry.backend.service';\nimport { DomainQueueConsumerBackendService } from '~wildo-backend-lib/queue/domain-queue-consumer.backend.service';\nimport { ScheduledMessageVerifierBackendService } from '~wildo-backend-lib/queue/scheduled-message-verifier.backend.service';\nimport { QueueMonitoringBackendService } from '~wildo-backend-lib/queue/queue-monitoring.backend.service';\nimport { QueueWorkerInitializerBackendService } from '~wildo-backend-lib/queue/queue-worker-initializer.backend.service';\nimport { CronJobSyncBackendService } from '~wildo-backend-lib/queue/cron-job-sync.backend.service';\n\n// Remote Client Services\nimport { AppsCrontabManagerBackendService } from '~wildo-backend-lib/queue/apps-crontabs-manager.backend.service';\nimport { WorkerRemoteClientFactoryBackendService } from '~wildo-backend-lib/applications/services/worker-remote-client-factory.backend.service';\nimport { ApplicationIdentityBackendService } from '~wildo-backend-lib/applications/services/application-identity.backend.service';\n\n// Aggregation & Chart Services\nimport { MongoAggregationCompilerBackendService } from '~wildo-backend-lib/databases/services/mongo-aggregation.backend.service';\nimport { PostgreSQLAggregationCompilerBackendService } from '~wildo-backend-lib/databases/services/postgresql-aggregation.backend.service';\nimport { AggregationQueryBackendService } from '~wildo-backend-lib/databases/services/aggregation/aggregation-query.backend.service';\nimport { FieldAccessValidatorBackendService } from '~wildo-backend-lib/databases/services/aggregation/field-access-validator.backend.service';\nimport { AggregationAuthorizationBackendService } from '~wildo-backend-lib/databases/services/aggregation/aggregation-authorization.backend.service';\nimport { TimeSeriesDensifierBackendService } from '~wildo-backend-lib/databases/services/aggregation/time-series-densifier.backend.service';\nimport { ComputedMeasureEvaluatorBackendService } from '~wildo-backend-lib/databases/services/aggregation/computed-measure-evaluator.backend.service';\nimport { WindowFunctionProcessorBackendService } from '~wildo-backend-lib/databases/services/aggregation/window-function-processor.backend.service';\nimport { TopNProcessorBackendService } from '~wildo-backend-lib/databases/services/aggregation/topn-processor.backend.service';\nimport { ChartRegistryBackendService } from '~wildo-backend-lib/charts/services/chart-registry.backend.service';\nimport { ChartControllerBackendService } from '~wildo-backend-lib/charts/controllers/chart.backend.controller';\nimport { SubjectErasureLaneEvidenceBackendService } from '~wildo-backend-lib/compliance/privacy/services/subject-erasure-lane-evidence.backend.service';\nimport { SubjectErasureLaneEvidenceControllerBackendService } from '~wildo-backend-lib/compliance/privacy/controllers/subject-erasure-lane-evidence.backend.controller';\nimport { DataSubjectRequestDownloadControllerBackendService } from '~wildo-backend-lib/compliance/privacy/controllers/data-subject-request-download.backend.controller';\nimport { ProviderCallEvidenceBackendService } from '~wildo-backend-lib/flows-actors/services/provider-call-evidence.backend.service';\nimport { ProviderCallEvidenceControllerBackendService } from '~wildo-backend-lib/flows-actors/controllers/provider-call-evidence.backend.controller';\nimport { AgentOperationEvidenceControllerBackendService } from '~wildo-backend-lib/flows-actors/controllers/agent-operation-evidence.backend.controller';\nimport { AgentOperationEvidenceBackendService } from '~wildo-backend-lib/flows-actors/services/agent-operation-evidence.backend.service';\nimport { AgentBehaviorReportEvidenceControllerBackendService } from '~wildo-backend-lib/flows-actors/controllers/agent-behavior-report-evidence.backend.controller';\nimport { AgentBehaviorReportEvidenceBackendService } from '~wildo-backend-lib/flows-actors/services/agent-behavior-report-evidence.backend.service';\nimport { ModelCostBackendService } from '~wildo-backend-lib/flows-actors/services/model-cost.backend.service';\nimport { ModelCostSummaryControllerBackendService } from '~wildo-backend-lib/flows-actors/controllers/model-cost-summary.backend.controller';\nimport { RepresentativeActivityBackendService } from '~wildo-backend-lib/compliance/audit-trails/services/representative-activity.backend.service';\nimport { RepresentativeActivityControllerBackendService } from '~wildo-backend-lib/compliance/audit-trails/controllers/representative-activity.backend.controller';\nimport { AgentWorkDecisionsBackendService } from '~wildo-backend-lib/flows-actors/services/agent-work-decisions.backend.service';\nimport { AgentWorkDecisionsControllerBackendService } from '~wildo-backend-lib/flows-actors/controllers/agent-work-decisions.backend.controller';\nimport { RetentionEnforcementEvidenceControllerBackendService } from '~wildo-backend-lib/compliance/privacy/controllers/retention-enforcement-evidence.backend.controller';\nimport { RetentionEnforcementEvidenceBackendService } from '~wildo-backend-lib/compliance/privacy/services/retention-enforcement-evidence.backend.service';\nimport { PublishedVerificationKeysBackendService } from '~wildo-backend-lib/security/crypto-keys/published-verification-keys.backend.service';\nimport { ApprovalSealKeysControllerBackendService } from '~wildo-backend-lib/security/crypto-keys/approval-seal-keys.backend.controller';\nimport { ApprovalSealsOnRecordControllerBackendService } from '~wildo-backend-lib/compliance/approval-seals/approval-seals-on-record.backend.controller';\nimport { ApplicationKeysBackendService } from '~wildo-backend-lib/security/crypto-keys/application-keys.backend.service';\nimport { ApplicationDataKeysBackendService } from '~wildo-backend-lib/security/crypto-keys/application-data-keys.backend.service';\nimport { UsageFlushEvidenceBackendService } from '~wildo-backend-lib/billing/services/usage-flush-evidence.backend.service';\nimport { UsageFlushEvidenceControllerBackendService } from '~wildo-backend-lib/billing/controllers/usage-flush-evidence.backend.controller';\nimport { ProviderComplianceStateEvidenceBackendService } from '~wildo-backend-lib/external-providers/services/provider-compliance-state-evidence.backend.service';\nimport { ProviderComplianceStateEvidenceControllerBackendService } from '~wildo-backend-lib/external-providers/controllers/provider-compliance-state-evidence.backend.controller';\nimport { ScheduledEvidenceCoverageControllerBackendService } from '~wildo-backend-lib/compliance/privacy/controllers/scheduled-evidence-coverage.backend.controller';\nimport { ResourceOperationJobStatusControllerBackendService } from '~wildo-backend-lib/queue/controllers/resource-operation-job-status.backend.controller';\nimport { GovernedDocumentAcceptanceControllerBackendService } from '~wildo-backend-lib/compliance/documents/controllers/governed-document-acceptance.backend.controller';\n\n// Analytics & Value Moment Services\nimport { ValueMomentHandlerRegistryBackendService } from '~wildo-backend-lib/monitoring/analytics/services/value-moment-handler-registry.backend.service';\nimport { ValueMomentEngineBackendService } from '~wildo-backend-lib/monitoring/analytics/services/value-moment-engine.backend.service';\nimport { ValueMomentDefinitionRegistryBackendService } from '~wildo-backend-lib/monitoring/analytics/services/value-moment-definition-registry.backend.service';\nimport { AnalyticsBackendController } from '~wildo-backend-lib/monitoring/analytics/controllers/analytics.backend.controller';\n\n// Guidance System Services\nimport { GuidanceTriggerEvaluatorBackendService } from '~wildo-backend-lib/guidance/services/guidance-trigger-evaluator.backend.service';\n\n// Progression System Services\nimport { MilestoneDefinitionRegistryBackendService } from '~wildo-backend-lib/guidance/services/milestone-definition-registry.backend.service';\nimport { MilestoneConditionRegistryBackendService } from '~wildo-backend-lib/guidance/services/milestone-condition-registry.backend.service';\nimport { MilestoneEvaluatorBackendService } from '~wildo-backend-lib/guidance/services/milestone-evaluator.backend.service';\nimport { ProgressionStateStoreBackendService } from '~wildo-backend-lib/guidance/services/progression-state-store.backend.service';\nimport { LifecycleEvaluatorBackendService } from '~wildo-backend-lib/guidance/services/lifecycle-evaluator.backend.service';\n\n// Data Seeding System Services\nimport { DataSeedRegistryBackendService } from '~wildo-backend-lib/data-seeding/services/data-seed-registry.backend.service';\nimport { DataSeedDispatcherBackendService } from '~wildo-backend-lib/data-seeding/services/data-seed-dispatcher.backend.service';\nimport { AdditiveSeedEngineBackendService } from '~wildo-backend-lib/data-seeding/services/engines/additive-seed-engine.backend.service';\nimport { UpgradeSeedEngineBackendService } from '~wildo-backend-lib/data-seeding/services/engines/upgrade-seed-engine.backend.service';\nimport { SyncSeedEngineBackendService } from '~wildo-backend-lib/data-seeding/services/engines/sync-seed-engine.backend.service';\nimport { ExternalDataPipelineRunBackendService } from '~wildo-backend-lib/external-data/external-data-pipeline-run.backend.service';\nimport { ExternalDataPipelineKeyRequestsBackendService } from '~wildo-backend-lib/external-data/external-data-pipeline-key-requests.backend.service';\nimport { ExternalDataAdminBackendController } from '~wildo-backend-lib/external-data/controllers/external-data-admin.backend.controller';\nimport { LazySeedEngineBackendService } from '~wildo-backend-lib/data-seeding/services/engines/lazy-seed-engine.backend.service';\nimport { ManualSeedEngineBackendService } from '~wildo-backend-lib/data-seeding/services/engines/manual-seed-engine.backend.service';\nimport { DataSeedScopeResolverRegistryBackendService } from '~wildo-backend-lib/data-seeding/services/data-seed-scope-resolver-registry.backend.service';\nimport { DataSeedingAdminBackendController } from '~wildo-backend-lib/data-seeding/controllers/data-seeding-admin.backend.controller';\n\n// Email System Services\nimport { EmailTemplateValidatorBackendService } from '~wildo-backend-lib/notifications/email/services/email-template-validator.backend.service';\nimport { EmailTemplateRegistryBackendService } from '~wildo-backend-lib/notifications/email/services/email-template-registry.backend.service';\nimport { EmailBackendService } from '~wildo-backend-lib/notifications/email/services/email.backend.service';\nimport { SMSBackendService } from '~wildo-backend-lib/notifications/sms/services/sms.backend.service';\nimport { CryptoKey_Purpose } from '@wildo-ai/saas-models';\nimport { applicationSymmetricKeyOf } from '~wildo-backend-lib/security/crypto-keys/application-symmetric-keys.backend';\n\n/**\n * Global container instance for cross-package injection\n * This enables other packages to access backend services\n */\nlet globalContainer: Container | null = null;\n\n\n/**\n * Core SaaS Backend Dependency Injection Container\n *\n * This container provides currently implemented SaaS infrastructure services.\n * Services are bound based on their implementation status and dependencies.\n */\nexport class SaasContainer {\n private container: Container;\n\n constructor() {\n this.container = new Container({\n defaultScope: 'Singleton',\n });\n this.setupCoreServices();\n }\n\n /**\n * Setup currently implemented SaaS infrastructure services\n */\n private setupCoreServices(): void {\n // Configure container options\n\n // Bind the container itself for services that need to resolve dependencies dynamically\n this.container.bind(SAAS_SERVICE_TYPES.Container).toConstantValue(this.container);\n this.container.bind('Container').toConstantValue(this.container);\n\n\n // Core Infrastructure Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.Logger).to(LoggerService).inSingletonScope();\n\n // Database Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.RedisService).to(RedisService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.MongoDBService).to(MongoDBService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PostgreSQLDatabaseService).to(PostgreSQLDatabaseBackendService).inSingletonScope();\n\n // Configuration Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.AppConfigService).to(AppConfigurationService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AppConfigLoaderService).to(AppConfigurationLoaderService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ApplicationStartupConfigValidatorService).to(ApplicationStartupConfigValidatorService).inSingletonScope();\n\n // Authentication & Security Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.JwtBackendService).to(JwtBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.WildoWorkerBootstrapClientService).to(WildoWorkerBootstrapClientService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthorizationsService).to(AuthorizationsBackendService).inSingletonScope();\n\n // Communication Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.WebSocketService).to(WebSocketService).inSingletonScope();\n\n // Error Handling Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.ErrorHandlerService).to(ErrorHandlerService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ErrorBuilderService).to(ErrorBuilderBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RateLimitBackendService).to(RateLimitBackendService).inSingletonScope();\n\n // Audit & Compliance Services - Currently Implemented & Bound\n // SIEM dispatcher + delivery must be bound before AuditLogsService (which depends on dispatcher)\n this.container.bind(SAAS_SERVICE_TYPES.AuditEventDispatcherService).to(AuditEventDispatcherBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SIEMWebhookDeliveryService).to(SIEMWebhookDeliveryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuditLogsService).to(AuditLogsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SubjectErasureExternalEffectsService).to(SubjectErasureExternalEffectsRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SubjectSessionRevocationService).to(SubjectSessionRevocationBackendService).inSingletonScope();\n\n // Monitoring & Observability Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.MetricsService).to(MetricsService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ObservabilityBackendService).to(ObservabilityBackendService).inSingletonScope();\n\n // Organization Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.AuthOrganizationConfigurationService).to(AuthOrganizationConfigurationService).inSingletonScope();\n\n // Database Converter Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.ZodToMongooseSchemaConvertorService).to(ZodToMongooseSchemaConvertorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ZodToSqlHybridSchemaPlannerService).to(ZodToSqlHybridSchemaPlannerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PostgreSQLFilterBackendService).to(PostgreSQLFilterBackendService).inSingletonScope();\n\n // Database-agnostic Services\n this.container.bind(SAAS_SERVICE_TYPES.ResourceIdBackendService).to(ResourceIdBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ResourcePersistenceUnitOfWorkService).to(ResourcePersistenceUnitOfWorkBackendService).inSingletonScope();\n\n // Repository Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.ResourceOperationHelperService).to(ResourceOperationHelperBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RepositoriesRegistryHandlerService).to(RepositoriesRegistryHandlerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.EvidenceReferencesService).to(EvidenceReferencesBackendService).inSingletonScope();\n\n // Service Layer Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.ServicesRegistryHandlerService).to(ServicesRegistryHandlerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SystemAccessService).to(SystemAccessBackendService).inSingletonScope();\n // The organization-provider-credential store (#357). Bound in singleton scope like its siblings;\n // the provider registry consumes it through the narrow resolver port, @optional, so a host that\n // never binds it resolves provider secrets from the deployment environment exactly as before.\n this.container.bind(SAAS_SERVICE_TYPES.OrganizationProviderCredentialResolver)\n .to(OrganizationProviderCredentialStoreBackendService).inSingletonScope();\n // The per-USER credential store. Bound beside the organization one and NOT @optional in effect:\n // the resolver refuses a person-owned connection outright when nothing is bound, because a\n // person's credential has nothing to fall through to. An unbound store here is a wiring fault,\n // never a deployment choice.\n this.container.bind(SAAS_SERVICE_TYPES.UserProviderCredentialResolver)\n .to(UserProviderCredentialStoreBackendService).inSingletonScope();\n // The application's own stored OAuth2 grants (#3398). Unbound, an APPLICATION target reads the deployment environment\n // only, exactly as before the store existed.\n this.container.bind(SAAS_SERVICE_TYPES.ApplicationProviderCredentialResolver)\n .to(ApplicationProviderCredentialStoreBackendService).inSingletonScope();\n // The in-flight authorization record. Singleton over the Redis client like its siblings; it holds\n // no state of its own, and what it stores is bounded by a ten-minute TTL rather than by anything\n // this process remembers.\n this.container.bind(SAAS_SERVICE_TYPES.ProviderOAuth2PendingAuthorizationService)\n .to(ProviderOAuth2PendingAuthorizationBackendService).inSingletonScope();\n // The token refresher. Singleton so its in-flight map is shared across every caller in this\n // process — the map IS the single-flight, and a per-request instance would hold one entry and\n // collapse nothing.\n this.container.bind(SAAS_SERVICE_TYPES.ProviderOAuth2Refresher)\n .to(ProviderOAuth2RefresherBackendService).inSingletonScope();\n // The sealed cache of a shared connection's non-primary audience tokens (#1725). Holds nothing itself; Redis does.\n this.container.bind(SAAS_SERVICE_TYPES.ProviderAudienceTokenCache)\n .to(ProviderAudienceTokenCacheBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ProviderOAuth2Revoker)\n .to(ProviderOAuth2RevokerBackendService).inSingletonScope();\n // The connect controller — the two HTTP legs of the authorization-code flow.\n this.container.bind(SAAS_SERVICE_TYPES.ProviderConnectionController)\n .to(ProviderConnectionControllerBackendService).inSingletonScope();\n // The browser door to a declared provider operation (#367). A plain `.to()` binding, unlike the\n // executor it calls: a controller is a leaf, and it reaches the executor through that singleton so\n // every browser-triggered call shares the provider's one rate window.\n this.container.bind(SAAS_SERVICE_TYPES.ProviderOperationController)\n .to(ProviderOperationControllerBackendService).inSingletonScope();\n // WHO may spend WHOSE account. Bound rather than left @optional, because the resolver REFUSES\n // every non-application target when nothing is bound: correct as a default, and useless as a\n // permanent state. The implementation reads the initiator's organization-wide memberships out of\n // the execution context and touches no repository, so binding it costs no boot dependency — which\n // is why it can be bound this early beside the store it guards.\n this.container.bind(SAAS_SERVICE_TYPES.ConnectionTargetAuthorizationPort)\n .to(InitiatorMembershipConnectionTargetAuthorization).inSingletonScope();\n // Process-level runtime identity, initialized once at startup. Singleton because a\n // process has exactly one identity for its lifetime.\n this.container.bind(SAAS_SERVICE_TYPES.RuntimePrincipalService).to(RuntimePrincipalBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RuntimePrincipalAttestationService).to(RuntimePrincipalAttestationBackendService).inSingletonScope();\n\n // Controller Layer Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.ControllersRegistryHandlerService).to(ControllersRegistryHandlerBackendService).inSingletonScope();\n\n // Manual Controllers - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.ApplicationConfigController).to(ApplicationConfigControllerBackendService).inSingletonScope();\n // Authentication sub-services\n this.container.bind(SAAS_SERVICE_TYPES.AuthSessionStore).to(AuthSessionStoreBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthCredentialVerifier).to(AuthCredentialVerifierBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthTokenIssuer).to(AuthTokenIssuerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.MachineTokenIssuer).to(MachineTokenIssuerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OAuthProviderToken).to(OAuthProviderTokenBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OidcAuthorizationCode).to(OidcAuthorizationCodeBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OidcUserClaims).to(OidcUserClaimsBackendService).inSingletonScope();\n // Singleton on purpose: the CIMD service holds the per-pod client-metadata cache, so a\n // transient binding would give every authorize request a cold cache and turn each one into an\n // outbound fetch of a stranger's URL.\n this.container.bind(SAAS_SERVICE_TYPES.CimdClientMetadata).to(CimdClientMetadataBackendService).inSingletonScope();\n // === MCP === (external-access MCP-server branch — additive)\n this.container.bind(SAAS_SERVICE_TYPES.McpToolAdapter).to(McpToolAdapterBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.McpServer).to(McpServerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ResourceServerInstancesRegistry).to(ResourceServerInstancesRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.MCPController).to(MCPControllerBackendService).inSingletonScope();\n // === /MCP ===\n // Auth controller extraction services (auth-controller-service-migration)\n this.container.bind(SAAS_SERVICE_TYPES.AuthResponseHelperService).to(AuthResponseHelperBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthUserLookupService).to(AuthUserLookupBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RecipientLanguageService).to(RecipientLanguageBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthCredentialOpsService).to(AuthCredentialOpsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthJwtGuardService).to(AuthJwtGuardBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthPasswordResetService).to(AuthPasswordResetBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthRegistrationService).to(AuthRegistrationBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.EmailVerificationInitiatorService).to(EmailVerificationInitiatorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthMfaService).to(AuthMfaBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthPhoneVerificationService).to(AuthPhoneVerificationBackendService).inSingletonScope();\n // OAuth2 Authentication Services (Step 4)\n // NOTE: Resolver must be bound BEFORE the engine (engine depends on resolver via DI)\n this.container.bind(SAAS_SERVICE_TYPES.OIDCDiscoveryService).to(OIDCDiscoveryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OAuth2ConnectionResolverService).to(OAuth2ConnectionResolverBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OAuth2AuthenticationService).to(OAuth2AuthenticationBackendService).inSingletonScope();\n // Enterprise SSO Services (Steps 14-15)\n this.container.bind(SAAS_SERVICE_TYPES.DomainToOrgLookupService).to(DomainToOrgLookupBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.DomainVerificationService).to(DomainVerificationBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.EnterpriseUserProvisioningService).to(EnterpriseUserProvisioningBackendService).inSingletonScope();\n // WebAuthn/Passkey ceremony service (Phase G1)\n this.container.bind(SAAS_SERVICE_TYPES.WebAuthnService).to(WebAuthnBackendService).inSingletonScope();\n // SCIM Controller (Step 20) — directory provisioning via SCIM 2.0\n this.container.bind(SAAS_SERVICE_TYPES.SCIMController).to(SCIMControllerBackendService).inSingletonScope();\n // SAML 2.0 Protocol Engine (AUTH-2)\n this.container.bind(SAAS_SERVICE_TYPES.SAMLReplayGuardService).to(SAMLReplayGuardBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SAMLMetadataService).to(SAMLMetadataBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SAMLAssertionValidatorService).to(SAMLAssertionValidatorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SAMLAuthenticationService).to(SAMLAuthenticationBackendService).inSingletonScope();\n // Auth method management (#13f)\n this.container.bind(SAAS_SERVICE_TYPES.AuthMethodManagementService).to(AuthMethodManagementBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthMethodSurvivalService).to(AuthMethodSurvivalBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthMethodManagementController).to(AuthMethodManagementControllerBackendService).inSingletonScope();\n // Auth EC factory (W2.9) + orchestrator\n this.container.bind(SAAS_SERVICE_TYPES.AuthExecutionContextFactory).to(AuthExecutionContextFactoryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthenticationOrchestratorService).to(AuthenticationOrchestratorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuthenticationController).to(AuthenticationControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OAuthProviderController).to(OAuthProviderControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.I18nController).to(I18nControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.HealthController).to(HealthControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileController).to(FileController).inSingletonScope();\n\n // HTTP Server Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.HttpServerService).to(HttpServerBackendService).inSingletonScope();\n\n // Resource Registry Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.ResourceRegistryService).to(ResourcesRegistryBackendService).inSingletonScope();\n // #1054 — singleton because it CACHES the owner organization id for the process lifetime; a\n // transient would re-read on every guard and lose the invalidation the promotion door performs.\n this.container.bind(SAAS_SERVICE_TYPES.ApplicationOwnerOrganizationResolver).to(ApplicationOwnerOrganizationResolverBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RelationshipInvitationDeliveryService).to(RelationshipInvitationDeliveryBackendService).inSingletonScope();\n // #1055 — singleton because the PREPARATION is the point: every declared instance is joined with\n // its vendor facet and this environment's values ONCE, at boot, and every reader takes the result\n // from here. A transient would re-derive per call, which is the three-hand-constructed-resolvers\n // shape #1044 records.\n // #1729 — where vendor rate budgets are counted. Bound BEFORE the registry and the executor that spend it. A\n // singleton only for its throttled store-failure log: the counts themselves live in Redis (or in the budget\n // objects, when this process has no Redis).\n this.container.bind(SAAS_SERVICE_TYPES.HttpApiRateBudgetLedgerService).to(SharedRateBudgetLedgerBackendService).inSingletonScope();\n this.container.bind(SYSTEMS_OF_RECORD_REGISTRY_SERVICE_TYPE).to(SystemsOfRecordRegistryBackendService).inSingletonScope();\n // #1678 — the one door to a declared system-of-record ACTION. Singleton for its per-binding read clients (the Odoo uid\n // is minted once per credential). Bound under a PUBLIC member, unlike the registry above: it returns results, never access.\n this.container.bind(SAAS_SERVICE_TYPES.SystemOfRecordActionExecutorService).to(SystemOfRecordActionExecutorBackendService).inSingletonScope();\n\n // Virtual Fields Services - For decorator-based field handling\n this.container.bind(SAAS_SERVICE_TYPES.VirtualFieldsService).to(VirtualFieldsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ResourceContextService).to(ResourceContextBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ResourcePopulationService).to(ResourcePopulationBackendService).inSingletonScope();\n\n // Backend Provider Registry - first-class provider modules\n this.container.bind(SAAS_SERVICE_TYPES.BackendProviderRegistryService).to(BackendProviderRegistryBackendService).inSingletonScope();\n\n // External Providers Registry Services - Runtime policy/config/secrets facade\n this.container.bind(SAAS_SERVICE_TYPES.ExternalProvidersRegistryService).to(ExternalProvidersRegistryBackendService).inSingletonScope();\n\n /*\n * The operation lane, bound by FACTORY rather than by decoration.\n *\n * Both classes stay plain, which is what the lane's other classes are and what lets the\n * repositories registry keep constructing its own resolver with `new`.\n *\n * This construction is handed the bound `ConnectionTargetAuthorizationPort` (#1044). The port's\n * absence is deliberately fail-closed — the resolver REFUSES every non-application connection target\n * — which is right as a default and wrong as the production state: until 2026-09-14 this site omitted\n * it, and every organization- or user-owned connection reached through the operation executor and the\n * browser door answered \"no target-authorization port is bound\". (The comment that stood here said the\n * port was a token \"which nothing binds\"; it has been bound, above, since 5c077287.)\n *\n * Only THIS construction carries it. The repositories registry's and the pipeline's own resolvers\n * serve the HTTP_API lane, which spends the application's service identity and is being replaced by\n * the systems-of-record mechanism (#1049 / #1055); a customer's own connection has no binding there.\n *\n * Singleton on purpose: the executor memoizes a catalogue per `(providerRef, domain)` and holds\n * one rate-limit window per provider. A transient would re-load 6,054 operations per call and\n * give every caller its own window, which is not a rate limit.\n */\n this.container\n .bind(SAAS_SERVICE_TYPES.HttpApiProviderAccessResolverService)\n .toDynamicValue(\n () =>\n new ExternalProvidersHttpApiAccessResolver(\n this.container.get<ExternalProvidersRegistryBackendService>(SAAS_SERVICE_TYPES.ExternalProvidersRegistryService),\n // WHO may spend WHOSE account (#1044). Without it the resolver refuses every organization- or\n // user-owned connection by design, so every customer's own connection was advertised and unusable.\n this.container.get<ConnectionTargetAuthorizationPort>(SAAS_SERVICE_TYPES.ConnectionTargetAuthorizationPort),\n ),\n )\n .inSingletonScope();\n // #1938 — ONE instance for every lane that spends a connection (the provider operation executor, Google Drive\n // storage, the MCP client), so each builds the same budget keys and, on a host without the shared ledger, even the\n // in-process fallback counts one window.\n this.container\n .bind(SAAS_SERVICE_TYPES.ConnectionRateBudgetService)\n .toDynamicValue(\n () =>\n new ConnectionRateBudgetBackendService(\n this.container.get<ExternalProvidersRegistryBackendService>(SAAS_SERVICE_TYPES.ExternalProvidersRegistryService),\n this.container.get<SharedRateBudgetLedgerBackendService>(SAAS_SERVICE_TYPES.HttpApiRateBudgetLedgerService),\n ),\n )\n .inSingletonScope();\n // Both of this class's security observations were DEAD in production until 2026-09-09, and the\n // cause was here: it was constructed with two of its six parameters, so the audit resolver and\n // the credential-use recorder were `undefined` for the process's whole life. Nothing failed —\n // each seam feature-detects its sink and does nothing when there is none — so every outbound\n // provider call left no trail and every stored credential stayed UNVALIDATED however well it\n // worked. The collaborators are a NAMED bag now precisely so a future addition cannot be\n // forgotten by being invisible, and the observations are counted when they drop, so a repeat of\n // this would raise `audit_observation_dropped_total` instead of being silent.\n //\n // Every resolver below is LAZY and resolved per loss/emission rather than at bind time: this\n // binding is evaluated during startup, and eagerly `get`ting the audit service or the metrics\n // service here would pull their subgraphs into the provider lane's construction order.\n this.container\n .bind(SAAS_SERVICE_TYPES.ProviderOperationExecutorService)\n .toDynamicValue(\n () =>\n new ProviderOperationExecutorBackendService(\n this.container.get<ExternalProvidersRegistryBackendService>(SAAS_SERVICE_TYPES.ExternalProvidersRegistryService),\n this.container.get<ExternalProvidersHttpApiAccessResolver>(SAAS_SERVICE_TYPES.HttpApiProviderAccessResolverService),\n {\n auditResolver: () => this.resolveOptional<AuditLogsBackendService>(SAAS_SERVICE_TYPES.AuditLogsService),\n // #1729 / #1938 — the connection's vendor budgets, shared with every other lane that spends a connection and\n // counted where every process of the application sees them.\n rateBudgets: this.container.get<ConnectionRateBudgetBackendService>(SAAS_SERVICE_TYPES.ConnectionRateBudgetService),\n metricsResolver: () => this.resolveOptional<MetricsService>(SAAS_SERVICE_TYPES.MetricsService),\n // Delegating objects rather than resolved instances, so the logger is fetched at the\n // moment there is something to say and never during this binding's evaluation.\n logger: { error: (message, context) => this.resolveOptional<LoggerService>(SAAS_SERVICE_TYPES.Logger)?.error(message, context) },\n warn: (message: string) => this.resolveOptional<LoggerService>(SAAS_SERVICE_TYPES.Logger)?.warn(message),\n },\n ),\n )\n .inSingletonScope();\n // #1712 — the capability egresses' outbound record. Lazy for the executor's reason above: the email, SMS and storage\n // services inject this, and resolving the audit service while they are constructed would close a cycle.\n this.container\n .bind(SAAS_SERVICE_TYPES.ProviderCapabilityCallRecorder)\n .toDynamicValue(\n () =>\n new ProviderCapabilityCallRecorderBackendService({\n auditResolver: () => this.resolveOptional<AuditLogsBackendService>(SAAS_SERVICE_TYPES.AuditLogsService),\n metricsResolver: () => this.resolveOptional<MetricsService>(SAAS_SERVICE_TYPES.MetricsService),\n logger: { error: (message, context) => this.resolveOptional<LoggerService>(SAAS_SERVICE_TYPES.Logger)?.error(message, context) },\n }),\n )\n .inSingletonScope();\n // #2294 — an organization's data residency, applied to every provider call made for it. Registered on the module-level\n // port the egresses call (some are plain functions with no DI graph), with every collaborator resolved per call: the\n // provider registry is initialized, and the audit service constructed, long after this binding runs.\n registerProviderCallDataResidencyGate(new ProviderCallDataResidencyGate({\n registry: () => this.resolveOptional<BackendProviderRegistryBackendService>(SAAS_SERVICE_TYPES.BackendProviderRegistryService),\n organizations: () => this.resolveOptional<RepositoriesRegistryHandlerBackendService>(SAAS_SERVICE_TYPES.RepositoriesRegistryHandlerService),\n audit: () => this.resolveOptional<AuditLogsBackendService>(SAAS_SERVICE_TYPES.AuditLogsService),\n logger: { error: (message, context) => this.resolveOptional<LoggerService>(SAAS_SERVICE_TYPES.Logger)?.error(message, context) },\n }));\n // #1735 — the public-submission challenge. Lazy for the same reason: it is bound before the provider registry is\n // initialized, and custom-implementation utils reach it through the services registry handler.\n this.container\n .bind(SAAS_SERVICE_TYPES.SubmissionChallengeService)\n .toDynamicValue(\n () =>\n new SubmissionChallengeBackendService({\n captchaProviders: () => {\n const registry = this.resolveOptional<BackendProviderRegistryBackendService>(SAAS_SERVICE_TYPES.BackendProviderRegistryService);\n return registry ? [...registry.getRegistry().modules.values()].filter(isCaptchaVerifierProvider) : [];\n },\n // rate-limit-relaxation: N/A — a single-use marker for one proof-of-work solution, not an abuse throttle.\n // Relaxing its `> 1` in DEVELOPMENT/TEST would let one solution answer many submissions.\n countSolutionUse: (identifier, windowSeconds) =>\n this.container.get<RedisService>(SAAS_SERVICE_TYPES.RedisService).incrementRateLimit(identifier, windowSeconds),\n challengePurposeKey: () =>\n applicationSymmetricKeyOf(this.resolveOptional<AppConfigurationService>(SAAS_SERVICE_TYPES.AppConfigService), CryptoKey_Purpose.SUBMISSION_CHALLENGE),\n errorBuilder: () => this.container.get<ErrorBuilderBackendService>(SAAS_SERVICE_TYPES.ErrorBuilderService),\n capabilityCalls: () => this.resolveOptional<ProviderCapabilityCallRecorderBackendService>(SAAS_SERVICE_TYPES.ProviderCapabilityCallRecorder),\n countRefusal: (reason) => this.resolveOptional<MetricsService>(SAAS_SERVICE_TYPES.MetricsService)?.recordSubmissionChallengeRefused({ reason }),\n logger: {\n warn: (message, context) => this.resolveOptional<LoggerService>(SAAS_SERVICE_TYPES.Logger)?.warn(message, context),\n error: (message, context) => this.resolveOptional<LoggerService>(SAAS_SERVICE_TYPES.Logger)?.error(message, context),\n },\n }),\n )\n .inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FrontendBootstrapBackendService).to(DefaultFrontendBootstrapBackendService).inSingletonScope();\n\n // Feature System Services\n this.container.bind(SAAS_SERVICE_TYPES.FeatureDefinitionRegistryService).to(FeatureDefinitionRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FeatureResolutionService).to(FeatureResolutionBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FeatureGateService).to(FeatureGateBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FeaturesController).to(FeaturesControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SubmissionChallengeController).to(SubmissionChallengeControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.CspViolationReportsController).to(CspViolationReportsControllerBackendService).inSingletonScope();\n\n // Consumable Token Services\n this.container.bind(SAAS_SERVICE_TYPES.ConsumableTokenService).to(ConsumableTokenBackendService).inSingletonScope();\n\n // Anonymous Session Service (W7.3a)\n this.container.bind(SAAS_SERVICE_TYPES.AnonymousSessionService).to(AnonymousSessionBackendService).inSingletonScope();\n\n // Webhook System Services\n this.container.bind(SAAS_SERVICE_TYPES.WebhookHandlerService).to(WebhookHandlerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.WebhookAutoController).to(WebhookAutoControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PolymorphicLookupService).to(PolymorphicLookupBackendService).inSingletonScope();\n\n // Inbound deliveries (#1596)\n this.container.bind(SAAS_SERVICE_TYPES.InboundHandlerRegistryService).to(InboundHandlerRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundDeliveryStoreService).to(InboundDeliveryStoreBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundDeliveryStoredBodyService).to(InboundDeliveryStoredBodyBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundLargeBodyRoutes).toConstantValue(new InboundLargeBodyRoutesBackendService());\n this.container.bind(SAAS_SERVICE_TYPES.InboundDeliveryReceiverService).to(InboundDeliveryReceiverBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundDeliveryDispatchService).to(InboundDeliveryDispatchBackendService).inSingletonScope();\n // Inbound channels (#1630). `InboundEmailReplyAddressing` is deliberately NOT bound here: it is the\n // receiving side's port (#1600), and without it a reply goes from the application's sender.\n this.container.bind(SAAS_SERVICE_TYPES.InboundChannelHandlerRegistryService).to(InboundChannelHandlerRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundChannelIntakeService).to(InboundChannelIntakeBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundChannelRuntimeService).to(InboundChannelRuntimeBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundAttachmentAdoptionService).to(InboundAttachmentAdoptionBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundReplyService).to(InboundReplyBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundReplyTokenService).to(InboundReplyTokenBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChatIdentityLinkService).to(ChatIdentityLinkBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChatMemberActionsService).to(ChatMemberActionsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChatCommandCatalog).to(ChatCommandCatalogBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChatCommandDoor).to(ChatCommandDoorBackendService).inSingletonScope();\n // Singleton: it holds the process's running searches (one per chat account, a bounded number in all).\n this.container.bind(SAAS_SERVICE_TYPES.ChatSearchLane).to(ChatSearchLaneBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChatCommandFormLane).to(ChatCommandFormLaneBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChatAgentsService).to(ChatAgentsBackendService).inSingletonScope();\n // #2665 S6: the chat-conversation ledger, the reply handlers and the dispatcher that posts owed replies through them.\n this.container.bind(SAAS_SERVICE_TYPES.ChatConversationStore).to(ChatConversationStoreBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChatReplyHandlers).to(ChatReplyHandlersBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChatReplyDispatch).to(ChatReplyDispatchBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChatConversationDoor).to(ChatConversationDoorBackendService).inSingletonScope();\n // Receiving email (#1600). The reply-addressing port #1630 left unbound is bound here: a reply now leaves the\n // way its thread arrived (the organization's verified domain, a relationship mailbox, or the shared address).\n this.container.bind(SAAS_SERVICE_TYPES.InboundEmailProviderService).to(InboundEmailProviderBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundEmailRoutingService).to(InboundEmailRoutingBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundEmailReceptionService).to(InboundEmailReceptionBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.InboundEmailReplyAddressing).to(InboundEmailReplyAddressingBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OrganizationEmailDomainsService).to(OrganizationEmailDomainsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OrganizationCustomDomainsService).to(OrganizationCustomDomainsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.CustomDomainHostResolverService).to(CustomDomainHostResolverBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.CustomDomainEdgeService).to(CustomDomainEdgeBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.DnsTxtLookupService).to(DnsTxtLookupBackendService).inSingletonScope();\n // One bundle for every writer of a server-produced file (#2903 S6b); the inbound email lane reads it under its own name.\n this.container.bind<ServerProducedFileWriterDependencies>(SAAS_SERVICE_TYPES.InboundEmailFileWriterDependencies).toService(SAAS_SERVICE_TYPES.ServerProducedFileWriterDependencies);\n this.container.bind<ServerProducedFileWriterDependencies>(SAAS_SERVICE_TYPES.ServerProducedFileWriterDependencies).toDynamicValue((context) => ({\n logger: context.get(SAAS_SERVICE_TYPES.Logger),\n errorBuilder: context.get(SAAS_SERVICE_TYPES.ErrorBuilderService),\n filesService: context.get(SAAS_SERVICE_TYPES.FilesBackendService),\n fileStorageRouter: context.get(SAAS_SERVICE_TYPES.FileStorageRouter),\n pathResolver: context.get(SAAS_SERVICE_TYPES.FileStoragePathResolver),\n appConfigService: context.get(SAAS_SERVICE_TYPES.AppConfigService),\n fileScanning: context.get(SAAS_SERVICE_TYPES.FileScanningService),\n })).inSingletonScope();\n\n // Billing System Services\n this.container.bind(SAAS_SERVICE_TYPES.BillingFeatureSyncService).to(BillingFeatureSyncBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ProductCatalogSyncService).to(ProductCatalogSyncBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.UsageMeteringService).to(UsageMeteringBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.BillingReconciliationService).to(BillingReconciliationBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ReferralProgramService).to(ReferralProgramBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.BillingStateService).to(BillingStateBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.BillingEffectOutboxRelayService).to(BillingEffectOutboxRelayBackendService).inSingletonScope();\n // #2903: the approval-seal relay, a singleton like every relay: its leases fence it against other replicas, not itself.\n this.container.bind(SAAS_SERVICE_TYPES.ApprovalSealRelayService).to(ApprovalSealRelayBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.BillingSubscriptionMutationRecoveryService).to(BillingSubscriptionMutationRecoveryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.BillingSubscriptionErasureCancellationService).to(BillingSubscriptionErasureCancellationBackendService).inSingletonScope();\n\n // Application Runtime Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.StartApplicationService).to(StartApplicationBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ExecutionContextHandlerService).to(ExecutionContextHandlerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ExecutionContextCreatorBackendService).to(ExecutionContextCreatorBackendService).inSingletonScope();\n\n // M2M Outbound Webhook Services (Phase 3) — bound BEFORE NotificationDispatcherService\n // because the dispatcher takes M2MWebhookDispatcherService as a constructor\n // dependency. Inversify resolution order is dependency-driven (not file\n // order), but binding webhook services first keeps the wire-up explicit.\n this.container.bind(SAAS_SERVICE_TYPES.M2MWebhookDeliveryLogRepository).to(M2MWebhookDeliveryLogRepository).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.WebhookConfigService).to(WebhookConfigBackendService).inSingletonScope();\n // The keys the virtual WebhookConfig field `applicationVerificationJwks` lists (#2895), bound under the symbol the shared\n // schema resolves, since that schema cannot import a backend service.\n this.container.bind(WEBHOOK_VERIFICATION_KEY_SET_SOURCE).to(WebhookVerificationKeySetBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.M2MWebhookDispatcherService).to(M2MWebhookDispatcherBackendService).inSingletonScope();\n\n // Notification Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.NotificationDispatcherService).to(NotificationDispatcherService).inSingletonScope();\n // The engine's own operations whose email needs facts its row does not carry (#2635, #1851). Registered here, at\n // the composition root, so the dispatcher imports no domain module.\n this.container.bind(SAAS_SERVICE_TYPES.NotificationContextContributionsService)\n .toDynamicValue(() => createEngineNotificationContextContributions(this.container))\n .inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.NotificationBadgeService).to(NotificationBadgeBackendService).inSingletonScope();\n // I18n Service - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.I18nService).to(I18nBackendService).inSingletonScope();\n\n // Requests & Remote Clients - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.AppsCrontabManagerService).to(AppsCrontabManagerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.WorkerRemoteClientFactoryService).to(WorkerRemoteClientFactoryBackendService).inSingletonScope();\n // SINGLETON deliberately: the memo is the point. A transient binding would re-read the\n // APPLICATION row per injection and defeat the whole reason this service exists.\n this.container.bind(SAAS_SERVICE_TYPES.ApplicationIdentityService).to(ApplicationIdentityBackendService).inSingletonScope();\n\n // Batch/Cron Jobs - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.BatchesCronjobsExecutorService).to(BatchesCronjobsExecutor_BackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.CronJobSyncService).to(CronJobSyncBackendService).inSingletonScope();\n\n // Handlers - Placeholder implementations\n this.container.bind(SAAS_SERVICE_TYPES.ExternalApiHandlerService).to(ExternalApiHandlerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PlatformMutualizedHandlerService).to(PlatformMutualizedHandlerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ServerlessServicesHandlerService).to(ServerlessServicesHandlerBackendService).inSingletonScope();\n\n // Resource Operation Custom Implementations\n this.container.bind(SAAS_SERVICE_TYPES.ResourceOperationCustomImplementationRegistryService).to(ResourceOperationCustomImplementationRegistryBackendService).inSingletonScope();\n\n\n // Flows-Actors Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.FlowsActorsRegistryService).to(FlowsActorsRegistryService).inSingletonScope();\n /*\n * The MCP tool plane (#491). Bound unconditionally, and reached only by an agent that\n * declares `mcpRefs` — an application with no MCP server pays nothing for these. The\n * INJECTIONS in AgentsBackendService stay `@optional()` regardless, so a host that composes\n * its own container without them degrades to function tools rather than failing to build.\n */\n this.container.bind(SAAS_SERVICE_TYPES.McpClientService).to(McpClientBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.McpCredentialResolverService).to(McpCredentialResolverBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FlowsActorsController).to(FlowsActorsControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AgentsBackendService).to(AgentsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ConversationalExecutionBackendService).to(ConversationalExecutionBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AutonomousAgentTurnService).to(AutonomousAgentTurnBackendService).inSingletonScope();\n // #1598: the one gate every boundary taking a case uses (work unit + READ as the caller).\n this.container.bind(SAAS_SERVICE_TYPES.WorkUnitCaseService).to(WorkUnitCaseBackendService).inSingletonScope();\n // #1612: a granting organization's per-representative approvals, a human-decision plane the conversational inbox\n // and act route consult.\n this.container.bind(SAAS_SERVICE_TYPES.RepresentativeAdmissionDecisions).to(RepresentativeAdmissionDecisionsBackendService).inSingletonScope();\n // #2288: the hold for operations that require another person's approval, and the plane that decides them.\n this.container.bind(SAAS_SERVICE_TYPES.OperationApprovalHold).to(OperationApprovalHoldBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OperationApprovalDecisions).to(OperationApprovalDecisionsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.OperationApprovalResolvers).to(OperationApprovalResolversBackendService).inSingletonScope();\n // === A2A (external actor exposure) ===\n this.container.bind(SAAS_SERVICE_TYPES.A2AService).to(A2ABackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.A2ATokenBudgetService).to(A2ATokenBudgetBackendService).inSingletonScope();\n // #2464: the services that measure a limit the gate cannot count. Listed here, so the gate depends on the port alone.\n this.container\n .bind(SAAS_SERVICE_TYPES.FeatureUsageReaders)\n .toDynamicValue(() => {\n const budget = this.container.get<A2ATokenBudgetBackendService>(SAAS_SERVICE_TYPES.A2ATokenBudgetService);\n // #2844: the per-person ceiling is measured by the same service, through its own reader (one reader per feature).\n // #3030: so are the three unit ceilings, one reader each.\n return [\n budget,\n createPersonTokenCeilingUsageReader(budget),\n ...Object.values(ModelUsageUnit).map((unit) => createModelUsageCeilingUsageReader(budget, unit)),\n ];\n })\n .inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.A2ATaskService).to(A2ATaskBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.A2ATaskCancellationService).to(A2ATaskCancellationBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.A2APushDeliveryLogRepository).to(A2APushDeliveryLogRepository).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.A2APushDispatcherService).to(A2APushDispatcherBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.A2AController).to(A2AControllerBackendService).inSingletonScope();\n // Engine agent-call traceability. The sink + policy are resolved LAZILY against\n // the app's `defineSaaSProviders` selection for `LLM_OBSERVABILITY` — see\n // `LlmObservabilityAgentCallTraceSink`. They MUST be bound eagerly here (a stable\n // reference the dev companion composes into its `CompositeAgentCallTraceSink`, and\n // that `AgentsBackendService` `@optional()`-injects once), but the concrete\n // provider sink (e.g. PostHog) only resolves on the first agent call — by which\n // point the external-providers registry is initialized and the selection is\n // known. No provider selected/configured → the sink no-ops + the policy reads\n // `NONE` (so emission is skipped and output is byte-identical). A tracing\n // consumer — e.g. the companion — `rebind`s both: its filesystem sink composed\n // ON TOP, and a policy that COMPOSES its own level with this live one via\n // `maxAgentTraceabilityLevel` (never a static replacement — a static level\n // would silently kill the LLM-obs capture this policy gates).\n this.container.bind(LlmObservabilityAgentCallTraceSink).toSelf().inSingletonScope();\n // The provider-call RECORD, distinct from the trace above: written on every physical provider call\n // whatever the traceability level, because evidence cannot depend on an observability choice.\n this.container.bind(SAAS_SERVICE_TYPES.ProviderCallRecorder).to(ProviderCallRecorderBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AgentCallTraceSink).toDynamicValue(() =>\n this.container.get(LlmObservabilityAgentCallTraceSink),\n ).inSingletonScope();\n // Engine audit-log fan-out. `CompositeAuditLogSink` resolves EVERY provider\n // declaring `COMPLIANCE_AUDIT_TRAIL` (a FAN_OUT capability) LAZILY — same\n // eager-bind / lazy-resolve rationale as the LLM-obs sink above. Layered on\n // the always-on DB audit store; no audit providers → byte-identical no-op.\n this.container.bind(CompositeAuditLogSink).toSelf().inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AuditLogSink).toDynamicValue(() =>\n this.container.get(CompositeAuditLogSink),\n ).inSingletonScope();\n // Engine alerting (#9 Phase 0). Bound eagerly as a stable reference, like the trace sink above, so a\n // host can `rebind` the port to a composite (its own sink ON TOP of this one). Phase 0 delivers to the\n // structured log only — one `wildo.alert` line the application's observability provider alerts on — so\n // no provider is resolved and nothing is configured. A router / channel sink (Phases 1–2) joins here.\n this.container.bind(LoggerAlertDispatchSink).toSelf().inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AlertDispatchSink).toDynamicValue(() =>\n this.container.get(LoggerAlertDispatchSink),\n ).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AlertingService).to(AlertingBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AgentTraceabilityPolicy).toDynamicValue(() => {\n const llmObsSink = this.container.get(LlmObservabilityAgentCallTraceSink);\n // Live level: DEBUG iff an LLM-obs provider is selected + configured, else NONE\n // (the byte-identical \"off\" path). `.level` is read per agent call, by which\n // point the registry is initialized — so the getter, not a snapshot.\n return {\n get level(): AgentTraceabilityLevel {\n return llmObsSink.isActive() ? AgentTraceabilityLevel.DEBUG : AgentTraceabilityLevel.NONE;\n },\n } satisfies AgentTraceabilityPolicy;\n }).inSingletonScope();\n // Best-effort flush on NATURAL process exit only (`beforeExit`), so a short-lived\n // host (CLI / minion) that finishes and lets the event loop drain still ships its\n // queued events. We deliberately do NOT register `SIGTERM` / `SIGINT` handlers: in\n // Node, attaching a signal listener REMOVES the default \"terminate\" behaviour, so a\n // flush-only listener makes the host unkillable by that signal (the supervisor then\n // waits its 10s grace before SIGKILL on every restart). `process.exit`/re-raise from\n // here is also unsafe — this container is shared with hosts that own their own\n // SIGTERM shutdown (e.g. the queue `WorkerShutdownManager` draining in-flight jobs).\n // Signal-driven graceful flush belongs to the host's shutdown coordinator —\n // `ObservabilityBackendService.wireLlmObservabilityFlush()` registers it into\n // `WorkerShutdownManager` for hosts that run the standard (or companion) startup;\n // `posthog-node`'s own periodic flush is the backstop elsewhere. (Getting the\n // sink here resolves the singleton but never triggers provider resolution if no\n // agent call happened — `shutdown()` no-ops when unresolved.)\n process.once('beforeExit', () => {\n void this.container.get(LlmObservabilityAgentCallTraceSink).shutdown?.();\n void this.container.get(CompositeAuditLogSink).shutdown?.();\n // The BOUND alert sink, not the logger class: a host that rebinds the port to a composite drains its children.\n void this.container.get<AlertDispatchSink>(SAAS_SERVICE_TYPES.AlertDispatchSink).shutdown?.();\n });\n this.container.bind(SAAS_SERVICE_TYPES.ContextCurationService).to(ContextCurationBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PromptCompilerService).to(PromptCompilerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FlowsBackendService).to(FlowsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ActorsSystemBackendService).to(ActorsSystemBackendService).inSingletonScope();\n /*\n * #2539: the actor plane an APPLICATION writes — its own `actorSystemExecutions` / `actorTasks`, organization-scoped.\n * The port's DEFAULT binding, so every application backend can run, suspend and resume an actor execution. A host\n * whose runs belong elsewhere REBINDS the port (the dev companion: the platform's rows, the record of building an\n * application); the concrete persistence stays bound under its own token, and the actor-system decision host serves\n * the inbox only while the port IS this persistence.\n */\n this.container.bind(SAAS_SERVICE_TYPES.ApplicationActorExecutionPersistence).to(ApplicationActorExecutionPersistence).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ActorExecutionPersistencePort).toDynamicValue(() =>\n this.container.get(SAAS_SERVICE_TYPES.ApplicationActorExecutionPersistence),\n ).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ActorSystemDecisions).to(ActorSystemDecisionsBackendService).inSingletonScope();\n // The inbox's other decision planes (#1612, #2539), consulted by the conversational service's list and act route.\n this.container.bind(SAAS_SERVICE_TYPES.HumanDecisionHosts).toDynamicValue((): readonly HumanDecisionHost[] => [\n this.container.get<HumanDecisionHost>(SAAS_SERVICE_TYPES.RepresentativeAdmissionDecisions),\n this.container.get<HumanDecisionHost>(SAAS_SERVICE_TYPES.ActorSystemDecisions),\n this.container.get<HumanDecisionHost>(SAAS_SERVICE_TYPES.OperationApprovalDecisions),\n ]).inSingletonScope();\n // Decision notices (#2664 S5b): the four planes as the reconcile reads them, the ledger's writer, the application's\n // handler (registered at startup) and the reconcile itself. Operation approvals joined with #2814.\n this.container.bind(SAAS_SERVICE_TYPES.HumanDecisionNoticeSources).toDynamicValue((): readonly HumanDecisionNoticeSource[] => [\n this.container.get<HumanDecisionNoticeSource>(SAAS_SERVICE_TYPES.ConversationalExecutionBackendService),\n this.container.get<HumanDecisionNoticeSource>(SAAS_SERVICE_TYPES.ActorSystemDecisions),\n this.container.get<HumanDecisionNoticeSource>(SAAS_SERVICE_TYPES.RepresentativeAdmissionDecisions),\n this.container.get<HumanDecisionNoticeSource>(SAAS_SERVICE_TYPES.OperationApprovalDecisions),\n ]).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.HumanDecisionNoticeStayStore).to(HumanDecisionNoticeStayStoreBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.HumanDecisionNoticeHandlers).to(HumanDecisionNoticeHandlersBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.HumanDecisionNoticeReconcile).to(HumanDecisionNoticeReconcileBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.HumanDecisionNoticeDispatch).to(HumanDecisionNoticeDispatchBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.HumanDecisionNoticeWords).to(HumanDecisionNoticeWordsBackendService).inSingletonScope();\n\n // File Management Services - Currently Implemented & Bound\n this.container.bind(SAAS_SERVICE_TYPES.ResourceFieldConstraintResolver).to(ResourceFieldConstraintResolver).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileConstraintResolverChain).to(FileConstraintResolverChain).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileImageAnalyzer).to(SharpFileImageAnalyzer).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileValidationService).to(FileValidationService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FilesBackendService).to(FilesBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ResourceFileUploadHandlerService).to(ResourceFileUploadHandlerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileFieldDetectionService).to(FileFieldDetectionBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RagSourceFieldDetectionService).to(RagSourceFieldDetectionBackendService).inSingletonScope();\n // RAG derived-data tier (plan D3): the adapter-routing chunk store + BOTH of its adapters\n // (D1: vector storage follows the resource's own database, so an application binds the one its\n // resources resolve to and the other stays unreached).\n // Singletons — each adapter caches its one-time provisioning ensure, and the router is stateless.\n this.container.bind(SAAS_SERVICE_TYPES.RagChunkStoreService).to(RagChunkStoreBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PostgresqlRagChunkStoreService).to(PostgresqlRagChunkStoreBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.MongodbRagChunkStoreService).to(MongodbRagChunkStoreBackendService).inSingletonScope();\n // RAG write path (plan §3.c): the ingestion pipeline the service-tier changed-field hook and the\n // hourly reconciliation sweep share. Singleton — stateless beyond its injected collaborators.\n this.container.bind(SAAS_SERVICE_TYPES.RagIngestionService).to(RagIngestionBackendService).inSingletonScope();\n // RAG retrieval (plan D5/D6, Phase 5): the public read surface flows/actors consume in-process.\n // Singleton — stateless beyond its injected collaborators; the embeddings binding resolves per call\n // so a provider configured after boot is picked up without a restart.\n this.container.bind(SAAS_SERVICE_TYPES.RagRetrievalService).to(RagRetrievalBackendService).inSingletonScope();\n // Embeddings execution seam (plan §3.d, DL2): applicability-class provider/model resolution +\n // the one embedTexts path the rag:embedding-drain worker and Phase-5 retrieval share.\n // Singleton — stateless beyond its injected collaborators; the trace sink/policy resolve lazily.\n this.container.bind(SAAS_SERVICE_TYPES.EmbeddingsService).to(EmbeddingsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.DocumentExtractionService).to(DocumentExtractionBackendService).inSingletonScope();\n // #2292: the classifier an agent's content guardrails screen through. Unselected, it answers NOT_SCREENED.\n this.container.bind(SAAS_SERVICE_TYPES.ContentSafetyService).to(ContentSafetyBackendService).inSingletonScope();\n // #2293: the transport of the vendor that applies its signers' electronic signatures. Unselected, every sending is refused.\n this.container.bind(SAAS_SERVICE_TYPES.ElectronicSignatureService).to(ElectronicSignatureBackendService).inSingletonScope();\n // #2293: the send path and the re-read of signature requests; the validator a vendor's \"completed\" is checked by\n // (pkijs, loaded on first use); where a SIGNED request keeps its evidence; and the trigger that sends a sealed\n // deliverable whose tool declares a signature.\n this.container.bind(SAAS_SERVICE_TYPES.SignatureRequestsService).to(SignatureRequestsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SignedDocumentValidator).to(PadesSignedDocumentValidator).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SignatureRequestEvidenceFiles).to(SignatureRequestEvidenceFilesBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SignatureRequestTriggerService).to(SignatureRequestTriggerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FilePopulationService).to(FilePopulationBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileOperationHandlerService).to(FileOperationHandlerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileStorageProvider_WildoManaged).to(WildoManagedStorageProvider).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileStorageProvider_LocalDirectory).to(LocalDirectoryStorageProvider).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileStorageProvider_GoogleDrive).to(GoogleDriveStorageProvider).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ContributedFileStorageProviders).to(ContributedFileStorageProvidersBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileStorageRouter).to(FileStorageRouterBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileStoragePathResolver).to(FileStoragePathResolverBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PdfTemplateBinding).to(PdfTemplateBindingBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PdfCollectionExportTemplates).to(PdfCollectionExportTemplateBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PdfGeneratedFileWriter).to(PdfGeneratedFileWriterBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ProviderDocumentFileWriter).to(ProviderDocumentFileWriterBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PdfRenderer).to(PdfRendererBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PdfGenerationOrchestrator).to(PdfGenerationOrchestratorBackendService).inSingletonScope();\n\n // File Scanning Services\n this.container.bind(SAAS_SERVICE_TYPES.FileScanningService).to(FileScanningBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileUploadGrantService).to(FileUploadGrantBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ClamAVScannerService).to(ClamAVScannerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.YaraScannerService).to(YaraScannerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FileTextExtractionService).to(FileTextExtractionBackendService).inSingletonScope();\n\n /*\n * Queue System Services — the adapter is SELECTED, not hard-bound (#502).\n *\n * `QueueAdapterType` had zero readers while this line named one class directly, so the enum\n * described a choice nothing could make. `bindQueueAdapter` is now the only site that maps a\n * member to an implementation; a test lane rebinds the same token with `QueueAdapterType.MEMORY`\n * against this already-configured container, which is what makes the in-memory adapter reachable\n * rather than merely present.\n */\n bindQueueAdapter(this.container, QueueAdapterType.RABBITMQ);\n this.container.bind(SAAS_SERVICE_TYPES.QueueBackendService).to(QueueBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.JobExecutorBackendService).to(JobExecutorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.JobStatusTrackingService).to(JobStatusTrackingBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.JobPayloadStorageService).to(JobPayloadStorageBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.JobConsumerService).to(JobConsumerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.WorkerShutdownManagerService).to(WorkerShutdownManagerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.JobCompletionRegistryService).to(JobCompletionRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.DomainQueueConsumerService).to(DomainQueueConsumerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ScheduledMessageVerifierService).to(ScheduledMessageVerifierBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.QueueMonitoringService).to(QueueMonitoringBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.QueueWorkerInitializerService).to(QueueWorkerInitializerBackendService).inSingletonScope();\n\n // Aggregation & Chart Services\n this.container.bind(SAAS_SERVICE_TYPES.MongoAggregationCompiler).to(MongoAggregationCompilerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PostgreSQLAggregationCompiler).to(PostgreSQLAggregationCompilerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.FieldAccessValidator).to(FieldAccessValidatorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AggregationAuthorizationService).to(AggregationAuthorizationBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.TimeSeriesDensifier).to(TimeSeriesDensifierBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ComputedMeasureEvaluator).to(ComputedMeasureEvaluatorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.WindowFunctionProcessor).to(WindowFunctionProcessorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.TopNProcessor).to(TopNProcessorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AggregationQueryService).to(AggregationQueryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChartRegistryService).to(ChartRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ChartController).to(ChartControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SubjectErasureLaneEvidenceService).to(SubjectErasureLaneEvidenceBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SubjectErasureLaneEvidenceController).to(SubjectErasureLaneEvidenceControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.DataSubjectRequestDownloadController).to(DataSubjectRequestDownloadControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ProviderCallEvidenceService).to(ProviderCallEvidenceBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ProviderCallEvidenceController).to(ProviderCallEvidenceControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AgentOperationEvidenceService).to(AgentOperationEvidenceBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AgentOperationEvidenceController).to(AgentOperationEvidenceControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AgentBehaviorReportEvidenceService).to(AgentBehaviorReportEvidenceBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AgentBehaviorReportEvidenceController).to(AgentBehaviorReportEvidenceControllerBackendService).inSingletonScope();\n // #1598: cost per case — the summary, the period close and the tenant-deletion close — and its APP_ADMIN door.\n this.container.bind(SAAS_SERVICE_TYPES.ModelCostService).to(ModelCostBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ModelCostSummaryController).to(ModelCostSummaryControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RepresentativeActivityService).to(RepresentativeActivityBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RepresentativeActivityController).to(RepresentativeActivityControllerBackendService).inSingletonScope();\n // #1599: the decision records — and, bound as #1598's decision-time source, what makes a CASE cost summary's\n // decision time JOINED rather than NOT_RECORDED.\n this.container.bind(SAAS_SERVICE_TYPES.AgentWorkDecisionsService).to(AgentWorkDecisionsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.DecisionTimeSource).toService(SAAS_SERVICE_TYPES.AgentWorkDecisionsService);\n this.container.bind(SAAS_SERVICE_TYPES.AgentWorkDecisionsController).to(AgentWorkDecisionsControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RetentionEnforcementEvidenceService).to(RetentionEnforcementEvidenceBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.PublishedVerificationKeysService).to(PublishedVerificationKeysBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ApplicationKeysService).to(ApplicationKeysBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ApplicationDataKeysService).to(ApplicationDataKeysBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ApprovalSealKeysController).to(ApprovalSealKeysControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ApprovalSealsOnRecordController).to(ApprovalSealsOnRecordControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.RetentionEnforcementEvidenceController).to(RetentionEnforcementEvidenceControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.UsageFlushEvidenceService).to(UsageFlushEvidenceBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.UsageFlushEvidenceController).to(UsageFlushEvidenceControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ProviderComplianceStateEvidenceService).to(ProviderComplianceStateEvidenceBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ProviderComplianceStateEvidenceController).to(ProviderComplianceStateEvidenceControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ScheduledEvidenceCoverageController).to(ScheduledEvidenceCoverageControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ResourceOperationJobStatusController).to(ResourceOperationJobStatusControllerBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.GovernedDocumentAcceptanceController).to(GovernedDocumentAcceptanceControllerBackendService).inSingletonScope();\n\n // Analytics & Value Moment Services\n this.container.bind(SAAS_SERVICE_TYPES.ValueMomentHandlerRegistry).to(ValueMomentHandlerRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ValueMomentDefinitionRegistry).to(ValueMomentDefinitionRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ValueMomentEngine).to(ValueMomentEngineBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.AnalyticsController).to(AnalyticsBackendController).inSingletonScope();\n\n // Email System Services - Template rendering and sending\n this.container.bind(SAAS_SERVICE_TYPES.EmailTemplateValidator).to(EmailTemplateValidatorBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.EmailTemplateRegistry).to(EmailTemplateRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.EmailService).to(EmailBackendService).inSingletonScope();\n\n // SMS Service (Phase G2)\n this.container.bind(SAAS_SERVICE_TYPES.SMSService).to(SMSBackendService).inSingletonScope();\n\n // Guidance System Services\n this.container.bind(SAAS_SERVICE_TYPES.GuidanceTriggerEvaluator).to(GuidanceTriggerEvaluatorBackendService).inSingletonScope();\n\n // Progression System Services\n this.container.bind(SAAS_SERVICE_TYPES.MilestoneDefinitionRegistry).to(MilestoneDefinitionRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.MilestoneConditionRegistry).to(MilestoneConditionRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ProgressionStateStore).to(ProgressionStateStoreBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.MilestoneEvaluator).to(MilestoneEvaluatorBackendService).inSingletonScope();\n\n // Lifecycle System Services\n this.container.bind(SAAS_SERVICE_TYPES.LifecycleEvaluator).to(LifecycleEvaluatorBackendService).inSingletonScope();\n\n // Data Seeding System Services\n // Engines bind FIRST so the facade `DataSeedDispatcher` can resolve\n // them via constructor injection. Phase 7 / F-16 deferred portion\n // (per-engine dispatcher split) — Slice 1 introduced AdditiveSeedEngine,\n // Slice 2 added UpgradeSeedEngine (which also exposes the shared\n // reconcile/renames helpers re-used by SYNC engine), Slice 3 adds\n // SyncSeedEngine (composes UpgradeSeedEngine via DI, must bind AFTER\n // UpgradeSeedEngine so InversifyJS resolves the dependency in order).\n // Slice 4 adds LazySeedEngine (composes AdditiveSeedEngine via DI for\n // the per-pass upsert step — bind AFTER AdditiveSeedEngine so the\n // dependency resolves in order).\n // Slice 5 adds ManualSeedEngine (composes ALL four mode engines via\n // DI for per-mode dispatch + LAZY+force/!force fallback paths —\n // bind AFTER all four mode engines so InversifyJS resolves the\n // dependencies in order).\n this.container.bind(SAAS_SERVICE_TYPES.AdditiveSeedEngine).to(AdditiveSeedEngineBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.UpgradeSeedEngine).to(UpgradeSeedEngineBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.SyncSeedEngine).to(SyncSeedEngineBackendService).inSingletonScope();\n // External-data pipeline runs load through the SYNC/UPGRADE engines above (partial-resource paper P-2).\n this.container.bind(SAAS_SERVICE_TYPES.ExternalDataPipelineRunService).to(ExternalDataPipelineRunBackendService).inSingletonScope();\n // #1688 — what an inbound handler's `ctx.pipelines` reaches: records requested keys, asks the run above for a keyed run.\n this.container.bind(SAAS_SERVICE_TYPES.ExternalDataPipelineKeyRequestsService).to(ExternalDataPipelineKeyRequestsBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ExternalDataAdminController).to(ExternalDataAdminBackendController).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ApprovalSealsAdminController).to(ApprovalSealsAdminBackendController).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.LazySeedEngine).to(LazySeedEngineBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.ManualSeedEngine).to(ManualSeedEngineBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.DataSeedRegistry).to(DataSeedRegistryBackendService).inSingletonScope();\n // Phase 7 / Item 47 — Slice 3: cron-driven CUSTOM_RESOLVER strategy registry.\n // Standalone (no engine dependency) — bound alongside `DataSeedRegistry` so\n // both seed registries are visible to the bootstrap helper that hydrates\n // them from `BackendDomainModule`.\n this.container.bind(SAAS_SERVICE_TYPES.DataSeedScopeResolverRegistry).to(DataSeedScopeResolverRegistryBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.DataSeedDispatcher).to(DataSeedDispatcherBackendService).inSingletonScope();\n this.container.bind(SAAS_SERVICE_TYPES.DataSeedingAdminController).to(DataSeedingAdminBackendController).inSingletonScope();\n\n\n\n }\n\n\n /**\n * Get the underlying Inversify container\n */\n public getContainer(): Container {\n return this.container;\n }\n\n /**\n * Get a service by its type symbol\n */\n public get<T>(serviceType: symbol): T {\n return this.container.get<T>(serviceType);\n }\n\n /**\n * Check if a service is bound\n */\n public isBound(serviceType: symbol): boolean {\n return this.container.isBound(serviceType);\n }\n\n /**\n * A binding when it is bound, `undefined` otherwise — and never a throw.\n *\n * For the OPTIONAL collaborators of a `toDynamicValue` binding: an observability sink, a metrics\n * recorder, a logger. Each of those must degrade to \"no emission\" rather than take down the\n * construction of the service that would have used it, and `container.get` on an unbound symbol\n * throws. The `catch` covers the second failure mode `isBound` cannot: a binding that IS declared\n * and throws while being constructed.\n */\n private resolveOptional<T>(serviceType: symbol): T | undefined {\n try {\n return this.container.isBound(serviceType) ? this.container.get<T>(serviceType) : undefined;\n } catch {\n return undefined;\n }\n }\n\n /**\n * Setup library injection for cross-package dependencies\n * This is the main method used by applications to setup the container\n */\n public static setupSaasInjection(container?: Container): Container {\n const saasContainer = new SaasContainer();\n\n if (container) {\n // Merge with existing container if provided\n // Implementation will be added as we bind services\n return container;\n }\n\n return saasContainer.getContainer();\n }\n}\n\n\n/**\n * Initialize and configure the Inversify DI container for SaaS backend services\n *\n * This container manages all service dependencies and ensures proper\n * singleton lifecycle management across the application.\n */\nexport function setupSaasBackendInjection(): Container {\n if (!globalContainer) {\n const saasContainer = new SaasContainer();\n globalContainer = saasContainer.getContainer();\n }\n return globalContainer;\n}\n\nexport function getGlobalContainer(): Container {\n if (!globalContainer) {\n return setupSaasBackendInjection();\n }\n return globalContainer;\n}\n\nexport function resetGlobalContainer(): void {\n globalContainer = null;\n}\n\n\nexport default SaasContainer;\n"]}
|