@wildo-ai/saas-backend-lib 1.1.3 → 1.1.4

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 (1056) hide show
  1. package/dist/esm/__tests__/fixture-deep-partial.d.ts.map +1 -1
  2. package/dist/esm/__tests__/integration/redis-integration-gate.d.ts.map +1 -1
  3. package/dist/esm/__tests__/setup.d.ts.map +1 -1
  4. package/dist/esm/__tests__/test-container.d.ts.map +1 -1
  5. package/dist/esm/applications/models/applications.backend.schemas.d.ts.map +1 -1
  6. package/dist/esm/applications/seeds/application-metadata-defaults.seeds.d.ts.map +1 -1
  7. package/dist/esm/applications/services/worker-remote-client-factory.backend.service.d.ts.map +1 -1
  8. package/dist/esm/applications/services/worker-remote-client-factory.backend.service.js.map +1 -1
  9. package/dist/esm/base-classes/models/manual-controllers.backend.definition.d.ts.map +1 -1
  10. package/dist/esm/base-classes/models/manual-controllers.backend.definition.js.map +1 -1
  11. package/dist/esm/base-classes/models/repositories.backend.schemas.d.ts.map +1 -1
  12. package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.d.ts +1 -1
  13. package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.d.ts.map +1 -1
  14. package/dist/esm/base-classes/services/batches/batches-cronjobs-custom-execution.service.d.ts.map +1 -1
  15. package/dist/esm/base-classes/services/batches/batches-cronjobs-executor.backend.service.d.ts.map +1 -1
  16. package/dist/esm/base-classes/services/batches/batches-cronjobs-resource-execution.backend.service.d.ts.map +1 -1
  17. package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts.map +1 -1
  18. package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js.map +1 -1
  19. package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts.map +1 -1
  20. package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js +12 -1
  21. package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js.map +1 -1
  22. package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.d.ts.map +1 -1
  23. package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.js.map +1 -1
  24. package/dist/esm/base-classes/services/batches/resource-retention-sweep.batch.backend.service.d.ts.map +1 -1
  25. package/dist/esm/base-classes/services/batches/suspension-reactivation-sweep.batch.backend.service.d.ts.map +1 -1
  26. package/dist/esm/base-classes/services/controllers/abstract-controller.backend.service.d.ts.map +1 -1
  27. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.d.ts.map +1 -1
  28. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js.map +1 -1
  29. package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.d.ts.map +1 -1
  30. package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.js.map +1 -1
  31. package/dist/esm/base-classes/services/controllers/utils/audit-access-fields.backend.utils.d.ts.map +1 -1
  32. package/dist/esm/base-classes/services/controllers/utils/operation-response-serializer.backend.utils.d.ts.map +1 -1
  33. package/dist/esm/base-classes/services/controllers/validate-field-handler.backend.service.d.ts.map +1 -1
  34. package/dist/esm/base-classes/services/repositories/__tests__/method-span-scan.guard-helpers.d.ts.map +1 -1
  35. package/dist/esm/base-classes/services/repositories/__tests__/mock-repositories-registry-handler.service.d.ts.map +1 -1
  36. package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.d.ts.map +1 -1
  37. package/dist/esm/base-classes/services/repositories/http-api/http-api-filter-translation.backend.d.ts.map +1 -1
  38. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts.map +1 -1
  39. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js +13 -4
  40. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js.map +1 -1
  41. package/dist/esm/base-classes/services/repositories/http-api/http-api-query.backend.d.ts.map +1 -1
  42. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts.map +1 -1
  43. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js +17 -0
  44. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js.map +1 -1
  45. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts.map +1 -1
  46. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js.map +1 -1
  47. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts.map +1 -1
  48. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js.map +1 -1
  49. package/dist/esm/base-classes/services/repositories/http-api/http-api-row-projection.backend.d.ts.map +1 -1
  50. package/dist/esm/base-classes/services/repositories/http-api/http-api-subject-erasure-effect.backend.d.ts.map +1 -1
  51. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts.map +1 -1
  52. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js.map +1 -1
  53. package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.d.ts.map +1 -1
  54. package/dist/esm/base-classes/services/repositories/http-api/odoo-jsonrpc-compiler.backend.d.ts.map +1 -1
  55. package/dist/esm/base-classes/services/repositories/http-api/rest-json-query-compiler.backend.d.ts.map +1 -1
  56. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.d.ts.map +1 -1
  57. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js.map +1 -1
  58. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.d.ts.map +1 -1
  59. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.d.ts.map +1 -1
  60. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts +57 -0
  61. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts.map +1 -1
  62. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js +95 -2
  63. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js.map +1 -1
  64. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.d.ts.map +1 -1
  65. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js.map +1 -1
  66. package/dist/esm/base-classes/services/repositories/repository-guarded-mutation.backend.types.d.ts.map +1 -1
  67. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts +5 -2
  68. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts.map +1 -1
  69. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js +14 -3
  70. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js.map +1 -1
  71. package/dist/esm/base-classes/services/repositories/repository-version-metadata.backend.utils.d.ts.map +1 -1
  72. package/dist/esm/base-classes/services/repositories/resource-write-integrity.backend.d.ts.map +1 -1
  73. package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.d.ts +72 -0
  74. package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.d.ts.map +1 -0
  75. package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.js +88 -0
  76. package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.js.map +1 -0
  77. package/dist/esm/base-classes/services/repositories/unique-constraint-conflict-reference.backend.d.ts.map +1 -1
  78. package/dist/esm/base-classes/services/resource-operations-helper.backend.service.d.ts.map +1 -1
  79. package/dist/esm/base-classes/services/services/__tests__/mock-services-registry-handler.service.d.ts.map +1 -1
  80. package/dist/esm/base-classes/services/services/__tests__/mock-system-access.service.d.ts.map +1 -1
  81. package/dist/esm/base-classes/services/services/read-only-field-change.backend.utils.d.ts.map +1 -1
  82. package/dist/esm/base-classes/services/services/resource-operation-audit-emission.backend.utils.d.ts.map +1 -1
  83. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts.map +1 -1
  84. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.js.map +1 -1
  85. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.d.ts.map +1 -1
  86. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.d.ts.map +1 -1
  87. package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.d.ts.map +1 -1
  88. package/dist/esm/base-classes/services/services/resource-operation-server-injected-fields.backend.utils.d.ts.map +1 -1
  89. package/dist/esm/base-classes/services/services/resource-operation-transaction-persistence.backend.utils.d.ts.map +1 -1
  90. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.d.ts.map +1 -1
  91. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js.map +1 -1
  92. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts.map +1 -1
  93. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js.map +1 -1
  94. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts.map +1 -1
  95. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js +44 -6
  96. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js.map +1 -1
  97. package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts.map +1 -1
  98. package/dist/esm/base-classes/services/services/system-access.backend.service.js.map +1 -1
  99. package/dist/esm/base-classes/utils/backend-type-utils.d.ts.map +1 -1
  100. package/dist/esm/base-classes/utils/single-subject-addressing.backend.utils.d.ts.map +1 -1
  101. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts.map +1 -1
  102. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js.map +1 -1
  103. package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts.map +1 -1
  104. package/dist/esm/billing/batches/usage-flush.batch.backend.service.js.map +1 -1
  105. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts.map +1 -1
  106. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js.map +1 -1
  107. package/dist/esm/billing/services/back-office/abstract-billing.backend.service.d.ts.map +1 -1
  108. package/dist/esm/billing/services/back-office/billing-feature-sync.backend.service.d.ts.map +1 -1
  109. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts +1 -1
  110. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts.map +1 -1
  111. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js +5 -4
  112. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js.map +1 -1
  113. package/dist/esm/billing/services/back-office/billing-state.backend.service.d.ts.map +1 -1
  114. package/dist/esm/billing/services/back-office/billing-state.backend.service.js +11 -1
  115. package/dist/esm/billing/services/back-office/billing-state.backend.service.js.map +1 -1
  116. package/dist/esm/billing/services/back-office/billing-subject-erasure-effect.backend.d.ts.map +1 -1
  117. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts.map +1 -1
  118. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js.map +1 -1
  119. package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts.map +1 -1
  120. package/dist/esm/billing/services/back-office/usage-metering.backend.service.js.map +1 -1
  121. package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts.map +1 -1
  122. package/dist/esm/billing/services/billing-adapter-registry.backend.js.map +1 -1
  123. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts.map +1 -1
  124. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js.map +1 -1
  125. package/dist/esm/billing/services/billing.utils.d.ts.map +1 -1
  126. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.d.ts.map +1 -1
  127. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js.map +1 -1
  128. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts +32 -0
  129. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts.map +1 -1
  130. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js +32 -1
  131. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js.map +1 -1
  132. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts.map +1 -1
  133. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js.map +1 -1
  134. package/dist/esm/billing/services/custom-impl/credit-pool.custom-ops.custom-impl.backend.service.d.ts.map +1 -1
  135. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts.map +1 -1
  136. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js.map +1 -1
  137. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.d.ts.map +1 -1
  138. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js.map +1 -1
  139. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts +9 -6
  140. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts.map +1 -1
  141. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js +9 -6
  142. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js.map +1 -1
  143. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts.map +1 -1
  144. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js.map +1 -1
  145. package/dist/esm/billing/services/webhooks/billing-webhook-adapter.backend.service.d.ts.map +1 -1
  146. package/dist/esm/billing/services/webhooks/billing-webhook-capability-handler.backend.service.d.ts.map +1 -1
  147. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts.map +1 -1
  148. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js +50 -3
  149. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js.map +1 -1
  150. package/dist/esm/billing/testing/billing-test-fixtures.d.ts.map +1 -1
  151. package/dist/esm/billing/testing/mock-billing-provider.d.ts.map +1 -1
  152. package/dist/esm/billing/testing/mock-billing-provider.js.map +1 -1
  153. package/dist/esm/charts/controllers/chart.backend.controller.d.ts.map +1 -1
  154. package/dist/esm/charts/services/chart-registry.backend.service.d.ts +80 -7
  155. package/dist/esm/charts/services/chart-registry.backend.service.d.ts.map +1 -1
  156. package/dist/esm/charts/services/chart-registry.backend.service.js +115 -8
  157. package/dist/esm/charts/services/chart-registry.backend.service.js.map +1 -1
  158. package/dist/esm/companion-exports.d.ts.map +1 -1
  159. package/dist/esm/compliance/audit-trails/audit-logs.custom-impl.backend.service.d.ts.map +1 -1
  160. package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.d.ts.map +1 -1
  161. package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js.map +1 -1
  162. package/dist/esm/compliance/audit-trails/batches/immudb-audit-reconcile.batch.backend.service.d.ts.map +1 -1
  163. package/dist/esm/compliance/audit-trails/batches/siem-webhook-delivery.batch.backend.service.d.ts.map +1 -1
  164. package/dist/esm/compliance/audit-trails/services/__tests__/mock-audit-logs.service.d.ts.map +1 -1
  165. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts.map +1 -1
  166. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js.map +1 -1
  167. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts +107 -4
  168. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts.map +1 -1
  169. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js +176 -5
  170. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js.map +1 -1
  171. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.d.ts.map +1 -1
  172. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js.map +1 -1
  173. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts.map +1 -1
  174. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js.map +1 -1
  175. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts.map +1 -1
  176. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js.map +1 -1
  177. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts.map +1 -1
  178. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js.map +1 -1
  179. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.d.ts.map +1 -1
  180. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js +21 -0
  181. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js.map +1 -1
  182. package/dist/esm/compliance/audit-trails/services/utils/ocsf-class-mapping.backend.utils.d.ts.map +1 -1
  183. package/dist/esm/compliance/audit-trails/services/utils/siem-dictionary.backend.utils.d.ts.map +1 -1
  184. package/dist/esm/compliance/audit-trails/services/utils/siem-ocsf-projection.backend.utils.d.ts.map +1 -1
  185. package/dist/esm/compliance/audit-trails/services/utils/siem-projection-contract.backend.utils.d.ts.map +1 -1
  186. package/dist/esm/compliance/audit-trails/utils/audit-actor.backend.utils.d.ts.map +1 -1
  187. package/dist/esm/compliance/audit-trails/utils/layer2-audit-provider-boot-diagnostic.backend.utils.d.ts.map +1 -1
  188. package/dist/esm/compliance/index.d.ts.map +1 -1
  189. package/dist/esm/compliance/privacy/retention-hide-predicate.backend.d.ts.map +1 -1
  190. package/dist/esm/compliance/privacy/services/subject-erasure-external-effects.backend.service.d.ts.map +1 -1
  191. package/dist/esm/compliance/privacy/services/subject-session-revocation.backend.service.d.ts.map +1 -1
  192. package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts.map +1 -1
  193. package/dist/esm/config/bootstrap/application-runtime-profile.backend.js.map +1 -1
  194. package/dist/esm/config/bootstrap/minion-initialization-projection.backend.d.ts.map +1 -1
  195. package/dist/esm/config/bootstrap/runtime-principal-attestation.backend.service.d.ts.map +1 -1
  196. package/dist/esm/config/bootstrap/runtime-principal-attestation.backend.service.js +3 -0
  197. package/dist/esm/config/bootstrap/runtime-principal-attestation.backend.service.js.map +1 -1
  198. package/dist/esm/config/bootstrap/runtime-principal.backend.service.d.ts.map +1 -1
  199. package/dist/esm/config/custom/application-config-controller.backend.service.d.ts.map +1 -1
  200. package/dist/esm/config/models/app-config-secrets.backend.schemas.d.ts.map +1 -1
  201. package/dist/esm/config/models/app-config.backend-authored.definitions.d.ts.map +1 -1
  202. package/dist/esm/config/models/app-config.backend.schemas.d.ts +4 -4
  203. package/dist/esm/config/models/app-config.backend.schemas.d.ts.map +1 -1
  204. package/dist/esm/config/models/app-config.backend.schemas.js.map +1 -1
  205. package/dist/esm/config/models/app-env-config.backend.schemas.d.ts.map +1 -1
  206. package/dist/esm/config/models/apps-manager-transport.backend.definitions.d.ts +36 -0
  207. package/dist/esm/config/models/apps-manager-transport.backend.definitions.d.ts.map +1 -0
  208. package/dist/esm/config/models/apps-manager-transport.backend.definitions.js +36 -0
  209. package/dist/esm/config/models/apps-manager-transport.backend.definitions.js.map +1 -0
  210. package/dist/esm/config/models/config-mutation-boundary.utils.d.ts.map +1 -1
  211. package/dist/esm/config/models/postgresql-env-config.backend.schemas.d.ts.map +1 -1
  212. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts.map +1 -1
  213. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js.map +1 -1
  214. package/dist/esm/config/models/runtime-topology.backend.contracts.d.ts.map +1 -1
  215. package/dist/esm/config/services/__tests__/mock-app-configuration.service.d.ts.map +1 -1
  216. package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts.map +1 -1
  217. package/dist/esm/config/services/app-configuration-loader.backend.service.js +3 -0
  218. package/dist/esm/config/services/app-configuration-loader.backend.service.js.map +1 -1
  219. package/dist/esm/config/services/app-configuration.backend.service.d.ts.map +1 -1
  220. package/dist/esm/config/services/app-configuration.backend.service.js.map +1 -1
  221. package/dist/esm/config/services/app-configuration.backend.utils.d.ts.map +1 -1
  222. package/dist/esm/config/services/app-configuration.backend.utils.js.map +1 -1
  223. package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts +12 -0
  224. package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts.map +1 -1
  225. package/dist/esm/config/services/application-startup-config-validator.backend.service.js +28 -0
  226. package/dist/esm/config/services/application-startup-config-validator.backend.service.js.map +1 -1
  227. package/dist/esm/data-seeding/batches/data-seeding-run-cleanup.batch.backend.service.d.ts.map +1 -1
  228. package/dist/esm/data-seeding/batches/data-seeding-scheduled-rerun.batch.backend.service.d.ts.map +1 -1
  229. package/dist/esm/data-seeding/controllers/data-seeding-admin.backend.contracts.d.ts.map +1 -1
  230. package/dist/esm/data-seeding/controllers/data-seeding-admin.backend.controller.d.ts.map +1 -1
  231. package/dist/esm/data-seeding/data-seeding-models.d.ts.map +1 -1
  232. package/dist/esm/data-seeding/models/business-key-resolver.shared.utils.d.ts.map +1 -1
  233. package/dist/esm/data-seeding/models/data-seed-execution-context.shared.types.d.ts.map +1 -1
  234. package/dist/esm/data-seeding/models/data-seed-migrator-runner.shared.utils.d.ts.map +1 -1
  235. package/dist/esm/data-seeding/models/data-seed-reconciler.shared.utils.d.ts.map +1 -1
  236. package/dist/esm/data-seeding/models/data-seed-row-metadata.shared.schemas.d.ts.map +1 -1
  237. package/dist/esm/data-seeding/models/data-seed-row-metadata.shared.utils.d.ts.map +1 -1
  238. package/dist/esm/data-seeding/models/data-seed-run.shared.resources-config.schemas.d.ts.map +1 -1
  239. package/dist/esm/data-seeding/models/data-seed-run.shared.schemas.d.ts.map +1 -1
  240. package/dist/esm/data-seeding/models/data-seed-trigger-mode-matrix.shared.utils.d.ts.map +1 -1
  241. package/dist/esm/data-seeding/models/data-seed.shared.schemas.d.ts.map +1 -1
  242. package/dist/esm/data-seeding/services/data-seed-application-bootstrap.backend.d.ts.map +1 -1
  243. package/dist/esm/data-seeding/services/data-seed-dispatcher.backend.service.d.ts.map +1 -1
  244. package/dist/esm/data-seeding/services/data-seed-registry.backend.service.d.ts.map +1 -1
  245. package/dist/esm/data-seeding/services/data-seed-scope-resolver-registry.backend.service.d.ts.map +1 -1
  246. package/dist/esm/data-seeding/services/engines/additive-seed-engine.backend.service.d.ts.map +1 -1
  247. package/dist/esm/data-seeding/services/engines/lazy-seed-engine.backend.service.d.ts.map +1 -1
  248. package/dist/esm/data-seeding/services/engines/manual-seed-engine.backend.service.d.ts.map +1 -1
  249. package/dist/esm/data-seeding/services/engines/sync-seed-engine.backend.service.d.ts.map +1 -1
  250. package/dist/esm/data-seeding/services/engines/upgrade-seed-engine.backend.service.d.ts.map +1 -1
  251. package/dist/esm/data-seeding/services/shared/data-seed-business-key.shared.utils.d.ts.map +1 -1
  252. package/dist/esm/data-seeding/services/shared/data-seed-error.shared.utils.d.ts.map +1 -1
  253. package/dist/esm/data-seeding/services/shared/data-seed-run-counters.shared.types.d.ts.map +1 -1
  254. package/dist/esm/data-seeding/services/shared/data-seed-run-ledger.backend.d.ts.map +1 -1
  255. package/dist/esm/data-seeding/services/shared/data-seed-scope-anchor.shared.types.d.ts.map +1 -1
  256. package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.d.ts.map +1 -1
  257. package/dist/esm/data-seeding/services/shared/data-seed-scope-resolution.backend.d.ts.map +1 -1
  258. package/dist/esm/databases/models/aggregation.backend.schemas.d.ts.map +1 -1
  259. package/dist/esm/databases/models/databases.backend.schemas.d.ts.map +1 -1
  260. package/dist/esm/databases/models/filter.backend.schemas.d.ts.map +1 -1
  261. package/dist/esm/databases/models/resolve-persistence-adapter.backend.utils.d.ts.map +1 -1
  262. package/dist/esm/databases/models/sql.backend.schemas.d.ts.map +1 -1
  263. package/dist/esm/databases/models/transaction.shared.schemas.d.ts.map +1 -1
  264. package/dist/esm/databases/services/__tests__/mock-mongo-transaction-registry.service.d.ts.map +1 -1
  265. package/dist/esm/databases/services/__tests__/mock-mongodb.service.d.ts.map +1 -1
  266. package/dist/esm/databases/services/__tests__/mock-mongoose-model.service.d.ts.map +1 -1
  267. package/dist/esm/databases/services/__tests__/mock-redis.service.d.ts.map +1 -1
  268. package/dist/esm/databases/services/__tests__/mock-zod-mongoose-schema-convertor.service.d.ts.map +1 -1
  269. package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.d.ts.map +1 -1
  270. package/dist/esm/databases/services/aggregation/aggregation-query.backend.service.d.ts.map +1 -1
  271. package/dist/esm/databases/services/aggregation/computed-measure-evaluator.backend.service.d.ts.map +1 -1
  272. package/dist/esm/databases/services/aggregation/field-access-validator.backend.service.d.ts.map +1 -1
  273. package/dist/esm/databases/services/aggregation/time-series-densifier.backend.service.d.ts.map +1 -1
  274. package/dist/esm/databases/services/aggregation/topn-processor.backend.service.d.ts.map +1 -1
  275. package/dist/esm/databases/services/aggregation/window-function-processor.backend.service.d.ts.map +1 -1
  276. package/dist/esm/databases/services/db-utils.d.ts.map +1 -1
  277. package/dist/esm/databases/services/mongo-aggregation.backend.service.d.ts.map +1 -1
  278. package/dist/esm/databases/services/mongodb.service.d.ts.map +1 -1
  279. package/dist/esm/databases/services/postgresql-aggregation.backend.service.d.ts.map +1 -1
  280. package/dist/esm/databases/services/postgresql-database.backend.service.d.ts.map +1 -1
  281. package/dist/esm/databases/services/postgresql-development-provisioning.backend.d.ts.map +1 -1
  282. package/dist/esm/databases/services/postgresql-filter.backend.service.d.ts.map +1 -1
  283. package/dist/esm/databases/services/postgresql-migration-runner.backend.d.ts.map +1 -1
  284. package/dist/esm/databases/services/postgresql-schema-ddl.backend.d.ts.map +1 -1
  285. package/dist/esm/databases/services/postgresql-schema-migration-sql.backend.d.ts.map +1 -1
  286. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.d.ts.map +1 -1
  287. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js.map +1 -1
  288. package/dist/esm/databases/services/postgresql-schema-plan-lockfile.backend.d.ts.map +1 -1
  289. package/dist/esm/databases/services/redis.service.d.ts.map +1 -1
  290. package/dist/esm/databases/services/resource-persistence-unit-of-work.backend.service.d.ts.map +1 -1
  291. package/dist/esm/databases/services/schema-planning-standalone.backend.d.ts.map +1 -1
  292. package/dist/esm/databases/services/zod-to-mongoose-schema-convertor.backend.service.d.ts.map +1 -1
  293. package/dist/esm/databases/services/zod-to-sql-hybrid-schema.planner.d.ts.map +1 -1
  294. package/dist/esm/databases/utils/postgresql-identifier.backend.utils.d.ts.map +1 -1
  295. package/dist/esm/errors/services/__tests__/mock-error-builder.service.d.ts.map +1 -1
  296. package/dist/esm/errors/services/error-builder.backend.service.d.ts.map +1 -1
  297. package/dist/esm/errors/services/error-builder.backend.service.js.map +1 -1
  298. package/dist/esm/errors/services/error-handler.backend.service.d.ts.map +1 -1
  299. package/dist/esm/errors/services/error-handler.backend.service.js.map +1 -1
  300. package/dist/esm/errors/services/rate-limit.backend.service.d.ts.map +1 -1
  301. package/dist/esm/errors/services/rate-limit.backend.service.js.map +1 -1
  302. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts.map +1 -1
  303. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js.map +1 -1
  304. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts.map +1 -1
  305. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js.map +1 -1
  306. package/dist/esm/external-data/batches/external-data-pipeline-scheduled-run.batch.backend.service.d.ts.map +1 -1
  307. package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.d.ts.map +1 -1
  308. package/dist/esm/external-data/controllers/external-data-admin.backend.controller.d.ts.map +1 -1
  309. package/dist/esm/external-data/external-data-extraction-source.backend.d.ts.map +1 -1
  310. package/dist/esm/external-data/external-data-models.exports.d.ts.map +1 -1
  311. package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts.map +1 -1
  312. package/dist/esm/external-data/external-data-pipeline-run.backend.service.js.map +1 -1
  313. package/dist/esm/external-data/external-data-transform.backend.d.ts.map +1 -1
  314. package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.d.ts.map +1 -1
  315. package/dist/esm/external-providers/models/external-providers.backend.schemas.d.ts.map +1 -1
  316. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts.map +1 -1
  317. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.js.map +1 -1
  318. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts +102 -52
  319. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts.map +1 -1
  320. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js +117 -71
  321. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js.map +1 -1
  322. package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts.map +1 -1
  323. package/dist/esm/external-providers/operations/provider-operation-request.backend.js.map +1 -1
  324. package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts.map +1 -1
  325. package/dist/esm/external-providers/operations/provider-request-signing.backend.js +26 -7
  326. package/dist/esm/external-providers/operations/provider-request-signing.backend.js.map +1 -1
  327. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts.map +1 -1
  328. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js.map +1 -1
  329. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts.map +1 -1
  330. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js.map +1 -1
  331. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts.map +1 -1
  332. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js.map +1 -1
  333. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts.map +1 -1
  334. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js.map +1 -1
  335. package/dist/esm/external-providers/services/document-extraction.backend.service.d.ts +81 -34
  336. package/dist/esm/external-providers/services/document-extraction.backend.service.d.ts.map +1 -1
  337. package/dist/esm/external-providers/services/document-extraction.backend.service.js +179 -98
  338. package/dist/esm/external-providers/services/document-extraction.backend.service.js.map +1 -1
  339. package/dist/esm/external-providers/services/embeddings.backend.service.d.ts.map +1 -1
  340. package/dist/esm/external-providers/services/embeddings.backend.service.js.map +1 -1
  341. package/dist/esm/external-providers/services/external-api-handler.backend.service.d.ts.map +1 -1
  342. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts +121 -0
  343. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts.map +1 -1
  344. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js +151 -0
  345. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js.map +1 -1
  346. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.d.ts +15 -1
  347. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.d.ts.map +1 -1
  348. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js +60 -4
  349. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js.map +1 -1
  350. package/dist/esm/features/controllers/features.backend.controller.d.ts.map +1 -1
  351. package/dist/esm/features/services/__tests__/mock-feature-definition-registry.service.d.ts.map +1 -1
  352. package/dist/esm/features/services/__tests__/mock-feature-resolution.service.d.ts.map +1 -1
  353. package/dist/esm/features/services/application-features-admin-write-path.custom-impl.backend.service.d.ts.map +1 -1
  354. package/dist/esm/features/services/feature-definition-registry.backend.service.d.ts.map +1 -1
  355. package/dist/esm/features/services/feature-gate.backend.service.d.ts.map +1 -1
  356. package/dist/esm/features/services/feature-resolution.backend.service.d.ts.map +1 -1
  357. package/dist/esm/features/services/organization-features-admin-write-path.custom-impl.backend.service.d.ts.map +1 -1
  358. package/dist/esm/features/services/scope-feature-ledger-relationship.backend.utils.d.ts.map +1 -1
  359. package/dist/esm/features/services/scope-features-cache-invalidation.custom-impl.backend.service.d.ts.map +1 -1
  360. package/dist/esm/features/testing/feature-test-utils.d.ts.map +1 -1
  361. package/dist/esm/files/batches/files-cleanup.batch.backend.service.d.ts.map +1 -1
  362. package/dist/esm/files/constraints/file-analyzers.types.d.ts.map +1 -1
  363. package/dist/esm/files/constraints/file-constraint-resolver-chain.backend.service.d.ts.map +1 -1
  364. package/dist/esm/files/constraints/file-constraint.types.d.ts.map +1 -1
  365. package/dist/esm/files/constraints/file-validation.backend.service.d.ts.map +1 -1
  366. package/dist/esm/files/constraints/resource-field-constraint-resolver.backend.service.d.ts.map +1 -1
  367. package/dist/esm/files/controllers/file.controller.d.ts.map +1 -1
  368. package/dist/esm/files/controllers/file.controller.js.map +1 -1
  369. package/dist/esm/files/handlers/file-upload-route-locals.backend.types.d.ts.map +1 -1
  370. package/dist/esm/files/handlers/file-upload-route-locals.backend.types.js.map +1 -1
  371. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts +37 -0
  372. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts.map +1 -1
  373. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js +221 -21
  374. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js.map +1 -1
  375. package/dist/esm/files/scanning/clamav-scanner.backend.service.d.ts.map +1 -1
  376. package/dist/esm/files/scanning/file-scan.types.d.ts.map +1 -1
  377. package/dist/esm/files/scanning/yara-scanner.backend.service.d.ts.map +1 -1
  378. package/dist/esm/files/scanning/yara-scanner.backend.service.js +20 -2
  379. package/dist/esm/files/scanning/yara-scanner.backend.service.js.map +1 -1
  380. package/dist/esm/files/services/__tests__/mock-file-field-detection.service.d.ts.map +1 -1
  381. package/dist/esm/files/services/__tests__/mock-file-operation-handler.service.d.ts.map +1 -1
  382. package/dist/esm/files/services/__tests__/mock-file-repository.service.d.ts.map +1 -1
  383. package/dist/esm/files/services/file-field-detection.backend.service.d.ts.map +1 -1
  384. package/dist/esm/files/services/file-operation-handler.backend.service.d.ts.map +1 -1
  385. package/dist/esm/files/services/file-operation-handler.backend.service.js.map +1 -1
  386. package/dist/esm/files/services/file-population.backend.service.d.ts.map +1 -1
  387. package/dist/esm/files/services/file-scanning.backend.service.d.ts.map +1 -1
  388. package/dist/esm/files/services/file-scanning.backend.service.js +5 -0
  389. package/dist/esm/files/services/file-scanning.backend.service.js.map +1 -1
  390. package/dist/esm/files/services/file-text-extraction.backend.service.d.ts.map +1 -1
  391. package/dist/esm/files/services/file-text-extraction.backend.service.js +8 -5
  392. package/dist/esm/files/services/file-text-extraction.backend.service.js.map +1 -1
  393. package/dist/esm/files/services/file-upload-grant.backend.service.d.ts.map +1 -1
  394. package/dist/esm/files/services/file-upload-grant.backend.service.js.map +1 -1
  395. package/dist/esm/files/services/files.backend.service.d.ts.map +1 -1
  396. package/dist/esm/files/services/files.backend.service.js +3 -1
  397. package/dist/esm/files/services/files.backend.service.js.map +1 -1
  398. package/dist/esm/files/services/rag-source-field-detection.backend.service.d.ts.map +1 -1
  399. package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts.map +1 -1
  400. package/dist/esm/files/storage/application-storage-key.backend.utils.js.map +1 -1
  401. package/dist/esm/files/storage/file-storage-path-resolver.backend.service.d.ts.map +1 -1
  402. package/dist/esm/files/storage/file-storage-provider.types.d.ts +36 -1
  403. package/dist/esm/files/storage/file-storage-provider.types.d.ts.map +1 -1
  404. package/dist/esm/files/storage/file-storage-provider.types.js.map +1 -1
  405. package/dist/esm/files/storage/file-storage-router.backend.service.d.ts +21 -3
  406. package/dist/esm/files/storage/file-storage-router.backend.service.d.ts.map +1 -1
  407. package/dist/esm/files/storage/file-storage-router.backend.service.js +38 -5
  408. package/dist/esm/files/storage/file-storage-router.backend.service.js.map +1 -1
  409. package/dist/esm/files/storage/google-drive-storage-provider.backend.service.d.ts +87 -0
  410. package/dist/esm/files/storage/google-drive-storage-provider.backend.service.d.ts.map +1 -0
  411. package/dist/esm/files/storage/google-drive-storage-provider.backend.service.js +340 -0
  412. package/dist/esm/files/storage/google-drive-storage-provider.backend.service.js.map +1 -0
  413. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts.map +1 -1
  414. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js.map +1 -1
  415. package/dist/esm/files/storage/storage-credential-provider.backend.utils.d.ts.map +1 -1
  416. package/dist/esm/files/storage/storage-platform-sts-credential-resolver.backend.utils.d.ts.map +1 -1
  417. package/dist/esm/files/storage/storage-sts-credential-resolver.backend.utils.d.ts.map +1 -1
  418. package/dist/esm/files/storage/storage-sts-credential-resolver.backend.utils.js +10 -3
  419. package/dist/esm/files/storage/storage-sts-credential-resolver.backend.utils.js.map +1 -1
  420. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.d.ts.map +1 -1
  421. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js.map +1 -1
  422. package/dist/esm/files/utils/file-field-schema-path.backend.utils.d.ts.map +1 -1
  423. package/dist/esm/files/utils/file-field-schema-path.backend.utils.js.map +1 -1
  424. package/dist/esm/files/utils/file-upload.utils.d.ts.map +1 -1
  425. package/dist/esm/files/utils/file-uploader.utils.d.ts.map +1 -1
  426. package/dist/esm/files/utils/file-uploader.utils.js.map +1 -1
  427. package/dist/esm/files/utils/file-validation.utils.d.ts.map +1 -1
  428. package/dist/esm/files/utils/image-derivation.backend.utils.d.ts.map +1 -1
  429. package/dist/esm/files/utils/image-thumbnail.backend.utils.d.ts.map +1 -1
  430. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts.map +1 -1
  431. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js.map +1 -1
  432. package/dist/esm/files/utils/rag-source-field-schema-path.backend.utils.d.ts.map +1 -1
  433. package/dist/esm/files/utils/storage-application-identity.backend.utils.d.ts.map +1 -1
  434. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts.map +1 -1
  435. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js.map +1 -1
  436. package/dist/esm/flows-actors/a2a/batches/a2a-push-delivery.batch.backend.service.d.ts.map +1 -1
  437. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.d.ts.map +1 -1
  438. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js.map +1 -1
  439. package/dist/esm/flows-actors/a2a/models/a2a-dialect.backend.schemas.d.ts.map +1 -1
  440. package/dist/esm/flows-actors/a2a/models/a2a-push-notification-delivery.backend.utils.d.ts.map +1 -1
  441. package/dist/esm/flows-actors/a2a/models/a2a-push-notification.backend.schemas.d.ts.map +1 -1
  442. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts.map +1 -1
  443. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js.map +1 -1
  444. package/dist/esm/flows-actors/a2a/services/a2a-push-delivery-log.repository.d.ts.map +1 -1
  445. package/dist/esm/flows-actors/a2a/services/a2a-push-dispatcher.backend.service.d.ts.map +1 -1
  446. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts.map +1 -1
  447. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js.map +1 -1
  448. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts.map +1 -1
  449. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js.map +1 -1
  450. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts.map +1 -1
  451. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js.map +1 -1
  452. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts.map +1 -1
  453. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.js.map +1 -1
  454. package/dist/esm/flows-actors/controllers/flows-actors.controller.d.ts.map +1 -1
  455. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts.map +1 -1
  456. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js.map +1 -1
  457. package/dist/esm/flows-actors/models/agent-facets.backend.definitions.d.ts.map +1 -1
  458. package/dist/esm/flows-actors/models/agents.backend.definitions.d.ts.map +1 -1
  459. package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts.map +1 -1
  460. package/dist/esm/flows-actors/models/core-facets.backend.definitions.js.map +1 -1
  461. package/dist/esm/flows-actors/models/flows-actors.backend.definitions.d.ts.map +1 -1
  462. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts.map +1 -1
  463. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.js.map +1 -1
  464. package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts +107 -16
  465. package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts.map +1 -1
  466. package/dist/esm/flows-actors/models/function-tools.backend.definitions.js +118 -18
  467. package/dist/esm/flows-actors/models/function-tools.backend.definitions.js.map +1 -1
  468. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.d.ts.map +1 -1
  469. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js.map +1 -1
  470. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts.map +1 -1
  471. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js.map +1 -1
  472. package/dist/esm/flows-actors/services/__tests__/fixtures/meta-workflow-evaluation-treatment.test-fixture.d.ts.map +1 -1
  473. package/dist/esm/flows-actors/services/actors-system.backend.service.d.ts.map +1 -1
  474. package/dist/esm/flows-actors/services/actors-system.backend.service.js.map +1 -1
  475. package/dist/esm/flows-actors/services/agent-call-trace-sink.backend.d.ts.map +1 -1
  476. package/dist/esm/flows-actors/services/agent-facets.backend.service.d.ts.map +1 -1
  477. package/dist/esm/flows-actors/services/agents.backend.service.d.ts +104 -5
  478. package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -1
  479. package/dist/esm/flows-actors/services/agents.backend.service.js +263 -31
  480. package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -1
  481. package/dist/esm/flows-actors/services/context-curation.backend.service.d.ts.map +1 -1
  482. package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts +46 -1
  483. package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts.map +1 -1
  484. package/dist/esm/flows-actors/services/conversational-execution.backend.service.js +193 -6
  485. package/dist/esm/flows-actors/services/conversational-execution.backend.service.js.map +1 -1
  486. package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts.map +1 -1
  487. package/dist/esm/flows-actors/services/flows-actors-registry.service.js.map +1 -1
  488. package/dist/esm/flows-actors/services/flows.backend.services.d.ts.map +1 -1
  489. package/dist/esm/flows-actors/services/flows.backend.services.js.map +1 -1
  490. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.d.ts.map +1 -1
  491. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js.map +1 -1
  492. package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts.map +1 -1
  493. package/dist/esm/flows-actors/services/mcp-client.backend.service.js +3 -0
  494. package/dist/esm/flows-actors/services/mcp-client.backend.service.js.map +1 -1
  495. package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.d.ts +99 -0
  496. package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.d.ts.map +1 -0
  497. package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.js +155 -0
  498. package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.js.map +1 -0
  499. package/dist/esm/flows-actors/services/meta-workflow-evaluation-treatment-compiler.backend.service.d.ts.map +1 -1
  500. package/dist/esm/flows-actors/services/meta-workflow-standard-action-contracts.backend.service.d.ts.map +1 -1
  501. package/dist/esm/flows-actors/services/meta-workflow-standard-evaluation-contracts.backend.service.d.ts.map +1 -1
  502. package/dist/esm/flows-actors/services/meta-workflow-structured-artifact-action-compiler.backend.service.d.ts.map +1 -1
  503. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts.map +1 -1
  504. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js.map +1 -1
  505. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts.map +1 -1
  506. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js +9 -0
  507. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js.map +1 -1
  508. package/dist/esm/flows-actors/utils/bounded-subprocess.backend.utils.d.ts.map +1 -1
  509. package/dist/esm/flows-actors/utils/flows-actors-frontend-extractor.utils.d.ts.map +1 -1
  510. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts.map +1 -1
  511. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js.map +1 -1
  512. package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.d.ts.map +1 -1
  513. package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.js.map +1 -1
  514. package/dist/esm/flows-actors/utils/prompt-ir-adapters.backend.utils.d.ts.map +1 -1
  515. package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.d.ts +77 -0
  516. package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.d.ts.map +1 -0
  517. package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.js +164 -0
  518. package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.js.map +1 -0
  519. package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.d.ts +48 -0
  520. package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.d.ts.map +1 -0
  521. package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.js +101 -0
  522. package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.js.map +1 -0
  523. package/dist/esm/guidance/batches/dormancy-detection.batch.backend.service.d.ts.map +1 -1
  524. package/dist/esm/guidance/services/guidance-trigger-evaluator.backend.service.d.ts.map +1 -1
  525. package/dist/esm/guidance/services/lifecycle-custom-implementations.backend.d.ts.map +1 -1
  526. package/dist/esm/guidance/services/lifecycle-evaluator.backend.service.d.ts.map +1 -1
  527. package/dist/esm/guidance/services/lifecycle-scope-id.backend.utils.d.ts.map +1 -1
  528. package/dist/esm/guidance/services/milestone-condition-registry.backend.service.d.ts.map +1 -1
  529. package/dist/esm/guidance/services/milestone-definition-registry.backend.service.d.ts.map +1 -1
  530. package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts.map +1 -1
  531. package/dist/esm/guidance/services/milestone-evaluator.backend.service.js.map +1 -1
  532. package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts.map +1 -1
  533. package/dist/esm/guidance/services/progression-state-store.backend.service.js.map +1 -1
  534. package/dist/esm/guidance/services/scoped-state-read-custom-implementations.backend.d.ts.map +1 -1
  535. package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts.map +1 -1
  536. package/dist/esm/i18n/controllers/i18n-controller.backend.service.js.map +1 -1
  537. package/dist/esm/i18n/services/i18n.backend.service.d.ts.map +1 -1
  538. package/dist/esm/index.d.ts +0 -1
  539. package/dist/esm/index.d.ts.map +1 -1
  540. package/dist/esm/index.js +0 -1
  541. package/dist/esm/index.js.map +1 -1
  542. package/dist/esm/inject/models/container.d.ts +10 -0
  543. package/dist/esm/inject/models/container.d.ts.map +1 -1
  544. package/dist/esm/inject/models/container.js +49 -1
  545. package/dist/esm/inject/models/container.js.map +1 -1
  546. package/dist/esm/inject/models/service-types.d.ts +3 -0
  547. package/dist/esm/inject/models/service-types.d.ts.map +1 -1
  548. package/dist/esm/inject/models/service-types.js +3 -0
  549. package/dist/esm/inject/models/service-types.js.map +1 -1
  550. package/dist/esm/mcp/controllers/mcp.controller.d.ts.map +1 -1
  551. package/dist/esm/mcp/controllers/mcp.controller.js +50 -3
  552. package/dist/esm/mcp/controllers/mcp.controller.js.map +1 -1
  553. package/dist/esm/mcp/models/mcp-protocol.backend.schemas.d.ts.map +1 -1
  554. package/dist/esm/mcp/models/mcp-tool.backend.schemas.d.ts.map +1 -1
  555. package/dist/esm/mcp/models/mcp-tool.backend.schemas.js.map +1 -1
  556. package/dist/esm/mcp/services/mcp-server.backend.service.d.ts.map +1 -1
  557. package/dist/esm/mcp/services/mcp-server.backend.service.js.map +1 -1
  558. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.d.ts.map +1 -1
  559. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js.map +1 -1
  560. package/dist/esm/mcp/services/resource-server-instances-registry.backend.service.d.ts.map +1 -1
  561. package/dist/esm/mcp/utils/zod-to-mcp-json-schema.backend.utils.d.ts.map +1 -1
  562. package/dist/esm/meta-workflow-runtime.exports.d.ts.map +1 -1
  563. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.d.ts.map +1 -1
  564. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js.map +1 -1
  565. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts.map +1 -1
  566. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js.map +1 -1
  567. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts.map +1 -1
  568. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js.map +1 -1
  569. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts.map +1 -1
  570. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.js.map +1 -1
  571. package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts.map +1 -1
  572. package/dist/esm/monitoring/logger/models/logger.backend.schemas.js.map +1 -1
  573. package/dist/esm/monitoring/logger/services/__tests__/mock-logger.service.d.ts.map +1 -1
  574. package/dist/esm/monitoring/logger/services/logger.service.d.ts +12 -0
  575. package/dist/esm/monitoring/logger/services/logger.service.d.ts.map +1 -1
  576. package/dist/esm/monitoring/logger/services/logger.service.js +3 -3
  577. package/dist/esm/monitoring/logger/services/logger.service.js.map +1 -1
  578. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts.map +1 -1
  579. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js.map +1 -1
  580. package/dist/esm/monitoring/logger/utils/log-value-normalization.backend.utils.d.ts.map +1 -1
  581. package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts +10 -6
  582. package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts.map +1 -1
  583. package/dist/esm/monitoring/observability/audit-observation-emission.backend.js +10 -6
  584. package/dist/esm/monitoring/observability/audit-observation-emission.backend.js.map +1 -1
  585. package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts.map +1 -1
  586. package/dist/esm/monitoring/observability/models/observability.backend.schemas.js.map +1 -1
  587. package/dist/esm/monitoring/observability/otel-preload.d.ts.map +1 -1
  588. package/dist/esm/monitoring/observability/otel-sdk-global-handle.d.ts.map +1 -1
  589. package/dist/esm/monitoring/observability/services/__tests__/mock-metrics.service.d.ts.map +1 -1
  590. package/dist/esm/monitoring/observability/services/metrics.service.d.ts.map +1 -1
  591. package/dist/esm/monitoring/observability/services/metrics.service.js.map +1 -1
  592. package/dist/esm/monitoring/observability/services/observability.backend.service.d.ts.map +1 -1
  593. package/dist/esm/notifications/email/components/email-components.d.ts.map +1 -1
  594. package/dist/esm/notifications/email/models/email-template-definition.d.ts.map +1 -1
  595. package/dist/esm/notifications/email/models/email-transport.backend.definitions.d.ts.map +1 -1
  596. package/dist/esm/notifications/email/services/email-batch-send.batch.backend.service.d.ts.map +1 -1
  597. package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts.map +1 -1
  598. package/dist/esm/notifications/email/services/email-template-registry.backend.service.js.map +1 -1
  599. package/dist/esm/notifications/email/services/email-template-validator.backend.service.d.ts.map +1 -1
  600. package/dist/esm/notifications/email/services/email-template-validator.backend.service.js.map +1 -1
  601. package/dist/esm/notifications/email/services/email.backend.service.d.ts +47 -6
  602. package/dist/esm/notifications/email/services/email.backend.service.d.ts.map +1 -1
  603. package/dist/esm/notifications/email/services/email.backend.service.js +86 -36
  604. package/dist/esm/notifications/email/services/email.backend.service.js.map +1 -1
  605. package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts.map +1 -1
  606. package/dist/esm/notifications/email/utils/color-conversion.utils.js.map +1 -1
  607. package/dist/esm/notifications/email/utils/interpolate-email-label.utils.d.ts.map +1 -1
  608. package/dist/esm/notifications/email/utils/zod-to-typescript.utils.d.ts.map +1 -1
  609. package/dist/esm/notifications/services/notification-badge.backend.service.d.ts.map +1 -1
  610. package/dist/esm/notifications/services/notification-badge.backend.service.js.map +1 -1
  611. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts.map +1 -1
  612. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js.map +1 -1
  613. package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.d.ts +32 -0
  614. package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.d.ts.map +1 -0
  615. package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.js +32 -0
  616. package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.js.map +1 -0
  617. package/dist/esm/notifications/sms/services/sms.backend.service.d.ts +64 -10
  618. package/dist/esm/notifications/sms/services/sms.backend.service.d.ts.map +1 -1
  619. package/dist/esm/notifications/sms/services/sms.backend.service.js +277 -82
  620. package/dist/esm/notifications/sms/services/sms.backend.service.js.map +1 -1
  621. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts.map +1 -1
  622. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js.map +1 -1
  623. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts.map +1 -1
  624. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js.map +1 -1
  625. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.d.ts.map +1 -1
  626. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.d.ts.map +1 -1
  627. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js.map +1 -1
  628. package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.custom-impl.backend.service.d.ts.map +1 -1
  629. package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.repository.d.ts.map +1 -1
  630. package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-dispatcher.backend.service.d.ts.map +1 -1
  631. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-public-key.custom-impl.backend.service.d.ts.map +1 -1
  632. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.d.ts.map +1 -1
  633. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js.map +1 -1
  634. package/dist/esm/notifications/webhooks/outbound/services/webhook-config.backend.service.d.ts.map +1 -1
  635. package/dist/esm/notifications/webhooks/services/polymorphic-lookup.backend.service.d.ts.map +1 -1
  636. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts.map +1 -1
  637. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js.map +1 -1
  638. package/dist/esm/organizations/batches/organization-member-invitation-sweep.batch.backend.service.d.ts.map +1 -1
  639. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.d.ts.map +1 -1
  640. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js.map +1 -1
  641. package/dist/esm/organizations/services/authority-change-audit.backend.utils.d.ts.map +1 -1
  642. package/dist/esm/organizations/services/invitation-acceptance.backend.utils.d.ts.map +1 -1
  643. package/dist/esm/organizations/services/org-creation-on-registration.backend.utils.d.ts.map +1 -1
  644. package/dist/esm/organizations/services/org-member-roles-validation.backend.utils.d.ts.map +1 -1
  645. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.d.ts.map +1 -1
  646. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js.map +1 -1
  647. package/dist/esm/organizations/services/organization-deletion-audit.custom-impl.backend.service.d.ts.map +1 -1
  648. package/dist/esm/organizations/services/organization-member-custom-implementation.backend.service.d.ts.map +1 -1
  649. package/dist/esm/organizations/services/organization-onboarding-operation.backend.utils.d.ts.map +1 -1
  650. package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.d.ts.map +1 -1
  651. package/dist/esm/organizations/services/organization-unit-member-custom-implementation.backend.service.d.ts.map +1 -1
  652. package/dist/esm/organizations/services/scim-provisioning-gate.backend.utils.d.ts.map +1 -1
  653. package/dist/esm/organizations/services/user-org-type-grant.backend.utils.d.ts.map +1 -1
  654. package/dist/esm/organizations/services/user-type-revocation-on-org-leave.backend.utils.d.ts.map +1 -1
  655. package/dist/esm/pdf-templates/__tests__/fixtures/tiny-pdf-template.fixture.d.ts.map +1 -1
  656. package/dist/esm/pdf-templates/models/pdf-template-binding.d.ts.map +1 -1
  657. package/dist/esm/pdf-templates/models/pdf-template-definition.d.ts.map +1 -1
  658. package/dist/esm/pdf-templates/services/pdf-generated-file-writer.backend.service.d.ts.map +1 -1
  659. package/dist/esm/pdf-templates/services/pdf-generation-orchestrator.backend.service.d.ts.map +1 -1
  660. package/dist/esm/pdf-templates/services/pdf-renderer.backend.service.d.ts.map +1 -1
  661. package/dist/esm/pdf-templates/services/pdf-template-binding.backend.service.d.ts.map +1 -1
  662. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts.map +1 -1
  663. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js.map +1 -1
  664. package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts.map +1 -1
  665. package/dist/esm/queue/adapters/queue-adapter.backend.binding.js.map +1 -1
  666. package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts.map +1 -1
  667. package/dist/esm/queue/adapters/queue-adapter.backend.interface.js.map +1 -1
  668. package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts.map +1 -1
  669. package/dist/esm/queue/adapters/queue-adapter.backend.options.js.map +1 -1
  670. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts.map +1 -1
  671. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js.map +1 -1
  672. package/dist/esm/queue/apps-crontabs-manager.backend.service.d.ts.map +1 -1
  673. package/dist/esm/queue/cron-job-sync.backend.service.d.ts.map +1 -1
  674. package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts.map +1 -1
  675. package/dist/esm/queue/domain-queue-consumer.backend.service.js.map +1 -1
  676. package/dist/esm/queue/job-completion-registry.backend.service.d.ts.map +1 -1
  677. package/dist/esm/queue/job-consumer.backend.service.d.ts.map +1 -1
  678. package/dist/esm/queue/job-consumer.backend.service.js.map +1 -1
  679. package/dist/esm/queue/job-executor.backend.service.d.ts.map +1 -1
  680. package/dist/esm/queue/job-executor.backend.service.js.map +1 -1
  681. package/dist/esm/queue/job-payload-storage.backend.service.d.ts.map +1 -1
  682. package/dist/esm/queue/job-status-tracking.backend.service.d.ts.map +1 -1
  683. package/dist/esm/queue/queue-monitoring.backend.service.d.ts.map +1 -1
  684. package/dist/esm/queue/queue-monitoring.backend.service.js.map +1 -1
  685. package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts.map +1 -1
  686. package/dist/esm/queue/queue-worker-initializer.backend.service.js.map +1 -1
  687. package/dist/esm/queue/queue.backend.service.d.ts.map +1 -1
  688. package/dist/esm/queue/queue.backend.service.js.map +1 -1
  689. package/dist/esm/queue/scheduled-message-verifier.backend.service.d.ts.map +1 -1
  690. package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts.map +1 -1
  691. package/dist/esm/queue/worker-shutdown-manager.backend.service.js.map +1 -1
  692. package/dist/esm/rag/batches/rag-embedding-drain.batch.backend.service.d.ts.map +1 -1
  693. package/dist/esm/rag/batches/rag-reconciliation-sweep.batch.backend.service.d.ts.map +1 -1
  694. package/dist/esm/rag/models/rag-chunk-store.backend.types.d.ts.map +1 -1
  695. package/dist/esm/rag/models/rag-retrieval.backend.types.d.ts.map +1 -1
  696. package/dist/esm/rag/services/mongodb-rag-chunk-store.backend.service.d.ts.map +1 -1
  697. package/dist/esm/rag/services/postgresql-rag-chunk-store.backend.service.d.ts.map +1 -1
  698. package/dist/esm/rag/services/rag-chunk-collection.mongodb-ddl.backend.d.ts.map +1 -1
  699. package/dist/esm/rag/services/rag-chunk-retrieval.mongodb-query.backend.d.ts.map +1 -1
  700. package/dist/esm/rag/services/rag-chunk-retrieval.postgresql-query.backend.d.ts.map +1 -1
  701. package/dist/esm/rag/services/rag-chunk-store.backend.service.d.ts.map +1 -1
  702. package/dist/esm/rag/services/rag-chunk-table.postgresql-ddl.backend.d.ts.map +1 -1
  703. package/dist/esm/rag/services/rag-ingestion.backend.service.d.ts.map +1 -1
  704. package/dist/esm/rag/services/rag-retrieval.backend.service.d.ts.map +1 -1
  705. package/dist/esm/rag/utils/rag-chunk-fusion.backend.utils.d.ts.map +1 -1
  706. package/dist/esm/rag/utils/rag-chunk-removal.backend.utils.d.ts.map +1 -1
  707. package/dist/esm/rag/utils/rag-chunk-row-shaping.backend.utils.d.ts.map +1 -1
  708. package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts.map +1 -1
  709. package/dist/esm/rag/utils/rag-chunking.backend.utils.js.map +1 -1
  710. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts.map +1 -1
  711. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js.map +1 -1
  712. package/dist/esm/rag/utils/rag-ingestion-trigger.backend.utils.d.ts.map +1 -1
  713. package/dist/esm/rag/utils/rag-retrieval-scope.backend.utils.d.ts.map +1 -1
  714. package/dist/esm/rag/utils/rag-source-field-value.backend.utils.d.ts.map +1 -1
  715. package/dist/esm/requests/models/api-routes.backend.defintions.d.ts.map +1 -1
  716. package/dist/esm/requests/models/requests.backend.schemas.d.ts.map +1 -1
  717. package/dist/esm/requests/service/platform-mutualized-handler.backend.service.d.ts.map +1 -1
  718. package/dist/esm/requests/service/platform-requests.backend.utils.d.ts.map +1 -1
  719. package/dist/esm/requests/service/remote-client-base.backend.service.d.ts.map +1 -1
  720. package/dist/esm/requests/service/serverless-services-handler.backend.service.d.ts.map +1 -1
  721. package/dist/esm/requests/service/websocket.service.d.ts.map +1 -1
  722. package/dist/esm/requests/service/websocket.service.js +49 -1
  723. package/dist/esm/requests/service/websocket.service.js.map +1 -1
  724. package/dist/esm/resources/backend-resource-registry.exports.d.ts.map +1 -1
  725. package/dist/esm/resources/models/custom-service-implementations.backend.definition.d.ts.map +1 -1
  726. package/dist/esm/resources/models/custom-service-implementations.backend.definition.js +2 -0
  727. package/dist/esm/resources/models/custom-service-implementations.backend.definition.js.map +1 -1
  728. package/dist/esm/resources/models/index.d.ts.map +1 -1
  729. package/dist/esm/resources/models/resources-operations.backend.definitions.d.ts.map +1 -1
  730. package/dist/esm/resources/models/resources-operations.backend.definitions.js.map +1 -1
  731. package/dist/esm/resources/models/resources-relationships.backend.definitions.d.ts.map +1 -1
  732. package/dist/esm/resources/models/resources-relationships.backend.definitions.js.map +1 -1
  733. package/dist/esm/resources/models/resources-types.backend.schemas.d.ts.map +1 -1
  734. package/dist/esm/resources/models/resources-types.backend.schemas.js.map +1 -1
  735. package/dist/esm/resources/models/resources.backend.schemas.d.ts.map +1 -1
  736. package/dist/esm/resources/models/virtual-fields.backend.types.d.ts.map +1 -1
  737. package/dist/esm/resources/services/__tests__/mock-resources-registry.service.d.ts.map +1 -1
  738. package/dist/esm/resources/services/resource-context.backend.service.d.ts.map +1 -1
  739. package/dist/esm/resources/services/resource-id.backend.service.d.ts.map +1 -1
  740. package/dist/esm/resources/services/resource-population.backend.service.d.ts +17 -2
  741. package/dist/esm/resources/services/resource-population.backend.service.d.ts.map +1 -1
  742. package/dist/esm/resources/services/resource-population.backend.service.js +74 -18
  743. package/dist/esm/resources/services/resource-population.backend.service.js.map +1 -1
  744. package/dist/esm/resources/services/resources-registry.backend.service.d.ts +23 -0
  745. package/dist/esm/resources/services/resources-registry.backend.service.d.ts.map +1 -1
  746. package/dist/esm/resources/services/resources-registry.backend.service.js +31 -0
  747. package/dist/esm/resources/services/resources-registry.backend.service.js.map +1 -1
  748. package/dist/esm/resources/services/virtual-fields.backend.service.d.ts.map +1 -1
  749. package/dist/esm/resources/utils/resource-retention.backend.utils.d.ts.map +1 -1
  750. package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts.map +1 -1
  751. package/dist/esm/runtime/controllers/health-controller.backend.service.js.map +1 -1
  752. package/dist/esm/runtime/domain-module.backend.definitions.d.ts.map +1 -1
  753. package/dist/esm/runtime/domain-module.backend.definitions.js.map +1 -1
  754. package/dist/esm/runtime/models/execution-context.backend.schemas.d.ts.map +1 -1
  755. package/dist/esm/runtime/models/request-context.als.backend.d.ts.map +1 -1
  756. package/dist/esm/runtime/models/runtime.backend.schemas.d.ts.map +1 -1
  757. package/dist/esm/runtime/services/execution-context-creator.backend.service.d.ts.map +1 -1
  758. package/dist/esm/runtime/services/execution-context-creator.backend.service.js.map +1 -1
  759. package/dist/esm/runtime/services/execution-context-handler.backend.service.d.ts.map +1 -1
  760. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts.map +1 -1
  761. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.js.map +1 -1
  762. package/dist/esm/runtime/services/http-server.backend.service.d.ts.map +1 -1
  763. package/dist/esm/runtime/services/http-server.backend.service.js +10 -0
  764. package/dist/esm/runtime/services/http-server.backend.service.js.map +1 -1
  765. package/dist/esm/runtime/services/start-application.backend.service.d.ts.map +1 -1
  766. package/dist/esm/runtime/services/start-application.backend.service.js +26 -12
  767. package/dist/esm/runtime/services/start-application.backend.service.js.map +1 -1
  768. package/dist/esm/runtime/services/utils/oauth-body-cap.backend.utils.d.ts.map +1 -1
  769. package/dist/esm/runtime/testing/execution-context-test-fixtures.d.ts.map +1 -1
  770. package/dist/esm/runtime/testing/mock-execution-context-creator.service.d.ts.map +1 -1
  771. package/dist/esm/runtime/utils/application-startup-config-access.backend.utils.d.ts.map +1 -1
  772. package/dist/esm/runtime/utils/feature-gated-core-resource-exclusions.backend.utils.d.ts.map +1 -1
  773. package/dist/esm/runtime/utils/request-client-ip.utils.d.ts.map +1 -1
  774. package/dist/esm/runtime/utils/scan-default-exports.backend.utils.d.ts.map +1 -1
  775. package/dist/esm/security/api-keys/api-key-generation.backend.utils.d.ts.map +1 -1
  776. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts.map +1 -1
  777. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js.map +1 -1
  778. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts.map +1 -1
  779. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js.map +1 -1
  780. package/dist/esm/security/authentications/controllers/auth-method-management-controller.backend.service.d.ts.map +1 -1
  781. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts +22 -0
  782. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts.map +1 -1
  783. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js +84 -0
  784. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js.map +1 -1
  785. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts.map +1 -1
  786. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js.map +1 -1
  787. package/dist/esm/security/authentications/models/auth-constants.backend.d.ts.map +1 -1
  788. package/dist/esm/security/authentications/models/authentications.backend.schemas.d.ts.map +1 -1
  789. package/dist/esm/security/authentications/models/authorization-client.backend.schemas.d.ts.map +1 -1
  790. package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts.map +1 -1
  791. package/dist/esm/security/authentications/models/cimd.backend.schemas.js.map +1 -1
  792. package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.d.ts +37 -0
  793. package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.d.ts.map +1 -0
  794. package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.js +37 -0
  795. package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.js.map +1 -0
  796. package/dist/esm/security/authentications/models/identity-persistence-boundaries.backend.d.ts.map +1 -1
  797. package/dist/esm/security/authentications/models/jwt.backend.schemas.d.ts.map +1 -1
  798. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts +15 -0
  799. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts.map +1 -1
  800. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.js.map +1 -1
  801. package/dist/esm/security/authentications/models/saml-authentication.backend.schemas.d.ts.map +1 -1
  802. package/dist/esm/security/authentications/models/sso-connection.backend.schemas.d.ts.map +1 -1
  803. package/dist/esm/security/authentications/models/user-authorization-version.backend.utils.d.ts.map +1 -1
  804. package/dist/esm/security/authentications/seeds/enterprise-config-defaults.seeds.d.ts.map +1 -1
  805. package/dist/esm/security/authentications/services/__tests__/mock-auth-execution-context-factory.service.d.ts.map +1 -1
  806. package/dist/esm/security/authentications/services/__tests__/mock-auth-token-issuer.service.d.ts.map +1 -1
  807. package/dist/esm/security/authentications/services/__tests__/oauth-provider-audit-spies.mock.d.ts.map +1 -1
  808. package/dist/esm/security/authentications/services/admin-config/__tests__/mock-domain-to-org-lookup.service.d.ts.map +1 -1
  809. package/dist/esm/security/authentications/services/admin-config/__tests__/mock-enterprise-user-provisioning.service.d.ts.map +1 -1
  810. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts.map +1 -1
  811. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js.map +1 -1
  812. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts.map +1 -1
  813. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js.map +1 -1
  814. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts.map +1 -1
  815. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js.map +1 -1
  816. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts.map +1 -1
  817. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js.map +1 -1
  818. package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.d.ts.map +1 -1
  819. package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.js +2 -1
  820. package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.js.map +1 -1
  821. package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts +9 -2
  822. package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts.map +1 -1
  823. package/dist/esm/security/authentications/services/anonymous-session.backend.service.js +9 -2
  824. package/dist/esm/security/authentications/services/anonymous-session.backend.service.js.map +1 -1
  825. package/dist/esm/security/authentications/services/auth-credential-verifier.backend.service.d.ts.map +1 -1
  826. package/dist/esm/security/authentications/services/auth-execution-context-factory.backend.service.d.ts.map +1 -1
  827. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts.map +1 -1
  828. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js.map +1 -1
  829. package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.d.ts.map +1 -1
  830. package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.d.ts.map +1 -1
  831. package/dist/esm/security/authentications/services/auth-methods/auth-phone-verification.backend.service.d.ts.map +1 -1
  832. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts.map +1 -1
  833. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js.map +1 -1
  834. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts +97 -0
  835. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts.map +1 -1
  836. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js +218 -26
  837. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js.map +1 -1
  838. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts +14 -0
  839. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts.map +1 -1
  840. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js +36 -0
  841. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js.map +1 -1
  842. package/dist/esm/security/authentications/services/auth-methods/saml-assertion-validator.backend.service.d.ts.map +1 -1
  843. package/dist/esm/security/authentications/services/auth-methods/saml-authentication.backend.service.d.ts.map +1 -1
  844. package/dist/esm/security/authentications/services/auth-methods/saml-metadata.backend.service.d.ts.map +1 -1
  845. package/dist/esm/security/authentications/services/auth-methods/saml-replay-guard.backend.service.d.ts.map +1 -1
  846. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts.map +1 -1
  847. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js.map +1 -1
  848. package/dist/esm/security/authentications/services/auth-session-store.backend.service.d.ts.map +1 -1
  849. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts.map +1 -1
  850. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js.map +1 -1
  851. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts.map +1 -1
  852. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js.map +1 -1
  853. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts.map +1 -1
  854. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js.map +1 -1
  855. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.d.ts.map +1 -1
  856. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js.map +1 -1
  857. package/dist/esm/security/authentications/services/custom-impls/scim-tokens.custom-impl.backend.service.d.ts.map +1 -1
  858. package/dist/esm/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.d.ts.map +1 -1
  859. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts.map +1 -1
  860. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js +57 -1
  861. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js.map +1 -1
  862. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts.map +1 -1
  863. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js.map +1 -1
  864. package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.d.ts.map +1 -1
  865. package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.js +11 -1
  866. package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.js.map +1 -1
  867. package/dist/esm/security/authentications/services/email-verification-initiator.backend.service.d.ts.map +1 -1
  868. package/dist/esm/security/authentications/services/machine-token-issuer.backend.service.d.ts.map +1 -1
  869. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts.map +1 -1
  870. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js.map +1 -1
  871. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts.map +1 -1
  872. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js.map +1 -1
  873. package/dist/esm/security/authentications/services/oidc-user-claims.backend.service.d.ts.map +1 -1
  874. package/dist/esm/security/authentications/services/resolve-active-member-orgs.backend.utils.d.ts.map +1 -1
  875. package/dist/esm/security/authentications/services/utils/__tests__/mock-auth-user-lookup.service.d.ts.map +1 -1
  876. package/dist/esm/security/authentications/services/utils/auth-controller.utils.d.ts.map +1 -1
  877. package/dist/esm/security/authentications/services/utils/auth-credential-ops.backend.service.d.ts.map +1 -1
  878. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.d.ts.map +1 -1
  879. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js.map +1 -1
  880. package/dist/esm/security/authentications/services/utils/auth-response-helper.backend.service.d.ts.map +1 -1
  881. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.d.ts.map +1 -1
  882. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js.map +1 -1
  883. package/dist/esm/security/authentications/services/utils/concurrent-session-eviction.backend.utils.d.ts.map +1 -1
  884. package/dist/esm/security/authentications/services/utils/ensure-user-profile.backend.utils.d.ts.map +1 -1
  885. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts.map +1 -1
  886. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js.map +1 -1
  887. package/dist/esm/security/authentications/services/utils/machine-auth-rate-limit.backend.utils.d.ts.map +1 -1
  888. package/dist/esm/security/authentications/services/utils/pkce.backend.utils.d.ts.map +1 -1
  889. package/dist/esm/security/authentications/services/utils/saml-java-availability.d.ts.map +1 -1
  890. package/dist/esm/security/authentications/utils/application-auth-policy-audit.backend.utils.d.ts.map +1 -1
  891. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts.map +1 -1
  892. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js.map +1 -1
  893. package/dist/esm/security/authentications/utils/one-off-session-lifetime.backend.utils.d.ts.map +1 -1
  894. package/dist/esm/security/authentications/utils/social-oauth2-purpose.backend.utils.d.ts.map +1 -1
  895. package/dist/esm/security/authorizations/access-grant-decision.factory.backend.d.ts +59 -0
  896. package/dist/esm/security/authorizations/access-grant-decision.factory.backend.d.ts.map +1 -0
  897. package/dist/esm/security/authorizations/access-grant-decision.factory.backend.js +111 -0
  898. package/dist/esm/security/authorizations/access-grant-decision.factory.backend.js.map +1 -0
  899. package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.d.ts +57 -0
  900. package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.d.ts.map +1 -0
  901. package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.js +133 -0
  902. package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.js.map +1 -0
  903. package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.d.ts +41 -0
  904. package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.d.ts.map +1 -0
  905. package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.js +157 -0
  906. package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.js.map +1 -0
  907. package/dist/esm/security/authorizations/application-wide-read-admission.backend.d.ts +84 -0
  908. package/dist/esm/security/authorizations/application-wide-read-admission.backend.d.ts.map +1 -0
  909. package/dist/esm/security/authorizations/application-wide-read-admission.backend.js +99 -0
  910. package/dist/esm/security/authorizations/application-wide-read-admission.backend.js.map +1 -0
  911. package/dist/esm/security/authorizations/authorization-denial-audit.backend.utils.d.ts.map +1 -1
  912. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts.map +1 -1
  913. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js.map +1 -1
  914. package/dist/esm/security/authorizations/initiator-organization-confinement.backend.d.ts.map +1 -1
  915. package/dist/esm/security/authorizations/junction-scope-resolution.backend.d.ts.map +1 -1
  916. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts.map +1 -1
  917. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js.map +1 -1
  918. package/dist/esm/security/authorizations/organization-unit-narrowing-enforcement.backend.d.ts.map +1 -1
  919. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.d.ts.map +1 -1
  920. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js +20 -181
  921. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js.map +1 -1
  922. package/dist/esm/security/authorizations/privileged-access-review.backend.utils.d.ts.map +1 -1
  923. package/dist/esm/security/authorizations/relationship-foreign-key-filter.backend.d.ts.map +1 -1
  924. package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts.map +1 -1
  925. package/dist/esm/security/authorizations/role-ceiling.backend.utils.js.map +1 -1
  926. package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts +40 -0
  927. package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts.map +1 -1
  928. package/dist/esm/security/authorizations/role-conferral.backend.utils.js +43 -1
  929. package/dist/esm/security/authorizations/role-conferral.backend.utils.js.map +1 -1
  930. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts +27 -17
  931. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts.map +1 -1
  932. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js +27 -17
  933. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js.map +1 -1
  934. package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts +72 -0
  935. package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts.map +1 -1
  936. package/dist/esm/security/authorizations/services/authorizations.backend.service.js +153 -10
  937. package/dist/esm/security/authorizations/services/authorizations.backend.service.js.map +1 -1
  938. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts.map +1 -1
  939. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js.map +1 -1
  940. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts.map +1 -1
  941. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js.map +1 -1
  942. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts +139 -1
  943. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts.map +1 -1
  944. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js +474 -33
  945. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js.map +1 -1
  946. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts +40 -0
  947. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts.map +1 -1
  948. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js.map +1 -1
  949. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts.map +1 -1
  950. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js.map +1 -1
  951. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts +19 -0
  952. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts.map +1 -1
  953. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js +38 -0
  954. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js.map +1 -1
  955. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts.map +1 -1
  956. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js.map +1 -1
  957. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts.map +1 -1
  958. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js +17 -1
  959. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js.map +1 -1
  960. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts +14 -0
  961. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts.map +1 -1
  962. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js +16 -0
  963. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js.map +1 -1
  964. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts.map +1 -1
  965. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js +1 -1
  966. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js.map +1 -1
  967. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts +19 -0
  968. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts.map +1 -1
  969. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js +45 -2
  970. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js.map +1 -1
  971. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts.map +1 -1
  972. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js.map +1 -1
  973. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts +37 -1
  974. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts.map +1 -1
  975. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js.map +1 -1
  976. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts.map +1 -1
  977. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js.map +1 -1
  978. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts.map +1 -1
  979. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js.map +1 -1
  980. package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.d.ts +34 -0
  981. package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.d.ts.map +1 -0
  982. package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.js +39 -0
  983. package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.js.map +1 -0
  984. package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.d.ts.map +1 -1
  985. package/dist/esm/security/consumable-tokens/consumable-token-models.exports.d.ts.map +1 -1
  986. package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.d.ts.map +1 -1
  987. package/dist/esm/security/consumable-tokens/models/consumable-tokens.shared.schemas.d.ts.map +1 -1
  988. package/dist/esm/security/consumable-tokens/models/index.d.ts.map +1 -1
  989. package/dist/esm/security/consumable-tokens/services/__tests__/mock-consumable-token.service.d.ts.map +1 -1
  990. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts.map +1 -1
  991. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js.map +1 -1
  992. package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts.map +1 -1
  993. package/dist/esm/security/credential-rotation-grace.backend.utils.js.map +1 -1
  994. package/dist/esm/security/jwt/services/auth-jwt-guard.backend.service.d.ts.map +1 -1
  995. package/dist/esm/security/jwt/services/jwt.backend.service.d.ts.map +1 -1
  996. package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.d.ts +13 -0
  997. package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.d.ts.map +1 -1
  998. package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.js +14 -0
  999. package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.js.map +1 -1
  1000. package/dist/esm/security/jwt/utils/jwt-verification-error-classification.backend.utils.d.ts.map +1 -1
  1001. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts.map +1 -1
  1002. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js.map +1 -1
  1003. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts.map +1 -1
  1004. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js.map +1 -1
  1005. package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.d.ts +39 -0
  1006. package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.d.ts.map +1 -0
  1007. package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.js +60 -0
  1008. package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.js.map +1 -0
  1009. package/dist/esm/security/outbound/outbound-request-headers.backend.utils.d.ts +66 -0
  1010. package/dist/esm/security/outbound/outbound-request-headers.backend.utils.d.ts.map +1 -0
  1011. package/dist/esm/security/outbound/outbound-request-headers.backend.utils.js +75 -0
  1012. package/dist/esm/security/outbound/outbound-request-headers.backend.utils.js.map +1 -0
  1013. package/dist/esm/security/scim/controllers/scim.backend.controller.d.ts.map +1 -1
  1014. package/dist/esm/security/scim/controllers/scim.backend.controller.js.map +1 -1
  1015. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts.map +1 -1
  1016. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js.map +1 -1
  1017. package/dist/esm/security/scim/utils/scim-attribute-path-resolver.backend.utils.d.ts.map +1 -1
  1018. package/dist/esm/security/scim/utils/scim-filter-parser.d.ts.map +1 -1
  1019. package/dist/esm/security/scim/utils/scim-response-formatter.d.ts.map +1 -1
  1020. package/dist/esm/security/session-invalidation-fence.backend.utils.d.ts.map +1 -1
  1021. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts.map +1 -1
  1022. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js.map +1 -1
  1023. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts.map +1 -1
  1024. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js.map +1 -1
  1025. package/dist/esm/security/token-invalidation-fence.backend.utils.d.ts.map +1 -1
  1026. package/dist/esm/testing.d.ts.map +1 -1
  1027. package/dist/esm/users/services/inbound-contact-custom-implementation.backend.service.d.ts.map +1 -1
  1028. package/dist/esm/users/services/user-deletion-audit.custom-impl.backend.service.d.ts.map +1 -1
  1029. package/dist/esm/users/services/user-force-password-reset.custom-impl.backend.service.d.ts.map +1 -1
  1030. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts.map +1 -1
  1031. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js.map +1 -1
  1032. package/dist/esm/users/services/user-role-administration.custom-impl.backend.service.d.ts.map +1 -1
  1033. package/dist/esm/users/services/user-self-custom-implementations.backend.d.ts.map +1 -1
  1034. package/dist/esm/users/services/user-super-admin-floor.custom-impl.backend.service.d.ts.map +1 -1
  1035. package/dist/tsconfig.build.tsbuildinfo +1 -1
  1036. package/package.json +9 -9
  1037. package/dist/esm/external-providers/services/flow-actor-design.backend.service.d.ts +0 -45
  1038. package/dist/esm/external-providers/services/flow-actor-design.backend.service.d.ts.map +0 -1
  1039. package/dist/esm/external-providers/services/flow-actor-design.backend.service.js +0 -22
  1040. package/dist/esm/external-providers/services/flow-actor-design.backend.service.js.map +0 -1
  1041. package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts +0 -0
  1042. package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts.map +0 -0
  1043. package/dist/esm/notifications/email/models/email-context-provider.interface.js +0 -0
  1044. package/dist/esm/notifications/email/models/email-context-provider.interface.js.map +0 -0
  1045. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts +0 -0
  1046. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts.map +0 -0
  1047. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js +0 -0
  1048. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js.map +0 -0
  1049. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts +0 -0
  1050. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts.map +0 -0
  1051. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js +0 -0
  1052. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js.map +0 -0
  1053. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts +0 -0
  1054. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts.map +0 -0
  1055. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js +0 -0
  1056. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js.map +0 -0
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Recording one access-grant transition — the emitter BOTH grant resources use.
3
+ *
4
+ * assurance-control: WILDO.ACCESS.PRIVILEGE_EVIDENCE — every elevation transition, tenant-scoped or
5
+ * application-wide, leaves one durable record.
6
+ *
7
+ * ## Why it is one function and not one per resource
8
+ *
9
+ * The tenant grant (`platformAccessGrants`) and the application-wide grant (`applicationAccessGrants`)
10
+ * are two resources with one lifecycle. This emitter carries the whole of the shared behaviour — the
11
+ * post-commit deferral, the feature detection, the loss accounting — so the two can never drift on
12
+ * the part that is identical, and the ONE thing that differs is a parameter: `grantScope`.
13
+ *
14
+ * The alternative was a second near-copy. `.claude/rules/invariant-call-site-enumeration.md` is a
15
+ * catalogue of what happens next: the deferral gets fixed on one side, the loss counter is widened on
16
+ * one side, and the trail's completeness becomes a property of which file somebody opened.
17
+ *
18
+ * ## Deferred to COMMIT, not emitted from the hook
19
+ *
20
+ * A postfix hook runs INSIDE the declared transaction, so an audit row written there survives a
21
+ * rollback — the trail would then claim an elevation that does not exist, which is worse than no
22
+ * trail at all.
23
+ *
24
+ * ## Best-effort, and the loss is COUNTED
25
+ *
26
+ * Feature-detected against the audit service (adding a `log*` method breaks partially-mocked doubles,
27
+ * and the absent property throws synchronously before any `.catch()` can help) and never allowed to
28
+ * fail the transition it observes. Every exit — unbound service, absent method, thrown emission —
29
+ * lands on `audit_observation_dropped_total` through `recordAuditObservationLoss`, because a grant
30
+ * trail with no transitions in it otherwise reads identically whether no elevation was requested or
31
+ * the audit service had been unbound since boot. For THESE resources that is the whole evidentiary
32
+ * claim: an elevation with no recorded request and approval is a standing privilege wearing a
33
+ * lifecycle's clothes.
34
+ */
35
+ import { SAAS_SERVICE_TYPES } from '../../inject/models/service-types.js';
36
+ import { registerTransactionPostCommitEffect } from '../../databases/models/transaction.shared.schemas.js';
37
+ import { describeCaughtError } from '../../errors/utils/error-log-level-classification.backend.utils.js';
38
+ import { AuditObservationKind, AuditObservationLossReason, recordAuditObservationLoss, } from '../../monitoring/observability/audit-observation-emission.backend.js';
39
+ export function recordAccessGrantTransition(params) {
40
+ /**
41
+ * The metrics recorder behind the loss counter, or `undefined` when nothing is bound.
42
+ *
43
+ * Wrapped: this runs on the observation path, so a container that throws while resolving must not
44
+ * be able to fail the transition. Losing the metric channel degrades the signal to its log line,
45
+ * which is the correct direction — an observability gap is never a reason to refuse.
46
+ */
47
+ const resolveMetricsService = () => {
48
+ try {
49
+ if (!params.container.isBound?.(SAAS_SERVICE_TYPES.MetricsService))
50
+ return undefined;
51
+ return params.container.get(SAAS_SERVICE_TYPES.MetricsService);
52
+ }
53
+ catch {
54
+ return undefined;
55
+ }
56
+ };
57
+ const reportLoss = (reason, error) => recordAuditObservationLoss({
58
+ observation: AuditObservationKind.PLATFORM_ACCESS_GRANT_LIFECYCLE,
59
+ reason,
60
+ metricsService: resolveMetricsService(),
61
+ logger: params.utils.logger,
62
+ error,
63
+ // Names WHICH transition on WHICH grant went unrecorded, so the gap can be reconstructed from
64
+ // the grant row rather than being known only as "a transition, somewhere". The SCOPE is in the
65
+ // context too: a lost application-wide transition and a lost tenant one are not equally serious.
66
+ context: {
67
+ observedTransition: params.transition,
68
+ observedGrantScope: params.grantScope,
69
+ observedGrantId: String(params.grant._id ?? ''),
70
+ observedTargetOrganizationId: String(params.grant.organizationId ?? ''),
71
+ },
72
+ });
73
+ const emit = async () => {
74
+ try {
75
+ // One report for both halves of "the audit service cannot take this": an unbound service and a
76
+ // bound service missing the method are the same loss to a reviewer, and splitting them would
77
+ // add a metric label nobody could act on differently.
78
+ if (!params.container.isBound?.(SAAS_SERVICE_TYPES.AuditLogsService)) {
79
+ reportLoss(AuditObservationLossReason.SERVICE_UNAVAILABLE);
80
+ return;
81
+ }
82
+ const auditLogsService = params.container.get(SAAS_SERVICE_TYPES.AuditLogsService);
83
+ if (typeof auditLogsService?.logPlatformAccessGrantLifecycle !== 'function') {
84
+ reportLoss(AuditObservationLossReason.SERVICE_UNAVAILABLE);
85
+ return;
86
+ }
87
+ const grant = params.grant;
88
+ const targetOrganizationId = String(grant.organizationId ?? '');
89
+ await auditLogsService.logPlatformAccessGrantLifecycle({
90
+ transition: params.transition,
91
+ grantScope: params.grantScope,
92
+ grantId: String(grant._id ?? ''),
93
+ // Omitted rather than empty for an application-wide grant: `''` would be written into the
94
+ // event's tenant field and read back as a tenant nobody can resolve.
95
+ targetOrganizationId: targetOrganizationId || undefined,
96
+ operatorUserId: String(grant.operatorUserId ?? ''),
97
+ justification: grant.justification,
98
+ resultingStatus: grant.status,
99
+ expiresAt: grant.expiresAt,
100
+ autoApprovalReason: grant.autoApprovalReason,
101
+ decidedByUserId: params.decidedByUserId,
102
+ decisionReason: grant.decisionReason,
103
+ });
104
+ }
105
+ catch (error) {
106
+ params.utils.logger?.error?.('Failed to record an access-grant lifecycle event', {
107
+ reason: 'platform_access_grant_lifecycle_audit_emission_failed',
108
+ transition: params.transition,
109
+ grantScope: params.grantScope,
110
+ error: describeCaughtError(error),
111
+ });
112
+ // The line above names ONE lost transition; this names the RATE, on the same counter every
113
+ // other dropped security observation lands on. `EMISSION_THREW`: this path `await`s, so a
114
+ // rejection and a synchronous throw arrive at the same `catch` and cannot be told apart —
115
+ // claiming the more specific member would be a distinction the code cannot make.
116
+ reportLoss(AuditObservationLossReason.EMISSION_THREW, error);
117
+ }
118
+ };
119
+ const transaction = params.utils.serviceOptions?.transaction;
120
+ if (transaction) {
121
+ registerTransactionPostCommitEffect(transaction, {
122
+ // The SCOPE is in the key. Both resources use the same transition names, so without it two
123
+ // grants decided in one transaction — possible for a cascade — would collide on one effect key
124
+ // and the second would be dropped.
125
+ key: `access-grant:${params.grantScope}:${params.transition}:${String(params.grant._id ?? '')}`,
126
+ execute: emit,
127
+ });
128
+ }
129
+ else {
130
+ void emit();
131
+ }
132
+ }
133
+ //# sourceMappingURL=access-grant-lifecycle-audit.backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-grant-lifecycle-audit.backend.js","sourceRoot":"","sources":["../../../../src/security/authorizations/access-grant-lifecycle-audit.backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAUH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,mCAAmC,EAAE,MAAM,gEAAgE,CAAC;AACrH,OAAO,EAAE,mBAAmB,EAAE,MAAM,8EAA8E,CAAC;AACnH,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,GAE3B,MAAM,gFAAgF,CAAC;AAGxF,MAAM,UAAU,2BAA2B,CAAC,MAY3C;IACC;;;;;;OAMG;IACH,MAAM,qBAAqB,GAAG,GAAoD,EAAE;QAClF,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,cAAc,CAAC;gBAAE,OAAO,SAAS,CAAC;YACrF,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAsC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QACtG,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,MAAkC,EAAE,KAAe,EAAQ,EAAE,CAC/E,0BAA0B,CAAC;QACzB,WAAW,EAAE,oBAAoB,CAAC,+BAA+B;QACjE,MAAM;QACN,cAAc,EAAE,qBAAqB,EAAE;QACvC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;QAC3B,KAAK;QACL,8FAA8F;QAC9F,+FAA+F;QAC/F,iGAAiG;QACjG,OAAO,EAAE;YACP,kBAAkB,EAAE,MAAM,CAAC,UAAU;YACrC,kBAAkB,EAAE,MAAM,CAAC,UAAU;YACrC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC;YAC/C,4BAA4B,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;SACxE;KACF,CAAC,CAAC;IAEL,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;QACrC,IAAI,CAAC;YACH,+FAA+F;YAC/F,6FAA6F;YAC7F,sDAAsD;YACtD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACrE,UAAU,CAAC,0BAA0B,CAAC,mBAAmB,CAAC,CAAC;gBAC3D,OAAO;YACT,CAAC;YACD,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAA0B,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;YAC5G,IAAI,OAAO,gBAAgB,EAAE,+BAA+B,KAAK,UAAU,EAAE,CAAC;gBAC5E,UAAU,CAAC,0BAA0B,CAAC,mBAAmB,CAAC,CAAC;gBAC3D,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;YAChE,MAAM,gBAAgB,CAAC,+BAA+B,CAAC;gBACrD,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC;gBAChC,0FAA0F;gBAC1F,qEAAqE;gBACrE,oBAAoB,EAAE,oBAAoB,IAAI,SAAS;gBACvD,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;gBAClD,aAAa,EAAE,KAAK,CAAC,aAAmC;gBACxD,eAAe,EAAE,KAAK,CAAC,MAAmC;gBAC1D,SAAS,EAAE,KAAK,CAAC,SAA6B;gBAC9C,kBAAkB,EAAE,KAAK,CAAC,kBAAuE;gBACjG,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,cAAc,EAAE,KAAK,CAAC,cAAoC;aAC3D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,kDAAkD,EAAE;gBAC/E,MAAM,EAAE,uDAAuD;gBAC/D,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;aAClC,CAAC,CAAC;YACH,2FAA2F;YAC3F,0FAA0F;YAC1F,0FAA0F;YAC1F,iFAAiF;YACjF,UAAU,CAAC,0BAA0B,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC;IAC7D,IAAI,WAAW,EAAE,CAAC;QAChB,mCAAmC,CAAC,WAAoB,EAAE;YACxD,2FAA2F;YAC3F,+FAA+F;YAC/F,mCAAmC;YACnC,GAAG,EAAE,gBAAgB,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE;YAC/F,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,EAAE,CAAC;IACd,CAAC;AACH,CAAC","sourcesContent":["/**\n * Recording one access-grant transition — the emitter BOTH grant resources use.\n *\n * assurance-control: WILDO.ACCESS.PRIVILEGE_EVIDENCE — every elevation transition, tenant-scoped or\n * application-wide, leaves one durable record.\n *\n * ## Why it is one function and not one per resource\n *\n * The tenant grant (`platformAccessGrants`) and the application-wide grant (`applicationAccessGrants`)\n * are two resources with one lifecycle. This emitter carries the whole of the shared behaviour — the\n * post-commit deferral, the feature detection, the loss accounting — so the two can never drift on\n * the part that is identical, and the ONE thing that differs is a parameter: `grantScope`.\n *\n * The alternative was a second near-copy. `.claude/rules/invariant-call-site-enumeration.md` is a\n * catalogue of what happens next: the deferral gets fixed on one side, the loss counter is widened on\n * one side, and the trail's completeness becomes a property of which file somebody opened.\n *\n * ## Deferred to COMMIT, not emitted from the hook\n *\n * A postfix hook runs INSIDE the declared transaction, so an audit row written there survives a\n * rollback — the trail would then claim an elevation that does not exist, which is worse than no\n * trail at all.\n *\n * ## Best-effort, and the loss is COUNTED\n *\n * Feature-detected against the audit service (adding a `log*` method breaks partially-mocked doubles,\n * and the absent property throws synchronously before any `.catch()` can help) and never allowed to\n * fail the transition it observes. Every exit — unbound service, absent method, thrown emission —\n * lands on `audit_observation_dropped_total` through `recordAuditObservationLoss`, because a grant\n * trail with no transitions in it otherwise reads identically whether no elevation was requested or\n * the audit service had been unbound since boot. For THESE resources that is the whole evidentiary\n * claim: an elevation with no recorded request and approval is a standing privilege wearing a\n * lifecycle's clothes.\n */\n\nimport type { Container } from 'inversify';\nimport {\n PlatformAccessGrantAutoApprovalReason,\n PlatformAccessGrantLifecycleTransition,\n PlatformAccessGrantScope,\n PlatformAccessGrantStatus,\n} from '@wildo-ai/saas-models';\n\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { registerTransactionPostCommitEffect } from '~wildo-backend-lib/databases/models/transaction.shared.schemas';\nimport { describeCaughtError } from '~wildo-backend-lib/errors/utils/error-log-level-classification.backend.utils';\nimport {\n AuditObservationKind,\n AuditObservationLossReason,\n recordAuditObservationLoss,\n type AuditObservationLossMetricsRecorder,\n} from '~wildo-backend-lib/monitoring/observability/audit-observation-emission.backend';\nimport type { AuditLogsBackendService } from '~wildo-backend-lib/compliance/audit-trails/services/audit-logs.backend.service';\n\nexport function recordAccessGrantTransition(params: {\n container: Container;\n utils: { serviceOptions?: { transaction?: unknown }; logger?: { error?: (message: string, meta: unknown) => void } };\n transition: PlatformAccessGrantLifecycleTransition;\n /**\n * WHICH elevation this is. Passed rather than inferred from the row's shape: an application-wide\n * grant carries no `organizationId`, and reading absence as scope would make a scrubbed or missing\n * tenant id report the wider, more alarming elevation.\n */\n grantScope: PlatformAccessGrantScope;\n grant: Record<string, unknown>;\n decidedByUserId?: string;\n}): void {\n /**\n * The metrics recorder behind the loss counter, or `undefined` when nothing is bound.\n *\n * Wrapped: this runs on the observation path, so a container that throws while resolving must not\n * be able to fail the transition. Losing the metric channel degrades the signal to its log line,\n * which is the correct direction — an observability gap is never a reason to refuse.\n */\n const resolveMetricsService = (): AuditObservationLossMetricsRecorder | undefined => {\n try {\n if (!params.container.isBound?.(SAAS_SERVICE_TYPES.MetricsService)) return undefined;\n return params.container.get<AuditObservationLossMetricsRecorder>(SAAS_SERVICE_TYPES.MetricsService);\n } catch {\n return undefined;\n }\n };\n\n const reportLoss = (reason: AuditObservationLossReason, error?: unknown): void =>\n recordAuditObservationLoss({\n observation: AuditObservationKind.PLATFORM_ACCESS_GRANT_LIFECYCLE,\n reason,\n metricsService: resolveMetricsService(),\n logger: params.utils.logger,\n error,\n // Names WHICH transition on WHICH grant went unrecorded, so the gap can be reconstructed from\n // the grant row rather than being known only as \"a transition, somewhere\". The SCOPE is in the\n // context too: a lost application-wide transition and a lost tenant one are not equally serious.\n context: {\n observedTransition: params.transition,\n observedGrantScope: params.grantScope,\n observedGrantId: String(params.grant._id ?? ''),\n observedTargetOrganizationId: String(params.grant.organizationId ?? ''),\n },\n });\n\n const emit = async (): Promise<void> => {\n try {\n // One report for both halves of \"the audit service cannot take this\": an unbound service and a\n // bound service missing the method are the same loss to a reviewer, and splitting them would\n // add a metric label nobody could act on differently.\n if (!params.container.isBound?.(SAAS_SERVICE_TYPES.AuditLogsService)) {\n reportLoss(AuditObservationLossReason.SERVICE_UNAVAILABLE);\n return;\n }\n const auditLogsService = params.container.get<AuditLogsBackendService>(SAAS_SERVICE_TYPES.AuditLogsService);\n if (typeof auditLogsService?.logPlatformAccessGrantLifecycle !== 'function') {\n reportLoss(AuditObservationLossReason.SERVICE_UNAVAILABLE);\n return;\n }\n\n const grant = params.grant;\n const targetOrganizationId = String(grant.organizationId ?? '');\n await auditLogsService.logPlatformAccessGrantLifecycle({\n transition: params.transition,\n grantScope: params.grantScope,\n grantId: String(grant._id ?? ''),\n // Omitted rather than empty for an application-wide grant: `''` would be written into the\n // event's tenant field and read back as a tenant nobody can resolve.\n targetOrganizationId: targetOrganizationId || undefined,\n operatorUserId: String(grant.operatorUserId ?? ''),\n justification: grant.justification as string | undefined,\n resultingStatus: grant.status as PlatformAccessGrantStatus,\n expiresAt: grant.expiresAt as Date | undefined,\n autoApprovalReason: grant.autoApprovalReason as PlatformAccessGrantAutoApprovalReason | undefined,\n decidedByUserId: params.decidedByUserId,\n decisionReason: grant.decisionReason as string | undefined,\n });\n } catch (error) {\n params.utils.logger?.error?.('Failed to record an access-grant lifecycle event', {\n reason: 'platform_access_grant_lifecycle_audit_emission_failed',\n transition: params.transition,\n grantScope: params.grantScope,\n error: describeCaughtError(error),\n });\n // The line above names ONE lost transition; this names the RATE, on the same counter every\n // other dropped security observation lands on. `EMISSION_THREW`: this path `await`s, so a\n // rejection and a synchronous throw arrive at the same `catch` and cannot be told apart —\n // claiming the more specific member would be a distinction the code cannot make.\n reportLoss(AuditObservationLossReason.EMISSION_THREW, error);\n }\n };\n\n const transaction = params.utils.serviceOptions?.transaction;\n if (transaction) {\n registerTransactionPostCommitEffect(transaction as never, {\n // The SCOPE is in the key. Both resources use the same transition names, so without it two\n // grants decided in one transaction — possible for a cascade — would collide on one effect key\n // and the second would be dropped.\n key: `access-grant:${params.grantScope}:${params.transition}:${String(params.grant._id ?? '')}`,\n execute: emit,\n });\n } else {\n void emit();\n }\n}\n"]}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Application access grants — the five lifecycle transitions.
3
+ *
4
+ * assurance-control: WILDO.ACCESS.SEGREGATION_OF_DUTIES — the widest operator elevation is approved
5
+ * by a SECOND, distinct platform administrator.
6
+ * assurance-control: WILDO.ACCESS.PRIVILEGE_EVIDENCE
7
+ *
8
+ * Everything structural here is the tenant resource's, reached through
9
+ * `access-grant-decision.factory.backend.ts` and `access-grant-lifecycle-audit.backend.ts`: the same
10
+ * server-authored fields, the same transition preconditions, the same post-commit audit. What is NEW
11
+ * is two things, and they are the whole of the unit:
12
+ *
13
+ * 1. **`requestAccess` never auto-approves.** The tenant grant auto-approves when the tenant has not
14
+ * opted into approval, or cannot approve — both statements about a NAMED tenant. This grant names
15
+ * none, so there is no posture to read and no circularity to break. Every row starts PENDING.
16
+ * 2. **`approve` refuses the requester.** {@link applicationAccessGrantApproverIsDistinct} is the
17
+ * two-person rule, and it is enforced here as well as on the operation's `enabledCondition`. Two
18
+ * guarantees, not one belt-and-braces: the config makes the affordance disappear, this makes the
19
+ * transition impossible. Removing either alone must not admit a self-approval, and each has its
20
+ * own pin.
21
+ */
22
+ import type { ResourceCustomServiceImplementationFactory } from '../../base-classes/services/services/resource-operation-custom-implementation.factory.backend';
23
+ /** The refusal token a self-approval produces. Named once so a pin can match it exactly. */
24
+ export declare const APPLICATION_ACCESS_GRANT_SELF_APPROVAL_REFUSAL = "application_access_grant_requires_a_second_administrator";
25
+ /**
26
+ * The two-person rule as a decision precondition.
27
+ *
28
+ * Exported so its pin can exercise it directly rather than through the whole operation pipeline, and
29
+ * so nothing can silently substitute a laxer comparison at the call site.
30
+ *
31
+ * Note the direction of the fail: `applicationAccessGrantApproverIsDistinct` returns `false` when
32
+ * EITHER id is missing, so an approval reaching here with no decider — a system context, a broken
33
+ * session — is REFUSED rather than admitted. That is deliberate; the inline `a !== b` form would
34
+ * admit it, because `undefined !== 'operator'` is `true`.
35
+ */
36
+ export declare const refuseApplicationAccessGrantSelfApproval: (params: {
37
+ readonly currentObject: Record<string, unknown> | undefined;
38
+ readonly deciderUserId: string | undefined;
39
+ }) => string | undefined;
40
+ export declare function createApplicationAccessGrantFactories(): ResourceCustomServiceImplementationFactory[];
41
+ //# sourceMappingURL=application-access-grant-custom-implementation.backend.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-access-grant-custom-implementation.backend.service.d.ts","sourceRoot":"","sources":["../../../../src/security/authorizations/application-access-grant-custom-implementation.backend.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAoBH,OAAO,KAAK,EAAE,0CAA0C,EAAE,MAAM,4GAA4G,CAAC;AAG7K,4FAA4F;AAC5F,eAAO,MAAM,8CAA8C,6DAA6D,CAAC;AAEzH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wCAAwC,GAAI,QAAQ;IAC/D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C,KAAG,MAAM,GAAG,SAOZ,CAAC;AAEF,wBAAgB,qCAAqC,IAAI,0CAA0C,EAAE,CA8HpG"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Application access grants — the five lifecycle transitions.
3
+ *
4
+ * assurance-control: WILDO.ACCESS.SEGREGATION_OF_DUTIES — the widest operator elevation is approved
5
+ * by a SECOND, distinct platform administrator.
6
+ * assurance-control: WILDO.ACCESS.PRIVILEGE_EVIDENCE
7
+ *
8
+ * Everything structural here is the tenant resource's, reached through
9
+ * `access-grant-decision.factory.backend.ts` and `access-grant-lifecycle-audit.backend.ts`: the same
10
+ * server-authored fields, the same transition preconditions, the same post-commit audit. What is NEW
11
+ * is two things, and they are the whole of the unit:
12
+ *
13
+ * 1. **`requestAccess` never auto-approves.** The tenant grant auto-approves when the tenant has not
14
+ * opted into approval, or cannot approve — both statements about a NAMED tenant. This grant names
15
+ * none, so there is no posture to read and no circularity to break. Every row starts PENDING.
16
+ * 2. **`approve` refuses the requester.** {@link applicationAccessGrantApproverIsDistinct} is the
17
+ * two-person rule, and it is enforced here as well as on the operation's `enabledCondition`. Two
18
+ * guarantees, not one belt-and-braces: the config makes the affordance disappear, this makes the
19
+ * transition impossible. Removing either alone must not admit a self-approval, and each has its
20
+ * own pin.
21
+ */
22
+ import { ApplicationAccessGrants_Operations, CoreResourceType, ErrorCustomMessageReference, ErrorType, PLATFORM_ACCESS_GRANT_REVOCABLE_STATUSES, PlatformAccessGrantLifecycleTransition, PlatformAccessGrantScope, PlatformAccessGrantStatus, ResourceOperationVariantType, applicationAccessGrantApproverIsDistinct, resolveApplicationAccessGrantExpiry, } from '@wildo-ai/saas-models';
23
+ import { recordAccessGrantTransition } from '../../security/authorizations/access-grant-lifecycle-audit.backend.js';
24
+ import { createAccessGrantDecisionFactory } from '../../security/authorizations/access-grant-decision.factory.backend.js';
25
+ import { createResourceCustomServiceImplementation } from '../../base-classes/services/services/resource-operation-custom-implementation.factory.backend.js';
26
+ /** The refusal token a self-approval produces. Named once so a pin can match it exactly. */
27
+ export const APPLICATION_ACCESS_GRANT_SELF_APPROVAL_REFUSAL = 'application_access_grant_requires_a_second_administrator';
28
+ /**
29
+ * The two-person rule as a decision precondition.
30
+ *
31
+ * Exported so its pin can exercise it directly rather than through the whole operation pipeline, and
32
+ * so nothing can silently substitute a laxer comparison at the call site.
33
+ *
34
+ * Note the direction of the fail: `applicationAccessGrantApproverIsDistinct` returns `false` when
35
+ * EITHER id is missing, so an approval reaching here with no decider — a system context, a broken
36
+ * session — is REFUSED rather than admitted. That is deliberate; the inline `a !== b` form would
37
+ * admit it, because `undefined !== 'operator'` is `true`.
38
+ */
39
+ export const refuseApplicationAccessGrantSelfApproval = (params) => (applicationAccessGrantApproverIsDistinct({
40
+ operatorUserId: params.currentObject?.operatorUserId,
41
+ approverUserId: params.deciderUserId,
42
+ })
43
+ ? undefined
44
+ : APPLICATION_ACCESS_GRANT_SELF_APPROVAL_REFUSAL);
45
+ export function createApplicationAccessGrantFactories() {
46
+ /**
47
+ * REQUEST — the bootstrap verb, and the only one reachable without an existing grant.
48
+ *
49
+ * The admission gate exempts this whole resource, because an operator would otherwise need an
50
+ * application-wide grant in order to ask for one. What keeps the exemption safe is the tenant
51
+ * resource's own argument: requesting is not accessing. This writes one PENDING row and reads
52
+ * nothing; the blast radius of an abused request is an entry in a queue somebody else must sign.
53
+ */
54
+ const requestAccessFactory = (_resourcesRegistryService, container) => createResourceCustomServiceImplementation({
55
+ operationPath: {
56
+ resourceIdentifier: CoreResourceType.APPLICATION_ACCESS_GRANTS,
57
+ operationIdentifier: ApplicationAccessGrants_Operations.REQUEST_ACCESS,
58
+ variantType: ResourceOperationVariantType.API_CALL,
59
+ isOperationDefault: true,
60
+ },
61
+ debugLabel: 'application-access-grants.request-access.api',
62
+ // Every one of these is `.excludeFromCreate()`, so the strict request DTO drops whatever a caller
63
+ // sent and the prefix's value is authoritative. Declaring them makes that explicit rather than
64
+ // inferred — the inference has a hole for callers that reach the service tier with the key already
65
+ // present (MCP `callTool` forwards arguments unparsed), and here a caller choosing their own
66
+ // `status` would mint an ACTIVE application-wide elevation with no second signature at all.
67
+ authoritativeFields: ['operatorUserId', 'status', 'expiresAt', 'approvedByUserId', 'approvedAt'],
68
+ transactionalCore: true,
69
+ // A request writes only the grant row, which the operation resource contributes automatically.
70
+ // Declared explicitly (even as empty) because startup proves adapter compatibility for what is
71
+ // declared and cannot detect an omission.
72
+ transactionParticipants: {},
73
+ handlers: {
74
+ prefixCoreOperations: async (_id, input, executionContext, _operationPath, utils) => {
75
+ const payload = input;
76
+ const operatorUserId = executionContext.initiatorIds?.userId;
77
+ if (!operatorUserId) {
78
+ throw utils.errorBuilder.buildError(ErrorType.VALIDATION, executionContext, {
79
+ customMessageReference: ErrorCustomMessageReference.VALIDATION,
80
+ context: { reason: 'application_access_grant_requires_an_operator' },
81
+ });
82
+ }
83
+ return {
84
+ // Server-authored from the session, never the body — the field that says WHOSE elevation
85
+ // this is, and therefore whom the approver may not be.
86
+ operatorUserId,
87
+ applicationId: executionContext.initiatorIds?.applicationId,
88
+ justification: payload.justification,
89
+ // PENDING, always. There is no auto-approval member here and no branch that could reach
90
+ // ACTIVE: the only writer of ACTIVE is `approve`, and `approve` refuses this same user.
91
+ status: PlatformAccessGrantStatus.PENDING_APPROVAL,
92
+ expiresAt: resolveApplicationAccessGrantExpiry(payload.requestedDurationMinutes, new Date()),
93
+ };
94
+ },
95
+ postfixCoreOperations: async (_id, createdGrant, _executionContext, _operationPath, utils) => {
96
+ recordAccessGrantTransition({
97
+ container,
98
+ utils,
99
+ grantScope: PlatformAccessGrantScope.APPLICATION_WIDE,
100
+ transition: PlatformAccessGrantLifecycleTransition.REQUESTED,
101
+ grant: (createdGrant ?? {}),
102
+ });
103
+ return createdGrant;
104
+ },
105
+ },
106
+ });
107
+ const makeDecisionFactory = (operationIdentifier, options) => createAccessGrantDecisionFactory(CoreResourceType.APPLICATION_ACCESS_GRANTS, PlatformAccessGrantScope.APPLICATION_WIDE, operationIdentifier, options);
108
+ return [
109
+ requestAccessFactory,
110
+ makeDecisionFactory(ApplicationAccessGrants_Operations.APPROVE, {
111
+ debugLabel: 'application-access-grants.approve.api',
112
+ auditTransition: PlatformAccessGrantLifecycleTransition.APPROVED,
113
+ nextStatus: PlatformAccessGrantStatus.ACTIVE,
114
+ permittedFrom: [PlatformAccessGrantStatus.PENDING_APPROVAL],
115
+ stampsApprover: true,
116
+ transitionRefusalReason: 'application_access_grant_transition_not_permitted_from_current_status',
117
+ // THE two-person rule. Everything else in this file exists on the tenant resource too.
118
+ additionalPrecondition: refuseApplicationAccessGrantSelfApproval,
119
+ }),
120
+ makeDecisionFactory(ApplicationAccessGrants_Operations.DENY, {
121
+ debugLabel: 'application-access-grants.deny.api',
122
+ auditTransition: PlatformAccessGrantLifecycleTransition.DENIED,
123
+ nextStatus: PlatformAccessGrantStatus.DENIED,
124
+ permittedFrom: [PlatformAccessGrantStatus.PENDING_APPROVAL],
125
+ stampsApprover: false,
126
+ transitionRefusalReason: 'application_access_grant_transition_not_permitted_from_current_status',
127
+ // No same-person refusal, deliberately. An operator thinking better of their own request should
128
+ // be able to withdraw it; the two-person rule constrains what an operator can GRANT themselves,
129
+ // never what they can refuse themselves.
130
+ }),
131
+ makeDecisionFactory(ApplicationAccessGrants_Operations.REVOKE, {
132
+ debugLabel: 'application-access-grants.revoke.api',
133
+ auditTransition: PlatformAccessGrantLifecycleTransition.REVOKED,
134
+ nextStatus: PlatformAccessGrantStatus.REVOKED,
135
+ // Both a pending request and a live elevation can be withdrawn; a terminal one cannot be
136
+ // re-terminated, which would rewrite the decision history.
137
+ permittedFrom: PLATFORM_ACCESS_GRANT_REVOCABLE_STATUSES,
138
+ stampsApprover: false,
139
+ transitionRefusalReason: 'application_access_grant_transition_not_permitted_from_current_status',
140
+ }),
141
+ /**
142
+ * The one transition with no human actor. Permitted from ACTIVE alone: a grant that was DENIED or
143
+ * REVOKED is terminal and must keep saying which, because relabelling it EXPIRED would rewrite the
144
+ * decision history an audit reads.
145
+ */
146
+ makeDecisionFactory(ApplicationAccessGrants_Operations.EXPIRE, {
147
+ debugLabel: 'application-access-grants.expire.internal',
148
+ auditTransition: PlatformAccessGrantLifecycleTransition.EXPIRED,
149
+ nextStatus: PlatformAccessGrantStatus.EXPIRED,
150
+ permittedFrom: [PlatformAccessGrantStatus.ACTIVE],
151
+ stampsApprover: false,
152
+ transitionRefusalReason: 'application_access_grant_transition_not_permitted_from_current_status',
153
+ variantType: ResourceOperationVariantType.INTERNAL_CALL,
154
+ }),
155
+ ];
156
+ }
157
+ //# sourceMappingURL=application-access-grant-custom-implementation.backend.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-access-grant-custom-implementation.backend.service.js","sourceRoot":"","sources":["../../../../src/security/authorizations/application-access-grant-custom-implementation.backend.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EACL,kCAAkC,EAClC,gBAAgB,EAChB,2BAA2B,EAC3B,SAAS,EACT,wCAAwC,EACxC,sCAAsC,EACtC,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,wCAAwC,EACxC,mCAAmC,GACpC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,iFAAiF,CAAC;AAC9H,OAAO,EAAE,gCAAgC,EAAE,MAAM,kFAAkF,CAAC;AACpI,OAAO,EAAE,yCAAyC,EAAE,MAAM,4GAA4G,CAAC;AAIvK,4FAA4F;AAC5F,MAAM,CAAC,MAAM,8CAA8C,GAAG,0DAA0D,CAAC;AAEzH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,MAGxD,EAAsB,EAAE,CAAC,CACxB,wCAAwC,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC,aAAa,EAAE,cAAoC;IAC1E,cAAc,EAAE,MAAM,CAAC,aAAa;CACrC,CAAC;IACA,CAAC,CAAC,SAAS;IACX,CAAC,CAAC,8CAA8C,CACnD,CAAC;AAEF,MAAM,UAAU,qCAAqC;IACnD;;;;;;;OAOG;IACH,MAAM,oBAAoB,GAAG,CAC3B,yBAA0D,EAC1D,SAAoB,EACpB,EAAE,CAAC,yCAAyC,CAAC;QAC7C,aAAa,EAAE;YACb,kBAAkB,EAAE,gBAAgB,CAAC,yBAAyB;YAC9D,mBAAmB,EAAE,kCAAkC,CAAC,cAAc;YACtE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;YAClD,kBAAkB,EAAE,IAAI;SACzB;QACD,UAAU,EAAE,8CAA8C;QAC1D,kGAAkG;QAClG,+FAA+F;QAC/F,mGAAmG;QACnG,6FAA6F;QAC7F,4FAA4F;QAC5F,mBAAmB,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,CAAC;QAChG,iBAAiB,EAAE,IAAI;QACvB,+FAA+F;QAC/F,+FAA+F;QAC/F,0CAA0C;QAC1C,uBAAuB,EAAE,EAAE;QAC3B,QAAQ,EAAE;YACR,oBAAoB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE;gBAClF,MAAM,OAAO,GAAG,KAAsE,CAAC;gBACvF,MAAM,cAAc,GAAG,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC;gBAE7D,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,MAAM,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE,gBAAgB,EAAE;wBAC1E,sBAAsB,EAAE,2BAA2B,CAAC,UAAU;wBAC9D,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;qBACrE,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO;oBACL,yFAAyF;oBACzF,uDAAuD;oBACvD,cAAc;oBACd,aAAa,EAAE,gBAAgB,CAAC,YAAY,EAAE,aAAa;oBAC3D,aAAa,EAAE,OAAO,CAAC,aAAa;oBACpC,wFAAwF;oBACxF,wFAAwF;oBACxF,MAAM,EAAE,yBAAyB,CAAC,gBAAgB;oBAClD,SAAS,EAAE,mCAAmC,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,IAAI,EAAE,CAAC;iBAC7F,CAAC;YACJ,CAAC;YACD,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE;gBAC3F,2BAA2B,CAAC;oBAC1B,SAAS;oBACT,KAAK;oBACL,UAAU,EAAE,wBAAwB,CAAC,gBAAgB;oBACrD,UAAU,EAAE,sCAAsC,CAAC,SAAS;oBAC5D,KAAK,EAAE,CAAC,YAAY,IAAI,EAAE,CAA4B;iBACvD,CAAC,CAAC;gBACH,OAAO,YAAY,CAAC;YACtB,CAAC;SACF;KACF,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,CAC1B,mBAAuD,EACvD,OAA+D,EACnB,EAAE,CAAC,gCAAgC,CAC/E,gBAAgB,CAAC,yBAAyB,EAC1C,wBAAwB,CAAC,gBAAgB,EACzC,mBAAmB,EACnB,OAAO,CACR,CAAC;IAEF,OAAO;QACL,oBAAoB;QACpB,mBAAmB,CAAC,kCAAkC,CAAC,OAAO,EAAE;YAC9D,UAAU,EAAE,uCAAuC;YACnD,eAAe,EAAE,sCAAsC,CAAC,QAAQ;YAChE,UAAU,EAAE,yBAAyB,CAAC,MAAM;YAC5C,aAAa,EAAE,CAAC,yBAAyB,CAAC,gBAAgB,CAAC;YAC3D,cAAc,EAAE,IAAI;YACpB,uBAAuB,EAAE,uEAAuE;YAChG,uFAAuF;YACvF,sBAAsB,EAAE,wCAAwC;SACjE,CAAC;QACF,mBAAmB,CAAC,kCAAkC,CAAC,IAAI,EAAE;YAC3D,UAAU,EAAE,oCAAoC;YAChD,eAAe,EAAE,sCAAsC,CAAC,MAAM;YAC9D,UAAU,EAAE,yBAAyB,CAAC,MAAM;YAC5C,aAAa,EAAE,CAAC,yBAAyB,CAAC,gBAAgB,CAAC;YAC3D,cAAc,EAAE,KAAK;YACrB,uBAAuB,EAAE,uEAAuE;YAChG,gGAAgG;YAChG,gGAAgG;YAChG,yCAAyC;SAC1C,CAAC;QACF,mBAAmB,CAAC,kCAAkC,CAAC,MAAM,EAAE;YAC7D,UAAU,EAAE,sCAAsC;YAClD,eAAe,EAAE,sCAAsC,CAAC,OAAO;YAC/D,UAAU,EAAE,yBAAyB,CAAC,OAAO;YAC7C,yFAAyF;YACzF,2DAA2D;YAC3D,aAAa,EAAE,wCAAwC;YACvD,cAAc,EAAE,KAAK;YACrB,uBAAuB,EAAE,uEAAuE;SACjG,CAAC;QACF;;;;WAIG;QACH,mBAAmB,CAAC,kCAAkC,CAAC,MAAM,EAAE;YAC7D,UAAU,EAAE,2CAA2C;YACvD,eAAe,EAAE,sCAAsC,CAAC,OAAO;YAC/D,UAAU,EAAE,yBAAyB,CAAC,OAAO;YAC7C,aAAa,EAAE,CAAC,yBAAyB,CAAC,MAAM,CAAC;YACjD,cAAc,EAAE,KAAK;YACrB,uBAAuB,EAAE,uEAAuE;YAChG,WAAW,EAAE,4BAA4B,CAAC,aAAa;SACxD,CAAC;KACH,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Application access grants — the five lifecycle transitions.\n *\n * assurance-control: WILDO.ACCESS.SEGREGATION_OF_DUTIES — the widest operator elevation is approved\n * by a SECOND, distinct platform administrator.\n * assurance-control: WILDO.ACCESS.PRIVILEGE_EVIDENCE\n *\n * Everything structural here is the tenant resource's, reached through\n * `access-grant-decision.factory.backend.ts` and `access-grant-lifecycle-audit.backend.ts`: the same\n * server-authored fields, the same transition preconditions, the same post-commit audit. What is NEW\n * is two things, and they are the whole of the unit:\n *\n * 1. **`requestAccess` never auto-approves.** The tenant grant auto-approves when the tenant has not\n * opted into approval, or cannot approve — both statements about a NAMED tenant. This grant names\n * none, so there is no posture to read and no circularity to break. Every row starts PENDING.\n * 2. **`approve` refuses the requester.** {@link applicationAccessGrantApproverIsDistinct} is the\n * two-person rule, and it is enforced here as well as on the operation's `enabledCondition`. Two\n * guarantees, not one belt-and-braces: the config makes the affordance disappear, this makes the\n * transition impossible. Removing either alone must not admit a self-approval, and each has its\n * own pin.\n */\n\nimport type { Container } from 'inversify';\nimport {\n ApplicationAccessGrants_Operations,\n CoreResourceType,\n ErrorCustomMessageReference,\n ErrorType,\n PLATFORM_ACCESS_GRANT_REVOCABLE_STATUSES,\n PlatformAccessGrantLifecycleTransition,\n PlatformAccessGrantScope,\n PlatformAccessGrantStatus,\n ResourceOperationVariantType,\n applicationAccessGrantApproverIsDistinct,\n resolveApplicationAccessGrantExpiry,\n} from '@wildo-ai/saas-models';\n\nimport { recordAccessGrantTransition } from '~wildo-backend-lib/security/authorizations/access-grant-lifecycle-audit.backend';\nimport { createAccessGrantDecisionFactory } from '~wildo-backend-lib/security/authorizations/access-grant-decision.factory.backend';\nimport { createResourceCustomServiceImplementation } from '~wildo-backend-lib/base-classes/services/services/resource-operation-custom-implementation.factory.backend';\nimport type { ResourceCustomServiceImplementationFactory } from '~wildo-backend-lib/base-classes/services/services/resource-operation-custom-implementation.factory.backend';\nimport type { ResourcesRegistryBackendService } from '~wildo-backend-lib/resources/services/resources-registry.backend.service';\n\n/** The refusal token a self-approval produces. Named once so a pin can match it exactly. */\nexport const APPLICATION_ACCESS_GRANT_SELF_APPROVAL_REFUSAL = 'application_access_grant_requires_a_second_administrator';\n\n/**\n * The two-person rule as a decision precondition.\n *\n * Exported so its pin can exercise it directly rather than through the whole operation pipeline, and\n * so nothing can silently substitute a laxer comparison at the call site.\n *\n * Note the direction of the fail: `applicationAccessGrantApproverIsDistinct` returns `false` when\n * EITHER id is missing, so an approval reaching here with no decider — a system context, a broken\n * session — is REFUSED rather than admitted. That is deliberate; the inline `a !== b` form would\n * admit it, because `undefined !== 'operator'` is `true`.\n */\nexport const refuseApplicationAccessGrantSelfApproval = (params: {\n readonly currentObject: Record<string, unknown> | undefined;\n readonly deciderUserId: string | undefined;\n}): string | undefined => (\n applicationAccessGrantApproverIsDistinct({\n operatorUserId: params.currentObject?.operatorUserId as string | undefined,\n approverUserId: params.deciderUserId,\n })\n ? undefined\n : APPLICATION_ACCESS_GRANT_SELF_APPROVAL_REFUSAL\n);\n\nexport function createApplicationAccessGrantFactories(): ResourceCustomServiceImplementationFactory[] {\n /**\n * REQUEST — the bootstrap verb, and the only one reachable without an existing grant.\n *\n * The admission gate exempts this whole resource, because an operator would otherwise need an\n * application-wide grant in order to ask for one. What keeps the exemption safe is the tenant\n * resource's own argument: requesting is not accessing. This writes one PENDING row and reads\n * nothing; the blast radius of an abused request is an entry in a queue somebody else must sign.\n */\n const requestAccessFactory = (\n _resourcesRegistryService: ResourcesRegistryBackendService,\n container: Container,\n ) => createResourceCustomServiceImplementation({\n operationPath: {\n resourceIdentifier: CoreResourceType.APPLICATION_ACCESS_GRANTS,\n operationIdentifier: ApplicationAccessGrants_Operations.REQUEST_ACCESS,\n variantType: ResourceOperationVariantType.API_CALL,\n isOperationDefault: true,\n },\n debugLabel: 'application-access-grants.request-access.api',\n // Every one of these is `.excludeFromCreate()`, so the strict request DTO drops whatever a caller\n // sent and the prefix's value is authoritative. Declaring them makes that explicit rather than\n // inferred — the inference has a hole for callers that reach the service tier with the key already\n // present (MCP `callTool` forwards arguments unparsed), and here a caller choosing their own\n // `status` would mint an ACTIVE application-wide elevation with no second signature at all.\n authoritativeFields: ['operatorUserId', 'status', 'expiresAt', 'approvedByUserId', 'approvedAt'],\n transactionalCore: true,\n // A request writes only the grant row, which the operation resource contributes automatically.\n // Declared explicitly (even as empty) because startup proves adapter compatibility for what is\n // declared and cannot detect an omission.\n transactionParticipants: {},\n handlers: {\n prefixCoreOperations: async (_id, input, executionContext, _operationPath, utils) => {\n const payload = input as { justification?: string; requestedDurationMinutes?: number };\n const operatorUserId = executionContext.initiatorIds?.userId;\n\n if (!operatorUserId) {\n throw utils.errorBuilder.buildError(ErrorType.VALIDATION, executionContext, {\n customMessageReference: ErrorCustomMessageReference.VALIDATION,\n context: { reason: 'application_access_grant_requires_an_operator' },\n });\n }\n\n return {\n // Server-authored from the session, never the body — the field that says WHOSE elevation\n // this is, and therefore whom the approver may not be.\n operatorUserId,\n applicationId: executionContext.initiatorIds?.applicationId,\n justification: payload.justification,\n // PENDING, always. There is no auto-approval member here and no branch that could reach\n // ACTIVE: the only writer of ACTIVE is `approve`, and `approve` refuses this same user.\n status: PlatformAccessGrantStatus.PENDING_APPROVAL,\n expiresAt: resolveApplicationAccessGrantExpiry(payload.requestedDurationMinutes, new Date()),\n };\n },\n postfixCoreOperations: async (_id, createdGrant, _executionContext, _operationPath, utils) => {\n recordAccessGrantTransition({\n container,\n utils,\n grantScope: PlatformAccessGrantScope.APPLICATION_WIDE,\n transition: PlatformAccessGrantLifecycleTransition.REQUESTED,\n grant: (createdGrant ?? {}) as Record<string, unknown>,\n });\n return createdGrant;\n },\n },\n });\n\n const makeDecisionFactory = (\n operationIdentifier: ApplicationAccessGrants_Operations,\n options: Parameters<typeof createAccessGrantDecisionFactory>[3],\n ): ResourceCustomServiceImplementationFactory => createAccessGrantDecisionFactory(\n CoreResourceType.APPLICATION_ACCESS_GRANTS,\n PlatformAccessGrantScope.APPLICATION_WIDE,\n operationIdentifier,\n options,\n );\n\n return [\n requestAccessFactory,\n makeDecisionFactory(ApplicationAccessGrants_Operations.APPROVE, {\n debugLabel: 'application-access-grants.approve.api',\n auditTransition: PlatformAccessGrantLifecycleTransition.APPROVED,\n nextStatus: PlatformAccessGrantStatus.ACTIVE,\n permittedFrom: [PlatformAccessGrantStatus.PENDING_APPROVAL],\n stampsApprover: true,\n transitionRefusalReason: 'application_access_grant_transition_not_permitted_from_current_status',\n // THE two-person rule. Everything else in this file exists on the tenant resource too.\n additionalPrecondition: refuseApplicationAccessGrantSelfApproval,\n }),\n makeDecisionFactory(ApplicationAccessGrants_Operations.DENY, {\n debugLabel: 'application-access-grants.deny.api',\n auditTransition: PlatformAccessGrantLifecycleTransition.DENIED,\n nextStatus: PlatformAccessGrantStatus.DENIED,\n permittedFrom: [PlatformAccessGrantStatus.PENDING_APPROVAL],\n stampsApprover: false,\n transitionRefusalReason: 'application_access_grant_transition_not_permitted_from_current_status',\n // No same-person refusal, deliberately. An operator thinking better of their own request should\n // be able to withdraw it; the two-person rule constrains what an operator can GRANT themselves,\n // never what they can refuse themselves.\n }),\n makeDecisionFactory(ApplicationAccessGrants_Operations.REVOKE, {\n debugLabel: 'application-access-grants.revoke.api',\n auditTransition: PlatformAccessGrantLifecycleTransition.REVOKED,\n nextStatus: PlatformAccessGrantStatus.REVOKED,\n // Both a pending request and a live elevation can be withdrawn; a terminal one cannot be\n // re-terminated, which would rewrite the decision history.\n permittedFrom: PLATFORM_ACCESS_GRANT_REVOCABLE_STATUSES,\n stampsApprover: false,\n transitionRefusalReason: 'application_access_grant_transition_not_permitted_from_current_status',\n }),\n /**\n * The one transition with no human actor. Permitted from ACTIVE alone: a grant that was DENIED or\n * REVOKED is terminal and must keep saying which, because relabelling it EXPIRED would rewrite the\n * decision history an audit reads.\n */\n makeDecisionFactory(ApplicationAccessGrants_Operations.EXPIRE, {\n debugLabel: 'application-access-grants.expire.internal',\n auditTransition: PlatformAccessGrantLifecycleTransition.EXPIRED,\n nextStatus: PlatformAccessGrantStatus.EXPIRED,\n permittedFrom: [PlatformAccessGrantStatus.ACTIVE],\n stampsApprover: false,\n transitionRefusalReason: 'application_access_grant_transition_not_permitted_from_current_status',\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n }),\n ];\n}\n"]}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * # Which reads require an APPLICATION-WIDE elevation
3
+ *
4
+ * assurance-control: WILDO.ACCESS.CROSS_TENANT_ADMINISTRATION — a read that spans every tenant is
5
+ * admitted only under a requested, justified, time-bound, second-signed grant.
6
+ * assurance-control: WILDO.ACCESS.LEAST_PRIVILEGE
7
+ *
8
+ * ## The inversion this closes
9
+ *
10
+ * Measured 2026-09-09. A PER-ROW crossing into ONE tenant required a usable `platformAccessGrants`
11
+ * row: requested, justified, approved by that tenant, and expiring on its own. The APPLICATION-WIDE
12
+ * read — the whole user directory, the whole cross-tenant audit trail — required nothing but an
13
+ * administrator role, and sat at a LOWER role tier. The narrow act carried elevation and expiry; the
14
+ * widest read did not.
15
+ *
16
+ * ## The rule, stated once
17
+ *
18
+ * > **A read that this deployment can already SEE as application-wide requires an application-wide
19
+ * > grant.**
20
+ *
21
+ * "Can already see" is not a new judgement. Two authorities already answer it, and they are the two
22
+ * that decide what the audit trail RECORDS:
23
+ *
24
+ * | authority | the population it names | the evidence it produces |
25
+ * |---|---|---|
26
+ * | {@link isUnconfinedScopeRootDirectoryRead} | a scope-root collection read the confinement authority declines to confine | `PLATFORM_DIRECTORY_ACCESS` |
27
+ * | {@link isObservedCrossTenantRead} | a DECLARED cross-tenant read on an APPLICATION-scoped resource | `CROSS_TENANT_ADMINISTRATIVE_ACCESS` |
28
+ *
29
+ * **This module composes those two and adds no third derivation.** That is the point rather than an
30
+ * economy: the admission and the observation must agree about which reads are in scope, or the trail
31
+ * records elevations the gate never required (or, worse, the gate refuses reads the trail says
32
+ * nothing about). `.claude/rules/invariant-call-site-enumeration.md` is a catalogue of what a second
33
+ * look-alike derivation of one predicate costs.
34
+ *
35
+ * ## What it deliberately does NOT gate
36
+ *
37
+ * **The per-row tenant crossing.** That door already works — a usable `platformAccessGrants` row,
38
+ * scoped to the named tenant, approved by that tenant where the tenant opted in. Requiring an
39
+ * application-wide grant there too would replace a customer-approvable control with a
40
+ * platform-internal one, which is a step DOWN the ladder in
41
+ * `.claude/rules/administrative-continuity-floors.md`. The finding says so in as many words: do not
42
+ * weaken the per-row model to make the two symmetric.
43
+ *
44
+ * **The grant resources themselves.** An operator would otherwise need an application-wide grant in
45
+ * order to ask for one, and the second administrator would need one in order to sign. Both grant
46
+ * resources are exempt WHOLESALE rather than per verb, and that is wider than the tenant resource's
47
+ * `requestAccess`-only exemption on purpose: `applicationAccessGrants` is APPLICATION-scoped, so its
48
+ * own `list` — the pending queue a second administrator works from — is a scope-root-adjacent
49
+ * application-tier read, and gating the queue on a grant would make the approval flow unreachable.
50
+ * The exemption is safe for the same reason the tenant one is: these rows are the elevation LEDGER,
51
+ * they belong to no tenant, and reading them discloses no customer's data.
52
+ *
53
+ * **An exempt execution type.** Both underlying authorities already skip
54
+ * `INTERNALLY_INITIATED_REQUEST` and `WEBHOOK_CALLBACK`; gating a batch, a cron, a cascade or a
55
+ * verified webhook on a human's elevation would fail closed on every sweep in the system. Inherited
56
+ * rather than restated, so the three answers cannot drift.
57
+ */
58
+ import { CoreResourceOperation } from '@wildo-ai/saas-models';
59
+ import { type ScopeRootCollectionConfinementSignal } from '../../security/authorizations/scope-root-collection-confinement.backend';
60
+ import { type CrossTenantReadObservationOperation } from '../../security/authorizations/cross-tenant-read-observation.backend';
61
+ /** What this authority needs from the resource configuration. Deliberately narrow, like its siblings. */
62
+ export interface ApplicationWideReadAdmissionResource {
63
+ readonly resourceIdentifier?: string;
64
+ readonly resourcePrimaryScope?: string;
65
+ }
66
+ /**
67
+ * Does this read reach application-wide, and therefore owe an application-wide elevation?
68
+ *
69
+ * Returns `false` for everything else, which is the overwhelming majority of reads — the two
70
+ * authorities it composes are both narrow by construction, so a caller pays two boolean checks and a
71
+ * set lookup on the ordinary path.
72
+ */
73
+ export declare function readRequiresApplicationWideGrant(params: {
74
+ readonly executionContext: ScopeRootCollectionConfinementSignal;
75
+ /**
76
+ * The EXECUTED operation variant. Passed explicitly for the reason the observation authority
77
+ * documents: a resource authors ONE variant per operation and the config factory derives `summary`
78
+ * and `context` variants from it, so "the operation" is ambiguous unless the executed one is named.
79
+ */
80
+ readonly operation: CrossTenantReadObservationOperation | undefined;
81
+ readonly resourceConfiguration: ApplicationWideReadAdmissionResource;
82
+ readonly executedCoreOperation: CoreResourceOperation | undefined;
83
+ }): boolean;
84
+ //# sourceMappingURL=application-wide-read-admission.backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-wide-read-admission.backend.d.ts","sourceRoot":"","sources":["../../../../src/security/authorizations/application-wide-read-admission.backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAEH,OAAO,EACL,qBAAqB,EAEtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,KAAK,oCAAoC,EAC1C,MAAM,sFAAsF,CAAC;AAC9F,OAAO,EAEL,KAAK,mCAAmC,EACzC,MAAM,kFAAkF,CAAC;AAc1F,yGAAyG;AACzG,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACxC;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE;IACvD,QAAQ,CAAC,gBAAgB,EAAE,oCAAoC,CAAC;IAChE;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,mCAAmC,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;IACrE,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;CACnE,GAAG,OAAO,CAoBV"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * # Which reads require an APPLICATION-WIDE elevation
3
+ *
4
+ * assurance-control: WILDO.ACCESS.CROSS_TENANT_ADMINISTRATION — a read that spans every tenant is
5
+ * admitted only under a requested, justified, time-bound, second-signed grant.
6
+ * assurance-control: WILDO.ACCESS.LEAST_PRIVILEGE
7
+ *
8
+ * ## The inversion this closes
9
+ *
10
+ * Measured 2026-09-09. A PER-ROW crossing into ONE tenant required a usable `platformAccessGrants`
11
+ * row: requested, justified, approved by that tenant, and expiring on its own. The APPLICATION-WIDE
12
+ * read — the whole user directory, the whole cross-tenant audit trail — required nothing but an
13
+ * administrator role, and sat at a LOWER role tier. The narrow act carried elevation and expiry; the
14
+ * widest read did not.
15
+ *
16
+ * ## The rule, stated once
17
+ *
18
+ * > **A read that this deployment can already SEE as application-wide requires an application-wide
19
+ * > grant.**
20
+ *
21
+ * "Can already see" is not a new judgement. Two authorities already answer it, and they are the two
22
+ * that decide what the audit trail RECORDS:
23
+ *
24
+ * | authority | the population it names | the evidence it produces |
25
+ * |---|---|---|
26
+ * | {@link isUnconfinedScopeRootDirectoryRead} | a scope-root collection read the confinement authority declines to confine | `PLATFORM_DIRECTORY_ACCESS` |
27
+ * | {@link isObservedCrossTenantRead} | a DECLARED cross-tenant read on an APPLICATION-scoped resource | `CROSS_TENANT_ADMINISTRATIVE_ACCESS` |
28
+ *
29
+ * **This module composes those two and adds no third derivation.** That is the point rather than an
30
+ * economy: the admission and the observation must agree about which reads are in scope, or the trail
31
+ * records elevations the gate never required (or, worse, the gate refuses reads the trail says
32
+ * nothing about). `.claude/rules/invariant-call-site-enumeration.md` is a catalogue of what a second
33
+ * look-alike derivation of one predicate costs.
34
+ *
35
+ * ## What it deliberately does NOT gate
36
+ *
37
+ * **The per-row tenant crossing.** That door already works — a usable `platformAccessGrants` row,
38
+ * scoped to the named tenant, approved by that tenant where the tenant opted in. Requiring an
39
+ * application-wide grant there too would replace a customer-approvable control with a
40
+ * platform-internal one, which is a step DOWN the ladder in
41
+ * `.claude/rules/administrative-continuity-floors.md`. The finding says so in as many words: do not
42
+ * weaken the per-row model to make the two symmetric.
43
+ *
44
+ * **The grant resources themselves.** An operator would otherwise need an application-wide grant in
45
+ * order to ask for one, and the second administrator would need one in order to sign. Both grant
46
+ * resources are exempt WHOLESALE rather than per verb, and that is wider than the tenant resource's
47
+ * `requestAccess`-only exemption on purpose: `applicationAccessGrants` is APPLICATION-scoped, so its
48
+ * own `list` — the pending queue a second administrator works from — is a scope-root-adjacent
49
+ * application-tier read, and gating the queue on a grant would make the approval flow unreachable.
50
+ * The exemption is safe for the same reason the tenant one is: these rows are the elevation LEDGER,
51
+ * they belong to no tenant, and reading them discloses no customer's data.
52
+ *
53
+ * **An exempt execution type.** Both underlying authorities already skip
54
+ * `INTERNALLY_INITIATED_REQUEST` and `WEBHOOK_CALLBACK`; gating a batch, a cron, a cascade or a
55
+ * verified webhook on a human's elevation would fail closed on every sweep in the system. Inherited
56
+ * rather than restated, so the three answers cannot drift.
57
+ */
58
+ import { CoreResourceType, } from '@wildo-ai/saas-models';
59
+ import { isUnconfinedScopeRootDirectoryRead, } from '../../security/authorizations/scope-root-collection-confinement.backend.js';
60
+ import { isObservedCrossTenantRead, } from '../../security/authorizations/cross-tenant-read-observation.backend.js';
61
+ /**
62
+ * The elevation LEDGER itself — never gated on an elevation.
63
+ *
64
+ * A set rather than two comparisons so the enumeration is readable, and so a third grant resource (a
65
+ * future scope) is added in one place instead of being discovered by an operator who cannot request
66
+ * access to request access.
67
+ */
68
+ const ACCESS_GRANT_LEDGER_RESOURCES = Object.freeze([
69
+ String(CoreResourceType.PLATFORM_ACCESS_GRANTS),
70
+ String(CoreResourceType.APPLICATION_ACCESS_GRANTS),
71
+ ]);
72
+ /**
73
+ * Does this read reach application-wide, and therefore owe an application-wide elevation?
74
+ *
75
+ * Returns `false` for everything else, which is the overwhelming majority of reads — the two
76
+ * authorities it composes are both narrow by construction, so a caller pays two boolean checks and a
77
+ * set lookup on the ordinary path.
78
+ */
79
+ export function readRequiresApplicationWideGrant(params) {
80
+ // The ledger is exempt WHOLESALE — see the module JSDoc. Checked FIRST so no later branch can make
81
+ // the approval flow unreachable.
82
+ if (ACCESS_GRANT_LEDGER_RESOURCES.includes(String(params.resourceConfiguration.resourceIdentifier ?? ''))) {
83
+ return false;
84
+ }
85
+ // Composed, never re-derived. Either authority answering `true` is an application-wide read.
86
+ if (isUnconfinedScopeRootDirectoryRead({
87
+ executionContext: params.executionContext,
88
+ resourceConfiguration: params.resourceConfiguration,
89
+ executedCoreOperation: params.executedCoreOperation,
90
+ }))
91
+ return true;
92
+ return isObservedCrossTenantRead({
93
+ executionContext: params.executionContext,
94
+ operation: params.operation,
95
+ resourceConfiguration: params.resourceConfiguration,
96
+ executedCoreOperation: params.executedCoreOperation,
97
+ });
98
+ }
99
+ //# sourceMappingURL=application-wide-read-admission.backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-wide-read-admission.backend.js","sourceRoot":"","sources":["../../../../src/security/authorizations/application-wide-read-admission.backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAEH,OAAO,EAEL,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,kCAAkC,GAEnC,MAAM,sFAAsF,CAAC;AAC9F,OAAO,EACL,yBAAyB,GAE1B,MAAM,kFAAkF,CAAC;AAE1F;;;;;;GAMG;AACH,MAAM,6BAA6B,GAAsB,MAAM,CAAC,MAAM,CAAC;IACrE,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC;IAC/C,MAAM,CAAC,gBAAgB,CAAC,yBAAyB,CAAC;CACnD,CAAC,CAAC;AAQH;;;;;;GAMG;AACH,MAAM,UAAU,gCAAgC,CAAC,MAUhD;IACC,mGAAmG;IACnG,iCAAiC;IACjC,IAAI,6BAA6B,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC1G,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6FAA6F;IAC7F,IAAI,kCAAkC,CAAC;QACrC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;KACpD,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhB,OAAO,yBAAyB,CAAC;QAC/B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;KACpD,CAAC,CAAC;AACL,CAAC","sourcesContent":["/**\n * # Which reads require an APPLICATION-WIDE elevation\n *\n * assurance-control: WILDO.ACCESS.CROSS_TENANT_ADMINISTRATION — a read that spans every tenant is\n * admitted only under a requested, justified, time-bound, second-signed grant.\n * assurance-control: WILDO.ACCESS.LEAST_PRIVILEGE\n *\n * ## The inversion this closes\n *\n * Measured 2026-09-09. A PER-ROW crossing into ONE tenant required a usable `platformAccessGrants`\n * row: requested, justified, approved by that tenant, and expiring on its own. The APPLICATION-WIDE\n * read — the whole user directory, the whole cross-tenant audit trail — required nothing but an\n * administrator role, and sat at a LOWER role tier. The narrow act carried elevation and expiry; the\n * widest read did not.\n *\n * ## The rule, stated once\n *\n * > **A read that this deployment can already SEE as application-wide requires an application-wide\n * > grant.**\n *\n * \"Can already see\" is not a new judgement. Two authorities already answer it, and they are the two\n * that decide what the audit trail RECORDS:\n *\n * | authority | the population it names | the evidence it produces |\n * |---|---|---|\n * | {@link isUnconfinedScopeRootDirectoryRead} | a scope-root collection read the confinement authority declines to confine | `PLATFORM_DIRECTORY_ACCESS` |\n * | {@link isObservedCrossTenantRead} | a DECLARED cross-tenant read on an APPLICATION-scoped resource | `CROSS_TENANT_ADMINISTRATIVE_ACCESS` |\n *\n * **This module composes those two and adds no third derivation.** That is the point rather than an\n * economy: the admission and the observation must agree about which reads are in scope, or the trail\n * records elevations the gate never required (or, worse, the gate refuses reads the trail says\n * nothing about). `.claude/rules/invariant-call-site-enumeration.md` is a catalogue of what a second\n * look-alike derivation of one predicate costs.\n *\n * ## What it deliberately does NOT gate\n *\n * **The per-row tenant crossing.** That door already works — a usable `platformAccessGrants` row,\n * scoped to the named tenant, approved by that tenant where the tenant opted in. Requiring an\n * application-wide grant there too would replace a customer-approvable control with a\n * platform-internal one, which is a step DOWN the ladder in\n * `.claude/rules/administrative-continuity-floors.md`. The finding says so in as many words: do not\n * weaken the per-row model to make the two symmetric.\n *\n * **The grant resources themselves.** An operator would otherwise need an application-wide grant in\n * order to ask for one, and the second administrator would need one in order to sign. Both grant\n * resources are exempt WHOLESALE rather than per verb, and that is wider than the tenant resource's\n * `requestAccess`-only exemption on purpose: `applicationAccessGrants` is APPLICATION-scoped, so its\n * own `list` — the pending queue a second administrator works from — is a scope-root-adjacent\n * application-tier read, and gating the queue on a grant would make the approval flow unreachable.\n * The exemption is safe for the same reason the tenant one is: these rows are the elevation LEDGER,\n * they belong to no tenant, and reading them discloses no customer's data.\n *\n * **An exempt execution type.** Both underlying authorities already skip\n * `INTERNALLY_INITIATED_REQUEST` and `WEBHOOK_CALLBACK`; gating a batch, a cron, a cascade or a\n * verified webhook on a human's elevation would fail closed on every sweep in the system. Inherited\n * rather than restated, so the three answers cannot drift.\n */\n\nimport {\n CoreResourceOperation,\n CoreResourceType,\n} from '@wildo-ai/saas-models';\n\nimport {\n isUnconfinedScopeRootDirectoryRead,\n type ScopeRootCollectionConfinementSignal,\n} from '~wildo-backend-lib/security/authorizations/scope-root-collection-confinement.backend';\nimport {\n isObservedCrossTenantRead,\n type CrossTenantReadObservationOperation,\n} from '~wildo-backend-lib/security/authorizations/cross-tenant-read-observation.backend';\n\n/**\n * The elevation LEDGER itself — never gated on an elevation.\n *\n * A set rather than two comparisons so the enumeration is readable, and so a third grant resource (a\n * future scope) is added in one place instead of being discovered by an operator who cannot request\n * access to request access.\n */\nconst ACCESS_GRANT_LEDGER_RESOURCES: readonly string[] = Object.freeze([\n String(CoreResourceType.PLATFORM_ACCESS_GRANTS),\n String(CoreResourceType.APPLICATION_ACCESS_GRANTS),\n]);\n\n/** What this authority needs from the resource configuration. Deliberately narrow, like its siblings. */\nexport interface ApplicationWideReadAdmissionResource {\n readonly resourceIdentifier?: string;\n readonly resourcePrimaryScope?: string;\n}\n\n/**\n * Does this read reach application-wide, and therefore owe an application-wide elevation?\n *\n * Returns `false` for everything else, which is the overwhelming majority of reads — the two\n * authorities it composes are both narrow by construction, so a caller pays two boolean checks and a\n * set lookup on the ordinary path.\n */\nexport function readRequiresApplicationWideGrant(params: {\n readonly executionContext: ScopeRootCollectionConfinementSignal;\n /**\n * The EXECUTED operation variant. Passed explicitly for the reason the observation authority\n * documents: a resource authors ONE variant per operation and the config factory derives `summary`\n * and `context` variants from it, so \"the operation\" is ambiguous unless the executed one is named.\n */\n readonly operation: CrossTenantReadObservationOperation | undefined;\n readonly resourceConfiguration: ApplicationWideReadAdmissionResource;\n readonly executedCoreOperation: CoreResourceOperation | undefined;\n}): boolean {\n // The ledger is exempt WHOLESALE — see the module JSDoc. Checked FIRST so no later branch can make\n // the approval flow unreachable.\n if (ACCESS_GRANT_LEDGER_RESOURCES.includes(String(params.resourceConfiguration.resourceIdentifier ?? ''))) {\n return false;\n }\n\n // Composed, never re-derived. Either authority answering `true` is an application-wide read.\n if (isUnconfinedScopeRootDirectoryRead({\n executionContext: params.executionContext,\n resourceConfiguration: params.resourceConfiguration,\n executedCoreOperation: params.executedCoreOperation,\n })) return true;\n\n return isObservedCrossTenantRead({\n executionContext: params.executionContext,\n operation: params.operation,\n resourceConfiguration: params.resourceConfiguration,\n executedCoreOperation: params.executedCoreOperation,\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"authorization-denial-audit.backend.utils.d.ts","sourceRoot":"","sources":["../../../../../src/security/authorizations/authorization-denial-audit.backend.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,6BAA6B,EAC9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AAExF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAElG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH;;;GAGG;AACH,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAmBrD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,6BAA6B,CAAC;CAC7C,GAAG,MAAM,CAST;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMvE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,EACd,kBAAkB,EAAE,6BAA6B,GAChD,6BAA6B,GAAG,SAAS,CAiB3C;AAED,6CAA6C;AAC7C,MAAM,WAAW,2BAA2B;IAC1C,wDAAwD;IACxD,UAAU,EAAE,OAAO,CAAC;IACpB,qEAAqE;IACrE,eAAe,EAAE,MAAM,CAAC;IACxB,+FAA+F;IAC/F,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kCAAkC,CACtD,IAAI,EAAE;IAAE,YAAY,CAAC,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,EAC5D,MAAM,EAAE;IACN,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,6BAA6B,CAAC;CAC7C,GACA,OAAO,CAAC,2BAA2B,CAAC,CAgCtC"}
1
+ {"version":3,"file":"authorization-denial-audit.backend.utils.d.ts","sourceRoot":"","sources":["../../../../src/security/authorizations/authorization-denial-audit.backend.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,6BAA6B,EAC9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AAExF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAElG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH;;;GAGG;AACH,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAmBrD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,6BAA6B,CAAC;CAC7C,GAAG,MAAM,CAST;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMvE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,EACd,kBAAkB,EAAE,6BAA6B,GAChD,6BAA6B,GAAG,SAAS,CAiB3C;AAED,6CAA6C;AAC7C,MAAM,WAAW,2BAA2B;IAC1C,wDAAwD;IACxD,UAAU,EAAE,OAAO,CAAC;IACpB,qEAAqE;IACrE,eAAe,EAAE,MAAM,CAAC;IACxB,+FAA+F;IAC/F,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kCAAkC,CACtD,IAAI,EAAE;IAAE,YAAY,CAAC,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,EAC5D,MAAM,EAAE;IACN,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,6BAA6B,CAAC;CAC7C,GACA,OAAO,CAAC,2BAA2B,CAAC,CAgCtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cross-tenant-read-observation.backend.d.ts","sourceRoot":"","sources":["../../../../../src/security/authorizations/cross-tenant-read-observation.backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAEH,OAAO,EACL,qBAAqB,EAGtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,KAAK,oCAAoC,EAC1C,MAAM,sFAAsF,CAAC;AAoC9F;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,uCAAuC,CAAC,EAAE,OAAO,CAAC;CAC5D;AAED,yGAAyG;AACzG,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACxC;AAED,qFAAqF;AACrF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,QAAQ,CAAC,gBAAgB,EAAE,oCAAoC,CAAC;IAChE,QAAQ,CAAC,SAAS,EAAE,mCAAmC,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,qBAAqB,EAAE,kCAAkC,CAAC;IACnE,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;CACnE,GAAG,OAAO,CAUV;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IACtD,QAAQ,CAAC,gBAAgB,EAAE,oCAAoC,CAAC;IAChE,QAAQ,CAAC,SAAS,EAAE,mCAAmC,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,qBAAqB,EAAE,kCAAkC,CAAC;IACnE,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB,GAAG,uBAAuB,EAAE,CAiC5B"}
1
+ {"version":3,"file":"cross-tenant-read-observation.backend.d.ts","sourceRoot":"","sources":["../../../../src/security/authorizations/cross-tenant-read-observation.backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAEH,OAAO,EACL,qBAAqB,EAGtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,KAAK,oCAAoC,EAC1C,MAAM,sFAAsF,CAAC;AAoC9F;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,uCAAuC,CAAC,EAAE,OAAO,CAAC;CAC5D;AAED,yGAAyG;AACzG,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACxC;AAED,qFAAqF;AACrF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,QAAQ,CAAC,gBAAgB,EAAE,oCAAoC,CAAC;IAChE,QAAQ,CAAC,SAAS,EAAE,mCAAmC,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,qBAAqB,EAAE,kCAAkC,CAAC;IACnE,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;CACnE,GAAG,OAAO,CAUV;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IACtD,QAAQ,CAAC,gBAAgB,EAAE,oCAAoC,CAAC;IAChE,QAAQ,CAAC,SAAS,EAAE,mCAAmC,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,qBAAqB,EAAE,kCAAkC,CAAC;IACnE,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB,GAAG,uBAAuB,EAAE,CAiC5B"}