@wildo-ai/saas-backend-lib 1.1.2 → 1.1.3
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/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 +19 -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 +4 -0
- package/dist/esm/base-classes/models/manual-controllers.backend.definition.js.map +1 -1
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts +35 -0
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js +111 -0
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js.map +1 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts +50 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js +199 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js.map +1 -0
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.d.ts +111 -0
- 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 +140 -0
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.js.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 +27 -6
- package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts +124 -13
- 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 +207 -21
- 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-read-client.backend.d.ts +60 -8
- 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 +174 -26
- 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 +47 -4
- 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 +96 -29
- 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 +55 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts.map +1 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js +114 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js.map +1 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts +89 -14
- 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 +84 -11
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js.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 +9 -1
- package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts +49 -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 +171 -18
- 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 +23 -3
- package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js.map +1 -1
- 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 +20 -0
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts +22 -0
- 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-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 +4 -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 +11 -0
- 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 +39 -5
- 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 +181 -2
- 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 +529 -41
- 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 +36 -3
- 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 +70 -8
- package/dist/esm/base-classes/services/services/system-access.backend.service.js.map +1 -1
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts +28 -0
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js +90 -0
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js.map +1 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts +44 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.js +99 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.js.map +1 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts +91 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts.map +1 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js +152 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js.map +1 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts +186 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts.map +1 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js +474 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js.map +1 -0
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts +100 -0
- 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 +209 -6
- 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 +200 -4
- 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 +593 -64
- 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 +36 -0
- package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts.map +1 -0
- package/dist/esm/billing/services/billing-adapter-registry.backend.js +83 -0
- package/dist/esm/billing/services/billing-adapter-registry.backend.js.map +1 -0
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts +9 -0
- 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 +11 -1
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js.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 +48 -7
- 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 +38 -1
- 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 +67 -2
- 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 +30 -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 +43 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts +11 -3
- 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 +30 -16
- 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 +104 -25
- 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 +18 -1
- 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 +106 -2
- 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 +52 -0
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts.map +1 -0
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js +74 -0
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js.map +1 -0
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts +104 -11
- 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 +260 -26
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js.map +1 -1
- package/dist/esm/billing/testing/mock-billing-provider.d.ts +30 -1
- package/dist/esm/billing/testing/mock-billing-provider.d.ts.map +1 -1
- package/dist/esm/billing/testing/mock-billing-provider.js +25 -0
- package/dist/esm/billing/testing/mock-billing-provider.js.map +1 -1
- package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js +11 -4
- package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts +225 -13
- 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 +340 -62
- 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 +244 -7
- 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 +386 -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 +7 -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 +6 -2
- 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 +31 -9
- 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 +42 -0
- 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 +57 -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 +110 -0
- package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts.map +1 -0
- package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js +192 -0
- package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js.map +1 -0
- 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 +31 -0
- package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js.map +1 -1
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts +5 -0
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts.map +1 -1
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.js +6 -0
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.js.map +1 -1
- package/dist/esm/config/models/app-config.backend.schemas.d.ts +142 -46
- package/dist/esm/config/models/app-config.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/app-config.backend.schemas.js +121 -12
- package/dist/esm/config/models/app-config.backend.schemas.js.map +1 -1
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts +38 -15
- 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 +17 -2
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js.map +1 -1
- package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts +0 -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 +68 -76
- 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 +23 -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 +33 -0
- package/dist/esm/config/services/app-configuration.backend.utils.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.utils.js +39 -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 +25 -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 +41 -1
- package/dist/esm/config/services/application-startup-config-validator.backend.service.js.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 +48 -0
- package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js.map +1 -1
- package/dist/esm/errors/services/error-builder.backend.service.d.ts +13 -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 +13 -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 +70 -7
- package/dist/esm/errors/services/error-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/errors/services/error-handler.backend.service.js +129 -8
- package/dist/esm/errors/services/error-handler.backend.service.js.map +1 -1
- package/dist/esm/errors/services/rate-limit.backend.service.d.ts +66 -0
- package/dist/esm/errors/services/rate-limit.backend.service.d.ts.map +1 -1
- package/dist/esm/errors/services/rate-limit.backend.service.js +102 -25
- 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 +5 -0
- 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 +25 -0
- 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 +33 -0
- 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 +40 -0
- package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js.map +1 -1
- package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts +59 -2
- 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 +52 -17
- package/dist/esm/external-data/external-data-pipeline-run.backend.service.js.map +1 -1
- package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts +4 -2
- 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 +256 -0
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js +333 -0
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js.map +1 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts +56 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.js +211 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.js.map +1 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts +45 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.js +216 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.js.map +1 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts +56 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js +78 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js.map +1 -0
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts +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 +2 -2
- 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 +89 -0
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts.map +1 -0
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js +164 -0
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js.map +1 -0
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts +26 -27
- 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 +50 -64
- 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.map +1 -1
- package/dist/esm/external-providers/services/document-extraction.backend.service.js +3 -3
- 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 +4 -4
- package/dist/esm/external-providers/services/embeddings.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts +292 -7
- 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 +533 -45
- 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.map +1 -1
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js +25 -2
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js.map +1 -1
- package/dist/esm/files/controllers/file.controller.d.ts.map +1 -1
- package/dist/esm/files/controllers/file.controller.js +21 -13
- package/dist/esm/files/controllers/file.controller.js.map +1 -1
- 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 +39 -15
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-scanning.backend.service.d.ts +94 -9
- package/dist/esm/files/services/file-scanning.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-scanning.backend.service.js +197 -17
- 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 +60 -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 +167 -8
- 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 +53 -2
- 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 +127 -3
- package/dist/esm/files/services/file-upload-grant.backend.service.js.map +1 -1
- package/dist/esm/files/services/files.backend.service.d.ts +68 -0
- package/dist/esm/files/services/files.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/files.backend.service.js +175 -5
- package/dist/esm/files/services/files.backend.service.js.map +1 -1
- package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts +109 -0
- package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts.map +1 -0
- package/dist/esm/files/storage/application-storage-key.backend.utils.js +123 -0
- package/dist/esm/files/storage/application-storage-key.backend.utils.js.map +1 -0
- package/dist/esm/files/storage/file-storage-provider.types.d.ts +16 -10
- 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/local-directory-storage-provider.backend.service.d.ts +67 -8
- 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 +101 -28
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.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 +8 -55
- 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 +20 -0
- package/dist/esm/files/utils/file-field-schema-path.backend.utils.js.map +1 -1
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts +86 -0
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts.map +1 -0
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js +288 -0
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js.map +1 -0
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts +15 -0
- 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 +76 -5
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js.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 +6 -1
- package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts +60 -0
- 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 +63 -0
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts +74 -0
- 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 +196 -40
- 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 +7 -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 +53 -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 +18 -0
- 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 +18 -0
- 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 +12 -7
- 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/models/agent-catalogs.backend.definitions.d.ts +0 -13
- 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 +14 -22
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts +8 -3
- 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 +25 -15
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts +13 -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 +88 -8
- 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 +333 -31
- 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 +4 -2
- 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 +113 -0
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts.map +1 -0
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js +62 -0
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js.map +1 -0
- 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 +0 -2
- package/dist/esm/flows-actors/services/actors-system.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/agents.backend.service.d.ts +28 -1
- package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/agents.backend.service.js +204 -18
- package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts +5 -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 +79 -16
- 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 +34 -5
- 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 +154 -20
- 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 +27 -23
- 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 +7 -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 +90 -0
- package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts.map +1 -0
- package/dist/esm/flows-actors/services/mcp-client.backend.service.js +368 -0
- package/dist/esm/flows-actors/services/mcp-client.backend.service.js.map +1 -0
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts +9 -5
- 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 +12 -17
- 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 +8 -4
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts +0 -207
- 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 +8 -243
- 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/guidance/services/milestone-evaluator.backend.service.d.ts +9 -14
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.js +18 -89
- 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 +86 -0
- package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts.map +1 -0
- package/dist/esm/guidance/services/progression-state-store.backend.service.js +155 -0
- package/dist/esm/guidance/services/progression-state-store.backend.service.js.map +1 -0
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts +10 -0
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.js +55 -5
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.js.map +1 -1
- package/dist/esm/index.d.ts +11 -4
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +31 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/inject/models/container.d.ts.map +1 -1
- package/dist/esm/inject/models/container.js +78 -10
- package/dist/esm/inject/models/container.js.map +1 -1
- package/dist/esm/inject/models/service-types.d.ts +17 -3
- package/dist/esm/inject/models/service-types.d.ts.map +1 -1
- package/dist/esm/inject/models/service-types.js +19 -3
- 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 +20 -0
- package/dist/esm/mcp/controllers/mcp.controller.js.map +1 -1
- package/dist/esm/mcp/services/mcp-server.backend.service.d.ts +56 -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 +107 -11
- 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 +22 -0
- package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js.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 +49 -4
- 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 +66 -0
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts.map +1 -0
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js +199 -0
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js.map +1 -0
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts +149 -13
- 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 +411 -19
- 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 +11 -2
- 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 +28 -9
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts.map +1 -1
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.js +30 -10
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.js.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 +52 -11
- 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 +62 -0
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts.map +1 -0
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js +78 -0
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js.map +1 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts +309 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts.map +1 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.js +385 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.js.map +1 -0
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts +1 -0
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.js.map +1 -1
- package/dist/esm/monitoring/observability/services/metrics.service.d.ts +21 -0
- package/dist/esm/monitoring/observability/services/metrics.service.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/services/metrics.service.js +38 -0
- package/dist/esm/monitoring/observability/services/metrics.service.js.map +1 -1
- package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts +0 -80
- package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts.map +0 -1
- package/dist/esm/notifications/email/models/email-context-provider.interface.js +0 -25
- package/dist/esm/notifications/email/models/email-context-provider.interface.js.map +0 -1
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts +0 -49
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts.map +0 -1
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js +0 -141
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js.map +0 -1
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts +0 -37
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts.map +0 -1
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js +0 -121
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js.map +0 -1
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts +66 -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 +105 -10
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.js.map +1 -1
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts +0 -58
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts.map +0 -1
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js +0 -223
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js.map +0 -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 +10 -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 +60 -4
- package/dist/esm/notifications/email/services/email.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email.backend.service.js +145 -43
- package/dist/esm/notifications/email/services/email.backend.service.js.map +1 -1
- package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts +0 -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/services/notification-badge.backend.service.d.ts +142 -21
- package/dist/esm/notifications/services/notification-badge.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/services/notification-badge.backend.service.js +283 -58
- package/dist/esm/notifications/services/notification-badge.backend.service.js.map +1 -1
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts +99 -13
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js +422 -66
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js.map +1 -1
- package/dist/esm/notifications/sms/services/sms.backend.service.d.ts +2 -2
- package/dist/esm/notifications/sms/services/sms.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/sms/services/sms.backend.service.js +5 -5
- 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 +117 -5
- 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 +164 -6
- 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 +0 -6
- 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 +46 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js.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 +16 -6
- package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js.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 +12 -12
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts +16 -0
- 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 +18 -0
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js.map +1 -1
- package/dist/esm/organizations/batches/organization-purge.batch.backend.service.d.ts +2 -2
- package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js +2 -2
- package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js.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 +63 -2
- package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js.map +1 -1
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts +66 -0
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts.map +1 -0
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js +257 -0
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts +12 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.js +47 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.js.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts +87 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.js +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.js.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts +31 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.js +13 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.js.map +1 -0
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts +19 -25
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js +33 -0
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js.map +1 -1
- package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts +2 -2
- package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/domain-queue-consumer.backend.service.js +1 -4
- package/dist/esm/queue/domain-queue-consumer.backend.service.js.map +1 -1
- package/dist/esm/queue/job-consumer.backend.service.d.ts +2 -2
- package/dist/esm/queue/job-consumer.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/job-consumer.backend.service.js +1 -4
- package/dist/esm/queue/job-consumer.backend.service.js.map +1 -1
- package/dist/esm/queue/job-executor.backend.service.d.ts +2 -2
- package/dist/esm/queue/job-executor.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/job-executor.backend.service.js +1 -4
- package/dist/esm/queue/job-executor.backend.service.js.map +1 -1
- package/dist/esm/queue/queue-monitoring.backend.service.d.ts +8 -4
- package/dist/esm/queue/queue-monitoring.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue-monitoring.backend.service.js +25 -17
- package/dist/esm/queue/queue-monitoring.backend.service.js.map +1 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts +16 -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 +16 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.js.map +1 -1
- package/dist/esm/queue/queue.backend.service.d.ts +3 -3
- package/dist/esm/queue/queue.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue.backend.service.js +26 -4
- package/dist/esm/queue/queue.backend.service.js.map +1 -1
- package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts +2 -2
- package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/worker-shutdown-manager.backend.service.js +18 -3
- package/dist/esm/queue/worker-shutdown-manager.backend.service.js.map +1 -1
- package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts +50 -25
- package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-chunking.backend.utils.js +147 -39
- 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 +12 -3
- 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 +12 -3
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js.map +1 -1
- package/dist/esm/requests/service/websocket.service.d.ts +9 -0
- package/dist/esm/requests/service/websocket.service.d.ts.map +1 -1
- package/dist/esm/requests/service/websocket.service.js +32 -8
- package/dist/esm/requests/service/websocket.service.js.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 +14 -2
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.js.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 +2 -0
- 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 +14 -0
- package/dist/esm/resources/models/resources-relationships.backend.definitions.js.map +1 -1
- package/dist/esm/resources/models/resources-types.backend.schemas.d.ts +2 -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 +8 -0
- package/dist/esm/resources/models/resources-types.backend.schemas.js.map +1 -1
- package/dist/esm/resources/services/resources-registry.backend.service.d.ts +60 -5
- package/dist/esm/resources/services/resources-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/resources/services/resources-registry.backend.service.js +90 -6
- package/dist/esm/resources/services/resources-registry.backend.service.js.map +1 -1
- package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts +36 -3
- package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/controllers/health-controller.backend.service.js +32 -10
- package/dist/esm/runtime/controllers/health-controller.backend.service.js.map +1 -1
- package/dist/esm/runtime/domain-module.backend.definitions.d.ts +24 -0
- package/dist/esm/runtime/domain-module.backend.definitions.d.ts.map +1 -1
- package/dist/esm/runtime/domain-module.backend.definitions.js +24 -0
- package/dist/esm/runtime/domain-module.backend.definitions.js.map +1 -1
- package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts +51 -0
- 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 +26 -0
- package/dist/esm/runtime/services/http-server.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/http-server.backend.service.js +181 -1
- package/dist/esm/runtime/services/http-server.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/start-application.backend.service.d.ts +19 -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 +261 -77
- package/dist/esm/runtime/services/start-application.backend.service.js.map +1 -1
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts +15 -0
- 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 +28 -0
- 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 +5 -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 +24 -4
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js.map +1 -1
- 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 +29 -4
- 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 +114 -0
- 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 +354 -3
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts +1 -0
- package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/cimd.backend.schemas.js +22 -0
- package/dist/esm/security/authentications/models/cimd.backend.schemas.js.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/services/admin-config/auth-organization-configuration.service.d.ts +0 -2
- 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 +23 -14
- 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 +0 -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 +15 -12
- 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 +113 -3
- 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 +207 -30
- 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 +95 -2
- 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 +153 -9
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts +190 -0
- 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 +377 -53
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.js.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 +68 -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-registration.backend.service.d.ts +41 -0
- 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 +202 -23
- 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.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js +42 -1
- 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.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js +34 -4
- 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/webauthn.backend.service.d.ts +29 -5
- 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 +77 -5
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts +17 -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 +49 -17
- 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 +43 -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 +277 -97
- 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 +28 -5
- 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 +72 -12
- 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 +3 -0
- package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts +28 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js +283 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js.map +1 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts +4 -3
- 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 +4 -3
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts +35 -0
- 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 +111 -21
- 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 +14 -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 +49 -8
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js.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 +4 -0
- package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js.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 +6 -0
- package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts +37 -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 +51 -0
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js.map +1 -1
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts +41 -0
- 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 +45 -0
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js.map +1 -1
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts +116 -0
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts.map +1 -0
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js +162 -0
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js.map +1 -0
- package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts +20 -20
- 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 +27 -28
- package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js.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 +77 -3
- package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js.map +1 -1
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts +4 -0
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.js +4 -0
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.js.map +1 -1
- package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts +93 -0
- package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/authorizations/role-conferral.backend.utils.js +95 -0
- package/dist/esm/security/authorizations/role-conferral.backend.utils.js.map +1 -0
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts +124 -1
- 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 +142 -5
- 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 +74 -8
- package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authorizations/services/authorizations.backend.service.js +175 -19
- 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 +6 -14
- 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 +13 -22
- 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 +60 -0
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js +79 -0
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js.map +1 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts +161 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js +512 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts +59 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js +22 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js.map +1 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts +44 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js +20 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts +191 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js +385 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts +41 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js +358 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts +160 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js +266 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts +111 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js +107 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts +54 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js +153 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts +195 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js +387 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts +45 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js +291 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts +62 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js +29 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js.map +1 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts +127 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js +277 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js.map +1 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts +66 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js +75 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js.map +1 -0
- package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts +21 -3
- 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 +26 -16
- 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 +9 -4
- package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/credential-rotation-grace.backend.utils.js +9 -4
- package/dist/esm/security/credential-rotation-grace.backend.utils.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts +26 -0
- 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 +43 -0
- 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 +8 -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 +49 -0
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/scim/controllers/scim.backend.controller.d.ts.map +1 -1
- package/dist/esm/security/scim/controllers/scim.backend.controller.js +17 -5
- 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 +67 -29
- 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 +47 -25
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js.map +1 -1
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts +10 -2
- 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 +10 -2
- 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 +143 -0
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js +258 -0
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js.map +1 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts +39 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js +159 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +11 -9
package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts
CHANGED
|
@@ -203,6 +203,13 @@ export declare class OAuthProviderControllerBackendService extends AbstractContr
|
|
|
203
203
|
* this ships OFF by default while CIMD is the recommended path.
|
|
204
204
|
*/
|
|
205
205
|
private handleDynamicRegistration;
|
|
206
|
+
/**
|
|
207
|
+
* The client configuration endpoint URL for one client — RFC 7592 §3's `registration_client_uri`.
|
|
208
|
+
*
|
|
209
|
+
* Built from the same issuer the discovery document advertises, so a client that resolved this
|
|
210
|
+
* server through discovery reaches the same origin here.
|
|
211
|
+
*/
|
|
212
|
+
private registrationClientUri;
|
|
206
213
|
/**
|
|
207
214
|
* The SINGLE seam through which every OAuth authorization RESPONSE leaves this server.
|
|
208
215
|
*
|
|
@@ -233,6 +240,113 @@ export declare class OAuthProviderControllerBackendService extends AbstractContr
|
|
|
233
240
|
*/
|
|
234
241
|
private sendAuthorizationRedirect;
|
|
235
242
|
/** RFC 7591 § 3.2.2 registration-error response: 400 + `error` / `error_description`. */
|
|
243
|
+
/**
|
|
244
|
+
* Authenticate a call to the client configuration endpoint, or answer and return null.
|
|
245
|
+
*
|
|
246
|
+
* Every RFC 7592 verb shares this, so the refusal ladder cannot drift between them — which is the
|
|
247
|
+
* whole reason it is a helper rather than three copies. The ladder, and why each rung is the code
|
|
248
|
+
* it is:
|
|
249
|
+
*
|
|
250
|
+
* - **404 when the application has not opted in.** Identical to `/oauth/register`: an application
|
|
251
|
+
* without dynamic registration should be indistinguishable from one whose framework never had
|
|
252
|
+
* the endpoint, so a 403 would advertise a capability one config flag away.
|
|
253
|
+
* - **401 with `WWW-Authenticate` when the Bearer token is absent or malformed.** "The client MUST
|
|
254
|
+
* use its registration access token in all calls to this endpoint as an OAuth 2.0 Bearer Token."
|
|
255
|
+
* spec-cite: RFC 7592 §2.
|
|
256
|
+
* - **401 when the client does not exist.** "If the client does not exist on this server, the
|
|
257
|
+
* server MUST respond with HTTP 401 Unauthorized and the registration access token used to make
|
|
258
|
+
* this request SHOULD be immediately revoked." spec-cite: RFC 7592 §2.1. The SHOULD is moot for
|
|
259
|
+
* us: a token for a client that does not exist has no row to revoke, so there is nothing to do.
|
|
260
|
+
* - **403 when the client exists but was not dynamically registered.** "If the client does not have
|
|
261
|
+
* permission to read its record, the server MUST return an HTTP 403 Forbidden." spec-cite: RFC
|
|
262
|
+
* 7592 §2.1. An operator- or organization-registered client is administered through the ordinary
|
|
263
|
+
* authenticated resource surface; it holds no registration access token and must not be
|
|
264
|
+
* reachable here even if one were somehow presented.
|
|
265
|
+
* - **401 when the presented token does not match.**
|
|
266
|
+
*
|
|
267
|
+
* Note the deliberate asymmetry: an unknown client is 401 and a known-but-ineligible one is 403,
|
|
268
|
+
* which is what the specification asks for even though it leaks that a client id exists. That
|
|
269
|
+
* disclosure is bounded — the caller already had to supply the id — and diverging from the
|
|
270
|
+
* specification here would break a conformant client's error handling.
|
|
271
|
+
*/
|
|
272
|
+
private authenticateClientConfiguration;
|
|
273
|
+
/**
|
|
274
|
+
* Constant-time comparison of a presented registration access token against the stored digest.
|
|
275
|
+
*
|
|
276
|
+
* Both sides are SHA-256 hex, so they are always the same length and `timingSafeEqual` cannot
|
|
277
|
+
* throw — which is why the digests are compared rather than the raw values.
|
|
278
|
+
*/
|
|
279
|
+
private registrationTokenMatches;
|
|
280
|
+
/**
|
|
281
|
+
* RFC 6750 §3 shape for every unauthenticated refusal at this endpoint.
|
|
282
|
+
*
|
|
283
|
+
* One description for a missing token and a wrong one, on purpose: distinguishing them tells an
|
|
284
|
+
* unauthenticated caller which half of its guess was right.
|
|
285
|
+
*/
|
|
286
|
+
private sendClientConfigurationUnauthorized;
|
|
287
|
+
/**
|
|
288
|
+
* The client information response body — RFC 7592 §3, minus the two members §2.2 forbids a client
|
|
289
|
+
* to send back.
|
|
290
|
+
*
|
|
291
|
+
* `registration_access_token` is NOT echoed on read or update. It is returned once, at
|
|
292
|
+
* registration, and we do not rotate it: §5 permits rotation on a read or update ("MAY"), and
|
|
293
|
+
* taking that option means a client that loses the response has silently lost management access
|
|
294
|
+
* for good. The specification's own preference — "SHOULD NOT expire while a client is still
|
|
295
|
+
* actively registered" — points the same way.
|
|
296
|
+
*/
|
|
297
|
+
private clientInformationResponse;
|
|
298
|
+
/**
|
|
299
|
+
* `GET /oauth/register/:clientId` — RFC 7592 §2.1 Client Read Request.
|
|
300
|
+
*
|
|
301
|
+
* "the authorization server responds with an HTTP 200 OK with content type of `application/json`".
|
|
302
|
+
* spec-cite: RFC 7592 §2.1.
|
|
303
|
+
*/
|
|
304
|
+
private handleClientConfigurationRead;
|
|
305
|
+
/**
|
|
306
|
+
* `PUT /oauth/register/:clientId` — RFC 7592 §2.2 Client Update Request.
|
|
307
|
+
*
|
|
308
|
+
* **Full replacement, not a patch, and that is the specification's choice rather than ours:** "This
|
|
309
|
+
* request MUST include all client metadata fields as returned to the client from a previous
|
|
310
|
+
* registration, read, or update operation" and "Omitted fields MUST be treated as null or empty
|
|
311
|
+
* values by the server, indicating the client's request to delete them from the client's
|
|
312
|
+
* registration." spec-cite: RFC 7592 §2.2.
|
|
313
|
+
*
|
|
314
|
+
* So a client that sends only the field it wants to change DELETES everything else. That is
|
|
315
|
+
* surprising, it is what the specification requires, and it is why `redirect_uris` is re-validated
|
|
316
|
+
* on every update rather than assumed still present.
|
|
317
|
+
*
|
|
318
|
+
* Every confinement the registration endpoint applies is re-applied here, in the same order. A
|
|
319
|
+
* client that could widen its scopes, add a grant or change its auth method through an update
|
|
320
|
+
* would have found a way around the registration confinements by taking one extra step.
|
|
321
|
+
*/
|
|
322
|
+
private handleClientConfigurationUpdate;
|
|
323
|
+
/**
|
|
324
|
+
* `DELETE /oauth/register/:clientId` — RFC 7592 §2.3 Client Delete Request.
|
|
325
|
+
*
|
|
326
|
+
* "If a client has been successfully deprovisioned, the authorization server MUST respond with an
|
|
327
|
+
* HTTP 204 No Content message." spec-cite: RFC 7592 §2.3.
|
|
328
|
+
*
|
|
329
|
+
* **Deprovisioned by STATUS, not by removing the row**, and the row is what makes that sound: every
|
|
330
|
+
* client-resolution path in this server refuses a non-`ACTIVE` client, so `INACTIVE` is
|
|
331
|
+
* indistinguishable from absent to any protocol caller — while the row survives for the audit
|
|
332
|
+
* trail, which is the thing an operator investigating a deleted client actually needs.
|
|
333
|
+
*
|
|
334
|
+
* The registration access token is invalidated by the same write, though not by being erased:
|
|
335
|
+
* `authenticateClientConfiguration` refuses a non-`ACTIVE` client before it ever compares a token,
|
|
336
|
+
* so the token authenticates nowhere from this moment. "If a client is deprovisioned from a server,
|
|
337
|
+
* any outstanding registration access token for that client MUST be invalidated at the same time."
|
|
338
|
+
* spec-cite: RFC 7592 §5. Keeping the digest on the row costs nothing and preserves the record of
|
|
339
|
+
* which token the client held, which an operator investigating a deleted client wants.
|
|
340
|
+
*
|
|
341
|
+
* **NOT DONE, and stated rather than implied:** "If possible, the authorization server SHOULD
|
|
342
|
+
* immediately invalidate all existing authorization grants and currently active access tokens, all
|
|
343
|
+
* refresh tokens, and all other tokens associated with this client." spec-cite: RFC 7592 §2.3.
|
|
344
|
+
* Already-issued access tokens keep working until they expire. Reaching them means driving the
|
|
345
|
+
* revocation machinery over every token minted for this client, which is a larger change than this
|
|
346
|
+
* endpoint; the client cannot obtain NEW tokens the moment this returns, because the token endpoint
|
|
347
|
+
* resolves the client and refuses it.
|
|
348
|
+
*/
|
|
349
|
+
private handleClientConfigurationDelete;
|
|
236
350
|
private sendRegistrationError;
|
|
237
351
|
/**
|
|
238
352
|
* Per-source-IP registration budget.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-provider-controller.backend.service.d.ts","sourceRoot":"","sources":["../../../../../../src/security/authentications/controllers/oauth-provider-controller.backend.service.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth-provider-controller.backend.service.d.ts","sourceRoot":"","sources":["../../../../../../src/security/authentications/controllers/oauth-provider-controller.backend.service.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAK1B,OAAO,EAAE,gCAAgC,EAAE,MAAM,0FAA0F,CAAC;AAC5I,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AAC9G,OAAO,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AAGvG,OAAO,EAAE,gCAAgC,EAAE,MAAM,2FAA2F,CAAC;AAC7I,OAAO,EAAE,mCAAmC,EAAE,MAAM,8FAA8F,CAAC;AACnJ,OAAO,EAAE,4BAA4B,EAAoE,MAAM,uFAAuF,CAAC;AAIvM,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iFAAiF,CAAC;AAClI,OAAO,EAAE,gCAAgC,EAAE,MAAM,2FAA2F,CAAC;AAC7I,OAAO,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AAC/G,OAAO,EAAE,iBAAiB,EAAE,MAAM,8DAA8D,CAAC;AAGjG,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,wFAAwF,CAAC;AAC5I,OAAO,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AAInF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gFAAgF,CAAC;AAgBzH;;;;;;;;;;;;;;GAcG;AACH,qBACa,qCAAsC,SAAQ,gCAAgC;IAKxC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAGjC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAdzC,MAAM,EAAE,aAAa,EACR,YAAY,EAAE,0BAA0B,EACxC,YAAY,EAAE,mBAAmB,EACjB,YAAY,EAAE,gCAAgC,EAChD,gBAAgB,EAAE,uBAAuB,EACxC,UAAU,EAAE,iBAAiB,EACzB,eAAe,EAAE,mCAAmC,EAC7D,YAAY,EAAE,YAAY,EACtB,SAAS,EAAE,uBAAuB,EACpC,iBAAiB,EAAE,4BAA4B,EAC3C,WAAW,EAAE,gCAAgC,EAC5C,YAAY,EAAE,0BAA0B,EAG5C,eAAe,EAAE,6BAA6B;IAK7G,SAAS,CAAC,WAAW,IAAI,IAAI;IA4E7B;;;;;;;;;;;;OAYG;YACW,YAAY;IAoD1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;YACW,gBAAgB;IAqH9B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAY/B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;YACW,uBAAuB;IAgCrC;;;;;OAKG;YACW,eAAe;IAwG7B;;;OAGG;YACW,UAAU;IAKxB;;;;OAIG;YACW,WAAW;IA+GzB;;;;;;;;;;;;;;OAcG;IACH,wEAAwE;IACxE,OAAO,CAAC,gCAAgC;IAQxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;YACW,yBAAyB;IA6LvC;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,OAAO,CAAC,yBAAyB;IAWjC,yFAAyF;IAKzF;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;YACW,+BAA+B;IAkE7C;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAOhC;;;;;OAKG;IACH,OAAO,CAAC,mCAAmC;IAM3C;;;;;;;;;OASG;IACH,OAAO,CAAC,yBAAyB;IAcjC;;;;;OAKG;YACW,6BAA6B;IAQ3C;;;;;;;;;;;;;;;;OAgBG;YACW,+BAA+B;IA+H7C;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;YACW,+BAA+B;IAmB7C,OAAO,CAAC,qBAAqB;IAK7B;;;;;;;OAOG;YACW,6BAA6B;YAa7B,eAAe;IA+I7B;;;;;;;;;;;;;;;OAeG;YACW,qBAAqB;IA6HnC;;;;;OAKG;YACW,cAAc;IA2B5B;;;;OAIG;YACW,wBAAwB;IAYtC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAehC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,cAAc;CAQvB"}
|
package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js
CHANGED
|
@@ -11,6 +11,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
11
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
12
|
};
|
|
13
13
|
import 'reflect-metadata';
|
|
14
|
+
import { timingSafeEqual } from 'node:crypto';
|
|
14
15
|
import { inject, injectable } from 'inversify';
|
|
15
16
|
import cors from 'cors';
|
|
16
17
|
import { AbstractControllerBackendService } from '../../../base-classes/services/controllers/abstract-controller.backend.service.js';
|
|
@@ -23,7 +24,7 @@ import { OAuthProviderTokenBackendService } from '../../../security/authenticati
|
|
|
23
24
|
import { OidcAuthorizationCodeBackendService } from '../../../security/authentications/services/oidc-authorization-code.backend.service.js';
|
|
24
25
|
import { OidcUserClaimsBackendService, OIDC_SUPPORTED_IDENTITY_SCOPES, OIDC_SCOPE_GATED_IDENTITY_CLAIMS } from '../../../security/authentications/services/oidc-user-claims.backend.service.js';
|
|
25
26
|
import { CimdTrustPolicy } from '../../../security/authentications/models/cimd.backend.schemas.js';
|
|
26
|
-
import { generateOAuthClientSecretMaterial } from '../../../security/oauth-clients/oauth-client-generation.backend.utils.js';
|
|
27
|
+
import { generateOAuthClientSecretMaterial, generateRegistrationAccessTokenMaterial, hashRegistrationAccessToken } from '../../../security/oauth-clients/oauth-client-generation.backend.utils.js';
|
|
27
28
|
import { CimdClientMetadataBackendService } from '../../../security/authentications/services/cimd-client-metadata.backend.service.js';
|
|
28
29
|
import { AppConfigurationService } from '../../../config/services/app-configuration.backend.service.js';
|
|
29
30
|
import { JwtBackendService } from '../../../security/jwt/services/jwt.backend.service.js';
|
|
@@ -34,7 +35,7 @@ import { getClientIpFromRequest } from '../../../runtime/utils/request-client-ip
|
|
|
34
35
|
import { assertMachineAuthAttemptWithinRate, recordMachineAuthFailure } from '../../../security/authentications/services/utils/machine-auth-rate-limit.backend.utils.js';
|
|
35
36
|
import { isValidS256CodeChallenge } from '../../../security/authentications/services/utils/pkce.backend.utils.js';
|
|
36
37
|
import { AuditLogsBackendService } from '../../../compliance/audit-trails/services/audit-logs.backend.service.js';
|
|
37
|
-
import { ApiKeyScope, CoreResourceType, ExecutionContext_ExecutionType, MANUAL_CONTROLLER_ROUTES_URLS, ManualControllerRouteKey, OAuthClientRegistrationOrigin, OAuthGrantType, OAuthTokenEndpointAuthMethod, isSafeOAuthRedirectUri, isWildoBackendError, } from '@wildo-ai/saas-models';
|
|
38
|
+
import { ApiKeyScope, CoreResourceType, ExecutionContext_ExecutionType, MANUAL_CONTROLLER_ROUTES_URLS, ManualControllerRouteKey, OAuthClientRegistrationOrigin, OAuthClientStatus, OAuthGrantType, OAuthTokenEndpointAuthMethod, isSafeOAuthRedirectUri, isWildoBackendError, } from '@wildo-ai/saas-models';
|
|
38
39
|
/**
|
|
39
40
|
* OAuth 2.0 Authorization Server endpoints (Wildo-AS-PROVIDER). A THIN transport wrapper
|
|
40
41
|
* over {@link OAuthProviderTokenBackendService} — it parses the request per RFC 6749 and
|
|
@@ -127,6 +128,15 @@ let OAuthProviderControllerBackendService = class OAuthProviderControllerBackend
|
|
|
127
128
|
const registerUrl = MANUAL_CONTROLLER_ROUTES_URLS[ManualControllerRouteKey.OAUTH_PROVIDER_REGISTER];
|
|
128
129
|
this.router.post(registerUrl, this.asyncHandler(this.handleDynamicRegistration.bind(this)));
|
|
129
130
|
this.logRouteRegistration('POST', registerUrl, 'RFC 7591 dynamic client registration (404 unless opted in)');
|
|
131
|
+
// RFC 7592 §2: ONE client configuration endpoint, three methods. Registered unconditionally like
|
|
132
|
+
// `/oauth/register` above and gated by the same opt-in inside the handler.
|
|
133
|
+
const registerClientUrl = MANUAL_CONTROLLER_ROUTES_URLS[ManualControllerRouteKey.OAUTH_PROVIDER_REGISTER_CLIENT];
|
|
134
|
+
this.router.get(registerClientUrl, this.asyncHandler(this.handleClientConfigurationRead.bind(this)));
|
|
135
|
+
this.router.put(registerClientUrl, this.asyncHandler(this.handleClientConfigurationUpdate.bind(this)));
|
|
136
|
+
this.router.delete(registerClientUrl, this.asyncHandler(this.handleClientConfigurationDelete.bind(this)));
|
|
137
|
+
this.logRouteRegistration('GET', registerClientUrl, 'RFC 7592 client read (404 unless opted in)');
|
|
138
|
+
this.logRouteRegistration('PUT', registerClientUrl, 'RFC 7592 client update (404 unless opted in)');
|
|
139
|
+
this.logRouteRegistration('DELETE', registerClientUrl, 'RFC 7592 client delete (404 unless opted in)');
|
|
130
140
|
}
|
|
131
141
|
/**
|
|
132
142
|
* `POST /oauth/revoke` — RFC 7009 token revocation. Revokes the presented `token` (a user
|
|
@@ -815,6 +825,11 @@ let OAuthProviderControllerBackendService = class OAuthProviderControllerBackend
|
|
|
815
825
|
return;
|
|
816
826
|
}
|
|
817
827
|
const secretMaterial = generateOAuthClientSecretMaterial(ApiKeyScope.APPLICATION);
|
|
828
|
+
// RFC 7592 §3: the registration response carries a `registration_access_token` the client uses at
|
|
829
|
+
// the client configuration endpoint, and a `registration_client_uri` naming that endpoint. Minted
|
|
830
|
+
// here and returned exactly once — there is no way to recover it afterwards, which is why §5 says
|
|
831
|
+
// it "SHOULD NOT expire while a client is still actively registered".
|
|
832
|
+
const registrationTokenMaterial = generateRegistrationAccessTokenMaterial();
|
|
818
833
|
const created = await this.systemAccess.createAsSystem(CoreResourceType.OAUTH_CLIENTS_APPLICATION, {
|
|
819
834
|
name: clientName,
|
|
820
835
|
scope: ApiKeyScope.APPLICATION,
|
|
@@ -832,11 +847,20 @@ let OAuthProviderControllerBackendService = class OAuthProviderControllerBackend
|
|
|
832
847
|
registrationOrigin: OAuthClientRegistrationOrigin.DYNAMIC,
|
|
833
848
|
hashedSecret: secretMaterial.hashedSecret,
|
|
834
849
|
secretPrefix: secretMaterial.secretPrefix,
|
|
850
|
+
registrationAccessTokenHash: registrationTokenMaterial.registrationAccessTokenHash,
|
|
851
|
+
registrationAccessTokenPrefix: registrationTokenMaterial.registrationAccessTokenPrefix,
|
|
835
852
|
}, {
|
|
836
853
|
// `registrationOrigin`, `hashedSecret` and `secretPrefix` all carry
|
|
837
854
|
// `.excludeFromCreate()` — they are server-managed precisely so no caller can author them.
|
|
838
855
|
// This endpoint IS the server-side door, so it re-attaches them explicitly.
|
|
839
|
-
preserveServerInjectedFields: [
|
|
856
|
+
preserveServerInjectedFields: [
|
|
857
|
+
'registrationOrigin', 'hashedSecret', 'secretPrefix',
|
|
858
|
+
// Same reason as the two above: server-managed, so `.excludeFromCreate()` strips them and
|
|
859
|
+
// this endpoint — the server-side door — re-attaches them explicitly. Omitting them here
|
|
860
|
+
// would persist a client with NO registration access token, and every management call would
|
|
861
|
+
// then fail 401 with nothing to diagnose.
|
|
862
|
+
'registrationAccessTokenHash', 'registrationAccessTokenPrefix',
|
|
863
|
+
],
|
|
840
864
|
});
|
|
841
865
|
// assurance-control: WILDO.IDENTITY.CLIENT_IDENTITY_ASSERTION — an anonymous party created a
|
|
842
866
|
// client identity in this application. Fire-and-forget; auditing must never fail the request it
|
|
@@ -864,8 +888,23 @@ let OAuthProviderControllerBackendService = class OAuthProviderControllerBackend
|
|
|
864
888
|
response_types: ['code'],
|
|
865
889
|
token_endpoint_auth_method: OAuthTokenEndpointAuthMethod.NONE,
|
|
866
890
|
scope: (requestedScopes.length > 0 ? requestedScopes : [...OIDC_SUPPORTED_IDENTITY_SCOPES]).join(' '),
|
|
891
|
+
// RFC 7592 §3 — both REQUIRED in a registration response that supports management. The token
|
|
892
|
+
// appears here and NOWHERE else, ever.
|
|
893
|
+
registration_access_token: registrationTokenMaterial.plainToken,
|
|
894
|
+
registration_client_uri: this.registrationClientUri(created._id),
|
|
867
895
|
}, 201);
|
|
868
896
|
}
|
|
897
|
+
/**
|
|
898
|
+
* The client configuration endpoint URL for one client — RFC 7592 §3's `registration_client_uri`.
|
|
899
|
+
*
|
|
900
|
+
* Built from the same issuer the discovery document advertises, so a client that resolved this
|
|
901
|
+
* server through discovery reaches the same origin here.
|
|
902
|
+
*/
|
|
903
|
+
registrationClientUri(clientId) {
|
|
904
|
+
const template = MANUAL_CONTROLLER_ROUTES_URLS[ManualControllerRouteKey.OAUTH_PROVIDER_REGISTER_CLIENT];
|
|
905
|
+
const issuer = this.appConfigService.resolveApiResourceAudience();
|
|
906
|
+
return `${issuer}${template.replace(':clientId', encodeURIComponent(clientId))}`;
|
|
907
|
+
}
|
|
869
908
|
/**
|
|
870
909
|
* The SINGLE seam through which every OAuth authorization RESPONSE leaves this server.
|
|
871
910
|
*
|
|
@@ -905,6 +944,318 @@ let OAuthProviderControllerBackendService = class OAuthProviderControllerBackend
|
|
|
905
944
|
this.jsonSuccess(res, { redirect_to: redirect.toString() }, 200);
|
|
906
945
|
}
|
|
907
946
|
/** RFC 7591 § 3.2.2 registration-error response: 400 + `error` / `error_description`. */
|
|
947
|
+
/* ───────────────────────────────────────────────────────────────────────────
|
|
948
|
+
* RFC 7592 — client configuration endpoint
|
|
949
|
+
* ──────────────────────────────────────────────────────────────────────── */
|
|
950
|
+
/**
|
|
951
|
+
* Authenticate a call to the client configuration endpoint, or answer and return null.
|
|
952
|
+
*
|
|
953
|
+
* Every RFC 7592 verb shares this, so the refusal ladder cannot drift between them — which is the
|
|
954
|
+
* whole reason it is a helper rather than three copies. The ladder, and why each rung is the code
|
|
955
|
+
* it is:
|
|
956
|
+
*
|
|
957
|
+
* - **404 when the application has not opted in.** Identical to `/oauth/register`: an application
|
|
958
|
+
* without dynamic registration should be indistinguishable from one whose framework never had
|
|
959
|
+
* the endpoint, so a 403 would advertise a capability one config flag away.
|
|
960
|
+
* - **401 with `WWW-Authenticate` when the Bearer token is absent or malformed.** "The client MUST
|
|
961
|
+
* use its registration access token in all calls to this endpoint as an OAuth 2.0 Bearer Token."
|
|
962
|
+
* spec-cite: RFC 7592 §2.
|
|
963
|
+
* - **401 when the client does not exist.** "If the client does not exist on this server, the
|
|
964
|
+
* server MUST respond with HTTP 401 Unauthorized and the registration access token used to make
|
|
965
|
+
* this request SHOULD be immediately revoked." spec-cite: RFC 7592 §2.1. The SHOULD is moot for
|
|
966
|
+
* us: a token for a client that does not exist has no row to revoke, so there is nothing to do.
|
|
967
|
+
* - **403 when the client exists but was not dynamically registered.** "If the client does not have
|
|
968
|
+
* permission to read its record, the server MUST return an HTTP 403 Forbidden." spec-cite: RFC
|
|
969
|
+
* 7592 §2.1. An operator- or organization-registered client is administered through the ordinary
|
|
970
|
+
* authenticated resource surface; it holds no registration access token and must not be
|
|
971
|
+
* reachable here even if one were somehow presented.
|
|
972
|
+
* - **401 when the presented token does not match.**
|
|
973
|
+
*
|
|
974
|
+
* Note the deliberate asymmetry: an unknown client is 401 and a known-but-ineligible one is 403,
|
|
975
|
+
* which is what the specification asks for even though it leaks that a client id exists. That
|
|
976
|
+
* disclosure is bounded — the caller already had to supply the id — and diverging from the
|
|
977
|
+
* specification here would break a conformant client's error handling.
|
|
978
|
+
*/
|
|
979
|
+
async authenticateClientConfiguration(req, res) {
|
|
980
|
+
if (!this.dynamicRegistrationConfiguration().enabled) {
|
|
981
|
+
res.status(404).json({ error: 'not_found' });
|
|
982
|
+
return null;
|
|
983
|
+
}
|
|
984
|
+
const header = req.headers.authorization;
|
|
985
|
+
const presented = typeof header === 'string' && header.startsWith('Bearer ')
|
|
986
|
+
? header.slice('Bearer '.length).trim()
|
|
987
|
+
: undefined;
|
|
988
|
+
if (!presented) {
|
|
989
|
+
this.sendClientConfigurationUnauthorized(res, 'a registration access token is required');
|
|
990
|
+
return null;
|
|
991
|
+
}
|
|
992
|
+
const clientId = String(req.params.clientId ?? '');
|
|
993
|
+
if (!clientId) {
|
|
994
|
+
this.sendClientConfigurationUnauthorized(res, 'unknown client');
|
|
995
|
+
return null;
|
|
996
|
+
}
|
|
997
|
+
const record = await this.systemAccess.readAsSystem(CoreResourceType.OAUTH_CLIENTS_APPLICATION, clientId).catch(() => null);
|
|
998
|
+
if (!record) {
|
|
999
|
+
this.sendClientConfigurationUnauthorized(res, 'unknown client');
|
|
1000
|
+
return null;
|
|
1001
|
+
}
|
|
1002
|
+
if (record.registrationOrigin !== OAuthClientRegistrationOrigin.DYNAMIC) {
|
|
1003
|
+
res.set('Cache-Control', 'no-store');
|
|
1004
|
+
res.status(403).json({ error: 'access_denied', error_description: 'this client is not managed through dynamic registration' });
|
|
1005
|
+
return null;
|
|
1006
|
+
}
|
|
1007
|
+
/*
|
|
1008
|
+
* A DEPROVISIONED client is not manageable, and this rung is what makes its registration access
|
|
1009
|
+
* token invalid.
|
|
1010
|
+
*
|
|
1011
|
+
* "If a client is deprovisioned from a server, any outstanding registration access token for
|
|
1012
|
+
* that client MUST be invalidated at the same time." spec-cite: RFC 7592 §5. A token that
|
|
1013
|
+
* authenticates at no endpoint is invalidated in the only sense that matters — so `DELETE` marks
|
|
1014
|
+
* the client `INACTIVE` and this refuses every later call, rather than clearing the stored hash
|
|
1015
|
+
* and losing the record of which token the client held, which an operator investigating a
|
|
1016
|
+
* deleted client wants.
|
|
1017
|
+
*/
|
|
1018
|
+
if (record.status !== OAuthClientStatus.ACTIVE) {
|
|
1019
|
+
this.sendClientConfigurationUnauthorized(res, 'invalid registration access token');
|
|
1020
|
+
return null;
|
|
1021
|
+
}
|
|
1022
|
+
const storedHash = record.registrationAccessTokenHash;
|
|
1023
|
+
// Compared through `timingSafeEqual` over the two DIGESTS: both are fixed-length hex, so the
|
|
1024
|
+
// buffers can never differ in length and the comparison cannot leak a prefix match by timing.
|
|
1025
|
+
if (!storedHash || !this.registrationTokenMatches(presented, storedHash)) {
|
|
1026
|
+
this.sendClientConfigurationUnauthorized(res, 'invalid registration access token');
|
|
1027
|
+
return null;
|
|
1028
|
+
}
|
|
1029
|
+
return { clientId, record };
|
|
1030
|
+
}
|
|
1031
|
+
/**
|
|
1032
|
+
* Constant-time comparison of a presented registration access token against the stored digest.
|
|
1033
|
+
*
|
|
1034
|
+
* Both sides are SHA-256 hex, so they are always the same length and `timingSafeEqual` cannot
|
|
1035
|
+
* throw — which is why the digests are compared rather than the raw values.
|
|
1036
|
+
*/
|
|
1037
|
+
registrationTokenMatches(presented, storedHash) {
|
|
1038
|
+
const presentedDigest = Buffer.from(hashRegistrationAccessToken(presented), 'hex');
|
|
1039
|
+
const storedDigest = Buffer.from(storedHash, 'hex');
|
|
1040
|
+
if (presentedDigest.length !== storedDigest.length || presentedDigest.length === 0)
|
|
1041
|
+
return false;
|
|
1042
|
+
return timingSafeEqual(presentedDigest, storedDigest);
|
|
1043
|
+
}
|
|
1044
|
+
/**
|
|
1045
|
+
* RFC 6750 §3 shape for every unauthenticated refusal at this endpoint.
|
|
1046
|
+
*
|
|
1047
|
+
* One description for a missing token and a wrong one, on purpose: distinguishing them tells an
|
|
1048
|
+
* unauthenticated caller which half of its guess was right.
|
|
1049
|
+
*/
|
|
1050
|
+
sendClientConfigurationUnauthorized(res, description) {
|
|
1051
|
+
res.set('Cache-Control', 'no-store');
|
|
1052
|
+
res.set('WWW-Authenticate', 'Bearer error="invalid_token"');
|
|
1053
|
+
res.status(401).json({ error: 'invalid_token', error_description: description });
|
|
1054
|
+
}
|
|
1055
|
+
/**
|
|
1056
|
+
* The client information response body — RFC 7592 §3, minus the two members §2.2 forbids a client
|
|
1057
|
+
* to send back.
|
|
1058
|
+
*
|
|
1059
|
+
* `registration_access_token` is NOT echoed on read or update. It is returned once, at
|
|
1060
|
+
* registration, and we do not rotate it: §5 permits rotation on a read or update ("MAY"), and
|
|
1061
|
+
* taking that option means a client that loses the response has silently lost management access
|
|
1062
|
+
* for good. The specification's own preference — "SHOULD NOT expire while a client is still
|
|
1063
|
+
* actively registered" — points the same way.
|
|
1064
|
+
*/
|
|
1065
|
+
clientInformationResponse(clientId, record) {
|
|
1066
|
+
return {
|
|
1067
|
+
client_id: clientId,
|
|
1068
|
+
client_name: record.name,
|
|
1069
|
+
redirect_uris: record.redirectUris ?? [],
|
|
1070
|
+
post_logout_redirect_uris: record.postLogoutRedirectUris ?? [],
|
|
1071
|
+
grant_types: record.allowedGrants ?? [],
|
|
1072
|
+
response_types: ['code'],
|
|
1073
|
+
token_endpoint_auth_method: record.tokenEndpointAuthMethod,
|
|
1074
|
+
scope: (record.allowedScopes ?? []).join(' '),
|
|
1075
|
+
registration_client_uri: this.registrationClientUri(clientId),
|
|
1076
|
+
};
|
|
1077
|
+
}
|
|
1078
|
+
/**
|
|
1079
|
+
* `GET /oauth/register/:clientId` — RFC 7592 §2.1 Client Read Request.
|
|
1080
|
+
*
|
|
1081
|
+
* "the authorization server responds with an HTTP 200 OK with content type of `application/json`".
|
|
1082
|
+
* spec-cite: RFC 7592 §2.1.
|
|
1083
|
+
*/
|
|
1084
|
+
async handleClientConfigurationRead(req, res) {
|
|
1085
|
+
const authenticated = await this.authenticateClientConfiguration(req, res);
|
|
1086
|
+
if (!authenticated)
|
|
1087
|
+
return;
|
|
1088
|
+
res.set('Cache-Control', 'no-store');
|
|
1089
|
+
this.jsonSuccess(res, this.clientInformationResponse(authenticated.clientId, authenticated.record), 200);
|
|
1090
|
+
}
|
|
1091
|
+
/**
|
|
1092
|
+
* `PUT /oauth/register/:clientId` — RFC 7592 §2.2 Client Update Request.
|
|
1093
|
+
*
|
|
1094
|
+
* **Full replacement, not a patch, and that is the specification's choice rather than ours:** "This
|
|
1095
|
+
* request MUST include all client metadata fields as returned to the client from a previous
|
|
1096
|
+
* registration, read, or update operation" and "Omitted fields MUST be treated as null or empty
|
|
1097
|
+
* values by the server, indicating the client's request to delete them from the client's
|
|
1098
|
+
* registration." spec-cite: RFC 7592 §2.2.
|
|
1099
|
+
*
|
|
1100
|
+
* So a client that sends only the field it wants to change DELETES everything else. That is
|
|
1101
|
+
* surprising, it is what the specification requires, and it is why `redirect_uris` is re-validated
|
|
1102
|
+
* on every update rather than assumed still present.
|
|
1103
|
+
*
|
|
1104
|
+
* Every confinement the registration endpoint applies is re-applied here, in the same order. A
|
|
1105
|
+
* client that could widen its scopes, add a grant or change its auth method through an update
|
|
1106
|
+
* would have found a way around the registration confinements by taking one extra step.
|
|
1107
|
+
*/
|
|
1108
|
+
async handleClientConfigurationUpdate(req, res) {
|
|
1109
|
+
const authenticated = await this.authenticateClientConfiguration(req, res);
|
|
1110
|
+
if (!authenticated)
|
|
1111
|
+
return;
|
|
1112
|
+
const { clientId, record } = authenticated;
|
|
1113
|
+
const body = (req.body ?? {});
|
|
1114
|
+
// "The client MUST include its `client_id` field in the request, and it MUST be the same as its
|
|
1115
|
+
// currently issued client identifier." spec-cite: RFC 7592 §2.2. A mismatch is the client
|
|
1116
|
+
// addressing one registration and describing another, which is a client bug worth naming.
|
|
1117
|
+
if (body.client_id !== clientId) {
|
|
1118
|
+
this.sendRegistrationError(res, 'invalid_client_metadata', 'client_id must be present and must match the client being updated');
|
|
1119
|
+
return;
|
|
1120
|
+
}
|
|
1121
|
+
// "The updated client metadata fields request MUST NOT include the `registration_access_token`,
|
|
1122
|
+
// `registration_client_uri`, `client_secret_expires_at`, or `client_id_issued_at` fields."
|
|
1123
|
+
// spec-cite: RFC 7592 §2.2. Refused rather than ignored: a client sending one has misunderstood
|
|
1124
|
+
// the contract, and silently dropping it would leave it believing it had rotated its own token.
|
|
1125
|
+
const forbidden = ['registration_access_token', 'registration_client_uri', 'client_secret_expires_at', 'client_id_issued_at']
|
|
1126
|
+
.find((field) => body[field] !== undefined);
|
|
1127
|
+
if (forbidden) {
|
|
1128
|
+
this.sendRegistrationError(res, 'invalid_client_metadata', `${forbidden} must not be included in an update request`);
|
|
1129
|
+
return;
|
|
1130
|
+
}
|
|
1131
|
+
// "If the client includes the `client_secret` field in the request, the value of this field MUST
|
|
1132
|
+
// match the currently issued client secret for that client. The client MUST NOT be allowed to
|
|
1133
|
+
// overwrite its existing client secret with its own chosen value." spec-cite: RFC 7592 §2.2.
|
|
1134
|
+
// A dynamically registered client is PUBLIC and never received a secret, so any value it sends
|
|
1135
|
+
// cannot match one — refuse rather than compare against a secret it does not have.
|
|
1136
|
+
if (body.client_secret !== undefined) {
|
|
1137
|
+
this.sendRegistrationError(res, 'invalid_client_metadata', 'this client has no client secret to confirm');
|
|
1138
|
+
return;
|
|
1139
|
+
}
|
|
1140
|
+
const redirectUris = body.redirect_uris;
|
|
1141
|
+
if (!Array.isArray(redirectUris) || redirectUris.length === 0 || !redirectUris.every((uri) => typeof uri === 'string')) {
|
|
1142
|
+
this.sendRegistrationError(res, 'invalid_redirect_uri', 'redirect_uris must be a non-empty array of strings');
|
|
1143
|
+
return;
|
|
1144
|
+
}
|
|
1145
|
+
const unsafe = redirectUris.find((uri) => !isSafeOAuthRedirectUri(uri));
|
|
1146
|
+
if (unsafe) {
|
|
1147
|
+
this.sendRegistrationError(res, 'invalid_redirect_uri', `redirect_uri is not permitted: ${unsafe}`);
|
|
1148
|
+
return;
|
|
1149
|
+
}
|
|
1150
|
+
// Omitted ⇒ emptied, per §2.2. That is the whole reason this reads as a replacement.
|
|
1151
|
+
let postLogoutRedirectUris = [];
|
|
1152
|
+
if (body.post_logout_redirect_uris !== undefined) {
|
|
1153
|
+
if (!Array.isArray(body.post_logout_redirect_uris) || !body.post_logout_redirect_uris.every((uri) => typeof uri === 'string')) {
|
|
1154
|
+
this.sendRegistrationError(res, 'invalid_client_metadata', 'post_logout_redirect_uris must be an array of strings');
|
|
1155
|
+
return;
|
|
1156
|
+
}
|
|
1157
|
+
const unsafePostLogout = body.post_logout_redirect_uris.find((uri) => !isSafeOAuthRedirectUri(uri));
|
|
1158
|
+
if (unsafePostLogout) {
|
|
1159
|
+
this.sendRegistrationError(res, 'invalid_client_metadata', `post_logout_redirect_uri is not permitted: ${unsafePostLogout}`);
|
|
1160
|
+
return;
|
|
1161
|
+
}
|
|
1162
|
+
postLogoutRedirectUris = body.post_logout_redirect_uris;
|
|
1163
|
+
}
|
|
1164
|
+
const clientName = typeof body.client_name === 'string' && body.client_name.trim().length > 0
|
|
1165
|
+
? body.client_name.trim().slice(0, 100)
|
|
1166
|
+
: undefined;
|
|
1167
|
+
if (!clientName) {
|
|
1168
|
+
this.sendRegistrationError(res, 'invalid_client_metadata', 'client_name is required');
|
|
1169
|
+
return;
|
|
1170
|
+
}
|
|
1171
|
+
// The registration confinements, re-applied. See `handleDynamicRegistration` for why each one
|
|
1172
|
+
// refuses rather than downgrades; the reasoning is identical and is not repeated here.
|
|
1173
|
+
if (body.roles !== undefined) {
|
|
1174
|
+
this.sendRegistrationError(res, 'invalid_client_metadata', 'roles cannot be requested at dynamic registration');
|
|
1175
|
+
return;
|
|
1176
|
+
}
|
|
1177
|
+
const requestedScopes = typeof body.scope === 'string' ? body.scope.split(/\s+/).filter(Boolean) : [];
|
|
1178
|
+
const beyondIdentity = requestedScopes.filter((scope) => !OIDC_SUPPORTED_IDENTITY_SCOPES.includes(scope));
|
|
1179
|
+
if (beyondIdentity.length > 0) {
|
|
1180
|
+
this.sendRegistrationError(res, 'invalid_client_metadata', `scope(s) not available to a dynamically registered client: ${beyondIdentity.join(', ')}`);
|
|
1181
|
+
return;
|
|
1182
|
+
}
|
|
1183
|
+
const requestedGrants = Array.isArray(body.grant_types) ? body.grant_types : [OAuthGrantType.AUTHORIZATION_CODE];
|
|
1184
|
+
const forbiddenGrant = requestedGrants.find((grant) => grant !== OAuthGrantType.AUTHORIZATION_CODE && grant !== OAuthGrantType.REFRESH_TOKEN);
|
|
1185
|
+
if (forbiddenGrant) {
|
|
1186
|
+
this.sendRegistrationError(res, 'invalid_client_metadata', `grant_type not available to a dynamically registered client: ${String(forbiddenGrant)}`);
|
|
1187
|
+
return;
|
|
1188
|
+
}
|
|
1189
|
+
const requestedAuthMethod = body.token_endpoint_auth_method;
|
|
1190
|
+
if (requestedAuthMethod !== undefined && requestedAuthMethod !== OAuthTokenEndpointAuthMethod.NONE) {
|
|
1191
|
+
this.sendRegistrationError(res, 'invalid_client_metadata', 'only token_endpoint_auth_method=none is available to a dynamically registered client');
|
|
1192
|
+
return;
|
|
1193
|
+
}
|
|
1194
|
+
const updated = await this.systemAccess.updateAsSystem(CoreResourceType.OAUTH_CLIENTS_APPLICATION, clientId, {
|
|
1195
|
+
name: clientName,
|
|
1196
|
+
redirectUris,
|
|
1197
|
+
postLogoutRedirectUris,
|
|
1198
|
+
allowedScopes: requestedScopes.length > 0 ? requestedScopes : [...OIDC_SUPPORTED_IDENTITY_SCOPES],
|
|
1199
|
+
});
|
|
1200
|
+
if (!updated) {
|
|
1201
|
+
this.sendClientConfigurationUnauthorized(res, 'unknown client');
|
|
1202
|
+
return;
|
|
1203
|
+
}
|
|
1204
|
+
// assurance-control: WILDO.IDENTITY.CLIENT_IDENTITY_ASSERTION — a self-registered client changed
|
|
1205
|
+
// its own registration. Same standing as the registration itself, so the same audit concern:
|
|
1206
|
+
// `redirect_uris` is where a client's authorization responses are delivered, and an update is the
|
|
1207
|
+
// one way that set moves after registration.
|
|
1208
|
+
void this.auditLogs.logDynamicClientRegistered({
|
|
1209
|
+
clientId,
|
|
1210
|
+
clientName,
|
|
1211
|
+
redirectUris,
|
|
1212
|
+
postLogoutRedirectUris,
|
|
1213
|
+
ipAddress: getClientIpFromRequest(req),
|
|
1214
|
+
}).catch((auditError) => this.logger.warn('DYNAMIC_CLIENT_REGISTERED audit emit failed on update (non-fatal)', {
|
|
1215
|
+
...projectCaughtErrorLogFields(auditError),
|
|
1216
|
+
}));
|
|
1217
|
+
res.set('Cache-Control', 'no-store');
|
|
1218
|
+
this.jsonSuccess(res, this.clientInformationResponse(clientId, { ...record, ...updated }), 200);
|
|
1219
|
+
}
|
|
1220
|
+
/**
|
|
1221
|
+
* `DELETE /oauth/register/:clientId` — RFC 7592 §2.3 Client Delete Request.
|
|
1222
|
+
*
|
|
1223
|
+
* "If a client has been successfully deprovisioned, the authorization server MUST respond with an
|
|
1224
|
+
* HTTP 204 No Content message." spec-cite: RFC 7592 §2.3.
|
|
1225
|
+
*
|
|
1226
|
+
* **Deprovisioned by STATUS, not by removing the row**, and the row is what makes that sound: every
|
|
1227
|
+
* client-resolution path in this server refuses a non-`ACTIVE` client, so `INACTIVE` is
|
|
1228
|
+
* indistinguishable from absent to any protocol caller — while the row survives for the audit
|
|
1229
|
+
* trail, which is the thing an operator investigating a deleted client actually needs.
|
|
1230
|
+
*
|
|
1231
|
+
* The registration access token is invalidated by the same write, though not by being erased:
|
|
1232
|
+
* `authenticateClientConfiguration` refuses a non-`ACTIVE` client before it ever compares a token,
|
|
1233
|
+
* so the token authenticates nowhere from this moment. "If a client is deprovisioned from a server,
|
|
1234
|
+
* any outstanding registration access token for that client MUST be invalidated at the same time."
|
|
1235
|
+
* spec-cite: RFC 7592 §5. Keeping the digest on the row costs nothing and preserves the record of
|
|
1236
|
+
* which token the client held, which an operator investigating a deleted client wants.
|
|
1237
|
+
*
|
|
1238
|
+
* **NOT DONE, and stated rather than implied:** "If possible, the authorization server SHOULD
|
|
1239
|
+
* immediately invalidate all existing authorization grants and currently active access tokens, all
|
|
1240
|
+
* refresh tokens, and all other tokens associated with this client." spec-cite: RFC 7592 §2.3.
|
|
1241
|
+
* Already-issued access tokens keep working until they expire. Reaching them means driving the
|
|
1242
|
+
* revocation machinery over every token minted for this client, which is a larger change than this
|
|
1243
|
+
* endpoint; the client cannot obtain NEW tokens the moment this returns, because the token endpoint
|
|
1244
|
+
* resolves the client and refuses it.
|
|
1245
|
+
*/
|
|
1246
|
+
async handleClientConfigurationDelete(req, res) {
|
|
1247
|
+
const authenticated = await this.authenticateClientConfiguration(req, res);
|
|
1248
|
+
if (!authenticated)
|
|
1249
|
+
return;
|
|
1250
|
+
const { clientId } = authenticated;
|
|
1251
|
+
const deprovisioned = await this.systemAccess.updateAsSystem(CoreResourceType.OAUTH_CLIENTS_APPLICATION, clientId, { status: OAuthClientStatus.INACTIVE });
|
|
1252
|
+
if (!deprovisioned) {
|
|
1253
|
+
this.sendClientConfigurationUnauthorized(res, 'unknown client');
|
|
1254
|
+
return;
|
|
1255
|
+
}
|
|
1256
|
+
res.set('Cache-Control', 'no-store');
|
|
1257
|
+
res.status(204).send();
|
|
1258
|
+
}
|
|
908
1259
|
sendRegistrationError(res, error, description) {
|
|
909
1260
|
res.set('Cache-Control', 'no-store');
|
|
910
1261
|
res.status(400).json({ error, error_description: description });
|