@wildo-ai/saas-backend-lib 1.1.12 → 1.1.13
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/base-classes/models/manual-controllers.backend.definition.d.ts.map +1 -1
- package/dist/esm/base-classes/models/manual-controllers.backend.definition.js +2 -0
- package/dist/esm/base-classes/models/manual-controllers.backend.definition.js.map +1 -1
- package/dist/esm/base-classes/services/repositories/stored-field-omission.backend.d.ts +4 -0
- package/dist/esm/base-classes/services/repositories/stored-field-omission.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/repositories/stored-field-omission.backend.js +20 -5
- package/dist/esm/base-classes/services/repositories/stored-field-omission.backend.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.d.ts +3 -0
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.js +10 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.d.ts +22 -0
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.js +25 -1
- package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-transaction-persistence.backend.utils.d.ts +38 -3
- package/dist/esm/base-classes/services/services/resource-operation-transaction-persistence.backend.utils.d.ts.map +1 -1
- package/dist/esm/base-classes/services/services/resource-operation-transaction-persistence.backend.utils.js +68 -5
- package/dist/esm/base-classes/services/services/resource-operation-transaction-persistence.backend.utils.js.map +1 -1
- package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.d.ts +2 -2
- 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 +6 -3
- 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/services-registry-handler.backend.service.d.ts +83 -0
- 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 +217 -14
- package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js.map +1 -1
- package/dist/esm/compliance/approval-seals/approval-seal-currency.backend.d.ts +32 -0
- package/dist/esm/compliance/approval-seals/approval-seal-currency.backend.d.ts.map +1 -0
- package/dist/esm/compliance/approval-seals/approval-seal-currency.backend.js +36 -0
- package/dist/esm/compliance/approval-seals/approval-seal-currency.backend.js.map +1 -0
- package/dist/esm/compliance/approval-seals/approval-seal-on-record.backend.d.ts +38 -0
- package/dist/esm/compliance/approval-seals/approval-seal-on-record.backend.d.ts.map +1 -0
- package/dist/esm/compliance/approval-seals/approval-seal-on-record.backend.js +83 -0
- package/dist/esm/compliance/approval-seals/approval-seal-on-record.backend.js.map +1 -0
- package/dist/esm/compliance/approval-seals/approval-seal-presentation-read.backend.d.ts +36 -0
- package/dist/esm/compliance/approval-seals/approval-seal-presentation-read.backend.d.ts.map +1 -0
- package/dist/esm/compliance/approval-seals/approval-seal-presentation-read.backend.js +51 -0
- package/dist/esm/compliance/approval-seals/approval-seal-presentation-read.backend.js.map +1 -0
- package/dist/esm/compliance/approval-seals/approval-seal-relay-store.backend.d.ts +46 -0
- package/dist/esm/compliance/approval-seals/approval-seal-relay-store.backend.d.ts.map +1 -1
- package/dist/esm/compliance/approval-seals/approval-seal-relay-store.backend.js +68 -0
- package/dist/esm/compliance/approval-seals/approval-seal-relay-store.backend.js.map +1 -1
- package/dist/esm/compliance/approval-seals/approval-seal-store.backend.d.ts +27 -0
- package/dist/esm/compliance/approval-seals/approval-seal-store.backend.d.ts.map +1 -1
- package/dist/esm/compliance/approval-seals/approval-seal-store.backend.js +42 -3
- package/dist/esm/compliance/approval-seals/approval-seal-store.backend.js.map +1 -1
- package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.contracts.d.ts +26 -1
- package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.contracts.d.ts.map +1 -1
- package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.contracts.js +10 -0
- package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.contracts.js.map +1 -1
- package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.controller.d.ts +10 -1
- package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.controller.d.ts.map +1 -1
- package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.controller.js +60 -28
- package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.controller.js.map +1 -1
- package/dist/esm/compliance/approval-seals/approval-seals-on-record.backend.controller.d.ts +90 -0
- package/dist/esm/compliance/approval-seals/approval-seals-on-record.backend.controller.d.ts.map +1 -0
- package/dist/esm/compliance/approval-seals/approval-seals-on-record.backend.controller.js +373 -0
- package/dist/esm/compliance/approval-seals/approval-seals-on-record.backend.controller.js.map +1 -0
- package/dist/esm/compliance/approval-seals/decision-presentation.backend.d.ts +29 -2
- package/dist/esm/compliance/approval-seals/decision-presentation.backend.d.ts.map +1 -1
- package/dist/esm/compliance/approval-seals/decision-presentation.backend.js +40 -3
- package/dist/esm/compliance/approval-seals/decision-presentation.backend.js.map +1 -1
- package/dist/esm/compliance/electronic-signatures/pdf-signature-structure.backend.d.ts.map +1 -1
- package/dist/esm/compliance/electronic-signatures/pdf-signature-structure.backend.js +34 -6
- package/dist/esm/compliance/electronic-signatures/pdf-signature-structure.backend.js.map +1 -1
- package/dist/esm/compliance/electronic-signatures/signature-request-evidence-files.backend.d.ts +30 -6
- package/dist/esm/compliance/electronic-signatures/signature-request-evidence-files.backend.d.ts.map +1 -1
- package/dist/esm/compliance/electronic-signatures/signature-request-evidence-files.backend.js +67 -22
- package/dist/esm/compliance/electronic-signatures/signature-request-evidence-files.backend.js.map +1 -1
- package/dist/esm/compliance/electronic-signatures/signature-request-poll.batch.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/electronic-signatures/signature-request-poll.batch.backend.service.js +18 -1
- package/dist/esm/compliance/electronic-signatures/signature-request-poll.batch.backend.service.js.map +1 -1
- package/dist/esm/compliance/electronic-signatures/signature-requests.backend.service.d.ts +66 -1
- package/dist/esm/compliance/electronic-signatures/signature-requests.backend.service.d.ts.map +1 -1
- package/dist/esm/compliance/electronic-signatures/signature-requests.backend.service.js +161 -14
- package/dist/esm/compliance/electronic-signatures/signature-requests.backend.service.js.map +1 -1
- package/dist/esm/compliance/electronic-signatures/signed-document-validation.backend.d.ts +47 -0
- package/dist/esm/compliance/electronic-signatures/signed-document-validation.backend.d.ts.map +1 -1
- package/dist/esm/compliance/electronic-signatures/signed-document-validation.backend.js.map +1 -1
- package/dist/esm/external-providers/services/content-safety.backend.service.d.ts +27 -2
- package/dist/esm/external-providers/services/content-safety.backend.service.d.ts.map +1 -1
- package/dist/esm/external-providers/services/content-safety.backend.service.js +46 -1
- package/dist/esm/external-providers/services/content-safety.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 +2 -0
- 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 +11 -0
- 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 +23 -0
- package/dist/esm/external-providers/services/external-providers-registry.backend.service.js.map +1 -1
- package/dist/esm/external-providers/services/provider-service-account-token.backend.d.ts +19 -1
- package/dist/esm/external-providers/services/provider-service-account-token.backend.d.ts.map +1 -1
- package/dist/esm/external-providers/services/provider-service-account-token.backend.js +41 -1
- package/dist/esm/external-providers/services/provider-service-account-token.backend.js.map +1 -1
- package/dist/esm/files/utils/file-parent-read-context.backend.d.ts +27 -2
- package/dist/esm/files/utils/file-parent-read-context.backend.d.ts.map +1 -1
- package/dist/esm/files/utils/file-parent-read-context.backend.js +23 -4
- package/dist/esm/files/utils/file-parent-read-context.backend.js.map +1 -1
- package/dist/esm/flows-actors/content-guardrails/classifier-availability.backend.utils.d.ts +26 -0
- package/dist/esm/flows-actors/content-guardrails/classifier-availability.backend.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/content-guardrails/classifier-availability.backend.utils.js +100 -8
- package/dist/esm/flows-actors/content-guardrails/classifier-availability.backend.utils.js.map +1 -1
- package/dist/esm/flows-actors/content-guardrails/record-owner-policy.backend.d.ts +3 -1
- package/dist/esm/flows-actors/content-guardrails/record-owner-policy.backend.d.ts.map +1 -1
- package/dist/esm/flows-actors/content-guardrails/record-owner-policy.backend.js +8 -2
- package/dist/esm/flows-actors/content-guardrails/record-owner-policy.backend.js.map +1 -1
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts +43 -0
- 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 +37 -0
- package/dist/esm/flows-actors/models/function-tools.backend.definitions.js.map +1 -1
- package/dist/esm/flows-actors/services/agent-work-decisions.backend.service.d.ts +7 -0
- package/dist/esm/flows-actors/services/agent-work-decisions.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/agent-work-decisions.backend.service.js +8 -3
- package/dist/esm/flows-actors/services/agent-work-decisions.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/agents.backend.service.d.ts +31 -6
- package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/agents.backend.service.js +78 -30
- package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/autonomous-agent-turn.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/autonomous-agent-turn.backend.service.js +4 -0
- package/dist/esm/flows-actors/services/autonomous-agent-turn.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts +28 -2
- 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 +132 -22
- package/dist/esm/flows-actors/services/conversational-execution.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/flow-actor-executions.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/flows-actors/services/flow-actor-executions.custom-impl.backend.service.js +12 -8
- package/dist/esm/flows-actors/services/flow-actor-executions.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts +5 -0
- 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 +18 -2
- package/dist/esm/flows-actors/services/flows-actors-registry.service.js.map +1 -1
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts +33 -0
- 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 +58 -0
- package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js.map +1 -1
- package/dist/esm/inbound/services/inbound-delivery-dispatch.backend.service.d.ts +12 -1
- package/dist/esm/inbound/services/inbound-delivery-dispatch.backend.service.d.ts.map +1 -1
- package/dist/esm/inbound/services/inbound-delivery-dispatch.backend.service.js +23 -4
- package/dist/esm/inbound/services/inbound-delivery-dispatch.backend.service.js.map +1 -1
- package/dist/esm/inbound/services/inbound-delivery-receiver.backend.service.d.ts +12 -1
- package/dist/esm/inbound/services/inbound-delivery-receiver.backend.service.d.ts.map +1 -1
- package/dist/esm/inbound/services/inbound-delivery-receiver.backend.service.js +55 -17
- package/dist/esm/inbound/services/inbound-delivery-receiver.backend.service.js.map +1 -1
- package/dist/esm/inbound/services/inbound-delivery-store.backend.service.d.ts +22 -1
- package/dist/esm/inbound/services/inbound-delivery-store.backend.service.d.ts.map +1 -1
- package/dist/esm/inbound/services/inbound-delivery-store.backend.service.js +52 -9
- package/dist/esm/inbound/services/inbound-delivery-store.backend.service.js.map +1 -1
- package/dist/esm/inbound/services/inbound-delivery-stored-body.backend.service.d.ts +79 -0
- package/dist/esm/inbound/services/inbound-delivery-stored-body.backend.service.d.ts.map +1 -0
- package/dist/esm/inbound/services/inbound-delivery-stored-body.backend.service.js +211 -0
- package/dist/esm/inbound/services/inbound-delivery-stored-body.backend.service.js.map +1 -0
- package/dist/esm/inbound/services/inbound-delivery-subject-erasure-severance.backend.d.ts +2 -2
- package/dist/esm/inbound/services/inbound-delivery-subject-erasure-severance.backend.d.ts.map +1 -1
- package/dist/esm/inbound/services/inbound-delivery-subject-erasure-severance.backend.js +9 -1
- package/dist/esm/inbound/services/inbound-delivery-subject-erasure-severance.backend.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- 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 +6 -0
- package/dist/esm/inject/models/container.js.map +1 -1
- package/dist/esm/inject/models/service-types.d.ts +5 -0
- package/dist/esm/inject/models/service-types.d.ts.map +1 -1
- package/dist/esm/inject/models/service-types.js +3 -0
- package/dist/esm/inject/models/service-types.js.map +1 -1
- package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts +5 -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 +34 -1
- package/dist/esm/monitoring/observability/services/metrics.service.d.ts.map +1 -1
- package/dist/esm/monitoring/observability/services/metrics.service.js +49 -0
- package/dist/esm/monitoring/observability/services/metrics.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts +6 -1
- 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 +15 -4
- package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.custom-impl.backend.service.js +3 -1
- package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/http-server.backend.service.d.ts +3 -1
- package/dist/esm/runtime/services/http-server.backend.service.d.ts.map +1 -1
- package/dist/esm/runtime/services/http-server.backend.service.js +11 -3
- package/dist/esm/runtime/services/http-server.backend.service.js.map +1 -1
- package/dist/esm/runtime/services/utils/inbound-endpoint-raw-body.backend.utils.d.ts +22 -0
- package/dist/esm/runtime/services/utils/inbound-endpoint-raw-body.backend.utils.d.ts.map +1 -1
- package/dist/esm/runtime/services/utils/inbound-endpoint-raw-body.backend.utils.js +54 -0
- package/dist/esm/runtime/services/utils/inbound-endpoint-raw-body.backend.utils.js.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.d.ts +51 -0
- package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.js +87 -15
- package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.js +5 -2
- package/dist/esm/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js +65 -24
- package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts +64 -1
- 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 +84 -2
- package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts +14 -0
- 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 +13 -5
- package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/users/services/anonymous-consent.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/anonymous-consent.custom-impl.backend.service.js +6 -2
- package/dist/esm/users/services/anonymous-consent.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/users/services/user-force-password-reset.custom-impl.backend.service.d.ts +7 -0
- package/dist/esm/users/services/user-force-password-reset.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/user-force-password-reset.custom-impl.backend.service.js +65 -20
- package/dist/esm/users/services/user-force-password-reset.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/users/services/user-role-administration.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/user-role-administration.custom-impl.backend.service.js +11 -4
- package/dist/esm/users/services/user-role-administration.custom-impl.backend.service.js.map +1 -1
- package/dist/esm/users/services/user-self-custom-implementations.backend.d.ts.map +1 -1
- package/dist/esm/users/services/user-self-custom-implementations.backend.js +4 -2
- package/dist/esm/users/services/user-self-custom-implementations.backend.js.map +1 -1
- package/dist/esm/users/services/user-super-admin-floor.custom-impl.backend.service.d.ts.map +1 -1
- package/dist/esm/users/services/user-super-admin-floor.custom-impl.backend.service.js +16 -0
- package/dist/esm/users/services/user-super-admin-floor.custom-impl.backend.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +10 -10
|
@@ -42,18 +42,19 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
42
42
|
* the endpoint's `answerChatSearch`, and stored nowhere.
|
|
43
43
|
*/
|
|
44
44
|
import { inject, injectable, optional } from 'inversify';
|
|
45
|
-
import { InboundChatInputKind, ChatBotOwnerScope, CoreResourceType, ErrorType, deriveInboundEndpointSecretEnvVarName, InboundDeliveryRejectionReason, InboundDeliveryUnroutableReason, InboundHandlerScopeMode, InboundResolvedScopeKind, InboundSenderAssurance, InboundSourceKind, isAuthorityConferringOrganizationStatus, PROVIDER_CONNECTION_ROUTING_FACT_PROVENANCES, isAuthorityConferringUserStatus, isWildoBackendError, jsonParsingSchemaOf, ResourcePrimaryScope, SortOrder, } from '@wildo-ai/saas-models';
|
|
45
|
+
import { InboundChatInputKind, ChatBotOwnerScope, CoreResourceType, ErrorType, deriveInboundEndpointSecretEnvVarName, INBOUND_DELIVERY_MAX_BODY_BYTES, INBOUND_DELIVERY_MAX_STORED_BODY_BYTES, InboundDeliveryRejectionReason, InboundDeliveryUnroutableReason, InboundHandlerScopeMode, InboundResolvedScopeKind, InboundSenderAssurance, InboundSourceKind, isAuthorityConferringOrganizationStatus, PROVIDER_CONNECTION_ROUTING_FACT_PROVENANCES, isAuthorityConferringUserStatus, isWildoBackendError, jsonParsingSchemaOf, ResourcePrimaryScope, SortOrder, } from '@wildo-ai/saas-models';
|
|
46
46
|
import { HOOK_REREAD_TRIGGER_DEFAULT_COALESCING_WINDOW_SECONDS, HOOK_REREAD_TRIGGER_DEFAULT_RATE_LIMIT, Hook_ContentType, isReReadTriggerEndpoint, Hook_ChatSearchAnswerKind, } from '@wildo-ai/external-connectors-models';
|
|
47
47
|
import { chatConversationOrderingKeyOf } from '../../flows-actors/services/chat-conversation-store.backend.service.js';
|
|
48
48
|
import { SAAS_SERVICE_TYPES } from '../../inject/models/service-types.js';
|
|
49
49
|
import { ProviderInboundRequestKind } from '../../notifications/webhooks/services/webhook-handler.backend.service.js';
|
|
50
|
-
import { decodeInboundBody, inboundContentTypeOf, providerEndpointKeptHeaders } from '../../inbound/models/inbound-body-decoding.backend.js';
|
|
50
|
+
import { decodeInboundBody, inboundContentTypeOf, providerEndpointKeptHeaders, storedInboundContentType } from '../../inbound/models/inbound-body-decoding.backend.js';
|
|
51
51
|
import { projectCaughtErrorLogFields } from '../../errors/utils/error-log-level-classification.backend.utils.js';
|
|
52
52
|
import { isMalformedIdLookupError } from '../../base-classes/services/repositories/resource-write-integrity.backend.js';
|
|
53
53
|
import { inboundSourceKey, normalizeInboundSubjectKeys, scopesAdmittedByHandler, } from '../../inbound/models/inbound-handler.backend.definitions.js';
|
|
54
54
|
import { InboundScopeStandingPolicy, inboundScopeStandingPolicyOf } from '../../inbound/models/inbound-engine-handler.backend.js';
|
|
55
55
|
import { headersKeptForScheme, verifyInboundDelivery } from '../../inbound/verification/inbound-verification-schemes.backend.js';
|
|
56
|
-
import { InboundDeliveryInsertOutcome } from './inbound-delivery-store.backend.service.js';
|
|
56
|
+
import { InboundDeliveryInsertOutcome, inboundDeliveryIdFor, inboundDeliveryResourceTypeFor } from './inbound-delivery-store.backend.service.js';
|
|
57
|
+
import { storedBodyFileIdOf } from './inbound-delivery-stored-body.backend.service.js';
|
|
57
58
|
import { InboundDeliveryAudit } from './inbound-delivery-audit.backend.js';
|
|
58
59
|
import { enqueueInboundDeliveryDispatch } from './inbound-delivery-dispatch-queue.backend.js';
|
|
59
60
|
import { ChatSearchRouteKind } from '../../inbound/chat-commands/chat-search-lane.backend.service.js';
|
|
@@ -124,8 +125,9 @@ let InboundDeliveryReceiverBackendService = class InboundDeliveryReceiverBackend
|
|
|
124
125
|
chatSearchLane;
|
|
125
126
|
rateLimits;
|
|
126
127
|
chatCommandFormLane;
|
|
128
|
+
storedBodies;
|
|
127
129
|
audit;
|
|
128
|
-
constructor(logger, registry, store, repositoriesRegistry, resourcesRegistry, applicationIdentity, queue, auditLogs, webhookHandler, chatLinks, chatSearchLane, rateLimits, chatCommandFormLane) {
|
|
130
|
+
constructor(logger, registry, store, repositoriesRegistry, resourcesRegistry, applicationIdentity, queue, auditLogs, webhookHandler, chatLinks, chatSearchLane, rateLimits, chatCommandFormLane, storedBodies) {
|
|
129
131
|
this.logger = logger;
|
|
130
132
|
this.registry = registry;
|
|
131
133
|
this.store = store;
|
|
@@ -138,6 +140,7 @@ let InboundDeliveryReceiverBackendService = class InboundDeliveryReceiverBackend
|
|
|
138
140
|
this.chatSearchLane = chatSearchLane;
|
|
139
141
|
this.rateLimits = rateLimits;
|
|
140
142
|
this.chatCommandFormLane = chatCommandFormLane;
|
|
143
|
+
this.storedBodies = storedBodies;
|
|
141
144
|
this.audit = new InboundDeliveryAudit(auditLogs);
|
|
142
145
|
}
|
|
143
146
|
/** The clock; a property so tests can pin time without DI trying to inject it. */
|
|
@@ -238,8 +241,9 @@ let InboundDeliveryReceiverBackendService = class InboundDeliveryReceiverBackend
|
|
|
238
241
|
return reject(InboundDeliveryRejectionReason.BODY_TOO_LARGE, ANSWER.tooLarge);
|
|
239
242
|
if (!request.rawBody)
|
|
240
243
|
return reject(InboundDeliveryRejectionReason.MALFORMED, ANSWER.malformed);
|
|
241
|
-
// The endpoint's own cap, when its provider declares one
|
|
242
|
-
|
|
244
|
+
// The endpoint's own cap, when its provider declares one, and never past the most any delivery may hold (#3395): a
|
|
245
|
+
// body over the row's size is stored outside it, but the whole body is verified in memory first.
|
|
246
|
+
if ((endpoint.maxBodyBytes !== undefined && request.rawBody.length > endpoint.maxBodyBytes) || request.rawBody.length > INBOUND_DELIVERY_MAX_BODY_BYTES) {
|
|
243
247
|
return reject(InboundDeliveryRejectionReason.BODY_TOO_LARGE, ANSWER.tooLarge);
|
|
244
248
|
}
|
|
245
249
|
let verified;
|
|
@@ -578,10 +582,43 @@ let InboundDeliveryReceiverBackendService = class InboundDeliveryReceiverBackend
|
|
|
578
582
|
});
|
|
579
583
|
return ANSWER.retryLater;
|
|
580
584
|
}
|
|
585
|
+
// #2665 S6 (plan V4), #2666 S7: stored, so READ withholds the body and the PROCESSED settle empties it, whatever the
|
|
586
|
+
// handler registry later holds. A COMMAND is decided by the verified request, which is what it is, never by the
|
|
587
|
+
// live list of verbs. Anything else is marked per ENDPOINT, not per request: a chat-conversation endpoint's other
|
|
588
|
+
// events (an edit, a file share) carry what a person wrote just the same, and so does a request to a command
|
|
589
|
+
// endpoint whose command the module could not read (review M5: unmarked, its text would never be emptied).
|
|
590
|
+
const chatInput = chatCommand
|
|
591
|
+
? InboundChatInputKind.COMMAND
|
|
592
|
+
: this.isChatConversationEndpoint(handler) ? InboundChatInputKind.CONVERSATION_MESSAGE
|
|
593
|
+
: this.isChatCommandEndpoint(handler) ? InboundChatInputKind.COMMAND : undefined;
|
|
594
|
+
let applicationId;
|
|
595
|
+
let storedBody;
|
|
596
|
+
try {
|
|
597
|
+
applicationId = await this.applicationIdentity.getCanonicalApplicationId();
|
|
598
|
+
if (delivery.rawBody.length > INBOUND_DELIVERY_MAX_STORED_BODY_BYTES) {
|
|
599
|
+
// #3395: what a person wrote to the bot is never larger than a row, and its readers read it from the row; a body
|
|
600
|
+
// too large for the row is written outside it only where a backend can, and refused otherwise.
|
|
601
|
+
if (chatInput !== undefined || !this.storedBodies)
|
|
602
|
+
return reject(InboundDeliveryRejectionReason.BODY_TOO_LARGE, ANSWER.tooLarge);
|
|
603
|
+
// A retried copy of an event already stored writes nothing: the ledger answers it without the upload.
|
|
604
|
+
if (await this.store.locate(inboundDeliveryIdFor(base.sourceKey, dedupKey)))
|
|
605
|
+
return ANSWER.duplicate;
|
|
606
|
+
storedBody = await this.storedBodies.write({
|
|
607
|
+
resourceType: inboundDeliveryResourceTypeFor(resolvedScope),
|
|
608
|
+
deliveryId: inboundDeliveryIdFor(base.sourceKey, dedupKey),
|
|
609
|
+
bytes: delivery.rawBody,
|
|
610
|
+
mimeType: storedInboundContentType(delivery.headers),
|
|
611
|
+
ownerRow: resolvedScope.kind === InboundResolvedScopeKind.ORGANIZATION ? { organizationId: resolvedScope.organizationId } : { applicationId },
|
|
612
|
+
});
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
catch (error) {
|
|
616
|
+
this.logger.error('Inbound delivery body could not be stored', { handlerRef: handler.ref, sourceKey: base.sourceKey, ...projectCaughtErrorLogFields(error) });
|
|
617
|
+
return ANSWER.retryLater;
|
|
618
|
+
}
|
|
581
619
|
let inserted;
|
|
582
620
|
try {
|
|
583
621
|
// assurance-control: WILDO.OPERATIONS.EXECUTION_INTEGRITY — one event, one stored delivery, at most one run (I2).
|
|
584
|
-
const applicationId = await this.applicationIdentity.getCanonicalApplicationId();
|
|
585
622
|
inserted = await this.store.insert({
|
|
586
623
|
sourceKind: base.sourceKind,
|
|
587
624
|
sourceKey: base.sourceKey,
|
|
@@ -592,6 +629,7 @@ let InboundDeliveryReceiverBackendService = class InboundDeliveryReceiverBackend
|
|
|
592
629
|
...(delivery.signedAt !== undefined ? { signedAt: delivery.signedAt } : {}),
|
|
593
630
|
receivedAt: delivery.receivedAt,
|
|
594
631
|
rawBody: delivery.rawBody,
|
|
632
|
+
...(storedBody ? { storedBody } : {}),
|
|
595
633
|
headers: { ...delivery.headers },
|
|
596
634
|
...(subjectKeys.length > 0 ? { subjectKeys } : {}),
|
|
597
635
|
resolvedScope,
|
|
@@ -600,21 +638,19 @@ let InboundDeliveryReceiverBackendService = class InboundDeliveryReceiverBackend
|
|
|
600
638
|
senderAssurance: InboundSenderAssurance.UNVERIFIED,
|
|
601
639
|
...(reReadTrigger.notBefore ? { notBefore: reReadTrigger.notBefore } : {}),
|
|
602
640
|
} : {}),
|
|
603
|
-
|
|
604
|
-
// handler registry later holds. A COMMAND is decided by the verified request, which is what it is, never by the
|
|
605
|
-
// live list of verbs. Anything else is marked per ENDPOINT, not per request: a chat-conversation endpoint's other
|
|
606
|
-
// events (an edit, a file share) carry what a person wrote just the same, and so does a request to a command
|
|
607
|
-
// endpoint whose command the module could not read (review M5: unmarked, its text would never be emptied).
|
|
608
|
-
...(chatCommand
|
|
609
|
-
? { chatInput: InboundChatInputKind.COMMAND }
|
|
610
|
-
: this.isChatConversationEndpoint(handler) ? { chatInput: InboundChatInputKind.CONVERSATION_MESSAGE }
|
|
611
|
-
: this.isChatCommandEndpoint(handler) ? { chatInput: InboundChatInputKind.COMMAND } : {}),
|
|
641
|
+
...(chatInput !== undefined ? { chatInput } : {}),
|
|
612
642
|
}, applicationId);
|
|
613
643
|
}
|
|
614
644
|
catch (error) {
|
|
615
645
|
this.logger.error('Inbound delivery could not be stored', { handlerRef: handler.ref, sourceKey: base.sourceKey, ...projectCaughtErrorLogFields(error) });
|
|
646
|
+
if (storedBody)
|
|
647
|
+
await this.storedBodies.discard(storedBody.fileId, 'insert_failed');
|
|
616
648
|
return ANSWER.retryLater;
|
|
617
649
|
}
|
|
650
|
+
// A body written for a row that was not stored (a concurrent copy won the key) or that does not name it is deleted.
|
|
651
|
+
if (storedBody && (inserted.outcome === InboundDeliveryInsertOutcome.DUPLICATE || storedBodyFileIdOf(inserted.row) !== storedBody.fileId)) {
|
|
652
|
+
await this.storedBodies.discard(storedBody.fileId, 'not_stored');
|
|
653
|
+
}
|
|
618
654
|
if (inserted.outcome === InboundDeliveryInsertOutcome.DUPLICATE)
|
|
619
655
|
return ANSWER.duplicate;
|
|
620
656
|
if (inserted.row.resolvedScope.kind === InboundResolvedScopeKind.UNROUTABLE) {
|
|
@@ -870,7 +906,9 @@ InboundDeliveryReceiverBackendService = __decorate([
|
|
|
870
906
|
__param(11, optional()),
|
|
871
907
|
__param(12, inject(SAAS_SERVICE_TYPES.ChatCommandFormLane)),
|
|
872
908
|
__param(12, optional()),
|
|
873
|
-
|
|
909
|
+
__param(13, inject(SAAS_SERVICE_TYPES.InboundDeliveryStoredBodyService)),
|
|
910
|
+
__param(13, optional()),
|
|
911
|
+
__metadata("design:paramtypes", [Function, Function, Function, Object, Object, Object, Object, Function, Function, Object, Object, Object, Object, Object])
|
|
874
912
|
], InboundDeliveryReceiverBackendService);
|
|
875
913
|
export { InboundDeliveryReceiverBackendService };
|
|
876
914
|
//# sourceMappingURL=inbound-delivery-receiver.backend.service.js.map
|