@wildo-ai/saas-backend-lib 1.1.2 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/__tests__/fixture-deep-partial.d.ts.map +1 -1
- package/dist/esm/__tests__/integration/redis-integration-gate.d.ts.map +1 -1
- package/dist/esm/__tests__/setup.d.ts.map +1 -1
- package/dist/esm/__tests__/test-container.d.ts.map +1 -1
- package/dist/esm/applications/models/applications.backend.schemas.d.ts.map +1 -1
- package/dist/esm/applications/seeds/application-metadata-defaults.seeds.d.ts.map +1 -1
- package/dist/esm/applications/services/worker-remote-client-factory.backend.service.d.ts.map +1 -1
- package/dist/esm/applications/services/worker-remote-client-factory.backend.service.js +19 -1
- package/dist/esm/applications/services/worker-remote-client-factory.backend.service.js.map +1 -1
- package/dist/esm/base-classes/models/manual-controllers.backend.definition.d.ts.map +1 -1
- package/dist/esm/base-classes/models/manual-controllers.backend.definition.js +4 -0
- package/dist/esm/base-classes/models/manual-controllers.backend.definition.js.map +1 -1
- package/dist/esm/base-classes/models/repositories.backend.schemas.d.ts.map +1 -1
- package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.d.ts +1 -1
- package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/batches-cronjobs-custom-execution.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/batches-cronjobs-executor.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/batches-cronjobs-resource-execution.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts +35 -0
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js +111 -0
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js.map +1 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts +50 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js +210 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js.map +1 -0
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.d.ts +111 -0
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.js +140 -0
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.js.map +1 -1
- package/dist/esm/base-classes/services/batches/resource-retention-sweep.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/suspension-reactivation-sweep.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/abstract-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js +27 -6
- package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/controllers/utils/audit-access-fields.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/utils/operation-response-serializer.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/validate-field-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/__tests__/method-span-scan.guard-helpers.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/__tests__/mock-repositories-registry-handler.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-filter-translation.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts +124 -13
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js +220 -25
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-query.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts +60 -8
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js +191 -26
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts +47 -4
- package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js +96 -29
- package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts +55 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts.map +1 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js +114 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js.map +1 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-row-projection.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-subject-erasure-effect.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts +89 -14
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js +84 -11
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/odoo-jsonrpc-compiler.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/rest-json-query-compiler.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js +9 -1
- package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts +106 -0
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js +266 -20
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js +23 -3
- package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/repository-guarded-mutation.backend.types.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts +5 -2
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js +34 -3
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/repository-version-metadata.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/resource-write-integrity.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.d.ts +72 -0
- package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.d.ts.map +1 -0
- package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.js +88 -0
- package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.js.map +1 -0
- package/dist/esm/base-classes/services/repositories/unique-constraint-conflict-reference.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/resource-operations-helper.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/__tests__/mock-services-registry-handler.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/__tests__/mock-system-access.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/read-only-field-change.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-audit-emission.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts +22 -0
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-server-injected-fields.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-transaction-persistence.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js +4 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts +11 -0
- package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js +39 -5
- package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js.map +1 -1
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts +181 -2
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js +571 -45
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts +36 -3
- package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/system-access.backend.service.js +70 -8
- package/dist/esm/base-classes/services/services/system-access.backend.service.js.map +1 -1
- package/dist/esm/base-classes/utils/backend-type-utils.d.ts.map +1 -1
- package/dist/esm/base-classes/utils/single-subject-addressing.backend.utils.d.ts.map +1 -1
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts +28 -0
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js +90 -0
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js.map +1 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts +44 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.js +99 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.js.map +1 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts +91 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts.map +1 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js +152 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js.map +1 -0
- package/dist/esm/billing/services/back-office/abstract-billing.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/billing-feature-sync.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts +186 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts.map +1 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js +475 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js.map +1 -0
- package/dist/esm/billing/services/back-office/billing-state.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/billing-state.backend.service.js +11 -1
- package/dist/esm/billing/services/back-office/billing-state.backend.service.js.map +1 -1
- package/dist/esm/billing/services/back-office/billing-subject-erasure-effect.backend.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts +100 -0
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js +209 -6
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js.map +1 -1
- package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts +200 -4
- package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/usage-metering.backend.service.js +593 -64
- package/dist/esm/billing/services/back-office/usage-metering.backend.service.js.map +1 -1
- package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts +36 -0
- package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts.map +1 -0
- package/dist/esm/billing/services/billing-adapter-registry.backend.js +83 -0
- package/dist/esm/billing/services/billing-adapter-registry.backend.js.map +1 -0
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts +9 -0
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts.map +1 -1
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js +11 -1
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js.map +1 -1
- package/dist/esm/billing/services/billing.utils.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js +48 -7
- package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts +70 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js +98 -2
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts +30 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js +43 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/credit-pool.custom-ops.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts +11 -3
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js +30 -16
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js +104 -25
- package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts +21 -1
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js +109 -2
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js.map +1 -1
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts +52 -0
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts.map +1 -0
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js +74 -0
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js.map +1 -0
- package/dist/esm/billing/services/webhooks/billing-webhook-adapter.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/webhooks/billing-webhook-capability-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts +104 -11
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js +310 -29
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js.map +1 -1
- package/dist/esm/billing/testing/billing-test-fixtures.d.ts.map +1 -1
- package/dist/esm/billing/testing/mock-billing-provider.d.ts +30 -1
- package/dist/esm/billing/testing/mock-billing-provider.d.ts.map +1 -1
- package/dist/esm/billing/testing/mock-billing-provider.js +25 -0
- package/dist/esm/billing/testing/mock-billing-provider.js.map +1 -1
- package/dist/esm/charts/controllers/chart.backend.controller.d.ts.map +1 -1
- package/dist/esm/charts/services/chart-registry.backend.service.d.ts +80 -7
- package/dist/esm/charts/services/chart-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/charts/services/chart-registry.backend.service.js +115 -8
- package/dist/esm/charts/services/chart-registry.backend.service.js.map +1 -1
- package/dist/esm/companion-exports.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-logs.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js +11 -4
- package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/batches/immudb-audit-reconcile.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/batches/siem-webhook-delivery.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/__tests__/mock-audit-logs.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts +225 -13
- package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js +340 -62
- package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts +350 -10
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js +562 -10
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js +7 -1
- package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts +6 -2
- package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js +31 -9
- package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts +42 -0
- package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js +57 -1
- package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts +110 -0
- package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts.map +1 -0
- package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js +192 -0
- package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js.map +1 -0
- package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js +52 -0
- package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/ocsf-class-mapping.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/siem-dictionary.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/siem-ocsf-projection.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/siem-projection-contract.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/utils/audit-actor.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/utils/layer2-audit-provider-boot-diagnostic.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/index.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/retention-hide-predicate.backend.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/services/subject-erasure-external-effects.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/services/subject-session-revocation.backend.service.d.ts.map +1 -1
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts +5 -0
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts.map +1 -1
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.js +6 -0
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.js.map +1 -1
- package/dist/esm/config/bootstrap/minion-initialization-projection.backend.d.ts.map +1 -1
- package/dist/esm/config/bootstrap/runtime-principal-attestation.backend.service.d.ts.map +1 -1
- package/dist/esm/config/bootstrap/runtime-principal-attestation.backend.service.js +3 -0
- package/dist/esm/config/bootstrap/runtime-principal-attestation.backend.service.js.map +1 -1
- package/dist/esm/config/bootstrap/runtime-principal.backend.service.d.ts.map +1 -1
- package/dist/esm/config/custom/application-config-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/config/models/app-config-secrets.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/app-config.backend-authored.definitions.d.ts.map +1 -1
- package/dist/esm/config/models/app-config.backend.schemas.d.ts +145 -49
- package/dist/esm/config/models/app-config.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/app-config.backend.schemas.js +121 -12
- package/dist/esm/config/models/app-config.backend.schemas.js.map +1 -1
- package/dist/esm/config/models/app-env-config.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/apps-manager-transport.backend.definitions.d.ts +36 -0
- package/dist/esm/config/models/apps-manager-transport.backend.definitions.d.ts.map +1 -0
- package/dist/esm/config/models/apps-manager-transport.backend.definitions.js +36 -0
- package/dist/esm/config/models/apps-manager-transport.backend.definitions.js.map +1 -0
- package/dist/esm/config/models/config-mutation-boundary.utils.d.ts.map +1 -1
- package/dist/esm/config/models/postgresql-env-config.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts +38 -15
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js +17 -2
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js.map +1 -1
- package/dist/esm/config/models/runtime-topology.backend.contracts.d.ts.map +1 -1
- package/dist/esm/config/services/__tests__/mock-app-configuration.service.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts +0 -1
- package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration-loader.backend.service.js +71 -76
- package/dist/esm/config/services/app-configuration-loader.backend.service.js.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.service.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.service.js +23 -1
- package/dist/esm/config/services/app-configuration.backend.service.js.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.utils.d.ts +33 -0
- package/dist/esm/config/services/app-configuration.backend.utils.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.utils.js +39 -1
- package/dist/esm/config/services/app-configuration.backend.utils.js.map +1 -1
- package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts +37 -0
- package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts.map +1 -1
- package/dist/esm/config/services/application-startup-config-validator.backend.service.js +69 -1
- package/dist/esm/config/services/application-startup-config-validator.backend.service.js.map +1 -1
- package/dist/esm/data-seeding/batches/data-seeding-run-cleanup.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/batches/data-seeding-scheduled-rerun.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/controllers/data-seeding-admin.backend.contracts.d.ts.map +1 -1
- package/dist/esm/data-seeding/controllers/data-seeding-admin.backend.controller.d.ts.map +1 -1
- package/dist/esm/data-seeding/data-seeding-models.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/business-key-resolver.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-execution-context.shared.types.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-migrator-runner.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-reconciler.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-row-metadata.shared.schemas.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-row-metadata.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-run.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-run.shared.schemas.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed-trigger-mode-matrix.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/models/data-seed.shared.schemas.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/data-seed-application-bootstrap.backend.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/data-seed-dispatcher.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/data-seed-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/data-seed-scope-resolver-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/engines/additive-seed-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/engines/lazy-seed-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/engines/manual-seed-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/engines/sync-seed-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/engines/upgrade-seed-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-business-key.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-error.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-run-counters.shared.types.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-run-ledger.backend.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-scope-anchor.shared.types.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-scope-resolution.backend.d.ts.map +1 -1
- package/dist/esm/databases/models/aggregation.backend.schemas.d.ts.map +1 -1
- package/dist/esm/databases/models/databases.backend.schemas.d.ts.map +1 -1
- package/dist/esm/databases/models/filter.backend.schemas.d.ts.map +1 -1
- package/dist/esm/databases/models/resolve-persistence-adapter.backend.utils.d.ts.map +1 -1
- package/dist/esm/databases/models/sql.backend.schemas.d.ts.map +1 -1
- package/dist/esm/databases/models/transaction.shared.schemas.d.ts.map +1 -1
- package/dist/esm/databases/services/__tests__/mock-mongo-transaction-registry.service.d.ts.map +1 -1
- package/dist/esm/databases/services/__tests__/mock-mongodb.service.d.ts.map +1 -1
- package/dist/esm/databases/services/__tests__/mock-mongoose-model.service.d.ts.map +1 -1
- package/dist/esm/databases/services/__tests__/mock-redis.service.d.ts.map +1 -1
- package/dist/esm/databases/services/__tests__/mock-zod-mongoose-schema-convertor.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/aggregation-query.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/computed-measure-evaluator.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/field-access-validator.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/time-series-densifier.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/topn-processor.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/window-function-processor.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/db-utils.d.ts.map +1 -1
- package/dist/esm/databases/services/mongo-aggregation.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/mongodb.service.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-aggregation.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-database.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-development-provisioning.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-filter.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-migration-runner.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-ddl.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-migration-sql.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js +48 -0
- package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-plan-lockfile.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/redis.service.d.ts.map +1 -1
- package/dist/esm/databases/services/resource-persistence-unit-of-work.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/schema-planning-standalone.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/zod-to-mongoose-schema-convertor.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/zod-to-sql-hybrid-schema.planner.d.ts.map +1 -1
- package/dist/esm/databases/utils/postgresql-identifier.backend.utils.d.ts.map +1 -1
- package/dist/esm/errors/services/__tests__/mock-error-builder.service.d.ts.map +1 -1
- package/dist/esm/errors/services/error-builder.backend.service.d.ts +13 -1
- package/dist/esm/errors/services/error-builder.backend.service.d.ts.map +1 -1
- package/dist/esm/errors/services/error-builder.backend.service.js +13 -1
- package/dist/esm/errors/services/error-builder.backend.service.js.map +1 -1
- package/dist/esm/errors/services/error-handler.backend.service.d.ts +70 -7
- package/dist/esm/errors/services/error-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/errors/services/error-handler.backend.service.js +129 -8
- package/dist/esm/errors/services/error-handler.backend.service.js.map +1 -1
- package/dist/esm/errors/services/rate-limit.backend.service.d.ts +66 -0
- package/dist/esm/errors/services/rate-limit.backend.service.d.ts.map +1 -1
- package/dist/esm/errors/services/rate-limit.backend.service.js +102 -25
- package/dist/esm/errors/services/rate-limit.backend.service.js.map +1 -1
- package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts +5 -0
- package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts.map +1 -1
- package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js +25 -0
- package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js.map +1 -1
- package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts +33 -0
- package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts.map +1 -1
- package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js +40 -0
- package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js.map +1 -1
- package/dist/esm/external-data/batches/external-data-pipeline-scheduled-run.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.d.ts.map +1 -1
- package/dist/esm/external-data/controllers/external-data-admin.backend.controller.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-extraction-source.backend.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-models.exports.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts +59 -2
- package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-pipeline-run.backend.service.js +52 -17
- package/dist/esm/external-data/external-data-pipeline-run.backend.service.js.map +1 -1
- package/dist/esm/external-data/external-data-transform.backend.d.ts.map +1 -1
- package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/models/external-providers.backend.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts +4 -2
- package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts.map +1 -1
- package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.js.map +1 -1
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts +306 -0
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js +379 -0
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js.map +1 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts +56 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.js +211 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.js.map +1 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts +45 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.js +235 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.js.map +1 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts +56 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js +78 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js.map +1 -0
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts +1 -1
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js +2 -2
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js.map +1 -1
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts +89 -0
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts.map +1 -0
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js +164 -0
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js.map +1 -0
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts +26 -27
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js +50 -64
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/document-extraction.backend.service.d.ts +81 -34
- package/dist/esm/external-providers/services/document-extraction.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/document-extraction.backend.service.js +181 -100
- package/dist/esm/external-providers/services/document-extraction.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/embeddings.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/embeddings.backend.service.js +4 -4
- package/dist/esm/external-providers/services/embeddings.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/external-api-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts +413 -7
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.js +684 -45
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.d.ts +15 -1
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js +84 -5
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js.map +1 -1
- package/dist/esm/features/controllers/features.backend.controller.d.ts.map +1 -1
- package/dist/esm/features/services/__tests__/mock-feature-definition-registry.service.d.ts.map +1 -1
- package/dist/esm/features/services/__tests__/mock-feature-resolution.service.d.ts.map +1 -1
- package/dist/esm/features/services/application-features-admin-write-path.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/features/services/feature-definition-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/features/services/feature-gate.backend.service.d.ts.map +1 -1
- package/dist/esm/features/services/feature-resolution.backend.service.d.ts.map +1 -1
- package/dist/esm/features/services/organization-features-admin-write-path.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/features/services/scope-feature-ledger-relationship.backend.utils.d.ts.map +1 -1
- package/dist/esm/features/services/scope-features-cache-invalidation.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/features/testing/feature-test-utils.d.ts.map +1 -1
- package/dist/esm/files/batches/files-cleanup.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/files/constraints/file-analyzers.types.d.ts.map +1 -1
- package/dist/esm/files/constraints/file-constraint-resolver-chain.backend.service.d.ts.map +1 -1
- package/dist/esm/files/constraints/file-constraint.types.d.ts.map +1 -1
- package/dist/esm/files/constraints/file-validation.backend.service.d.ts.map +1 -1
- package/dist/esm/files/constraints/resource-field-constraint-resolver.backend.service.d.ts.map +1 -1
- package/dist/esm/files/controllers/file.controller.d.ts.map +1 -1
- package/dist/esm/files/controllers/file.controller.js +21 -13
- package/dist/esm/files/controllers/file.controller.js.map +1 -1
- package/dist/esm/files/handlers/file-upload-route-locals.backend.types.d.ts.map +1 -1
- package/dist/esm/files/handlers/file-upload-route-locals.backend.types.js.map +1 -1
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts +37 -0
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js +260 -36
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js.map +1 -1
- package/dist/esm/files/scanning/clamav-scanner.backend.service.d.ts.map +1 -1
- package/dist/esm/files/scanning/file-scan.types.d.ts.map +1 -1
- package/dist/esm/files/scanning/yara-scanner.backend.service.d.ts.map +1 -1
- package/dist/esm/files/scanning/yara-scanner.backend.service.js +20 -2
- package/dist/esm/files/scanning/yara-scanner.backend.service.js.map +1 -1
- package/dist/esm/files/services/__tests__/mock-file-field-detection.service.d.ts.map +1 -1
- package/dist/esm/files/services/__tests__/mock-file-operation-handler.service.d.ts.map +1 -1
- package/dist/esm/files/services/__tests__/mock-file-repository.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-field-detection.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-operation-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-operation-handler.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-population.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-scanning.backend.service.d.ts +94 -9
- package/dist/esm/files/services/file-scanning.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-scanning.backend.service.js +202 -17
- package/dist/esm/files/services/file-scanning.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-text-extraction.backend.service.d.ts +60 -1
- package/dist/esm/files/services/file-text-extraction.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-text-extraction.backend.service.js +175 -13
- package/dist/esm/files/services/file-text-extraction.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-upload-grant.backend.service.d.ts +53 -2
- package/dist/esm/files/services/file-upload-grant.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-upload-grant.backend.service.js +127 -3
- package/dist/esm/files/services/file-upload-grant.backend.service.js.map +1 -1
- package/dist/esm/files/services/files.backend.service.d.ts +68 -0
- package/dist/esm/files/services/files.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/files.backend.service.js +177 -5
- package/dist/esm/files/services/files.backend.service.js.map +1 -1
- package/dist/esm/files/services/rag-source-field-detection.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts +109 -0
- package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts.map +1 -0
- package/dist/esm/files/storage/application-storage-key.backend.utils.js +123 -0
- package/dist/esm/files/storage/application-storage-key.backend.utils.js.map +1 -0
- package/dist/esm/files/storage/file-storage-path-resolver.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/file-storage-provider.types.d.ts +52 -11
- package/dist/esm/files/storage/file-storage-provider.types.d.ts.map +1 -1
- package/dist/esm/files/storage/file-storage-provider.types.js.map +1 -1
- package/dist/esm/files/storage/file-storage-router.backend.service.d.ts +21 -3
- package/dist/esm/files/storage/file-storage-router.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/file-storage-router.backend.service.js +38 -5
- package/dist/esm/files/storage/file-storage-router.backend.service.js.map +1 -1
- package/dist/esm/files/storage/google-drive-storage-provider.backend.service.d.ts +87 -0
- package/dist/esm/files/storage/google-drive-storage-provider.backend.service.d.ts.map +1 -0
- package/dist/esm/files/storage/google-drive-storage-provider.backend.service.js +340 -0
- package/dist/esm/files/storage/google-drive-storage-provider.backend.service.js.map +1 -0
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts +67 -8
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js +101 -28
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js.map +1 -1
- package/dist/esm/files/storage/storage-credential-provider.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/storage/storage-platform-sts-credential-resolver.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/storage/storage-sts-credential-resolver.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/storage/storage-sts-credential-resolver.backend.utils.js +10 -3
- package/dist/esm/files/storage/storage-sts-credential-resolver.backend.utils.js.map +1 -1
- package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js +8 -55
- package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js.map +1 -1
- package/dist/esm/files/utils/file-field-schema-path.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/file-field-schema-path.backend.utils.js +20 -0
- package/dist/esm/files/utils/file-field-schema-path.backend.utils.js.map +1 -1
- package/dist/esm/files/utils/file-upload.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/file-uploader.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/file-uploader.utils.js.map +1 -1
- package/dist/esm/files/utils/file-validation.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/image-derivation.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/image-thumbnail.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts +86 -0
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts.map +1 -0
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js +288 -0
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js.map +1 -0
- package/dist/esm/files/utils/rag-source-field-schema-path.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/storage-application-identity.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts +15 -0
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js +76 -5
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/batches/a2a-push-delivery.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/controllers/a2a.controller.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js +6 -1
- package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a-dialect.backend.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a-push-notification-delivery.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a-push-notification.backend.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts +60 -0
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js +63 -0
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-push-delivery-log.repository.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-push-dispatcher.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts +74 -0
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js +196 -40
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts +7 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js +53 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts +18 -0
- package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js +18 -0
- package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts +12 -7
- package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/controllers/flows-actors.controller.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts +0 -13
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js +14 -22
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/agent-facets.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/agents.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts +8 -3
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.js +25 -15
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/flows-actors.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts +13 -1
- package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/flows-actors.backend.schemas.js.map +1 -1
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts +179 -8
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.js +436 -34
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js +4 -2
- package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts +113 -0
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts.map +1 -0
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js +62 -0
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js.map +1 -0
- package/dist/esm/flows-actors/services/__tests__/fixtures/meta-workflow-evaluation-treatment.test-fixture.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/actors-system.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/actors-system.backend.service.js +0 -2
- package/dist/esm/flows-actors/services/actors-system.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/agent-call-trace-sink.backend.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/agent-facets.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/agents.backend.service.d.ts +132 -6
- package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/agents.backend.service.js +467 -49
- package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/context-curation.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts +50 -1
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.js +270 -20
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts +34 -5
- package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/flows-actors-registry.service.js +154 -20
- package/dist/esm/flows-actors/services/flows-actors-registry.service.js.map +1 -1
- package/dist/esm/flows-actors/services/flows.backend.services.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/flows.backend.services.js +27 -23
- package/dist/esm/flows-actors/services/flows.backend.services.js.map +1 -1
- package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js +7 -1
- package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js.map +1 -1
- package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts +90 -0
- package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts.map +1 -0
- package/dist/esm/flows-actors/services/mcp-client.backend.service.js +371 -0
- package/dist/esm/flows-actors/services/mcp-client.backend.service.js.map +1 -0
- package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.d.ts +99 -0
- package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.d.ts.map +1 -0
- package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.js +155 -0
- package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.js.map +1 -0
- package/dist/esm/flows-actors/services/meta-workflow-evaluation-treatment-compiler.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/meta-workflow-standard-action-contracts.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/meta-workflow-standard-evaluation-contracts.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/meta-workflow-structured-artifact-action-compiler.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts +9 -5
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js +12 -17
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js +17 -4
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js.map +1 -1
- package/dist/esm/flows-actors/utils/bounded-subprocess.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/flows-actors-frontend-extractor.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts +0 -207
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js +8 -243
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.js.map +1 -1
- package/dist/esm/flows-actors/utils/prompt-ir-adapters.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.d.ts +77 -0
- package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.d.ts.map +1 -0
- package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.js +164 -0
- package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.js.map +1 -0
- package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.d.ts +48 -0
- package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.d.ts.map +1 -0
- package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.js +101 -0
- package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.js.map +1 -0
- package/dist/esm/guidance/batches/dormancy-detection.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/guidance-trigger-evaluator.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/lifecycle-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/guidance/services/lifecycle-evaluator.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/lifecycle-scope-id.backend.utils.d.ts.map +1 -1
- package/dist/esm/guidance/services/milestone-condition-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/milestone-definition-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts +9 -14
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.js +18 -89
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.js.map +1 -1
- package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts +86 -0
- package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts.map +1 -0
- package/dist/esm/guidance/services/progression-state-store.backend.service.js +155 -0
- package/dist/esm/guidance/services/progression-state-store.backend.service.js.map +1 -0
- package/dist/esm/guidance/services/scoped-state-read-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts +10 -0
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.js +55 -5
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.js.map +1 -1
- package/dist/esm/i18n/services/i18n.backend.service.d.ts.map +1 -1
- package/dist/esm/index.d.ts +11 -5
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +31 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/inject/models/container.d.ts +10 -0
- package/dist/esm/inject/models/container.d.ts.map +1 -1
- package/dist/esm/inject/models/container.js +126 -10
- package/dist/esm/inject/models/container.js.map +1 -1
- package/dist/esm/inject/models/service-types.d.ts +20 -3
- package/dist/esm/inject/models/service-types.d.ts.map +1 -1
- package/dist/esm/inject/models/service-types.js +22 -3
- package/dist/esm/inject/models/service-types.js.map +1 -1
- package/dist/esm/mcp/controllers/mcp.controller.d.ts.map +1 -1
- package/dist/esm/mcp/controllers/mcp.controller.js +70 -3
- package/dist/esm/mcp/controllers/mcp.controller.js.map +1 -1
- package/dist/esm/mcp/models/mcp-protocol.backend.schemas.d.ts.map +1 -1
- package/dist/esm/mcp/models/mcp-tool.backend.schemas.d.ts.map +1 -1
- package/dist/esm/mcp/models/mcp-tool.backend.schemas.js.map +1 -1
- package/dist/esm/mcp/services/mcp-server.backend.service.d.ts +56 -1
- package/dist/esm/mcp/services/mcp-server.backend.service.d.ts.map +1 -1
- package/dist/esm/mcp/services/mcp-server.backend.service.js +107 -11
- package/dist/esm/mcp/services/mcp-server.backend.service.js.map +1 -1
- package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.d.ts.map +1 -1
- package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js +22 -0
- package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js.map +1 -1
- package/dist/esm/mcp/services/resource-server-instances-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/mcp/utils/zod-to-mcp-json-schema.backend.utils.d.ts.map +1 -1
- package/dist/esm/meta-workflow-runtime.exports.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js +49 -4
- package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts +66 -0
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts.map +1 -0
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js +199 -0
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js.map +1 -0
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts +149 -13
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js +411 -19
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts +11 -2
- package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.js.map +1 -1
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts +28 -9
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts.map +1 -1
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.js +30 -10
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.js.map +1 -1
- package/dist/esm/monitoring/logger/services/__tests__/mock-logger.service.d.ts.map +1 -1
- package/dist/esm/monitoring/logger/services/logger.service.d.ts +24 -0
- package/dist/esm/monitoring/logger/services/logger.service.d.ts.map +1 -1
- package/dist/esm/monitoring/logger/services/logger.service.js +52 -11
- package/dist/esm/monitoring/logger/services/logger.service.js.map +1 -1
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts +62 -0
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts.map +1 -0
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js +78 -0
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js.map +1 -0
- package/dist/esm/monitoring/logger/utils/log-value-normalization.backend.utils.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts +313 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts.map +1 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.js +389 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.js.map +1 -0
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts +1 -0
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.js.map +1 -1
- package/dist/esm/monitoring/observability/otel-preload.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/otel-sdk-global-handle.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/services/__tests__/mock-metrics.service.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/services/metrics.service.d.ts +21 -0
- package/dist/esm/monitoring/observability/services/metrics.service.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/services/metrics.service.js +38 -0
- package/dist/esm/monitoring/observability/services/metrics.service.js.map +1 -1
- package/dist/esm/monitoring/observability/services/observability.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/components/email-components.d.ts.map +1 -1
- package/dist/esm/notifications/email/models/email-template-definition.d.ts.map +1 -1
- package/dist/esm/notifications/email/models/email-transport.backend.definitions.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email-batch-send.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts +66 -1
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.js +105 -10
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.js.map +1 -1
- package/dist/esm/notifications/email/services/email-template-validator.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email-template-validator.backend.service.js +10 -1
- package/dist/esm/notifications/email/services/email-template-validator.backend.service.js.map +1 -1
- package/dist/esm/notifications/email/services/email.backend.service.d.ts +102 -5
- package/dist/esm/notifications/email/services/email.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email.backend.service.js +222 -70
- package/dist/esm/notifications/email/services/email.backend.service.js.map +1 -1
- package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts +0 -1
- package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts.map +1 -1
- package/dist/esm/notifications/email/utils/color-conversion.utils.js.map +1 -1
- package/dist/esm/notifications/email/utils/interpolate-email-label.utils.d.ts.map +1 -1
- package/dist/esm/notifications/email/utils/zod-to-typescript.utils.d.ts.map +1 -1
- package/dist/esm/notifications/services/notification-badge.backend.service.d.ts +142 -21
- package/dist/esm/notifications/services/notification-badge.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/services/notification-badge.backend.service.js +283 -58
- package/dist/esm/notifications/services/notification-badge.backend.service.js.map +1 -1
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts +99 -13
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js +422 -66
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js.map +1 -1
- package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.d.ts +32 -0
- package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.d.ts.map +1 -0
- package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.js +32 -0
- package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.js.map +1 -0
- package/dist/esm/notifications/sms/services/sms.backend.service.d.ts +64 -10
- package/dist/esm/notifications/sms/services/sms.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/sms/services/sms.backend.service.js +277 -82
- package/dist/esm/notifications/sms/services/sms.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts +117 -5
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js +164 -6
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts +0 -6
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js +46 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js +16 -6
- package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.repository.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-dispatcher.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-public-key.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js +12 -12
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/services/polymorphic-lookup.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts +16 -0
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js +18 -0
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js.map +1 -1
- package/dist/esm/organizations/batches/organization-member-invitation-sweep.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/batches/organization-purge.batch.backend.service.d.ts +2 -2
- package/dist/esm/organizations/batches/organization-purge.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js +2 -2
- package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js.map +1 -1
- package/dist/esm/organizations/services/authority-change-audit.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/invitation-acceptance.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/org-creation-on-registration.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/org-member-roles-validation.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js +63 -2
- package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js.map +1 -1
- package/dist/esm/organizations/services/organization-deletion-audit.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-member-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-onboarding-operation.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-unit-member-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/scim-provisioning-gate.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/user-org-type-grant.backend.utils.d.ts.map +1 -1
- package/dist/esm/organizations/services/user-type-revocation-on-org-leave.backend.utils.d.ts.map +1 -1
- package/dist/esm/pdf-templates/__tests__/fixtures/tiny-pdf-template.fixture.d.ts.map +1 -1
- package/dist/esm/pdf-templates/models/pdf-template-binding.d.ts.map +1 -1
- package/dist/esm/pdf-templates/models/pdf-template-definition.d.ts.map +1 -1
- package/dist/esm/pdf-templates/services/pdf-generated-file-writer.backend.service.d.ts.map +1 -1
- package/dist/esm/pdf-templates/services/pdf-generation-orchestrator.backend.service.d.ts.map +1 -1
- package/dist/esm/pdf-templates/services/pdf-renderer.backend.service.d.ts.map +1 -1
- package/dist/esm/pdf-templates/services/pdf-template-binding.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts +66 -0
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts.map +1 -0
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js +257 -0
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts +12 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.js +47 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.js.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts +87 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.js +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.js.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts +31 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.js +13 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.js.map +1 -0
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts +19 -25
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js +33 -0
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js.map +1 -1
- package/dist/esm/queue/apps-crontabs-manager.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/cron-job-sync.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts +2 -2
- package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/domain-queue-consumer.backend.service.js +1 -4
- package/dist/esm/queue/domain-queue-consumer.backend.service.js.map +1 -1
- package/dist/esm/queue/job-completion-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/job-consumer.backend.service.d.ts +2 -2
- package/dist/esm/queue/job-consumer.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/job-consumer.backend.service.js +1 -4
- package/dist/esm/queue/job-consumer.backend.service.js.map +1 -1
- package/dist/esm/queue/job-executor.backend.service.d.ts +2 -2
- package/dist/esm/queue/job-executor.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/job-executor.backend.service.js +1 -4
- package/dist/esm/queue/job-executor.backend.service.js.map +1 -1
- package/dist/esm/queue/job-payload-storage.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/job-status-tracking.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue-monitoring.backend.service.d.ts +8 -4
- package/dist/esm/queue/queue-monitoring.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue-monitoring.backend.service.js +25 -17
- package/dist/esm/queue/queue-monitoring.backend.service.js.map +1 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts +16 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.js +16 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.js.map +1 -1
- package/dist/esm/queue/queue.backend.service.d.ts +3 -3
- package/dist/esm/queue/queue.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue.backend.service.js +26 -4
- package/dist/esm/queue/queue.backend.service.js.map +1 -1
- package/dist/esm/queue/scheduled-message-verifier.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts +2 -2
- package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/worker-shutdown-manager.backend.service.js +18 -3
- package/dist/esm/queue/worker-shutdown-manager.backend.service.js.map +1 -1
- package/dist/esm/rag/batches/rag-embedding-drain.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/batches/rag-reconciliation-sweep.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/models/rag-chunk-store.backend.types.d.ts.map +1 -1
- package/dist/esm/rag/models/rag-retrieval.backend.types.d.ts.map +1 -1
- package/dist/esm/rag/services/mongodb-rag-chunk-store.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/services/postgresql-rag-chunk-store.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-chunk-collection.mongodb-ddl.backend.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-chunk-retrieval.mongodb-query.backend.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-chunk-retrieval.postgresql-query.backend.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-chunk-store.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-chunk-table.postgresql-ddl.backend.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-ingestion.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/services/rag-retrieval.backend.service.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-chunk-fusion.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-chunk-removal.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-chunk-row-shaping.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts +50 -25
- package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-chunking.backend.utils.js +147 -39
- package/dist/esm/rag/utils/rag-chunking.backend.utils.js.map +1 -1
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts +12 -3
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js +12 -3
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js.map +1 -1
- package/dist/esm/rag/utils/rag-ingestion-trigger.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-retrieval-scope.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-source-field-value.backend.utils.d.ts.map +1 -1
- package/dist/esm/requests/models/api-routes.backend.defintions.d.ts.map +1 -1
- package/dist/esm/requests/models/requests.backend.schemas.d.ts.map +1 -1
- package/dist/esm/requests/service/platform-mutualized-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/requests/service/platform-requests.backend.utils.d.ts.map +1 -1
- package/dist/esm/requests/service/remote-client-base.backend.service.d.ts.map +1 -1
- package/dist/esm/requests/service/serverless-services-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/requests/service/websocket.service.d.ts +9 -0
- package/dist/esm/requests/service/websocket.service.d.ts.map +1 -1
- package/dist/esm/requests/service/websocket.service.js +81 -9
- package/dist/esm/requests/service/websocket.service.js.map +1 -1
- package/dist/esm/resources/backend-resource-registry.exports.d.ts.map +1 -1
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.d.ts.map +1 -1
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.js +16 -2
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.js.map +1 -1
- package/dist/esm/resources/models/index.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-operations.backend.definitions.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-operations.backend.definitions.js +2 -0
- package/dist/esm/resources/models/resources-operations.backend.definitions.js.map +1 -1
- package/dist/esm/resources/models/resources-relationships.backend.definitions.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-relationships.backend.definitions.js +14 -0
- package/dist/esm/resources/models/resources-relationships.backend.definitions.js.map +1 -1
- package/dist/esm/resources/models/resources-types.backend.schemas.d.ts +2 -1
- package/dist/esm/resources/models/resources-types.backend.schemas.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-types.backend.schemas.js +8 -0
- package/dist/esm/resources/models/resources-types.backend.schemas.js.map +1 -1
- package/dist/esm/resources/models/resources.backend.schemas.d.ts.map +1 -1
- package/dist/esm/resources/models/virtual-fields.backend.types.d.ts.map +1 -1
- package/dist/esm/resources/services/__tests__/mock-resources-registry.service.d.ts.map +1 -1
- package/dist/esm/resources/services/resource-context.backend.service.d.ts.map +1 -1
- package/dist/esm/resources/services/resource-id.backend.service.d.ts.map +1 -1
- package/dist/esm/resources/services/resource-population.backend.service.d.ts +17 -2
- package/dist/esm/resources/services/resource-population.backend.service.d.ts.map +1 -1
- package/dist/esm/resources/services/resource-population.backend.service.js +74 -18
- package/dist/esm/resources/services/resource-population.backend.service.js.map +1 -1
- package/dist/esm/resources/services/resources-registry.backend.service.d.ts +83 -5
- package/dist/esm/resources/services/resources-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/resources/services/resources-registry.backend.service.js +121 -6
- package/dist/esm/resources/services/resources-registry.backend.service.js.map +1 -1
- package/dist/esm/resources/services/virtual-fields.backend.service.d.ts.map +1 -1
- package/dist/esm/resources/utils/resource-retention.backend.utils.d.ts.map +1 -1
- package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts +36 -3
- package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/controllers/health-controller.backend.service.js +32 -10
- package/dist/esm/runtime/controllers/health-controller.backend.service.js.map +1 -1
- package/dist/esm/runtime/domain-module.backend.definitions.d.ts +24 -0
- package/dist/esm/runtime/domain-module.backend.definitions.d.ts.map +1 -1
- package/dist/esm/runtime/domain-module.backend.definitions.js +24 -0
- package/dist/esm/runtime/domain-module.backend.definitions.js.map +1 -1
- package/dist/esm/runtime/models/execution-context.backend.schemas.d.ts.map +1 -1
- package/dist/esm/runtime/models/request-context.als.backend.d.ts.map +1 -1
- package/dist/esm/runtime/models/runtime.backend.schemas.d.ts.map +1 -1
- package/dist/esm/runtime/services/execution-context-creator.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/execution-context-creator.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/execution-context-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts +51 -0
- package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts.map +1 -1
- package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.js.map +1 -1
- package/dist/esm/runtime/services/http-server.backend.service.d.ts +26 -0
- package/dist/esm/runtime/services/http-server.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/http-server.backend.service.js +191 -1
- package/dist/esm/runtime/services/http-server.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/start-application.backend.service.d.ts +19 -1
- package/dist/esm/runtime/services/start-application.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/start-application.backend.service.js +287 -89
- package/dist/esm/runtime/services/start-application.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/utils/oauth-body-cap.backend.utils.d.ts.map +1 -1
- package/dist/esm/runtime/testing/execution-context-test-fixtures.d.ts.map +1 -1
- package/dist/esm/runtime/testing/mock-execution-context-creator.service.d.ts.map +1 -1
- package/dist/esm/runtime/utils/application-startup-config-access.backend.utils.d.ts.map +1 -1
- package/dist/esm/runtime/utils/feature-gated-core-resource-exclusions.backend.utils.d.ts.map +1 -1
- package/dist/esm/runtime/utils/request-client-ip.utils.d.ts.map +1 -1
- package/dist/esm/runtime/utils/scan-default-exports.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-key-generation.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts +15 -0
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js +28 -0
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts +5 -1
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js +24 -4
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/controllers/auth-method-management-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts +22 -0
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js +113 -4
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts +114 -0
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js +354 -3
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/models/auth-constants.backend.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/authentications.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/authorization-client.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts +1 -0
- package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/cimd.backend.schemas.js +22 -0
- package/dist/esm/security/authentications/models/cimd.backend.schemas.js.map +1 -1
- package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.d.ts +37 -0
- package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.d.ts.map +1 -0
- package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.js +37 -0
- package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.js.map +1 -0
- package/dist/esm/security/authentications/models/identity-persistence-boundaries.backend.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/jwt.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts +30 -0
- package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.js.map +1 -1
- package/dist/esm/security/authentications/models/saml-authentication.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/sso-connection.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/user-authorization-version.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/seeds/enterprise-config-defaults.seeds.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/__tests__/mock-auth-execution-context-factory.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/__tests__/mock-auth-token-issuer.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/__tests__/oauth-provider-audit-spies.mock.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/__tests__/mock-domain-to-org-lookup.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/__tests__/mock-enterprise-user-provisioning.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts +0 -2
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js +23 -14
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts +0 -1
- package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js +15 -12
- package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts +113 -3
- package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js +207 -30
- package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts +95 -2
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js +153 -9
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.js +2 -1
- package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts +197 -0
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.js +384 -53
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-credential-verifier.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-execution-context-factory.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js +68 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-phone-verification.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts +41 -0
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js +202 -23
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts +97 -0
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js +260 -27
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts +14 -0
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js +70 -4
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/saml-assertion-validator.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/saml-authentication.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/saml-metadata.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/saml-replay-guard.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts +29 -5
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js +77 -5
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-session-store.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts +17 -1
- package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js +49 -17
- package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts +43 -1
- package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js +277 -97
- package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts +28 -5
- package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js +72 -12
- package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js +3 -0
- package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/scim-tokens.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts +28 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js +339 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js.map +1 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts +4 -3
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js +4 -3
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.js +11 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/email-verification-initiator.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/machine-token-issuer.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts +35 -0
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js +111 -21
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts +14 -1
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js +49 -8
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/oidc-user-claims.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/resolve-active-member-orgs.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/__tests__/mock-auth-user-lookup.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-controller.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-credential-ops.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js +4 -0
- package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-response-helper.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js +6 -0
- package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/utils/concurrent-session-eviction.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/ensure-user-profile.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts +37 -1
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js +51 -0
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js.map +1 -1
- package/dist/esm/security/authentications/services/utils/machine-auth-rate-limit.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/pkce.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/saml-java-availability.d.ts.map +1 -1
- package/dist/esm/security/authentications/utils/application-auth-policy-audit.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts +41 -0
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js +45 -0
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js.map +1 -1
- package/dist/esm/security/authentications/utils/one-off-session-lifetime.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/utils/social-oauth2-purpose.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/access-grant-decision.factory.backend.d.ts +59 -0
- package/dist/esm/security/authorizations/access-grant-decision.factory.backend.d.ts.map +1 -0
- package/dist/esm/security/authorizations/access-grant-decision.factory.backend.js +111 -0
- package/dist/esm/security/authorizations/access-grant-decision.factory.backend.js.map +1 -0
- package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.d.ts +57 -0
- package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.d.ts.map +1 -0
- package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.js +133 -0
- package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.js.map +1 -0
- package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.d.ts +41 -0
- package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.d.ts.map +1 -0
- package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.js +157 -0
- package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.js.map +1 -0
- package/dist/esm/security/authorizations/application-wide-read-admission.backend.d.ts +84 -0
- package/dist/esm/security/authorizations/application-wide-read-admission.backend.d.ts.map +1 -0
- package/dist/esm/security/authorizations/application-wide-read-admission.backend.js +99 -0
- package/dist/esm/security/authorizations/application-wide-read-admission.backend.js.map +1 -0
- package/dist/esm/security/authorizations/authorization-denial-audit.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts +116 -0
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts.map +1 -0
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js +162 -0
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js.map +1 -0
- package/dist/esm/security/authorizations/initiator-organization-confinement.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/junction-scope-resolution.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts +20 -20
- package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js +27 -28
- package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js.map +1 -1
- package/dist/esm/security/authorizations/organization-unit-narrowing-enforcement.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js +37 -124
- package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js.map +1 -1
- package/dist/esm/security/authorizations/privileged-access-review.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/relationship-foreign-key-filter.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts +4 -0
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.js +4 -0
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.js.map +1 -1
- package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts +133 -0
- package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/authorizations/role-conferral.backend.utils.js +137 -0
- package/dist/esm/security/authorizations/role-conferral.backend.utils.js.map +1 -0
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts +134 -1
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js +152 -5
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js.map +1 -1
- package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts +146 -8
- package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authorizations/services/authorizations.backend.service.js +328 -29
- package/dist/esm/security/authorizations/services/authorizations.backend.service.js.map +1 -1
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts +6 -14
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js +13 -22
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js.map +1 -1
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts +60 -0
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js +79 -0
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js.map +1 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts +299 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js +953 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts +99 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js +22 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js.map +1 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts +44 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js +20 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts +210 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js +423 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts +41 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js +358 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts +160 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js +282 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts +125 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js +123 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts +54 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js +153 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts +214 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js +430 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts +45 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js +291 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts +98 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js +29 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js.map +1 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts +127 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js +277 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js.map +1 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts +66 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js +75 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js.map +1 -0
- package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.d.ts +34 -0
- package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.js +39 -0
- package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.js.map +1 -0
- package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/consumable-token-models.exports.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/models/consumable-tokens.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/models/index.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/services/__tests__/mock-consumable-token.service.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts +21 -3
- package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js +26 -16
- package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js.map +1 -1
- package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts +9 -4
- package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/credential-rotation-grace.backend.utils.js +9 -4
- package/dist/esm/security/credential-rotation-grace.backend.utils.js.map +1 -1
- package/dist/esm/security/jwt/services/auth-jwt-guard.backend.service.d.ts.map +1 -1
- package/dist/esm/security/jwt/services/jwt.backend.service.d.ts.map +1 -1
- package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.d.ts +13 -0
- package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.d.ts.map +1 -1
- package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.js +14 -0
- package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.js.map +1 -1
- package/dist/esm/security/jwt/utils/jwt-verification-error-classification.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts +26 -0
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js +43 -0
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts +8 -1
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js +49 -0
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.d.ts +39 -0
- package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.js +60 -0
- package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.js.map +1 -0
- package/dist/esm/security/outbound/outbound-request-headers.backend.utils.d.ts +66 -0
- package/dist/esm/security/outbound/outbound-request-headers.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/outbound/outbound-request-headers.backend.utils.js +75 -0
- package/dist/esm/security/outbound/outbound-request-headers.backend.utils.js.map +1 -0
- package/dist/esm/security/scim/controllers/scim.backend.controller.d.ts.map +1 -1
- package/dist/esm/security/scim/controllers/scim.backend.controller.js +17 -5
- package/dist/esm/security/scim/controllers/scim.backend.controller.js.map +1 -1
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts +67 -29
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js +47 -25
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js.map +1 -1
- package/dist/esm/security/scim/utils/scim-attribute-path-resolver.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/scim/utils/scim-filter-parser.d.ts.map +1 -1
- package/dist/esm/security/scim/utils/scim-response-formatter.d.ts.map +1 -1
- package/dist/esm/security/session-invalidation-fence.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts +10 -2
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js +10 -2
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js.map +1 -1
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts +143 -0
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js +258 -0
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js.map +1 -0
- package/dist/esm/security/token-invalidation-fence.backend.utils.d.ts.map +1 -1
- package/dist/esm/testing.d.ts.map +1 -1
- package/dist/esm/users/services/inbound-contact-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/user-deletion-audit.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/user-force-password-reset.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts +39 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js +159 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js.map +1 -0
- package/dist/esm/users/services/user-role-administration.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/user-self-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/users/services/user-super-admin-floor.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +11 -9
- package/dist/esm/external-providers/services/flow-actor-design.backend.service.d.ts +0 -45
- package/dist/esm/external-providers/services/flow-actor-design.backend.service.d.ts.map +0 -1
- package/dist/esm/external-providers/services/flow-actor-design.backend.service.js +0 -22
- package/dist/esm/external-providers/services/flow-actor-design.backend.service.js.map +0 -1
- package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts +0 -80
- package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts.map +0 -1
- package/dist/esm/notifications/email/models/email-context-provider.interface.js +0 -25
- package/dist/esm/notifications/email/models/email-context-provider.interface.js.map +0 -1
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts +0 -49
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts.map +0 -1
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js +0 -141
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js.map +0 -1
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts +0 -37
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts.map +0 -1
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js +0 -121
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js.map +0 -1
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts +0 -58
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts.map +0 -1
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js +0 -223
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-consumer.backend.service.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"job-consumer.backend.service.d.ts","sourceRoot":"","sources":["../../../src/queue/job-consumer.backend.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AAC/G,OAAO,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AAG9G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAE/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,sCAAsC,EAAE,MAAM,8CAA8C,CAAC;AACtG,OAAO,EAUL,gBAAgB,EAKjB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,UAAU,cAAc;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,oCAAoC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACzC;AAOD,qBACa,yBAAyB;IASlC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAEjC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAEnC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IAEzC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAxB/B,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACjF,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAgB;gBAIpB,gBAAgB,EAAE,uBAAuB,EAEzC,OAAO,EAAE,YAAY,EAErB,WAAW,EAAE,yBAAyB,EAEtC,iBAAiB,EAAE,+BAA+B,EAElD,kBAAkB,EAAE,mCAAmC,EAEvD,eAAe,EAAE,mCAAmC,EAEpD,wBAAwB,EAAE,sCAAsC,EAEhE,MAAM,EAAE,aAAa,EAErB,YAAY,EAAE,0BAA0B;IAY3D,6EAA6E;IAC7E,OAAO,KAAK,aAAa,GAKxB;IAED;;OAEG;IACG,cAAc,CAAC,MAAM,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+DnE;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBpC;;OAEG;YACW,aAAa;IAqF3B;;;OAGG;YACW,gBAAgB;IAiH9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;;OAGG;YACW,cAAc;IAmH5B;;OAEG;IACH,OAAO,CAAC,WAAW;IAiBnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAepB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;OAEG;YACW,sBAAsB;IA+EpC;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB"}
|
|
@@ -30,7 +30,6 @@ import { AppConfigurationService } from '../config/services/app-configuration.ba
|
|
|
30
30
|
import { ErrorBuilderBackendService } from '../errors/services/error-builder.backend.service.js';
|
|
31
31
|
import { projectWildoBackendErrorLogFields, describeCaughtError, projectCaughtErrorLogFields } from '../errors/utils/error-log-level-classification.backend.utils.js';
|
|
32
32
|
import { adoptCorrelationIdIntoCurrentFrame, runInFreshRequestContextIfAbsent } from '../runtime/models/request-context.als.backend.js';
|
|
33
|
-
import { RabbitMQAdapterBackendService } from './adapters/rabbitmq-adapter.backend.service.js';
|
|
34
33
|
import { JobExecutorBackendService } from './job-executor.backend.service.js';
|
|
35
34
|
import { JobStatusTrackingBackendService } from './job-status-tracking.backend.service.js';
|
|
36
35
|
import { JobCompletionRegistryBackendService } from './job-completion-registry.backend.service.js';
|
|
@@ -563,9 +562,7 @@ JobConsumerBackendService = __decorate([
|
|
|
563
562
|
__param(6, inject(SAAS_SERVICE_TYPES.ScheduledMessageVerifierService)),
|
|
564
563
|
__param(7, inject(SAAS_SERVICE_TYPES.Logger)),
|
|
565
564
|
__param(8, inject(SAAS_SERVICE_TYPES.ErrorBuilderService)),
|
|
566
|
-
__metadata("design:paramtypes", [AppConfigurationService,
|
|
567
|
-
RabbitMQAdapterBackendService,
|
|
568
|
-
JobExecutorBackendService,
|
|
565
|
+
__metadata("design:paramtypes", [AppConfigurationService, Object, JobExecutorBackendService,
|
|
569
566
|
JobStatusTrackingBackendService,
|
|
570
567
|
JobCompletionRegistryBackendService,
|
|
571
568
|
WorkerShutdownManagerBackendService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-consumer.backend.service.js","sourceRoot":"","sources":["../../../../src/queue/job-consumer.backend.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AAC/G,OAAO,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AAC9G,OAAO,EAAE,iCAAiC,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,8EAA8E,CAAC;AACnL,OAAO,EAAE,kCAAkC,EAAE,gCAAgC,EAAE,MAAM,+DAA+D,CAAC;AACrJ,OAAO,EAAE,6BAA6B,EAAkB,MAAM,6CAA6C,CAAC;AAC5G,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,sCAAsC,EAAE,MAAM,8CAA8C,CAAC;AACtG,OAAO,EAGL,SAAS,EAET,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EAEtB,SAAS,EACT,2BAA2B,EAC3B,aAAa,GAEd,MAAM,uBAAuB,CAAC;AAqB/B,MAAM,uBAAuB,GAAsB;IACjD,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,oBAAoB;CAClC,CAAC;AAGK,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IASjB;IAEA;IAEA;IAEA;IAEA;IAEA;IAEA;IAEA;IAEA;IAxBT,QAAQ,CAA+D;IACzE,cAAc,GAAkB,IAAI,CAAC;IAC5B,cAAc,CAAiB;IACxC,WAAW,GAAG,KAAK,CAAC;IACpB,eAAe,GAAa,EAAE,CAAC;IAEvC,YAEmB,gBAAyC,EAEzC,OAAsC,EAEtC,WAAsC,EAEtC,iBAAkD,EAElD,kBAAuD,EAEvD,eAAoD,EAEpD,wBAAgE,EAEhE,MAAqB,EAErB,YAAwC;QAhBxC,qBAAgB,GAAhB,gBAAgB,CAAyB;QAEzC,YAAO,GAAP,OAAO,CAA+B;QAEtC,gBAAW,GAAX,WAAW,CAA2B;QAEtC,sBAAiB,GAAjB,iBAAiB,CAAiC;QAElD,uBAAkB,GAAlB,kBAAkB,CAAqC;QAEvD,oBAAe,GAAf,eAAe,CAAqC;QAEpD,6BAAwB,GAAxB,wBAAwB,CAAwC;QAEhE,WAAM,GAAN,MAAM,CAAe;QAErB,iBAAY,GAAZ,YAAY,CAA4B;QAEzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QACpE,0EAA0E;QAC1E,IAAI,CAAC,cAAc,GAAG;YACpB,QAAQ,EAAE,MAAM,EAAE;YAClB,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE;YACvB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,IAAY,aAAa;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,SAA4B,EAAE;QACjD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,EAAE,GAAG,uBAAuB,EAAE,GAAG,MAAM,EAAE,CAAC;QAE/D,sBAAsB;QACtB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAE7B,uEAAuE;QACvE,MAAM,sBAAsB,GAAG;YAC7B,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE;YAC9C,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE;SAC3D,CAAC;QAEF,KAAK,MAAM,WAAW,IAAI,sBAAsB,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,gBAAgB,CAAC,cAAc,CAC/C,IAAI,CAAC,aAAa,EAClB,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,OAAO,CACpB,CAAC;YAEF,uDAAuD;YACvD,MAAM,OAAO,GAAmB,KAAK,EAAE,GAAmB,EAAE,OAAgB,EAAE,EAAE;gBAC9E,8FAA8F;gBAC9F,kFAAkF;gBAClF,MAAM,gCAAgC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;YAC/F,CAAC,CAAC;YAEF,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAErC,IAAI,CAAC,QAAQ,CAAC,8BAA8B,EAAE;gBAC5C,SAAS;gBACT,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ;aACvC,CAAC,CAAC;QACL,CAAC;QAED,mFAAmF;QACnF,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAE5F,MAAM,gBAAgB,GAAmB,KAAK,EAAE,GAAmB,EAAE,OAAgB,EAAE,EAAE;YACvF,wFAAwF;YACxF,MAAM,gCAAgC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;QACxG,CAAC,CAAC;QAEF,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QACjE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE9C,IAAI,CAAC,QAAQ,CAAC,wCAAwC,EAAE;YACtD,SAAS,EAAE,kBAAkB;YAC7B,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ;SACvC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE;YACpC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ;YACtC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE;YACpC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ;SACvC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CACzB,GAAmB,EACnB,OAAgB,EAChB,MAAyB;QAEzB,IAAI,GAAe,CAAC;QAEpB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;gBAC/C,GAAG,2BAA2B,CAAC,UAAU,CAAC;aAC3C,CAAC,CAAC;YACH,kCAAkC;YAClC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QAED,gGAAgG;QAChG,kGAAkG;QAClG,iGAAiG;QACjG,kGAAkG;QAClG,kCAAkC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAE5D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC;QAElD,4CAA4C;QAC5C,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;QAElC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAC9B,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,sBAAsB;YACtB,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAElF,4EAA4E;YAC5E,mEAAmE;YACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAEnD,kFAAkF;YAClF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;gBACvC,oDAAoD;gBACpD,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC1E,OAAO;YACT,CAAC;YAED,oCAAoC;YACpC,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEtD,8BAA8B;YAC9B,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;YACnE,CAAC;YAED,iEAAiE;YACjE,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;gBACrC,MAAM;gBACN,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;gBACtC,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACvB,CAAC,CAAC;YAEH,sBAAsB;YACtB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEjB,IAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE;gBAC1C,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACnC,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gFAAgF;YAChF,6EAA6E;YAC7E,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACzE,CAAC;gBAAS,CAAC;YACT,oDAAoD;YACpD,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB,CAC5B,GAAe,EACf,MAAiB,EACjB,GAAmB,EACnB,OAAgB,EAChB,MAAyB,EACzB,SAAiB;QAEjB,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,UAAU,IAAI,oBAAoB,CAAC,UAAU,CAAC;QACvG,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC;QAElD,iDAAiD;QACjD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,qBAAqB,CAAC;QAC1D,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW;YACpC,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QAExE,IAAI,WAAW,EAAE,CAAC;YAChB,4EAA4E;YAC5E,2EAA2E;YAC3E,sEAAsE;YACtE,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC;YAChC,MAAM,WAAW,GAAqB;gBACpC,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,MAAM,CAAC,WAAW,EAAE,WAAW,IAAI,oBAAoB,CAAC,WAAW;gBACxG,UAAU,EAAE,UAAU;gBACtB,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,MAAM,CAAC,WAAW,EAAE,WAAW,IAAI,oBAAoB,CAAC,WAAW;gBACxG,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,UAAU,IAAI,oBAAoB,CAAC,UAAU;gBACpG,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,EAAE,SAAS,IAAI,oBAAoB,CAAC,SAAS;aAC5F,CAAC;YAEF,MAAM,KAAK,GAAG,aAAa,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAEtE,kDAAkD;YAClD,MAAM,QAAQ,GAAe;gBAC3B,GAAG,GAAG;gBACN,UAAU,EAAE,YAAY,GAAG,CAAC;aAC7B,CAAC;YAEF,4EAA4E;YAC5E,0EAA0E;YAC1E,+CAA+C;YAC/C,MAAM,eAAe,GAAG,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YAC1F,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACxE,OAAO;oBACP,aAAa;iBACd,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,aAAa,EAAE,CAAC;gBACvB,wEAAwE;gBACxE,uDAAuD;gBACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,EAAE;oBACzE,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,GAAG,2BAA2B,CAAC,aAAa,CAAC;iBAC9C,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;YAED,8EAA8E;YAC9E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEjB,gFAAgF;YAChF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnE,CAAC;gBAAC,OAAO,aAAa,EAAE,CAAC;oBACvB,IAAI,CAAC,QAAQ,CAAC,yCAAyC,EAAE;wBACvD,KAAK,EAAE,GAAG,CAAC,KAAK;wBAChB,KAAK,EAAE,mBAAmB,CAAC,aAAa,CAAC;qBAC1C,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE;gBAC5D,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,UAAU,EAAE,YAAY,GAAG,CAAC;gBAC5B,UAAU;gBACV,OAAO,EAAE,KAAK;gBACd,yEAAyE;gBACzE,0EAA0E;gBAC1E,wEAAwE;gBACxE,4CAA4C;gBAC5C,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,iCAAiC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACzE,CAAC,CAAC;QAEL,CAAC;aAAM,CAAC;YACN,8CAA8C;YAC9C,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEzD,0BAA0B;YAC1B,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;YACnE,CAAC;YAED,qEAAqE;YACrE,2EAA2E;YAC3E,2DAA2D;YAC3D,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAEhC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;gBAC1C,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,UAAU,EAAE,YAAY;gBACxB,UAAU;gBACV,gEAAgE;gBAChE,uEAAuE;gBACvE,uEAAuE;gBACvE,kCAAkC;gBAClC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,iCAAiC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACK,uBAAuB,CAC7B,QAA4C,EAC5C,YAAoB,EACpB,UAAkB;QAElB,0BAA0B;QAC1B,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,6EAA6E;QAC7E,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,sBAAsB,CAAC,KAAK,CAAC;IAC7E,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,cAAc,CAC1B,GAAe,EACf,KAAc,EACd,GAAmB,EACnB,OAAgB,EAChB,MAAyB,EACzB,SAAiB;QAEjB,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,UAAU,IAAI,oBAAoB,CAAC,UAAU,CAAC;QACvG,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC;QAElD,0EAA0E;QAC1E,4EAA4E;QAC5E,4EAA4E;QAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,cAAc,GAA4B;YAC9C,SAAS,EAAE,SAAS,CAAC,IAAI;YACzB,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,SAAS,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzG,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CAAC;QAEF,2BAA2B;QAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QAE5F,IAAI,WAAW,EAAE,CAAC;YAChB,sEAAsE;YACtE,wDAAwD;YACxD,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC;YAChC,MAAM,WAAW,GAAqB;gBACpC,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,MAAM,CAAC,WAAW,EAAE,WAAW,IAAI,oBAAoB,CAAC,WAAW;gBACxG,UAAU,EAAE,UAAU;gBACtB,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,MAAM,CAAC,WAAW,EAAE,WAAW,IAAI,oBAAoB,CAAC,WAAW;gBACxG,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,UAAU,IAAI,oBAAoB,CAAC,UAAU;gBACpG,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,EAAE,SAAS,IAAI,oBAAoB,CAAC,SAAS;aAC5F,CAAC;YAEF,MAAM,KAAK,GAAG,aAAa,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAEtE,kDAAkD;YAClD,MAAM,QAAQ,GAAe;gBAC3B,GAAG,GAAG;gBACN,UAAU,EAAE,YAAY,GAAG,CAAC;aAC7B,CAAC;YAEF,qEAAqE;YACrE,MAAM,eAAe,GAAG,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YAC1F,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACxE,OAAO;oBACP,aAAa;iBACd,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,EAAE;oBACzE,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,GAAG,2BAA2B,CAAC,aAAa,CAAC;iBAC9C,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;YAED,8EAA8E;YAC9E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE;gBAC5D,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,UAAU,EAAE,YAAY,GAAG,CAAC;gBAC5B,UAAU;gBACV,OAAO,EAAE,KAAK;gBACd,GAAG,cAAc;aAClB,CAAC,CAAC;QAEL,CAAC;aAAM,CAAC;YACN,8CAA8C;YAE9C,wBAAwB;YACxB,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEzD,0BAA0B;YAC1B,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAc;oBAC3B,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,KAAK,EAAE;wBACL,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,QAAQ;wBAC1C,QAAQ,EAAE,aAAa,CAAC,IAAI;wBAC5B,SAAS,EAAE,IAAI,IAAI,EAAE;wBACrB,OAAO,EAAE,SAAS,CAAC,OAAO;wBAC1B,cAAc,EAAE,EAAE;wBAClB,sBAAsB,EAAE,2BAA2B,CAAC,QAAQ;wBAC5D,UAAU,EAAE,GAAG;qBAChB;oBACD,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC;oBAC9B,WAAW,EAAE,IAAI,IAAI,EAAE;oBACvB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACnC,CAAC;gBAEF,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;YACtE,CAAC;YAED,qEAAqE;YACrE,2EAA2E;YAC3E,2DAA2D;YAC3D,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAEhC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;gBAC1C,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,UAAU,EAAE,YAAY;gBACxB,UAAU;gBACV,GAAG,cAAc;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,KAAc,EAAE,YAAoB,EAAE,UAAkB;QAC1E,0BAA0B;QAC1B,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,yCAAyC;QACzC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,qBAAqB,CAAC;YAC7C,6EAA6E;YAC7E,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,sBAAsB,CAAC,KAAK,CAAC;QAC7E,CAAC;QAED,8BAA8B;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,KAAc;QAOjC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,MAAM,IAAI,KAAK;YACf,OAAQ,KAAa,CAAC,IAAI,KAAK,QAAQ,CACxC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,KAAc;QAMrC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;gBACpD,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,SAAS,CAAC,QAAQ;YACxB,OAAO,EAAE;gBACP,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC;aACpC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAClC,GAAmB,EACnB,OAAgB,EAChB,MAAyB;QAEzB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAErC,4CAA4C;QAC5C,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;QAElC,IAAI,CAAC;YACH,iDAAiD;YACjD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAExE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;gBAC3C,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ;gBAC3B,mBAAmB,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB;gBAC3C,aAAa,EAAE,GAAG,CAAC,aAAa;aACjC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE7B,sBAAsB;YACtB,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAElF,4EAA4E;YAC5E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAEnD,kFAAkF;YAClF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;gBACvC,6BAA6B;gBAC7B,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAM,CAAC,CAAC;gBAElE,oEAAoE;gBACpE,wEAAwE;gBACxE,gBAAgB;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE;oBAClD,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAClC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,iCAAiC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9D,CAAC,CAAC;gBAEH,yEAAyE;gBACzE,6DAA6D;gBAC7D,+DAA+D;gBAC/D,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,oCAAoC;YACpC,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEtD,sBAAsB;YACtB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;gBACvD,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACnC,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qEAAqE;YACrE,6EAA6E;YAC7E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE;gBAClD,GAAG,2BAA2B,CAAC,KAAK,CAAC;aACtC,CAAC,CAAC;YAEH,yEAAyE;YACzE,6DAA6D;YAC7D,+DAA+D;YAC/D,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAElC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF,CAAA;AAxnBY,yBAAyB;IADrC,UAAU,EAAE;IASR,WAAA,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;IAE3C,WAAA,MAAM,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAA;IAEjD,WAAA,MAAM,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAA;IAEpD,WAAA,MAAM,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,CAAA;IAEnD,WAAA,MAAM,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAA;IAEvD,WAAA,MAAM,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAA;IAEvD,WAAA,MAAM,CAAC,kBAAkB,CAAC,+BAA+B,CAAC,CAAA;IAE1D,WAAA,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAEjC,WAAA,MAAM,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAA;qCAfZ,uBAAuB;QAEhC,6BAA6B;QAEzB,yBAAyB;QAEnB,+BAA+B;QAE9B,mCAAmC;QAEtC,mCAAmC;QAE1B,sCAAsC;QAExD,aAAa;QAEP,0BAA0B;GAzBhD,yBAAyB,CAwnBrC","sourcesContent":["/**\n * Job Consumer Backend Service\n *\n * Handles the complete message lifecycle:\n * - Consumes messages from RabbitMQ\n * - Executes jobs via JobExecutorBackendService\n * - Handles retry logic with exponential backoff\n * - Sends RPC replies for QUEUED mode\n * - Tracks job status\n * - Acknowledges/rejects messages appropriately\n */\n\nimport { injectable, inject } from 'inversify';\nimport { v4 as uuidv4 } from 'uuid';\nimport * as os from 'os';\nimport type { ConsumeMessage, Channel } from 'amqplib';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';\nimport { AppConfigurationService } from '~wildo-backend-lib/config/services/app-configuration.backend.service';\nimport { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';\nimport { projectWildoBackendErrorLogFields, describeCaughtError, projectCaughtErrorLogFields } from '~wildo-backend-lib/errors/utils/error-log-level-classification.backend.utils';\nimport { adoptCorrelationIdIntoCurrentFrame, runInFreshRequestContextIfAbsent } from '~wildo-backend-lib/runtime/models/request-context.als.backend';\nimport { RabbitMQAdapterBackendService, MessageHandler } from './adapters/rabbitmq-adapter.backend.service';\nimport { JobExecutorBackendService } from './job-executor.backend.service';\nimport { JobStatusTrackingBackendService } from './job-status-tracking.backend.service';\nimport { JobCompletionRegistryBackendService } from './job-completion-registry.backend.service';\nimport { WorkerShutdownManagerBackendService } from './worker-shutdown-manager.backend.service';\nimport { ScheduledMessageVerifierBackendService } from './scheduled-message-verifier.backend.service';\nimport {\n JobPayload,\n JobResult,\n JobStatus,\n JobPriority,\n JobRetryUtils,\n QueueNamingUtils,\n QueueVariant,\n QUEUE_RETRY_DEFAULTS,\n ErrorHandling_Strategy,\n QueueRetryConfig,\n ErrorType,\n ErrorCustomMessageReference,\n ErrorSeverity,\n ErrorActionBackend,\n} from '@wildo-ai/saas-models';\n\n/**\n * Worker identification for tracking.\n */\ninterface WorkerIdentity {\n workerId: string;\n hostname: string;\n pid: number;\n}\n\n/**\n * Consumer configuration.\n */\nexport interface JobConsumerConfig {\n /** Whether to enable retry logic */\n enableRetry?: boolean;\n /** Default retry configuration */\n retryConfig?: Partial<QueueRetryConfig>;\n}\n\nconst DEFAULT_CONSUMER_CONFIG: JobConsumerConfig = {\n enableRetry: true,\n retryConfig: QUEUE_RETRY_DEFAULTS,\n};\n\n@injectable()\nexport class JobConsumerBackendService {\n protected logDebug: (message: string, context?: Record<string, unknown>) => void;\n private _applicationId: string | null = null;\n private readonly workerIdentity: WorkerIdentity;\n private isConsuming = false;\n private consumingQueues: string[] = [];\n\n constructor(\n @inject(SAAS_SERVICE_TYPES.AppConfigService)\n private readonly appConfigService: AppConfigurationService,\n @inject(SAAS_SERVICE_TYPES.RabbitMQAdapterService)\n private readonly adapter: RabbitMQAdapterBackendService,\n @inject(SAAS_SERVICE_TYPES.JobExecutorBackendService)\n private readonly jobExecutor: JobExecutorBackendService,\n @inject(SAAS_SERVICE_TYPES.JobStatusTrackingService)\n private readonly jobStatusTracking: JobStatusTrackingBackendService,\n @inject(SAAS_SERVICE_TYPES.JobCompletionRegistryService)\n private readonly completionRegistry: JobCompletionRegistryBackendService,\n @inject(SAAS_SERVICE_TYPES.WorkerShutdownManagerService)\n private readonly shutdownManager: WorkerShutdownManagerBackendService,\n @inject(SAAS_SERVICE_TYPES.ScheduledMessageVerifierService)\n private readonly scheduledMessageVerifier: ScheduledMessageVerifierBackendService,\n @inject(SAAS_SERVICE_TYPES.Logger)\n private readonly logger: LoggerService,\n @inject(SAAS_SERVICE_TYPES.ErrorBuilderService)\n private readonly errorBuilder: ErrorBuilderBackendService,\n ) {\n this.logDebug = this.logger.debugByType('JobConsumerBackendService');\n this.logger.setDebugTypeLogging('JobConsumerBackendService', false);\n // Lazy-load applicationId to avoid accessing config before initialization\n this.workerIdentity = {\n workerId: uuidv4(),\n hostname: os.hostname(),\n pid: process.pid,\n };\n }\n\n /** Lazy getter for applicationId - avoids accessing config in constructor */\n private get applicationId(): string {\n if (!this._applicationId) {\n this._applicationId = this.appConfigService.applicationId;\n }\n return this._applicationId;\n }\n\n /**\n * Start consuming from all operation and scheduled queues.\n */\n async startConsuming(config: JobConsumerConfig = {}): Promise<void> {\n if (this.isConsuming) {\n this.logger.warn('Consumer already running');\n return;\n }\n\n const mergedConfig = { ...DEFAULT_CONSUMER_CONFIG, ...config };\n\n // Connect to RabbitMQ\n await this.adapter.connect();\n\n // Start consuming from operations queues (normal and priority variant)\n const operationsQueueConfigs = [\n { category: 'operations', variant: undefined },\n { category: 'operations', variant: QueueVariant.PRIORITY },\n ];\n\n for (const queueConfig of operationsQueueConfigs) {\n const queueName = QueueNamingUtils.buildQueueName(\n this.applicationId,\n queueConfig.category,\n queueConfig.variant\n );\n\n // Create handler that matches MessageHandler signature\n const handler: MessageHandler = async (msg: ConsumeMessage, channel: Channel) => {\n // Phase 1 — each consumed job runs in its own correlation frame (fresh id). Phase 6 will seed\n // it from the enqueuing request's originCorrelationId carried on the job payload.\n await runInFreshRequestContextIfAbsent(() => this.handleMessage(msg, channel, mergedConfig));\n };\n\n await this.adapter.consume(queueName, handler);\n this.consumingQueues.push(queueName);\n\n this.logDebug('Started consuming from queue', {\n queueName,\n workerId: this.workerIdentity.workerId,\n });\n }\n\n // Start consuming from scheduled queue (JWT-signed messages from crontabs-manager)\n const scheduledQueueName = QueueNamingUtils.buildQueueName(this.applicationId, 'scheduled');\n\n const scheduledHandler: MessageHandler = async (msg: ConsumeMessage, channel: Channel) => {\n // Phase 1 — each cron tick (scheduled-queue message) runs in its own correlation frame.\n await runInFreshRequestContextIfAbsent(() => this.handleScheduledMessage(msg, channel, mergedConfig));\n };\n\n await this.adapter.consume(scheduledQueueName, scheduledHandler);\n this.consumingQueues.push(scheduledQueueName);\n\n this.logDebug('Started consuming from scheduled queue', {\n queueName: scheduledQueueName,\n workerId: this.workerIdentity.workerId,\n });\n\n this.isConsuming = true;\n this.logDebug('Job consumer started', {\n workerId: this.workerIdentity.workerId,\n queues: this.consumingQueues.length,\n });\n }\n\n /**\n * Stop consuming and close connections.\n */\n async stopConsuming(): Promise<void> {\n if (!this.isConsuming) {\n return;\n }\n\n // Cancel all consumers\n for (const queueName of this.consumingQueues) {\n await this.adapter.cancelConsumer(queueName);\n }\n\n this.consumingQueues = [];\n this.isConsuming = false;\n\n this.logDebug('Job consumer stopped', {\n workerId: this.workerIdentity.workerId,\n });\n }\n\n /**\n * Handle a single message from the queue.\n */\n private async handleMessage(\n msg: ConsumeMessage,\n channel: Channel,\n config: JobConsumerConfig\n ): Promise<void> {\n let job: JobPayload;\n\n try {\n job = JSON.parse(msg.content.toString());\n } catch (parseError) {\n this.logger.error('Failed to parse job message', {\n ...projectCaughtErrorLogFields(parseError),\n });\n // Invalid message - don't requeue\n channel.nack(msg, false, false);\n return;\n }\n\n // Phase 6 — this job belongs to the trace of the request that enqueued it: adopt that request's\n // originCorrelationId into the (freshly-minted) consume frame, so every log line + audit row this\n // job produces on the worker carries the originating request's correlationId. Absent/malformed →\n // the frame keeps its fresh id (a job with no originating request stays independently traceable).\n adoptCorrelationIdIntoCurrentFrame(job.originCorrelationId);\n\n const startTime = Date.now();\n const { replyTo, correlationId } = msg.properties;\n\n // Track in-flight job for graceful shutdown\n this.shutdownManager.jobStarted();\n\n this.logDebug('Processing job', {\n jobId: job.jobId,\n jobType: job.jobType,\n priority: job.priority,\n retryCount: job.retryCount ?? 0,\n });\n\n try {\n // Mark job as started\n await this.jobStatusTracking.markStarted(job.jobId, this.workerIdentity.workerId);\n\n // Execute the job - returns JobResult which may indicate success OR failure\n // The executor catches all errors and returns a result with status\n const result = await this.jobExecutor.execute(job);\n\n // Check if job failed (executor returns result with FAILED status, doesn't throw)\n if (result.status === JobStatus.FAILED) {\n // Convert the error result to proper retry handling\n await this.handleJobFailure(job, result, msg, channel, config, startTime);\n return;\n }\n\n // Mark as completed only on success\n await this.jobStatusTracking.markCompleted(job.jobId);\n\n // Send RPC reply if requested\n if (replyTo && correlationId) {\n await this.adapter.publishResult(replyTo, correlationId, result);\n }\n\n // Dispatch to completion handlers (for BACKGROUND_JOB callbacks)\n await this.completionRegistry.dispatch({\n result,\n operationPathKey: job.operationPathKey,\n batchRef: job.batchRef,\n });\n\n // Acknowledge success\n channel.ack(msg);\n\n this.logDebug('Job completed successfully', {\n jobId: job.jobId,\n durationMs: Date.now() - startTime,\n });\n\n } catch (error) {\n // This catch block handles unexpected errors (e.g., from markStarted, dispatch)\n // NOT job execution errors (those are returned by executor as FAILED status)\n await this.handleJobError(job, error, msg, channel, config, startTime);\n } finally {\n // Always track job completion for graceful shutdown\n this.shutdownManager.jobCompleted();\n }\n }\n\n /**\n * Handle job failure when executor returns FAILED status (not an exception).\n * The executor catches errors and returns a JobResult with status FAILED.\n */\n private async handleJobFailure(\n job: JobPayload,\n result: JobResult,\n msg: ConsumeMessage,\n channel: Channel,\n config: JobConsumerConfig,\n startTime: number\n ): Promise<void> {\n const currentRetry = job.retryCount ?? 0;\n const maxRetries = job.maxRetries ?? config.retryConfig?.maxRetries ?? QUEUE_RETRY_DEFAULTS.maxRetries;\n const { replyTo, correlationId } = msg.properties;\n\n // Extract error handling strategy from the error\n const errorStrategy = result.error?.errorHandlingStrategy;\n const shouldRetry = config.enableRetry &&\n this.shouldRetryFromStrategy(errorStrategy, currentRetry, maxRetries);\n\n if (shouldRetry) {\n // Resolve backoff from the job's per-operation retryConfig, falling back to\n // the consumer config then the framework defaults (per-field, so a partial\n // authored retryConfig still gets sane values for the axes it omits).\n const backoff = job.retryConfig;\n const retryConfig: QueueRetryConfig = {\n retryPolicy: backoff?.retryPolicy ?? config.retryConfig?.retryPolicy ?? QUEUE_RETRY_DEFAULTS.retryPolicy,\n maxRetries: maxRetries,\n baseDelayMs: backoff?.baseDelayMs ?? config.retryConfig?.baseDelayMs ?? QUEUE_RETRY_DEFAULTS.baseDelayMs,\n maxDelayMs: backoff?.maxDelayMs ?? config.retryConfig?.maxDelayMs ?? QUEUE_RETRY_DEFAULTS.maxDelayMs,\n timeoutMs: job.timeoutMs ?? config.retryConfig?.timeoutMs ?? QUEUE_RETRY_DEFAULTS.timeoutMs,\n };\n\n const delay = JobRetryUtils.calculateDelay(retryConfig, currentRetry);\n\n // Create updated job with incremented retry count\n const retryJob: JobPayload = {\n ...job,\n retryCount: currentRetry + 1,\n };\n\n // Durable backoff: hand the retry to the broker (delay queue holds it, then\n // dead-letters it back) instead of an in-process setTimeout that would be\n // lost if this worker crashes during the wait.\n const operationsQueue = QueueNamingUtils.buildQueueName(this.applicationId, 'operations');\n try {\n await this.adapter.scheduleDelayedRetry(operationsQueue, retryJob, delay, {\n replyTo,\n correlationId,\n });\n } catch (scheduleError) {\n // Could not hand the retry to the broker — requeue the ORIGINAL (do not\n // ACK) so it is redelivered rather than silently lost.\n this.logger.error('Failed to schedule durable retry; requeueing original', {\n jobId: job.jobId,\n ...projectCaughtErrorLogFields(scheduleError),\n });\n channel.nack(msg, false, true);\n return;\n }\n\n // ACK original message (retry is now durably owned by the broker delay queue)\n channel.ack(msg);\n\n // Best-effort tracking update → RETRYING + lastRetryAt (never block the retry).\n if (result.error) {\n try {\n await this.jobStatusTracking.markFailed(job.jobId, result.error);\n } catch (trackingError) {\n this.logDebug('Failed to mark job retrying (non-fatal)', {\n jobId: job.jobId,\n error: describeCaughtError(trackingError),\n });\n }\n }\n\n this.logger.warn('Job retry scheduled (durable delay queue)', {\n jobId: job.jobId,\n retryCount: currentRetry + 1,\n maxRetries,\n delayMs: delay,\n // The queue is a non-HTTP boundary and owns its own operational level (a\n // scheduled retry is a `warn`, not classified from the error's severity).\n // Reuse the canonical field projection to restore the full error detail\n // that no longer self-logs at construction.\n ...(result.error ? projectWildoBackendErrorLogFields(result.error) : {}),\n });\n\n } else {\n // Max retries exceeded or non-retryable error\n await this.jobStatusTracking.markDeadLettered(job.jobId);\n\n // Send error reply if RPC\n if (replyTo && correlationId) {\n await this.adapter.publishResult(replyTo, correlationId, result);\n }\n\n // Reject without requeue → the operations queue's DLX now parks this\n // permanently-failed job in `operations.deadletter` (previously the broker\n // discarded it because no dead-letter-exchange was wired).\n channel.nack(msg, false, false);\n\n this.logger.error('Job failed permanently', {\n jobId: job.jobId,\n retryCount: currentRetry,\n maxRetries,\n // Permanent (dead-lettered) failure is operationally an `error`\n // regardless of the underlying error's business severity, so the level\n // stays explicit; the projection restores the full error detail (type,\n // status, context) and the stack.\n ...(result.error ? projectWildoBackendErrorLogFields(result.error) : {}),\n ...(result.error?.stack ? { stack: result.error.stack } : {}),\n });\n }\n }\n\n /**\n * Check if retry should happen based on error strategy.\n */\n private shouldRetryFromStrategy(\n strategy: ErrorHandling_Strategy | undefined,\n currentRetry: number,\n maxRetries: number\n ): boolean {\n // Check retry count limit\n if (currentRetry >= maxRetries) {\n return false;\n }\n\n // Only retry if strategy is explicitly RETRY or undefined (default to retry)\n return strategy === undefined || strategy === ErrorHandling_Strategy.RETRY;\n }\n\n /**\n * Handle unexpected errors (not job execution failures).\n * This handles errors from status tracking, dispatch, etc.\n */\n private async handleJobError(\n job: JobPayload,\n error: unknown,\n msg: ConsumeMessage,\n channel: Channel,\n config: JobConsumerConfig,\n startTime: number\n ): Promise<void> {\n const currentRetry = job.retryCount ?? 0;\n const maxRetries = job.maxRetries ?? config.retryConfig?.maxRetries ?? QUEUE_RETRY_DEFAULTS.maxRetries;\n const { replyTo, correlationId } = msg.properties;\n\n // This is a raw caught exception (not a returned JobResult). Normalize it\n // once so both the retry and permanent-failure logs carry the full detail —\n // errors no longer self-log at construction, so the queue boundary owns it.\n const errorInfo = this.extractErrorInfo(error);\n const errorLogFields: Record<string, unknown> = {\n errorType: errorInfo.type,\n ...(errorInfo.customMessageReference ? { customMessageReference: errorInfo.customMessageReference } : {}),\n ...(errorInfo.statusCode ? { statusCode: errorInfo.statusCode } : {}),\n ...(errorInfo.context ? { context: errorInfo.context } : {}),\n };\n\n // Check if we should retry\n const shouldRetry = config.enableRetry && this.shouldRetry(error, currentRetry, maxRetries);\n\n if (shouldRetry) {\n // Resolve backoff from the job's per-operation retryConfig (per-field\n // fallback to consumer config then framework defaults).\n const backoff = job.retryConfig;\n const retryConfig: QueueRetryConfig = {\n retryPolicy: backoff?.retryPolicy ?? config.retryConfig?.retryPolicy ?? QUEUE_RETRY_DEFAULTS.retryPolicy,\n maxRetries: maxRetries,\n baseDelayMs: backoff?.baseDelayMs ?? config.retryConfig?.baseDelayMs ?? QUEUE_RETRY_DEFAULTS.baseDelayMs,\n maxDelayMs: backoff?.maxDelayMs ?? config.retryConfig?.maxDelayMs ?? QUEUE_RETRY_DEFAULTS.maxDelayMs,\n timeoutMs: job.timeoutMs ?? config.retryConfig?.timeoutMs ?? QUEUE_RETRY_DEFAULTS.timeoutMs,\n };\n\n const delay = JobRetryUtils.calculateDelay(retryConfig, currentRetry);\n\n // Create updated job with incremented retry count\n const retryJob: JobPayload = {\n ...job,\n retryCount: currentRetry + 1,\n };\n\n // Durable backoff via the broker delay queue (see handleJobFailure).\n const operationsQueue = QueueNamingUtils.buildQueueName(this.applicationId, 'operations');\n try {\n await this.adapter.scheduleDelayedRetry(operationsQueue, retryJob, delay, {\n replyTo,\n correlationId,\n });\n } catch (scheduleError) {\n this.logger.error('Failed to schedule durable retry; requeueing original', {\n jobId: job.jobId,\n ...projectCaughtErrorLogFields(scheduleError),\n });\n channel.nack(msg, false, true);\n return;\n }\n\n // ACK original message (retry is now durably owned by the broker delay queue)\n channel.ack(msg);\n\n this.logger.warn('Job retry scheduled (durable delay queue)', {\n jobId: job.jobId,\n retryCount: currentRetry + 1,\n maxRetries,\n delayMs: delay,\n ...errorLogFields,\n });\n\n } else {\n // Max retries exceeded or non-retryable error\n\n // Mark as dead-lettered\n await this.jobStatusTracking.markDeadLettered(job.jobId);\n\n // Send error reply if RPC\n if (replyTo && correlationId) {\n const jobResult: JobResult = {\n jobId: job.jobId,\n status: JobStatus.FAILED,\n error: {\n type: errorInfo.type ?? ErrorType.INTERNAL,\n severity: ErrorSeverity.HIGH,\n timestamp: new Date(),\n context: errorInfo.context,\n backendActions: [],\n customMessageReference: ErrorCustomMessageReference.INTERNAL,\n statusCode: 500,\n },\n startedAt: new Date(startTime),\n completedAt: new Date(),\n durationMs: Date.now() - startTime,\n };\n\n await this.adapter.publishResult(replyTo, correlationId, jobResult);\n }\n\n // Reject without requeue → the operations queue's DLX now parks this\n // permanently-failed job in `operations.deadletter` (previously the broker\n // discarded it because no dead-letter-exchange was wired).\n channel.nack(msg, false, false);\n\n this.logger.error('Job failed permanently', {\n jobId: job.jobId,\n retryCount: currentRetry,\n maxRetries,\n ...errorLogFields,\n });\n }\n }\n\n /**\n * Determine if an error is retryable.\n */\n private shouldRetry(error: unknown, currentRetry: number, maxRetries: number): boolean {\n // Check retry count limit\n if (currentRetry >= maxRetries) {\n return false;\n }\n\n // Check if error specifies non-retryable\n if (this.isWildoError(error)) {\n const strategy = error.errorHandlingStrategy;\n // Only retry if strategy is explicitly RETRY or undefined (default to retry)\n return strategy === undefined || strategy === ErrorHandling_Strategy.RETRY;\n }\n\n // Default: retry on any error\n return true;\n }\n\n /**\n * Type guard for WildoError_Backend.\n */\n private isWildoError(error: unknown): error is {\n type: ErrorType;\n errorHandlingStrategy?: ErrorHandling_Strategy;\n customMessageReference?: ErrorCustomMessageReference;\n statusCode?: number;\n context?: Record<string, unknown>;\n } {\n return (\n typeof error === 'object' &&\n error !== null &&\n 'type' in error &&\n typeof (error as any).type === 'string'\n );\n }\n\n /**\n * Extract error information for result/logging.\n */\n private extractErrorInfo(error: unknown): {\n type?: ErrorType;\n customMessageReference?: ErrorCustomMessageReference;\n statusCode?: number;\n context?: Record<string, unknown>;\n } {\n if (this.isWildoError(error)) {\n return {\n type: error.type,\n customMessageReference: error.customMessageReference,\n statusCode: error.statusCode,\n context: error.context,\n };\n }\n\n return {\n type: ErrorType.INTERNAL,\n context: {\n message: describeCaughtError(error),\n },\n };\n }\n\n /**\n * Handle a scheduled message (JWT-signed from crontabs-batches-manager).\n */\n private async handleScheduledMessage(\n msg: ConsumeMessage,\n channel: Channel,\n config: JobConsumerConfig\n ): Promise<void> {\n const token = msg.content.toString();\n\n // Track in-flight job for graceful shutdown\n this.shutdownManager.jobStarted();\n\n try {\n // Verify the JWT token and convert to JobPayload\n const job = await this.scheduledMessageVerifier.verifyAndConvert(token);\n\n this.logger.info('Processing scheduled job', {\n jobId: job.jobId,\n hasBatchRef: !!job.batchRef,\n hasOperationPathKey: !!job.operationPathKey,\n applicationId: job.applicationId,\n });\n\n const startTime = Date.now();\n\n // Mark job as started\n await this.jobStatusTracking.markStarted(job.jobId, this.workerIdentity.workerId);\n\n // Execute the job - returns JobResult which may indicate success OR failure\n const result = await this.jobExecutor.execute(job);\n\n // Check if job failed (executor returns result with FAILED status, doesn't throw)\n if (result.status === JobStatus.FAILED) {\n // Mark as failed in tracking\n await this.jobStatusTracking.markFailed(job.jobId, result.error!);\n\n // Log failure — the queue owns the operational level (`error`); the\n // projection restores the full error detail that no longer self-logs at\n // construction.\n this.logger.error('Scheduled job execution failed', {\n jobId: job.jobId,\n durationMs: Date.now() - startTime,\n ...(result.error ? projectWildoBackendErrorLogFields(result.error) : {}),\n ...(result.error?.stack ? { stack: result.error.stack } : {}),\n });\n\n // Reject without requeue: scheduled jobs don't retry via the queue (they\n // re-run on the next schedule). The message is now parked in\n // `scheduled.deadletter` as a stale audit copy for inspection.\n channel.nack(msg, false, false);\n return;\n }\n\n // Mark as completed only on success\n await this.jobStatusTracking.markCompleted(job.jobId);\n\n // Acknowledge success\n channel.ack(msg);\n\n this.logger.info('Scheduled job completed successfully', {\n jobId: job.jobId,\n durationMs: Date.now() - startTime,\n });\n\n } catch (error) {\n // This catches errors from token verification, status tracking, etc.\n // NOT job execution errors (those are returned by executor as FAILED status)\n this.logger.error('Scheduled job processing error', {\n ...projectCaughtErrorLogFields(error),\n });\n\n // Reject without requeue: scheduled jobs don't retry via the queue (they\n // re-run on the next schedule). The message is now parked in\n // `scheduled.deadletter` as a stale audit copy for inspection.\n channel.nack(msg, false, false);\n\n } finally {\n this.shutdownManager.jobCompleted();\n }\n }\n\n /**\n * Get worker identity for external access.\n */\n getWorkerIdentity(): WorkerIdentity {\n return { ...this.workerIdentity };\n }\n\n /**\n * Check if consumer is running.\n */\n isRunning(): boolean {\n return this.isConsuming;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"job-consumer.backend.service.js","sourceRoot":"","sources":["../../../src/queue/job-consumer.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Job Consumer Backend Service\n *\n * Handles the complete message lifecycle:\n * - Consumes messages from RabbitMQ\n * - Executes jobs via JobExecutorBackendService\n * - Handles retry logic with exponential backoff\n * - Sends RPC replies for QUEUED mode\n * - Tracks job status\n * - Acknowledges/rejects messages appropriately\n */\n\nimport { injectable, inject } from 'inversify';\nimport { v4 as uuidv4 } from 'uuid';\nimport * as os from 'os';\nimport type { ConsumeMessage, Channel } from 'amqplib';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';\nimport { AppConfigurationService } from '~wildo-backend-lib/config/services/app-configuration.backend.service';\nimport { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';\nimport { projectWildoBackendErrorLogFields, describeCaughtError, projectCaughtErrorLogFields } from '~wildo-backend-lib/errors/utils/error-log-level-classification.backend.utils';\nimport { adoptCorrelationIdIntoCurrentFrame, runInFreshRequestContextIfAbsent } from '~wildo-backend-lib/runtime/models/request-context.als.backend';\nimport type { QueueAdapter } from './adapters/queue-adapter.backend.interface';\nimport type { MessageHandler } from './adapters/queue-adapter.backend.interface';\nimport { JobExecutorBackendService } from './job-executor.backend.service';\nimport { JobStatusTrackingBackendService } from './job-status-tracking.backend.service';\nimport { JobCompletionRegistryBackendService } from './job-completion-registry.backend.service';\nimport { WorkerShutdownManagerBackendService } from './worker-shutdown-manager.backend.service';\nimport { ScheduledMessageVerifierBackendService } from './scheduled-message-verifier.backend.service';\nimport {\n JobPayload,\n JobResult,\n JobStatus,\n JobPriority,\n JobRetryUtils,\n QueueNamingUtils,\n QueueVariant,\n QUEUE_RETRY_DEFAULTS,\n ErrorHandling_Strategy,\n QueueRetryConfig,\n ErrorType,\n ErrorCustomMessageReference,\n ErrorSeverity,\n ErrorActionBackend,\n} from '@wildo-ai/saas-models';\n\n/**\n * Worker identification for tracking.\n */\ninterface WorkerIdentity {\n workerId: string;\n hostname: string;\n pid: number;\n}\n\n/**\n * Consumer configuration.\n */\nexport interface JobConsumerConfig {\n /** Whether to enable retry logic */\n enableRetry?: boolean;\n /** Default retry configuration */\n retryConfig?: Partial<QueueRetryConfig>;\n}\n\nconst DEFAULT_CONSUMER_CONFIG: JobConsumerConfig = {\n enableRetry: true,\n retryConfig: QUEUE_RETRY_DEFAULTS,\n};\n\n@injectable()\nexport class JobConsumerBackendService {\n protected logDebug: (message: string, context?: Record<string, unknown>) => void;\n private _applicationId: string | null = null;\n private readonly workerIdentity: WorkerIdentity;\n private isConsuming = false;\n private consumingQueues: string[] = [];\n\n constructor(\n @inject(SAAS_SERVICE_TYPES.AppConfigService)\n private readonly appConfigService: AppConfigurationService,\n @inject(SAAS_SERVICE_TYPES.RabbitMQAdapterService)\n private readonly adapter: QueueAdapter,\n @inject(SAAS_SERVICE_TYPES.JobExecutorBackendService)\n private readonly jobExecutor: JobExecutorBackendService,\n @inject(SAAS_SERVICE_TYPES.JobStatusTrackingService)\n private readonly jobStatusTracking: JobStatusTrackingBackendService,\n @inject(SAAS_SERVICE_TYPES.JobCompletionRegistryService)\n private readonly completionRegistry: JobCompletionRegistryBackendService,\n @inject(SAAS_SERVICE_TYPES.WorkerShutdownManagerService)\n private readonly shutdownManager: WorkerShutdownManagerBackendService,\n @inject(SAAS_SERVICE_TYPES.ScheduledMessageVerifierService)\n private readonly scheduledMessageVerifier: ScheduledMessageVerifierBackendService,\n @inject(SAAS_SERVICE_TYPES.Logger)\n private readonly logger: LoggerService,\n @inject(SAAS_SERVICE_TYPES.ErrorBuilderService)\n private readonly errorBuilder: ErrorBuilderBackendService,\n ) {\n this.logDebug = this.logger.debugByType('JobConsumerBackendService');\n this.logger.setDebugTypeLogging('JobConsumerBackendService', false);\n // Lazy-load applicationId to avoid accessing config before initialization\n this.workerIdentity = {\n workerId: uuidv4(),\n hostname: os.hostname(),\n pid: process.pid,\n };\n }\n\n /** Lazy getter for applicationId - avoids accessing config in constructor */\n private get applicationId(): string {\n if (!this._applicationId) {\n this._applicationId = this.appConfigService.applicationId;\n }\n return this._applicationId;\n }\n\n /**\n * Start consuming from all operation and scheduled queues.\n */\n async startConsuming(config: JobConsumerConfig = {}): Promise<void> {\n if (this.isConsuming) {\n this.logger.warn('Consumer already running');\n return;\n }\n\n const mergedConfig = { ...DEFAULT_CONSUMER_CONFIG, ...config };\n\n // Connect to RabbitMQ\n await this.adapter.connect();\n\n // Start consuming from operations queues (normal and priority variant)\n const operationsQueueConfigs = [\n { category: 'operations', variant: undefined },\n { category: 'operations', variant: QueueVariant.PRIORITY },\n ];\n\n for (const queueConfig of operationsQueueConfigs) {\n const queueName = QueueNamingUtils.buildQueueName(\n this.applicationId,\n queueConfig.category,\n queueConfig.variant\n );\n\n // Create handler that matches MessageHandler signature\n const handler: MessageHandler = async (msg: ConsumeMessage, channel: Channel) => {\n // Phase 1 — each consumed job runs in its own correlation frame (fresh id). Phase 6 will seed\n // it from the enqueuing request's originCorrelationId carried on the job payload.\n await runInFreshRequestContextIfAbsent(() => this.handleMessage(msg, channel, mergedConfig));\n };\n\n await this.adapter.consume(queueName, handler);\n this.consumingQueues.push(queueName);\n\n this.logDebug('Started consuming from queue', {\n queueName,\n workerId: this.workerIdentity.workerId,\n });\n }\n\n // Start consuming from scheduled queue (JWT-signed messages from crontabs-manager)\n const scheduledQueueName = QueueNamingUtils.buildQueueName(this.applicationId, 'scheduled');\n\n const scheduledHandler: MessageHandler = async (msg: ConsumeMessage, channel: Channel) => {\n // Phase 1 — each cron tick (scheduled-queue message) runs in its own correlation frame.\n await runInFreshRequestContextIfAbsent(() => this.handleScheduledMessage(msg, channel, mergedConfig));\n };\n\n await this.adapter.consume(scheduledQueueName, scheduledHandler);\n this.consumingQueues.push(scheduledQueueName);\n\n this.logDebug('Started consuming from scheduled queue', {\n queueName: scheduledQueueName,\n workerId: this.workerIdentity.workerId,\n });\n\n this.isConsuming = true;\n this.logDebug('Job consumer started', {\n workerId: this.workerIdentity.workerId,\n queues: this.consumingQueues.length,\n });\n }\n\n /**\n * Stop consuming and close connections.\n */\n async stopConsuming(): Promise<void> {\n if (!this.isConsuming) {\n return;\n }\n\n // Cancel all consumers\n for (const queueName of this.consumingQueues) {\n await this.adapter.cancelConsumer(queueName);\n }\n\n this.consumingQueues = [];\n this.isConsuming = false;\n\n this.logDebug('Job consumer stopped', {\n workerId: this.workerIdentity.workerId,\n });\n }\n\n /**\n * Handle a single message from the queue.\n */\n private async handleMessage(\n msg: ConsumeMessage,\n channel: Channel,\n config: JobConsumerConfig\n ): Promise<void> {\n let job: JobPayload;\n\n try {\n job = JSON.parse(msg.content.toString());\n } catch (parseError) {\n this.logger.error('Failed to parse job message', {\n ...projectCaughtErrorLogFields(parseError),\n });\n // Invalid message - don't requeue\n channel.nack(msg, false, false);\n return;\n }\n\n // Phase 6 — this job belongs to the trace of the request that enqueued it: adopt that request's\n // originCorrelationId into the (freshly-minted) consume frame, so every log line + audit row this\n // job produces on the worker carries the originating request's correlationId. Absent/malformed →\n // the frame keeps its fresh id (a job with no originating request stays independently traceable).\n adoptCorrelationIdIntoCurrentFrame(job.originCorrelationId);\n\n const startTime = Date.now();\n const { replyTo, correlationId } = msg.properties;\n\n // Track in-flight job for graceful shutdown\n this.shutdownManager.jobStarted();\n\n this.logDebug('Processing job', {\n jobId: job.jobId,\n jobType: job.jobType,\n priority: job.priority,\n retryCount: job.retryCount ?? 0,\n });\n\n try {\n // Mark job as started\n await this.jobStatusTracking.markStarted(job.jobId, this.workerIdentity.workerId);\n\n // Execute the job - returns JobResult which may indicate success OR failure\n // The executor catches all errors and returns a result with status\n const result = await this.jobExecutor.execute(job);\n\n // Check if job failed (executor returns result with FAILED status, doesn't throw)\n if (result.status === JobStatus.FAILED) {\n // Convert the error result to proper retry handling\n await this.handleJobFailure(job, result, msg, channel, config, startTime);\n return;\n }\n\n // Mark as completed only on success\n await this.jobStatusTracking.markCompleted(job.jobId);\n\n // Send RPC reply if requested\n if (replyTo && correlationId) {\n await this.adapter.publishResult(replyTo, correlationId, result);\n }\n\n // Dispatch to completion handlers (for BACKGROUND_JOB callbacks)\n await this.completionRegistry.dispatch({\n result,\n operationPathKey: job.operationPathKey,\n batchRef: job.batchRef,\n });\n\n // Acknowledge success\n channel.ack(msg);\n\n this.logDebug('Job completed successfully', {\n jobId: job.jobId,\n durationMs: Date.now() - startTime,\n });\n\n } catch (error) {\n // This catch block handles unexpected errors (e.g., from markStarted, dispatch)\n // NOT job execution errors (those are returned by executor as FAILED status)\n await this.handleJobError(job, error, msg, channel, config, startTime);\n } finally {\n // Always track job completion for graceful shutdown\n this.shutdownManager.jobCompleted();\n }\n }\n\n /**\n * Handle job failure when executor returns FAILED status (not an exception).\n * The executor catches errors and returns a JobResult with status FAILED.\n */\n private async handleJobFailure(\n job: JobPayload,\n result: JobResult,\n msg: ConsumeMessage,\n channel: Channel,\n config: JobConsumerConfig,\n startTime: number\n ): Promise<void> {\n const currentRetry = job.retryCount ?? 0;\n const maxRetries = job.maxRetries ?? config.retryConfig?.maxRetries ?? QUEUE_RETRY_DEFAULTS.maxRetries;\n const { replyTo, correlationId } = msg.properties;\n\n // Extract error handling strategy from the error\n const errorStrategy = result.error?.errorHandlingStrategy;\n const shouldRetry = config.enableRetry &&\n this.shouldRetryFromStrategy(errorStrategy, currentRetry, maxRetries);\n\n if (shouldRetry) {\n // Resolve backoff from the job's per-operation retryConfig, falling back to\n // the consumer config then the framework defaults (per-field, so a partial\n // authored retryConfig still gets sane values for the axes it omits).\n const backoff = job.retryConfig;\n const retryConfig: QueueRetryConfig = {\n retryPolicy: backoff?.retryPolicy ?? config.retryConfig?.retryPolicy ?? QUEUE_RETRY_DEFAULTS.retryPolicy,\n maxRetries: maxRetries,\n baseDelayMs: backoff?.baseDelayMs ?? config.retryConfig?.baseDelayMs ?? QUEUE_RETRY_DEFAULTS.baseDelayMs,\n maxDelayMs: backoff?.maxDelayMs ?? config.retryConfig?.maxDelayMs ?? QUEUE_RETRY_DEFAULTS.maxDelayMs,\n timeoutMs: job.timeoutMs ?? config.retryConfig?.timeoutMs ?? QUEUE_RETRY_DEFAULTS.timeoutMs,\n };\n\n const delay = JobRetryUtils.calculateDelay(retryConfig, currentRetry);\n\n // Create updated job with incremented retry count\n const retryJob: JobPayload = {\n ...job,\n retryCount: currentRetry + 1,\n };\n\n // Durable backoff: hand the retry to the broker (delay queue holds it, then\n // dead-letters it back) instead of an in-process setTimeout that would be\n // lost if this worker crashes during the wait.\n const operationsQueue = QueueNamingUtils.buildQueueName(this.applicationId, 'operations');\n try {\n await this.adapter.scheduleDelayedRetry(operationsQueue, retryJob, delay, {\n replyTo,\n correlationId,\n });\n } catch (scheduleError) {\n // Could not hand the retry to the broker — requeue the ORIGINAL (do not\n // ACK) so it is redelivered rather than silently lost.\n this.logger.error('Failed to schedule durable retry; requeueing original', {\n jobId: job.jobId,\n ...projectCaughtErrorLogFields(scheduleError),\n });\n channel.nack(msg, false, true);\n return;\n }\n\n // ACK original message (retry is now durably owned by the broker delay queue)\n channel.ack(msg);\n\n // Best-effort tracking update → RETRYING + lastRetryAt (never block the retry).\n if (result.error) {\n try {\n await this.jobStatusTracking.markFailed(job.jobId, result.error);\n } catch (trackingError) {\n this.logDebug('Failed to mark job retrying (non-fatal)', {\n jobId: job.jobId,\n error: describeCaughtError(trackingError),\n });\n }\n }\n\n this.logger.warn('Job retry scheduled (durable delay queue)', {\n jobId: job.jobId,\n retryCount: currentRetry + 1,\n maxRetries,\n delayMs: delay,\n // The queue is a non-HTTP boundary and owns its own operational level (a\n // scheduled retry is a `warn`, not classified from the error's severity).\n // Reuse the canonical field projection to restore the full error detail\n // that no longer self-logs at construction.\n ...(result.error ? projectWildoBackendErrorLogFields(result.error) : {}),\n });\n\n } else {\n // Max retries exceeded or non-retryable error\n await this.jobStatusTracking.markDeadLettered(job.jobId);\n\n // Send error reply if RPC\n if (replyTo && correlationId) {\n await this.adapter.publishResult(replyTo, correlationId, result);\n }\n\n // Reject without requeue → the operations queue's DLX now parks this\n // permanently-failed job in `operations.deadletter` (previously the broker\n // discarded it because no dead-letter-exchange was wired).\n channel.nack(msg, false, false);\n\n this.logger.error('Job failed permanently', {\n jobId: job.jobId,\n retryCount: currentRetry,\n maxRetries,\n // Permanent (dead-lettered) failure is operationally an `error`\n // regardless of the underlying error's business severity, so the level\n // stays explicit; the projection restores the full error detail (type,\n // status, context) and the stack.\n ...(result.error ? projectWildoBackendErrorLogFields(result.error) : {}),\n ...(result.error?.stack ? { stack: result.error.stack } : {}),\n });\n }\n }\n\n /**\n * Check if retry should happen based on error strategy.\n */\n private shouldRetryFromStrategy(\n strategy: ErrorHandling_Strategy | undefined,\n currentRetry: number,\n maxRetries: number\n ): boolean {\n // Check retry count limit\n if (currentRetry >= maxRetries) {\n return false;\n }\n\n // Only retry if strategy is explicitly RETRY or undefined (default to retry)\n return strategy === undefined || strategy === ErrorHandling_Strategy.RETRY;\n }\n\n /**\n * Handle unexpected errors (not job execution failures).\n * This handles errors from status tracking, dispatch, etc.\n */\n private async handleJobError(\n job: JobPayload,\n error: unknown,\n msg: ConsumeMessage,\n channel: Channel,\n config: JobConsumerConfig,\n startTime: number\n ): Promise<void> {\n const currentRetry = job.retryCount ?? 0;\n const maxRetries = job.maxRetries ?? config.retryConfig?.maxRetries ?? QUEUE_RETRY_DEFAULTS.maxRetries;\n const { replyTo, correlationId } = msg.properties;\n\n // This is a raw caught exception (not a returned JobResult). Normalize it\n // once so both the retry and permanent-failure logs carry the full detail —\n // errors no longer self-log at construction, so the queue boundary owns it.\n const errorInfo = this.extractErrorInfo(error);\n const errorLogFields: Record<string, unknown> = {\n errorType: errorInfo.type,\n ...(errorInfo.customMessageReference ? { customMessageReference: errorInfo.customMessageReference } : {}),\n ...(errorInfo.statusCode ? { statusCode: errorInfo.statusCode } : {}),\n ...(errorInfo.context ? { context: errorInfo.context } : {}),\n };\n\n // Check if we should retry\n const shouldRetry = config.enableRetry && this.shouldRetry(error, currentRetry, maxRetries);\n\n if (shouldRetry) {\n // Resolve backoff from the job's per-operation retryConfig (per-field\n // fallback to consumer config then framework defaults).\n const backoff = job.retryConfig;\n const retryConfig: QueueRetryConfig = {\n retryPolicy: backoff?.retryPolicy ?? config.retryConfig?.retryPolicy ?? QUEUE_RETRY_DEFAULTS.retryPolicy,\n maxRetries: maxRetries,\n baseDelayMs: backoff?.baseDelayMs ?? config.retryConfig?.baseDelayMs ?? QUEUE_RETRY_DEFAULTS.baseDelayMs,\n maxDelayMs: backoff?.maxDelayMs ?? config.retryConfig?.maxDelayMs ?? QUEUE_RETRY_DEFAULTS.maxDelayMs,\n timeoutMs: job.timeoutMs ?? config.retryConfig?.timeoutMs ?? QUEUE_RETRY_DEFAULTS.timeoutMs,\n };\n\n const delay = JobRetryUtils.calculateDelay(retryConfig, currentRetry);\n\n // Create updated job with incremented retry count\n const retryJob: JobPayload = {\n ...job,\n retryCount: currentRetry + 1,\n };\n\n // Durable backoff via the broker delay queue (see handleJobFailure).\n const operationsQueue = QueueNamingUtils.buildQueueName(this.applicationId, 'operations');\n try {\n await this.adapter.scheduleDelayedRetry(operationsQueue, retryJob, delay, {\n replyTo,\n correlationId,\n });\n } catch (scheduleError) {\n this.logger.error('Failed to schedule durable retry; requeueing original', {\n jobId: job.jobId,\n ...projectCaughtErrorLogFields(scheduleError),\n });\n channel.nack(msg, false, true);\n return;\n }\n\n // ACK original message (retry is now durably owned by the broker delay queue)\n channel.ack(msg);\n\n this.logger.warn('Job retry scheduled (durable delay queue)', {\n jobId: job.jobId,\n retryCount: currentRetry + 1,\n maxRetries,\n delayMs: delay,\n ...errorLogFields,\n });\n\n } else {\n // Max retries exceeded or non-retryable error\n\n // Mark as dead-lettered\n await this.jobStatusTracking.markDeadLettered(job.jobId);\n\n // Send error reply if RPC\n if (replyTo && correlationId) {\n const jobResult: JobResult = {\n jobId: job.jobId,\n status: JobStatus.FAILED,\n error: {\n type: errorInfo.type ?? ErrorType.INTERNAL,\n severity: ErrorSeverity.HIGH,\n timestamp: new Date(),\n context: errorInfo.context,\n backendActions: [],\n customMessageReference: ErrorCustomMessageReference.INTERNAL,\n statusCode: 500,\n },\n startedAt: new Date(startTime),\n completedAt: new Date(),\n durationMs: Date.now() - startTime,\n };\n\n await this.adapter.publishResult(replyTo, correlationId, jobResult);\n }\n\n // Reject without requeue → the operations queue's DLX now parks this\n // permanently-failed job in `operations.deadletter` (previously the broker\n // discarded it because no dead-letter-exchange was wired).\n channel.nack(msg, false, false);\n\n this.logger.error('Job failed permanently', {\n jobId: job.jobId,\n retryCount: currentRetry,\n maxRetries,\n ...errorLogFields,\n });\n }\n }\n\n /**\n * Determine if an error is retryable.\n */\n private shouldRetry(error: unknown, currentRetry: number, maxRetries: number): boolean {\n // Check retry count limit\n if (currentRetry >= maxRetries) {\n return false;\n }\n\n // Check if error specifies non-retryable\n if (this.isWildoError(error)) {\n const strategy = error.errorHandlingStrategy;\n // Only retry if strategy is explicitly RETRY or undefined (default to retry)\n return strategy === undefined || strategy === ErrorHandling_Strategy.RETRY;\n }\n\n // Default: retry on any error\n return true;\n }\n\n /**\n * Type guard for WildoError_Backend.\n */\n private isWildoError(error: unknown): error is {\n type: ErrorType;\n errorHandlingStrategy?: ErrorHandling_Strategy;\n customMessageReference?: ErrorCustomMessageReference;\n statusCode?: number;\n context?: Record<string, unknown>;\n } {\n return (\n typeof error === 'object' &&\n error !== null &&\n 'type' in error &&\n typeof (error as any).type === 'string'\n );\n }\n\n /**\n * Extract error information for result/logging.\n */\n private extractErrorInfo(error: unknown): {\n type?: ErrorType;\n customMessageReference?: ErrorCustomMessageReference;\n statusCode?: number;\n context?: Record<string, unknown>;\n } {\n if (this.isWildoError(error)) {\n return {\n type: error.type,\n customMessageReference: error.customMessageReference,\n statusCode: error.statusCode,\n context: error.context,\n };\n }\n\n return {\n type: ErrorType.INTERNAL,\n context: {\n message: describeCaughtError(error),\n },\n };\n }\n\n /**\n * Handle a scheduled message (JWT-signed from crontabs-batches-manager).\n */\n private async handleScheduledMessage(\n msg: ConsumeMessage,\n channel: Channel,\n config: JobConsumerConfig\n ): Promise<void> {\n const token = msg.content.toString();\n\n // Track in-flight job for graceful shutdown\n this.shutdownManager.jobStarted();\n\n try {\n // Verify the JWT token and convert to JobPayload\n const job = await this.scheduledMessageVerifier.verifyAndConvert(token);\n\n this.logger.info('Processing scheduled job', {\n jobId: job.jobId,\n hasBatchRef: !!job.batchRef,\n hasOperationPathKey: !!job.operationPathKey,\n applicationId: job.applicationId,\n });\n\n const startTime = Date.now();\n\n // Mark job as started\n await this.jobStatusTracking.markStarted(job.jobId, this.workerIdentity.workerId);\n\n // Execute the job - returns JobResult which may indicate success OR failure\n const result = await this.jobExecutor.execute(job);\n\n // Check if job failed (executor returns result with FAILED status, doesn't throw)\n if (result.status === JobStatus.FAILED) {\n // Mark as failed in tracking\n await this.jobStatusTracking.markFailed(job.jobId, result.error!);\n\n // Log failure — the queue owns the operational level (`error`); the\n // projection restores the full error detail that no longer self-logs at\n // construction.\n this.logger.error('Scheduled job execution failed', {\n jobId: job.jobId,\n durationMs: Date.now() - startTime,\n ...(result.error ? projectWildoBackendErrorLogFields(result.error) : {}),\n ...(result.error?.stack ? { stack: result.error.stack } : {}),\n });\n\n // Reject without requeue: scheduled jobs don't retry via the queue (they\n // re-run on the next schedule). The message is now parked in\n // `scheduled.deadletter` as a stale audit copy for inspection.\n channel.nack(msg, false, false);\n return;\n }\n\n // Mark as completed only on success\n await this.jobStatusTracking.markCompleted(job.jobId);\n\n // Acknowledge success\n channel.ack(msg);\n\n this.logger.info('Scheduled job completed successfully', {\n jobId: job.jobId,\n durationMs: Date.now() - startTime,\n });\n\n } catch (error) {\n // This catches errors from token verification, status tracking, etc.\n // NOT job execution errors (those are returned by executor as FAILED status)\n this.logger.error('Scheduled job processing error', {\n ...projectCaughtErrorLogFields(error),\n });\n\n // Reject without requeue: scheduled jobs don't retry via the queue (they\n // re-run on the next schedule). The message is now parked in\n // `scheduled.deadletter` as a stale audit copy for inspection.\n channel.nack(msg, false, false);\n\n } finally {\n this.shutdownManager.jobCompleted();\n }\n }\n\n /**\n * Get worker identity for external access.\n */\n getWorkerIdentity(): WorkerIdentity {\n return { ...this.workerIdentity };\n }\n\n /**\n * Check if consumer is running.\n */\n isRunning(): boolean {\n return this.isConsuming;\n }\n}\n"]}
|
|
@@ -9,7 +9,7 @@ import { ErrorBuilderBackendService } from '../errors/services/error-builder.bac
|
|
|
9
9
|
import { ServicesRegistryHandlerBackendService } from '../base-classes/services/services/services-registry-handler.backend.service';
|
|
10
10
|
import { ExecutionContextCreatorBackendService } from '../runtime/services/execution-context-creator.backend.service';
|
|
11
11
|
import { BatchesCronjobsExecutor_BackendService } from '../base-classes/services/batches/batches-cronjobs-executor.backend.service';
|
|
12
|
-
import {
|
|
12
|
+
import type { QueueAdapter } from './adapters/queue-adapter.backend.interface';
|
|
13
13
|
import { JobPayloadStorageBackendService } from './job-payload-storage.backend.service';
|
|
14
14
|
import { JobPayload, JobResult } from '@wildo-ai/saas-models';
|
|
15
15
|
export declare class JobExecutorBackendService {
|
|
@@ -22,7 +22,7 @@ export declare class JobExecutorBackendService {
|
|
|
22
22
|
private readonly errorBuilder;
|
|
23
23
|
protected logDebug: (message: string, context?: Record<string, unknown>) => void;
|
|
24
24
|
private readonly workerId;
|
|
25
|
-
constructor(servicesRegistry: ServicesRegistryHandlerBackendService, executionContextCreator: ExecutionContextCreatorBackendService, batchExecutor: BatchesCronjobsExecutor_BackendService, adapter:
|
|
25
|
+
constructor(servicesRegistry: ServicesRegistryHandlerBackendService, executionContextCreator: ExecutionContextCreatorBackendService, batchExecutor: BatchesCronjobsExecutor_BackendService, adapter: QueueAdapter, payloadStorage: JobPayloadStorageBackendService, logger: LoggerService, errorBuilder: ErrorBuilderBackendService);
|
|
26
26
|
/**
|
|
27
27
|
* Execute a job and return result.
|
|
28
28
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-executor.backend.service.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"job-executor.backend.service.d.ts","sourceRoot":"","sources":["../../../src/queue/job-executor.backend.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AAC9G,OAAO,EAAE,qCAAqC,EAAE,MAAM,6FAA6F,CAAC;AACpJ,OAAO,EAAE,qCAAqC,EAAE,MAAM,+EAA+E,CAAC;AACtI,OAAO,EAAE,sCAAsC,EAAE,MAAM,4FAA4F,CAAC;AACpJ,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EACL,UAAU,EACV,SAAS,EAQV,MAAM,uBAAuB,CAAC;AAgB/B,qBACa,yBAAyB;IAMlC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAEjC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAExC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAjB/B,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACjF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAIf,gBAAgB,EAAE,qCAAqC,EAEvD,uBAAuB,EAAE,qCAAqC,EAE9D,aAAa,EAAE,sCAAsC,EAErD,OAAO,EAAE,YAAY,EAErB,cAAc,EAAE,+BAA+B,EAE/C,MAAM,EAAE,aAAa,EAErB,YAAY,EAAE,0BAA0B;IAO3D;;OAEG;IACU,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAwEzD;;OAEG;YACW,wBAAwB;IA4BtC;;OAEG;YACW,kBAAkB;IAgBhC;;OAEG;YACW,oBAAoB;IAsBlC;;OAEG;IACI,WAAW,IAAI,MAAM;CAG7B"}
|
|
@@ -24,7 +24,6 @@ import { ErrorBuilderBackendService } from '../errors/services/error-builder.bac
|
|
|
24
24
|
import { ServicesRegistryHandlerBackendService } from '../base-classes/services/services/services-registry-handler.backend.service.js';
|
|
25
25
|
import { ExecutionContextCreatorBackendService } from '../runtime/services/execution-context-creator.backend.service.js';
|
|
26
26
|
import { BatchesCronjobsExecutor_BackendService } from '../base-classes/services/batches/batches-cronjobs-executor.backend.service.js';
|
|
27
|
-
import { RabbitMQAdapterBackendService } from './adapters/rabbitmq-adapter.backend.service.js';
|
|
28
27
|
import { JobPayloadStorageBackendService } from './job-payload-storage.backend.service.js';
|
|
29
28
|
import { JobStatus, JobType, ErrorType, ErrorCustomMessageReference, ResourceSerializationUtils, ResourcesConfig_OperationPathUtils, } from '@wildo-ai/saas-models';
|
|
30
29
|
/**
|
|
@@ -196,9 +195,7 @@ JobExecutorBackendService = __decorate([
|
|
|
196
195
|
__param(6, inject(SAAS_SERVICE_TYPES.ErrorBuilderService)),
|
|
197
196
|
__metadata("design:paramtypes", [ServicesRegistryHandlerBackendService,
|
|
198
197
|
ExecutionContextCreatorBackendService,
|
|
199
|
-
BatchesCronjobsExecutor_BackendService,
|
|
200
|
-
RabbitMQAdapterBackendService,
|
|
201
|
-
JobPayloadStorageBackendService,
|
|
198
|
+
BatchesCronjobsExecutor_BackendService, Object, JobPayloadStorageBackendService,
|
|
202
199
|
LoggerService,
|
|
203
200
|
ErrorBuilderBackendService])
|
|
204
201
|
], JobExecutorBackendService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-executor.backend.service.js","sourceRoot":"","sources":["../../../../src/queue/job-executor.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Job Executor Backend Service\n *\n * Executes queued jobs on worker pods.\n * Handles resource operations, custom batches, and scheduled crons.\n */\n\nimport { injectable, inject } from 'inversify';\nimport * as os from 'os';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';\nimport { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';\nimport { ServicesRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/services/services-registry-handler.backend.service';\nimport { ExecutionContextCreatorBackendService } from '~wildo-backend-lib/runtime/services/execution-context-creator.backend.service';\nimport { BatchesCronjobsExecutor_BackendService } from '~wildo-backend-lib/base-classes/services/batches/batches-cronjobs-executor.backend.service';\nimport { RabbitMQAdapterBackendService } from './adapters/rabbitmq-adapter.backend.service';\nimport { JobPayloadStorageBackendService } from './job-payload-storage.backend.service';\nimport {\n JobPayload,\n JobResult,\n JobStatus,\n JobType,\n ErrorType,\n ErrorCustomMessageReference,\n ResourceSerializationUtils,\n ResourcesConfig_OperationPathUtils,\n WildoError_Backend,\n} from '@wildo-ai/saas-models';\n\n/**\n * Type guard to check if an error is a WildoError_Backend.\n * Uses duck typing since WildoError_Backend is a type, not a class.\n */\nfunction isWildoError(error: unknown): error is WildoError_Backend {\n return (\n error !== null &&\n typeof error === 'object' &&\n 'type' in error &&\n 'statusCode' in error &&\n 'backendActions' in error\n );\n}\n\n@injectable()\nexport class JobExecutorBackendService {\n protected logDebug: (message: string, context?: Record<string, unknown>) => void;\n private readonly workerId: string;\n\n constructor(\n @inject(SAAS_SERVICE_TYPES.ServicesRegistryHandlerService)\n private readonly servicesRegistry: ServicesRegistryHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.ExecutionContextCreatorBackendService)\n private readonly executionContextCreator: ExecutionContextCreatorBackendService,\n @inject(SAAS_SERVICE_TYPES.BatchesCronjobsExecutorService)\n private readonly batchExecutor: BatchesCronjobsExecutor_BackendService,\n @inject(SAAS_SERVICE_TYPES.RabbitMQAdapterService)\n private readonly adapter: RabbitMQAdapterBackendService,\n @inject(SAAS_SERVICE_TYPES.JobPayloadStorageService)\n private readonly payloadStorage: JobPayloadStorageBackendService,\n @inject(SAAS_SERVICE_TYPES.Logger)\n private readonly logger: LoggerService,\n @inject(SAAS_SERVICE_TYPES.ErrorBuilderService)\n private readonly errorBuilder: ErrorBuilderBackendService,\n ) {\n this.logDebug = this.logger.debugByType('JobExecutorBackendService');\n this.logger.setDebugTypeLogging('JobExecutorBackendService', false);\n this.workerId = process.env.K8S_POD_NAME || os.hostname();\n }\n\n /**\n * Execute a job and return result.\n */\n public async execute(job: JobPayload): Promise<JobResult> {\n const startedAt = new Date();\n\n try {\n // Resolve input data - check if stored externally first\n let inputData: unknown;\n if (job.inputPayloadStorageId) {\n // Retrieve from external storage\n inputData = await this.payloadStorage.retrieve(job.inputPayloadStorageId);\n this.logDebug('Retrieved external payload', {\n jobId: job.jobId,\n storageId: job.inputPayloadStorageId,\n });\n } else if (job.inputDataJson) {\n inputData = JSON.parse(job.inputDataJson);\n }\n\n // Execute based on job type\n let result: any;\n\n switch (job.jobType) {\n case JobType.RESOURCE_OPERATION:\n result = await this.executeResourceOperation(job, inputData);\n break;\n case JobType.CUSTOM_BATCH:\n result = await this.executeCustomBatch(job, inputData);\n break;\n case JobType.SCHEDULED_CRON:\n result = await this.executeScheduledCron(job, inputData);\n break;\n default:\n throw this.errorBuilder.buildError(\n ErrorType.INTERNAL,\n undefined,\n {\n customMessageReference: ErrorCustomMessageReference.JOB_EXECUTION_FAILED,\n context: { jobType: job.jobType, message: 'Unknown job type' },\n }\n );\n }\n\n // Build success result\n const jobResult: JobResult = {\n jobId: job.jobId,\n status: JobStatus.COMPLETED,\n resultJson: result !== undefined ? JSON.stringify(result) : undefined,\n startedAt,\n completedAt: new Date(),\n durationMs: Date.now() - startedAt.getTime(),\n };\n\n return jobResult;\n\n } catch (error) {\n // Convert to WildoError\n const wildoError = isWildoError(error)\n ? error\n : this.errorBuilder.buildFromStandardError(error as Error);\n\n const jobResult: JobResult = {\n jobId: job.jobId,\n status: JobStatus.FAILED,\n error: wildoError,\n startedAt,\n completedAt: new Date(),\n durationMs: Date.now() - startedAt.getTime(),\n };\n\n return jobResult;\n }\n }\n\n /**\n * Execute resource operation with reconstructed execution context.\n */\n private async executeResourceOperation(job: JobPayload, inputData: unknown): Promise<any> {\n if (!job.executionContextJson || !job.operationPathJson) {\n throw this.errorBuilder.buildError(\n ErrorType.CONFIGURATION,\n undefined,\n {\n customMessageReference: ErrorCustomMessageReference.JOB_EXECUTION_CONTEXT_INVALID,\n context: { message: 'Resource operation requires executionContextJson and operationPathJson' },\n }\n );\n }\n\n // Reconstruct execution context from serialized data\n const executionContext = await this.executionContextCreator.reconstructFromSerializedData(\n job.executionContextJson,\n job.operationPathJson\n );\n const operationPath = ResourceSerializationUtils.deserializeOperationPath(job.operationPathJson);\n\n // Execute by the serialized operation path and preserve the enqueue-time\n // target id. Context-addressed routes are resolved and authorized before\n // enqueueing; worker replay must not re-derive identity from context.\n return this.servicesRegistry.doByOperationPath(operationPath, executionContext, job.inputId, inputData, {\n isWorkerExecution: true,\n ...(job.inputId ? { contextAddressedOperationAuthorizationId: job.inputId } : {}),\n });\n }\n\n /**\n * Execute custom batch job.\n */\n private async executeCustomBatch(job: JobPayload, inputData: unknown): Promise<any> {\n if (!job.batchRef) {\n throw this.errorBuilder.buildError(\n ErrorType.CONFIGURATION,\n undefined,\n {\n customMessageReference: ErrorCustomMessageReference.JOB_BATCH_REF_NOT_FOUND,\n context: { message: 'Custom batch job requires batchRef' },\n }\n );\n }\n\n // Custom batch executor creates its own internal context\n return this.batchExecutor.executeCustomBatch(job.batchRef, inputData, new Map());\n }\n\n /**\n * Execute scheduled cron job (after JWT verification in consumer).\n */\n private async executeScheduledCron(job: JobPayload, inputData: unknown): Promise<any> {\n // Scheduled jobs can be either resource-oriented or custom batches\n if (job.operationPathKey) {\n // Resource-oriented scheduled job\n // operationPathKey is in format: \"resource | operation | variantType | variant | isBulk:false\"\n const operationPath = ResourcesConfig_OperationPathUtils.parseOperationPathKey(job.operationPathKey);\n return this.batchExecutor.executeBatchFromResource(operationPath, inputData);\n } else if (job.batchRef) {\n // Custom batch\n return this.batchExecutor.executeCustomBatch(job.batchRef, inputData, new Map());\n }\n\n throw this.errorBuilder.buildError(\n ErrorType.CONFIGURATION,\n undefined,\n {\n customMessageReference: ErrorCustomMessageReference.JOB_EXECUTION_FAILED,\n context: { message: 'Scheduled job has neither operationPathKey nor batchRef' },\n }\n );\n }\n\n /**\n * Get worker ID for this executor.\n */\n public getWorkerId(): string {\n return this.workerId;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"job-executor.backend.service.js","sourceRoot":"","sources":["../../../src/queue/job-executor.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Job Executor Backend Service\n *\n * Executes queued jobs on worker pods.\n * Handles resource operations, custom batches, and scheduled crons.\n */\n\nimport { injectable, inject } from 'inversify';\nimport * as os from 'os';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';\nimport { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';\nimport { ServicesRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/services/services-registry-handler.backend.service';\nimport { ExecutionContextCreatorBackendService } from '~wildo-backend-lib/runtime/services/execution-context-creator.backend.service';\nimport { BatchesCronjobsExecutor_BackendService } from '~wildo-backend-lib/base-classes/services/batches/batches-cronjobs-executor.backend.service';\nimport type { QueueAdapter } from './adapters/queue-adapter.backend.interface';\nimport { JobPayloadStorageBackendService } from './job-payload-storage.backend.service';\nimport {\n JobPayload,\n JobResult,\n JobStatus,\n JobType,\n ErrorType,\n ErrorCustomMessageReference,\n ResourceSerializationUtils,\n ResourcesConfig_OperationPathUtils,\n WildoError_Backend,\n} from '@wildo-ai/saas-models';\n\n/**\n * Type guard to check if an error is a WildoError_Backend.\n * Uses duck typing since WildoError_Backend is a type, not a class.\n */\nfunction isWildoError(error: unknown): error is WildoError_Backend {\n return (\n error !== null &&\n typeof error === 'object' &&\n 'type' in error &&\n 'statusCode' in error &&\n 'backendActions' in error\n );\n}\n\n@injectable()\nexport class JobExecutorBackendService {\n protected logDebug: (message: string, context?: Record<string, unknown>) => void;\n private readonly workerId: string;\n\n constructor(\n @inject(SAAS_SERVICE_TYPES.ServicesRegistryHandlerService)\n private readonly servicesRegistry: ServicesRegistryHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.ExecutionContextCreatorBackendService)\n private readonly executionContextCreator: ExecutionContextCreatorBackendService,\n @inject(SAAS_SERVICE_TYPES.BatchesCronjobsExecutorService)\n private readonly batchExecutor: BatchesCronjobsExecutor_BackendService,\n @inject(SAAS_SERVICE_TYPES.RabbitMQAdapterService)\n private readonly adapter: QueueAdapter,\n @inject(SAAS_SERVICE_TYPES.JobPayloadStorageService)\n private readonly payloadStorage: JobPayloadStorageBackendService,\n @inject(SAAS_SERVICE_TYPES.Logger)\n private readonly logger: LoggerService,\n @inject(SAAS_SERVICE_TYPES.ErrorBuilderService)\n private readonly errorBuilder: ErrorBuilderBackendService,\n ) {\n this.logDebug = this.logger.debugByType('JobExecutorBackendService');\n this.logger.setDebugTypeLogging('JobExecutorBackendService', false);\n this.workerId = process.env.K8S_POD_NAME || os.hostname();\n }\n\n /**\n * Execute a job and return result.\n */\n public async execute(job: JobPayload): Promise<JobResult> {\n const startedAt = new Date();\n\n try {\n // Resolve input data - check if stored externally first\n let inputData: unknown;\n if (job.inputPayloadStorageId) {\n // Retrieve from external storage\n inputData = await this.payloadStorage.retrieve(job.inputPayloadStorageId);\n this.logDebug('Retrieved external payload', {\n jobId: job.jobId,\n storageId: job.inputPayloadStorageId,\n });\n } else if (job.inputDataJson) {\n inputData = JSON.parse(job.inputDataJson);\n }\n\n // Execute based on job type\n let result: any;\n\n switch (job.jobType) {\n case JobType.RESOURCE_OPERATION:\n result = await this.executeResourceOperation(job, inputData);\n break;\n case JobType.CUSTOM_BATCH:\n result = await this.executeCustomBatch(job, inputData);\n break;\n case JobType.SCHEDULED_CRON:\n result = await this.executeScheduledCron(job, inputData);\n break;\n default:\n throw this.errorBuilder.buildError(\n ErrorType.INTERNAL,\n undefined,\n {\n customMessageReference: ErrorCustomMessageReference.JOB_EXECUTION_FAILED,\n context: { jobType: job.jobType, message: 'Unknown job type' },\n }\n );\n }\n\n // Build success result\n const jobResult: JobResult = {\n jobId: job.jobId,\n status: JobStatus.COMPLETED,\n resultJson: result !== undefined ? JSON.stringify(result) : undefined,\n startedAt,\n completedAt: new Date(),\n durationMs: Date.now() - startedAt.getTime(),\n };\n\n return jobResult;\n\n } catch (error) {\n // Convert to WildoError\n const wildoError = isWildoError(error)\n ? error\n : this.errorBuilder.buildFromStandardError(error as Error);\n\n const jobResult: JobResult = {\n jobId: job.jobId,\n status: JobStatus.FAILED,\n error: wildoError,\n startedAt,\n completedAt: new Date(),\n durationMs: Date.now() - startedAt.getTime(),\n };\n\n return jobResult;\n }\n }\n\n /**\n * Execute resource operation with reconstructed execution context.\n */\n private async executeResourceOperation(job: JobPayload, inputData: unknown): Promise<any> {\n if (!job.executionContextJson || !job.operationPathJson) {\n throw this.errorBuilder.buildError(\n ErrorType.CONFIGURATION,\n undefined,\n {\n customMessageReference: ErrorCustomMessageReference.JOB_EXECUTION_CONTEXT_INVALID,\n context: { message: 'Resource operation requires executionContextJson and operationPathJson' },\n }\n );\n }\n\n // Reconstruct execution context from serialized data\n const executionContext = await this.executionContextCreator.reconstructFromSerializedData(\n job.executionContextJson,\n job.operationPathJson\n );\n const operationPath = ResourceSerializationUtils.deserializeOperationPath(job.operationPathJson);\n\n // Execute by the serialized operation path and preserve the enqueue-time\n // target id. Context-addressed routes are resolved and authorized before\n // enqueueing; worker replay must not re-derive identity from context.\n return this.servicesRegistry.doByOperationPath(operationPath, executionContext, job.inputId, inputData, {\n isWorkerExecution: true,\n ...(job.inputId ? { contextAddressedOperationAuthorizationId: job.inputId } : {}),\n });\n }\n\n /**\n * Execute custom batch job.\n */\n private async executeCustomBatch(job: JobPayload, inputData: unknown): Promise<any> {\n if (!job.batchRef) {\n throw this.errorBuilder.buildError(\n ErrorType.CONFIGURATION,\n undefined,\n {\n customMessageReference: ErrorCustomMessageReference.JOB_BATCH_REF_NOT_FOUND,\n context: { message: 'Custom batch job requires batchRef' },\n }\n );\n }\n\n // Custom batch executor creates its own internal context\n return this.batchExecutor.executeCustomBatch(job.batchRef, inputData, new Map());\n }\n\n /**\n * Execute scheduled cron job (after JWT verification in consumer).\n */\n private async executeScheduledCron(job: JobPayload, inputData: unknown): Promise<any> {\n // Scheduled jobs can be either resource-oriented or custom batches\n if (job.operationPathKey) {\n // Resource-oriented scheduled job\n // operationPathKey is in format: \"resource | operation | variantType | variant | isBulk:false\"\n const operationPath = ResourcesConfig_OperationPathUtils.parseOperationPathKey(job.operationPathKey);\n return this.batchExecutor.executeBatchFromResource(operationPath, inputData);\n } else if (job.batchRef) {\n // Custom batch\n return this.batchExecutor.executeCustomBatch(job.batchRef, inputData, new Map());\n }\n\n throw this.errorBuilder.buildError(\n ErrorType.CONFIGURATION,\n undefined,\n {\n customMessageReference: ErrorCustomMessageReference.JOB_EXECUTION_FAILED,\n context: { message: 'Scheduled job has neither operationPathKey nor batchRef' },\n }\n );\n }\n\n /**\n * Get worker ID for this executor.\n */\n public getWorkerId(): string {\n return this.workerId;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-payload-storage.backend.service.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"job-payload-storage.backend.service.d.ts","sourceRoot":"","sources":["../../../src/queue/job-payload-storage.backend.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AAG9G,OAAO,EAAE,yCAAyC,EAAE,MAAM,qGAAqG,CAAC;AAChK,OAAO,EAAE,qCAAqC,EAAE,MAAM,+EAA+E,CAAC;AACtI,OAAO,EAAE,iBAAiB,EAAE,MAAM,qEAAqE,CAAC;AACxG,OAAO,EAML,gBAAgB,EAIjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AAe/G,qBACa,+BAA+B;IAMxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAEjC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IAErC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAb1C,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACjF,OAAO,CAAC,cAAc,CAAuB;gBAI1B,gBAAgB,EAAE,uBAAuB,EAEzC,MAAM,EAAE,aAAa,EAErB,YAAY,EAAE,0BAA0B,EAExC,oBAAoB,EAAE,yCAAyC,EAE/D,uBAAuB,EAAE,qCAAqC;IAMjF,oCAAoC;IACpC,OAAO,KAAK,aAAa,GAKxB;IAED;;OAEG;IACH,MAAM,KAAK,YAAY,IAAI,gBAAgB,CAE1C;IAED;;;OAGG;IACH,OAAO,KAAK,iBAAiB,GAK5B;IAED;;;;;;;;;OASG;YACW,qBAAqB;IASnC;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAMtC;;;;;;;;OAQG;IACG,KAAK,CACT,OAAO,EAAE,OAAO,EAChB,QAAQ,GAAE,MAA0B,EACpC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,MAAM,CAAC;IAgElB;;;;;;;OAOG;IACG,QAAQ,CAAC,CAAC,GAAG,OAAO,EACxB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAwDpB;;;;;;OAMG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAW5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-status-tracking.backend.service.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"job-status-tracking.backend.service.d.ts","sourceRoot":"","sources":["../../../src/queue/job-status-tracking.backend.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAE7F,OAAO,EAAE,yCAAyC,EAAE,MAAM,qGAAqG,CAAC;AAChK,OAAO,EAAE,qCAAqC,EAAE,MAAM,+EAA+E,CAAC;AACtI,OAAO,EAAE,iBAAiB,EAAE,MAAM,qEAAqE,CAAC;AACxG,OAAO,EACL,UAAU,EACV,YAAY,EAGZ,kBAAkB,EAClB,gBAAgB,EAEjB,MAAM,uBAAuB,CAAC;AAG/B,qBACa,+BAA+B;IAKxC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IAErC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAR1C,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;gBAI9D,MAAM,EAAE,aAAa,EAErB,oBAAoB,EAAE,yCAAyC,EAE/D,uBAAuB,EAAE,qCAAqC;IAMjF;;OAEG;IACH,MAAM,KAAK,YAAY,IAAI,gBAAgB,CAE1C;IAED;;;OAGG;IACH,OAAO,KAAK,sBAAsB,GAKjC;IAED;;;;;;;;;OASG;YACW,qBAAqB;IASnC;;;;;;;OAOG;IACG,eAAe,CACnB,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,MAAM,CAAC;IAyDlB;;;;;;OAMG;IACG,WAAW,CACf,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAoBhB;;;;;;OAMG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,sBAAsB,CAAC,EAAE,MAAM,EAC/B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAkChB;;;;;;OAMG;IACG,UAAU,CACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,kBAAkB,EACzB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC;IA+DhB;;;;;;;;;;;;;;;OAeG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjF;;;;;OAKG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9E;;;;;;;OAOG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAW3F"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { LoggerService } from '../monitoring/logger/services/logger.service';
|
|
8
8
|
import { AppConfigurationService } from '../config/services/app-configuration.backend.service';
|
|
9
|
-
import {
|
|
9
|
+
import type { QueueAdapter } from './adapters/queue-adapter.backend.interface';
|
|
10
10
|
import { QueueMetrics, QueueHealthSummary, QueueAlertThreshold } from '@wildo-ai/saas-models';
|
|
11
11
|
/**
|
|
12
12
|
* Alert callback type for queue monitoring.
|
|
@@ -15,13 +15,13 @@ export type QueueAlertCallback = (alertType: string, queueName: string, details:
|
|
|
15
15
|
export declare class QueueMonitoringBackendService {
|
|
16
16
|
private readonly logger;
|
|
17
17
|
private readonly configService;
|
|
18
|
-
private readonly
|
|
18
|
+
private readonly queueAdapter;
|
|
19
19
|
protected logDebug: (message: string, context?: Record<string, unknown>) => void;
|
|
20
20
|
private alertCallbacks;
|
|
21
21
|
private alertThresholds;
|
|
22
22
|
private monitoringInterval;
|
|
23
23
|
private isMonitoring;
|
|
24
|
-
constructor(logger: LoggerService, configService: AppConfigurationService,
|
|
24
|
+
constructor(logger: LoggerService, configService: AppConfigurationService, queueAdapter: QueueAdapter);
|
|
25
25
|
/**
|
|
26
26
|
* Start monitoring queues at the specified interval.
|
|
27
27
|
*/
|
|
@@ -48,7 +48,11 @@ export declare class QueueMonitoringBackendService {
|
|
|
48
48
|
*/
|
|
49
49
|
getHealthSummary(): Promise<QueueHealthSummary>;
|
|
50
50
|
/**
|
|
51
|
-
*
|
|
51
|
+
* Whether the queue substrate this runtime uses is connected.
|
|
52
|
+
*
|
|
53
|
+
* Named `isRabbitMQHealthy` for its callers' sake and answered by whichever adapter is bound
|
|
54
|
+
* (#502) — an in-memory queue reports connected once `connect()` has run, which is the honest
|
|
55
|
+
* answer to "can this runtime enqueue work" regardless of what is behind it.
|
|
52
56
|
*/
|
|
53
57
|
isRabbitMQHealthy(): Promise<boolean>;
|
|
54
58
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue-monitoring.backend.service.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"queue-monitoring.backend.service.d.ts","sourceRoot":"","sources":["../../../src/queue/queue-monitoring.backend.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAE7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AAC/G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EACL,YAAY,EACZ,kBAAkB,EAElB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,qBACa,6BAA6B;IAStC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAZ/B,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACjF,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,kBAAkB,CAA+B;IACzD,OAAO,CAAC,YAAY,CAAS;gBAIV,MAAM,EAAE,aAAa,EAErB,aAAa,EAAE,uBAAuB,EAEtC,YAAY,EAAE,YAAY;IAM7C;;OAEG;IACH,eAAe,CAAC,UAAU,GAAE,MAAc,GAAG,IAAI;IA2BjD;;OAEG;IACH,cAAc,IAAI,IAAI;IAStB;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAI3C;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,GAAG,IAAI;IAK1E;;;OAGG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA4C/D;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAsErD;;;;;;OAMG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3C;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsC3B;;OAEG;YACW,cAAc;IAmB5B;;OAEG;YACW,YAAY;IAkB1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAgB3B"}
|
|
@@ -21,21 +21,20 @@ import { SAAS_SERVICE_TYPES } from '../inject/models/service-types.js';
|
|
|
21
21
|
import { LoggerService } from '../monitoring/logger/services/logger.service.js';
|
|
22
22
|
import { describeCaughtError, projectCaughtErrorLogFields } from '../errors/utils/error-log-level-classification.backend.utils.js';
|
|
23
23
|
import { AppConfigurationService } from '../config/services/app-configuration.backend.service.js';
|
|
24
|
-
import { RabbitMQAdapterBackendService } from './adapters/rabbitmq-adapter.backend.service.js';
|
|
25
24
|
import { QueueHealthStatus, } from '@wildo-ai/saas-models';
|
|
26
25
|
let QueueMonitoringBackendService = class QueueMonitoringBackendService {
|
|
27
26
|
logger;
|
|
28
27
|
configService;
|
|
29
|
-
|
|
28
|
+
queueAdapter;
|
|
30
29
|
logDebug;
|
|
31
30
|
alertCallbacks = [];
|
|
32
31
|
alertThresholds = new Map();
|
|
33
32
|
monitoringInterval = null;
|
|
34
33
|
isMonitoring = false;
|
|
35
|
-
constructor(logger, configService,
|
|
34
|
+
constructor(logger, configService, queueAdapter) {
|
|
36
35
|
this.logger = logger;
|
|
37
36
|
this.configService = configService;
|
|
38
|
-
this.
|
|
37
|
+
this.queueAdapter = queueAdapter;
|
|
39
38
|
this.logDebug = this.logger.debugByType('QueueMonitoringBackendService');
|
|
40
39
|
this.logger.setDebugTypeLogging('QueueMonitoringBackendService', false);
|
|
41
40
|
}
|
|
@@ -95,20 +94,26 @@ let QueueMonitoringBackendService = class QueueMonitoringBackendService {
|
|
|
95
94
|
* Also checks the corresponding dead letter queue if it exists.
|
|
96
95
|
*/
|
|
97
96
|
async getQueueMetrics(queueName) {
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
/*
|
|
98
|
+
* Asks the ADAPTER how deep the queue is, rather than reaching through it for an amqplib
|
|
99
|
+
* channel (#502). Behaviour is unchanged for RabbitMQ — `null` here is what a null channel
|
|
100
|
+
* produced before, and it still yields empty metrics — but the question is now one every
|
|
101
|
+
* adapter can answer about itself, so a broker-free runtime reports real numbers instead of
|
|
102
|
+
* being structurally unable to be monitored.
|
|
103
|
+
*
|
|
104
|
+
* Dead-letter depth stays unreported: on RabbitMQ `checkQueue` CLOSES the channel when the
|
|
105
|
+
* queue does not exist, and only specific DLQs exist (`operations.deadletter`, not the
|
|
106
|
+
* per-variant `operations.priority.deadletter`). That needs an explicit queue-name list, and it
|
|
107
|
+
* is unrelated to this change.
|
|
108
|
+
*/
|
|
109
|
+
const pendingCount = await this.queueAdapter.getQueueDepth(queueName);
|
|
110
|
+
if (pendingCount === null) {
|
|
100
111
|
return this.createEmptyMetrics(queueName);
|
|
101
112
|
}
|
|
102
113
|
try {
|
|
103
|
-
// Get queue info from RabbitMQ
|
|
104
|
-
const queueInfo = await channel.checkQueue(queueName);
|
|
105
|
-
// Note: Dead letter queue check is skipped because channel.checkQueue() closes the channel
|
|
106
|
-
// if the queue doesn't exist. Only specific DLQ queues exist (operations.deadletter, etc.),
|
|
107
|
-
// not per-variant (operations.priority.deadletter). DLQ monitoring should be done via
|
|
108
|
-
// explicit queue name list instead.
|
|
109
114
|
return {
|
|
110
115
|
queueName,
|
|
111
|
-
pendingCount
|
|
116
|
+
pendingCount,
|
|
112
117
|
processingCount: 0, // Would need consumer tracking
|
|
113
118
|
deadLetterCount: 0, // Skipped - see note above
|
|
114
119
|
publishRatePerMinute: 0, // Would need historical tracking
|
|
@@ -195,10 +200,14 @@ let QueueMonitoringBackendService = class QueueMonitoringBackendService {
|
|
|
195
200
|
};
|
|
196
201
|
}
|
|
197
202
|
/**
|
|
198
|
-
*
|
|
203
|
+
* Whether the queue substrate this runtime uses is connected.
|
|
204
|
+
*
|
|
205
|
+
* Named `isRabbitMQHealthy` for its callers' sake and answered by whichever adapter is bound
|
|
206
|
+
* (#502) — an in-memory queue reports connected once `connect()` has run, which is the honest
|
|
207
|
+
* answer to "can this runtime enqueue work" regardless of what is behind it.
|
|
199
208
|
*/
|
|
200
209
|
async isRabbitMQHealthy() {
|
|
201
|
-
return this.
|
|
210
|
+
return this.queueAdapter.isConnected();
|
|
202
211
|
}
|
|
203
212
|
/**
|
|
204
213
|
* Evaluate queue health based on thresholds.
|
|
@@ -291,8 +300,7 @@ QueueMonitoringBackendService = __decorate([
|
|
|
291
300
|
__param(1, inject(SAAS_SERVICE_TYPES.AppConfigService)),
|
|
292
301
|
__param(2, inject(SAAS_SERVICE_TYPES.RabbitMQAdapterService)),
|
|
293
302
|
__metadata("design:paramtypes", [LoggerService,
|
|
294
|
-
AppConfigurationService,
|
|
295
|
-
RabbitMQAdapterBackendService])
|
|
303
|
+
AppConfigurationService, Object])
|
|
296
304
|
], QueueMonitoringBackendService);
|
|
297
305
|
export { QueueMonitoringBackendService };
|
|
298
306
|
//# sourceMappingURL=queue-monitoring.backend.service.js.map
|