@wildo-ai/saas-backend-lib 1.1.3 → 1.1.4
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/__tests__/fixture-deep-partial.d.ts.map +1 -1
- package/dist/esm/__tests__/integration/redis-integration-gate.d.ts.map +1 -1
- package/dist/esm/__tests__/setup.d.ts.map +1 -1
- package/dist/esm/__tests__/test-container.d.ts.map +1 -1
- package/dist/esm/applications/models/applications.backend.schemas.d.ts.map +1 -1
- package/dist/esm/applications/seeds/application-metadata-defaults.seeds.d.ts.map +1 -1
- package/dist/esm/applications/services/worker-remote-client-factory.backend.service.d.ts.map +1 -1
- package/dist/esm/applications/services/worker-remote-client-factory.backend.service.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/base-classes/models/repositories.backend.schemas.d.ts.map +1 -1
- package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.d.ts +1 -1
- package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/batches-cronjobs-custom-execution.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/batches-cronjobs-executor.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/batches-cronjobs-resource-execution.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js +12 -1
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.js.map +1 -1
- package/dist/esm/base-classes/services/batches/resource-retention-sweep.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/suspension-reactivation-sweep.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/abstract-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/controllers/utils/audit-access-fields.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/utils/operation-response-serializer.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/validate-field-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/__tests__/method-span-scan.guard-helpers.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/__tests__/mock-repositories-registry-handler.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-filter-translation.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js +13 -4
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-query.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js +17 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-row-projection.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-subject-erasure-effect.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/odoo-jsonrpc-compiler.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/rest-json-query-compiler.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts +57 -0
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js +95 -2
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/repository-guarded-mutation.backend.types.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts +5 -2
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js +14 -3
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/repository-version-metadata.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/resource-write-integrity.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.d.ts +72 -0
- package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.d.ts.map +1 -0
- package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.js +88 -0
- package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.js.map +1 -0
- package/dist/esm/base-classes/services/repositories/unique-constraint-conflict-reference.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/resource-operations-helper.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/__tests__/mock-services-registry-handler.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/__tests__/mock-system-access.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/read-only-field-change.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-audit-emission.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.js.map +1 -1
- 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.factory.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-server-injected-fields.backend.utils.d.ts.map +1 -1
- 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-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.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js.map +1 -1
- 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 +44 -6
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/system-access.backend.service.js.map +1 -1
- package/dist/esm/base-classes/utils/backend-type-utils.d.ts.map +1 -1
- package/dist/esm/base-classes/utils/single-subject-addressing.backend.utils.d.ts.map +1 -1
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js.map +1 -1
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.js.map +1 -1
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts.map +1 -1
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js.map +1 -1
- package/dist/esm/billing/services/back-office/abstract-billing.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/billing-feature-sync.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts +1 -1
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js +5 -4
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js.map +1 -1
- package/dist/esm/billing/services/back-office/billing-state.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/billing-state.backend.service.js +11 -1
- package/dist/esm/billing/services/back-office/billing-state.backend.service.js.map +1 -1
- package/dist/esm/billing/services/back-office/billing-subject-erasure-effect.backend.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js.map +1 -1
- package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/usage-metering.backend.service.js.map +1 -1
- package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts.map +1 -1
- package/dist/esm/billing/services/billing-adapter-registry.backend.js.map +1 -1
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts.map +1 -1
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js.map +1 -1
- package/dist/esm/billing/services/billing.utils.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts +32 -0
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js +32 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/credit-pool.custom-ops.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts +9 -6
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js +9 -6
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js.map +1 -1
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts.map +1 -1
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js.map +1 -1
- package/dist/esm/billing/services/webhooks/billing-webhook-adapter.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/webhooks/billing-webhook-capability-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js +50 -3
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js.map +1 -1
- package/dist/esm/billing/testing/billing-test-fixtures.d.ts.map +1 -1
- package/dist/esm/billing/testing/mock-billing-provider.d.ts.map +1 -1
- package/dist/esm/billing/testing/mock-billing-provider.js.map +1 -1
- package/dist/esm/charts/controllers/chart.backend.controller.d.ts.map +1 -1
- package/dist/esm/charts/services/chart-registry.backend.service.d.ts +80 -7
- package/dist/esm/charts/services/chart-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/charts/services/chart-registry.backend.service.js +115 -8
- package/dist/esm/charts/services/chart-registry.backend.service.js.map +1 -1
- package/dist/esm/companion-exports.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-logs.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/batches/immudb-audit-reconcile.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/batches/siem-webhook-delivery.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/__tests__/mock-audit-logs.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts +107 -4
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js +176 -5
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js +21 -0
- package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/ocsf-class-mapping.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/siem-dictionary.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/siem-ocsf-projection.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/siem-projection-contract.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/utils/audit-actor.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/utils/layer2-audit-provider-boot-diagnostic.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/index.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/retention-hide-predicate.backend.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/services/subject-erasure-external-effects.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/services/subject-session-revocation.backend.service.d.ts.map +1 -1
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts.map +1 -1
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.js.map +1 -1
- package/dist/esm/config/bootstrap/minion-initialization-projection.backend.d.ts.map +1 -1
- package/dist/esm/config/bootstrap/runtime-principal-attestation.backend.service.d.ts.map +1 -1
- package/dist/esm/config/bootstrap/runtime-principal-attestation.backend.service.js +3 -0
- package/dist/esm/config/bootstrap/runtime-principal-attestation.backend.service.js.map +1 -1
- package/dist/esm/config/bootstrap/runtime-principal.backend.service.d.ts.map +1 -1
- package/dist/esm/config/custom/application-config-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/config/models/app-config-secrets.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/app-config.backend-authored.definitions.d.ts.map +1 -1
- package/dist/esm/config/models/app-config.backend.schemas.d.ts +4 -4
- package/dist/esm/config/models/app-config.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/app-config.backend.schemas.js.map +1 -1
- package/dist/esm/config/models/app-env-config.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/apps-manager-transport.backend.definitions.d.ts +36 -0
- package/dist/esm/config/models/apps-manager-transport.backend.definitions.d.ts.map +1 -0
- package/dist/esm/config/models/apps-manager-transport.backend.definitions.js +36 -0
- package/dist/esm/config/models/apps-manager-transport.backend.definitions.js.map +1 -0
- package/dist/esm/config/models/config-mutation-boundary.utils.d.ts.map +1 -1
- package/dist/esm/config/models/postgresql-env-config.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js.map +1 -1
- package/dist/esm/config/models/runtime-topology.backend.contracts.d.ts.map +1 -1
- package/dist/esm/config/services/__tests__/mock-app-configuration.service.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration-loader.backend.service.js +3 -0
- package/dist/esm/config/services/app-configuration-loader.backend.service.js.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.service.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.service.js.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.utils.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.utils.js.map +1 -1
- package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts +12 -0
- package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts.map +1 -1
- package/dist/esm/config/services/application-startup-config-validator.backend.service.js +28 -0
- package/dist/esm/config/services/application-startup-config-validator.backend.service.js.map +1 -1
- package/dist/esm/data-seeding/batches/data-seeding-run-cleanup.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/batches/data-seeding-scheduled-rerun.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/controllers/data-seeding-admin.backend.contracts.d.ts.map +1 -1
- package/dist/esm/data-seeding/controllers/data-seeding-admin.backend.controller.d.ts.map +1 -1
- package/dist/esm/data-seeding/data-seeding-models.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/business-key-resolver.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-execution-context.shared.types.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-migrator-runner.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-reconciler.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-row-metadata.shared.schemas.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-row-metadata.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-run.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-run.shared.schemas.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-trigger-mode-matrix.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed.shared.schemas.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/data-seed-application-bootstrap.backend.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/data-seed-dispatcher.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/data-seed-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/data-seed-scope-resolver-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/engines/additive-seed-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/engines/lazy-seed-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/engines/manual-seed-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/engines/sync-seed-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/engines/upgrade-seed-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-business-key.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-error.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-run-counters.shared.types.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-run-ledger.backend.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-scope-anchor.shared.types.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-scope-resolution.backend.d.ts.map +1 -1
- package/dist/esm/databases/models/aggregation.backend.schemas.d.ts.map +1 -1
- package/dist/esm/databases/models/databases.backend.schemas.d.ts.map +1 -1
- package/dist/esm/databases/models/filter.backend.schemas.d.ts.map +1 -1
- package/dist/esm/databases/models/resolve-persistence-adapter.backend.utils.d.ts.map +1 -1
- package/dist/esm/databases/models/sql.backend.schemas.d.ts.map +1 -1
- package/dist/esm/databases/models/transaction.shared.schemas.d.ts.map +1 -1
- package/dist/esm/databases/services/__tests__/mock-mongo-transaction-registry.service.d.ts.map +1 -1
- package/dist/esm/databases/services/__tests__/mock-mongodb.service.d.ts.map +1 -1
- package/dist/esm/databases/services/__tests__/mock-mongoose-model.service.d.ts.map +1 -1
- package/dist/esm/databases/services/__tests__/mock-redis.service.d.ts.map +1 -1
- package/dist/esm/databases/services/__tests__/mock-zod-mongoose-schema-convertor.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/aggregation-query.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/computed-measure-evaluator.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/field-access-validator.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/time-series-densifier.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/topn-processor.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/window-function-processor.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/db-utils.d.ts.map +1 -1
- package/dist/esm/databases/services/mongo-aggregation.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/mongodb.service.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-aggregation.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-database.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-development-provisioning.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-filter.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-migration-runner.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-ddl.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-migration-sql.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-plan-lockfile.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/redis.service.d.ts.map +1 -1
- package/dist/esm/databases/services/resource-persistence-unit-of-work.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/schema-planning-standalone.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/zod-to-mongoose-schema-convertor.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/zod-to-sql-hybrid-schema.planner.d.ts.map +1 -1
- package/dist/esm/databases/utils/postgresql-identifier.backend.utils.d.ts.map +1 -1
- package/dist/esm/errors/services/__tests__/mock-error-builder.service.d.ts.map +1 -1
- package/dist/esm/errors/services/error-builder.backend.service.d.ts.map +1 -1
- package/dist/esm/errors/services/error-builder.backend.service.js.map +1 -1
- package/dist/esm/errors/services/error-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/errors/services/error-handler.backend.service.js.map +1 -1
- package/dist/esm/errors/services/rate-limit.backend.service.d.ts.map +1 -1
- package/dist/esm/errors/services/rate-limit.backend.service.js.map +1 -1
- package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts.map +1 -1
- package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js.map +1 -1
- package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts.map +1 -1
- package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js.map +1 -1
- package/dist/esm/external-data/batches/external-data-pipeline-scheduled-run.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.d.ts.map +1 -1
- package/dist/esm/external-data/controllers/external-data-admin.backend.controller.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-extraction-source.backend.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-models.exports.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-pipeline-run.backend.service.js.map +1 -1
- package/dist/esm/external-data/external-data-transform.backend.d.ts.map +1 -1
- package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/models/external-providers.backend.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts.map +1 -1
- package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.js.map +1 -1
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts +102 -52
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js +117 -71
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js.map +1 -1
- package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts.map +1 -1
- package/dist/esm/external-providers/operations/provider-operation-request.backend.js.map +1 -1
- package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts.map +1 -1
- package/dist/esm/external-providers/operations/provider-request-signing.backend.js +26 -7
- package/dist/esm/external-providers/operations/provider-request-signing.backend.js.map +1 -1
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts.map +1 -1
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js.map +1 -1
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js.map +1 -1
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/document-extraction.backend.service.d.ts +81 -34
- package/dist/esm/external-providers/services/document-extraction.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/document-extraction.backend.service.js +179 -98
- package/dist/esm/external-providers/services/document-extraction.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.map +1 -1
- package/dist/esm/external-providers/services/external-api-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts +121 -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 +151 -0
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.d.ts +15 -1
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js +60 -4
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js.map +1 -1
- package/dist/esm/features/controllers/features.backend.controller.d.ts.map +1 -1
- package/dist/esm/features/services/__tests__/mock-feature-definition-registry.service.d.ts.map +1 -1
- package/dist/esm/features/services/__tests__/mock-feature-resolution.service.d.ts.map +1 -1
- package/dist/esm/features/services/application-features-admin-write-path.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/features/services/feature-definition-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/features/services/feature-gate.backend.service.d.ts.map +1 -1
- package/dist/esm/features/services/feature-resolution.backend.service.d.ts.map +1 -1
- package/dist/esm/features/services/organization-features-admin-write-path.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/features/services/scope-feature-ledger-relationship.backend.utils.d.ts.map +1 -1
- package/dist/esm/features/services/scope-features-cache-invalidation.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/features/testing/feature-test-utils.d.ts.map +1 -1
- package/dist/esm/files/batches/files-cleanup.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/files/constraints/file-analyzers.types.d.ts.map +1 -1
- package/dist/esm/files/constraints/file-constraint-resolver-chain.backend.service.d.ts.map +1 -1
- package/dist/esm/files/constraints/file-constraint.types.d.ts.map +1 -1
- package/dist/esm/files/constraints/file-validation.backend.service.d.ts.map +1 -1
- package/dist/esm/files/constraints/resource-field-constraint-resolver.backend.service.d.ts.map +1 -1
- package/dist/esm/files/controllers/file.controller.d.ts.map +1 -1
- package/dist/esm/files/controllers/file.controller.js.map +1 -1
- package/dist/esm/files/handlers/file-upload-route-locals.backend.types.d.ts.map +1 -1
- package/dist/esm/files/handlers/file-upload-route-locals.backend.types.js.map +1 -1
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts +37 -0
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js +221 -21
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js.map +1 -1
- package/dist/esm/files/scanning/clamav-scanner.backend.service.d.ts.map +1 -1
- package/dist/esm/files/scanning/file-scan.types.d.ts.map +1 -1
- package/dist/esm/files/scanning/yara-scanner.backend.service.d.ts.map +1 -1
- package/dist/esm/files/scanning/yara-scanner.backend.service.js +20 -2
- package/dist/esm/files/scanning/yara-scanner.backend.service.js.map +1 -1
- package/dist/esm/files/services/__tests__/mock-file-field-detection.service.d.ts.map +1 -1
- package/dist/esm/files/services/__tests__/mock-file-operation-handler.service.d.ts.map +1 -1
- package/dist/esm/files/services/__tests__/mock-file-repository.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-field-detection.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-operation-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-operation-handler.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-population.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-scanning.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-scanning.backend.service.js +5 -0
- package/dist/esm/files/services/file-scanning.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-text-extraction.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-text-extraction.backend.service.js +8 -5
- package/dist/esm/files/services/file-text-extraction.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-upload-grant.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-upload-grant.backend.service.js.map +1 -1
- package/dist/esm/files/services/files.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/files.backend.service.js +3 -1
- package/dist/esm/files/services/files.backend.service.js.map +1 -1
- package/dist/esm/files/services/rag-source-field-detection.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/storage/application-storage-key.backend.utils.js.map +1 -1
- package/dist/esm/files/storage/file-storage-path-resolver.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/file-storage-provider.types.d.ts +36 -1
- package/dist/esm/files/storage/file-storage-provider.types.d.ts.map +1 -1
- package/dist/esm/files/storage/file-storage-provider.types.js.map +1 -1
- package/dist/esm/files/storage/file-storage-router.backend.service.d.ts +21 -3
- package/dist/esm/files/storage/file-storage-router.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/file-storage-router.backend.service.js +38 -5
- package/dist/esm/files/storage/file-storage-router.backend.service.js.map +1 -1
- package/dist/esm/files/storage/google-drive-storage-provider.backend.service.d.ts +87 -0
- package/dist/esm/files/storage/google-drive-storage-provider.backend.service.d.ts.map +1 -0
- package/dist/esm/files/storage/google-drive-storage-provider.backend.service.js +340 -0
- package/dist/esm/files/storage/google-drive-storage-provider.backend.service.js.map +1 -0
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js.map +1 -1
- package/dist/esm/files/storage/storage-credential-provider.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/storage/storage-platform-sts-credential-resolver.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/storage/storage-sts-credential-resolver.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/storage/storage-sts-credential-resolver.backend.utils.js +10 -3
- package/dist/esm/files/storage/storage-sts-credential-resolver.backend.utils.js.map +1 -1
- package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js.map +1 -1
- package/dist/esm/files/utils/file-field-schema-path.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/file-field-schema-path.backend.utils.js.map +1 -1
- package/dist/esm/files/utils/file-upload.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/file-uploader.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/file-uploader.utils.js.map +1 -1
- package/dist/esm/files/utils/file-validation.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/image-derivation.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/image-thumbnail.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js.map +1 -1
- package/dist/esm/files/utils/rag-source-field-schema-path.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/storage-application-identity.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/batches/a2a-push-delivery.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/controllers/a2a.controller.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a-dialect.backend.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a-push-notification-delivery.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a-push-notification.backend.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-push-delivery-log.repository.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-push-dispatcher.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/controllers/flows-actors.controller.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/agent-facets.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/agents.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/flows-actors.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/flows-actors.backend.schemas.js.map +1 -1
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts +107 -16
- 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 +118 -18
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/services/__tests__/fixtures/meta-workflow-evaluation-treatment.test-fixture.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/actors-system.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/actors-system.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/agent-call-trace-sink.backend.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/agent-facets.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/agents.backend.service.d.ts +104 -5
- package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/agents.backend.service.js +263 -31
- package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/context-curation.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts +46 -1
- 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 +193 -6
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/flows-actors/services/flows.backend.services.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/flows.backend.services.js.map +1 -1
- package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js.map +1 -1
- package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/mcp-client.backend.service.js +3 -0
- package/dist/esm/flows-actors/services/mcp-client.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.d.ts +99 -0
- package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.d.ts.map +1 -0
- package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.js +155 -0
- package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.js.map +1 -0
- package/dist/esm/flows-actors/services/meta-workflow-evaluation-treatment-compiler.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/meta-workflow-standard-action-contracts.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/meta-workflow-standard-evaluation-contracts.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/meta-workflow-structured-artifact-action-compiler.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js.map +1 -1
- 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 +9 -0
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js.map +1 -1
- package/dist/esm/flows-actors/utils/bounded-subprocess.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/flows-actors-frontend-extractor.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.js.map +1 -1
- package/dist/esm/flows-actors/utils/prompt-ir-adapters.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.d.ts +77 -0
- package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.d.ts.map +1 -0
- package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.js +164 -0
- package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.js.map +1 -0
- package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.d.ts +48 -0
- package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.d.ts.map +1 -0
- package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.js +101 -0
- package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.js.map +1 -0
- package/dist/esm/guidance/batches/dormancy-detection.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/guidance-trigger-evaluator.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/lifecycle-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/guidance/services/lifecycle-evaluator.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/lifecycle-scope-id.backend.utils.d.ts.map +1 -1
- package/dist/esm/guidance/services/milestone-condition-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/milestone-definition-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.js.map +1 -1
- package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/progression-state-store.backend.service.js.map +1 -1
- package/dist/esm/guidance/services/scoped-state-read-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.js.map +1 -1
- package/dist/esm/i18n/services/i18n.backend.service.d.ts.map +1 -1
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/inject/models/container.d.ts +10 -0
- package/dist/esm/inject/models/container.d.ts.map +1 -1
- package/dist/esm/inject/models/container.js +49 -1
- package/dist/esm/inject/models/container.js.map +1 -1
- package/dist/esm/inject/models/service-types.d.ts +3 -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/mcp/controllers/mcp.controller.d.ts.map +1 -1
- package/dist/esm/mcp/controllers/mcp.controller.js +50 -3
- package/dist/esm/mcp/controllers/mcp.controller.js.map +1 -1
- package/dist/esm/mcp/models/mcp-protocol.backend.schemas.d.ts.map +1 -1
- package/dist/esm/mcp/models/mcp-tool.backend.schemas.d.ts.map +1 -1
- package/dist/esm/mcp/models/mcp-tool.backend.schemas.js.map +1 -1
- package/dist/esm/mcp/services/mcp-server.backend.service.d.ts.map +1 -1
- package/dist/esm/mcp/services/mcp-server.backend.service.js.map +1 -1
- package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.d.ts.map +1 -1
- package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js.map +1 -1
- package/dist/esm/mcp/services/resource-server-instances-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/mcp/utils/zod-to-mcp-json-schema.backend.utils.d.ts.map +1 -1
- package/dist/esm/meta-workflow-runtime.exports.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.js.map +1 -1
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts.map +1 -1
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.js.map +1 -1
- package/dist/esm/monitoring/logger/services/__tests__/mock-logger.service.d.ts.map +1 -1
- package/dist/esm/monitoring/logger/services/logger.service.d.ts +12 -0
- package/dist/esm/monitoring/logger/services/logger.service.d.ts.map +1 -1
- package/dist/esm/monitoring/logger/services/logger.service.js +3 -3
- package/dist/esm/monitoring/logger/services/logger.service.js.map +1 -1
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts.map +1 -1
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js.map +1 -1
- package/dist/esm/monitoring/logger/utils/log-value-normalization.backend.utils.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts +10 -6
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.js +10 -6
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.js.map +1 -1
- 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/otel-preload.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/otel-sdk-global-handle.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/services/__tests__/mock-metrics.service.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/services/metrics.service.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/services/metrics.service.js.map +1 -1
- package/dist/esm/monitoring/observability/services/observability.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/components/email-components.d.ts.map +1 -1
- package/dist/esm/notifications/email/models/email-template-definition.d.ts.map +1 -1
- package/dist/esm/notifications/email/models/email-transport.backend.definitions.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email-batch-send.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.js.map +1 -1
- package/dist/esm/notifications/email/services/email-template-validator.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email-template-validator.backend.service.js.map +1 -1
- package/dist/esm/notifications/email/services/email.backend.service.d.ts +47 -6
- package/dist/esm/notifications/email/services/email.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email.backend.service.js +86 -36
- package/dist/esm/notifications/email/services/email.backend.service.js.map +1 -1
- package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts.map +1 -1
- package/dist/esm/notifications/email/utils/color-conversion.utils.js.map +1 -1
- package/dist/esm/notifications/email/utils/interpolate-email-label.utils.d.ts.map +1 -1
- package/dist/esm/notifications/email/utils/zod-to-typescript.utils.d.ts.map +1 -1
- package/dist/esm/notifications/services/notification-badge.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/services/notification-badge.backend.service.js.map +1 -1
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js.map +1 -1
- package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.d.ts +32 -0
- package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.d.ts.map +1 -0
- package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.js +32 -0
- package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.js.map +1 -0
- package/dist/esm/notifications/sms/services/sms.backend.service.d.ts +64 -10
- package/dist/esm/notifications/sms/services/sms.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/sms/services/sms.backend.service.js +277 -82
- package/dist/esm/notifications/sms/services/sms.backend.service.js.map +1 -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.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.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.repository.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-dispatcher.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-public-key.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/services/polymorphic-lookup.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js.map +1 -1
- package/dist/esm/organizations/batches/organization-member-invitation-sweep.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/batches/organization-purge.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js.map +1 -1
- package/dist/esm/organizations/services/authority-change-audit.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/invitation-acceptance.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/org-creation-on-registration.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/org-member-roles-validation.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js.map +1 -1
- package/dist/esm/organizations/services/organization-deletion-audit.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-member-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-onboarding-operation.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-unit-member-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/scim-provisioning-gate.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/user-org-type-grant.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/user-type-revocation-on-org-leave.backend.utils.d.ts.map +1 -1
- package/dist/esm/pdf-templates/__tests__/fixtures/tiny-pdf-template.fixture.d.ts.map +1 -1
- package/dist/esm/pdf-templates/models/pdf-template-binding.d.ts.map +1 -1
- package/dist/esm/pdf-templates/models/pdf-template-definition.d.ts.map +1 -1
- package/dist/esm/pdf-templates/services/pdf-generated-file-writer.backend.service.d.ts.map +1 -1
- package/dist/esm/pdf-templates/services/pdf-generation-orchestrator.backend.service.d.ts.map +1 -1
- package/dist/esm/pdf-templates/services/pdf-renderer.backend.service.d.ts.map +1 -1
- package/dist/esm/pdf-templates/services/pdf-template-binding.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js.map +1 -1
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts.map +1 -1
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.js.map +1 -1
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts.map +1 -1
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.js.map +1 -1
- package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts.map +1 -1
- package/dist/esm/queue/adapters/queue-adapter.backend.options.js.map +1 -1
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js.map +1 -1
- package/dist/esm/queue/apps-crontabs-manager.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/cron-job-sync.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/domain-queue-consumer.backend.service.js.map +1 -1
- package/dist/esm/queue/job-completion-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/job-consumer.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/job-consumer.backend.service.js.map +1 -1
- package/dist/esm/queue/job-executor.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/job-executor.backend.service.js.map +1 -1
- package/dist/esm/queue/job-payload-storage.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/job-status-tracking.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue-monitoring.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue-monitoring.backend.service.js.map +1 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.js.map +1 -1
- package/dist/esm/queue/queue.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue.backend.service.js.map +1 -1
- package/dist/esm/queue/scheduled-message-verifier.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/worker-shutdown-manager.backend.service.js.map +1 -1
- package/dist/esm/rag/batches/rag-embedding-drain.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/batches/rag-reconciliation-sweep.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/models/rag-chunk-store.backend.types.d.ts.map +1 -1
- package/dist/esm/rag/models/rag-retrieval.backend.types.d.ts.map +1 -1
- package/dist/esm/rag/services/mongodb-rag-chunk-store.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/services/postgresql-rag-chunk-store.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-chunk-collection.mongodb-ddl.backend.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-chunk-retrieval.mongodb-query.backend.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-chunk-retrieval.postgresql-query.backend.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-chunk-store.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-chunk-table.postgresql-ddl.backend.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-ingestion.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-retrieval.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-chunk-fusion.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-chunk-removal.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-chunk-row-shaping.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-chunking.backend.utils.js.map +1 -1
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js.map +1 -1
- package/dist/esm/rag/utils/rag-ingestion-trigger.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-retrieval-scope.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-source-field-value.backend.utils.d.ts.map +1 -1
- package/dist/esm/requests/models/api-routes.backend.defintions.d.ts.map +1 -1
- package/dist/esm/requests/models/requests.backend.schemas.d.ts.map +1 -1
- package/dist/esm/requests/service/platform-mutualized-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/requests/service/platform-requests.backend.utils.d.ts.map +1 -1
- package/dist/esm/requests/service/remote-client-base.backend.service.d.ts.map +1 -1
- package/dist/esm/requests/service/serverless-services-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/requests/service/websocket.service.d.ts.map +1 -1
- package/dist/esm/requests/service/websocket.service.js +49 -1
- package/dist/esm/requests/service/websocket.service.js.map +1 -1
- package/dist/esm/resources/backend-resource-registry.exports.d.ts.map +1 -1
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.d.ts.map +1 -1
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.js +2 -0
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.js.map +1 -1
- package/dist/esm/resources/models/index.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-operations.backend.definitions.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-operations.backend.definitions.js.map +1 -1
- package/dist/esm/resources/models/resources-relationships.backend.definitions.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-relationships.backend.definitions.js.map +1 -1
- package/dist/esm/resources/models/resources-types.backend.schemas.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-types.backend.schemas.js.map +1 -1
- package/dist/esm/resources/models/resources.backend.schemas.d.ts.map +1 -1
- package/dist/esm/resources/models/virtual-fields.backend.types.d.ts.map +1 -1
- package/dist/esm/resources/services/__tests__/mock-resources-registry.service.d.ts.map +1 -1
- package/dist/esm/resources/services/resource-context.backend.service.d.ts.map +1 -1
- package/dist/esm/resources/services/resource-id.backend.service.d.ts.map +1 -1
- package/dist/esm/resources/services/resource-population.backend.service.d.ts +17 -2
- package/dist/esm/resources/services/resource-population.backend.service.d.ts.map +1 -1
- package/dist/esm/resources/services/resource-population.backend.service.js +74 -18
- package/dist/esm/resources/services/resource-population.backend.service.js.map +1 -1
- package/dist/esm/resources/services/resources-registry.backend.service.d.ts +23 -0
- package/dist/esm/resources/services/resources-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/resources/services/resources-registry.backend.service.js +31 -0
- package/dist/esm/resources/services/resources-registry.backend.service.js.map +1 -1
- package/dist/esm/resources/services/virtual-fields.backend.service.d.ts.map +1 -1
- package/dist/esm/resources/utils/resource-retention.backend.utils.d.ts.map +1 -1
- package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/controllers/health-controller.backend.service.js.map +1 -1
- package/dist/esm/runtime/domain-module.backend.definitions.d.ts.map +1 -1
- package/dist/esm/runtime/domain-module.backend.definitions.js.map +1 -1
- package/dist/esm/runtime/models/execution-context.backend.schemas.d.ts.map +1 -1
- package/dist/esm/runtime/models/request-context.als.backend.d.ts.map +1 -1
- package/dist/esm/runtime/models/runtime.backend.schemas.d.ts.map +1 -1
- package/dist/esm/runtime/services/execution-context-creator.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/execution-context-creator.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/execution-context-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts.map +1 -1
- package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.js.map +1 -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 +10 -0
- package/dist/esm/runtime/services/http-server.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/start-application.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/start-application.backend.service.js +26 -12
- package/dist/esm/runtime/services/start-application.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/utils/oauth-body-cap.backend.utils.d.ts.map +1 -1
- package/dist/esm/runtime/testing/execution-context-test-fixtures.d.ts.map +1 -1
- package/dist/esm/runtime/testing/mock-execution-context-creator.service.d.ts.map +1 -1
- package/dist/esm/runtime/utils/application-startup-config-access.backend.utils.d.ts.map +1 -1
- package/dist/esm/runtime/utils/feature-gated-core-resource-exclusions.backend.utils.d.ts.map +1 -1
- package/dist/esm/runtime/utils/request-client-ip.utils.d.ts.map +1 -1
- package/dist/esm/runtime/utils/scan-default-exports.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-key-generation.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/controllers/auth-method-management-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts +22 -0
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js +84 -0
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/models/auth-constants.backend.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/authentications.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/authorization-client.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/cimd.backend.schemas.js.map +1 -1
- package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.d.ts +37 -0
- package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.d.ts.map +1 -0
- package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.js +37 -0
- package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.js.map +1 -0
- package/dist/esm/security/authentications/models/identity-persistence-boundaries.backend.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/jwt.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts +15 -0
- package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.js.map +1 -1
- package/dist/esm/security/authentications/models/saml-authentication.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/sso-connection.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/user-authorization-version.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/seeds/enterprise-config-defaults.seeds.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/__tests__/mock-auth-execution-context-factory.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/__tests__/mock-auth-token-issuer.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/__tests__/oauth-provider-audit-spies.mock.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/__tests__/mock-domain-to-org-lookup.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/__tests__/mock-enterprise-user-provisioning.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.js +2 -1
- package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts +9 -2
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.js +9 -2
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-credential-verifier.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-execution-context-factory.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.d.ts.map +1 -1
- 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-phone-verification.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts +97 -0
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js +218 -26
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts +14 -0
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js +36 -0
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/saml-assertion-validator.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/saml-authentication.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/saml-metadata.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/saml-replay-guard.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-session-store.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/scim-tokens.custom-impl.backend.service.d.ts.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/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 +57 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.js +11 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/email-verification-initiator.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/machine-token-issuer.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/oidc-user-claims.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/resolve-active-member-orgs.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/__tests__/mock-auth-user-lookup.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-controller.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-credential-ops.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-response-helper.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/utils/concurrent-session-eviction.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/ensure-user-profile.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js.map +1 -1
- package/dist/esm/security/authentications/services/utils/machine-auth-rate-limit.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/pkce.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/saml-java-availability.d.ts.map +1 -1
- package/dist/esm/security/authentications/utils/application-auth-policy-audit.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js.map +1 -1
- package/dist/esm/security/authentications/utils/one-off-session-lifetime.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/utils/social-oauth2-purpose.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/access-grant-decision.factory.backend.d.ts +59 -0
- package/dist/esm/security/authorizations/access-grant-decision.factory.backend.d.ts.map +1 -0
- package/dist/esm/security/authorizations/access-grant-decision.factory.backend.js +111 -0
- package/dist/esm/security/authorizations/access-grant-decision.factory.backend.js.map +1 -0
- package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.d.ts +57 -0
- package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.d.ts.map +1 -0
- package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.js +133 -0
- package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.js.map +1 -0
- package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.d.ts +41 -0
- package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.d.ts.map +1 -0
- package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.js +157 -0
- package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.js.map +1 -0
- package/dist/esm/security/authorizations/application-wide-read-admission.backend.d.ts +84 -0
- package/dist/esm/security/authorizations/application-wide-read-admission.backend.d.ts.map +1 -0
- package/dist/esm/security/authorizations/application-wide-read-admission.backend.js +99 -0
- package/dist/esm/security/authorizations/application-wide-read-admission.backend.js.map +1 -0
- package/dist/esm/security/authorizations/authorization-denial-audit.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js.map +1 -1
- package/dist/esm/security/authorizations/initiator-organization-confinement.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/junction-scope-resolution.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js.map +1 -1
- package/dist/esm/security/authorizations/organization-unit-narrowing-enforcement.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js +20 -181
- package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js.map +1 -1
- package/dist/esm/security/authorizations/privileged-access-review.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/relationship-foreign-key-filter.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.js.map +1 -1
- package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts +40 -0
- package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/role-conferral.backend.utils.js +43 -1
- package/dist/esm/security/authorizations/role-conferral.backend.utils.js.map +1 -1
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts +27 -17
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js +27 -17
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js.map +1 -1
- package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts +72 -0
- package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authorizations/services/authorizations.backend.service.js +153 -10
- package/dist/esm/security/authorizations/services/authorizations.backend.service.js.map +1 -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.map +1 -1
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js.map +1 -1
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts +139 -1
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js +474 -33
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js.map +1 -1
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts +40 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js.map +1 -1
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js.map +1 -1
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts +19 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js +38 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js.map +1 -1
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js +17 -1
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js.map +1 -1
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts +14 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js +16 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js.map +1 -1
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js +1 -1
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js.map +1 -1
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts +19 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js +45 -2
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js.map +1 -1
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts +37 -1
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js.map +1 -1
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js.map +1 -1
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js.map +1 -1
- package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.d.ts +34 -0
- package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.js +39 -0
- package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.js.map +1 -0
- package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/consumable-token-models.exports.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/models/consumable-tokens.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/models/index.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/services/__tests__/mock-consumable-token.service.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js.map +1 -1
- package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/credential-rotation-grace.backend.utils.js.map +1 -1
- package/dist/esm/security/jwt/services/auth-jwt-guard.backend.service.d.ts.map +1 -1
- package/dist/esm/security/jwt/services/jwt.backend.service.d.ts.map +1 -1
- package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.d.ts +13 -0
- package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.d.ts.map +1 -1
- package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.js +14 -0
- package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.js.map +1 -1
- package/dist/esm/security/jwt/utils/jwt-verification-error-classification.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.d.ts +39 -0
- package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.js +60 -0
- package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.js.map +1 -0
- package/dist/esm/security/outbound/outbound-request-headers.backend.utils.d.ts +66 -0
- package/dist/esm/security/outbound/outbound-request-headers.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/outbound/outbound-request-headers.backend.utils.js +75 -0
- package/dist/esm/security/outbound/outbound-request-headers.backend.utils.js.map +1 -0
- package/dist/esm/security/scim/controllers/scim.backend.controller.d.ts.map +1 -1
- package/dist/esm/security/scim/controllers/scim.backend.controller.js.map +1 -1
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js.map +1 -1
- package/dist/esm/security/scim/utils/scim-attribute-path-resolver.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/scim/utils/scim-filter-parser.d.ts.map +1 -1
- package/dist/esm/security/scim/utils/scim-response-formatter.d.ts.map +1 -1
- package/dist/esm/security/session-invalidation-fence.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js.map +1 -1
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js.map +1 -1
- package/dist/esm/security/token-invalidation-fence.backend.utils.d.ts.map +1 -1
- package/dist/esm/testing.d.ts.map +1 -1
- package/dist/esm/users/services/inbound-contact-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/user-deletion-audit.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/user-force-password-reset.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/user-read-retained.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-self-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/users/services/user-super-admin-floor.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +9 -9
- package/dist/esm/external-providers/services/flow-actor-design.backend.service.d.ts +0 -45
- package/dist/esm/external-providers/services/flow-actor-design.backend.service.d.ts.map +0 -1
- package/dist/esm/external-providers/services/flow-actor-design.backend.service.js +0 -22
- package/dist/esm/external-providers/services/flow-actor-design.backend.service.js.map +0 -1
- package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts +0 -0
- package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts.map +0 -0
- package/dist/esm/notifications/email/models/email-context-provider.interface.js +0 -0
- package/dist/esm/notifications/email/models/email-context-provider.interface.js.map +0 -0
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts +0 -0
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts.map +0 -0
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js +0 -0
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js.map +0 -0
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts +0 -0
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts.map +0 -0
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js +0 -0
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js.map +0 -0
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts +0 -0
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts.map +0 -0
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js +0 -0
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js.map +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sso-connection.custom-impl.backend.service.js","sourceRoot":"","sources":["../../../../../../../src/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * SSO Connection Custom Implementations\n *\n * Implements READ, CREATE, UPDATE, DELETE, TEST_CONNECTION, DISCOVER_ENDPOINTS\n * on SSO connection polymorphic variants (ORG + APP).\n *\n * Patterns:\n * READ → (no custom impl) — oidc.clientSecret masking is framework-driven\n * via `.isWriteOnlySecret()` on the schema\n * CREATE → PREFIX_CORE_OPERATIONS — generates connectionId via crypto.randomUUID()\n * UPDATE → PREFIX_CORE_OPERATIONS — re-injects the stored oidc.clientSecret when\n * the client round-trips the `••••••••` mask (nested\n * field: whole-subdocument `$set` would otherwise drop it)\n * DELETE → PREFIX_CORE_OPERATIONS — orphan validation (warns if users would lose their only auth method)\n * TEST_CONNECTION → REPLACE_CORE_OPERATIONS — SAML → validate config (certs, URLs, SP metadata), OIDC → explicit unsupported result\n * DISCOVER_ENDPOINTS→ REPLACE_CORE_OPERATIONS — SAML → fetch + parse IdP metadata URL, OIDC → explicit unsupported result\n *\n * SAML helpers (cert validation, URL reachability, samlify init) are module-level\n * functions because the factory pattern does not support DI injection of arbitrary\n * services. Certificate validation uses Node.js crypto.X509Certificate directly.\n */\n\nimport crypto from 'node:crypto';\nimport {\n CoreResourceOperation,\n CoreResourceType,\n ResourceOperationVariantType,\n SsoConnection_Operations,\n SsoConnectionDiscoverySource,\n SsoConnectionTestOverallStatus,\n SsoConnection_TestConnectionRequestDto,\n SsoConnection_DiscoverEndpointsRequestDto,\n ErrorType,\n ErrorCustomMessageReference,\n isWildoBackendError,\n AuthScopeType,\n SsoProtocol,\n WRITE_ONLY_SECRET_MASK,\n} from '@wildo-ai/saas-models';\nimport { WildoHeaderKeys } from '@wildo-ai/saas-models';\nimport type { UserIdentityLink, UserCredentials } from '@wildo-ai/saas-models';\nimport {\n createResourceCustomServiceImplementation,\n type ResourceCustomServiceImplementationFactory,\n} from '~wildo-backend-lib/base-classes/services/services/resource-operation-custom-implementation.factory.backend';\nimport type { ResourcesRegistryBackendService } from '~wildo-backend-lib/resources/services/resources-registry.backend.service';\nimport type { ExecutionContext } from '~wildo-backend-lib/runtime/models/execution-context.backend.schemas';\nimport type { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';\nimport type { ServicesRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/services/services-registry-handler.backend.service';\nimport { describeCaughtError, projectCaughtErrorLogFields } from '~wildo-backend-lib/errors/utils/error-log-level-classification.backend.utils';\n\n// ── SSO connection polymorphic variant types ──────────────────────────\n\nconst AUTH_SSO_CONNECTION_VARIANT_TYPES = [\n CoreResourceType.ORGANIZATION_SSO_CONNECTIONS,\n CoreResourceType.APPLICATION_SSO_CONNECTIONS,\n] as const;\n\n// ── SAML Test / Discovery helpers ────────────────────────────────\n\nconst SAML_BINDINGS = {\n REDIRECT: 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',\n POST: 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',\n} as const;\n\nconst MAX_METADATA_SIZE = 2 * 1024 * 1024; // 2MB\n\nconst SHA1_RSA_OID = Buffer.from('06092a864886f70d010105', 'hex');\nconst ECDSA_SHA1_OID = Buffer.from('06072a8648ce3d0401', 'hex');\n\nconst SIG_ALG_OIDS: Array<{ oid: Buffer; name: string }> = [\n { oid: SHA1_RSA_OID, name: 'sha1WithRSAEncryption' },\n { oid: ECDSA_SHA1_OID, name: 'ecdsa-with-SHA1' },\n { oid: Buffer.from('06092a864886f70d01010b', 'hex'), name: 'sha256WithRSAEncryption' },\n { oid: Buffer.from('06082a8648ce3d040302', 'hex'), name: 'ecdsa-with-SHA256' },\n { oid: Buffer.from('06092a864886f70d01010c', 'hex'), name: 'sha384WithRSAEncryption' },\n { oid: Buffer.from('06082a8648ce3d040303', 'hex'), name: 'ecdsa-with-SHA384' },\n { oid: Buffer.from('06092a864886f70d01010d', 'hex'), name: 'sha512WithRSAEncryption' },\n { oid: Buffer.from('06082a8648ce3d040304', 'hex'), name: 'ecdsa-with-SHA512' },\n];\n\nfunction normalizePem(certPem: string): string {\n const trimmed = certPem.trim();\n if (trimmed.startsWith('-----BEGIN CERTIFICATE-----')) return trimmed;\n const cleanBase64 = trimmed.replace(/\\s/g, '');\n const lines: string[] = [];\n for (let i = 0; i < cleanBase64.length; i += 64) {\n lines.push(cleanBase64.substring(i, i + 64));\n }\n return `-----BEGIN CERTIFICATE-----\\n${lines.join('\\n')}\\n-----END CERTIFICATE-----`;\n}\n\nfunction getCertSignatureAlgorithm(der: Buffer): string {\n for (const { oid, name } of SIG_ALG_OIDS) {\n if (der.includes(oid)) return name;\n }\n return 'unknown';\n}\n\nfunction isSha1Algorithm(algorithm: string): boolean {\n const lower = algorithm.toLowerCase();\n return lower.includes('sha1') || lower.includes('sha-1');\n}\n\ninterface CertificateTestResult {\n index: number;\n valid: boolean;\n expiresAt: string;\n daysRemaining: number;\n algorithm: string;\n fingerprint: string;\n warnings: string[];\n}\n\nfunction validateCertificate(certPem: string, index: number): CertificateTestResult {\n try {\n const normalized = normalizePem(certPem);\n const x509 = new crypto.X509Certificate(normalized);\n const expiresAt = new Date(x509.validTo);\n const now = new Date();\n const daysRemaining = Math.floor((expiresAt.getTime() - now.getTime()) / (1000 * 60 * 60 * 24));\n const isValid = now >= new Date(x509.validFrom) && now <= expiresAt;\n const algorithm = getCertSignatureAlgorithm(x509.raw);\n const fingerprint = x509.fingerprint256;\n const warnings: string[] = [];\n\n if (!isValid) {\n warnings.push(daysRemaining < 0 ? 'Certificate is expired' : 'Certificate is not yet valid');\n } else if (daysRemaining <= 30) {\n warnings.push(`Expires in ${daysRemaining} days`);\n }\n if (isSha1Algorithm(algorithm)) {\n warnings.push('Uses SHA-1 signature algorithm (insecure)');\n }\n\n return { index, valid: isValid, expiresAt: expiresAt.toISOString(), daysRemaining, algorithm, fingerprint, warnings };\n } catch (error) {\n return {\n index,\n valid: false,\n expiresAt: '',\n daysRemaining: -1,\n algorithm: 'unknown',\n fingerprint: '',\n warnings: [`Certificate parsing failed: ${describeCaughtError(error)}`],\n };\n }\n}\n\nasync function checkUrlReachability(url: string, timeoutMs: number = 5000): Promise<{ reachable: boolean; statusCode?: number; error?: string }> {\n try {\n const response = await fetch(url, {\n method: 'HEAD',\n signal: AbortSignal.timeout(timeoutMs),\n redirect: 'follow',\n });\n return { reachable: true, statusCode: response.status };\n } catch {\n try {\n const response = await fetch(url, {\n method: 'GET',\n signal: AbortSignal.timeout(timeoutMs),\n redirect: 'follow',\n });\n return { reachable: true, statusCode: response.status };\n } catch (getError) {\n return {\n reachable: false,\n error: describeCaughtError(getError),\n };\n }\n }\n}\n\nlet _samlifyInitialized = false;\n// Returns `any` to avoid `typeof import('samlify')` which forces tsc to resolve the CJS-only samlify package during declaration emit.\nfunction getSamlifyModule(): any {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const saml = require('samlify');\n if (!_samlifyInitialized) {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const validator = require('@authenio/samlify-xsd-schema-validator');\n saml.setSchemaValidator(validator);\n _samlifyInitialized = true;\n }\n return saml;\n}\n\nfunction generateAndValidateSPMetadata(connection: Record<string, any>): { valid: boolean; error?: string } {\n try {\n const appDomain = process.env.APP_DOMAIN;\n const spCert = process.env.SAML_SP_CERTIFICATE;\n if (!appDomain) return { valid: false, error: 'APP_DOMAIN environment variable is not set' };\n if (!spCert) return { valid: false, error: 'SAML_SP_CERTIFICATE environment variable is not set' };\n\n const scopeType = connection.organizationId ? AuthScopeType.ORGANIZATION : AuthScopeType.APPLICATION;\n const scopeId = connection.organizationId || connection.applicationId;\n const entityID = `https://${appDomain}/saml/sp/${scopeType}/${scopeId}`;\n const acsUrl = `https://${appDomain}/auth/saml/acs`;\n\n const saml = getSamlifyModule();\n const sp = saml.ServiceProvider({\n entityID,\n authnRequestsSigned: true,\n wantAssertionsSigned: true,\n wantMessageSigned: true,\n signingCert: spCert,\n assertionConsumerService: [\n { Binding: SAML_BINDINGS.POST, Location: acsUrl },\n ],\n });\n\n const metadata = sp.getMetadata();\n if (typeof metadata === 'string' && metadata.includes('<EntityDescriptor')) {\n return { valid: true };\n }\n return { valid: false, error: 'Generated SP metadata is missing EntityDescriptor element' };\n } catch (error) {\n return { valid: false, error: `SP metadata generation failed: ${describeCaughtError(error)}` };\n }\n}\n\nasync function testSamlConnection(connection: Record<string, any>): Promise<Record<string, any>> {\n const samlConfig = connection.saml;\n const errors: string[] = [];\n const warnings: string[] = [];\n\n // 1. Validate IdP entity ID\n const entityIdConfigured = !!(samlConfig?.entityId);\n if (!entityIdConfigured) {\n errors.push('IdP Entity ID is not configured');\n }\n\n // 2. SSO URL reachability\n let ssoUrlReachable = false;\n let ssoUrlStatus: number | undefined;\n if (samlConfig?.ssoUrl) {\n const result = await checkUrlReachability(samlConfig.ssoUrl, 5000);\n ssoUrlReachable = result.reachable;\n ssoUrlStatus = result.statusCode;\n if (!result.reachable) errors.push(`SSO URL is not reachable: ${result.error}`);\n } else {\n errors.push('SSO URL is not configured');\n }\n\n // 3. Certificate validation (E8, E9, SC-1)\n const certificates: CertificateTestResult[] = [];\n const certs: string[] = samlConfig?.x509Certificates ?? [];\n for (let i = 0; i < certs.length; i++) {\n const certResult = validateCertificate(certs[i], i);\n certificates.push(certResult);\n if (!certResult.valid) {\n errors.push(`Certificate ${i}: ${certResult.warnings.join(', ')}`);\n } else if (certResult.warnings.length > 0) {\n warnings.push(...certResult.warnings.map((w: string) => `Certificate ${i}: ${w}`));\n }\n }\n if (certs.length === 0) {\n errors.push('No X.509 certificates configured');\n }\n\n // 4. SLO URL reachability (if configured)\n let sloUrlReachable: boolean | undefined;\n let sloUrlStatus: number | undefined;\n if (samlConfig?.sloUrl) {\n const result = await checkUrlReachability(samlConfig.sloUrl, 5000);\n sloUrlReachable = result.reachable;\n sloUrlStatus = result.statusCode;\n if (!result.reachable) warnings.push(`SLO URL is not reachable: ${result.error}`);\n }\n\n // 5. SP metadata generation + validation\n const spMetadata = generateAndValidateSPMetadata(connection);\n if (!spMetadata.valid) {\n warnings.push(`SP metadata: ${spMetadata.error}`);\n }\n\n // 6. Overall status\n let overallStatus = SsoConnectionTestOverallStatus.PASS;\n if (errors.length > 0) overallStatus = SsoConnectionTestOverallStatus.FAIL;\n else if (warnings.length > 0) overallStatus = SsoConnectionTestOverallStatus.WARNING;\n\n return {\n entityIdConfigured,\n ssoUrlReachable,\n ssoUrlStatus,\n certificates,\n sloUrlReachable,\n sloUrlStatus,\n spMetadataValid: spMetadata.valid,\n overallStatus,\n errors,\n warnings,\n };\n}\n\nfunction normalizeCertificates(certs: unknown): string[] {\n if (!certs) return [];\n if (typeof certs === 'string') {\n return splitPemToCertificates(certs);\n }\n if (Array.isArray(certs)) {\n return certs.flat().filter((c): c is string => typeof c === 'string' && c.length > 0);\n }\n return [];\n}\n\n/** Split multi-cert PEM string into array of individual cert PEMs. */\nfunction splitPemToCertificates(pem: string): string[] {\n const trimmed = pem.trim();\n if (!trimmed) return [];\n const regex = /-----BEGIN CERTIFICATE-----[\\s\\S]*?-----END CERTIFICATE-----/g;\n const matches = trimmed.match(regex);\n if (!matches || matches.length === 0) return [trimmed];\n return matches.map((m) => m.trim()).filter(Boolean);\n}\n\nfunction extractServiceUrl(\n meta: Record<string, any>,\n method: 'getSingleSignOnService' | 'getSingleLogoutService',\n): string | null {\n const getter = meta[method];\n if (typeof getter !== 'function') return null;\n\n for (const binding of [SAML_BINDINGS.REDIRECT, SAML_BINDINGS.POST]) {\n try {\n const result = getter.call(meta, binding);\n if (typeof result === 'string' && result) return result;\n if (result && typeof result === 'object' && 'Location' in result) {\n return (result as { Location: string }).Location;\n }\n } catch {\n // Binding not available\n }\n }\n return null;\n}\n\n// ════════════════════════════════════════════════════════════════════\n// READ — no custom impl\n// ════════════════════════════════════════════════════════════════════\n//\n// `oidc.clientSecret` carries `.isWriteOnlySecret()` (see\n// `sso-connection.shared.schemas.ts`). The framework masks it to `••••••••` at the\n// client-serialization boundary (`serializeOperationResultForResponse`) for every\n// client read (READ/CREATE/UPDATE responses) and strips the round-tripped mask from\n// write payloads centrally. The former READ postfix masking factory was redundant AND\n// masked the wrong tier: it ran at the service dispatch (before the client boundary),\n// so the internal `servicesRegistryHandler.read` used by the OAuth2 token exchange\n// received the mask too and could not authenticate at the IdP token endpoint. Removing\n// it restores the token exchange's real-value read; the decorator keeps the client\n// boundary redacted.\n\n// ════════════════════════════════════════════════════════════════════\n// CREATE — PREFIX_CORE_OPERATIONS\n// ════════════════════════════════════════════════════════════════════\n\n/**\n * SSO connection CREATE prefix — mints `connectionId` and normalizes the authored SAML\n * `x509CertificatePem` into the stored `x509Certificates` array.\n *\n * Registered on `INTERNAL_CALL`, matching the resource configuration. All three write\n * variants (CREATE / UPDATE / DELETE) were authored against `REPOSITORY_ONLY` and were\n * unreachable in both directions: `getServiceOperationPathDefault` — behind every\n * `*AsSystem` call — skips a REPOSITORY_ONLY-only op, and `doOperation` throws on that\n * variant, so the service tier where custom implementations execute was never entered.\n * Nothing else in the codebase mints `connectionId`, so a connection written past the\n * service tier had none at all.\n *\n * This mirrors the READ default, which had already been moved to `INTERNAL_CALL` for the\n * same resolver reason; the writes were simply left behind. `INTERNAL_CALL` adds no HTTP\n * surface — only API_CALL variants register routes.\n */\nexport function createSsoConnectionCreateFactories(): ResourceCustomServiceImplementationFactory[] {\n return AUTH_SSO_CONNECTION_VARIANT_TYPES.map((variantResourceType) => {\n const factory = (_resourcesRegistryService: ResourcesRegistryBackendService) => {\n return createResourceCustomServiceImplementation({\n operationPath: {\n resourceIdentifier: variantResourceType,\n operationIdentifier: CoreResourceOperation.CREATE,\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isOperationDefault: true,\n },\n handlers: {\n prefixCoreOperations: async (_id, input, _executionContext, _operationPath, _utils) => {\n const result = { ...input, connectionId: crypto.randomUUID() };\n // Transform x509CertificatePem → x509Certificates for SAML\n if (result?.saml && typeof result.saml === 'object' && 'x509CertificatePem' in result.saml) {\n const pem = (result.saml as Record<string, unknown>).x509CertificatePem;\n if (typeof pem === 'string' && pem.trim()) {\n const certs = normalizeCertificates(pem);\n if (certs.length > 0) {\n result.saml = { ...result.saml, x509Certificates: certs } as typeof result.saml;\n }\n }\n delete (result.saml as Record<string, unknown>).x509CertificatePem;\n }\n return result;\n },\n },\n });\n };\n\n return factory as unknown as ResourceCustomServiceImplementationFactory;\n });\n}\n\n// ════════════════════════════════════════════════════════════════════\n// UPDATE — PREFIX_CORE_OPERATIONS\n// ════════════════════════════════════════════════════════════════════\n\nexport function createSsoConnectionUpdateFactories(): ResourceCustomServiceImplementationFactory[] {\n return AUTH_SSO_CONNECTION_VARIANT_TYPES.map((variantResourceType) => {\n const factory = (_resourcesRegistryService: ResourcesRegistryBackendService) => {\n return createResourceCustomServiceImplementation({\n operationPath: {\n resourceIdentifier: variantResourceType,\n operationIdentifier: CoreResourceOperation.UPDATE,\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isOperationDefault: true,\n },\n handlers: {\n prefixCoreOperations: async (_id, input, _executionContext, _operationPath, utils) => {\n let result = input;\n // Write-only-secret preservation for the NESTED oidc.clientSecret.\n //\n // The field is `.isWriteOnlySecret()`, so a client that renders the masked\n // read value and saves round-trips `••••••••` (or omits it). The repository\n // UPDATE is a whole-subdocument `$set` with NO deep merge — writing the\n // incoming `oidc` object would replace the stored one and drop the real\n // secret. The framework's central sentinel-strip only rescues TOP-LEVEL\n // write-only secrets (it deletes the key and relies on `$set` omitting it),\n // which does not help a nested field. So re-inject the stored secret here,\n // BEFORE the central strip runs, whenever the incoming value is the mask,\n // empty, or absent. A genuinely rotated secret (any other value) is left\n // untouched.\n if (input?.oidc && typeof input.oidc === 'object') {\n const incoming = (input.oidc as Record<string, unknown>).clientSecret;\n if (incoming === undefined || incoming === '' || incoming === WRITE_ONLY_SECRET_MASK) {\n const stored = (utils.currentObject as any)?.oidc?.clientSecret;\n if (typeof stored === 'string' && stored.length > 0) {\n result = { ...input, oidc: { ...input.oidc, clientSecret: stored } };\n }\n }\n }\n // Transform x509CertificatePem → x509Certificates for SAML\n if (result?.saml && typeof result.saml === 'object' && 'x509CertificatePem' in result.saml) {\n const pem = (result.saml as Record<string, unknown>).x509CertificatePem;\n if (typeof pem === 'string' && pem.trim()) {\n const certs = normalizeCertificates(pem);\n if (certs.length > 0) {\n result = { ...result, saml: { ...result.saml, x509Certificates: certs } } as typeof result;\n }\n }\n const { x509CertificatePem: _, ...samlWithoutPem } = result.saml as Record<string, unknown>;\n result = { ...result, saml: samlWithoutPem } as typeof result;\n }\n return result;\n },\n },\n });\n };\n\n return factory as unknown as ResourceCustomServiceImplementationFactory;\n });\n}\n\n// ════════════════════════════════════════════════════════════════════\n// DELETE — PREFIX_CORE_OPERATIONS\n// ════════════════════════════════════════════════════════════════════\n\n/**\n * Count users who would be left without any auth method if this SSO connection\n * is removed. Uses batch queries instead of per-user loads.\n */\nasync function countOrphanedUsersForConnectionRemoval(\n connectionId: string,\n servicesRegistry: ServicesRegistryHandlerBackendService,\n ec: ExecutionContext<any>,\n): Promise<{ affectedUserCount: number; orphanedUserCount: number }> {\n const userResult = await _countOrphanedEntities<UserIdentityLink, UserCredentials>(\n connectionId, servicesRegistry, ec,\n CoreResourceType.USER_IDENTITY_LINKS,\n CoreResourceType.USER_CREDENTIALS,\n link => link.userId,\n cred => cred.userId,\n 'userId',\n );\n\n return {\n affectedUserCount: userResult.affected,\n orphanedUserCount: userResult.orphaned,\n };\n}\n\nasync function _countOrphanedEntities<TLink, TCred>(\n connectionId: string,\n servicesRegistry: ServicesRegistryHandlerBackendService,\n ec: ExecutionContext<any>,\n identityLinkResourceType: string,\n credentialResourceType: string,\n getEntityId: (link: TLink) => string,\n getCredEntityId: (cred: TCred) => string,\n entityIdField: string,\n): Promise<{ affected: number; orphaned: number }> {\n const affectedLinksList = await servicesRegistry.list<TLink>(\n identityLinkResourceType as any, ec, { connectionId },\n undefined, { paginated: false },\n ) as TLink[];\n\n if (affectedLinksList.length === 0) {\n return { affected: 0, orphaned: 0 };\n }\n\n const affectedEntityIds = [...new Set(affectedLinksList.map(getEntityId))];\n\n const credsList = await servicesRegistry.list<TCred>(\n credentialResourceType as any, ec, { [entityIdField]: { $in: affectedEntityIds } },\n undefined, { paginated: false },\n ) as TCred[];\n\n const entitiesWithCredentialFallback = new Set<string>();\n for (const cred of credsList) {\n const c = cred as any;\n if (c.passwordHash || (c.passkeyCredentials?.length ?? 0) > 0) {\n entitiesWithCredentialFallback.add(getCredEntityId(cred));\n }\n }\n\n const entitiesNeedingLinkCheck = affectedEntityIds.filter(id => !entitiesWithCredentialFallback.has(id));\n if (entitiesNeedingLinkCheck.length === 0) {\n return { affected: affectedEntityIds.length, orphaned: 0 };\n }\n\n const otherLinksList = await servicesRegistry.list<TLink>(\n identityLinkResourceType as any, ec, {\n [entityIdField]: { $in: entitiesNeedingLinkCheck },\n connectionId: { $ne: connectionId },\n },\n undefined, { paginated: false },\n ) as TLink[];\n const entitiesWithOtherLinks = new Set(otherLinksList.map(getEntityId));\n\n const orphanedCount = entitiesNeedingLinkCheck.filter(id => !entitiesWithOtherLinks.has(id)).length;\n return { affected: affectedEntityIds.length, orphaned: orphanedCount };\n}\n\n/**\n * SSO connection DELETE guards.\n *\n * Registered on `INTERNAL_CALL` — see the note on the CREATE factory for why the write\n * variants moved off `REPOSITORY_ONLY`.\n *\n * ⚠️ Reachable does NOT mean universal. The `onParentDelete` cascade (organization or\n * application deleted) still bypasses this prefix: it calls `childRepository.delete(...)`\n * directly after a `supportsOperation` check that matches on `operationIdentifier` +\n * `isOperationDefault` and ignores `variantType` entirely. That is intentional — the whole\n * owning scope is going away, so the \"last remaining connection\" and \"connection in use\"\n * guards below would be wrong there. These guards protect the targeted single-connection\n * delete, which now runs through the service tier.\n */\nexport function createSsoConnectionDeleteFactories(): ResourceCustomServiceImplementationFactory[] {\n return AUTH_SSO_CONNECTION_VARIANT_TYPES.map((variantResourceType) => {\n const factory = (_resourcesRegistryService: ResourcesRegistryBackendService) => {\n return createResourceCustomServiceImplementation({\n operationPath: {\n resourceIdentifier: variantResourceType,\n operationIdentifier: CoreResourceOperation.DELETE,\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isOperationDefault: true,\n },\n handlers: {\n prefixCoreOperations: async (_id, input, executionContext, _operationPath, utils) => {\n const currentObject = utils.currentObject;\n const connectionId = currentObject?.connectionId || currentObject?._id;\n\n if (!connectionId) {\n return input;\n }\n\n const force = (input as Record<string, unknown>)?.force === true;\n\n try {\n const { affectedUserCount, orphanedUserCount } = await countOrphanedUsersForConnectionRemoval(\n connectionId,\n utils.servicesRegistry,\n executionContext,\n );\n\n if (orphanedUserCount > 0 && !force) {\n throw utils.errorBuilder.buildError(ErrorType.VALIDATION, executionContext, {\n customMessageReference: ErrorCustomMessageReference.VALIDATION,\n context: {\n warning: true,\n affectedUserCount,\n orphanedUserCount,\n message: `${orphanedUserCount} account(s) will lose their only authentication method. Re-submit with force: true to proceed.`,\n requiresForce: true,\n },\n });\n }\n\n if (force && orphanedUserCount > 0) {\n utils.logger.warn('SSO connection removal forced — accounts will be orphaned', {\n connectionId,\n orphanedUserCount,\n totalAffected: affectedUserCount,\n });\n }\n } catch (error) {\n if (isWildoBackendError(error)) throw error;\n utils.logger.warn('SSO connection orphan check failed (non-fatal)', {\n connectionId,\n ...projectCaughtErrorLogFields(error),\n });\n }\n\n return input;\n },\n\n postfixCoreOperations: async (_id, input, executionContext, _operationPath, utils) => {\n const connectionId = utils.currentObject?.connectionId || utils.currentObject?._id;\n if (!connectionId) return input;\n\n try {\n const deletedIds = await utils.servicesRegistry.deleteMany(CoreResourceType.USER_IDENTITY_LINKS, executionContext, { connectionId });\n\n if (deletedIds.length > 0) {\n utils.logger.info('AUTH-13: Cleaned up orphaned identity links after SSO connection deletion', {\n connectionId,\n deletedLinkCount: deletedIds.length,\n });\n }\n } catch (error) {\n utils.logger.warn('AUTH-13: Identity link cleanup failed (non-fatal) — orphaned links remain in DB', {\n connectionId,\n ...projectCaughtErrorLogFields(error),\n });\n }\n\n return input;\n },\n },\n });\n };\n\n return factory as unknown as ResourceCustomServiceImplementationFactory;\n });\n}\n\n// ════════════════════════════════════════════════════════════════════\n// TEST_CONNECTION — REPLACE_CORE_OPERATIONS\n// ════════════════════════════════════════════════════════════════════\n\nexport function createSsoConnectionTestConnectionFactories(): ResourceCustomServiceImplementationFactory[] {\n return AUTH_SSO_CONNECTION_VARIANT_TYPES.map((variantResourceType) => {\n const factory = (_resourcesRegistryService: ResourcesRegistryBackendService) => {\n return createResourceCustomServiceImplementation({\n operationPath: {\n resourceIdentifier: variantResourceType,\n operationIdentifier: SsoConnection_Operations.TEST_CONNECTION,\n variantType: ResourceOperationVariantType.API_CALL,\n isOperationDefault: true,\n },\n requestDtoSchema: SsoConnection_TestConnectionRequestDto,\n handlers: {\n replaceCoreOperations: async (_id, _input, _executionContext, _operationPath, utils) => {\n const currentObject = utils.currentObject;\n\n if (currentObject?.protocol === SsoProtocol.SAML) {\n return {\n protocol: SsoProtocol.SAML,\n supported: true,\n ...await testSamlConnection(currentObject),\n };\n }\n\n return {\n protocol: SsoProtocol.OIDC,\n supported: false,\n message: 'OIDC connection testing is not implemented; no provider handshake was attempted.',\n };\n },\n },\n });\n };\n\n return factory as unknown as ResourceCustomServiceImplementationFactory;\n });\n}\n\n// ════════════════════════════════════════════════════════════════════\n// DISCOVER_ENDPOINTS — REPLACE_CORE_OPERATIONS\n// ════════════════════════════════════════════════════════════════════\n\nexport function createSsoConnectionDiscoverEndpointsFactories(): ResourceCustomServiceImplementationFactory[] {\n return AUTH_SSO_CONNECTION_VARIANT_TYPES.map((variantResourceType) => {\n const factory = (_resourcesRegistryService: ResourcesRegistryBackendService) => {\n return createResourceCustomServiceImplementation({\n operationPath: {\n resourceIdentifier: variantResourceType,\n operationIdentifier: SsoConnection_Operations.DISCOVER_ENDPOINTS,\n variantType: ResourceOperationVariantType.API_CALL,\n isOperationDefault: true,\n },\n requestDtoSchema: SsoConnection_DiscoverEndpointsRequestDto,\n handlers: {\n replaceCoreOperations: async (_id, input, executionContext, _operationPath, utils) => {\n const typedInput = input as { issuerUrl?: string; metadataUrl?: string } | undefined;\n\n // The request DTO enforces at least one source before this handler.\n // When both are supplied, SAML metadata remains the explicit priority.\n if (typedInput?.metadataUrl) {\n return {\n protocol: SsoProtocol.SAML,\n supported: true,\n ...await discoverSamlEndpoints(typedInput.metadataUrl, executionContext, utils),\n };\n }\n\n return {\n protocol: SsoProtocol.OIDC,\n supported: false,\n message: 'OIDC endpoint discovery is not implemented; issuer metadata was not fetched.',\n };\n },\n },\n });\n };\n\n return factory as unknown as ResourceCustomServiceImplementationFactory;\n });\n}\n\n// ── SAML metadata discovery ──────────────────────────────────────────\n\nasync function discoverSamlEndpoints(\n metadataUrl: string,\n executionContext: ExecutionContext<any>,\n utils: {\n errorBuilder: ErrorBuilderBackendService;\n samlMetadataService?: { parseIdPMetadata(metadataXml: string): unknown };\n },\n): Promise<Record<string, any>> {\n // Fetch metadata XML\n let metadataXml: string;\n try {\n const response = await fetch(metadataUrl, {\n method: 'GET',\n signal: AbortSignal.timeout(10_000),\n redirect: 'follow',\n });\n\n if (!response.ok) {\n throw utils.errorBuilder.buildError(ErrorType.VALIDATION, executionContext, {\n customMessageReference: ErrorCustomMessageReference.SAML_METADATA_PARSE_ERROR,\n context: { message: `Metadata URL returned HTTP ${response.status}` },\n });\n }\n\n const contentType = response.headers.get(WildoHeaderKeys.CONTENT_TYPE) || '';\n metadataXml = await response.text();\n\n if (metadataXml.length > MAX_METADATA_SIZE) {\n throw utils.errorBuilder.buildError(ErrorType.VALIDATION, executionContext, {\n customMessageReference: ErrorCustomMessageReference.SAML_METADATA_PARSE_ERROR,\n context: { message: `Metadata response exceeds ${MAX_METADATA_SIZE / (1024 * 1024)}MB limit` },\n });\n }\n\n // Validate XML content (Content-Type header or content sniff)\n const looksLikeXml = contentType.includes('xml')\n || metadataXml.trimStart().startsWith('<?xml')\n || metadataXml.trimStart().startsWith('<');\n if (!looksLikeXml) {\n throw utils.errorBuilder.buildError(ErrorType.VALIDATION, executionContext, {\n customMessageReference: ErrorCustomMessageReference.SAML_METADATA_PARSE_ERROR,\n context: { message: 'URL did not return XML metadata' },\n });\n }\n } catch (error) {\n if (isWildoBackendError(error)) throw error;\n throw utils.errorBuilder.buildError(ErrorType.VALIDATION, executionContext, {\n customMessageReference: ErrorCustomMessageReference.SAML_METADATA_PARSE_ERROR,\n context: { message: `Could not reach metadata URL: ${describeCaughtError(error)}` },\n });\n }\n\n // Parse metadata — requires SAMLMetadataBackendService via utils (production always provides it).\n // No samlify fallback: samlify needs Java for XSD validation; when utils lacks samlMetadataService,\n // fail fast with a clear error instead of attempting Java-dependent parsing.\n if (!utils.samlMetadataService) {\n throw utils.errorBuilder.buildError(ErrorType.CONFIGURATION, executionContext, {\n customMessageReference: ErrorCustomMessageReference.SAML_METADATA_PARSE_ERROR,\n context: {\n message: 'SAML metadata parsing requires SAMLMetadataService. Ensure the service is registered and passed to DISCOVER_ENDPOINTS utils.',\n },\n });\n }\n\n try {\n const parsed = utils.samlMetadataService.parseIdPMetadata(metadataXml) as {\n entityId: string;\n ssoUrl: string;\n sloUrl?: string;\n x509Certificates: string[];\n nameIdFormat?: string;\n };\n return {\n entityId: parsed.entityId,\n ssoUrl: parsed.ssoUrl,\n sloUrl: parsed.sloUrl,\n x509Certificates: parsed.x509Certificates,\n nameIdFormat: parsed.nameIdFormat,\n source: SsoConnectionDiscoverySource.SAML_METADATA,\n };\n } catch (error) {\n if (isWildoBackendError(error)) throw error;\n throw utils.errorBuilder.buildError(ErrorType.VALIDATION, executionContext, {\n customMessageReference: ErrorCustomMessageReference.SAML_METADATA_PARSE_ERROR,\n context: { message: `Invalid SAML metadata XML: ${describeCaughtError(error)}` },\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"sso-connection.custom-impl.backend.service.js","sourceRoot":"","sources":["../../../../../../src/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * SSO Connection Custom Implementations\n *\n * Implements READ, CREATE, UPDATE, DELETE, TEST_CONNECTION, DISCOVER_ENDPOINTS\n * on SSO connection polymorphic variants (ORG + APP).\n *\n * Patterns:\n * READ → (no custom impl) — oidc.clientSecret masking is framework-driven\n * via `.isWriteOnlySecret()` on the schema\n * CREATE → PREFIX_CORE_OPERATIONS — generates connectionId via crypto.randomUUID()\n * UPDATE → PREFIX_CORE_OPERATIONS — re-injects the stored oidc.clientSecret when\n * the client round-trips the `••••••••` mask (nested\n * field: whole-subdocument `$set` would otherwise drop it)\n * DELETE → PREFIX_CORE_OPERATIONS — orphan validation (warns if users would lose their only auth method)\n * TEST_CONNECTION → REPLACE_CORE_OPERATIONS — SAML → validate config (certs, URLs, SP metadata), OIDC → explicit unsupported result\n * DISCOVER_ENDPOINTS→ REPLACE_CORE_OPERATIONS — SAML → fetch + parse IdP metadata URL, OIDC → explicit unsupported result\n *\n * SAML helpers (cert validation, URL reachability, samlify init) are module-level\n * functions because the factory pattern does not support DI injection of arbitrary\n * services. Certificate validation uses Node.js crypto.X509Certificate directly.\n */\n\nimport crypto from 'node:crypto';\nimport {\n CoreResourceOperation,\n CoreResourceType,\n ResourceOperationVariantType,\n SsoConnection_Operations,\n SsoConnectionDiscoverySource,\n SsoConnectionTestOverallStatus,\n SsoConnection_TestConnectionRequestDto,\n SsoConnection_DiscoverEndpointsRequestDto,\n ErrorType,\n ErrorCustomMessageReference,\n isWildoBackendError,\n AuthScopeType,\n SsoProtocol,\n WRITE_ONLY_SECRET_MASK,\n} from '@wildo-ai/saas-models';\nimport { WildoHeaderKeys } from '@wildo-ai/saas-models';\nimport type { UserIdentityLink, UserCredentials } from '@wildo-ai/saas-models';\nimport {\n createResourceCustomServiceImplementation,\n type ResourceCustomServiceImplementationFactory,\n} from '~wildo-backend-lib/base-classes/services/services/resource-operation-custom-implementation.factory.backend';\nimport type { ResourcesRegistryBackendService } from '~wildo-backend-lib/resources/services/resources-registry.backend.service';\nimport type { ExecutionContext } from '~wildo-backend-lib/runtime/models/execution-context.backend.schemas';\nimport type { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';\nimport type { ServicesRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/services/services-registry-handler.backend.service';\nimport { describeCaughtError, projectCaughtErrorLogFields } from '~wildo-backend-lib/errors/utils/error-log-level-classification.backend.utils';\n\n// ── SSO connection polymorphic variant types ──────────────────────────\n\nconst AUTH_SSO_CONNECTION_VARIANT_TYPES = [\n CoreResourceType.ORGANIZATION_SSO_CONNECTIONS,\n CoreResourceType.APPLICATION_SSO_CONNECTIONS,\n] as const;\n\n// ── SAML Test / Discovery helpers ────────────────────────────────\n\nconst SAML_BINDINGS = {\n REDIRECT: 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',\n POST: 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',\n} as const;\n\nconst MAX_METADATA_SIZE = 2 * 1024 * 1024; // 2MB\n\n/**\n * Hard deadline for fetching an IdP's SAML metadata document.\n *\n * An administrator is watching: this runs while they configure an enterprise connection and press\n * save, so an unresponsive metadata host must produce an error they can act on rather than a form\n * that never returns. 10s — the document is XML capped by {@link MAX_METADATA_SIZE}, served by a\n * host the administrator has just typed, and erring generous here spends their whole wait on what\n * is most often a typo.\n */\nconst SAML_METADATA_FETCH_TIMEOUT_MS = 10_000;\n\nconst SHA1_RSA_OID = Buffer.from('06092a864886f70d010105', 'hex');\nconst ECDSA_SHA1_OID = Buffer.from('06072a8648ce3d0401', 'hex');\n\nconst SIG_ALG_OIDS: Array<{ oid: Buffer; name: string }> = [\n { oid: SHA1_RSA_OID, name: 'sha1WithRSAEncryption' },\n { oid: ECDSA_SHA1_OID, name: 'ecdsa-with-SHA1' },\n { oid: Buffer.from('06092a864886f70d01010b', 'hex'), name: 'sha256WithRSAEncryption' },\n { oid: Buffer.from('06082a8648ce3d040302', 'hex'), name: 'ecdsa-with-SHA256' },\n { oid: Buffer.from('06092a864886f70d01010c', 'hex'), name: 'sha384WithRSAEncryption' },\n { oid: Buffer.from('06082a8648ce3d040303', 'hex'), name: 'ecdsa-with-SHA384' },\n { oid: Buffer.from('06092a864886f70d01010d', 'hex'), name: 'sha512WithRSAEncryption' },\n { oid: Buffer.from('06082a8648ce3d040304', 'hex'), name: 'ecdsa-with-SHA512' },\n];\n\nfunction normalizePem(certPem: string): string {\n const trimmed = certPem.trim();\n if (trimmed.startsWith('-----BEGIN CERTIFICATE-----')) return trimmed;\n const cleanBase64 = trimmed.replace(/\\s/g, '');\n const lines: string[] = [];\n for (let i = 0; i < cleanBase64.length; i += 64) {\n lines.push(cleanBase64.substring(i, i + 64));\n }\n return `-----BEGIN CERTIFICATE-----\\n${lines.join('\\n')}\\n-----END CERTIFICATE-----`;\n}\n\nfunction getCertSignatureAlgorithm(der: Buffer): string {\n for (const { oid, name } of SIG_ALG_OIDS) {\n if (der.includes(oid)) return name;\n }\n return 'unknown';\n}\n\nfunction isSha1Algorithm(algorithm: string): boolean {\n const lower = algorithm.toLowerCase();\n return lower.includes('sha1') || lower.includes('sha-1');\n}\n\ninterface CertificateTestResult {\n index: number;\n valid: boolean;\n expiresAt: string;\n daysRemaining: number;\n algorithm: string;\n fingerprint: string;\n warnings: string[];\n}\n\nfunction validateCertificate(certPem: string, index: number): CertificateTestResult {\n try {\n const normalized = normalizePem(certPem);\n const x509 = new crypto.X509Certificate(normalized);\n const expiresAt = new Date(x509.validTo);\n const now = new Date();\n const daysRemaining = Math.floor((expiresAt.getTime() - now.getTime()) / (1000 * 60 * 60 * 24));\n const isValid = now >= new Date(x509.validFrom) && now <= expiresAt;\n const algorithm = getCertSignatureAlgorithm(x509.raw);\n const fingerprint = x509.fingerprint256;\n const warnings: string[] = [];\n\n if (!isValid) {\n warnings.push(daysRemaining < 0 ? 'Certificate is expired' : 'Certificate is not yet valid');\n } else if (daysRemaining <= 30) {\n warnings.push(`Expires in ${daysRemaining} days`);\n }\n if (isSha1Algorithm(algorithm)) {\n warnings.push('Uses SHA-1 signature algorithm (insecure)');\n }\n\n return { index, valid: isValid, expiresAt: expiresAt.toISOString(), daysRemaining, algorithm, fingerprint, warnings };\n } catch (error) {\n return {\n index,\n valid: false,\n expiresAt: '',\n daysRemaining: -1,\n algorithm: 'unknown',\n fingerprint: '',\n warnings: [`Certificate parsing failed: ${describeCaughtError(error)}`],\n };\n }\n}\n\nasync function checkUrlReachability(url: string, timeoutMs: number = 5000): Promise<{ reachable: boolean; statusCode?: number; error?: string }> {\n try {\n const response = await fetch(url, {\n method: 'HEAD',\n signal: AbortSignal.timeout(timeoutMs),\n redirect: 'follow',\n });\n return { reachable: true, statusCode: response.status };\n } catch {\n try {\n const response = await fetch(url, {\n method: 'GET',\n signal: AbortSignal.timeout(timeoutMs),\n redirect: 'follow',\n });\n return { reachable: true, statusCode: response.status };\n } catch (getError) {\n return {\n reachable: false,\n error: describeCaughtError(getError),\n };\n }\n }\n}\n\nlet _samlifyInitialized = false;\n// Returns `any` to avoid `typeof import('samlify')` which forces tsc to resolve the CJS-only samlify package during declaration emit.\nfunction getSamlifyModule(): any {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const saml = require('samlify');\n if (!_samlifyInitialized) {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const validator = require('@authenio/samlify-xsd-schema-validator');\n saml.setSchemaValidator(validator);\n _samlifyInitialized = true;\n }\n return saml;\n}\n\nfunction generateAndValidateSPMetadata(connection: Record<string, any>): { valid: boolean; error?: string } {\n try {\n const appDomain = process.env.APP_DOMAIN;\n const spCert = process.env.SAML_SP_CERTIFICATE;\n if (!appDomain) return { valid: false, error: 'APP_DOMAIN environment variable is not set' };\n if (!spCert) return { valid: false, error: 'SAML_SP_CERTIFICATE environment variable is not set' };\n\n const scopeType = connection.organizationId ? AuthScopeType.ORGANIZATION : AuthScopeType.APPLICATION;\n const scopeId = connection.organizationId || connection.applicationId;\n const entityID = `https://${appDomain}/saml/sp/${scopeType}/${scopeId}`;\n const acsUrl = `https://${appDomain}/auth/saml/acs`;\n\n const saml = getSamlifyModule();\n const sp = saml.ServiceProvider({\n entityID,\n authnRequestsSigned: true,\n wantAssertionsSigned: true,\n wantMessageSigned: true,\n signingCert: spCert,\n assertionConsumerService: [\n { Binding: SAML_BINDINGS.POST, Location: acsUrl },\n ],\n });\n\n const metadata = sp.getMetadata();\n if (typeof metadata === 'string' && metadata.includes('<EntityDescriptor')) {\n return { valid: true };\n }\n return { valid: false, error: 'Generated SP metadata is missing EntityDescriptor element' };\n } catch (error) {\n return { valid: false, error: `SP metadata generation failed: ${describeCaughtError(error)}` };\n }\n}\n\nasync function testSamlConnection(connection: Record<string, any>): Promise<Record<string, any>> {\n const samlConfig = connection.saml;\n const errors: string[] = [];\n const warnings: string[] = [];\n\n // 1. Validate IdP entity ID\n const entityIdConfigured = !!(samlConfig?.entityId);\n if (!entityIdConfigured) {\n errors.push('IdP Entity ID is not configured');\n }\n\n // 2. SSO URL reachability\n let ssoUrlReachable = false;\n let ssoUrlStatus: number | undefined;\n if (samlConfig?.ssoUrl) {\n const result = await checkUrlReachability(samlConfig.ssoUrl, 5000);\n ssoUrlReachable = result.reachable;\n ssoUrlStatus = result.statusCode;\n if (!result.reachable) errors.push(`SSO URL is not reachable: ${result.error}`);\n } else {\n errors.push('SSO URL is not configured');\n }\n\n // 3. Certificate validation (E8, E9, SC-1)\n const certificates: CertificateTestResult[] = [];\n const certs: string[] = samlConfig?.x509Certificates ?? [];\n for (let i = 0; i < certs.length; i++) {\n const certResult = validateCertificate(certs[i], i);\n certificates.push(certResult);\n if (!certResult.valid) {\n errors.push(`Certificate ${i}: ${certResult.warnings.join(', ')}`);\n } else if (certResult.warnings.length > 0) {\n warnings.push(...certResult.warnings.map((w: string) => `Certificate ${i}: ${w}`));\n }\n }\n if (certs.length === 0) {\n errors.push('No X.509 certificates configured');\n }\n\n // 4. SLO URL reachability (if configured)\n let sloUrlReachable: boolean | undefined;\n let sloUrlStatus: number | undefined;\n if (samlConfig?.sloUrl) {\n const result = await checkUrlReachability(samlConfig.sloUrl, 5000);\n sloUrlReachable = result.reachable;\n sloUrlStatus = result.statusCode;\n if (!result.reachable) warnings.push(`SLO URL is not reachable: ${result.error}`);\n }\n\n // 5. SP metadata generation + validation\n const spMetadata = generateAndValidateSPMetadata(connection);\n if (!spMetadata.valid) {\n warnings.push(`SP metadata: ${spMetadata.error}`);\n }\n\n // 6. Overall status\n let overallStatus = SsoConnectionTestOverallStatus.PASS;\n if (errors.length > 0) overallStatus = SsoConnectionTestOverallStatus.FAIL;\n else if (warnings.length > 0) overallStatus = SsoConnectionTestOverallStatus.WARNING;\n\n return {\n entityIdConfigured,\n ssoUrlReachable,\n ssoUrlStatus,\n certificates,\n sloUrlReachable,\n sloUrlStatus,\n spMetadataValid: spMetadata.valid,\n overallStatus,\n errors,\n warnings,\n };\n}\n\nfunction normalizeCertificates(certs: unknown): string[] {\n if (!certs) return [];\n if (typeof certs === 'string') {\n return splitPemToCertificates(certs);\n }\n if (Array.isArray(certs)) {\n return certs.flat().filter((c): c is string => typeof c === 'string' && c.length > 0);\n }\n return [];\n}\n\n/** Split multi-cert PEM string into array of individual cert PEMs. */\nfunction splitPemToCertificates(pem: string): string[] {\n const trimmed = pem.trim();\n if (!trimmed) return [];\n const regex = /-----BEGIN CERTIFICATE-----[\\s\\S]*?-----END CERTIFICATE-----/g;\n const matches = trimmed.match(regex);\n if (!matches || matches.length === 0) return [trimmed];\n return matches.map((m) => m.trim()).filter(Boolean);\n}\n\nfunction extractServiceUrl(\n meta: Record<string, any>,\n method: 'getSingleSignOnService' | 'getSingleLogoutService',\n): string | null {\n const getter = meta[method];\n if (typeof getter !== 'function') return null;\n\n for (const binding of [SAML_BINDINGS.REDIRECT, SAML_BINDINGS.POST]) {\n try {\n const result = getter.call(meta, binding);\n if (typeof result === 'string' && result) return result;\n if (result && typeof result === 'object' && 'Location' in result) {\n return (result as { Location: string }).Location;\n }\n } catch {\n // Binding not available\n }\n }\n return null;\n}\n\n// ════════════════════════════════════════════════════════════════════\n// READ — no custom impl\n// ════════════════════════════════════════════════════════════════════\n//\n// `oidc.clientSecret` carries `.isWriteOnlySecret()` (see\n// `sso-connection.shared.schemas.ts`). The framework masks it to `••••••••` at the\n// client-serialization boundary (`serializeOperationResultForResponse`) for every\n// client read (READ/CREATE/UPDATE responses) and strips the round-tripped mask from\n// write payloads centrally. The former READ postfix masking factory was redundant AND\n// masked the wrong tier: it ran at the service dispatch (before the client boundary),\n// so the internal `servicesRegistryHandler.read` used by the OAuth2 token exchange\n// received the mask too and could not authenticate at the IdP token endpoint. Removing\n// it restores the token exchange's real-value read; the decorator keeps the client\n// boundary redacted.\n\n// ════════════════════════════════════════════════════════════════════\n// CREATE — PREFIX_CORE_OPERATIONS\n// ════════════════════════════════════════════════════════════════════\n\n/**\n * SSO connection CREATE prefix — mints `connectionId` and normalizes the authored SAML\n * `x509CertificatePem` into the stored `x509Certificates` array.\n *\n * Registered on `INTERNAL_CALL`, matching the resource configuration. All three write\n * variants (CREATE / UPDATE / DELETE) were authored against `REPOSITORY_ONLY` and were\n * unreachable in both directions: `getServiceOperationPathDefault` — behind every\n * `*AsSystem` call — skips a REPOSITORY_ONLY-only op, and `doOperation` throws on that\n * variant, so the service tier where custom implementations execute was never entered.\n * Nothing else in the codebase mints `connectionId`, so a connection written past the\n * service tier had none at all.\n *\n * This mirrors the READ default, which had already been moved to `INTERNAL_CALL` for the\n * same resolver reason; the writes were simply left behind. `INTERNAL_CALL` adds no HTTP\n * surface — only API_CALL variants register routes.\n */\nexport function createSsoConnectionCreateFactories(): ResourceCustomServiceImplementationFactory[] {\n return AUTH_SSO_CONNECTION_VARIANT_TYPES.map((variantResourceType) => {\n const factory = (_resourcesRegistryService: ResourcesRegistryBackendService) => {\n return createResourceCustomServiceImplementation({\n operationPath: {\n resourceIdentifier: variantResourceType,\n operationIdentifier: CoreResourceOperation.CREATE,\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isOperationDefault: true,\n },\n handlers: {\n prefixCoreOperations: async (_id, input, _executionContext, _operationPath, _utils) => {\n const result = { ...input, connectionId: crypto.randomUUID() };\n // Transform x509CertificatePem → x509Certificates for SAML\n if (result?.saml && typeof result.saml === 'object' && 'x509CertificatePem' in result.saml) {\n const pem = (result.saml as Record<string, unknown>).x509CertificatePem;\n if (typeof pem === 'string' && pem.trim()) {\n const certs = normalizeCertificates(pem);\n if (certs.length > 0) {\n result.saml = { ...result.saml, x509Certificates: certs } as typeof result.saml;\n }\n }\n delete (result.saml as Record<string, unknown>).x509CertificatePem;\n }\n return result;\n },\n },\n });\n };\n\n return factory as unknown as ResourceCustomServiceImplementationFactory;\n });\n}\n\n// ════════════════════════════════════════════════════════════════════\n// UPDATE — PREFIX_CORE_OPERATIONS\n// ════════════════════════════════════════════════════════════════════\n\nexport function createSsoConnectionUpdateFactories(): ResourceCustomServiceImplementationFactory[] {\n return AUTH_SSO_CONNECTION_VARIANT_TYPES.map((variantResourceType) => {\n const factory = (_resourcesRegistryService: ResourcesRegistryBackendService) => {\n return createResourceCustomServiceImplementation({\n operationPath: {\n resourceIdentifier: variantResourceType,\n operationIdentifier: CoreResourceOperation.UPDATE,\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isOperationDefault: true,\n },\n handlers: {\n prefixCoreOperations: async (_id, input, _executionContext, _operationPath, utils) => {\n let result = input;\n // Write-only-secret preservation for the NESTED oidc.clientSecret.\n //\n // The field is `.isWriteOnlySecret()`, so a client that renders the masked\n // read value and saves round-trips `••••••••` (or omits it). The repository\n // UPDATE is a whole-subdocument `$set` with NO deep merge — writing the\n // incoming `oidc` object would replace the stored one and drop the real\n // secret. The framework's central sentinel-strip only rescues TOP-LEVEL\n // write-only secrets (it deletes the key and relies on `$set` omitting it),\n // which does not help a nested field. So re-inject the stored secret here,\n // BEFORE the central strip runs, whenever the incoming value is the mask,\n // empty, or absent. A genuinely rotated secret (any other value) is left\n // untouched.\n if (input?.oidc && typeof input.oidc === 'object') {\n const incoming = (input.oidc as Record<string, unknown>).clientSecret;\n if (incoming === undefined || incoming === '' || incoming === WRITE_ONLY_SECRET_MASK) {\n const stored = (utils.currentObject as any)?.oidc?.clientSecret;\n if (typeof stored === 'string' && stored.length > 0) {\n result = { ...input, oidc: { ...input.oidc, clientSecret: stored } };\n }\n }\n }\n // Transform x509CertificatePem → x509Certificates for SAML\n if (result?.saml && typeof result.saml === 'object' && 'x509CertificatePem' in result.saml) {\n const pem = (result.saml as Record<string, unknown>).x509CertificatePem;\n if (typeof pem === 'string' && pem.trim()) {\n const certs = normalizeCertificates(pem);\n if (certs.length > 0) {\n result = { ...result, saml: { ...result.saml, x509Certificates: certs } } as typeof result;\n }\n }\n const { x509CertificatePem: _, ...samlWithoutPem } = result.saml as Record<string, unknown>;\n result = { ...result, saml: samlWithoutPem } as typeof result;\n }\n return result;\n },\n },\n });\n };\n\n return factory as unknown as ResourceCustomServiceImplementationFactory;\n });\n}\n\n// ════════════════════════════════════════════════════════════════════\n// DELETE — PREFIX_CORE_OPERATIONS\n// ════════════════════════════════════════════════════════════════════\n\n/**\n * Count users who would be left without any auth method if this SSO connection\n * is removed. Uses batch queries instead of per-user loads.\n */\nasync function countOrphanedUsersForConnectionRemoval(\n connectionId: string,\n servicesRegistry: ServicesRegistryHandlerBackendService,\n ec: ExecutionContext<any>,\n): Promise<{ affectedUserCount: number; orphanedUserCount: number }> {\n const userResult = await _countOrphanedEntities<UserIdentityLink, UserCredentials>(\n connectionId, servicesRegistry, ec,\n CoreResourceType.USER_IDENTITY_LINKS,\n CoreResourceType.USER_CREDENTIALS,\n link => link.userId,\n cred => cred.userId,\n 'userId',\n );\n\n return {\n affectedUserCount: userResult.affected,\n orphanedUserCount: userResult.orphaned,\n };\n}\n\nasync function _countOrphanedEntities<TLink, TCred>(\n connectionId: string,\n servicesRegistry: ServicesRegistryHandlerBackendService,\n ec: ExecutionContext<any>,\n identityLinkResourceType: string,\n credentialResourceType: string,\n getEntityId: (link: TLink) => string,\n getCredEntityId: (cred: TCred) => string,\n entityIdField: string,\n): Promise<{ affected: number; orphaned: number }> {\n const affectedLinksList = await servicesRegistry.list<TLink>(\n identityLinkResourceType as any, ec, { connectionId },\n undefined, { paginated: false },\n ) as TLink[];\n\n if (affectedLinksList.length === 0) {\n return { affected: 0, orphaned: 0 };\n }\n\n const affectedEntityIds = [...new Set(affectedLinksList.map(getEntityId))];\n\n const credsList = await servicesRegistry.list<TCred>(\n credentialResourceType as any, ec, { [entityIdField]: { $in: affectedEntityIds } },\n undefined, { paginated: false },\n ) as TCred[];\n\n const entitiesWithCredentialFallback = new Set<string>();\n for (const cred of credsList) {\n const c = cred as any;\n if (c.passwordHash || (c.passkeyCredentials?.length ?? 0) > 0) {\n entitiesWithCredentialFallback.add(getCredEntityId(cred));\n }\n }\n\n const entitiesNeedingLinkCheck = affectedEntityIds.filter(id => !entitiesWithCredentialFallback.has(id));\n if (entitiesNeedingLinkCheck.length === 0) {\n return { affected: affectedEntityIds.length, orphaned: 0 };\n }\n\n const otherLinksList = await servicesRegistry.list<TLink>(\n identityLinkResourceType as any, ec, {\n [entityIdField]: { $in: entitiesNeedingLinkCheck },\n connectionId: { $ne: connectionId },\n },\n undefined, { paginated: false },\n ) as TLink[];\n const entitiesWithOtherLinks = new Set(otherLinksList.map(getEntityId));\n\n const orphanedCount = entitiesNeedingLinkCheck.filter(id => !entitiesWithOtherLinks.has(id)).length;\n return { affected: affectedEntityIds.length, orphaned: orphanedCount };\n}\n\n/**\n * SSO connection DELETE guards.\n *\n * Registered on `INTERNAL_CALL` — see the note on the CREATE factory for why the write\n * variants moved off `REPOSITORY_ONLY`.\n *\n * ⚠️ Reachable does NOT mean universal. The `onParentDelete` cascade (organization or\n * application deleted) still bypasses this prefix: it calls `childRepository.delete(...)`\n * directly after a `supportsOperation` check that matches on `operationIdentifier` +\n * `isOperationDefault` and ignores `variantType` entirely. That is intentional — the whole\n * owning scope is going away, so the \"last remaining connection\" and \"connection in use\"\n * guards below would be wrong there. These guards protect the targeted single-connection\n * delete, which now runs through the service tier.\n */\nexport function createSsoConnectionDeleteFactories(): ResourceCustomServiceImplementationFactory[] {\n return AUTH_SSO_CONNECTION_VARIANT_TYPES.map((variantResourceType) => {\n const factory = (_resourcesRegistryService: ResourcesRegistryBackendService) => {\n return createResourceCustomServiceImplementation({\n operationPath: {\n resourceIdentifier: variantResourceType,\n operationIdentifier: CoreResourceOperation.DELETE,\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isOperationDefault: true,\n },\n handlers: {\n prefixCoreOperations: async (_id, input, executionContext, _operationPath, utils) => {\n const currentObject = utils.currentObject;\n const connectionId = currentObject?.connectionId || currentObject?._id;\n\n if (!connectionId) {\n return input;\n }\n\n const force = (input as Record<string, unknown>)?.force === true;\n\n try {\n const { affectedUserCount, orphanedUserCount } = await countOrphanedUsersForConnectionRemoval(\n connectionId,\n utils.servicesRegistry,\n executionContext,\n );\n\n if (orphanedUserCount > 0 && !force) {\n throw utils.errorBuilder.buildError(ErrorType.VALIDATION, executionContext, {\n customMessageReference: ErrorCustomMessageReference.VALIDATION,\n context: {\n warning: true,\n affectedUserCount,\n orphanedUserCount,\n message: `${orphanedUserCount} account(s) will lose their only authentication method. Re-submit with force: true to proceed.`,\n requiresForce: true,\n },\n });\n }\n\n if (force && orphanedUserCount > 0) {\n utils.logger.warn('SSO connection removal forced — accounts will be orphaned', {\n connectionId,\n orphanedUserCount,\n totalAffected: affectedUserCount,\n });\n }\n } catch (error) {\n if (isWildoBackendError(error)) throw error;\n utils.logger.warn('SSO connection orphan check failed (non-fatal)', {\n connectionId,\n ...projectCaughtErrorLogFields(error),\n });\n }\n\n return input;\n },\n\n postfixCoreOperations: async (_id, input, executionContext, _operationPath, utils) => {\n const connectionId = utils.currentObject?.connectionId || utils.currentObject?._id;\n if (!connectionId) return input;\n\n try {\n const deletedIds = await utils.servicesRegistry.deleteMany(CoreResourceType.USER_IDENTITY_LINKS, executionContext, { connectionId });\n\n if (deletedIds.length > 0) {\n utils.logger.info('AUTH-13: Cleaned up orphaned identity links after SSO connection deletion', {\n connectionId,\n deletedLinkCount: deletedIds.length,\n });\n }\n } catch (error) {\n utils.logger.warn('AUTH-13: Identity link cleanup failed (non-fatal) — orphaned links remain in DB', {\n connectionId,\n ...projectCaughtErrorLogFields(error),\n });\n }\n\n return input;\n },\n },\n });\n };\n\n return factory as unknown as ResourceCustomServiceImplementationFactory;\n });\n}\n\n// ════════════════════════════════════════════════════════════════════\n// TEST_CONNECTION — REPLACE_CORE_OPERATIONS\n// ════════════════════════════════════════════════════════════════════\n\nexport function createSsoConnectionTestConnectionFactories(): ResourceCustomServiceImplementationFactory[] {\n return AUTH_SSO_CONNECTION_VARIANT_TYPES.map((variantResourceType) => {\n const factory = (_resourcesRegistryService: ResourcesRegistryBackendService) => {\n return createResourceCustomServiceImplementation({\n operationPath: {\n resourceIdentifier: variantResourceType,\n operationIdentifier: SsoConnection_Operations.TEST_CONNECTION,\n variantType: ResourceOperationVariantType.API_CALL,\n isOperationDefault: true,\n },\n requestDtoSchema: SsoConnection_TestConnectionRequestDto,\n handlers: {\n replaceCoreOperations: async (_id, _input, _executionContext, _operationPath, utils) => {\n const currentObject = utils.currentObject;\n\n if (currentObject?.protocol === SsoProtocol.SAML) {\n return {\n protocol: SsoProtocol.SAML,\n supported: true,\n ...await testSamlConnection(currentObject),\n };\n }\n\n return {\n protocol: SsoProtocol.OIDC,\n supported: false,\n message: 'OIDC connection testing is not implemented; no provider handshake was attempted.',\n };\n },\n },\n });\n };\n\n return factory as unknown as ResourceCustomServiceImplementationFactory;\n });\n}\n\n// ════════════════════════════════════════════════════════════════════\n// DISCOVER_ENDPOINTS — REPLACE_CORE_OPERATIONS\n// ════════════════════════════════════════════════════════════════════\n\nexport function createSsoConnectionDiscoverEndpointsFactories(): ResourceCustomServiceImplementationFactory[] {\n return AUTH_SSO_CONNECTION_VARIANT_TYPES.map((variantResourceType) => {\n const factory = (_resourcesRegistryService: ResourcesRegistryBackendService) => {\n return createResourceCustomServiceImplementation({\n operationPath: {\n resourceIdentifier: variantResourceType,\n operationIdentifier: SsoConnection_Operations.DISCOVER_ENDPOINTS,\n variantType: ResourceOperationVariantType.API_CALL,\n isOperationDefault: true,\n },\n requestDtoSchema: SsoConnection_DiscoverEndpointsRequestDto,\n handlers: {\n replaceCoreOperations: async (_id, input, executionContext, _operationPath, utils) => {\n const typedInput = input as { issuerUrl?: string; metadataUrl?: string } | undefined;\n\n // The request DTO enforces at least one source before this handler.\n // When both are supplied, SAML metadata remains the explicit priority.\n if (typedInput?.metadataUrl) {\n return {\n protocol: SsoProtocol.SAML,\n supported: true,\n ...await discoverSamlEndpoints(typedInput.metadataUrl, executionContext, utils),\n };\n }\n\n return {\n protocol: SsoProtocol.OIDC,\n supported: false,\n message: 'OIDC endpoint discovery is not implemented; issuer metadata was not fetched.',\n };\n },\n },\n });\n };\n\n return factory as unknown as ResourceCustomServiceImplementationFactory;\n });\n}\n\n// ── SAML metadata discovery ──────────────────────────────────────────\n\nasync function discoverSamlEndpoints(\n metadataUrl: string,\n executionContext: ExecutionContext<any>,\n utils: {\n errorBuilder: ErrorBuilderBackendService;\n samlMetadataService?: { parseIdPMetadata(metadataXml: string): unknown };\n },\n): Promise<Record<string, any>> {\n // Fetch metadata XML\n let metadataXml: string;\n try {\n const response = await fetch(metadataUrl, {\n method: 'GET',\n signal: AbortSignal.timeout(SAML_METADATA_FETCH_TIMEOUT_MS),\n redirect: 'follow',\n });\n\n if (!response.ok) {\n throw utils.errorBuilder.buildError(ErrorType.VALIDATION, executionContext, {\n customMessageReference: ErrorCustomMessageReference.SAML_METADATA_PARSE_ERROR,\n context: { message: `Metadata URL returned HTTP ${response.status}` },\n });\n }\n\n const contentType = response.headers.get(WildoHeaderKeys.CONTENT_TYPE) || '';\n metadataXml = await response.text();\n\n if (metadataXml.length > MAX_METADATA_SIZE) {\n throw utils.errorBuilder.buildError(ErrorType.VALIDATION, executionContext, {\n customMessageReference: ErrorCustomMessageReference.SAML_METADATA_PARSE_ERROR,\n context: { message: `Metadata response exceeds ${MAX_METADATA_SIZE / (1024 * 1024)}MB limit` },\n });\n }\n\n // Validate XML content (Content-Type header or content sniff)\n const looksLikeXml = contentType.includes('xml')\n || metadataXml.trimStart().startsWith('<?xml')\n || metadataXml.trimStart().startsWith('<');\n if (!looksLikeXml) {\n throw utils.errorBuilder.buildError(ErrorType.VALIDATION, executionContext, {\n customMessageReference: ErrorCustomMessageReference.SAML_METADATA_PARSE_ERROR,\n context: { message: 'URL did not return XML metadata' },\n });\n }\n } catch (error) {\n if (isWildoBackendError(error)) throw error;\n throw utils.errorBuilder.buildError(ErrorType.VALIDATION, executionContext, {\n customMessageReference: ErrorCustomMessageReference.SAML_METADATA_PARSE_ERROR,\n context: { message: `Could not reach metadata URL: ${describeCaughtError(error)}` },\n });\n }\n\n // Parse metadata — requires SAMLMetadataBackendService via utils (production always provides it).\n // No samlify fallback: samlify needs Java for XSD validation; when utils lacks samlMetadataService,\n // fail fast with a clear error instead of attempting Java-dependent parsing.\n if (!utils.samlMetadataService) {\n throw utils.errorBuilder.buildError(ErrorType.CONFIGURATION, executionContext, {\n customMessageReference: ErrorCustomMessageReference.SAML_METADATA_PARSE_ERROR,\n context: {\n message: 'SAML metadata parsing requires SAMLMetadataService. Ensure the service is registered and passed to DISCOVER_ENDPOINTS utils.',\n },\n });\n }\n\n try {\n const parsed = utils.samlMetadataService.parseIdPMetadata(metadataXml) as {\n entityId: string;\n ssoUrl: string;\n sloUrl?: string;\n x509Certificates: string[];\n nameIdFormat?: string;\n };\n return {\n entityId: parsed.entityId,\n ssoUrl: parsed.ssoUrl,\n sloUrl: parsed.sloUrl,\n x509Certificates: parsed.x509Certificates,\n nameIdFormat: parsed.nameIdFormat,\n source: SsoConnectionDiscoverySource.SAML_METADATA,\n };\n } catch (error) {\n if (isWildoBackendError(error)) throw error;\n throw utils.errorBuilder.buildError(ErrorType.VALIDATION, executionContext, {\n customMessageReference: ErrorCustomMessageReference.SAML_METADATA_PARSE_ERROR,\n context: { message: `Invalid SAML metadata XML: ${describeCaughtError(error)}` },\n });\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-verification-initiator.backend.service.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"email-verification-initiator.backend.service.d.ts","sourceRoot":"","sources":["../../../../../src/security/authentications/services/email-verification-initiator.backend.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,kBAAkB,CAAC;AAa1B,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AAC/G,OAAO,EAAE,6BAA6B,EAAE,MAAM,yFAAyF,CAAC;AACxI,OAAO,EAAE,mBAAmB,EAAE,MAAM,uEAAuE,CAAC;AAI5G,yFAAyF;AACzF,MAAM,WAAW,2BAA2B;IAC1C,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBACa,wCAAwC;IAId,OAAO,CAAC,QAAQ,CAAC,MAAM;IACb,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY;IANxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+D;gBAGlC,MAAM,EAAE,aAAa,EACX,gBAAgB,EAAE,uBAAuB,EACnC,sBAAsB,EAAE,6BAA6B,EAC/D,YAAY,EAAE,mBAAmB;IAM7F;;;;;;;OAOG;IACU,qBAAqB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;CAqEpG"}
|
package/dist/esm/security/authentications/services/machine-token-issuer.backend.service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machine-token-issuer.backend.service.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"machine-token-issuer.backend.service.d.ts","sourceRoot":"","sources":["../../../../../src/security/authentications/services/machine-token-issuer.backend.service.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AAC/G,OAAO,EAAE,iBAAiB,EAAE,MAAM,8DAA8D,CAAC;AAEjG,OAAO,EAAkC,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,gGAAgG;IAChG,SAAS,EAAE,oBAAoB,CAAC,aAAa,GAAG,oBAAoB,CAAC,WAAW,CAAC;IACjF,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,KAAK,EAAE,KAAK,EAAE,CAAC;IACf;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,QAAQ,CAAC;IACpB,0FAA0F;IAC1F,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,qBACa,gCAAgC;IAEN,OAAO,CAAC,QAAQ,CAAC,MAAM;IACb,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAFrB,MAAM,EAAE,aAAa,EACX,gBAAgB,EAAE,uBAAuB,EACxC,UAAU,EAAE,iBAAiB;IAGjF,sBAAsB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;CAoC7G"}
|
package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-provider-token.backend.service.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"oauth-provider-token.backend.service.d.ts","sourceRoot":"","sources":["../../../../../src/security/authentications/services/oauth-provider-token.backend.service.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AAC/G,OAAO,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AAE9G,OAAO,EAAE,gCAAgC,EAAE,MAAM,2FAA2F,CAAC;AA8C7I;;;;;GAKG;AACH,MAAM,WAAW,kCAAkC;IACjD,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,6FAA6F;AAC7F,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,QAAQ,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,+FAA+F;AAC/F,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;IACzE,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBACa,gCAAgC;IAEH,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACb,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAJ3B,SAAS,EAAE,SAAS,EACvB,MAAM,EAAE,aAAa,EACX,gBAAgB,EAAE,uBAAuB,EACtC,YAAY,EAAE,0BAA0B,EACzC,kBAAkB,EAAE,gCAAgC;IAGzG,2BAA2B,CAAC,OAAO,EAAE,kCAAkC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA+HzH;;;;;;;;OAQG;IACU,2BAA2B,CAAC,OAAO,EAAE;QAChD,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB;;;WAGG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB;;;;;WAKG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAmKrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACU,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,GAAG;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA+GvL;;;;OAIG;IACU,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;YACW,4BAA4B;IAY1C;;;OAGG;IACH,OAAO,CAAC,WAAW;CAMpB"}
|