@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.
Files changed (226) hide show
  1. package/dist/esm/base-classes/models/manual-controllers.backend.definition.d.ts.map +1 -1
  2. package/dist/esm/base-classes/models/manual-controllers.backend.definition.js +2 -0
  3. package/dist/esm/base-classes/models/manual-controllers.backend.definition.js.map +1 -1
  4. package/dist/esm/base-classes/services/repositories/stored-field-omission.backend.d.ts +4 -0
  5. package/dist/esm/base-classes/services/repositories/stored-field-omission.backend.d.ts.map +1 -1
  6. package/dist/esm/base-classes/services/repositories/stored-field-omission.backend.js +20 -5
  7. package/dist/esm/base-classes/services/repositories/stored-field-omission.backend.js.map +1 -1
  8. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.d.ts +3 -0
  9. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.d.ts.map +1 -1
  10. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.js +10 -1
  11. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.js.map +1 -1
  12. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.d.ts +22 -0
  13. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.d.ts.map +1 -1
  14. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.js +25 -1
  15. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.js.map +1 -1
  16. package/dist/esm/base-classes/services/services/resource-operation-transaction-persistence.backend.utils.d.ts +38 -3
  17. package/dist/esm/base-classes/services/services/resource-operation-transaction-persistence.backend.utils.d.ts.map +1 -1
  18. package/dist/esm/base-classes/services/services/resource-operation-transaction-persistence.backend.utils.js +68 -5
  19. package/dist/esm/base-classes/services/services/resource-operation-transaction-persistence.backend.utils.js.map +1 -1
  20. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.d.ts +2 -2
  21. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.d.ts.map +1 -1
  22. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js +6 -3
  23. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js.map +1 -1
  24. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts +83 -0
  25. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts.map +1 -1
  26. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js +217 -14
  27. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js.map +1 -1
  28. package/dist/esm/compliance/approval-seals/approval-seal-currency.backend.d.ts +32 -0
  29. package/dist/esm/compliance/approval-seals/approval-seal-currency.backend.d.ts.map +1 -0
  30. package/dist/esm/compliance/approval-seals/approval-seal-currency.backend.js +36 -0
  31. package/dist/esm/compliance/approval-seals/approval-seal-currency.backend.js.map +1 -0
  32. package/dist/esm/compliance/approval-seals/approval-seal-on-record.backend.d.ts +38 -0
  33. package/dist/esm/compliance/approval-seals/approval-seal-on-record.backend.d.ts.map +1 -0
  34. package/dist/esm/compliance/approval-seals/approval-seal-on-record.backend.js +83 -0
  35. package/dist/esm/compliance/approval-seals/approval-seal-on-record.backend.js.map +1 -0
  36. package/dist/esm/compliance/approval-seals/approval-seal-presentation-read.backend.d.ts +36 -0
  37. package/dist/esm/compliance/approval-seals/approval-seal-presentation-read.backend.d.ts.map +1 -0
  38. package/dist/esm/compliance/approval-seals/approval-seal-presentation-read.backend.js +51 -0
  39. package/dist/esm/compliance/approval-seals/approval-seal-presentation-read.backend.js.map +1 -0
  40. package/dist/esm/compliance/approval-seals/approval-seal-relay-store.backend.d.ts +46 -0
  41. package/dist/esm/compliance/approval-seals/approval-seal-relay-store.backend.d.ts.map +1 -1
  42. package/dist/esm/compliance/approval-seals/approval-seal-relay-store.backend.js +68 -0
  43. package/dist/esm/compliance/approval-seals/approval-seal-relay-store.backend.js.map +1 -1
  44. package/dist/esm/compliance/approval-seals/approval-seal-store.backend.d.ts +27 -0
  45. package/dist/esm/compliance/approval-seals/approval-seal-store.backend.d.ts.map +1 -1
  46. package/dist/esm/compliance/approval-seals/approval-seal-store.backend.js +42 -3
  47. package/dist/esm/compliance/approval-seals/approval-seal-store.backend.js.map +1 -1
  48. package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.contracts.d.ts +26 -1
  49. package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.contracts.d.ts.map +1 -1
  50. package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.contracts.js +10 -0
  51. package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.contracts.js.map +1 -1
  52. package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.controller.d.ts +10 -1
  53. package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.controller.d.ts.map +1 -1
  54. package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.controller.js +60 -28
  55. package/dist/esm/compliance/approval-seals/approval-seals-admin.backend.controller.js.map +1 -1
  56. package/dist/esm/compliance/approval-seals/approval-seals-on-record.backend.controller.d.ts +90 -0
  57. package/dist/esm/compliance/approval-seals/approval-seals-on-record.backend.controller.d.ts.map +1 -0
  58. package/dist/esm/compliance/approval-seals/approval-seals-on-record.backend.controller.js +373 -0
  59. package/dist/esm/compliance/approval-seals/approval-seals-on-record.backend.controller.js.map +1 -0
  60. package/dist/esm/compliance/approval-seals/decision-presentation.backend.d.ts +29 -2
  61. package/dist/esm/compliance/approval-seals/decision-presentation.backend.d.ts.map +1 -1
  62. package/dist/esm/compliance/approval-seals/decision-presentation.backend.js +40 -3
  63. package/dist/esm/compliance/approval-seals/decision-presentation.backend.js.map +1 -1
  64. package/dist/esm/compliance/electronic-signatures/pdf-signature-structure.backend.d.ts.map +1 -1
  65. package/dist/esm/compliance/electronic-signatures/pdf-signature-structure.backend.js +34 -6
  66. package/dist/esm/compliance/electronic-signatures/pdf-signature-structure.backend.js.map +1 -1
  67. package/dist/esm/compliance/electronic-signatures/signature-request-evidence-files.backend.d.ts +30 -6
  68. package/dist/esm/compliance/electronic-signatures/signature-request-evidence-files.backend.d.ts.map +1 -1
  69. package/dist/esm/compliance/electronic-signatures/signature-request-evidence-files.backend.js +67 -22
  70. package/dist/esm/compliance/electronic-signatures/signature-request-evidence-files.backend.js.map +1 -1
  71. package/dist/esm/compliance/electronic-signatures/signature-request-poll.batch.backend.service.d.ts.map +1 -1
  72. package/dist/esm/compliance/electronic-signatures/signature-request-poll.batch.backend.service.js +18 -1
  73. package/dist/esm/compliance/electronic-signatures/signature-request-poll.batch.backend.service.js.map +1 -1
  74. package/dist/esm/compliance/electronic-signatures/signature-requests.backend.service.d.ts +66 -1
  75. package/dist/esm/compliance/electronic-signatures/signature-requests.backend.service.d.ts.map +1 -1
  76. package/dist/esm/compliance/electronic-signatures/signature-requests.backend.service.js +161 -14
  77. package/dist/esm/compliance/electronic-signatures/signature-requests.backend.service.js.map +1 -1
  78. package/dist/esm/compliance/electronic-signatures/signed-document-validation.backend.d.ts +47 -0
  79. package/dist/esm/compliance/electronic-signatures/signed-document-validation.backend.d.ts.map +1 -1
  80. package/dist/esm/compliance/electronic-signatures/signed-document-validation.backend.js.map +1 -1
  81. package/dist/esm/external-providers/services/content-safety.backend.service.d.ts +27 -2
  82. package/dist/esm/external-providers/services/content-safety.backend.service.d.ts.map +1 -1
  83. package/dist/esm/external-providers/services/content-safety.backend.service.js +46 -1
  84. package/dist/esm/external-providers/services/content-safety.backend.service.js.map +1 -1
  85. package/dist/esm/external-providers/services/embeddings.backend.service.d.ts.map +1 -1
  86. package/dist/esm/external-providers/services/embeddings.backend.service.js +2 -0
  87. package/dist/esm/external-providers/services/embeddings.backend.service.js.map +1 -1
  88. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts +11 -0
  89. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts.map +1 -1
  90. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js +23 -0
  91. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js.map +1 -1
  92. package/dist/esm/external-providers/services/provider-service-account-token.backend.d.ts +19 -1
  93. package/dist/esm/external-providers/services/provider-service-account-token.backend.d.ts.map +1 -1
  94. package/dist/esm/external-providers/services/provider-service-account-token.backend.js +41 -1
  95. package/dist/esm/external-providers/services/provider-service-account-token.backend.js.map +1 -1
  96. package/dist/esm/files/utils/file-parent-read-context.backend.d.ts +27 -2
  97. package/dist/esm/files/utils/file-parent-read-context.backend.d.ts.map +1 -1
  98. package/dist/esm/files/utils/file-parent-read-context.backend.js +23 -4
  99. package/dist/esm/files/utils/file-parent-read-context.backend.js.map +1 -1
  100. package/dist/esm/flows-actors/content-guardrails/classifier-availability.backend.utils.d.ts +26 -0
  101. package/dist/esm/flows-actors/content-guardrails/classifier-availability.backend.utils.d.ts.map +1 -1
  102. package/dist/esm/flows-actors/content-guardrails/classifier-availability.backend.utils.js +100 -8
  103. package/dist/esm/flows-actors/content-guardrails/classifier-availability.backend.utils.js.map +1 -1
  104. package/dist/esm/flows-actors/content-guardrails/record-owner-policy.backend.d.ts +3 -1
  105. package/dist/esm/flows-actors/content-guardrails/record-owner-policy.backend.d.ts.map +1 -1
  106. package/dist/esm/flows-actors/content-guardrails/record-owner-policy.backend.js +8 -2
  107. package/dist/esm/flows-actors/content-guardrails/record-owner-policy.backend.js.map +1 -1
  108. package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts +43 -0
  109. package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts.map +1 -1
  110. package/dist/esm/flows-actors/models/function-tools.backend.definitions.js +37 -0
  111. package/dist/esm/flows-actors/models/function-tools.backend.definitions.js.map +1 -1
  112. package/dist/esm/flows-actors/services/agent-work-decisions.backend.service.d.ts +7 -0
  113. package/dist/esm/flows-actors/services/agent-work-decisions.backend.service.d.ts.map +1 -1
  114. package/dist/esm/flows-actors/services/agent-work-decisions.backend.service.js +8 -3
  115. package/dist/esm/flows-actors/services/agent-work-decisions.backend.service.js.map +1 -1
  116. package/dist/esm/flows-actors/services/agents.backend.service.d.ts +31 -6
  117. package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -1
  118. package/dist/esm/flows-actors/services/agents.backend.service.js +78 -30
  119. package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -1
  120. package/dist/esm/flows-actors/services/autonomous-agent-turn.backend.service.d.ts.map +1 -1
  121. package/dist/esm/flows-actors/services/autonomous-agent-turn.backend.service.js +4 -0
  122. package/dist/esm/flows-actors/services/autonomous-agent-turn.backend.service.js.map +1 -1
  123. package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts +28 -2
  124. package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts.map +1 -1
  125. package/dist/esm/flows-actors/services/conversational-execution.backend.service.js +132 -22
  126. package/dist/esm/flows-actors/services/conversational-execution.backend.service.js.map +1 -1
  127. package/dist/esm/flows-actors/services/flow-actor-executions.custom-impl.backend.service.d.ts.map +1 -1
  128. package/dist/esm/flows-actors/services/flow-actor-executions.custom-impl.backend.service.js +12 -8
  129. package/dist/esm/flows-actors/services/flow-actor-executions.custom-impl.backend.service.js.map +1 -1
  130. package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts +5 -0
  131. package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts.map +1 -1
  132. package/dist/esm/flows-actors/services/flows-actors-registry.service.js +18 -2
  133. package/dist/esm/flows-actors/services/flows-actors-registry.service.js.map +1 -1
  134. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts +33 -0
  135. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts.map +1 -1
  136. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js +58 -0
  137. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js.map +1 -1
  138. package/dist/esm/inbound/services/inbound-delivery-dispatch.backend.service.d.ts +12 -1
  139. package/dist/esm/inbound/services/inbound-delivery-dispatch.backend.service.d.ts.map +1 -1
  140. package/dist/esm/inbound/services/inbound-delivery-dispatch.backend.service.js +23 -4
  141. package/dist/esm/inbound/services/inbound-delivery-dispatch.backend.service.js.map +1 -1
  142. package/dist/esm/inbound/services/inbound-delivery-receiver.backend.service.d.ts +12 -1
  143. package/dist/esm/inbound/services/inbound-delivery-receiver.backend.service.d.ts.map +1 -1
  144. package/dist/esm/inbound/services/inbound-delivery-receiver.backend.service.js +55 -17
  145. package/dist/esm/inbound/services/inbound-delivery-receiver.backend.service.js.map +1 -1
  146. package/dist/esm/inbound/services/inbound-delivery-store.backend.service.d.ts +22 -1
  147. package/dist/esm/inbound/services/inbound-delivery-store.backend.service.d.ts.map +1 -1
  148. package/dist/esm/inbound/services/inbound-delivery-store.backend.service.js +52 -9
  149. package/dist/esm/inbound/services/inbound-delivery-store.backend.service.js.map +1 -1
  150. package/dist/esm/inbound/services/inbound-delivery-stored-body.backend.service.d.ts +79 -0
  151. package/dist/esm/inbound/services/inbound-delivery-stored-body.backend.service.d.ts.map +1 -0
  152. package/dist/esm/inbound/services/inbound-delivery-stored-body.backend.service.js +211 -0
  153. package/dist/esm/inbound/services/inbound-delivery-stored-body.backend.service.js.map +1 -0
  154. package/dist/esm/inbound/services/inbound-delivery-subject-erasure-severance.backend.d.ts +2 -2
  155. package/dist/esm/inbound/services/inbound-delivery-subject-erasure-severance.backend.d.ts.map +1 -1
  156. package/dist/esm/inbound/services/inbound-delivery-subject-erasure-severance.backend.js +9 -1
  157. package/dist/esm/inbound/services/inbound-delivery-subject-erasure-severance.backend.js.map +1 -1
  158. package/dist/esm/index.d.ts +1 -0
  159. package/dist/esm/index.d.ts.map +1 -1
  160. package/dist/esm/index.js +1 -0
  161. package/dist/esm/index.js.map +1 -1
  162. package/dist/esm/inject/models/container.d.ts.map +1 -1
  163. package/dist/esm/inject/models/container.js +6 -0
  164. package/dist/esm/inject/models/container.js.map +1 -1
  165. package/dist/esm/inject/models/service-types.d.ts +5 -0
  166. package/dist/esm/inject/models/service-types.d.ts.map +1 -1
  167. package/dist/esm/inject/models/service-types.js +3 -0
  168. package/dist/esm/inject/models/service-types.js.map +1 -1
  169. package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts +5 -0
  170. package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts.map +1 -1
  171. package/dist/esm/monitoring/observability/models/observability.backend.schemas.js.map +1 -1
  172. package/dist/esm/monitoring/observability/services/metrics.service.d.ts +34 -1
  173. package/dist/esm/monitoring/observability/services/metrics.service.d.ts.map +1 -1
  174. package/dist/esm/monitoring/observability/services/metrics.service.js +49 -0
  175. package/dist/esm/monitoring/observability/services/metrics.service.js.map +1 -1
  176. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts +6 -1
  177. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts.map +1 -1
  178. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js +15 -4
  179. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js.map +1 -1
  180. package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.custom-impl.backend.service.d.ts.map +1 -1
  181. package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.custom-impl.backend.service.js +3 -1
  182. package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.custom-impl.backend.service.js.map +1 -1
  183. package/dist/esm/runtime/services/http-server.backend.service.d.ts +3 -1
  184. package/dist/esm/runtime/services/http-server.backend.service.d.ts.map +1 -1
  185. package/dist/esm/runtime/services/http-server.backend.service.js +11 -3
  186. package/dist/esm/runtime/services/http-server.backend.service.js.map +1 -1
  187. package/dist/esm/runtime/services/utils/inbound-endpoint-raw-body.backend.utils.d.ts +22 -0
  188. package/dist/esm/runtime/services/utils/inbound-endpoint-raw-body.backend.utils.d.ts.map +1 -1
  189. package/dist/esm/runtime/services/utils/inbound-endpoint-raw-body.backend.utils.js +54 -0
  190. package/dist/esm/runtime/services/utils/inbound-endpoint-raw-body.backend.utils.js.map +1 -1
  191. package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.d.ts +51 -0
  192. package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.d.ts.map +1 -1
  193. package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.js +87 -15
  194. package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.js.map +1 -1
  195. package/dist/esm/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.d.ts.map +1 -1
  196. package/dist/esm/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.js +5 -2
  197. package/dist/esm/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.js.map +1 -1
  198. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts.map +1 -1
  199. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js +65 -24
  200. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js.map +1 -1
  201. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts +64 -1
  202. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts.map +1 -1
  203. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js +84 -2
  204. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js.map +1 -1
  205. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts +14 -0
  206. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts.map +1 -1
  207. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js +13 -5
  208. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js.map +1 -1
  209. package/dist/esm/users/services/anonymous-consent.custom-impl.backend.service.d.ts.map +1 -1
  210. package/dist/esm/users/services/anonymous-consent.custom-impl.backend.service.js +6 -2
  211. package/dist/esm/users/services/anonymous-consent.custom-impl.backend.service.js.map +1 -1
  212. package/dist/esm/users/services/user-force-password-reset.custom-impl.backend.service.d.ts +7 -0
  213. package/dist/esm/users/services/user-force-password-reset.custom-impl.backend.service.d.ts.map +1 -1
  214. package/dist/esm/users/services/user-force-password-reset.custom-impl.backend.service.js +65 -20
  215. package/dist/esm/users/services/user-force-password-reset.custom-impl.backend.service.js.map +1 -1
  216. package/dist/esm/users/services/user-role-administration.custom-impl.backend.service.d.ts.map +1 -1
  217. package/dist/esm/users/services/user-role-administration.custom-impl.backend.service.js +11 -4
  218. package/dist/esm/users/services/user-role-administration.custom-impl.backend.service.js.map +1 -1
  219. package/dist/esm/users/services/user-self-custom-implementations.backend.d.ts.map +1 -1
  220. package/dist/esm/users/services/user-self-custom-implementations.backend.js +4 -2
  221. package/dist/esm/users/services/user-self-custom-implementations.backend.js.map +1 -1
  222. package/dist/esm/users/services/user-super-admin-floor.custom-impl.backend.service.d.ts.map +1 -1
  223. package/dist/esm/users/services/user-super-admin-floor.custom-impl.backend.service.js +16 -0
  224. package/dist/esm/users/services/user-super-admin-floor.custom-impl.backend.service.js.map +1 -1
  225. package/dist/tsconfig.build.tsbuildinfo +1 -1
  226. 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: it is the ledger that stores the body.
242
- if (endpoint.maxBodyBytes !== undefined && request.rawBody.length > endpoint.maxBodyBytes) {
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
- // #2665 S6 (plan V4), #2666 S7: stored, so READ withholds the body and the PROCESSED settle empties it, whatever the
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
- __metadata("design:paramtypes", [Function, Function, Function, Object, Object, Object, Object, Function, Function, Object, Object, Object, Object])
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