@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
|
@@ -41,6 +41,40 @@ export declare const MCP_TOOL_NAME_MAX_LENGTH = 128;
|
|
|
41
41
|
* re-checked here: `buildResourceToolDescriptors` already de-dupes by name within a resource, and
|
|
42
42
|
* the `__`-in-resource-identifier guard keeps names from colliding across resources.
|
|
43
43
|
*/
|
|
44
|
+
/**
|
|
45
|
+
* The DERIVED upload-grant tool (issue #312, D11).
|
|
46
|
+
*
|
|
47
|
+
* For every exposed default CREATE / UPDATE operation whose request carries a user-uploadable file
|
|
48
|
+
* field, the catalogue also advertises `<resource>__<operation>.upload_grant.<fieldSegment>`, e.g.
|
|
49
|
+
* `todos__create.upload_grant.attachments`. Calling it mints a single-use upload grant for that field
|
|
50
|
+
* (see `FileUploadGrantBackendService`); it never carries bytes.
|
|
51
|
+
*
|
|
52
|
+
* ## Why dots
|
|
53
|
+
*
|
|
54
|
+
* `parseToolName` splits on the FIRST `__`, so everything after it is the "operation". Operation
|
|
55
|
+
* identifiers are snake_case and never contain `.`, while the naming guidance allows `.` — so a dotted
|
|
56
|
+
* suffix is unambiguous, cannot collide with an authored custom operation, and needs no second
|
|
57
|
+
* separator. Rejected: `_upload_grant_` (collides with a legitimately named custom operation, and
|
|
58
|
+
* refusing that operation would make the wrong party pay) and a standalone `files__…` tool taking the
|
|
59
|
+
* resource in its arguments (would have to re-implement the parent's exposure / instance / scope
|
|
60
|
+
* gating instead of inheriting it).
|
|
61
|
+
*
|
|
62
|
+
* The field segment is the SAME kebab-case segment the upload ROUTE uses (`…/files/<segment>`), so a
|
|
63
|
+
* tool name and its route agree by construction; resolution maps the segment back by recomputing it
|
|
64
|
+
* over the resource's uploadable fields rather than by inverting the transform.
|
|
65
|
+
*/
|
|
66
|
+
export declare const MCP_UPLOAD_GRANT_TOOL_MARKER = ".upload_grant.";
|
|
67
|
+
/** `<parentOperation>.upload_grant.<fieldSegment>` — the operation part of a derived tool name. */
|
|
68
|
+
export declare function buildUploadGrantToolOperationPart(parentOperationIdentifier: string, fieldRouteSegment: string): string;
|
|
69
|
+
/**
|
|
70
|
+
* Split the operation part of a derived tool name, or `undefined` when it is not one. Strict on shape:
|
|
71
|
+
* exactly one marker, a non-empty snake_case parent and a non-empty kebab-case segment — anything
|
|
72
|
+
* else is an ordinary (possibly custom) operation identifier and is left to the ordinary resolver.
|
|
73
|
+
*/
|
|
74
|
+
export declare function parseUploadGrantToolOperationPart(operationPart: string): {
|
|
75
|
+
parentOperationIdentifier: string;
|
|
76
|
+
fieldRouteSegment: string;
|
|
77
|
+
} | undefined;
|
|
44
78
|
export declare function isSpecConformantMcpToolName(name: string): boolean;
|
|
45
79
|
/**
|
|
46
80
|
* Agent-facing behavioural hints on a tool, mirroring the MCP `ToolAnnotations`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-tool.backend.schemas.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/models/mcp-tool.backend.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE3E;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAW5C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIjE;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oGAAoG;IACpG,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;IACb,kGAAkG;IAClG,WAAW,EAAE,MAAM,CAAC;IACpB,iGAAiG;IACjG,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;;OAIG;IACH,YAAY,EAAE,YAAY,CAAC;IAC3B,mEAAmE;IACnE,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACvC,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,MAAM,KACxB;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,kFAAkF;IAClF,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;IACjD;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAC;IACpD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
1
|
+
{"version":3,"file":"mcp-tool.backend.schemas.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/models/mcp-tool.backend.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE3E;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAW5C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,4BAA4B,mBAAmB,CAAC;AAE7D,mGAAmG;AACnG,wBAAgB,iCAAiC,CAAC,yBAAyB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAEtH;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,aAAa,EAAE,MAAM,GAAG;IAAE,yBAAyB,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAOrJ;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIjE;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oGAAoG;IACpG,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;IACb,kGAAkG;IAClG,WAAW,EAAE,MAAM,CAAC;IACpB,iGAAiG;IACjG,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;;OAIG;IACH,YAAY,EAAE,YAAY,CAAC;IAC3B,mEAAmE;IACnE,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACvC,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,MAAM,KACxB;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,kFAAkF;IAClF,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;IACjD;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAC;IACpD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -48,6 +48,48 @@ const MCP_TOOL_NAME_ALLOWED_CHARACTERS = /^[A-Za-z0-9_.-]+$/;
|
|
|
48
48
|
* re-checked here: `buildResourceToolDescriptors` already de-dupes by name within a resource, and
|
|
49
49
|
* the `__`-in-resource-identifier guard keeps names from colliding across resources.
|
|
50
50
|
*/
|
|
51
|
+
/**
|
|
52
|
+
* The DERIVED upload-grant tool (issue #312, D11).
|
|
53
|
+
*
|
|
54
|
+
* For every exposed default CREATE / UPDATE operation whose request carries a user-uploadable file
|
|
55
|
+
* field, the catalogue also advertises `<resource>__<operation>.upload_grant.<fieldSegment>`, e.g.
|
|
56
|
+
* `todos__create.upload_grant.attachments`. Calling it mints a single-use upload grant for that field
|
|
57
|
+
* (see `FileUploadGrantBackendService`); it never carries bytes.
|
|
58
|
+
*
|
|
59
|
+
* ## Why dots
|
|
60
|
+
*
|
|
61
|
+
* `parseToolName` splits on the FIRST `__`, so everything after it is the "operation". Operation
|
|
62
|
+
* identifiers are snake_case and never contain `.`, while the naming guidance allows `.` — so a dotted
|
|
63
|
+
* suffix is unambiguous, cannot collide with an authored custom operation, and needs no second
|
|
64
|
+
* separator. Rejected: `_upload_grant_` (collides with a legitimately named custom operation, and
|
|
65
|
+
* refusing that operation would make the wrong party pay) and a standalone `files__…` tool taking the
|
|
66
|
+
* resource in its arguments (would have to re-implement the parent's exposure / instance / scope
|
|
67
|
+
* gating instead of inheriting it).
|
|
68
|
+
*
|
|
69
|
+
* The field segment is the SAME kebab-case segment the upload ROUTE uses (`…/files/<segment>`), so a
|
|
70
|
+
* tool name and its route agree by construction; resolution maps the segment back by recomputing it
|
|
71
|
+
* over the resource's uploadable fields rather than by inverting the transform.
|
|
72
|
+
*/
|
|
73
|
+
export const MCP_UPLOAD_GRANT_TOOL_MARKER = '.upload_grant.';
|
|
74
|
+
/** `<parentOperation>.upload_grant.<fieldSegment>` — the operation part of a derived tool name. */
|
|
75
|
+
export function buildUploadGrantToolOperationPart(parentOperationIdentifier, fieldRouteSegment) {
|
|
76
|
+
return `${parentOperationIdentifier}${MCP_UPLOAD_GRANT_TOOL_MARKER}${fieldRouteSegment}`;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Split the operation part of a derived tool name, or `undefined` when it is not one. Strict on shape:
|
|
80
|
+
* exactly one marker, a non-empty snake_case parent and a non-empty kebab-case segment — anything
|
|
81
|
+
* else is an ordinary (possibly custom) operation identifier and is left to the ordinary resolver.
|
|
82
|
+
*/
|
|
83
|
+
export function parseUploadGrantToolOperationPart(operationPart) {
|
|
84
|
+
const at = operationPart.indexOf(MCP_UPLOAD_GRANT_TOOL_MARKER);
|
|
85
|
+
if (at <= 0)
|
|
86
|
+
return undefined;
|
|
87
|
+
const parentOperationIdentifier = operationPart.slice(0, at);
|
|
88
|
+
const fieldRouteSegment = operationPart.slice(at + MCP_UPLOAD_GRANT_TOOL_MARKER.length);
|
|
89
|
+
if (!/^[a-z0-9_]+$/.test(parentOperationIdentifier) || !/^[a-z0-9-]+$/.test(fieldRouteSegment))
|
|
90
|
+
return undefined;
|
|
91
|
+
return { parentOperationIdentifier, fieldRouteSegment };
|
|
92
|
+
}
|
|
51
93
|
export function isSpecConformantMcpToolName(name) {
|
|
52
94
|
return name.length > 0
|
|
53
95
|
&& name.length <= MCP_TOOL_NAME_MAX_LENGTH
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-tool.backend.schemas.js","sourceRoot":"","sources":["../../../../../src/mcp/models/mcp-tool.backend.schemas.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,gCAAgC,GAAG,mBAAmB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAY;IACtD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC;WACjB,IAAI,CAAC,MAAM,IAAI,wBAAwB;WACvC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC","sourcesContent":["import { ResourceType, ResourcePrimaryScope } from '@wildo-ai/saas-models';\n\n/**\n * Tool-name separator between the resource identifier and the operation\n * identifier: `<resourceIdentifier>__<operationIdentifier>` (e.g. `todos__create`).\n *\n * A DOUBLE underscore is used deliberately: resource identifiers themselves can\n * contain single underscores (`organization_members`), so a single-underscore\n * separator would be ambiguous. The double underscore is the first-slice identity\n * scheme; a `variantKey` suffix (`<resource>__<operation>__<variantKey>`) is a\n * follow-up once non-default variants are exposed (see the MCP child plan).\n */\nexport const MCP_TOOL_NAME_SEPARATOR = '__';\n\n/**\n * Upper bound on a tool name, from the naming guidance `2025-11-25` added (SEP-986).\n *\n * \"Tool names SHOULD be between 1 and 128 characters in length (inclusive).\"\n * spec-cite: MCP 2025-11-25 — Tools § Data Types → Tool Names\n */\nexport const MCP_TOOL_NAME_MAX_LENGTH = 128;\n\n/**\n * The character set the same section allows.\n *\n * \"The following SHOULD be the only allowed characters: uppercase and lowercase ASCII letters (A-Z,\n * a-z), digits (0-9), underscore (_), hyphen (-), and dot (.)\"\n * spec-cite: MCP 2025-11-25 — Tools § Data Types → Tool Names\n */\nconst MCP_TOOL_NAME_ALLOWED_CHARACTERS = /^[A-Za-z0-9_.-]+$/;\n\n/**\n * Does this tool name satisfy the `2025-11-25` naming guidance?\n *\n * # Why a server-side gate for a SHOULD\n *\n * A tool name here is `<resourceIdentifier>__<operationIdentifier>`, and BOTH halves are authored by\n * the application, not by the engine. Nothing else constrains them: a resource identifier is a\n * TypeScript string and a custom operation identifier is whatever its author typed. So the guidance\n * binds an app developer who has never read it, through a name they did not know they were composing.\n *\n * The failure it prevents is not local. A name is not rejected by the tool that carries it — it is\n * carried inside a `tools/list` RESULT, so a client strict about the guidance can reject the whole\n * CATALOGUE, and every other tool in the application disappears with it. Refusing the one bad\n * descriptor is therefore the smaller failure by a wide margin, and it names the offender in a log\n * line instead of leaving an app developer to explain why one client sees no tools at all.\n *\n * Measured before choosing fail-closed: every tool name this repository actually produces matches\n * `[A-Za-z0-9_]+__[A-Za-z0-9_]+` (todos__create, user_preferences__read, todos__recent_todos, …), so\n * the gate withdraws nothing that exists today. It is a guard against a future name, not a migration.\n *\n * Uniqueness — the fourth SHOULD in that section — is enforced elsewhere and deliberately not\n * re-checked here: `buildResourceToolDescriptors` already de-dupes by name within a resource, and\n * the `__`-in-resource-identifier guard keeps names from colliding across resources.\n */\nexport function isSpecConformantMcpToolName(name: string): boolean {\n return name.length > 0\n && name.length <= MCP_TOOL_NAME_MAX_LENGTH\n && MCP_TOOL_NAME_ALLOWED_CHARACTERS.test(name);\n}\n\n/**\n * Agent-facing behavioural hints on a tool, mirroring the MCP `ToolAnnotations`\n * shape. Advisory only — they never affect authorization (which is always\n * re-checked at `callTool` time). Derived from the operation's core identifier +\n * `riskLevel`.\n */\nexport interface McpToolAnnotations {\n /** Human-readable title for display surfaces. */\n title?: string;\n /** True when the operation only reads (READ/LIST/SEARCH/COUNT). */\n readOnlyHint?: boolean;\n /** True when the operation may destroy/irreversibly mutate data (DELETE, or HIGH/CRITICAL risk). */\n destructiveHint?: boolean;\n /**\n * True when repeating the call with the same arguments has no ADDITIONAL effect.\n *\n * \"(This property is meaningful only when `readOnlyHint == false`)\" and its default is `false`, so\n * it is emitted ONLY for write operations — advertising it on a read tool would state something\n * the specification defines as meaningless there.\n * spec-cite: MCP schema — `ToolAnnotations.idempotentHint`\n */\n idempotentHint?: boolean;\n /**\n * True when the tool may reach an \"open world\" of external entities.\n *\n * **Its default is `true`**, which is why omitting it was not neutral: every tool this server\n * exposed was advertised as potentially reaching arbitrary external systems. A Wildo tool operates\n * on this application's OWN resources through its own authorization — a closed domain — so the\n * honest value is `false`, and it is the difference between an agent treating a tool call as a\n * local state change and treating it as a call out to the internet.\n * spec-cite: MCP schema — `ToolAnnotations.openWorldHint` (\"If false, the tool's domain of\n * interaction is closed. For example, the world of a web search tool is open, whereas that of a\n * memory tool is not.\")\n */\n openWorldHint?: boolean;\n}\n\n/**\n * A single MCP tool descriptor as returned by `tools/list`. `inputSchema` is a\n * JSON Schema object derived from the operation `requestDto`.\n */\nexport interface McpToolDescriptor {\n /** `<resourceIdentifier>__<operationIdentifier>` — unique per exposed default operation. */\n name: string;\n /** Agent-facing prose. Spec-sourced when a description provider is supplied, else synthesized. */\n description: string;\n /** JSON Schema object for the tool arguments (empty-object schema when the op takes no body). */\n inputSchema: Record<string, unknown>;\n /** Advisory behavioural hints (read-only / destructive). */\n annotations?: McpToolAnnotations;\n /**\n * The resource type this tool maps to — retained so `callTool` can re-resolve\n * the operation without re-parsing the name. NOT part of the wire `tools/list`\n * payload (strip before serialising if a transport is added).\n */\n resourceType: ResourceType;\n /** The operation identifier this tool maps to (core or custom). */\n operationIdentifier: string;\n}\n\n/**\n * Resolves agent-facing description prose for one operation.\n *\n * # Why this is INJECTED rather than read from the spec layer directly\n *\n * The MCP child plan says tool descriptions source from the SPEC layer\n * (`ResourceOperationSpecification.purpose` / `whenToUse`). But\n * `@wildo-ai/saas-specifications` is DOWNSTREAM of `saas-backend-lib` in the\n * engine dependency graph — the backend cannot import specs without inverting the\n * layering. So the adapter accepts this provider and the caller (the app /\n * companion, which DOES have spec access) supplies spec-sourced prose. When no\n * provider is given, the adapter synthesizes a description from the operation's\n * own config metadata.\n *\n * The D4 config-local description field (`operation.mcp.description`, a dedicated\n * agent-facing slot on the operation config) has SHIPPED, and the adapter reads it\n * directly with top priority (see `McpToolAdapterBackendService.resolveDescription`).\n * This provider is therefore optional enrichment, consulted only when no authored\n * `mcp.description` is present.\n *\n * @returns the spec prose for the operation, or `undefined` to fall back to synthesis.\n */\nexport type McpToolDescriptionProvider = (\n resourceType: ResourceType,\n operationIdentifier: string,\n) => { purpose?: string; whenToUse?: string } | undefined;\n\n/**\n * Options for building the exposed tool descriptor set.\n */\nexport interface McpToolAdapterBuildOptions {\n /**\n * Optional narrowing allow-list of resource types to enumerate. When omitted,\n * ALL registered ORGANIZATION/APPLICATION-scoped resources are considered.\n *\n * This is a coarse convenience filter, NOT the exposure gate: exposure is\n * already fail-closed per-operation via `operation.mcp.exposed === true` (D4,\n * shipped), so the default (no allow-list) never over-exposes — only operations\n * that explicitly opt in become tools. Pass this only to further restrict the set.\n */\n resourceTypes?: ResourceType[];\n /** Spec-sourced description provider (see {@link McpToolDescriptionProvider}). */\n descriptionProvider?: McpToolDescriptionProvider;\n /**\n * The resource primary scopes the CALLER can reach (progressive principal-awareness). Omit → the\n * default machine-reachable set (ORG / APP), which is the MACHINE principal's set. An ANONYMOUS\n * caller is NOT a machine and reaches nothing; the transport challenges it rather than listing.\n * A user-delegated caller passes the delegated set (adds `USER_SELF`) so their USER_SELF tools are\n * advertised. Derived from the SAME source `callTool`'s exposability gate uses\n * (`mcpReachableScopesForPrincipal`), so advertise ≡ callable per principal.\n */\n reachableScopes?: ReadonlySet<ResourcePrimaryScope>;\n /**\n * The NAMED MCP server instance being served (R-2), or omitted for the DEFAULT `/mcp` server.\n * Filters the catalog to the operations that belong to that instance (`operation.mcp.servers`),\n * composed with the scope + opt-in filters. Membership is exclusive: an operation with no declared\n * `servers` appears ONLY on the default server, and one with declared servers ONLY on those.\n */\n instanceRef?: string;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"mcp-tool.backend.schemas.js","sourceRoot":"","sources":["../../../../../src/mcp/models/mcp-tool.backend.schemas.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,gCAAgC,GAAG,mBAAmB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,gBAAgB,CAAC;AAE7D,mGAAmG;AACnG,MAAM,UAAU,iCAAiC,CAAC,yBAAiC,EAAE,iBAAyB;IAC5G,OAAO,GAAG,yBAAyB,GAAG,4BAA4B,GAAG,iBAAiB,EAAE,CAAC;AAC3F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAAC,aAAqB;IACrE,MAAM,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC/D,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,yBAAyB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,iBAAiB,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACxF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAAE,OAAO,SAAS,CAAC;IACjH,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAY;IACtD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC;WACjB,IAAI,CAAC,MAAM,IAAI,wBAAwB;WACvC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC","sourcesContent":["import { ResourceType, ResourcePrimaryScope } from '@wildo-ai/saas-models';\n\n/**\n * Tool-name separator between the resource identifier and the operation\n * identifier: `<resourceIdentifier>__<operationIdentifier>` (e.g. `todos__create`).\n *\n * A DOUBLE underscore is used deliberately: resource identifiers themselves can\n * contain single underscores (`organization_members`), so a single-underscore\n * separator would be ambiguous. The double underscore is the first-slice identity\n * scheme; a `variantKey` suffix (`<resource>__<operation>__<variantKey>`) is a\n * follow-up once non-default variants are exposed (see the MCP child plan).\n */\nexport const MCP_TOOL_NAME_SEPARATOR = '__';\n\n/**\n * Upper bound on a tool name, from the naming guidance `2025-11-25` added (SEP-986).\n *\n * \"Tool names SHOULD be between 1 and 128 characters in length (inclusive).\"\n * spec-cite: MCP 2025-11-25 — Tools § Data Types → Tool Names\n */\nexport const MCP_TOOL_NAME_MAX_LENGTH = 128;\n\n/**\n * The character set the same section allows.\n *\n * \"The following SHOULD be the only allowed characters: uppercase and lowercase ASCII letters (A-Z,\n * a-z), digits (0-9), underscore (_), hyphen (-), and dot (.)\"\n * spec-cite: MCP 2025-11-25 — Tools § Data Types → Tool Names\n */\nconst MCP_TOOL_NAME_ALLOWED_CHARACTERS = /^[A-Za-z0-9_.-]+$/;\n\n/**\n * Does this tool name satisfy the `2025-11-25` naming guidance?\n *\n * # Why a server-side gate for a SHOULD\n *\n * A tool name here is `<resourceIdentifier>__<operationIdentifier>`, and BOTH halves are authored by\n * the application, not by the engine. Nothing else constrains them: a resource identifier is a\n * TypeScript string and a custom operation identifier is whatever its author typed. So the guidance\n * binds an app developer who has never read it, through a name they did not know they were composing.\n *\n * The failure it prevents is not local. A name is not rejected by the tool that carries it — it is\n * carried inside a `tools/list` RESULT, so a client strict about the guidance can reject the whole\n * CATALOGUE, and every other tool in the application disappears with it. Refusing the one bad\n * descriptor is therefore the smaller failure by a wide margin, and it names the offender in a log\n * line instead of leaving an app developer to explain why one client sees no tools at all.\n *\n * Measured before choosing fail-closed: every tool name this repository actually produces matches\n * `[A-Za-z0-9_]+__[A-Za-z0-9_]+` (todos__create, user_preferences__read, todos__recent_todos, …), so\n * the gate withdraws nothing that exists today. It is a guard against a future name, not a migration.\n *\n * Uniqueness — the fourth SHOULD in that section — is enforced elsewhere and deliberately not\n * re-checked here: `buildResourceToolDescriptors` already de-dupes by name within a resource, and\n * the `__`-in-resource-identifier guard keeps names from colliding across resources.\n */\n/**\n * The DERIVED upload-grant tool (issue #312, D11).\n *\n * For every exposed default CREATE / UPDATE operation whose request carries a user-uploadable file\n * field, the catalogue also advertises `<resource>__<operation>.upload_grant.<fieldSegment>`, e.g.\n * `todos__create.upload_grant.attachments`. Calling it mints a single-use upload grant for that field\n * (see `FileUploadGrantBackendService`); it never carries bytes.\n *\n * ## Why dots\n *\n * `parseToolName` splits on the FIRST `__`, so everything after it is the \"operation\". Operation\n * identifiers are snake_case and never contain `.`, while the naming guidance allows `.` — so a dotted\n * suffix is unambiguous, cannot collide with an authored custom operation, and needs no second\n * separator. Rejected: `_upload_grant_` (collides with a legitimately named custom operation, and\n * refusing that operation would make the wrong party pay) and a standalone `files__…` tool taking the\n * resource in its arguments (would have to re-implement the parent's exposure / instance / scope\n * gating instead of inheriting it).\n *\n * The field segment is the SAME kebab-case segment the upload ROUTE uses (`…/files/<segment>`), so a\n * tool name and its route agree by construction; resolution maps the segment back by recomputing it\n * over the resource's uploadable fields rather than by inverting the transform.\n */\nexport const MCP_UPLOAD_GRANT_TOOL_MARKER = '.upload_grant.';\n\n/** `<parentOperation>.upload_grant.<fieldSegment>` — the operation part of a derived tool name. */\nexport function buildUploadGrantToolOperationPart(parentOperationIdentifier: string, fieldRouteSegment: string): string {\n return `${parentOperationIdentifier}${MCP_UPLOAD_GRANT_TOOL_MARKER}${fieldRouteSegment}`;\n}\n\n/**\n * Split the operation part of a derived tool name, or `undefined` when it is not one. Strict on shape:\n * exactly one marker, a non-empty snake_case parent and a non-empty kebab-case segment — anything\n * else is an ordinary (possibly custom) operation identifier and is left to the ordinary resolver.\n */\nexport function parseUploadGrantToolOperationPart(operationPart: string): { parentOperationIdentifier: string; fieldRouteSegment: string } | undefined {\n const at = operationPart.indexOf(MCP_UPLOAD_GRANT_TOOL_MARKER);\n if (at <= 0) return undefined;\n const parentOperationIdentifier = operationPart.slice(0, at);\n const fieldRouteSegment = operationPart.slice(at + MCP_UPLOAD_GRANT_TOOL_MARKER.length);\n if (!/^[a-z0-9_]+$/.test(parentOperationIdentifier) || !/^[a-z0-9-]+$/.test(fieldRouteSegment)) return undefined;\n return { parentOperationIdentifier, fieldRouteSegment };\n}\n\nexport function isSpecConformantMcpToolName(name: string): boolean {\n return name.length > 0\n && name.length <= MCP_TOOL_NAME_MAX_LENGTH\n && MCP_TOOL_NAME_ALLOWED_CHARACTERS.test(name);\n}\n\n/**\n * Agent-facing behavioural hints on a tool, mirroring the MCP `ToolAnnotations`\n * shape. Advisory only — they never affect authorization (which is always\n * re-checked at `callTool` time). Derived from the operation's core identifier +\n * `riskLevel`.\n */\nexport interface McpToolAnnotations {\n /** Human-readable title for display surfaces. */\n title?: string;\n /** True when the operation only reads (READ/LIST/SEARCH/COUNT). */\n readOnlyHint?: boolean;\n /** True when the operation may destroy/irreversibly mutate data (DELETE, or HIGH/CRITICAL risk). */\n destructiveHint?: boolean;\n /**\n * True when repeating the call with the same arguments has no ADDITIONAL effect.\n *\n * \"(This property is meaningful only when `readOnlyHint == false`)\" and its default is `false`, so\n * it is emitted ONLY for write operations — advertising it on a read tool would state something\n * the specification defines as meaningless there.\n * spec-cite: MCP schema — `ToolAnnotations.idempotentHint`\n */\n idempotentHint?: boolean;\n /**\n * True when the tool may reach an \"open world\" of external entities.\n *\n * **Its default is `true`**, which is why omitting it was not neutral: every tool this server\n * exposed was advertised as potentially reaching arbitrary external systems. A Wildo tool operates\n * on this application's OWN resources through its own authorization — a closed domain — so the\n * honest value is `false`, and it is the difference between an agent treating a tool call as a\n * local state change and treating it as a call out to the internet.\n * spec-cite: MCP schema — `ToolAnnotations.openWorldHint` (\"If false, the tool's domain of\n * interaction is closed. For example, the world of a web search tool is open, whereas that of a\n * memory tool is not.\")\n */\n openWorldHint?: boolean;\n}\n\n/**\n * A single MCP tool descriptor as returned by `tools/list`. `inputSchema` is a\n * JSON Schema object derived from the operation `requestDto`.\n */\nexport interface McpToolDescriptor {\n /** `<resourceIdentifier>__<operationIdentifier>` — unique per exposed default operation. */\n name: string;\n /** Agent-facing prose. Spec-sourced when a description provider is supplied, else synthesized. */\n description: string;\n /** JSON Schema object for the tool arguments (empty-object schema when the op takes no body). */\n inputSchema: Record<string, unknown>;\n /** Advisory behavioural hints (read-only / destructive). */\n annotations?: McpToolAnnotations;\n /**\n * The resource type this tool maps to — retained so `callTool` can re-resolve\n * the operation without re-parsing the name. NOT part of the wire `tools/list`\n * payload (strip before serialising if a transport is added).\n */\n resourceType: ResourceType;\n /** The operation identifier this tool maps to (core or custom). */\n operationIdentifier: string;\n}\n\n/**\n * Resolves agent-facing description prose for one operation.\n *\n * # Why this is INJECTED rather than read from the spec layer directly\n *\n * The MCP child plan says tool descriptions source from the SPEC layer\n * (`ResourceOperationSpecification.purpose` / `whenToUse`). But\n * `@wildo-ai/saas-specifications` is DOWNSTREAM of `saas-backend-lib` in the\n * engine dependency graph — the backend cannot import specs without inverting the\n * layering. So the adapter accepts this provider and the caller (the app /\n * companion, which DOES have spec access) supplies spec-sourced prose. When no\n * provider is given, the adapter synthesizes a description from the operation's\n * own config metadata.\n *\n * The D4 config-local description field (`operation.mcp.description`, a dedicated\n * agent-facing slot on the operation config) has SHIPPED, and the adapter reads it\n * directly with top priority (see `McpToolAdapterBackendService.resolveDescription`).\n * This provider is therefore optional enrichment, consulted only when no authored\n * `mcp.description` is present.\n *\n * @returns the spec prose for the operation, or `undefined` to fall back to synthesis.\n */\nexport type McpToolDescriptionProvider = (\n resourceType: ResourceType,\n operationIdentifier: string,\n) => { purpose?: string; whenToUse?: string } | undefined;\n\n/**\n * Options for building the exposed tool descriptor set.\n */\nexport interface McpToolAdapterBuildOptions {\n /**\n * Optional narrowing allow-list of resource types to enumerate. When omitted,\n * ALL registered ORGANIZATION/APPLICATION-scoped resources are considered.\n *\n * This is a coarse convenience filter, NOT the exposure gate: exposure is\n * already fail-closed per-operation via `operation.mcp.exposed === true` (D4,\n * shipped), so the default (no allow-list) never over-exposes — only operations\n * that explicitly opt in become tools. Pass this only to further restrict the set.\n */\n resourceTypes?: ResourceType[];\n /** Spec-sourced description provider (see {@link McpToolDescriptionProvider}). */\n descriptionProvider?: McpToolDescriptionProvider;\n /**\n * The resource primary scopes the CALLER can reach (progressive principal-awareness). Omit → the\n * default machine-reachable set (ORG / APP), which is the MACHINE principal's set. An ANONYMOUS\n * caller is NOT a machine and reaches nothing; the transport challenges it rather than listing.\n * A user-delegated caller passes the delegated set (adds `USER_SELF`) so their USER_SELF tools are\n * advertised. Derived from the SAME source `callTool`'s exposability gate uses\n * (`mcpReachableScopesForPrincipal`), so advertise ≡ callable per principal.\n */\n reachableScopes?: ReadonlySet<ResourcePrimaryScope>;\n /**\n * The NAMED MCP server instance being served (R-2), or omitted for the DEFAULT `/mcp` server.\n * Filters the catalog to the operations that belong to that instance (`operation.mcp.servers`),\n * composed with the scope + opt-in filters. Membership is exclusive: an operation with no declared\n * `servers` appears ONLY on the default server, and one with declared servers ONLY on those.\n */\n instanceRef?: string;\n}\n"]}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import { FileUploadGrantBackendService } from '../../files/services/file-upload-grant.backend.service';
|
|
2
|
+
import { AppConfigurationService } from '../../config/services/app-configuration.backend.service';
|
|
1
3
|
import type { LoggerService } from '../../monitoring/logger/services/logger.service';
|
|
2
4
|
import { ErrorBuilderBackendService } from '../../errors/services/error-builder.backend.service';
|
|
3
5
|
import { ExecutionContext } from '../../runtime/models/execution-context.backend.schemas';
|
|
4
6
|
import { AuthorizationsBackendService } from '../../security/authorizations/services/authorizations.backend.service';
|
|
5
7
|
import { ServicesRegistryHandlerBackendService } from '../../base-classes/services/services/services-registry-handler.backend.service';
|
|
6
8
|
import { ResourcesRegistryBackendService } from '../../resources/services/resources-registry.backend.service';
|
|
9
|
+
import { RateLimitBackendService } from '../../errors/services/rate-limit.backend.service';
|
|
7
10
|
import { McpToolAdapterBackendService } from '../../mcp/services/mcp-tool-adapter.backend.service';
|
|
8
11
|
import { McpToolDescriptor, McpToolAdapterBuildOptions } from '../../mcp/models/mcp-tool.backend.schemas';
|
|
9
12
|
/**
|
|
@@ -42,8 +45,11 @@ export declare class McpServerBackendService {
|
|
|
42
45
|
protected readonly authorizer: AuthorizationsBackendService;
|
|
43
46
|
protected readonly servicesHandler: ServicesRegistryHandlerBackendService;
|
|
44
47
|
protected readonly resourcesRegistry: ResourcesRegistryBackendService;
|
|
48
|
+
protected readonly fileUploadGrantService: FileUploadGrantBackendService;
|
|
49
|
+
protected readonly appConfigService: AppConfigurationService;
|
|
50
|
+
protected readonly rateLimitService: RateLimitBackendService;
|
|
45
51
|
protected logDebug: (message: string, context?: Record<string, unknown>) => void;
|
|
46
|
-
constructor(logger: LoggerService, errorBuilder: ErrorBuilderBackendService, toolAdapter: McpToolAdapterBackendService, authorizer: AuthorizationsBackendService, servicesHandler: ServicesRegistryHandlerBackendService, resourcesRegistry: ResourcesRegistryBackendService);
|
|
52
|
+
constructor(logger: LoggerService, errorBuilder: ErrorBuilderBackendService, toolAdapter: McpToolAdapterBackendService, authorizer: AuthorizationsBackendService, servicesHandler: ServicesRegistryHandlerBackendService, resourcesRegistry: ResourcesRegistryBackendService, fileUploadGrantService: FileUploadGrantBackendService, appConfigService: AppConfigurationService, rateLimitService: RateLimitBackendService);
|
|
47
53
|
/**
|
|
48
54
|
* Return the exposed tool descriptors for the caller's reachable scopes (`options.reachableScopes`).
|
|
49
55
|
* PROGRESSIVE principal-awareness (C): a caller presenting a valid Bearer bound to this endpoint
|
|
@@ -65,6 +71,83 @@ export declare class McpServerBackendService {
|
|
|
65
71
|
* @throws NOT_FOUND when the tool name does not map to an exposable operation.
|
|
66
72
|
*/
|
|
67
73
|
callTool(toolName: string, args: unknown, executionContext: ExecutionContext<any>, options?: McpCallToolOptions): Promise<McpCallToolResult>;
|
|
74
|
+
/**
|
|
75
|
+
* Enforce the resolved operation's OWN `rateLimit?` policy on the tool plane.
|
|
76
|
+
*
|
|
77
|
+
* ## What was broken
|
|
78
|
+
*
|
|
79
|
+
* `rateLimit?` is authored on an `API_CALL` / `API_CALL_WITH_CALLBACK` variant and was enforced
|
|
80
|
+
* by exactly one consumer — `RateLimitBackendService.checkPolicyForVariant`, called from the
|
|
81
|
+
* resource controller's HTTP pre-flight. `callTool` dispatches the SAME operation through the
|
|
82
|
+
* SAME service pipeline while bypassing Express entirely, so the identical operation was
|
|
83
|
+
* throttled over REST and unthrottled as a tool. An application that declared a budget on an
|
|
84
|
+
* endpoint got one; an agent asked for the same endpoint by its tool name and got none.
|
|
85
|
+
*
|
|
86
|
+
* ## Subject: the CREDENTIAL, not the IP and not the tenant
|
|
87
|
+
*
|
|
88
|
+
* See {@link resolveDeclaredPolicySubjectKey} for the full argument. In short: the HTTP seam
|
|
89
|
+
* keys on the source IP because at its pre-flight moment no identity exists yet, so `5/min` has
|
|
90
|
+
* always meant "5/min per CLIENT". On this plane the client is the credential the agent
|
|
91
|
+
* presented — a server-verified field of the execution context, never anything the model
|
|
92
|
+
* supplied. Keying on the tenant instead would make the same authored number several times
|
|
93
|
+
* stricter here than over REST for any tenant running more than one agent.
|
|
94
|
+
*
|
|
95
|
+
* ## Scope: a SEPARATE bucket from the REST route, deliberately
|
|
96
|
+
*
|
|
97
|
+
* The key is namespaced `mcp:resource:<resource>:<operation>` rather than sharing the HTTP
|
|
98
|
+
* seam's `resource:<resource>:<operation>`. Sharing would be incoherent — the two seams count
|
|
99
|
+
* different SUBJECTS (an IP and a credential), so one bucket would mix two identity spaces and
|
|
100
|
+
* let a browser's traffic spend an agent's budget. Per-plane-per-client is the faithful
|
|
101
|
+
* extension of a policy that was already per-client rather than a global cap.
|
|
102
|
+
*
|
|
103
|
+
* ## Not applied to the derived upload-grant tool
|
|
104
|
+
*
|
|
105
|
+
* `callUploadGrantTool` MINTS a grant; it does not dispatch the parent operation. Charging the
|
|
106
|
+
* parent's budget there would spend two slots for one upload (mint + the upload itself, which
|
|
107
|
+
* traverses the real HTTP route and meets `checkPolicyForVariant`) while a REST client spends
|
|
108
|
+
* one — the declared number would mean something different depending on how the caller got the
|
|
109
|
+
* URL. It is left uncharged for that reason, not by omission.
|
|
110
|
+
*
|
|
111
|
+
* ## Postures
|
|
112
|
+
*
|
|
113
|
+
* - **No declared policy, or a non-HTTP variant** → no-op, zero Redis traffic. Mirrors
|
|
114
|
+
* `checkPolicyForVariant`'s two early returns exactly; the variant guard is defensive, since
|
|
115
|
+
* `resolveExposableOperation` only ever yields a URL-bearing default.
|
|
116
|
+
* - **Unkeyable subject** → not enforced, logged. Structurally unreachable: `callTool` is only
|
|
117
|
+
* reached post-authentication, and `ExecutionContext`'s own constructor rejects an
|
|
118
|
+
* authenticated principal carrying no identity field. It is not "unbounded" either — the
|
|
119
|
+
* transport's blanket per-principal cap is the backstop, and it declines on exactly the same
|
|
120
|
+
* input. Refusing a well-formed call here instead would invent an outage out of a branch that
|
|
121
|
+
* cannot happen.
|
|
122
|
+
* - **Limiter outage** → propagates, as it does over HTTP for the same declared policy. An
|
|
123
|
+
* authored budget must not quietly become "unlimited" on one plane while it is a 500 on the
|
|
124
|
+
* other.
|
|
125
|
+
*/
|
|
126
|
+
private assertOperationRateLimitPolicy;
|
|
127
|
+
/**
|
|
128
|
+
* Execute a derived upload-grant tool (issue #312, D11).
|
|
129
|
+
*
|
|
130
|
+
* Authorization is the PARENT's: the caller's context is bound to the parent operation and
|
|
131
|
+
* `authorizeInController` runs on it with the same `resourceId` the parent would take — so minting
|
|
132
|
+
* requires exactly the authority uploading would, which is the invariant the REST door gets from
|
|
133
|
+
* sharing the upload middleware. The upload URL is built from the parent's own route pattern with
|
|
134
|
+
* the parameters the context and the call supply, and the API origin comes from CONFIGURATION,
|
|
135
|
+
* never from a request header.
|
|
136
|
+
*/
|
|
137
|
+
private callUploadGrantTool;
|
|
138
|
+
/** The tool arguments minus the resource's own id, which the transport already split out into `options.resourceId`. */
|
|
139
|
+
private withoutInstanceId;
|
|
140
|
+
/**
|
|
141
|
+
* The concrete upload-route PATH (mount prefix included) for one file field of the parent
|
|
142
|
+
* operation, from the parent's own route patterns — the same builder the resource controller used
|
|
143
|
+
* to REGISTER the route, so the grant's `uploadUrl` is a route that exists.
|
|
144
|
+
*
|
|
145
|
+
* A parent can carry several patterns (one per parent-resource combination); the one chosen is the
|
|
146
|
+
* first whose every `{param}` the call can supply: the resource's own id from `resourceId`, and scope
|
|
147
|
+
* / parent ids from the context's `initiatorIds`. Patterns are tried shortest first, so the
|
|
148
|
+
* primary-scope form wins over a nested FK form the MCP call cannot address anyway.
|
|
149
|
+
*/
|
|
150
|
+
private resolveUploadRoutePath;
|
|
68
151
|
/**
|
|
69
152
|
* Split `<resourceIdentifier>__<operationIdentifier>` on the FIRST double
|
|
70
153
|
* underscore. Resource identifiers use single underscores only, so the first
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.backend.service.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/services/mcp-server.backend.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp-server.backend.service.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/services/mcp-server.backend.service.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,6BAA6B,EAAE,MAAM,qEAAqE,CAAC;AACpH,OAAO,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AAE/G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAClG,OAAO,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAE,MAAM,qEAAqE,CAAC;AACvG,OAAO,EAAE,4BAA4B,EAAE,MAAM,oFAAoF,CAAC;AAClI,OAAO,EAAE,qCAAqC,EAAE,MAAM,6FAA6F,CAAC;AAGpJ,OAAO,EAAE,+BAA+B,EAAE,MAAM,0EAA0E,CAAC;AAC3H,OAAO,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;AAExG,OAAO,EACL,4BAA4B,EAK7B,MAAM,kEAAkE,CAAC;AAC1E,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAE3B,MAAM,wDAAwD,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB;AAoDD,qBACa,uBAAuB;IAIG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa;IAC3B,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,0BAA0B;IAChE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,4BAA4B;IACrD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,4BAA4B;IAClD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,qCAAqC;IAChF,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,+BAA+B;IACtE,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,6BAA6B;IAC9E,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB;IACrD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB;IAXlH,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;gBAGzB,MAAM,EAAE,aAAa,EACR,YAAY,EAAE,0BAA0B,EAC7C,WAAW,EAAE,4BAA4B,EAClC,UAAU,EAAE,4BAA4B,EAC/B,eAAe,EAAE,qCAAqC,EAC7D,iBAAiB,EAAE,+BAA+B,EACnD,sBAAsB,EAAE,6BAA6B,EAC3D,gBAAgB,EAAE,uBAAuB,EAClC,gBAAgB,EAAE,uBAAuB;IAMlH;;;;;;;OAOG;IACI,SAAS,CAAC,OAAO,GAAE,0BAA+B,GAAG,iBAAiB,EAAE;IAI/E;;;;;;;;;;OAUG;IACU,QAAQ,CACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,EACvC,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC;IA+G7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;YACW,8BAA8B;IAgC5C;;;;;;;;;OASG;YACW,mBAAmB;IA2DjC,uHAAuH;IACvH,OAAO,CAAC,iBAAiB;IAQzB;;;;;;;;;OASG;IACH,OAAO,CAAC,sBAAsB;IAuC9B;;;;OAIG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,aAAa;CAatB"}
|
|
@@ -11,15 +11,20 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
11
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
12
|
};
|
|
13
13
|
import { injectable, inject } from 'inversify';
|
|
14
|
-
import { ResourcesConfig_OperationPathUtils, CoreResourceOperation, ErrorType, ErrorCustomMessageReference, } from '@wildo-ai/saas-models';
|
|
14
|
+
import { ResourceOperationVariantType, ResourcesConfig_OperationPathUtils, CoreResourceOperation, ErrorType, ErrorCustomMessageReference, BackendApiType, MAIN_API_BASE_PATH, FileUploadGrantMintRequestSchema, ResourcesConfigOperationsUrlsBuilderUtils, } from '@wildo-ai/saas-models';
|
|
15
15
|
import { z } from 'zod';
|
|
16
16
|
import { SAAS_SERVICE_TYPES } from '../../inject/models/service-types.js';
|
|
17
|
+
import { FileUploadGrantBackendService } from '../../files/services/file-upload-grant.backend.service.js';
|
|
18
|
+
import { AppConfigurationService } from '../../config/services/app-configuration.backend.service.js';
|
|
19
|
+
import { MCP_UPLOAD_GRANT_TOOL_MARKER } from '../../mcp/models/mcp-tool.backend.schemas.js';
|
|
17
20
|
import { ErrorBuilderBackendService } from '../../errors/services/error-builder.backend.service.js';
|
|
18
21
|
import { AuthorizationsBackendService } from '../../security/authorizations/services/authorizations.backend.service.js';
|
|
19
22
|
import { ServicesRegistryHandlerBackendService } from '../../base-classes/services/services/services-registry-handler.backend.service.js';
|
|
20
23
|
import { toResponseSafeToolOutput } from '../../base-classes/services/controllers/utils/operation-response-serializer.backend.utils.js';
|
|
21
24
|
import { normalizeCollectionQueryRequestData } from '../../base-classes/services/controllers/controller-resource.backend.service.js';
|
|
22
25
|
import { ResourcesRegistryBackendService } from '../../resources/services/resources-registry.backend.service.js';
|
|
26
|
+
import { RateLimitBackendService } from '../../errors/services/rate-limit.backend.service.js';
|
|
27
|
+
import { resolveDeclaredPolicySubjectKey } from '../../security/authentications/services/utils/external-turn-rate-limit.backend.utils.js';
|
|
23
28
|
import { McpToolAdapterBackendService, mcpReachableScopesForPrincipal, mcpPrincipalForAuthenticatedCaller, resolveEffectiveMcpOperation, isCollectionQueryMcpOperation, } from '../../mcp/services/mcp-tool-adapter.backend.service.js';
|
|
24
29
|
import { MCP_TOOL_NAME_SEPARATOR, } from '../../mcp/models/mcp-tool.backend.schemas.js';
|
|
25
30
|
/**
|
|
@@ -34,14 +39,24 @@ import { MCP_TOOL_NAME_SEPARATOR, } from '../../mcp/models/mcp-tool.backend.sche
|
|
|
34
39
|
*
|
|
35
40
|
* - `listTools()` delegates to {@link McpToolAdapterBackendService}.
|
|
36
41
|
* - `callTool()` resolves the target operation, RE-RUNS `authorizeInController`
|
|
37
|
-
* against the caller's execution context (fail-closed),
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
42
|
+
* against the caller's execution context (fail-closed), enforces the operation's
|
|
43
|
+
* own declared `rateLimit` policy (see `assertOperationRateLimitPolicy`), then
|
|
44
|
+
* invokes the service pipeline DIRECTLY via
|
|
45
|
+
* {@link ServicesRegistryHandlerBackendService} (never re-HTTP). The service
|
|
46
|
+
* pipeline enforces `requiredFeatures` / `enabledCondition` downstream.
|
|
47
|
+
* - RATE LIMITING on this plane is now TWO guards, and they answer different questions:
|
|
48
|
+
* the transport applies the framework's blanket per-principal `tools/call` cap
|
|
49
|
+
* (`MCP_EXTERNAL_CALL_RATE_MAX`, an abuse throttle nobody declared, fails OPEN), and
|
|
50
|
+
* THIS service applies the operation's own AUTHORED `rateLimit` (a statement the
|
|
51
|
+
* application made about that endpoint, enforced identically to the HTTP seam). The
|
|
52
|
+
* second one lives here rather than in the transport for the same reason
|
|
53
|
+
* `authorizeInController` does: it is a property of the OPERATION, so a second
|
|
54
|
+
* transport backed by this core must inherit it rather than re-implement it.
|
|
55
|
+
* (Historical note: the block that stood here recorded the per-operation policy as a
|
|
56
|
+
* KNOWN GAP whose "planned fix is a per-principal quota shared with the A2A dispatch
|
|
57
|
+
* surface". That per-principal quota SHIPPED — `assertExternalTurnWithinRate`, used by
|
|
58
|
+
* both `MCPControllerBackendService` and `A2ABackendService` — and the comment was
|
|
59
|
+
* never updated, so it read as wholly open when only its per-operation half was.)
|
|
45
60
|
* - Server-initiated streaming (SSE / notifications / progress) is intentionally
|
|
46
61
|
* absent: every exposed operation is synchronous request/response, for which a
|
|
47
62
|
* single JSON response is Streamable-HTTP-compliant (Item 1, deferred).
|
|
@@ -68,14 +83,20 @@ let McpServerBackendService = class McpServerBackendService {
|
|
|
68
83
|
authorizer;
|
|
69
84
|
servicesHandler;
|
|
70
85
|
resourcesRegistry;
|
|
86
|
+
fileUploadGrantService;
|
|
87
|
+
appConfigService;
|
|
88
|
+
rateLimitService;
|
|
71
89
|
logDebug;
|
|
72
|
-
constructor(logger, errorBuilder, toolAdapter, authorizer, servicesHandler, resourcesRegistry) {
|
|
90
|
+
constructor(logger, errorBuilder, toolAdapter, authorizer, servicesHandler, resourcesRegistry, fileUploadGrantService, appConfigService, rateLimitService) {
|
|
73
91
|
this.logger = logger;
|
|
74
92
|
this.errorBuilder = errorBuilder;
|
|
75
93
|
this.toolAdapter = toolAdapter;
|
|
76
94
|
this.authorizer = authorizer;
|
|
77
95
|
this.servicesHandler = servicesHandler;
|
|
78
96
|
this.resourcesRegistry = resourcesRegistry;
|
|
97
|
+
this.fileUploadGrantService = fileUploadGrantService;
|
|
98
|
+
this.appConfigService = appConfigService;
|
|
99
|
+
this.rateLimitService = rateLimitService;
|
|
79
100
|
this.logDebug = this.logger.debugByType('McpServerBackendService');
|
|
80
101
|
this.logger.setDebugTypeLogging('McpServerBackendService', false);
|
|
81
102
|
}
|
|
@@ -113,6 +134,12 @@ let McpServerBackendService = class McpServerBackendService {
|
|
|
113
134
|
// decide callability — the same pair `tools/list` filters on.
|
|
114
135
|
// Post-authentication by construction: `callTool` is only reached with a validated token.
|
|
115
136
|
const reachableScopes = mcpReachableScopesForPrincipal(mcpPrincipalForAuthenticatedCaller(executionContext.isUserExecution()));
|
|
137
|
+
// Issue #312, D11: a DERIVED upload-grant tool mints a grant instead of dispatching an operation.
|
|
138
|
+
// It resolves its PARENT through the same adapter gate (exposure, instance, scope inherited), is
|
|
139
|
+
// authorized exactly as the parent would be, then calls the ONE mint function the REST door calls.
|
|
140
|
+
if (operationIdentifier.includes(MCP_UPLOAD_GRANT_TOOL_MARKER)) {
|
|
141
|
+
return this.callUploadGrantTool(toolName, resourceType, operationIdentifier, args, executionContext, options, reachableScopes);
|
|
142
|
+
}
|
|
116
143
|
const operation = this.toolAdapter.resolveExposableOperation(resourceType, operationIdentifier, reachableScopes, options.instanceRef);
|
|
117
144
|
if (!operation) {
|
|
118
145
|
throw this.errorBuilder.buildError(ErrorType.NOT_FOUND, executionContext, {
|
|
@@ -128,6 +155,14 @@ let McpServerBackendService = class McpServerBackendService {
|
|
|
128
155
|
// Fail-closed per-operation authorization: reads `operation.roles` +
|
|
129
156
|
// `executionContext.initiatorRoles` / scope. Throws AUTHORIZATION on denial.
|
|
130
157
|
await this.authorizer.authorizeInController(idOrIds, boundExecutionContext);
|
|
158
|
+
// The operation's OWN declared request budget. AFTER authorization on purpose: a caller who may
|
|
159
|
+
// not run the operation at all must be refused with AUTHORIZATION rather than told how much of a
|
|
160
|
+
// budget they have — and must not consume a slot of a budget that is not theirs, which would let
|
|
161
|
+
// an unauthorized caller exhaust an authorized one's quota. (The HTTP seam orders these the other
|
|
162
|
+
// way round because it has no choice: `checkPolicyForVariant` runs pre-flight, before the
|
|
163
|
+
// execution context that authorization needs even exists. Here the identity is already resolved,
|
|
164
|
+
// so the safer order is available and is taken.)
|
|
165
|
+
await this.assertOperationRateLimitPolicy(operation, boundExecutionContext);
|
|
131
166
|
// Dispatch to the service layer directly (NOT re-HTTP). The service pipeline
|
|
132
167
|
// enforces enabledCondition / requiredFeatures downstream.
|
|
133
168
|
//
|
|
@@ -177,6 +212,189 @@ let McpServerBackendService = class McpServerBackendService {
|
|
|
177
212
|
const safeResult = await toResponseSafeToolOutput(operation, result);
|
|
178
213
|
return { toolName, result: safeResult };
|
|
179
214
|
}
|
|
215
|
+
/**
|
|
216
|
+
* Enforce the resolved operation's OWN `rateLimit?` policy on the tool plane.
|
|
217
|
+
*
|
|
218
|
+
* ## What was broken
|
|
219
|
+
*
|
|
220
|
+
* `rateLimit?` is authored on an `API_CALL` / `API_CALL_WITH_CALLBACK` variant and was enforced
|
|
221
|
+
* by exactly one consumer — `RateLimitBackendService.checkPolicyForVariant`, called from the
|
|
222
|
+
* resource controller's HTTP pre-flight. `callTool` dispatches the SAME operation through the
|
|
223
|
+
* SAME service pipeline while bypassing Express entirely, so the identical operation was
|
|
224
|
+
* throttled over REST and unthrottled as a tool. An application that declared a budget on an
|
|
225
|
+
* endpoint got one; an agent asked for the same endpoint by its tool name and got none.
|
|
226
|
+
*
|
|
227
|
+
* ## Subject: the CREDENTIAL, not the IP and not the tenant
|
|
228
|
+
*
|
|
229
|
+
* See {@link resolveDeclaredPolicySubjectKey} for the full argument. In short: the HTTP seam
|
|
230
|
+
* keys on the source IP because at its pre-flight moment no identity exists yet, so `5/min` has
|
|
231
|
+
* always meant "5/min per CLIENT". On this plane the client is the credential the agent
|
|
232
|
+
* presented — a server-verified field of the execution context, never anything the model
|
|
233
|
+
* supplied. Keying on the tenant instead would make the same authored number several times
|
|
234
|
+
* stricter here than over REST for any tenant running more than one agent.
|
|
235
|
+
*
|
|
236
|
+
* ## Scope: a SEPARATE bucket from the REST route, deliberately
|
|
237
|
+
*
|
|
238
|
+
* The key is namespaced `mcp:resource:<resource>:<operation>` rather than sharing the HTTP
|
|
239
|
+
* seam's `resource:<resource>:<operation>`. Sharing would be incoherent — the two seams count
|
|
240
|
+
* different SUBJECTS (an IP and a credential), so one bucket would mix two identity spaces and
|
|
241
|
+
* let a browser's traffic spend an agent's budget. Per-plane-per-client is the faithful
|
|
242
|
+
* extension of a policy that was already per-client rather than a global cap.
|
|
243
|
+
*
|
|
244
|
+
* ## Not applied to the derived upload-grant tool
|
|
245
|
+
*
|
|
246
|
+
* `callUploadGrantTool` MINTS a grant; it does not dispatch the parent operation. Charging the
|
|
247
|
+
* parent's budget there would spend two slots for one upload (mint + the upload itself, which
|
|
248
|
+
* traverses the real HTTP route and meets `checkPolicyForVariant`) while a REST client spends
|
|
249
|
+
* one — the declared number would mean something different depending on how the caller got the
|
|
250
|
+
* URL. It is left uncharged for that reason, not by omission.
|
|
251
|
+
*
|
|
252
|
+
* ## Postures
|
|
253
|
+
*
|
|
254
|
+
* - **No declared policy, or a non-HTTP variant** → no-op, zero Redis traffic. Mirrors
|
|
255
|
+
* `checkPolicyForVariant`'s two early returns exactly; the variant guard is defensive, since
|
|
256
|
+
* `resolveExposableOperation` only ever yields a URL-bearing default.
|
|
257
|
+
* - **Unkeyable subject** → not enforced, logged. Structurally unreachable: `callTool` is only
|
|
258
|
+
* reached post-authentication, and `ExecutionContext`'s own constructor rejects an
|
|
259
|
+
* authenticated principal carrying no identity field. It is not "unbounded" either — the
|
|
260
|
+
* transport's blanket per-principal cap is the backstop, and it declines on exactly the same
|
|
261
|
+
* input. Refusing a well-formed call here instead would invent an outage out of a branch that
|
|
262
|
+
* cannot happen.
|
|
263
|
+
* - **Limiter outage** → propagates, as it does over HTTP for the same declared policy. An
|
|
264
|
+
* authored budget must not quietly become "unlimited" on one plane while it is a 500 on the
|
|
265
|
+
* other.
|
|
266
|
+
*/
|
|
267
|
+
async assertOperationRateLimitPolicy(operation, boundExecutionContext) {
|
|
268
|
+
if (operation.variantType !== ResourceOperationVariantType.API_CALL
|
|
269
|
+
&& operation.variantType !== ResourceOperationVariantType.API_CALL_WITH_CALLBACK) {
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
const policy = operation.rateLimit;
|
|
273
|
+
if (!policy) {
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
const subjectKey = resolveDeclaredPolicySubjectKey(boundExecutionContext.initiatorIds);
|
|
277
|
+
if (!subjectKey) {
|
|
278
|
+
this.logger.warn('[mcp] declared rateLimit not enforced — the authenticated caller carries no keyable identity', {
|
|
279
|
+
resourceIdentifier: String(operation.resourceIdentifier),
|
|
280
|
+
operationIdentifier: String(operation.operationIdentifier),
|
|
281
|
+
});
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
await this.rateLimitService.checkPolicyForSubject(policy, `mcp:resource:${String(operation.resourceIdentifier)}:${String(operation.operationIdentifier)}`, subjectKey, boundExecutionContext.organizationId);
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Execute a derived upload-grant tool (issue #312, D11).
|
|
288
|
+
*
|
|
289
|
+
* Authorization is the PARENT's: the caller's context is bound to the parent operation and
|
|
290
|
+
* `authorizeInController` runs on it with the same `resourceId` the parent would take — so minting
|
|
291
|
+
* requires exactly the authority uploading would, which is the invariant the REST door gets from
|
|
292
|
+
* sharing the upload middleware. The upload URL is built from the parent's own route pattern with
|
|
293
|
+
* the parameters the context and the call supply, and the API origin comes from CONFIGURATION,
|
|
294
|
+
* never from a request header.
|
|
295
|
+
*/
|
|
296
|
+
async callUploadGrantTool(toolName, resourceType, operationPart, args, executionContext, options, reachableScopes) {
|
|
297
|
+
const derived = this.toolAdapter.resolveUploadGrantTool(resourceType, operationPart, reachableScopes, options.instanceRef);
|
|
298
|
+
if (!derived) {
|
|
299
|
+
throw this.errorBuilder.buildError(ErrorType.NOT_FOUND, executionContext, {
|
|
300
|
+
customMessageReference: ErrorCustomMessageReference.SERVICE_NOT_FOUND,
|
|
301
|
+
context: { message: `MCP tool "${toolName}" does not map to an exposable upload-grant tool`, toolName },
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
const { parentOperation, fieldName, operationKind } = derived;
|
|
305
|
+
const boundExecutionContext = executionContext.withOperation(parentOperation);
|
|
306
|
+
const resourceId = options.resourceId;
|
|
307
|
+
if (operationKind === CoreResourceOperation.UPDATE && !resourceId) {
|
|
308
|
+
throw this.errorBuilder.buildError(ErrorType.VALIDATION, boundExecutionContext, {
|
|
309
|
+
customMessageReference: ErrorCustomMessageReference.VALIDATION,
|
|
310
|
+
context: { message: 'An upload grant for an UPDATE requires the record id', toolName },
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
// Same gate, same order, same arguments as the parent operation.
|
|
314
|
+
await this.authorizer.authorizeInController(resourceId, boundExecutionContext);
|
|
315
|
+
const parsedArgs = FileUploadGrantMintRequestSchema.safeParse(this.withoutInstanceId(args, resourceType));
|
|
316
|
+
if (!parsedArgs.success) {
|
|
317
|
+
throw this.errorBuilder.buildError(ErrorType.VALIDATION, boundExecutionContext, {
|
|
318
|
+
customMessageReference: ErrorCustomMessageReference.VALIDATION,
|
|
319
|
+
context: { toolName, errors: parsedArgs.error.issues.map((issue) => ({ path: issue.path.join('.'), message: issue.message })) },
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
const apiPublicUrl = this.appConfigService.config.runtime?.endPoints?.[BackendApiType.MAIN_BACKEND_API]?.publicUrl;
|
|
323
|
+
if (!apiPublicUrl) {
|
|
324
|
+
throw this.errorBuilder.buildError(ErrorType.CONFIGURATION, boundExecutionContext, {
|
|
325
|
+
customMessageReference: ErrorCustomMessageReference.CONFIGURATION,
|
|
326
|
+
context: { message: `runtime.endPoints.${BackendApiType.MAIN_BACKEND_API}.publicUrl is required to mint a file upload grant` },
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
const origin = apiPublicUrl.replace(/\/+$/, '');
|
|
330
|
+
// Scope ids come from the CALLER's context: binding an operation onto a context never changes who is calling.
|
|
331
|
+
const uploadPath = this.resolveUploadRoutePath(parentOperation, resourceType, fieldName, operationKind, resourceId, executionContext);
|
|
332
|
+
const grant = await this.fileUploadGrantService.mint({
|
|
333
|
+
executionContext: boundExecutionContext,
|
|
334
|
+
target: { resourceType, fieldName, operation: operationKind, resourceId },
|
|
335
|
+
expiresInMinutes: parsedArgs.data.expiresInMinutes,
|
|
336
|
+
declared: { name: parsedArgs.data.name, mimeType: parsedArgs.data.mimeType, size: parsedArgs.data.size },
|
|
337
|
+
uploadUrl: `${origin}${uploadPath}`,
|
|
338
|
+
apiBaseUrl: `${origin}${MAIN_API_BASE_PATH}`,
|
|
339
|
+
});
|
|
340
|
+
this.logDebug('Executing MCP upload-grant tool call', { toolName, resourceType, fieldName, operationKind, hasResourceId: resourceId !== undefined });
|
|
341
|
+
return { toolName, result: grant };
|
|
342
|
+
}
|
|
343
|
+
/** The tool arguments minus the resource's own id, which the transport already split out into `options.resourceId`. */
|
|
344
|
+
withoutInstanceId(args, resourceType) {
|
|
345
|
+
if (!args || typeof args !== 'object')
|
|
346
|
+
return args ?? {};
|
|
347
|
+
const selfField = this.resourcesRegistry.getAllResourceFieldIdentifiers()[resourceType];
|
|
348
|
+
if (!selfField || !(selfField in args))
|
|
349
|
+
return args;
|
|
350
|
+
const { [selfField]: _dropped, ...rest } = args;
|
|
351
|
+
return rest;
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* The concrete upload-route PATH (mount prefix included) for one file field of the parent
|
|
355
|
+
* operation, from the parent's own route patterns — the same builder the resource controller used
|
|
356
|
+
* to REGISTER the route, so the grant's `uploadUrl` is a route that exists.
|
|
357
|
+
*
|
|
358
|
+
* A parent can carry several patterns (one per parent-resource combination); the one chosen is the
|
|
359
|
+
* first whose every `{param}` the call can supply: the resource's own id from `resourceId`, and scope
|
|
360
|
+
* / parent ids from the context's `initiatorIds`. Patterns are tried shortest first, so the
|
|
361
|
+
* primary-scope form wins over a nested FK form the MCP call cannot address anyway.
|
|
362
|
+
*/
|
|
363
|
+
resolveUploadRoutePath(parentOperation, resourceType, fieldName, operationKind, resourceId, executionContext) {
|
|
364
|
+
const selfField = this.resourcesRegistry.getAllResourceFieldIdentifiers()[resourceType];
|
|
365
|
+
const initiatorInfos = [...(('initiatorInfos' in parentOperation ? parentOperation.initiatorInfos : undefined) ?? [])]
|
|
366
|
+
.sort((a, b) => (a.parameters?.length ?? 0) - (b.parameters?.length ?? 0));
|
|
367
|
+
const supplied = {
|
|
368
|
+
...(executionContext.initiatorIds ?? {}),
|
|
369
|
+
...(selfField && resourceId ? { [selfField]: resourceId } : {}),
|
|
370
|
+
};
|
|
371
|
+
for (const info of initiatorInfos) {
|
|
372
|
+
const route = ResourcesConfigOperationsUrlsBuilderUtils.buildFileUploadRouteForOperation({
|
|
373
|
+
operationRouteUrl: info.url,
|
|
374
|
+
operationParameters: info.parameters ?? [],
|
|
375
|
+
targetResourceType: resourceType,
|
|
376
|
+
targetResourceFieldIdentifier: selfField ?? 'id',
|
|
377
|
+
fieldName,
|
|
378
|
+
requiresTargetResourceId: operationKind === CoreResourceOperation.UPDATE,
|
|
379
|
+
isFrontend: false,
|
|
380
|
+
});
|
|
381
|
+
let unresolved = false;
|
|
382
|
+
const path = route.url.replace(/\{([^}]+)\}/g, (_m, param) => {
|
|
383
|
+
const value = supplied[param];
|
|
384
|
+
if (typeof value !== 'string' || value.length === 0) {
|
|
385
|
+
unresolved = true;
|
|
386
|
+
return `{${param}}`;
|
|
387
|
+
}
|
|
388
|
+
return encodeURIComponent(value);
|
|
389
|
+
});
|
|
390
|
+
if (!unresolved)
|
|
391
|
+
return path;
|
|
392
|
+
}
|
|
393
|
+
throw this.errorBuilder.buildError(ErrorType.CONFIGURATION, executionContext, {
|
|
394
|
+
customMessageReference: ErrorCustomMessageReference.CONFIGURATION,
|
|
395
|
+
context: { message: 'No upload route of this operation can be addressed from the MCP call', resourceType, fieldName, operationKind, patterns: initiatorInfos.map((i) => i.url) },
|
|
396
|
+
});
|
|
397
|
+
}
|
|
180
398
|
/**
|
|
181
399
|
* Split `<resourceIdentifier>__<operationIdentifier>` on the FIRST double
|
|
182
400
|
* underscore. Resource identifiers use single underscores only, so the first
|
|
@@ -276,11 +494,17 @@ McpServerBackendService = __decorate([
|
|
|
276
494
|
__param(3, inject(SAAS_SERVICE_TYPES.AuthorizationsService)),
|
|
277
495
|
__param(4, inject(SAAS_SERVICE_TYPES.ServicesRegistryHandlerService)),
|
|
278
496
|
__param(5, inject(SAAS_SERVICE_TYPES.ResourceRegistryService)),
|
|
497
|
+
__param(6, inject(SAAS_SERVICE_TYPES.FileUploadGrantService)),
|
|
498
|
+
__param(7, inject(SAAS_SERVICE_TYPES.AppConfigService)),
|
|
499
|
+
__param(8, inject(SAAS_SERVICE_TYPES.RateLimitBackendService)),
|
|
279
500
|
__metadata("design:paramtypes", [Function, ErrorBuilderBackendService,
|
|
280
501
|
McpToolAdapterBackendService,
|
|
281
502
|
AuthorizationsBackendService,
|
|
282
503
|
ServicesRegistryHandlerBackendService,
|
|
283
|
-
ResourcesRegistryBackendService
|
|
504
|
+
ResourcesRegistryBackendService,
|
|
505
|
+
FileUploadGrantBackendService,
|
|
506
|
+
AppConfigurationService,
|
|
507
|
+
RateLimitBackendService])
|
|
284
508
|
], McpServerBackendService);
|
|
285
509
|
export { McpServerBackendService };
|
|
286
510
|
//# sourceMappingURL=mcp-server.backend.service.js.map
|