@wildo-ai/saas-backend-lib 1.1.1 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/applications/services/worker-remote-client-factory.backend.service.d.ts.map +1 -1
- package/dist/esm/applications/services/worker-remote-client-factory.backend.service.js +19 -1
- package/dist/esm/applications/services/worker-remote-client-factory.backend.service.js.map +1 -1
- package/dist/esm/base-classes/models/manual-controllers.backend.definition.d.ts.map +1 -1
- package/dist/esm/base-classes/models/manual-controllers.backend.definition.js +4 -0
- package/dist/esm/base-classes/models/manual-controllers.backend.definition.js.map +1 -1
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts +35 -0
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js +111 -0
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js.map +1 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts +50 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js +199 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js.map +1 -0
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.d.ts +111 -0
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.js +140 -0
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.js.map +1 -1
- package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.d.ts +14 -3
- package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js +138 -24
- package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.d.ts +3 -1
- package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.js +8 -3
- package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.d.ts +11 -0
- package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.js +11 -2
- package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts +124 -13
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js +207 -21
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts +60 -8
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js +174 -26
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts +48 -4
- package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js +102 -30
- package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts +55 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts.map +1 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js +114 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js.map +1 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts +89 -14
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js +84 -11
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.js +16 -0
- package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.d.ts +20 -6
- package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js +96 -32
- package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.d.ts +3 -1
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.js +32 -7
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.d.ts +8 -5
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts +80 -0
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js +298 -23
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.d.ts +71 -1
- package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js +85 -5
- package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts +21 -0
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js +146 -4
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts +22 -0
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.d.ts +3 -26
- package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.js +3 -68
- package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js +4 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts +11 -0
- package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js +39 -5
- package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js.map +1 -1
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts +181 -2
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js +533 -43
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts +36 -3
- package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/system-access.backend.service.js +70 -8
- package/dist/esm/base-classes/services/services/system-access.backend.service.js.map +1 -1
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts +28 -0
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js +90 -0
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js.map +1 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts +44 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.js +99 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.js.map +1 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts +91 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts.map +1 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js +152 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js.map +1 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts +186 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts.map +1 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js +474 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js.map +1 -0
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts +100 -0
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js +209 -6
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js.map +1 -1
- package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts +200 -4
- package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/usage-metering.backend.service.js +593 -64
- package/dist/esm/billing/services/back-office/usage-metering.backend.service.js.map +1 -1
- package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts +36 -0
- package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts.map +1 -0
- package/dist/esm/billing/services/billing-adapter-registry.backend.js +83 -0
- package/dist/esm/billing/services/billing-adapter-registry.backend.js.map +1 -0
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts +9 -0
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts.map +1 -1
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js +11 -1
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js +54 -13
- package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts +38 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js +67 -2
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts +30 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js +43 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts +11 -3
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js +30 -16
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js +104 -25
- package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts +18 -1
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js +106 -2
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js.map +1 -1
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts +52 -0
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts.map +1 -0
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js +74 -0
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js.map +1 -0
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts +104 -11
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js +260 -26
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js.map +1 -1
- package/dist/esm/billing/testing/mock-billing-provider.d.ts +30 -1
- package/dist/esm/billing/testing/mock-billing-provider.d.ts.map +1 -1
- package/dist/esm/billing/testing/mock-billing-provider.js +25 -0
- package/dist/esm/billing/testing/mock-billing-provider.js.map +1 -1
- package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js +11 -4
- package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts +263 -13
- package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js +376 -58
- package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts +264 -7
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js +414 -5
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js +7 -1
- package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts +16 -0
- package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js +140 -0
- package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js.map +1 -0
- package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts +42 -0
- package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js +65 -6
- package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts +110 -0
- package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts.map +1 -0
- package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js +192 -0
- package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js.map +1 -0
- package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js +45 -0
- package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js.map +1 -1
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts +5 -0
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts.map +1 -1
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.js +6 -0
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.js.map +1 -1
- package/dist/esm/config/custom/application-config-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/config/custom/application-config-controller.backend.service.js +7 -1
- package/dist/esm/config/custom/application-config-controller.backend.service.js.map +1 -1
- package/dist/esm/config/models/app-config.backend.schemas.d.ts +146 -46
- package/dist/esm/config/models/app-config.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/app-config.backend.schemas.js +121 -12
- package/dist/esm/config/models/app-config.backend.schemas.js.map +1 -1
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts +38 -15
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js +17 -2
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js.map +1 -1
- package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts +0 -1
- package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration-loader.backend.service.js +68 -76
- package/dist/esm/config/services/app-configuration-loader.backend.service.js.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.service.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.service.js +23 -1
- package/dist/esm/config/services/app-configuration.backend.service.js.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.utils.d.ts +43 -1
- package/dist/esm/config/services/app-configuration.backend.utils.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.utils.js +52 -3
- package/dist/esm/config/services/app-configuration.backend.utils.js.map +1 -1
- package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts +25 -0
- package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts.map +1 -1
- package/dist/esm/config/services/application-startup-config-validator.backend.service.js +41 -1
- package/dist/esm/config/services/application-startup-config-validator.backend.service.js.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.d.ts +2 -2
- package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.js +2 -2
- package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.js.map +1 -1
- package/dist/esm/databases/models/filter.backend.schemas.js +2 -2
- package/dist/esm/databases/models/filter.backend.schemas.js.map +1 -1
- package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.js +20 -1
- package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.js.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js +48 -0
- package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js.map +1 -1
- package/dist/esm/databases/services/redis.service.d.ts +27 -0
- package/dist/esm/databases/services/redis.service.d.ts.map +1 -1
- package/dist/esm/databases/services/redis.service.js +29 -0
- package/dist/esm/databases/services/redis.service.js.map +1 -1
- package/dist/esm/errors/services/error-builder.backend.service.d.ts +13 -1
- package/dist/esm/errors/services/error-builder.backend.service.d.ts.map +1 -1
- package/dist/esm/errors/services/error-builder.backend.service.js +13 -1
- package/dist/esm/errors/services/error-builder.backend.service.js.map +1 -1
- package/dist/esm/errors/services/error-handler.backend.service.d.ts +70 -7
- package/dist/esm/errors/services/error-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/errors/services/error-handler.backend.service.js +134 -8
- package/dist/esm/errors/services/error-handler.backend.service.js.map +1 -1
- package/dist/esm/errors/services/rate-limit.backend.service.d.ts +66 -0
- package/dist/esm/errors/services/rate-limit.backend.service.d.ts.map +1 -1
- package/dist/esm/errors/services/rate-limit.backend.service.js +102 -25
- package/dist/esm/errors/services/rate-limit.backend.service.js.map +1 -1
- package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts +5 -0
- package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts.map +1 -1
- package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js +25 -0
- package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js.map +1 -1
- package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts +33 -0
- package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts.map +1 -1
- package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js +40 -0
- package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js.map +1 -1
- package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.d.ts +41 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.d.ts.map +1 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.js +40 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.js.map +1 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.controller.d.ts +64 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.controller.d.ts.map +1 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.controller.js +193 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.controller.js.map +1 -0
- package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts +72 -4
- package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-pipeline-run.backend.service.js +60 -19
- package/dist/esm/external-data/external-data-pipeline-run.backend.service.js.map +1 -1
- package/dist/esm/external-data/external-data-transform.backend.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-transform.backend.js +7 -1
- package/dist/esm/external-data/external-data-transform.backend.js.map +1 -1
- package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.d.ts +2 -0
- package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.d.ts.map +1 -1
- package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.js +13 -0
- package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.js.map +1 -1
- package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts +4 -2
- package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts.map +1 -1
- package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.js.map +1 -1
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts +256 -0
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js +333 -0
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js.map +1 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts +56 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.js +211 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.js.map +1 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts +45 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.js +216 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.js.map +1 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts +56 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js +78 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js.map +1 -0
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts +1 -1
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js +2 -2
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js.map +1 -1
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts +89 -0
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts.map +1 -0
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js +164 -0
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js.map +1 -0
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts +26 -27
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js +50 -64
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/document-extraction.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/document-extraction.backend.service.js +3 -3
- package/dist/esm/external-providers/services/document-extraction.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/embeddings.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/embeddings.backend.service.js +4 -4
- package/dist/esm/external-providers/services/embeddings.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts +306 -7
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.js +539 -45
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js +25 -2
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js.map +1 -1
- package/dist/esm/files/controllers/file.controller.d.ts +24 -1
- package/dist/esm/files/controllers/file.controller.d.ts.map +1 -1
- package/dist/esm/files/controllers/file.controller.js +83 -11
- package/dist/esm/files/controllers/file.controller.js.map +1 -1
- package/dist/esm/files/handlers/file-upload-route-locals.backend.types.d.ts +17 -0
- package/dist/esm/files/handlers/file-upload-route-locals.backend.types.d.ts.map +1 -0
- package/dist/esm/files/handlers/file-upload-route-locals.backend.types.js +1 -0
- package/dist/esm/files/handlers/file-upload-route-locals.backend.types.js.map +1 -0
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts +5 -1
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js +76 -13
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-operation-handler.backend.service.d.ts +18 -0
- package/dist/esm/files/services/file-operation-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-operation-handler.backend.service.js +36 -28
- package/dist/esm/files/services/file-operation-handler.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-scanning.backend.service.d.ts +94 -9
- package/dist/esm/files/services/file-scanning.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-scanning.backend.service.js +197 -17
- package/dist/esm/files/services/file-scanning.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-text-extraction.backend.service.d.ts +60 -1
- package/dist/esm/files/services/file-text-extraction.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-text-extraction.backend.service.js +167 -8
- package/dist/esm/files/services/file-text-extraction.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-upload-grant.backend.service.d.ts +214 -0
- package/dist/esm/files/services/file-upload-grant.backend.service.d.ts.map +1 -0
- package/dist/esm/files/services/file-upload-grant.backend.service.js +566 -0
- package/dist/esm/files/services/file-upload-grant.backend.service.js.map +1 -0
- package/dist/esm/files/services/files.backend.service.d.ts +87 -0
- package/dist/esm/files/services/files.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/files.backend.service.js +252 -19
- package/dist/esm/files/services/files.backend.service.js.map +1 -1
- package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts +109 -0
- package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts.map +1 -0
- package/dist/esm/files/storage/application-storage-key.backend.utils.js +123 -0
- package/dist/esm/files/storage/application-storage-key.backend.utils.js.map +1 -0
- package/dist/esm/files/storage/file-storage-provider.types.d.ts +16 -10
- package/dist/esm/files/storage/file-storage-provider.types.d.ts.map +1 -1
- package/dist/esm/files/storage/file-storage-provider.types.js.map +1 -1
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts +67 -8
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js +101 -28
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js.map +1 -1
- package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js +8 -55
- package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js.map +1 -1
- package/dist/esm/files/utils/file-field-schema-path.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/file-field-schema-path.backend.utils.js +20 -0
- package/dist/esm/files/utils/file-field-schema-path.backend.utils.js.map +1 -1
- package/dist/esm/files/utils/file-uploader.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/file-uploader.utils.js +12 -0
- package/dist/esm/files/utils/file-uploader.utils.js.map +1 -1
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts +86 -0
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts.map +1 -0
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js +288 -0
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js.map +1 -0
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts +15 -0
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js +76 -5
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/controllers/a2a.controller.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js +6 -1
- package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts +60 -0
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js +63 -0
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts +74 -0
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js +200 -44
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts +7 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js +53 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts +18 -0
- package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js +18 -0
- package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts +12 -7
- package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts +0 -13
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js +14 -22
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts +8 -3
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.js +25 -15
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts +13 -1
- package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/flows-actors.backend.schemas.js.map +1 -1
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts +88 -8
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.js +333 -31
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js +4 -2
- package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts +113 -0
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts.map +1 -0
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js +62 -0
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js.map +1 -0
- package/dist/esm/flows-actors/services/actors-system.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/actors-system.backend.service.js +0 -2
- package/dist/esm/flows-actors/services/actors-system.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/agents.backend.service.d.ts +107 -1
- package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/agents.backend.service.js +519 -56
- package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts +5 -1
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.js +79 -16
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts +34 -5
- package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/flows-actors-registry.service.js +154 -20
- package/dist/esm/flows-actors/services/flows-actors-registry.service.js.map +1 -1
- package/dist/esm/flows-actors/services/flows.backend.services.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/flows.backend.services.js +27 -23
- package/dist/esm/flows-actors/services/flows.backend.services.js.map +1 -1
- package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js +7 -1
- package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js.map +1 -1
- package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts +90 -0
- package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts.map +1 -0
- package/dist/esm/flows-actors/services/mcp-client.backend.service.js +368 -0
- package/dist/esm/flows-actors/services/mcp-client.backend.service.js.map +1 -0
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts +9 -5
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js +12 -17
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts +151 -41
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js +308 -143
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts +0 -207
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js +8 -243
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.js.map +1 -1
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts +9 -14
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.js +18 -89
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.js.map +1 -1
- package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts +86 -0
- package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts.map +1 -0
- package/dist/esm/guidance/services/progression-state-store.backend.service.js +155 -0
- package/dist/esm/guidance/services/progression-state-store.backend.service.js.map +1 -0
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts +10 -0
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.js +55 -5
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.js.map +1 -1
- package/dist/esm/index.d.ts +15 -5
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +45 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/inject/models/container.d.ts.map +1 -1
- package/dist/esm/inject/models/container.js +82 -10
- package/dist/esm/inject/models/container.js.map +1 -1
- package/dist/esm/inject/models/service-types.d.ts +20 -3
- package/dist/esm/inject/models/service-types.d.ts.map +1 -1
- package/dist/esm/inject/models/service-types.js +21 -3
- package/dist/esm/inject/models/service-types.js.map +1 -1
- package/dist/esm/mcp/controllers/mcp.controller.d.ts.map +1 -1
- package/dist/esm/mcp/controllers/mcp.controller.js +32 -4
- package/dist/esm/mcp/controllers/mcp.controller.js.map +1 -1
- package/dist/esm/mcp/models/mcp-tool.backend.schemas.d.ts +34 -0
- package/dist/esm/mcp/models/mcp-tool.backend.schemas.d.ts.map +1 -1
- package/dist/esm/mcp/models/mcp-tool.backend.schemas.js +42 -0
- package/dist/esm/mcp/models/mcp-tool.backend.schemas.js.map +1 -1
- package/dist/esm/mcp/services/mcp-server.backend.service.d.ts +84 -1
- package/dist/esm/mcp/services/mcp-server.backend.service.d.ts.map +1 -1
- package/dist/esm/mcp/services/mcp-server.backend.service.js +235 -11
- package/dist/esm/mcp/services/mcp-server.backend.service.js.map +1 -1
- package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.d.ts +64 -2
- package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.d.ts.map +1 -1
- package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js +152 -6
- package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js.map +1 -1
- package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js +49 -4
- package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts +66 -0
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts.map +1 -0
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js +199 -0
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js.map +1 -0
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts +149 -13
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js +411 -19
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts +11 -2
- package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.js.map +1 -1
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts +28 -9
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts.map +1 -1
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.js +30 -10
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.js.map +1 -1
- package/dist/esm/monitoring/logger/services/logger.service.d.ts +12 -0
- package/dist/esm/monitoring/logger/services/logger.service.d.ts.map +1 -1
- package/dist/esm/monitoring/logger/services/logger.service.js +52 -11
- package/dist/esm/monitoring/logger/services/logger.service.js.map +1 -1
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts +62 -0
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts.map +1 -0
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js +78 -0
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js.map +1 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts +309 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts.map +1 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.js +385 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.js.map +1 -0
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts +1 -0
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.js.map +1 -1
- package/dist/esm/monitoring/observability/services/metrics.service.d.ts +21 -0
- package/dist/esm/monitoring/observability/services/metrics.service.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/services/metrics.service.js +38 -0
- package/dist/esm/monitoring/observability/services/metrics.service.js.map +1 -1
- package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts +0 -80
- package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts.map +0 -1
- package/dist/esm/notifications/email/models/email-context-provider.interface.js +0 -25
- package/dist/esm/notifications/email/models/email-context-provider.interface.js.map +0 -1
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts +0 -49
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts.map +0 -1
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js +0 -141
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js.map +0 -1
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts +0 -37
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts.map +0 -1
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js +0 -121
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js.map +0 -1
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts +66 -1
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.js +105 -10
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.js.map +1 -1
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts +0 -58
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts.map +0 -1
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js +0 -223
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js.map +0 -1
- package/dist/esm/notifications/email/services/email-template-validator.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email-template-validator.backend.service.js +10 -1
- package/dist/esm/notifications/email/services/email-template-validator.backend.service.js.map +1 -1
- package/dist/esm/notifications/email/services/email.backend.service.d.ts +60 -4
- package/dist/esm/notifications/email/services/email.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email.backend.service.js +145 -43
- package/dist/esm/notifications/email/services/email.backend.service.js.map +1 -1
- package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts +0 -1
- package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts.map +1 -1
- package/dist/esm/notifications/email/utils/color-conversion.utils.js.map +1 -1
- package/dist/esm/notifications/services/notification-badge.backend.service.d.ts +142 -21
- package/dist/esm/notifications/services/notification-badge.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/services/notification-badge.backend.service.js +283 -58
- package/dist/esm/notifications/services/notification-badge.backend.service.js.map +1 -1
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts +108 -13
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js +432 -101
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js.map +1 -1
- package/dist/esm/notifications/sms/services/sms.backend.service.d.ts +2 -2
- package/dist/esm/notifications/sms/services/sms.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/sms/services/sms.backend.service.js +5 -5
- package/dist/esm/notifications/sms/services/sms.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts +117 -5
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js +164 -6
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts +0 -6
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js +54 -7
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.d.ts +5 -5
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.js +14 -13
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.d.ts +2 -1
- package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js +18 -8
- package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js +20 -18
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts +16 -0
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js +18 -0
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js.map +1 -1
- package/dist/esm/organizations/batches/organization-purge.batch.backend.service.d.ts +2 -2
- package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js +2 -2
- package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js.map +1 -1
- package/dist/esm/organizations/services/organization-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js +63 -2
- package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js.map +1 -1
- package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.js +4 -1
- package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.js.map +1 -1
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts +66 -0
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts.map +1 -0
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js +257 -0
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts +12 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.js +47 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.js.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts +87 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.js +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.js.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts +31 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.js +13 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.js.map +1 -0
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts +19 -25
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js +33 -0
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js.map +1 -1
- package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts +2 -2
- package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/domain-queue-consumer.backend.service.js +1 -4
- package/dist/esm/queue/domain-queue-consumer.backend.service.js.map +1 -1
- package/dist/esm/queue/job-consumer.backend.service.d.ts +2 -2
- package/dist/esm/queue/job-consumer.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/job-consumer.backend.service.js +1 -4
- package/dist/esm/queue/job-consumer.backend.service.js.map +1 -1
- package/dist/esm/queue/job-executor.backend.service.d.ts +2 -2
- package/dist/esm/queue/job-executor.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/job-executor.backend.service.js +1 -4
- package/dist/esm/queue/job-executor.backend.service.js.map +1 -1
- package/dist/esm/queue/queue-monitoring.backend.service.d.ts +8 -4
- package/dist/esm/queue/queue-monitoring.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue-monitoring.backend.service.js +25 -17
- package/dist/esm/queue/queue-monitoring.backend.service.js.map +1 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts +16 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.js +16 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.js.map +1 -1
- package/dist/esm/queue/queue.backend.service.d.ts +3 -3
- package/dist/esm/queue/queue.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue.backend.service.js +26 -4
- package/dist/esm/queue/queue.backend.service.js.map +1 -1
- package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts +2 -2
- package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/worker-shutdown-manager.backend.service.js +18 -3
- package/dist/esm/queue/worker-shutdown-manager.backend.service.js.map +1 -1
- package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts +50 -25
- package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-chunking.backend.utils.js +147 -39
- package/dist/esm/rag/utils/rag-chunking.backend.utils.js.map +1 -1
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts +12 -3
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js +12 -3
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js.map +1 -1
- package/dist/esm/requests/service/websocket.service.d.ts +9 -0
- package/dist/esm/requests/service/websocket.service.d.ts.map +1 -1
- package/dist/esm/requests/service/websocket.service.js +88 -15
- package/dist/esm/requests/service/websocket.service.js.map +1 -1
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.d.ts.map +1 -1
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.js +16 -2
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.js.map +1 -1
- package/dist/esm/resources/models/resources-operations.backend.definitions.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-operations.backend.definitions.js +2 -0
- package/dist/esm/resources/models/resources-operations.backend.definitions.js.map +1 -1
- package/dist/esm/resources/models/resources-relationships.backend.definitions.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-relationships.backend.definitions.js +14 -0
- package/dist/esm/resources/models/resources-relationships.backend.definitions.js.map +1 -1
- package/dist/esm/resources/models/resources-types.backend.schemas.d.ts +2 -1
- package/dist/esm/resources/models/resources-types.backend.schemas.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-types.backend.schemas.js +8 -0
- package/dist/esm/resources/models/resources-types.backend.schemas.js.map +1 -1
- package/dist/esm/resources/services/resource-id.backend.service.js +3 -3
- package/dist/esm/resources/services/resource-id.backend.service.js.map +1 -1
- package/dist/esm/resources/services/resources-registry.backend.service.d.ts +60 -5
- package/dist/esm/resources/services/resources-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/resources/services/resources-registry.backend.service.js +91 -7
- package/dist/esm/resources/services/resources-registry.backend.service.js.map +1 -1
- package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts +36 -3
- package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/controllers/health-controller.backend.service.js +32 -10
- package/dist/esm/runtime/controllers/health-controller.backend.service.js.map +1 -1
- package/dist/esm/runtime/domain-module.backend.definitions.d.ts +24 -0
- package/dist/esm/runtime/domain-module.backend.definitions.d.ts.map +1 -1
- package/dist/esm/runtime/domain-module.backend.definitions.js +24 -0
- package/dist/esm/runtime/domain-module.backend.definitions.js.map +1 -1
- package/dist/esm/runtime/services/execution-context-creator.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/execution-context-creator.backend.service.js +13 -7
- package/dist/esm/runtime/services/execution-context-creator.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts +51 -0
- package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts.map +1 -1
- package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.js.map +1 -1
- package/dist/esm/runtime/services/http-server.backend.service.d.ts +26 -0
- package/dist/esm/runtime/services/http-server.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/http-server.backend.service.js +181 -1
- package/dist/esm/runtime/services/http-server.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/start-application.backend.service.d.ts +47 -1
- package/dist/esm/runtime/services/start-application.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/start-application.backend.service.js +343 -77
- package/dist/esm/runtime/services/start-application.backend.service.js.map +1 -1
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts +15 -0
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js +28 -0
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts +5 -1
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js +24 -4
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js +29 -4
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts +114 -0
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js +354 -3
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts +1 -0
- package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/cimd.backend.schemas.js +22 -0
- package/dist/esm/security/authentications/models/cimd.backend.schemas.js.map +1 -1
- package/dist/esm/security/authentications/models/jwt.backend.schemas.d.ts +3 -23
- package/dist/esm/security/authentications/models/jwt.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/jwt.backend.schemas.js +20 -45
- package/dist/esm/security/authentications/models/jwt.backend.schemas.js.map +1 -1
- package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts +15 -0
- package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts +0 -2
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js +23 -14
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts +0 -1
- package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js +15 -12
- package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts +113 -3
- package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js +207 -30
- package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts +95 -2
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js +153 -9
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts +190 -0
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.js +377 -53
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts +9 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js +77 -2
- package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.js +5 -3
- package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts +41 -0
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js +202 -23
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js +42 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js +34 -4
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts +29 -5
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js +77 -5
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts +41 -1
- package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js +87 -4
- package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts +43 -1
- package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js +277 -97
- package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts +28 -5
- package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js +72 -12
- package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js +3 -0
- package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts +28 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js +283 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js.map +1 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts +4 -3
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js +4 -3
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts +35 -0
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js +111 -21
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts +14 -1
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js +49 -8
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js +4 -0
- package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js +6 -0
- package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts +37 -1
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js +51 -0
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js.map +1 -1
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts +41 -0
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js +45 -0
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js.map +1 -1
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts +116 -0
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts.map +1 -0
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js +162 -0
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js.map +1 -0
- package/dist/esm/security/authorizations/initiator-organization-confinement.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/initiator-organization-confinement.backend.js +24 -1
- package/dist/esm/security/authorizations/initiator-organization-confinement.backend.js.map +1 -1
- package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts +20 -20
- package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js +27 -28
- package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js +77 -3
- package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js.map +1 -1
- package/dist/esm/security/authorizations/privileged-access-review.backend.utils.d.ts +117 -0
- package/dist/esm/security/authorizations/privileged-access-review.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/authorizations/privileged-access-review.backend.utils.js +104 -0
- package/dist/esm/security/authorizations/privileged-access-review.backend.utils.js.map +1 -0
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts +4 -0
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.js +4 -0
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.js.map +1 -1
- package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts +93 -0
- package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/authorizations/role-conferral.backend.utils.js +95 -0
- package/dist/esm/security/authorizations/role-conferral.backend.utils.js.map +1 -0
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts +124 -1
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js +142 -5
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js.map +1 -1
- package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts +175 -14
- package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authorizations/services/authorizations.backend.service.js +385 -49
- package/dist/esm/security/authorizations/services/authorizations.backend.service.js.map +1 -1
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts +6 -14
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js +13 -22
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js.map +1 -1
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts +60 -0
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js +79 -0
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js.map +1 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts +161 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js +512 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts +59 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js +22 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js.map +1 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts +44 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js +20 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts +191 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js +385 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts +41 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js +358 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts +160 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js +266 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts +111 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js +107 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts +54 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js +153 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts +195 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js +387 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts +45 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js +291 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts +62 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js +29 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js.map +1 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts +127 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js +277 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js.map +1 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts +66 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js +75 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js.map +1 -0
- package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.d.ts +18 -1
- package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.js +110 -74
- package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.js.map +1 -1
- package/dist/esm/security/consumable-tokens/consumable-token-models.exports.d.ts +22 -0
- package/dist/esm/security/consumable-tokens/consumable-token-models.exports.d.ts.map +1 -0
- package/dist/esm/security/consumable-tokens/consumable-token-models.exports.js +22 -0
- package/dist/esm/security/consumable-tokens/consumable-token-models.exports.js.map +1 -0
- package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.d.ts +17 -3
- package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.js +12 -0
- package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts +41 -3
- package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js +83 -20
- package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js.map +1 -1
- package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts +9 -4
- package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/credential-rotation-grace.backend.utils.js +9 -4
- package/dist/esm/security/credential-rotation-grace.backend.utils.js.map +1 -1
- package/dist/esm/security/jwt/services/jwt.backend.service.d.ts.map +1 -1
- package/dist/esm/security/jwt/services/jwt.backend.service.js +1 -18
- package/dist/esm/security/jwt/services/jwt.backend.service.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts +26 -0
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js +43 -0
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts +8 -1
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js +49 -0
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/scim/controllers/scim.backend.controller.d.ts.map +1 -1
- package/dist/esm/security/scim/controllers/scim.backend.controller.js +17 -5
- package/dist/esm/security/scim/controllers/scim.backend.controller.js.map +1 -1
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts +67 -29
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js +47 -25
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js.map +1 -1
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts +10 -2
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js +10 -2
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js.map +1 -1
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts +143 -0
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js +258 -0
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js.map +1 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts +39 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js +159 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +17 -9
- package/dist/esm/.builder.pid +0 -9
package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ import { ExecutionContextHandlerBackendService } from '../../../runtime/services
|
|
|
18
18
|
import { RepositoriesRegistryHandlerBackendService } from '../../../base-classes/services/repositories/repositories-registry-handler.backend.service';
|
|
19
19
|
import { ResourceOperationHelperBackendService } from '../../../base-classes/services/resource-operations-helper.backend.service';
|
|
20
20
|
import { FileFieldDetectionBackendService } from '../../../files/services/file-field-detection.backend.service';
|
|
21
|
+
import { FileUploadGrantBackendService } from '../../../files/services/file-upload-grant.backend.service';
|
|
21
22
|
import { ResourceFileUploadHandlerBackendService } from '../../../files/handlers/resource-file-upload-handler.backend.service';
|
|
22
23
|
import { AuditLogsBackendService } from '../../../compliance/audit-trails/services/audit-logs.backend.service';
|
|
23
24
|
import { AnonymousSessionBackendService } from '../../../security/authentications/services/anonymous-session.backend.service';
|
|
@@ -58,13 +59,14 @@ export declare class ControllersRegistryHandlerBackendService {
|
|
|
58
59
|
private readonly anonymousSessionService;
|
|
59
60
|
private readonly appConfigService;
|
|
60
61
|
private readonly rateLimitService;
|
|
62
|
+
private readonly fileUploadGrantService;
|
|
61
63
|
private readonly controllers;
|
|
62
64
|
private readonly customControllers;
|
|
63
65
|
private readonly controllerOperationsMap;
|
|
64
66
|
private readonly masterRouter;
|
|
65
67
|
private isInitialized;
|
|
66
68
|
protected logDebug: (message: string, context?: Record<string, unknown>) => void;
|
|
67
|
-
constructor(servicesRegistry: ServicesRegistryHandlerBackendService, logger: LoggerService, errorBuilder: ErrorBuilderBackendService, errorHandler: ErrorHandlerService, jwtService: JwtBackendService, authorizationsService: AuthorizationsBackendService, executionContextCreator: ExecutionContextCreatorBackendService, executionContextHandler: ExecutionContextHandlerBackendService, resourcesRegistry: ResourcesRegistryBackendService, repositoriesRegistry: RepositoriesRegistryHandlerBackendService, resourceOperationHelper: ResourceOperationHelperBackendService, fileFieldDetection: FileFieldDetectionBackendService, fileUploadHandler: ResourceFileUploadHandlerBackendService, auditLogsService: AuditLogsBackendService, anonymousSessionService: AnonymousSessionBackendService, appConfigService: AppConfigurationService, rateLimitService: RateLimitBackendService);
|
|
69
|
+
constructor(servicesRegistry: ServicesRegistryHandlerBackendService, logger: LoggerService, errorBuilder: ErrorBuilderBackendService, errorHandler: ErrorHandlerService, jwtService: JwtBackendService, authorizationsService: AuthorizationsBackendService, executionContextCreator: ExecutionContextCreatorBackendService, executionContextHandler: ExecutionContextHandlerBackendService, resourcesRegistry: ResourcesRegistryBackendService, repositoriesRegistry: RepositoriesRegistryHandlerBackendService, resourceOperationHelper: ResourceOperationHelperBackendService, fileFieldDetection: FileFieldDetectionBackendService, fileUploadHandler: ResourceFileUploadHandlerBackendService, auditLogsService: AuditLogsBackendService, anonymousSessionService: AnonymousSessionBackendService, appConfigService: AppConfigurationService, rateLimitService: RateLimitBackendService, fileUploadGrantService: FileUploadGrantBackendService);
|
|
68
70
|
/**
|
|
69
71
|
* Initialize the registry with resource configurations and optional custom controllers
|
|
70
72
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controllers-registry-handler.backend.service.d.ts","sourceRoot":"","sources":["../../../../../../src/base-classes/services/controllers/controllers-registry-handler.backend.service.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,OAAO,KAAK,EAGV,mCAAmC,EAEpC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,YAAY,EAEZ,qBAAqB,EAKrB,UAAU,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,qCAAqC,EAAE,MAAM,6FAA6F,CAAC;AACpJ,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AAC9G,OAAO,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,8DAA8D,CAAC;AACjG,OAAO,EAAE,4BAA4B,EAAE,MAAM,oFAAoF,CAAC;AAClI,OAAO,EAAE,qCAAqC,EAAE,MAAM,+EAA+E,CAAC;AACtI,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,+BAA+B,EAAE,MAAM,0EAA0E,CAAC;AAC3H,OAAO,EAAE,qCAAqC,EAAE,MAAM,+EAA+E,CAAC;AACtI,OAAO,EAAE,yCAAyC,EAAE,MAAM,qGAAqG,CAAC;AAChK,OAAO,EAAE,qCAAqC,EAAE,MAAM,qFAAqF,CAAC;AAC5I,OAAO,EAAE,gCAAgC,EAAE,MAAM,wEAAwE,CAAC;AAC1H,OAAO,EAAE,uCAAuC,EAAE,MAAM,gFAAgF,CAAC;AACzI,OAAO,EAAE,uBAAuB,EAAE,MAAM,gFAAgF,CAAC;AACzH,OAAO,EAAE,8BAA8B,EAAE,MAAM,wFAAwF,CAAC;AACxI,OAAO,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AAC/G,OAAO,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;AAExG;;;;;;;;;;;;;;;;GAgBG;AAEH,qBACa,wCAAwC;IAcU,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACV,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IACvB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtB,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IACvB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAC1B,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"controllers-registry-handler.backend.service.d.ts","sourceRoot":"","sources":["../../../../../../src/base-classes/services/controllers/controllers-registry-handler.backend.service.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.js
CHANGED
|
@@ -29,6 +29,7 @@ import { ExecutionContextHandlerBackendService } from '../../../runtime/services
|
|
|
29
29
|
import { RepositoriesRegistryHandlerBackendService } from '../../../base-classes/services/repositories/repositories-registry-handler.backend.service.js';
|
|
30
30
|
import { ResourceOperationHelperBackendService } from '../../../base-classes/services/resource-operations-helper.backend.service.js';
|
|
31
31
|
import { FileFieldDetectionBackendService } from '../../../files/services/file-field-detection.backend.service.js';
|
|
32
|
+
import { FileUploadGrantBackendService } from '../../../files/services/file-upload-grant.backend.service.js';
|
|
32
33
|
import { ResourceFileUploadHandlerBackendService } from '../../../files/handlers/resource-file-upload-handler.backend.service.js';
|
|
33
34
|
import { AuditLogsBackendService } from '../../../compliance/audit-trails/services/audit-logs.backend.service.js';
|
|
34
35
|
import { AnonymousSessionBackendService } from '../../../security/authentications/services/anonymous-session.backend.service.js';
|
|
@@ -69,13 +70,14 @@ let ControllersRegistryHandlerBackendService = class ControllersRegistryHandlerB
|
|
|
69
70
|
anonymousSessionService;
|
|
70
71
|
appConfigService;
|
|
71
72
|
rateLimitService;
|
|
73
|
+
fileUploadGrantService;
|
|
72
74
|
controllers;
|
|
73
75
|
customControllers;
|
|
74
76
|
controllerOperationsMap;
|
|
75
77
|
masterRouter;
|
|
76
78
|
isInitialized = false;
|
|
77
79
|
logDebug;
|
|
78
|
-
constructor(servicesRegistry, logger, errorBuilder, errorHandler, jwtService, authorizationsService, executionContextCreator, executionContextHandler, resourcesRegistry, repositoriesRegistry, resourceOperationHelper, fileFieldDetection, fileUploadHandler, auditLogsService, anonymousSessionService, appConfigService, rateLimitService) {
|
|
80
|
+
constructor(servicesRegistry, logger, errorBuilder, errorHandler, jwtService, authorizationsService, executionContextCreator, executionContextHandler, resourcesRegistry, repositoriesRegistry, resourceOperationHelper, fileFieldDetection, fileUploadHandler, auditLogsService, anonymousSessionService, appConfigService, rateLimitService, fileUploadGrantService) {
|
|
79
81
|
this.servicesRegistry = servicesRegistry;
|
|
80
82
|
this.logger = logger;
|
|
81
83
|
this.errorBuilder = errorBuilder;
|
|
@@ -93,6 +95,7 @@ let ControllersRegistryHandlerBackendService = class ControllersRegistryHandlerB
|
|
|
93
95
|
this.anonymousSessionService = anonymousSessionService;
|
|
94
96
|
this.appConfigService = appConfigService;
|
|
95
97
|
this.rateLimitService = rateLimitService;
|
|
98
|
+
this.fileUploadGrantService = fileUploadGrantService;
|
|
96
99
|
this.controllers = new Map();
|
|
97
100
|
this.customControllers = new Map();
|
|
98
101
|
this.controllerOperationsMap = new Map();
|
|
@@ -157,7 +160,7 @@ let ControllersRegistryHandlerBackendService = class ControllersRegistryHandlerB
|
|
|
157
160
|
return;
|
|
158
161
|
}
|
|
159
162
|
// Create controller instance using static factory method
|
|
160
|
-
const controller = ControllerResourceBackendService.createInstance(resourceType, this.logger, this.errorBuilder, this.errorHandler, this.jwtService, this.authorizationsService, this.resourcesRegistry, this.executionContextCreator, this.executionContextHandler, this.repositoriesRegistry, this.resourceOperationHelper, this.servicesRegistry, this.fileFieldDetection, this.fileUploadHandler, this.auditLogsService, this.anonymousSessionService, this.appConfigService, this.rateLimitService);
|
|
163
|
+
const controller = ControllerResourceBackendService.createInstance(resourceType, this.logger, this.errorBuilder, this.errorHandler, this.jwtService, this.authorizationsService, this.resourcesRegistry, this.executionContextCreator, this.executionContextHandler, this.repositoriesRegistry, this.resourceOperationHelper, this.servicesRegistry, this.fileFieldDetection, this.fileUploadHandler, this.auditLogsService, this.anonymousSessionService, this.appConfigService, this.rateLimitService, this.fileUploadGrantService);
|
|
161
164
|
// Store controller
|
|
162
165
|
this.controllers.set(resourceType, controller);
|
|
163
166
|
this.logDebug('Controller created successfully', {
|
|
@@ -349,6 +352,7 @@ ControllersRegistryHandlerBackendService = __decorate([
|
|
|
349
352
|
__param(14, inject(SAAS_SERVICE_TYPES.AnonymousSessionService)),
|
|
350
353
|
__param(15, inject(SAAS_SERVICE_TYPES.AppConfigService)),
|
|
351
354
|
__param(16, inject(SAAS_SERVICE_TYPES.RateLimitBackendService)),
|
|
355
|
+
__param(17, inject(SAAS_SERVICE_TYPES.FileUploadGrantService)),
|
|
352
356
|
__metadata("design:paramtypes", [ServicesRegistryHandlerBackendService,
|
|
353
357
|
LoggerService,
|
|
354
358
|
ErrorBuilderBackendService,
|
|
@@ -365,7 +369,8 @@ ControllersRegistryHandlerBackendService = __decorate([
|
|
|
365
369
|
AuditLogsBackendService,
|
|
366
370
|
AnonymousSessionBackendService,
|
|
367
371
|
AppConfigurationService,
|
|
368
|
-
RateLimitBackendService
|
|
372
|
+
RateLimitBackendService,
|
|
373
|
+
FileUploadGrantBackendService])
|
|
369
374
|
], ControllersRegistryHandlerBackendService);
|
|
370
375
|
export { ControllersRegistryHandlerBackendService };
|
|
371
376
|
//# sourceMappingURL=controllers-registry-handler.backend.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controllers-registry-handler.backend.service.js","sourceRoot":"","sources":["../../../../../../src/base-classes/services/controllers/controllers-registry-handler.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["import 'reflect-metadata';\nimport { injectable, inject } from 'inversify';\nimport { Router } from 'express';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { describeCaughtError } from '~wildo-backend-lib/errors/utils/error-log-level-classification.backend.utils';\nimport type {\n AnyResourceConfiguration,\n ResourceConfiguration,\n ResourceConfiguration_OperationPath,\n ResourceConfiguration_Operation_UrlInitiatorInfo\n} from '@wildo-ai/saas-models';\nimport {\n ResourceType,\n\n CoreResourceOperation,\n ResourcesConfig_OperationPathUtils,\n ErrorType,\n ErrorCustomMessageReference,\n ResourceOperationVariantType,\n HttpMethod\n} from '@wildo-ai/saas-models';\nimport { EnumLikeType } from '@wildo-ai/zod-decorators';\nimport { ControllerResourceBackendService } from './controller-resource.backend.service';\nimport { AbstractControllerBackendService } from './abstract-controller.backend.service';\nimport { ServicesRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/services/services-registry-handler.backend.service';\nimport { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';\nimport { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';\nimport { ErrorHandlerService } from '~wildo-backend-lib/errors/services/error-handler.backend.service';\nimport { JwtBackendService } from '~wildo-backend-lib/security/jwt/services/jwt.backend.service';\nimport { AuthorizationsBackendService } from '~wildo-backend-lib/security/authorizations/services/authorizations.backend.service';\nimport { ExecutionContextCreatorBackendService } from '~wildo-backend-lib/runtime/services/execution-context-creator.backend.service';\nimport { z } from 'zod';\nimport { ResourcesRegistryBackendService } from '~wildo-backend-lib/resources/services/resources-registry.backend.service';\nimport { ExecutionContextHandlerBackendService } from '~wildo-backend-lib/runtime/services/execution-context-handler.backend.service';\nimport { RepositoriesRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/repositories/repositories-registry-handler.backend.service';\nimport { ResourceOperationHelperBackendService } from '~wildo-backend-lib/base-classes/services/resource-operations-helper.backend.service';\nimport { FileFieldDetectionBackendService } from '~wildo-backend-lib/files/services/file-field-detection.backend.service';\nimport { ResourceFileUploadHandlerBackendService } from '~wildo-backend-lib/files/handlers/resource-file-upload-handler.backend.service';\nimport { AuditLogsBackendService } from '~wildo-backend-lib/compliance/audit-trails/services/audit-logs.backend.service';\nimport { AnonymousSessionBackendService } from '~wildo-backend-lib/security/authentications/services/anonymous-session.backend.service';\nimport { AppConfigurationService } from '~wildo-backend-lib/config/services/app-configuration.backend.service';\nimport { RateLimitBackendService } from '~wildo-backend-lib/errors/services/rate-limit.backend.service';\n\n/**\n * Controllers Registry Handler Backend Service\n *\n * Central registry for managing all controller resources in the application.\n * Provides unified Express router registration, middleware management,\n * and HTTP endpoint coordination across all resource controllers.\n *\n * Features:\n * - Resource controller lifecycle management (create, store, retrieve)\n * - Custom controller registration and management\n * - Express router aggregation and registration\n * - Global middleware management\n * - Route discovery and debugging\n * - Cross-controller coordination\n * - HTTP endpoint management\n * - Unified error handling with ErrorBuilderBackendService\n */\n\n@injectable()\nexport class ControllersRegistryHandlerBackendService {\n\n private readonly controllers: Map<ResourceType, ControllerResourceBackendService<any, any, any>>;\n private readonly customControllers: Map<string, AbstractControllerBackendService>;\n private readonly controllerOperationsMap: Map<string, {\n controller: ControllerResourceBackendService<any, any, any>;\n operationPath: ResourceConfiguration_OperationPath<any, any>;\n }>;\n private readonly masterRouter: Router;\n private isInitialized = false;\n protected logDebug: (message: string, context?: Record<string, unknown>) => void;\n\n\n constructor(\n @inject(SAAS_SERVICE_TYPES.ServicesRegistryHandlerService) private readonly servicesRegistry: ServicesRegistryHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.Logger) private readonly logger: LoggerService,\n @inject(SAAS_SERVICE_TYPES.ErrorBuilderService) private readonly errorBuilder: ErrorBuilderBackendService,\n @inject(SAAS_SERVICE_TYPES.ErrorHandlerService) private readonly errorHandler: ErrorHandlerService,\n @inject(SAAS_SERVICE_TYPES.JwtBackendService) private readonly jwtService: JwtBackendService,\n @inject(SAAS_SERVICE_TYPES.AuthorizationsService) private readonly authorizationsService: AuthorizationsBackendService,\n @inject(SAAS_SERVICE_TYPES.ExecutionContextCreatorBackendService) private readonly executionContextCreator: ExecutionContextCreatorBackendService,\n @inject(SAAS_SERVICE_TYPES.ExecutionContextHandlerService) private readonly executionContextHandler: ExecutionContextHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.ResourceRegistryService) private readonly resourcesRegistry: ResourcesRegistryBackendService,\n @inject(SAAS_SERVICE_TYPES.RepositoriesRegistryHandlerService) private readonly repositoriesRegistry: RepositoriesRegistryHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.ResourceOperationHelperService) private readonly resourceOperationHelper: ResourceOperationHelperBackendService,\n @inject(SAAS_SERVICE_TYPES.FileFieldDetectionService) private readonly fileFieldDetection: FileFieldDetectionBackendService,\n @inject(SAAS_SERVICE_TYPES.ResourceFileUploadHandlerService) private readonly fileUploadHandler: ResourceFileUploadHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.AuditLogsService) private readonly auditLogsService: AuditLogsBackendService,\n @inject(SAAS_SERVICE_TYPES.AnonymousSessionService) private readonly anonymousSessionService: AnonymousSessionBackendService,\n @inject(SAAS_SERVICE_TYPES.AppConfigService) private readonly appConfigService: AppConfigurationService,\n @inject(SAAS_SERVICE_TYPES.RateLimitBackendService) private readonly rateLimitService: RateLimitBackendService,\n ) {\n\n this.controllers = new Map();\n this.customControllers = new Map();\n this.controllerOperationsMap = new Map();\n this.masterRouter = Router();\n\n this.logDebug = this.logger.debugByType('ControllersRegistryHandler');\n this.logger.setDebugTypeLogging('ControllersRegistryHandler', false);\n\n this.logDebug('Controllers registry service created');\n }\n\n\n\n\n // ================================\n // Initialization\n // ================================\n\n /**\n * Initialize the registry with resource configurations and optional custom controllers\n *\n * @param customControllers - Optional array of custom controllers to register\n * @param controllerWhiteList - Optional list of resource types to limit controller instantiation to\n */\n public async initialize(\n customControllers?: AbstractControllerBackendService[],\n controllerWhiteList?: string[]\n ): Promise<void> {\n if (this.isInitialized) {\n this.logDebug('Registry already initialized, skipping...');\n return;\n }\n\n const resourceConfigurations: { [key: string]: AnyResourceConfiguration } = this.resourcesRegistry.getResourcesRegistry().resourceConfigurations;\n\n // Filter resource configurations based on whitelist if provided\n let filteredResourceConfigurations: { [key: string]: AnyResourceConfiguration } = resourceConfigurations;\n if (controllerWhiteList ) { //&& controllerWhiteList.length > 0\n filteredResourceConfigurations = {};\n for (const resourceType in resourceConfigurations) {\n if (controllerWhiteList.includes(resourceType)) {\n filteredResourceConfigurations[resourceType] = resourceConfigurations[resourceType];\n }\n }\n\n this.logDebug('Applied controller whitelist filter', { originalResourceCount: resourceConfigurations.size, filteredResourceCount: filteredResourceConfigurations.size, whitelistedResources: controllerWhiteList, filteredResources: Object.keys(filteredResourceConfigurations) });\n }\n\n this.logDebug('Initializing controllers', { resourceCount: Object.keys(filteredResourceConfigurations).length, resourceTypes: Object.keys(filteredResourceConfigurations), customControllerCount: customControllers?.length || 0, controllerWhiteListApplied: controllerWhiteList ? true : false });\n\n // First pass: Create all resource controllers (filtered by whitelist if provided)\n for (const resourceType in filteredResourceConfigurations) {\n try {\n await this.createController(resourceType);\n } catch (error) {\n throw this.errorBuilder.buildError(\n ErrorType.INTERNAL,undefined,\n { customMessageReference: ErrorCustomMessageReference.CONTROLLER_RESOURCE_BUILD_ERROR,\n context: { resourceType, error: describeCaughtError(error)} }\n );\n }\n }\n\n // Second pass: Initialize custom controllers\n if (customControllers && customControllers.length > 0) {\n this.initializeCustomControllers(customControllers);\n }\n\n\n this.registerAllRoutes();\n\n\n this.buildOperationPathsMap();\n\n this.isInitialized = true;\n\n this.logDebug('Controllers registry initialization completed', { controllerCount: this.controllers.size, customControllerCount: this.customControllers.size, operationPathsCount: this.controllerOperationsMap.size });\n }\n\n private async createController(\n resourceType: ResourceType,\n\n ): Promise<void> {\n this.logDebug('Creating controller', { resourceType });\n const resourceConfiguration = this.resourcesRegistry.getResourceConfiguration(resourceType);\n\n // Only create controllers for resources that have URL-bearing operations\n const hasApiCallOperations = resourceConfiguration.operations?.some(\n op => [ResourceOperationVariantType.API_CALL, ResourceOperationVariantType.API_CALL_WITH_CALLBACK].includes(op.variantType)\n );\n\n if (!hasApiCallOperations) {\n this.logDebug('Skipping controller creation - no URL-bearing operations', { resourceType });\n return;\n }\n\n // Create controller instance using static factory method\n const controller = ControllerResourceBackendService.createInstance(\n resourceType,\n this.logger,\n this.errorBuilder,\n this.errorHandler,\n this.jwtService,\n this.authorizationsService,\n this.resourcesRegistry,\n this.executionContextCreator,\n this.executionContextHandler,\n this.repositoriesRegistry,\n this.resourceOperationHelper,\n this.servicesRegistry,\n this.fileFieldDetection,\n this.fileUploadHandler,\n this.auditLogsService,\n this.anonymousSessionService,\n this.appConfigService,\n this.rateLimitService,\n );\n\n // Store controller\n this.controllers.set(resourceType, controller);\n\n this.logDebug('Controller created successfully', {\n resourceType,\n operationsCount: resourceConfiguration.operations?.length || 0\n });\n }\n\n\n private initializeCustomControllers(customControllers: AbstractControllerBackendService[]): void {\n this.logDebug('Initializing custom controllers', { count: customControllers.length });\n\n customControllers.forEach(controller => {\n const controllerName = controller.getControllerName();\n\n if (this.customControllers.has(controllerName)) {\n throw this.errorBuilder.buildError( ErrorType.INTERNAL, undefined,\n { customMessageReference: ErrorCustomMessageReference.CONTROLLER_CUSTOM_NAME_CONFLICT, context: { controllerName } } );\n }\n\n this.customControllers.set(controllerName, controller);\n\n this.logDebug('Custom controller initialized', { controllerName });\n });\n\n this.logDebug('All custom controllers initialized', { totalCustomControllers: this.customControllers.size });\n }\n\n\n private registerAllRoutes(): void {\n this.logDebug('Registering all controller routes');\n\n\n this.controllers.forEach((controller, resourceType) => {\n const controllerRouter = controller.getRouter();\n\n this.masterRouter.use(controllerRouter);\n\n this.logDebug('Resource controller routes registered', { resourceType, mountPath: '/' });\n });\n\n\n this.customControllers.forEach((controller, controllerName) => {\n const controllerRouter = controller.getRouter();\n\n this.masterRouter.use(controllerRouter);\n\n this.logDebug('Custom controller routes registered', { controllerName, mountPath: '/' });\n });\n\n this.logDebug('All controller routes registered in master router', { resourceControllers: this.controllers.size, customControllers: this.customControllers.size });\n }\n\n private buildOperationPathsMap(): void {\n this.logDebug('Building operation paths map');\n\n let totalOperationPaths = 0;\n\n this.controllers.forEach((controller, resourceType) => {\n const resourceConfiguration = this.resourcesRegistry.getResourceConfiguration(resourceType);\n\n if (!resourceConfiguration.operations) {\n return;\n }\n\n const apiCallOperations = resourceConfiguration.operations.filter(\n op => [ResourceOperationVariantType.API_CALL, ResourceOperationVariantType.API_CALL_WITH_CALLBACK].includes(op.variantType)\n );\n\n apiCallOperations.forEach(operation => {\n const operationPath = ResourcesConfig_OperationPathUtils.extractOperationPath(operation);\n const operationKey = ResourcesConfig_OperationPathUtils.createOperationPathKey(operationPath);\n\n this.controllerOperationsMap.set(operationKey, { controller, operationPath });\n\n totalOperationPaths++;\n });\n });\n\n this.logDebug('Operation paths map built', { totalOperationPaths, operationKeys: Array.from(this.controllerOperationsMap.keys()).slice(0, 5) });\n }\n\n // ================================\n // Getters & Utils\n // ================================\n\n public getController<\n TCustomOperationEnum extends EnumLikeType | undefined = undefined,\n TCoreOperationEnum extends Partial<CoreResourceOperation> | undefined = undefined,\n TMainSchema extends z.ZodTypeAny = z.ZodTypeAny,\n >(\n resourceType: ResourceType\n ): ControllerResourceBackendService<TCustomOperationEnum, TCoreOperationEnum, TMainSchema> | undefined {\n const controller = this.controllers.get(resourceType);\n\n if (!controller) {\n this.logDebug('Controller not found', { resourceType });\n return undefined;\n }\n\n return controller as ControllerResourceBackendService<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>;\n }\n\n public getControllerOrThrow<\n TCustomOperationEnum extends EnumLikeType | undefined = undefined,\n TCoreOperationEnum extends Partial<CoreResourceOperation> | undefined = undefined,\n TMainSchema extends z.ZodTypeAny = z.ZodTypeAny,\n >(\n resourceType: ResourceType\n ): ControllerResourceBackendService<TCustomOperationEnum, TCoreOperationEnum, TMainSchema> {\n const controller = this.getController<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>(resourceType);\n\n if (!controller) {\n throw this.errorBuilder.buildError(\n ErrorType.INTERNAL, undefined,\n { customMessageReference: ErrorCustomMessageReference.CONTROLLER_RESOURCE_NOT_FOUND, context: { resourceType } } );\n }\n\n return controller;\n }\n\n public getCustomController(controllerName: string): AbstractControllerBackendService | undefined {\n const controller = this.customControllers.get(controllerName);\n\n if (!controller) {\n this.logDebug('Custom controller not found', { controllerName });\n return undefined;\n }\n\n return controller;\n }\n\n\n public getCustomControllerOrThrow(controllerName: string): AbstractControllerBackendService {\n const controller = this.getCustomController(controllerName);\n\n if (!controller) {\n throw this.errorBuilder.buildError(\n ErrorType.INTERNAL, undefined,\n { customMessageReference: ErrorCustomMessageReference.CONTROLLER_RESOURCE_NOT_FOUND, context: { controllerName } } );\n }\n\n return controller;\n }\n\n\n public getAllCustomControllers(): Map<string, AbstractControllerBackendService> {\n return new Map(this.customControllers);\n }\n\n public getAvailableOperationPaths(): ResourceConfiguration_OperationPath<any, any>[] {\n return Array.from(this.controllerOperationsMap.values()).map(info => info.operationPath);\n }\n\n\n public hasController(resourceType: ResourceType): boolean {\n return this.controllers.has(resourceType);\n }\n\n public hasCustomController(controllerName: string): boolean {\n return this.customControllers.has(controllerName);\n }\n\n public getMasterRouter(): Router {\n return this.masterRouter;\n }\n\n\n\n // ================================\n // Debug Methods\n // ================================\n\n public getRoutesInfo(): {\n resourceType: ResourceType;\n operationCount: number;\n routes: { method: HttpMethod; url: string; roles: string[] }[];\n }[] {\n const routesInfo: {\n resourceType: ResourceType;\n operationCount: number;\n routes: { method: HttpMethod; url: string; roles: string[] }[];\n }[] = [];\n\n this.controllers.forEach((controller, resourceType) => {\n const resourceConfig = this.resourcesRegistry.getResourceConfiguration(resourceType);\n const apiCallOperations = resourceConfig.operations?.filter(\n op => [ResourceOperationVariantType.API_CALL, ResourceOperationVariantType.API_CALL_WITH_CALLBACK].includes(op.variantType)) || [];\n\n const routes: { method: HttpMethod; url: string; roles: string[] }[] = [];\n apiCallOperations.forEach(operation => {\n // Extract roles from operation variant\n const roles = (operation.roles || []).map(role => String(role));\n\n // URLs are stored in initiatorInfos array\n if ('initiatorInfos' in operation && Array.isArray(operation.initiatorInfos) && 'httpVerb' in operation) {\n const httpVerb = operation.httpVerb as HttpMethod;\n operation.initiatorInfos.forEach((initiatorInfo: ResourceConfiguration_Operation_UrlInitiatorInfo) => {\n routes.push({ method: httpVerb, url: initiatorInfo.url, roles: [...roles] });\n });\n }\n });\n\n routesInfo.push({ resourceType, operationCount: apiCallOperations.length, routes });\n });\n\n return routesInfo;\n }\n\n\n public getDebugInfo(): {\n controllerCount: number;\n customControllerCount: number;\n operationPathsCount: number;\n resourceTypes: ResourceType[];\n customControllerNames: string[];\n totalRoutes: number;\n isInitialized: boolean;\n } {\n const routesInfo = this.getRoutesInfo();\n const totalRoutes = routesInfo.reduce((sum, info) => sum + info.routes.length, 0);\n\n return {\n controllerCount: this.controllers.size,\n customControllerCount: this.customControllers.size,\n operationPathsCount: this.controllerOperationsMap.size,\n resourceTypes: Array.from(this.controllers.keys()),\n customControllerNames: Array.from(this.customControllers.keys()),\n totalRoutes,\n isInitialized: this.isInitialized\n };\n }\n\n public displayAllRoutes(): void {\n this.logDebug('\\n=== 🌐 REGISTERED ROUTES SUMMARY ===\\n');\n\n const routesInfo = this.getRoutesInfo();\n let totalRoutes = 0;\n\n // Display resource controllers\n this.logDebug('📦 RESOURCE CONTROLLERS:');\n routesInfo.forEach(({ resourceType, operationCount, routes }) => {\n this.logDebug(` Resource: ${resourceType}`);\n this.logDebug(` Operations: ${operationCount}`);\n this.logDebug(` Routes (${routes.length}):`);\n\n routes.forEach((route, index) => {\n const rolesStr = route.roles.length > 0 ? `[${route.roles.join(', ')}] ` : '';\n this.logDebug(` ${index + 1}. ${rolesStr}${route.method} ${route.url}`);\n });\n\n totalRoutes += routes.length;\n this.logDebug('');\n });\n\n // Display custom controllers\n if (this.customControllers.size > 0) {\n this.logDebug('🛠️ CUSTOM CONTROLLERS:');\n this.customControllers.forEach((controller, controllerName) => {\n this.logDebug(` Controller: ${controllerName}`);\n const routeInfo = controller.getRouteInfo();\n this.logDebug(` Routes: ${routeInfo.routeCount || 'Unknown (manual tracking needed)'}`);\n this.logDebug('');\n });\n }\n\n this.logDebug(`📊 SUMMARY:`);\n this.logDebug(` Total Resources: ${routesInfo.length}`);\n this.logDebug(` Total Resource Controllers: ${this.controllers.size}`);\n this.logDebug(` Total Custom Controllers: ${this.customControllers.size}`);\n this.logDebug(` Total Routes: ${totalRoutes}`);\n this.logDebug(` Initialized: ${this.isInitialized}`);\n this.logDebug(`=================================\\n`);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"controllers-registry-handler.backend.service.js","sourceRoot":"","sources":["../../../../../../src/base-classes/services/controllers/controllers-registry-handler.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["import 'reflect-metadata';\nimport { injectable, inject } from 'inversify';\nimport { Router } from 'express';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { describeCaughtError } from '~wildo-backend-lib/errors/utils/error-log-level-classification.backend.utils';\nimport type {\n AnyResourceConfiguration,\n ResourceConfiguration,\n ResourceConfiguration_OperationPath,\n ResourceConfiguration_Operation_UrlInitiatorInfo\n} from '@wildo-ai/saas-models';\nimport {\n ResourceType,\n\n CoreResourceOperation,\n ResourcesConfig_OperationPathUtils,\n ErrorType,\n ErrorCustomMessageReference,\n ResourceOperationVariantType,\n HttpMethod\n} from '@wildo-ai/saas-models';\nimport { EnumLikeType } from '@wildo-ai/zod-decorators';\nimport { ControllerResourceBackendService } from './controller-resource.backend.service';\nimport { AbstractControllerBackendService } from './abstract-controller.backend.service';\nimport { ServicesRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/services/services-registry-handler.backend.service';\nimport { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';\nimport { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';\nimport { ErrorHandlerService } from '~wildo-backend-lib/errors/services/error-handler.backend.service';\nimport { JwtBackendService } from '~wildo-backend-lib/security/jwt/services/jwt.backend.service';\nimport { AuthorizationsBackendService } from '~wildo-backend-lib/security/authorizations/services/authorizations.backend.service';\nimport { ExecutionContextCreatorBackendService } from '~wildo-backend-lib/runtime/services/execution-context-creator.backend.service';\nimport { z } from 'zod';\nimport { ResourcesRegistryBackendService } from '~wildo-backend-lib/resources/services/resources-registry.backend.service';\nimport { ExecutionContextHandlerBackendService } from '~wildo-backend-lib/runtime/services/execution-context-handler.backend.service';\nimport { RepositoriesRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/repositories/repositories-registry-handler.backend.service';\nimport { ResourceOperationHelperBackendService } from '~wildo-backend-lib/base-classes/services/resource-operations-helper.backend.service';\nimport { FileFieldDetectionBackendService } from '~wildo-backend-lib/files/services/file-field-detection.backend.service';\nimport { FileUploadGrantBackendService } from '~wildo-backend-lib/files/services/file-upload-grant.backend.service';\nimport { ResourceFileUploadHandlerBackendService } from '~wildo-backend-lib/files/handlers/resource-file-upload-handler.backend.service';\nimport { AuditLogsBackendService } from '~wildo-backend-lib/compliance/audit-trails/services/audit-logs.backend.service';\nimport { AnonymousSessionBackendService } from '~wildo-backend-lib/security/authentications/services/anonymous-session.backend.service';\nimport { AppConfigurationService } from '~wildo-backend-lib/config/services/app-configuration.backend.service';\nimport { RateLimitBackendService } from '~wildo-backend-lib/errors/services/rate-limit.backend.service';\n\n/**\n * Controllers Registry Handler Backend Service\n *\n * Central registry for managing all controller resources in the application.\n * Provides unified Express router registration, middleware management,\n * and HTTP endpoint coordination across all resource controllers.\n *\n * Features:\n * - Resource controller lifecycle management (create, store, retrieve)\n * - Custom controller registration and management\n * - Express router aggregation and registration\n * - Global middleware management\n * - Route discovery and debugging\n * - Cross-controller coordination\n * - HTTP endpoint management\n * - Unified error handling with ErrorBuilderBackendService\n */\n\n@injectable()\nexport class ControllersRegistryHandlerBackendService {\n\n private readonly controllers: Map<ResourceType, ControllerResourceBackendService<any, any, any>>;\n private readonly customControllers: Map<string, AbstractControllerBackendService>;\n private readonly controllerOperationsMap: Map<string, {\n controller: ControllerResourceBackendService<any, any, any>;\n operationPath: ResourceConfiguration_OperationPath<any, any>;\n }>;\n private readonly masterRouter: Router;\n private isInitialized = false;\n protected logDebug: (message: string, context?: Record<string, unknown>) => void;\n\n\n constructor(\n @inject(SAAS_SERVICE_TYPES.ServicesRegistryHandlerService) private readonly servicesRegistry: ServicesRegistryHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.Logger) private readonly logger: LoggerService,\n @inject(SAAS_SERVICE_TYPES.ErrorBuilderService) private readonly errorBuilder: ErrorBuilderBackendService,\n @inject(SAAS_SERVICE_TYPES.ErrorHandlerService) private readonly errorHandler: ErrorHandlerService,\n @inject(SAAS_SERVICE_TYPES.JwtBackendService) private readonly jwtService: JwtBackendService,\n @inject(SAAS_SERVICE_TYPES.AuthorizationsService) private readonly authorizationsService: AuthorizationsBackendService,\n @inject(SAAS_SERVICE_TYPES.ExecutionContextCreatorBackendService) private readonly executionContextCreator: ExecutionContextCreatorBackendService,\n @inject(SAAS_SERVICE_TYPES.ExecutionContextHandlerService) private readonly executionContextHandler: ExecutionContextHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.ResourceRegistryService) private readonly resourcesRegistry: ResourcesRegistryBackendService,\n @inject(SAAS_SERVICE_TYPES.RepositoriesRegistryHandlerService) private readonly repositoriesRegistry: RepositoriesRegistryHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.ResourceOperationHelperService) private readonly resourceOperationHelper: ResourceOperationHelperBackendService,\n @inject(SAAS_SERVICE_TYPES.FileFieldDetectionService) private readonly fileFieldDetection: FileFieldDetectionBackendService,\n @inject(SAAS_SERVICE_TYPES.ResourceFileUploadHandlerService) private readonly fileUploadHandler: ResourceFileUploadHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.AuditLogsService) private readonly auditLogsService: AuditLogsBackendService,\n @inject(SAAS_SERVICE_TYPES.AnonymousSessionService) private readonly anonymousSessionService: AnonymousSessionBackendService,\n @inject(SAAS_SERVICE_TYPES.AppConfigService) private readonly appConfigService: AppConfigurationService,\n @inject(SAAS_SERVICE_TYPES.RateLimitBackendService) private readonly rateLimitService: RateLimitBackendService,\n @inject(SAAS_SERVICE_TYPES.FileUploadGrantService) private readonly fileUploadGrantService: FileUploadGrantBackendService,\n ) {\n\n this.controllers = new Map();\n this.customControllers = new Map();\n this.controllerOperationsMap = new Map();\n this.masterRouter = Router();\n\n this.logDebug = this.logger.debugByType('ControllersRegistryHandler');\n this.logger.setDebugTypeLogging('ControllersRegistryHandler', false);\n\n this.logDebug('Controllers registry service created');\n }\n\n\n\n\n // ================================\n // Initialization\n // ================================\n\n /**\n * Initialize the registry with resource configurations and optional custom controllers\n *\n * @param customControllers - Optional array of custom controllers to register\n * @param controllerWhiteList - Optional list of resource types to limit controller instantiation to\n */\n public async initialize(\n customControllers?: AbstractControllerBackendService[],\n controllerWhiteList?: string[]\n ): Promise<void> {\n if (this.isInitialized) {\n this.logDebug('Registry already initialized, skipping...');\n return;\n }\n\n const resourceConfigurations: { [key: string]: AnyResourceConfiguration } = this.resourcesRegistry.getResourcesRegistry().resourceConfigurations;\n\n // Filter resource configurations based on whitelist if provided\n let filteredResourceConfigurations: { [key: string]: AnyResourceConfiguration } = resourceConfigurations;\n if (controllerWhiteList ) { //&& controllerWhiteList.length > 0\n filteredResourceConfigurations = {};\n for (const resourceType in resourceConfigurations) {\n if (controllerWhiteList.includes(resourceType)) {\n filteredResourceConfigurations[resourceType] = resourceConfigurations[resourceType];\n }\n }\n\n this.logDebug('Applied controller whitelist filter', { originalResourceCount: resourceConfigurations.size, filteredResourceCount: filteredResourceConfigurations.size, whitelistedResources: controllerWhiteList, filteredResources: Object.keys(filteredResourceConfigurations) });\n }\n\n this.logDebug('Initializing controllers', { resourceCount: Object.keys(filteredResourceConfigurations).length, resourceTypes: Object.keys(filteredResourceConfigurations), customControllerCount: customControllers?.length || 0, controllerWhiteListApplied: controllerWhiteList ? true : false });\n\n // First pass: Create all resource controllers (filtered by whitelist if provided)\n for (const resourceType in filteredResourceConfigurations) {\n try {\n await this.createController(resourceType);\n } catch (error) {\n throw this.errorBuilder.buildError(\n ErrorType.INTERNAL,undefined,\n { customMessageReference: ErrorCustomMessageReference.CONTROLLER_RESOURCE_BUILD_ERROR,\n context: { resourceType, error: describeCaughtError(error)} }\n );\n }\n }\n\n // Second pass: Initialize custom controllers\n if (customControllers && customControllers.length > 0) {\n this.initializeCustomControllers(customControllers);\n }\n\n\n this.registerAllRoutes();\n\n\n this.buildOperationPathsMap();\n\n this.isInitialized = true;\n\n this.logDebug('Controllers registry initialization completed', { controllerCount: this.controllers.size, customControllerCount: this.customControllers.size, operationPathsCount: this.controllerOperationsMap.size });\n }\n\n private async createController(\n resourceType: ResourceType,\n\n ): Promise<void> {\n this.logDebug('Creating controller', { resourceType });\n const resourceConfiguration = this.resourcesRegistry.getResourceConfiguration(resourceType);\n\n // Only create controllers for resources that have URL-bearing operations\n const hasApiCallOperations = resourceConfiguration.operations?.some(\n op => [ResourceOperationVariantType.API_CALL, ResourceOperationVariantType.API_CALL_WITH_CALLBACK].includes(op.variantType)\n );\n\n if (!hasApiCallOperations) {\n this.logDebug('Skipping controller creation - no URL-bearing operations', { resourceType });\n return;\n }\n\n // Create controller instance using static factory method\n const controller = ControllerResourceBackendService.createInstance(\n resourceType,\n this.logger,\n this.errorBuilder,\n this.errorHandler,\n this.jwtService,\n this.authorizationsService,\n this.resourcesRegistry,\n this.executionContextCreator,\n this.executionContextHandler,\n this.repositoriesRegistry,\n this.resourceOperationHelper,\n this.servicesRegistry,\n this.fileFieldDetection,\n this.fileUploadHandler,\n this.auditLogsService,\n this.anonymousSessionService,\n this.appConfigService,\n this.rateLimitService,\n this.fileUploadGrantService,\n );\n\n // Store controller\n this.controllers.set(resourceType, controller);\n\n this.logDebug('Controller created successfully', {\n resourceType,\n operationsCount: resourceConfiguration.operations?.length || 0\n });\n }\n\n\n private initializeCustomControllers(customControllers: AbstractControllerBackendService[]): void {\n this.logDebug('Initializing custom controllers', { count: customControllers.length });\n\n customControllers.forEach(controller => {\n const controllerName = controller.getControllerName();\n\n if (this.customControllers.has(controllerName)) {\n throw this.errorBuilder.buildError( ErrorType.INTERNAL, undefined,\n { customMessageReference: ErrorCustomMessageReference.CONTROLLER_CUSTOM_NAME_CONFLICT, context: { controllerName } } );\n }\n\n this.customControllers.set(controllerName, controller);\n\n this.logDebug('Custom controller initialized', { controllerName });\n });\n\n this.logDebug('All custom controllers initialized', { totalCustomControllers: this.customControllers.size });\n }\n\n\n private registerAllRoutes(): void {\n this.logDebug('Registering all controller routes');\n\n\n this.controllers.forEach((controller, resourceType) => {\n const controllerRouter = controller.getRouter();\n\n this.masterRouter.use(controllerRouter);\n\n this.logDebug('Resource controller routes registered', { resourceType, mountPath: '/' });\n });\n\n\n this.customControllers.forEach((controller, controllerName) => {\n const controllerRouter = controller.getRouter();\n\n this.masterRouter.use(controllerRouter);\n\n this.logDebug('Custom controller routes registered', { controllerName, mountPath: '/' });\n });\n\n this.logDebug('All controller routes registered in master router', { resourceControllers: this.controllers.size, customControllers: this.customControllers.size });\n }\n\n private buildOperationPathsMap(): void {\n this.logDebug('Building operation paths map');\n\n let totalOperationPaths = 0;\n\n this.controllers.forEach((controller, resourceType) => {\n const resourceConfiguration = this.resourcesRegistry.getResourceConfiguration(resourceType);\n\n if (!resourceConfiguration.operations) {\n return;\n }\n\n const apiCallOperations = resourceConfiguration.operations.filter(\n op => [ResourceOperationVariantType.API_CALL, ResourceOperationVariantType.API_CALL_WITH_CALLBACK].includes(op.variantType)\n );\n\n apiCallOperations.forEach(operation => {\n const operationPath = ResourcesConfig_OperationPathUtils.extractOperationPath(operation);\n const operationKey = ResourcesConfig_OperationPathUtils.createOperationPathKey(operationPath);\n\n this.controllerOperationsMap.set(operationKey, { controller, operationPath });\n\n totalOperationPaths++;\n });\n });\n\n this.logDebug('Operation paths map built', { totalOperationPaths, operationKeys: Array.from(this.controllerOperationsMap.keys()).slice(0, 5) });\n }\n\n // ================================\n // Getters & Utils\n // ================================\n\n public getController<\n TCustomOperationEnum extends EnumLikeType | undefined = undefined,\n TCoreOperationEnum extends Partial<CoreResourceOperation> | undefined = undefined,\n TMainSchema extends z.ZodTypeAny = z.ZodTypeAny,\n >(\n resourceType: ResourceType\n ): ControllerResourceBackendService<TCustomOperationEnum, TCoreOperationEnum, TMainSchema> | undefined {\n const controller = this.controllers.get(resourceType);\n\n if (!controller) {\n this.logDebug('Controller not found', { resourceType });\n return undefined;\n }\n\n return controller as ControllerResourceBackendService<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>;\n }\n\n public getControllerOrThrow<\n TCustomOperationEnum extends EnumLikeType | undefined = undefined,\n TCoreOperationEnum extends Partial<CoreResourceOperation> | undefined = undefined,\n TMainSchema extends z.ZodTypeAny = z.ZodTypeAny,\n >(\n resourceType: ResourceType\n ): ControllerResourceBackendService<TCustomOperationEnum, TCoreOperationEnum, TMainSchema> {\n const controller = this.getController<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>(resourceType);\n\n if (!controller) {\n throw this.errorBuilder.buildError(\n ErrorType.INTERNAL, undefined,\n { customMessageReference: ErrorCustomMessageReference.CONTROLLER_RESOURCE_NOT_FOUND, context: { resourceType } } );\n }\n\n return controller;\n }\n\n public getCustomController(controllerName: string): AbstractControllerBackendService | undefined {\n const controller = this.customControllers.get(controllerName);\n\n if (!controller) {\n this.logDebug('Custom controller not found', { controllerName });\n return undefined;\n }\n\n return controller;\n }\n\n\n public getCustomControllerOrThrow(controllerName: string): AbstractControllerBackendService {\n const controller = this.getCustomController(controllerName);\n\n if (!controller) {\n throw this.errorBuilder.buildError(\n ErrorType.INTERNAL, undefined,\n { customMessageReference: ErrorCustomMessageReference.CONTROLLER_RESOURCE_NOT_FOUND, context: { controllerName } } );\n }\n\n return controller;\n }\n\n\n public getAllCustomControllers(): Map<string, AbstractControllerBackendService> {\n return new Map(this.customControllers);\n }\n\n public getAvailableOperationPaths(): ResourceConfiguration_OperationPath<any, any>[] {\n return Array.from(this.controllerOperationsMap.values()).map(info => info.operationPath);\n }\n\n\n public hasController(resourceType: ResourceType): boolean {\n return this.controllers.has(resourceType);\n }\n\n public hasCustomController(controllerName: string): boolean {\n return this.customControllers.has(controllerName);\n }\n\n public getMasterRouter(): Router {\n return this.masterRouter;\n }\n\n\n\n // ================================\n // Debug Methods\n // ================================\n\n public getRoutesInfo(): {\n resourceType: ResourceType;\n operationCount: number;\n routes: { method: HttpMethod; url: string; roles: string[] }[];\n }[] {\n const routesInfo: {\n resourceType: ResourceType;\n operationCount: number;\n routes: { method: HttpMethod; url: string; roles: string[] }[];\n }[] = [];\n\n this.controllers.forEach((controller, resourceType) => {\n const resourceConfig = this.resourcesRegistry.getResourceConfiguration(resourceType);\n const apiCallOperations = resourceConfig.operations?.filter(\n op => [ResourceOperationVariantType.API_CALL, ResourceOperationVariantType.API_CALL_WITH_CALLBACK].includes(op.variantType)) || [];\n\n const routes: { method: HttpMethod; url: string; roles: string[] }[] = [];\n apiCallOperations.forEach(operation => {\n // Extract roles from operation variant\n const roles = (operation.roles || []).map(role => String(role));\n\n // URLs are stored in initiatorInfos array\n if ('initiatorInfos' in operation && Array.isArray(operation.initiatorInfos) && 'httpVerb' in operation) {\n const httpVerb = operation.httpVerb as HttpMethod;\n operation.initiatorInfos.forEach((initiatorInfo: ResourceConfiguration_Operation_UrlInitiatorInfo) => {\n routes.push({ method: httpVerb, url: initiatorInfo.url, roles: [...roles] });\n });\n }\n });\n\n routesInfo.push({ resourceType, operationCount: apiCallOperations.length, routes });\n });\n\n return routesInfo;\n }\n\n\n public getDebugInfo(): {\n controllerCount: number;\n customControllerCount: number;\n operationPathsCount: number;\n resourceTypes: ResourceType[];\n customControllerNames: string[];\n totalRoutes: number;\n isInitialized: boolean;\n } {\n const routesInfo = this.getRoutesInfo();\n const totalRoutes = routesInfo.reduce((sum, info) => sum + info.routes.length, 0);\n\n return {\n controllerCount: this.controllers.size,\n customControllerCount: this.customControllers.size,\n operationPathsCount: this.controllerOperationsMap.size,\n resourceTypes: Array.from(this.controllers.keys()),\n customControllerNames: Array.from(this.customControllers.keys()),\n totalRoutes,\n isInitialized: this.isInitialized\n };\n }\n\n public displayAllRoutes(): void {\n this.logDebug('\\n=== 🌐 REGISTERED ROUTES SUMMARY ===\\n');\n\n const routesInfo = this.getRoutesInfo();\n let totalRoutes = 0;\n\n // Display resource controllers\n this.logDebug('📦 RESOURCE CONTROLLERS:');\n routesInfo.forEach(({ resourceType, operationCount, routes }) => {\n this.logDebug(` Resource: ${resourceType}`);\n this.logDebug(` Operations: ${operationCount}`);\n this.logDebug(` Routes (${routes.length}):`);\n\n routes.forEach((route, index) => {\n const rolesStr = route.roles.length > 0 ? `[${route.roles.join(', ')}] ` : '';\n this.logDebug(` ${index + 1}. ${rolesStr}${route.method} ${route.url}`);\n });\n\n totalRoutes += routes.length;\n this.logDebug('');\n });\n\n // Display custom controllers\n if (this.customControllers.size > 0) {\n this.logDebug('🛠️ CUSTOM CONTROLLERS:');\n this.customControllers.forEach((controller, controllerName) => {\n this.logDebug(` Controller: ${controllerName}`);\n const routeInfo = controller.getRouteInfo();\n this.logDebug(` Routes: ${routeInfo.routeCount || 'Unknown (manual tracking needed)'}`);\n this.logDebug('');\n });\n }\n\n this.logDebug(`📊 SUMMARY:`);\n this.logDebug(` Total Resources: ${routesInfo.length}`);\n this.logDebug(` Total Resource Controllers: ${this.controllers.size}`);\n this.logDebug(` Total Custom Controllers: ${this.customControllers.size}`);\n this.logDebug(` Total Routes: ${totalRoutes}`);\n this.logDebug(` Initialized: ${this.isInitialized}`);\n this.logDebug(`=================================\\n`);\n }\n}\n"]}
|
|
@@ -93,4 +93,15 @@ export declare function partitionNullClearedFields(data: Record<string, unknown>
|
|
|
93
93
|
* field-clearing contract, and would look like it simply did not work.
|
|
94
94
|
*/
|
|
95
95
|
export declare const ENGINE_RESERVED_FIELD_NAME_PREFIX = "_";
|
|
96
|
+
/**
|
|
97
|
+
* Is this an engine-owned metadata field rather than an authored resource field?
|
|
98
|
+
*
|
|
99
|
+
* Exported because the same rule governs WRITES, not only field-clearing: a payload built from a
|
|
100
|
+
* READ projection (the data-seeding managed-field overlay is exactly that) carries engine-owned
|
|
101
|
+
* metadata that no caller may write back. `_version` in particular is a PUBLIC read-only field on
|
|
102
|
+
* both adapters — Mongo maps `_version_db_doc` to it, PostgreSQL's `transformPersistenceRow` does
|
|
103
|
+
* the same — and PostgreSQL has no such column, so writing it back is a hard error there and a
|
|
104
|
+
* silent junk write on Mongo.
|
|
105
|
+
*/
|
|
106
|
+
export declare function isEngineReservedFieldName(fieldName: string): boolean;
|
|
96
107
|
//# sourceMappingURL=field-clearing-partition.backend.d.ts.map
|
package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-clearing-partition.backend.d.ts","sourceRoot":"","sources":["../../../../../../src/base-classes/services/repositories/field-clearing-partition.backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,2EAA2E;IAC3E,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B;;;;;;;;;OASG;IACH,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,CAAC,CAAC,UAAU,GACvB,kBAAkB,CAwCpB;AAOD;;;;;;;;;GASG;AACH,eAAO,MAAM,iCAAiC,MAAM,CAAC"}
|
|
1
|
+
{"version":3,"file":"field-clearing-partition.backend.d.ts","sourceRoot":"","sources":["../../../../../../src/base-classes/services/repositories/field-clearing-partition.backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,2EAA2E;IAC3E,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B;;;;;;;;;OASG;IACH,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,CAAC,CAAC,UAAU,GACvB,kBAAkB,CAwCpB;AAOD;;;;;;;;;GASG;AACH,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAErD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEpE"}
|
|
@@ -111,8 +111,17 @@ function fieldIsResolvable(mainSchema, fieldName) {
|
|
|
111
111
|
* field-clearing contract, and would look like it simply did not work.
|
|
112
112
|
*/
|
|
113
113
|
export const ENGINE_RESERVED_FIELD_NAME_PREFIX = '_';
|
|
114
|
-
/**
|
|
115
|
-
|
|
114
|
+
/**
|
|
115
|
+
* Is this an engine-owned metadata field rather than an authored resource field?
|
|
116
|
+
*
|
|
117
|
+
* Exported because the same rule governs WRITES, not only field-clearing: a payload built from a
|
|
118
|
+
* READ projection (the data-seeding managed-field overlay is exactly that) carries engine-owned
|
|
119
|
+
* metadata that no caller may write back. `_version` in particular is a PUBLIC read-only field on
|
|
120
|
+
* both adapters — Mongo maps `_version_db_doc` to it, PostgreSQL's `transformPersistenceRow` does
|
|
121
|
+
* the same — and PostgreSQL has no such column, so writing it back is a hard error there and a
|
|
122
|
+
* silent junk write on Mongo.
|
|
123
|
+
*/
|
|
124
|
+
export function isEngineReservedFieldName(fieldName) {
|
|
116
125
|
return fieldName.startsWith(ENGINE_RESERVED_FIELD_NAME_PREFIX);
|
|
117
126
|
}
|
|
118
127
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-clearing-partition.backend.js","sourceRoot":"","sources":["../../../../../../src/base-classes/services/repositories/field-clearing-partition.backend.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAuBpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAA6B,EAC7B,UAAwB;IAExB,MAAM,YAAY,GAA4B,EAAE,CAAC;IACjD,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;YAChC,SAAS;QACX,CAAC;QAED,gGAAgG;QAChG,6FAA6F;QAC7F,oDAAoD;QACpD,EAAE;QACF,+FAA+F;QAC/F,gGAAgG;QAChG,MAAM;QACN,IAAI,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;YAChC,SAAS;QACX,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC;YAC9C,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClC,SAAS;QACX,CAAC;QAED,IAAI,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC;YAC5C,8FAA8F;YAC9F,kCAAkC;YAClC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;YAChC,SAAS;QACX,CAAC;QAED,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;AACnE,CAAC;AAED,mGAAmG;AACnG,SAAS,iBAAiB,CAAC,UAAwB,EAAE,SAAiB;IACpE,OAAO,wBAAwB,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,SAAS,CAAC;AACvE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAErD,qFAAqF;AACrF,SAAS,yBAAyB,CAAC,SAAiB;IAClD,OAAO,SAAS,CAAC,UAAU,CAAC,iCAAiC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,UAAwB,EAAE,SAAiB;IACnE,MAAM,WAAW,GAAG,wBAAwB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACpE,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAE/B,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC7C,CAAC","sourcesContent":["import { z } from 'zod';\n\nimport { getObjectLikeFieldSchema } from '@wildo-ai/zod-decorators';\n\n/**\n * The result of splitting an UPDATE payload into \"values to write\" and \"fields to clear\".\n */\nexport interface NullClearPartition {\n /** Everything the adapter should WRITE, with clear instructions removed. */\n retainedData: Record<string, unknown>;\n /** Top-level field names the adapter should REMOVE from the stored row. */\n clearedFieldNames: string[];\n /**\n * Fields whose declaration could NOT be resolved from the main schema, and which were therefore\n * cleared on the safe-direction fallback rather than on a known answer.\n *\n * Reported so the fallback is OBSERVABLE. The JSDoc below calls it \"nearly unreachable\", and a\n * claim like that is worth nothing if nothing can contradict it: a main schema that is neither an\n * object nor a union resolves NO field, which would silently convert every authored `.nullish()`\n * null into an absence. The caller logs this; it is never an error, because the fallback direction\n * is always safe to persist.\n */\n unresolvedFieldNames: string[];\n}\n\n/**\n * Split an UPDATE payload into values-to-write and fields-to-clear.\n *\n * # The contract this implements\n *\n * Wildo's UPDATE wire semantics are JSON-Merge-Patch shaped and carry exactly ONE \"no value\"\n * concept:\n *\n * - a key that is **ABSENT** leaves the stored value untouched;\n * - a key whose value is **`null`** means \"this field has no value\".\n *\n * What `null` must PERSIST as is not a caller decision — it is derived here, from the field's own\n * declaration on the resource's main schema:\n *\n * | Declared as | `null` on the wire means | Persisted as | Reads back as |\n * |---|---|---|---|\n * | `.optional()` (rejects null) | clear it | REMOVED (`$unset` / SQL NULL) | absent, on BOTH adapters |\n * | `.nullish()` / `.nullable()` (accepts null) | set it to null | a stored `null` | **adapter-dependent — see below** |\n * | required | — | unreachable: the update DTO already rejected the null with a 400 | — |\n *\n * # The one guarantee this contract does NOT make, stated because it used to claim otherwise\n *\n * **A stored `null` is readable as `null` only on MongoDB.** PostgreSQL's read path\n * (`omitUnsetColumns`) drops EVERY null column — `.nullish()` fields included, deliberately and by\n * that adapter's own design, because a SQL row always has every column and NULL is the only thing an\n * unwritten one can hold. So an AUTH-24-style credential tombstone comes back as `{ passwordHash:\n * null }` on MongoDB and as an ABSENT key on PostgreSQL.\n *\n * That divergence PRE-DATES this contract and is not introduced by it. What this comment previously\n * got wrong was asserting a uniform, adapter-independent guarantee across BOTH rows of the table\n * above; an independent review caught it. The honest statement is narrower and is the one to rely\n * on:\n *\n * - **CLEARING converges.** A cleared field reads back as ABSENT on both adapters. That is the whole\n * of the wire contract, and it is portable.\n * - **The stored-null/absent DISTINCTION does not.** Code that needs to tell \"explicitly nulled\"\n * from \"never set\" is MongoDB-only today. Do not build portable behaviour on it; if that\n * distinction is ever needed portably, it has to be carried by a declared field of its own, not\n * inferred from the storage representation.\n *\n * # Why the distinction is load-bearing rather than cosmetic\n *\n * The READ path re-validates a persisted row against the resource's main schema\n * (`internalDto.parse`). A field declared `.optional()` accepts ABSENCE and REJECTS `null`, so\n * storing a literal `null` in it produces a row that can be written and then cannot be read: the\n * write succeeds and the very same request's response fails with an INTERNAL error. Removing the\n * field instead yields absence, which every optional field accepts by construction.\n *\n * This is not hypothetical — it is the shape of the AUTH-24 defect, where a credential field had to\n * be declared `.nullish()` precisely so a null-clear could survive the output projection.\n *\n * # Adapter neutrality\n *\n * Both resource repositories call this. They are SEPARATE classes with no shared base, so a rule\n * applied in one is a silent bypass in the other; keeping the DECISION here means the adapters only\n * differ in how they execute it (MongoDB `$unset` versus SQL `SET NULL`, which its read path\n * already normalises back to absence).\n *\n * @param data - the validated update payload. Not mutated.\n * @param mainSchema - the resource's main schema (object, or discriminated union for polymorphic\n * resources — union variants are seen through).\n */\nexport function partitionNullClearedFields(\n data: Record<string, unknown>,\n mainSchema: z.ZodTypeAny,\n): NullClearPartition {\n const retainedData: Record<string, unknown> = {};\n const clearedFieldNames: string[] = [];\n const unresolvedFieldNames: string[] = [];\n\n for (const [fieldName, value] of Object.entries(data)) {\n if (value !== null) {\n retainedData[fieldName] = value;\n continue;\n }\n\n // Engine-owned metadata (`_field_meta`, `_version…`) is never an authored resource field and is\n // never a clear instruction. Leaving it in the written payload keeps this partition blind to\n // framework internals rather than guessing at them.\n //\n // Checked BEFORE resolvability on purpose: engine metadata is not declared on the main schema,\n // so the resolvability branch below would otherwise treat it as an unresolvable field and clear\n // it.\n if (isEngineReservedFieldName(fieldName)) {\n retainedData[fieldName] = value;\n continue;\n }\n\n if (!fieldIsResolvable(mainSchema, fieldName)) {\n unresolvedFieldNames.push(fieldName);\n clearedFieldNames.push(fieldName);\n continue;\n }\n\n if (fieldAcceptsNull(mainSchema, fieldName)) {\n // Authored `.nullish()` / `.nullable()`: null IS the value the author asked to store, and the\n // read path validates it happily.\n retainedData[fieldName] = value;\n continue;\n }\n\n clearedFieldNames.push(fieldName);\n }\n\n return { retainedData, clearedFieldNames, unresolvedFieldNames };\n}\n\n/** Can this field's declaration be found on the main schema at all? See `unresolvedFieldNames`. */\nfunction fieldIsResolvable(mainSchema: z.ZodTypeAny, fieldName: string): boolean {\n return getObjectLikeFieldSchema(mainSchema, fieldName) !== undefined;\n}\n\n/**\n * The prefix reserved for engine-owned document metadata (`_id`, `_version`, `_version_db_doc`,\n * `_field_meta`, `__seed`).\n *\n * Named rather than inlined because it IS the rule, not a heuristic that happens to work: the\n * leading underscore is the framework's reserved namespace for fields it owns on every document,\n * and an application resource must not author a field into it. Stated here because the consequence\n * is invisible otherwise — a field named `_note` would be silently exempt from the whole\n * field-clearing contract, and would look like it simply did not work.\n */\nexport const ENGINE_RESERVED_FIELD_NAME_PREFIX = '_';\n\n/** Is this an engine-owned metadata field rather than an authored resource field? */\nfunction isEngineReservedFieldName(fieldName: string): boolean {\n return fieldName.startsWith(ENGINE_RESERVED_FIELD_NAME_PREFIX);\n}\n\n/**\n * Does the resource's main schema accept a literal `null` for this field?\n *\n * An UNRESOLVABLE field is treated as NOT accepting null — i.e. it is cleared rather than stored as\n * null. That fallback is deliberate and is the safe direction: absence parses against every\n * optional declaration, whereas a stored null against a non-nullable one is unreadable. It is also\n * nearly unreachable, because a null only survives to this point after the update DTO has already\n * accepted it for a declared field.\n */\nfunction fieldAcceptsNull(mainSchema: z.ZodTypeAny, fieldName: string): boolean {\n const fieldSchema = getObjectLikeFieldSchema(mainSchema, fieldName);\n if (!fieldSchema) return false;\n\n return fieldSchema.safeParse(null).success;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"field-clearing-partition.backend.js","sourceRoot":"","sources":["../../../../../../src/base-classes/services/repositories/field-clearing-partition.backend.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAuBpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAA6B,EAC7B,UAAwB;IAExB,MAAM,YAAY,GAA4B,EAAE,CAAC;IACjD,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;YAChC,SAAS;QACX,CAAC;QAED,gGAAgG;QAChG,6FAA6F;QAC7F,oDAAoD;QACpD,EAAE;QACF,+FAA+F;QAC/F,gGAAgG;QAChG,MAAM;QACN,IAAI,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;YAChC,SAAS;QACX,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC;YAC9C,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClC,SAAS;QACX,CAAC;QAED,IAAI,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC;YAC5C,8FAA8F;YAC9F,kCAAkC;YAClC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;YAChC,SAAS;QACX,CAAC;QAED,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;AACnE,CAAC;AAED,mGAAmG;AACnG,SAAS,iBAAiB,CAAC,UAAwB,EAAE,SAAiB;IACpE,OAAO,wBAAwB,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,SAAS,CAAC;AACvE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAErD;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAiB;IACzD,OAAO,SAAS,CAAC,UAAU,CAAC,iCAAiC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,UAAwB,EAAE,SAAiB;IACnE,MAAM,WAAW,GAAG,wBAAwB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACpE,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAE/B,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC7C,CAAC","sourcesContent":["import { z } from 'zod';\n\nimport { getObjectLikeFieldSchema } from '@wildo-ai/zod-decorators';\n\n/**\n * The result of splitting an UPDATE payload into \"values to write\" and \"fields to clear\".\n */\nexport interface NullClearPartition {\n /** Everything the adapter should WRITE, with clear instructions removed. */\n retainedData: Record<string, unknown>;\n /** Top-level field names the adapter should REMOVE from the stored row. */\n clearedFieldNames: string[];\n /**\n * Fields whose declaration could NOT be resolved from the main schema, and which were therefore\n * cleared on the safe-direction fallback rather than on a known answer.\n *\n * Reported so the fallback is OBSERVABLE. The JSDoc below calls it \"nearly unreachable\", and a\n * claim like that is worth nothing if nothing can contradict it: a main schema that is neither an\n * object nor a union resolves NO field, which would silently convert every authored `.nullish()`\n * null into an absence. The caller logs this; it is never an error, because the fallback direction\n * is always safe to persist.\n */\n unresolvedFieldNames: string[];\n}\n\n/**\n * Split an UPDATE payload into values-to-write and fields-to-clear.\n *\n * # The contract this implements\n *\n * Wildo's UPDATE wire semantics are JSON-Merge-Patch shaped and carry exactly ONE \"no value\"\n * concept:\n *\n * - a key that is **ABSENT** leaves the stored value untouched;\n * - a key whose value is **`null`** means \"this field has no value\".\n *\n * What `null` must PERSIST as is not a caller decision — it is derived here, from the field's own\n * declaration on the resource's main schema:\n *\n * | Declared as | `null` on the wire means | Persisted as | Reads back as |\n * |---|---|---|---|\n * | `.optional()` (rejects null) | clear it | REMOVED (`$unset` / SQL NULL) | absent, on BOTH adapters |\n * | `.nullish()` / `.nullable()` (accepts null) | set it to null | a stored `null` | **adapter-dependent — see below** |\n * | required | — | unreachable: the update DTO already rejected the null with a 400 | — |\n *\n * # The one guarantee this contract does NOT make, stated because it used to claim otherwise\n *\n * **A stored `null` is readable as `null` only on MongoDB.** PostgreSQL's read path\n * (`omitUnsetColumns`) drops EVERY null column — `.nullish()` fields included, deliberately and by\n * that adapter's own design, because a SQL row always has every column and NULL is the only thing an\n * unwritten one can hold. So an AUTH-24-style credential tombstone comes back as `{ passwordHash:\n * null }` on MongoDB and as an ABSENT key on PostgreSQL.\n *\n * That divergence PRE-DATES this contract and is not introduced by it. What this comment previously\n * got wrong was asserting a uniform, adapter-independent guarantee across BOTH rows of the table\n * above; an independent review caught it. The honest statement is narrower and is the one to rely\n * on:\n *\n * - **CLEARING converges.** A cleared field reads back as ABSENT on both adapters. That is the whole\n * of the wire contract, and it is portable.\n * - **The stored-null/absent DISTINCTION does not.** Code that needs to tell \"explicitly nulled\"\n * from \"never set\" is MongoDB-only today. Do not build portable behaviour on it; if that\n * distinction is ever needed portably, it has to be carried by a declared field of its own, not\n * inferred from the storage representation.\n *\n * # Why the distinction is load-bearing rather than cosmetic\n *\n * The READ path re-validates a persisted row against the resource's main schema\n * (`internalDto.parse`). A field declared `.optional()` accepts ABSENCE and REJECTS `null`, so\n * storing a literal `null` in it produces a row that can be written and then cannot be read: the\n * write succeeds and the very same request's response fails with an INTERNAL error. Removing the\n * field instead yields absence, which every optional field accepts by construction.\n *\n * This is not hypothetical — it is the shape of the AUTH-24 defect, where a credential field had to\n * be declared `.nullish()` precisely so a null-clear could survive the output projection.\n *\n * # Adapter neutrality\n *\n * Both resource repositories call this. They are SEPARATE classes with no shared base, so a rule\n * applied in one is a silent bypass in the other; keeping the DECISION here means the adapters only\n * differ in how they execute it (MongoDB `$unset` versus SQL `SET NULL`, which its read path\n * already normalises back to absence).\n *\n * @param data - the validated update payload. Not mutated.\n * @param mainSchema - the resource's main schema (object, or discriminated union for polymorphic\n * resources — union variants are seen through).\n */\nexport function partitionNullClearedFields(\n data: Record<string, unknown>,\n mainSchema: z.ZodTypeAny,\n): NullClearPartition {\n const retainedData: Record<string, unknown> = {};\n const clearedFieldNames: string[] = [];\n const unresolvedFieldNames: string[] = [];\n\n for (const [fieldName, value] of Object.entries(data)) {\n if (value !== null) {\n retainedData[fieldName] = value;\n continue;\n }\n\n // Engine-owned metadata (`_field_meta`, `_version…`) is never an authored resource field and is\n // never a clear instruction. Leaving it in the written payload keeps this partition blind to\n // framework internals rather than guessing at them.\n //\n // Checked BEFORE resolvability on purpose: engine metadata is not declared on the main schema,\n // so the resolvability branch below would otherwise treat it as an unresolvable field and clear\n // it.\n if (isEngineReservedFieldName(fieldName)) {\n retainedData[fieldName] = value;\n continue;\n }\n\n if (!fieldIsResolvable(mainSchema, fieldName)) {\n unresolvedFieldNames.push(fieldName);\n clearedFieldNames.push(fieldName);\n continue;\n }\n\n if (fieldAcceptsNull(mainSchema, fieldName)) {\n // Authored `.nullish()` / `.nullable()`: null IS the value the author asked to store, and the\n // read path validates it happily.\n retainedData[fieldName] = value;\n continue;\n }\n\n clearedFieldNames.push(fieldName);\n }\n\n return { retainedData, clearedFieldNames, unresolvedFieldNames };\n}\n\n/** Can this field's declaration be found on the main schema at all? See `unresolvedFieldNames`. */\nfunction fieldIsResolvable(mainSchema: z.ZodTypeAny, fieldName: string): boolean {\n return getObjectLikeFieldSchema(mainSchema, fieldName) !== undefined;\n}\n\n/**\n * The prefix reserved for engine-owned document metadata (`_id`, `_version`, `_version_db_doc`,\n * `_field_meta`, `__seed`).\n *\n * Named rather than inlined because it IS the rule, not a heuristic that happens to work: the\n * leading underscore is the framework's reserved namespace for fields it owns on every document,\n * and an application resource must not author a field into it. Stated here because the consequence\n * is invisible otherwise — a field named `_note` would be silently exempt from the whole\n * field-clearing contract, and would look like it simply did not work.\n */\nexport const ENGINE_RESERVED_FIELD_NAME_PREFIX = '_';\n\n/**\n * Is this an engine-owned metadata field rather than an authored resource field?\n *\n * Exported because the same rule governs WRITES, not only field-clearing: a payload built from a\n * READ projection (the data-seeding managed-field overlay is exactly that) carries engine-owned\n * metadata that no caller may write back. `_version` in particular is a PUBLIC read-only field on\n * both adapters — Mongo maps `_version_db_doc` to it, PostgreSQL's `transformPersistenceRow` does\n * the same — and PostgreSQL has no such column, so writing it back is a hard error there and a\n * silent junk write on Mongo.\n */\nexport function isEngineReservedFieldName(fieldName: string): boolean {\n return fieldName.startsWith(ENGINE_RESERVED_FIELD_NAME_PREFIX);\n}\n\n/**\n * Does the resource's main schema accept a literal `null` for this field?\n *\n * An UNRESOLVABLE field is treated as NOT accepting null — i.e. it is cleared rather than stored as\n * null. That fallback is deliberate and is the safe direction: absence parses against every\n * optional declaration, whereas a stored null against a non-nullable one is unreadable. It is also\n * nearly unreachable, because a null only survives to this point after the update DTO has already\n * accepted it for a declared field.\n */\nfunction fieldAcceptsNull(mainSchema: z.ZodTypeAny, fieldName: string): boolean {\n const fieldSchema = getObjectLikeFieldSchema(mainSchema, fieldName);\n if (!fieldSchema) return false;\n\n return fieldSchema.safeParse(null).success;\n}\n"]}
|
package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts
CHANGED
|
@@ -7,10 +7,14 @@
|
|
|
7
7
|
* repository consumes this PORT so unit tests inject a stub and the production wiring stays in
|
|
8
8
|
* one place.
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import type { ExternalProvider_ConnectionTarget } from '@wildo-ai/external-connectors-models';
|
|
11
|
+
import type { ProviderCredentialResolutionSource } from '@wildo-ai/saas-models';
|
|
12
|
+
import type { ProviderRestRequestSigning } from '@wildo-ai/external-connectors-models';
|
|
13
|
+
import type { ProviderRestOperation } from '@wildo-ai/external-connectors-models';
|
|
11
14
|
import type { ExecutionContext } from '../../../../runtime/models/execution-context.backend.schemas';
|
|
12
15
|
import type { ExternalProvidersRegistryBackendService } from '../../../../external-providers/services/external-providers-registry.backend.service';
|
|
13
16
|
/** Everything a remote call needs to leave the process: where, and as whom. */
|
|
17
|
+
import type { ProviderSigningCredentials } from '../../../../external-providers/operations/provider-request-signing.backend';
|
|
14
18
|
export interface HttpApiProviderAccess {
|
|
15
19
|
/** Absolute base URL, no trailing slash. */
|
|
16
20
|
baseUrl: string;
|
|
@@ -22,11 +26,37 @@ export interface HttpApiProviderAccess {
|
|
|
22
26
|
* credential — the target reads none from headers, and a secret should not travel a channel
|
|
23
27
|
* nobody consumes.
|
|
24
28
|
*/
|
|
29
|
+
/**
|
|
30
|
+
* Present when the provider signs each request (AWS SigV4, Azure shared key). When present,
|
|
31
|
+
* `headers` carries NO credential: the signature is computed by the caller from the fully
|
|
32
|
+
* compiled request, because it covers the bytes and anything added afterwards invalidates it.
|
|
33
|
+
*/
|
|
34
|
+
requestSigning?: {
|
|
35
|
+
declaration: ProviderRestRequestSigning;
|
|
36
|
+
credentials: ProviderSigningCredentials;
|
|
37
|
+
};
|
|
25
38
|
jsonRpcInArgsCredentials?: {
|
|
26
39
|
db: string;
|
|
27
40
|
login: string;
|
|
28
41
|
apiKey: string;
|
|
29
42
|
};
|
|
43
|
+
/**
|
|
44
|
+
* WHERE the credential came from, carried out so the caller can stamp the row it used.
|
|
45
|
+
*
|
|
46
|
+
* The store can record that a tenant's credential was accepted or rejected, and until this existed
|
|
47
|
+
* it could not be told: the resolver knew which row it opened and threw that away, so
|
|
48
|
+
* `validationState` stayed UNVALIDATED for every credential that had in fact just worked, and
|
|
49
|
+
* `lastUsedAt` never moved. An operator reading the screen saw a credential that might be dead.
|
|
50
|
+
*
|
|
51
|
+
* Absent for an APPLICATION-owned resolution, which has no row to stamp — inventing one for the
|
|
52
|
+
* deployment environment would create a credential the tenant never set.
|
|
53
|
+
*/
|
|
54
|
+
credentialProvenance?: {
|
|
55
|
+
source: ProviderCredentialResolutionSource;
|
|
56
|
+
credentialId?: string;
|
|
57
|
+
/** The secrets-contract slug the value satisfies — the row's third identity component. */
|
|
58
|
+
secretSlug: string;
|
|
59
|
+
};
|
|
30
60
|
}
|
|
31
61
|
/**
|
|
32
62
|
* Thrown when access CANNOT be resolved — always naming what is missing, because every branch
|
|
@@ -35,14 +65,44 @@ export interface HttpApiProviderAccess {
|
|
|
35
65
|
export declare class HttpApiProviderAccessError extends Error {
|
|
36
66
|
constructor(message: string);
|
|
37
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* May THIS execution act for THAT owner — the authorization half of a connection target.
|
|
70
|
+
*
|
|
71
|
+
* The call NAMES the owner and this decides whether it may. Supplying and authorizing are different
|
|
72
|
+
* jobs and must not be the same read: a resolver that took the owner from the execution context
|
|
73
|
+
* would be verifying a target it had itself invented, and could not express the case that forces
|
|
74
|
+
* the split — one user action pushing to every organization that user belongs to, where the target
|
|
75
|
+
* varies per call while the initiator does not.
|
|
76
|
+
*
|
|
77
|
+
* Membership, not current scope. The fan-out above runs with ONE ambient organization and legitimately
|
|
78
|
+
* spends several tenants' accounts, so an equality check against the initiator's own organization
|
|
79
|
+
* would refuse the very case this design exists to serve.
|
|
80
|
+
*/
|
|
81
|
+
export interface ConnectionTargetAuthorizationPort {
|
|
82
|
+
mayActFor(target: ExternalProvider_ConnectionTarget, executionContext: ExecutionContext<any>): Promise<boolean>;
|
|
83
|
+
}
|
|
38
84
|
export interface HttpApiProviderAccessResolver {
|
|
39
|
-
resolveAccess(
|
|
85
|
+
resolveAccess(providerRef: string, target: ExternalProvider_ConnectionTarget, executionContext: ExecutionContext<any>): Promise<HttpApiProviderAccess>;
|
|
86
|
+
/**
|
|
87
|
+
* One operation out of the provider's own `rest.operations` catalogue, for a binding whose read
|
|
88
|
+
* member is a REFERENCE rather than an inline spec (S3a, #331).
|
|
89
|
+
*
|
|
90
|
+
* On this port, and OPTIONAL, for two reasons that are both about not inventing a second
|
|
91
|
+
* authority. It is the same question about the same object: `resolveAccess` reads baseUrl and
|
|
92
|
+
* apiKey off the provider's `rest` runtime contract, and this reads `operations` off that same
|
|
93
|
+
* contract — a separate port would mean a second thing holding the registry and a second place
|
|
94
|
+
* to get provider resolution wrong. And it is optional so that every existing stub of this
|
|
95
|
+
* interface (unit harnesses, partial containers) keeps satisfying it; a binding that authors a
|
|
96
|
+
* reference against a resolver that does not implement it is refused BY NAME, which is a state
|
|
97
|
+
* an operator can act on, rather than by a `TypeError` three frames down.
|
|
98
|
+
*/
|
|
99
|
+
resolveProviderOperation?(providerRef: string, providerOperationId: string, domain?: string): Promise<ProviderRestOperation>;
|
|
40
100
|
}
|
|
41
101
|
/**
|
|
42
102
|
* The production resolver, over the provider registry.
|
|
43
103
|
*
|
|
44
|
-
* ##
|
|
45
|
-
* Resolves the provider's `kind:
|
|
104
|
+
* ## AN APPLICATION-OWNED CONNECTION
|
|
105
|
+
* Resolves the provider's `kind: ProviderProtocolRuntimeKind.REST` runtime contract
|
|
46
106
|
* (`getProviderRuntimeContract(providerRef, REST_API)`) for the base URL and the auth-header
|
|
47
107
|
* SHAPE, then the key VALUE through the secret machinery — `getProviderApiKey` (the provider
|
|
48
108
|
* configuration's `authConfig.secretRef`) first, falling back to the contract's own
|
|
@@ -50,17 +110,68 @@ export interface HttpApiProviderAccessResolver {
|
|
|
50
110
|
* secrets, shape from the contract, and the consumer branches on the CONTRACT field, never the
|
|
51
111
|
* provider ref.
|
|
52
112
|
*
|
|
53
|
-
* ##
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
113
|
+
* ## DELEGATED AND TENANT-OWNED CONNECTIONS
|
|
114
|
+
* This paragraph read "the engine has NO outbound per-user token persistence — `OAuth2_CredentialSchema`
|
|
115
|
+
* exists as a model with no resource, no store and no service behind it", measured 2026-08-27. That
|
|
116
|
+
* is retired (#333): the store exists, is bound, and serves the connection controller, so the
|
|
117
|
+
* refusal it justified is gone. A binding now declares WHOSE ACCOUNT it spends and on whose behalf
|
|
118
|
+
* (`ExternalProvider_ConnectionShape`), the call supplies which instance, and the two questions this
|
|
119
|
+
* resolver asks below — is the shape ADMISSIBLE for the provider, is this execution AUTHORIZED to
|
|
120
|
+
* act for that owner — are what decide it. Both still fail closed, and an unbound authorization port
|
|
121
|
+
* still refuses every non-application target.
|
|
60
122
|
*/
|
|
61
123
|
export declare class ExternalProvidersHttpApiAccessResolver implements HttpApiProviderAccessResolver {
|
|
62
124
|
private readonly externalProvidersRegistry;
|
|
63
|
-
|
|
64
|
-
|
|
125
|
+
/**
|
|
126
|
+
* Absent until the membership check is wired. Its absence REFUSES every non-application target
|
|
127
|
+
* rather than admitting one, so the gate cannot be opened by forgetting to bind something.
|
|
128
|
+
*/
|
|
129
|
+
private readonly targetAuthorization?;
|
|
130
|
+
constructor(externalProvidersRegistry: ExternalProvidersRegistryBackendService,
|
|
131
|
+
/**
|
|
132
|
+
* Absent until the membership check is wired. Its absence REFUSES every non-application target
|
|
133
|
+
* rather than admitting one, so the gate cannot be opened by forgetting to bind something.
|
|
134
|
+
*/
|
|
135
|
+
targetAuthorization?: ConnectionTargetAuthorizationPort);
|
|
136
|
+
/**
|
|
137
|
+
* Two questions, in this order, and both must be answered before a secret is read.
|
|
138
|
+
*
|
|
139
|
+
* ADMISSIBLE — does this provider admit this owner scope at all? A provider that has recorded no
|
|
140
|
+
* decision admits only the floor, so asking for a tenant-owned connection against it refuses,
|
|
141
|
+
* naming the record to author. That is the fail-closed direction: the alternative is a per-tenant
|
|
142
|
+
* call that quietly runs on the application's account.
|
|
143
|
+
*
|
|
144
|
+
* AUTHORIZED — may this execution act for that owner? Only for a non-application target: an
|
|
145
|
+
* application-owned connection has exactly one instance and the application IS the caller, so
|
|
146
|
+
* there is no second party whose account might be spent. Every other target needs the port, and
|
|
147
|
+
* an unbound port REFUSES — a gate that opens when a wiring step is forgotten is not a gate.
|
|
148
|
+
*/
|
|
149
|
+
private assertTargetIsAdmissibleAndAuthorized;
|
|
150
|
+
/**
|
|
151
|
+
* ONE place a provider secret is read, and it always names the target.
|
|
152
|
+
*
|
|
153
|
+
* Before this existed the guard admitted a tenant-owned target and the read below then went to the
|
|
154
|
+
* deployment environment anyway — the call succeeded, spending the application's account while the
|
|
155
|
+
* caller believed it acted as the tenant. That is the substitution the whole subsystem exists to
|
|
156
|
+
* remove, and it survived the guard because a guard and a read are different code.
|
|
157
|
+
*
|
|
158
|
+
* Returns `undefined` only where the ABSENCE is a diagnosable application-level state, so the rich
|
|
159
|
+
* refusals below (an OAuth2 provider whose token is minted rather than authored, a provider with no
|
|
160
|
+
* `authConfig`) can still say the useful thing. A tenant-owned target never reaches them: its own
|
|
161
|
+
* refusal already names the tenant and the credential it lacks.
|
|
162
|
+
*/
|
|
163
|
+
private readSecretForTarget;
|
|
164
|
+
resolveAccess(providerRef: string, target: ExternalProvider_ConnectionTarget, executionContext: ExecutionContext<any>): Promise<HttpApiProviderAccess>;
|
|
165
|
+
/**
|
|
166
|
+
* Resolve one operation out of the provider's catalogue, memoized per `(providerRef, domain)`.
|
|
167
|
+
*
|
|
168
|
+
* The PROMISE is cached rather than its value so two concurrent reads of the same binding share
|
|
169
|
+
* one load, and a FAILED load is evicted — a cached rejection would make one bad moment
|
|
170
|
+
* permanent for the process's whole life. Same discipline as the operation executor's cache,
|
|
171
|
+
* for the same reason; the two caches are separate because they live in different objects with
|
|
172
|
+
* different lifetimes, and sharing one would mean a third thing owning provider state.
|
|
173
|
+
*/
|
|
174
|
+
private readonly operationCatalogueCache;
|
|
175
|
+
resolveProviderOperation(providerRef: string, providerOperationId: string, domain?: string): Promise<ProviderRestOperation>;
|
|
65
176
|
}
|
|
66
177
|
//# sourceMappingURL=http-api-provider-access.backend.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-api-provider-access.backend.d.ts","sourceRoot":"","sources":["../../../../../../../src/base-classes/services/repositories/http-api/http-api-provider-access.backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"http-api-provider-access.backend.d.ts","sourceRoot":"","sources":["../../../../../../../src/base-classes/services/repositories/http-api/http-api-provider-access.backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,OAAO,KAAK,EAAE,iCAAiC,EAE9C,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,KAAK,EAAE,qBAAqB,EAAkC,MAAM,sCAAsC,CAAC;AAElH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qEAAqE,CAAC;AAC5G,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,4FAA4F,CAAC;AAE1J,+EAA+E;AAC/E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mFAAmF,CAAC;AAEpI,MAAM,WAAW,qBAAqB;IACpC,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC;;;;;OAKG;IACH;;;;OAIG;IACH,cAAc,CAAC,EAAE;QACf,WAAW,EAAE,0BAA0B,CAAC;QACxC,WAAW,EAAE,0BAA0B,CAAC;KACzC,CAAC;IACF,wBAAwB,CAAC,EAAE;QACzB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,EAAE;QACrB,MAAM,EAAE,kCAAkC,CAAC;QAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,0FAA0F;QAC1F,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iCAAiC;IAChD,SAAS,CACP,MAAM,EAAE,iCAAiC,EACzC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GACtC,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB;AAQD,MAAM,WAAW,6BAA6B;IAC5C,aAAa,CACX,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,iCAAiC,EACzC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GACtC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAElC;;;;;;;;;;;;OAYG;IACH,wBAAwB,CAAC,CACvB,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,EAC3B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,sCAAuC,YAAW,6BAA6B;IAExF,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBALpB,yBAAyB,EAAE,uCAAuC;IACnF;;;OAGG;IACc,mBAAmB,CAAC,EAAE,iCAAiC;IAG1E;;;;;;;;;;;;OAYG;YACW,qCAAqC;IAsDnD;;;;;;;;;;;;OAYG;YACW,mBAAmB;IA0B3B,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,iCAAiC,EACzC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GACtC,OAAO,CAAC,qBAAqB,CAAC;IAgIjC;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA8D;IAEzF,wBAAwB,CACnC,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,EAC3B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC;CAwDlC"}
|