@wildo-ai/saas-backend-lib 1.1.2 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/__tests__/fixture-deep-partial.d.ts.map +1 -1
- package/dist/esm/__tests__/integration/redis-integration-gate.d.ts.map +1 -1
- package/dist/esm/__tests__/setup.d.ts.map +1 -1
- package/dist/esm/__tests__/test-container.d.ts.map +1 -1
- package/dist/esm/applications/models/applications.backend.schemas.d.ts.map +1 -1
- package/dist/esm/applications/seeds/application-metadata-defaults.seeds.d.ts.map +1 -1
- package/dist/esm/applications/services/worker-remote-client-factory.backend.service.d.ts.map +1 -1
- package/dist/esm/applications/services/worker-remote-client-factory.backend.service.js +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/models/repositories.backend.schemas.d.ts.map +1 -1
- package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.d.ts +1 -1
- package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/batches-cronjobs-custom-execution.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/batches-cronjobs-executor.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/batches-cronjobs-resource-execution.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts +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 +210 -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/batches/resource-retention-sweep.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/suspension-reactivation-sweep.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/abstract-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js +27 -6
- package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/controllers/utils/audit-access-fields.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/utils/operation-response-serializer.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/validate-field-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/__tests__/method-span-scan.guard-helpers.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/__tests__/mock-repositories-registry-handler.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-filter-translation.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts +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 +220 -25
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-query.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts +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 +191 -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-row-projection.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-subject-erasure-effect.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts +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/http-api/odata-query-compiler.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/odoo-jsonrpc-compiler.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/rest-json-query-compiler.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js +9 -1
- package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts +106 -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 +266 -20
- 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-guarded-mutation.backend.types.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts +5 -2
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js +34 -3
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/repository-version-metadata.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/resource-write-integrity.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.d.ts +72 -0
- package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.d.ts.map +1 -0
- package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.js +88 -0
- package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.js.map +1 -0
- package/dist/esm/base-classes/services/repositories/unique-constraint-conflict-reference.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/resource-operations-helper.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/__tests__/mock-services-registry-handler.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/__tests__/mock-system-access.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/read-only-field-change.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-audit-emission.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts +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-operation-custom-implementation-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-server-injected-fields.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-transaction-persistence.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js +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 +571 -45
- 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/base-classes/utils/backend-type-utils.d.ts.map +1 -1
- package/dist/esm/base-classes/utils/single-subject-addressing.backend.utils.d.ts.map +1 -1
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts +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/abstract-billing.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/billing-feature-sync.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts +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 +475 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js.map +1 -0
- package/dist/esm/billing/services/back-office/billing-state.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/billing-state.backend.service.js +11 -1
- package/dist/esm/billing/services/back-office/billing-state.backend.service.js.map +1 -1
- package/dist/esm/billing/services/back-office/billing-subject-erasure-effect.backend.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts +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/billing.utils.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js +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 +70 -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 +98 -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/credit-pool.custom-ops.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts +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 +21 -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 +109 -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-adapter.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/webhooks/billing-webhook-capability-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts +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 +310 -29
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js.map +1 -1
- package/dist/esm/billing/testing/billing-test-fixtures.d.ts.map +1 -1
- package/dist/esm/billing/testing/mock-billing-provider.d.ts +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/charts/controllers/chart.backend.controller.d.ts.map +1 -1
- package/dist/esm/charts/services/chart-registry.backend.service.d.ts +80 -7
- package/dist/esm/charts/services/chart-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/charts/services/chart-registry.backend.service.js +115 -8
- package/dist/esm/charts/services/chart-registry.backend.service.js.map +1 -1
- package/dist/esm/companion-exports.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-logs.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js +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/batches/immudb-audit-reconcile.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/batches/siem-webhook-delivery.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/__tests__/mock-audit-logs.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts +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 +350 -10
- 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 +562 -10
- 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 +52 -0
- package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/ocsf-class-mapping.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/siem-dictionary.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/siem-ocsf-projection.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/siem-projection-contract.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/utils/audit-actor.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/utils/layer2-audit-provider-boot-diagnostic.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/index.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/retention-hide-predicate.backend.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/services/subject-erasure-external-effects.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/services/subject-session-revocation.backend.service.d.ts.map +1 -1
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts +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/bootstrap/minion-initialization-projection.backend.d.ts.map +1 -1
- package/dist/esm/config/bootstrap/runtime-principal-attestation.backend.service.d.ts.map +1 -1
- package/dist/esm/config/bootstrap/runtime-principal-attestation.backend.service.js +3 -0
- package/dist/esm/config/bootstrap/runtime-principal-attestation.backend.service.js.map +1 -1
- package/dist/esm/config/bootstrap/runtime-principal.backend.service.d.ts.map +1 -1
- package/dist/esm/config/custom/application-config-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/config/models/app-config-secrets.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/app-config.backend-authored.definitions.d.ts.map +1 -1
- package/dist/esm/config/models/app-config.backend.schemas.d.ts +145 -49
- 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/app-env-config.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/apps-manager-transport.backend.definitions.d.ts +36 -0
- package/dist/esm/config/models/apps-manager-transport.backend.definitions.d.ts.map +1 -0
- package/dist/esm/config/models/apps-manager-transport.backend.definitions.js +36 -0
- package/dist/esm/config/models/apps-manager-transport.backend.definitions.js.map +1 -0
- package/dist/esm/config/models/config-mutation-boundary.utils.d.ts.map +1 -1
- package/dist/esm/config/models/postgresql-env-config.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts +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/models/runtime-topology.backend.contracts.d.ts.map +1 -1
- package/dist/esm/config/services/__tests__/mock-app-configuration.service.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts +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 +71 -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 +37 -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 +69 -1
- package/dist/esm/config/services/application-startup-config-validator.backend.service.js.map +1 -1
- package/dist/esm/data-seeding/batches/data-seeding-run-cleanup.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/batches/data-seeding-scheduled-rerun.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/controllers/data-seeding-admin.backend.contracts.d.ts.map +1 -1
- package/dist/esm/data-seeding/controllers/data-seeding-admin.backend.controller.d.ts.map +1 -1
- package/dist/esm/data-seeding/data-seeding-models.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/business-key-resolver.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-execution-context.shared.types.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-migrator-runner.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-reconciler.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-row-metadata.shared.schemas.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-row-metadata.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-run.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-run.shared.schemas.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-trigger-mode-matrix.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed.shared.schemas.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/data-seed-application-bootstrap.backend.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/data-seed-dispatcher.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/data-seed-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/data-seed-scope-resolver-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/engines/additive-seed-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/engines/lazy-seed-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/engines/manual-seed-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/engines/sync-seed-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/engines/upgrade-seed-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-business-key.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-error.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-run-counters.shared.types.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-run-ledger.backend.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-scope-anchor.shared.types.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-scope-resolution.backend.d.ts.map +1 -1
- package/dist/esm/databases/models/aggregation.backend.schemas.d.ts.map +1 -1
- package/dist/esm/databases/models/databases.backend.schemas.d.ts.map +1 -1
- package/dist/esm/databases/models/filter.backend.schemas.d.ts.map +1 -1
- package/dist/esm/databases/models/resolve-persistence-adapter.backend.utils.d.ts.map +1 -1
- package/dist/esm/databases/models/sql.backend.schemas.d.ts.map +1 -1
- package/dist/esm/databases/models/transaction.shared.schemas.d.ts.map +1 -1
- package/dist/esm/databases/services/__tests__/mock-mongo-transaction-registry.service.d.ts.map +1 -1
- package/dist/esm/databases/services/__tests__/mock-mongodb.service.d.ts.map +1 -1
- package/dist/esm/databases/services/__tests__/mock-mongoose-model.service.d.ts.map +1 -1
- package/dist/esm/databases/services/__tests__/mock-redis.service.d.ts.map +1 -1
- package/dist/esm/databases/services/__tests__/mock-zod-mongoose-schema-convertor.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/aggregation-query.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/computed-measure-evaluator.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/field-access-validator.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/time-series-densifier.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/topn-processor.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/window-function-processor.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/db-utils.d.ts.map +1 -1
- package/dist/esm/databases/services/mongo-aggregation.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/mongodb.service.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-aggregation.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-database.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-development-provisioning.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-filter.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-migration-runner.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-ddl.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-migration-sql.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js +48 -0
- package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-plan-lockfile.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/redis.service.d.ts.map +1 -1
- package/dist/esm/databases/services/resource-persistence-unit-of-work.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/schema-planning-standalone.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/zod-to-mongoose-schema-convertor.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/zod-to-sql-hybrid-schema.planner.d.ts.map +1 -1
- package/dist/esm/databases/utils/postgresql-identifier.backend.utils.d.ts.map +1 -1
- package/dist/esm/errors/services/__tests__/mock-error-builder.service.d.ts.map +1 -1
- package/dist/esm/errors/services/error-builder.backend.service.d.ts +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/batches/external-data-pipeline-scheduled-run.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.d.ts.map +1 -1
- package/dist/esm/external-data/controllers/external-data-admin.backend.controller.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-extraction-source.backend.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-models.exports.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts +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-data/external-data-transform.backend.d.ts.map +1 -1
- package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/models/external-providers.backend.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts +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 +306 -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 +379 -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 +235 -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 +81 -34
- package/dist/esm/external-providers/services/document-extraction.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/document-extraction.backend.service.js +181 -100
- 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-api-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts +413 -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 +684 -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 +15 -1
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js +84 -5
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js.map +1 -1
- package/dist/esm/features/controllers/features.backend.controller.d.ts.map +1 -1
- package/dist/esm/features/services/__tests__/mock-feature-definition-registry.service.d.ts.map +1 -1
- package/dist/esm/features/services/__tests__/mock-feature-resolution.service.d.ts.map +1 -1
- package/dist/esm/features/services/application-features-admin-write-path.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/features/services/feature-definition-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/features/services/feature-gate.backend.service.d.ts.map +1 -1
- package/dist/esm/features/services/feature-resolution.backend.service.d.ts.map +1 -1
- package/dist/esm/features/services/organization-features-admin-write-path.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/features/services/scope-feature-ledger-relationship.backend.utils.d.ts.map +1 -1
- package/dist/esm/features/services/scope-features-cache-invalidation.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/features/testing/feature-test-utils.d.ts.map +1 -1
- package/dist/esm/files/batches/files-cleanup.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/files/constraints/file-analyzers.types.d.ts.map +1 -1
- package/dist/esm/files/constraints/file-constraint-resolver-chain.backend.service.d.ts.map +1 -1
- package/dist/esm/files/constraints/file-constraint.types.d.ts.map +1 -1
- package/dist/esm/files/constraints/file-validation.backend.service.d.ts.map +1 -1
- package/dist/esm/files/constraints/resource-field-constraint-resolver.backend.service.d.ts.map +1 -1
- package/dist/esm/files/controllers/file.controller.d.ts.map +1 -1
- package/dist/esm/files/controllers/file.controller.js +21 -13
- package/dist/esm/files/controllers/file.controller.js.map +1 -1
- package/dist/esm/files/handlers/file-upload-route-locals.backend.types.d.ts.map +1 -1
- package/dist/esm/files/handlers/file-upload-route-locals.backend.types.js.map +1 -1
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts +37 -0
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js +260 -36
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js.map +1 -1
- package/dist/esm/files/scanning/clamav-scanner.backend.service.d.ts.map +1 -1
- package/dist/esm/files/scanning/file-scan.types.d.ts.map +1 -1
- package/dist/esm/files/scanning/yara-scanner.backend.service.d.ts.map +1 -1
- package/dist/esm/files/scanning/yara-scanner.backend.service.js +20 -2
- package/dist/esm/files/scanning/yara-scanner.backend.service.js.map +1 -1
- package/dist/esm/files/services/__tests__/mock-file-field-detection.service.d.ts.map +1 -1
- package/dist/esm/files/services/__tests__/mock-file-operation-handler.service.d.ts.map +1 -1
- package/dist/esm/files/services/__tests__/mock-file-repository.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-field-detection.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-operation-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-operation-handler.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-population.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-scanning.backend.service.d.ts +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 +202 -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 +175 -13
- 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 +177 -5
- package/dist/esm/files/services/files.backend.service.js.map +1 -1
- package/dist/esm/files/services/rag-source-field-detection.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts +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-path-resolver.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/file-storage-provider.types.d.ts +52 -11
- package/dist/esm/files/storage/file-storage-provider.types.d.ts.map +1 -1
- package/dist/esm/files/storage/file-storage-provider.types.js.map +1 -1
- package/dist/esm/files/storage/file-storage-router.backend.service.d.ts +21 -3
- package/dist/esm/files/storage/file-storage-router.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/file-storage-router.backend.service.js +38 -5
- package/dist/esm/files/storage/file-storage-router.backend.service.js.map +1 -1
- package/dist/esm/files/storage/google-drive-storage-provider.backend.service.d.ts +87 -0
- package/dist/esm/files/storage/google-drive-storage-provider.backend.service.d.ts.map +1 -0
- package/dist/esm/files/storage/google-drive-storage-provider.backend.service.js +340 -0
- package/dist/esm/files/storage/google-drive-storage-provider.backend.service.js.map +1 -0
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts +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/storage-credential-provider.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/storage/storage-platform-sts-credential-resolver.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/storage/storage-sts-credential-resolver.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/storage/storage-sts-credential-resolver.backend.utils.js +10 -3
- package/dist/esm/files/storage/storage-sts-credential-resolver.backend.utils.js.map +1 -1
- package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js +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/file-upload.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/file-uploader.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/file-uploader.utils.js.map +1 -1
- package/dist/esm/files/utils/file-validation.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/image-derivation.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/image-thumbnail.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts +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/files/utils/rag-source-field-schema-path.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/storage-application-identity.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts +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/batches/a2a-push-delivery.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/controllers/a2a.controller.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js +6 -1
- package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a-dialect.backend.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a-push-notification-delivery.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a-push-notification.backend.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts +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-push-delivery-log.repository.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-push-dispatcher.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts +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/controllers/flows-actors.controller.d.ts.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/agent-facets.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/agents.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts +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.definitions.d.ts.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 +179 -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 +436 -34
- 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/__tests__/fixtures/meta-workflow-evaluation-treatment.test-fixture.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/actors-system.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/actors-system.backend.service.js +0 -2
- package/dist/esm/flows-actors/services/actors-system.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/agent-call-trace-sink.backend.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/agent-facets.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/agents.backend.service.d.ts +132 -6
- package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/agents.backend.service.js +467 -49
- package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/context-curation.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts +50 -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 +270 -20
- 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 +371 -0
- package/dist/esm/flows-actors/services/mcp-client.backend.service.js.map +1 -0
- package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.d.ts +99 -0
- package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.d.ts.map +1 -0
- package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.js +155 -0
- package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.js.map +1 -0
- package/dist/esm/flows-actors/services/meta-workflow-evaluation-treatment-compiler.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/meta-workflow-standard-action-contracts.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/meta-workflow-standard-evaluation-contracts.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/meta-workflow-structured-artifact-action-compiler.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts +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 +17 -4
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js.map +1 -1
- package/dist/esm/flows-actors/utils/bounded-subprocess.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/flows-actors-frontend-extractor.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts +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/flows-actors/utils/prompt-ir-adapters.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.d.ts +77 -0
- package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.d.ts.map +1 -0
- package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.js +164 -0
- package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.js.map +1 -0
- package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.d.ts +48 -0
- package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.d.ts.map +1 -0
- package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.js +101 -0
- package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.js.map +1 -0
- package/dist/esm/guidance/batches/dormancy-detection.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/guidance-trigger-evaluator.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/lifecycle-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/guidance/services/lifecycle-evaluator.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/lifecycle-scope-id.backend.utils.d.ts.map +1 -1
- package/dist/esm/guidance/services/milestone-condition-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/milestone-definition-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts +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/guidance/services/scoped-state-read-custom-implementations.backend.d.ts.map +1 -1
- 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/i18n/services/i18n.backend.service.d.ts.map +1 -1
- package/dist/esm/index.d.ts +11 -5
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +31 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/inject/models/container.d.ts +10 -0
- package/dist/esm/inject/models/container.d.ts.map +1 -1
- package/dist/esm/inject/models/container.js +126 -10
- package/dist/esm/inject/models/container.js.map +1 -1
- package/dist/esm/inject/models/service-types.d.ts +20 -3
- package/dist/esm/inject/models/service-types.d.ts.map +1 -1
- package/dist/esm/inject/models/service-types.js +22 -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 +70 -3
- package/dist/esm/mcp/controllers/mcp.controller.js.map +1 -1
- package/dist/esm/mcp/models/mcp-protocol.backend.schemas.d.ts.map +1 -1
- package/dist/esm/mcp/models/mcp-tool.backend.schemas.d.ts.map +1 -1
- package/dist/esm/mcp/models/mcp-tool.backend.schemas.js.map +1 -1
- package/dist/esm/mcp/services/mcp-server.backend.service.d.ts +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/mcp/services/resource-server-instances-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/mcp/utils/zod-to-mcp-json-schema.backend.utils.d.ts.map +1 -1
- package/dist/esm/meta-workflow-runtime.exports.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js +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/__tests__/mock-logger.service.d.ts.map +1 -1
- package/dist/esm/monitoring/logger/services/logger.service.d.ts +24 -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/logger/utils/log-value-normalization.backend.utils.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts +313 -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 +389 -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/otel-preload.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/otel-sdk-global-handle.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/services/__tests__/mock-metrics.service.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/services/metrics.service.d.ts +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/monitoring/observability/services/observability.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/components/email-components.d.ts.map +1 -1
- package/dist/esm/notifications/email/models/email-template-definition.d.ts.map +1 -1
- package/dist/esm/notifications/email/models/email-transport.backend.definitions.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email-batch-send.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts +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-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 +102 -5
- package/dist/esm/notifications/email/services/email.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email.backend.service.js +222 -70
- 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/email/utils/interpolate-email-label.utils.d.ts.map +1 -1
- package/dist/esm/notifications/email/utils/zod-to-typescript.utils.d.ts.map +1 -1
- package/dist/esm/notifications/services/notification-badge.backend.service.d.ts +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/models/sms-transport.backend.definitions.d.ts +32 -0
- package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.d.ts.map +1 -0
- package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.js +32 -0
- package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.js.map +1 -0
- package/dist/esm/notifications/sms/services/sms.backend.service.d.ts +64 -10
- package/dist/esm/notifications/sms/services/sms.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/sms/services/sms.backend.service.js +277 -82
- package/dist/esm/notifications/sms/services/sms.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts +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/batches/m2m-webhook-delivery.batch.utils.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js +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/m2m-webhook-delivery-log.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.repository.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-dispatcher.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-public-key.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js +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/outbound/services/webhook-config.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/services/polymorphic-lookup.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts +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-member-invitation-sweep.batch.backend.service.d.ts.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.d.ts.map +1 -1
- 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/authority-change-audit.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/invitation-acceptance.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/org-creation-on-registration.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/org-member-roles-validation.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js +63 -2
- package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js.map +1 -1
- package/dist/esm/organizations/services/organization-deletion-audit.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-member-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-onboarding-operation.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-unit-member-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/scim-provisioning-gate.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/user-org-type-grant.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/user-type-revocation-on-org-leave.backend.utils.d.ts.map +1 -1
- package/dist/esm/pdf-templates/__tests__/fixtures/tiny-pdf-template.fixture.d.ts.map +1 -1
- package/dist/esm/pdf-templates/models/pdf-template-binding.d.ts.map +1 -1
- package/dist/esm/pdf-templates/models/pdf-template-definition.d.ts.map +1 -1
- package/dist/esm/pdf-templates/services/pdf-generated-file-writer.backend.service.d.ts.map +1 -1
- package/dist/esm/pdf-templates/services/pdf-generation-orchestrator.backend.service.d.ts.map +1 -1
- package/dist/esm/pdf-templates/services/pdf-renderer.backend.service.d.ts.map +1 -1
- package/dist/esm/pdf-templates/services/pdf-template-binding.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts +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/apps-crontabs-manager.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/cron-job-sync.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts +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-completion-registry.backend.service.d.ts.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/job-payload-storage.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/job-status-tracking.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue-monitoring.backend.service.d.ts +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/scheduled-message-verifier.backend.service.d.ts.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/batches/rag-embedding-drain.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/batches/rag-reconciliation-sweep.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/models/rag-chunk-store.backend.types.d.ts.map +1 -1
- package/dist/esm/rag/models/rag-retrieval.backend.types.d.ts.map +1 -1
- package/dist/esm/rag/services/mongodb-rag-chunk-store.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/services/postgresql-rag-chunk-store.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-chunk-collection.mongodb-ddl.backend.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-chunk-retrieval.mongodb-query.backend.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-chunk-retrieval.postgresql-query.backend.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-chunk-store.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-chunk-table.postgresql-ddl.backend.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-ingestion.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-retrieval.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-chunk-fusion.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-chunk-removal.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-chunk-row-shaping.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts +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/rag/utils/rag-ingestion-trigger.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-retrieval-scope.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-source-field-value.backend.utils.d.ts.map +1 -1
- package/dist/esm/requests/models/api-routes.backend.defintions.d.ts.map +1 -1
- package/dist/esm/requests/models/requests.backend.schemas.d.ts.map +1 -1
- package/dist/esm/requests/service/platform-mutualized-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/requests/service/platform-requests.backend.utils.d.ts.map +1 -1
- package/dist/esm/requests/service/remote-client-base.backend.service.d.ts.map +1 -1
- package/dist/esm/requests/service/serverless-services-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/requests/service/websocket.service.d.ts +9 -0
- package/dist/esm/requests/service/websocket.service.d.ts.map +1 -1
- package/dist/esm/requests/service/websocket.service.js +81 -9
- package/dist/esm/requests/service/websocket.service.js.map +1 -1
- package/dist/esm/resources/backend-resource-registry.exports.d.ts.map +1 -1
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.d.ts.map +1 -1
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.js +16 -2
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.js.map +1 -1
- package/dist/esm/resources/models/index.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-operations.backend.definitions.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-operations.backend.definitions.js +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/models/resources.backend.schemas.d.ts.map +1 -1
- package/dist/esm/resources/models/virtual-fields.backend.types.d.ts.map +1 -1
- package/dist/esm/resources/services/__tests__/mock-resources-registry.service.d.ts.map +1 -1
- package/dist/esm/resources/services/resource-context.backend.service.d.ts.map +1 -1
- package/dist/esm/resources/services/resource-id.backend.service.d.ts.map +1 -1
- package/dist/esm/resources/services/resource-population.backend.service.d.ts +17 -2
- package/dist/esm/resources/services/resource-population.backend.service.d.ts.map +1 -1
- package/dist/esm/resources/services/resource-population.backend.service.js +74 -18
- package/dist/esm/resources/services/resource-population.backend.service.js.map +1 -1
- package/dist/esm/resources/services/resources-registry.backend.service.d.ts +83 -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 +121 -6
- package/dist/esm/resources/services/resources-registry.backend.service.js.map +1 -1
- package/dist/esm/resources/services/virtual-fields.backend.service.d.ts.map +1 -1
- package/dist/esm/resources/utils/resource-retention.backend.utils.d.ts.map +1 -1
- package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts +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/models/execution-context.backend.schemas.d.ts.map +1 -1
- package/dist/esm/runtime/models/request-context.als.backend.d.ts.map +1 -1
- package/dist/esm/runtime/models/runtime.backend.schemas.d.ts.map +1 -1
- package/dist/esm/runtime/services/execution-context-creator.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/execution-context-creator.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/execution-context-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts +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 +191 -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 +287 -89
- package/dist/esm/runtime/services/start-application.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/utils/oauth-body-cap.backend.utils.d.ts.map +1 -1
- package/dist/esm/runtime/testing/execution-context-test-fixtures.d.ts.map +1 -1
- package/dist/esm/runtime/testing/mock-execution-context-creator.service.d.ts.map +1 -1
- package/dist/esm/runtime/utils/application-startup-config-access.backend.utils.d.ts.map +1 -1
- package/dist/esm/runtime/utils/feature-gated-core-resource-exclusions.backend.utils.d.ts.map +1 -1
- package/dist/esm/runtime/utils/request-client-ip.utils.d.ts.map +1 -1
- package/dist/esm/runtime/utils/scan-default-exports.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-key-generation.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts +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/auth-method-management-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts +22 -0
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js +113 -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/auth-constants.backend.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/authentications.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/authorization-client.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts +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/federated-auth-transport.backend.definitions.d.ts +37 -0
- package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.d.ts.map +1 -0
- package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.js +37 -0
- package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.js.map +1 -0
- package/dist/esm/security/authentications/models/identity-persistence-boundaries.backend.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/jwt.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts +30 -0
- package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.js.map +1 -1
- package/dist/esm/security/authentications/models/saml-authentication.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/sso-connection.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/user-authorization-version.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/seeds/enterprise-config-defaults.seeds.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/__tests__/mock-auth-execution-context-factory.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/__tests__/mock-auth-token-issuer.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/__tests__/oauth-provider-audit-spies.mock.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/__tests__/mock-domain-to-org-lookup.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/__tests__/mock-enterprise-user-provisioning.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts +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/admin-config/oidc-discovery.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.js +2 -1
- package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts +197 -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 +384 -53
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-credential-verifier.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-execution-context-factory.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js +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-mfa.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-phone-verification.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts +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 +97 -0
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js +260 -27
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts +14 -0
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js +70 -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/saml-assertion-validator.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/saml-authentication.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/saml-metadata.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/saml-replay-guard.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts +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-session-store.backend.service.d.ts.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/scim-tokens.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts +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 +339 -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/custom-impls/sso-connection.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.js +11 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/email-verification-initiator.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/machine-token-issuer.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts +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/oidc-user-claims.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/resolve-active-member-orgs.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/__tests__/mock-auth-user-lookup.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-controller.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-credential-ops.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js +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-response-helper.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js +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/concurrent-session-eviction.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/ensure-user-profile.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts +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/services/utils/machine-auth-rate-limit.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/pkce.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/saml-java-availability.d.ts.map +1 -1
- package/dist/esm/security/authentications/utils/application-auth-policy-audit.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts +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/authentications/utils/one-off-session-lifetime.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/utils/social-oauth2-purpose.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/access-grant-decision.factory.backend.d.ts +59 -0
- package/dist/esm/security/authorizations/access-grant-decision.factory.backend.d.ts.map +1 -0
- package/dist/esm/security/authorizations/access-grant-decision.factory.backend.js +111 -0
- package/dist/esm/security/authorizations/access-grant-decision.factory.backend.js.map +1 -0
- package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.d.ts +57 -0
- package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.d.ts.map +1 -0
- package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.js +133 -0
- package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.js.map +1 -0
- package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.d.ts +41 -0
- package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.d.ts.map +1 -0
- package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.js +157 -0
- package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.js.map +1 -0
- package/dist/esm/security/authorizations/application-wide-read-admission.backend.d.ts +84 -0
- package/dist/esm/security/authorizations/application-wide-read-admission.backend.d.ts.map +1 -0
- package/dist/esm/security/authorizations/application-wide-read-admission.backend.js +99 -0
- package/dist/esm/security/authorizations/application-wide-read-admission.backend.js.map +1 -0
- package/dist/esm/security/authorizations/authorization-denial-audit.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts +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/initiator-organization-confinement.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/junction-scope-resolution.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts +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/organization-unit-narrowing-enforcement.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js +37 -124
- package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js.map +1 -1
- package/dist/esm/security/authorizations/privileged-access-review.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/relationship-foreign-key-filter.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts +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 +133 -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 +137 -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 +134 -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 +152 -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 +146 -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 +328 -29
- 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 +299 -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 +953 -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 +99 -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 +210 -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 +423 -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 +282 -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 +125 -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 +123 -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 +214 -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 +430 -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 +98 -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/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.d.ts +34 -0
- package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.js +39 -0
- package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.js.map +1 -0
- package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/consumable-token-models.exports.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/models/consumable-tokens.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/models/index.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/services/__tests__/mock-consumable-token.service.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts +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/jwt/services/auth-jwt-guard.backend.service.d.ts.map +1 -1
- package/dist/esm/security/jwt/services/jwt.backend.service.d.ts.map +1 -1
- package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.d.ts +13 -0
- package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.d.ts.map +1 -1
- package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.js +14 -0
- package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.js.map +1 -1
- package/dist/esm/security/jwt/utils/jwt-verification-error-classification.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts +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/outbound/outbound-request-deadline.backend.utils.d.ts +39 -0
- package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.js +60 -0
- package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.js.map +1 -0
- package/dist/esm/security/outbound/outbound-request-headers.backend.utils.d.ts +66 -0
- package/dist/esm/security/outbound/outbound-request-headers.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/outbound/outbound-request-headers.backend.utils.js +75 -0
- package/dist/esm/security/outbound/outbound-request-headers.backend.utils.js.map +1 -0
- package/dist/esm/security/scim/controllers/scim.backend.controller.d.ts.map +1 -1
- package/dist/esm/security/scim/controllers/scim.backend.controller.js +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/scim/utils/scim-attribute-path-resolver.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/scim/utils/scim-filter-parser.d.ts.map +1 -1
- package/dist/esm/security/scim/utils/scim-response-formatter.d.ts.map +1 -1
- package/dist/esm/security/session-invalidation-fence.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts +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/security/token-invalidation-fence.backend.utils.d.ts.map +1 -1
- package/dist/esm/testing.d.ts.map +1 -1
- package/dist/esm/users/services/inbound-contact-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/user-deletion-audit.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/user-force-password-reset.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts +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/esm/users/services/user-role-administration.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/user-self-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/users/services/user-super-admin-floor.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +11 -9
- package/dist/esm/external-providers/services/flow-actor-design.backend.service.d.ts +0 -45
- package/dist/esm/external-providers/services/flow-actor-design.backend.service.d.ts.map +0 -1
- package/dist/esm/external-providers/services/flow-actor-design.backend.service.js +0 -22
- package/dist/esm/external-providers/services/flow-actor-design.backend.service.js.map +0 -1
- package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts +0 -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-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/base-classes/services/repositories/http-api/http-api-provider-access.backend.js
CHANGED
|
@@ -7,9 +7,8 @@
|
|
|
7
7
|
* repository consumes this PORT so unit tests inject a stub and the production wiring stays in
|
|
8
8
|
* one place.
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { ProviderProtocolRuntimeKind } from '@wildo-ai/external-connectors-private/backend';
|
|
10
|
+
import { ExternalProvider_Connection_OwnerScope, ExternalProvider_ExchangeProtocol_Kind, ProviderProtocolRuntimeKind, } from '@wildo-ai/external-connectors-models';
|
|
11
|
+
import { withEngineOwnedHeaders } from '../../../../security/outbound/outbound-request-headers.backend.utils.js';
|
|
13
12
|
/**
|
|
14
13
|
* Thrown when access CANNOT be resolved — always naming what is missing, because every branch
|
|
15
14
|
* here is a configuration gap an operator must fix, never a transient.
|
|
@@ -23,8 +22,8 @@ export class HttpApiProviderAccessError extends Error {
|
|
|
23
22
|
/**
|
|
24
23
|
* The production resolver, over the provider registry.
|
|
25
24
|
*
|
|
26
|
-
* ##
|
|
27
|
-
* Resolves the provider's `kind:
|
|
25
|
+
* ## AN APPLICATION-OWNED CONNECTION
|
|
26
|
+
* Resolves the provider's `kind: ProviderProtocolRuntimeKind.REST` runtime contract
|
|
28
27
|
* (`getProviderRuntimeContract(providerRef, REST_API)`) for the base URL and the auth-header
|
|
29
28
|
* SHAPE, then the key VALUE through the secret machinery — `getProviderApiKey` (the provider
|
|
30
29
|
* configuration's `authConfig.secretRef`) first, falling back to the contract's own
|
|
@@ -32,30 +31,114 @@ export class HttpApiProviderAccessError extends Error {
|
|
|
32
31
|
* secrets, shape from the contract, and the consumer branches on the CONTRACT field, never the
|
|
33
32
|
* provider ref.
|
|
34
33
|
*
|
|
35
|
-
* ##
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
34
|
+
* ## DELEGATED AND TENANT-OWNED CONNECTIONS
|
|
35
|
+
* This paragraph read "the engine has NO outbound per-user token persistence — `OAuth2_CredentialSchema`
|
|
36
|
+
* exists as a model with no resource, no store and no service behind it", measured 2026-08-27. That
|
|
37
|
+
* is retired (#333): the store exists, is bound, and serves the connection controller, so the
|
|
38
|
+
* refusal it justified is gone. A binding now declares WHOSE ACCOUNT it spends and on whose behalf
|
|
39
|
+
* (`ExternalProvider_ConnectionShape`), the call supplies which instance, and the two questions this
|
|
40
|
+
* resolver asks below — is the shape ADMISSIBLE for the provider, is this execution AUTHORIZED to
|
|
41
|
+
* act for that owner — are what decide it. Both still fail closed, and an unbound authorization port
|
|
42
|
+
* still refuses every non-application target.
|
|
42
43
|
*/
|
|
43
44
|
export class ExternalProvidersHttpApiAccessResolver {
|
|
44
45
|
externalProvidersRegistry;
|
|
45
|
-
|
|
46
|
+
targetAuthorization;
|
|
47
|
+
constructor(externalProvidersRegistry,
|
|
48
|
+
/**
|
|
49
|
+
* Absent until the membership check is wired. Its absence REFUSES every non-application target
|
|
50
|
+
* rather than admitting one, so the gate cannot be opened by forgetting to bind something.
|
|
51
|
+
*/
|
|
52
|
+
targetAuthorization) {
|
|
46
53
|
this.externalProvidersRegistry = externalProvidersRegistry;
|
|
54
|
+
this.targetAuthorization = targetAuthorization;
|
|
47
55
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
56
|
+
/**
|
|
57
|
+
* Two questions, in this order, and both must be answered before a secret is read.
|
|
58
|
+
*
|
|
59
|
+
* ADMISSIBLE — does this provider admit this owner scope at all? A provider that has recorded no
|
|
60
|
+
* decision admits only the floor, so asking for a tenant-owned connection against it refuses,
|
|
61
|
+
* naming the record to author. That is the fail-closed direction: the alternative is a per-tenant
|
|
62
|
+
* call that quietly runs on the application's account.
|
|
63
|
+
*
|
|
64
|
+
* AUTHORIZED — may this execution act for that owner? Only for a non-application target: an
|
|
65
|
+
* application-owned connection has exactly one instance and the application IS the caller, so
|
|
66
|
+
* there is no second party whose account might be spent. Every other target needs the port, and
|
|
67
|
+
* an unbound port REFUSES — a gate that opens when a wiring step is forgotten is not a gate.
|
|
68
|
+
*/
|
|
69
|
+
async assertTargetIsAdmissibleAndAuthorized(providerRef, target, executionContext) {
|
|
70
|
+
const admissible = this.externalProvidersRegistry.getProviderAdmissibleConnections(providerRef);
|
|
71
|
+
const admitted = admissible.some((shape) => shape.ownerScope === target.ownerScope && shape.delegation === target.delegation);
|
|
72
|
+
if (!admitted) {
|
|
73
|
+
// Two different causes, repaired in two different files by two different people, so the
|
|
74
|
+
// refusal says WHICH. The vendor may never have had this capability recorded, or this
|
|
75
|
+
// application may have switched it off — and a message that always blamed the catalogue would
|
|
76
|
+
// send an operator to edit a decision record that is already correct.
|
|
77
|
+
// Optional call, and not defensiveness for its own sake: this runs INSIDE the construction of
|
|
78
|
+
// a refusal. A registry double that models only the method above would otherwise turn a clear,
|
|
79
|
+
// actionable error into a `TypeError` raised from the error path — the one place a failure is
|
|
80
|
+
// least recoverable and least legible. A collaborator that cannot answer simply yields the
|
|
81
|
+
// less specific message.
|
|
82
|
+
const catalogue = this.externalProvidersRegistry.getProviderCatalogueAdmissibleConnections?.(providerRef) ?? admissible;
|
|
83
|
+
const narrowedAway = catalogue.some((shape) => shape.ownerScope === target.ownerScope && shape.delegation === target.delegation);
|
|
84
|
+
const describe = (shapes) => shapes.length === 0 ? 'nothing' : shapes.map((shape) => `${shape.ownerScope} x ${shape.delegation}`).join(', ');
|
|
85
|
+
throw new HttpApiProviderAccessError(`Provider '${providerRef}' does not admit a ${target.ownerScope}-owned, ${target.delegation}-delegated connection. `
|
|
86
|
+
+ `It admits: ${describe(admissible)}. `
|
|
87
|
+
+ (narrowedAway
|
|
88
|
+
? `The VENDOR does admit it (${describe(catalogue)}); this APPLICATION excluded it. `
|
|
89
|
+
+ "Widen or remove `providers.connections['" + providerRef + "']` in the SaaS config — the provider's "
|
|
90
|
+
+ 'catalogue record is not at fault and editing it will not help.'
|
|
91
|
+
: 'Whether a vendor can be connected this way is a recorded decision, not something read from its API — '
|
|
92
|
+
+ "record it in the provider's catalogue-record decisions file, or in its module if it is hand-authored."));
|
|
53
93
|
}
|
|
94
|
+
if (target.ownerScope === ExternalProvider_Connection_OwnerScope.APPLICATION)
|
|
95
|
+
return;
|
|
96
|
+
if (!this.targetAuthorization) {
|
|
97
|
+
throw new HttpApiProviderAccessError(`Provider '${providerRef}': a ${target.ownerScope}-owned connection cannot be authorized — no target-authorization port is bound. `
|
|
98
|
+
+ 'The call names an owner and something must decide whether this execution may act for it; with nothing bound, that decision '
|
|
99
|
+
+ 'would be nobody\'s, so the call is refused rather than admitted.');
|
|
100
|
+
}
|
|
101
|
+
if (!await this.targetAuthorization.mayActFor(target, executionContext)) {
|
|
102
|
+
throw new HttpApiProviderAccessError(`Provider '${providerRef}': this execution may not act for ${target.ownerScope} '${target.ownerId}'.`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* ONE place a provider secret is read, and it always names the target.
|
|
107
|
+
*
|
|
108
|
+
* Before this existed the guard admitted a tenant-owned target and the read below then went to the
|
|
109
|
+
* deployment environment anyway — the call succeeded, spending the application's account while the
|
|
110
|
+
* caller believed it acted as the tenant. That is the substitution the whole subsystem exists to
|
|
111
|
+
* remove, and it survived the guard because a guard and a read are different code.
|
|
112
|
+
*
|
|
113
|
+
* Returns `undefined` only where the ABSENCE is a diagnosable application-level state, so the rich
|
|
114
|
+
* refusals below (an OAuth2 provider whose token is minted rather than authored, a provider with no
|
|
115
|
+
* `authConfig`) can still say the useful thing. A tenant-owned target never reaches them: its own
|
|
116
|
+
* refusal already names the tenant and the credential it lacks.
|
|
117
|
+
*/
|
|
118
|
+
async readSecretForTarget(providerRef, target, secretRef) {
|
|
119
|
+
if (target.ownerScope !== ExternalProvider_Connection_OwnerScope.APPLICATION) {
|
|
120
|
+
const resolved = await this.externalProvidersRegistry.resolveProviderSecretForTarget(target, providerRef, ExternalProvider_ExchangeProtocol_Kind.REST_API, secretRef);
|
|
121
|
+
return {
|
|
122
|
+
value: resolved.value,
|
|
123
|
+
// Returned rather than remembered: this resolver is a SINGLETON, so a field holding "the
|
|
124
|
+
// last credential opened" would be read by whichever concurrent call happened to look next,
|
|
125
|
+
// and the row stamped would belong to a different tenant's request.
|
|
126
|
+
provenance: { source: resolved.source, credentialId: resolved.credentialId, secretSlug: secretRef },
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
return {
|
|
130
|
+
value: this.externalProvidersRegistry.getProviderSecret(providerRef, ExternalProvider_ExchangeProtocol_Kind.REST_API, secretRef)
|
|
131
|
+
?? process.env[secretRef],
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
async resolveAccess(providerRef, target, executionContext) {
|
|
135
|
+
const binding = { providerRef };
|
|
136
|
+
await this.assertTargetIsAdmissibleAndAuthorized(providerRef, target, executionContext);
|
|
54
137
|
const runtimeContract = this.externalProvidersRegistry.getProviderRuntimeContract(binding.providerRef, ExternalProvider_ExchangeProtocol_Kind.REST_API);
|
|
55
138
|
if (!runtimeContract || runtimeContract.kind !== ProviderProtocolRuntimeKind.REST) {
|
|
56
|
-
throw new HttpApiProviderAccessError(`Provider '${binding.providerRef}' declares no
|
|
139
|
+
throw new HttpApiProviderAccessError(`Provider '${binding.providerRef}' declares no REST runtime contract for protocol '${ExternalProvider_ExchangeProtocol_Kind.REST_API}' `
|
|
57
140
|
+ `(found: ${runtimeContract ? `kind '${String(runtimeContract.kind)}'` : 'none'}). `
|
|
58
|
-
+ "Declare a REST_API protocol binding with a { kind:
|
|
141
|
+
+ "Declare a REST_API protocol binding with a { kind: ProviderProtocolRuntimeKind.REST, baseUrl, apiKey } runtime contract on the provider's backend module, "
|
|
59
142
|
+ 'or the binding cannot name its target.');
|
|
60
143
|
}
|
|
61
144
|
// EXACTLY ONE of baseUrl / baseUrlEnvVarName per the contract. Env wins nothing — it is the
|
|
@@ -70,8 +153,57 @@ export class ExternalProvidersHttpApiAccessResolver {
|
|
|
70
153
|
? `Provider '${binding.providerRef}' resolves its base URL from the environment variable '${runtimeContract.baseUrlEnvVarName}', which is not set — author it in the deployment environment (it names YOUR ${binding.providerRef} instance).`
|
|
71
154
|
: `Provider '${binding.providerRef}' rest contract declares neither baseUrl nor baseUrlEnvVarName — the binding cannot name its target.`);
|
|
72
155
|
}
|
|
73
|
-
|
|
156
|
+
// A signed provider's credential is TWO values and is applied to the compiled request rather
|
|
157
|
+
// than to this access, so it is resolved here and handed back untouched. Returning early also
|
|
158
|
+
// keeps the api-key diagnostics below from firing for a provider that legitimately has none.
|
|
159
|
+
if (runtimeContract.requestSigning) {
|
|
160
|
+
const signing = runtimeContract.requestSigning;
|
|
161
|
+
const readSecret = async (secretRef) => (await this.readSecretForTarget(providerRef, target, secretRef)).value;
|
|
162
|
+
const keyId = await readSecret(signing.keyIdSecretRef);
|
|
163
|
+
const secretKey = await readSecret(signing.secretKeySecretRef);
|
|
164
|
+
if (!keyId || !secretKey) {
|
|
165
|
+
throw new HttpApiProviderAccessError(`Provider '${binding.providerRef}' signs each request and needs BOTH halves of its credential: `
|
|
166
|
+
+ `'${signing.keyIdSecretRef}' (${keyId ? 'set' : 'MISSING'}) and '${signing.secretKeySecretRef}' (${secretKey ? 'set' : 'MISSING'}). `
|
|
167
|
+
+ 'A signature cannot be computed from one of them, and a partially configured signer fails identically to a wrong secret.');
|
|
168
|
+
}
|
|
169
|
+
return {
|
|
170
|
+
baseUrl: baseUrl.replace(/\/$/, ''),
|
|
171
|
+
headers: { ...runtimeContract.defaultHeaders },
|
|
172
|
+
requestSigning: {
|
|
173
|
+
declaration: signing,
|
|
174
|
+
credentials: {
|
|
175
|
+
keyId,
|
|
176
|
+
secretKey,
|
|
177
|
+
...(signing.sessionTokenSecretRef === undefined ? {} : { sessionToken: await readSecret(signing.sessionTokenSecretRef) }),
|
|
178
|
+
...(signing.regionEnvVarName === undefined ? {} : { region: process.env[signing.regionEnvVarName] }),
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
// The provider CONFIGURATION's `authConfig.secretRef` is an env projection and therefore says
|
|
184
|
+
// something only about the application's own account, so it is consulted for an APPLICATION
|
|
185
|
+
// target and for no other. A tenant-owned target goes to the target resolver, which refuses by
|
|
186
|
+
// name rather than falling through to the deployment's credential.
|
|
187
|
+
const configuredApiKey = target.ownerScope === ExternalProvider_Connection_OwnerScope.APPLICATION
|
|
188
|
+
? this.externalProvidersRegistry.getProviderApiKey(providerRef, ExternalProvider_ExchangeProtocol_Kind.REST_API)
|
|
189
|
+
: undefined;
|
|
190
|
+
const resolvedSecret = configuredApiKey === undefined
|
|
191
|
+
? await this.readSecretForTarget(providerRef, target, runtimeContract.apiKey.secretRef)
|
|
192
|
+
: { value: configuredApiKey };
|
|
193
|
+
const apiKeyValue = resolvedSecret.value;
|
|
74
194
|
if (!apiKeyValue) {
|
|
195
|
+
// An OAuth2 provider's credential is MINTED, not pasted, so telling an operator to set an
|
|
196
|
+
// environment variable is telling them to do something the vendor does not support. The two
|
|
197
|
+
// failures are different situations and must not share one message: one is missing
|
|
198
|
+
// configuration, the other is an account that was never connected.
|
|
199
|
+
if (runtimeContract.oauth2) {
|
|
200
|
+
throw new HttpApiProviderAccessError(`Provider '${binding.providerRef}' authenticates with OAuth2 and no access token resolves. `
|
|
201
|
+
+ 'This credential is obtained by an authorization exchange, not by setting an environment variable: '
|
|
202
|
+
+ `authorize at ${runtimeContract.oauth2.authorizeUrl}, exchange at ${runtimeContract.oauth2.tokenUrl}`
|
|
203
|
+
+ `${runtimeContract.oauth2.clientIdSecretRef ? `, with the application registration in '${runtimeContract.oauth2.clientIdSecretRef}' and '${runtimeContract.oauth2.clientSecretSecretRef ?? '(client secret unset)'}'` : ''}. `
|
|
204
|
+
+ 'Connect an account for this provider, or supply a long-lived token in '
|
|
205
|
+
+ `'${runtimeContract.apiKey.secretRef}' if the vendor issues one.`);
|
|
206
|
+
}
|
|
75
207
|
throw new HttpApiProviderAccessError(`No API key resolves for provider '${binding.providerRef}' (protocol '${ExternalProvider_ExchangeProtocol_Kind.REST_API}'): `
|
|
76
208
|
+ `neither the provider configuration's authConfig.secretRef nor the runtime contract's apiKey.secretRef ('${runtimeContract.apiKey.secretRef}') `
|
|
77
209
|
+ 'yields a value from the environment.');
|
|
@@ -89,16 +221,79 @@ export class ExternalProvidersHttpApiAccessResolver {
|
|
|
89
221
|
// No credential header: the target reads auth from the RPC args only.
|
|
90
222
|
headers: { ...runtimeContract.defaultHeaders },
|
|
91
223
|
jsonRpcInArgsCredentials: { db, login, apiKey: apiKeyValue },
|
|
224
|
+
...(resolvedSecret.provenance === undefined ? {} : { credentialProvenance: resolvedSecret.provenance }),
|
|
92
225
|
};
|
|
93
226
|
}
|
|
94
227
|
return {
|
|
95
228
|
baseUrl: baseUrl.replace(/\/$/, ''),
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
229
|
+
/*
|
|
230
|
+
* The auth header wins on a name collision, per the contract's own JSDoc — and as of
|
|
231
|
+
* 2026-09-09 that is enforced rather than merely asserted.
|
|
232
|
+
*
|
|
233
|
+
* Spreading `defaultHeaders` first does not deliver it. A harvested catalogue declaring
|
|
234
|
+
* `Authorization` against an `apiKey.headerName` of `authorization` produces two distinct
|
|
235
|
+
* object keys, which survive all the way to `fetch` and are COMBINED into one comma-joined
|
|
236
|
+
* field value — so the request authenticates with neither the catalogue's value nor the
|
|
237
|
+
* engine's. `withEngineOwnedHeaders` drops every spelling of the reserved name first.
|
|
238
|
+
*/
|
|
239
|
+
headers: withEngineOwnedHeaders(runtimeContract.defaultHeaders, {
|
|
99
240
|
[runtimeContract.apiKey.headerName]: `${runtimeContract.apiKey.prefix ?? ''}${apiKeyValue}`,
|
|
100
|
-
},
|
|
241
|
+
}),
|
|
242
|
+
...(resolvedSecret.provenance === undefined ? {} : { credentialProvenance: resolvedSecret.provenance }),
|
|
101
243
|
};
|
|
102
244
|
}
|
|
245
|
+
/**
|
|
246
|
+
* Resolve one operation out of the provider's catalogue, memoized per `(providerRef, domain)`.
|
|
247
|
+
*
|
|
248
|
+
* The PROMISE is cached rather than its value so two concurrent reads of the same binding share
|
|
249
|
+
* one load, and a FAILED load is evicted — a cached rejection would make one bad moment
|
|
250
|
+
* permanent for the process's whole life. Same discipline as the operation executor's cache,
|
|
251
|
+
* for the same reason; the two caches are separate because they live in different objects with
|
|
252
|
+
* different lifetimes, and sharing one would mean a third thing owning provider state.
|
|
253
|
+
*/
|
|
254
|
+
operationCatalogueCache = new Map();
|
|
255
|
+
async resolveProviderOperation(providerRef, providerOperationId, domain) {
|
|
256
|
+
const cacheKey = `${providerRef}::${domain ?? '*'}`;
|
|
257
|
+
let loading = this.operationCatalogueCache.get(cacheKey);
|
|
258
|
+
if (!loading) {
|
|
259
|
+
const runtimeContract = this.externalProvidersRegistry.getProviderRuntimeContract(providerRef, ExternalProvider_ExchangeProtocol_Kind.REST_API);
|
|
260
|
+
if (!runtimeContract || runtimeContract.kind !== ProviderProtocolRuntimeKind.REST) {
|
|
261
|
+
throw new HttpApiProviderAccessError(`A binding references an operation of provider '${providerRef}', which declares no REST runtime contract `
|
|
262
|
+
+ `(found: ${runtimeContract ? `kind '${String(runtimeContract.kind)}'` : 'none'}).`);
|
|
263
|
+
}
|
|
264
|
+
if (!runtimeContract.operations) {
|
|
265
|
+
throw new HttpApiProviderAccessError(`A binding references operation '${providerOperationId}' of provider '${providerRef}', which declares no operation catalogue — `
|
|
266
|
+
+ 'add `operations` to its rest runtime contract, or state the operation inline on the binding.');
|
|
267
|
+
}
|
|
268
|
+
const loadFailure = (cause) => new HttpApiProviderAccessError(`Provider '${providerRef}' failed to load its operation catalogue${domain ? ` for domain '${domain}'` : ''}: `
|
|
269
|
+
+ `${cause instanceof Error ? cause.message : String(cause)}`);
|
|
270
|
+
// Second of the TWO sites that invoke a provider's own catalogue loader (the other is
|
|
271
|
+
// `ProviderOperationExecutorBackendService.loadCatalogue`, which carries the argument). A
|
|
272
|
+
// loader typically `import()`s its operation module, which throws SYNCHRONOUSLY when that
|
|
273
|
+
// module is missing — and a synchronous throw bypasses `.catch`, so without this a binding
|
|
274
|
+
// reference would surface the raw module error instead of the named refusal an operator can
|
|
275
|
+
// act on. Nothing is cached on this path, so nothing needs evicting.
|
|
276
|
+
let invoked;
|
|
277
|
+
try {
|
|
278
|
+
invoked = Promise.resolve(runtimeContract.operations(domain));
|
|
279
|
+
}
|
|
280
|
+
catch (cause) {
|
|
281
|
+
throw loadFailure(cause);
|
|
282
|
+
}
|
|
283
|
+
loading = invoked.catch((cause) => {
|
|
284
|
+
this.operationCatalogueCache.delete(cacheKey);
|
|
285
|
+
throw loadFailure(cause);
|
|
286
|
+
});
|
|
287
|
+
this.operationCatalogueCache.set(cacheKey, loading);
|
|
288
|
+
}
|
|
289
|
+
const catalogue = await loading;
|
|
290
|
+
const operation = catalogue.operations[providerOperationId];
|
|
291
|
+
if (!operation) {
|
|
292
|
+
const known = Object.keys(catalogue.operations);
|
|
293
|
+
throw new HttpApiProviderAccessError(`Provider '${providerRef}' declares no operation '${providerOperationId}'${domain ? ` in domain '${domain}'` : ''}. `
|
|
294
|
+
+ `Declared${known.length > 20 ? ` (first 20 of ${known.length})` : ''}: ${known.slice(0, 20).join(', ') || '(none)'}.`);
|
|
295
|
+
}
|
|
296
|
+
return operation;
|
|
297
|
+
}
|
|
103
298
|
}
|
|
104
299
|
//# sourceMappingURL=http-api-provider-access.backend.js.map
|
package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-api-provider-access.backend.js","sourceRoot":"","sources":["../../../../../../../src/base-classes/services/repositories/http-api/http-api-provider-access.backend.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Provider access for the HTTP-API repository — WHO the adapter is toward the target, resolved\n * per the binding's identity mode (ETL D9/R12, D7).\n *\n * Credentials are never authored on the binding: they resolve through the existing provider\n * machinery (`ExternalProvidersRegistryBackendService`), exactly as email/SMS/billing do. The\n * repository consumes this PORT so unit tests inject a stub and the production wiring stays in\n * one place.\n */\n\nimport {\n HttpApiIdentityMode,\n type HttpApiResourceBinding,\n} from '@wildo-ai/saas-models/external-data';\nimport { ExternalProvider_ExchangeProtocol_Kind } from '@wildo-ai/external-connectors-models';\nimport { ProviderProtocolRuntimeKind } from '@wildo-ai/external-connectors-private/backend';\n\nimport type { ExecutionContext } from '~wildo-backend-lib/runtime/models/execution-context.backend.schemas';\nimport type { ExternalProvidersRegistryBackendService } from '~wildo-backend-lib/external-providers/services/external-providers-registry.backend.service';\n\n/** Everything a remote call needs to leave the process: where, and as whom. */\nexport interface HttpApiProviderAccess {\n /** Absolute base URL, no trailing slash. */\n baseUrl: string;\n /** Auth + default headers for every call under this access. */\n headers: Record<string, string>;\n /**\n * Present when the provider contract declares IN-ARGS JSON-RPC auth (the Odoo shape): the\n * credentials the adapter places INSIDE the RPC arguments. When present, `headers` carries no\n * credential — the target reads none from headers, and a secret should not travel a channel\n * nobody consumes.\n */\n jsonRpcInArgsCredentials?: {\n db: string;\n login: string;\n apiKey: string;\n };\n}\n\n/**\n * Thrown when access CANNOT be resolved — always naming what is missing, because every branch\n * here is a configuration gap an operator must fix, never a transient.\n */\nexport class HttpApiProviderAccessError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'HttpApiProviderAccessError';\n }\n}\n\nexport interface HttpApiProviderAccessResolver {\n resolveAccess(\n binding: Pick<HttpApiResourceBinding, 'providerRef' | 'identityMode'>,\n executionContext: ExecutionContext<any>,\n ): HttpApiProviderAccess;\n}\n\n/**\n * The production resolver, over the provider registry.\n *\n * ## SERVICE_PRINCIPAL\n * Resolves the provider's `kind: 'rest'` runtime contract\n * (`getProviderRuntimeContract(providerRef, REST_API)`) for the base URL and the auth-header\n * SHAPE, then the key VALUE through the secret machinery — `getProviderApiKey` (the provider\n * configuration's `authConfig.secretRef`) first, falling back to the contract's own\n * `apiKey.secretRef` via `getProviderSecret`. Exactly the email-provider pattern: value from\n * secrets, shape from the contract, and the consumer branches on the CONTRACT field, never the\n * provider ref.\n *\n * ## USER_DELEGATED\n * Measured 2026-08-27 (ten probes, recorded in the ETL plan): the engine has NO outbound\n * per-user token persistence — `OAuth2_CredentialSchema` exists as a model with no resource, no\n * store and no service behind it. Executing this mode therefore refuses naming the missing\n * subsystem. **Ruled by Paul 2026-08-27: slice 1 is SERVICE_PRINCIPAL-first** — the mode stays\n * declared so bindings need no reshape; this refusal lifts when the delegated-token subsystem\n * (its own workstream) exists.\n */\nexport class ExternalProvidersHttpApiAccessResolver implements HttpApiProviderAccessResolver {\n constructor(\n private readonly externalProvidersRegistry: ExternalProvidersRegistryBackendService,\n ) {}\n\n resolveAccess(\n binding: Pick<HttpApiResourceBinding, 'providerRef' | 'identityMode'>,\n _executionContext: ExecutionContext<any>,\n ): HttpApiProviderAccess {\n if (binding.identityMode === HttpApiIdentityMode.USER_DELEGATED) {\n throw new HttpApiProviderAccessError(\n `USER_DELEGATED identity toward provider '${binding.providerRef}' cannot be resolved: the engine has no outbound per-user token store `\n + '(OAuth2_CredentialSchema is modeled but nothing persists or serves user tokens). Build the delegated-token subsystem, or declare '\n + 'identityMode: SERVICE_PRINCIPAL on the binding.',\n );\n }\n\n const runtimeContract = this.externalProvidersRegistry.getProviderRuntimeContract(\n binding.providerRef,\n ExternalProvider_ExchangeProtocol_Kind.REST_API,\n );\n if (!runtimeContract || runtimeContract.kind !== ProviderProtocolRuntimeKind.REST) {\n throw new HttpApiProviderAccessError(\n `Provider '${binding.providerRef}' declares no 'rest' runtime contract for protocol '${ExternalProvider_ExchangeProtocol_Kind.REST_API}' `\n + `(found: ${runtimeContract ? `kind '${String(runtimeContract.kind)}'` : 'none'}). `\n + \"Declare a REST_API protocol binding with a { kind: 'rest', baseUrl, apiKey } runtime contract on the provider's backend module, \"\n + 'or the binding cannot name its target.',\n );\n }\n\n // EXACTLY ONE of baseUrl / baseUrlEnvVarName per the contract. Env wins nothing — it is the\n // only channel for a deployment-targeted URL; a module authoring both is a contract defect.\n if (runtimeContract.baseUrl !== undefined && runtimeContract.baseUrlEnvVarName !== undefined) {\n throw new HttpApiProviderAccessError(\n `Provider '${binding.providerRef}' authors BOTH baseUrl and baseUrlEnvVarName on its rest contract — exactly one must be declared.`,\n );\n }\n const baseUrl = runtimeContract.baseUrl\n ?? (runtimeContract.baseUrlEnvVarName ? process.env[runtimeContract.baseUrlEnvVarName] : undefined);\n if (!baseUrl) {\n throw new HttpApiProviderAccessError(\n runtimeContract.baseUrlEnvVarName\n ? `Provider '${binding.providerRef}' resolves its base URL from the environment variable '${runtimeContract.baseUrlEnvVarName}', which is not set — author it in the deployment environment (it names YOUR ${binding.providerRef} instance).`\n : `Provider '${binding.providerRef}' rest contract declares neither baseUrl nor baseUrlEnvVarName — the binding cannot name its target.`,\n );\n }\n\n const apiKeyValue = this.externalProvidersRegistry.getProviderApiKey(\n binding.providerRef,\n ExternalProvider_ExchangeProtocol_Kind.REST_API,\n ) ?? this.externalProvidersRegistry.getProviderSecret(\n binding.providerRef,\n ExternalProvider_ExchangeProtocol_Kind.REST_API,\n runtimeContract.apiKey.secretRef,\n );\n if (!apiKeyValue) {\n throw new HttpApiProviderAccessError(\n `No API key resolves for provider '${binding.providerRef}' (protocol '${ExternalProvider_ExchangeProtocol_Kind.REST_API}'): `\n + `neither the provider configuration's authConfig.secretRef nor the runtime contract's apiKey.secretRef ('${runtimeContract.apiKey.secretRef}') `\n + 'yields a value from the environment.',\n );\n }\n\n if (runtimeContract.jsonRpcInArgsAuth) {\n const { dbEnvVarName, loginEnvVarName } = runtimeContract.jsonRpcInArgsAuth;\n const db = process.env[dbEnvVarName];\n const login = process.env[loginEnvVarName];\n if (!db || !login) {\n throw new HttpApiProviderAccessError(\n `Provider '${binding.providerRef}' authenticates in-args, but ${!db ? `'${dbEnvVarName}'` : `'${loginEnvVarName}'`} is not set — `\n + 'author it in the deployment environment (it names YOUR database/login on the target instance).',\n );\n }\n return {\n baseUrl: baseUrl.replace(/\\/$/, ''),\n // No credential header: the target reads auth from the RPC args only.\n headers: { ...runtimeContract.defaultHeaders },\n jsonRpcInArgsCredentials: { db, login, apiKey: apiKeyValue },\n };\n }\n\n return {\n baseUrl: baseUrl.replace(/\\/$/, ''),\n headers: {\n ...runtimeContract.defaultHeaders,\n // The auth header wins on a name collision, per the contract's own JSDoc.\n [runtimeContract.apiKey.headerName]: `${runtimeContract.apiKey.prefix ?? ''}${apiKeyValue}`,\n },\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"http-api-provider-access.backend.js","sourceRoot":"","sources":["../../../../../../src/base-classes/services/repositories/http-api/http-api-provider-access.backend.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Provider access for the HTTP-API repository — WHO the adapter is toward the target, resolved\n * per the binding's identity mode (ETL D9/R12, D7).\n *\n * Credentials are never authored on the binding: they resolve through the existing provider\n * machinery (`ExternalProvidersRegistryBackendService`), exactly as email/SMS/billing do. The\n * repository consumes this PORT so unit tests inject a stub and the production wiring stays in\n * one place.\n */\n\nimport {\n type HttpApiResourceBinding,\n} from '@wildo-ai/saas-models/external-data';\nimport {\n ExternalProvider_Connection_OwnerScope,\n ExternalProvider_ExchangeProtocol_Kind,\n ProviderProtocolRuntimeKind,\n} from '@wildo-ai/external-connectors-models';\nimport type { ExternalProvider_ConnectionTarget,\n ExternalProvider_ConnectionShape,\n} from '@wildo-ai/external-connectors-models';\nimport type { ProviderCredentialResolutionSource } from '@wildo-ai/saas-models';\nimport type { ProviderRestRequestSigning } from '@wildo-ai/external-connectors-models';\nimport type { ProviderRestOperation, ProviderRestOperationCatalogue } from '@wildo-ai/external-connectors-models';\n\nimport type { ExecutionContext } from '~wildo-backend-lib/runtime/models/execution-context.backend.schemas';\nimport type { ExternalProvidersRegistryBackendService } from '~wildo-backend-lib/external-providers/services/external-providers-registry.backend.service';\n\n/** Everything a remote call needs to leave the process: where, and as whom. */\nimport type { ProviderSigningCredentials } from '~wildo-backend-lib/external-providers/operations/provider-request-signing.backend';\nimport { withEngineOwnedHeaders } from '~wildo-backend-lib/security/outbound/outbound-request-headers.backend.utils';\n\nexport interface HttpApiProviderAccess {\n /** Absolute base URL, no trailing slash. */\n baseUrl: string;\n /** Auth + default headers for every call under this access. */\n headers: Record<string, string>;\n /**\n * Present when the provider contract declares IN-ARGS JSON-RPC auth (the Odoo shape): the\n * credentials the adapter places INSIDE the RPC arguments. When present, `headers` carries no\n * credential — the target reads none from headers, and a secret should not travel a channel\n * nobody consumes.\n */\n /**\n * Present when the provider signs each request (AWS SigV4, Azure shared key). When present,\n * `headers` carries NO credential: the signature is computed by the caller from the fully\n * compiled request, because it covers the bytes and anything added afterwards invalidates it.\n */\n requestSigning?: {\n declaration: ProviderRestRequestSigning;\n credentials: ProviderSigningCredentials;\n };\n jsonRpcInArgsCredentials?: {\n db: string;\n login: string;\n apiKey: string;\n };\n /**\n * WHERE the credential came from, carried out so the caller can stamp the row it used.\n *\n * The store can record that a tenant's credential was accepted or rejected, and until this existed\n * it could not be told: the resolver knew which row it opened and threw that away, so\n * `validationState` stayed UNVALIDATED for every credential that had in fact just worked, and\n * `lastUsedAt` never moved. An operator reading the screen saw a credential that might be dead.\n *\n * Absent for an APPLICATION-owned resolution, which has no row to stamp — inventing one for the\n * deployment environment would create a credential the tenant never set.\n */\n credentialProvenance?: {\n source: ProviderCredentialResolutionSource;\n credentialId?: string;\n /** The secrets-contract slug the value satisfies — the row's third identity component. */\n secretSlug: string;\n };\n}\n\n/**\n * Thrown when access CANNOT be resolved — always naming what is missing, because every branch\n * here is a configuration gap an operator must fix, never a transient.\n */\nexport class HttpApiProviderAccessError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'HttpApiProviderAccessError';\n }\n}\n\n/**\n * May THIS execution act for THAT owner — the authorization half of a connection target.\n *\n * The call NAMES the owner and this decides whether it may. Supplying and authorizing are different\n * jobs and must not be the same read: a resolver that took the owner from the execution context\n * would be verifying a target it had itself invented, and could not express the case that forces\n * the split — one user action pushing to every organization that user belongs to, where the target\n * varies per call while the initiator does not.\n *\n * Membership, not current scope. The fan-out above runs with ONE ambient organization and legitimately\n * spends several tenants' accounts, so an equality check against the initiator's own organization\n * would refuse the very case this design exists to serve.\n */\nexport interface ConnectionTargetAuthorizationPort {\n mayActFor(\n target: ExternalProvider_ConnectionTarget,\n executionContext: ExecutionContext<any>,\n ): Promise<boolean>;\n}\n\n/** A secret and, when it came from a stored row, which row — so the caller can stamp it. */\ninterface ResolvedProviderSecret {\n value: string | undefined;\n provenance?: HttpApiProviderAccess['credentialProvenance'];\n}\n\nexport interface HttpApiProviderAccessResolver {\n resolveAccess(\n providerRef: string,\n target: ExternalProvider_ConnectionTarget,\n executionContext: ExecutionContext<any>,\n ): Promise<HttpApiProviderAccess>;\n\n /**\n * One operation out of the provider's own `rest.operations` catalogue, for a binding whose read\n * member is a REFERENCE rather than an inline spec (S3a, #331).\n *\n * On this port, and OPTIONAL, for two reasons that are both about not inventing a second\n * authority. It is the same question about the same object: `resolveAccess` reads baseUrl and\n * apiKey off the provider's `rest` runtime contract, and this reads `operations` off that same\n * contract — a separate port would mean a second thing holding the registry and a second place\n * to get provider resolution wrong. And it is optional so that every existing stub of this\n * interface (unit harnesses, partial containers) keeps satisfying it; a binding that authors a\n * reference against a resolver that does not implement it is refused BY NAME, which is a state\n * an operator can act on, rather than by a `TypeError` three frames down.\n */\n resolveProviderOperation?(\n providerRef: string,\n providerOperationId: string,\n domain?: string,\n ): Promise<ProviderRestOperation>;\n}\n\n/**\n * The production resolver, over the provider registry.\n *\n * ## AN APPLICATION-OWNED CONNECTION\n * Resolves the provider's `kind: ProviderProtocolRuntimeKind.REST` runtime contract\n * (`getProviderRuntimeContract(providerRef, REST_API)`) for the base URL and the auth-header\n * SHAPE, then the key VALUE through the secret machinery — `getProviderApiKey` (the provider\n * configuration's `authConfig.secretRef`) first, falling back to the contract's own\n * `apiKey.secretRef` via `getProviderSecret`. Exactly the email-provider pattern: value from\n * secrets, shape from the contract, and the consumer branches on the CONTRACT field, never the\n * provider ref.\n *\n * ## DELEGATED AND TENANT-OWNED CONNECTIONS\n * This paragraph read \"the engine has NO outbound per-user token persistence — `OAuth2_CredentialSchema`\n * exists as a model with no resource, no store and no service behind it\", measured 2026-08-27. That\n * is retired (#333): the store exists, is bound, and serves the connection controller, so the\n * refusal it justified is gone. A binding now declares WHOSE ACCOUNT it spends and on whose behalf\n * (`ExternalProvider_ConnectionShape`), the call supplies which instance, and the two questions this\n * resolver asks below — is the shape ADMISSIBLE for the provider, is this execution AUTHORIZED to\n * act for that owner — are what decide it. Both still fail closed, and an unbound authorization port\n * still refuses every non-application target.\n */\nexport class ExternalProvidersHttpApiAccessResolver implements HttpApiProviderAccessResolver {\n constructor(\n private readonly externalProvidersRegistry: ExternalProvidersRegistryBackendService,\n /**\n * Absent until the membership check is wired. Its absence REFUSES every non-application target\n * rather than admitting one, so the gate cannot be opened by forgetting to bind something.\n */\n private readonly targetAuthorization?: ConnectionTargetAuthorizationPort,\n ) {}\n\n /**\n * Two questions, in this order, and both must be answered before a secret is read.\n *\n * ADMISSIBLE — does this provider admit this owner scope at all? A provider that has recorded no\n * decision admits only the floor, so asking for a tenant-owned connection against it refuses,\n * naming the record to author. That is the fail-closed direction: the alternative is a per-tenant\n * call that quietly runs on the application's account.\n *\n * AUTHORIZED — may this execution act for that owner? Only for a non-application target: an\n * application-owned connection has exactly one instance and the application IS the caller, so\n * there is no second party whose account might be spent. Every other target needs the port, and\n * an unbound port REFUSES — a gate that opens when a wiring step is forgotten is not a gate.\n */\n private async assertTargetIsAdmissibleAndAuthorized(\n providerRef: string,\n target: ExternalProvider_ConnectionTarget,\n executionContext: ExecutionContext<any>,\n ): Promise<void> {\n const admissible = this.externalProvidersRegistry.getProviderAdmissibleConnections(providerRef);\n const admitted = admissible.some(\n (shape) => shape.ownerScope === target.ownerScope && shape.delegation === target.delegation,\n );\n if (!admitted) {\n // Two different causes, repaired in two different files by two different people, so the\n // refusal says WHICH. The vendor may never have had this capability recorded, or this\n // application may have switched it off — and a message that always blamed the catalogue would\n // send an operator to edit a decision record that is already correct.\n // Optional call, and not defensiveness for its own sake: this runs INSIDE the construction of\n // a refusal. A registry double that models only the method above would otherwise turn a clear,\n // actionable error into a `TypeError` raised from the error path — the one place a failure is\n // least recoverable and least legible. A collaborator that cannot answer simply yields the\n // less specific message.\n const catalogue = this.externalProvidersRegistry.getProviderCatalogueAdmissibleConnections?.(providerRef) ?? admissible;\n const narrowedAway = catalogue.some(\n (shape) => shape.ownerScope === target.ownerScope && shape.delegation === target.delegation,\n );\n const describe = (shapes: readonly ExternalProvider_ConnectionShape[]): string =>\n shapes.length === 0 ? 'nothing' : shapes.map((shape) => `${shape.ownerScope} x ${shape.delegation}`).join(', ');\n\n throw new HttpApiProviderAccessError(\n `Provider '${providerRef}' does not admit a ${target.ownerScope}-owned, ${target.delegation}-delegated connection. `\n + `It admits: ${describe(admissible)}. `\n + (narrowedAway\n ? `The VENDOR does admit it (${describe(catalogue)}); this APPLICATION excluded it. `\n + \"Widen or remove `providers.connections['\" + providerRef + \"']` in the SaaS config — the provider's \"\n + 'catalogue record is not at fault and editing it will not help.'\n : 'Whether a vendor can be connected this way is a recorded decision, not something read from its API — '\n + \"record it in the provider's catalogue-record decisions file, or in its module if it is hand-authored.\"),\n );\n }\n\n if (target.ownerScope === ExternalProvider_Connection_OwnerScope.APPLICATION) return;\n\n if (!this.targetAuthorization) {\n throw new HttpApiProviderAccessError(\n `Provider '${providerRef}': a ${target.ownerScope}-owned connection cannot be authorized — no target-authorization port is bound. `\n + 'The call names an owner and something must decide whether this execution may act for it; with nothing bound, that decision '\n + 'would be nobody\\'s, so the call is refused rather than admitted.',\n );\n }\n if (!await this.targetAuthorization.mayActFor(target, executionContext)) {\n throw new HttpApiProviderAccessError(\n `Provider '${providerRef}': this execution may not act for ${target.ownerScope} '${target.ownerId}'.`,\n );\n }\n }\n\n /**\n * ONE place a provider secret is read, and it always names the target.\n *\n * Before this existed the guard admitted a tenant-owned target and the read below then went to the\n * deployment environment anyway — the call succeeded, spending the application's account while the\n * caller believed it acted as the tenant. That is the substitution the whole subsystem exists to\n * remove, and it survived the guard because a guard and a read are different code.\n *\n * Returns `undefined` only where the ABSENCE is a diagnosable application-level state, so the rich\n * refusals below (an OAuth2 provider whose token is minted rather than authored, a provider with no\n * `authConfig`) can still say the useful thing. A tenant-owned target never reaches them: its own\n * refusal already names the tenant and the credential it lacks.\n */\n private async readSecretForTarget(\n providerRef: string,\n target: ExternalProvider_ConnectionTarget,\n secretRef: string,\n ): Promise<ResolvedProviderSecret> {\n if (target.ownerScope !== ExternalProvider_Connection_OwnerScope.APPLICATION) {\n const resolved = await this.externalProvidersRegistry.resolveProviderSecretForTarget(\n target,\n providerRef,\n ExternalProvider_ExchangeProtocol_Kind.REST_API,\n secretRef,\n );\n return {\n value: resolved.value,\n // Returned rather than remembered: this resolver is a SINGLETON, so a field holding \"the\n // last credential opened\" would be read by whichever concurrent call happened to look next,\n // and the row stamped would belong to a different tenant's request.\n provenance: { source: resolved.source, credentialId: resolved.credentialId, secretSlug: secretRef },\n };\n }\n return {\n value: this.externalProvidersRegistry.getProviderSecret(providerRef, ExternalProvider_ExchangeProtocol_Kind.REST_API, secretRef)\n ?? process.env[secretRef],\n };\n }\n\n async resolveAccess(\n providerRef: string,\n target: ExternalProvider_ConnectionTarget,\n executionContext: ExecutionContext<any>,\n ): Promise<HttpApiProviderAccess> {\n const binding = { providerRef };\n await this.assertTargetIsAdmissibleAndAuthorized(providerRef, target, executionContext);\n\n const runtimeContract = this.externalProvidersRegistry.getProviderRuntimeContract(\n binding.providerRef,\n ExternalProvider_ExchangeProtocol_Kind.REST_API,\n );\n if (!runtimeContract || runtimeContract.kind !== ProviderProtocolRuntimeKind.REST) {\n throw new HttpApiProviderAccessError(\n `Provider '${binding.providerRef}' declares no REST runtime contract for protocol '${ExternalProvider_ExchangeProtocol_Kind.REST_API}' `\n + `(found: ${runtimeContract ? `kind '${String(runtimeContract.kind)}'` : 'none'}). `\n + \"Declare a REST_API protocol binding with a { kind: ProviderProtocolRuntimeKind.REST, baseUrl, apiKey } runtime contract on the provider's backend module, \"\n + 'or the binding cannot name its target.',\n );\n }\n\n // EXACTLY ONE of baseUrl / baseUrlEnvVarName per the contract. Env wins nothing — it is the\n // only channel for a deployment-targeted URL; a module authoring both is a contract defect.\n if (runtimeContract.baseUrl !== undefined && runtimeContract.baseUrlEnvVarName !== undefined) {\n throw new HttpApiProviderAccessError(\n `Provider '${binding.providerRef}' authors BOTH baseUrl and baseUrlEnvVarName on its rest contract — exactly one must be declared.`,\n );\n }\n const baseUrl = runtimeContract.baseUrl\n ?? (runtimeContract.baseUrlEnvVarName ? process.env[runtimeContract.baseUrlEnvVarName] : undefined);\n if (!baseUrl) {\n throw new HttpApiProviderAccessError(\n runtimeContract.baseUrlEnvVarName\n ? `Provider '${binding.providerRef}' resolves its base URL from the environment variable '${runtimeContract.baseUrlEnvVarName}', which is not set — author it in the deployment environment (it names YOUR ${binding.providerRef} instance).`\n : `Provider '${binding.providerRef}' rest contract declares neither baseUrl nor baseUrlEnvVarName — the binding cannot name its target.`,\n );\n }\n\n // A signed provider's credential is TWO values and is applied to the compiled request rather\n // than to this access, so it is resolved here and handed back untouched. Returning early also\n // keeps the api-key diagnostics below from firing for a provider that legitimately has none.\n if (runtimeContract.requestSigning) {\n const signing = runtimeContract.requestSigning;\n const readSecret = async (secretRef: string): Promise<string | undefined> =>\n (await this.readSecretForTarget(providerRef, target, secretRef)).value;\n const keyId = await readSecret(signing.keyIdSecretRef);\n const secretKey = await readSecret(signing.secretKeySecretRef);\n if (!keyId || !secretKey) {\n throw new HttpApiProviderAccessError(\n `Provider '${binding.providerRef}' signs each request and needs BOTH halves of its credential: `\n + `'${signing.keyIdSecretRef}' (${keyId ? 'set' : 'MISSING'}) and '${signing.secretKeySecretRef}' (${secretKey ? 'set' : 'MISSING'}). `\n + 'A signature cannot be computed from one of them, and a partially configured signer fails identically to a wrong secret.',\n );\n }\n return {\n baseUrl: baseUrl.replace(/\\/$/, ''),\n headers: { ...runtimeContract.defaultHeaders },\n requestSigning: {\n declaration: signing,\n credentials: {\n keyId,\n secretKey,\n ...(signing.sessionTokenSecretRef === undefined ? {} : { sessionToken: await readSecret(signing.sessionTokenSecretRef) }),\n ...(signing.regionEnvVarName === undefined ? {} : { region: process.env[signing.regionEnvVarName] }),\n },\n },\n };\n }\n\n // The provider CONFIGURATION's `authConfig.secretRef` is an env projection and therefore says\n // something only about the application's own account, so it is consulted for an APPLICATION\n // target and for no other. A tenant-owned target goes to the target resolver, which refuses by\n // name rather than falling through to the deployment's credential.\n const configuredApiKey = target.ownerScope === ExternalProvider_Connection_OwnerScope.APPLICATION\n ? this.externalProvidersRegistry.getProviderApiKey(providerRef, ExternalProvider_ExchangeProtocol_Kind.REST_API)\n : undefined;\n const resolvedSecret = configuredApiKey === undefined\n ? await this.readSecretForTarget(providerRef, target, runtimeContract.apiKey.secretRef)\n : { value: configuredApiKey };\n const apiKeyValue = resolvedSecret.value;\n if (!apiKeyValue) {\n // An OAuth2 provider's credential is MINTED, not pasted, so telling an operator to set an\n // environment variable is telling them to do something the vendor does not support. The two\n // failures are different situations and must not share one message: one is missing\n // configuration, the other is an account that was never connected.\n if (runtimeContract.oauth2) {\n throw new HttpApiProviderAccessError(\n `Provider '${binding.providerRef}' authenticates with OAuth2 and no access token resolves. `\n + 'This credential is obtained by an authorization exchange, not by setting an environment variable: '\n + `authorize at ${runtimeContract.oauth2.authorizeUrl}, exchange at ${runtimeContract.oauth2.tokenUrl}`\n + `${runtimeContract.oauth2.clientIdSecretRef ? `, with the application registration in '${runtimeContract.oauth2.clientIdSecretRef}' and '${runtimeContract.oauth2.clientSecretSecretRef ?? '(client secret unset)'}'` : ''}. `\n + 'Connect an account for this provider, or supply a long-lived token in '\n + `'${runtimeContract.apiKey.secretRef}' if the vendor issues one.`,\n );\n }\n throw new HttpApiProviderAccessError(\n `No API key resolves for provider '${binding.providerRef}' (protocol '${ExternalProvider_ExchangeProtocol_Kind.REST_API}'): `\n + `neither the provider configuration's authConfig.secretRef nor the runtime contract's apiKey.secretRef ('${runtimeContract.apiKey.secretRef}') `\n + 'yields a value from the environment.',\n );\n }\n\n if (runtimeContract.jsonRpcInArgsAuth) {\n const { dbEnvVarName, loginEnvVarName } = runtimeContract.jsonRpcInArgsAuth;\n const db = process.env[dbEnvVarName];\n const login = process.env[loginEnvVarName];\n if (!db || !login) {\n throw new HttpApiProviderAccessError(\n `Provider '${binding.providerRef}' authenticates in-args, but ${!db ? `'${dbEnvVarName}'` : `'${loginEnvVarName}'`} is not set — `\n + 'author it in the deployment environment (it names YOUR database/login on the target instance).',\n );\n }\n return {\n baseUrl: baseUrl.replace(/\\/$/, ''),\n // No credential header: the target reads auth from the RPC args only.\n headers: { ...runtimeContract.defaultHeaders },\n jsonRpcInArgsCredentials: { db, login, apiKey: apiKeyValue },\n ...(resolvedSecret.provenance === undefined ? {} : { credentialProvenance: resolvedSecret.provenance }),\n };\n }\n\n return {\n baseUrl: baseUrl.replace(/\\/$/, ''),\n /*\n * The auth header wins on a name collision, per the contract's own JSDoc — and as of\n * 2026-09-09 that is enforced rather than merely asserted.\n *\n * Spreading `defaultHeaders` first does not deliver it. A harvested catalogue declaring\n * `Authorization` against an `apiKey.headerName` of `authorization` produces two distinct\n * object keys, which survive all the way to `fetch` and are COMBINED into one comma-joined\n * field value — so the request authenticates with neither the catalogue's value nor the\n * engine's. `withEngineOwnedHeaders` drops every spelling of the reserved name first.\n */\n headers: withEngineOwnedHeaders(runtimeContract.defaultHeaders, {\n [runtimeContract.apiKey.headerName]: `${runtimeContract.apiKey.prefix ?? ''}${apiKeyValue}`,\n }),\n ...(resolvedSecret.provenance === undefined ? {} : { credentialProvenance: resolvedSecret.provenance }),\n };\n }\n\n /**\n * Resolve one operation out of the provider's catalogue, memoized per `(providerRef, domain)`.\n *\n * The PROMISE is cached rather than its value so two concurrent reads of the same binding share\n * one load, and a FAILED load is evicted — a cached rejection would make one bad moment\n * permanent for the process's whole life. Same discipline as the operation executor's cache,\n * for the same reason; the two caches are separate because they live in different objects with\n * different lifetimes, and sharing one would mean a third thing owning provider state.\n */\n private readonly operationCatalogueCache = new Map<string, Promise<ProviderRestOperationCatalogue>>();\n\n public async resolveProviderOperation(\n providerRef: string,\n providerOperationId: string,\n domain?: string,\n ): Promise<ProviderRestOperation> {\n const cacheKey = `${providerRef}::${domain ?? '*'}`;\n let loading = this.operationCatalogueCache.get(cacheKey);\n if (!loading) {\n const runtimeContract = this.externalProvidersRegistry.getProviderRuntimeContract(\n providerRef,\n ExternalProvider_ExchangeProtocol_Kind.REST_API,\n );\n if (!runtimeContract || runtimeContract.kind !== ProviderProtocolRuntimeKind.REST) {\n throw new HttpApiProviderAccessError(\n `A binding references an operation of provider '${providerRef}', which declares no REST runtime contract `\n + `(found: ${runtimeContract ? `kind '${String(runtimeContract.kind)}'` : 'none'}).`,\n );\n }\n if (!runtimeContract.operations) {\n throw new HttpApiProviderAccessError(\n `A binding references operation '${providerOperationId}' of provider '${providerRef}', which declares no operation catalogue — `\n + 'add `operations` to its rest runtime contract, or state the operation inline on the binding.',\n );\n }\n const loadFailure = (cause: unknown) => new HttpApiProviderAccessError(\n `Provider '${providerRef}' failed to load its operation catalogue${domain ? ` for domain '${domain}'` : ''}: `\n + `${cause instanceof Error ? cause.message : String(cause)}`,\n );\n\n // Second of the TWO sites that invoke a provider's own catalogue loader (the other is\n // `ProviderOperationExecutorBackendService.loadCatalogue`, which carries the argument). A\n // loader typically `import()`s its operation module, which throws SYNCHRONOUSLY when that\n // module is missing — and a synchronous throw bypasses `.catch`, so without this a binding\n // reference would surface the raw module error instead of the named refusal an operator can\n // act on. Nothing is cached on this path, so nothing needs evicting.\n let invoked: Promise<ProviderRestOperationCatalogue>;\n try {\n invoked = Promise.resolve(runtimeContract.operations(domain));\n } catch (cause) {\n throw loadFailure(cause);\n }\n\n loading = invoked.catch((cause: unknown) => {\n this.operationCatalogueCache.delete(cacheKey);\n throw loadFailure(cause);\n });\n this.operationCatalogueCache.set(cacheKey, loading);\n }\n\n const catalogue = await loading;\n const operation = catalogue.operations[providerOperationId];\n if (!operation) {\n const known = Object.keys(catalogue.operations);\n throw new HttpApiProviderAccessError(\n `Provider '${providerRef}' declares no operation '${providerOperationId}'${domain ? ` in domain '${domain}'` : ''}. `\n + `Declared${known.length > 20 ? ` (first 20 of ${known.length})` : ''}: ${known.slice(0, 20).join(', ') || '(none)'}.`,\n );\n }\n return operation;\n }\n}\n"]}
|
package/dist/esm/base-classes/services/repositories/http-api/http-api-query.backend.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-api-query.backend.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"http-api-query.backend.d.ts","sourceRoot":"","sources":["../../../../../../src/base-classes/services/repositories/http-api/http-api-query.backend.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAElE,8FAA8F;AAC9F,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,8FAA8F;AAC9F,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,kBAAkB,CAAC;CAC3B;AAED,kDAAkD;AAClD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,kEAAkE;AAClE,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,0BAA0B;AAC1B,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAE9B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,IAAI,EAAE,cAAc,EAAE,CAAC;IAEvB,mGAAmG;IACnG,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD;AAED,iEAAiE;AACjE,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* (partial-resource paper, PR-29): provider-access resolution, transport execution (timeout /
|
|
4
4
|
* bounded retry / rate budget), the per-dialect wire framing (OData GET, REST_JSON GET/POST +
|
|
5
5
|
* JSON-RPC envelope semantics, Odoo `execute_kw` with the `common.authenticate` handshake and
|
|
6
|
-
* the
|
|
6
|
+
* the credential-keyed cached uid), and the 404-as-null read tolerance.
|
|
7
7
|
*
|
|
8
8
|
* TWO consumers, by design: the VIRTUAL repository (`http-api-resource-repository`) and the
|
|
9
9
|
* pipeline extraction source (P-2). The declaration layer is split on purpose — a pipeline is
|
|
@@ -32,15 +32,58 @@ export declare class HttpApiReadClient {
|
|
|
32
32
|
private readonly fetchImpl;
|
|
33
33
|
private readonly rateBudget;
|
|
34
34
|
/**
|
|
35
|
-
* The authenticated uid
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
35
|
+
* The authenticated uid, KEYED ON the credential it was minted under rather than merely
|
|
36
|
+
* remembered against this instance.
|
|
37
|
+
*
|
|
38
|
+
* The uid comes from the documented `common.authenticate(db, login, api_key, {})` handshake and
|
|
39
|
+
* is worth caching: the virtual repository builds ONE client per binding and keeps it for the
|
|
40
|
+
* process lifetime (`http-api-resource-repository.backend.service.ts:163`), so re-authenticating
|
|
41
|
+
* per call would double every read's round trips.
|
|
42
|
+
*
|
|
43
|
+
* What it must never do is outlive the credential. `resolveAccess` runs on EVERY call and reads
|
|
44
|
+
* the secret afresh (environment, provider registry, or a tenant credential row), so a rotation
|
|
45
|
+
* genuinely reaches this class — and a uid remembered against the instance would then be an
|
|
46
|
+
* identity minted under the retired credential, presented on every subsequent `execute_kw`.
|
|
47
|
+
*
|
|
48
|
+
* Keying the cache on the credential is what makes that unrepresentable, and it is deliberately
|
|
49
|
+
* preferred over an `invalidate()` some rotation path has to remember to call: there is no
|
|
50
|
+
* enumeration of rotation sites to get wrong, because a changed credential simply misses. Note
|
|
51
|
+
* the key includes `baseUrl` — a uid is a `res.users` row id on ONE database on ONE instance, so
|
|
52
|
+
* repointing the binding at another host must not reuse it either.
|
|
53
|
+
*
|
|
54
|
+
* The key is a SHA-256 of the tuple rather than the tuple itself, so the API key is not held
|
|
55
|
+
* alive on a long-lived field beyond the call that resolved it. The hash is per `execute_kw`
|
|
56
|
+
* call and costs microseconds against a network round trip.
|
|
57
|
+
*
|
|
58
|
+
* ONE slot, not a map. A map would save a handshake when a credential the client has already
|
|
59
|
+
* seen comes back, at the cost of accumulating one secret-derived entry per retired credential
|
|
60
|
+
* for the lifetime of the process — an unbounded set, to avoid a round trip nobody has measured.
|
|
61
|
+
* A binding names one credential at a time, so the slot is single and a rollback re-authenticates.
|
|
62
|
+
*
|
|
63
|
+
* The single slot stays SAFE now that an Odoo binding MAY name a tenant-owned target (#333, which
|
|
64
|
+
* widened `connectionTargetForBinding` from the `APPLICATION` pin it used to hold). Alternating
|
|
65
|
+
* tenants each miss the key and pay a handshake — slower, and never one tenant acting under
|
|
66
|
+
* another tenant's uid, which is what an instance-remembered uid would have become the moment the
|
|
67
|
+
* scope widened. The key is the credential, so the widening cost a round trip and no correctness.
|
|
68
|
+
*
|
|
69
|
+
* This replaces the slice-1 note that said a rotation needs a process restart, and with it the
|
|
70
|
+
* owed work to "measure against real session-expiry behavior". That measurement was owed for an
|
|
71
|
+
* invalidation TRIGGER, and this design needs no trigger. It also has nothing to expire against:
|
|
72
|
+
* `execute_kw` below re-presents `db` + `uid` + `apiKey` in the args of every single call, so
|
|
73
|
+
* there is no server-side session here whose lifetime we could be racing — the only thing that
|
|
74
|
+
* can retire the uid is the credential (or the instance) it names, which is exactly the key.
|
|
40
75
|
*/
|
|
41
|
-
private
|
|
76
|
+
private odooAuthenticatedIdentity?;
|
|
42
77
|
constructor(binding: HttpApiResourceBinding, providerAccessResolver: HttpApiProviderAccessResolver, fetchImpl?: HttpApiFetchLike);
|
|
43
|
-
|
|
78
|
+
/**
|
|
79
|
+
* `async`, so a target this execution cannot satisfy REJECTS rather than throwing synchronously.
|
|
80
|
+
*
|
|
81
|
+
* `connectionTargetForBinding` refuses before the port is reached, and a synchronous throw out of
|
|
82
|
+
* a `Promise`-returning method escapes every `.catch()` a caller attaches — the failure would land
|
|
83
|
+
* as an unhandled exception in whichever frame happened to call it without `await`. The keyword is
|
|
84
|
+
* the whole fix.
|
|
85
|
+
*/
|
|
86
|
+
resolveAccess(executionContext: ExecutionContext<any>): Promise<HttpApiProviderAccess>;
|
|
44
87
|
odataGet(executionContext: ExecutionContext<any>, compiled: ODataCompiledRequest): Promise<unknown>;
|
|
45
88
|
odataGetOrNull(executionContext: ExecutionContext<any>, compiled: ODataCompiledRequest): Promise<unknown | null>;
|
|
46
89
|
/**
|
|
@@ -69,6 +112,15 @@ export declare class HttpApiReadClient {
|
|
|
69
112
|
restJsonReadOrNull(executionContext: ExecutionContext<any>, compiled: RestJsonCompiledRequest): Promise<unknown | null>;
|
|
70
113
|
private buildRestJsonRequest;
|
|
71
114
|
odooExecuteKw(executionContext: ExecutionContext<any>, call: OdooCompiledCall): Promise<unknown>;
|
|
115
|
+
/**
|
|
116
|
+
* The identity a cached uid belongs to: the instance it was minted on, and the exact credential
|
|
117
|
+
* it was minted with.
|
|
118
|
+
*
|
|
119
|
+
* `JSON.stringify` over the tuple rather than a joined string because JSON escapes each member,
|
|
120
|
+
* so no combination of separators inside a db name, a login or a key can make two different
|
|
121
|
+
* tuples produce one key.
|
|
122
|
+
*/
|
|
123
|
+
private static odooCredentialKey;
|
|
72
124
|
private executeOdooRpc;
|
|
73
125
|
/** OData's canonical `DELETE /EntitySet(key)`; a 404 is the row already gone (idempotent). */
|
|
74
126
|
odataDeleteByPath(executionContext: ExecutionContext<any>, path: string): Promise<void>;
|
package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-api-read-client.backend.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"http-api-read-client.backend.d.ts","sourceRoot":"","sources":["../../../../../../src/base-classes/services/repositories/http-api/http-api-read-client.backend.ts"],"names":[],"mappings":"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"}
|