@wildo-ai/saas-models 1.1.5 → 1.1.7

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 (1295) hide show
  1. package/dist/esm/__tests__/setup.d.ts.map +1 -1
  2. package/dist/esm/__tests__/setup.js.map +1 -1
  3. package/dist/esm/_inspect.d.ts.map +1 -1
  4. package/dist/esm/_inspect.js.map +1 -1
  5. package/dist/esm/applications/application-metadata.shared.resources-config.schemas.d.ts.map +1 -1
  6. package/dist/esm/applications/application-metadata.shared.resources-config.schemas.js.map +1 -1
  7. package/dist/esm/applications/application-subject.shared.schemas.d.ts.map +1 -1
  8. package/dist/esm/applications/application-subject.shared.schemas.js.map +1 -1
  9. package/dist/esm/applications/application-versions.shared.resources-config.schemas.d.ts.map +1 -1
  10. package/dist/esm/applications/application-versions.shared.resources-config.schemas.js +2 -1
  11. package/dist/esm/applications/application-versions.shared.resources-config.schemas.js.map +1 -1
  12. package/dist/esm/applications/applications-context.schemas.d.ts +176 -2
  13. package/dist/esm/applications/applications-context.schemas.d.ts.map +1 -1
  14. package/dist/esm/applications/applications-context.schemas.js.map +1 -1
  15. package/dist/esm/applications/applications.shared.resources-config.schemas.d.ts.map +1 -1
  16. package/dist/esm/applications/applications.shared.resources-config.schemas.js +3 -2
  17. package/dist/esm/applications/applications.shared.resources-config.schemas.js.map +1 -1
  18. package/dist/esm/applications/applications.shared.schemas.d.ts +7 -5
  19. package/dist/esm/applications/applications.shared.schemas.d.ts.map +1 -1
  20. package/dist/esm/applications/applications.shared.schemas.js +6 -4
  21. package/dist/esm/applications/applications.shared.schemas.js.map +1 -1
  22. package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts +10 -1
  23. package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts.map +1 -1
  24. package/dist/esm/billing/billing-account.shared.resources-config.schemas.js +49 -15
  25. package/dist/esm/billing/billing-account.shared.resources-config.schemas.js.map +1 -1
  26. package/dist/esm/billing/billing-account.shared.schemas.d.ts.map +1 -1
  27. package/dist/esm/billing/billing-account.shared.schemas.js +2 -2
  28. package/dist/esm/billing/billing-account.shared.schemas.js.map +1 -1
  29. package/dist/esm/billing/billing-configuration.shared.schemas.d.ts +25 -0
  30. package/dist/esm/billing/billing-configuration.shared.schemas.d.ts.map +1 -1
  31. package/dist/esm/billing/billing-configuration.shared.schemas.js +19 -0
  32. package/dist/esm/billing/billing-configuration.shared.schemas.js.map +1 -1
  33. package/dist/esm/billing/billing-enums.shared.schemas.d.ts +27 -5
  34. package/dist/esm/billing/billing-enums.shared.schemas.d.ts.map +1 -1
  35. package/dist/esm/billing/billing-enums.shared.schemas.js +30 -4
  36. package/dist/esm/billing/billing-enums.shared.schemas.js.map +1 -1
  37. package/dist/esm/billing/billing-types.shared.schemas.d.ts +37 -11
  38. package/dist/esm/billing/billing-types.shared.schemas.d.ts.map +1 -1
  39. package/dist/esm/billing/billing-types.shared.schemas.js +31 -19
  40. package/dist/esm/billing/billing-types.shared.schemas.js.map +1 -1
  41. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.d.ts +2 -0
  42. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.d.ts.map +1 -1
  43. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.js +18 -7
  44. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.js.map +1 -1
  45. package/dist/esm/billing/credit-pool.shared.schemas.d.ts +2 -0
  46. package/dist/esm/billing/credit-pool.shared.schemas.d.ts.map +1 -1
  47. package/dist/esm/billing/credit-pool.shared.schemas.js +7 -1
  48. package/dist/esm/billing/credit-pool.shared.schemas.js.map +1 -1
  49. package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.d.ts.map +1 -1
  50. package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.js +6 -6
  51. package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.js.map +1 -1
  52. package/dist/esm/billing/invoice-ref.shared.schemas.d.ts.map +1 -1
  53. package/dist/esm/billing/invoice-ref.shared.schemas.js +1 -1
  54. package/dist/esm/billing/invoice-ref.shared.schemas.js.map +1 -1
  55. package/dist/esm/billing/price.shared.resources-config.schemas.d.ts.map +1 -1
  56. package/dist/esm/billing/price.shared.resources-config.schemas.js.map +1 -1
  57. package/dist/esm/billing/price.shared.schemas.d.ts.map +1 -1
  58. package/dist/esm/billing/price.shared.schemas.js +5 -3
  59. package/dist/esm/billing/price.shared.schemas.js.map +1 -1
  60. package/dist/esm/billing/product-behavior-policy.shared.schemas.d.ts +11 -1
  61. package/dist/esm/billing/product-behavior-policy.shared.schemas.d.ts.map +1 -1
  62. package/dist/esm/billing/product-behavior-policy.shared.schemas.js +39 -23
  63. package/dist/esm/billing/product-behavior-policy.shared.schemas.js.map +1 -1
  64. package/dist/esm/billing/product-definition.shared.schemas.d.ts +30 -2
  65. package/dist/esm/billing/product-definition.shared.schemas.d.ts.map +1 -1
  66. package/dist/esm/billing/product-definition.shared.schemas.js +35 -0
  67. package/dist/esm/billing/product-definition.shared.schemas.js.map +1 -1
  68. package/dist/esm/billing/product.shared.resources-config.schemas.d.ts +6 -3
  69. package/dist/esm/billing/product.shared.resources-config.schemas.d.ts.map +1 -1
  70. package/dist/esm/billing/product.shared.resources-config.schemas.js.map +1 -1
  71. package/dist/esm/billing/product.shared.schemas.d.ts +7 -3
  72. package/dist/esm/billing/product.shared.schemas.d.ts.map +1 -1
  73. package/dist/esm/billing/product.shared.schemas.js +22 -7
  74. package/dist/esm/billing/product.shared.schemas.js.map +1 -1
  75. package/dist/esm/billing/promotions.shared.resources-config.schemas.d.ts.map +1 -1
  76. package/dist/esm/billing/promotions.shared.resources-config.schemas.js +8 -8
  77. package/dist/esm/billing/promotions.shared.resources-config.schemas.js.map +1 -1
  78. package/dist/esm/billing/promotions.shared.schemas.d.ts.map +1 -1
  79. package/dist/esm/billing/promotions.shared.schemas.js.map +1 -1
  80. package/dist/esm/billing/public-pricing-catalog.shared.atoms.d.ts +135 -0
  81. package/dist/esm/billing/public-pricing-catalog.shared.atoms.d.ts.map +1 -0
  82. package/dist/esm/billing/public-pricing-catalog.shared.atoms.js +112 -0
  83. package/dist/esm/billing/public-pricing-catalog.shared.atoms.js.map +1 -0
  84. package/dist/esm/billing/public-pricing-catalog.shared.d.ts +30 -0
  85. package/dist/esm/billing/public-pricing-catalog.shared.d.ts.map +1 -0
  86. package/dist/esm/billing/public-pricing-catalog.shared.js +53 -0
  87. package/dist/esm/billing/public-pricing-catalog.shared.js.map +1 -0
  88. package/dist/esm/billing/referral-reward.shared.schemas.d.ts +51 -0
  89. package/dist/esm/billing/referral-reward.shared.schemas.d.ts.map +1 -0
  90. package/dist/esm/billing/referral-reward.shared.schemas.js +92 -0
  91. package/dist/esm/billing/referral-reward.shared.schemas.js.map +1 -0
  92. package/dist/esm/billing/referral.shared.resources-config.schemas.d.ts +54 -33
  93. package/dist/esm/billing/referral.shared.resources-config.schemas.d.ts.map +1 -1
  94. package/dist/esm/billing/referral.shared.resources-config.schemas.js +56 -2
  95. package/dist/esm/billing/referral.shared.resources-config.schemas.js.map +1 -1
  96. package/dist/esm/billing/referral.shared.schemas.d.ts +22 -37
  97. package/dist/esm/billing/referral.shared.schemas.d.ts.map +1 -1
  98. package/dist/esm/billing/referral.shared.schemas.js +24 -44
  99. package/dist/esm/billing/referral.shared.schemas.js.map +1 -1
  100. package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts +9 -1
  101. package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts.map +1 -1
  102. package/dist/esm/billing/subscription.shared.resources-config.schemas.js +55 -22
  103. package/dist/esm/billing/subscription.shared.resources-config.schemas.js.map +1 -1
  104. package/dist/esm/billing/subscription.shared.schemas.d.ts +80 -5
  105. package/dist/esm/billing/subscription.shared.schemas.d.ts.map +1 -1
  106. package/dist/esm/billing/subscription.shared.schemas.js +85 -25
  107. package/dist/esm/billing/subscription.shared.schemas.js.map +1 -1
  108. package/dist/esm/billing/usage-flush-evidence.shared.schemas.d.ts.map +1 -1
  109. package/dist/esm/billing/usage-flush-evidence.shared.schemas.js.map +1 -1
  110. package/dist/esm/billing/usage-record.shared.resources-config.schemas.d.ts.map +1 -1
  111. package/dist/esm/billing/usage-record.shared.resources-config.schemas.js.map +1 -1
  112. package/dist/esm/billing/usage-record.shared.schemas.d.ts.map +1 -1
  113. package/dist/esm/billing/usage-record.shared.schemas.js +5 -5
  114. package/dist/esm/billing/usage-record.shared.schemas.js.map +1 -1
  115. package/dist/esm/charts/aggregation-query.shared.schemas.d.ts.map +1 -1
  116. package/dist/esm/charts/aggregation-query.shared.schemas.js.map +1 -1
  117. package/dist/esm/charts/aggregation.shared.definitions.d.ts.map +1 -1
  118. package/dist/esm/charts/aggregation.shared.definitions.js.map +1 -1
  119. package/dist/esm/charts/chart-definition-builder.shared.d.ts.map +1 -1
  120. package/dist/esm/charts/chart-definition-builder.shared.js.map +1 -1
  121. package/dist/esm/companion/artifact-placement.shared.definitions.d.ts.map +1 -1
  122. package/dist/esm/companion/artifact-placement.shared.definitions.js.map +1 -1
  123. package/dist/esm/companion/provider-discovery.shared.schemas.d.ts +143 -2
  124. package/dist/esm/companion/provider-discovery.shared.schemas.d.ts.map +1 -1
  125. package/dist/esm/companion/provider-discovery.shared.schemas.js +84 -1
  126. package/dist/esm/companion/provider-discovery.shared.schemas.js.map +1 -1
  127. package/dist/esm/companion/shared-library-companion.shared.definitions.d.ts.map +1 -1
  128. package/dist/esm/companion/shared-library-companion.shared.definitions.js.map +1 -1
  129. package/dist/esm/companion-exports.d.ts.map +1 -1
  130. package/dist/esm/companion-exports.js.map +1 -1
  131. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts +14 -1
  132. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts.map +1 -1
  133. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js +4 -0
  134. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js.map +1 -1
  135. package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.d.ts +70 -0
  136. package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.d.ts.map +1 -1
  137. package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.js +87 -0
  138. package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.js.map +1 -1
  139. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.d.ts +34 -0
  140. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.d.ts.map +1 -1
  141. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.js +137 -3
  142. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.js.map +1 -1
  143. package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.d.ts +7 -0
  144. package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.d.ts.map +1 -1
  145. package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.js.map +1 -1
  146. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts +28 -2
  147. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts.map +1 -1
  148. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.js +29 -8
  149. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.js.map +1 -1
  150. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts +29 -6
  151. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts.map +1 -1
  152. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.js +38 -9
  153. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.js.map +1 -1
  154. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.d.ts +1822 -146
  155. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.d.ts.map +1 -1
  156. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js +1777 -87
  157. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js.map +1 -1
  158. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.d.ts +10 -0
  159. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.d.ts.map +1 -1
  160. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js +148 -7
  161. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js.map +1 -1
  162. package/dist/esm/compliance/data-classification/data-classification.shared.schemas.d.ts.map +1 -1
  163. package/dist/esm/compliance/data-classification/data-classification.shared.schemas.js.map +1 -1
  164. package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.d.ts.map +1 -1
  165. package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.js.map +1 -1
  166. package/dist/esm/compliance/documents/governed-documents.shared.schemas.d.ts.map +1 -1
  167. package/dist/esm/compliance/documents/governed-documents.shared.schemas.js.map +1 -1
  168. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.d.ts.map +1 -1
  169. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.js.map +1 -1
  170. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.d.ts.map +1 -1
  171. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.js.map +1 -1
  172. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.d.ts +2 -0
  173. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.d.ts.map +1 -1
  174. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.js +2 -0
  175. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.js.map +1 -1
  176. package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.d.ts.map +1 -1
  177. package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.js.map +1 -1
  178. package/dist/esm/compliance/privacy/client-storage.shared.schemas.d.ts.map +1 -1
  179. package/dist/esm/compliance/privacy/client-storage.shared.schemas.js.map +1 -1
  180. package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.d.ts.map +1 -1
  181. package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.js.map +1 -1
  182. package/dist/esm/compliance/privacy/consent-purposes.shared.d.ts.map +1 -1
  183. package/dist/esm/compliance/privacy/consent-purposes.shared.js.map +1 -1
  184. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.d.ts +17 -8
  185. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.d.ts.map +1 -1
  186. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.js +43 -20
  187. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.js.map +1 -1
  188. package/dist/esm/compliance/privacy/impersonalization-scrub.shared.utils.d.ts.map +1 -1
  189. package/dist/esm/compliance/privacy/impersonalization-scrub.shared.utils.js.map +1 -1
  190. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.d.ts +38 -0
  191. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.d.ts.map +1 -1
  192. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.js +39 -0
  193. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.js.map +1 -1
  194. package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.d.ts +35 -0
  195. package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.d.ts.map +1 -0
  196. package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.js +82 -0
  197. package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.js.map +1 -0
  198. package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.d.ts +37 -0
  199. package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.d.ts.map +1 -0
  200. package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.js +223 -0
  201. package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.js.map +1 -0
  202. package/dist/esm/compliance/privacy/legal-holds.shared.schemas.d.ts +222 -0
  203. package/dist/esm/compliance/privacy/legal-holds.shared.schemas.d.ts.map +1 -0
  204. package/dist/esm/compliance/privacy/legal-holds.shared.schemas.js +331 -0
  205. package/dist/esm/compliance/privacy/legal-holds.shared.schemas.js.map +1 -0
  206. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.d.ts.map +1 -1
  207. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.js.map +1 -1
  208. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts +37 -3
  209. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts.map +1 -1
  210. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js +33 -4
  211. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js.map +1 -1
  212. package/dist/esm/compliance/privacy/personal-data-category.shared.schemas.d.ts.map +1 -1
  213. package/dist/esm/compliance/privacy/personal-data-category.shared.schemas.js.map +1 -1
  214. package/dist/esm/compliance/privacy/personal-data-declaration.shared.utils.d.ts.map +1 -1
  215. package/dist/esm/compliance/privacy/personal-data-declaration.shared.utils.js.map +1 -1
  216. package/dist/esm/compliance/privacy/privacy.shared.schemas.d.ts.map +1 -1
  217. package/dist/esm/compliance/privacy/privacy.shared.schemas.js.map +1 -1
  218. package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.d.ts +52 -0
  219. package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.d.ts.map +1 -0
  220. package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.js +116 -0
  221. package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.js.map +1 -0
  222. package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.d.ts +11 -0
  223. package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.d.ts.map +1 -0
  224. package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.js +11 -0
  225. package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.js.map +1 -0
  226. package/dist/esm/compliance/privacy/redaction.shared.schemas.d.ts.map +1 -1
  227. package/dist/esm/compliance/privacy/redaction.shared.schemas.js.map +1 -1
  228. package/dist/esm/compliance/privacy/retention-binding.shared.utils.d.ts +93 -0
  229. package/dist/esm/compliance/privacy/retention-binding.shared.utils.d.ts.map +1 -0
  230. package/dist/esm/compliance/privacy/retention-binding.shared.utils.js +149 -0
  231. package/dist/esm/compliance/privacy/retention-binding.shared.utils.js.map +1 -0
  232. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.d.ts +43 -0
  233. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.d.ts.map +1 -0
  234. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.js +106 -0
  235. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.js.map +1 -0
  236. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.d.ts +209 -0
  237. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.d.ts.map +1 -0
  238. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.js +226 -0
  239. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.js.map +1 -0
  240. package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.d.ts +129 -5
  241. package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.d.ts.map +1 -1
  242. package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.js +128 -4
  243. package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.js.map +1 -1
  244. package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.d.ts +53 -0
  245. package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.d.ts.map +1 -0
  246. package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.js +74 -0
  247. package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.js.map +1 -0
  248. package/dist/esm/compliance/privacy/sharing.shared.schemas.d.ts.map +1 -1
  249. package/dist/esm/compliance/privacy/sharing.shared.schemas.js.map +1 -1
  250. package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.d.ts +311 -0
  251. package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.d.ts.map +1 -0
  252. package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.js +355 -0
  253. package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.js.map +1 -0
  254. package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.d.ts.map +1 -1
  255. package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.js.map +1 -1
  256. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts +178 -39
  257. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts.map +1 -1
  258. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.js +145 -35
  259. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.js.map +1 -1
  260. package/dist/esm/compliance/privacy/subject-export-render.shared.utils.d.ts.map +1 -1
  261. package/dist/esm/compliance/privacy/subject-export-render.shared.utils.js +26 -0
  262. package/dist/esm/compliance/privacy/subject-export-render.shared.utils.js.map +1 -1
  263. package/dist/esm/compliance/privacy/subject-export.shared.schemas.d.ts +9 -0
  264. package/dist/esm/compliance/privacy/subject-export.shared.schemas.d.ts.map +1 -1
  265. package/dist/esm/compliance/privacy/subject-export.shared.schemas.js.map +1 -1
  266. package/dist/esm/compliance/review-cadence.shared.schemas.d.ts.map +1 -1
  267. package/dist/esm/compliance/review-cadence.shared.schemas.js.map +1 -1
  268. package/dist/esm/compliance/risk-posture.shared.schemas.d.ts.map +1 -1
  269. package/dist/esm/compliance/risk-posture.shared.schemas.js.map +1 -1
  270. package/dist/esm/config/analytics-value-moments.shared.schemas.d.ts.map +1 -1
  271. package/dist/esm/config/analytics-value-moments.shared.schemas.js.map +1 -1
  272. package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts +109 -1
  273. package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts.map +1 -1
  274. package/dist/esm/config/app-configuration-shared.shared.schemas.js +57 -0
  275. package/dist/esm/config/app-configuration-shared.shared.schemas.js.map +1 -1
  276. package/dist/esm/config/app-frontend-type.shared.schemas.d.ts.map +1 -1
  277. package/dist/esm/config/app-frontend-type.shared.schemas.js.map +1 -1
  278. package/dist/esm/config/auth-config-resolution.shared.utils.d.ts.map +1 -1
  279. package/dist/esm/config/auth-config-resolution.shared.utils.js.map +1 -1
  280. package/dist/esm/config/brand-assets.shared.schemas.d.ts.map +1 -1
  281. package/dist/esm/config/brand-assets.shared.schemas.js.map +1 -1
  282. package/dist/esm/config/configuration-validation.shared.schemas.d.ts.map +1 -1
  283. package/dist/esm/config/configuration-validation.shared.schemas.js.map +1 -1
  284. package/dist/esm/config/entity-identity-config.shared.schemas.d.ts +69 -0
  285. package/dist/esm/config/entity-identity-config.shared.schemas.d.ts.map +1 -1
  286. package/dist/esm/config/entity-identity-config.shared.schemas.js +93 -0
  287. package/dist/esm/config/entity-identity-config.shared.schemas.js.map +1 -1
  288. package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts +16 -16
  289. package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts.map +1 -1
  290. package/dist/esm/config/frontend/chart-definition.shared.schemas.js.map +1 -1
  291. package/dist/esm/config/frontend/chart-registration-alignment.shared.d.ts.map +1 -1
  292. package/dist/esm/config/frontend/chart-registration-alignment.shared.js.map +1 -1
  293. package/dist/esm/config/frontend/navigation.shared.schemas.d.ts +160 -61
  294. package/dist/esm/config/frontend/navigation.shared.schemas.d.ts.map +1 -1
  295. package/dist/esm/config/frontend/navigation.shared.schemas.js +297 -65
  296. package/dist/esm/config/frontend/navigation.shared.schemas.js.map +1 -1
  297. package/dist/esm/config/frontend/onboarding.shared.schemas.d.ts.map +1 -1
  298. package/dist/esm/config/frontend/onboarding.shared.schemas.js.map +1 -1
  299. package/dist/esm/config/postgresql.shared.schemas.d.ts.map +1 -1
  300. package/dist/esm/config/postgresql.shared.schemas.js.map +1 -1
  301. package/dist/esm/config/registration-acquisition-policy.shared.utils.d.ts.map +1 -1
  302. package/dist/esm/config/registration-acquisition-policy.shared.utils.js.map +1 -1
  303. package/dist/esm/config-authoring.entry.d.ts.map +1 -1
  304. package/dist/esm/config-authoring.entry.js.map +1 -1
  305. package/dist/esm/crdt/crdt-merge.shared.utils.d.ts.map +1 -1
  306. package/dist/esm/crdt/crdt-merge.shared.utils.js.map +1 -1
  307. package/dist/esm/data-seeding/data-seeding-config.shared.schemas.d.ts.map +1 -1
  308. package/dist/esm/data-seeding/data-seeding-config.shared.schemas.js.map +1 -1
  309. package/dist/esm/errors/caught-error-description.shared.utils.d.ts +69 -0
  310. package/dist/esm/errors/caught-error-description.shared.utils.d.ts.map +1 -0
  311. package/dist/esm/errors/caught-error-description.shared.utils.js +77 -0
  312. package/dist/esm/errors/caught-error-description.shared.utils.js.map +1 -0
  313. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts +76 -3
  314. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts.map +1 -1
  315. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js +76 -2
  316. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js.map +1 -1
  317. package/dist/esm/errors/errors.shared.definitions.d.ts.map +1 -1
  318. package/dist/esm/errors/errors.shared.definitions.js.map +1 -1
  319. package/dist/esm/errors/errors.shared.schemas.d.ts +20 -1
  320. package/dist/esm/errors/errors.shared.schemas.d.ts.map +1 -1
  321. package/dist/esm/errors/errors.shared.schemas.js +16 -9
  322. package/dist/esm/errors/errors.shared.schemas.js.map +1 -1
  323. package/dist/esm/errors/errors.shared.utils.d.ts +0 -24
  324. package/dist/esm/errors/errors.shared.utils.d.ts.map +1 -1
  325. package/dist/esm/errors/errors.shared.utils.js +0 -39
  326. package/dist/esm/errors/errors.shared.utils.js.map +1 -1
  327. package/dist/esm/errors/resource-access-forbidden.shared.error.d.ts.map +1 -1
  328. package/dist/esm/errors/resource-access-forbidden.shared.error.js.map +1 -1
  329. package/dist/esm/errors/thrown-value-description.shared.utils.d.ts +6 -7
  330. package/dist/esm/errors/thrown-value-description.shared.utils.d.ts.map +1 -1
  331. package/dist/esm/errors/thrown-value-description.shared.utils.js +6 -7
  332. package/dist/esm/errors/thrown-value-description.shared.utils.js.map +1 -1
  333. package/dist/esm/errors/zod-issue-formatting.shared.utils.d.ts.map +1 -1
  334. package/dist/esm/errors/zod-issue-formatting.shared.utils.js.map +1 -1
  335. package/dist/esm/exports/tabular-csv.shared.utils.d.ts.map +1 -1
  336. package/dist/esm/exports/tabular-csv.shared.utils.js.map +1 -1
  337. package/dist/esm/external-data/external-data-pipeline-description.shared.d.ts +70 -0
  338. package/dist/esm/external-data/external-data-pipeline-description.shared.d.ts.map +1 -0
  339. package/dist/esm/external-data/external-data-pipeline-description.shared.js +92 -0
  340. package/dist/esm/external-data/external-data-pipeline-description.shared.js.map +1 -0
  341. package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.d.ts +154 -0
  342. package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.d.ts.map +1 -0
  343. package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.js +161 -0
  344. package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.js.map +1 -0
  345. package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts +1071 -23
  346. package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts.map +1 -1
  347. package/dist/esm/external-data/external-data-pipeline.shared.schemas.js +1065 -17
  348. package/dist/esm/external-data/external-data-pipeline.shared.schemas.js.map +1 -1
  349. package/dist/esm/external-data/external-data-provenance.shared.d.ts +71 -0
  350. package/dist/esm/external-data/external-data-provenance.shared.d.ts.map +1 -0
  351. package/dist/esm/external-data/external-data-provenance.shared.js +88 -0
  352. package/dist/esm/external-data/external-data-provenance.shared.js.map +1 -0
  353. package/dist/esm/external-data.exports.d.ts +5 -0
  354. package/dist/esm/external-data.exports.d.ts.map +1 -1
  355. package/dist/esm/external-data.exports.js +11 -0
  356. package/dist/esm/external-data.exports.js.map +1 -1
  357. package/dist/esm/external-providers/compose-provider-registry.shared.d.ts.map +1 -1
  358. package/dist/esm/external-providers/compose-provider-registry.shared.js.map +1 -1
  359. package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts +17 -2
  360. package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts.map +1 -1
  361. package/dist/esm/external-providers/engine-capabilities.shared.schemas.js +22 -4
  362. package/dist/esm/external-providers/engine-capabilities.shared.schemas.js.map +1 -1
  363. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.d.ts.map +1 -1
  364. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js +3 -0
  365. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js.map +1 -1
  366. package/dist/esm/external-providers/engine-capability-surface.shared.d.ts.map +1 -1
  367. package/dist/esm/external-providers/engine-capability-surface.shared.js +2 -0
  368. package/dist/esm/external-providers/engine-capability-surface.shared.js.map +1 -1
  369. package/dist/esm/external-providers/external-providers.shared.schemas.d.ts.map +1 -1
  370. package/dist/esm/external-providers/external-providers.shared.schemas.js.map +1 -1
  371. package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts +152 -1
  372. package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts.map +1 -1
  373. package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.js.map +1 -1
  374. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts +4 -3
  375. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts.map +1 -1
  376. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js +4 -3
  377. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js.map +1 -1
  378. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts +45 -0
  379. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts.map +1 -1
  380. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js +14 -0
  381. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js.map +1 -1
  382. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts +188 -4
  383. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts.map +1 -1
  384. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.js +76 -9
  385. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.js.map +1 -1
  386. package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts +175 -33
  387. package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts.map +1 -1
  388. package/dist/esm/external-providers/frontend-provider-public-config.shared.js +247 -42
  389. package/dist/esm/external-providers/frontend-provider-public-config.shared.js.map +1 -1
  390. package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.d.ts +53 -0
  391. package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.d.ts.map +1 -0
  392. package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.js +41 -0
  393. package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.js.map +1 -0
  394. package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.d.ts +150 -0
  395. package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.d.ts.map +1 -0
  396. package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.js +22 -0
  397. package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.js.map +1 -0
  398. package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.d.ts +42 -0
  399. package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.d.ts.map +1 -0
  400. package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.js +49 -0
  401. package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.js.map +1 -0
  402. package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.d.ts.map +1 -1
  403. package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.js.map +1 -1
  404. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.d.ts +53 -0
  405. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.d.ts.map +1 -1
  406. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.js +56 -0
  407. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.js.map +1 -1
  408. package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts +34 -0
  409. package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts.map +1 -1
  410. package/dist/esm/external-providers/provider-capability.shared.schemas.js +34 -0
  411. package/dist/esm/external-providers/provider-capability.shared.schemas.js.map +1 -1
  412. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.d.ts +341 -4
  413. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.d.ts.map +1 -1
  414. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.js +270 -20
  415. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.js.map +1 -1
  416. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.d.ts +6 -2
  417. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.d.ts.map +1 -1
  418. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js +6 -2
  419. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js.map +1 -1
  420. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts +174 -1
  421. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts.map +1 -1
  422. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js +125 -0
  423. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js.map +1 -1
  424. package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts +3 -3
  425. package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts.map +1 -1
  426. package/dist/esm/external-providers/provider-metadata.shared.schemas.js.map +1 -1
  427. package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.d.ts +42 -0
  428. package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.d.ts.map +1 -0
  429. package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.js +57 -0
  430. package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.js.map +1 -0
  431. package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts +6 -0
  432. package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts.map +1 -1
  433. package/dist/esm/external-providers/provider-protocol.shared.schemas.js +6 -0
  434. package/dist/esm/external-providers/provider-protocol.shared.schemas.js.map +1 -1
  435. package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.d.ts +58 -0
  436. package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.d.ts.map +1 -0
  437. package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.js +35 -0
  438. package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.js.map +1 -0
  439. package/dist/esm/external-providers/provider-shared-connections.shared.schemas.d.ts +115 -0
  440. package/dist/esm/external-providers/provider-shared-connections.shared.schemas.d.ts.map +1 -0
  441. package/dist/esm/external-providers/provider-shared-connections.shared.schemas.js +137 -0
  442. package/dist/esm/external-providers/provider-shared-connections.shared.schemas.js.map +1 -0
  443. package/dist/esm/external-providers/provider-tier-rule.shared.utils.d.ts.map +1 -1
  444. package/dist/esm/external-providers/provider-tier-rule.shared.utils.js.map +1 -1
  445. package/dist/esm/external-providers/provider-usage-cost.shared.d.ts +73 -0
  446. package/dist/esm/external-providers/provider-usage-cost.shared.d.ts.map +1 -0
  447. package/dist/esm/external-providers/provider-usage-cost.shared.js +171 -0
  448. package/dist/esm/external-providers/provider-usage-cost.shared.js.map +1 -0
  449. package/dist/esm/external-providers/provider-usage-pricing.example.d.ts +12 -0
  450. package/dist/esm/external-providers/provider-usage-pricing.example.d.ts.map +1 -0
  451. package/dist/esm/external-providers/provider-usage-pricing.example.js +40 -0
  452. package/dist/esm/external-providers/provider-usage-pricing.example.js.map +1 -0
  453. package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.d.ts +68 -32
  454. package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.d.ts.map +1 -1
  455. package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.js +63 -52
  456. package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.js.map +1 -1
  457. package/dist/esm/features/application-features.shared.resources-config.schemas.d.ts +5 -5
  458. package/dist/esm/features/application-features.shared.resources-config.schemas.d.ts.map +1 -1
  459. package/dist/esm/features/application-features.shared.resources-config.schemas.js +13 -5
  460. package/dist/esm/features/application-features.shared.resources-config.schemas.js.map +1 -1
  461. package/dist/esm/features/connected-feature.example.d.ts.map +1 -1
  462. package/dist/esm/features/connected-feature.example.js +2 -1
  463. package/dist/esm/features/connected-feature.example.js.map +1 -1
  464. package/dist/esm/features/core-feature-definitions.shared.d.ts.map +1 -1
  465. package/dist/esm/features/core-feature-definitions.shared.js +2 -1
  466. package/dist/esm/features/core-feature-definitions.shared.js.map +1 -1
  467. package/dist/esm/features/feature-builders.shared.d.ts.map +1 -1
  468. package/dist/esm/features/feature-builders.shared.js.map +1 -1
  469. package/dist/esm/features/feature-definition.shared.schemas.d.ts +2 -11
  470. package/dist/esm/features/feature-definition.shared.schemas.d.ts.map +1 -1
  471. package/dist/esm/features/feature-definition.shared.schemas.js +0 -12
  472. package/dist/esm/features/feature-definition.shared.schemas.js.map +1 -1
  473. package/dist/esm/features/feature-registry.shared.d.ts.map +1 -1
  474. package/dist/esm/features/feature-registry.shared.js.map +1 -1
  475. package/dist/esm/features/feature-resolution.shared.schemas.d.ts.map +1 -1
  476. package/dist/esm/features/feature-resolution.shared.schemas.js.map +1 -1
  477. package/dist/esm/features/scope-features.shared.schemas.d.ts +31 -17
  478. package/dist/esm/features/scope-features.shared.schemas.d.ts.map +1 -1
  479. package/dist/esm/features/scope-features.shared.schemas.js +27 -5
  480. package/dist/esm/features/scope-features.shared.schemas.js.map +1 -1
  481. package/dist/esm/features/user-features.shared.resources-config.schemas.d.ts +5 -5
  482. package/dist/esm/features/user-features.shared.resources-config.schemas.d.ts.map +1 -1
  483. package/dist/esm/features/user-features.shared.resources-config.schemas.js.map +1 -1
  484. package/dist/esm/files/file-remote-reference-link.shared.schemas.d.ts.map +1 -1
  485. package/dist/esm/files/file-remote-reference-link.shared.schemas.js.map +1 -1
  486. package/dist/esm/files/file-upload-grant.shared.schemas.d.ts.map +1 -1
  487. package/dist/esm/files/file-upload-grant.shared.schemas.js.map +1 -1
  488. package/dist/esm/files/files.shared.resources-config.schemas.d.ts.map +1 -1
  489. package/dist/esm/files/files.shared.resources-config.schemas.js.map +1 -1
  490. package/dist/esm/files/files.shared.schemas.d.ts.map +1 -1
  491. package/dist/esm/files/files.shared.schemas.js.map +1 -1
  492. package/dist/esm/files/files.shared.utils.d.ts.map +1 -1
  493. package/dist/esm/files/files.shared.utils.js.map +1 -1
  494. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.resources-config.schemas.d.ts.map +1 -1
  495. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.resources-config.schemas.js.map +1 -1
  496. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.schemas.d.ts.map +1 -1
  497. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.schemas.js.map +1 -1
  498. package/dist/esm/flows-actors/a2a-token-budget-state.shared.resources-config.schemas.d.ts.map +1 -1
  499. package/dist/esm/flows-actors/a2a-token-budget-state.shared.resources-config.schemas.js.map +1 -1
  500. package/dist/esm/flows-actors/a2a-token-budget-state.shared.schemas.d.ts.map +1 -1
  501. package/dist/esm/flows-actors/a2a-token-budget-state.shared.schemas.js.map +1 -1
  502. package/dist/esm/flows-actors/actors.shared.schemas.d.ts +127 -11
  503. package/dist/esm/flows-actors/actors.shared.schemas.d.ts.map +1 -1
  504. package/dist/esm/flows-actors/actors.shared.schemas.js +32 -1
  505. package/dist/esm/flows-actors/actors.shared.schemas.js.map +1 -1
  506. package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts +16 -0
  507. package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts.map +1 -1
  508. package/dist/esm/flows-actors/agent-traceability.shared.schemas.js +7 -0
  509. package/dist/esm/flows-actors/agent-traceability.shared.schemas.js.map +1 -1
  510. package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.d.ts +68 -0
  511. package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.d.ts.map +1 -0
  512. package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.js +276 -0
  513. package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.js.map +1 -0
  514. package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.d.ts +468 -0
  515. package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.d.ts.map +1 -0
  516. package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.js +472 -0
  517. package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.js.map +1 -0
  518. package/dist/esm/flows-actors/agents.shared.schemas.d.ts +2 -2
  519. package/dist/esm/flows-actors/agents.shared.schemas.d.ts.map +1 -1
  520. package/dist/esm/flows-actors/agents.shared.schemas.js.map +1 -1
  521. package/dist/esm/flows-actors/autonomous-agents.shared.schemas.d.ts +118 -0
  522. package/dist/esm/flows-actors/autonomous-agents.shared.schemas.d.ts.map +1 -0
  523. package/dist/esm/flows-actors/autonomous-agents.shared.schemas.js +144 -0
  524. package/dist/esm/flows-actors/autonomous-agents.shared.schemas.js.map +1 -0
  525. package/dist/esm/flows-actors/deliberation.shared.schemas.d.ts.map +1 -1
  526. package/dist/esm/flows-actors/deliberation.shared.schemas.js.map +1 -1
  527. package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.d.ts.map +1 -1
  528. package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.js.map +1 -1
  529. package/dist/esm/flows-actors/flows-actors-execution.shared.resources-config.schemas.d.ts.map +1 -1
  530. package/dist/esm/flows-actors/flows-actors-execution.shared.resources-config.schemas.js.map +1 -1
  531. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts +142 -8
  532. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts.map +1 -1
  533. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js +209 -11
  534. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js.map +1 -1
  535. package/dist/esm/flows-actors/flows-actors-task.shared.resources-config.schemas.d.ts.map +1 -1
  536. package/dist/esm/flows-actors/flows-actors-task.shared.resources-config.schemas.js.map +1 -1
  537. package/dist/esm/flows-actors/flows-actors-task.shared.schemas.d.ts.map +1 -1
  538. package/dist/esm/flows-actors/flows-actors-task.shared.schemas.js.map +1 -1
  539. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts +37 -2
  540. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts.map +1 -1
  541. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.js +30 -2
  542. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.js.map +1 -1
  543. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.d.ts +0 -11
  544. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.d.ts.map +1 -1
  545. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.js +12 -5
  546. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.js.map +1 -1
  547. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.d.ts +45 -6
  548. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.d.ts.map +1 -1
  549. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.js +31 -5
  550. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.js.map +1 -1
  551. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.d.ts.map +1 -1
  552. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js +30 -30
  553. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js.map +1 -1
  554. package/dist/esm/flows-actors/flows-actors.system.shared.definitions.d.ts.map +1 -1
  555. package/dist/esm/flows-actors/flows-actors.system.shared.definitions.js.map +1 -1
  556. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts +15 -7
  557. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts.map +1 -1
  558. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.js.map +1 -1
  559. package/dist/esm/flows-actors/flows.shared.schemas.d.ts +15 -0
  560. package/dist/esm/flows-actors/flows.shared.schemas.d.ts.map +1 -1
  561. package/dist/esm/flows-actors/flows.shared.schemas.js.map +1 -1
  562. package/dist/esm/flows-actors/human-decision.shared.schemas.d.ts +506 -0
  563. package/dist/esm/flows-actors/human-decision.shared.schemas.d.ts.map +1 -1
  564. package/dist/esm/flows-actors/human-decision.shared.schemas.js +502 -0
  565. package/dist/esm/flows-actors/human-decision.shared.schemas.js.map +1 -1
  566. package/dist/esm/flows-actors/mcp-servers.shared.schemas.d.ts.map +1 -1
  567. package/dist/esm/flows-actors/mcp-servers.shared.schemas.js.map +1 -1
  568. package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.d.ts +46 -0
  569. package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.d.ts.map +1 -0
  570. package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.js +65 -0
  571. package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.js.map +1 -0
  572. package/dist/esm/flows-actors/model-call-attributions.shared.schemas.d.ts +120 -0
  573. package/dist/esm/flows-actors/model-call-attributions.shared.schemas.d.ts.map +1 -0
  574. package/dist/esm/flows-actors/model-call-attributions.shared.schemas.js +165 -0
  575. package/dist/esm/flows-actors/model-call-attributions.shared.schemas.js.map +1 -0
  576. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.d.ts +45 -0
  577. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.d.ts.map +1 -0
  578. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.js +127 -0
  579. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.js.map +1 -0
  580. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.d.ts +83 -0
  581. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.d.ts.map +1 -0
  582. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.js +97 -0
  583. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.js.map +1 -0
  584. package/dist/esm/flows-actors/model-cost-summary.shared.schemas.d.ts +136 -0
  585. package/dist/esm/flows-actors/model-cost-summary.shared.schemas.d.ts.map +1 -0
  586. package/dist/esm/flows-actors/model-cost-summary.shared.schemas.js +90 -0
  587. package/dist/esm/flows-actors/model-cost-summary.shared.schemas.js.map +1 -0
  588. package/dist/esm/flows-actors/prompt-ir.shared.schemas.d.ts.map +1 -1
  589. package/dist/esm/flows-actors/prompt-ir.shared.schemas.js.map +1 -1
  590. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.d.ts +5 -1
  591. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.d.ts.map +1 -1
  592. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.js +19 -4
  593. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.js.map +1 -1
  594. package/dist/esm/flows-actors/provider-call-records.shared.schemas.d.ts +13 -15
  595. package/dist/esm/flows-actors/provider-call-records.shared.schemas.d.ts.map +1 -1
  596. package/dist/esm/flows-actors/provider-call-records.shared.schemas.js +30 -17
  597. package/dist/esm/flows-actors/provider-call-records.shared.schemas.js.map +1 -1
  598. package/dist/esm/flows-actors/review-deadlines.shared.schemas.d.ts +268 -0
  599. package/dist/esm/flows-actors/review-deadlines.shared.schemas.d.ts.map +1 -0
  600. package/dist/esm/flows-actors/review-deadlines.shared.schemas.js +576 -0
  601. package/dist/esm/flows-actors/review-deadlines.shared.schemas.js.map +1 -0
  602. package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts +30 -0
  603. package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts.map +1 -1
  604. package/dist/esm/flows-actors/tasks.actors.shared.schemas.js.map +1 -1
  605. package/dist/esm/flows-actors/work-attribution.shared.schemas.d.ts +129 -0
  606. package/dist/esm/flows-actors/work-attribution.shared.schemas.d.ts.map +1 -0
  607. package/dist/esm/flows-actors/work-attribution.shared.schemas.js +141 -0
  608. package/dist/esm/flows-actors/work-attribution.shared.schemas.js.map +1 -0
  609. package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.d.ts +22 -1
  610. package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.d.ts.map +1 -1
  611. package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.js +23 -0
  612. package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.js.map +1 -1
  613. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts +61 -0
  614. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts.map +1 -1
  615. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js +61 -0
  616. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js.map +1 -1
  617. package/dist/esm/guidance/guidance-flow.shared.schemas.d.ts.map +1 -1
  618. package/dist/esm/guidance/guidance-flow.shared.schemas.js.map +1 -1
  619. package/dist/esm/guidance/guidance-state.shared.resources-config.schemas.d.ts.map +1 -1
  620. package/dist/esm/guidance/guidance-state.shared.resources-config.schemas.js.map +1 -1
  621. package/dist/esm/guidance/guidance-state.shared.schemas.d.ts.map +1 -1
  622. package/dist/esm/guidance/guidance-state.shared.schemas.js +11 -10
  623. package/dist/esm/guidance/guidance-state.shared.schemas.js.map +1 -1
  624. package/dist/esm/guidance/guidance-state.shared.utils.d.ts.map +1 -1
  625. package/dist/esm/guidance/guidance-state.shared.utils.js.map +1 -1
  626. package/dist/esm/guidance/lifecycle-config.shared.schemas.d.ts.map +1 -1
  627. package/dist/esm/guidance/lifecycle-config.shared.schemas.js.map +1 -1
  628. package/dist/esm/guidance/lifecycle-state.shared.resources-config.schemas.d.ts.map +1 -1
  629. package/dist/esm/guidance/lifecycle-state.shared.resources-config.schemas.js.map +1 -1
  630. package/dist/esm/guidance/lifecycle-state.shared.schemas.d.ts.map +1 -1
  631. package/dist/esm/guidance/lifecycle-state.shared.schemas.js +6 -6
  632. package/dist/esm/guidance/lifecycle-state.shared.schemas.js.map +1 -1
  633. package/dist/esm/guidance/milestone-builders.shared.d.ts.map +1 -1
  634. package/dist/esm/guidance/milestone-builders.shared.js.map +1 -1
  635. package/dist/esm/guidance/milestone-definition.shared.schemas.d.ts.map +1 -1
  636. package/dist/esm/guidance/milestone-definition.shared.schemas.js.map +1 -1
  637. package/dist/esm/guidance/progression-presentation.shared.schemas.d.ts.map +1 -1
  638. package/dist/esm/guidance/progression-presentation.shared.schemas.js.map +1 -1
  639. package/dist/esm/guidance/progression-state.shared.resources-config.schemas.d.ts.map +1 -1
  640. package/dist/esm/guidance/progression-state.shared.resources-config.schemas.js.map +1 -1
  641. package/dist/esm/guidance/progression-state.shared.schemas.d.ts.map +1 -1
  642. package/dist/esm/guidance/progression-state.shared.schemas.js +8 -7
  643. package/dist/esm/guidance/progression-state.shared.schemas.js.map +1 -1
  644. package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.d.ts.map +1 -1
  645. package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.js +1 -1
  646. package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.js.map +1 -1
  647. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts +550 -30
  648. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts.map +1 -1
  649. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js +498 -34
  650. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js.map +1 -1
  651. package/dist/esm/http-api-binding/http-api-erasure-stance.shared.d.ts +62 -0
  652. package/dist/esm/http-api-binding/http-api-erasure-stance.shared.d.ts.map +1 -0
  653. package/dist/esm/http-api-binding/http-api-erasure-stance.shared.js +66 -0
  654. package/dist/esm/http-api-binding/http-api-erasure-stance.shared.js.map +1 -0
  655. package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.d.ts +133 -0
  656. package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.d.ts.map +1 -0
  657. package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.js +191 -0
  658. package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.js.map +1 -0
  659. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.d.ts +37 -6
  660. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.d.ts.map +1 -1
  661. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.js +37 -6
  662. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.js.map +1 -1
  663. package/dist/esm/http-api-binding/read-through-engine-anchors.shared.d.ts.map +1 -1
  664. package/dist/esm/http-api-binding/read-through-engine-anchors.shared.js.map +1 -1
  665. package/dist/esm/i18n/application-config-vocabulary.shared.d.ts +36 -0
  666. package/dist/esm/i18n/application-config-vocabulary.shared.d.ts.map +1 -0
  667. package/dist/esm/i18n/application-config-vocabulary.shared.js +39 -0
  668. package/dist/esm/i18n/application-config-vocabulary.shared.js.map +1 -0
  669. package/dist/esm/i18n/engine-open-vocabulary-values.shared.d.ts +11 -0
  670. package/dist/esm/i18n/engine-open-vocabulary-values.shared.d.ts.map +1 -0
  671. package/dist/esm/i18n/engine-open-vocabulary-values.shared.js +14 -0
  672. package/dist/esm/i18n/engine-open-vocabulary-values.shared.js.map +1 -0
  673. package/dist/esm/i18n/engine-open-vocabulary.shared.d.ts +20 -0
  674. package/dist/esm/i18n/engine-open-vocabulary.shared.d.ts.map +1 -0
  675. package/dist/esm/i18n/engine-open-vocabulary.shared.js +21 -0
  676. package/dist/esm/i18n/engine-open-vocabulary.shared.js.map +1 -0
  677. package/dist/esm/i18n/interpolate-label-params.shared.utils.d.ts.map +1 -1
  678. package/dist/esm/i18n/interpolate-label-params.shared.utils.js.map +1 -1
  679. package/dist/esm/i18n/labelling.dto.shared.schemas.d.ts.map +1 -1
  680. package/dist/esm/i18n/labelling.dto.shared.schemas.js.map +1 -1
  681. package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.d.ts +94 -0
  682. package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.d.ts.map +1 -0
  683. package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.js +206 -0
  684. package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.js.map +1 -0
  685. package/dist/esm/inbound/conversation-threads.shared.schemas.d.ts +169 -0
  686. package/dist/esm/inbound/conversation-threads.shared.schemas.d.ts.map +1 -0
  687. package/dist/esm/inbound/conversation-threads.shared.schemas.js +231 -0
  688. package/dist/esm/inbound/conversation-threads.shared.schemas.js.map +1 -0
  689. package/dist/esm/inbound/inbound-channels.shared.schemas.d.ts +195 -0
  690. package/dist/esm/inbound/inbound-channels.shared.schemas.d.ts.map +1 -0
  691. package/dist/esm/inbound/inbound-channels.shared.schemas.js +244 -0
  692. package/dist/esm/inbound/inbound-channels.shared.schemas.js.map +1 -0
  693. package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.d.ts +36 -0
  694. package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.d.ts.map +1 -0
  695. package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.js +169 -0
  696. package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.js.map +1 -0
  697. package/dist/esm/inbound/inbound-delivery.shared.schemas.d.ts +404 -0
  698. package/dist/esm/inbound/inbound-delivery.shared.schemas.d.ts.map +1 -0
  699. package/dist/esm/inbound/inbound-delivery.shared.schemas.js +449 -0
  700. package/dist/esm/inbound/inbound-delivery.shared.schemas.js.map +1 -0
  701. package/dist/esm/inbound/inbound-endpoint-env.shared.d.ts +46 -0
  702. package/dist/esm/inbound/inbound-endpoint-env.shared.d.ts.map +1 -0
  703. package/dist/esm/inbound/inbound-endpoint-env.shared.js +57 -0
  704. package/dist/esm/inbound/inbound-endpoint-env.shared.js.map +1 -0
  705. package/dist/esm/index.d.ts +58 -1
  706. package/dist/esm/index.d.ts.map +1 -1
  707. package/dist/esm/index.js +67 -1
  708. package/dist/esm/index.js.map +1 -1
  709. package/dist/esm/meta-workflows/actions.meta-workflows.shared.schemas.d.ts.map +1 -1
  710. package/dist/esm/meta-workflows/actions.meta-workflows.shared.schemas.js.map +1 -1
  711. package/dist/esm/meta-workflows/catalog.meta-workflows.shared.schemas.d.ts.map +1 -1
  712. package/dist/esm/meta-workflows/catalog.meta-workflows.shared.schemas.js.map +1 -1
  713. package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.d.ts.map +1 -1
  714. package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.js.map +1 -1
  715. package/dist/esm/meta-workflows/context-selection.meta-workflows.shared.schemas.d.ts.map +1 -1
  716. package/dist/esm/meta-workflows/context-selection.meta-workflows.shared.schemas.js.map +1 -1
  717. package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts +28 -0
  718. package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts.map +1 -1
  719. package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.js +29 -0
  720. package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.js.map +1 -1
  721. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts +95 -1
  722. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts.map +1 -1
  723. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.js +121 -0
  724. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.js.map +1 -1
  725. package/dist/esm/meta-workflows/portable-primitives.meta-workflows.shared.schemas.d.ts.map +1 -1
  726. package/dist/esm/meta-workflows/portable-primitives.meta-workflows.shared.schemas.js.map +1 -1
  727. package/dist/esm/meta-workflows.exports.d.ts +0 -1
  728. package/dist/esm/meta-workflows.exports.d.ts.map +1 -1
  729. package/dist/esm/meta-workflows.exports.js +0 -1
  730. package/dist/esm/meta-workflows.exports.js.map +1 -1
  731. package/dist/esm/monitoring/monitoring.shared.schemas.d.ts.map +1 -1
  732. package/dist/esm/monitoring/monitoring.shared.schemas.js.map +1 -1
  733. package/dist/esm/notifications/email/email-context.shared.schemas.d.ts.map +1 -1
  734. package/dist/esm/notifications/email/email-context.shared.schemas.js.map +1 -1
  735. package/dist/esm/notifications/email/email-submission.shared.enums.d.ts.map +1 -1
  736. package/dist/esm/notifications/email/email-submission.shared.enums.js.map +1 -1
  737. package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts +7 -1
  738. package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts.map +1 -1
  739. package/dist/esm/notifications/email/email-template-registry.shared.schemas.js +35 -0
  740. package/dist/esm/notifications/email/email-template-registry.shared.schemas.js.map +1 -1
  741. package/dist/esm/notifications/email/email-template.shared.enums.d.ts.map +1 -1
  742. package/dist/esm/notifications/email/email-template.shared.enums.js.map +1 -1
  743. package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.d.ts +131 -0
  744. package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.d.ts.map +1 -0
  745. package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.js +258 -0
  746. package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.js.map +1 -0
  747. package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.d.ts +448 -0
  748. package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.d.ts.map +1 -0
  749. package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.js +530 -0
  750. package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.js.map +1 -0
  751. package/dist/esm/notifications/m2m/m2m-webhook-delivery-contract.shared.d.ts.map +1 -1
  752. package/dist/esm/notifications/m2m/m2m-webhook-delivery-contract.shared.js.map +1 -1
  753. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.d.ts.map +1 -1
  754. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.js +4 -3
  755. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.js.map +1 -1
  756. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.d.ts.map +1 -1
  757. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.js.map +1 -1
  758. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.d.ts +16 -1
  759. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.d.ts.map +1 -1
  760. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js +46 -16
  761. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js.map +1 -1
  762. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.d.ts +19 -12
  763. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.d.ts.map +1 -1
  764. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js +77 -12
  765. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js.map +1 -1
  766. package/dist/esm/notifications/notification-badges.core.definitions.d.ts.map +1 -1
  767. package/dist/esm/notifications/notification-badges.core.definitions.js.map +1 -1
  768. package/dist/esm/notifications/notification-badges.schemas.d.ts +35 -3
  769. package/dist/esm/notifications/notification-badges.schemas.d.ts.map +1 -1
  770. package/dist/esm/notifications/notification-badges.schemas.js +43 -3
  771. package/dist/esm/notifications/notification-badges.schemas.js.map +1 -1
  772. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.d.ts.map +1 -1
  773. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.js.map +1 -1
  774. package/dist/esm/notifications/notifications.shared.schemas.d.ts +66 -399
  775. package/dist/esm/notifications/notifications.shared.schemas.d.ts.map +1 -1
  776. package/dist/esm/notifications/notifications.shared.schemas.js +111 -58
  777. package/dist/esm/notifications/notifications.shared.schemas.js.map +1 -1
  778. package/dist/esm/organizations/application-owner-organization.shared.schemas.d.ts.map +1 -1
  779. package/dist/esm/organizations/application-owner-organization.shared.schemas.js.map +1 -1
  780. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.d.ts +5 -5
  781. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.d.ts.map +1 -1
  782. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.js +6 -6
  783. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.js.map +1 -1
  784. package/dist/esm/organizations/organization-features.shared.schemas.d.ts.map +1 -1
  785. package/dist/esm/organizations/organization-features.shared.schemas.js.map +1 -1
  786. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.d.ts +3 -0
  787. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.d.ts.map +1 -1
  788. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.js +60 -14
  789. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.js.map +1 -1
  790. package/dist/esm/organizations/organization-members.shared.schemas.d.ts +3 -0
  791. package/dist/esm/organizations/organization-members.shared.schemas.d.ts.map +1 -1
  792. package/dist/esm/organizations/organization-members.shared.schemas.js +30 -0
  793. package/dist/esm/organizations/organization-members.shared.schemas.js.map +1 -1
  794. package/dist/esm/organizations/organization-notifications.shared.resources-config.schemas.d.ts.map +1 -1
  795. package/dist/esm/organizations/organization-notifications.shared.resources-config.schemas.js.map +1 -1
  796. package/dist/esm/organizations/organization-notifications.shared.schemas.d.ts.map +1 -1
  797. package/dist/esm/organizations/organization-notifications.shared.schemas.js +9 -9
  798. package/dist/esm/organizations/organization-notifications.shared.schemas.js.map +1 -1
  799. package/dist/esm/organizations/organization-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  800. package/dist/esm/organizations/organization-preferences.shared.resources-config.schemas.js.map +1 -1
  801. package/dist/esm/organizations/organization-preferences.shared.schemas.d.ts.map +1 -1
  802. package/dist/esm/organizations/organization-preferences.shared.schemas.js +4 -4
  803. package/dist/esm/organizations/organization-preferences.shared.schemas.js.map +1 -1
  804. package/dist/esm/organizations/organization-profile.shared.resources-config.schemas.d.ts +0 -1
  805. package/dist/esm/organizations/organization-profile.shared.resources-config.schemas.d.ts.map +1 -1
  806. package/dist/esm/organizations/organization-profile.shared.resources-config.schemas.js.map +1 -1
  807. package/dist/esm/organizations/organization-profile.shared.schemas.d.ts +5 -5
  808. package/dist/esm/organizations/organization-profile.shared.schemas.d.ts.map +1 -1
  809. package/dist/esm/organizations/organization-profile.shared.schemas.js +15 -10
  810. package/dist/esm/organizations/organization-profile.shared.schemas.js.map +1 -1
  811. package/dist/esm/organizations/organization-unit-inheritance.shared.d.ts.map +1 -1
  812. package/dist/esm/organizations/organization-unit-inheritance.shared.js.map +1 -1
  813. package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.d.ts.map +1 -1
  814. package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.js +1 -1
  815. package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.js.map +1 -1
  816. package/dist/esm/organizations/organization-unit-members.shared.schemas.d.ts.map +1 -1
  817. package/dist/esm/organizations/organization-unit-members.shared.schemas.js +2 -1
  818. package/dist/esm/organizations/organization-unit-members.shared.schemas.js.map +1 -1
  819. package/dist/esm/organizations/organization-unit-narrowing-decision.shared.d.ts +63 -1
  820. package/dist/esm/organizations/organization-unit-narrowing-decision.shared.d.ts.map +1 -1
  821. package/dist/esm/organizations/organization-unit-narrowing-decision.shared.js +106 -5
  822. package/dist/esm/organizations/organization-unit-narrowing-decision.shared.js.map +1 -1
  823. package/dist/esm/organizations/organization-unit-narrowing.example.d.ts.map +1 -1
  824. package/dist/esm/organizations/organization-unit-narrowing.example.js.map +1 -1
  825. package/dist/esm/organizations/organization-unit-narrowing.shared.d.ts.map +1 -1
  826. package/dist/esm/organizations/organization-unit-narrowing.shared.js +9 -0
  827. package/dist/esm/organizations/organization-unit-narrowing.shared.js.map +1 -1
  828. package/dist/esm/organizations/organization-units.shared.path.d.ts.map +1 -1
  829. package/dist/esm/organizations/organization-units.shared.path.js.map +1 -1
  830. package/dist/esm/organizations/organization-units.shared.resources-config.schemas.d.ts.map +1 -1
  831. package/dist/esm/organizations/organization-units.shared.resources-config.schemas.js +7 -2
  832. package/dist/esm/organizations/organization-units.shared.resources-config.schemas.js.map +1 -1
  833. package/dist/esm/organizations/organization-units.shared.schemas.d.ts.map +1 -1
  834. package/dist/esm/organizations/organization-units.shared.schemas.js.map +1 -1
  835. package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts +3 -1
  836. package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts.map +1 -1
  837. package/dist/esm/organizations/organizations.shared.resources-config.schemas.js +12 -8
  838. package/dist/esm/organizations/organizations.shared.resources-config.schemas.js.map +1 -1
  839. package/dist/esm/organizations/organizations.shared.schemas.d.ts +7 -2
  840. package/dist/esm/organizations/organizations.shared.schemas.d.ts.map +1 -1
  841. package/dist/esm/organizations/organizations.shared.schemas.js +51 -1
  842. package/dist/esm/organizations/organizations.shared.schemas.js.map +1 -1
  843. package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.d.ts +58 -0
  844. package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.d.ts.map +1 -0
  845. package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.js +188 -0
  846. package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.js.map +1 -0
  847. package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.d.ts +122 -0
  848. package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.d.ts.map +1 -0
  849. package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.js +136 -0
  850. package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.js.map +1 -0
  851. package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.d.ts +36 -0
  852. package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.d.ts.map +1 -0
  853. package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.js +155 -0
  854. package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.js.map +1 -0
  855. package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.d.ts +229 -0
  856. package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.d.ts.map +1 -0
  857. package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.js +290 -0
  858. package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.js.map +1 -0
  859. package/dist/esm/organizations/service-provider-client-controls.shared.schemas.d.ts +48 -0
  860. package/dist/esm/organizations/service-provider-client-controls.shared.schemas.d.ts.map +1 -0
  861. package/dist/esm/organizations/service-provider-client-controls.shared.schemas.js +50 -0
  862. package/dist/esm/organizations/service-provider-client-controls.shared.schemas.js.map +1 -0
  863. package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.d.ts +97 -0
  864. package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.d.ts.map +1 -0
  865. package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.js +572 -0
  866. package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.js.map +1 -0
  867. package/dist/esm/organizations/service-provider-relationships.shared.schemas.d.ts +590 -0
  868. package/dist/esm/organizations/service-provider-relationships.shared.schemas.d.ts.map +1 -0
  869. package/dist/esm/organizations/service-provider-relationships.shared.schemas.js +869 -0
  870. package/dist/esm/organizations/service-provider-relationships.shared.schemas.js.map +1 -0
  871. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts +36 -6
  872. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts.map +1 -1
  873. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js +57 -16
  874. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js.map +1 -1
  875. package/dist/esm/provider-registration-runtime.exports.d.ts +0 -1
  876. package/dist/esm/provider-registration-runtime.exports.d.ts.map +1 -1
  877. package/dist/esm/provider-registration-runtime.exports.js +0 -1
  878. package/dist/esm/provider-registration-runtime.exports.js.map +1 -1
  879. package/dist/esm/public-runtime/index.d.ts +30 -11
  880. package/dist/esm/public-runtime/index.d.ts.map +1 -1
  881. package/dist/esm/public-runtime/index.js +30 -11
  882. package/dist/esm/public-runtime/index.js.map +1 -1
  883. package/dist/esm/queue/jobs.shared.resources-config.schemas.d.ts.map +1 -1
  884. package/dist/esm/queue/jobs.shared.resources-config.schemas.js.map +1 -1
  885. package/dist/esm/queue/jobs.shared.schemas.d.ts +30 -2
  886. package/dist/esm/queue/jobs.shared.schemas.d.ts.map +1 -1
  887. package/dist/esm/queue/jobs.shared.schemas.js +12 -0
  888. package/dist/esm/queue/jobs.shared.schemas.js.map +1 -1
  889. package/dist/esm/queue/jobs.shared.utils.d.ts.map +1 -1
  890. package/dist/esm/queue/jobs.shared.utils.js.map +1 -1
  891. package/dist/esm/queue/queues.shared.schemas.d.ts.map +1 -1
  892. package/dist/esm/queue/queues.shared.schemas.js.map +1 -1
  893. package/dist/esm/queue/queues.shared.utils.d.ts.map +1 -1
  894. package/dist/esm/queue/queues.shared.utils.js.map +1 -1
  895. package/dist/esm/queue/rabbitmq-queue-args.shared.d.ts.map +1 -1
  896. package/dist/esm/queue/rabbitmq-queue-args.shared.js.map +1 -1
  897. package/dist/esm/rag/rag-retrieval-health.shared.d.ts.map +1 -1
  898. package/dist/esm/rag/rag-retrieval-health.shared.js.map +1 -1
  899. package/dist/esm/requests/header-keys.shared.d.ts +6 -0
  900. package/dist/esm/requests/header-keys.shared.d.ts.map +1 -1
  901. package/dist/esm/requests/header-keys.shared.js +7 -0
  902. package/dist/esm/requests/header-keys.shared.js.map +1 -1
  903. package/dist/esm/requests/http-requests.shared.d.ts.map +1 -1
  904. package/dist/esm/requests/http-requests.shared.js.map +1 -1
  905. package/dist/esm/requests/idempotency-key.shared.d.ts.map +1 -1
  906. package/dist/esm/requests/idempotency-key.shared.js.map +1 -1
  907. package/dist/esm/requests/manual-controllers-routes-documentation.d.ts.map +1 -1
  908. package/dist/esm/requests/manual-controllers-routes-documentation.js +147 -8
  909. package/dist/esm/requests/manual-controllers-routes-documentation.js.map +1 -1
  910. package/dist/esm/requests/manual-controllers-routes-urls.d.ts +51 -23
  911. package/dist/esm/requests/manual-controllers-routes-urls.d.ts.map +1 -1
  912. package/dist/esm/requests/manual-controllers-routes-urls.js +64 -0
  913. package/dist/esm/requests/manual-controllers-routes-urls.js.map +1 -1
  914. package/dist/esm/requests/rate-limits.shared.schemas.d.ts.map +1 -1
  915. package/dist/esm/requests/rate-limits.shared.schemas.js.map +1 -1
  916. package/dist/esm/requests/websocket.shared.schemas.d.ts +78 -13
  917. package/dist/esm/requests/websocket.shared.schemas.d.ts.map +1 -1
  918. package/dist/esm/requests/websocket.shared.schemas.js +91 -18
  919. package/dist/esm/requests/websocket.shared.schemas.js.map +1 -1
  920. package/dist/esm/resources/child-operations.shared.schemas.d.ts.map +1 -1
  921. package/dist/esm/resources/child-operations.shared.schemas.js.map +1 -1
  922. package/dist/esm/resources/collection-query-parameters.shared.d.ts.map +1 -1
  923. package/dist/esm/resources/collection-query-parameters.shared.js.map +1 -1
  924. package/dist/esm/resources/context-policy.shared.schemas.d.ts.map +1 -1
  925. package/dist/esm/resources/context-policy.shared.schemas.js.map +1 -1
  926. package/dist/esm/resources/embedded-resource-mark.shared.utils.d.ts +21 -0
  927. package/dist/esm/resources/embedded-resource-mark.shared.utils.d.ts.map +1 -0
  928. package/dist/esm/resources/embedded-resource-mark.shared.utils.js +22 -0
  929. package/dist/esm/resources/embedded-resource-mark.shared.utils.js.map +1 -0
  930. package/dist/esm/resources/relationship-display.shared.schemas.d.ts.map +1 -1
  931. package/dist/esm/resources/relationship-display.shared.schemas.js.map +1 -1
  932. package/dist/esm/resources/resources-config.shared.factory.d.ts.map +1 -1
  933. package/dist/esm/resources/resources-config.shared.factory.js +812 -32
  934. package/dist/esm/resources/resources-config.shared.factory.js.map +1 -1
  935. package/dist/esm/resources/resources-config.shared.schemas.d.ts +244 -48
  936. package/dist/esm/resources/resources-config.shared.schemas.d.ts.map +1 -1
  937. package/dist/esm/resources/resources-config.shared.schemas.js +151 -17
  938. package/dist/esm/resources/resources-config.shared.schemas.js.map +1 -1
  939. package/dist/esm/resources/resources-registry.shared.core.definitions.d.ts.map +1 -1
  940. package/dist/esm/resources/resources-registry.shared.core.definitions.js +369 -12
  941. package/dist/esm/resources/resources-registry.shared.core.definitions.js.map +1 -1
  942. package/dist/esm/resources/resources-relationships.shared.factory.d.ts.map +1 -1
  943. package/dist/esm/resources/resources-relationships.shared.factory.js.map +1 -1
  944. package/dist/esm/resources/resources-serialization.shared.schemas.d.ts.map +1 -1
  945. package/dist/esm/resources/resources-serialization.shared.schemas.js.map +1 -1
  946. package/dist/esm/resources/resources.shared.core.definitions.d.ts +45 -0
  947. package/dist/esm/resources/resources.shared.core.definitions.d.ts.map +1 -1
  948. package/dist/esm/resources/resources.shared.core.definitions.js +92 -0
  949. package/dist/esm/resources/resources.shared.core.definitions.js.map +1 -1
  950. package/dist/esm/resources/resources.shared.schemas.d.ts +2 -17
  951. package/dist/esm/resources/resources.shared.schemas.d.ts.map +1 -1
  952. package/dist/esm/resources/resources.shared.schemas.js +24 -20
  953. package/dist/esm/resources/resources.shared.schemas.js.map +1 -1
  954. package/dist/esm/resources/resources.shared.utils.d.ts +16 -8
  955. package/dist/esm/resources/resources.shared.utils.d.ts.map +1 -1
  956. package/dist/esm/resources/resources.shared.utils.js +16 -8
  957. package/dist/esm/resources/resources.shared.utils.js.map +1 -1
  958. package/dist/esm/resources/utils/collection-export.shared.utils.d.ts +2 -2
  959. package/dist/esm/resources/utils/collection-export.shared.utils.d.ts.map +1 -1
  960. package/dist/esm/resources/utils/collection-export.shared.utils.js +4 -2
  961. package/dist/esm/resources/utils/collection-export.shared.utils.js.map +1 -1
  962. package/dist/esm/resources/utils/composition-cascade-deletability.validation.d.ts.map +1 -1
  963. package/dist/esm/resources/utils/composition-cascade-deletability.validation.js.map +1 -1
  964. package/dist/esm/resources/utils/composition-seedability.validation.d.ts.map +1 -1
  965. package/dist/esm/resources/utils/composition-seedability.validation.js.map +1 -1
  966. package/dist/esm/resources/utils/context-addressed-composition-singleton.shared.utils.d.ts.map +1 -1
  967. package/dist/esm/resources/utils/context-addressed-composition-singleton.shared.utils.js.map +1 -1
  968. package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.d.ts.map +1 -1
  969. package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.js.map +1 -1
  970. package/dist/esm/resources/utils/duplicate-relationship-registration.validation.d.ts.map +1 -1
  971. package/dist/esm/resources/utils/duplicate-relationship-registration.validation.js.map +1 -1
  972. package/dist/esm/resources/utils/field-value-disclosure.utils.d.ts.map +1 -1
  973. package/dist/esm/resources/utils/field-value-disclosure.utils.js.map +1 -1
  974. package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.d.ts +103 -0
  975. package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.d.ts.map +1 -0
  976. package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.js +275 -0
  977. package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.js.map +1 -0
  978. package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.d.ts.map +1 -1
  979. package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.js.map +1 -1
  980. package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.d.ts +51 -0
  981. package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.d.ts.map +1 -0
  982. package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.js +28 -0
  983. package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.js.map +1 -0
  984. package/dist/esm/resources/utils/persistence-adapter-discrimination.shared.utils.d.ts.map +1 -1
  985. package/dist/esm/resources/utils/persistence-adapter-discrimination.shared.utils.js.map +1 -1
  986. package/dist/esm/resources/utils/populated-file-fields.shared.utils.d.ts.map +1 -1
  987. package/dist/esm/resources/utils/populated-file-fields.shared.utils.js +30 -19
  988. package/dist/esm/resources/utils/populated-file-fields.shared.utils.js.map +1 -1
  989. package/dist/esm/resources/utils/repository-dto-builder.utils.d.ts.map +1 -1
  990. package/dist/esm/resources/utils/repository-dto-builder.utils.js.map +1 -1
  991. package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.d.ts +2 -0
  992. package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.d.ts.map +1 -0
  993. package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.js +33 -0
  994. package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.js.map +1 -0
  995. package/dist/esm/resources/utils/required-fk-fillability.validation.d.ts.map +1 -1
  996. package/dist/esm/resources/utils/required-fk-fillability.validation.js.map +1 -1
  997. package/dist/esm/resources/utils/resource-operation-type-guards.utils.d.ts.map +1 -1
  998. package/dist/esm/resources/utils/resource-operation-type-guards.utils.js.map +1 -1
  999. package/dist/esm/resources/utils/resource-polymorphism.factory.d.ts +15 -0
  1000. package/dist/esm/resources/utils/resource-polymorphism.factory.d.ts.map +1 -1
  1001. package/dist/esm/resources/utils/resource-polymorphism.factory.js +6 -1
  1002. package/dist/esm/resources/utils/resource-polymorphism.factory.js.map +1 -1
  1003. package/dist/esm/resources/utils/resource-polymorphism.relationships.d.ts.map +1 -1
  1004. package/dist/esm/resources/utils/resource-polymorphism.relationships.js.map +1 -1
  1005. package/dist/esm/resources/utils/resource-polymorphism.schemas.d.ts.map +1 -1
  1006. package/dist/esm/resources/utils/resource-polymorphism.schemas.js +30 -4
  1007. package/dist/esm/resources/utils/resource-polymorphism.schemas.js.map +1 -1
  1008. package/dist/esm/resources/utils/resource-polymorphism.utils.d.ts.map +1 -1
  1009. package/dist/esm/resources/utils/resource-polymorphism.utils.js.map +1 -1
  1010. package/dist/esm/resources/utils/resource-subtree.utils.d.ts.map +1 -1
  1011. package/dist/esm/resources/utils/resource-subtree.utils.js.map +1 -1
  1012. package/dist/esm/resources/utils/resources-config-context-needs.utils.d.ts.map +1 -1
  1013. package/dist/esm/resources/utils/resources-config-context-needs.utils.js.map +1 -1
  1014. package/dist/esm/resources/utils/resources-config-naming.utils.d.ts.map +1 -1
  1015. package/dist/esm/resources/utils/resources-config-naming.utils.js.map +1 -1
  1016. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts +46 -0
  1017. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts.map +1 -1
  1018. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js +205 -22
  1019. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js.map +1 -1
  1020. package/dist/esm/resources/utils/resources-config-operations.path.utils.d.ts.map +1 -1
  1021. package/dist/esm/resources/utils/resources-config-operations.path.utils.js.map +1 -1
  1022. package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.d.ts.map +1 -1
  1023. package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.js.map +1 -1
  1024. package/dist/esm/resources/utils/resources-config-operations.utils.d.ts.map +1 -1
  1025. package/dist/esm/resources/utils/resources-config-operations.utils.js.map +1 -1
  1026. package/dist/esm/resources/utils/resources-serialization.utils.d.ts +19 -2
  1027. package/dist/esm/resources/utils/resources-serialization.utils.d.ts.map +1 -1
  1028. package/dist/esm/resources/utils/resources-serialization.utils.js +4 -0
  1029. package/dist/esm/resources/utils/resources-serialization.utils.js.map +1 -1
  1030. package/dist/esm/resources/utils/resources-summary.utils.d.ts.map +1 -1
  1031. package/dist/esm/resources/utils/resources-summary.utils.js.map +1 -1
  1032. package/dist/esm/resources/utils/schema-family-builder.utils.d.ts.map +1 -1
  1033. package/dist/esm/resources/utils/schema-family-builder.utils.js.map +1 -1
  1034. package/dist/esm/resources/utils/schema-type-inference.utils.d.ts.map +1 -1
  1035. package/dist/esm/resources/utils/schema-type-inference.utils.js.map +1 -1
  1036. package/dist/esm/resources/utils/schema-type-utils.d.ts.map +1 -1
  1037. package/dist/esm/resources/utils/schema-type-utils.js.map +1 -1
  1038. package/dist/esm/resources/utils/schema-variant-resolver.utils.d.ts.map +1 -1
  1039. package/dist/esm/resources/utils/schema-variant-resolver.utils.js.map +1 -1
  1040. package/dist/esm/resources/utils/shared-persistence-collection.utils.d.ts.map +1 -1
  1041. package/dist/esm/resources/utils/shared-persistence-collection.utils.js +15 -9
  1042. package/dist/esm/resources/utils/shared-persistence-collection.utils.js.map +1 -1
  1043. package/dist/esm/resources/utils/templatable-file-fields.shared.utils.d.ts.map +1 -1
  1044. package/dist/esm/resources/utils/templatable-file-fields.shared.utils.js.map +1 -1
  1045. package/dist/esm/resources/work-unit.shared.schemas.d.ts +20 -0
  1046. package/dist/esm/resources/work-unit.shared.schemas.d.ts.map +1 -0
  1047. package/dist/esm/resources/work-unit.shared.schemas.js +19 -0
  1048. package/dist/esm/resources/work-unit.shared.schemas.js.map +1 -0
  1049. package/dist/esm/runtime/domain-module.shared.definitions.d.ts.map +1 -1
  1050. package/dist/esm/runtime/domain-module.shared.definitions.js.map +1 -1
  1051. package/dist/esm/runtime/execution-context.shared.schemas.d.ts +48 -1
  1052. package/dist/esm/runtime/execution-context.shared.schemas.d.ts.map +1 -1
  1053. package/dist/esm/runtime/execution-context.shared.schemas.js +101 -9
  1054. package/dist/esm/runtime/execution-context.shared.schemas.js.map +1 -1
  1055. package/dist/esm/runtime/runtime.shared.schemas.d.ts.map +1 -1
  1056. package/dist/esm/runtime/runtime.shared.schemas.js.map +1 -1
  1057. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.d.ts +1 -0
  1058. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.d.ts.map +1 -1
  1059. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js +37 -20
  1060. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js.map +1 -1
  1061. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.d.ts +1 -0
  1062. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.d.ts.map +1 -1
  1063. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js +61 -48
  1064. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js.map +1 -1
  1065. package/dist/esm/security/api-keys/api-keys.shared.schemas.d.ts +26 -0
  1066. package/dist/esm/security/api-keys/api-keys.shared.schemas.d.ts.map +1 -1
  1067. package/dist/esm/security/api-keys/api-keys.shared.schemas.js +39 -5
  1068. package/dist/esm/security/api-keys/api-keys.shared.schemas.js.map +1 -1
  1069. package/dist/esm/security/authentications/anonymous-session/anonymous-session.shared.contract.d.ts.map +1 -1
  1070. package/dist/esm/security/authentications/anonymous-session/anonymous-session.shared.contract.js.map +1 -1
  1071. package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts +5 -3
  1072. package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts.map +1 -1
  1073. package/dist/esm/security/authentications/authentication.shared.dto.schemas.js +6 -0
  1074. package/dist/esm/security/authentications/authentication.shared.dto.schemas.js.map +1 -1
  1075. package/dist/esm/security/authentications/authentication.shared.schemas.d.ts.map +1 -1
  1076. package/dist/esm/security/authentications/authentication.shared.schemas.js.map +1 -1
  1077. package/dist/esm/security/authentications/authentication.shared.utils.d.ts.map +1 -1
  1078. package/dist/esm/security/authentications/authentication.shared.utils.js.map +1 -1
  1079. package/dist/esm/security/authentications/consumable-token.shared.schemas.d.ts.map +1 -1
  1080. package/dist/esm/security/authentications/consumable-token.shared.schemas.js.map +1 -1
  1081. package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.d.ts.map +1 -1
  1082. package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.js.map +1 -1
  1083. package/dist/esm/security/authentications/mfa-backup-code-contract.shared.d.ts.map +1 -1
  1084. package/dist/esm/security/authentications/mfa-backup-code-contract.shared.js.map +1 -1
  1085. package/dist/esm/security/authentications/password-blocklist.shared.utils.d.ts.map +1 -1
  1086. package/dist/esm/security/authentications/password-blocklist.shared.utils.js.map +1 -1
  1087. package/dist/esm/security/authentications/password-reset.shared.dto.schemas.d.ts.map +1 -1
  1088. package/dist/esm/security/authentications/password-reset.shared.dto.schemas.js.map +1 -1
  1089. package/dist/esm/security/authentications/registration.shared.dto.schemas.d.ts.map +1 -1
  1090. package/dist/esm/security/authentications/registration.shared.dto.schemas.js.map +1 -1
  1091. package/dist/esm/security/authentications/same-origin-redirect-path.shared.d.ts.map +1 -1
  1092. package/dist/esm/security/authentications/same-origin-redirect-path.shared.js.map +1 -1
  1093. package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.d.ts.map +1 -1
  1094. package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.js +2 -2
  1095. package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.js.map +1 -1
  1096. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.d.ts +11 -0
  1097. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.d.ts.map +1 -1
  1098. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.js +19 -8
  1099. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.js.map +1 -1
  1100. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts +1 -1
  1101. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts.map +1 -1
  1102. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js +5 -5
  1103. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js.map +1 -1
  1104. package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.d.ts.map +1 -1
  1105. package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.js +11 -11
  1106. package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.js.map +1 -1
  1107. package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.d.ts +2 -0
  1108. package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.d.ts.map +1 -1
  1109. package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.js +9 -0
  1110. package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.js.map +1 -1
  1111. package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.d.ts +169 -0
  1112. package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.d.ts.map +1 -0
  1113. package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.js +162 -0
  1114. package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.js.map +1 -0
  1115. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.d.ts.map +1 -1
  1116. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.js +10 -8
  1117. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.js.map +1 -1
  1118. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.schemas.d.ts.map +1 -1
  1119. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.schemas.js.map +1 -1
  1120. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.d.ts.map +1 -1
  1121. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.js.map +1 -1
  1122. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.d.ts.map +1 -1
  1123. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.js.map +1 -1
  1124. package/dist/esm/security/authentications/siem/siem-delivery-reliability-contract.shared.d.ts.map +1 -1
  1125. package/dist/esm/security/authentications/siem/siem-delivery-reliability-contract.shared.js.map +1 -1
  1126. package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.d.ts.map +1 -1
  1127. package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.js.map +1 -1
  1128. package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.d.ts.map +1 -1
  1129. package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.js +8 -8
  1130. package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.js.map +1 -1
  1131. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.d.ts.map +1 -1
  1132. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js +17 -16
  1133. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js.map +1 -1
  1134. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.d.ts.map +1 -1
  1135. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js +28 -25
  1136. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js.map +1 -1
  1137. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.d.ts +17 -6
  1138. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.d.ts.map +1 -1
  1139. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.js +90 -38
  1140. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.js.map +1 -1
  1141. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts +0 -24
  1142. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts.map +1 -1
  1143. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.js +79 -68
  1144. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.js.map +1 -1
  1145. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts +8 -1
  1146. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts.map +1 -1
  1147. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js +7 -0
  1148. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js.map +1 -1
  1149. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.d.ts.map +1 -1
  1150. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js +1 -1
  1151. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js.map +1 -1
  1152. package/dist/esm/security/authorizations/application-access-grants.shared.schemas.d.ts.map +1 -1
  1153. package/dist/esm/security/authorizations/application-access-grants.shared.schemas.js.map +1 -1
  1154. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.d.ts.map +1 -1
  1155. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.js +7 -7
  1156. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.js.map +1 -1
  1157. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.d.ts.map +1 -1
  1158. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.js.map +1 -1
  1159. package/dist/esm/security/authorizations/roles.shared.defaults.d.ts.map +1 -1
  1160. package/dist/esm/security/authorizations/roles.shared.defaults.js +56 -0
  1161. package/dist/esm/security/authorizations/roles.shared.defaults.js.map +1 -1
  1162. package/dist/esm/security/authorizations/roles.shared.schemas.d.ts +77 -1
  1163. package/dist/esm/security/authorizations/roles.shared.schemas.d.ts.map +1 -1
  1164. package/dist/esm/security/authorizations/roles.shared.schemas.js +90 -0
  1165. package/dist/esm/security/authorizations/roles.shared.schemas.js.map +1 -1
  1166. package/dist/esm/security/authorizations/roles.shared.utils.d.ts.map +1 -1
  1167. package/dist/esm/security/authorizations/roles.shared.utils.js.map +1 -1
  1168. package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.d.ts +86 -0
  1169. package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.d.ts.map +1 -0
  1170. package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.js +40 -0
  1171. package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.js.map +1 -0
  1172. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts +2 -1
  1173. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts.map +1 -1
  1174. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js +2 -1
  1175. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js.map +1 -1
  1176. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts +2 -1
  1177. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts.map +1 -1
  1178. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js +2 -1
  1179. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js.map +1 -1
  1180. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts +46 -14
  1181. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts.map +1 -1
  1182. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js +81 -21
  1183. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js.map +1 -1
  1184. package/dist/esm/security/credential-rotation-grace.shared.utils.d.ts +69 -0
  1185. package/dist/esm/security/credential-rotation-grace.shared.utils.d.ts.map +1 -0
  1186. package/dist/esm/security/credential-rotation-grace.shared.utils.js +77 -0
  1187. package/dist/esm/security/credential-rotation-grace.shared.utils.js.map +1 -0
  1188. package/dist/esm/security/crypto-keys/crypto-keys.shared.schemas.d.ts.map +1 -1
  1189. package/dist/esm/security/crypto-keys/crypto-keys.shared.schemas.js.map +1 -1
  1190. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.d.ts.map +1 -1
  1191. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.js +28 -8
  1192. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.js.map +1 -1
  1193. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts +3 -1
  1194. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts.map +1 -1
  1195. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js +89 -14
  1196. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js.map +1 -1
  1197. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.d.ts +1 -0
  1198. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.d.ts.map +1 -1
  1199. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.js +25 -4
  1200. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.js.map +1 -1
  1201. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.resources-config.schemas.d.ts.map +1 -1
  1202. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.resources-config.schemas.js.map +1 -1
  1203. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.d.ts.map +1 -1
  1204. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.js.map +1 -1
  1205. package/dist/esm/security/oauth-clients/oauth-resource-server.shared.schemas.d.ts.map +1 -1
  1206. package/dist/esm/security/oauth-clients/oauth-resource-server.shared.schemas.js.map +1 -1
  1207. package/dist/esm/security/outbound-target-control.shared.schemas.d.ts +7 -1
  1208. package/dist/esm/security/outbound-target-control.shared.schemas.d.ts.map +1 -1
  1209. package/dist/esm/security/outbound-target-control.shared.schemas.js +6 -0
  1210. package/dist/esm/security/outbound-target-control.shared.schemas.js.map +1 -1
  1211. package/dist/esm/security/submission-challenge/submission-challenge.shared.d.ts +143 -0
  1212. package/dist/esm/security/submission-challenge/submission-challenge.shared.d.ts.map +1 -0
  1213. package/dist/esm/security/submission-challenge/submission-challenge.shared.js +123 -0
  1214. package/dist/esm/security/submission-challenge/submission-challenge.shared.js.map +1 -0
  1215. package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.d.ts +384 -0
  1216. package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.d.ts.map +1 -0
  1217. package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.js +327 -0
  1218. package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.js.map +1 -0
  1219. package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.d.ts.map +1 -1
  1220. package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.js.map +1 -1
  1221. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.d.ts +121 -8
  1222. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.d.ts.map +1 -1
  1223. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.js +83 -4
  1224. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.js.map +1 -1
  1225. package/dist/esm/systems-of-record/system-of-record-env.shared.d.ts.map +1 -1
  1226. package/dist/esm/systems-of-record/system-of-record-env.shared.js.map +1 -1
  1227. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.d.ts +266 -8
  1228. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.d.ts.map +1 -1
  1229. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.js +291 -7
  1230. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.js.map +1 -1
  1231. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.d.ts +313 -3
  1232. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.d.ts.map +1 -1
  1233. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.js +369 -3
  1234. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.js.map +1 -1
  1235. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.d.ts.map +1 -1
  1236. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.js +2 -1
  1237. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.js.map +1 -1
  1238. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.d.ts.map +1 -1
  1239. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.js.map +1 -1
  1240. package/dist/esm/testing/resource-config-builders.d.ts.map +1 -1
  1241. package/dist/esm/testing/resource-config-builders.js.map +1 -1
  1242. package/dist/esm/testing.d.ts.map +1 -1
  1243. package/dist/esm/testing.js.map +1 -1
  1244. package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.d.ts.map +1 -1
  1245. package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.js.map +1 -1
  1246. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.d.ts +5 -3
  1247. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.d.ts.map +1 -1
  1248. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.js +19 -10
  1249. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.js.map +1 -1
  1250. package/dist/esm/users/anonymous-users.shared.schema.d.ts.map +1 -1
  1251. package/dist/esm/users/anonymous-users.shared.schema.js.map +1 -1
  1252. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.d.ts.map +1 -1
  1253. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.js +6 -0
  1254. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.js.map +1 -1
  1255. package/dist/esm/users/inbound-contacts.shared.schemas.d.ts.map +1 -1
  1256. package/dist/esm/users/inbound-contacts.shared.schemas.js.map +1 -1
  1257. package/dist/esm/users/user-consent-decision.shared.utils.d.ts.map +1 -1
  1258. package/dist/esm/users/user-consent-decision.shared.utils.js.map +1 -1
  1259. package/dist/esm/users/user-credentials.shared.resources-config.schemas.d.ts.map +1 -1
  1260. package/dist/esm/users/user-credentials.shared.resources-config.schemas.js.map +1 -1
  1261. package/dist/esm/users/user-credentials.shared.schemas.d.ts.map +1 -1
  1262. package/dist/esm/users/user-credentials.shared.schemas.js.map +1 -1
  1263. package/dist/esm/users/user-identity-links.shared.resources-config.schemas.d.ts.map +1 -1
  1264. package/dist/esm/users/user-identity-links.shared.resources-config.schemas.js.map +1 -1
  1265. package/dist/esm/users/user-identity-links.shared.schemas.d.ts.map +1 -1
  1266. package/dist/esm/users/user-identity-links.shared.schemas.js.map +1 -1
  1267. package/dist/esm/users/user-preferences-reset.shared.utils.d.ts.map +1 -1
  1268. package/dist/esm/users/user-preferences-reset.shared.utils.js +2 -2
  1269. package/dist/esm/users/user-preferences-reset.shared.utils.js.map +1 -1
  1270. package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts +0 -3
  1271. package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  1272. package/dist/esm/users/user-preferences.shared.resources-config.schemas.js.map +1 -1
  1273. package/dist/esm/users/user-profiles.shared.resources-config.schemas.d.ts.map +1 -1
  1274. package/dist/esm/users/user-profiles.shared.resources-config.schemas.js.map +1 -1
  1275. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts +0 -3
  1276. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  1277. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.js.map +1 -1
  1278. package/dist/esm/users/user-self-profiles.shared.resources-config.schemas.d.ts.map +1 -1
  1279. package/dist/esm/users/user-self-profiles.shared.resources-config.schemas.js.map +1 -1
  1280. package/dist/esm/users/user-self.shared.resources-config.schemas.d.ts.map +1 -1
  1281. package/dist/esm/users/user-self.shared.resources-config.schemas.js +1 -1
  1282. package/dist/esm/users/user-self.shared.resources-config.schemas.js.map +1 -1
  1283. package/dist/esm/users/users.shared.resources-config.schemas.d.ts.map +1 -1
  1284. package/dist/esm/users/users.shared.resources-config.schemas.js +82 -20
  1285. package/dist/esm/users/users.shared.resources-config.schemas.js.map +1 -1
  1286. package/dist/esm/users/users.shared.schemas.d.ts +12 -9
  1287. package/dist/esm/users/users.shared.schemas.d.ts.map +1 -1
  1288. package/dist/esm/users/users.shared.schemas.js +49 -18
  1289. package/dist/esm/users/users.shared.schemas.js.map +1 -1
  1290. package/dist/tsconfig.build.tsbuildinfo +1 -1
  1291. package/package.json +4 -4
  1292. package/dist/esm/compliance/privacy/data-retention.shared.schemas.d.ts +0 -8
  1293. package/dist/esm/compliance/privacy/data-retention.shared.schemas.d.ts.map +0 -1
  1294. package/dist/esm/compliance/privacy/data-retention.shared.schemas.js +0 -7
  1295. package/dist/esm/compliance/privacy/data-retention.shared.schemas.js.map +0 -1
@@ -14,19 +14,65 @@
14
14
  * these members, and the paper's ledger rows (PR-…) are cited per surface.
15
15
  */
16
16
  import { z } from 'zod';
17
- import { HttpApiResourceBindingSchema } from '../http-api-binding/http-api-binding.shared.schemas.js';
17
+ import { HttpApiResourceBindingSchema, HttpApiWriteConcurrencyMode, HttpApiWriteVerb } from '../http-api-binding/http-api-binding.shared.schemas.js';
18
18
  import { HttpApiTransportDialect } from '../http-api-binding/http-api-transport-dialect.shared.js';
19
+ import { HttpApiErasureStance } from '../http-api-binding/http-api-erasure-stance.shared.js';
20
+ import { ExternalDataConflictPolicy } from './external-data-pipeline-pass-mode.shared.js';
19
21
  /**
20
- * Pipeline direction (PR-19). A SINGLE-member enum on purpose: reverse ETL (local→remote) and
21
- * bidirectional sync belong to the outbound-writes gate (ETL plan Step 5, concurrency contract),
22
- * but the DECLARATION is direction-extensible NOW so those arrive as new members instead of a
23
- * schema reshape — the immutability-needs-a-paired-path lesson applied to a vocabulary.
22
+ * Pipeline direction (PR-19). Declared per pipeline; `INBOUND` when omitted.
23
+ *
24
+ * The vocabulary was single-member until the write path (#1679) existed, so reverse ETL arrived as a new member
25
+ * rather than a schema reshape. Keeping one row correct when BOTH sides change it is a third member, with its own
26
+ * conflict policy (#1723) — neither of these two decides a conflict.
24
27
  */
25
28
  /** @wildo_source:part:start saas.models.external-data-pipeline facet:layer:shared facet:audience:app-developer */
26
29
  export var ExternalDataPipelineDirection;
27
30
  (function (ExternalDataPipelineDirection) {
31
+ /**
32
+ * The system of record is the source: a pass reads its rows and loads them into the destination. The mapped fields
33
+ * are remote-authoritative, so callers may not write them.
34
+ */
28
35
  ExternalDataPipelineDirection["INBOUND"] = "inbound";
36
+ /**
37
+ * The destination is the source (#1690): a row created or changed locally is sent to the system of record on the
38
+ * next pass — created there when it has no remote key yet, updated when it has one. The mapped fields are the
39
+ * application's own, so callers write them; the remote key is written by the engine, once, from the create's answer.
40
+ *
41
+ * Only rows of the organization that owns the application are ever sent (a system of record belongs to it alone),
42
+ * and on a partitioned instance only rows whose organization unit is assigned to a partition. A local DELETE is not
43
+ * sent: a system of record keeps its own records, and removing one is its operator's decision, not a side effect of
44
+ * a local edit.
45
+ */
46
+ ExternalDataPipelineDirection["OUTBOUND"] = "outbound";
47
+ /**
48
+ * Both sides change the row (#1723): a pass LOADS what the system of record changed and SENDS what the application
49
+ * changed, field by field, as each mapping entry's `owner` declares — REMOTE fields are loaded and read-only locally,
50
+ * LOCAL fields are sent and never loaded, BOTH fields are loaded AND sent. A row whose BOTH fields changed on both
51
+ * sides since they last agreed is a CONFLICT, decided by the declared `conflictPolicy`.
52
+ *
53
+ * "Since they last agreed" is the system of record's own row version (Odoo `write_date`, an OData entity tag), kept
54
+ * per row by the engine — so the direction is legal only on an instance whose vendor declares one. A local DELETE is
55
+ * not sent, as on OUTBOUND.
56
+ */
57
+ ExternalDataPipelineDirection["BIDIRECTIONAL"] = "bidirectional";
29
58
  })(ExternalDataPipelineDirection || (ExternalDataPipelineDirection = {}));
59
+ /**
60
+ * Which side OWNS a mapped field of a BIDIRECTIONAL pipeline (#1723). Declared on each `REMOTE_FIELD` / `REMOTE_REFERENCE`
61
+ * entry as `owner`, and refused on any other direction (an INBOUND pipeline's fields are all the system of record's, an
62
+ * OUTBOUND pipeline's all the application's).
63
+ *
64
+ * Only BOTH fields can conflict, which keeps the common case — remote master data plus a few locally-owned fields —
65
+ * out of conflict handling entirely.
66
+ */
67
+ export var ExternalDataFieldOwner;
68
+ (function (ExternalDataFieldOwner) {
69
+ /** The system of record's: loaded, read-only for callers, never sent. The default when `owner` is omitted. */
70
+ ExternalDataFieldOwner["REMOTE"] = "remote";
71
+ /** The application's: written by callers, sent, never loaded. */
72
+ ExternalDataFieldOwner["LOCAL"] = "local";
73
+ /** Both sides': written by callers AND loaded, sent AND read back — the only kind of field that can conflict. */
74
+ ExternalDataFieldOwner["BOTH"] = "both";
75
+ })(ExternalDataFieldOwner || (ExternalDataFieldOwner = {}));
30
76
  /**
31
77
  * Who owns the destination's row population (D-P8, v3.1 §1).
32
78
  *
@@ -69,18 +115,162 @@ export var ExternalDataOrphanPolicy;
69
115
  /** Touch nothing; surface the diff in the run ledger. The DEFAULT — least surprise. */
70
116
  ExternalDataOrphanPolicy["REPORT"] = "report";
71
117
  })(ExternalDataOrphanPolicy || (ExternalDataOrphanPolicy = {}));
72
- /** The two shapes a mapping entry can take — a closed discriminator, never inferred from keys. */
118
+ /**
119
+ * The shapes a mapping entry can take — a closed discriminator, never inferred from keys.
120
+ *
121
+ * ## The DECLARED EXPRESSIONS (#1685), and the open function slot they replace
122
+ *
123
+ * `ENUM_MAP`, `CONCATENATION`, `ARITHMETIC` and `CONDITIONAL` derive a local value from remote values. They are
124
+ * the first of the T's recorded widenings (D-P4: computed transforms, then multi-source joins, then transforms
125
+ * authored by the app-creation lane's agents) and they are DATA: every one names the remote fields it reads, the
126
+ * local field it writes, and a closed operation with declared constants. Nothing in them executes code the
127
+ * declaration does not show, so each is checked at startup against the destination schema (target type, enum
128
+ * membership, absence) and requested by the extraction like any mapped field.
129
+ *
130
+ * An open function slot (`transform: (row) => value`) is refused on purpose: it would put arbitrary code inside the
131
+ * load with no declaration anyone can review, validate or fingerprint. A derivation beyond these four stays a
132
+ * pre-load step in the application's own code, run by its own job.
133
+ */
73
134
  export var ExternalDataMappingEntryKind;
74
135
  (function (ExternalDataMappingEntryKind) {
75
136
  /** Copy (and coerce) one remote field into one local field. */
76
137
  ExternalDataMappingEntryKind["REMOTE_FIELD"] = "remote-field";
77
138
  /** Fill one local field with a declared constant (destination-required fields with no remote source). */
78
139
  ExternalDataMappingEntryKind["CONSTANT"] = "constant";
140
+ /**
141
+ * Turn a remote REFERENCE into a real local foreign key (#1684) — an Odoo many2one (`parent_id`,
142
+ * `partner_id`), an OData navigation key. The remote value names a row of ANOTHER remote entity (or of
143
+ * the same one); the pipeline writes the local foreign key to that row's LOCAL copy, never the remote
144
+ * id. See {@link ExternalDataRemoteReferenceMappingEntrySchema}.
145
+ */
146
+ ExternalDataMappingEntryKind["REMOTE_REFERENCE"] = "remote-reference";
147
+ /**
148
+ * Map a remote CODE onto a member of a local enum (#1685) — an Odoo selection (`draft`/`posted`), a vendor status
149
+ * code. Every mapped code is declared; a code the declaration does not name either rejects the row or lands a
150
+ * declared default. See {@link ExternalDataEnumMappingEntrySchema}.
151
+ */
152
+ ExternalDataMappingEntryKind["ENUM_MAP"] = "enum-map";
153
+ /**
154
+ * Join remote fields and literals into one local string (#1685) — a display name from a first and a last name.
155
+ * See {@link ExternalDataConcatenationMappingEntrySchema}.
156
+ */
157
+ ExternalDataMappingEntryKind["CONCATENATION"] = "concatenation";
158
+ /**
159
+ * `remote × factor + offset` on one numeric remote field (#1685) — a unit conversion, or a currency conversion at
160
+ * a DECLARED constant rate. See {@link ExternalDataArithmeticMappingEntrySchema}.
161
+ */
162
+ ExternalDataMappingEntryKind["ARITHMETIC"] = "arithmetic";
163
+ /**
164
+ * Choose the local value by ONE remote field's value (#1685): a list of cases, each an exact value, and an
165
+ * `otherwise`. See {@link ExternalDataConditionalMappingEntrySchema}.
166
+ */
167
+ ExternalDataMappingEntryKind["CONDITIONAL"] = "conditional";
79
168
  })(ExternalDataMappingEntryKind || (ExternalDataMappingEntryKind = {}));
169
+ /**
170
+ * The mapping entry kinds an OUTBOUND pipeline may declare (#1690): a local field sent as one remote field, and a local
171
+ * foreign key sent as the target row's REMOTE key. The declared expressions (#1685) derive one local value from remote
172
+ * ones and have no inverse — a concatenation cannot be split back into its parts — and a CONSTANT names no remote field.
173
+ */
174
+ export const EXTERNAL_DATA_OUTBOUND_MAPPING_ENTRY_KINDS = new Set([
175
+ ExternalDataMappingEntryKind.REMOTE_FIELD,
176
+ ExternalDataMappingEntryKind.REMOTE_REFERENCE,
177
+ ]);
178
+ /**
179
+ * The write verbs an OUTBOUND pipeline may open on its binding (#1690): a create for a row with no remote key yet, and
180
+ * an update for one that has one. DELETE is not among them — see {@link ExternalDataPipelineDirection.OUTBOUND}.
181
+ */
182
+ export const EXTERNAL_DATA_OUTBOUND_WRITE_VERBS = new Set([HttpApiWriteVerb.CREATE, HttpApiWriteVerb.UPDATE]);
183
+ /**
184
+ * What an `ENUM_MAP` does with a remote code its declaration does not name (#1685).
185
+ */
186
+ export var ExternalDataUnmappedValuePolicy;
187
+ (function (ExternalDataUnmappedValuePolicy) {
188
+ /**
189
+ * The DEFAULT. The row is REJECTED and reported, and its previous local version survives. A vendor that adds a
190
+ * code is then visible on the next run's report instead of being folded silently into some other member.
191
+ */
192
+ ExternalDataUnmappedValuePolicy["REJECT_ROW"] = "reject-row";
193
+ /** The row lands the declared `localValue`. Choose it only where every future code genuinely means the same thing. */
194
+ ExternalDataUnmappedValuePolicy["USE_DEFAULT"] = "use-default";
195
+ })(ExternalDataUnmappedValuePolicy || (ExternalDataUnmappedValuePolicy = {}));
196
+ /** The two things a `CONCATENATION` part can be (#1685). */
197
+ export var ExternalDataConcatenationPartKind;
198
+ (function (ExternalDataConcatenationPartKind) {
199
+ /** The value of one remote field. An absent or empty value drops the part. */
200
+ ExternalDataConcatenationPartKind["REMOTE_FIELD"] = "remote-field";
201
+ /** A declared literal, written as-is. */
202
+ ExternalDataConcatenationPartKind["LITERAL"] = "literal";
203
+ })(ExternalDataConcatenationPartKind || (ExternalDataConcatenationPartKind = {}));
204
+ /** The two things a `CONDITIONAL` outcome can be (#1685). */
205
+ export var ExternalDataConditionalOutcomeKind;
206
+ (function (ExternalDataConditionalOutcomeKind) {
207
+ /** A declared constant, checked against the local field's type at startup. */
208
+ ExternalDataConditionalOutcomeKind["CONSTANT"] = "constant";
209
+ /** Another remote field's value, copied as a `REMOTE_FIELD` entry copies it. */
210
+ ExternalDataConditionalOutcomeKind["REMOTE_FIELD"] = "remote-field";
211
+ })(ExternalDataConditionalOutcomeKind || (ExternalDataConditionalOutcomeKind = {}));
212
+ /**
213
+ * How a REMOTE_REFERENCE's remote value becomes the target's key (#1684). A closed vocabulary, one
214
+ * member per wire shape, because the shapes differ in kind and guessing between them silently resolves
215
+ * nothing.
216
+ */
217
+ export var ExternalDataRemoteReferenceValueShape;
218
+ (function (ExternalDataRemoteReferenceValueShape) {
219
+ /**
220
+ * Odoo's many2one: `search_read` answers `[id, display_name]`, or `false` when the reference is empty.
221
+ * The key is the pair's FIRST element; the display name is ignored (it is a label, not an identity).
222
+ * spec-cite: Odoo 18.0 developer reference, External API — "Read records" / "Search and read"
223
+ * (`odoo/documentation/18.0/content/developer/reference/external_api.rst`) — a many2one reads as
224
+ * `[21, 'Belgium']`; `false` for an unset one is the ORM's null spelling (measured shape recorded on the
225
+ * provider simulator, `odoo-jsonrpc-mock.ts`).
226
+ */
227
+ ExternalDataRemoteReferenceValueShape["ODOO_MANY2ONE"] = "odoo-many2one";
228
+ /**
229
+ * The remote value IS the target's key component, as a plain scalar — an OData navigation property's
230
+ * foreign-key field (`ParentAccountID`), a REST id column. `null` or an empty string is an empty reference.
231
+ */
232
+ ExternalDataRemoteReferenceValueShape["SCALAR"] = "scalar";
233
+ })(ExternalDataRemoteReferenceValueShape || (ExternalDataRemoteReferenceValueShape = {}));
234
+ /**
235
+ * What a run does with a reference whose target has no local row yet (#1684).
236
+ *
237
+ * Resolution happens AFTER the load, in its own phase, so a reference to a row loaded by the same run —
238
+ * including a child extracted before its parent, and a self-reference — always resolves. What remains
239
+ * "unresolved" is a target the destination does not hold at all: outside the pipeline's `sourceFilter`,
240
+ * in a partition nobody assigned, not yet loaded by the target's own pipeline.
241
+ */
242
+ export var ExternalDataUnresolvedReferencePolicy;
243
+ (function (ExternalDataUnresolvedReferencePolicy) {
244
+ /**
245
+ * The DEFAULT. The row loads with the foreign key EMPTY, and the reference is kept in the pipeline's
246
+ * pending-resolution set. The set is retried at the end of EVERY later run of the pipeline, incremental
247
+ * ones included — which is the only way such a row is ever resolved under incremental extraction (#1682),
248
+ * because a child that did not change is never re-read. Counted on every run's report and summary.
249
+ */
250
+ ExternalDataUnresolvedReferencePolicy["LEAVE_PENDING"] = "leave-pending";
251
+ /**
252
+ * The row is REJECTED (reported per row; its previous local version survives) when its target is not
253
+ * already loaded and not among the rows of the same PAGE — a run loads page by page (#1689), so a target
254
+ * on a LATER page of the same run is not loaded yet. It is retried only when the row is extracted again
255
+ * — every full pass, or an incremental pass after it changes — and a pass that reads parents before their
256
+ * children never meets the case. For a self-referencing entity whose source order you do not control,
257
+ * `LEAVE_PENDING` resolves the link at the end of the same run instead. A reference to a VIRTUAL (read-through)
258
+ * target never rejects: its key is its local id, and there is nothing local to be missing.
259
+ *
260
+ * The check runs BEFORE the load, against the target as it stands then. A self-referenced target that the same
261
+ * full pass's orphan walk deletes (`orphanPolicy: DELETE`) saved the row from rejection and is then gone, so that
262
+ * row loads with its foreign key empty and pending — the one case this policy cannot rule out.
263
+ */
264
+ ExternalDataUnresolvedReferencePolicy["REJECT_ROW"] = "reject-row";
265
+ })(ExternalDataUnresolvedReferencePolicy || (ExternalDataUnresolvedReferencePolicy = {}));
80
266
  /**
81
267
  * Built-in, closed coercion vocabulary for REMOTE_FIELD entries (v3.1 §3 / PR-8). Slice 1 ships
82
- * exactly the coercions the two generic dialects force; arbitrary transforms are the recorded
83
- * widenings (W-FK resolution, W-AGENT authored transforms) — never an open function slot here.
268
+ * exactly the coercions the two generic dialects force. A value COMPUTED from remote fields is one of
269
+ * the declared expressions (#1685 — D-P4's first widening: `ENUM_MAP`, `CONCATENATION`, `ARITHMETIC`,
270
+ * `CONDITIONAL`), and transforms authored by the app-creation lane's agents remain a recorded widening
271
+ * (W-AGENT) — never an open function slot here. Foreign-key resolution,
272
+ * once recorded as the W-FK widening beside it, is not a coercion at all: it is its own entry kind,
273
+ * {@link ExternalDataMappingEntryKind.REMOTE_REFERENCE} (#1684).
84
274
  */
85
275
  export var ExternalDataFieldCoercion;
86
276
  (function (ExternalDataFieldCoercion) {
@@ -95,9 +285,224 @@ export var ExternalDataFieldCoercion;
95
285
  /** Parse a strict-ISO datetime string into a Date for a date-typed local field. */
96
286
  ExternalDataFieldCoercion["ISO_STRING_TO_DATE"] = "iso-string-to-date";
97
287
  })(ExternalDataFieldCoercion || (ExternalDataFieldCoercion = {}));
98
- /** One declared T-step: remote field → local field with a built-in coercion, or a constant. */
288
+ /**
289
+ * What a pipeline does with a remote row its source has ARCHIVED rather than deleted (#1732).
290
+ *
291
+ * ## Why this exists: archived is not deleted, and absence reads as deletion
292
+ *
293
+ * Odoo archives a record by setting its `active` field to `false`, and an archived record is then
294
+ * "invisible in most searches and listing" — a plain `search_read` leaves it out, exactly as if it
295
+ * had been deleted.
296
+ * spec-cite: Odoo 17.0 ORM API reference, "Reserved Field names" → `Model.active`
297
+ * (https://www.odoo.com/documentation/17.0/developer/reference/backend/orm.html).
298
+ *
299
+ * A pipeline's orphan walk reads "absent from a complete pass" as "deleted remotely", so an extraction
300
+ * that inherited Odoo's default visibility turned every archive into a deletion: `REPORT` reported
301
+ * it, `DEPRECATE` deprecated it, and `DELETE` hard-deleted the local row together with its local
302
+ * extension fields, files and RAG chunks. Un-archiving later re-created a bare row.
303
+ *
304
+ * So extraction ALWAYS asks Odoo for archived rows too (the `active_test: false` context), and an
305
+ * archived row is always OBSERVED — present in the source, never an orphan. What remains a choice is
306
+ * only whether it is LOADED, and that is this vocabulary. Every member keeps the row observed; no
307
+ * member can turn an archive into a deletion.
308
+ *
309
+ * Declared on Odoo sources only (`archivedRecords`); an OData source has no protocol-level archive
310
+ * state, and the declaration coherence refuses the field there.
311
+ */
312
+ export var ExternalDataArchivedRecordTreatment;
313
+ (function (ExternalDataArchivedRecordTreatment) {
314
+ /**
315
+ * The DEFAULT. An archived row is loaded like any other row. Map the source's archive flag
316
+ * (`active` on most Odoo models) onto a local boolean like any other field, and the destination can
317
+ * show or filter archived rows — and an un-archive changes exactly that one value.
318
+ */
319
+ ExternalDataArchivedRecordTreatment["LOAD"] = "load";
320
+ /**
321
+ * An archived row is NOT loaded, but still counts as observed, so it is never an orphan — the same
322
+ * treatment rows of an unassigned partition get. A local row loaded while the record was live KEEPS
323
+ * its last loaded version (it is neither updated nor deleted) until the record is un-archived.
324
+ * Choose it to keep archived records out of a destination that never held them; choose `LOAD` with
325
+ * the flag mapped when the destination must reflect archival.
326
+ */
327
+ ExternalDataArchivedRecordTreatment["EXCLUDE_FROM_LOAD"] = "exclude-from-load";
328
+ })(ExternalDataArchivedRecordTreatment || (ExternalDataArchivedRecordTreatment = {}));
329
+ /**
330
+ * A REMOTE_REFERENCE mapping entry (#1684): a remote reference field written as a real LOCAL foreign key.
331
+ *
332
+ * ## What the local field holds
333
+ *
334
+ * - a target that is another PIPELINE destination on the same system of record (or this one — a
335
+ * self-reference such as Odoo `res.partner.parent_id`): the target's local row id, found by synthesizing
336
+ * the target's key with THE TARGET BINDING's key codec and looking it up on the target's
337
+ * `remoteKeyLocalField`;
338
+ * - a target that is a VIRTUAL (read-through) resource bound to the same system of record: the synthesized
339
+ * key itself — a virtual row's `_id` IS that value, so nothing is looked up.
340
+ *
341
+ * ## When it is written
342
+ *
343
+ * After the load, in its own phase — never inside the row transform. So a child extracted before its
344
+ * parent, a self-reference, and a cycle between two pipelines all resolve without ordering anything. The
345
+ * resolution phase is the ONLY writer of the local field: the load never touches it, which is why the field
346
+ * is left out of the load's managed fields.
347
+ *
348
+ * ## What the declaration owes (checked at authoring and at startup)
349
+ *
350
+ * - `localField` is the foreign key of a declared relationship between this resource and `targetResourceType`,
351
+ * a STRING field that accepts absence (an unresolved reference leaves it empty), and — like every
352
+ * pipeline-written field — `.excludeFromCreate().excludeFromUpdate()`;
353
+ * - the target is a pipeline destination or a virtual resource on THIS pipeline's system of record, keyed by
354
+ * ONE key field (a composite target key is a recorded widening);
355
+ * - when the target's orphan policy DELETES rows and the relationship tears children down with their parent,
356
+ * `orphanCascadeAcknowledged: true` — a row vanishing from the target's source would otherwise take this
357
+ * resource's rows with it through the ordinary `onParentDelete` rules, and nothing about this declaration
358
+ * says so unless the author does.
359
+ */
360
+ export const ExternalDataRemoteReferenceMappingEntrySchema = z.strictObject({
361
+ kind: z.literal(ExternalDataMappingEntryKind.REMOTE_REFERENCE),
362
+ /** The remote field carrying the reference (`parent_id` on Odoo `res.partner`). */
363
+ remoteField: z.string().trim().min(1),
364
+ /** The local foreign-key field the resolved reference is written to. */
365
+ localField: z.string().trim().min(1),
366
+ /** The LOCAL resource the reference resolves to — a pipeline destination or a virtual resource. */
367
+ targetResourceType: z.string().trim().min(1),
368
+ /**
369
+ * How the remote value becomes the target's key. Absent = resolved at AUTHORING from the source dialect:
370
+ * `ODOO_MANY2ONE` on an Odoo source, `SCALAR` otherwise — the resource factory writes the resolved value
371
+ * into the declaration, exactly as it resolves the Odoo absent-as-false coercion.
372
+ */
373
+ valueShape: z.enum(ExternalDataRemoteReferenceValueShape).optional(),
374
+ unresolved: z.enum(ExternalDataUnresolvedReferencePolicy).default(ExternalDataUnresolvedReferencePolicy.LEAVE_PENDING),
375
+ /**
376
+ * The author has read that the target's `orphanPolicy: DELETE` will cascade into this resource's rows
377
+ * through the relationship's `onParentDelete` teardown, and wants that. Only meaningful — and only
378
+ * demanded — when both are true; see the schema's header.
379
+ */
380
+ orphanCascadeAcknowledged: z.boolean().default(false),
381
+ /** Which side owns the reference — BIDIRECTIONAL pipelines only (#1723). Absent = REMOTE. */
382
+ owner: z.enum(ExternalDataFieldOwner).optional(),
383
+ });
384
+ /**
385
+ * A remote SCALAR a declared expression compares against or maps from (#1685) — the value shapes a remote field
386
+ * carries that can be matched exactly. An Odoo selection is a string, a status code may be a number, a flag a
387
+ * boolean. Objects and arrays (an Odoo many2one pair) cannot be matched and are not declarable.
388
+ */
389
+ const externalDataExpressionScalarSchema = z.union([z.string(), z.number().finite(), z.boolean()]);
390
+ /**
391
+ * An `ENUM_MAP` entry (#1685): one remote code → one member of the local field's enum.
392
+ *
393
+ * - the local field is an ENUM, and every declared `localValue` (and the default's) is one of its members — checked
394
+ * at startup, so a renamed member fails the boot rather than every row;
395
+ * - an ABSENT remote value (the field unset: `null`, missing, or Odoo's `false` when `false` is not itself a declared
396
+ * code) lands null, or rejects the row when `required`;
397
+ * - a PRESENT code the declaration does not name follows `unmapped`: rejected by default, or the declared member.
398
+ */
399
+ export const ExternalDataEnumMappingEntrySchema = z.strictObject({
400
+ kind: z.literal(ExternalDataMappingEntryKind.ENUM_MAP),
401
+ /** The remote field carrying the code (`state` on Odoo `account.move`). */
402
+ remoteField: z.string().trim().min(1),
403
+ localField: z.string().trim().min(1),
404
+ /** Every code the declaration maps, each to one member of the local enum. Codes are unique. */
405
+ values: z.array(z.strictObject({
406
+ remoteValue: externalDataExpressionScalarSchema,
407
+ localValue: z.union([z.string().min(1), z.number().finite()]),
408
+ })).min(1),
409
+ /** A PRESENT code no `values` entry names. Absent = reject the row. */
410
+ unmapped: z.discriminatedUnion('policy', [
411
+ z.strictObject({ policy: z.literal(ExternalDataUnmappedValuePolicy.REJECT_ROW) }),
412
+ z.strictObject({ policy: z.literal(ExternalDataUnmappedValuePolicy.USE_DEFAULT), localValue: z.union([z.string().min(1), z.number().finite()]) }),
413
+ ]).default({ policy: ExternalDataUnmappedValuePolicy.REJECT_ROW }),
414
+ /** `true`: a row whose remote code is ABSENT is rejected. `false` (default): absence lands null. */
415
+ required: z.boolean().default(false),
416
+ });
417
+ /**
418
+ * A `CONCATENATION` entry (#1685): remote fields and literals joined into one local STRING.
419
+ *
420
+ * Every part with a value is written, in order, joined by `separator`; a remote part whose value is absent or empty
421
+ * (`null`, missing, `''`, or Odoo's `false`) is DROPPED with its separator, the way SQL's `concat_ws` ignores a NULL
422
+ * argument — so `first` + `last` joined by a space yields `'Ada'`, never `'Ada '`, when the last name is unset. A
423
+ * number is written as JavaScript's shortest round-trip text (`42`, `12.5`; exponent notation only beyond `1e21` or
424
+ * below `1e-6`); any other value (a boolean off Odoo, a many2one pair) rejects the row.
425
+ *
426
+ * spec-cite: PostgreSQL 17 documentation, §9.4 "String Functions and Operators", `concat_ws` — "NULL arguments are
427
+ * ignored" (https://www.postgresql.org/docs/17/functions-string.html).
428
+ *
429
+ * When NO remote part has a value, the result is ABSENT — literals alone are decoration, not data — and lands null,
430
+ * or rejects the row when `required`.
431
+ */
432
+ export const ExternalDataConcatenationMappingEntrySchema = z.strictObject({
433
+ kind: z.literal(ExternalDataMappingEntryKind.CONCATENATION),
434
+ localField: z.string().trim().min(1),
435
+ /** At least two parts, at least one of them a remote field. */
436
+ parts: z.array(z.discriminatedUnion('kind', [
437
+ z.strictObject({ kind: z.literal(ExternalDataConcatenationPartKind.REMOTE_FIELD), remoteField: z.string().trim().min(1) }),
438
+ z.strictObject({ kind: z.literal(ExternalDataConcatenationPartKind.LITERAL), literal: z.string().min(1) }),
439
+ ])).min(2),
440
+ /** Written between two parts that both have a value. Default: nothing. */
441
+ separator: z.string().default(''),
442
+ required: z.boolean().default(false),
443
+ });
444
+ /**
445
+ * An `ARITHMETIC` entry (#1685): `remote × factor + offset` onto a local NUMBER.
446
+ *
447
+ * A currency conversion is legal only as a DECLARED rate (`factor`): a live exchange rate is a second source, which
448
+ * is a join, and joins are a later widening. The declaration is the rate's record, so changing it changes the
449
+ * pipeline's extraction fingerprint and an incremental pipeline re-reads every row under the new rate.
450
+ *
451
+ * The remote value is a finite number, or a string holding a plain decimal numeral (`'12.50'` — how OData v2 and
452
+ * several REST APIs serialize decimals). Anything else rejects the row. `decimalPlaces` rounds the RESULT half away
453
+ * from zero, in binary floating point: it keeps `0.1 × 3` from landing as `0.30000000000000004`, and it does not make
454
+ * the value exact — an amount that must be exact to the cent belongs in a type this expression does not produce.
455
+ */
456
+ export const ExternalDataArithmeticMappingEntrySchema = z.strictObject({
457
+ kind: z.literal(ExternalDataMappingEntryKind.ARITHMETIC),
458
+ remoteField: z.string().trim().min(1),
459
+ localField: z.string().trim().min(1),
460
+ /** Multiplier. Never 0 — a constant result is a `CONSTANT` entry. */
461
+ factor: z.number().finite().default(1),
462
+ /** Added after the multiplication. */
463
+ offset: z.number().finite().default(0),
464
+ /** Round the result to this many decimal places. Absent = no rounding. */
465
+ decimalPlaces: z.number().int().min(0).max(12).optional(),
466
+ required: z.boolean().default(false),
467
+ });
468
+ /** What a `CONDITIONAL` case (or its `otherwise`) writes (#1685). */
469
+ const ExternalDataConditionalOutcomeSchema = z.discriminatedUnion('kind', [
470
+ z.strictObject({ kind: z.literal(ExternalDataConditionalOutcomeKind.CONSTANT), constant: externalDataExpressionScalarSchema }),
471
+ z.strictObject({
472
+ kind: z.literal(ExternalDataConditionalOutcomeKind.REMOTE_FIELD),
473
+ remoteField: z.string().trim().min(1),
474
+ /** As on a `REMOTE_FIELD` entry: Odoo's absent-as-false is resolved at authoring from the local field's type. */
475
+ coercion: z.enum(ExternalDataFieldCoercion).default(ExternalDataFieldCoercion.NONE),
476
+ }),
477
+ ]);
478
+ /**
479
+ * A `CONDITIONAL` entry (#1685): the local value chosen by ONE remote field's value.
480
+ *
481
+ * The cases are tried in order and the first whose `equals` is exactly (`===`) the remote value wins; no case
482
+ * matching — an absent value included — takes `otherwise`. On an Odoo source an unset field reads `false`, so a declared
483
+ * `equals: false` case catches it before `otherwise` does. An outcome is a constant (checked against the local
484
+ * field's type, and against its members when it is an enum) or another remote field's value. Conditions over two
485
+ * fields, ranges and patterns are not part of the set: they are exactly what makes an expression language grow into
486
+ * the open function slot this set exists to avoid.
487
+ */
488
+ export const ExternalDataConditionalMappingEntrySchema = z.strictObject({
489
+ kind: z.literal(ExternalDataMappingEntryKind.CONDITIONAL),
490
+ /** The remote field whose value decides. */
491
+ remoteField: z.string().trim().min(1),
492
+ localField: z.string().trim().min(1),
493
+ cases: z.array(z.strictObject({ equals: externalDataExpressionScalarSchema, then: ExternalDataConditionalOutcomeSchema })).min(1),
494
+ otherwise: ExternalDataConditionalOutcomeSchema,
495
+ });
496
+ /**
497
+ * One declared T-step: remote field → local field with a built-in coercion, a constant, a resolved reference, or one
498
+ * of the four declared expressions (#1685).
499
+ *
500
+ * Every entry shape is STRICT: an unknown key is refused, not dropped. That is what makes the refusal of an open
501
+ * function slot real — `{ kind: 'remote-field', …, transform: (value) => … }` used to parse with `transform` silently
502
+ * stripped, a declaration that reads as if it ran code and runs none.
503
+ */
99
504
  export const ExternalDataFieldMappingEntrySchema = z.discriminatedUnion('kind', [
100
- z.object({
505
+ z.strictObject({
101
506
  kind: z.literal(ExternalDataMappingEntryKind.REMOTE_FIELD),
102
507
  remoteField: z.string().trim().min(1),
103
508
  localField: z.string().trim().min(1),
@@ -108,12 +513,244 @@ export const ExternalDataFieldMappingEntrySchema = z.discriminatedUnion('kind',
108
513
  * which the declaration coherence requires the local field to accept.
109
514
  */
110
515
  required: z.boolean().default(false),
516
+ /** Which side owns the field — BIDIRECTIONAL pipelines only (#1723). Absent = REMOTE. */
517
+ owner: z.enum(ExternalDataFieldOwner).optional(),
111
518
  }),
112
- z.object({
519
+ z.strictObject({
113
520
  kind: z.literal(ExternalDataMappingEntryKind.CONSTANT),
114
521
  localField: z.string().trim().min(1),
115
522
  constant: z.union([z.string(), z.number(), z.boolean()]),
116
523
  }),
524
+ ExternalDataRemoteReferenceMappingEntrySchema,
525
+ ExternalDataEnumMappingEntrySchema,
526
+ ExternalDataConcatenationMappingEntrySchema,
527
+ ExternalDataArithmeticMappingEntrySchema,
528
+ ExternalDataConditionalMappingEntrySchema,
529
+ ]);
530
+ /**
531
+ * HOW a source says what changed — one member per remote change-tracking mechanism (#1682).
532
+ *
533
+ * A closed vocabulary shared by two parties: a system-of-record VENDOR FACET declares which modes its
534
+ * deployments support (`incrementalExtractionModes`), and a pipeline declaration chooses one. A
535
+ * pipeline asking for a mode its source's facet does not declare is refused at startup, naming both.
536
+ *
537
+ * Three modes: Odoo's `write_date`, and the two OData v4 mechanisms (#1722) — a modified-at filter and
538
+ * the delta-link protocol. The incremental TRACK on the state row is mode-neutral (its watermark and
539
+ * cursor are opaque, mode-owned text), so a new mode needed no reshape of it.
540
+ */
541
+ export var ExternalDataIncrementalExtractionMode;
542
+ (function (ExternalDataIncrementalExtractionMode) {
543
+ /**
544
+ * Odoo's `write_date` — the "Last Updated on" column the ORM maintains on every model that logs
545
+ * access. Read in (SECOND, id) order from a watermark, with a declared lookback. See
546
+ * {@link ExternalDataIncrementalExtractionDeclarationSchema}.
547
+ */
548
+ ExternalDataIncrementalExtractionMode["ODOO_WRITE_DATE"] = "odoo-write-date";
549
+ /**
550
+ * OData v4, a MODIFIED-AT property the declaration names (`modifiedAtRemoteField` — per entity, not per
551
+ * vendor: Dataverse's `modifiedon`, Business Central's `lastModifiedDateTime`). Rows with that property at
552
+ * or after the watermark (less the lookback) are read in KEY order, and the watermark moves only when the
553
+ * pass completes. Catches no deletions: full passes find those.
554
+ */
555
+ ExternalDataIncrementalExtractionMode["ODATA_MODIFIED_AT"] = "odata-modified-at";
556
+ /**
557
+ * OData v4 CHANGE TRACKING: the first pass asks for `Prefer: odata.track-changes` and keeps the service's
558
+ * `@odata.deltaLink`; every later pass follows it and receives changed entities AND deleted ones, so an
559
+ * incremental pass applies the orphan policy to each deleted key. The vendor must track changes for the
560
+ * entity set (Dataverse: per table).
561
+ */
562
+ ExternalDataIncrementalExtractionMode["ODATA_DELTA_LINK"] = "odata-delta-link";
563
+ })(ExternalDataIncrementalExtractionMode || (ExternalDataIncrementalExtractionMode = {}));
564
+ /**
565
+ * `incremental` — read only what changed between full passes (#1682).
566
+ *
567
+ * ## What an incremental pass does, and what it never does
568
+ *
569
+ * - It reads the rows changed since the pipeline's WATERMARK — the largest remote position a previous
570
+ * incremental pass actually LOADED, never the local clock (a local clock and a remote clock disagree,
571
+ * and the gap is rows nobody reads).
572
+ * - The watermark advances only after the rows that reached it are loaded. A crash re-reads; it never
573
+ * skips.
574
+ * - It NEVER detects deletions. A row deleted remotely does not "change", so no incremental read can
575
+ * see it. Deletions are found by FULL passes only, on `fullPassCron` — which is why that cadence is
576
+ * required rather than optional: an incremental-only pipeline would keep deleted rows forever.
577
+ * - It runs on the pipeline's `scheduleCron`, which is therefore required too.
578
+ *
579
+ * ## The Odoo mode — why (second, id), and why a lookback
580
+ *
581
+ * Odoo STORES `write_date` with microseconds (the writing transaction's `now()`) and SERVES it cut to
582
+ * the second, while a domain compares the stored value. Two obvious designs fail on that gap:
583
+ * `write_date > w` skips the rows that share the last row's second but did not fit on the page, and a
584
+ * keyset on the served `(write_date, id)` re-reads its own last row forever, because a row served as
585
+ * `10:00:00` is stored after `10:00:00`. The extraction therefore walks (SECOND, id): it finishes one
586
+ * second by id (`s <= write_date < s+1s AND id > i`, ordered by id), then finds the next rows from the
587
+ * following second. Every row is read once per pass, however many rows share a second.
588
+ * spec-cite: N/A — Odoo 17.0 SOURCE, not a document: `odoo/models.py`
589
+ * `vals.setdefault('write_date', self.env.cr.now())`, `odoo/sql_db.py` `Cursor.now`
590
+ * (`SELECT (now() AT TIME ZONE 'UTC')`), `odoo/fields.py` `Datetime.to_string` (`strftime`), and no
591
+ * `Datetime.convert_to_column` override (the base field stores the full value).
592
+ *
593
+ * The lookback re-reads the last `lookbackSeconds` of changes at the START of every incremental pass.
594
+ * Odoo stamps `write_date` when the writing transaction runs, not when it commits, so a long
595
+ * transaction can commit a row whose `write_date` is already older than a watermark another pass
596
+ * advanced past in the meantime; without a lookback that row is never read — and a transaction that
597
+ * commits later inside the watermark's own second is caught the same way. Re-reads are free where it
598
+ * matters: the load compares content and writes nothing for an unchanged row. UNVERIFIED against a
599
+ * live Odoo — the default is a margin, not a measurement; raise it for a deployment with long batch
600
+ * jobs. `0` is NOT a harmless setting: without a lookback, a row written later inside a second a pass
601
+ * has already finished is read only when it changes again (or by a full pass).
602
+ *
603
+ * ## Changing the declaration resets the incremental track
604
+ *
605
+ * An incremental pass never re-reads a row that did not change remotely, so a change to what is
606
+ * extracted or how it is loaded — the binding, key fields, mapping, `sourceFilter`, partition fields,
607
+ * archived-record treatment, or the operator's partition ASSIGNMENTS — would otherwise never reach the
608
+ * rows already loaded. The run fingerprints those inputs; a different fingerprint drops the watermark,
609
+ * and the next incremental pass reads the whole source again. The run summary says it did.
610
+ */
611
+ export const ExternalDataIncrementalExtractionDeclarationSchema = z.discriminatedUnion('mode', [
612
+ z.object({
613
+ mode: z.literal(ExternalDataIncrementalExtractionMode.ODOO_WRITE_DATE),
614
+ /**
615
+ * When FULL passes run (cron). The only deletion detector, so required. A full pass that takes
616
+ * several runs continues on `scheduleCron` ticks until it completes, interleaved with incremental
617
+ * passes; neither track waits for the other.
618
+ */
619
+ fullPassCron: z.string().trim().min(1),
620
+ /** Seconds of changes re-read at the start of every incremental pass (see above). Up to one day. */
621
+ lookbackSeconds: z.number().int().nonnegative().max(86_400).default(300),
622
+ }),
623
+ /*
624
+ * ## The OData modified-at mode (#1722)
625
+ *
626
+ * `$filter=<modifiedAtRemoteField> ge <watermark − lookback>`, ordered by the KEY as a full pass is, paged
627
+ * by the service. Because the pages are in key order and not in modified-at order, a page's largest
628
+ * timestamp says nothing about the rows still to come, so the watermark moves only when the PASS completes
629
+ * (to the largest timestamp the pass read), never per page — a per-page watermark would skip the rows of
630
+ * a later page modified before it. `ge`, not `gt`: two rows sharing the watermark's instant are both read.
631
+ *
632
+ * The property must be an `Edm.DateTimeOffset` the service filters on. The lookback plays the role it
633
+ * plays for Odoo: a row written by a transaction that commits after the pass read past its timestamp is
634
+ * re-read by the next pass. Changing `modifiedAtRemoteField` starts the track over (the stored watermark
635
+ * names the property it was read on).
636
+ */
637
+ z.object({
638
+ mode: z.literal(ExternalDataIncrementalExtractionMode.ODATA_MODIFIED_AT),
639
+ fullPassCron: z.string().trim().min(1),
640
+ /** The entity's modified-at property (`Edm.DateTimeOffset`), by its REMOTE name. */
641
+ modifiedAtRemoteField: z.string().trim().min(1),
642
+ lookbackSeconds: z.number().int().nonnegative().max(86_400).default(300),
643
+ }),
644
+ /*
645
+ * ## The OData delta-link mode (#1722)
646
+ *
647
+ * The first incremental pass reads the whole entity set with `Prefer: odata.track-changes` and keeps the
648
+ * `@odata.deltaLink` the service puts on its last page; each later pass GETs that link and receives what
649
+ * changed and what was DELETED since. A deleted entity carries only its id, so the orphan policy is applied
650
+ * to that key — an incremental pass that finds deletions, which the other modes cannot.
651
+ *
652
+ * Refused at declaration: a `sourceFilter` (Dataverse refuses `$filter`, `$orderby`, `$expand` and `$top`
653
+ * with change tracking) and a composite key (a deleted entity names one id). A delta link the service no
654
+ * longer honours (`410 Gone`) resets the track and the same run falls back to a FULL pass, which is what
655
+ * finds the deletions the expired link would have reported; the run summary says so.
656
+ * spec-cite: Microsoft Learn, "Use change tracking to synchronize data with external systems"
657
+ * (https://learn.microsoft.com/en-us/power-apps/developer/data-platform/use-change-tracking-synchronize-data-external-systems),
658
+ * "Query options not supported in Change Tracking Web API request" — "System query options $filter,
659
+ * $orderby, $expand, and $top aren't supported when you use the Prefer: odata.track-changes header".
660
+ * spec-cite: OData Version 4.01 Part 1: Protocol §9.2.4 — "410 Gone indicates that the requested resource is
661
+ * no longer available. This can happen if a client has waited too long to follow a delta link".
662
+ *
663
+ * No lookback: a delta link is the service's own position, not a clock.
664
+ */
665
+ z.object({
666
+ mode: z.literal(ExternalDataIncrementalExtractionMode.ODATA_DELTA_LINK),
667
+ fullPassCron: z.string().trim().min(1),
668
+ }),
669
+ ]);
670
+ /**
671
+ * The dialect each incremental mode is spoken over. A `Record` over the enum so a mode added without
672
+ * its dialect is a compile error rather than a declaration the coherence check silently waves through.
673
+ */
674
+ export const EXTERNAL_DATA_INCREMENTAL_MODE_DIALECT = {
675
+ [ExternalDataIncrementalExtractionMode.ODOO_WRITE_DATE]: HttpApiTransportDialect.ODOO_JSONRPC,
676
+ [ExternalDataIncrementalExtractionMode.ODATA_MODIFIED_AT]: HttpApiTransportDialect.ODATA,
677
+ [ExternalDataIncrementalExtractionMode.ODATA_DELTA_LINK]: HttpApiTransportDialect.ODATA,
678
+ };
679
+ /**
680
+ * Every remote field one mapping entry READS (#1685) — the one answer to that question, total over the entry kinds.
681
+ *
682
+ * The extraction requests exactly these (with the key fields and the archive flag), so a field an expression reads is
683
+ * never missing from `fields` / `$select` — and a field the remote does not have fails the request loudly instead of
684
+ * landing null on every row. The run's contract-drift probe checks the same list. A new kind that forgets to say what
685
+ * it reads is a compile error here, not an extraction that silently omits a field.
686
+ */
687
+ export function listExternalDataMappingEntryRemoteFields(entry) {
688
+ switch (entry.kind) {
689
+ case ExternalDataMappingEntryKind.REMOTE_FIELD:
690
+ case ExternalDataMappingEntryKind.REMOTE_REFERENCE:
691
+ case ExternalDataMappingEntryKind.ENUM_MAP:
692
+ case ExternalDataMappingEntryKind.ARITHMETIC:
693
+ return [entry.remoteField];
694
+ case ExternalDataMappingEntryKind.CONSTANT:
695
+ return [];
696
+ case ExternalDataMappingEntryKind.CONCATENATION:
697
+ return [...new Set(entry.parts.flatMap((part) => (part.kind === ExternalDataConcatenationPartKind.REMOTE_FIELD ? [part.remoteField] : [])))];
698
+ case ExternalDataMappingEntryKind.CONDITIONAL:
699
+ return [...new Set([
700
+ entry.remoteField,
701
+ ...[...entry.cases.map((entryCase) => entryCase.then), entry.otherwise]
702
+ .flatMap((outcome) => (outcome.kind === ExternalDataConditionalOutcomeKind.REMOTE_FIELD ? [outcome.remoteField] : [])),
703
+ ])];
704
+ default: {
705
+ const unhandled = entry;
706
+ throw new Error(`listExternalDataMappingEntryRemoteFields: unhandled mapping entry ${JSON.stringify(unhandled)}`);
707
+ }
708
+ }
709
+ }
710
+ /** Every remote field a pipeline's mapping reads, deduplicated, in declaration order (#1685). */
711
+ export function listExternalDataMappingRemoteFields(mapping) {
712
+ return [...new Set(mapping.flatMap(listExternalDataMappingEntryRemoteFields))];
713
+ }
714
+ /** A scalar's identity for uniqueness checks: `1` and `'1'` are different codes, as `===` says they are. */
715
+ function expressionScalarKey(value) {
716
+ return `${typeof value}:${String(value)}`;
717
+ }
718
+ /**
719
+ * The value shape a REMOTE_REFERENCE is read with (#1684) — the declared one, or the source dialect's default:
720
+ * Odoo answers every many2one as a pair, every other dialect names a key as a scalar.
721
+ *
722
+ * The ONE place that default lives. The resource factory writes its answer into the declaration at authoring, and
723
+ * the transform asks the same function, so a declaration parsed without passing through the factory (a test, a
724
+ * tool) reads the same shape an application does.
725
+ */
726
+ export function resolveExternalDataRemoteReferenceValueShape(entry, dialect) {
727
+ if (entry.valueShape !== undefined)
728
+ return entry.valueShape;
729
+ return dialect === HttpApiTransportDialect.ODOO_JSONRPC
730
+ ? ExternalDataRemoteReferenceValueShape.ODOO_MANY2ONE
731
+ : ExternalDataRemoteReferenceValueShape.SCALAR;
732
+ }
733
+ /**
734
+ * The archive flag Odoo filters on by default. Odoo's ORM names it `active` (or `x_active` on a
735
+ * Studio-created field), so the declaration defaults to `active` and lets a model with the other
736
+ * spelling say so.
737
+ */
738
+ // semantic-literal-boundary: Odoo's own reserved field name, at the declaration that addresses it.
739
+ const ODOO_DEFAULT_ARCHIVE_FLAG_REMOTE_FIELD = 'active';
740
+ /**
741
+ * `archivedRecords` — how an Odoo pipeline treats archived rows (#1732). Absent means
742
+ * {@link ExternalDataArchivedRecordTreatment.LOAD}.
743
+ *
744
+ * `EXCLUDE_FROM_LOAD` must read each row's archive flag, so it names the flag's REMOTE field; the
745
+ * extraction requests that field. `LOAD` reads nothing extra — a pipeline that wants the flag on the
746
+ * destination maps it, which is an ordinary mapping entry, not part of this declaration.
747
+ */
748
+ export const ExternalDataArchivedRecordsDeclarationSchema = z.discriminatedUnion('treatment', [
749
+ z.object({ treatment: z.literal(ExternalDataArchivedRecordTreatment.LOAD) }),
750
+ z.object({
751
+ treatment: z.literal(ExternalDataArchivedRecordTreatment.EXCLUDE_FROM_LOAD),
752
+ archiveFlagRemoteField: z.string().trim().min(1).default(ODOO_DEFAULT_ARCHIVE_FLAG_REMOTE_FIELD),
753
+ }),
117
754
  ]);
118
755
  /** Scalar values admissible in the declared source filter (T-set equality conjunctions only). */
119
756
  const externalDataPipelineFilterScalarSchema = z.union([z.string(), z.number(), z.boolean()]);
@@ -127,6 +764,16 @@ const externalDataPipelineFilterScalarSchema = z.union([z.string(), z.number(),
127
764
  */
128
765
  /** @wildo_source:part:start saas.models.external-data-pipeline facet:layer:shared facet:audience:app-developer */
129
766
  export const ExternalDataPipelineDeclarationSchema = z.object({
767
+ /**
768
+ * Which way rows travel — see {@link ExternalDataPipelineDirection}. `INBOUND` when omitted.
769
+ *
770
+ * An OUTBOUND pipeline (#1690) reuses this whole declaration with the arrows reversed: the binding opens the writes
771
+ * it sends (`writableVerbs: [CREATE, UPDATE]`, with the same `writeConcurrency` a read-through binding states), each
772
+ * `mapping` entry names the local field SENT and the remote field it lands on, and `remoteKeyLocalField` receives the
773
+ * key the system of record assigns when it creates the row. The fields that only describe reading a source —
774
+ * `sourceFilter`, `incremental`, `archivedRecords`, `partitionKeyLocalField`, `population`, `orphanPolicy` — are
775
+ * refused on it, because nothing would read them.
776
+ */
130
777
  direction: z.enum(ExternalDataPipelineDirection).default(ExternalDataPipelineDirection.INBOUND),
131
778
  /**
132
779
  * The source half — the SAME binding declaration the VIRTUAL mode uses (the system of record it
@@ -138,6 +785,14 @@ export const ExternalDataPipelineDeclarationSchema = z.object({
138
785
  * different thing that no binding names), so a pipeline extracts the operator's rows and the
139
786
  * destination's own scope declaration decides who may then read them.
140
787
  *
788
+ * How the source is WALKED is the dialect's, and only drift-safe walks are admitted: OData v4 follows
789
+ * the server's `@odata.nextLink`; OData v2 (`ODATA_V2`, #1687) walks the binding's key fields and never
790
+ * follows `__next`, because v2 promises no stability across a partial listing; Odoo walks its id keyset;
791
+ * and a REST_JSON source walks the KEYSET its `list` statement declares
792
+ * (`operations.list.statement.keyset: { keyRemoteField }`, #1686) — the engine builds "the next N rows
793
+ * after the last key, in key order" and stores that key as the cursor.
794
+ * A REST source with no keyset (offset paging only) is refused.
795
+ *
141
796
  * ⚠ OPERATIONAL HAZARD (PR-16): changing `keyFields` or a component CODEC after rows exist
142
797
  * re-keys EVERY business key — the whole destination population orphans and re-creates on the
143
798
  * next full pass, detaching local annotations (extension fields, files, chunks) from the rows
@@ -152,6 +807,13 @@ export const ExternalDataPipelineDeclarationSchema = z.object({
152
807
  * plain STRING business key. The factory requires it declared `.isBusinessKey()` +
153
808
  * `excludeFromCreate/Update`: SYNC's idempotent upsert keys on it, and no caller may mint or
154
809
  * move it.
810
+ *
811
+ * On an OUTBOUND pipeline (#1690) it is empty until the row is first sent: the engine writes the key the system of
812
+ * record answers the create with, exactly once, and then updates the remote row it names. It must therefore accept
813
+ * absence, and it is still excluded from create and update — a caller that could write it could point a local row at
814
+ * any remote record. It must be `.isUnique()` (global, sparse — the default) and `.optional()`, never `.nullable()`:
815
+ * one remote record, one local row, enforced by the store on every path that writes the key, while the rows not yet
816
+ * sent (no key) stay outside the index. No business key is required there: nothing upserts on it.
155
817
  */
156
818
  remoteKeyLocalField: z.string().trim().min(1),
157
819
  /**
@@ -196,25 +858,156 @@ export const ExternalDataPipelineDeclarationSchema = z.object({
196
858
  */
197
859
  sourceFilter: z.record(z.string().trim().min(1), externalDataPipelineFilterScalarSchema).optional(),
198
860
  population: z.enum(ExternalDataDestinationPopulation).default(ExternalDataDestinationPopulation.CLOSED),
861
+ /**
862
+ * Odoo sources only: whether ARCHIVED remote rows are loaded (#1732). Absent = `LOAD`. Archived rows
863
+ * are extracted and counted as observed under every treatment, so archiving a record in Odoo never
864
+ * reaches the orphan policy — see {@link ExternalDataArchivedRecordTreatment}.
865
+ */
866
+ archivedRecords: ExternalDataArchivedRecordsDeclarationSchema.optional(),
199
867
  orphanPolicy: z.enum(ExternalDataOrphanPolicy).default(ExternalDataOrphanPolicy.REPORT),
868
+ /**
869
+ * What a BIDIRECTIONAL pipeline (#1723) does with a row whose BOTH-owned fields changed on both sides since they last
870
+ * agreed — see {@link ExternalDataConflictPolicy}. Absent = REFUSE_AND_REPORT: nothing is overwritten that nobody
871
+ * decided to overwrite. Refused on any other direction, where no field has two owners.
872
+ */
873
+ conflictPolicy: z.enum(ExternalDataConflictPolicy).optional(),
200
874
  /**
201
875
  * Cron expression for the scheduled refresh (crontabs machinery). Absent = on-demand only —
202
876
  * legal, and honest for a manually-driven backfill.
203
877
  */
204
878
  scheduleCron: z.string().trim().min(1).optional(),
879
+ /**
880
+ * Read only what changed between full passes (#1682). Absent = every pass is a FULL pass, the
881
+ * behaviour of every pipeline before this existed. When declared, `scheduleCron` runs incremental
882
+ * passes and `incremental.fullPassCron` runs the full passes that alone detect deletions — see
883
+ * {@link ExternalDataIncrementalExtractionDeclarationSchema}.
884
+ */
885
+ incremental: ExternalDataIncrementalExtractionDeclarationSchema.optional(),
205
886
  /**
206
887
  * Extraction bound per run (v3.1 §2): a big backfill progresses across runs via the ledger's
207
888
  * resumable cursor instead of owning one unbounded run. The default matches the rate-budget
208
889
  * era's "bounded by construction" posture.
890
+ *
891
+ * A run ends on a PAGE boundary, so it may carry up to one page more than this — never fewer
892
+ * rows than the pass has left, and never a page cut short: the source's continuation follows the
893
+ * whole page, so rows cut from it would be read by no run. An OData v4 source asks for pages of
894
+ * `min(maxRowsPerRun, 1000)` (`Prefer: odata.maxpagesize`), which a service may honour or not
895
+ * (#1991). Whether a pass is COMPLETE is never decided from this number — only from the source
896
+ * answering that nothing is left.
897
+ *
898
+ * It bounds a run's WORK, not its memory: a run loads and checkpoints each page (up to 1 000 rows)
899
+ * before it reads the next (#1689), so it holds one page, and a run that fails part-way keeps the
900
+ * pages it loaded — the next run resumes after them.
209
901
  */
210
902
  maxRowsPerRun: z.number().int().positive().default(10_000),
903
+ /**
904
+ * How long one run may spend before it stops at a page boundary (#1683) — the run's DEADLINE, in
905
+ * milliseconds.
906
+ *
907
+ * A run PACES against its source's rate budget: when the binding's `remoteCallSemantics
908
+ * .maxRequestsPerMinute` is full it waits for room instead of failing, and it waits as long as a
909
+ * throttling source's `Retry-After` asks. This bounds that waiting. No wait that would end past the
910
+ * deadline is taken and no page starts after it; the run then ends as a PARTIAL pass — every page it
911
+ * loaded is kept and its cursor continues the pass on the next run — never as a failure.
912
+ *
913
+ * It bounds extraction and load together: each page is loaded before the next is read (#1689), so a
914
+ * run finishes after the page it was working on, by at most one page's extraction and load.
915
+ *
916
+ * Fifteen minutes by default: well inside an hourly `scheduleCron`, and long enough that a pass of the
917
+ * default `maxRowsPerRun` completes at even a small binding ceiling. Six hours at most — a run that
918
+ * needs longer is a backfill, and resuming across runs is what the cursor is for.
919
+ */
920
+ maxRunDurationMs: z.number().int().min(1_000).max(21_600_000).default(900_000),
211
921
  });
922
+ /**
923
+ * The schema-INDEPENDENT half of a declared expression's coherence (#1685); the destination-schema half (target
924
+ * type, enum membership, absence) is the resource factory's. Each refusal names a declaration that would either do
925
+ * nothing or decide something the author cannot see.
926
+ */
927
+ function assertExternalDataExpressionEntryCoherence(entry, dialect) {
928
+ const at = `mapping('${entry.localField}')`;
929
+ switch (entry.kind) {
930
+ case ExternalDataMappingEntryKind.ENUM_MAP: {
931
+ const seen = new Set();
932
+ for (const { remoteValue } of entry.values) {
933
+ const key = expressionScalarKey(remoteValue);
934
+ // Two entries for one code: the first would win silently, and the second would read as a mapping that happens.
935
+ if (seen.has(key))
936
+ throw new Error(`${at}.values: the remote code ${JSON.stringify(remoteValue)} is mapped more than once — one code, one member.`);
937
+ seen.add(key);
938
+ }
939
+ return;
940
+ }
941
+ case ExternalDataMappingEntryKind.CONCATENATION:
942
+ if (!entry.parts.some((part) => part.kind === ExternalDataConcatenationPartKind.REMOTE_FIELD)) {
943
+ throw new Error(`${at}.parts: a CONCATENATION of literals only reads nothing from the source — declare a CONSTANT instead.`);
944
+ }
945
+ return;
946
+ case ExternalDataMappingEntryKind.ARITHMETIC:
947
+ if (entry.factor === 0) {
948
+ throw new Error(`${at}.factor: 0 makes every row the same value, which is a CONSTANT entry, not arithmetic on a remote field.`);
949
+ }
950
+ if (entry.factor === 1 && entry.offset === 0 && entry.decimalPlaces === undefined) {
951
+ throw new Error(`${at}: factor 1 and offset 0 with no rounding copy the value unchanged — declare a REMOTE_FIELD entry.`);
952
+ }
953
+ return;
954
+ case ExternalDataMappingEntryKind.CONDITIONAL: {
955
+ const seen = new Set();
956
+ for (const { equals } of entry.cases) {
957
+ const key = expressionScalarKey(equals);
958
+ // A second case for one value can never be reached: cases are tried in order and the first match wins.
959
+ if (seen.has(key))
960
+ throw new Error(`${at}.cases: the value ${JSON.stringify(equals)} has more than one case, and only the first could ever apply.`);
961
+ seen.add(key);
962
+ }
963
+ for (const outcome of [...entry.cases.map((entryCase) => entryCase.then), entry.otherwise]) {
964
+ if (outcome.kind === ExternalDataConditionalOutcomeKind.REMOTE_FIELD
965
+ && outcome.coercion === ExternalDataFieldCoercion.ODOO_FALSE_AS_NULL
966
+ && dialect !== HttpApiTransportDialect.ODOO_JSONRPC) {
967
+ throw new Error(`${at}: an outcome declares '${ExternalDataFieldCoercion.ODOO_FALSE_AS_NULL}', Odoo's absent-as-false semantics, on a ${dialect} source.`);
968
+ }
969
+ }
970
+ return;
971
+ }
972
+ default:
973
+ return;
974
+ }
975
+ }
212
976
  /**
213
977
  * Schema-INDEPENDENT coherence of a parsed declaration — the mainSchema-dependent half lives in
214
978
  * the resource-configuration factory (it needs the shape). Throws with the offending path named,
215
979
  * mirroring `assertHttpApiBindingDialectCoherence`'s contract.
216
980
  */
217
981
  export function assertExternalDataPipelineDeclarationCoherence(declaration) {
982
+ if (declaration.direction === ExternalDataPipelineDirection.OUTBOUND) {
983
+ assertExternalDataOutboundPipelineCoherence(declaration);
984
+ return;
985
+ }
986
+ const bidirectional = declaration.direction === ExternalDataPipelineDirection.BIDIRECTIONAL;
987
+ if (bidirectional) {
988
+ // Its SENDING half here; its LOADING half is an INBOUND pipeline's, checked by everything below.
989
+ assertExternalDataBidirectionalSendingCoherence(declaration);
990
+ }
991
+ else {
992
+ if (declaration.conflictPolicy !== undefined) {
993
+ throw new Error(`conflictPolicy: decides a row changed on both sides, which only a BIDIRECTIONAL pipeline has. Remove it, or declare direction: BIDIRECTIONAL.`);
994
+ }
995
+ const owned = declaration.mapping.find((entry) => 'owner' in entry && entry.owner !== undefined);
996
+ if (owned !== undefined) {
997
+ throw new Error(`mapping('${owned.localField}').owner: field ownership is declared on a BIDIRECTIONAL pipeline, where fields are loaded, sent or both. `
998
+ + `On an ${declaration.direction.toUpperCase()} pipeline every field travels one way; remove it.`);
999
+ }
1000
+ }
1001
+ /*
1002
+ * #1679 — an INBOUND pipeline READS its source; nothing in that lane sends a write through its binding. An opened
1003
+ * verb would be a declaration that decides nothing while reading like a write door. An OUTBOUND pipeline (#1690) is
1004
+ * where a pipeline's binding opens writes.
1005
+ */
1006
+ if (!bidirectional && declaration.binding.writableVerbs.length > 0) {
1007
+ throw new Error(`binding.writableVerbs [${declaration.binding.writableVerbs.join(', ')}] opens writes on an INBOUND pipeline's source, which it `
1008
+ + 'never sends. Declare direction: OUTBOUND to send local rows to the system of record, or put the writes on a read-through '
1009
+ + '(HTTP_API) resource; otherwise remove writableVerbs from the pipeline binding.');
1010
+ }
218
1011
  /*
219
1012
  * The S1 tenancy confinement was REMOVED here with `tenancy` itself (#1055).
220
1013
  *
@@ -225,12 +1018,63 @@ export function assertExternalDataPipelineDeclarationCoherence(declaration) {
225
1018
  * organization, and the rows a LOAD writes are stamped with it (#868) rather than mapped from a
226
1019
  * remote scope field.
227
1020
  */
228
- // D-P10: extraction uses drift-safe paging ONLY (`@odata.nextLink` / the Odoo id-keyset
229
- // cursor). REST_JSON declares offset paging, which skips or doubles rows whenever the remote
230
- // set shifts mid-run — so a REST_JSON pipeline SOURCE is refused until a declared cursor
231
- // contract exists for the dialect (a recorded widening beside W-DELTA, not an improvisation).
232
- if (declaration.binding.dialect === HttpApiTransportDialect.REST_JSON) {
233
- throw new Error('binding.dialect: REST_JSON pipeline sources are refused in slice 1 — the dialect declares offset paging, which drifts under concurrent remote change (rows skipped or doubled). ODATA (@odata.nextLink) and ODOO_JSONRPC (id cursor) sources are drift-safe; a declared REST cursor contract is the recorded widening.');
1021
+ /*
1022
+ * D-P10: extraction uses drift-safe paging ONLY — OData v4 follows the server's own `@odata.nextLink`,
1023
+ * OData v2 walks the binding's key fields (#1687), Odoo walks an id keyset, and a REST_JSON source walks
1024
+ * the KEYSET its `list` statement declares
1025
+ * (#1686). Offset paging skips or doubles rows whenever the remote set shifts mid-run, so a REST
1026
+ * source with no keyset — a parameter-based read, or a statement read with none declared — is refused:
1027
+ * offset-only APIs have no drift-safe contract to walk.
1028
+ *
1029
+ * The keyset's own shape (one key field, a walkable codec, the page bound its language needs) is
1030
+ * checked by `assertHttpApiBindingDialectCoherence`, which the factory runs on this binding too.
1031
+ */
1032
+ if (declaration.binding.dialect === HttpApiTransportDialect.REST_JSON && declaration.binding.operations.list.statement?.keyset === undefined) {
1033
+ throw new Error('binding.operations.list: a REST_JSON pipeline source must walk a declared KEYSET — offset paging drifts under concurrent remote change '
1034
+ + '(rows skipped or doubled), so a REST source is refused unless its list member reads through a query statement that declares '
1035
+ + "`keyset: { keyRemoteField: '<the key field>' }` (SOQL, SuiteQL). An API that pages by offset only, with no filterable key, "
1036
+ + 'cannot feed a pipeline; read it through a virtual resource instead.');
1037
+ }
1038
+ // Archive state is Odoo's (`active` / `active_test`); an OData service has no protocol-level
1039
+ // equivalent, so the declaration would describe a mechanism the source does not have — and an
1040
+ // EXCLUDE_FROM_LOAD reading a flag the rows never carry would reject every row.
1041
+ if (declaration.archivedRecords !== undefined
1042
+ && declaration.binding.dialect !== HttpApiTransportDialect.ODOO_JSONRPC) {
1043
+ throw new Error(`archivedRecords: declared on a ${declaration.binding.dialect} source — archived-record handling is Odoo's archive semantics (the 'active' field and the 'active_test' context) and applies to ODOO_JSONRPC sources only.`);
1044
+ }
1045
+ /*
1046
+ * #1682 — an incremental mode is a mechanism of ONE dialect, and it needs a clock to run on.
1047
+ *
1048
+ * The dialect check is the engine's half: the Odoo mode compiles an Odoo domain, so declaring it on
1049
+ * an OData source would compile nothing the source understands. Whether this VENDOR's deployments
1050
+ * support the mode is the facet's half, refused at startup where the facet is in scope.
1051
+ *
1052
+ * `scheduleCron` is required because it is what runs incremental passes. Without it the declaration
1053
+ * would describe a track nothing ever advances, while full passes ran alone on `fullPassCron` — an
1054
+ * `incremental` block that changed nothing is the configuration-that-looks-like-a-control shape.
1055
+ */
1056
+ if (declaration.incremental !== undefined) {
1057
+ const requiredDialect = EXTERNAL_DATA_INCREMENTAL_MODE_DIALECT[declaration.incremental.mode];
1058
+ if (declaration.binding.dialect !== requiredDialect) {
1059
+ throw new Error(`incremental.mode: '${declaration.incremental.mode}' is spoken over ${requiredDialect} and this pipeline's source is `
1060
+ + `${declaration.binding.dialect}. An OData v4 source reads changes through '${ExternalDataIncrementalExtractionMode.ODATA_MODIFIED_AT}' or `
1061
+ + `'${ExternalDataIncrementalExtractionMode.ODATA_DELTA_LINK}'; an OData v2 or REST_JSON source has no incremental mode and runs FULL passes only.`);
1062
+ }
1063
+ if (declaration.incremental.mode === ExternalDataIncrementalExtractionMode.ODATA_DELTA_LINK) {
1064
+ if (declaration.sourceFilter !== undefined) {
1065
+ throw new Error(`incremental.mode: '${ExternalDataIncrementalExtractionMode.ODATA_DELTA_LINK}' reads with change tracking, which refuses a $filter, so a `
1066
+ + 'sourceFilter cannot be sent with it. Remove sourceFilter, or read changes with '
1067
+ + `'${ExternalDataIncrementalExtractionMode.ODATA_MODIFIED_AT}', which filters.`);
1068
+ }
1069
+ if (declaration.binding.keyFields.length !== 1) {
1070
+ throw new Error(`incremental.mode: '${ExternalDataIncrementalExtractionMode.ODATA_DELTA_LINK}' needs a single key field: a deleted entity is reported by `
1071
+ + `one id, which a composite key of ${declaration.binding.keyFields.length} components cannot be rebuilt from.`);
1072
+ }
1073
+ }
1074
+ if (declaration.scheduleCron === undefined) {
1075
+ throw new Error('incremental: declared without scheduleCron — incremental passes run on scheduleCron, so nothing would ever run one. '
1076
+ + 'Declare scheduleCron (how often changes are read) beside incremental.fullPassCron (how often deletions are found).');
1077
+ }
234
1078
  }
235
1079
  const localTargets = new Set();
236
1080
  for (const entry of declaration.mapping) {
@@ -262,6 +1106,14 @@ export function assertExternalDataPipelineDeclarationCoherence(declaration) {
262
1106
  && declaration.binding.dialect !== HttpApiTransportDialect.ODOO_JSONRPC) {
263
1107
  throw new Error(`mapping('${entry.localField}').coercion: '${ExternalDataFieldCoercion.ODOO_FALSE_AS_NULL}' names Odoo's absent-as-false semantics and is refused on a ${declaration.binding.dialect} source.`);
264
1108
  }
1109
+ assertExternalDataExpressionEntryCoherence(entry, declaration.binding.dialect);
1110
+ // #1684 — an Odoo many2one pair is Odoo's wire shape; declared on another dialect it would read the first
1111
+ // element of a value that is not a pair and reject (or mis-resolve) every row.
1112
+ if (entry.kind === ExternalDataMappingEntryKind.REMOTE_REFERENCE
1113
+ && entry.valueShape === ExternalDataRemoteReferenceValueShape.ODOO_MANY2ONE
1114
+ && declaration.binding.dialect !== HttpApiTransportDialect.ODOO_JSONRPC) {
1115
+ throw new Error(`mapping('${entry.localField}').valueShape: '${ExternalDataRemoteReferenceValueShape.ODOO_MANY2ONE}' is Odoo's many2one pair and is refused on a ${declaration.binding.dialect} source — declare '${ExternalDataRemoteReferenceValueShape.SCALAR}'.`);
1116
+ }
265
1117
  }
266
1118
  /*
267
1119
  * TOGETHER or not at all (#1058 E4).
@@ -297,4 +1149,200 @@ export function assertExternalDataPipelineDeclarationCoherence(declaration) {
297
1149
  }
298
1150
  }
299
1151
  }
1152
+ /** Which side owns one mapping entry of a BIDIRECTIONAL pipeline (#1723): its declared `owner`, REMOTE when omitted. */
1153
+ export function resolveExternalDataFieldOwner(entry) {
1154
+ return 'owner' in entry && entry.owner !== undefined ? entry.owner : ExternalDataFieldOwner.REMOTE;
1155
+ }
1156
+ /** The conflict policy a BIDIRECTIONAL pipeline applies (#1723): its declared one, REFUSE_AND_REPORT when omitted. */
1157
+ export function resolveExternalDataConflictPolicy(declaration) {
1158
+ return declaration.conflictPolicy ?? ExternalDataConflictPolicy.REFUSE_AND_REPORT;
1159
+ }
1160
+ /**
1161
+ * Whether a pipeline LOADS this entry: every entry of an INBOUND pipeline, and the REMOTE- and BOTH-owned entries of a
1162
+ * BIDIRECTIONAL one (#1723). An OUTBOUND pipeline loads nothing.
1163
+ */
1164
+ export function externalDataEntryIsLoaded(direction, entry) {
1165
+ if (direction === ExternalDataPipelineDirection.OUTBOUND)
1166
+ return false;
1167
+ if (direction === ExternalDataPipelineDirection.INBOUND)
1168
+ return true;
1169
+ return resolveExternalDataFieldOwner(entry) !== ExternalDataFieldOwner.LOCAL;
1170
+ }
1171
+ /**
1172
+ * Whether a pipeline SENDS this entry: every entry of an OUTBOUND pipeline, and the LOCAL- and BOTH-owned entries of a
1173
+ * BIDIRECTIONAL one (#1723). An INBOUND pipeline sends nothing.
1174
+ */
1175
+ export function externalDataEntryIsSent(direction, entry) {
1176
+ if (direction === ExternalDataPipelineDirection.INBOUND)
1177
+ return false;
1178
+ if (direction === ExternalDataPipelineDirection.OUTBOUND)
1179
+ return true;
1180
+ return resolveExternalDataFieldOwner(entry) !== ExternalDataFieldOwner.REMOTE;
1181
+ }
1182
+ /**
1183
+ * The SENDING half of a BIDIRECTIONAL pipeline's coherence (#1723) — the OUTBOUND rules, applied to the entries it sends.
1184
+ * Its loading half is an INBOUND pipeline's and is checked by the rules that follow in
1185
+ * {@link assertExternalDataPipelineDeclarationCoherence}.
1186
+ */
1187
+ function assertExternalDataBidirectionalSendingCoherence(declaration) {
1188
+ const opened = declaration.binding.writableVerbs;
1189
+ if (!opened.includes(HttpApiWriteVerb.UPDATE)) {
1190
+ throw new Error('binding.writableVerbs: a BIDIRECTIONAL pipeline sends the application\'s changes of rows the system of record already holds, so it must '
1191
+ + 'open UPDATE. Open CREATE as well to send rows born locally.');
1192
+ }
1193
+ const refusedVerbs = opened.filter((verb) => !EXTERNAL_DATA_OUTBOUND_WRITE_VERBS.has(verb));
1194
+ if (refusedVerbs.length > 0) {
1195
+ throw new Error(`binding.writableVerbs: ${refusedVerbs.join(', ')} cannot be sent by a pipeline. A local delete is never sent: removing a record of the `
1196
+ + "system of record is its operator's decision, not the side effect of a local edit.");
1197
+ }
1198
+ if (declaration.population === ExternalDataDestinationPopulation.CLOSED && opened.includes(HttpApiWriteVerb.CREATE)) {
1199
+ throw new Error('binding.writableVerbs: CREATE sends rows born locally, and population CLOSED says every row comes from the system of record. Declare '
1200
+ + 'population: OPEN if rows may be born here, or remove CREATE.');
1201
+ }
1202
+ if (declaration.binding.writeConcurrency?.mode === HttpApiWriteConcurrencyMode.VERSION_CHECKED) {
1203
+ throw new Error(`binding.writeConcurrency: '${HttpApiWriteConcurrencyMode.VERSION_CHECKED}' compares a version a CALLER read. A BIDIRECTIONAL pipeline checks `
1204
+ + "every update against the version it last reconciled with the system of record — the vendor's own row version — so there is no "
1205
+ + `caller version to declare. Declare '${HttpApiWriteConcurrencyMode.LAST_WRITER_WINS}'; a change on both sides is a conflict, decided by conflictPolicy.`);
1206
+ }
1207
+ if (declaration.binding.erasure.stance !== HttpApiErasureStance.NO_SUBJECT_DATA) {
1208
+ throw new Error(`binding.erasure: '${declaration.binding.erasure.stance}' promises what a subject erasure does to the records this pipeline sends, and `
1209
+ + `no erasure reaches a sent record yet (#2030). Declare '${HttpApiErasureStance.NO_SUBJECT_DATA}' and send no field that describes a person.`);
1210
+ }
1211
+ const sent = declaration.mapping.filter((entry) => externalDataEntryIsSent(declaration.direction, entry));
1212
+ if (sent.length === 0) {
1213
+ throw new Error('mapping: a BIDIRECTIONAL pipeline declares at least one field it sends (owner: LOCAL or BOTH). With every field REMOTE it only loads — '
1214
+ + 'declare it INBOUND.');
1215
+ }
1216
+ for (const entry of sent) {
1217
+ const at = `mapping('${entry.localField}')`;
1218
+ const owner = resolveExternalDataFieldOwner(entry);
1219
+ if (!EXTERNAL_DATA_OUTBOUND_MAPPING_ENTRY_KINDS.has(entry.kind)) {
1220
+ throw new Error(`${at}: a '${entry.kind}' entry has no inverse, so its field cannot be sent. Declare it owner: REMOTE (loaded only).`);
1221
+ }
1222
+ if (owner === ExternalDataFieldOwner.LOCAL && entry.kind === ExternalDataMappingEntryKind.REMOTE_FIELD) {
1223
+ if (entry.required)
1224
+ throw new Error(`${at}.required: rejects a row whose REMOTE value is absent when loaded, and a LOCAL field is never loaded. Remove it.`);
1225
+ if (entry.coercion !== ExternalDataFieldCoercion.NONE) {
1226
+ throw new Error(`${at}.coercion: converts a value READ from the source, and a LOCAL field is never loaded. Remove it.`);
1227
+ }
1228
+ }
1229
+ if (owner === ExternalDataFieldOwner.LOCAL && entry.kind === ExternalDataMappingEntryKind.REMOTE_REFERENCE
1230
+ && entry.unresolved !== ExternalDataUnresolvedReferencePolicy.LEAVE_PENDING) {
1231
+ throw new Error(`${at}.unresolved: rejects a row being LOADED, and a LOCAL reference is never loaded. Remove it.`);
1232
+ }
1233
+ if (declaration.partitionUnitLocalField !== undefined && entry.localField === declaration.partitionUnitLocalField) {
1234
+ throw new Error(`${at}: '${entry.localField}' is the partitionUnitLocalField, which the engine derives; it is never sent as a field.`);
1235
+ }
1236
+ if (declaration.partitionKeyLocalField !== undefined && entry.localField === declaration.partitionKeyLocalField) {
1237
+ throw new Error(`${at}: '${entry.localField}' is the partitionKeyLocalField, which the engine stamps; it is never sent as a field.`);
1238
+ }
1239
+ }
1240
+ }
1241
+ /**
1242
+ * The schema-INDEPENDENT coherence of an OUTBOUND pipeline (#1690); the destination-schema half (the sent fields are
1243
+ * the application's own and writable, the remote key accepts absence) is the resource factory's, and what needs the
1244
+ * system of record (the dialect can write, the facet's write prerequisites, the partition) is the resources
1245
+ * registry's, at startup. Every refusal names a declaration that would either send nothing or send something the
1246
+ * author cannot see.
1247
+ */
1248
+ function assertExternalDataOutboundPipelineCoherence(declaration) {
1249
+ const opened = declaration.binding.writableVerbs;
1250
+ if (opened.length === 0) {
1251
+ throw new Error("binding.writableVerbs: an OUTBOUND pipeline sends writes, so its binding must open them — CREATE for a row with no remote key "
1252
+ + 'yet, UPDATE for one that has one. Declare the verbs this pipeline may send.');
1253
+ }
1254
+ // A row reaches the system of record by being CREATED there; its remote key comes only from that answer. An
1255
+ // update-only pipeline would therefore never have a key to update, and would send nothing, ever.
1256
+ if (!opened.includes(HttpApiWriteVerb.CREATE)) {
1257
+ throw new Error('binding.writableVerbs: an OUTBOUND pipeline must open CREATE — a local row gets its remote key only from the create that sends it, '
1258
+ + 'so an update-only pipeline would never have a key to update.');
1259
+ }
1260
+ /*
1261
+ * Fail closed until an erasure reaches what an outbound pipeline SENT (#2030). A system of record receiving rows about
1262
+ * people is their RECIPIENT, and nothing on the erasure path reaches the copy it holds yet — so the only stance this
1263
+ * direction may declare is NO_SUBJECT_DATA, which the factory refuses beside any sent field declaring a personal-data
1264
+ * category (#2010). Lifted by #2030, which wires the other two stances for sent rows.
1265
+ */
1266
+ if (declaration.binding.erasure.stance !== HttpApiErasureStance.NO_SUBJECT_DATA) {
1267
+ throw new Error(`binding.erasure: '${declaration.binding.erasure.stance}' promises what a subject erasure does to the records this pipeline sends, and `
1268
+ + `no erasure reaches an OUTBOUND pipeline's records yet (#2030). Declare '${HttpApiErasureStance.NO_SUBJECT_DATA}' and send no field that `
1269
+ + 'describes a person.');
1270
+ }
1271
+ const refusedVerbs = opened.filter((verb) => !EXTERNAL_DATA_OUTBOUND_WRITE_VERBS.has(verb));
1272
+ if (refusedVerbs.length > 0) {
1273
+ throw new Error(`binding.writableVerbs: ${refusedVerbs.join(', ')} cannot be sent by an OUTBOUND pipeline. It sends a create for a row the system `
1274
+ + 'of record does not have yet and an update for one it has; a local delete is never sent, because removing a record of the system '
1275
+ + "of record is its operator's decision, not the side effect of a local edit.");
1276
+ }
1277
+ /*
1278
+ * VERSION_CHECKED compares a version a CALLER read with the remote's. An outbound pass has no caller who read the
1279
+ * remote row — it sends what the application holds — so the only honest stance is LAST_WRITER_WINS. Detecting that
1280
+ * the remote changed since the last pass is a conflict, and deciding it is the BIDIRECTIONAL direction's (#1723).
1281
+ */
1282
+ if (declaration.binding.writeConcurrency?.mode === HttpApiWriteConcurrencyMode.VERSION_CHECKED) {
1283
+ throw new Error(`binding.writeConcurrency: '${HttpApiWriteConcurrencyMode.VERSION_CHECKED}' compares a version a caller read, and an OUTBOUND pass `
1284
+ + `sends what the application holds without reading the remote row first for a caller. Declare '${HttpApiWriteConcurrencyMode.LAST_WRITER_WINS}': `
1285
+ + 'the local row is the source. A row changed on both sides needs a conflict policy, which is a different direction.');
1286
+ }
1287
+ const inboundOnly = [
1288
+ ['sourceFilter', declaration.sourceFilter],
1289
+ ['incremental', declaration.incremental],
1290
+ ['archivedRecords', declaration.archivedRecords],
1291
+ ['partitionKeyLocalField', declaration.partitionKeyLocalField],
1292
+ ];
1293
+ for (const [field, value] of inboundOnly) {
1294
+ if (value !== undefined) {
1295
+ throw new Error(`${field}: describes READING a source, and an OUTBOUND pipeline reads none — it sends the destination's rows. Remove it.`
1296
+ + (field === 'partitionKeyLocalField'
1297
+ ? ' The partition a created row lands in is derived at send time from the row\'s organization unit (partitionUnitLocalField).'
1298
+ : ''));
1299
+ }
1300
+ }
1301
+ const localTargets = new Set();
1302
+ for (const entry of declaration.mapping) {
1303
+ const at = `mapping('${entry.localField}')`;
1304
+ if (!EXTERNAL_DATA_OUTBOUND_MAPPING_ENTRY_KINDS.has(entry.kind)) {
1305
+ throw new Error(`${at}: a '${entry.kind}' entry derives a local value from remote ones and has no inverse, so an OUTBOUND pipeline cannot send `
1306
+ + `it. Declare '${ExternalDataMappingEntryKind.REMOTE_FIELD}' (a local field sent as one remote field) or `
1307
+ + `'${ExternalDataMappingEntryKind.REMOTE_REFERENCE}' (a local foreign key sent as its target's remote key).`);
1308
+ }
1309
+ if (localTargets.has(entry.localField)) {
1310
+ throw new Error(`mapping: local field '${entry.localField}' is sent by more than one entry — one remote field per local field.`);
1311
+ }
1312
+ localTargets.add(entry.localField);
1313
+ if (entry.localField === declaration.remoteKeyLocalField) {
1314
+ throw new Error(`${at}: '${entry.localField}' is the remoteKeyLocalField, which holds the remote key and is never sent as a field.`);
1315
+ }
1316
+ if (declaration.partitionUnitLocalField !== undefined && entry.localField === declaration.partitionUnitLocalField) {
1317
+ throw new Error(`${at}: '${entry.localField}' is the partitionUnitLocalField — the partition a created row lands in is derived from it at send time, `
1318
+ + 'never sent as a field.');
1319
+ }
1320
+ if (entry.kind === ExternalDataMappingEntryKind.REMOTE_FIELD && entry.required) {
1321
+ throw new Error(`${at}.required: rejects a row whose REMOTE value is absent when it is loaded, and an OUTBOUND pipeline loads nothing. A local `
1322
+ + 'field that must have a value says so on the destination schema, where every caller write is checked. Remove it.');
1323
+ }
1324
+ if (entry.kind === ExternalDataMappingEntryKind.REMOTE_FIELD && entry.coercion !== ExternalDataFieldCoercion.NONE) {
1325
+ throw new Error(`${at}.coercion: '${entry.coercion}' converts a value READ from the source, and an OUTBOUND pipeline reads nothing. The write `
1326
+ + "dialect sends each value in the vendor's own form (an Odoo datetime as 'YYYY-MM-DD HH:MM:SS'). Remove it.");
1327
+ }
1328
+ if (entry.kind === ExternalDataMappingEntryKind.REMOTE_REFERENCE) {
1329
+ if (entry.unresolved !== ExternalDataUnresolvedReferencePolicy.LEAVE_PENDING) {
1330
+ throw new Error(`${at}.unresolved: '${entry.unresolved}' rejects a row being LOADED, and an OUTBOUND pipeline loads none. A row whose reference `
1331
+ + 'target has no remote key yet waits for a later pass, which is the only behaviour that sends it once it can be.');
1332
+ }
1333
+ /*
1334
+ * `orphanCascadeAcknowledged` is ADMITTED here and means what it means inbound: the deletion it acknowledges is
1335
+ * caused by the TARGET's pipeline (its orphan policy DELETE, cascading through this relationship's
1336
+ * `onParentDelete`), which reaches an outbound destination's own rows just the same — the startup check
1337
+ * (`describeExternalDataRemoteReferenceViolations`) demands it on either direction. It was refused here once, on
1338
+ * the false ground that an outbound pipeline "causes none"; that left an author no way to state the intent the
1339
+ * startup check asks for.
1340
+ */
1341
+ if (entry.valueShape === ExternalDataRemoteReferenceValueShape.ODOO_MANY2ONE
1342
+ && declaration.binding.dialect !== HttpApiTransportDialect.ODOO_JSONRPC) {
1343
+ throw new Error(`${at}.valueShape: '${ExternalDataRemoteReferenceValueShape.ODOO_MANY2ONE}' is Odoo's many2one and is refused on a ${declaration.binding.dialect} target — declare '${ExternalDataRemoteReferenceValueShape.SCALAR}'.`);
1344
+ }
1345
+ }
1346
+ }
1347
+ }
300
1348
  //# sourceMappingURL=external-data-pipeline.shared.schemas.js.map