@wildo-ai/saas-backend-lib 1.1.1 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/applications/services/worker-remote-client-factory.backend.service.d.ts.map +1 -1
- package/dist/esm/applications/services/worker-remote-client-factory.backend.service.js +19 -1
- package/dist/esm/applications/services/worker-remote-client-factory.backend.service.js.map +1 -1
- package/dist/esm/base-classes/models/manual-controllers.backend.definition.d.ts.map +1 -1
- package/dist/esm/base-classes/models/manual-controllers.backend.definition.js +4 -0
- package/dist/esm/base-classes/models/manual-controllers.backend.definition.js.map +1 -1
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts +35 -0
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js +111 -0
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js.map +1 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts +50 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js +199 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js.map +1 -0
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.d.ts +111 -0
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.js +140 -0
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.js.map +1 -1
- package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.d.ts +14 -3
- 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 +138 -24
- 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 +3 -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 +8 -3
- package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.d.ts +11 -0
- package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.js +11 -2
- package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts +124 -13
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js +207 -21
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts +60 -8
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js +174 -26
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts +48 -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 +102 -30
- package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts +55 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts.map +1 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js +114 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js.map +1 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts +89 -14
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js +84 -11
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.js +16 -0
- package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.d.ts +20 -6
- 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 +96 -32
- 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 +3 -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-repository.backend.service.js +32 -7
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.d.ts +8 -5
- 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/introspection/introspection-resource-source.backend.port.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts +80 -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 +298 -23
- 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 +71 -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 +85 -5
- package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts +21 -0
- 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 +146 -4
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts +22 -0
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.d.ts +3 -26
- 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-implementation-coverage.backend.utils.js +3 -68
- package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js +4 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts +11 -0
- package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js +39 -5
- package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js.map +1 -1
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts +181 -2
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js +533 -43
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts +36 -3
- package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/system-access.backend.service.js +70 -8
- package/dist/esm/base-classes/services/services/system-access.backend.service.js.map +1 -1
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts +28 -0
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js +90 -0
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js.map +1 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts +44 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.js +99 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.js.map +1 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts +91 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts.map +1 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js +152 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js.map +1 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts +186 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts.map +1 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js +474 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js.map +1 -0
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts +100 -0
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js +209 -6
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js.map +1 -1
- package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts +200 -4
- package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/usage-metering.backend.service.js +593 -64
- package/dist/esm/billing/services/back-office/usage-metering.backend.service.js.map +1 -1
- package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts +36 -0
- package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts.map +1 -0
- package/dist/esm/billing/services/billing-adapter-registry.backend.js +83 -0
- package/dist/esm/billing/services/billing-adapter-registry.backend.js.map +1 -0
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts +9 -0
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts.map +1 -1
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js +11 -1
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js +54 -13
- package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts +38 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js +67 -2
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts +30 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js +43 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts +11 -3
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js +30 -16
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js +104 -25
- package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts +18 -1
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js +106 -2
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js.map +1 -1
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts +52 -0
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts.map +1 -0
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js +74 -0
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js.map +1 -0
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts +104 -11
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js +260 -26
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js.map +1 -1
- package/dist/esm/billing/testing/mock-billing-provider.d.ts +30 -1
- package/dist/esm/billing/testing/mock-billing-provider.d.ts.map +1 -1
- package/dist/esm/billing/testing/mock-billing-provider.js +25 -0
- package/dist/esm/billing/testing/mock-billing-provider.js.map +1 -1
- package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js +11 -4
- package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts +263 -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 +376 -58
- 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 +264 -7
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js +414 -5
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js +7 -1
- package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts +16 -0
- package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js +140 -0
- package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js.map +1 -0
- 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 +65 -6
- 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 +45 -0
- package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js.map +1 -1
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts +5 -0
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts.map +1 -1
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.js +6 -0
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.js.map +1 -1
- package/dist/esm/config/custom/application-config-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/config/custom/application-config-controller.backend.service.js +7 -1
- package/dist/esm/config/custom/application-config-controller.backend.service.js.map +1 -1
- package/dist/esm/config/models/app-config.backend.schemas.d.ts +146 -46
- package/dist/esm/config/models/app-config.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/app-config.backend.schemas.js +121 -12
- package/dist/esm/config/models/app-config.backend.schemas.js.map +1 -1
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts +38 -15
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js +17 -2
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js.map +1 -1
- package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts +0 -1
- package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration-loader.backend.service.js +68 -76
- package/dist/esm/config/services/app-configuration-loader.backend.service.js.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.service.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.service.js +23 -1
- package/dist/esm/config/services/app-configuration.backend.service.js.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.utils.d.ts +43 -1
- package/dist/esm/config/services/app-configuration.backend.utils.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.utils.js +52 -3
- package/dist/esm/config/services/app-configuration.backend.utils.js.map +1 -1
- package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts +25 -0
- package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts.map +1 -1
- package/dist/esm/config/services/application-startup-config-validator.backend.service.js +41 -1
- package/dist/esm/config/services/application-startup-config-validator.backend.service.js.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.d.ts +2 -2
- package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.js +2 -2
- package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.js.map +1 -1
- package/dist/esm/databases/models/filter.backend.schemas.js +2 -2
- package/dist/esm/databases/models/filter.backend.schemas.js.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-authorization.backend.service.js +20 -1
- package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.js.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js +48 -0
- package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js.map +1 -1
- package/dist/esm/databases/services/redis.service.d.ts +27 -0
- package/dist/esm/databases/services/redis.service.d.ts.map +1 -1
- package/dist/esm/databases/services/redis.service.js +29 -0
- package/dist/esm/databases/services/redis.service.js.map +1 -1
- package/dist/esm/errors/services/error-builder.backend.service.d.ts +13 -1
- package/dist/esm/errors/services/error-builder.backend.service.d.ts.map +1 -1
- package/dist/esm/errors/services/error-builder.backend.service.js +13 -1
- package/dist/esm/errors/services/error-builder.backend.service.js.map +1 -1
- package/dist/esm/errors/services/error-handler.backend.service.d.ts +70 -7
- package/dist/esm/errors/services/error-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/errors/services/error-handler.backend.service.js +134 -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/controllers/external-data-admin.backend.contracts.d.ts +41 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.d.ts.map +1 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.js +40 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.js.map +1 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.controller.d.ts +64 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.controller.d.ts.map +1 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.controller.js +193 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.controller.js.map +1 -0
- package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts +72 -4
- 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 +60 -19
- 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/external-data-transform.backend.js +7 -1
- package/dist/esm/external-data/external-data-transform.backend.js.map +1 -1
- package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.d.ts +2 -0
- package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.d.ts.map +1 -1
- package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.js +13 -0
- package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.js.map +1 -1
- package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts +4 -2
- package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts.map +1 -1
- package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.js.map +1 -1
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts +256 -0
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js +333 -0
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js.map +1 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts +56 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.js +211 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.js.map +1 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts +45 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.js +216 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.js.map +1 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts +56 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js +78 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js.map +1 -0
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts +1 -1
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js +2 -2
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js.map +1 -1
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts +89 -0
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts.map +1 -0
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js +164 -0
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js.map +1 -0
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts +26 -27
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js +50 -64
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/document-extraction.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/document-extraction.backend.service.js +3 -3
- package/dist/esm/external-providers/services/document-extraction.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/embeddings.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/embeddings.backend.service.js +4 -4
- package/dist/esm/external-providers/services/embeddings.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts +306 -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 +539 -45
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js +25 -2
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js.map +1 -1
- package/dist/esm/files/controllers/file.controller.d.ts +24 -1
- package/dist/esm/files/controllers/file.controller.d.ts.map +1 -1
- package/dist/esm/files/controllers/file.controller.js +83 -11
- package/dist/esm/files/controllers/file.controller.js.map +1 -1
- package/dist/esm/files/handlers/file-upload-route-locals.backend.types.d.ts +17 -0
- package/dist/esm/files/handlers/file-upload-route-locals.backend.types.d.ts.map +1 -0
- package/dist/esm/files/handlers/file-upload-route-locals.backend.types.js +1 -0
- package/dist/esm/files/handlers/file-upload-route-locals.backend.types.js.map +1 -0
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts +5 -1
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js +76 -13
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-operation-handler.backend.service.d.ts +18 -0
- 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 +36 -28
- package/dist/esm/files/services/file-operation-handler.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-scanning.backend.service.d.ts +94 -9
- package/dist/esm/files/services/file-scanning.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-scanning.backend.service.js +197 -17
- package/dist/esm/files/services/file-scanning.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-text-extraction.backend.service.d.ts +60 -1
- package/dist/esm/files/services/file-text-extraction.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-text-extraction.backend.service.js +167 -8
- package/dist/esm/files/services/file-text-extraction.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-upload-grant.backend.service.d.ts +214 -0
- package/dist/esm/files/services/file-upload-grant.backend.service.d.ts.map +1 -0
- package/dist/esm/files/services/file-upload-grant.backend.service.js +566 -0
- package/dist/esm/files/services/file-upload-grant.backend.service.js.map +1 -0
- package/dist/esm/files/services/files.backend.service.d.ts +87 -0
- package/dist/esm/files/services/files.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/files.backend.service.js +252 -19
- package/dist/esm/files/services/files.backend.service.js.map +1 -1
- package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts +109 -0
- package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts.map +1 -0
- package/dist/esm/files/storage/application-storage-key.backend.utils.js +123 -0
- package/dist/esm/files/storage/application-storage-key.backend.utils.js.map +1 -0
- package/dist/esm/files/storage/file-storage-provider.types.d.ts +16 -10
- package/dist/esm/files/storage/file-storage-provider.types.d.ts.map +1 -1
- package/dist/esm/files/storage/file-storage-provider.types.js.map +1 -1
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts +67 -8
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js +101 -28
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js.map +1 -1
- package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js +8 -55
- package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js.map +1 -1
- package/dist/esm/files/utils/file-field-schema-path.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/file-field-schema-path.backend.utils.js +20 -0
- package/dist/esm/files/utils/file-field-schema-path.backend.utils.js.map +1 -1
- package/dist/esm/files/utils/file-uploader.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/file-uploader.utils.js +12 -0
- package/dist/esm/files/utils/file-uploader.utils.js.map +1 -1
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts +86 -0
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts.map +1 -0
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js +288 -0
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js.map +1 -0
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts +15 -0
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js +76 -5
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/controllers/a2a.controller.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js +6 -1
- package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts +60 -0
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js +63 -0
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts +74 -0
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js +200 -44
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts +7 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js +53 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts +18 -0
- package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js +18 -0
- package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts +12 -7
- package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts +0 -13
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js +14 -22
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts +8 -3
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.js +25 -15
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts +13 -1
- package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/flows-actors.backend.schemas.js.map +1 -1
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts +88 -8
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.js +333 -31
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js +4 -2
- package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts +113 -0
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts.map +1 -0
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js +62 -0
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js.map +1 -0
- package/dist/esm/flows-actors/services/actors-system.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/actors-system.backend.service.js +0 -2
- package/dist/esm/flows-actors/services/actors-system.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/agents.backend.service.d.ts +107 -1
- package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/agents.backend.service.js +519 -56
- package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts +5 -1
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.js +79 -16
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts +34 -5
- package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/flows-actors-registry.service.js +154 -20
- package/dist/esm/flows-actors/services/flows-actors-registry.service.js.map +1 -1
- package/dist/esm/flows-actors/services/flows.backend.services.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/flows.backend.services.js +27 -23
- package/dist/esm/flows-actors/services/flows.backend.services.js.map +1 -1
- package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js +7 -1
- package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js.map +1 -1
- package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts +90 -0
- package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts.map +1 -0
- package/dist/esm/flows-actors/services/mcp-client.backend.service.js +368 -0
- package/dist/esm/flows-actors/services/mcp-client.backend.service.js.map +1 -0
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts +9 -5
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js +12 -17
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts +151 -41
- 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 +308 -143
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts +0 -207
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js +8 -243
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.js.map +1 -1
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts +9 -14
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.js +18 -89
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.js.map +1 -1
- package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts +86 -0
- package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts.map +1 -0
- package/dist/esm/guidance/services/progression-state-store.backend.service.js +155 -0
- package/dist/esm/guidance/services/progression-state-store.backend.service.js.map +1 -0
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts +10 -0
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.js +55 -5
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.js.map +1 -1
- package/dist/esm/index.d.ts +15 -5
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +45 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/inject/models/container.d.ts.map +1 -1
- package/dist/esm/inject/models/container.js +82 -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 +21 -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 +32 -4
- package/dist/esm/mcp/controllers/mcp.controller.js.map +1 -1
- package/dist/esm/mcp/models/mcp-tool.backend.schemas.d.ts +34 -0
- package/dist/esm/mcp/models/mcp-tool.backend.schemas.d.ts.map +1 -1
- package/dist/esm/mcp/models/mcp-tool.backend.schemas.js +42 -0
- package/dist/esm/mcp/models/mcp-tool.backend.schemas.js.map +1 -1
- package/dist/esm/mcp/services/mcp-server.backend.service.d.ts +84 -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 +235 -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 +64 -2
- 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 +152 -6
- package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js.map +1 -1
- package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js +49 -4
- package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts +66 -0
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts.map +1 -0
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js +199 -0
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js.map +1 -0
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts +149 -13
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js +411 -19
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts +11 -2
- package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.js.map +1 -1
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts +28 -9
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts.map +1 -1
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.js +30 -10
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.js.map +1 -1
- package/dist/esm/monitoring/logger/services/logger.service.d.ts +12 -0
- package/dist/esm/monitoring/logger/services/logger.service.d.ts.map +1 -1
- package/dist/esm/monitoring/logger/services/logger.service.js +52 -11
- package/dist/esm/monitoring/logger/services/logger.service.js.map +1 -1
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts +62 -0
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts.map +1 -0
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js +78 -0
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js.map +1 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts +309 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts.map +1 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.js +385 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.js.map +1 -0
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts +1 -0
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.js.map +1 -1
- package/dist/esm/monitoring/observability/services/metrics.service.d.ts +21 -0
- package/dist/esm/monitoring/observability/services/metrics.service.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/services/metrics.service.js +38 -0
- package/dist/esm/monitoring/observability/services/metrics.service.js.map +1 -1
- package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts +0 -80
- package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts.map +0 -1
- package/dist/esm/notifications/email/models/email-context-provider.interface.js +0 -25
- package/dist/esm/notifications/email/models/email-context-provider.interface.js.map +0 -1
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts +0 -49
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts.map +0 -1
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js +0 -141
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js.map +0 -1
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts +0 -37
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts.map +0 -1
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js +0 -121
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js.map +0 -1
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts +66 -1
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.js +105 -10
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.js.map +1 -1
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts +0 -58
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts.map +0 -1
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js +0 -223
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js.map +0 -1
- package/dist/esm/notifications/email/services/email-template-validator.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email-template-validator.backend.service.js +10 -1
- package/dist/esm/notifications/email/services/email-template-validator.backend.service.js.map +1 -1
- package/dist/esm/notifications/email/services/email.backend.service.d.ts +60 -4
- package/dist/esm/notifications/email/services/email.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email.backend.service.js +145 -43
- package/dist/esm/notifications/email/services/email.backend.service.js.map +1 -1
- package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts +0 -1
- package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts.map +1 -1
- package/dist/esm/notifications/email/utils/color-conversion.utils.js.map +1 -1
- package/dist/esm/notifications/services/notification-badge.backend.service.d.ts +142 -21
- package/dist/esm/notifications/services/notification-badge.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/services/notification-badge.backend.service.js +283 -58
- package/dist/esm/notifications/services/notification-badge.backend.service.js.map +1 -1
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts +108 -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 +432 -101
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js.map +1 -1
- package/dist/esm/notifications/sms/services/sms.backend.service.d.ts +2 -2
- package/dist/esm/notifications/sms/services/sms.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/sms/services/sms.backend.service.js +5 -5
- package/dist/esm/notifications/sms/services/sms.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts +117 -5
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js +164 -6
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts +0 -6
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js +54 -7
- 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 +5 -5
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.js +14 -13
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.d.ts +2 -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 +18 -8
- package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js +20 -18
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts +16 -0
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js +18 -0
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js.map +1 -1
- package/dist/esm/organizations/batches/organization-purge.batch.backend.service.d.ts +2 -2
- package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js +2 -2
- package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js.map +1 -1
- package/dist/esm/organizations/services/organization-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js +63 -2
- package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js.map +1 -1
- package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.js +4 -1
- package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.js.map +1 -1
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts +66 -0
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts.map +1 -0
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js +257 -0
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts +12 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.js +47 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.js.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts +87 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.js +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.js.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts +31 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.js +13 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.js.map +1 -0
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts +19 -25
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js +33 -0
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js.map +1 -1
- package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts +2 -2
- package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/domain-queue-consumer.backend.service.js +1 -4
- package/dist/esm/queue/domain-queue-consumer.backend.service.js.map +1 -1
- package/dist/esm/queue/job-consumer.backend.service.d.ts +2 -2
- package/dist/esm/queue/job-consumer.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/job-consumer.backend.service.js +1 -4
- package/dist/esm/queue/job-consumer.backend.service.js.map +1 -1
- package/dist/esm/queue/job-executor.backend.service.d.ts +2 -2
- package/dist/esm/queue/job-executor.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/job-executor.backend.service.js +1 -4
- package/dist/esm/queue/job-executor.backend.service.js.map +1 -1
- package/dist/esm/queue/queue-monitoring.backend.service.d.ts +8 -4
- package/dist/esm/queue/queue-monitoring.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue-monitoring.backend.service.js +25 -17
- package/dist/esm/queue/queue-monitoring.backend.service.js.map +1 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts +16 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.js +16 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.js.map +1 -1
- package/dist/esm/queue/queue.backend.service.d.ts +3 -3
- package/dist/esm/queue/queue.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue.backend.service.js +26 -4
- package/dist/esm/queue/queue.backend.service.js.map +1 -1
- package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts +2 -2
- package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/worker-shutdown-manager.backend.service.js +18 -3
- package/dist/esm/queue/worker-shutdown-manager.backend.service.js.map +1 -1
- package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts +50 -25
- package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-chunking.backend.utils.js +147 -39
- package/dist/esm/rag/utils/rag-chunking.backend.utils.js.map +1 -1
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts +12 -3
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js +12 -3
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js.map +1 -1
- package/dist/esm/requests/service/websocket.service.d.ts +9 -0
- package/dist/esm/requests/service/websocket.service.d.ts.map +1 -1
- package/dist/esm/requests/service/websocket.service.js +88 -15
- package/dist/esm/requests/service/websocket.service.js.map +1 -1
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.d.ts.map +1 -1
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.js +16 -2
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.js.map +1 -1
- package/dist/esm/resources/models/resources-operations.backend.definitions.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-operations.backend.definitions.js +2 -0
- package/dist/esm/resources/models/resources-operations.backend.definitions.js.map +1 -1
- package/dist/esm/resources/models/resources-relationships.backend.definitions.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-relationships.backend.definitions.js +14 -0
- package/dist/esm/resources/models/resources-relationships.backend.definitions.js.map +1 -1
- package/dist/esm/resources/models/resources-types.backend.schemas.d.ts +2 -1
- package/dist/esm/resources/models/resources-types.backend.schemas.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-types.backend.schemas.js +8 -0
- package/dist/esm/resources/models/resources-types.backend.schemas.js.map +1 -1
- package/dist/esm/resources/services/resource-id.backend.service.js +3 -3
- package/dist/esm/resources/services/resource-id.backend.service.js.map +1 -1
- package/dist/esm/resources/services/resources-registry.backend.service.d.ts +60 -5
- package/dist/esm/resources/services/resources-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/resources/services/resources-registry.backend.service.js +91 -7
- package/dist/esm/resources/services/resources-registry.backend.service.js.map +1 -1
- package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts +36 -3
- package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/controllers/health-controller.backend.service.js +32 -10
- package/dist/esm/runtime/controllers/health-controller.backend.service.js.map +1 -1
- package/dist/esm/runtime/domain-module.backend.definitions.d.ts +24 -0
- package/dist/esm/runtime/domain-module.backend.definitions.d.ts.map +1 -1
- package/dist/esm/runtime/domain-module.backend.definitions.js +24 -0
- package/dist/esm/runtime/domain-module.backend.definitions.js.map +1 -1
- package/dist/esm/runtime/services/execution-context-creator.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/execution-context-creator.backend.service.js +13 -7
- package/dist/esm/runtime/services/execution-context-creator.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts +51 -0
- package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts.map +1 -1
- package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.js.map +1 -1
- package/dist/esm/runtime/services/http-server.backend.service.d.ts +26 -0
- package/dist/esm/runtime/services/http-server.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/http-server.backend.service.js +181 -1
- package/dist/esm/runtime/services/http-server.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/start-application.backend.service.d.ts +47 -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 +343 -77
- package/dist/esm/runtime/services/start-application.backend.service.js.map +1 -1
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts +15 -0
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js +28 -0
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts +5 -1
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js +24 -4
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js +29 -4
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts +114 -0
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js +354 -3
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts +1 -0
- package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/cimd.backend.schemas.js +22 -0
- package/dist/esm/security/authentications/models/cimd.backend.schemas.js.map +1 -1
- package/dist/esm/security/authentications/models/jwt.backend.schemas.d.ts +3 -23
- package/dist/esm/security/authentications/models/jwt.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/jwt.backend.schemas.js +20 -45
- package/dist/esm/security/authentications/models/jwt.backend.schemas.js.map +1 -1
- package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts +15 -0
- package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts +0 -2
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js +23 -14
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts +0 -1
- package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js +15 -12
- package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts +113 -3
- package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js +207 -30
- package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts +95 -2
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js +153 -9
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts +190 -0
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.js +377 -53
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts +9 -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 +77 -2
- 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-mfa.backend.service.js +5 -3
- package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts +41 -0
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js +202 -23
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js +42 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js +34 -4
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts +29 -5
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js +77 -5
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts +41 -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 +87 -4
- package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts +43 -1
- package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js +277 -97
- package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts +28 -5
- package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js +72 -12
- package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js +3 -0
- package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts +28 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js +283 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js.map +1 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts +4 -3
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js +4 -3
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts +35 -0
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js +111 -21
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts +14 -1
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js +49 -8
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js +4 -0
- package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js +6 -0
- package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts +37 -1
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js +51 -0
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js.map +1 -1
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts +41 -0
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js +45 -0
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js.map +1 -1
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts +116 -0
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts.map +1 -0
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js +162 -0
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js.map +1 -0
- package/dist/esm/security/authorizations/initiator-organization-confinement.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/initiator-organization-confinement.backend.js +24 -1
- package/dist/esm/security/authorizations/initiator-organization-confinement.backend.js.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/platform-access-grant-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js +77 -3
- package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js.map +1 -1
- package/dist/esm/security/authorizations/privileged-access-review.backend.utils.d.ts +117 -0
- package/dist/esm/security/authorizations/privileged-access-review.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/authorizations/privileged-access-review.backend.utils.js +104 -0
- package/dist/esm/security/authorizations/privileged-access-review.backend.utils.js.map +1 -0
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts +4 -0
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.js +4 -0
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.js.map +1 -1
- package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts +93 -0
- package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/authorizations/role-conferral.backend.utils.js +95 -0
- package/dist/esm/security/authorizations/role-conferral.backend.utils.js.map +1 -0
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts +124 -1
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js +142 -5
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js.map +1 -1
- package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts +175 -14
- package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authorizations/services/authorizations.backend.service.js +385 -49
- package/dist/esm/security/authorizations/services/authorizations.backend.service.js.map +1 -1
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts +6 -14
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js +13 -22
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js.map +1 -1
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts +60 -0
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js +79 -0
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js.map +1 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts +161 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js +512 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts +59 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js +22 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js.map +1 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts +44 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js +20 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts +191 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js +385 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts +41 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js +358 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts +160 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js +266 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts +111 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js +107 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts +54 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js +153 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts +195 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js +387 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts +45 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js +291 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts +62 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js +29 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js.map +1 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts +127 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js +277 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js.map +1 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts +66 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js +75 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js.map +1 -0
- package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.d.ts +18 -1
- package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.js +110 -74
- package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.js.map +1 -1
- package/dist/esm/security/consumable-tokens/consumable-token-models.exports.d.ts +22 -0
- package/dist/esm/security/consumable-tokens/consumable-token-models.exports.d.ts.map +1 -0
- package/dist/esm/security/consumable-tokens/consumable-token-models.exports.js +22 -0
- package/dist/esm/security/consumable-tokens/consumable-token-models.exports.js.map +1 -0
- package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.d.ts +17 -3
- 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.backend.resources-config.schemas.js +12 -0
- package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts +41 -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 +83 -20
- 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/jwt.backend.service.d.ts.map +1 -1
- package/dist/esm/security/jwt/services/jwt.backend.service.js +1 -18
- package/dist/esm/security/jwt/services/jwt.backend.service.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts +26 -0
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js +43 -0
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts +8 -1
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js +49 -0
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/scim/controllers/scim.backend.controller.d.ts.map +1 -1
- package/dist/esm/security/scim/controllers/scim.backend.controller.js +17 -5
- package/dist/esm/security/scim/controllers/scim.backend.controller.js.map +1 -1
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts +67 -29
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js +47 -25
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js.map +1 -1
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts +10 -2
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js +10 -2
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js.map +1 -1
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts +143 -0
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js +258 -0
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js.map +1 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts +39 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js +159 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +17 -9
- package/dist/esm/.builder.pid +0 -9
package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js
CHANGED
|
@@ -13,7 +13,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
import 'reflect-metadata';
|
|
14
14
|
import { randomUUID } from 'node:crypto';
|
|
15
15
|
import { injectable, inject, optional } from 'inversify';
|
|
16
|
-
import { CoreResourceOperation, CoreResourceType, readBulkOperationSelectorIds, stripBulkOperationSelector, composeDefaultOperationResponse, PersistenceAdapter, selectByPersistenceAdapter, ResourcesConfig_OperationPathUtils, ErrorType, ErrorCustomMessageReference, ResourceOperationVariantType, ResourceOperationRiskLevel, ResourceOperationsUtils, DataMode, OPERATION_VARIANT_KEY, ChildLifecycleMode, ChildLifecycleStrategy, buildImpersonalizeScrubPatch, SubjectErasureDisposition, classifySubjectErasureDisposition, isBlockingSubjectErasureDisposition, SubjectExportPurpose, SubjectExportEdgeDisposition, SubjectExportFieldScope, SubjectExportFieldDecisionBasis, compileSubjectExportFieldDecisions, enumerateSubjectExportRelationshipTraversals, isIncludedSubjectExportEdgeDisposition, ResourceSystemAccessMode, ResourceOperation_ServiceRuntimeMode, ExecutionContext_ExecutionType, CoreConsumableTokenTypes, isWildoBackendError, Resources_SharedUtils, ResourceRelationshipBulkAction, ResourceRelationshipBulkActionRequestSchema, ResourceRelationshipBulkClearOperationRequestSchema, ResourceRelationshipBulkCreateOperationRequestSchema, ResourceRelationshipBulkLinkOperationRequestSchema, ResourceRelationshipBulkReplaceOperationRequestSchema, ResourceRelationshipBulkSetOperationRequestSchema, ResourceRelationshipBulkUnlinkOperationRequestSchema, ResourceGeneratedOperationKind, ResourceDataSubjectKind, } from '@wildo-ai/saas-models';
|
|
16
|
+
import { CoreResourceOperation, CoreResourceType, readBulkOperationSelectorIds, stripBulkOperationSelector, composeDefaultOperationResponse, PersistenceAdapter, selectByPersistenceAdapter, ResourcesConfig_OperationPathUtils, ErrorType, ErrorCustomMessageReference, ResourceOperationVariantType, ResourceOperationRiskLevel, ResourceOperationsUtils, DataMode, OPERATION_VARIANT_KEY, ChildLifecycleMode, ChildLifecycleStrategy, buildImpersonalizeScrubPatch, SubjectErasureDisposition, classifySubjectErasureDisposition, isBlockingSubjectErasureDisposition, SubjectExportPurpose, SubjectExportEdgeDisposition, SubjectExportFieldScope, SubjectExportFieldDecisionBasis, compileSubjectExportFieldDecisions, enumerateSubjectExportRelationshipTraversals, isIncludedSubjectExportEdgeDisposition, ResourceSystemAccessMode, ResourceOperation_ServiceRuntimeMode, ExecutionContext_ExecutionType, CoreConsumableTokenTypes, isWildoBackendError, Resources_SharedUtils, ResourceRelationshipBulkAction, ResourceRelationshipBulkActionRequestSchema, ResourceRelationshipBulkClearOperationRequestSchema, ResourceRelationshipBulkCreateOperationRequestSchema, ResourceRelationshipBulkLinkOperationRequestSchema, ResourceRelationshipBulkReplaceOperationRequestSchema, ResourceRelationshipBulkSetOperationRequestSchema, ResourceRelationshipBulkUnlinkOperationRequestSchema, ResourceGeneratedOperationKind, ResourceDataSubjectKind, resolveAuthConfig, } from '@wildo-ai/saas-models';
|
|
17
17
|
import { getZodObjectShape, isAuditEvidenceField, isZodObject, unwrapSchema } from '@wildo-ai/zod-decorators';
|
|
18
18
|
import { isWriteIntegrityExemptExecution } from '../../../base-classes/services/repositories/resource-write-integrity.backend.js';
|
|
19
19
|
import { collectCandidateReadOnlyFields, filterChangedReadOnlyFields, stringifyPersistedValueForCompare } from '../../../base-classes/services/services/read-only-field-change.backend.utils.js';
|
|
@@ -21,13 +21,16 @@ import { AuditLogsBackendService } from '../../../compliance/audit-trails/servic
|
|
|
21
21
|
import { resolveResourceOperationAuditDecision, resolveResourceOperationFieldEffect, } from '../../../base-classes/services/services/resource-operation-audit-emission.backend.utils.js';
|
|
22
22
|
import { resolveServerInjectedFieldAllowList } from '../../../base-classes/services/services/resource-operation-server-injected-fields.backend.utils.js';
|
|
23
23
|
import { buildRetentionMarkerStampPatch } from '../../../compliance/privacy/retention-hide-predicate.backend.js';
|
|
24
|
+
import { CHILD_LIFECYCLE_TEARDOWN_BATCH_REF } from '../../../base-classes/services/batches/engine-custom-batch-manifests.js';
|
|
24
25
|
import { SAAS_SERVICE_TYPES } from '../../../inject/models/service-types.js';
|
|
26
|
+
import { AuditObservationKind, emitAuditObservation, } from '../../../monitoring/observability/audit-observation-emission.backend.js';
|
|
25
27
|
import { RepositoriesRegistryHandlerBackendService } from '../../../base-classes/services/repositories/repositories-registry-handler.backend.service.js';
|
|
26
28
|
import { ResourceOperationHelperBackendService } from '../../../base-classes/services/resource-operations-helper.backend.service.js';
|
|
27
29
|
import { extractFunctionContextNeeds, ResourcesConfigOperationsDtosBuilderUtils, } from '@wildo-ai/saas-models';
|
|
28
30
|
import { LoggerService } from '../../../monitoring/logger/services/logger.service.js';
|
|
29
31
|
import { ErrorBuilderBackendService } from '../../../errors/services/error-builder.backend.service.js';
|
|
30
32
|
import { describeCaughtError, projectCaughtErrorLogFields } from '../../../errors/utils/error-log-level-classification.backend.utils.js';
|
|
33
|
+
import { resolveActiveMemberOrgIds } from '../../../security/authentications/services/resolve-active-member-orgs.backend.utils.js';
|
|
31
34
|
import { z } from 'zod';
|
|
32
35
|
import { PlatformMutualizedHandlerBackendService } from '../../../requests/service/platform-mutualized-handler.backend.service.js';
|
|
33
36
|
import { ResourcesRegistryBackendService } from '../../../resources/services/resources-registry.backend.service.js';
|
|
@@ -62,6 +65,8 @@ import { PdfGenerationOrchestratorBackendService, PdfGenerationRenderPhase } fro
|
|
|
62
65
|
import { getConfiguredPrimaryLanguage } from '../../../config/services/app-configuration.backend.utils.js';
|
|
63
66
|
import { FileGenerationSource } from '@wildo-ai/zod-decorators';
|
|
64
67
|
import { isUnconfinedScopeRootDirectoryRead } from '../../../security/authorizations/scope-root-collection-confinement.backend.js';
|
|
68
|
+
import { collectCrossTenantReadCrossings } from '../../../security/authorizations/cross-tenant-read-observation.backend.js';
|
|
69
|
+
import { getUsageMeteringService } from '../../../billing/services/custom-impl/billing-custom-implementations.backend.js';
|
|
65
70
|
/**
|
|
66
71
|
* Build a fresh input graph for one database-driver transaction attempt.
|
|
67
72
|
*
|
|
@@ -224,12 +229,14 @@ let ServicesRegistryHandlerBackendService = class ServicesRegistryHandlerBackend
|
|
|
224
229
|
lifecycleEvaluator;
|
|
225
230
|
postgreSQLDatabaseService;
|
|
226
231
|
samlMetadataService;
|
|
232
|
+
workerClientFactory;
|
|
227
233
|
systemAccessService;
|
|
228
234
|
subjectSessionRevocation;
|
|
229
235
|
auditLogsService;
|
|
230
236
|
ragSourceFieldDetection;
|
|
231
237
|
ragChunkStore;
|
|
232
238
|
ragIngestion;
|
|
239
|
+
auditObservationLossMetrics;
|
|
233
240
|
services;
|
|
234
241
|
serviceOperationsMap;
|
|
235
242
|
isInitialized = false;
|
|
@@ -261,7 +268,7 @@ let ServicesRegistryHandlerBackendService = class ServicesRegistryHandlerBackend
|
|
|
261
268
|
* `prefixCoreOperations` of custom operation impls.
|
|
262
269
|
*/
|
|
263
270
|
preOperationHooks = new Map();
|
|
264
|
-
constructor(repositoriesRegistry, logger, errorBuilder, resourcesRegistry, repositoryHelper, customImplRegistry, resourcePersistenceUnitOfWork, externalApiHandler, platformMutualizedHandler, serverlessServicesHandler, notificationDispatcher, populationService, virtualFieldsService, mongoDBService, fileOperationHandler, fileFieldDetection, executionContextCreator, queueService, featureGate, consumableTokenService, appConfigService, pdfGenerationOrchestrator, guidanceTriggerEvaluator, milestoneEvaluator, lifecycleEvaluator, postgreSQLDatabaseService, samlMetadataService, systemAccessService, subjectSessionRevocation, auditLogsService, ragSourceFieldDetection, ragChunkStore, ragIngestion) {
|
|
271
|
+
constructor(repositoriesRegistry, logger, errorBuilder, resourcesRegistry, repositoryHelper, customImplRegistry, resourcePersistenceUnitOfWork, externalApiHandler, platformMutualizedHandler, serverlessServicesHandler, notificationDispatcher, populationService, virtualFieldsService, mongoDBService, fileOperationHandler, fileFieldDetection, executionContextCreator, queueService, featureGate, consumableTokenService, appConfigService, pdfGenerationOrchestrator, guidanceTriggerEvaluator, milestoneEvaluator, lifecycleEvaluator, postgreSQLDatabaseService, samlMetadataService, workerClientFactory, systemAccessService, subjectSessionRevocation, auditLogsService, ragSourceFieldDetection, ragChunkStore, ragIngestion, auditObservationLossMetrics) {
|
|
265
272
|
this.repositoriesRegistry = repositoriesRegistry;
|
|
266
273
|
this.logger = logger;
|
|
267
274
|
this.errorBuilder = errorBuilder;
|
|
@@ -289,12 +296,14 @@ let ServicesRegistryHandlerBackendService = class ServicesRegistryHandlerBackend
|
|
|
289
296
|
this.lifecycleEvaluator = lifecycleEvaluator;
|
|
290
297
|
this.postgreSQLDatabaseService = postgreSQLDatabaseService;
|
|
291
298
|
this.samlMetadataService = samlMetadataService;
|
|
299
|
+
this.workerClientFactory = workerClientFactory;
|
|
292
300
|
this.systemAccessService = systemAccessService;
|
|
293
301
|
this.subjectSessionRevocation = subjectSessionRevocation;
|
|
294
302
|
this.auditLogsService = auditLogsService;
|
|
295
303
|
this.ragSourceFieldDetection = ragSourceFieldDetection;
|
|
296
304
|
this.ragChunkStore = ragChunkStore;
|
|
297
305
|
this.ragIngestion = ragIngestion;
|
|
306
|
+
this.auditObservationLossMetrics = auditObservationLossMetrics;
|
|
298
307
|
this.logger = logger;
|
|
299
308
|
this.errorBuilder = errorBuilder;
|
|
300
309
|
this.services = new Map();
|
|
@@ -316,6 +325,20 @@ let ServicesRegistryHandlerBackendService = class ServicesRegistryHandlerBackend
|
|
|
316
325
|
getSystemAccessService() {
|
|
317
326
|
return this.systemAccessService;
|
|
318
327
|
}
|
|
328
|
+
/**
|
|
329
|
+
* Exposes backend→worker dispatch to custom-impl utils — the sanctioned way for application code
|
|
330
|
+
* to move work off the request path (#426).
|
|
331
|
+
*
|
|
332
|
+
* A GETTER rather than a `ServiceResourceBackendService` constructor parameter, for exactly the
|
|
333
|
+
* reason `getSystemAccessService` is one: that constructor is invoked POSITIONALLY from
|
|
334
|
+
* `createService` and from focused tests, so a new parameter shifts existing arguments silently.
|
|
335
|
+
*
|
|
336
|
+
* Returns `undefined` only in a minimal container that does not bind the factory; a custom impl
|
|
337
|
+
* that needs one then refuses with its own named message instead of failing at DI time.
|
|
338
|
+
*/
|
|
339
|
+
getWorkerClientFactory() {
|
|
340
|
+
return this.workerClientFactory;
|
|
341
|
+
}
|
|
319
342
|
/**
|
|
320
343
|
* Exposes the session-revocation port to the per-resource services, whose scrub chokepoint ends an
|
|
321
344
|
* erased person's sessions. A port rather than a direct dependency because `AuthTokenIssuer` already
|
|
@@ -384,6 +407,22 @@ let ServicesRegistryHandlerBackendService = class ServicesRegistryHandlerBackend
|
|
|
384
407
|
getAuditLogsService() {
|
|
385
408
|
return this.auditLogsService;
|
|
386
409
|
}
|
|
410
|
+
/**
|
|
411
|
+
* The recorder that counts a DROPPED audit observation, for the two seams on
|
|
412
|
+
* `ServiceResourceBackendService` that emit fire-and-forget.
|
|
413
|
+
*
|
|
414
|
+
* A getter for exactly the reason {@link getAuditLogsService} is one: that class's constructor is
|
|
415
|
+
* invoked POSITIONALLY from `createService` and from focused tests, so a new parameter shifts
|
|
416
|
+
* existing arguments silently. The two seams therefore reach BOTH halves of their contract — the
|
|
417
|
+
* sink and the loss counter — through this handler, which is the object they already hold.
|
|
418
|
+
*
|
|
419
|
+
* Returns `undefined` in a minimal container, which degrades a lost observation to the log channel
|
|
420
|
+
* rather than to nothing. It is never a reason to refuse: an observability gap must not be able to
|
|
421
|
+
* fail the read it observes.
|
|
422
|
+
*/
|
|
423
|
+
getAuditObservationLossMetricsRecorder() {
|
|
424
|
+
return this.auditObservationLossMetrics;
|
|
425
|
+
}
|
|
387
426
|
// ================================
|
|
388
427
|
// Initialization Methods
|
|
389
428
|
// ================================
|
|
@@ -801,6 +840,59 @@ let ServicesRegistryHandlerBackendService = class ServicesRegistryHandlerBackend
|
|
|
801
840
|
isInitialized: this.isInitialized
|
|
802
841
|
};
|
|
803
842
|
}
|
|
843
|
+
/**
|
|
844
|
+
* The step-up policy for this principal, with the organisation overrides its tenants declare.
|
|
845
|
+
*
|
|
846
|
+
* Returns the RAW user-type policy unchanged — with no I/O — whenever no organisation type in the
|
|
847
|
+
* application overrides step-up, which is the overwhelmingly common case and was the ONLY case
|
|
848
|
+
* before #527. An application that authors the override pays one membership list plus one read per
|
|
849
|
+
* membership, and only on an operation where step-up is already in play.
|
|
850
|
+
*
|
|
851
|
+
* Fails OPEN to the raw policy, deliberately and unlike most guards here: this resolution is a
|
|
852
|
+
* TIGHTENING of an already-enforced gate, so a failed resolve must leave the application-wide
|
|
853
|
+
* requirement standing rather than removing it. Refusing instead would turn one unreadable
|
|
854
|
+
* membership row into a 403 on every operation the user attempts.
|
|
855
|
+
*/
|
|
856
|
+
async resolveEffectiveStepUpConfig(executionContext, activeUserType, authPolicy) {
|
|
857
|
+
const rawStepUp = authPolicy?.stepUpAuth;
|
|
858
|
+
if (!activeUserType)
|
|
859
|
+
return rawStepUp;
|
|
860
|
+
const userId = executionContext.initiatorIds?.userId;
|
|
861
|
+
if (!userId)
|
|
862
|
+
return rawStepUp;
|
|
863
|
+
try {
|
|
864
|
+
const activeOrgIds = await resolveActiveMemberOrgIds(this.systemAccessService, userId);
|
|
865
|
+
if (activeOrgIds.length === 0)
|
|
866
|
+
return rawStepUp;
|
|
867
|
+
const config = this.appConfigService.config;
|
|
868
|
+
const organizationTypes = config.organizationTypes ?? {};
|
|
869
|
+
const orgOverrides = [];
|
|
870
|
+
for (const organizationId of activeOrgIds) {
|
|
871
|
+
const organization = await this.systemAccessService.readAsSystem(CoreResourceType.ORGANIZATIONS, organizationId, { suppressSystemAudit: true });
|
|
872
|
+
const overrides = organization?.type ? organizationTypes[organization.type]?.authOverrides : undefined;
|
|
873
|
+
if (overrides)
|
|
874
|
+
orgOverrides.push(overrides);
|
|
875
|
+
}
|
|
876
|
+
if (orgOverrides.length === 0 || !authPolicy || !config.auth)
|
|
877
|
+
return rawStepUp;
|
|
878
|
+
// The canonical multi-org merge — the same `resolveAuthConfig` the login path uses, so a tenant
|
|
879
|
+
// sees ONE most-restrictive answer across every organisation they belong to rather than a
|
|
880
|
+
// per-organisation one this gate would have to choose between.
|
|
881
|
+
return resolveAuthConfig({
|
|
882
|
+
userTypeAuth: authPolicy,
|
|
883
|
+
orgOverrides,
|
|
884
|
+
orgAuthMethodPolicy: config.auth.orgAuthMethodPolicy,
|
|
885
|
+
expandableOrgMethods: config.auth.expandableOrgMethods,
|
|
886
|
+
}).stepUpAuth;
|
|
887
|
+
}
|
|
888
|
+
catch (error) {
|
|
889
|
+
this.logDebug('Step-up org-override resolution failed; falling back to the raw user-type policy', {
|
|
890
|
+
activeUserType,
|
|
891
|
+
...projectCaughtErrorLogFields(error),
|
|
892
|
+
});
|
|
893
|
+
return rawStepUp;
|
|
894
|
+
}
|
|
895
|
+
}
|
|
804
896
|
};
|
|
805
897
|
ServicesRegistryHandlerBackendService = __decorate([
|
|
806
898
|
injectable(),
|
|
@@ -836,18 +928,22 @@ ServicesRegistryHandlerBackendService = __decorate([
|
|
|
836
928
|
__param(25, optional()),
|
|
837
929
|
__param(26, inject(SAAS_SERVICE_TYPES.SAMLMetadataService)),
|
|
838
930
|
__param(26, optional()),
|
|
839
|
-
__param(27, inject(SAAS_SERVICE_TYPES.
|
|
931
|
+
__param(27, inject(SAAS_SERVICE_TYPES.WorkerRemoteClientFactoryService)),
|
|
840
932
|
__param(27, optional()),
|
|
841
|
-
__param(28, inject(SAAS_SERVICE_TYPES.
|
|
933
|
+
__param(28, inject(SAAS_SERVICE_TYPES.SystemAccessService)),
|
|
842
934
|
__param(28, optional()),
|
|
843
|
-
__param(29, inject(SAAS_SERVICE_TYPES.
|
|
935
|
+
__param(29, inject(SAAS_SERVICE_TYPES.SubjectSessionRevocationService)),
|
|
844
936
|
__param(29, optional()),
|
|
845
|
-
__param(30, inject(SAAS_SERVICE_TYPES.
|
|
937
|
+
__param(30, inject(SAAS_SERVICE_TYPES.AuditLogsService)),
|
|
846
938
|
__param(30, optional()),
|
|
847
|
-
__param(31, inject(SAAS_SERVICE_TYPES.
|
|
939
|
+
__param(31, inject(SAAS_SERVICE_TYPES.RagSourceFieldDetectionService)),
|
|
848
940
|
__param(31, optional()),
|
|
849
|
-
__param(32, inject(SAAS_SERVICE_TYPES.
|
|
941
|
+
__param(32, inject(SAAS_SERVICE_TYPES.RagChunkStoreService)),
|
|
850
942
|
__param(32, optional()),
|
|
943
|
+
__param(33, inject(SAAS_SERVICE_TYPES.RagIngestionService)),
|
|
944
|
+
__param(33, optional()),
|
|
945
|
+
__param(34, inject(SAAS_SERVICE_TYPES.MetricsService)),
|
|
946
|
+
__param(34, optional()),
|
|
851
947
|
__metadata("design:paramtypes", [RepositoriesRegistryHandlerBackendService,
|
|
852
948
|
LoggerService,
|
|
853
949
|
ErrorBuilderBackendService,
|
|
@@ -871,7 +967,7 @@ ServicesRegistryHandlerBackendService = __decorate([
|
|
|
871
967
|
GuidanceTriggerEvaluatorBackendService,
|
|
872
968
|
MilestoneEvaluatorBackendService,
|
|
873
969
|
LifecycleEvaluatorBackendService,
|
|
874
|
-
PostgreSQLDatabaseBackendService, Function, Function, Function, AuditLogsBackendService, Function, Function, Function])
|
|
970
|
+
PostgreSQLDatabaseBackendService, Function, Function, Function, Function, AuditLogsBackendService, Function, Function, Function, Object])
|
|
875
971
|
], ServicesRegistryHandlerBackendService);
|
|
876
972
|
export { ServicesRegistryHandlerBackendService };
|
|
877
973
|
//============================================================================================================================
|
|
@@ -1844,7 +1940,9 @@ export class ServiceResourceBackendService {
|
|
|
1844
1940
|
const operationKey = ResourcesConfig_OperationPathUtils.createOperationPathKey(operationPath);
|
|
1845
1941
|
const operation = this.operationsMap.get(operationKey);
|
|
1846
1942
|
if (!operation) {
|
|
1847
|
-
|
|
1943
|
+
// CONFIGURATION, not NOT_FOUND — the service tier's copy of the same structural fault the
|
|
1944
|
+
// repositories carry: an operation path this resource service does not declare.
|
|
1945
|
+
const error = this.errorBuilder.buildError(ErrorType.CONFIGURATION, executionContext, {
|
|
1848
1946
|
customMessageReference: ErrorCustomMessageReference.SERVICE_RESOURCE_OPERATION_FAILED,
|
|
1849
1947
|
context: {
|
|
1850
1948
|
message: 'Requested service operation path is not registered for this resource service.',
|
|
@@ -2018,6 +2116,32 @@ export class ServiceResourceBackendService {
|
|
|
2018
2116
|
* Failing either trigger throws STEP_UP_REQUIRED (HTTP 403); the frontend HTTP client catches that
|
|
2019
2117
|
* status, obtains a token through its registered step-up handler, and replays the request.
|
|
2020
2118
|
*/
|
|
2119
|
+
/**
|
|
2120
|
+
* Whether ANY organisation type in this application authors a `stepUpAuth` override.
|
|
2121
|
+
*
|
|
2122
|
+
* A pure fold over static configuration, memoized for the process because application
|
|
2123
|
+
* configuration does not change under a running backend. It is the switch that keeps
|
|
2124
|
+
* `enforceStepUpAuth` free for every application that has not adopted the override (#527): when
|
|
2125
|
+
* this is false, the organisation-merged step-up policy EQUALS the raw user-type policy by
|
|
2126
|
+
* construction, so there is nothing to resolve and nothing to read.
|
|
2127
|
+
*/
|
|
2128
|
+
organizationTypesOverrideStepUpAuthCache = undefined;
|
|
2129
|
+
anyOrganizationTypeOverridesStepUpAuth() {
|
|
2130
|
+
/*
|
|
2131
|
+
* `undefined` rather than `null` for "not yet computed", and the difference is not stylistic:
|
|
2132
|
+
* this class is instantiated with `Object.create(prototype)` in its own pin harnesses, which
|
|
2133
|
+
* does NOT run field initializers. A `=== null` guard therefore never matched there, the fold
|
|
2134
|
+
* silently returned `undefined`, and every test took the fast path while appearing to exercise
|
|
2135
|
+
* the switch. Caught by probing the branch rather than by any assertion — the fold was inert in
|
|
2136
|
+
* exactly the harness a future override pin would have been written in.
|
|
2137
|
+
*/
|
|
2138
|
+
if (this.organizationTypesOverrideStepUpAuthCache === undefined) {
|
|
2139
|
+
const organizationTypes = this.appConfigService.config?.organizationTypes ?? {};
|
|
2140
|
+
this.organizationTypesOverrideStepUpAuthCache = Object.values(organizationTypes)
|
|
2141
|
+
.some((definition) => definition?.authOverrides?.stepUpAuth !== undefined);
|
|
2142
|
+
}
|
|
2143
|
+
return this.organizationTypesOverrideStepUpAuthCache;
|
|
2144
|
+
}
|
|
2021
2145
|
async enforceStepUpAuth(coreOperation, executionContext, options, operation) {
|
|
2022
2146
|
if (executionContext.executionType !== ExecutionContext_ExecutionType.USER_REQUEST)
|
|
2023
2147
|
return;
|
|
@@ -2032,7 +2156,40 @@ export class ServiceResourceBackendService {
|
|
|
2032
2156
|
const authPolicy = activeUserType
|
|
2033
2157
|
? this.appConfigService.getUserTypeAuthPolicy(activeUserType)
|
|
2034
2158
|
: undefined;
|
|
2035
|
-
|
|
2159
|
+
/*
|
|
2160
|
+
* The ORGANISATION-MERGED step-up policy, resolved only when an organisation could actually
|
|
2161
|
+
* change the answer (#527).
|
|
2162
|
+
*
|
|
2163
|
+
* Until 2026-09-09 an organisation type could tighten `mfaPolicy` and `passwordPolicy` but not
|
|
2164
|
+
* re-authentication freshness — the override did not exist — so reading the raw user-type policy
|
|
2165
|
+
* here was correct. Now that it does, reading the raw policy would drop a tenant's tightened
|
|
2166
|
+
* window, which is the defect the other three overrides exist to prevent.
|
|
2167
|
+
*
|
|
2168
|
+
* ## Why this is not a per-request read
|
|
2169
|
+
*
|
|
2170
|
+
* This gate runs on EVERY user-request operation, and the exact resolver
|
|
2171
|
+
* (`resolveEffectiveAuthPolicy`) lists the user's memberships and then reads one organisation
|
|
2172
|
+
* PER membership. That is unaffordable here, and the cheap alternative is unavailable: the
|
|
2173
|
+
* execution context carries an `organizationId` but no organisation TYPE, so even the pure
|
|
2174
|
+
* org-type resolver would need a read to find its own input.
|
|
2175
|
+
*
|
|
2176
|
+
* So the cost is made PROPORTIONAL TO USE instead. `anyOrganizationTypeOverridesStepUpAuth` is a
|
|
2177
|
+
* pure fold over static application configuration: when no organisation type in the application
|
|
2178
|
+
* authors a `stepUpAuth` override — the case for every application that has not adopted this —
|
|
2179
|
+
* the merged policy is the raw policy BY CONSTRUCTION, and this gate keeps exactly the zero-I/O
|
|
2180
|
+
* behaviour it had before. Only an application that actually authors the override pays, and only
|
|
2181
|
+
* on the operations where step-up is already in play.
|
|
2182
|
+
*/
|
|
2183
|
+
const rawStepUpConfig = authPolicy?.stepUpAuth;
|
|
2184
|
+
/*
|
|
2185
|
+
* The fast path is LOCAL and dependency-free, which is the whole point: an application whose
|
|
2186
|
+
* organisation types author no `stepUpAuth` override cannot have a merged policy that differs
|
|
2187
|
+
* from the raw one, so it never reaches the registry and never performs a read. Every
|
|
2188
|
+
* application behaves exactly as it did before #527 until it adopts the override.
|
|
2189
|
+
*/
|
|
2190
|
+
const stepUpConfig = this.anyOrganizationTypeOverridesStepUpAuth()
|
|
2191
|
+
? await this.servicesRegistry.resolveEffectiveStepUpConfig(executionContext, activeUserType, authPolicy)
|
|
2192
|
+
: rawStepUpConfig;
|
|
2036
2193
|
// Neither trigger fires → nothing to enforce.
|
|
2037
2194
|
if (!operationRequiresStepUp && !stepUpConfig?.enabled)
|
|
2038
2195
|
return;
|
|
@@ -2457,7 +2614,32 @@ export class ServiceResourceBackendService {
|
|
|
2457
2614
|
|| coreOperation === CoreResourceOperation.DELETE
|
|
2458
2615
|
|| coreOperation === CoreResourceOperation.DELETE_MANY;
|
|
2459
2616
|
const skipCorePersistenceForTargetlessReplace = willReplaceCore && coreMutationRequiresTarget && !target;
|
|
2460
|
-
|
|
2617
|
+
/*
|
|
2618
|
+
* A CREATE-borrowing REPLACE op must not run the core create either, and for a STRONGER reason
|
|
2619
|
+
* than the targetless case above.
|
|
2620
|
+
*
|
|
2621
|
+
* An op borrows `CoreResourceOperation.CREATE` to obtain the collection-POST route shape — a
|
|
2622
|
+
* request that carries a body but addresses no instance — while its replace impl does the real
|
|
2623
|
+
* work and the core result is discarded. Running the core create anyway has two outcomes, both
|
|
2624
|
+
* wrong, and CREATE is the one verb where neither is a tolerated near-no-op:
|
|
2625
|
+
*
|
|
2626
|
+
* - the op's own narrow request contract does not satisfy the resource's persistence schema,
|
|
2627
|
+
* so the core create fails on missing required fields and the caller gets an opaque
|
|
2628
|
+
* `repository_resource_operation_failed` — the replace handler never runs. This is
|
|
2629
|
+
* `auditLogs | exportAuditLogs`, which had never once succeeded (#319): its request is an
|
|
2630
|
+
* export FILTER, and an audit row's required fields are nothing a filter would carry.
|
|
2631
|
+
* - or the contract happens to satisfy it, and the core create INSERTS A SPURIOUS ROW that is
|
|
2632
|
+
* then thrown away. A phantom write is worse than the failure, because nothing reports it.
|
|
2633
|
+
*
|
|
2634
|
+
* Measured before changing: of the six operations that borrow CREATE, exactly one also declares
|
|
2635
|
+
* REPLACE — so this changes the behaviour of one operation that was unreachable, and forecloses
|
|
2636
|
+
* the phantom write for any future one. The sibling guard above deliberately lists only the
|
|
2637
|
+
* target-requiring mutations; CREATE needs its own condition because it requires no target and
|
|
2638
|
+
* would never satisfy `!target`.
|
|
2639
|
+
*/
|
|
2640
|
+
const skipCorePersistenceForCreateBorrowingReplace = willReplaceCore
|
|
2641
|
+
&& coreOperation === CoreResourceOperation.CREATE;
|
|
2642
|
+
coreState = skipCorePersistenceForTargetlessReplace || skipCorePersistenceForCreateBorrowingReplace
|
|
2461
2643
|
? undefined
|
|
2462
2644
|
: await this.executeCorePersistenceOperation({
|
|
2463
2645
|
operation,
|
|
@@ -2609,6 +2791,20 @@ export class ServiceResourceBackendService {
|
|
|
2609
2791
|
? currentState.resource
|
|
2610
2792
|
: currentState;
|
|
2611
2793
|
await this.dispatchNotifications(executionContext, inputData, notificationCurrentState, transactionallyPreparedTokenGenerationResult, preOperationState);
|
|
2794
|
+
/*
|
|
2795
|
+
* METERED USAGE seam (#415). Sits in this chokepoint for the same reason the RAG ingestion hook
|
|
2796
|
+
* below does: it is the one post-commit point every service-tier write door reaches, so an
|
|
2797
|
+
* operation that consumes a metered product is billed whether it arrived through create, update,
|
|
2798
|
+
* a custom operation, a system write or a nested mutation.
|
|
2799
|
+
*
|
|
2800
|
+
* FIRE-AND-FORGET, like the evaluators above it. The write has already committed, so failing the
|
|
2801
|
+
* caller's operation because a usage row could not be written would trade a billing gap for an
|
|
2802
|
+
* outage — and the metering service already refuses in silence with a warning naming the product.
|
|
2803
|
+
*
|
|
2804
|
+
* `getUsageMeteringService()` returns null when billing is not configured, so an application
|
|
2805
|
+
* without billing pays one null check per write and the whole path is inert.
|
|
2806
|
+
*/
|
|
2807
|
+
this.recordDeclaredMeteredUsage(executionContext, notificationCurrentState);
|
|
2612
2808
|
// RAG INGESTION seam — the service-tier CHANGED-FIELD hook (plan §3.c / H1). Sits in THIS
|
|
2613
2809
|
// chokepoint because it is the one post-commit point every service-tier write door reaches
|
|
2614
2810
|
// (create/createMany/update/updateMany, system writes, custom operations, nested mutations, on
|
|
@@ -2915,7 +3111,7 @@ export class ServiceResourceBackendService {
|
|
|
2915
3111
|
// parameter and `extractIdsFromExecutionContext` (the only target source on the
|
|
2916
3112
|
// `doByExecutionContext` entry) can never resolve one. The rows are named in the body, by the
|
|
2917
3113
|
// `_ids` selector the DTO builder wraps around every bulk request DTO
|
|
2918
|
-
// (`
|
|
3114
|
+
// (`Resources_BulkOperationBaseSchema`). Nothing lifted it, so EVERY client-facing bulk operation
|
|
2919
3115
|
// reached `update()` / `delete()` / `updateMany()` / `deleteMany()` with an undefined target and
|
|
2920
3116
|
// was refused as `missingParameter: id_or_ids_or_filter`. Fails closed, never mis-targeted — but
|
|
2921
3117
|
// the whole generic bulk lane was unreachable from a client, and no test could see it because
|
|
@@ -3178,6 +3374,7 @@ export class ServiceResourceBackendService {
|
|
|
3178
3374
|
serverlessServicesHandler: this.serverlessServicesHandler,
|
|
3179
3375
|
executionContextCreator: this.executionContextCreator,
|
|
3180
3376
|
systemAccessService: this.servicesRegistry.getSystemAccessService?.(),
|
|
3377
|
+
workerClientFactory: this.servicesRegistry.getWorkerClientFactory?.(),
|
|
3181
3378
|
samlMetadataService: this.servicesRegistry.getSamlMetadataService?.(),
|
|
3182
3379
|
objectContext: {
|
|
3183
3380
|
parents: computationContext.objectContext?.parents || {},
|
|
@@ -3541,10 +3738,10 @@ export class ServiceResourceBackendService {
|
|
|
3541
3738
|
// 2. The validation doesn't check if the user has permission to link the specific
|
|
3542
3739
|
// file - only that the file exists and is in UPLOADED status.
|
|
3543
3740
|
//
|
|
3544
|
-
// 3.
|
|
3545
|
-
//
|
|
3546
|
-
//
|
|
3547
|
-
//
|
|
3741
|
+
// 3. File metadata is no longer pinned to MongoDB: FILES declares no
|
|
3742
|
+
// `persistenceAdapter` and follows the application's default, so on a
|
|
3743
|
+
// PostgreSQL application this lookup is a PostgreSQL read on the same
|
|
3744
|
+
// adapter as the parent row. Do not reason from a cross-adapter lookup here.
|
|
3548
3745
|
// ============================================================================
|
|
3549
3746
|
const generatedPdfMaterializations = [];
|
|
3550
3747
|
let enrichedData;
|
|
@@ -3880,6 +4077,7 @@ export class ServiceResourceBackendService {
|
|
|
3880
4077
|
// 3. Apply business context enrichment
|
|
3881
4078
|
const enrichedResult = await this.enrichBusinessContext(CoreResourceOperation.READ, processedResult, executionContext);
|
|
3882
4079
|
this.logDebug('Read business operation completed', { dataMode });
|
|
4080
|
+
this.recordCrossTenantReadAccess(operation, executionContext, CoreResourceOperation.READ, enrichedResult);
|
|
3883
4081
|
return enrichedResult;
|
|
3884
4082
|
}
|
|
3885
4083
|
async update(operation, executionContext, id_or_ids_or_filter, data, options) {
|
|
@@ -4050,7 +4248,7 @@ export class ServiceResourceBackendService {
|
|
|
4050
4248
|
},
|
|
4051
4249
|
});
|
|
4052
4250
|
}
|
|
4053
|
-
this.assertGeneratedFileMaterializationCommitsWithRow(resourceType, executionContext, 'Generated PDF regenerate
|
|
4251
|
+
this.assertGeneratedFileMaterializationCommitsWithRow(resourceType, executionContext, 'Generated PDF regenerate requires the replacement file metadata to be swapped in the same transaction as the parent row, and this resource does not resolve to the same persistence adapter as the FILES resource, so that boundary cannot commit atomically. FILES follows the application default adapter; see resourceAdapterMap for the adapters involved.', { fieldName });
|
|
4054
4252
|
const generated = await this.pdfGenerationOrchestrator.generateForField({
|
|
4055
4253
|
resourceType,
|
|
4056
4254
|
parentRecord: currentObject,
|
|
@@ -4540,6 +4738,7 @@ export class ServiceResourceBackendService {
|
|
|
4540
4738
|
const enrichedData = await Promise.all(processedData.map((item) => this.enrichBusinessContext(CoreResourceOperation.LIST, item, executionContext)));
|
|
4541
4739
|
this.logDebug('List business operation completed (paginated)', { count: enrichedData.length, pagination: result.pagination, dataMode });
|
|
4542
4740
|
this.recordPlatformDirectoryAccess(operation, executionContext, CoreResourceOperation.LIST, enrichedData.length);
|
|
4741
|
+
this.recordCrossTenantReadAccess(operation, executionContext, CoreResourceOperation.LIST, enrichedData);
|
|
4543
4742
|
return { data: enrichedData, pagination: result.pagination };
|
|
4544
4743
|
}
|
|
4545
4744
|
else {
|
|
@@ -4549,6 +4748,7 @@ export class ServiceResourceBackendService {
|
|
|
4549
4748
|
const enrichedData = await Promise.all(processedData.map((item) => this.enrichBusinessContext(CoreResourceOperation.LIST, item, executionContext)));
|
|
4550
4749
|
this.logDebug('List business operation completed (raw)', { count: enrichedData.length, dataMode });
|
|
4551
4750
|
this.recordPlatformDirectoryAccess(operation, executionContext, CoreResourceOperation.LIST, enrichedData.length);
|
|
4751
|
+
this.recordCrossTenantReadAccess(operation, executionContext, CoreResourceOperation.LIST, enrichedData);
|
|
4552
4752
|
return enrichedData;
|
|
4553
4753
|
}
|
|
4554
4754
|
}
|
|
@@ -4573,6 +4773,19 @@ export class ServiceResourceBackendService {
|
|
|
4573
4773
|
* down, and a fail-closed variant would hand anyone a way to disable an administrative surface by
|
|
4574
4774
|
* breaking the sink. Feature-detected against the service so a partial DI binding (unit suites,
|
|
4575
4775
|
* minimal containers) cannot turn an observation into a crash.
|
|
4776
|
+
*
|
|
4777
|
+
* ## The drop is COUNTED
|
|
4778
|
+
*
|
|
4779
|
+
* Emission goes through {@link emitAuditObservation}, so an observation that never reaches the
|
|
4780
|
+
* pipeline lands on `audit_observation_dropped_total` rather than nowhere. The feature detection
|
|
4781
|
+
* therefore decides an ARGUMENT: handing the seam `undefined` is how this site reports
|
|
4782
|
+
* `SERVICE_UNAVAILABLE`, and an early return there would restore the silence — which is the whole
|
|
4783
|
+
* defect, because an empty directory-access trail reads as "nobody enumerated anything".
|
|
4784
|
+
*
|
|
4785
|
+
* Both suppressions above stay ABOVE that emission and are deliberately NOT counted: an unknown
|
|
4786
|
+
* resource configuration and a read the confinement authority DID confine are cases where nothing
|
|
4787
|
+
* was owed. Counting them would fire the loss signal on correct behaviour, and a signal that fires
|
|
4788
|
+
* on correct behaviour is one operators learn to ignore.
|
|
4576
4789
|
*/
|
|
4577
4790
|
recordPlatformDirectoryAccess(operation, executionContext, executedCoreOperation, returnedCount) {
|
|
4578
4791
|
try {
|
|
@@ -4589,19 +4802,134 @@ export class ServiceResourceBackendService {
|
|
|
4589
4802
|
}))
|
|
4590
4803
|
return;
|
|
4591
4804
|
const auditLogsService = this.servicesRegistry?.getAuditLogsService?.();
|
|
4592
|
-
|
|
4805
|
+
const emitter = typeof auditLogsService?.logPlatformDirectoryAccess === 'function'
|
|
4806
|
+
? auditLogsService
|
|
4807
|
+
: undefined;
|
|
4808
|
+
emitAuditObservation({
|
|
4809
|
+
observation: AuditObservationKind.PLATFORM_DIRECTORY_ACCESS,
|
|
4810
|
+
emit: emitter
|
|
4811
|
+
? () => emitter.logPlatformDirectoryAccess({
|
|
4812
|
+
resourceType: String(operation.resourceIdentifier),
|
|
4813
|
+
operationIdentifier: String(operation.operationIdentifier),
|
|
4814
|
+
variantType: operation.variantType,
|
|
4815
|
+
variantKey: operation.variantKey,
|
|
4816
|
+
returnedCount,
|
|
4817
|
+
initiatorRoles: (executionContext.initiatorRoles ?? []).flatMap((roleInfo) => roleInfo.roles ?? []),
|
|
4818
|
+
executionType: executionContext.executionType,
|
|
4819
|
+
actorUserId: executionContext.initiatorIds?.userId,
|
|
4820
|
+
applicationId: executionContext.initiatorIds?.applicationId,
|
|
4821
|
+
}, executionContext)
|
|
4822
|
+
: undefined,
|
|
4823
|
+
metricsResolver: () => this.servicesRegistry?.getAuditObservationLossMetricsRecorder?.(),
|
|
4824
|
+
logger: this.logger,
|
|
4825
|
+
// The SIZE is what the lost row was for — an operator who opened the directory and one who
|
|
4826
|
+
// exported it produce the same record without it, so it belongs in the loss line too.
|
|
4827
|
+
context: {
|
|
4828
|
+
observedResourceType: String(operation.resourceIdentifier),
|
|
4829
|
+
observedOperationIdentifier: String(operation.operationIdentifier),
|
|
4830
|
+
observedReturnedCount: returnedCount,
|
|
4831
|
+
observedActorUserId: executionContext.initiatorIds?.userId,
|
|
4832
|
+
},
|
|
4833
|
+
});
|
|
4834
|
+
}
|
|
4835
|
+
catch {
|
|
4836
|
+
/* observation only */
|
|
4837
|
+
}
|
|
4838
|
+
}
|
|
4839
|
+
/**
|
|
4840
|
+
* Record a READ that crossed the tenant boundary — one row per TENANT reached.
|
|
4841
|
+
*
|
|
4842
|
+
* assurance-control: WILDO.ACCESS.CROSS_TENANT_ADMINISTRATION — an operator read of another
|
|
4843
|
+
* tenant's rows leaves evidence in that tenant's own trail.
|
|
4844
|
+
*
|
|
4845
|
+
* ## Why here, and not in the authorizer
|
|
4846
|
+
*
|
|
4847
|
+
* `authorizeOrganizations` emits the same event, but it only runs for ORGANIZATIONS-scoped
|
|
4848
|
+
* resources and it decides on ONE fetched row. An APPLICATION-scoped door returns a SET whose rows
|
|
4849
|
+
* belong to many tenants, and the authorizer never sees it. This seam has the operation, the
|
|
4850
|
+
* execution context and the rows, and is adapter-neutral — the same three reasons
|
|
4851
|
+
* {@link recordPlatformDirectoryAccess} sits here.
|
|
4852
|
+
*
|
|
4853
|
+
* ## Fire-and-forget, deliberately
|
|
4854
|
+
*
|
|
4855
|
+
* No `await`, and the rejection is swallowed — the same contract as its two siblings. An operator's
|
|
4856
|
+
* read must not fail because the audit sink is down, and a fail-closed variant would hand anyone a
|
|
4857
|
+
* way to disable an administrative surface by breaking the sink.
|
|
4858
|
+
*
|
|
4859
|
+
* The service is also feature-DETECTED, matching its two siblings. Stated honestly: the outer
|
|
4860
|
+
* `catch` below would contain an absent-method `TypeError` anyway, so this check is defence in
|
|
4861
|
+
* depth rather than the only thing standing between a partial DI binding (unit suites, minimal
|
|
4862
|
+
* containers, a host binding an older audit service) and a thrown observer. What it buys is that
|
|
4863
|
+
* such a binding is a NO-OP rather than an exception path — a swallowed `TypeError` looks exactly
|
|
4864
|
+
* like a swallowed real defect. An observer must never be able to fail the request it observes.
|
|
4865
|
+
*
|
|
4866
|
+
* ## The drop is COUNTED, on the SAME member as the authorizer's half
|
|
4867
|
+
*
|
|
4868
|
+
* Emission goes through {@link emitAuditObservation} under
|
|
4869
|
+
* `AuditObservationKind.CROSS_TENANT_ADMINISTRATIVE_ACCESS` — the member the per-instance gate
|
|
4870
|
+
* already uses, deliberately. A member names the EVIDENCE rather than the emitter, so *how much
|
|
4871
|
+
* cross-tenant evidence did we lose?* stays one number instead of a sum somebody has to remember
|
|
4872
|
+
* to widen. WHICH door dropped it is in the loss line's context.
|
|
4873
|
+
*
|
|
4874
|
+
* One observation per CROSSING, so a lost set of ten tenants counts ten — the loss signal is then
|
|
4875
|
+
* proportional to the evidence actually lost rather than to the number of reads. `crossings.length
|
|
4876
|
+
* === 0` stays ABOVE it: no crossing is nothing owed, not a loss.
|
|
4877
|
+
*/
|
|
4878
|
+
recordCrossTenantReadAccess(operation, executionContext, executedCoreOperation, rows) {
|
|
4879
|
+
try {
|
|
4880
|
+
const resourceConfiguration = this.resourcesRegistry?.getResourceConfiguration?.(operation.resourceIdentifier);
|
|
4881
|
+
if (!resourceConfiguration)
|
|
4593
4882
|
return;
|
|
4594
|
-
|
|
4595
|
-
|
|
4596
|
-
|
|
4597
|
-
|
|
4598
|
-
|
|
4599
|
-
|
|
4600
|
-
|
|
4601
|
-
|
|
4602
|
-
|
|
4603
|
-
|
|
4604
|
-
|
|
4883
|
+
const crossings = collectCrossTenantReadCrossings({
|
|
4884
|
+
executionContext: executionContext,
|
|
4885
|
+
// The EXECUTED variant, for both halves of the decision — see the authority's JSDoc. Reading
|
|
4886
|
+
// enrolment from here and `admissionDeclared` from anywhere else is how the trail would come
|
|
4887
|
+
// to describe a read the observation never actually admitted.
|
|
4888
|
+
operation: operation,
|
|
4889
|
+
resourceConfiguration: resourceConfiguration,
|
|
4890
|
+
executedCoreOperation,
|
|
4891
|
+
rows,
|
|
4892
|
+
});
|
|
4893
|
+
if (crossings.length === 0)
|
|
4894
|
+
return;
|
|
4895
|
+
const auditLogsService = this.servicesRegistry?.getAuditLogsService?.();
|
|
4896
|
+
const emitter = typeof auditLogsService?.logCrossTenantAdministrativeAccess === 'function'
|
|
4897
|
+
? auditLogsService
|
|
4898
|
+
: undefined;
|
|
4899
|
+
const initiatorRoles = (executionContext.initiatorRoles ?? []).flatMap((roleInfo) => roleInfo.roles ?? []);
|
|
4900
|
+
for (const crossing of crossings) {
|
|
4901
|
+
emitAuditObservation({
|
|
4902
|
+
observation: AuditObservationKind.CROSS_TENANT_ADMINISTRATIVE_ACCESS,
|
|
4903
|
+
emit: emitter
|
|
4904
|
+
? () => emitter.logCrossTenantAdministrativeAccess({
|
|
4905
|
+
operatorUserId: executionContext.initiatorIds?.userId,
|
|
4906
|
+
targetOrganizationId: crossing.targetOrganizationId,
|
|
4907
|
+
resourceType: String(operation.resourceIdentifier),
|
|
4908
|
+
operationIdentifier: String(operation.operationIdentifier),
|
|
4909
|
+
variantType: operation.variantType,
|
|
4910
|
+
variantKey: operation.variantKey,
|
|
4911
|
+
targetResourceIds: crossing.targetResourceIds.length > 0 ? crossing.targetResourceIds : undefined,
|
|
4912
|
+
authorizingGrantId: executionContext.authorizingPlatformAccessGrantId,
|
|
4913
|
+
// Always true by construction — only a DECLARED crossing is observed, so the trail never
|
|
4914
|
+
// describes a completed read with the token that means "attempted and refused". Read from
|
|
4915
|
+
// the operation rather than hard-coded, so the two can never drift apart.
|
|
4916
|
+
admissionDeclared: operation.admitsCrossTenantPlatformAdministration === true,
|
|
4917
|
+
initiatorRoles,
|
|
4918
|
+
executionType: executionContext.executionType,
|
|
4919
|
+
})
|
|
4920
|
+
: undefined,
|
|
4921
|
+
metricsResolver: () => this.servicesRegistry?.getAuditObservationLossMetricsRecorder?.(),
|
|
4922
|
+
logger: this.logger,
|
|
4923
|
+
// The operator and the TENANT reached are the two identities the audit row would have
|
|
4924
|
+
// carried, and the pair a reviewer needs to reconstruct one lost crossing.
|
|
4925
|
+
context: {
|
|
4926
|
+
observedResourceType: String(operation.resourceIdentifier),
|
|
4927
|
+
observedOperationIdentifier: String(operation.operationIdentifier),
|
|
4928
|
+
observedTargetOrganizationId: crossing.targetOrganizationId,
|
|
4929
|
+
observedOperatorUserId: executionContext.initiatorIds?.userId,
|
|
4930
|
+
},
|
|
4931
|
+
});
|
|
4932
|
+
}
|
|
4605
4933
|
}
|
|
4606
4934
|
catch {
|
|
4607
4935
|
/* observation only */
|
|
@@ -4626,6 +4954,34 @@ export class ServiceResourceBackendService {
|
|
|
4626
4954
|
// 4. Return result with enriched data (transformation happens in doOperation)
|
|
4627
4955
|
const processedResult = { ...result, data: enrichedData };
|
|
4628
4956
|
this.logDebug('Search business operation completed', { count: enrichedData.length });
|
|
4957
|
+
// SEARCH is a directory enumeration exactly as LIST is, and it was the site this invariant
|
|
4958
|
+
// MISSED. `SCOPE_ROOT_CONFINED_OPERATIONS` names SEARCH, the event schema's own
|
|
4959
|
+
// `operationIdentifier` JSDoc names `search` as a collection verb it carries, and
|
|
4960
|
+
// `isUnconfinedScopeRootDirectoryRead` answers `true` for it — only this seam never asked.
|
|
4961
|
+
//
|
|
4962
|
+
// The cost was not theoretical and lands on the widest read in the system. `users search admin`
|
|
4963
|
+
// is THE operator directory surface (it is the one that declares `searchableFields`,
|
|
4964
|
+
// `filterFields`, `sortFields` and a 200-row page, and it is what an admin UI's user list is
|
|
4965
|
+
// built on), while `users list admin` is the unparameterised sibling. So the verb an operator
|
|
4966
|
+
// actually reaches for left nothing behind, and an empty directory-access trail reads as
|
|
4967
|
+
// "nobody enumerated anything" — the precise failure the event exists to prevent. The collection
|
|
4968
|
+
// EXPORT door inherits the fix for free: it pages through this same seam.
|
|
4969
|
+
//
|
|
4970
|
+
// It survived because the e2e lane DRIVES this exact call (`platform-directory-access.e2e.ts`
|
|
4971
|
+
// D-1g) to prove a pagination ceiling, and asserts the audit row only for LIST — an exercised
|
|
4972
|
+
// site with no assertion on it. `.claude/rules/invariant-call-site-enumeration.md`.
|
|
4973
|
+
//
|
|
4974
|
+
// `operation`, not `resolvedOperation`, matching the LIST seam and the sibling recorder one line
|
|
4975
|
+
// below. Two conventions for "which operation object" in one file is how a trail and a gate come
|
|
4976
|
+
// to disagree about which variant ran.
|
|
4977
|
+
//
|
|
4978
|
+
// COUNT is still deliberately NOT recorded, and that is unchanged: `returnedCount` means rows the
|
|
4979
|
+
// caller RECEIVED, and a COUNT returns none while disclosing a size. Recording 0 would be false
|
|
4980
|
+
// and recording the total would redefine the field. Should a count ever be treated as a
|
|
4981
|
+
// disclosure it needs an event carrying a number, which is the same conclusion the cross-tenant
|
|
4982
|
+
// read observation reached for its own COUNT exclusion.
|
|
4983
|
+
this.recordPlatformDirectoryAccess(operation, executionContext, CoreResourceOperation.SEARCH, enrichedData.length);
|
|
4984
|
+
this.recordCrossTenantReadAccess(operation, executionContext, CoreResourceOperation.SEARCH, enrichedData);
|
|
4629
4985
|
return processedResult;
|
|
4630
4986
|
}
|
|
4631
4987
|
async count(operation, executionContext, filter, options) {
|
|
@@ -5906,7 +6262,7 @@ export class ServiceResourceBackendService {
|
|
|
5906
6262
|
if (this.getGeneratedPdfFileFields(resourceType).length === 0) {
|
|
5907
6263
|
return;
|
|
5908
6264
|
}
|
|
5909
|
-
this.assertGeneratedFileMaterializationCommitsWithRow(resourceType, executionContext, 'Generated PDF creation
|
|
6265
|
+
this.assertGeneratedFileMaterializationCommitsWithRow(resourceType, executionContext, 'Generated PDF creation requires the file metadata to be committed in the same transaction as the parent row, and this resource does not resolve to the same persistence adapter as the FILES resource, so that boundary cannot commit atomically. FILES follows the application default adapter; see resourceAdapterMap for the adapters involved.');
|
|
5910
6266
|
}
|
|
5911
6267
|
async materializeGeneratedPdfFieldsForCreate(data, resourceType, executionContext, options) {
|
|
5912
6268
|
const generatedPdfFields = this.getGeneratedPdfFileFields(resourceType);
|
|
@@ -8309,20 +8665,118 @@ export class ServiceResourceBackendService {
|
|
|
8309
8665
|
return rows;
|
|
8310
8666
|
return rows.map((row) => this.omitPathsFromValue(row, excludedPaths));
|
|
8311
8667
|
}
|
|
8668
|
+
/**
|
|
8669
|
+
* Defer one relationship edge's teardown onto the custom-batch queue — the runtime behind
|
|
8670
|
+
* `ChildLifecycleMode.LAZY` (#427).
|
|
8671
|
+
*
|
|
8672
|
+
* ## What is deferred is the WHOLE teardown, not a delete
|
|
8673
|
+
*
|
|
8674
|
+
* The job carries the two resource types and the parent ids; it carries no rows, no relationship
|
|
8675
|
+
* object and no child ids. `runDeferredChildLifecycleTeardown` re-derives the edge from the
|
|
8676
|
+
* PARENT'S CURRENT CONFIGURATION at consumption time and calls `deleteChildrenImmediate` — the
|
|
8677
|
+
* same method IMMEDIATE mode calls. That is deliberate and it is what makes the mode honest:
|
|
8678
|
+
*
|
|
8679
|
+
* - **rag-removal-gate: INHERITED.** The chunk removal is the last step of that method
|
|
8680
|
+
* (`runRagChunkRemovalForDeletedRows`), so a deferred teardown cannot skip it without the
|
|
8681
|
+
* immediate one skipping it too. The obligation this method's previous comment handed to
|
|
8682
|
+
* "whoever implements it" is discharged by not having a second implementation at all.
|
|
8683
|
+
* - grandchild recursion, file orchestration and the repository delete come along for the same
|
|
8684
|
+
* reason.
|
|
8685
|
+
* - discovery happens LATER, against the rows that exist then — which is the point of LAZY. A
|
|
8686
|
+
* job carrying a child-id list would have frozen the answer at enqueue time.
|
|
8687
|
+
*
|
|
8688
|
+
* ## Enqueue failure is FATAL to the parent delete, on purpose
|
|
8689
|
+
*
|
|
8690
|
+
* If the job cannot be published, this throws and the parent's delete fails. The alternative —
|
|
8691
|
+
* log and continue — leaves orphaned children with no record that anything is owed, which is
|
|
8692
|
+
* exactly the silent data problem the fail-closed refusal here used to prevent. LAZY moves WHEN
|
|
8693
|
+
* the teardown happens; it does not make it optional.
|
|
8694
|
+
*/
|
|
8312
8695
|
async queueChildDeletion(relationship, parentIds, executionContext) {
|
|
8313
|
-
|
|
8314
|
-
|
|
8315
|
-
|
|
8316
|
-
|
|
8317
|
-
|
|
8318
|
-
|
|
8319
|
-
|
|
8320
|
-
|
|
8321
|
-
|
|
8322
|
-
|
|
8323
|
-
|
|
8324
|
-
|
|
8696
|
+
const childResourceType = relationship.resourceType2;
|
|
8697
|
+
const parentResourceType = this.resourceConfiguration.resourceIdentifier;
|
|
8698
|
+
if (!this.queueService) {
|
|
8699
|
+
throw this.errorBuilder.buildError(ErrorType.CONFIGURATION, executionContext, {
|
|
8700
|
+
customMessageReference: ErrorCustomMessageReference.SERVICE_RESOURCE_OPERATION_FAILED,
|
|
8701
|
+
context: {
|
|
8702
|
+
message: 'LAZY child lifecycle requires the queue service, which is not bound in this runtime. '
|
|
8703
|
+
+ 'Declare the relationship with ChildLifecycleMode.IMMEDIATE, or run this operation in a '
|
|
8704
|
+
+ 'host that has the queue.',
|
|
8705
|
+
parentResourceType,
|
|
8706
|
+
childResourceType,
|
|
8707
|
+
},
|
|
8708
|
+
});
|
|
8709
|
+
}
|
|
8710
|
+
const enqueued = await this.queueService.enqueueCustomBatch(CHILD_LIFECYCLE_TEARDOWN_BATCH_REF, {
|
|
8711
|
+
parentResourceType,
|
|
8712
|
+
childResourceType,
|
|
8713
|
+
parentIds,
|
|
8325
8714
|
});
|
|
8715
|
+
this.logDebug('Child lifecycle teardown deferred to the queue', {
|
|
8716
|
+
jobId: enqueued.jobId,
|
|
8717
|
+
parentResourceType,
|
|
8718
|
+
childResourceType,
|
|
8719
|
+
parentIdsCount: parentIds.length,
|
|
8720
|
+
});
|
|
8721
|
+
// TRUE per the dispatcher's `@returns` contract: this edge was processed. The erasure receipt
|
|
8722
|
+
// reads that as "the teardown ran", which for LAZY means "the teardown is owed and recorded",
|
|
8723
|
+
// and the job is durable with a dead-letter queue behind it.
|
|
8724
|
+
return true;
|
|
8725
|
+
}
|
|
8726
|
+
/**
|
|
8727
|
+
* Run a deferred child-lifecycle teardown — the consumer half of {@link queueChildDeletion} (#427).
|
|
8728
|
+
*
|
|
8729
|
+
* Public because the custom-batch executor is the caller and it reaches this service through
|
|
8730
|
+
* `ServicesRegistryHandlerBackendService.getService(parentResourceType)`. It is the ONLY public
|
|
8731
|
+
* entry to the cascade, and it re-checks the configuration rather than trusting the job:
|
|
8732
|
+
*
|
|
8733
|
+
* - the edge must still exist on the parent and still declare `onParentDelete.enabled`;
|
|
8734
|
+
* - it must still be `DELETE` + `LAZY`.
|
|
8735
|
+
*
|
|
8736
|
+
* A configuration that changed between enqueue and consumption therefore does NOT get the old
|
|
8737
|
+
* behaviour replayed. Refusing is right rather than adapting: if the edge became IMMEDIATE the
|
|
8738
|
+
* parent delete that would have run it is already gone, and if it became
|
|
8739
|
+
* IMPERSONALIZE_AND_RETAIN then hard-deleting the children is precisely the data loss the retain
|
|
8740
|
+
* strategy exists to prevent.
|
|
8741
|
+
*/
|
|
8742
|
+
async runDeferredChildLifecycleTeardown(args) {
|
|
8743
|
+
const { childResourceType, parentIds, executionContext } = args;
|
|
8744
|
+
const parentResourceType = this.resourceConfiguration.resourceIdentifier;
|
|
8745
|
+
const childRelationships = getChildDirectionRelationships(this.resourceConfiguration.resourceRelationships);
|
|
8746
|
+
const relationship = childRelationships.find((candidate) => String(candidate.resourceType2) === String(childResourceType)
|
|
8747
|
+
&& this.getResolvedLifecycleOnParentDelete(candidate)?.enabled === true);
|
|
8748
|
+
if (!relationship) {
|
|
8749
|
+
throw this.errorBuilder.buildError(ErrorType.CONFIGURATION, executionContext, {
|
|
8750
|
+
customMessageReference: ErrorCustomMessageReference.SERVICE_RESOURCE_OPERATION_FAILED,
|
|
8751
|
+
context: {
|
|
8752
|
+
message: 'Deferred child teardown names an edge this parent no longer declares with an enabled '
|
|
8753
|
+
+ 'onParentDelete lifecycle. Refusing rather than replaying the configuration the job was '
|
|
8754
|
+
+ 'enqueued under.',
|
|
8755
|
+
parentResourceType,
|
|
8756
|
+
childResourceType,
|
|
8757
|
+
},
|
|
8758
|
+
});
|
|
8759
|
+
}
|
|
8760
|
+
const lifecycleConfig = this.getResolvedLifecycleOnParentDelete(relationship);
|
|
8761
|
+
const strategy = lifecycleConfig.strategy || ChildLifecycleStrategy.DELETE;
|
|
8762
|
+
const mode = lifecycleConfig.mode || ChildLifecycleMode.IMMEDIATE;
|
|
8763
|
+
if (strategy !== ChildLifecycleStrategy.DELETE || mode !== ChildLifecycleMode.LAZY) {
|
|
8764
|
+
throw this.errorBuilder.buildError(ErrorType.CONFIGURATION, executionContext, {
|
|
8765
|
+
customMessageReference: ErrorCustomMessageReference.SERVICE_RESOURCE_OPERATION_FAILED,
|
|
8766
|
+
context: {
|
|
8767
|
+
message: 'Deferred child teardown is no longer the configured behaviour for this edge. Refusing: '
|
|
8768
|
+
+ 'hard-deleting children whose edge now declares IMPERSONALIZE_AND_RETAIN is the data '
|
|
8769
|
+
+ 'loss that strategy exists to prevent.',
|
|
8770
|
+
parentResourceType,
|
|
8771
|
+
childResourceType,
|
|
8772
|
+
strategy,
|
|
8773
|
+
mode,
|
|
8774
|
+
},
|
|
8775
|
+
});
|
|
8776
|
+
}
|
|
8777
|
+
// The SAME method IMMEDIATE mode calls. Depth starts at 0 with the edge's own budget, so the
|
|
8778
|
+
// grandchild recursion behaves exactly as it would have on the request path.
|
|
8779
|
+
return await this.deleteChildrenImmediate(relationship, [...parentIds], executionContext, 0, lifecycleConfig.maxDepth || 1, new Set());
|
|
8326
8780
|
}
|
|
8327
8781
|
/**
|
|
8328
8782
|
* Execute additional post-operation logic (non-cascading)
|
|
@@ -8415,5 +8869,41 @@ export class ServiceResourceBackendService {
|
|
|
8415
8869
|
logDebug: this.logDebug,
|
|
8416
8870
|
}, executionContext, inputData, currentResult, tokenGenerationResult, previousState);
|
|
8417
8871
|
}
|
|
8872
|
+
/**
|
|
8873
|
+
* Record the metered usage an operation DECLARES, if any (#415).
|
|
8874
|
+
*
|
|
8875
|
+
* Reads `recordsUsage` off `executionContext.operation`, which by this point is the variant-resolved
|
|
8876
|
+
* operation — the same guarantee `dispatchNotifications` relies on for its own authored config.
|
|
8877
|
+
*
|
|
8878
|
+
* The metering service is reached through a module-level getter rather than injection, because it
|
|
8879
|
+
* injects THIS class and the container cannot resolve that cycle. See `setUsageMeteringService`.
|
|
8880
|
+
*/
|
|
8881
|
+
recordDeclaredMeteredUsage(executionContext, operationResult) {
|
|
8882
|
+
const declaration = executionContext.operation?.recordsUsage;
|
|
8883
|
+
if (!declaration)
|
|
8884
|
+
return;
|
|
8885
|
+
const usageMetering = getUsageMeteringService();
|
|
8886
|
+
if (!usageMetering) {
|
|
8887
|
+
// Declared but unbillable: the operation says it consumes a metered product and the application
|
|
8888
|
+
// has no billing provider. Loud, because it is an authoring error that costs revenue silently —
|
|
8889
|
+
// every call of this operation consumes something nobody will ever be charged for.
|
|
8890
|
+
this.logger.warn('Operation declares metered usage but billing is not configured; nothing recorded', {
|
|
8891
|
+
productKey: declaration.productKey,
|
|
8892
|
+
resourceIdentifier: executionContext.operation?.resourceIdentifier,
|
|
8893
|
+
operationIdentifier: executionContext.operation?.operationIdentifier,
|
|
8894
|
+
});
|
|
8895
|
+
return;
|
|
8896
|
+
}
|
|
8897
|
+
setImmediate(() => {
|
|
8898
|
+
void usageMetering
|
|
8899
|
+
.recordDeclaredOperationUsage(declaration, executionContext, operationResult)
|
|
8900
|
+
.catch((error) => {
|
|
8901
|
+
this.logger.error('Failed to record declared metered usage', {
|
|
8902
|
+
...projectCaughtErrorLogFields(error),
|
|
8903
|
+
productKey: declaration.productKey,
|
|
8904
|
+
});
|
|
8905
|
+
});
|
|
8906
|
+
});
|
|
8907
|
+
}
|
|
8418
8908
|
}
|
|
8419
8909
|
//# sourceMappingURL=services-registry-handler.backend.service.js.map
|