@wildo-ai/saas-backend-lib 1.1.1 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/applications/services/worker-remote-client-factory.backend.service.d.ts.map +1 -1
- package/dist/esm/applications/services/worker-remote-client-factory.backend.service.js +19 -1
- package/dist/esm/applications/services/worker-remote-client-factory.backend.service.js.map +1 -1
- package/dist/esm/base-classes/models/manual-controllers.backend.definition.d.ts.map +1 -1
- package/dist/esm/base-classes/models/manual-controllers.backend.definition.js +4 -0
- package/dist/esm/base-classes/models/manual-controllers.backend.definition.js.map +1 -1
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts +35 -0
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js +111 -0
- package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js.map +1 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts +50 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js +199 -0
- package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js.map +1 -0
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.d.ts +111 -0
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.d.ts.map +1 -1
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.js +140 -0
- package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.js.map +1 -1
- package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.d.ts +14 -3
- package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js +138 -24
- package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.d.ts +3 -1
- package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.js +8 -3
- package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.d.ts +11 -0
- package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.js +11 -2
- package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts +124 -13
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js +207 -21
- package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts +60 -8
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js +174 -26
- package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts +48 -4
- package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js +102 -30
- package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts +55 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts.map +1 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js +114 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js.map +1 -0
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts +89 -14
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js +84 -11
- package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.js +16 -0
- package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.d.ts +20 -6
- package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js +96 -32
- package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.d.ts +3 -1
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.js +32 -7
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.d.ts +8 -5
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts +80 -0
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js +298 -23
- package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.d.ts +71 -1
- package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js +85 -5
- package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts +21 -0
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js +146 -4
- package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts +22 -0
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.d.ts +3 -26
- package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.js +3 -68
- package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js +4 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts +11 -0
- package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js +39 -5
- package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js.map +1 -1
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts +181 -2
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js +533 -43
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts +36 -3
- package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/system-access.backend.service.js +70 -8
- package/dist/esm/base-classes/services/services/system-access.backend.service.js.map +1 -1
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts +28 -0
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js +90 -0
- package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js.map +1 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts +44 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts.map +1 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.js +99 -0
- package/dist/esm/billing/batches/usage-flush.batch.backend.service.js.map +1 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts +91 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts.map +1 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js +152 -0
- package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js.map +1 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts +186 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts.map +1 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js +474 -0
- package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js.map +1 -0
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts +100 -0
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js +209 -6
- package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js.map +1 -1
- package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts +200 -4
- package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/back-office/usage-metering.backend.service.js +593 -64
- package/dist/esm/billing/services/back-office/usage-metering.backend.service.js.map +1 -1
- package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts +36 -0
- package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts.map +1 -0
- package/dist/esm/billing/services/billing-adapter-registry.backend.js +83 -0
- package/dist/esm/billing/services/billing-adapter-registry.backend.js.map +1 -0
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts +9 -0
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts.map +1 -1
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js +11 -1
- package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js +54 -13
- package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts +38 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js +67 -2
- package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts +30 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js +43 -1
- package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts +11 -3
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js +30 -16
- package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js +104 -25
- package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts +18 -1
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js +106 -2
- package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js.map +1 -1
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts +52 -0
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts.map +1 -0
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js +74 -0
- package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js.map +1 -0
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts +104 -11
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts.map +1 -1
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js +260 -26
- package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js.map +1 -1
- package/dist/esm/billing/testing/mock-billing-provider.d.ts +30 -1
- package/dist/esm/billing/testing/mock-billing-provider.d.ts.map +1 -1
- package/dist/esm/billing/testing/mock-billing-provider.js +25 -0
- package/dist/esm/billing/testing/mock-billing-provider.js.map +1 -1
- package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js +11 -4
- package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts +263 -13
- package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js +376 -58
- package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts +264 -7
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js +414 -5
- package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js +7 -1
- package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts +16 -0
- package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js +140 -0
- package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js.map +1 -0
- package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts +42 -0
- package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js +65 -6
- package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts +110 -0
- package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts.map +1 -0
- package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js +192 -0
- package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js.map +1 -0
- package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js +45 -0
- package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js.map +1 -1
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts +5 -0
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts.map +1 -1
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.js +6 -0
- package/dist/esm/config/bootstrap/application-runtime-profile.backend.js.map +1 -1
- package/dist/esm/config/custom/application-config-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/config/custom/application-config-controller.backend.service.js +7 -1
- package/dist/esm/config/custom/application-config-controller.backend.service.js.map +1 -1
- package/dist/esm/config/models/app-config.backend.schemas.d.ts +146 -46
- package/dist/esm/config/models/app-config.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/app-config.backend.schemas.js +121 -12
- package/dist/esm/config/models/app-config.backend.schemas.js.map +1 -1
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts +38 -15
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts.map +1 -1
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js +17 -2
- package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js.map +1 -1
- package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts +0 -1
- package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration-loader.backend.service.js +68 -76
- package/dist/esm/config/services/app-configuration-loader.backend.service.js.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.service.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.service.js +23 -1
- package/dist/esm/config/services/app-configuration.backend.service.js.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.utils.d.ts +43 -1
- package/dist/esm/config/services/app-configuration.backend.utils.d.ts.map +1 -1
- package/dist/esm/config/services/app-configuration.backend.utils.js +52 -3
- package/dist/esm/config/services/app-configuration.backend.utils.js.map +1 -1
- package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts +25 -0
- package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts.map +1 -1
- package/dist/esm/config/services/application-startup-config-validator.backend.service.js +41 -1
- package/dist/esm/config/services/application-startup-config-validator.backend.service.js.map +1 -1
- package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.d.ts +2 -2
- package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.js +2 -2
- package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.js.map +1 -1
- package/dist/esm/databases/models/filter.backend.schemas.js +2 -2
- package/dist/esm/databases/models/filter.backend.schemas.js.map +1 -1
- package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.d.ts.map +1 -1
- package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.js +20 -1
- package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.js.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.d.ts.map +1 -1
- package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js +48 -0
- package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js.map +1 -1
- package/dist/esm/databases/services/redis.service.d.ts +27 -0
- package/dist/esm/databases/services/redis.service.d.ts.map +1 -1
- package/dist/esm/databases/services/redis.service.js +29 -0
- package/dist/esm/databases/services/redis.service.js.map +1 -1
- package/dist/esm/errors/services/error-builder.backend.service.d.ts +13 -1
- package/dist/esm/errors/services/error-builder.backend.service.d.ts.map +1 -1
- package/dist/esm/errors/services/error-builder.backend.service.js +13 -1
- package/dist/esm/errors/services/error-builder.backend.service.js.map +1 -1
- package/dist/esm/errors/services/error-handler.backend.service.d.ts +70 -7
- package/dist/esm/errors/services/error-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/errors/services/error-handler.backend.service.js +134 -8
- package/dist/esm/errors/services/error-handler.backend.service.js.map +1 -1
- package/dist/esm/errors/services/rate-limit.backend.service.d.ts +66 -0
- package/dist/esm/errors/services/rate-limit.backend.service.d.ts.map +1 -1
- package/dist/esm/errors/services/rate-limit.backend.service.js +102 -25
- package/dist/esm/errors/services/rate-limit.backend.service.js.map +1 -1
- package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts +5 -0
- package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts.map +1 -1
- package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js +25 -0
- package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js.map +1 -1
- package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts +33 -0
- package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts.map +1 -1
- package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js +40 -0
- package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js.map +1 -1
- package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.d.ts +41 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.d.ts.map +1 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.js +40 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.js.map +1 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.controller.d.ts +64 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.controller.d.ts.map +1 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.controller.js +193 -0
- package/dist/esm/external-data/controllers/external-data-admin.backend.controller.js.map +1 -0
- package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts +72 -4
- package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-pipeline-run.backend.service.js +60 -19
- package/dist/esm/external-data/external-data-pipeline-run.backend.service.js.map +1 -1
- package/dist/esm/external-data/external-data-transform.backend.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-transform.backend.js +7 -1
- package/dist/esm/external-data/external-data-transform.backend.js.map +1 -1
- package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.d.ts +2 -0
- package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.d.ts.map +1 -1
- package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.js +13 -0
- package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.js.map +1 -1
- package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts +4 -2
- package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts.map +1 -1
- package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.js.map +1 -1
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts +256 -0
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js +333 -0
- package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js.map +1 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts +56 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.js +211 -0
- package/dist/esm/external-providers/operations/provider-operation-request.backend.js.map +1 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts +45 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.js +216 -0
- package/dist/esm/external-providers/operations/provider-request-signing.backend.js.map +1 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts +56 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts.map +1 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js +78 -0
- package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js.map +1 -0
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts +1 -1
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js +2 -2
- package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js.map +1 -1
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts +89 -0
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts.map +1 -0
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js +164 -0
- package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js.map +1 -0
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts +26 -27
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js +50 -64
- package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/document-extraction.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/document-extraction.backend.service.js +3 -3
- package/dist/esm/external-providers/services/document-extraction.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/embeddings.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/embeddings.backend.service.js +4 -4
- package/dist/esm/external-providers/services/embeddings.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts +306 -7
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.js +539 -45
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js +25 -2
- package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js.map +1 -1
- package/dist/esm/files/controllers/file.controller.d.ts +24 -1
- package/dist/esm/files/controllers/file.controller.d.ts.map +1 -1
- package/dist/esm/files/controllers/file.controller.js +83 -11
- package/dist/esm/files/controllers/file.controller.js.map +1 -1
- package/dist/esm/files/handlers/file-upload-route-locals.backend.types.d.ts +17 -0
- package/dist/esm/files/handlers/file-upload-route-locals.backend.types.d.ts.map +1 -0
- package/dist/esm/files/handlers/file-upload-route-locals.backend.types.js +1 -0
- package/dist/esm/files/handlers/file-upload-route-locals.backend.types.js.map +1 -0
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts +5 -1
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js +76 -13
- package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-operation-handler.backend.service.d.ts +18 -0
- package/dist/esm/files/services/file-operation-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-operation-handler.backend.service.js +36 -28
- package/dist/esm/files/services/file-operation-handler.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-scanning.backend.service.d.ts +94 -9
- package/dist/esm/files/services/file-scanning.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-scanning.backend.service.js +197 -17
- package/dist/esm/files/services/file-scanning.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-text-extraction.backend.service.d.ts +60 -1
- package/dist/esm/files/services/file-text-extraction.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/file-text-extraction.backend.service.js +167 -8
- package/dist/esm/files/services/file-text-extraction.backend.service.js.map +1 -1
- package/dist/esm/files/services/file-upload-grant.backend.service.d.ts +214 -0
- package/dist/esm/files/services/file-upload-grant.backend.service.d.ts.map +1 -0
- package/dist/esm/files/services/file-upload-grant.backend.service.js +566 -0
- package/dist/esm/files/services/file-upload-grant.backend.service.js.map +1 -0
- package/dist/esm/files/services/files.backend.service.d.ts +87 -0
- package/dist/esm/files/services/files.backend.service.d.ts.map +1 -1
- package/dist/esm/files/services/files.backend.service.js +252 -19
- package/dist/esm/files/services/files.backend.service.js.map +1 -1
- package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts +109 -0
- package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts.map +1 -0
- package/dist/esm/files/storage/application-storage-key.backend.utils.js +123 -0
- package/dist/esm/files/storage/application-storage-key.backend.utils.js.map +1 -0
- package/dist/esm/files/storage/file-storage-provider.types.d.ts +16 -10
- package/dist/esm/files/storage/file-storage-provider.types.d.ts.map +1 -1
- package/dist/esm/files/storage/file-storage-provider.types.js.map +1 -1
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts +67 -8
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js +101 -28
- package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js.map +1 -1
- package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.d.ts.map +1 -1
- package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js +8 -55
- package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js.map +1 -1
- package/dist/esm/files/utils/file-field-schema-path.backend.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/file-field-schema-path.backend.utils.js +20 -0
- package/dist/esm/files/utils/file-field-schema-path.backend.utils.js.map +1 -1
- package/dist/esm/files/utils/file-uploader.utils.d.ts.map +1 -1
- package/dist/esm/files/utils/file-uploader.utils.js +12 -0
- package/dist/esm/files/utils/file-uploader.utils.js.map +1 -1
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts +86 -0
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts.map +1 -0
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js +288 -0
- package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js.map +1 -0
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts +15 -0
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js +76 -5
- package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/controllers/a2a.controller.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js +6 -1
- package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts +60 -0
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js +63 -0
- package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts +74 -0
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js +200 -44
- package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts +7 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js +53 -1
- package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts +18 -0
- package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js +18 -0
- package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts +12 -7
- package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a/services/a2a.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts +0 -13
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js +14 -22
- package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts +8 -3
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.js +25 -15
- package/dist/esm/flows-actors/models/core-facets.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts +13 -1
- package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/flows-actors.backend.schemas.js.map +1 -1
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts +88 -8
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.js +333 -31
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js +4 -2
- package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts +113 -0
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts.map +1 -0
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js +62 -0
- package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js.map +1 -0
- package/dist/esm/flows-actors/services/actors-system.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/actors-system.backend.service.js +0 -2
- package/dist/esm/flows-actors/services/actors-system.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/agents.backend.service.d.ts +107 -1
- package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/agents.backend.service.js +519 -56
- package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts +5 -1
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.js +79 -16
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts +34 -5
- package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/flows-actors-registry.service.js +154 -20
- package/dist/esm/flows-actors/services/flows-actors-registry.service.js.map +1 -1
- package/dist/esm/flows-actors/services/flows.backend.services.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/flows.backend.services.js +27 -23
- package/dist/esm/flows-actors/services/flows.backend.services.js.map +1 -1
- package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js +7 -1
- package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js.map +1 -1
- package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts +90 -0
- package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts.map +1 -0
- package/dist/esm/flows-actors/services/mcp-client.backend.service.js +368 -0
- package/dist/esm/flows-actors/services/mcp-client.backend.service.js.map +1 -0
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts +9 -5
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js +12 -17
- package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts +151 -41
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js +308 -143
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts +0 -207
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js +8 -243
- package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.js.map +1 -1
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts +9 -14
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts.map +1 -1
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.js +18 -89
- package/dist/esm/guidance/services/milestone-evaluator.backend.service.js.map +1 -1
- package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts +86 -0
- package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts.map +1 -0
- package/dist/esm/guidance/services/progression-state-store.backend.service.js +155 -0
- package/dist/esm/guidance/services/progression-state-store.backend.service.js.map +1 -0
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts +10 -0
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.js +55 -5
- package/dist/esm/i18n/controllers/i18n-controller.backend.service.js.map +1 -1
- package/dist/esm/index.d.ts +15 -5
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +45 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/inject/models/container.d.ts.map +1 -1
- package/dist/esm/inject/models/container.js +82 -10
- package/dist/esm/inject/models/container.js.map +1 -1
- package/dist/esm/inject/models/service-types.d.ts +20 -3
- package/dist/esm/inject/models/service-types.d.ts.map +1 -1
- package/dist/esm/inject/models/service-types.js +21 -3
- package/dist/esm/inject/models/service-types.js.map +1 -1
- package/dist/esm/mcp/controllers/mcp.controller.d.ts.map +1 -1
- package/dist/esm/mcp/controllers/mcp.controller.js +32 -4
- package/dist/esm/mcp/controllers/mcp.controller.js.map +1 -1
- package/dist/esm/mcp/models/mcp-tool.backend.schemas.d.ts +34 -0
- package/dist/esm/mcp/models/mcp-tool.backend.schemas.d.ts.map +1 -1
- package/dist/esm/mcp/models/mcp-tool.backend.schemas.js +42 -0
- package/dist/esm/mcp/models/mcp-tool.backend.schemas.js.map +1 -1
- package/dist/esm/mcp/services/mcp-server.backend.service.d.ts +84 -1
- package/dist/esm/mcp/services/mcp-server.backend.service.d.ts.map +1 -1
- package/dist/esm/mcp/services/mcp-server.backend.service.js +235 -11
- package/dist/esm/mcp/services/mcp-server.backend.service.js.map +1 -1
- package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.d.ts +64 -2
- package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.d.ts.map +1 -1
- package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js +152 -6
- package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js.map +1 -1
- package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js +49 -4
- package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts +66 -0
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts.map +1 -0
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js +199 -0
- package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js.map +1 -0
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts +149 -13
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js +411 -19
- package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts +11 -2
- package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.js.map +1 -1
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts +28 -9
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts.map +1 -1
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.js +30 -10
- package/dist/esm/monitoring/logger/models/logger.backend.schemas.js.map +1 -1
- package/dist/esm/monitoring/logger/services/logger.service.d.ts +12 -0
- package/dist/esm/monitoring/logger/services/logger.service.d.ts.map +1 -1
- package/dist/esm/monitoring/logger/services/logger.service.js +52 -11
- package/dist/esm/monitoring/logger/services/logger.service.js.map +1 -1
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts +62 -0
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts.map +1 -0
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js +78 -0
- package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js.map +1 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts +309 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts.map +1 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.js +385 -0
- package/dist/esm/monitoring/observability/audit-observation-emission.backend.js.map +1 -0
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts +1 -0
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.js.map +1 -1
- package/dist/esm/monitoring/observability/services/metrics.service.d.ts +21 -0
- package/dist/esm/monitoring/observability/services/metrics.service.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/services/metrics.service.js +38 -0
- package/dist/esm/monitoring/observability/services/metrics.service.js.map +1 -1
- package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts +0 -80
- package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts.map +0 -1
- package/dist/esm/notifications/email/models/email-context-provider.interface.js +0 -25
- package/dist/esm/notifications/email/models/email-context-provider.interface.js.map +0 -1
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts +0 -49
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts.map +0 -1
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js +0 -141
- package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js.map +0 -1
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts +0 -37
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts.map +0 -1
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js +0 -121
- package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js.map +0 -1
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts +66 -1
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.js +105 -10
- package/dist/esm/notifications/email/services/email-template-registry.backend.service.js.map +1 -1
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts +0 -58
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts.map +0 -1
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js +0 -223
- package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js.map +0 -1
- package/dist/esm/notifications/email/services/email-template-validator.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email-template-validator.backend.service.js +10 -1
- package/dist/esm/notifications/email/services/email-template-validator.backend.service.js.map +1 -1
- package/dist/esm/notifications/email/services/email.backend.service.d.ts +60 -4
- package/dist/esm/notifications/email/services/email.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/email/services/email.backend.service.js +145 -43
- package/dist/esm/notifications/email/services/email.backend.service.js.map +1 -1
- package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts +0 -1
- package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts.map +1 -1
- package/dist/esm/notifications/email/utils/color-conversion.utils.js.map +1 -1
- package/dist/esm/notifications/services/notification-badge.backend.service.d.ts +142 -21
- package/dist/esm/notifications/services/notification-badge.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/services/notification-badge.backend.service.js +283 -58
- package/dist/esm/notifications/services/notification-badge.backend.service.js.map +1 -1
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts +108 -13
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js +432 -101
- package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js.map +1 -1
- package/dist/esm/notifications/sms/services/sms.backend.service.d.ts +2 -2
- package/dist/esm/notifications/sms/services/sms.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/sms/services/sms.backend.service.js +5 -5
- package/dist/esm/notifications/sms/services/sms.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts +117 -5
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js +164 -6
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts +0 -6
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js +54 -7
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.d.ts +5 -5
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.js +14 -13
- package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.d.ts +2 -1
- package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js +18 -8
- package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js +20 -18
- package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts +16 -0
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js +18 -0
- package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js.map +1 -1
- package/dist/esm/organizations/batches/organization-purge.batch.backend.service.d.ts +2 -2
- package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js +2 -2
- package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js.map +1 -1
- package/dist/esm/organizations/services/organization-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js +63 -2
- package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js.map +1 -1
- package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.js +4 -1
- package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.js.map +1 -1
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts +66 -0
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts.map +1 -0
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js +257 -0
- package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts +12 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.js +47 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.binding.js.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts +87 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.js +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.interface.js.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts +31 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts.map +1 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.js +13 -0
- package/dist/esm/queue/adapters/queue-adapter.backend.options.js.map +1 -0
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts +19 -25
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js +33 -0
- package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js.map +1 -1
- package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts +2 -2
- package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/domain-queue-consumer.backend.service.js +1 -4
- package/dist/esm/queue/domain-queue-consumer.backend.service.js.map +1 -1
- package/dist/esm/queue/job-consumer.backend.service.d.ts +2 -2
- package/dist/esm/queue/job-consumer.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/job-consumer.backend.service.js +1 -4
- package/dist/esm/queue/job-consumer.backend.service.js.map +1 -1
- package/dist/esm/queue/job-executor.backend.service.d.ts +2 -2
- package/dist/esm/queue/job-executor.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/job-executor.backend.service.js +1 -4
- package/dist/esm/queue/job-executor.backend.service.js.map +1 -1
- package/dist/esm/queue/queue-monitoring.backend.service.d.ts +8 -4
- package/dist/esm/queue/queue-monitoring.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue-monitoring.backend.service.js +25 -17
- package/dist/esm/queue/queue-monitoring.backend.service.js.map +1 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts +16 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.js +16 -1
- package/dist/esm/queue/queue-worker-initializer.backend.service.js.map +1 -1
- package/dist/esm/queue/queue.backend.service.d.ts +3 -3
- package/dist/esm/queue/queue.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/queue.backend.service.js +26 -4
- package/dist/esm/queue/queue.backend.service.js.map +1 -1
- package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts +2 -2
- package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts.map +1 -1
- package/dist/esm/queue/worker-shutdown-manager.backend.service.js +18 -3
- package/dist/esm/queue/worker-shutdown-manager.backend.service.js.map +1 -1
- package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts +50 -25
- package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-chunking.backend.utils.js +147 -39
- package/dist/esm/rag/utils/rag-chunking.backend.utils.js.map +1 -1
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts +12 -3
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts.map +1 -1
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js +12 -3
- package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js.map +1 -1
- package/dist/esm/requests/service/websocket.service.d.ts +9 -0
- package/dist/esm/requests/service/websocket.service.d.ts.map +1 -1
- package/dist/esm/requests/service/websocket.service.js +88 -15
- package/dist/esm/requests/service/websocket.service.js.map +1 -1
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.d.ts.map +1 -1
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.js +16 -2
- package/dist/esm/resources/models/custom-service-implementations.backend.definition.js.map +1 -1
- package/dist/esm/resources/models/resources-operations.backend.definitions.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-operations.backend.definitions.js +2 -0
- package/dist/esm/resources/models/resources-operations.backend.definitions.js.map +1 -1
- package/dist/esm/resources/models/resources-relationships.backend.definitions.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-relationships.backend.definitions.js +14 -0
- package/dist/esm/resources/models/resources-relationships.backend.definitions.js.map +1 -1
- package/dist/esm/resources/models/resources-types.backend.schemas.d.ts +2 -1
- package/dist/esm/resources/models/resources-types.backend.schemas.d.ts.map +1 -1
- package/dist/esm/resources/models/resources-types.backend.schemas.js +8 -0
- package/dist/esm/resources/models/resources-types.backend.schemas.js.map +1 -1
- package/dist/esm/resources/services/resource-id.backend.service.js +3 -3
- package/dist/esm/resources/services/resource-id.backend.service.js.map +1 -1
- package/dist/esm/resources/services/resources-registry.backend.service.d.ts +60 -5
- package/dist/esm/resources/services/resources-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/resources/services/resources-registry.backend.service.js +91 -7
- package/dist/esm/resources/services/resources-registry.backend.service.js.map +1 -1
- package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts +36 -3
- package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/controllers/health-controller.backend.service.js +32 -10
- package/dist/esm/runtime/controllers/health-controller.backend.service.js.map +1 -1
- package/dist/esm/runtime/domain-module.backend.definitions.d.ts +24 -0
- package/dist/esm/runtime/domain-module.backend.definitions.d.ts.map +1 -1
- package/dist/esm/runtime/domain-module.backend.definitions.js +24 -0
- package/dist/esm/runtime/domain-module.backend.definitions.js.map +1 -1
- package/dist/esm/runtime/services/execution-context-creator.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/execution-context-creator.backend.service.js +13 -7
- package/dist/esm/runtime/services/execution-context-creator.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts +51 -0
- package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts.map +1 -1
- package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.js.map +1 -1
- package/dist/esm/runtime/services/http-server.backend.service.d.ts +26 -0
- package/dist/esm/runtime/services/http-server.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/http-server.backend.service.js +181 -1
- package/dist/esm/runtime/services/http-server.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/start-application.backend.service.d.ts +47 -1
- package/dist/esm/runtime/services/start-application.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/start-application.backend.service.js +343 -77
- package/dist/esm/runtime/services/start-application.backend.service.js.map +1 -1
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts +15 -0
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js +28 -0
- package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts +5 -1
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js +24 -4
- package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js +29 -4
- package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts +114 -0
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js +354 -3
- package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts +1 -0
- package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/cimd.backend.schemas.js +22 -0
- package/dist/esm/security/authentications/models/cimd.backend.schemas.js.map +1 -1
- package/dist/esm/security/authentications/models/jwt.backend.schemas.d.ts +3 -23
- package/dist/esm/security/authentications/models/jwt.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/jwt.backend.schemas.js +20 -45
- package/dist/esm/security/authentications/models/jwt.backend.schemas.js.map +1 -1
- package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts +15 -0
- package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts +0 -2
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js +23 -14
- package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts +0 -1
- package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js +15 -12
- package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts +113 -3
- package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js +207 -30
- package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts +95 -2
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js +153 -9
- package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts +190 -0
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.js +377 -53
- package/dist/esm/security/authentications/services/anonymous-session.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts +9 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js +77 -2
- package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.js +5 -3
- package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts +41 -0
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js +202 -23
- package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js +42 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js +34 -4
- package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts +29 -5
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js +77 -5
- package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts +41 -1
- package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js +87 -4
- package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts +43 -1
- package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js +277 -97
- package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts +28 -5
- package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js +72 -12
- package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js +3 -0
- package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts +28 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js +283 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js.map +1 -0
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts +4 -3
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js +4 -3
- package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts +35 -0
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js +111 -21
- package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts +14 -1
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js +49 -8
- package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js +4 -0
- package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js +6 -0
- package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts +37 -1
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js +51 -0
- package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js.map +1 -1
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts +41 -0
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js +45 -0
- package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js.map +1 -1
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts +116 -0
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts.map +1 -0
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js +162 -0
- package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js.map +1 -0
- package/dist/esm/security/authorizations/initiator-organization-confinement.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/initiator-organization-confinement.backend.js +24 -1
- package/dist/esm/security/authorizations/initiator-organization-confinement.backend.js.map +1 -1
- package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts +20 -20
- package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js +27 -28
- package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js +77 -3
- package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js.map +1 -1
- package/dist/esm/security/authorizations/privileged-access-review.backend.utils.d.ts +117 -0
- package/dist/esm/security/authorizations/privileged-access-review.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/authorizations/privileged-access-review.backend.utils.js +104 -0
- package/dist/esm/security/authorizations/privileged-access-review.backend.utils.js.map +1 -0
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts +4 -0
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.js +4 -0
- package/dist/esm/security/authorizations/role-ceiling.backend.utils.js.map +1 -1
- package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts +93 -0
- package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/authorizations/role-conferral.backend.utils.js +95 -0
- package/dist/esm/security/authorizations/role-conferral.backend.utils.js.map +1 -0
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts +124 -1
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts.map +1 -1
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js +142 -5
- package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js.map +1 -1
- package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts +175 -14
- package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authorizations/services/authorizations.backend.service.js +385 -49
- package/dist/esm/security/authorizations/services/authorizations.backend.service.js.map +1 -1
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts +6 -14
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js +13 -22
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js.map +1 -1
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts +60 -0
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js +79 -0
- package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js.map +1 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts +161 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js +512 -0
- package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts +59 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js +22 -0
- package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js.map +1 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts +44 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js +20 -0
- package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts +191 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js +385 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts +41 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js +358 -0
- package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts +160 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js +266 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts +111 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js +107 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts +54 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js +153 -0
- package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts +195 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js +387 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts +45 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js +291 -0
- package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js.map +1 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts +62 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js +29 -0
- package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js.map +1 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts +127 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js +277 -0
- package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js.map +1 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts +66 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js +75 -0
- package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js.map +1 -0
- package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.d.ts +18 -1
- package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.js +110 -74
- package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.js.map +1 -1
- package/dist/esm/security/consumable-tokens/consumable-token-models.exports.d.ts +22 -0
- package/dist/esm/security/consumable-tokens/consumable-token-models.exports.d.ts.map +1 -0
- package/dist/esm/security/consumable-tokens/consumable-token-models.exports.js +22 -0
- package/dist/esm/security/consumable-tokens/consumable-token-models.exports.js.map +1 -0
- package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.d.ts +17 -3
- package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.js +12 -0
- package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts +41 -3
- package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts.map +1 -1
- package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js +83 -20
- package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js.map +1 -1
- package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts +9 -4
- package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/credential-rotation-grace.backend.utils.js +9 -4
- package/dist/esm/security/credential-rotation-grace.backend.utils.js.map +1 -1
- package/dist/esm/security/jwt/services/jwt.backend.service.d.ts.map +1 -1
- package/dist/esm/security/jwt/services/jwt.backend.service.js +1 -18
- package/dist/esm/security/jwt/services/jwt.backend.service.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts +26 -0
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js +43 -0
- package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts +8 -1
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js +49 -0
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/scim/controllers/scim.backend.controller.d.ts.map +1 -1
- package/dist/esm/security/scim/controllers/scim.backend.controller.js +17 -5
- package/dist/esm/security/scim/controllers/scim.backend.controller.js.map +1 -1
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts +67 -29
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts.map +1 -1
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js +47 -25
- package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js.map +1 -1
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts +10 -2
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts.map +1 -1
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js +10 -2
- package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js.map +1 -1
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts +143 -0
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts.map +1 -0
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js +258 -0
- package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js.map +1 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts +39 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts.map +1 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js +159 -0
- package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +17 -9
- package/dist/esm/.builder.pid +0 -9
package/dist/esm/resources/models/custom-service-implementations.backend.definition.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-service-implementations.backend.definition.d.ts","sourceRoot":"","sources":["../../../../../src/resources/models/custom-service-implementations.backend.definition.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0CAA0C,EAAE,MAAM,4GAA4G,CAAC;
|
|
1
|
+
{"version":3,"file":"custom-service-implementations.backend.definition.d.ts","sourceRoot":"","sources":["../../../../../src/resources/models/custom-service-implementations.backend.definition.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0CAA0C,EAAE,MAAM,4GAA4G,CAAC;AA+DxK,eAAO,MAAM,2CAA2C,EAAG,0CAA0C,EAgHpG,CAAA"}
|
|
@@ -6,6 +6,8 @@ import { authCustomImplementations } from '../../security/authentications/servic
|
|
|
6
6
|
import { createAuditLogsExportFactories } from '../../compliance/audit-trails/audit-logs.custom-impl.backend.service.js';
|
|
7
7
|
import { createOrganizationCreateFactories, createOrganizationLifecycleFactories } from '../../organizations/services/organization-custom-implementation.backend.service.js';
|
|
8
8
|
import { createOrganizationDeletionAuditFactories } from '../../organizations/services/organization-deletion-audit.custom-impl.backend.service.js';
|
|
9
|
+
import { createOrganizationProviderCredentialFactories } from '../../security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js';
|
|
10
|
+
import { createUserProviderCredentialFactories } from '../../security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js';
|
|
9
11
|
import { createEngineResourceStatusTransitionFactories } from '../../base-classes/services/services/resource-status-transition.definitions.backend.js';
|
|
10
12
|
import { createOrganizationMemberCreateFactories } from '../../organizations/services/organization-member-custom-implementation.backend.service.js';
|
|
11
13
|
import { createPlatformAccessGrantFactories } from '../../security/authorizations/platform-access-grant-custom-implementation.backend.service.js';
|
|
@@ -14,11 +16,13 @@ import { createOrganizationUnitMemberCreateFactories, createOrganizationUnitMemb
|
|
|
14
16
|
import { createInboundContactCreateFactories } from '../../users/services/inbound-contact-custom-implementation.backend.service.js';
|
|
15
17
|
import { createUserCoreRoleCeilingFactories, createUserRoleSetOperationFactories, } from '../../users/services/user-role-administration.custom-impl.backend.service.js';
|
|
16
18
|
import { createUserForcePasswordResetFactories } from '../../users/services/user-force-password-reset.custom-impl.backend.service.js';
|
|
19
|
+
import { createUserReadRetainedFactories } from '../../users/services/user-read-retained.custom-impl.backend.service.js';
|
|
17
20
|
import { createUserDeletionAuditFactories } from '../../users/services/user-deletion-audit.custom-impl.backend.service.js';
|
|
18
21
|
import { createUserSuperAdminFloorFactories } from '../../users/services/user-super-admin-floor.custom-impl.backend.service.js';
|
|
19
|
-
import { createApiKeyCreateFactories, createApiKeyRotateFactories, createApiKeyRegenerateFactories, createApiKeyExtendExpiryFactories, createApiKeyUsageStatsFactories, createApiKeyDeactivateFactories, createApiKeyReactivateFactories, } from '../../security/api-keys/api-keys.custom-impl.backend.service.js';
|
|
20
|
-
import { createOAuthClientCreateFactories, createOAuthClientRotateFactories, createOAuthClientRegenerateFactories, } from '../../security/oauth-clients/oauth-clients.custom-impl.backend.service.js';
|
|
22
|
+
import { createApiKeyCreateFactories, createApiKeyRotateFactories, createApiKeyRegenerateFactories, createApiKeyExtendExpiryFactories, createApiKeyUsageStatsFactories, createApiKeyDeactivateFactories, createApiKeyExpireFactories, createApiKeyReactivateFactories, } from '../../security/api-keys/api-keys.custom-impl.backend.service.js';
|
|
23
|
+
import { createOAuthClientCreateFactories, createOAuthClientRotateFactories, createOAuthClientExpireFactories, createOAuthClientRegenerateFactories, } from '../../security/oauth-clients/oauth-clients.custom-impl.backend.service.js';
|
|
21
24
|
import { createScopeFeaturesCacheInvalidationFactories } from '../../features/services/scope-features-cache-invalidation.custom-impl.backend.service.js';
|
|
25
|
+
import { createSiemExportConfigCacheInvalidationFactories } from '../../compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js';
|
|
22
26
|
import { createOrganizationFeaturesAdminWritePathFactories } from '../../features/services/organization-features-admin-write-path.custom-impl.backend.service.js';
|
|
23
27
|
import { createApplicationFeaturesAdminWritePathFactories } from '../../features/services/application-features-admin-write-path.custom-impl.backend.service.js';
|
|
24
28
|
import { createWebhookConfigReadPublicKeyFactories } from '../../notifications/webhooks/outbound/services/webhook-config-public-key.custom-impl.backend.service.js';
|
|
@@ -42,6 +46,10 @@ export const CoreBackend_ServiceImplementationsFactories = [
|
|
|
42
46
|
// the privileged cross-tenant route unaudited. Post-commit by construction; reads the pre-deletion
|
|
43
47
|
// snapshot because `name` / `slug` are unrecoverable once the row is gone.
|
|
44
48
|
...createOrganizationDeletionAuditFactories(),
|
|
49
|
+
// Seals every organization provider credential on write, and audits the grant lifecycle. Without
|
|
50
|
+
// this registration the resource stores plaintext secrets behind a route that still answers 200.
|
|
51
|
+
...createOrganizationProviderCredentialFactories(),
|
|
52
|
+
...createUserProviderCredentialFactories(),
|
|
45
53
|
...createOrganizationMemberCreateFactories(),
|
|
46
54
|
// PLATFORM_ACCESS_GRANTS — the four lifecycle transitions. Every field that carries the
|
|
47
55
|
// time-bound/justified/tenant-scoped guarantee (`operatorUserId`, `status`, `expiresAt`,
|
|
@@ -90,6 +98,8 @@ export const CoreBackend_ServiceImplementationsFactories = [
|
|
|
90
98
|
// and the declared `{ resetToken, resetUrl }` response could never be produced (that handback
|
|
91
99
|
// is now gone — it was an account-takeover primitive).
|
|
92
100
|
...createUserForcePasswordResetFactories(),
|
|
101
|
+
// #490 — the operator surface for the audited see-through read of a RETAINED user row.
|
|
102
|
+
...createUserReadRetainedFactories(),
|
|
93
103
|
// USERS DELETE — emits USER_DELETED. The event type and its SIEM classification existed from the
|
|
94
104
|
// start but NOTHING produced them, so identity destruction left no evidence at all. Post-commit
|
|
95
105
|
// by construction; reads the pre-deletion snapshot because `email` / `appRoles` are unrecoverable
|
|
@@ -107,13 +117,17 @@ export const CoreBackend_ServiceImplementationsFactories = [
|
|
|
107
117
|
...createApiKeyUsageStatsFactories(),
|
|
108
118
|
...createApiKeyDeactivateFactories(),
|
|
109
119
|
...createApiKeyReactivateFactories(),
|
|
120
|
+
// ACTIVE → EXPIRED, dispatched only by the credential-expiry sweep (#413).
|
|
121
|
+
...createApiKeyExpireFactories(),
|
|
110
122
|
// OAuth Clients (registered client-credentials front — mirrors API Keys mint pipeline)
|
|
111
123
|
...createOAuthClientCreateFactories(),
|
|
112
124
|
...createOAuthClientRotateFactories(),
|
|
113
125
|
...createOAuthClientRegenerateFactories(),
|
|
126
|
+
...createOAuthClientExpireFactories(),
|
|
114
127
|
...createOrganizationFeaturesAdminWritePathFactories(),
|
|
115
128
|
...createApplicationFeaturesAdminWritePathFactories(),
|
|
116
129
|
...createScopeFeaturesCacheInvalidationFactories(),
|
|
130
|
+
...createSiemExportConfigCacheInvalidationFactories(),
|
|
117
131
|
...createAuditLogsExportFactories(),
|
|
118
132
|
// Webhook (M2M outbound) domain — the public-key READ postfix existed but was
|
|
119
133
|
// never registered (the `applicationPublicKeyPem` field silently never
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-service-implementations.backend.definition.js","sourceRoot":"","sources":["../../../../../src/resources/models/custom-service-implementations.backend.definition.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport type { ResourceConfiguration_Operation } from '@wildo-ai/saas-models';\nimport type { ResourceOperationCustomImplementationBase } from '~wildo-backend-lib/base-classes/services/services/resource-operation-custom-implementation-base.backend.service';\nimport { ResourceCustomServiceImplementationFactory } from '~wildo-backend-lib/base-classes/services/services/resource-operation-custom-implementation.factory.backend';\nimport { userSelfCustomImplementations } from '~wildo-backend-lib/users/services/user-self-custom-implementations.backend';\nimport { billingCustomImplementations } from '~wildo-backend-lib/billing/services/custom-impl/billing-custom-implementations.backend';\nimport { lifecycleCustomImplementations } from '~wildo-backend-lib/guidance/services/lifecycle-custom-implementations.backend';\nimport { scopedStateReadCustomImplementations } from '~wildo-backend-lib/guidance/services/scoped-state-read-custom-implementations.backend';\nimport { authCustomImplementations } from '~wildo-backend-lib/security/authentications/services/custom-impls/auth-custom-implementations.backend';\nimport { createAuditLogsExportFactories } from '~wildo-backend-lib/compliance/audit-trails/audit-logs.custom-impl.backend.service';\nimport { createOrganizationCreateFactories, createOrganizationLifecycleFactories } from '~wildo-backend-lib/organizations/services/organization-custom-implementation.backend.service';\nimport { createOrganizationDeletionAuditFactories } from '~wildo-backend-lib/organizations/services/organization-deletion-audit.custom-impl.backend.service';\nimport { createEngineResourceStatusTransitionFactories } from '~wildo-backend-lib/base-classes/services/services/resource-status-transition.definitions.backend';\nimport { createOrganizationMemberCreateFactories } from '~wildo-backend-lib/organizations/services/organization-member-custom-implementation.backend.service';\nimport { createPlatformAccessGrantFactories } from '~wildo-backend-lib/security/authorizations/platform-access-grant-custom-implementation.backend.service';\nimport {\n createOrganizationUnitCreatePathFactories,\n createOrganizationUnitDeleteDependentsGuardFactories,\n createOrganizationUnitMoveFactories,\n createOrganizationUnitStatusTransitionFactories,\n createOrganizationUnitUpdateFactories,\n} from '~wildo-backend-lib/organizations/services/organization-unit-custom-implementation.backend.service';\nimport {\n createOrganizationUnitMemberCreateFactories,\n createOrganizationUnitMemberDeleteFactories,\n createOrganizationUnitMemberUpdateFactories,\n} from '~wildo-backend-lib/organizations/services/organization-unit-member-custom-implementation.backend.service';\nimport { createInboundContactCreateFactories } from '~wildo-backend-lib/users/services/inbound-contact-custom-implementation.backend.service';\nimport {\n createUserCoreRoleCeilingFactories,\n createUserRoleSetOperationFactories,\n} from '~wildo-backend-lib/users/services/user-role-administration.custom-impl.backend.service';\nimport { createUserForcePasswordResetFactories } from '~wildo-backend-lib/users/services/user-force-password-reset.custom-impl.backend.service';\nimport { createUserDeletionAuditFactories } from '~wildo-backend-lib/users/services/user-deletion-audit.custom-impl.backend.service';\nimport { createUserSuperAdminFloorFactories } from '~wildo-backend-lib/users/services/user-super-admin-floor.custom-impl.backend.service';\nimport {\n createApiKeyCreateFactories,\n createApiKeyRotateFactories,\n createApiKeyRegenerateFactories,\n createApiKeyExtendExpiryFactories,\n createApiKeyUsageStatsFactories,\n createApiKeyDeactivateFactories,\n createApiKeyReactivateFactories,\n} from '~wildo-backend-lib/security/api-keys/api-keys.custom-impl.backend.service';\nimport {\n createOAuthClientCreateFactories,\n createOAuthClientRotateFactories,\n createOAuthClientRegenerateFactories,\n} from '~wildo-backend-lib/security/oauth-clients/oauth-clients.custom-impl.backend.service';\nimport { createScopeFeaturesCacheInvalidationFactories } from '~wildo-backend-lib/features/services/scope-features-cache-invalidation.custom-impl.backend.service';\nimport { createOrganizationFeaturesAdminWritePathFactories } from '~wildo-backend-lib/features/services/organization-features-admin-write-path.custom-impl.backend.service';\nimport { createApplicationFeaturesAdminWritePathFactories } from '~wildo-backend-lib/features/services/application-features-admin-write-path.custom-impl.backend.service';\nimport { createWebhookConfigReadPublicKeyFactories } from '~wildo-backend-lib/notifications/webhooks/outbound/services/webhook-config-public-key.custom-impl.backend.service';\nimport {\n createM2MWebhookDeliveryLogRetryFactories,\n createM2MWebhookDeliveryLogPurgeOldFactories,\n} from '~wildo-backend-lib/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.custom-impl.backend.service';\nimport { createWebhookConfigTestEndpointFactories } from '~wildo-backend-lib/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service';\n\n\nexport const CoreBackend_ServiceImplementationsFactories : ResourceCustomServiceImplementationFactory[] = [\n ...userSelfCustomImplementations,\n ...billingCustomImplementations,\n ...scopedStateReadCustomImplementations,\n ...lifecycleCustomImplementations,\n ...authCustomImplementations,\n ...createOrganizationCreateFactories(),\n // Tenant lifecycle transitions (WS-A): `request_deletion` on both declared variants + `restore`.\n // These own `Organization.status`, which generic UPDATE may not write.\n ...createOrganizationLifecycleFactories(),\n // ORGANIZATIONS DELETE — emits ORGANIZATION_DELETED. The event type, its typed event-data schema\n // and its SIEM classification all existed from the start but NOTHING produced them, so destroying\n // a whole tenant left no evidence at all (the exact sibling of the USER_DELETED gap below).\n // Registered on BOTH declared doors — the org-admin default AND the super-admin `admin` variant —\n // because custom impls resolve by an exact operation-path key; one registration would have left\n // the privileged cross-tenant route unaudited. Post-commit by construction; reads the pre-deletion\n // snapshot because `name` / `slug` are unrecoverable once the row is gone.\n ...createOrganizationDeletionAuditFactories(),\n ...createOrganizationMemberCreateFactories(),\n // PLATFORM_ACCESS_GRANTS — the four lifecycle transitions. Every field that carries the\n // time-bound/justified/tenant-scoped guarantee (`operatorUserId`, `status`, `expiresAt`,\n // `approvedByUserId`) is server-authored here; the resource exposes no generic CREATE/UPDATE door,\n // so these prefixes are the only way a grant can come into existence or change state.\n ...createPlatformAccessGrantFactories(),\n // ORGANIZATION_UNITS DELETE prefix — refuses to strand a subtree behind a deleted interior\n // node (the unit tree self-edge declares no delete cascade).\n ...createOrganizationUnitDeleteDependentsGuardFactories(),\n // ORGANIZATION_UNITS tree mechanics. CREATE materializes the hierarchy `path` on the inserting\n // write (it was previously never written by anything); MOVE re-parents and re-homes the whole\n // subtree; ARCHIVE/RESTORE own the node-only status transitions. Before these, all three custom\n // operations were declared with no implementation and succeeded while changing nothing.\n ...createOrganizationUnitCreatePathFactories(),\n ...createOrganizationUnitUpdateFactories(),\n ...createOrganizationUnitMoveFactories(),\n ...createOrganizationUnitStatusTransitionFactories(),\n // ORGANIZATION_UNIT_MEMBERS — a unit assignment is a role grant (its `role` is read into\n // `initiatorRoles` as a unit-narrowed entry), so both write paths carry the role-ceiling gate\n // explicitly (custom impls resolve by exact operation path; neither inherits the other's gate).\n // CREATE additionally proves the target unit is in the caller's tenant. All three paths emit the\n // matching audit event: grant and re-grade via ORGANIZATION_UNIT_MEMBER_ROLE_CHANGED, revocation\n // via ORGANIZATION_UNIT_MEMBER_REMOVED — without the last one an authorization-filtered trail\n // would show unit privileges granted and never removed. DELETE must capture the revoked role in\n // its PREFIX: a delete postfix cannot read the deleted document.\n ...createOrganizationUnitMemberCreateFactories(),\n ...createOrganizationUnitMemberUpdateFactories(),\n ...createOrganizationUnitMemberDeleteFactories(),\n // Account/entity lifecycle transitions (SUSPEND / REACTIVATE / DEACTIVATE_ACCOUNT …). One shared\n // implementation across resources, declared as data — see\n // `resource-status-transition.definitions.backend.ts` for the state machine and for why\n // `organizations | activate|suspend` are not in the list yet.\n ...createEngineResourceStatusTransitionFactories(),\n // INBOUND_CONTACTS CREATE prefix — stamps the backend-only `emailUserMatch`\n // triage signal (does the lead email match an existing active/inactive user).\n ...createInboundContactCreateFactories(),\n // USERS application-role administration. `assign_roles` / `revoke_roles` translate their `roles`\n // request contract into set algebra over the persisted `appRoles` (they previously named a field\n // that is not a schema path and wrote nothing); CREATE/UPDATE carry the role-ceiling gate on the\n // same field, which nothing measured before. All four emit USER_APP_ROLES_CHANGED.\n ...createUserRoleSetOperationFactories(),\n ...createUserCoreRoleCeilingFactories(),\n // USERS force_password_reset — mints a single-use reset token for the TARGET, mails it to\n // them, evicts their live sessions, and records the acting administrator plus their reason.\n // Previously declared UPDATE-like with no handler, so it answered 200 while minting nothing\n // and the declared `{ resetToken, resetUrl }` response could never be produced (that handback\n // is now gone — it was an account-takeover primitive).\n ...createUserForcePasswordResetFactories(),\n // USERS DELETE — emits USER_DELETED. The event type and its SIEM classification existed from the\n // start but NOTHING produced them, so identity destruction left no evidence at all. Post-commit\n // by construction; reads the pre-deletion snapshot because `email` / `appRoles` are unrecoverable\n // once the row is gone.\n ...createUserDeletionAuditFactories(),\n // USERS DELETE — the last-super-administrator floor. Registered at priority 50 so it refuses\n // BEFORE the deletion-audit registration above (default 100) prepares anything: destroying the row\n // that holds the last application authority is the same unrecoverable lockout as revoking the role\n // off it, which the role-administration registrations refuse on their own paths.\n ...createUserSuperAdminFloorFactories(),\n ...createApiKeyCreateFactories(),\n ...createApiKeyRotateFactories(),\n ...createApiKeyRegenerateFactories(),\n ...createApiKeyExtendExpiryFactories(),\n ...createApiKeyUsageStatsFactories(),\n ...createApiKeyDeactivateFactories(),\n ...createApiKeyReactivateFactories(),\n // OAuth Clients (registered client-credentials front — mirrors API Keys mint pipeline)\n ...createOAuthClientCreateFactories(),\n ...createOAuthClientRotateFactories(),\n ...createOAuthClientRegenerateFactories(),\n ...createOrganizationFeaturesAdminWritePathFactories(),\n ...createApplicationFeaturesAdminWritePathFactories(),\n ...createScopeFeaturesCacheInvalidationFactories(),\n ...createAuditLogsExportFactories(),\n // Webhook (M2M outbound) domain — the public-key READ postfix existed but was\n // never registered (the `applicationPublicKeyPem` field silently never\n // surfaced); registered here together with the RETRY / PURGE_OLD impls.\n ...createWebhookConfigReadPublicKeyFactories(),\n ...createM2MWebhookDeliveryLogRetryFactories(),\n ...createM2MWebhookDeliveryLogPurgeOldFactories(),\n // TEST_ENDPOINT — fires one signed synthetic delivery through the SAME transport the\n // delivery worker uses and returns the diagnostic. Previously declared READ-like with no\n // handler, so the core read answered 200 with the config row and an unreachable URL still\n // reported success.\n ...createWebhookConfigTestEndpointFactories(),\n]\n"]}
|
|
1
|
+
{"version":3,"file":"custom-service-implementations.backend.definition.js","sourceRoot":"","sources":["../../../../../src/resources/models/custom-service-implementations.backend.definition.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport type { ResourceConfiguration_Operation } from '@wildo-ai/saas-models';\nimport type { ResourceOperationCustomImplementationBase } from '~wildo-backend-lib/base-classes/services/services/resource-operation-custom-implementation-base.backend.service';\nimport { ResourceCustomServiceImplementationFactory } from '~wildo-backend-lib/base-classes/services/services/resource-operation-custom-implementation.factory.backend';\nimport { userSelfCustomImplementations } from '~wildo-backend-lib/users/services/user-self-custom-implementations.backend';\nimport { billingCustomImplementations } from '~wildo-backend-lib/billing/services/custom-impl/billing-custom-implementations.backend';\nimport { lifecycleCustomImplementations } from '~wildo-backend-lib/guidance/services/lifecycle-custom-implementations.backend';\nimport { scopedStateReadCustomImplementations } from '~wildo-backend-lib/guidance/services/scoped-state-read-custom-implementations.backend';\nimport { authCustomImplementations } from '~wildo-backend-lib/security/authentications/services/custom-impls/auth-custom-implementations.backend';\nimport { createAuditLogsExportFactories } from '~wildo-backend-lib/compliance/audit-trails/audit-logs.custom-impl.backend.service';\nimport { createOrganizationCreateFactories, createOrganizationLifecycleFactories } from '~wildo-backend-lib/organizations/services/organization-custom-implementation.backend.service';\nimport { createOrganizationDeletionAuditFactories } from '~wildo-backend-lib/organizations/services/organization-deletion-audit.custom-impl.backend.service';\nimport { createOrganizationProviderCredentialFactories } from '~wildo-backend-lib/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service';\nimport { createUserProviderCredentialFactories } from '~wildo-backend-lib/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service';\nimport { createEngineResourceStatusTransitionFactories } from '~wildo-backend-lib/base-classes/services/services/resource-status-transition.definitions.backend';\nimport { createOrganizationMemberCreateFactories } from '~wildo-backend-lib/organizations/services/organization-member-custom-implementation.backend.service';\nimport { createPlatformAccessGrantFactories } from '~wildo-backend-lib/security/authorizations/platform-access-grant-custom-implementation.backend.service';\nimport {\n createOrganizationUnitCreatePathFactories,\n createOrganizationUnitDeleteDependentsGuardFactories,\n createOrganizationUnitMoveFactories,\n createOrganizationUnitStatusTransitionFactories,\n createOrganizationUnitUpdateFactories,\n} from '~wildo-backend-lib/organizations/services/organization-unit-custom-implementation.backend.service';\nimport {\n createOrganizationUnitMemberCreateFactories,\n createOrganizationUnitMemberDeleteFactories,\n createOrganizationUnitMemberUpdateFactories,\n} from '~wildo-backend-lib/organizations/services/organization-unit-member-custom-implementation.backend.service';\nimport { createInboundContactCreateFactories } from '~wildo-backend-lib/users/services/inbound-contact-custom-implementation.backend.service';\nimport {\n createUserCoreRoleCeilingFactories,\n createUserRoleSetOperationFactories,\n} from '~wildo-backend-lib/users/services/user-role-administration.custom-impl.backend.service';\nimport { createUserForcePasswordResetFactories } from '~wildo-backend-lib/users/services/user-force-password-reset.custom-impl.backend.service';\nimport { createUserReadRetainedFactories } from '~wildo-backend-lib/users/services/user-read-retained.custom-impl.backend.service';\nimport { createUserDeletionAuditFactories } from '~wildo-backend-lib/users/services/user-deletion-audit.custom-impl.backend.service';\nimport { createUserSuperAdminFloorFactories } from '~wildo-backend-lib/users/services/user-super-admin-floor.custom-impl.backend.service';\nimport {\n createApiKeyCreateFactories,\n createApiKeyRotateFactories,\n createApiKeyRegenerateFactories,\n createApiKeyExtendExpiryFactories,\n createApiKeyUsageStatsFactories,\n createApiKeyDeactivateFactories,\n createApiKeyExpireFactories,\n createApiKeyReactivateFactories,\n} from '~wildo-backend-lib/security/api-keys/api-keys.custom-impl.backend.service';\nimport {\n createOAuthClientCreateFactories,\n createOAuthClientRotateFactories,\n createOAuthClientExpireFactories,\n createOAuthClientRegenerateFactories,\n} from '~wildo-backend-lib/security/oauth-clients/oauth-clients.custom-impl.backend.service';\nimport { createScopeFeaturesCacheInvalidationFactories } from '~wildo-backend-lib/features/services/scope-features-cache-invalidation.custom-impl.backend.service';\nimport { createSiemExportConfigCacheInvalidationFactories } from '~wildo-backend-lib/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service';\nimport { createOrganizationFeaturesAdminWritePathFactories } from '~wildo-backend-lib/features/services/organization-features-admin-write-path.custom-impl.backend.service';\nimport { createApplicationFeaturesAdminWritePathFactories } from '~wildo-backend-lib/features/services/application-features-admin-write-path.custom-impl.backend.service';\nimport { createWebhookConfigReadPublicKeyFactories } from '~wildo-backend-lib/notifications/webhooks/outbound/services/webhook-config-public-key.custom-impl.backend.service';\nimport {\n createM2MWebhookDeliveryLogRetryFactories,\n createM2MWebhookDeliveryLogPurgeOldFactories,\n} from '~wildo-backend-lib/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.custom-impl.backend.service';\nimport { createWebhookConfigTestEndpointFactories } from '~wildo-backend-lib/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service';\n\n\nexport const CoreBackend_ServiceImplementationsFactories : ResourceCustomServiceImplementationFactory[] = [\n ...userSelfCustomImplementations,\n ...billingCustomImplementations,\n ...scopedStateReadCustomImplementations,\n ...lifecycleCustomImplementations,\n ...authCustomImplementations,\n ...createOrganizationCreateFactories(),\n // Tenant lifecycle transitions (WS-A): `request_deletion` on both declared variants + `restore`.\n // These own `Organization.status`, which generic UPDATE may not write.\n ...createOrganizationLifecycleFactories(),\n // ORGANIZATIONS DELETE — emits ORGANIZATION_DELETED. The event type, its typed event-data schema\n // and its SIEM classification all existed from the start but NOTHING produced them, so destroying\n // a whole tenant left no evidence at all (the exact sibling of the USER_DELETED gap below).\n // Registered on BOTH declared doors — the org-admin default AND the super-admin `admin` variant —\n // because custom impls resolve by an exact operation-path key; one registration would have left\n // the privileged cross-tenant route unaudited. Post-commit by construction; reads the pre-deletion\n // snapshot because `name` / `slug` are unrecoverable once the row is gone.\n ...createOrganizationDeletionAuditFactories(),\n // Seals every organization provider credential on write, and audits the grant lifecycle. Without\n // this registration the resource stores plaintext secrets behind a route that still answers 200.\n ...createOrganizationProviderCredentialFactories(),\n ...createUserProviderCredentialFactories(),\n ...createOrganizationMemberCreateFactories(),\n // PLATFORM_ACCESS_GRANTS — the four lifecycle transitions. Every field that carries the\n // time-bound/justified/tenant-scoped guarantee (`operatorUserId`, `status`, `expiresAt`,\n // `approvedByUserId`) is server-authored here; the resource exposes no generic CREATE/UPDATE door,\n // so these prefixes are the only way a grant can come into existence or change state.\n ...createPlatformAccessGrantFactories(),\n // ORGANIZATION_UNITS DELETE prefix — refuses to strand a subtree behind a deleted interior\n // node (the unit tree self-edge declares no delete cascade).\n ...createOrganizationUnitDeleteDependentsGuardFactories(),\n // ORGANIZATION_UNITS tree mechanics. CREATE materializes the hierarchy `path` on the inserting\n // write (it was previously never written by anything); MOVE re-parents and re-homes the whole\n // subtree; ARCHIVE/RESTORE own the node-only status transitions. Before these, all three custom\n // operations were declared with no implementation and succeeded while changing nothing.\n ...createOrganizationUnitCreatePathFactories(),\n ...createOrganizationUnitUpdateFactories(),\n ...createOrganizationUnitMoveFactories(),\n ...createOrganizationUnitStatusTransitionFactories(),\n // ORGANIZATION_UNIT_MEMBERS — a unit assignment is a role grant (its `role` is read into\n // `initiatorRoles` as a unit-narrowed entry), so both write paths carry the role-ceiling gate\n // explicitly (custom impls resolve by exact operation path; neither inherits the other's gate).\n // CREATE additionally proves the target unit is in the caller's tenant. All three paths emit the\n // matching audit event: grant and re-grade via ORGANIZATION_UNIT_MEMBER_ROLE_CHANGED, revocation\n // via ORGANIZATION_UNIT_MEMBER_REMOVED — without the last one an authorization-filtered trail\n // would show unit privileges granted and never removed. DELETE must capture the revoked role in\n // its PREFIX: a delete postfix cannot read the deleted document.\n ...createOrganizationUnitMemberCreateFactories(),\n ...createOrganizationUnitMemberUpdateFactories(),\n ...createOrganizationUnitMemberDeleteFactories(),\n // Account/entity lifecycle transitions (SUSPEND / REACTIVATE / DEACTIVATE_ACCOUNT …). One shared\n // implementation across resources, declared as data — see\n // `resource-status-transition.definitions.backend.ts` for the state machine and for why\n // `organizations | activate|suspend` are not in the list yet.\n ...createEngineResourceStatusTransitionFactories(),\n // INBOUND_CONTACTS CREATE prefix — stamps the backend-only `emailUserMatch`\n // triage signal (does the lead email match an existing active/inactive user).\n ...createInboundContactCreateFactories(),\n // USERS application-role administration. `assign_roles` / `revoke_roles` translate their `roles`\n // request contract into set algebra over the persisted `appRoles` (they previously named a field\n // that is not a schema path and wrote nothing); CREATE/UPDATE carry the role-ceiling gate on the\n // same field, which nothing measured before. All four emit USER_APP_ROLES_CHANGED.\n ...createUserRoleSetOperationFactories(),\n ...createUserCoreRoleCeilingFactories(),\n // USERS force_password_reset — mints a single-use reset token for the TARGET, mails it to\n // them, evicts their live sessions, and records the acting administrator plus their reason.\n // Previously declared UPDATE-like with no handler, so it answered 200 while minting nothing\n // and the declared `{ resetToken, resetUrl }` response could never be produced (that handback\n // is now gone — it was an account-takeover primitive).\n ...createUserForcePasswordResetFactories(),\n // #490 — the operator surface for the audited see-through read of a RETAINED user row.\n ...createUserReadRetainedFactories(),\n // USERS DELETE — emits USER_DELETED. The event type and its SIEM classification existed from the\n // start but NOTHING produced them, so identity destruction left no evidence at all. Post-commit\n // by construction; reads the pre-deletion snapshot because `email` / `appRoles` are unrecoverable\n // once the row is gone.\n ...createUserDeletionAuditFactories(),\n // USERS DELETE — the last-super-administrator floor. Registered at priority 50 so it refuses\n // BEFORE the deletion-audit registration above (default 100) prepares anything: destroying the row\n // that holds the last application authority is the same unrecoverable lockout as revoking the role\n // off it, which the role-administration registrations refuse on their own paths.\n ...createUserSuperAdminFloorFactories(),\n ...createApiKeyCreateFactories(),\n ...createApiKeyRotateFactories(),\n ...createApiKeyRegenerateFactories(),\n ...createApiKeyExtendExpiryFactories(),\n ...createApiKeyUsageStatsFactories(),\n ...createApiKeyDeactivateFactories(),\n ...createApiKeyReactivateFactories(),\n // ACTIVE → EXPIRED, dispatched only by the credential-expiry sweep (#413).\n ...createApiKeyExpireFactories(),\n // OAuth Clients (registered client-credentials front — mirrors API Keys mint pipeline)\n ...createOAuthClientCreateFactories(),\n ...createOAuthClientRotateFactories(),\n ...createOAuthClientRegenerateFactories(),\n ...createOAuthClientExpireFactories(),\n ...createOrganizationFeaturesAdminWritePathFactories(),\n ...createApplicationFeaturesAdminWritePathFactories(),\n ...createScopeFeaturesCacheInvalidationFactories(),\n ...createSiemExportConfigCacheInvalidationFactories(),\n ...createAuditLogsExportFactories(),\n // Webhook (M2M outbound) domain — the public-key READ postfix existed but was\n // never registered (the `applicationPublicKeyPem` field silently never\n // surfaced); registered here together with the RETRY / PURGE_OLD impls.\n ...createWebhookConfigReadPublicKeyFactories(),\n ...createM2MWebhookDeliveryLogRetryFactories(),\n ...createM2MWebhookDeliveryLogPurgeOldFactories(),\n // TEST_ENDPOINT — fires one signed synthetic delivery through the SAME transport the\n // delivery worker uses and returns the diagnostic. Previously declared READ-like with no\n // handler, so the core read answered 200 with the config row and an unreachable URL still\n // reported success.\n ...createWebhookConfigTestEndpointFactories(),\n]\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources-operations.backend.definitions.d.ts","sourceRoot":"","sources":["../../../../../src/resources/models/resources-operations.backend.definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,8CAA8C,EAAE,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"resources-operations.backend.definitions.d.ts","sourceRoot":"","sources":["../../../../../src/resources/models/resources-operations.backend.definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,8CAA8C,EAAE,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAQxE,eAAO,MAAM,wCAAwC,EAAE,8CAA8C,CAAC,mBAAmB,CAKxH,CAAC"}
|
|
@@ -3,9 +3,11 @@ import { BackendResourceType } from './resources-types.backend.schemas.js';
|
|
|
3
3
|
import { consumableTokens_ResourceConfiguration_InitializationFactory } from '../../security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.js';
|
|
4
4
|
import { dataSeedRunResourceConfiguration_InitializationFactory } from '../../data-seeding/models/data-seed-run.shared.resources-config.schemas.js';
|
|
5
5
|
import { externalDataPipelineStateResourceConfiguration_InitializationFactory } from '../../external-data/models/external-data-pipeline-state.backend.schemas.js';
|
|
6
|
+
import { billingProviderEventSettlementResourceConfiguration_InitializationFactory } from '../../billing/models/billing-provider-event-settlement.backend.schemas.js';
|
|
6
7
|
export const backendResourcesConfigurationsFactoryMap = {
|
|
7
8
|
[BackendResourceType.CONSUMABLE_TOKENS]: consumableTokens_ResourceConfiguration_InitializationFactory,
|
|
8
9
|
[BackendResourceType.DATA_SEED_RUN]: dataSeedRunResourceConfiguration_InitializationFactory,
|
|
9
10
|
[BackendResourceType.EXTERNAL_DATA_PIPELINE_STATE]: externalDataPipelineStateResourceConfiguration_InitializationFactory,
|
|
11
|
+
[BackendResourceType.BILLING_PROVIDER_EVENT_SETTLEMENTS]: billingProviderEventSettlementResourceConfiguration_InitializationFactory,
|
|
10
12
|
};
|
|
11
13
|
//# sourceMappingURL=resources-operations.backend.definitions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources-operations.backend.definitions.js","sourceRoot":"","sources":["../../../../../src/resources/models/resources-operations.backend.definitions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,iCAAiC;AACjC,OAAO,EAAE,4DAA4D,EAAE,MAAM,yGAAyG,CAAC;AACvL,OAAO,EAAE,sDAAsD,EAAE,MAAM,sFAAsF,CAAC;AAC9J,OAAO,EAAE,oEAAoE,EAAE,MAAM,sFAAsF,CAAC;
|
|
1
|
+
{"version":3,"file":"resources-operations.backend.definitions.js","sourceRoot":"","sources":["../../../../../src/resources/models/resources-operations.backend.definitions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,iCAAiC;AACjC,OAAO,EAAE,4DAA4D,EAAE,MAAM,yGAAyG,CAAC;AACvL,OAAO,EAAE,sDAAsD,EAAE,MAAM,sFAAsF,CAAC;AAC9J,OAAO,EAAE,oEAAoE,EAAE,MAAM,sFAAsF,CAAC;AAC5K,OAAO,EAAE,yEAAyE,EAAE,MAAM,qFAAqF,CAAC;AAEhL,MAAM,CAAC,MAAM,wCAAwC,GAAwE;IAC3H,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,4DAA4D;IACrG,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,sDAAsD;IAC3F,CAAC,mBAAmB,CAAC,4BAA4B,CAAC,EAAE,oEAAoE;IACxH,CAAC,mBAAmB,CAAC,kCAAkC,CAAC,EAAE,yEAAyE;CACpI,CAAC","sourcesContent":["import { AnyResourceConfiguration, ResourceRelationship, ResourceConfiguration_InitializationFactoryMap } from '@wildo-ai/saas-models';\nimport { BackendResourceType } from './resources-types.backend.schemas';\n\n// import resource config schemas\nimport { consumableTokens_ResourceConfiguration_InitializationFactory } from '~wildo-backend-lib/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas';\nimport { dataSeedRunResourceConfiguration_InitializationFactory } from '~wildo-backend-lib/data-seeding/models/data-seed-run.shared.resources-config.schemas';\nimport { externalDataPipelineStateResourceConfiguration_InitializationFactory } from '~wildo-backend-lib/external-data/models/external-data-pipeline-state.backend.schemas';\nimport { billingProviderEventSettlementResourceConfiguration_InitializationFactory } from '~wildo-backend-lib/billing/models/billing-provider-event-settlement.backend.schemas';\n\nexport const backendResourcesConfigurationsFactoryMap: ResourceConfiguration_InitializationFactoryMap<BackendResourceType> = {\n [BackendResourceType.CONSUMABLE_TOKENS]: consumableTokens_ResourceConfiguration_InitializationFactory,\n [BackendResourceType.DATA_SEED_RUN]: dataSeedRunResourceConfiguration_InitializationFactory,\n [BackendResourceType.EXTERNAL_DATA_PIPELINE_STATE]: externalDataPipelineStateResourceConfiguration_InitializationFactory,\n [BackendResourceType.BILLING_PROVIDER_EVENT_SETTLEMENTS]: billingProviderEventSettlementResourceConfiguration_InitializationFactory,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources-relationships.backend.definitions.d.ts","sourceRoot":"","sources":["../../../../../src/resources/models/resources-relationships.backend.definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4F,oBAAoB,EAAwF,MAAM,uBAAuB,CAAC;AAG7O,eAAO,MAAM,6BAA6B,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"resources-relationships.backend.definitions.d.ts","sourceRoot":"","sources":["../../../../../src/resources/models/resources-relationships.backend.definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4F,oBAAoB,EAAwF,MAAM,uBAAuB,CAAC;AAG7O,eAAO,MAAM,6BAA6B,EAAE,oBAAoB,EA8E/D,CAAC"}
|
|
@@ -38,5 +38,19 @@ export const backendResourcesRelationships = [
|
|
|
38
38
|
nature: RelationshipNature.REFERENCE,
|
|
39
39
|
contextPolicy: { enabled: false }
|
|
40
40
|
}),
|
|
41
|
+
// BillingProviderEventSettlement scope anchor — same posture as the two above: internal
|
|
42
|
+
// bookkeeping, APPLICATION-tier, STANDALONE to stay off the URL surface.
|
|
43
|
+
//
|
|
44
|
+
// APPLICATION rather than the billing account's own scope, deliberately. The claim must be
|
|
45
|
+
// takeable BEFORE the handler knows which pool it will credit — that is the whole point of
|
|
46
|
+
// claiming before the money write — and it is keyed by the PROVIDER's event identity, which is
|
|
47
|
+
// unique across the deployment rather than within one tenant. Anchoring it under an organization
|
|
48
|
+
// would make the ledger's uniqueness tenant-relative for a key that is not.
|
|
49
|
+
createResourcesRelationship(CoreResourceType.APPLICATION, BackendResourceType.BILLING_PROVIDER_EVENT_SETTLEMENTS, ResourceRelationshipCardinality.ONE, ResourceRelationshipCardinality.MANY, {
|
|
50
|
+
accessScopeStrategy: ResourceRelationshipAccessScopeStrategy.STANDALONE,
|
|
51
|
+
isPrimaryScope: true,
|
|
52
|
+
nature: RelationshipNature.REFERENCE,
|
|
53
|
+
contextPolicy: { enabled: false }
|
|
54
|
+
}),
|
|
41
55
|
];
|
|
42
56
|
//# sourceMappingURL=resources-relationships.backend.definitions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources-relationships.backend.definitions.js","sourceRoot":"","sources":["../../../../../src/resources/models/resources-relationships.backend.definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,uCAAuC,EAAwB,+BAA+B,EAAE,gBAAgB,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAC;AAC7O,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,MAAM,CAAC,MAAM,6BAA6B,GAA2B;IAEnE,iCAAiC;IACjC,2BAA2B,CACzB,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,iBAAiB,EACnE,+BAA+B,CAAC,GAAG,EAAE,+BAA+B,CAAC,IAAI,EACzE;QACE,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE,kBAAkB,CAAC,SAAS;QACpC,sEAAsE;QACtE,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;KAClC,CACF;IAED,2BAA2B,CACzB,gBAAgB,CAAC,aAAa,EAAE,mBAAmB,CAAC,iBAAiB,EACrE,+BAA+B,CAAC,GAAG,EAAE,+BAA+B,CAAC,IAAI,EACzE;QACE,yBAAyB,EAAE,iCAAiC,CAAC,QAAQ;QACrE,mBAAmB,EAAE,uCAAuC,CAAC,UAAU;QACvE,MAAM,EAAE,kBAAkB,CAAC,SAAS;QACpC,sEAAsE;QACtE,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;KAClC,CACF;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,kEAAkE;IAClE,yEAAyE;IACzE,kCAAkC;IAClC,2BAA2B,CACzB,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,aAAa,EAC/D,+BAA+B,CAAC,GAAG,EAAE,+BAA+B,CAAC,IAAI,EACzE;QACE,mBAAmB,EAAE,uCAAuC,CAAC,UAAU;QACvE,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE,kBAAkB,CAAC,SAAS;QACpC,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;KAClC,CACF;IAED,iFAAiF;IACjF,8DAA8D;IAC9D,gEAAgE;IAChE,yDAAyD;IACzD,2BAA2B,CACzB,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,4BAA4B,EAC9E,+BAA+B,CAAC,GAAG,EAAE,+BAA+B,CAAC,IAAI,EACzE;QACE,mBAAmB,EAAE,uCAAuC,CAAC,UAAU;QACvE,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE,kBAAkB,CAAC,SAAS;QACpC,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;KAClC,CACF;CAEF,CAAC","sourcesContent":["import { createResourcesRelationship, RelationshipNature, ResourceRelationshipAccessScopeStrategy, ResourceRelationship, ResourceRelationshipCardinality, CoreResourceType, ResourceParentResourceRequirement } from \"@wildo-ai/saas-models\";\nimport { BackendResourceType } from \"./resources-types.backend.schemas\";\n\nexport const backendResourcesRelationships: ResourceRelationship[] = [\n \n // ConsumableTokens relationships\n createResourcesRelationship(\n CoreResourceType.APPLICATION, BackendResourceType.CONSUMABLE_TOKENS, \n ResourceRelationshipCardinality.ONE, ResourceRelationshipCardinality.MANY,\n { \n isPrimaryScope: true,\n nature: RelationshipNature.REFERENCE,\n // SECURITY: Consumable tokens are sensitive - never fetch via context\n contextPolicy: { enabled: false }\n }\n ),\n\n createResourcesRelationship(\n CoreResourceType.ORGANIZATIONS, BackendResourceType.CONSUMABLE_TOKENS, \n ResourceRelationshipCardinality.ONE, ResourceRelationshipCardinality.MANY,\n { \n parentResourceRequirement: ResourceParentResourceRequirement.OPTIONAL,\n accessScopeStrategy: ResourceRelationshipAccessScopeStrategy.STANDALONE,\n nature: RelationshipNature.REFERENCE,\n // SECURITY: Consumable tokens are sensitive - never fetch via context\n contextPolicy: { enabled: false }\n }\n ),\n\n // DataSeedRuns scope anchor — internal idempotency ledger, APPLICATION-tier.\n // STANDALONE keeps the rel off the URL surface (data-seeding is administered\n // through dedicated controllers, not parent-scoped routes); `isPrimaryScope`\n // anchors the resource's `resourcePrimaryScope` enum to APPLICATION so the\n // registry-layer factory's no-fallback throw stays satisfied. See\n // `resources-relationships.shared.factory.ts` Guard 1 for the orthogonal\n // ownership-vs-routing rationale.\n createResourcesRelationship(\n CoreResourceType.APPLICATION, BackendResourceType.DATA_SEED_RUN,\n ResourceRelationshipCardinality.ONE, ResourceRelationshipCardinality.MANY,\n {\n accessScopeStrategy: ResourceRelationshipAccessScopeStrategy.STANDALONE,\n isPrimaryScope: true,\n nature: RelationshipNature.REFERENCE,\n contextPolicy: { enabled: false }\n }\n ),\n\n // ExternalDataPipelineState scope anchor — same posture as DataSeedRun: internal\n // pipeline bookkeeping, APPLICATION-tier (slice 1 admits only\n // SINGLE_TENANT_BINDING pipelines, so a pipeline is app-wide by\n // construction), STANDALONE to stay off the URL surface.\n createResourcesRelationship(\n CoreResourceType.APPLICATION, BackendResourceType.EXTERNAL_DATA_PIPELINE_STATE,\n ResourceRelationshipCardinality.ONE, ResourceRelationshipCardinality.MANY,\n {\n accessScopeStrategy: ResourceRelationshipAccessScopeStrategy.STANDALONE,\n isPrimaryScope: true,\n nature: RelationshipNature.REFERENCE,\n contextPolicy: { enabled: false }\n }\n ),\n\n];\n"]}
|
|
1
|
+
{"version":3,"file":"resources-relationships.backend.definitions.js","sourceRoot":"","sources":["../../../../../src/resources/models/resources-relationships.backend.definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,uCAAuC,EAAwB,+BAA+B,EAAE,gBAAgB,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAC;AAC7O,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,MAAM,CAAC,MAAM,6BAA6B,GAA2B;IAEnE,iCAAiC;IACjC,2BAA2B,CACzB,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,iBAAiB,EACnE,+BAA+B,CAAC,GAAG,EAAE,+BAA+B,CAAC,IAAI,EACzE;QACE,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE,kBAAkB,CAAC,SAAS;QACpC,sEAAsE;QACtE,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;KAClC,CACF;IAED,2BAA2B,CACzB,gBAAgB,CAAC,aAAa,EAAE,mBAAmB,CAAC,iBAAiB,EACrE,+BAA+B,CAAC,GAAG,EAAE,+BAA+B,CAAC,IAAI,EACzE;QACE,yBAAyB,EAAE,iCAAiC,CAAC,QAAQ;QACrE,mBAAmB,EAAE,uCAAuC,CAAC,UAAU;QACvE,MAAM,EAAE,kBAAkB,CAAC,SAAS;QACpC,sEAAsE;QACtE,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;KAClC,CACF;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,kEAAkE;IAClE,yEAAyE;IACzE,kCAAkC;IAClC,2BAA2B,CACzB,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,aAAa,EAC/D,+BAA+B,CAAC,GAAG,EAAE,+BAA+B,CAAC,IAAI,EACzE;QACE,mBAAmB,EAAE,uCAAuC,CAAC,UAAU;QACvE,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE,kBAAkB,CAAC,SAAS;QACpC,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;KAClC,CACF;IAED,iFAAiF;IACjF,8DAA8D;IAC9D,gEAAgE;IAChE,yDAAyD;IACzD,2BAA2B,CACzB,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,4BAA4B,EAC9E,+BAA+B,CAAC,GAAG,EAAE,+BAA+B,CAAC,IAAI,EACzE;QACE,mBAAmB,EAAE,uCAAuC,CAAC,UAAU;QACvE,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE,kBAAkB,CAAC,SAAS;QACpC,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;KAClC,CACF;IAED,wFAAwF;IACxF,yEAAyE;IACzE,EAAE;IACF,2FAA2F;IAC3F,2FAA2F;IAC3F,+FAA+F;IAC/F,iGAAiG;IACjG,4EAA4E;IAC5E,2BAA2B,CACzB,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,kCAAkC,EACpF,+BAA+B,CAAC,GAAG,EAAE,+BAA+B,CAAC,IAAI,EACzE;QACE,mBAAmB,EAAE,uCAAuC,CAAC,UAAU;QACvE,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE,kBAAkB,CAAC,SAAS;QACpC,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;KAClC,CACF;CAEF,CAAC","sourcesContent":["import { createResourcesRelationship, RelationshipNature, ResourceRelationshipAccessScopeStrategy, ResourceRelationship, ResourceRelationshipCardinality, CoreResourceType, ResourceParentResourceRequirement } from \"@wildo-ai/saas-models\";\nimport { BackendResourceType } from \"./resources-types.backend.schemas\";\n\nexport const backendResourcesRelationships: ResourceRelationship[] = [\n \n // ConsumableTokens relationships\n createResourcesRelationship(\n CoreResourceType.APPLICATION, BackendResourceType.CONSUMABLE_TOKENS, \n ResourceRelationshipCardinality.ONE, ResourceRelationshipCardinality.MANY,\n { \n isPrimaryScope: true,\n nature: RelationshipNature.REFERENCE,\n // SECURITY: Consumable tokens are sensitive - never fetch via context\n contextPolicy: { enabled: false }\n }\n ),\n\n createResourcesRelationship(\n CoreResourceType.ORGANIZATIONS, BackendResourceType.CONSUMABLE_TOKENS, \n ResourceRelationshipCardinality.ONE, ResourceRelationshipCardinality.MANY,\n { \n parentResourceRequirement: ResourceParentResourceRequirement.OPTIONAL,\n accessScopeStrategy: ResourceRelationshipAccessScopeStrategy.STANDALONE,\n nature: RelationshipNature.REFERENCE,\n // SECURITY: Consumable tokens are sensitive - never fetch via context\n contextPolicy: { enabled: false }\n }\n ),\n\n // DataSeedRuns scope anchor — internal idempotency ledger, APPLICATION-tier.\n // STANDALONE keeps the rel off the URL surface (data-seeding is administered\n // through dedicated controllers, not parent-scoped routes); `isPrimaryScope`\n // anchors the resource's `resourcePrimaryScope` enum to APPLICATION so the\n // registry-layer factory's no-fallback throw stays satisfied. See\n // `resources-relationships.shared.factory.ts` Guard 1 for the orthogonal\n // ownership-vs-routing rationale.\n createResourcesRelationship(\n CoreResourceType.APPLICATION, BackendResourceType.DATA_SEED_RUN,\n ResourceRelationshipCardinality.ONE, ResourceRelationshipCardinality.MANY,\n {\n accessScopeStrategy: ResourceRelationshipAccessScopeStrategy.STANDALONE,\n isPrimaryScope: true,\n nature: RelationshipNature.REFERENCE,\n contextPolicy: { enabled: false }\n }\n ),\n\n // ExternalDataPipelineState scope anchor — same posture as DataSeedRun: internal\n // pipeline bookkeeping, APPLICATION-tier (slice 1 admits only\n // SINGLE_TENANT_BINDING pipelines, so a pipeline is app-wide by\n // construction), STANDALONE to stay off the URL surface.\n createResourcesRelationship(\n CoreResourceType.APPLICATION, BackendResourceType.EXTERNAL_DATA_PIPELINE_STATE,\n ResourceRelationshipCardinality.ONE, ResourceRelationshipCardinality.MANY,\n {\n accessScopeStrategy: ResourceRelationshipAccessScopeStrategy.STANDALONE,\n isPrimaryScope: true,\n nature: RelationshipNature.REFERENCE,\n contextPolicy: { enabled: false }\n }\n ),\n\n // BillingProviderEventSettlement scope anchor — same posture as the two above: internal\n // bookkeeping, APPLICATION-tier, STANDALONE to stay off the URL surface.\n //\n // APPLICATION rather than the billing account's own scope, deliberately. The claim must be\n // takeable BEFORE the handler knows which pool it will credit — that is the whole point of\n // claiming before the money write — and it is keyed by the PROVIDER's event identity, which is\n // unique across the deployment rather than within one tenant. Anchoring it under an organization\n // would make the ledger's uniqueness tenant-relative for a key that is not.\n createResourcesRelationship(\n CoreResourceType.APPLICATION, BackendResourceType.BILLING_PROVIDER_EVENT_SETTLEMENTS,\n ResourceRelationshipCardinality.ONE, ResourceRelationshipCardinality.MANY,\n {\n accessScopeStrategy: ResourceRelationshipAccessScopeStrategy.STANDALONE,\n isPrimaryScope: true,\n nature: RelationshipNature.REFERENCE,\n contextPolicy: { enabled: false }\n }\n ),\n\n];\n"]}
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
export declare enum BackendResourceType {
|
|
9
9
|
CONSUMABLE_TOKENS = "consumableTokens",
|
|
10
10
|
DATA_SEED_RUN = "dataSeedRuns",
|
|
11
|
-
EXTERNAL_DATA_PIPELINE_STATE = "etlPipelineStates"
|
|
11
|
+
EXTERNAL_DATA_PIPELINE_STATE = "etlPipelineStates",
|
|
12
|
+
BILLING_PROVIDER_EVENT_SETTLEMENTS = "billingProviderEventSettlements"
|
|
12
13
|
}
|
|
13
14
|
export declare const BackendResourceFieldIdentifier: {
|
|
14
15
|
[key in BackendResourceType]: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources-types.backend.schemas.d.ts","sourceRoot":"","sources":["../../../../../src/resources/models/resources-types.backend.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,oBAAY,mBAAmB;IAC7B,iBAAiB,qBAAqB;IAMtC,aAAa,iBAAiB;IAgB9B,4BAA4B,sBAAsB;
|
|
1
|
+
{"version":3,"file":"resources-types.backend.schemas.d.ts","sourceRoot":"","sources":["../../../../../src/resources/models/resources-types.backend.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,oBAAY,mBAAmB;IAC7B,iBAAiB,qBAAqB;IAMtC,aAAa,iBAAiB;IAgB9B,4BAA4B,sBAAsB;IAQlD,kCAAkC,oCAAoC;CACvE;AAED,eAAO,MAAM,8BAA8B,EAAE;KAAG,GAAG,IAAI,mBAAmB,GAAG,MAAM;CAKlF,CAAC"}
|
|
@@ -28,10 +28,18 @@ export var BackendResourceType;
|
|
|
28
28
|
// both lanes. Code vocabulary and storage identity are allowed to differ; what is NOT allowed
|
|
29
29
|
// is changing this value without the migration that goes with it.
|
|
30
30
|
BackendResourceType["EXTERNAL_DATA_PIPELINE_STATE"] = "etlPipelineStates";
|
|
31
|
+
// Billing webhook idempotency ledger — system resource. ONE row per money-affecting provider
|
|
32
|
+
// event, whose PRIMARY KEY is derived from the event's own identity, so a retry delivered to a
|
|
33
|
+
// second replica collides at the store instead of granting the credits a second time. The
|
|
34
|
+
// process-local `Set` this replaced could not see another replica, could not survive a restart,
|
|
35
|
+
// and evicted its own entries after 10 000 sessions.
|
|
36
|
+
// See `engine/saas-backend-lib/src/billing/models/billing-provider-event-settlement.backend.schemas.ts`.
|
|
37
|
+
BackendResourceType["BILLING_PROVIDER_EVENT_SETTLEMENTS"] = "billingProviderEventSettlements";
|
|
31
38
|
})(BackendResourceType || (BackendResourceType = {}));
|
|
32
39
|
export const BackendResourceFieldIdentifier = {
|
|
33
40
|
[BackendResourceType.CONSUMABLE_TOKENS]: 'consumableTokenId',
|
|
34
41
|
[BackendResourceType.DATA_SEED_RUN]: 'dataSeedRunId',
|
|
35
42
|
[BackendResourceType.EXTERNAL_DATA_PIPELINE_STATE]: 'etlPipelineStateId',
|
|
43
|
+
[BackendResourceType.BILLING_PROVIDER_EVENT_SETTLEMENTS]: 'billingProviderEventSettlementId',
|
|
36
44
|
};
|
|
37
45
|
//# sourceMappingURL=resources-types.backend.schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources-types.backend.schemas.js","sourceRoot":"","sources":["../../../../../src/resources/models/resources-types.backend.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"resources-types.backend.schemas.js","sourceRoot":"","sources":["../../../../../src/resources/models/resources-types.backend.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAN,IAAY,mBAgCX;AAhCD,WAAY,mBAAmB;IAC7B,6DAAsC,CAAA;IAEtC,4EAA4E;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,yFAAyF;IACzF,qDAA8B,CAAA;IAE9B,uFAAuF;IACvF,8FAA8F;IAC9F,+FAA+F;IAC/F,0DAA0D;IAC1D,0GAA0G;IAC1G,EAAE;IACF,gGAAgG;IAChG,6FAA6F;IAC7F,uFAAuF;IACvF,8FAA8F;IAC9F,wFAAwF;IACxF,8FAA8F;IAC9F,8FAA8F;IAC9F,kEAAkE;IAClE,yEAAkD,CAAA;IAElD,6FAA6F;IAC7F,+FAA+F;IAC/F,0FAA0F;IAC1F,gGAAgG;IAChG,qDAAqD;IACrD,yGAAyG;IACzG,6FAAsE,CAAA;AACxE,CAAC,EAhCW,mBAAmB,KAAnB,mBAAmB,QAgC9B;AAED,MAAM,CAAC,MAAM,8BAA8B,GAA6C;IACtF,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,mBAAmB;IAC5D,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,eAAe;IACpD,CAAC,mBAAmB,CAAC,4BAA4B,CAAC,EAAE,oBAAoB;IACxE,CAAC,mBAAmB,CAAC,kCAAkC,CAAC,EAAE,kCAAkC;CAC7F,CAAC","sourcesContent":["/**\n * Backend Resource Types\n *\n * Resource type definitions for SaaS backend infrastructure components.\n * These are backend-specific resources used for internal operations and are\n * never surfaced to frontend bundles (kept out of `@wildo-ai/saas-models`).\n */\n\nexport enum BackendResourceType {\n CONSUMABLE_TOKENS = 'consumableTokens',\n\n // Data Seeding Tracking — system resource (Phase 2 of seeding-first-class).\n // Single source of truth for \"has this seed already run for this scope at\n // this version?\". Written by DataSeedDispatcher before/after every pass.\n // See `engine/saas-backend-lib/src/data-seeding/models/data-seed-run.shared.schemas.ts`.\n DATA_SEED_RUN = 'dataSeedRuns',\n\n // External-data pipeline state — system resource (partial-resource coverage v3, PR-9).\n // ONE row per declared `externalDataPipeline`: the persisted extraction cursor (a pass larger\n // than `maxRowsPerRun` continues across runs and process restarts), plus last-run bookkeeping.\n // Written only by the external-data pipeline run service.\n // See `engine/saas-backend-lib/src/external-data/models/external-data-pipeline-state.backend.schemas.ts`.\n //\n // ⚠ The VALUE stays `etlPipelineStates` while the member speaks the current vocabulary, and the\n // divergence is deliberate: this string is a PERSISTED IDENTITY — it is the PostgreSQL table\n // name, and two generated migrations (app-side `backend-api/migrations`, platform-side\n // `platform-apps-manager/migrations`) are already committed against it. Renaming a table is a\n // migration event, not a rename: the runner freezes an applied migration's bytes in its\n // SHA-256 ledger, so it belongs on the machine that has PostgreSQL and can regenerate + apply\n // both lanes. Code vocabulary and storage identity are allowed to differ; what is NOT allowed\n // is changing this value without the migration that goes with it.\n EXTERNAL_DATA_PIPELINE_STATE = 'etlPipelineStates',\n\n // Billing webhook idempotency ledger — system resource. ONE row per money-affecting provider\n // event, whose PRIMARY KEY is derived from the event's own identity, so a retry delivered to a\n // second replica collides at the store instead of granting the credits a second time. The\n // process-local `Set` this replaced could not see another replica, could not survive a restart,\n // and evicted its own entries after 10 000 sessions.\n // See `engine/saas-backend-lib/src/billing/models/billing-provider-event-settlement.backend.schemas.ts`.\n BILLING_PROVIDER_EVENT_SETTLEMENTS = 'billingProviderEventSettlements',\n}\n\nexport const BackendResourceFieldIdentifier: { [key in BackendResourceType]: string } = {\n [BackendResourceType.CONSUMABLE_TOKENS]: 'consumableTokenId',\n [BackendResourceType.DATA_SEED_RUN]: 'dataSeedRunId',\n [BackendResourceType.EXTERNAL_DATA_PIPELINE_STATE]: 'etlPipelineStateId',\n [BackendResourceType.BILLING_PROVIDER_EVENT_SETTLEMENTS]: 'billingProviderEventSettlementId',\n};\n"]}
|
|
@@ -103,9 +103,9 @@ let ResourceIdBackendService = class ResourceIdBackendService {
|
|
|
103
103
|
*
|
|
104
104
|
* Without this arm such a resource can be LISTed and never READ: the declared platform format
|
|
105
105
|
* admits only an ObjectId or a UUID, and a projection cannot produce either without inventing
|
|
106
|
-
* an identity it does not have. Measured before the arm existed
|
|
107
|
-
*
|
|
108
|
-
*
|
|
106
|
+
* an identity it does not have. Measured before the arm existed, on the workbench's module
|
|
107
|
+
* projection (a resource since superseded by `workbench-domain-resources`): the LIST answered 200
|
|
108
|
+
* with 8 rows while the addressed READ of the row keyed `engine` answered 400 `invalid_format`.
|
|
109
109
|
*/
|
|
110
110
|
if (adapter === PersistenceAdapter.INTROSPECTION) {
|
|
111
111
|
return ResourceIdFormat.INTROSPECTION_SYNTHESIZED;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-id.backend.service.js","sourceRoot":"","sources":["../../../../../src/resources/services/resource-id.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * ResourceId Backend Service\n *\n * Backend-specific service for ID generation, validation, and formatting.\n * Works with both MongoDB ObjectId and PostgreSQL UUID formats.\n *\n * @see DATABASE_AGNOSTIC_REPOSITORY_ANALYSIS.md Section 28.4\n */\n\nimport { injectable, inject, optional } from 'inversify';\nimport { Types } from 'mongoose';\nimport { v4 as uuidv4 } from 'uuid';\nimport {\n ResourceId,\n ResourceIdFormat,\n Resources_SharedUtils,\n PersistenceAdapter,\n PersistenceAdapterType,\n DEFAULT_PERSISTENCE_ADAPTER,\n ErrorType,\n ErrorCustomMessageReference,\n isWildoBackendError,\n} from '@wildo-ai/saas-models';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { resolveDefaultPersistenceAdapter } from '~wildo-backend-lib/databases/models/resolve-persistence-adapter.backend.utils';\nimport type { AppConfigurationService } from '~wildo-backend-lib/config/services/app-configuration.backend.service';\nimport type { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';\nimport type { ResourcesRegistryBackendService } from '~wildo-backend-lib/resources/services/resources-registry.backend.service';\n\n/**\n * Backend service for database-agnostic resource ID operations.\n *\n * Provides:\n * - ID generation (ObjectId or UUID based on configuration)\n * - Format detection and validation\n * - Query formatting (converts string IDs to native database types)\n *\n * @example\n * // Generate ID for a resource\n * const id = resourceIdService.generateForResource('TODOS');\n *\n * // Format ID for database query\n * const queryId = resourceIdService.formatForQuery(id, ResourceIdFormat.OBJECT_ID);\n * // Returns Types.ObjectId for MongoDB queries\n */\n@injectable()\nexport class ResourceIdBackendService {\n constructor(\n @inject(SAAS_SERVICE_TYPES.AppConfigService)\n private readonly appConfigService: AppConfigurationService,\n @inject(SAAS_SERVICE_TYPES.ErrorBuilderService)\n private readonly errorBuilder: ErrorBuilderBackendService,\n @inject(SAAS_SERVICE_TYPES.ResourceRegistryService)\n @optional()\n private readonly resourceRegistry?: ResourcesRegistryBackendService,\n ) {}\n\n // ============================================================================\n // Format Detection\n // ============================================================================\n\n /**\n * Get the default ID format based on app configuration\n */\n getDefaultFormat(): ResourceIdFormat {\n return this.getDeclaredResourceIdFormat();\n }\n\n /**\n * Get the ID format for a specific resource type\n * @param resourceType - The resource type identifier\n * @returns The ID format to use for this resource\n */\n getFormatForResource(_resourceType: string): ResourceIdFormat {\n /**\n * The DECLARED application format, not a function of where this resource is stored.\n *\n * This used to be `adapterToFormat(getAdapterForResource(resourceType))`, which made identity\n * format a side effect of storage. Two things followed, and both are border effects rather\n * than theory:\n *\n * - moving ONE resource to another adapter changed the shape of every id it minted from then\n * on, so a single application accumulated both formats with nothing recording why;\n * - every id minted BEFORE the move then failed `validateForResource`, because that check\n * compared a stored, historical value against the currently-configured format. An adapter\n * change is not supposed to invalidate existing data.\n *\n * The resource type is retained in the signature: per-resource identity formats are a plausible\n * future authoring surface, and the callers should not have to change if it arrives. It is\n * deliberately ignored today for PLATFORM-backed resources — one application, one identity\n * format.\n *\n * The ONE exception is `HTTP_API` (ETL Step 3, paper A gate G2): a synthesized id IS a\n * function of where the rows live — it encodes the remote entity's key components and is\n * never minted here — so an HTTP_API-backed resource resolves to\n * `HTTP_API_SYNTHESIZED`. The historical objection to adapter-derived formats (an adapter\n * change retroactively invalidating minted ids) does not arise: an HTTP_API resource has no\n * minted history, and its charset admission is a superset of both platform formats.\n */\n const adapter = this.getAdapterForResource(_resourceType);\n if (adapter === PersistenceAdapter.HTTP_API) {\n return ResourceIdFormat.HTTP_API_SYNTHESIZED;\n }\n /*\n * INTROSPECTION is the same exception for the same reason, and needs it MORE.\n *\n * An introspected row is derived from the application's own structure per request and stored\n * nowhere, so its id is whatever the projection already calls it — `engine`, or a composed\n * structural key. Nothing mints it, so there is no minted history for an adapter change to\n * invalidate, which is the objection that kept format decoupled from storage everywhere else.\n *\n * Without this arm such a resource can be LISTed and never READ: the declared platform format\n * admits only an ObjectId or a UUID, and a projection cannot produce either without inventing\n * an identity it does not have. Measured before the arm existed — `GET\n * /workbench-application-modules` answered 200 with 8 rows while\n * `/workbench-application-modules/engine` answered 400 `invalid_format`.\n */\n if (adapter === PersistenceAdapter.INTROSPECTION) {\n return ResourceIdFormat.INTROSPECTION_SYNTHESIZED;\n }\n return this.getDeclaredResourceIdFormat();\n }\n\n /**\n * Get the persistence adapter for a resource\n * @param resourceType - The resource type identifier\n * @returns The persistence adapter ('mongodb' or 'postgresql')\n */\n getAdapterForResource(resourceType: string): PersistenceAdapterType {\n if (this.resourceRegistry) {\n try {\n const resourceConfiguration = this.resourceRegistry.tryGetResourceConfiguration(resourceType as any);\n if (resourceConfiguration) {\n return this.assertSupportedAdapter(\n resourceConfiguration.persistenceAdapter ?? this.getDefaultAdapter(),\n );\n }\n throw this.errorBuilder.buildError(ErrorType.INTERNAL, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCE_ID_VALIDATION_FAILED,\n context: { resourceType, message: `Cannot resolve persistence adapter for unregistered resource '${resourceType}'` },\n });\n } catch (error) {\n if (\n isWildoBackendError(error)\n && error.customMessageReference\n === ErrorCustomMessageReference.RESOURCES_REGISTRY_INITIALIZATION_FAILED\n ) {\n return this.getDefaultAdapter();\n }\n throw error;\n }\n }\n\n return this.getDefaultAdapter();\n }\n\n /**\n * Detect the format of an existing ID\n * @param id - The resource ID to analyze\n * @returns The detected format, or null if invalid\n */\n detectFormat(id: ResourceId): ResourceIdFormat | null {\n return Resources_SharedUtils.detectIdFormat(id);\n }\n\n // ============================================================================\n // ID Generation\n // ============================================================================\n\n /**\n * Generate a new resource ID in the specified format\n * @param format - The format to generate (defaults to config default)\n * @returns A new resource ID string\n */\n generate(format?: ResourceIdFormat): ResourceId {\n const targetFormat = format ?? this.getDefaultFormat();\n\n switch (targetFormat) {\n case ResourceIdFormat.OBJECT_ID:\n return new Types.ObjectId().toHexString();\n case ResourceIdFormat.UUID:\n return uuidv4();\n case ResourceIdFormat.HTTP_API_SYNTHESIZED:\n // Synthesized ids are DERIVED from remote key components by the codec authority\n // (`synthesizeHttpApiResourceId`), never minted — minting one here would fabricate an id\n // addressing no remote row.\n throw this.errorBuilder.buildError(ErrorType.CONFIGURATION, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCE_ID_VALIDATION_FAILED,\n context: {\n reason: 'http_api_ids_are_synthesized_never_minted',\n targetFormat,\n },\n });\n default:\n throw this.errorBuilder.buildError(ErrorType.VALIDATION, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCE_ID_VALIDATION_FAILED,\n context: { targetFormat }, // diagnostic (log-only)\n });\n }\n }\n\n /**\n * Generate a new resource ID for a specific resource type\n * Uses the configured format for that resource\n * @param resourceType - The resource type identifier\n * @returns A new resource ID string\n */\n generateForResource(resourceType: string): ResourceId {\n const format = this.getFormatForResource(resourceType);\n return this.generate(format);\n }\n\n // ============================================================================\n // Query Formatting\n // ============================================================================\n\n /**\n * Format an ID for use in database queries.\n *\n * - For MongoDB: Returns `Types.ObjectId` instance\n * - For PostgreSQL: Returns the string as-is (UUID)\n *\n * @param id - The resource ID string\n * @param format - The expected format (auto-detected if not provided)\n * @returns The formatted ID for database queries\n */\n formatForQuery(id: ResourceId, format?: ResourceIdFormat): unknown {\n const targetFormat = format ?? this.detectFormat(id);\n\n if (!targetFormat) {\n throw this.errorBuilder.buildError(ErrorType.VALIDATION, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCE_ID_VALIDATION_FAILED,\n context: { id }, // diagnostic (log-only)\n });\n }\n\n switch (targetFormat) {\n case ResourceIdFormat.OBJECT_ID:\n if (!Resources_SharedUtils.isObjectId(id)) {\n throw this.errorBuilder.buildError(ErrorType.VALIDATION, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCE_ID_VALIDATION_FAILED,\n context: { id, expectedFormat: 'ObjectId' },\n });\n }\n return new Types.ObjectId(id);\n case ResourceIdFormat.UUID:\n if (!Resources_SharedUtils.isUUID(id)) {\n throw this.errorBuilder.buildError(ErrorType.VALIDATION, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCE_ID_VALIDATION_FAILED,\n context: { id, expectedFormat: 'UUID' },\n });\n }\n return id; // PostgreSQL uses UUID as string\n case ResourceIdFormat.HTTP_API_SYNTHESIZED:\n // Charset-checked passthrough (paper A gate G2): the synthesized id is an opaque string\n // wherever a platform store holds it (e.g. a String FK column referencing an HTTP_API\n // parent). Decode/canonicality live in the codec authority, not here.\n if (!Resources_SharedUtils.isHttpApiSynthesizedId(id)) {\n throw this.errorBuilder.buildError(ErrorType.VALIDATION, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCE_ID_VALIDATION_FAILED,\n context: { id, expectedFormat: 'HTTP_API_SYNTHESIZED (charset law)' },\n });\n }\n return id;\n default:\n throw this.errorBuilder.buildError(ErrorType.VALIDATION, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCE_ID_VALIDATION_FAILED,\n context: { targetFormat }, // diagnostic (log-only)\n });\n }\n }\n\n /**\n * Format an ID for a specific resource type's database queries\n * @param id - The resource ID string\n * @param resourceType - The resource type identifier\n * @returns The formatted ID for database queries\n */\n formatForResourceQuery(id: ResourceId, resourceType: string): unknown {\n const format = this.getFormatForResource(resourceType);\n return this.formatForQuery(id, format);\n }\n\n // ============================================================================\n // Validation\n // ============================================================================\n\n /**\n * Validate an ID value\n * @param id - The value to validate\n * @param expectedFormat - Optional expected format for strict validation\n * @returns true if valid\n */\n validate(id: unknown, expectedFormat?: ResourceIdFormat): boolean {\n if (typeof id !== 'string') {\n return false;\n }\n\n if (expectedFormat) {\n switch (expectedFormat) {\n case ResourceIdFormat.OBJECT_ID:\n return Resources_SharedUtils.isObjectId(id);\n case ResourceIdFormat.UUID:\n return Resources_SharedUtils.isUUID(id);\n case ResourceIdFormat.HTTP_API_SYNTHESIZED:\n return Resources_SharedUtils.isHttpApiSynthesizedId(id);\n default:\n return false;\n }\n }\n\n return Resources_SharedUtils.isValidResourceId(id);\n }\n\n /**\n * Validate an ID for a specific resource type\n * @param id - The value to validate\n * @param resourceType - The resource type identifier\n * @returns true if valid for the resource's configured format\n */\n validateForResource(id: unknown, _resourceType: string): boolean {\n /**\n * Tolerates ANY well-formed resource id, deliberately — policy governs MINTING, not history.\n *\n * A stored identifier's format is a fact about when it was created, not a statement about\n * current configuration. Rejecting a perfectly well-formed ObjectId because the application now\n * mints UUIDs (or the reverse) would make an id-format change — or, before this was decoupled,\n * an ADAPTER change — retroactively invalidate every existing row, URL and external reference.\n *\n * This is the same split as the continuity rule's \"reads tolerate, acceptance refuses\":\n * {@link generateForResource} applies the declared policy to new identifiers; this check only\n * asks whether the value can be an identifier at all.\n *\n * For an `HTTP_API`-backed resource the admissible shape WIDENS to the synthesized-id charset\n * law (a strict superset of both platform formats — ObjectId hex and UUID both match it), and\n * ONLY there: the widening is keyed on the resource's resolved format, never folded into the\n * shared static validator (paper A: no silent loosening for platform rows).\n */\n const format = this.getFormatForResource(_resourceType);\n if (format === ResourceIdFormat.HTTP_API_SYNTHESIZED) {\n return typeof id === 'string' && Resources_SharedUtils.isHttpApiSynthesizedId(id);\n }\n if (format === ResourceIdFormat.INTROSPECTION_SYNTHESIZED) {\n return typeof id === 'string' && Resources_SharedUtils.isIntrospectionSynthesizedId(id);\n }\n return this.validate(id);\n }\n\n // ============================================================================\n // Private Helpers\n // ============================================================================\n\n /**\n * The default persistence adapter, through the ONE derivation seam (review R2): this resolver\n * feeds the unit-of-work's transaction routing, and reading hydrated config directly here left\n * it blind to the platform-mode construction-time override — the third of three resolvers that\n * had to agree and only agreed by accident. See `resolveDefaultPersistenceAdapter`'s JSDoc.\n */\n private getDefaultAdapter(): PersistenceAdapterType {\n return resolveDefaultPersistenceAdapter(this.appConfigService);\n }\n\n /**\n * Refuse an adapter this build does not implement.\n *\n * This fail-closed used to live in `adapterToFormat`, whose removal would otherwise have deleted\n * it: an unrecognised `persistenceAdapter` (a typo, or a value from a newer build) silently\n * became MongoDB's id format. Format no longer derives from the adapter, so the guard moves to\n * where adapters are actually resolved and keeps protecting every consumer of this method — the\n * persistence unit of work included.\n */\n private assertSupportedAdapter(adapter: PersistenceAdapterType): PersistenceAdapterType {\n if (!Object.values(PersistenceAdapter).includes(adapter as PersistenceAdapter)) {\n throw this.errorBuilder.buildError(ErrorType.CONFIGURATION, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCE_ID_VALIDATION_FAILED,\n context: {\n reason: 'unsupported_persistence_adapter',\n persistenceAdapter: adapter,\n },\n });\n }\n return adapter;\n }\n\n /**\n * The application's declared identity format.\n *\n * Falls back to `OBJECT_ID` when configuration is unavailable (the service is constructed before\n * config load in some bootstrap paths) — the same value every existing application already mints,\n * so an unreadable config cannot silently change identity shape.\n */\n private getDeclaredResourceIdFormat(): ResourceIdFormat {\n try {\n return (this.appConfigService.config as any)?.database?.resourceIdFormat\n ?? ResourceIdFormat.OBJECT_ID;\n } catch {\n return ResourceIdFormat.OBJECT_ID;\n }\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"resource-id.backend.service.js","sourceRoot":"","sources":["../../../../../src/resources/services/resource-id.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * ResourceId Backend Service\n *\n * Backend-specific service for ID generation, validation, and formatting.\n * Works with both MongoDB ObjectId and PostgreSQL UUID formats.\n *\n * @see DATABASE_AGNOSTIC_REPOSITORY_ANALYSIS.md Section 28.4\n */\n\nimport { injectable, inject, optional } from 'inversify';\nimport { Types } from 'mongoose';\nimport { v4 as uuidv4 } from 'uuid';\nimport {\n ResourceId,\n ResourceIdFormat,\n Resources_SharedUtils,\n PersistenceAdapter,\n PersistenceAdapterType,\n DEFAULT_PERSISTENCE_ADAPTER,\n ErrorType,\n ErrorCustomMessageReference,\n isWildoBackendError,\n} from '@wildo-ai/saas-models';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { resolveDefaultPersistenceAdapter } from '~wildo-backend-lib/databases/models/resolve-persistence-adapter.backend.utils';\nimport type { AppConfigurationService } from '~wildo-backend-lib/config/services/app-configuration.backend.service';\nimport type { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';\nimport type { ResourcesRegistryBackendService } from '~wildo-backend-lib/resources/services/resources-registry.backend.service';\n\n/**\n * Backend service for database-agnostic resource ID operations.\n *\n * Provides:\n * - ID generation (ObjectId or UUID based on configuration)\n * - Format detection and validation\n * - Query formatting (converts string IDs to native database types)\n *\n * @example\n * // Generate ID for a resource\n * const id = resourceIdService.generateForResource('TODOS');\n *\n * // Format ID for database query\n * const queryId = resourceIdService.formatForQuery(id, ResourceIdFormat.OBJECT_ID);\n * // Returns Types.ObjectId for MongoDB queries\n */\n@injectable()\nexport class ResourceIdBackendService {\n constructor(\n @inject(SAAS_SERVICE_TYPES.AppConfigService)\n private readonly appConfigService: AppConfigurationService,\n @inject(SAAS_SERVICE_TYPES.ErrorBuilderService)\n private readonly errorBuilder: ErrorBuilderBackendService,\n @inject(SAAS_SERVICE_TYPES.ResourceRegistryService)\n @optional()\n private readonly resourceRegistry?: ResourcesRegistryBackendService,\n ) {}\n\n // ============================================================================\n // Format Detection\n // ============================================================================\n\n /**\n * Get the default ID format based on app configuration\n */\n getDefaultFormat(): ResourceIdFormat {\n return this.getDeclaredResourceIdFormat();\n }\n\n /**\n * Get the ID format for a specific resource type\n * @param resourceType - The resource type identifier\n * @returns The ID format to use for this resource\n */\n getFormatForResource(_resourceType: string): ResourceIdFormat {\n /**\n * The DECLARED application format, not a function of where this resource is stored.\n *\n * This used to be `adapterToFormat(getAdapterForResource(resourceType))`, which made identity\n * format a side effect of storage. Two things followed, and both are border effects rather\n * than theory:\n *\n * - moving ONE resource to another adapter changed the shape of every id it minted from then\n * on, so a single application accumulated both formats with nothing recording why;\n * - every id minted BEFORE the move then failed `validateForResource`, because that check\n * compared a stored, historical value against the currently-configured format. An adapter\n * change is not supposed to invalidate existing data.\n *\n * The resource type is retained in the signature: per-resource identity formats are a plausible\n * future authoring surface, and the callers should not have to change if it arrives. It is\n * deliberately ignored today for PLATFORM-backed resources — one application, one identity\n * format.\n *\n * The ONE exception is `HTTP_API` (ETL Step 3, paper A gate G2): a synthesized id IS a\n * function of where the rows live — it encodes the remote entity's key components and is\n * never minted here — so an HTTP_API-backed resource resolves to\n * `HTTP_API_SYNTHESIZED`. The historical objection to adapter-derived formats (an adapter\n * change retroactively invalidating minted ids) does not arise: an HTTP_API resource has no\n * minted history, and its charset admission is a superset of both platform formats.\n */\n const adapter = this.getAdapterForResource(_resourceType);\n if (adapter === PersistenceAdapter.HTTP_API) {\n return ResourceIdFormat.HTTP_API_SYNTHESIZED;\n }\n /*\n * INTROSPECTION is the same exception for the same reason, and needs it MORE.\n *\n * An introspected row is derived from the application's own structure per request and stored\n * nowhere, so its id is whatever the projection already calls it — `engine`, or a composed\n * structural key. Nothing mints it, so there is no minted history for an adapter change to\n * invalidate, which is the objection that kept format decoupled from storage everywhere else.\n *\n * Without this arm such a resource can be LISTed and never READ: the declared platform format\n * admits only an ObjectId or a UUID, and a projection cannot produce either without inventing\n * an identity it does not have. Measured before the arm existed, on the workbench's module\n * projection (a resource since superseded by `workbench-domain-resources`): the LIST answered 200\n * with 8 rows while the addressed READ of the row keyed `engine` answered 400 `invalid_format`.\n */\n if (adapter === PersistenceAdapter.INTROSPECTION) {\n return ResourceIdFormat.INTROSPECTION_SYNTHESIZED;\n }\n return this.getDeclaredResourceIdFormat();\n }\n\n /**\n * Get the persistence adapter for a resource\n * @param resourceType - The resource type identifier\n * @returns The persistence adapter ('mongodb' or 'postgresql')\n */\n getAdapterForResource(resourceType: string): PersistenceAdapterType {\n if (this.resourceRegistry) {\n try {\n const resourceConfiguration = this.resourceRegistry.tryGetResourceConfiguration(resourceType as any);\n if (resourceConfiguration) {\n return this.assertSupportedAdapter(\n resourceConfiguration.persistenceAdapter ?? this.getDefaultAdapter(),\n );\n }\n throw this.errorBuilder.buildError(ErrorType.INTERNAL, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCE_ID_VALIDATION_FAILED,\n context: { resourceType, message: `Cannot resolve persistence adapter for unregistered resource '${resourceType}'` },\n });\n } catch (error) {\n if (\n isWildoBackendError(error)\n && error.customMessageReference\n === ErrorCustomMessageReference.RESOURCES_REGISTRY_INITIALIZATION_FAILED\n ) {\n return this.getDefaultAdapter();\n }\n throw error;\n }\n }\n\n return this.getDefaultAdapter();\n }\n\n /**\n * Detect the format of an existing ID\n * @param id - The resource ID to analyze\n * @returns The detected format, or null if invalid\n */\n detectFormat(id: ResourceId): ResourceIdFormat | null {\n return Resources_SharedUtils.detectIdFormat(id);\n }\n\n // ============================================================================\n // ID Generation\n // ============================================================================\n\n /**\n * Generate a new resource ID in the specified format\n * @param format - The format to generate (defaults to config default)\n * @returns A new resource ID string\n */\n generate(format?: ResourceIdFormat): ResourceId {\n const targetFormat = format ?? this.getDefaultFormat();\n\n switch (targetFormat) {\n case ResourceIdFormat.OBJECT_ID:\n return new Types.ObjectId().toHexString();\n case ResourceIdFormat.UUID:\n return uuidv4();\n case ResourceIdFormat.HTTP_API_SYNTHESIZED:\n // Synthesized ids are DERIVED from remote key components by the codec authority\n // (`synthesizeHttpApiResourceId`), never minted — minting one here would fabricate an id\n // addressing no remote row.\n throw this.errorBuilder.buildError(ErrorType.CONFIGURATION, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCE_ID_VALIDATION_FAILED,\n context: {\n reason: 'http_api_ids_are_synthesized_never_minted',\n targetFormat,\n },\n });\n default:\n throw this.errorBuilder.buildError(ErrorType.VALIDATION, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCE_ID_VALIDATION_FAILED,\n context: { targetFormat }, // diagnostic (log-only)\n });\n }\n }\n\n /**\n * Generate a new resource ID for a specific resource type\n * Uses the configured format for that resource\n * @param resourceType - The resource type identifier\n * @returns A new resource ID string\n */\n generateForResource(resourceType: string): ResourceId {\n const format = this.getFormatForResource(resourceType);\n return this.generate(format);\n }\n\n // ============================================================================\n // Query Formatting\n // ============================================================================\n\n /**\n * Format an ID for use in database queries.\n *\n * - For MongoDB: Returns `Types.ObjectId` instance\n * - For PostgreSQL: Returns the string as-is (UUID)\n *\n * @param id - The resource ID string\n * @param format - The expected format (auto-detected if not provided)\n * @returns The formatted ID for database queries\n */\n formatForQuery(id: ResourceId, format?: ResourceIdFormat): unknown {\n const targetFormat = format ?? this.detectFormat(id);\n\n if (!targetFormat) {\n throw this.errorBuilder.buildError(ErrorType.VALIDATION, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCE_ID_VALIDATION_FAILED,\n context: { id }, // diagnostic (log-only)\n });\n }\n\n switch (targetFormat) {\n case ResourceIdFormat.OBJECT_ID:\n if (!Resources_SharedUtils.isObjectId(id)) {\n throw this.errorBuilder.buildError(ErrorType.VALIDATION, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCE_ID_VALIDATION_FAILED,\n context: { id, expectedFormat: 'ObjectId' },\n });\n }\n return new Types.ObjectId(id);\n case ResourceIdFormat.UUID:\n if (!Resources_SharedUtils.isUUID(id)) {\n throw this.errorBuilder.buildError(ErrorType.VALIDATION, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCE_ID_VALIDATION_FAILED,\n context: { id, expectedFormat: 'UUID' },\n });\n }\n return id; // PostgreSQL uses UUID as string\n case ResourceIdFormat.HTTP_API_SYNTHESIZED:\n // Charset-checked passthrough (paper A gate G2): the synthesized id is an opaque string\n // wherever a platform store holds it (e.g. a String FK column referencing an HTTP_API\n // parent). Decode/canonicality live in the codec authority, not here.\n if (!Resources_SharedUtils.isHttpApiSynthesizedId(id)) {\n throw this.errorBuilder.buildError(ErrorType.VALIDATION, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCE_ID_VALIDATION_FAILED,\n context: { id, expectedFormat: 'HTTP_API_SYNTHESIZED (charset law)' },\n });\n }\n return id;\n default:\n throw this.errorBuilder.buildError(ErrorType.VALIDATION, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCE_ID_VALIDATION_FAILED,\n context: { targetFormat }, // diagnostic (log-only)\n });\n }\n }\n\n /**\n * Format an ID for a specific resource type's database queries\n * @param id - The resource ID string\n * @param resourceType - The resource type identifier\n * @returns The formatted ID for database queries\n */\n formatForResourceQuery(id: ResourceId, resourceType: string): unknown {\n const format = this.getFormatForResource(resourceType);\n return this.formatForQuery(id, format);\n }\n\n // ============================================================================\n // Validation\n // ============================================================================\n\n /**\n * Validate an ID value\n * @param id - The value to validate\n * @param expectedFormat - Optional expected format for strict validation\n * @returns true if valid\n */\n validate(id: unknown, expectedFormat?: ResourceIdFormat): boolean {\n if (typeof id !== 'string') {\n return false;\n }\n\n if (expectedFormat) {\n switch (expectedFormat) {\n case ResourceIdFormat.OBJECT_ID:\n return Resources_SharedUtils.isObjectId(id);\n case ResourceIdFormat.UUID:\n return Resources_SharedUtils.isUUID(id);\n case ResourceIdFormat.HTTP_API_SYNTHESIZED:\n return Resources_SharedUtils.isHttpApiSynthesizedId(id);\n default:\n return false;\n }\n }\n\n return Resources_SharedUtils.isValidResourceId(id);\n }\n\n /**\n * Validate an ID for a specific resource type\n * @param id - The value to validate\n * @param resourceType - The resource type identifier\n * @returns true if valid for the resource's configured format\n */\n validateForResource(id: unknown, _resourceType: string): boolean {\n /**\n * Tolerates ANY well-formed resource id, deliberately — policy governs MINTING, not history.\n *\n * A stored identifier's format is a fact about when it was created, not a statement about\n * current configuration. Rejecting a perfectly well-formed ObjectId because the application now\n * mints UUIDs (or the reverse) would make an id-format change — or, before this was decoupled,\n * an ADAPTER change — retroactively invalidate every existing row, URL and external reference.\n *\n * This is the same split as the continuity rule's \"reads tolerate, acceptance refuses\":\n * {@link generateForResource} applies the declared policy to new identifiers; this check only\n * asks whether the value can be an identifier at all.\n *\n * For an `HTTP_API`-backed resource the admissible shape WIDENS to the synthesized-id charset\n * law (a strict superset of both platform formats — ObjectId hex and UUID both match it), and\n * ONLY there: the widening is keyed on the resource's resolved format, never folded into the\n * shared static validator (paper A: no silent loosening for platform rows).\n */\n const format = this.getFormatForResource(_resourceType);\n if (format === ResourceIdFormat.HTTP_API_SYNTHESIZED) {\n return typeof id === 'string' && Resources_SharedUtils.isHttpApiSynthesizedId(id);\n }\n if (format === ResourceIdFormat.INTROSPECTION_SYNTHESIZED) {\n return typeof id === 'string' && Resources_SharedUtils.isIntrospectionSynthesizedId(id);\n }\n return this.validate(id);\n }\n\n // ============================================================================\n // Private Helpers\n // ============================================================================\n\n /**\n * The default persistence adapter, through the ONE derivation seam (review R2): this resolver\n * feeds the unit-of-work's transaction routing, and reading hydrated config directly here left\n * it blind to the platform-mode construction-time override — the third of three resolvers that\n * had to agree and only agreed by accident. See `resolveDefaultPersistenceAdapter`'s JSDoc.\n */\n private getDefaultAdapter(): PersistenceAdapterType {\n return resolveDefaultPersistenceAdapter(this.appConfigService);\n }\n\n /**\n * Refuse an adapter this build does not implement.\n *\n * This fail-closed used to live in `adapterToFormat`, whose removal would otherwise have deleted\n * it: an unrecognised `persistenceAdapter` (a typo, or a value from a newer build) silently\n * became MongoDB's id format. Format no longer derives from the adapter, so the guard moves to\n * where adapters are actually resolved and keeps protecting every consumer of this method — the\n * persistence unit of work included.\n */\n private assertSupportedAdapter(adapter: PersistenceAdapterType): PersistenceAdapterType {\n if (!Object.values(PersistenceAdapter).includes(adapter as PersistenceAdapter)) {\n throw this.errorBuilder.buildError(ErrorType.CONFIGURATION, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCE_ID_VALIDATION_FAILED,\n context: {\n reason: 'unsupported_persistence_adapter',\n persistenceAdapter: adapter,\n },\n });\n }\n return adapter;\n }\n\n /**\n * The application's declared identity format.\n *\n * Falls back to `OBJECT_ID` when configuration is unavailable (the service is constructed before\n * config load in some bootstrap paths) — the same value every existing application already mints,\n * so an unreadable config cannot silently change identity shape.\n */\n private getDeclaredResourceIdFormat(): ResourceIdFormat {\n try {\n return (this.appConfigService.config as any)?.database?.resourceIdFormat\n ?? ResourceIdFormat.OBJECT_ID;\n } catch {\n return ResourceIdFormat.OBJECT_ID;\n }\n }\n\n}\n"]}
|
|
@@ -174,11 +174,36 @@ export declare class ResourcesRegistryBackendService {
|
|
|
174
174
|
* Resolution is INTERNAL-preferred, then URL-bearing:
|
|
175
175
|
* 1. If the operation declares an `INTERNAL_CALL` default, return it. This
|
|
176
176
|
* honours author intent for resources whose default for this operation
|
|
177
|
-
* is internal-only (`userIdentityLinks.list`
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
* one trusted callers must use; the URL variant is the
|
|
181
|
-
* surface reached via its keyed/route path.
|
|
177
|
+
* is internal-only (`userIdentityLinks.list`, `users.list`,
|
|
178
|
+
* `inboundContacts.update`) AND for the one resource that declares BOTH
|
|
179
|
+
* an internal and a URL default for the same operation — the internal
|
|
180
|
+
* variant is the one trusted callers must use; the URL variant is the
|
|
181
|
+
* public/admin surface reached via its keyed/route path.
|
|
182
|
+
*
|
|
183
|
+
* **That "BOTH" population is exactly ONE operation: `organizations`
|
|
184
|
+
* CREATE.** Measured 2026-09-08 over all 106 non-test
|
|
185
|
+
* `*resources-config*.ts` files (653 variant blocks), replicating
|
|
186
|
+
* `determineOperationVariantDefault` per variant-type group.
|
|
187
|
+
*
|
|
188
|
+
* This paragraph previously cited `users.list` and `inboundContacts.update`
|
|
189
|
+
* as further both-default examples and BOTH were wrong: the former's
|
|
190
|
+
* `API_CALL` is `isDefault: false, variantKey: "admin"`, and the latter
|
|
191
|
+
* declares no `API_CALL` at all — so neither has a URL-bearing DEFAULT and
|
|
192
|
+
* neither is a case where this method chooses between transports. The
|
|
193
|
+
* correction is recorded rather than silently applied because the false
|
|
194
|
+
* plural made the preference look like a broad, well-trodden policy when it
|
|
195
|
+
* decides exactly one operation — which is what made the agent function-tool
|
|
196
|
+
* plane's blast radius read as unbounded when it was a single, and severe,
|
|
197
|
+
* case (see `9594526e`).
|
|
198
|
+
*
|
|
199
|
+
* ⚠️ **A caller that FACES AN EXTERNAL PRINCIPAL must not use this method.**
|
|
200
|
+
* It answers "which variant does a TRUSTED internal caller want", and for
|
|
201
|
+
* `organizations` CREATE that is the registration-owned path, which skips the
|
|
202
|
+
* creation-policy guard and writes no founding owner. A surface that
|
|
203
|
+
* advertises a public operation to an outside caller owes
|
|
204
|
+
* {@link getOperationPathDefault} instead, so the operation it authorized and
|
|
205
|
+
* advertised is the operation it executes — the invariant the MCP tool plane
|
|
206
|
+
* and the agent function-tool factories both keep.
|
|
182
207
|
* 2. Otherwise return the URL-bearing default (`API_CALL` /
|
|
183
208
|
* `API_CALL_WITH_CALLBACK`) for resources exposed only over HTTP.
|
|
184
209
|
* 3. Otherwise throw `RESOURCES_REGISTRY_OPERATION_PATH_NOT_FOUND`.
|
|
@@ -348,6 +373,36 @@ export declare class ResourcesRegistryBackendService {
|
|
|
348
373
|
protected normalizeResourceConfigurationRelationships(allResourceConfigurations: {
|
|
349
374
|
[key: string]: AnyResourceConfiguration;
|
|
350
375
|
}, allResourceFieldIdentifiers: Record<string, string>): void;
|
|
376
|
+
/**
|
|
377
|
+
* Refuse to start on an incoherent notification-badge declaration.
|
|
378
|
+
*
|
|
379
|
+
* ## What this catches, and why the runtime could not
|
|
380
|
+
*
|
|
381
|
+
* A badge write used to be addressed by a bare `identifier`, resolved against nothing. Two
|
|
382
|
+
* declarations were therefore unfalsifiable:
|
|
383
|
+
*
|
|
384
|
+
* - an operation naming a badge NO definition declares — the write materialized a counter row
|
|
385
|
+
* that no definition described and no screen could render, silently, forever;
|
|
386
|
+
* - two definitions sharing one `(scope, identifier)` — every lookup answers the first, so the
|
|
387
|
+
* second is unreachable while sharing the first's count.
|
|
388
|
+
*
|
|
389
|
+
* Neither produces an error at runtime. The write succeeds; the render finds nothing; nobody is
|
|
390
|
+
* told. So the check belongs where the DECLARATION is, not where the write is, and it fails
|
|
391
|
+
* CLOSED for the same reason the organization-unit narrowing containment above does: a
|
|
392
|
+
* misconfiguration that only manifests as a missing number is one nobody chases.
|
|
393
|
+
*
|
|
394
|
+
* **What a misconfigured application experiences:** the backend does not come up. Startup throws
|
|
395
|
+
* a `CONFIGURATION` error naming every violation — the resource and operation that declared the
|
|
396
|
+
* unresolvable ref, or the duplicated key — beside the keys that ARE registered, so the author
|
|
397
|
+
* reads the fix off the message rather than deriving it. A typo in a `badgeRef` is a refusal at
|
|
398
|
+
* the moment it is authored instead of a badge that never appears in production.
|
|
399
|
+
*
|
|
400
|
+
* The enumeration is TOTAL over both populations rather than sampled: every registered
|
|
401
|
+
* definition, and every `notificationBadgeOperations` entry on every operation of every resource
|
|
402
|
+
* configuration — which is the merged core + application map, so an engine-declared badge is
|
|
403
|
+
* checked on the same terms as an application-declared one.
|
|
404
|
+
*/
|
|
405
|
+
protected validateNotificationBadgeDeclarations(notificationBadgeDefinitions: NotificationBadgeDefinition[], allResourceConfigurations: Record<string, AnyResourceConfiguration>): void;
|
|
351
406
|
/**
|
|
352
407
|
* Validate that all relationships can resolve their FK fields at startup.
|
|
353
408
|
* This catches configuration errors early (e.g., missing resourceFieldIdentifier).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources-registry.backend.service.d.ts","sourceRoot":"","sources":["../../../../../src/resources/services/resources-registry.backend.service.ts"],"names":[],"mappings":"AACA,OAAO,EACH,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"resources-registry.backend.service.d.ts","sourceRoot":"","sources":["../../../../../src/resources/services/resources-registry.backend.service.ts"],"names":[],"mappings":"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"}
|