@wildo-ai/saas-frontend-lib 1.1.9 → 1.1.11

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 (1566) hide show
  1. package/dist/esm/companion-exports.d.ts +2 -1
  2. package/dist/esm/companion-exports.d.ts.map +1 -1
  3. package/dist/esm/companion-exports.js +2 -1
  4. package/dist/esm/companion-exports.js.map +1 -1
  5. package/dist/esm/components/actions/action-bar.d.ts +45 -1
  6. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  7. package/dist/esm/components/actions/action-bar.js +84 -0
  8. package/dist/esm/components/actions/action-bar.js.map +1 -1
  9. package/dist/esm/components/actions/button.d.ts +22 -0
  10. package/dist/esm/components/actions/button.d.ts.map +1 -1
  11. package/dist/esm/components/actions/button.js +45 -0
  12. package/dist/esm/components/actions/button.js.map +1 -1
  13. package/dist/esm/components/ai-elements/chat/conversation-thread.d.ts +109 -0
  14. package/dist/esm/components/ai-elements/chat/conversation-thread.d.ts.map +1 -0
  15. package/dist/esm/components/ai-elements/chat/conversation-thread.js +22 -0
  16. package/dist/esm/components/ai-elements/chat/conversation-thread.js.map +1 -0
  17. package/dist/esm/components/ai-elements/decision/approval.d.ts +103 -7
  18. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  19. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  20. package/dist/esm/components/ai-elements/execution/tool.d.ts +6 -0
  21. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  22. package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
  23. package/dist/esm/components/ai-elements/graph/canvas.d.ts +60 -1
  24. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  25. package/dist/esm/components/ai-elements/graph/canvas.js +26 -0
  26. package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
  27. package/dist/esm/components/ai-elements/graph/node.d.ts +39 -4
  28. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  29. package/dist/esm/components/ai-elements/graph/node.js +18 -0
  30. package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
  31. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts +6 -0
  32. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
  33. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js +29 -8
  34. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
  35. package/dist/esm/components/app/AppLayout_DecisionInbox.d.ts +17 -0
  36. package/dist/esm/components/app/AppLayout_DecisionInbox.d.ts.map +1 -0
  37. package/dist/esm/components/app/AppLayout_DecisionInbox.js +24 -0
  38. package/dist/esm/components/app/AppLayout_DecisionInbox.js.map +1 -0
  39. package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
  40. package/dist/esm/components/app/AppLayout_MainContainer.js +3 -0
  41. package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
  42. package/dist/esm/components/app/PublicLayout_LegalNotice.d.ts +18 -0
  43. package/dist/esm/components/app/PublicLayout_LegalNotice.d.ts.map +1 -0
  44. package/dist/esm/components/app/PublicLayout_LegalNotice.js +8 -0
  45. package/dist/esm/components/app/PublicLayout_LegalNotice.js.map +1 -0
  46. package/dist/esm/components/app/PublicLayout_LegalNotice.labels.d.ts +3 -0
  47. package/dist/esm/components/app/PublicLayout_LegalNotice.labels.d.ts.map +1 -0
  48. package/dist/esm/components/app/PublicLayout_LegalNotice.labels.js +38 -0
  49. package/dist/esm/components/app/PublicLayout_LegalNotice.labels.js.map +1 -0
  50. package/dist/esm/components/auth/Auth_ChatIdentityLink.d.ts +15 -0
  51. package/dist/esm/components/auth/Auth_ChatIdentityLink.d.ts.map +1 -0
  52. package/dist/esm/components/auth/Auth_ChatIdentityLink.js +219 -0
  53. package/dist/esm/components/auth/Auth_ChatIdentityLink.js.map +1 -0
  54. package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.d.ts +3 -0
  55. package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.d.ts.map +1 -0
  56. package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.js +49 -0
  57. package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.js.map +1 -0
  58. package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
  59. package/dist/esm/components/auth/Auth_Invitation.js +3 -2
  60. package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
  61. package/dist/esm/components/auth/Auth_Invitation.labels.js +2 -2
  62. package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
  63. package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
  64. package/dist/esm/components/auth/Auth_Main.js +40 -7
  65. package/dist/esm/components/auth/Auth_Main.js.map +1 -1
  66. package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
  67. package/dist/esm/components/auth/Auth_Main.labels.js +9 -0
  68. package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
  69. package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
  70. package/dist/esm/components/auth/Auth_OAuthConsent.js +3 -2
  71. package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
  72. package/dist/esm/components/auth/Auth_PasswordLost.labels.js +2 -2
  73. package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
  74. package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
  75. package/dist/esm/components/auth/Auth_Register.js +8 -1
  76. package/dist/esm/components/auth/Auth_Register.js.map +1 -1
  77. package/dist/esm/components/auth/Auth_Register.labels.js +2 -2
  78. package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
  79. package/dist/esm/components/auth/StepUpAuthDialog.d.ts +1 -1
  80. package/dist/esm/components/auth/StepUpAuthDialog.js +3 -3
  81. package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
  82. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
  83. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js +94 -6
  84. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
  85. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
  86. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js +21 -1
  87. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
  88. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
  89. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js +16 -13
  90. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
  91. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js +3 -3
  92. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
  93. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
  94. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js +1 -1
  95. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
  96. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts +1 -1
  97. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
  98. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js +3 -4
  99. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
  100. package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.d.ts +11 -0
  101. package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.d.ts.map +1 -0
  102. package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.js +25 -0
  103. package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.js.map +1 -0
  104. package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.d.ts +39 -0
  105. package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.d.ts.map +1 -0
  106. package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.js +45 -0
  107. package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.js.map +1 -0
  108. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js +1 -1
  109. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
  110. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.d.ts.map +1 -1
  111. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js +2 -1
  112. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js.map +1 -1
  113. package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
  114. package/dist/esm/components/data-display/AutomaticDisplayer.js +21 -35
  115. package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
  116. package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
  117. package/dist/esm/components/data-display/DisplayField.js +98 -70
  118. package/dist/esm/components/data-display/DisplayField.js.map +1 -1
  119. package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
  120. package/dist/esm/components/data-display/DisplayFieldEditable.js +48 -8
  121. package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
  122. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts +3 -1
  123. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
  124. package/dist/esm/components/data-display/DisplayFieldEditableArray.js +30 -4
  125. package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
  126. package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
  127. package/dist/esm/components/data-display/DisplayFieldReadOnly.js +2 -2
  128. package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
  129. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts +1 -1
  130. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
  131. package/dist/esm/components/data-display/DisplayValueDispatcher.js +45 -94
  132. package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
  133. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
  134. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js +14 -8
  135. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
  136. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts +41 -3
  137. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
  138. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js +49 -5
  139. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
  140. package/dist/esm/components/data-display/SummaryContext.d.ts +2 -2
  141. package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
  142. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts +22 -1
  143. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
  144. package/dist/esm/components/data-display/automatic-displayer.utils.js +29 -0
  145. package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
  146. package/dist/esm/components/data-display/badge.d.ts +9 -0
  147. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  148. package/dist/esm/components/data-display/badge.js.map +1 -1
  149. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts +14 -2
  150. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
  151. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js +42 -12
  152. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
  153. package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.d.ts +10 -0
  154. package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.d.ts.map +1 -0
  155. package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.js +18 -0
  156. package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.js.map +1 -0
  157. package/dist/esm/components/data-display/chromes/field-tile-boundaries.d.ts +38 -0
  158. package/dist/esm/components/data-display/chromes/field-tile-boundaries.d.ts.map +1 -0
  159. package/dist/esm/components/data-display/chromes/field-tile-boundaries.js +30 -0
  160. package/dist/esm/components/data-display/chromes/field-tile-boundaries.js.map +1 -0
  161. package/dist/esm/components/data-display/chromes/field-tiles.utils.d.ts +22 -0
  162. package/dist/esm/components/data-display/chromes/field-tiles.utils.d.ts.map +1 -0
  163. package/dist/esm/components/data-display/chromes/field-tiles.utils.js +52 -0
  164. package/dist/esm/components/data-display/chromes/field-tiles.utils.js.map +1 -0
  165. package/dist/esm/components/data-display/display-field-resolved-props.d.ts +4 -0
  166. package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
  167. package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
  168. package/dist/esm/components/data-display/display-layout-template.utils.d.ts +18 -0
  169. package/dist/esm/components/data-display/display-layout-template.utils.d.ts.map +1 -0
  170. package/dist/esm/components/data-display/display-layout-template.utils.js +18 -0
  171. package/dist/esm/components/data-display/display-layout-template.utils.js.map +1 -0
  172. package/dist/esm/components/data-display/display-value-emptiness.utils.d.ts +44 -0
  173. package/dist/esm/components/data-display/display-value-emptiness.utils.d.ts.map +1 -0
  174. package/dist/esm/components/data-display/display-value-emptiness.utils.js +61 -0
  175. package/dist/esm/components/data-display/display-value-emptiness.utils.js.map +1 -0
  176. package/dist/esm/components/data-display/empty-value-mark.d.ts +31 -0
  177. package/dist/esm/components/data-display/empty-value-mark.d.ts.map +1 -0
  178. package/dist/esm/components/data-display/empty-value-mark.js +49 -0
  179. package/dist/esm/components/data-display/empty-value-mark.js.map +1 -0
  180. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts +3 -2
  181. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts.map +1 -1
  182. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js +4 -4
  183. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js.map +1 -1
  184. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts +6 -3
  185. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts.map +1 -1
  186. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js +22 -12
  187. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js.map +1 -1
  188. package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js +2 -2
  189. package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js.map +1 -1
  190. package/dist/esm/components/data-display/reference-display-target.d.ts +98 -0
  191. package/dist/esm/components/data-display/reference-display-target.d.ts.map +1 -0
  192. package/dist/esm/components/data-display/reference-display-target.js +154 -0
  193. package/dist/esm/components/data-display/reference-display-target.js.map +1 -0
  194. package/dist/esm/components/data-display/summary-value-naming.context.d.ts +15 -0
  195. package/dist/esm/components/data-display/summary-value-naming.context.d.ts.map +1 -0
  196. package/dist/esm/components/data-display/summary-value-naming.context.js +18 -0
  197. package/dist/esm/components/data-display/summary-value-naming.context.js.map +1 -0
  198. package/dist/esm/components/data-display/tone-marker.d.ts +38 -0
  199. package/dist/esm/components/data-display/tone-marker.d.ts.map +1 -0
  200. package/dist/esm/components/data-display/tone-marker.js +56 -0
  201. package/dist/esm/components/data-display/tone-marker.js.map +1 -0
  202. package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
  203. package/dist/esm/components/data-display/useFileActivation.js +2 -9
  204. package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
  205. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  206. package/dist/esm/components/feedback/features/feature-limit-indicator.js +12 -4
  207. package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
  208. package/dist/esm/components/feedback/operations-confirm-critical.d.ts +8 -0
  209. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  210. package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
  211. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts +0 -5
  212. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -1
  213. package/dist/esm/components/files/Files_UploadGrantDrop.js +5 -17
  214. package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -1
  215. package/dist/esm/components/flows-actors/actor.d.ts +21 -4
  216. package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
  217. package/dist/esm/components/flows-actors/actor.js +114 -192
  218. package/dist/esm/components/flows-actors/actor.js.map +1 -1
  219. package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
  220. package/dist/esm/components/flows-actors/actor.labels.js +5 -10
  221. package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
  222. package/dist/esm/components/flows-actors/agent-config.labels.js +1 -1
  223. package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
  224. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.d.ts.map +1 -1
  225. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js +1 -0
  226. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js.map +1 -1
  227. package/dist/esm/components/flows-actors/approval.d.ts +26 -16
  228. package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
  229. package/dist/esm/components/flows-actors/approval.js +208 -70
  230. package/dist/esm/components/flows-actors/approval.js.map +1 -1
  231. package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
  232. package/dist/esm/components/flows-actors/approval.labels.js +67 -22
  233. package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
  234. package/dist/esm/components/flows-actors/artifact-browser.labels.js +1 -1
  235. package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
  236. package/dist/esm/components/flows-actors/execution-plan.d.ts +19 -7
  237. package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
  238. package/dist/esm/components/flows-actors/execution-plan.js +55 -41
  239. package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
  240. package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
  241. package/dist/esm/components/flows-actors/execution-plan.labels.js +25 -8
  242. package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
  243. package/dist/esm/components/flows-actors/execution-usage.d.ts +69 -0
  244. package/dist/esm/components/flows-actors/execution-usage.d.ts.map +1 -0
  245. package/dist/esm/components/flows-actors/execution-usage.js +189 -0
  246. package/dist/esm/components/flows-actors/execution-usage.js.map +1 -0
  247. package/dist/esm/components/flows-actors/execution-usage.labels.d.ts +3 -0
  248. package/dist/esm/components/flows-actors/execution-usage.labels.d.ts.map +1 -0
  249. package/dist/esm/components/flows-actors/execution-usage.labels.js +27 -0
  250. package/dist/esm/components/flows-actors/execution-usage.labels.js.map +1 -0
  251. package/dist/esm/components/flows-actors/flow-execution.d.ts +23 -6
  252. package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
  253. package/dist/esm/components/flows-actors/flow-execution.js +56 -208
  254. package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
  255. package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
  256. package/dist/esm/components/flows-actors/flow-execution.labels.js +3 -10
  257. package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
  258. package/dist/esm/components/flows-actors/flow-node-badges.d.ts +54 -21
  259. package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
  260. package/dist/esm/components/flows-actors/flow-node-badges.js +80 -6
  261. package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
  262. package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
  263. package/dist/esm/components/flows-actors/flow-node.labels.js +0 -8
  264. package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
  265. package/dist/esm/components/flows-actors/flow-step-visuals.d.ts +31 -0
  266. package/dist/esm/components/flows-actors/flow-step-visuals.d.ts.map +1 -0
  267. package/dist/esm/components/flows-actors/flow-step-visuals.js +98 -0
  268. package/dist/esm/components/flows-actors/flow-step-visuals.js.map +1 -0
  269. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts +18 -19
  270. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
  271. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js +18 -19
  272. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
  273. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts +27 -42
  274. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
  275. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js +28 -43
  276. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
  277. package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts +15 -10
  278. package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
  279. package/dist/esm/components/flows-actors/flows-actors-ui.utils.js +16 -42
  280. package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
  281. package/dist/esm/components/flows-actors/graph-viewer.d.ts +112 -0
  282. package/dist/esm/components/flows-actors/graph-viewer.d.ts.map +1 -0
  283. package/dist/esm/components/flows-actors/graph-viewer.js +431 -0
  284. package/dist/esm/components/flows-actors/graph-viewer.js.map +1 -0
  285. package/dist/esm/components/flows-actors/graph-viewer.labels.d.ts +3 -0
  286. package/dist/esm/components/flows-actors/graph-viewer.labels.d.ts.map +1 -0
  287. package/dist/esm/components/flows-actors/graph-viewer.labels.js +67 -0
  288. package/dist/esm/components/flows-actors/graph-viewer.labels.js.map +1 -0
  289. package/dist/esm/components/flows-actors/graph-viewer.models.d.ts +16 -0
  290. package/dist/esm/components/flows-actors/graph-viewer.models.d.ts.map +1 -0
  291. package/dist/esm/components/flows-actors/graph-viewer.models.js +18 -0
  292. package/dist/esm/components/flows-actors/graph-viewer.models.js.map +1 -0
  293. package/dist/esm/components/flows-actors/human-decision-form.d.ts +57 -0
  294. package/dist/esm/components/flows-actors/human-decision-form.d.ts.map +1 -0
  295. package/dist/esm/components/flows-actors/human-decision-form.js +128 -0
  296. package/dist/esm/components/flows-actors/human-decision-form.js.map +1 -0
  297. package/dist/esm/components/flows-actors/system-catalog.d.ts +6 -1
  298. package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
  299. package/dist/esm/components/flows-actors/system-catalog.js +22 -20
  300. package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
  301. package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
  302. package/dist/esm/components/flows-actors/system-catalog.labels.js +3 -2
  303. package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
  304. package/dist/esm/components/flows-actors/task-detail.d.ts +17 -3
  305. package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
  306. package/dist/esm/components/flows-actors/task-detail.js +32 -25
  307. package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
  308. package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
  309. package/dist/esm/components/flows-actors/task-memory.js +3 -2
  310. package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
  311. package/dist/esm/components/form/Form.d.ts +2 -0
  312. package/dist/esm/components/form/Form.d.ts.map +1 -1
  313. package/dist/esm/components/form/Form.js +4 -0
  314. package/dist/esm/components/form/Form.js.map +1 -1
  315. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts +16 -1
  316. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
  317. package/dist/esm/components/form/automated/AutomatedArrayField.js +101 -21
  318. package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
  319. package/dist/esm/components/form/automated/AutomatedForm.d.ts +19 -2
  320. package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
  321. package/dist/esm/components/form/automated/AutomatedForm.js +40 -6
  322. package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
  323. package/dist/esm/components/form/automated/AutosaveContext.d.ts +22 -1
  324. package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
  325. package/dist/esm/components/form/automated/AutosaveContext.js +53 -0
  326. package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
  327. package/dist/esm/components/form/automated/FormField.d.ts +1 -1
  328. package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
  329. package/dist/esm/components/form/automated/FormField.js +127 -53
  330. package/dist/esm/components/form/automated/FormField.js.map +1 -1
  331. package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
  332. package/dist/esm/components/form/automated/FormFieldComposite.js +12 -10
  333. package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
  334. package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
  335. package/dist/esm/components/form/automated/FormFieldRecord.js +16 -7
  336. package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
  337. package/dist/esm/components/form/automated/FormTemplateContext.d.ts +27 -0
  338. package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
  339. package/dist/esm/components/form/automated/FormTemplateContext.js +0 -48
  340. package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
  341. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts +4 -3
  342. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
  343. package/dist/esm/components/form/automated/ResourceAutomatedForm.js +616 -149
  344. package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
  345. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts +105 -5
  346. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
  347. package/dist/esm/components/form/automated/automated-form-submit.utils.js +225 -6
  348. package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
  349. package/dist/esm/components/form/automated/bulk-field-clear-context.d.ts +59 -0
  350. package/dist/esm/components/form/automated/bulk-field-clear-context.d.ts.map +1 -0
  351. package/dist/esm/components/form/automated/bulk-field-clear-context.js +77 -0
  352. package/dist/esm/components/form/automated/bulk-field-clear-context.js.map +1 -0
  353. package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts +1 -1
  354. package/dist/esm/components/form/automated/unplaced-request-fields.context.d.ts +19 -0
  355. package/dist/esm/components/form/automated/unplaced-request-fields.context.d.ts.map +1 -0
  356. package/dist/esm/components/form/automated/unplaced-request-fields.context.js +13 -0
  357. package/dist/esm/components/form/automated/unplaced-request-fields.context.js.map +1 -0
  358. package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts +7 -0
  359. package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
  360. package/dist/esm/components/form/automated/useArrayItemAutosaveField.js +10 -2
  361. package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
  362. package/dist/esm/components/form/automated/useReferenceRecordLabels.d.ts +16 -0
  363. package/dist/esm/components/form/automated/useReferenceRecordLabels.d.ts.map +1 -0
  364. package/dist/esm/components/form/automated/useReferenceRecordLabels.js +66 -0
  365. package/dist/esm/components/form/automated/useReferenceRecordLabels.js.map +1 -0
  366. package/dist/esm/components/form/automated/useRequestFieldOffer.d.ts +18 -0
  367. package/dist/esm/components/form/automated/useRequestFieldOffer.d.ts.map +1 -0
  368. package/dist/esm/components/form/automated/useRequestFieldOffer.js +107 -0
  369. package/dist/esm/components/form/automated/useRequestFieldOffer.js.map +1 -0
  370. package/dist/esm/components/form/chromes/FormFieldChrome.d.ts +7 -1
  371. package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
  372. package/dist/esm/components/form/chromes/FormFieldChrome.js +6 -3
  373. package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
  374. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts +11 -0
  375. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  376. package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
  377. package/dist/esm/components/form/controls/date-time/datepicker.d.ts +21 -0
  378. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  379. package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
  380. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts +9 -0
  381. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  382. package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
  383. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts +9 -0
  384. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  385. package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
  386. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts +1 -0
  387. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  388. package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
  389. package/dist/esm/components/form/controls/enum/radio.d.ts +10 -0
  390. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  391. package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
  392. package/dist/esm/components/form/controls/enum/toggle-group.d.ts +14 -10
  393. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  394. package/dist/esm/components/form/controls/enum/toggle-group.js +14 -6
  395. package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
  396. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
  397. package/dist/esm/components/form/controls/form-field-checkbox-group.js +7 -3
  398. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
  399. package/dist/esm/components/form/controls/string/chips-input.d.ts +65 -0
  400. package/dist/esm/components/form/controls/string/chips-input.d.ts.map +1 -0
  401. package/dist/esm/components/form/controls/string/chips-input.js +9 -0
  402. package/dist/esm/components/form/controls/string/chips-input.js.map +1 -0
  403. package/dist/esm/components/form/fields/form-field-address.d.ts.map +1 -1
  404. package/dist/esm/components/form/fields/form-field-address.js +7 -5
  405. package/dist/esm/components/form/fields/form-field-address.js.map +1 -1
  406. package/dist/esm/components/form/fields/form-field-address.labels.js +1 -1
  407. package/dist/esm/components/form/fields/form-field-address.labels.js.map +1 -1
  408. package/dist/esm/components/form/fields/form-field-bigdecimal.js +2 -2
  409. package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
  410. package/dist/esm/components/form/fields/form-field-boolean.js +2 -2
  411. package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
  412. package/dist/esm/components/form/fields/form-field-code.labels.js +1 -1
  413. package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
  414. package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
  415. package/dist/esm/components/form/fields/form-field-date.js +16 -11
  416. package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
  417. package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
  418. package/dist/esm/components/form/fields/form-field-datetime.js +10 -5
  419. package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
  420. package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
  421. package/dist/esm/components/form/fields/form-field-duration.js +5 -7
  422. package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
  423. package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
  424. package/dist/esm/components/form/fields/form-field-duration.labels.js +8 -2
  425. package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
  426. package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
  427. package/dist/esm/components/form/fields/form-field-enum.js +31 -31
  428. package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
  429. package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
  430. package/dist/esm/components/form/fields/form-field-file.js +13 -12
  431. package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
  432. package/dist/esm/components/form/fields/form-field-file.labels.js +6 -6
  433. package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
  434. package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
  435. package/dist/esm/components/form/fields/form-field-money.js +5 -4
  436. package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
  437. package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
  438. package/dist/esm/components/form/fields/form-field-money.labels.js +8 -2
  439. package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
  440. package/dist/esm/components/form/fields/form-field-number.js +2 -2
  441. package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
  442. package/dist/esm/components/form/fields/form-field-range-bigdecimal.js +2 -2
  443. package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
  444. package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
  445. package/dist/esm/components/form/fields/form-field-range-date.js +7 -2
  446. package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
  447. package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
  448. package/dist/esm/components/form/fields/form-field-range-datetime.js +5 -2
  449. package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
  450. package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
  451. package/dist/esm/components/form/fields/form-field-range-money.js +6 -19
  452. package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
  453. package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
  454. package/dist/esm/components/form/fields/form-field-range-money.labels.js +8 -2
  455. package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
  456. package/dist/esm/components/form/fields/form-field-range-number.js +2 -2
  457. package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
  458. package/dist/esm/components/form/fields/form-field-range-time.js +2 -2
  459. package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
  460. package/dist/esm/components/form/fields/form-field-resource-reference.d.ts +56 -0
  461. package/dist/esm/components/form/fields/form-field-resource-reference.d.ts.map +1 -0
  462. package/dist/esm/components/form/fields/form-field-resource-reference.js +51 -0
  463. package/dist/esm/components/form/fields/form-field-resource-reference.js.map +1 -0
  464. package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts +36 -6
  465. package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts.map +1 -1
  466. package/dist/esm/components/form/fields/form-field-string-organization-role.js +30 -11
  467. package/dist/esm/components/form/fields/form-field-string-organization-role.js.map +1 -1
  468. package/dist/esm/components/form/fields/form-field-string.d.ts +5 -0
  469. package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
  470. package/dist/esm/components/form/fields/form-field-string.js +9 -7
  471. package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
  472. package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
  473. package/dist/esm/components/form/fields/form-field-time.js +6 -3
  474. package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
  475. package/dist/esm/components/form/fields/themed-native-select.d.ts +29 -0
  476. package/dist/esm/components/form/fields/themed-native-select.d.ts.map +1 -0
  477. package/dist/esm/components/form/fields/themed-native-select.js +36 -0
  478. package/dist/esm/components/form/fields/themed-native-select.js.map +1 -0
  479. package/dist/esm/components/form/form-context.d.ts +11 -0
  480. package/dist/esm/components/form/form-context.d.ts.map +1 -1
  481. package/dist/esm/components/form/form-context.js +11 -0
  482. package/dist/esm/components/form/form-context.js.map +1 -1
  483. package/dist/esm/components/form/form-context.utils.d.ts +2 -0
  484. package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
  485. package/dist/esm/components/form/form-context.utils.js +6 -2
  486. package/dist/esm/components/form/form-context.utils.js.map +1 -1
  487. package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
  488. package/dist/esm/components/form/validation-errors/FormErrorSummary.js +17 -15
  489. package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
  490. package/dist/esm/components/form/validation-errors/field-reveal.d.ts +41 -0
  491. package/dist/esm/components/form/validation-errors/field-reveal.d.ts.map +1 -0
  492. package/dist/esm/components/form/validation-errors/field-reveal.js +108 -0
  493. package/dist/esm/components/form/validation-errors/field-reveal.js.map +1 -0
  494. package/dist/esm/components/form/validation-errors/form-level-error-recheck.d.ts +3 -0
  495. package/dist/esm/components/form/validation-errors/form-level-error-recheck.d.ts.map +1 -0
  496. package/dist/esm/components/form/validation-errors/form-level-error-recheck.js +37 -0
  497. package/dist/esm/components/form/validation-errors/form-level-error-recheck.js.map +1 -0
  498. package/dist/esm/components/form/validation-errors/getFieldError.d.ts +6 -0
  499. package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
  500. package/dist/esm/components/form/validation-errors/getFieldError.js +9 -2
  501. package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
  502. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts +8 -1
  503. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
  504. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js +46 -3
  505. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
  506. package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
  507. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js +8 -3
  508. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
  509. package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.d.ts +32 -0
  510. package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.d.ts.map +1 -0
  511. package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.js +60 -0
  512. package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.js.map +1 -0
  513. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts +10 -0
  514. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts.map +1 -1
  515. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js +12 -3
  516. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js.map +1 -1
  517. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts +7 -0
  518. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
  519. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
  520. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts +6 -0
  521. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
  522. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
  523. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
  524. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js +11 -28
  525. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
  526. package/dist/esm/components/navigation/app-level/engine-launcher-entries.d.ts +46 -0
  527. package/dist/esm/components/navigation/app-level/engine-launcher-entries.d.ts.map +1 -0
  528. package/dist/esm/components/navigation/app-level/engine-launcher-entries.js +165 -0
  529. package/dist/esm/components/navigation/app-level/engine-launcher-entries.js.map +1 -0
  530. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
  531. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js +8 -3
  532. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
  533. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
  534. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js +41 -20
  535. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
  536. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts +1 -2
  537. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
  538. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js +1 -15
  539. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
  540. package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.d.ts +32 -0
  541. package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.d.ts.map +1 -0
  542. package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.js +91 -0
  543. package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.js.map +1 -0
  544. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
  545. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js +3 -1
  546. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
  547. package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts +18 -1
  548. package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
  549. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +66 -9
  550. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
  551. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +15 -10
  552. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
  553. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +89 -12
  554. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
  555. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js +2 -2
  556. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
  557. package/dist/esm/components/resources/CollectionSelectAllCheckbox.d.ts +39 -0
  558. package/dist/esm/components/resources/CollectionSelectAllCheckbox.d.ts.map +1 -0
  559. package/dist/esm/components/resources/CollectionSelectAllCheckbox.js +21 -0
  560. package/dist/esm/components/resources/CollectionSelectAllCheckbox.js.map +1 -0
  561. package/dist/esm/components/resources/CollectionSelectionControls.d.ts +4 -3
  562. package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
  563. package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
  564. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts +7 -2
  565. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
  566. package/dist/esm/components/resources/ResourceCollectionBody_Table.js +38 -14
  567. package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
  568. package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts +4 -4
  569. package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts.map +1 -1
  570. package/dist/esm/components/resources/ResourceCollectionFilterPresets.js +20 -13
  571. package/dist/esm/components/resources/ResourceCollectionFilterPresets.js.map +1 -1
  572. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts +4 -3
  573. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
  574. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js +40 -6
  575. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
  576. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts +65 -23
  577. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
  578. package/dist/esm/components/resources/ResourceCollectionToolbar.js +73 -10
  579. package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
  580. package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
  581. package/dist/esm/components/resources/ResourceLayout_Action.labels.js +5 -0
  582. package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
  583. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts +18 -0
  584. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
  585. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js +57 -48
  586. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
  587. package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts +1 -1
  588. package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
  589. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js +1 -1
  590. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
  591. package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
  592. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +7 -1
  593. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
  594. package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
  595. package/dist/esm/components/resources/ResourceLayout_Create.js +3 -4
  596. package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
  597. package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
  598. package/dist/esm/components/resources/ResourceLayout_Create.labels.js +10 -0
  599. package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
  600. package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts +5 -3
  601. package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
  602. package/dist/esm/components/resources/ResourceLayout_DangerZone.js +4 -3
  603. package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
  604. package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts +8 -1
  605. package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
  606. package/dist/esm/components/resources/ResourceLayout_FilterChips.js +83 -11
  607. package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
  608. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js +1 -1
  609. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
  610. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts +5 -8
  611. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
  612. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js +68 -19
  613. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
  614. package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
  615. package/dist/esm/components/resources/ResourceLayout_Header.js +150 -44
  616. package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
  617. package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
  618. package/dist/esm/components/resources/ResourceLayout_InsertedViews.js +62 -40
  619. package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
  620. package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
  621. package/dist/esm/components/resources/ResourceLayout_List.js +68 -70
  622. package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
  623. package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
  624. package/dist/esm/components/resources/ResourceLayout_List.labels.js +4 -10
  625. package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
  626. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts +8 -9
  627. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
  628. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js +67 -25
  629. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
  630. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js +8 -8
  631. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
  632. package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts +8 -2
  633. package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
  634. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js +12 -7
  635. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
  636. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
  637. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js +11 -6
  638. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
  639. package/dist/esm/components/resources/ResourceLayout_Read.d.ts +2 -0
  640. package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
  641. package/dist/esm/components/resources/ResourceLayout_Read.js +23 -5
  642. package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
  643. package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
  644. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js +5 -3
  645. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
  646. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
  647. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js +18 -7
  648. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
  649. package/dist/esm/components/resources/ResourceLayout_RecordSharing.d.ts +56 -0
  650. package/dist/esm/components/resources/ResourceLayout_RecordSharing.d.ts.map +1 -0
  651. package/dist/esm/components/resources/ResourceLayout_RecordSharing.js +184 -0
  652. package/dist/esm/components/resources/ResourceLayout_RecordSharing.js.map +1 -0
  653. package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.d.ts +3 -0
  654. package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.d.ts.map +1 -0
  655. package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.js +106 -0
  656. package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.js.map +1 -0
  657. package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
  658. package/dist/esm/components/resources/ResourceLayout_Search.js +55 -42
  659. package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
  660. package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
  661. package/dist/esm/components/resources/ResourceLayout_Search.labels.js +0 -6
  662. package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
  663. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts +8 -0
  664. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
  665. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js +2 -3
  666. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
  667. package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
  668. package/dist/esm/components/resources/ResourceLayout_SortControl.js +3 -2
  669. package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
  670. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts +29 -5
  671. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
  672. package/dist/esm/components/resources/ResourceListItemRenderer.js +123 -41
  673. package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
  674. package/dist/esm/components/resources/ResourceViewModeToggle.d.ts +6 -1
  675. package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
  676. package/dist/esm/components/resources/ResourceViewModeToggle.js +9 -7
  677. package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
  678. package/dist/esm/components/resources/collection-card-layout.utils.d.ts +37 -15
  679. package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
  680. package/dist/esm/components/resources/collection-card-layout.utils.js +37 -15
  681. package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
  682. package/dist/esm/components/resources/collection-selection-bar-density.d.ts +113 -0
  683. package/dist/esm/components/resources/collection-selection-bar-density.d.ts.map +1 -0
  684. package/dist/esm/components/resources/collection-selection-bar-density.js +175 -0
  685. package/dist/esm/components/resources/collection-selection-bar-density.js.map +1 -0
  686. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts +2 -1
  687. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
  688. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
  689. package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
  690. package/dist/esm/components/resources/embeds/RelatedResourceSections.js +14 -2
  691. package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
  692. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts +61 -1
  693. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
  694. package/dist/esm/components/resources/embeds/ResourceEmbeds.js +151 -15
  695. package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
  696. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts +11 -0
  697. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
  698. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js +13 -0
  699. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
  700. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts +24 -1
  701. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
  702. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js +47 -3
  703. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
  704. package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.d.ts +35 -0
  705. package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.d.ts.map +1 -0
  706. package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.js +36 -0
  707. package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.js.map +1 -0
  708. package/dist/esm/components/resources/resource-header-geometry.d.ts +19 -0
  709. package/dist/esm/components/resources/resource-header-geometry.d.ts.map +1 -0
  710. package/dist/esm/components/resources/resource-header-geometry.js +19 -0
  711. package/dist/esm/components/resources/resource-header-geometry.js.map +1 -0
  712. package/dist/esm/components/resources/resourceLayout.utils.d.ts +28 -2
  713. package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
  714. package/dist/esm/components/resources/resourceLayout.utils.js +45 -12
  715. package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
  716. package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
  717. package/dist/esm/components/resources/skeleton/ArrayField.js +10 -0
  718. package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
  719. package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts +20 -4
  720. package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
  721. package/dist/esm/components/resources/skeleton/DisplayLayout.js +19 -2
  722. package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
  723. package/dist/esm/components/resources/skeleton/FieldTiles.d.ts +48 -0
  724. package/dist/esm/components/resources/skeleton/FieldTiles.d.ts.map +1 -0
  725. package/dist/esm/components/resources/skeleton/FieldTiles.js +51 -0
  726. package/dist/esm/components/resources/skeleton/FieldTiles.js.map +1 -0
  727. package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
  728. package/dist/esm/components/resources/skeleton/FormLayout.js +2 -1
  729. package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
  730. package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
  731. package/dist/esm/components/resources/skeleton/Group.js +5 -2
  732. package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
  733. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts +77 -14
  734. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
  735. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js +98 -25
  736. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
  737. package/dist/esm/components/resources/skeleton/Section.d.ts +7 -0
  738. package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
  739. package/dist/esm/components/resources/skeleton/Section.js +9 -3
  740. package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
  741. package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts +3 -3
  742. package/dist/esm/components/resources/skeleton/SummaryLayout.js +3 -3
  743. package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
  744. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts +7 -5
  745. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
  746. package/dist/esm/components/resources/skeleton/WizardLayout.js +176 -65
  747. package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
  748. package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts +9 -1
  749. package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
  750. package/dist/esm/components/resources/skeleton/WizardLayoutContext.js +7 -0
  751. package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
  752. package/dist/esm/components/resources/skeleton/WizardStep.d.ts +1 -1
  753. package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
  754. package/dist/esm/components/resources/skeleton/WizardStep.js +9 -5
  755. package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
  756. package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
  757. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js +31 -2
  758. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
  759. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
  760. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js +176 -61
  761. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
  762. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
  763. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js +14 -7
  764. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
  765. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
  766. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js +18 -1
  767. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
  768. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts +8 -0
  769. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
  770. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js +3 -0
  771. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
  772. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
  773. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js +48 -17
  774. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
  775. package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
  776. package/dist/esm/components/sections/ContentSectionContainer.js +226 -74
  777. package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
  778. package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
  779. package/dist/esm/components/sections/ContentSectionContainer.labels.js +2 -3
  780. package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
  781. package/dist/esm/components/sections/content-section.d.ts +2 -2
  782. package/dist/esm/components/sections/content-section.js.map +1 -1
  783. package/dist/esm/components/sections/section-grouping.shared.d.ts +19 -0
  784. package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
  785. package/dist/esm/components/sections/section-grouping.shared.js +24 -0
  786. package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
  787. package/dist/esm/components/sections/section-legend-voice.context.d.ts +19 -0
  788. package/dist/esm/components/sections/section-legend-voice.context.d.ts.map +1 -0
  789. package/dist/esm/components/sections/section-legend-voice.context.js +21 -0
  790. package/dist/esm/components/sections/section-legend-voice.context.js.map +1 -0
  791. package/dist/esm/components/sections/section-legend-voice.d.ts +41 -0
  792. package/dist/esm/components/sections/section-legend-voice.d.ts.map +1 -0
  793. package/dist/esm/components/sections/section-legend-voice.js +67 -0
  794. package/dist/esm/components/sections/section-legend-voice.js.map +1 -0
  795. package/dist/esm/components/sections/stepper.d.ts +14 -0
  796. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  797. package/dist/esm/components/sections/stepper.js.map +1 -1
  798. package/dist/esm/components/sections/surface.d.ts.map +1 -1
  799. package/dist/esm/components/sections/surface.js +10 -2
  800. package/dist/esm/components/sections/surface.js.map +1 -1
  801. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.d.ts +39 -0
  802. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.d.ts.map +1 -0
  803. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.js +187 -0
  804. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.js.map +1 -0
  805. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.d.ts +3 -0
  806. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.d.ts.map +1 -0
  807. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.js +34 -0
  808. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.js.map +1 -0
  809. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.d.ts +1 -1
  810. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js +1 -1
  811. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js.map +1 -1
  812. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js +8 -8
  813. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js.map +1 -1
  814. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.d.ts +43 -0
  815. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.d.ts.map +1 -0
  816. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.js +142 -0
  817. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.js.map +1 -0
  818. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.d.ts +3 -0
  819. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.d.ts.map +1 -0
  820. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.js +62 -0
  821. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.js.map +1 -0
  822. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +25 -8
  823. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -1
  824. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +275 -71
  825. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -1
  826. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -1
  827. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +91 -14
  828. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -1
  829. package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts +13 -8
  830. package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
  831. package/dist/esm/components/settings/AppPage_InvitationsSettings.js +95 -23
  832. package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
  833. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
  834. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js +25 -2
  835. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
  836. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.d.ts +67 -0
  837. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.d.ts.map +1 -0
  838. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.js +177 -0
  839. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.js.map +1 -0
  840. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.d.ts +3 -0
  841. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.d.ts.map +1 -0
  842. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.js +45 -0
  843. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.js.map +1 -0
  844. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.d.ts +35 -0
  845. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.d.ts.map +1 -0
  846. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.js +137 -0
  847. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.js.map +1 -0
  848. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.d.ts +3 -0
  849. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.d.ts.map +1 -0
  850. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.js +38 -0
  851. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.js.map +1 -0
  852. package/dist/esm/components/settings/SettingsHub.d.ts +3 -3
  853. package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
  854. package/dist/esm/components/settings/SettingsHub.js +98 -48
  855. package/dist/esm/components/settings/SettingsHub.js.map +1 -1
  856. package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
  857. package/dist/esm/components/settings/SettingsHub.labels.js +2 -0
  858. package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
  859. package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
  860. package/dist/esm/components/settings/SettingsResourceOperationPanel.js +21 -1
  861. package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
  862. package/dist/esm/components/settings/useOwnerProviderConnections.d.ts +24 -5
  863. package/dist/esm/components/settings/useOwnerProviderConnections.d.ts.map +1 -1
  864. package/dist/esm/components/settings/useOwnerProviderConnections.js +67 -9
  865. package/dist/esm/components/settings/useOwnerProviderConnections.js.map +1 -1
  866. package/dist/esm/components/views/chart-view/ChartView.js +3 -3
  867. package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
  868. package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
  869. package/dist/esm/components/views/chart-view/chart-export.utils.js +2 -9
  870. package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
  871. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts +1 -0
  872. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
  873. package/dist/esm/components/views/chart-view/enum-color-bridge.js +10 -1
  874. package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
  875. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts +8 -6
  876. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
  877. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js +10 -8
  878. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
  879. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js +2 -2
  880. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
  881. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js +1 -1
  882. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
  883. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js +1 -1
  884. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
  885. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js +1 -1
  886. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
  887. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts +6 -0
  888. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
  889. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
  890. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts +3 -1
  891. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
  892. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js +4 -1
  893. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
  894. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts +0 -1
  895. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
  896. package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
  897. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
  898. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js +24 -1
  899. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
  900. package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.d.ts +29 -0
  901. package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.d.ts.map +1 -0
  902. package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.js +104 -0
  903. package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.js.map +1 -0
  904. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts +16 -5
  905. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
  906. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +219 -230
  907. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
  908. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts +5 -0
  909. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
  910. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js +15 -13
  911. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
  912. package/dist/esm/components/views/flows-actors-view/held-conversation-selection.d.ts +13 -0
  913. package/dist/esm/components/views/flows-actors-view/held-conversation-selection.d.ts.map +1 -0
  914. package/dist/esm/components/views/flows-actors-view/held-conversation-selection.js +44 -0
  915. package/dist/esm/components/views/flows-actors-view/held-conversation-selection.js.map +1 -0
  916. package/dist/esm/core/app-shell/AppShellBuildingBlocks.d.ts.map +1 -1
  917. package/dist/esm/core/app-shell/AppShellBuildingBlocks.js +6 -2
  918. package/dist/esm/core/app-shell/AppShellBuildingBlocks.js.map +1 -1
  919. package/dist/esm/core/app-shell/app-shell.schemas.d.ts +64 -9
  920. package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
  921. package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
  922. package/dist/esm/core/app-shell/hosted-components.utils.d.ts +11 -1
  923. package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
  924. package/dist/esm/core/app-shell/hosted-components.utils.js +25 -0
  925. package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
  926. package/dist/esm/core/app-shell/shell-layout.d.ts +138 -0
  927. package/dist/esm/core/app-shell/shell-layout.d.ts.map +1 -0
  928. package/dist/esm/core/app-shell/shell-layout.js +143 -0
  929. package/dist/esm/core/app-shell/shell-layout.js.map +1 -0
  930. package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.d.ts +13 -0
  931. package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.d.ts.map +1 -0
  932. package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.js +49 -0
  933. package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.js.map +1 -0
  934. package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.d.ts +95 -0
  935. package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.d.ts.map +1 -0
  936. package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.js +316 -0
  937. package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.js.map +1 -0
  938. package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.d.ts +217 -0
  939. package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.d.ts.map +1 -0
  940. package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.js +197 -0
  941. package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.js.map +1 -0
  942. package/dist/esm/core/app-shell/shell-motion/shell-view-transition.d.ts +46 -0
  943. package/dist/esm/core/app-shell/shell-motion/shell-view-transition.d.ts.map +1 -0
  944. package/dist/esm/core/app-shell/shell-motion/shell-view-transition.js +139 -0
  945. package/dist/esm/core/app-shell/shell-motion/shell-view-transition.js.map +1 -0
  946. package/dist/esm/core/app-shell/shell-motion/use-shell-motion.d.ts +108 -0
  947. package/dist/esm/core/app-shell/shell-motion/use-shell-motion.d.ts.map +1 -0
  948. package/dist/esm/core/app-shell/shell-motion/use-shell-motion.js +423 -0
  949. package/dist/esm/core/app-shell/shell-motion/use-shell-motion.js.map +1 -0
  950. package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
  951. package/dist/esm/core/app-shell/useAppShellLayout.js +6 -1
  952. package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
  953. package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
  954. package/dist/esm/core/app-shell/usePublicShellLayout.js +11 -4
  955. package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
  956. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +18 -1
  957. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
  958. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +26 -4
  959. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
  960. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.d.ts.map +1 -1
  961. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js +3 -22
  962. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js.map +1 -1
  963. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +19 -3
  964. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
  965. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js +100 -13
  966. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
  967. package/dist/esm/core/automated-layout/summary-value-naming.utils.d.ts +67 -0
  968. package/dist/esm/core/automated-layout/summary-value-naming.utils.d.ts.map +1 -0
  969. package/dist/esm/core/automated-layout/summary-value-naming.utils.js +100 -0
  970. package/dist/esm/core/automated-layout/summary-value-naming.utils.js.map +1 -0
  971. package/dist/esm/core/billing/BillingContext.d.ts +0 -17
  972. package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
  973. package/dist/esm/core/billing/BillingContext.js +6 -1
  974. package/dist/esm/core/billing/BillingContext.js.map +1 -1
  975. package/dist/esm/core/branding/OrganizationBrandingPublisher.d.ts +2 -0
  976. package/dist/esm/core/branding/OrganizationBrandingPublisher.d.ts.map +1 -0
  977. package/dist/esm/core/branding/OrganizationBrandingPublisher.js +78 -0
  978. package/dist/esm/core/branding/OrganizationBrandingPublisher.js.map +1 -0
  979. package/dist/esm/core/branding/useBrandIdentity.d.ts +21 -0
  980. package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
  981. package/dist/esm/core/branding/useBrandIdentity.js +31 -5
  982. package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
  983. package/dist/esm/core/branding/useBrandPresentation.d.ts +5 -0
  984. package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
  985. package/dist/esm/core/branding/useBrandPresentation.js +1 -0
  986. package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
  987. package/dist/esm/core/branding/useDisplayableImageUrl.d.ts +4 -0
  988. package/dist/esm/core/branding/useDisplayableImageUrl.d.ts.map +1 -0
  989. package/dist/esm/core/branding/useDisplayableImageUrl.js +66 -0
  990. package/dist/esm/core/branding/useDisplayableImageUrl.js.map +1 -0
  991. package/dist/esm/core/branding/useOrganizationDocumentTitle.d.ts +2 -0
  992. package/dist/esm/core/branding/useOrganizationDocumentTitle.d.ts.map +1 -0
  993. package/dist/esm/core/branding/useOrganizationDocumentTitle.js +23 -0
  994. package/dist/esm/core/branding/useOrganizationDocumentTitle.js.map +1 -0
  995. package/dist/esm/core/commons/save-blob-as-file.frontend.utils.d.ts +16 -0
  996. package/dist/esm/core/commons/save-blob-as-file.frontend.utils.d.ts.map +1 -0
  997. package/dist/esm/core/commons/save-blob-as-file.frontend.utils.js +35 -0
  998. package/dist/esm/core/commons/save-blob-as-file.frontend.utils.js.map +1 -0
  999. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
  1000. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +8 -0
  1001. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
  1002. package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
  1003. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js +34 -5
  1004. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
  1005. package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
  1006. package/dist/esm/core/components-registry/register-framework-layouts.js +4 -0
  1007. package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
  1008. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +36 -0
  1009. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
  1010. package/dist/esm/core/config/app-configuration-frontend.schemas.js +29 -2
  1011. package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
  1012. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +10 -16
  1013. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
  1014. package/dist/esm/core/config/app-level-components.frontend.schemas.js +10 -16
  1015. package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
  1016. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +12 -8
  1017. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
  1018. package/dist/esm/core/config/chart-view.frontend.schemas.js +10 -0
  1019. package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
  1020. package/dist/esm/core/config/composite-view.schemas.d.ts +2 -2
  1021. package/dist/esm/core/config/config-merge-utilities.d.ts +31 -3
  1022. package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
  1023. package/dist/esm/core/config/config-merge-utilities.js +61 -7
  1024. package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
  1025. package/dist/esm/core/config/decision-inbox-capability.frontend.utils.d.ts +83 -0
  1026. package/dist/esm/core/config/decision-inbox-capability.frontend.utils.d.ts.map +1 -0
  1027. package/dist/esm/core/config/decision-inbox-capability.frontend.utils.js +100 -0
  1028. package/dist/esm/core/config/decision-inbox-capability.frontend.utils.js.map +1 -0
  1029. package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.d.ts +69 -0
  1030. package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.d.ts.map +1 -0
  1031. package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.js +65 -0
  1032. package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.js.map +1 -0
  1033. package/dist/esm/core/config/engine-settings-destinations.d.ts +13 -1
  1034. package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
  1035. package/dist/esm/core/config/engine-settings-destinations.js +588 -155
  1036. package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
  1037. package/dist/esm/core/config/execution-view.schemas.d.ts +17 -3
  1038. package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
  1039. package/dist/esm/core/config/execution-view.schemas.js +1 -1
  1040. package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
  1041. package/dist/esm/core/config/flows-actors-view.schemas.d.ts +12 -2
  1042. package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
  1043. package/dist/esm/core/config/flows-actors-view.schemas.js +13 -1
  1044. package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
  1045. package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts +12 -11
  1046. package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
  1047. package/dist/esm/core/config/inserted-view-launcher.schemas.js +14 -13
  1048. package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
  1049. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +77 -27
  1050. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
  1051. package/dist/esm/core/config/launcher-items.frontend.schemas.js +18 -13
  1052. package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
  1053. package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.d.ts +79 -0
  1054. package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.d.ts.map +1 -0
  1055. package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.js +95 -0
  1056. package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.js.map +1 -0
  1057. package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts +19 -7
  1058. package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
  1059. package/dist/esm/core/config/settings-hub-gating.frontend.utils.js +45 -10
  1060. package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
  1061. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts +2 -2
  1062. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts.map +1 -1
  1063. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js +38 -5
  1064. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js.map +1 -1
  1065. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +94 -10
  1066. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
  1067. package/dist/esm/core/config/settings-hub.frontend.schemas.js +40 -3
  1068. package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
  1069. package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
  1070. package/dist/esm/core/config/useSettingsHubConfig.js +4 -1
  1071. package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
  1072. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts +2 -2
  1073. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
  1074. package/dist/esm/core/config/useVisibleSettingsHubConfig.js +7 -8
  1075. package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
  1076. package/dist/esm/core/config/verify-launcher-content.d.ts +16 -2
  1077. package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
  1078. package/dist/esm/core/config/verify-launcher-content.js +64 -4
  1079. package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
  1080. package/dist/esm/core/config/verify-settings-hub-content.d.ts +4 -0
  1081. package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
  1082. package/dist/esm/core/config/verify-settings-hub-content.js +34 -0
  1083. package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
  1084. package/dist/esm/core/enums/common-enum-registry.d.ts +16 -23
  1085. package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
  1086. package/dist/esm/core/enums/common-enum-registry.js +26 -29
  1087. package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
  1088. package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
  1089. package/dist/esm/core/errors/GlobalErrorHandler.js +71 -9
  1090. package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
  1091. package/dist/esm/core/errors/error-management.frontend.service.d.ts +0 -4
  1092. package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
  1093. package/dist/esm/core/errors/error-management.frontend.service.js +5 -8
  1094. package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
  1095. package/dist/esm/core/errors/errors.frontend.schemas.d.ts +21 -10
  1096. package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
  1097. package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
  1098. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts +35 -0
  1099. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts.map +1 -1
  1100. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js +44 -5
  1101. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js.map +1 -1
  1102. package/dist/esm/core/events/EventBusContext.js.map +1 -1
  1103. package/dist/esm/core/events/NotificationContext.d.ts +13 -1
  1104. package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
  1105. package/dist/esm/core/events/NotificationContext.js +89 -22
  1106. package/dist/esm/core/events/NotificationContext.js.map +1 -1
  1107. package/dist/esm/core/events/events.frontend.schemas.d.ts +68 -4
  1108. package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
  1109. package/dist/esm/core/events/events.frontend.schemas.js +67 -3
  1110. package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
  1111. package/dist/esm/core/events/useNotificationPreferenceKinds.d.ts +9 -0
  1112. package/dist/esm/core/events/useNotificationPreferenceKinds.d.ts.map +1 -0
  1113. package/dist/esm/core/events/useNotificationPreferenceKinds.js +50 -0
  1114. package/dist/esm/core/events/useNotificationPreferenceKinds.js.map +1 -0
  1115. package/dist/esm/core/execution/useExecution.js +1 -1
  1116. package/dist/esm/core/execution/useExecution.js.map +1 -1
  1117. package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
  1118. package/dist/esm/core/execution/useExecutionParticipationRMM.js +4 -0
  1119. package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
  1120. package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
  1121. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js +3 -3
  1122. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
  1123. package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.d.ts +52 -0
  1124. package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.d.ts.map +1 -0
  1125. package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.js +88 -0
  1126. package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.js.map +1 -0
  1127. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +20 -2
  1128. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
  1129. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js +18 -1
  1130. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
  1131. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts +7 -5
  1132. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts.map +1 -1
  1133. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js +9 -6
  1134. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js.map +1 -1
  1135. package/dist/esm/core/features/FeaturesContext.d.ts +9 -1
  1136. package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
  1137. package/dist/esm/core/features/FeaturesContext.js +38 -12
  1138. package/dist/esm/core/features/FeaturesContext.js.map +1 -1
  1139. package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
  1140. package/dist/esm/core/features/useOperationFeatureAvailability.js +4 -0
  1141. package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
  1142. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +90 -33
  1143. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
  1144. package/dist/esm/core/flows-actors/FlowsActorsContext.js +153 -100
  1145. package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
  1146. package/dist/esm/core/flows-actors/conversation-history.model.d.ts +41 -0
  1147. package/dist/esm/core/flows-actors/conversation-history.model.d.ts.map +1 -0
  1148. package/dist/esm/core/flows-actors/conversation-history.model.js +65 -0
  1149. package/dist/esm/core/flows-actors/conversation-history.model.js.map +1 -0
  1150. package/dist/esm/core/flows-actors/conversation-thread.model.d.ts +144 -0
  1151. package/dist/esm/core/flows-actors/conversation-thread.model.d.ts.map +1 -0
  1152. package/dist/esm/core/flows-actors/conversation-thread.model.js +315 -0
  1153. package/dist/esm/core/flows-actors/conversation-thread.model.js.map +1 -0
  1154. package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.d.ts +29 -0
  1155. package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.d.ts.map +1 -0
  1156. package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.js +67 -0
  1157. package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.js.map +1 -0
  1158. package/dist/esm/core/flows-actors/graph-view.layout.d.ts +77 -0
  1159. package/dist/esm/core/flows-actors/graph-view.layout.d.ts.map +1 -0
  1160. package/dist/esm/core/flows-actors/graph-view.layout.js +169 -0
  1161. package/dist/esm/core/flows-actors/graph-view.layout.js.map +1 -0
  1162. package/dist/esm/core/flows-actors/graph-view.model.d.ts +245 -0
  1163. package/dist/esm/core/flows-actors/graph-view.model.d.ts.map +1 -0
  1164. package/dist/esm/core/flows-actors/graph-view.model.js +414 -0
  1165. package/dist/esm/core/flows-actors/graph-view.model.js.map +1 -0
  1166. package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.d.ts +12 -0
  1167. package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.d.ts.map +1 -0
  1168. package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.js +20 -0
  1169. package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.js.map +1 -0
  1170. package/dist/esm/core/flows-actors/usePendingDecisions.d.ts +36 -11
  1171. package/dist/esm/core/flows-actors/usePendingDecisions.d.ts.map +1 -1
  1172. package/dist/esm/core/flows-actors/usePendingDecisions.js +114 -29
  1173. package/dist/esm/core/flows-actors/usePendingDecisions.js.map +1 -1
  1174. package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
  1175. package/dist/esm/core/guidance/GuidanceContext.js +1 -2
  1176. package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
  1177. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js +2 -2
  1178. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
  1179. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +3 -9
  1180. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
  1181. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +3 -15
  1182. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
  1183. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts +2 -2
  1184. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js +2 -2
  1185. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
  1186. package/dist/esm/core/i18n/I18nContext.d.ts +52 -3
  1187. package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
  1188. package/dist/esm/core/i18n/I18nContext.js +80 -7
  1189. package/dist/esm/core/i18n/I18nContext.js.map +1 -1
  1190. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts +82 -1
  1191. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -1
  1192. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js +121 -6
  1193. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -1
  1194. package/dist/esm/core/i18n/useI18n.d.ts +3 -1
  1195. package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
  1196. package/dist/esm/core/i18n/useI18n.js +3 -1
  1197. package/dist/esm/core/i18n/useI18n.js.map +1 -1
  1198. package/dist/esm/core/icons/IconRegistryBridge.d.ts +38 -4
  1199. package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
  1200. package/dist/esm/core/icons/IconRegistryBridge.js +103 -63
  1201. package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
  1202. package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
  1203. package/dist/esm/core/icons/IconRegistryContext.js +41 -0
  1204. package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
  1205. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts +44 -0
  1206. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
  1207. package/dist/esm/core/icons/icon-registry.frontend.schemas.js +46 -0
  1208. package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
  1209. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js +2 -2
  1210. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
  1211. package/dist/esm/core/navigation/NavigationContentAreas.d.ts +64 -20
  1212. package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
  1213. package/dist/esm/core/navigation/NavigationContentAreas.js +82 -51
  1214. package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
  1215. package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
  1216. package/dist/esm/core/navigation/NavigationContext.js +130 -23
  1217. package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
  1218. package/dist/esm/core/navigation/NavigationRequestBridge.d.ts +4 -0
  1219. package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
  1220. package/dist/esm/core/navigation/NavigationRequestBridge.js +17 -1
  1221. package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
  1222. package/dist/esm/core/navigation/ZoneChromeContext.d.ts +80 -0
  1223. package/dist/esm/core/navigation/ZoneChromeContext.d.ts.map +1 -0
  1224. package/dist/esm/core/navigation/ZoneChromeContext.js +130 -0
  1225. package/dist/esm/core/navigation/ZoneChromeContext.js.map +1 -0
  1226. package/dist/esm/core/navigation/launcher-resolution.d.ts +102 -2
  1227. package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
  1228. package/dist/esm/core/navigation/launcher-resolution.js +194 -9
  1229. package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
  1230. package/dist/esm/core/navigation/launcher-runtime-availability.d.ts +35 -5
  1231. package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
  1232. package/dist/esm/core/navigation/launcher-runtime-availability.js +147 -18
  1233. package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
  1234. package/dist/esm/core/navigation/navigation-cascade.d.ts +44 -14
  1235. package/dist/esm/core/navigation/navigation-cascade.d.ts.map +1 -1
  1236. package/dist/esm/core/navigation/navigation-cascade.js +87 -19
  1237. package/dist/esm/core/navigation/navigation-cascade.js.map +1 -1
  1238. package/dist/esm/core/navigation/navigation-commit.d.ts +45 -0
  1239. package/dist/esm/core/navigation/navigation-commit.d.ts.map +1 -0
  1240. package/dist/esm/core/navigation/navigation-commit.js +68 -0
  1241. package/dist/esm/core/navigation/navigation-commit.js.map +1 -0
  1242. package/dist/esm/core/navigation/navigation-controller-internals.d.ts +54 -3
  1243. package/dist/esm/core/navigation/navigation-controller-internals.d.ts.map +1 -1
  1244. package/dist/esm/core/navigation/navigation-controller-internals.js +91 -3
  1245. package/dist/esm/core/navigation/navigation-controller-internals.js.map +1 -1
  1246. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +3 -3
  1247. package/dist/esm/core/navigation/navigation-policy-resolver.service.js +3 -3
  1248. package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
  1249. package/dist/esm/core/navigation/navigation.utils.d.ts +95 -22
  1250. package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
  1251. package/dist/esm/core/navigation/navigation.utils.js +190 -63
  1252. package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
  1253. package/dist/esm/core/navigation/sidebar-resource-browser-operation.d.ts +8 -0
  1254. package/dist/esm/core/navigation/sidebar-resource-browser-operation.d.ts.map +1 -0
  1255. package/dist/esm/core/navigation/sidebar-resource-browser-operation.js +27 -0
  1256. package/dist/esm/core/navigation/sidebar-resource-browser-operation.js.map +1 -0
  1257. package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.d.ts +64 -0
  1258. package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.d.ts.map +1 -0
  1259. package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.js +212 -0
  1260. package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.js.map +1 -0
  1261. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts +1 -1
  1262. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
  1263. package/dist/esm/core/navigation/useLauncherResolutionContext.js +17 -2
  1264. package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
  1265. package/dist/esm/core/navigation/useNavigationController.d.ts +1 -0
  1266. package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
  1267. package/dist/esm/core/navigation/useNavigationController.js +51 -67
  1268. package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
  1269. package/dist/esm/core/navigation/useNavigationRouterSync.d.ts.map +1 -1
  1270. package/dist/esm/core/navigation/useNavigationRouterSync.js +17 -1
  1271. package/dist/esm/core/navigation/useNavigationRouterSync.js.map +1 -1
  1272. package/dist/esm/core/navigation/useZoneEntryOrganizationHold.d.ts +17 -0
  1273. package/dist/esm/core/navigation/useZoneEntryOrganizationHold.d.ts.map +1 -0
  1274. package/dist/esm/core/navigation/useZoneEntryOrganizationHold.js +32 -0
  1275. package/dist/esm/core/navigation/useZoneEntryOrganizationHold.js.map +1 -0
  1276. package/dist/esm/core/navigation/zone-collapse.d.ts +2 -1
  1277. package/dist/esm/core/navigation/zone-collapse.d.ts.map +1 -1
  1278. package/dist/esm/core/navigation/zone-collapse.js +2 -1
  1279. package/dist/esm/core/navigation/zone-collapse.js.map +1 -1
  1280. package/dist/esm/core/navigation/zone-entry-organization.d.ts +34 -0
  1281. package/dist/esm/core/navigation/zone-entry-organization.d.ts.map +1 -0
  1282. package/dist/esm/core/navigation/zone-entry-organization.js +77 -0
  1283. package/dist/esm/core/navigation/zone-entry-organization.js.map +1 -0
  1284. package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts +15 -0
  1285. package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
  1286. package/dist/esm/core/requests/auth-refresh-resilience.frontend.js +24 -0
  1287. package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
  1288. package/dist/esm/core/requests/automatic-resend-safety.frontend.d.ts +74 -0
  1289. package/dist/esm/core/requests/automatic-resend-safety.frontend.d.ts.map +1 -0
  1290. package/dist/esm/core/requests/automatic-resend-safety.frontend.js +52 -0
  1291. package/dist/esm/core/requests/automatic-resend-safety.frontend.js.map +1 -0
  1292. package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
  1293. package/dist/esm/core/requests/websockets/WebSocketContext.js +31 -0
  1294. package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
  1295. package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
  1296. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js +2 -0
  1297. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
  1298. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +162 -98
  1299. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
  1300. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +283 -157
  1301. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
  1302. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts +9 -13
  1303. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
  1304. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js +45 -97
  1305. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
  1306. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +25 -5
  1307. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
  1308. package/dist/esm/core/requests/wildo-http-client.frontend.service.js +56 -11
  1309. package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
  1310. package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
  1311. package/dist/esm/core/resources/ScopedResourceRegistryProvider.js +1 -2
  1312. package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
  1313. package/dist/esm/core/resources/calendar-date-fields.frontend.utils.d.ts +14 -0
  1314. package/dist/esm/core/resources/calendar-date-fields.frontend.utils.d.ts.map +1 -0
  1315. package/dist/esm/core/resources/calendar-date-fields.frontend.utils.js +29 -0
  1316. package/dist/esm/core/resources/calendar-date-fields.frontend.utils.js.map +1 -0
  1317. package/dist/esm/core/resources/caller-identity-record.frontend.utils.d.ts +23 -0
  1318. package/dist/esm/core/resources/caller-identity-record.frontend.utils.d.ts.map +1 -0
  1319. package/dist/esm/core/resources/caller-identity-record.frontend.utils.js +26 -0
  1320. package/dist/esm/core/resources/caller-identity-record.frontend.utils.js.map +1 -0
  1321. package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts +1 -1
  1322. package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
  1323. package/dist/esm/core/resources/collection-export-url.frontend.utils.js +34 -16
  1324. package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
  1325. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts +54 -11
  1326. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts.map +1 -1
  1327. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js +131 -63
  1328. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js.map +1 -1
  1329. package/dist/esm/core/resources/date-filter-window.frontend.utils.d.ts +58 -0
  1330. package/dist/esm/core/resources/date-filter-window.frontend.utils.d.ts.map +1 -0
  1331. package/dist/esm/core/resources/date-filter-window.frontend.utils.js +70 -0
  1332. package/dist/esm/core/resources/date-filter-window.frontend.utils.js.map +1 -0
  1333. package/dist/esm/core/resources/frontend-resource.utils.d.ts +146 -7
  1334. package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
  1335. package/dist/esm/core/resources/frontend-resource.utils.js +194 -22
  1336. package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
  1337. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts +18 -4
  1338. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
  1339. package/dist/esm/core/resources/hooks/useOperationEnabled.js +26 -6
  1340. package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
  1341. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts +95 -2
  1342. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
  1343. package/dist/esm/core/resources/operation-semantics.frontend.utils.js +126 -13
  1344. package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
  1345. package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.d.ts +45 -0
  1346. package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.d.ts.map +1 -0
  1347. package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.js +46 -0
  1348. package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.js.map +1 -0
  1349. package/dist/esm/core/resources/referenced-record-scope.frontend.utils.d.ts +46 -0
  1350. package/dist/esm/core/resources/referenced-record-scope.frontend.utils.d.ts.map +1 -0
  1351. package/dist/esm/core/resources/referenced-record-scope.frontend.utils.js +86 -0
  1352. package/dist/esm/core/resources/referenced-record-scope.frontend.utils.js.map +1 -0
  1353. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
  1354. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js +5 -1
  1355. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
  1356. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts +28 -1
  1357. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
  1358. package/dist/esm/core/resources/resource-addressability.frontend.utils.js +43 -3
  1359. package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
  1360. package/dist/esm/core/resources/resource-discriminators.frontend.utils.d.ts +26 -0
  1361. package/dist/esm/core/resources/resource-discriminators.frontend.utils.d.ts.map +1 -0
  1362. package/dist/esm/core/resources/resource-discriminators.frontend.utils.js +37 -0
  1363. package/dist/esm/core/resources/resource-discriminators.frontend.utils.js.map +1 -0
  1364. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts +40 -8
  1365. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
  1366. package/dist/esm/core/resources/resources-repository.frontend.service.js +333 -73
  1367. package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
  1368. package/dist/esm/core/resources/resources.frontend.schemas.d.ts +175 -65
  1369. package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
  1370. package/dist/esm/core/resources/resources.frontend.schemas.js +245 -75
  1371. package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
  1372. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts +9 -1
  1373. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
  1374. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js +57 -22
  1375. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
  1376. package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
  1377. package/dist/esm/core/resources/rmm/RMMRegistry.js +1 -0
  1378. package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
  1379. package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts +3 -0
  1380. package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
  1381. package/dist/esm/core/resources/rmm/ResourceMutationManager.js +94 -35
  1382. package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
  1383. package/dist/esm/core/resources/rmm/types.d.ts +58 -6
  1384. package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
  1385. package/dist/esm/core/resources/rmm/types.js +17 -0
  1386. package/dist/esm/core/resources/rmm/types.js.map +1 -1
  1387. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts +43 -6
  1388. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
  1389. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js +49 -6
  1390. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
  1391. package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
  1392. package/dist/esm/core/resources/rmm/useResourceMutationManager.js +2 -0
  1393. package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
  1394. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts +2 -0
  1395. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
  1396. package/dist/esm/core/resources/rmm/useResourceRMM.js +10 -3
  1397. package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
  1398. package/dist/esm/core/resources/temporal-day-groups.frontend.utils.d.ts +22 -0
  1399. package/dist/esm/core/resources/temporal-day-groups.frontend.utils.d.ts.map +1 -0
  1400. package/dist/esm/core/resources/temporal-day-groups.frontend.utils.js +31 -0
  1401. package/dist/esm/core/resources/temporal-day-groups.frontend.utils.js.map +1 -0
  1402. package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.d.ts +36 -0
  1403. package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.d.ts.map +1 -0
  1404. package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.js +88 -0
  1405. package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.js.map +1 -0
  1406. package/dist/esm/core/resources/useBulkJobProgress.d.ts +6 -0
  1407. package/dist/esm/core/resources/useBulkJobProgress.d.ts.map +1 -1
  1408. package/dist/esm/core/resources/useBulkJobProgress.js +1 -0
  1409. package/dist/esm/core/resources/useBulkJobProgress.js.map +1 -1
  1410. package/dist/esm/core/resources/useCollectionFilterPresetScope.d.ts +14 -0
  1411. package/dist/esm/core/resources/useCollectionFilterPresetScope.d.ts.map +1 -0
  1412. package/dist/esm/core/resources/useCollectionFilterPresetScope.js +29 -0
  1413. package/dist/esm/core/resources/useCollectionFilterPresetScope.js.map +1 -0
  1414. package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts +7 -6
  1415. package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
  1416. package/dist/esm/core/resources/useHostlessResourceNavigation.js +35 -21
  1417. package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
  1418. package/dist/esm/core/resources/useOperationDirectExecution.d.ts.map +1 -1
  1419. package/dist/esm/core/resources/useOperationDirectExecution.js +25 -10
  1420. package/dist/esm/core/resources/useOperationDirectExecution.js.map +1 -1
  1421. package/dist/esm/core/resources/useRecordSharing.d.ts +58 -0
  1422. package/dist/esm/core/resources/useRecordSharing.d.ts.map +1 -0
  1423. package/dist/esm/core/resources/useRecordSharing.js +220 -0
  1424. package/dist/esm/core/resources/useRecordSharing.js.map +1 -0
  1425. package/dist/esm/core/resources/useResourceLabels.d.ts +4 -1
  1426. package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
  1427. package/dist/esm/core/resources/useResourceLabels.js +31 -32
  1428. package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
  1429. package/dist/esm/core/resources/useResourceOperationActions.d.ts +23 -4
  1430. package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
  1431. package/dist/esm/core/resources/useResourceOperationActions.js +219 -51
  1432. package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
  1433. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts +10 -1
  1434. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts.map +1 -1
  1435. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js +7 -2
  1436. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js.map +1 -1
  1437. package/dist/esm/core/resources/useResourceOperationSurface.d.ts +5 -5
  1438. package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
  1439. package/dist/esm/core/resources/useResourceOperationSurface.js +5 -4
  1440. package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
  1441. package/dist/esm/core/resources/useResourceSelection.d.ts +6 -0
  1442. package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
  1443. package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
  1444. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts +47 -0
  1445. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
  1446. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js +117 -4
  1447. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
  1448. package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
  1449. package/dist/esm/core/runtime/AppRouter.js +5 -2
  1450. package/dist/esm/core/runtime/AppRouter.js.map +1 -1
  1451. package/dist/esm/core/runtime/ApplicationMainContext.d.ts +10 -1
  1452. package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
  1453. package/dist/esm/core/runtime/ApplicationMainContext.js +17 -2
  1454. package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
  1455. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts +5 -0
  1456. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
  1457. package/dist/esm/core/runtime/domain-module.frontend.definitions.js +4 -2
  1458. package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
  1459. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +19 -3
  1460. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
  1461. package/dist/esm/core/runtime/routes.frontend.definitions.js +23 -7
  1462. package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
  1463. package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
  1464. package/dist/esm/core/runtime/start-application.frontend.service.js +3 -1
  1465. package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
  1466. package/dist/esm/core/scope/AppScopeContext.d.ts +7 -2
  1467. package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
  1468. package/dist/esm/core/scope/AppScopeContext.js +56 -10
  1469. package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
  1470. package/dist/esm/core/security/ApplicationRoleTablesContext.d.ts +23 -0
  1471. package/dist/esm/core/security/ApplicationRoleTablesContext.d.ts.map +1 -0
  1472. package/dist/esm/core/security/ApplicationRoleTablesContext.js +27 -0
  1473. package/dist/esm/core/security/ApplicationRoleTablesContext.js.map +1 -0
  1474. package/dist/esm/core/security/AuthSessionContext.d.ts +26 -8
  1475. package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
  1476. package/dist/esm/core/security/AuthSessionContext.js +81 -17
  1477. package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
  1478. package/dist/esm/core/security/RouteOrganizationDecisionContext.d.ts +13 -0
  1479. package/dist/esm/core/security/RouteOrganizationDecisionContext.d.ts.map +1 -0
  1480. package/dist/esm/core/security/RouteOrganizationDecisionContext.js +12 -0
  1481. package/dist/esm/core/security/RouteOrganizationDecisionContext.js.map +1 -0
  1482. package/dist/esm/core/security/StepUpAuthContext.js +5 -5
  1483. package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
  1484. package/dist/esm/core/security/UserOrgsContext.d.ts +13 -0
  1485. package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
  1486. package/dist/esm/core/security/UserOrgsContext.js +272 -103
  1487. package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
  1488. package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts +1 -0
  1489. package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
  1490. package/dist/esm/core/security/auth-redirect.frontend.utils.js +3 -2
  1491. package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
  1492. package/dist/esm/core/security/effective-permissions.frontend.utils.d.ts +43 -0
  1493. package/dist/esm/core/security/effective-permissions.frontend.utils.d.ts.map +1 -0
  1494. package/dist/esm/core/security/effective-permissions.frontend.utils.js +73 -0
  1495. package/dist/esm/core/security/effective-permissions.frontend.utils.js.map +1 -0
  1496. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts +175 -5
  1497. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts.map +1 -1
  1498. package/dist/esm/core/security/route-organization-access.frontend.utils.js +147 -6
  1499. package/dist/esm/core/security/route-organization-access.frontend.utils.js.map +1 -1
  1500. package/dist/esm/core/security/security.frontend.schemas.d.ts +17 -5
  1501. package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
  1502. package/dist/esm/core/security/security.frontend.schemas.js +0 -5
  1503. package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
  1504. package/dist/esm/core/security/useApplicationRoleTables.d.ts +3 -0
  1505. package/dist/esm/core/security/useApplicationRoleTables.d.ts.map +1 -0
  1506. package/dist/esm/core/security/useApplicationRoleTables.js +11 -0
  1507. package/dist/esm/core/security/useApplicationRoleTables.js.map +1 -0
  1508. package/dist/esm/core/security/useRouteOrganizationAccess.d.ts +9 -0
  1509. package/dist/esm/core/security/useRouteOrganizationAccess.d.ts.map +1 -1
  1510. package/dist/esm/core/security/useRouteOrganizationAccess.js +31 -10
  1511. package/dist/esm/core/security/useRouteOrganizationAccess.js.map +1 -1
  1512. package/dist/esm/core/security/useRouteOrganizationFollow.d.ts +24 -0
  1513. package/dist/esm/core/security/useRouteOrganizationFollow.d.ts.map +1 -0
  1514. package/dist/esm/core/security/useRouteOrganizationFollow.js +76 -0
  1515. package/dist/esm/core/security/useRouteOrganizationFollow.js.map +1 -0
  1516. package/dist/esm/core/ui/UIContext.d.ts +25 -2
  1517. package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
  1518. package/dist/esm/core/ui/UIContext.js +49 -37
  1519. package/dist/esm/core/ui/UIContext.js.map +1 -1
  1520. package/dist/esm/core/ui/design-token.utils.d.ts +0 -11
  1521. package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
  1522. package/dist/esm/core/ui/design-token.utils.js +51 -83
  1523. package/dist/esm/core/ui/design-token.utils.js.map +1 -1
  1524. package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
  1525. package/dist/esm/core/ui/themes/default.theme.js +151 -59
  1526. package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
  1527. package/dist/esm/core/ui/themes/focus-indicator.d.ts +221 -0
  1528. package/dist/esm/core/ui/themes/focus-indicator.d.ts.map +1 -0
  1529. package/dist/esm/core/ui/themes/focus-indicator.js +229 -0
  1530. package/dist/esm/core/ui/themes/focus-indicator.js.map +1 -0
  1531. package/dist/esm/core/ui/ui.frontend.schemas.d.ts +7 -0
  1532. package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
  1533. package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
  1534. package/dist/esm/core/ui/useThemePreferenceControl.js +1 -2
  1535. package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
  1536. package/dist/esm/index.d.ts +34 -0
  1537. package/dist/esm/index.d.ts.map +1 -1
  1538. package/dist/esm/index.js +45 -7
  1539. package/dist/esm/index.js.map +1 -1
  1540. package/dist/esm/tailwind/index.d.ts.map +1 -1
  1541. package/dist/esm/tailwind/index.js +3 -0
  1542. package/dist/esm/tailwind/index.js.map +1 -1
  1543. package/dist/esm/testing/app-shell-placement-coverage.d.ts.map +1 -1
  1544. package/dist/esm/testing/app-shell-placement-coverage.js +6 -2
  1545. package/dist/esm/testing/app-shell-placement-coverage.js.map +1 -1
  1546. package/dist/esm/testing/mock-builders.d.ts +13 -1
  1547. package/dist/esm/testing/mock-builders.d.ts.map +1 -1
  1548. package/dist/esm/testing/mock-builders.js +35 -1
  1549. package/dist/esm/testing/mock-builders.js.map +1 -1
  1550. package/dist/esm/testing/rmm-helpers.d.ts +5 -3
  1551. package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
  1552. package/dist/esm/testing/rmm-helpers.js +3 -0
  1553. package/dist/esm/testing/rmm-helpers.js.map +1 -1
  1554. package/dist/esm/testing/test-providers.d.ts.map +1 -1
  1555. package/dist/esm/testing/test-providers.js +3 -0
  1556. package/dist/esm/testing/test-providers.js.map +1 -1
  1557. package/package.json +7 -6
  1558. package/dist/esm/components/flows-actors/flow-node.d.ts +0 -28
  1559. package/dist/esm/components/flows-actors/flow-node.d.ts.map +0 -1
  1560. package/dist/esm/components/flows-actors/flow-node.js +0 -115
  1561. package/dist/esm/components/flows-actors/flow-node.js.map +0 -1
  1562. package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts +0 -30
  1563. package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts.map +0 -1
  1564. package/dist/esm/components/resources/CollectionSelectionHeaderRail.js +0 -17
  1565. package/dist/esm/components/resources/CollectionSelectionHeaderRail.js.map +0 -1
  1566. package/dist/tsconfig.build.tsbuildinfo +0 -1
@@ -3,13 +3,13 @@
3
3
  * Specialized HTTP client for resource-based operations (CRUD)
4
4
  * Extends base WildoBackendHttpClient with resource-specific functionality
5
5
  */
6
- import { formatIdempotencyKeyHeader, respondsWithPerItemRowArray, WildoHeaderKeys } from '@wildo-ai/saas-models';
6
+ import { formatIdempotencyKeyHeader, respondsWithPerItemRowArray, WildoHeaderKeys, isBackgroundAcceptanceAnswer, ResourceOperationBackgroundAcceptanceSchema, isOperationApprovalPendingAnswer, ResourceOperationApprovalPendingSchema } from '@wildo-ai/saas-models';
7
7
  import { z } from 'zod';
8
8
  import { WildoBackendHttpClient } from './wildo-http-client.frontend.service.js';
9
9
  /**
10
- * The per-request timeout for one operation dispatch — the ONE seam all three requestOptions
11
- * assemblies in this file (api-call, api-call-with-callback, search) route through, so a
12
- * long-running variant behaves the same through every dispatch shape and a fourth assembly cannot
10
+ * The per-request timeout for one operation dispatch — the ONE seam both requestOptions
11
+ * assemblies in this file (api-call, search) route through, so a
12
+ * long-running variant behaves the same through every dispatch shape and a third assembly cannot
13
13
  * silently skip the rule (issue #237; invariant-call-site-enumeration: prefer a shared predicate
14
14
  * over N hand-applied spreads).
15
15
  *
@@ -57,6 +57,7 @@ import { FrontendResourceUtils } from '../../core/resources/frontend-resource.ut
57
57
  import { resolveEffectiveCoreOperationFromOperation } from '../../core/resources/operation-semantics.frontend.utils.js';
58
58
  import { ResourceReadCacheFrontendService, renderResourceReadCacheKey, } from '../../core/resources/resource-read-cache.frontend.service.js';
59
59
  import { deriveResourceScopeRoomQualifiers, ResourcePrimaryScope } from '@wildo-ai/saas-models';
60
+ import { isCallerIdentityRecordResource } from '../../core/resources/caller-identity-record.frontend.utils.js';
60
61
  function isScalarContextualParameterValue(value) {
61
62
  return typeof value === 'string' || typeof value === 'number';
62
63
  }
@@ -76,6 +77,18 @@ function isReadFamilyOperation(operation) {
76
77
  || coreOperation === CoreResourceOperation.LIST
77
78
  || coreOperation === CoreResourceOperation.SEARCH;
78
79
  }
80
+ /**
81
+ * Whether this operation WRITES stored state — the question the session re-validation asks (#2541 review).
82
+ *
83
+ * Narrower than "not a read": COUNT is a read that is not in the read family above (`user_self | access_profile`
84
+ * borrows it, and runs on every session restore), and an operation sent as GET is safe by HTTP's own definition.
85
+ * Asking "not a read family" here would renew the token on every page load.
86
+ */
87
+ function writesStoredState(operation) {
88
+ return !isReadFamilyOperation(operation)
89
+ && resolveEffectiveCoreOperationFromOperation(operation) !== CoreResourceOperation.COUNT
90
+ && operation.httpVerb !== HttpMethod.GET;
91
+ }
79
92
  /** Custom DTOs can be remote estimates or one-time disclosures; row events cannot invalidate them. */
80
93
  function isCacheableReadOperation(operation) {
81
94
  return isReadFamilyOperation(operation) && operation.hasCustomResponseDto !== true;
@@ -240,12 +253,18 @@ export class WildoBackendHttpClient_Resources extends WildoBackendHttpClient {
240
253
  if (cacheable) {
241
254
  this.readCache.store(cacheable.key, response, cacheable.resourceType, cacheable.scopes);
242
255
  }
256
+ // A write to the caller's own account may have changed what the session itself may do (deactivating it
257
+ // revokes it), and nothing else would tell this tab until its next request (#2541).
258
+ if (writesStoredState(operation)
259
+ && isCallerIdentityRecordResource(this.resourcesRegistry.resourceConfigurations[operation.resourceIdentifier], this.resourcesRegistry.allResourceFieldIdentifiers)) {
260
+ void this.revalidateSession();
261
+ }
243
262
  return response;
244
263
  });
245
- case ResourceOperationVariantType.API_CALL_WITH_CALLBACK:
246
- return this.executeApiCallWithCallbackOperation(operation, parameters, options);
247
264
  default: {
248
- const _exhaustiveCheck = operation;
265
+ // The discriminant, not the object: with one URL-bearing variant left the operation type is no longer a
266
+ // union, so only `variantType` narrows to `never` here — a new variant still fails to compile at this line.
267
+ const _exhaustiveCheck = operation.variantType;
249
268
  throw this.buildError(ErrorCustomMessageReference.FRONTEND_RESOURCE_UNSUPPORTED_OPERATION_TYPE, operationPathKey, { operationPathKey });
250
269
  }
251
270
  }
@@ -320,6 +339,22 @@ export class WildoBackendHttpClient_Resources extends WildoBackendHttpClient {
320
339
  }
321
340
  return response;
322
341
  }
342
+ /**
343
+ * Validate a request's ANSWER: a background operation's acceptance against its own schema, anything else
344
+ * against the operation's response DTO for the data mode. The operation's `responseDto` describes the row it
345
+ * produces, never the acceptance (#2062 re-review F1), and an acceptance is one object, never a per-item list.
346
+ */
347
+ validateOperationAnswer(operation, dataMode, responseData) {
348
+ if (isBackgroundAcceptanceAnswer(operation, responseData)) {
349
+ return this.validateResponseData(responseData, ResourceOperationBackgroundAcceptanceSchema, undefined, false);
350
+ }
351
+ // #2288: an operation held for another person's approval answers the pending contract, never its row.
352
+ if (isOperationApprovalPendingAnswer(operation, responseData)) {
353
+ return this.validateResponseData(responseData, ResourceOperationApprovalPendingSchema, undefined, false);
354
+ }
355
+ const responseDto = this.selectResponseDto(operation, dataMode);
356
+ return this.validateResponseData(responseData, responseDto, undefined, respondsWithPerItemRowArray(operation));
357
+ }
323
358
  /**
324
359
  * Select the appropriate response DTO based on dataMode
325
360
  * @param operation - The operation configuration
@@ -438,8 +473,7 @@ export class WildoBackendHttpClient_Resources extends WildoBackendHttpClient {
438
473
  }
439
474
  // For URL-bearing operations, match bulk flag (same logic as backend)
440
475
  // Normalize both to boolean: undefined/false ? false, true ? true
441
- if (opPath.variantType === ResourceOperationVariantType.API_CALL
442
- || opPath.variantType === ResourceOperationVariantType.API_CALL_WITH_CALLBACK) {
476
+ if (opPath.variantType === ResourceOperationVariantType.API_CALL) {
443
477
  const opIsBulk = opPath.isBulkOperation === true;
444
478
  const pathIsBulk = operationPath.isBulkOperation === true;
445
479
  return opIsBulk === pathIsBulk;
@@ -514,54 +548,7 @@ export class WildoBackendHttpClient_Resources extends WildoBackendHttpClient {
514
548
  throw this.buildError(ErrorCustomMessageReference.FRONTEND_RESOURCE_UNSUPPORTED_HTTP_METHOD, undefined, { httpMethod: operation.httpVerb, url });
515
549
  }
516
550
  // Select and validate response DTO
517
- const responseDto = this.selectResponseDto(operation, parameters.dataMode);
518
- return this.validateResponseData(responseData, responseDto, undefined, respondsWithPerItemRowArray(operation));
519
- }
520
- /**
521
- * Execute API_CALL_WITH_CALLBACK operation
522
- */
523
- async executeApiCallWithCallbackOperation(operation, parameters, options) {
524
- // Determine which URL to use based on callType
525
- const callType = parameters.callType || 'primaryCall';
526
- const targetDefaultFieldIdentifier = this.resourcesRegistry.resourceConfigurations[operation.resourceIdentifier]?.resourceFieldIdentifier ?? '';
527
- if (callType === 'callbackCall') {
528
- // Use callback URL from initiatorInfos
529
- const { url, missingParameters } = this.buildCallbackUrlFromInitiatorInfos(operation.initiatorInfos || [], parameters.contextualParameters, operation.resourceIdentifier, targetDefaultFieldIdentifier, parameters.parentResourcesRequirements);
530
- // Validate that all required parameters were provided
531
- if (missingParameters.length > 0) {
532
- throw this.buildError(ErrorCustomMessageReference.FRONTEND_RESOURCE_NO_ENDPOINT_AVAILABLE, undefined, {
533
- reason: 'Missing required callback URL parameters',
534
- missingParameters,
535
- availableParameters: Object.keys(parameters.contextualParameters),
536
- url
537
- });
538
- }
539
- const requestOptions = {
540
- ...options,
541
- ...resolveOperationRequestTimeout(options, operation),
542
- ...resolveOperationIdempotencyHeaders(options, operation),
543
- params: parameters.queryParameters,
544
- riskLevel: operation.riskLevel || ResourceOperationRiskLevel.MEDIUM,
545
- resourceType: operation.resourceIdentifier,
546
- operationIdentifier: String(operation.operationIdentifier),
547
- variantKey: operation.variantKey,
548
- isBulkOperation: operation.isBulkOperation,
549
- isOperationDefault: operation.isOperationDefault,
550
- loading: options?.loading ?? {
551
- tier: LoadingTier.COMPONENT,
552
- phase: LoadingPhase.INITIAL,
553
- },
554
- };
555
- // Callback calls are typically POST
556
- const responseData = await this.post(url, parameters.requestData, requestOptions);
557
- // Select and validate response DTO
558
- const responseDto = this.selectResponseDto(operation, parameters.dataMode);
559
- return this.validateResponseData(responseData, responseDto, undefined, respondsWithPerItemRowArray(operation));
560
- }
561
- else {
562
- // Use primary URL (same as regular API_CALL, which already validates)
563
- return this.executeApiCallOperation(operation, parameters, options);
564
- }
551
+ return this.validateOperationAnswer(operation, parameters.dataMode, responseData);
565
552
  }
566
553
  /**
567
554
  * Execute search operation with search-specific parameters.
@@ -631,8 +618,7 @@ export class WildoBackendHttpClient_Resources extends WildoBackendHttpClient {
631
618
  // Search operations are always GET
632
619
  const responseData = await this.get(url, requestOptions);
633
620
  // Select and validate response DTO
634
- const responseDto = this.selectResponseDto(operation, parameters.dataMode);
635
- return this.validateResponseData(responseData, responseDto, undefined, respondsWithPerItemRowArray(operation));
621
+ return this.validateOperationAnswer(operation, parameters.dataMode, responseData);
636
622
  }
637
623
  /**
638
624
  * Select the best matching initiatorInfo based on context.
@@ -670,44 +656,6 @@ export class WildoBackendHttpClient_Resources extends WildoBackendHttpClient {
670
656
  const selected = this.selectInitiatorInfo(initiatorInfos, contextualParameters, targetResourceType, targetDefaultFieldIdentifier, parentResourcesRequirements);
671
657
  return this.buildUrlFromInitiatorInfo(selected, contextualParameters);
672
658
  }
673
- /**
674
- * Build callback URL from initiator infos
675
- */
676
- buildCallbackUrlFromInitiatorInfos(initiatorInfos, contextualParameters, targetResourceType, targetDefaultFieldIdentifier, parentResourcesRequirements) {
677
- if (initiatorInfos.length === 0) {
678
- throw this.buildError(ErrorCustomMessageReference.FRONTEND_RESOURCE_NO_CALLBACK_URL, undefined, { reason: 'No initiator infos available for callback operation' });
679
- }
680
- // Reuse the same candidate-selection semantics as the primary URL path,
681
- // but constrain the pool to callback-capable initiators.
682
- const callbackCandidates = initiatorInfos.filter((info) => info.urlCallback);
683
- const callbackInitiator = callbackCandidates.length > 0
684
- ? this.selectInitiatorInfo(callbackCandidates, contextualParameters, targetResourceType, targetDefaultFieldIdentifier, parentResourcesRequirements)
685
- : undefined;
686
- if (!callbackInitiator) {
687
- throw this.buildError(ErrorCustomMessageReference.FRONTEND_RESOURCE_NO_CALLBACK_URL, undefined, { reason: 'No callback URL defined in any initiator info' });
688
- }
689
- // Build callback URL
690
- let url = callbackInitiator.urlCallback;
691
- const missingParameters = [];
692
- // Replace URL parameters
693
- // Support both {fieldIdentifier} (backend style) and :fieldIdentifier (React Router style)
694
- for (const param of callbackInitiator.parameters) {
695
- const paramValue = contextualParameters[param.fieldIdentifier];
696
- if (isScalarContextualParameterValue(paramValue)) {
697
- // One path segment, so encoded — the same rule and reason as `NavigationUtils.resolveUrlPath` (#1465 review F2).
698
- const paramValueStr = encodeURIComponent(String(paramValue));
699
- // Replace {fieldIdentifier} format (backend style)
700
- url = url.replace(`{${param.fieldIdentifier}}`, paramValueStr);
701
- // Replace :fieldIdentifier format (React Router style) - use word boundary to avoid partial matches
702
- const colonRegex = new RegExp(`:${param.fieldIdentifier.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}(?=[/\\?]|$)`, 'g');
703
- url = url.replace(colonRegex, paramValueStr);
704
- }
705
- else {
706
- missingParameters.push(param.fieldIdentifier);
707
- }
708
- }
709
- return { url, missingParameters };
710
- }
711
659
  /**
712
660
  * Build URL from a single initiator info
713
661
  */
@@ -1 +1 @@
1
- {"version":3,"file":"wildo-http-client-resources.frontend.service.js","sourceRoot":"","sources":["../../../../../src/core/requests/wildo-http-client-resources.frontend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * WildoBackendHttpClient_Resources\n * Specialized HTTP client for resource-based operations (CRUD)\n * Extends base WildoBackendHttpClient with resource-specific functionality\n */\n\nimport { formatIdempotencyKeyHeader, ResourceOperationIdempotencyKeyRequirement, respondsWithPerItemRowArray, WildoHeaderKeys } from '@wildo-ai/saas-models';\nimport { z } from 'zod';\nimport { WildoBackendHttpClient, WildoBackendHttpClientConfig, RequestOptions } from './wildo-http-client.frontend.service';\n\n/**\n * The per-request timeout for one operation dispatch — the ONE seam all three requestOptions\n * assemblies in this file (api-call, api-call-with-callback, search) route through, so a\n * long-running variant behaves the same through every dispatch shape and a fourth assembly cannot\n * silently skip the rule (issue #237; invariant-call-site-enumeration: prefer a shared predicate\n * over N hand-applied spreads).\n *\n * Precedence: caller-supplied `options.timeout` wins; else the variant's declared\n * `clientRequestTimeoutMs`; else empty — the client's instance default applies.\n */\nexport function resolveOperationRequestTimeout(\n options: RequestOptions | undefined,\n operation: { clientRequestTimeoutMs?: number },\n): { timeout: number } | Record<string, never> {\n if (options?.timeout !== undefined) return {}; // already in the caller's spread\n if (operation.clientRequestTimeoutMs !== undefined) return { timeout: operation.clientRequestTimeoutMs };\n return {};\n}\n\n/**\n * One fresh idempotency key. `crypto.randomUUID` exists only in a secure context, so a plain-HTTP origin (a LAN host) lacks it;\n * a key is a request identity rather than a secret, so the non-cryptographic fallback is acceptable, as for the client-install id.\n */\nfunction mintIdempotencyKey(): string {\n if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') return crypto.randomUUID();\n return `ik-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 12)}-${Math.random().toString(36).slice(2, 12)}`;\n}\n\n/**\n * The `Idempotency-Key` for one operation dispatch (#535), through the same single seam as the timeout above.\n *\n * Minted once per CALL for a variant that declares `idempotencyKey`, and placed on the request's own headers. That is what\n * makes the key useful here: the client's automatic retries (5xx, 408, 429, network loss) re-send this same request\n * config, so a mutation whose response was lost is retried under the key it was first sent with, and the server answers\n * with the first outcome. A caller that supplies its own key (for example one minted when the user opened a\n * confirmation, to cover a double-click) keeps it. A variant that does not declare the header never receives one: the\n * server refuses an undeclared key on a mutation rather than silently ignoring it (a read ignores one).\n */\nexport function resolveOperationIdempotencyHeaders(\n options: RequestOptions | undefined,\n operation: { idempotencyKey?: ResourceOperationIdempotencyKeyRequirement },\n): { headers: Record<string, string> } | Record<string, never> {\n if (operation.idempotencyKey === undefined) return {};\n const supplied = Object.keys(options?.headers ?? {}).some((name) => name.toLowerCase() === WildoHeaderKeys.IDEMPOTENCY_KEY);\n if (supplied) return {};\n return { headers: { ...options?.headers, [WildoHeaderKeys.IDEMPOTENCY_KEY]: formatIdempotencyKeyHeader(mintIdempotencyKey()) } };\n}\nimport {\n ResourceConfiguration_Operation_UrlInitiatorInfo,\n ResourceConfiguration_Operation_UrlParameterInfo,\n ResourceConfiguration_OperationPath,\n ResourcesConfig_OperationPathUtils,\n ResourceOperationVariantType,\n HttpMethod,\n ErrorType,\n ErrorCustomMessageReference,\n DataMode,\n CoreResourceOperation,\n ResourcesConfigOperationsDtosBuilderUtils,\n ResourceOperationRiskLevel,\n type Resources_PaginationRequest,\n type ResourceType,\n} from '@wildo-ai/saas-models';\nimport type { FrontendResource_ParentResourceRequirement } from '~wildo-frontend-lib/core/resources/resource-path.frontend.schemas';\nimport type {\n FrontendResourcesRegistry,\n AnyFrontendResourceConfiguration,\n FrontendResourceConfiguration_Operation,\n} from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { ErrorBuilderFrontend } from '~wildo-frontend-lib/core/errors/errors-builder.frontend.services';\nimport { LoadingTier, LoadingPhase } from '~wildo-frontend-lib/core/loading/loading-types.frontend.schemas';\nimport { FrontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport { resolveEffectiveCoreOperationFromOperation } from '~wildo-frontend-lib/core/resources/operation-semantics.frontend.utils';\nimport {\n ResourceReadCacheFrontendService,\n renderResourceReadCacheKey,\n} from '~wildo-frontend-lib/core/resources/resource-read-cache.frontend.service';\nimport { deriveResourceScopeRoomQualifiers, ResourcePrimaryScope } from '@wildo-ai/saas-models';\nimport type { ResourceScopeRoomQualifier } from '@wildo-ai/saas-models';\n\n/**\n * Parameters needed to execute a resource operation\n */\nexport type ResourceContextualParameterValue = string | number | string[];\n\nfunction isScalarContextualParameterValue(\n value: ResourceContextualParameterValue | undefined\n): value is string | number {\n return typeof value === 'string' || typeof value === 'number';\n}\n\nexport interface ResourceOperationCallParameters {\n /** Values for URL parameters (matching initiator.parameters) */\n contextualParameters: Record<string, ResourceContextualParameterValue>;\n /** Request body data (for POST/PUT operations) */\n requestData?: any;\n /** Query parameters (for search operations and GET requests) */\n queryParameters?: Record<string, any>;\n /** For callback operations: 'primaryCall' | 'callbackCall' */\n callType?: 'primaryCall' | 'callbackCall';\n /** \n * Parent resource requirements for deterministic URL selection.\n * Used to select the correct endpoint when multiple URLs are available.\n * Should be passed from resourceContext.parentResourcesRequirements.\n */\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[];\n /**\n * Data mode controlling fields returned and population behavior.\n * - RAW: All stored fields, no population (default)\n * - SUMMARY: Summary fields only, populate isSummaryField({ populate: true }) FKs\n * - CONTEXT: All fields, populate based on contextPolicy\n */\n dataMode?: DataMode;\n}\n\n/**\n * Search-specific parameters extending base operation parameters\n */\nexport interface ResourceSearchCallParameters extends ResourceOperationCallParameters {\n /** Search query string */\n searchQuery?: string;\n /** Filter parameters */\n filters?: Record<string, any>;\n /** Sort configuration */\n sort?: { field: string; direction: 'asc' | 'desc' }[];\n /** Pagination */\n pagination?: Resources_PaginationRequest;\n // Note: dataMode is inherited from ResourceOperationCallParameters\n}\n\n/**\n * Result of URL building process\n */\ninterface UrlBuildResult {\n url: string;\n missingParameters: string[];\n}\n\n/**\n * Specialized HTTP client for resource-based operations\n * Should only be used through ResourceRepositoryContext\n */\n/**\n * Whether this operation READS, in the sense that its result is a projection of stored rows.\n *\n * Module-scoped rather than a method because it is a pure question about the operation, and because\n * it is the predicate a reader has to check when asking why something was or was not cached.\n */\nfunction isReadFamilyOperation(operation: FrontendResourceConfiguration_Operation): boolean {\n const coreOperation = resolveEffectiveCoreOperationFromOperation(operation);\n return coreOperation === CoreResourceOperation.READ\n || coreOperation === CoreResourceOperation.LIST\n || coreOperation === CoreResourceOperation.SEARCH;\n}\n\n/** Custom DTOs can be remote estimates or one-time disclosures; row events cannot invalidate them. */\nfunction isCacheableReadOperation(operation: FrontendResourceConfiguration_Operation): boolean {\n return isReadFamilyOperation(operation) && operation.hasCustomResponseDto !== true;\n}\n\nexport class WildoBackendHttpClient_Resources extends WildoBackendHttpClient {\n private resourcesRegistry: FrontendResourcesRegistry;\n private errorBuilder: ErrorBuilderFrontend;\n\n constructor(\n resourcesRegistry: FrontendResourcesRegistry,\n config: WildoBackendHttpClientConfig = {}\n ) {\n super(config);\n this.resourcesRegistry = resourcesRegistry;\n this.errorBuilder = new ErrorBuilderFrontend();\n }\n\n /**\n * Build a WildoError for frontend resource operations\n */\n private buildError(\n customMessageReference: ErrorCustomMessageReference,\n operationPathKey?: string,\n context?: Record<string, any>\n ): Error {\n const wildoError = this.errorBuilder.buildWildoError_Frontend(\n ErrorType.INTERNAL,\n { customMessageReference, operationPathKey, context }\n );\n // Attach the WildoError to the Error for downstream handling\n const error = new Error(customMessageReference);\n (error as any).wildoError = wildoError;\n return error;\n }\n\n /**\n * Execute a resource operation using operation path\n * @param operationPathKey - String representation of the operation path\n * @param parameters - Parameters needed for the operation\n * @param options - Additional request options\n */\n /**\n * The engine-wide read cache for resource operations.\n *\n * Held on this service because it is the one object both read paths reach, and because it must\n * outlive any React tree — a cache that died with a route would answer the question this exists\n * to answer (\"was this surface visited before?\") with \"no\" every time.\n */\n private readonly readCache = new ResourceReadCacheFrontendService();\n\n /** The cache tier, for the WebSocket layer to install coverage into and invalidate through. */\n public getReadCache(): ResourceReadCacheFrontendService {\n return this.readCache;\n }\n\n /**\n * The cache identity of a READ, and the scope rooms that would carry its invalidation.\n *\n * Called only for operations `isCacheableReadOperation` already admitted — the two entry points\n * being `doOperation` and `executeSearchOperation`, which is the whole read family — so it answers\n * the narrower question: can this particular CALL be keyed, and what covers it?\n *\n * `null` means \"run it and cache nothing\" — for parameters that cannot be rendered into a stable\n * key (a cycle, a function in a filter), or for an operation carrying no primary scope. Neither is\n * an error, and neither invalidates anything: a read we cannot key must not evict a resource that\n * other readers are using.\n */\n private resolveCacheableRead(\n operationPathKey: string,\n operation: FrontendResourceConfiguration_Operation,\n parameters: ResourceOperationCallParameters,\n ): { key: string; resourceType: string; scopes: ResourceScopeRoomQualifier[] } | null {\n const resourceType = operation.resourceIdentifier as string;\n const key = renderResourceReadCacheKey(operationPathKey, parameters);\n if (key === null) return null;\n\n // The primary scope is carried on the OPERATION, which is the same object the URL was built\n // from — so there is no second lookup that could disagree with it.\n const primaryScope = operation.resourcePrimaryScope;\n if (!primaryScope) return null;\n\n /*\n * Scope ids come from the call's own contextual parameters, which is what the URL was built from\n * — so the rooms derived here are the rooms a mutation on this very path would emit into. Values\n * are narrowed to strings because a room id is a string; a numeric parameter is stringified\n * rather than dropped, since the backend's own context map is string-valued.\n */\n const contextResourceIdentifiers: Record<string, string> = {};\n for (const [name, value] of Object.entries(parameters.contextualParameters ?? {})) {\n if (typeof value === 'string') contextResourceIdentifiers[name] = value;\n else if (typeof value === 'number') contextResourceIdentifiers[name] = String(value);\n }\n\n /*\n * An APPLICATION-scoped resource's scope is AMBIENT, never addressed — no URL carries an\n * application id, so the loop above can never produce one and `deriveResourceScopeRoomQualifiers`\n * would fall through to whatever incidental `org`/`user` rooms the parameters imply.\n *\n * That is not a cosmetic miss. Measured 2026-09-03 (issue #283): the workbench subscribed to\n * `org` and `user` for `workbenchDomainResources` — an APPLICATION-scoped resource — and was\n * confirmed in both, while the companion published to the `app` room. Correct producer, correct\n * subscriber, different rooms, zero frames.\n */\n if (primaryScope === ResourcePrimaryScope.APPLICATION) {\n /*\n * Absent is TOLERATED, deliberately. Refusing to cache without it was tried and is strictly\n * worse: it disabled the tier for every APPLICATION-scoped resource wherever the ambient id is\n * not published, which is a regression in exchange for nothing. Without it the entry simply\n * derives whatever rooms its parameters imply and does not hear the application-room push —\n * the behaviour that existed before this change.\n */\n const applicationId = this.readCache.getApplicationId();\n if (applicationId) contextResourceIdentifiers.applicationId = applicationId;\n }\n\n /*\n * An ORGANIZATIONS-scoped read issued before the route has published its organization id derives\n * no `org` room — only the incidental `user` one the generic loop produces — and is then cached\n * under a room no org invalidation is addressed to. Unlike the application case above the id is\n * normally ADDRESSED, so this covers a hydration window rather than a permanent absence.\n *\n * Gated on the primary scope, exactly as the application branch is: injecting an ambient\n * organization id into a USER_SELF or APPLICATION read would add a room it never had, which is a\n * behaviour change rather than a fix.\n */\n if (primaryScope === ResourcePrimaryScope.ORGANIZATIONS && !contextResourceIdentifiers.organizationId) {\n const organizationId = this.readCache.getOrganizationId();\n if (organizationId) contextResourceIdentifiers.organizationId = organizationId;\n }\n\n return {\n key,\n resourceType,\n scopes: deriveResourceScopeRoomQualifiers(contextResourceIdentifiers, primaryScope),\n };\n }\n\n public async doOperation<TResponse = any>(\n operationPathKey: string,\n parameters: ResourceOperationCallParameters,\n options?: RequestOptions\n ): Promise<TResponse> {\n // Parse and validate operation path\n const operationPath = ResourcesConfig_OperationPathUtils.parseOperationPathKey(operationPathKey);\n \n // Find the operation in the registry\n const operation = this.findOperation(operationPath);\n if (!operation) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_OPERATION_NOT_FOUND,\n operationPathKey,\n { operationPathKey }\n );\n }\n\n /*\n * Read-through cache (issue #240).\n *\n * Placed here rather than in the React layer because BOTH read paths converge on this service —\n * `ResourceRegistryContext.doOperation` and, through the ref it injects, every RMM's\n * `HttpTransportAdapter`. Caching one layer up would leave the other uncached and the two\n * disagreeing about the same row.\n *\n * A MUTATION drops the resource's entries before it runs. The server echo is not enough on its\n * own: it arrives asynchronously and, for the initiator, may be filtered as its own event — so a\n * caller that writes and immediately re-reads would otherwise be served the value it just\n * replaced.\n */\n const isReadFamily = isReadFamilyOperation(operation);\n if (!isReadFamily) {\n // A MUTATION drops this resource's entries before it runs. The server echo is not enough on\n // its own: it arrives asynchronously and, for the initiator, may be filtered as its own event\n // — so a caller that writes and immediately re-reads would otherwise be served the value it\n // just replaced. A read we merely cannot KEY must not land here, or every such read would\n // evict the resource for everyone.\n this.readCache.invalidateResourceType(operation.resourceIdentifier as string);\n }\n\n const cacheable = isCacheableReadOperation(operation)\n ? this.resolveCacheableRead(operationPathKey, operation, parameters)\n : null;\n if (cacheable) {\n const cached = this.readCache.read(cacheable.key);\n if (cached !== undefined) {\n return structuredClone(cached) as TResponse;\n }\n }\n\n // Handle different operation types\n switch (operation.variantType) {\n case ResourceOperationVariantType.API_CALL:\n return this.executeApiCallOperation(operation, parameters, options).then((response) => {\n if (cacheable) {\n this.readCache.store(cacheable.key, response, cacheable.resourceType, cacheable.scopes);\n }\n return response;\n }) as Promise<TResponse>;\n \n case ResourceOperationVariantType.API_CALL_WITH_CALLBACK:\n return this.executeApiCallWithCallbackOperation(operation, parameters, options);\n \n default: {\n const _exhaustiveCheck: never = operation;\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_UNSUPPORTED_OPERATION_TYPE,\n operationPathKey,\n { operationPathKey }\n );\n }\n }\n }\n\n /**\n * Execute a search operation with additional search parameters\n * @param operationPathKey - String representation of the search operation path\n * @param parameters - Search parameters\n * @param options - Additional request options\n */\n public async executeSearchOperation<TResponse = any>(\n operationPathKey: string,\n parameters: ResourceSearchCallParameters,\n options?: RequestOptions\n ): Promise<TResponse> {\n // Parse and validate operation path\n const operationPath = ResourcesConfig_OperationPathUtils.parseOperationPathKey(operationPathKey);\n \n // Find the search operation\n const operation = this.findOperation(operationPath);\n if (!operation) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_OPERATION_NOT_FOUND,\n operationPathKey,\n { operationPathKey, operationType: 'search' }\n );\n }\n\n // Verify it carries SEARCH semantics, including custom search-like operations.\n if (resolveEffectiveCoreOperationFromOperation(operation) !== CoreResourceOperation.SEARCH) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_SEARCH_OPERATION_INVALID,\n operationPathKey,\n { operationPathKey, actualOperationIdentifier: operation.operationIdentifier }\n );\n }\n\n /*\n * The SAME read-through cache `doOperation` applies, because a SEARCH is the same kind of read.\n *\n * ## Why SEARCH was uncached, and why that was an accident rather than a decision\n *\n * `ResourceRegistryContext.doOperation` routes a SEARCH here instead of to `doOperation`, and the\n * cache block lived only there — so a collection surface served by a SEARCH got none of the tier,\n * silently, with no diagnostic and nothing in the tier's own prose saying so. Nothing about SEARCH\n * justified the exclusion: it is a projection of stored rows, it derives its scope rooms from the\n * same contextual parameters and primary scope as a LIST on the same resource, and it is\n * invalidated by the same per-resource-type channel. The asymmetry was an artefact of the routing.\n *\n * ## The key, and the churn question that decided it\n *\n * `renderResourceReadCacheKey` is total over any parameters object — sorted keys, cycle-safe,\n * refusing what it cannot render — so the search body varies the key exactly as page, limit, sort\n * and filter already do. The real objection to caching a search is CARDINALITY: a typeahead\n * produces a distinct key per query and could evict everything else. It does not, and the tier\n * already says why — eviction is least-recently-USED, \"so an entry a surface keeps reading\n * survives while a page visited once does not\". A one-shot query evicts itself first.\n *\n * ## What did NOT change\n *\n * Coverage. A SEARCH entry is servable only while every room it belongs to is joined and\n * CONFIRMED, exactly like a LIST, so the safety contract is untouched and an unscoped search is\n * still refused at the door by `store()`.\n *\n * Both entry points gate on the SAME `isCacheableReadOperation`, and that is not decoration. The\n * first version of this called `resolveCacheableRead` directly here, which made the predicate\n * INERT on the search path — two mechanisms deciding one question, with the one a reader would\n * check having no effect on the path they were reading about. A mutation removing SEARCH from the\n * predicate changed nothing, which is how that was found.\n *\n * Widening the shared predicate rather than adding a second one also removes a latent defect on\n * the other path: a SEARCH reaching `doOperation` was previously NOT read-family, so it took the\n * mutation branch and INVALIDATED its own resource type. Unreachable through the registry today,\n * and wrong wherever it became reachable.\n */\n const cacheable = isCacheableReadOperation(operation)\n ? this.resolveCacheableRead(operationPathKey, operation, parameters)\n : null;\n if (cacheable) {\n const cached = this.readCache.read(cacheable.key);\n if (cached !== undefined) return structuredClone(cached) as TResponse;\n }\n\n const response = await this.executeSearchOperationInternal<TResponse>(operation, parameters, options);\n if (cacheable) {\n this.readCache.store(cacheable.key, response, cacheable.resourceType, cacheable.scopes);\n }\n return response;\n }\n\n /**\n * Select the appropriate response DTO based on dataMode\n * @param operation - The operation configuration\n * @param dataMode - The data mode (RAW, SUMMARY, CONTEXT)\n * @returns The selected Zod schema for validation, or null if no DTO is available\n */\n private selectResponseDto(\n operation: FrontendResourceConfiguration_Operation,\n dataMode?: DataMode\n ): z.ZodSchema<any> | null {\n const selected = ResourcesConfigOperationsDtosBuilderUtils.selectResponseDto(operation, dataMode);\n \n // Validate that the returned value is actually a Zod schema\n // If it's not a valid schema (undefined, null, or non-schema object), return null\n if (!selected || typeof selected !== 'object' || typeof selected.parse !== 'function') {\n return null;\n }\n \n return selected as z.ZodSchema<any>;\n }\n\n /**\n * Validate response data against the selected DTO\n * @param responseData - The response data to validate\n * @param schema - The Zod schema to validate against\n * @param operationPathKey - Optional operation path key for error context\n * @returns Validated response data\n * @throws Error if validation fails\n */\n private validateResponseData<TResponse>(\n responseData: any,\n schema: z.ZodSchema<any> | null,\n operationPathKey?: string,\n /**\n * The operation answers an ARRAY OF ROWS whose `responseDto` is the per-item row schema — a bulk\n * create/update, literal or a bulk variant (`respondsWithPerItemRowArray`, the rule the backend's\n * output parse and serializer use too). Parsing the whole array against the row schema refused\n * every correct multi-row bulk response.\n */\n perItemRowArray: boolean = false,\n ): TResponse {\n // If no schema is available, return data as-is (backward compatibility)\n if (!schema) {\n return responseData as TResponse;\n }\n\n try {\n const parsed = (perItemRowArray && Array.isArray(responseData)\n ? responseData.map((item: unknown) => schema.parse(item))\n : schema.parse(responseData)) as TResponse;\n // `_version` (optimistic-locking counter) and `_field_meta` (CRDT causality) are engine\n // metadata NOT declared in any resource schema, so this `schema.parse` strips them — the\n // symmetric client-side counterpart of the two backend parses (services-registry-handler\n // `transformOutput` + operation-response-serializer). They must survive: the Resource\n // Mutation Manager seeds its optimistic-locking version from the READ response\n // (`ResourceAutomaticDisplayer` → `rmm.setInitialState(row, row._version ?? 0)`) and echoes\n // it as `If-Match` on inline updates. Stripped here, the RMM seeds `0`, so every inline\n // update sends `If-Match: 0` and the server (at a real version) 409s permanently.\n WildoBackendHttpClient_Resources.reattachEngineMetadata(responseData, parsed);\n return parsed;\n } catch (error) {\n if (error instanceof z.ZodError) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_RESPONSE_VALIDATION_FAILED,\n operationPathKey,\n {\n validationErrors: error.issues,\n responseData: responseData\n }\n );\n }\n throw error;\n }\n }\n\n /**\n * Reattach engine metadata (`_version`, `_field_meta`) that a strict responseDto parse strips,\n * from the raw wire payload onto the parsed result. Recurses into flat arrays (LIST) and\n * `{ data: [...] }` paginated wrappers so every item keeps its optimistic-locking version.\n */\n private static reattachEngineMetadata(source: unknown, parsed: unknown): void {\n if (!source || typeof source !== 'object' || !parsed || typeof parsed !== 'object') return;\n\n if (Array.isArray(source) && Array.isArray(parsed)) {\n for (let i = 0; i < parsed.length; i++) {\n WildoBackendHttpClient_Resources.reattachEngineMetadata(source[i], parsed[i]);\n }\n return;\n }\n\n const sourceRecord = source as Record<string, unknown>;\n const parsedRecord = parsed as Record<string, unknown>;\n\n if (Array.isArray(sourceRecord.data) && Array.isArray(parsedRecord.data)) {\n const sourceItems = sourceRecord.data;\n const parsedItems = parsedRecord.data;\n for (let i = 0; i < parsedItems.length; i++) {\n WildoBackendHttpClient_Resources.reattachEngineMetadata(sourceItems[i], parsedItems[i]);\n }\n }\n\n for (const key of ['_field_meta', '_version'] as const) {\n if (sourceRecord[key] !== undefined && parsedRecord[key] === undefined) {\n parsedRecord[key] = sourceRecord[key];\n }\n }\n }\n\n /**\n * Find an operation in the registry based on operation path\n */\n private findOperation(operationPath: ResourceConfiguration_OperationPath<any, any>): FrontendResourceConfiguration_Operation | null {\n const resourceConfig = this.resourcesRegistry.resourceConfigurations[operationPath.resourceIdentifier];\n if (!resourceConfig) {\n return null;\n }\n\n // Find matching operation (using same logic as backend)\n const foundOp = resourceConfig.operations.find((op: any) => {\n const opPath = ResourcesConfig_OperationPathUtils.extractOperationPath(op);\n \n // Basic field matching\n if (opPath.operationIdentifier !== operationPath.operationIdentifier) return false;\n if (opPath.variantType !== operationPath.variantType) return false;\n \n // Match default/variant key\n if (operationPath.isOperationDefault) {\n if (!opPath.isOperationDefault) return false;\n } else {\n const expectedVariantKey = operationPath.variantKey;\n const actualVariantKey = opPath.variantKey;\n if ((actualVariantKey ?? undefined) !== (expectedVariantKey ?? undefined)) return false;\n }\n \n // For URL-bearing operations, match bulk flag (same logic as backend)\n // Normalize both to boolean: undefined/false ? false, true ? true\n if (\n opPath.variantType === ResourceOperationVariantType.API_CALL\n || opPath.variantType === ResourceOperationVariantType.API_CALL_WITH_CALLBACK\n ) {\n const opIsBulk = opPath.isBulkOperation === true;\n const pathIsBulk = operationPath.isBulkOperation === true;\n return opIsBulk === pathIsBulk;\n }\n \n return true;\n }) || null;\n \n return foundOp;\n }\n\n /**\n * Execute API_CALL operation\n */\n private async executeApiCallOperation<TResponse>(\n operation: FrontendResourceConfiguration_Operation,\n parameters: ResourceOperationCallParameters,\n options?: RequestOptions\n ): Promise<TResponse> {\n const targetDefaultFieldIdentifier =\n this.resourcesRegistry.resourceConfigurations[operation.resourceIdentifier]?.resourceFieldIdentifier ?? '';\n\n // Build URL from initiatorInfos and contextual parameters with deterministic selection\n const { url, missingParameters } = this.buildUrlFromInitiatorInfos(\n operation.initiatorInfos || [], \n parameters.contextualParameters,\n operation.resourceIdentifier,\n targetDefaultFieldIdentifier,\n parameters.parentResourcesRequirements\n );\n\n // Validate that all required parameters were provided\n if (missingParameters.length > 0) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_NO_ENDPOINT_AVAILABLE,\n undefined,\n {\n reason: 'Missing required URL parameters',\n missingParameters,\n availableParameters: Object.keys(parameters.contextualParameters),\n url\n }\n );\n }\n\n // Build query parameters, including dataMode if specified\n const queryParams = { ...parameters.queryParameters };\n if (parameters.dataMode) {\n queryParams.dataMode = parameters.dataMode;\n }\n\n // Prepare request options with error handling context\n // The riskLevel from the operation affects how errors are handled globally\n const requestOptions: RequestOptions = {\n ...options,\n ...resolveOperationRequestTimeout(options, operation),\n ...resolveOperationIdempotencyHeaders(options, operation),\n params: queryParams,\n riskLevel: operation.riskLevel || ResourceOperationRiskLevel.MEDIUM,\n resourceType: operation.resourceIdentifier,\n operationIdentifier: String(operation.operationIdentifier),\n variantKey: operation.variantKey,\n isBulkOperation: operation.isBulkOperation,\n isOperationDefault: operation.isOperationDefault,\n loading: options?.loading ?? {\n tier: LoadingTier.COMPONENT,\n phase: LoadingPhase.INITIAL,\n },\n };\n\n // Execute based on HTTP method and validate response\n let responseData: any;\n switch (operation.httpVerb) {\n case HttpMethod.GET:\n responseData = await this.get<TResponse>(url, requestOptions);\n break;\n \n case HttpMethod.POST:\n responseData = await this.post<TResponse>(url, parameters.requestData, requestOptions);\n break;\n \n case HttpMethod.PUT:\n responseData = await this.put<TResponse>(url, parameters.requestData, requestOptions);\n break;\n \n case HttpMethod.DELETE:\n // A DELETE carries its body through the axios CONFIG, not a positional argument. Dropping\n // `requestData` here made every BULK delete unaddressable: the selector `{ _ids: [...] }`\n // never left the browser, so the server answered `id_or_ids_or_filter` missing while the\n // action bar reported a plain validation failure (#1467). The spread is conditional so a\n // single DELETE, which has no `requestData`, still sends no body.\n responseData = await this.delete<TResponse>(\n url,\n parameters.requestData === undefined ? requestOptions : { ...requestOptions, data: parameters.requestData },\n );\n break;\n \n case HttpMethod.PATCH:\n responseData = await this.patch<TResponse>(url, parameters.requestData, requestOptions);\n break;\n \n default:\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_UNSUPPORTED_HTTP_METHOD,\n undefined,\n { httpMethod: operation.httpVerb, url }\n );\n }\n\n // Select and validate response DTO\n const responseDto = this.selectResponseDto(operation, parameters.dataMode);\n return this.validateResponseData<TResponse>(responseData, responseDto, undefined, respondsWithPerItemRowArray(operation));\n }\n\n /**\n * Execute API_CALL_WITH_CALLBACK operation\n */\n private async executeApiCallWithCallbackOperation<TResponse>(\n operation: FrontendResourceConfiguration_Operation,\n parameters: ResourceOperationCallParameters,\n options?: RequestOptions\n ): Promise<TResponse> {\n // Determine which URL to use based on callType\n const callType = parameters.callType || 'primaryCall';\n const targetDefaultFieldIdentifier =\n this.resourcesRegistry.resourceConfigurations[operation.resourceIdentifier]?.resourceFieldIdentifier ?? '';\n \n if (callType === 'callbackCall') {\n // Use callback URL from initiatorInfos\n const { url, missingParameters } = this.buildCallbackUrlFromInitiatorInfos(\n operation.initiatorInfos || [],\n parameters.contextualParameters,\n operation.resourceIdentifier,\n targetDefaultFieldIdentifier,\n parameters.parentResourcesRequirements,\n );\n \n // Validate that all required parameters were provided\n if (missingParameters.length > 0) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_NO_ENDPOINT_AVAILABLE,\n undefined,\n {\n reason: 'Missing required callback URL parameters',\n missingParameters,\n availableParameters: Object.keys(parameters.contextualParameters),\n url\n }\n );\n }\n \n const requestOptions: RequestOptions = {\n ...options,\n ...resolveOperationRequestTimeout(options, operation),\n ...resolveOperationIdempotencyHeaders(options, operation),\n params: parameters.queryParameters,\n riskLevel: operation.riskLevel || ResourceOperationRiskLevel.MEDIUM,\n resourceType: operation.resourceIdentifier,\n operationIdentifier: String(operation.operationIdentifier),\n variantKey: operation.variantKey,\n isBulkOperation: operation.isBulkOperation,\n isOperationDefault: operation.isOperationDefault,\n loading: options?.loading ?? {\n tier: LoadingTier.COMPONENT,\n phase: LoadingPhase.INITIAL,\n },\n };\n\n // Callback calls are typically POST\n const responseData = await this.post<TResponse>(url, parameters.requestData, requestOptions);\n \n // Select and validate response DTO\n const responseDto = this.selectResponseDto(operation, parameters.dataMode);\n return this.validateResponseData<TResponse>(responseData, responseDto, undefined, respondsWithPerItemRowArray(operation));\n } else {\n // Use primary URL (same as regular API_CALL, which already validates)\n return this.executeApiCallOperation(operation, parameters, options);\n }\n }\n\n /**\n * Execute search operation with search-specific parameters.\n * Operation is typed as FrontendResourceConfiguration_Operation; at runtime it is always\n * a SEARCH operation (verified by caller) with flattened collection-view fields.\n */\n private async executeSearchOperationInternal<TResponse>(\n operation: FrontendResourceConfiguration_Operation,\n parameters: ResourceSearchCallParameters,\n options?: RequestOptions\n ): Promise<TResponse> {\n const op = operation as {\n initiatorInfos?: ResourceConfiguration_Operation_UrlInitiatorInfo[];\n filterFields?: Record<string, unknown>;\n maxPaginatedResultPerPageLimit?: number;\n riskLevel?: ResourceOperationRiskLevel;\n clientRequestTimeoutMs?: number;\n resourceIdentifier?: string;\n operationIdentifier?: string;\n };\n const targetResourceType = String(op.resourceIdentifier) as ResourceType;\n const targetDefaultFieldIdentifier =\n this.resourcesRegistry.resourceConfigurations[targetResourceType]?.resourceFieldIdentifier ?? '';\n\n // Build URL from initiatorInfos with deterministic selection\n const { url, missingParameters } = this.buildUrlFromInitiatorInfos(\n op.initiatorInfos || [],\n parameters.contextualParameters,\n targetResourceType,\n targetDefaultFieldIdentifier,\n parameters.parentResourcesRequirements\n );\n \n // Validate that all required parameters were provided\n if (missingParameters.length > 0) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_NO_ENDPOINT_AVAILABLE,\n undefined,\n {\n reason: 'Missing required URL parameters',\n missingParameters,\n availableParameters: Object.keys(parameters.contextualParameters),\n url\n }\n );\n }\n\n // Build search query parameters\n const searchParams: Record<string, any> = {\n ...parameters.queryParameters\n };\n\n // Add dataMode if specified (not RAW)\n if (parameters.dataMode && parameters.dataMode !== DataMode.RAW) {\n searchParams.dataMode = parameters.dataMode;\n }\n\n // Add search query if provided\n if (parameters.searchQuery) {\n searchParams.q = parameters.searchQuery;\n }\n\n // Add filters if provided\n if (parameters.filters && op.filterFields) {\n Object.entries(parameters.filters).forEach(([key, value]) => {\n if (op.filterFields![key]) {\n searchParams[key] = value;\n }\n });\n }\n\n // Add sorting if provided\n if (parameters.sort && parameters.sort.length > 0) {\n searchParams.sort = parameters.sort.map(s => `${s.field}:${s.direction}`).join(',');\n }\n\n // Add pagination if provided\n if (parameters.pagination) {\n searchParams.page = parameters.pagination.page;\n const maxLimit = op.maxPaginatedResultPerPageLimit ?? 50;\n searchParams.limit = Math.min(parameters.pagination.limit, maxLimit);\n }\n\n const requestOptions: RequestOptions = {\n ...options,\n ...resolveOperationRequestTimeout(options, op),\n params: searchParams,\n riskLevel: op.riskLevel || ResourceOperationRiskLevel.MEDIUM,\n resourceType: op.resourceIdentifier,\n operationIdentifier: String(op.operationIdentifier),\n variantKey: operation.variantKey,\n isBulkOperation: operation.isBulkOperation,\n isOperationDefault: operation.isOperationDefault,\n loading: options?.loading ?? {\n tier: LoadingTier.COMPONENT,\n phase: LoadingPhase.INITIAL,\n },\n };\n\n // Search operations are always GET\n const responseData = await this.get<TResponse>(url, requestOptions);\n\n // Select and validate response DTO\n const responseDto = this.selectResponseDto(operation, parameters.dataMode);\n return this.validateResponseData<TResponse>(responseData, responseDto, undefined, respondsWithPerItemRowArray(operation));\n }\n\n /**\n * Select the best matching initiatorInfo based on context.\n *\n * The deterministic selection algorithm lives in\n * `FrontendResourceUtils.selectOperationUrlInitiatorInfo` — shared with\n * non-transport consumers (e.g. the filters layer derives URL-pinned filter\n * fields from the same selection). This wrapper owns only the transport\n * error semantics: an unsatisfiable selection is a hard\n * FRONTEND_RESOURCE_NO_ENDPOINT_AVAILABLE failure here.\n */\n private selectInitiatorInfo(\n initiatorInfos: ResourceConfiguration_Operation_UrlInitiatorInfo[],\n contextualParameters: Record<string, ResourceContextualParameterValue>,\n targetResourceType: ResourceType,\n targetDefaultFieldIdentifier: string,\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[]\n ): ResourceConfiguration_Operation_UrlInitiatorInfo {\n\n if (initiatorInfos.length === 0) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_NO_ENDPOINT_AVAILABLE,\n undefined,\n { reason: 'No initiator infos available for this operation' }\n );\n }\n\n const selected = FrontendResourceUtils.selectOperationUrlInitiatorInfo({\n initiatorInfos,\n contextualParameters,\n targetResourceType,\n targetDefaultFieldIdentifier,\n parentResourcesRequirements,\n });\n\n if (!selected) {\n const available = Object.keys(contextualParameters).join(', ');\n const required = initiatorInfos.map(i =>\n i.parameters.map(p => p.fieldIdentifier).join(', ')\n ).join(' OR ');\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_NO_ENDPOINT_AVAILABLE,\n undefined,\n { availableParams: available, requiredParams: required }\n );\n }\n\n return selected;\n }\n\n /**\n * Build URL from initiator infos and contextual parameters.\n * Uses deterministic selection algorithm with parentResourcesRequirements.\n */\n private buildUrlFromInitiatorInfos(\n initiatorInfos: ResourceConfiguration_Operation_UrlInitiatorInfo[],\n contextualParameters: Record<string, ResourceContextualParameterValue>,\n targetResourceType: ResourceType,\n targetDefaultFieldIdentifier: string,\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[]\n ): UrlBuildResult {\n const selected = this.selectInitiatorInfo(\n initiatorInfos, \n contextualParameters, \n targetResourceType,\n targetDefaultFieldIdentifier,\n parentResourcesRequirements\n );\n \n return this.buildUrlFromInitiatorInfo(selected, contextualParameters);\n }\n\n /**\n * Build callback URL from initiator infos\n */\n private buildCallbackUrlFromInitiatorInfos(\n initiatorInfos: ResourceConfiguration_Operation_UrlInitiatorInfo[],\n contextualParameters: Record<string, ResourceContextualParameterValue>,\n targetResourceType: ResourceType,\n targetDefaultFieldIdentifier: string,\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[]\n ): UrlBuildResult {\n if (initiatorInfos.length === 0) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_NO_CALLBACK_URL,\n undefined,\n { reason: 'No initiator infos available for callback operation' }\n );\n }\n\n // Reuse the same candidate-selection semantics as the primary URL path,\n // but constrain the pool to callback-capable initiators.\n const callbackCandidates = initiatorInfos.filter((info) => info.urlCallback);\n const callbackInitiator = callbackCandidates.length > 0\n ? this.selectInitiatorInfo(\n callbackCandidates,\n contextualParameters,\n targetResourceType,\n targetDefaultFieldIdentifier,\n parentResourcesRequirements,\n )\n : undefined;\n if (!callbackInitiator) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_NO_CALLBACK_URL,\n undefined,\n { reason: 'No callback URL defined in any initiator info' }\n );\n }\n\n // Build callback URL\n let url = callbackInitiator.urlCallback!;\n const missingParameters: string[] = [];\n\n // Replace URL parameters\n // Support both {fieldIdentifier} (backend style) and :fieldIdentifier (React Router style)\n for (const param of callbackInitiator.parameters) {\n const paramValue = contextualParameters[param.fieldIdentifier];\n if (isScalarContextualParameterValue(paramValue)) {\n // One path segment, so encoded — the same rule and reason as `NavigationUtils.resolveUrlPath` (#1465 review F2).\n const paramValueStr = encodeURIComponent(String(paramValue));\n // Replace {fieldIdentifier} format (backend style)\n url = url.replace(`{${param.fieldIdentifier}}`, paramValueStr);\n // Replace :fieldIdentifier format (React Router style) - use word boundary to avoid partial matches\n const colonRegex = new RegExp(`:${param.fieldIdentifier.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')}(?=[/\\\\?]|$)`, 'g');\n url = url.replace(colonRegex, paramValueStr);\n } else {\n missingParameters.push(param.fieldIdentifier);\n }\n }\n\n return { url, missingParameters };\n }\n\n /**\n * Build URL from a single initiator info\n */\n private buildUrlFromInitiatorInfo(\n initiatorInfo: ResourceConfiguration_Operation_UrlInitiatorInfo,\n contextualParameters: Record<string, ResourceContextualParameterValue>\n ): UrlBuildResult {\n let url = initiatorInfo.url;\n const missingParameters: string[] = [];\n\n // Replace URL parameters with contextual values\n // Support both {fieldIdentifier} (backend style) and :fieldIdentifier (React Router style)\n for (const param of initiatorInfo.parameters) {\n const paramValue = contextualParameters[param.fieldIdentifier];\n if (isScalarContextualParameterValue(paramValue)) {\n // One path segment, so encoded — the same rule and reason as `NavigationUtils.resolveUrlPath` (#1465 review F2).\n const paramValueStr = encodeURIComponent(String(paramValue));\n // Replace {fieldIdentifier} format (backend style)\n url = url.replace(`{${param.fieldIdentifier}}`, paramValueStr);\n // Replace :fieldIdentifier format (React Router style) - use word boundary to avoid partial matches\n const colonRegex = new RegExp(`:${param.fieldIdentifier.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')}(?=[/\\\\?]|$)`, 'g');\n url = url.replace(colonRegex, paramValueStr);\n } else {\n missingParameters.push(param.fieldIdentifier);\n }\n }\n\n return { url, missingParameters };\n }\n\n /**\n * Get available operation paths from the registry\n */\n public getAvailableOperationPaths(): string[] {\n const operationPaths: string[] = [];\n\n for (const [resourceType, resourceConfig] of Object.entries(this.resourcesRegistry.resourceConfigurations)) {\n const config = resourceConfig as AnyFrontendResourceConfiguration;\n for (const operation of config.operations) {\n const operationPath = ResourcesConfig_OperationPathUtils.extractOperationPath(operation);\n const pathKey = ResourcesConfig_OperationPathUtils.createOperationPathKey(operationPath);\n operationPaths.push(pathKey);\n }\n }\n\n return operationPaths;\n }\n\n /**\n * Get operation details for debugging\n */\n public getOperationDetails(operationPathKey: string): FrontendResourceConfiguration_Operation | null {\n const operationPath = ResourcesConfig_OperationPathUtils.parseOperationPathKey(operationPathKey);\n return this.findOperation(operationPath);\n }\n}\n\n// Note: No singleton export - this class should only be instantiated through ResourceRepositoryContext\n"]}
1
+ {"version":3,"file":"wildo-http-client-resources.frontend.service.js","sourceRoot":"","sources":["../../../../../src/core/requests/wildo-http-client-resources.frontend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * WildoBackendHttpClient_Resources\n * Specialized HTTP client for resource-based operations (CRUD)\n * Extends base WildoBackendHttpClient with resource-specific functionality\n */\n\nimport { formatIdempotencyKeyHeader, ResourceOperationIdempotencyKeyRequirement, respondsWithPerItemRowArray, WildoHeaderKeys, isBackgroundAcceptanceAnswer, ResourceOperationBackgroundAcceptanceSchema, ResourceOperation_ServiceRuntimeMode, isOperationApprovalPendingAnswer, ResourceOperationApprovalPendingSchema } from '@wildo-ai/saas-models';\nimport { z } from 'zod';\nimport { WildoBackendHttpClient, WildoBackendHttpClientConfig, RequestOptions } from './wildo-http-client.frontend.service';\n\n/**\n * The per-request timeout for one operation dispatch — the ONE seam both requestOptions\n * assemblies in this file (api-call, search) route through, so a\n * long-running variant behaves the same through every dispatch shape and a third assembly cannot\n * silently skip the rule (issue #237; invariant-call-site-enumeration: prefer a shared predicate\n * over N hand-applied spreads).\n *\n * Precedence: caller-supplied `options.timeout` wins; else the variant's declared\n * `clientRequestTimeoutMs`; else empty — the client's instance default applies.\n */\nexport function resolveOperationRequestTimeout(\n options: RequestOptions | undefined,\n operation: { clientRequestTimeoutMs?: number },\n): { timeout: number } | Record<string, never> {\n if (options?.timeout !== undefined) return {}; // already in the caller's spread\n if (operation.clientRequestTimeoutMs !== undefined) return { timeout: operation.clientRequestTimeoutMs };\n return {};\n}\n\n/**\n * One fresh idempotency key. `crypto.randomUUID` exists only in a secure context, so a plain-HTTP origin (a LAN host) lacks it;\n * a key is a request identity rather than a secret, so the non-cryptographic fallback is acceptable, as for the client-install id.\n */\nfunction mintIdempotencyKey(): string {\n if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') return crypto.randomUUID();\n return `ik-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 12)}-${Math.random().toString(36).slice(2, 12)}`;\n}\n\n/**\n * The `Idempotency-Key` for one operation dispatch (#535), through the same single seam as the timeout above.\n *\n * Minted once per CALL for a variant that declares `idempotencyKey`, and placed on the request's own headers. That is what\n * makes the key useful here: the client's automatic retries (5xx, 408, 429, network loss) re-send this same request\n * config, so a mutation whose response was lost is retried under the key it was first sent with, and the server answers\n * with the first outcome. A caller that supplies its own key (for example one minted when the user opened a\n * confirmation, to cover a double-click) keeps it. A variant that does not declare the header never receives one: the\n * server refuses an undeclared key on a mutation rather than silently ignoring it (a read ignores one).\n */\nexport function resolveOperationIdempotencyHeaders(\n options: RequestOptions | undefined,\n operation: { idempotencyKey?: ResourceOperationIdempotencyKeyRequirement },\n): { headers: Record<string, string> } | Record<string, never> {\n if (operation.idempotencyKey === undefined) return {};\n const supplied = Object.keys(options?.headers ?? {}).some((name) => name.toLowerCase() === WildoHeaderKeys.IDEMPOTENCY_KEY);\n if (supplied) return {};\n return { headers: { ...options?.headers, [WildoHeaderKeys.IDEMPOTENCY_KEY]: formatIdempotencyKeyHeader(mintIdempotencyKey()) } };\n}\nimport {\n ResourceConfiguration_Operation_UrlInitiatorInfo,\n ResourceConfiguration_Operation_UrlParameterInfo,\n ResourceConfiguration_OperationPath,\n ResourcesConfig_OperationPathUtils,\n ResourceOperationVariantType,\n HttpMethod,\n ErrorType,\n ErrorCustomMessageReference,\n DataMode,\n CoreResourceOperation,\n ResourcesConfigOperationsDtosBuilderUtils,\n ResourceOperationRiskLevel,\n type Resources_PaginationRequest,\n type ResourceType,\n} from '@wildo-ai/saas-models';\nimport type { FrontendResource_ParentResourceRequirement } from '~wildo-frontend-lib/core/resources/resource-path.frontend.schemas';\nimport type {\n FrontendResourcesRegistry,\n AnyFrontendResourceConfiguration,\n FrontendResourceConfiguration_Operation,\n} from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { ErrorBuilderFrontend } from '~wildo-frontend-lib/core/errors/errors-builder.frontend.services';\nimport { LoadingTier, LoadingPhase } from '~wildo-frontend-lib/core/loading/loading-types.frontend.schemas';\nimport { FrontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport { resolveEffectiveCoreOperationFromOperation } from '~wildo-frontend-lib/core/resources/operation-semantics.frontend.utils';\nimport {\n ResourceReadCacheFrontendService,\n renderResourceReadCacheKey,\n} from '~wildo-frontend-lib/core/resources/resource-read-cache.frontend.service';\nimport { deriveResourceScopeRoomQualifiers, ResourcePrimaryScope } from '@wildo-ai/saas-models';\nimport { isCallerIdentityRecordResource } from '~wildo-frontend-lib/core/resources/caller-identity-record.frontend.utils';\nimport type { ResourceScopeRoomQualifier } from '@wildo-ai/saas-models';\n\n/**\n * Parameters needed to execute a resource operation\n */\nexport type ResourceContextualParameterValue = string | number | string[];\n\nfunction isScalarContextualParameterValue(\n value: ResourceContextualParameterValue | undefined\n): value is string | number {\n return typeof value === 'string' || typeof value === 'number';\n}\n\nexport interface ResourceOperationCallParameters {\n /** Values for URL parameters (matching initiator.parameters) */\n contextualParameters: Record<string, ResourceContextualParameterValue>;\n /** Request body data (for POST/PUT operations) */\n requestData?: any;\n /** Query parameters (for search operations and GET requests) */\n queryParameters?: Record<string, any>;\n /** \n * Parent resource requirements for deterministic URL selection.\n * Used to select the correct endpoint when multiple URLs are available.\n * Should be passed from resourceContext.parentResourcesRequirements.\n */\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[];\n /**\n * Data mode controlling fields returned and population behavior.\n * - RAW: All stored fields, no population (default)\n * - SUMMARY: Summary fields only, populate isSummaryField({ populate: true }) FKs\n * - CONTEXT: All fields, populate based on contextPolicy\n */\n dataMode?: DataMode;\n}\n\n/**\n * Search-specific parameters extending base operation parameters\n */\nexport interface ResourceSearchCallParameters extends ResourceOperationCallParameters {\n /** Search query string */\n searchQuery?: string;\n /** Filter parameters */\n filters?: Record<string, any>;\n /** Sort configuration */\n sort?: { field: string; direction: 'asc' | 'desc' }[];\n /** Pagination */\n pagination?: Resources_PaginationRequest;\n // Note: dataMode is inherited from ResourceOperationCallParameters\n}\n\n/**\n * Result of URL building process\n */\ninterface UrlBuildResult {\n url: string;\n missingParameters: string[];\n}\n\n/**\n * Specialized HTTP client for resource-based operations\n * Should only be used through ResourceRepositoryContext\n */\n/**\n * Whether this operation READS, in the sense that its result is a projection of stored rows.\n *\n * Module-scoped rather than a method because it is a pure question about the operation, and because\n * it is the predicate a reader has to check when asking why something was or was not cached.\n */\nfunction isReadFamilyOperation(operation: FrontendResourceConfiguration_Operation): boolean {\n const coreOperation = resolveEffectiveCoreOperationFromOperation(operation);\n return coreOperation === CoreResourceOperation.READ\n || coreOperation === CoreResourceOperation.LIST\n || coreOperation === CoreResourceOperation.SEARCH;\n}\n\n/**\n * Whether this operation WRITES stored state — the question the session re-validation asks (#2541 review).\n *\n * Narrower than \"not a read\": COUNT is a read that is not in the read family above (`user_self | access_profile`\n * borrows it, and runs on every session restore), and an operation sent as GET is safe by HTTP's own definition.\n * Asking \"not a read family\" here would renew the token on every page load.\n */\nfunction writesStoredState(operation: FrontendResourceConfiguration_Operation): boolean {\n return !isReadFamilyOperation(operation)\n && resolveEffectiveCoreOperationFromOperation(operation) !== CoreResourceOperation.COUNT\n && operation.httpVerb !== HttpMethod.GET;\n}\n\n/** Custom DTOs can be remote estimates or one-time disclosures; row events cannot invalidate them. */\nfunction isCacheableReadOperation(operation: FrontendResourceConfiguration_Operation): boolean {\n return isReadFamilyOperation(operation) && operation.hasCustomResponseDto !== true;\n}\n\nexport class WildoBackendHttpClient_Resources extends WildoBackendHttpClient {\n private resourcesRegistry: FrontendResourcesRegistry;\n private errorBuilder: ErrorBuilderFrontend;\n\n constructor(\n resourcesRegistry: FrontendResourcesRegistry,\n config: WildoBackendHttpClientConfig = {}\n ) {\n super(config);\n this.resourcesRegistry = resourcesRegistry;\n this.errorBuilder = new ErrorBuilderFrontend();\n }\n\n /**\n * Build a WildoError for frontend resource operations\n */\n private buildError(\n customMessageReference: ErrorCustomMessageReference,\n operationPathKey?: string,\n context?: Record<string, any>\n ): Error {\n const wildoError = this.errorBuilder.buildWildoError_Frontend(\n ErrorType.INTERNAL,\n { customMessageReference, operationPathKey, context }\n );\n // Attach the WildoError to the Error for downstream handling\n const error = new Error(customMessageReference);\n (error as any).wildoError = wildoError;\n return error;\n }\n\n /**\n * Execute a resource operation using operation path\n * @param operationPathKey - String representation of the operation path\n * @param parameters - Parameters needed for the operation\n * @param options - Additional request options\n */\n /**\n * The engine-wide read cache for resource operations.\n *\n * Held on this service because it is the one object both read paths reach, and because it must\n * outlive any React tree — a cache that died with a route would answer the question this exists\n * to answer (\"was this surface visited before?\") with \"no\" every time.\n */\n private readonly readCache = new ResourceReadCacheFrontendService();\n\n /** The cache tier, for the WebSocket layer to install coverage into and invalidate through. */\n public getReadCache(): ResourceReadCacheFrontendService {\n return this.readCache;\n }\n\n /**\n * The cache identity of a READ, and the scope rooms that would carry its invalidation.\n *\n * Called only for operations `isCacheableReadOperation` already admitted — the two entry points\n * being `doOperation` and `executeSearchOperation`, which is the whole read family — so it answers\n * the narrower question: can this particular CALL be keyed, and what covers it?\n *\n * `null` means \"run it and cache nothing\" — for parameters that cannot be rendered into a stable\n * key (a cycle, a function in a filter), or for an operation carrying no primary scope. Neither is\n * an error, and neither invalidates anything: a read we cannot key must not evict a resource that\n * other readers are using.\n */\n private resolveCacheableRead(\n operationPathKey: string,\n operation: FrontendResourceConfiguration_Operation,\n parameters: ResourceOperationCallParameters,\n ): { key: string; resourceType: string; scopes: ResourceScopeRoomQualifier[] } | null {\n const resourceType = operation.resourceIdentifier as string;\n const key = renderResourceReadCacheKey(operationPathKey, parameters);\n if (key === null) return null;\n\n // The primary scope is carried on the OPERATION, which is the same object the URL was built\n // from — so there is no second lookup that could disagree with it.\n const primaryScope = operation.resourcePrimaryScope;\n if (!primaryScope) return null;\n\n /*\n * Scope ids come from the call's own contextual parameters, which is what the URL was built from\n * — so the rooms derived here are the rooms a mutation on this very path would emit into. Values\n * are narrowed to strings because a room id is a string; a numeric parameter is stringified\n * rather than dropped, since the backend's own context map is string-valued.\n */\n const contextResourceIdentifiers: Record<string, string> = {};\n for (const [name, value] of Object.entries(parameters.contextualParameters ?? {})) {\n if (typeof value === 'string') contextResourceIdentifiers[name] = value;\n else if (typeof value === 'number') contextResourceIdentifiers[name] = String(value);\n }\n\n /*\n * An APPLICATION-scoped resource's scope is AMBIENT, never addressed — no URL carries an\n * application id, so the loop above can never produce one and `deriveResourceScopeRoomQualifiers`\n * would fall through to whatever incidental `org`/`user` rooms the parameters imply.\n *\n * That is not a cosmetic miss. Measured 2026-09-03 (issue #283): the workbench subscribed to\n * `org` and `user` for `workbenchDomainResources` — an APPLICATION-scoped resource — and was\n * confirmed in both, while the companion published to the `app` room. Correct producer, correct\n * subscriber, different rooms, zero frames.\n */\n if (primaryScope === ResourcePrimaryScope.APPLICATION) {\n /*\n * Absent is TOLERATED, deliberately. Refusing to cache without it was tried and is strictly\n * worse: it disabled the tier for every APPLICATION-scoped resource wherever the ambient id is\n * not published, which is a regression in exchange for nothing. Without it the entry simply\n * derives whatever rooms its parameters imply and does not hear the application-room push —\n * the behaviour that existed before this change.\n */\n const applicationId = this.readCache.getApplicationId();\n if (applicationId) contextResourceIdentifiers.applicationId = applicationId;\n }\n\n /*\n * An ORGANIZATIONS-scoped read issued before the route has published its organization id derives\n * no `org` room — only the incidental `user` one the generic loop produces — and is then cached\n * under a room no org invalidation is addressed to. Unlike the application case above the id is\n * normally ADDRESSED, so this covers a hydration window rather than a permanent absence.\n *\n * Gated on the primary scope, exactly as the application branch is: injecting an ambient\n * organization id into a USER_SELF or APPLICATION read would add a room it never had, which is a\n * behaviour change rather than a fix.\n */\n if (primaryScope === ResourcePrimaryScope.ORGANIZATIONS && !contextResourceIdentifiers.organizationId) {\n const organizationId = this.readCache.getOrganizationId();\n if (organizationId) contextResourceIdentifiers.organizationId = organizationId;\n }\n\n return {\n key,\n resourceType,\n scopes: deriveResourceScopeRoomQualifiers(contextResourceIdentifiers, primaryScope),\n };\n }\n\n public async doOperation<TResponse = any>(\n operationPathKey: string,\n parameters: ResourceOperationCallParameters,\n options?: RequestOptions\n ): Promise<TResponse> {\n // Parse and validate operation path\n const operationPath = ResourcesConfig_OperationPathUtils.parseOperationPathKey(operationPathKey);\n \n // Find the operation in the registry\n const operation = this.findOperation(operationPath);\n if (!operation) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_OPERATION_NOT_FOUND,\n operationPathKey,\n { operationPathKey }\n );\n }\n\n /*\n * Read-through cache (issue #240).\n *\n * Placed here rather than in the React layer because BOTH read paths converge on this service —\n * `ResourceRegistryContext.doOperation` and, through the ref it injects, every RMM's\n * `HttpTransportAdapter`. Caching one layer up would leave the other uncached and the two\n * disagreeing about the same row.\n *\n * A MUTATION drops the resource's entries before it runs. The server echo is not enough on its\n * own: it arrives asynchronously and, for the initiator, may be filtered as its own event — so a\n * caller that writes and immediately re-reads would otherwise be served the value it just\n * replaced.\n */\n const isReadFamily = isReadFamilyOperation(operation);\n if (!isReadFamily) {\n // A MUTATION drops this resource's entries before it runs. The server echo is not enough on\n // its own: it arrives asynchronously and, for the initiator, may be filtered as its own event\n // — so a caller that writes and immediately re-reads would otherwise be served the value it\n // just replaced. A read we merely cannot KEY must not land here, or every such read would\n // evict the resource for everyone.\n this.readCache.invalidateResourceType(operation.resourceIdentifier as string);\n }\n\n const cacheable = isCacheableReadOperation(operation)\n ? this.resolveCacheableRead(operationPathKey, operation, parameters)\n : null;\n if (cacheable) {\n const cached = this.readCache.read(cacheable.key);\n if (cached !== undefined) {\n return structuredClone(cached) as TResponse;\n }\n }\n\n // Handle different operation types\n switch (operation.variantType) {\n case ResourceOperationVariantType.API_CALL:\n return this.executeApiCallOperation(operation, parameters, options).then((response) => {\n if (cacheable) {\n this.readCache.store(cacheable.key, response, cacheable.resourceType, cacheable.scopes);\n }\n // A write to the caller's own account may have changed what the session itself may do (deactivating it\n // revokes it), and nothing else would tell this tab until its next request (#2541).\n if (\n writesStoredState(operation)\n && isCallerIdentityRecordResource(\n this.resourcesRegistry.resourceConfigurations[operation.resourceIdentifier as string],\n this.resourcesRegistry.allResourceFieldIdentifiers,\n )\n ) {\n void this.revalidateSession();\n }\n return response;\n }) as Promise<TResponse>;\n \n default: {\n // The discriminant, not the object: with one URL-bearing variant left the operation type is no longer a\n // union, so only `variantType` narrows to `never` here — a new variant still fails to compile at this line.\n const _exhaustiveCheck: never = operation.variantType;\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_UNSUPPORTED_OPERATION_TYPE,\n operationPathKey,\n { operationPathKey }\n );\n }\n }\n }\n\n /**\n * Execute a search operation with additional search parameters\n * @param operationPathKey - String representation of the search operation path\n * @param parameters - Search parameters\n * @param options - Additional request options\n */\n public async executeSearchOperation<TResponse = any>(\n operationPathKey: string,\n parameters: ResourceSearchCallParameters,\n options?: RequestOptions\n ): Promise<TResponse> {\n // Parse and validate operation path\n const operationPath = ResourcesConfig_OperationPathUtils.parseOperationPathKey(operationPathKey);\n \n // Find the search operation\n const operation = this.findOperation(operationPath);\n if (!operation) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_OPERATION_NOT_FOUND,\n operationPathKey,\n { operationPathKey, operationType: 'search' }\n );\n }\n\n // Verify it carries SEARCH semantics, including custom search-like operations.\n if (resolveEffectiveCoreOperationFromOperation(operation) !== CoreResourceOperation.SEARCH) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_SEARCH_OPERATION_INVALID,\n operationPathKey,\n { operationPathKey, actualOperationIdentifier: operation.operationIdentifier }\n );\n }\n\n /*\n * The SAME read-through cache `doOperation` applies, because a SEARCH is the same kind of read.\n *\n * ## Why SEARCH was uncached, and why that was an accident rather than a decision\n *\n * `ResourceRegistryContext.doOperation` routes a SEARCH here instead of to `doOperation`, and the\n * cache block lived only there — so a collection surface served by a SEARCH got none of the tier,\n * silently, with no diagnostic and nothing in the tier's own prose saying so. Nothing about SEARCH\n * justified the exclusion: it is a projection of stored rows, it derives its scope rooms from the\n * same contextual parameters and primary scope as a LIST on the same resource, and it is\n * invalidated by the same per-resource-type channel. The asymmetry was an artefact of the routing.\n *\n * ## The key, and the churn question that decided it\n *\n * `renderResourceReadCacheKey` is total over any parameters object — sorted keys, cycle-safe,\n * refusing what it cannot render — so the search body varies the key exactly as page, limit, sort\n * and filter already do. The real objection to caching a search is CARDINALITY: a typeahead\n * produces a distinct key per query and could evict everything else. It does not, and the tier\n * already says why — eviction is least-recently-USED, \"so an entry a surface keeps reading\n * survives while a page visited once does not\". A one-shot query evicts itself first.\n *\n * ## What did NOT change\n *\n * Coverage. A SEARCH entry is servable only while every room it belongs to is joined and\n * CONFIRMED, exactly like a LIST, so the safety contract is untouched and an unscoped search is\n * still refused at the door by `store()`.\n *\n * Both entry points gate on the SAME `isCacheableReadOperation`, and that is not decoration. The\n * first version of this called `resolveCacheableRead` directly here, which made the predicate\n * INERT on the search path — two mechanisms deciding one question, with the one a reader would\n * check having no effect on the path they were reading about. A mutation removing SEARCH from the\n * predicate changed nothing, which is how that was found.\n *\n * Widening the shared predicate rather than adding a second one also removes a latent defect on\n * the other path: a SEARCH reaching `doOperation` was previously NOT read-family, so it took the\n * mutation branch and INVALIDATED its own resource type. Unreachable through the registry today,\n * and wrong wherever it became reachable.\n */\n const cacheable = isCacheableReadOperation(operation)\n ? this.resolveCacheableRead(operationPathKey, operation, parameters)\n : null;\n if (cacheable) {\n const cached = this.readCache.read(cacheable.key);\n if (cached !== undefined) return structuredClone(cached) as TResponse;\n }\n\n const response = await this.executeSearchOperationInternal<TResponse>(operation, parameters, options);\n if (cacheable) {\n this.readCache.store(cacheable.key, response, cacheable.resourceType, cacheable.scopes);\n }\n return response;\n }\n\n /**\n * Validate a request's ANSWER: a background operation's acceptance against its own schema, anything else\n * against the operation's response DTO for the data mode. The operation's `responseDto` describes the row it\n * produces, never the acceptance (#2062 re-review F1), and an acceptance is one object, never a per-item list.\n */\n private validateOperationAnswer<TResponse>(\n operation: FrontendResourceConfiguration_Operation,\n dataMode: DataMode | undefined,\n responseData: TResponse,\n ): TResponse {\n if (isBackgroundAcceptanceAnswer(operation as { serviceRuntimeMode?: ResourceOperation_ServiceRuntimeMode }, responseData)) {\n return this.validateResponseData<TResponse>(responseData, ResourceOperationBackgroundAcceptanceSchema, undefined, false);\n }\n // #2288: an operation held for another person's approval answers the pending contract, never its row.\n if (isOperationApprovalPendingAnswer(operation as { requiresApproval?: unknown }, responseData)) {\n return this.validateResponseData<TResponse>(responseData, ResourceOperationApprovalPendingSchema, undefined, false);\n }\n const responseDto = this.selectResponseDto(operation, dataMode);\n return this.validateResponseData<TResponse>(responseData, responseDto, undefined, respondsWithPerItemRowArray(operation));\n }\n\n /**\n * Select the appropriate response DTO based on dataMode\n * @param operation - The operation configuration\n * @param dataMode - The data mode (RAW, SUMMARY, CONTEXT)\n * @returns The selected Zod schema for validation, or null if no DTO is available\n */\n private selectResponseDto(\n operation: FrontendResourceConfiguration_Operation,\n dataMode?: DataMode\n ): z.ZodSchema<any> | null {\n const selected = ResourcesConfigOperationsDtosBuilderUtils.selectResponseDto(operation, dataMode);\n \n // Validate that the returned value is actually a Zod schema\n // If it's not a valid schema (undefined, null, or non-schema object), return null\n if (!selected || typeof selected !== 'object' || typeof selected.parse !== 'function') {\n return null;\n }\n \n return selected as z.ZodSchema<any>;\n }\n\n /**\n * Validate response data against the selected DTO\n * @param responseData - The response data to validate\n * @param schema - The Zod schema to validate against\n * @param operationPathKey - Optional operation path key for error context\n * @returns Validated response data\n * @throws Error if validation fails\n */\n private validateResponseData<TResponse>(\n responseData: any,\n schema: z.ZodSchema<any> | null,\n operationPathKey?: string,\n /**\n * The operation answers an ARRAY OF ROWS whose `responseDto` is the per-item row schema — a bulk\n * create/update, literal or a bulk variant (`respondsWithPerItemRowArray`, the rule the backend's\n * output parse and serializer use too). Parsing the whole array against the row schema refused\n * every correct multi-row bulk response.\n */\n perItemRowArray: boolean = false,\n ): TResponse {\n // If no schema is available, return data as-is (backward compatibility)\n if (!schema) {\n return responseData as TResponse;\n }\n\n try {\n const parsed = (perItemRowArray && Array.isArray(responseData)\n ? responseData.map((item: unknown) => schema.parse(item))\n : schema.parse(responseData)) as TResponse;\n // `_version` (optimistic-locking counter) and `_field_meta` (CRDT causality) are engine\n // metadata NOT declared in any resource schema, so this `schema.parse` strips them — the\n // symmetric client-side counterpart of the two backend parses (services-registry-handler\n // `transformOutput` + operation-response-serializer). They must survive: the Resource\n // Mutation Manager seeds its optimistic-locking version from the READ response\n // (`ResourceAutomaticDisplayer` → `rmm.setInitialState(row, row._version ?? 0)`) and echoes\n // it as `If-Match` on inline updates. Stripped here, the RMM seeds `0`, so every inline\n // update sends `If-Match: 0` and the server (at a real version) 409s permanently.\n WildoBackendHttpClient_Resources.reattachEngineMetadata(responseData, parsed);\n return parsed;\n } catch (error) {\n if (error instanceof z.ZodError) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_RESPONSE_VALIDATION_FAILED,\n operationPathKey,\n {\n validationErrors: error.issues,\n responseData: responseData\n }\n );\n }\n throw error;\n }\n }\n\n /**\n * Reattach engine metadata (`_version`, `_field_meta`) that a strict responseDto parse strips,\n * from the raw wire payload onto the parsed result. Recurses into flat arrays (LIST) and\n * `{ data: [...] }` paginated wrappers so every item keeps its optimistic-locking version.\n */\n private static reattachEngineMetadata(source: unknown, parsed: unknown): void {\n if (!source || typeof source !== 'object' || !parsed || typeof parsed !== 'object') return;\n\n if (Array.isArray(source) && Array.isArray(parsed)) {\n for (let i = 0; i < parsed.length; i++) {\n WildoBackendHttpClient_Resources.reattachEngineMetadata(source[i], parsed[i]);\n }\n return;\n }\n\n const sourceRecord = source as Record<string, unknown>;\n const parsedRecord = parsed as Record<string, unknown>;\n\n if (Array.isArray(sourceRecord.data) && Array.isArray(parsedRecord.data)) {\n const sourceItems = sourceRecord.data;\n const parsedItems = parsedRecord.data;\n for (let i = 0; i < parsedItems.length; i++) {\n WildoBackendHttpClient_Resources.reattachEngineMetadata(sourceItems[i], parsedItems[i]);\n }\n }\n\n for (const key of ['_field_meta', '_version'] as const) {\n if (sourceRecord[key] !== undefined && parsedRecord[key] === undefined) {\n parsedRecord[key] = sourceRecord[key];\n }\n }\n }\n\n /**\n * Find an operation in the registry based on operation path\n */\n private findOperation(operationPath: ResourceConfiguration_OperationPath<any, any>): FrontendResourceConfiguration_Operation | null {\n const resourceConfig = this.resourcesRegistry.resourceConfigurations[operationPath.resourceIdentifier];\n if (!resourceConfig) {\n return null;\n }\n\n // Find matching operation (using same logic as backend)\n const foundOp = resourceConfig.operations.find((op: any) => {\n const opPath = ResourcesConfig_OperationPathUtils.extractOperationPath(op);\n \n // Basic field matching\n if (opPath.operationIdentifier !== operationPath.operationIdentifier) return false;\n if (opPath.variantType !== operationPath.variantType) return false;\n \n // Match default/variant key\n if (operationPath.isOperationDefault) {\n if (!opPath.isOperationDefault) return false;\n } else {\n const expectedVariantKey = operationPath.variantKey;\n const actualVariantKey = opPath.variantKey;\n if ((actualVariantKey ?? undefined) !== (expectedVariantKey ?? undefined)) return false;\n }\n \n // For URL-bearing operations, match bulk flag (same logic as backend)\n // Normalize both to boolean: undefined/false ? false, true ? true\n if (\n opPath.variantType === ResourceOperationVariantType.API_CALL\n ) {\n const opIsBulk = opPath.isBulkOperation === true;\n const pathIsBulk = operationPath.isBulkOperation === true;\n return opIsBulk === pathIsBulk;\n }\n \n return true;\n }) || null;\n \n return foundOp;\n }\n\n /**\n * Execute API_CALL operation\n */\n private async executeApiCallOperation<TResponse>(\n operation: FrontendResourceConfiguration_Operation,\n parameters: ResourceOperationCallParameters,\n options?: RequestOptions\n ): Promise<TResponse> {\n const targetDefaultFieldIdentifier =\n this.resourcesRegistry.resourceConfigurations[operation.resourceIdentifier]?.resourceFieldIdentifier ?? '';\n\n // Build URL from initiatorInfos and contextual parameters with deterministic selection\n const { url, missingParameters } = this.buildUrlFromInitiatorInfos(\n operation.initiatorInfos || [], \n parameters.contextualParameters,\n operation.resourceIdentifier,\n targetDefaultFieldIdentifier,\n parameters.parentResourcesRequirements\n );\n\n // Validate that all required parameters were provided\n if (missingParameters.length > 0) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_NO_ENDPOINT_AVAILABLE,\n undefined,\n {\n reason: 'Missing required URL parameters',\n missingParameters,\n availableParameters: Object.keys(parameters.contextualParameters),\n url\n }\n );\n }\n\n // Build query parameters, including dataMode if specified\n const queryParams = { ...parameters.queryParameters };\n if (parameters.dataMode) {\n queryParams.dataMode = parameters.dataMode;\n }\n\n // Prepare request options with error handling context\n // The riskLevel from the operation affects how errors are handled globally\n const requestOptions: RequestOptions = {\n ...options,\n ...resolveOperationRequestTimeout(options, operation),\n ...resolveOperationIdempotencyHeaders(options, operation),\n params: queryParams,\n riskLevel: operation.riskLevel || ResourceOperationRiskLevel.MEDIUM,\n resourceType: operation.resourceIdentifier,\n operationIdentifier: String(operation.operationIdentifier),\n variantKey: operation.variantKey,\n isBulkOperation: operation.isBulkOperation,\n isOperationDefault: operation.isOperationDefault,\n loading: options?.loading ?? {\n tier: LoadingTier.COMPONENT,\n phase: LoadingPhase.INITIAL,\n },\n };\n\n // Execute based on HTTP method and validate response\n let responseData: any;\n switch (operation.httpVerb) {\n case HttpMethod.GET:\n responseData = await this.get<TResponse>(url, requestOptions);\n break;\n \n case HttpMethod.POST:\n responseData = await this.post<TResponse>(url, parameters.requestData, requestOptions);\n break;\n \n case HttpMethod.PUT:\n responseData = await this.put<TResponse>(url, parameters.requestData, requestOptions);\n break;\n \n case HttpMethod.DELETE:\n // A DELETE carries its body through the axios CONFIG, not a positional argument. Dropping\n // `requestData` here made every BULK delete unaddressable: the selector `{ _ids: [...] }`\n // never left the browser, so the server answered `id_or_ids_or_filter` missing while the\n // action bar reported a plain validation failure (#1467). The spread is conditional so a\n // single DELETE, which has no `requestData`, still sends no body.\n responseData = await this.delete<TResponse>(\n url,\n parameters.requestData === undefined ? requestOptions : { ...requestOptions, data: parameters.requestData },\n );\n break;\n \n case HttpMethod.PATCH:\n responseData = await this.patch<TResponse>(url, parameters.requestData, requestOptions);\n break;\n \n default:\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_UNSUPPORTED_HTTP_METHOD,\n undefined,\n { httpMethod: operation.httpVerb, url }\n );\n }\n\n // Select and validate response DTO\n return this.validateOperationAnswer<TResponse>(operation, parameters.dataMode, responseData);\n }\n\n /**\n * Execute search operation with search-specific parameters.\n * Operation is typed as FrontendResourceConfiguration_Operation; at runtime it is always\n * a SEARCH operation (verified by caller) with flattened collection-view fields.\n */\n private async executeSearchOperationInternal<TResponse>(\n operation: FrontendResourceConfiguration_Operation,\n parameters: ResourceSearchCallParameters,\n options?: RequestOptions\n ): Promise<TResponse> {\n const op = operation as {\n initiatorInfos?: ResourceConfiguration_Operation_UrlInitiatorInfo[];\n filterFields?: Record<string, unknown>;\n maxPaginatedResultPerPageLimit?: number;\n riskLevel?: ResourceOperationRiskLevel;\n clientRequestTimeoutMs?: number;\n resourceIdentifier?: string;\n operationIdentifier?: string;\n };\n const targetResourceType = String(op.resourceIdentifier) as ResourceType;\n const targetDefaultFieldIdentifier =\n this.resourcesRegistry.resourceConfigurations[targetResourceType]?.resourceFieldIdentifier ?? '';\n\n // Build URL from initiatorInfos with deterministic selection\n const { url, missingParameters } = this.buildUrlFromInitiatorInfos(\n op.initiatorInfos || [],\n parameters.contextualParameters,\n targetResourceType,\n targetDefaultFieldIdentifier,\n parameters.parentResourcesRequirements\n );\n \n // Validate that all required parameters were provided\n if (missingParameters.length > 0) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_NO_ENDPOINT_AVAILABLE,\n undefined,\n {\n reason: 'Missing required URL parameters',\n missingParameters,\n availableParameters: Object.keys(parameters.contextualParameters),\n url\n }\n );\n }\n\n // Build search query parameters\n const searchParams: Record<string, any> = {\n ...parameters.queryParameters\n };\n\n // Add dataMode if specified (not RAW)\n if (parameters.dataMode && parameters.dataMode !== DataMode.RAW) {\n searchParams.dataMode = parameters.dataMode;\n }\n\n // Add search query if provided\n if (parameters.searchQuery) {\n searchParams.q = parameters.searchQuery;\n }\n\n // Add filters if provided\n if (parameters.filters && op.filterFields) {\n Object.entries(parameters.filters).forEach(([key, value]) => {\n if (op.filterFields![key]) {\n searchParams[key] = value;\n }\n });\n }\n\n // Add sorting if provided\n if (parameters.sort && parameters.sort.length > 0) {\n searchParams.sort = parameters.sort.map(s => `${s.field}:${s.direction}`).join(',');\n }\n\n // Add pagination if provided\n if (parameters.pagination) {\n searchParams.page = parameters.pagination.page;\n const maxLimit = op.maxPaginatedResultPerPageLimit ?? 50;\n searchParams.limit = Math.min(parameters.pagination.limit, maxLimit);\n }\n\n const requestOptions: RequestOptions = {\n ...options,\n ...resolveOperationRequestTimeout(options, op),\n params: searchParams,\n riskLevel: op.riskLevel || ResourceOperationRiskLevel.MEDIUM,\n resourceType: op.resourceIdentifier,\n operationIdentifier: String(op.operationIdentifier),\n variantKey: operation.variantKey,\n isBulkOperation: operation.isBulkOperation,\n isOperationDefault: operation.isOperationDefault,\n loading: options?.loading ?? {\n tier: LoadingTier.COMPONENT,\n phase: LoadingPhase.INITIAL,\n },\n };\n\n // Search operations are always GET\n const responseData = await this.get<TResponse>(url, requestOptions);\n\n // Select and validate response DTO\n return this.validateOperationAnswer<TResponse>(operation, parameters.dataMode, responseData);\n }\n\n /**\n * Select the best matching initiatorInfo based on context.\n *\n * The deterministic selection algorithm lives in\n * `FrontendResourceUtils.selectOperationUrlInitiatorInfo` — shared with\n * non-transport consumers (e.g. the filters layer derives URL-pinned filter\n * fields from the same selection). This wrapper owns only the transport\n * error semantics: an unsatisfiable selection is a hard\n * FRONTEND_RESOURCE_NO_ENDPOINT_AVAILABLE failure here.\n */\n private selectInitiatorInfo(\n initiatorInfos: ResourceConfiguration_Operation_UrlInitiatorInfo[],\n contextualParameters: Record<string, ResourceContextualParameterValue>,\n targetResourceType: ResourceType,\n targetDefaultFieldIdentifier: string,\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[]\n ): ResourceConfiguration_Operation_UrlInitiatorInfo {\n\n if (initiatorInfos.length === 0) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_NO_ENDPOINT_AVAILABLE,\n undefined,\n { reason: 'No initiator infos available for this operation' }\n );\n }\n\n const selected = FrontendResourceUtils.selectOperationUrlInitiatorInfo({\n initiatorInfos,\n contextualParameters,\n targetResourceType,\n targetDefaultFieldIdentifier,\n parentResourcesRequirements,\n });\n\n if (!selected) {\n const available = Object.keys(contextualParameters).join(', ');\n const required = initiatorInfos.map(i =>\n i.parameters.map(p => p.fieldIdentifier).join(', ')\n ).join(' OR ');\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_NO_ENDPOINT_AVAILABLE,\n undefined,\n { availableParams: available, requiredParams: required }\n );\n }\n\n return selected;\n }\n\n /**\n * Build URL from initiator infos and contextual parameters.\n * Uses deterministic selection algorithm with parentResourcesRequirements.\n */\n private buildUrlFromInitiatorInfos(\n initiatorInfos: ResourceConfiguration_Operation_UrlInitiatorInfo[],\n contextualParameters: Record<string, ResourceContextualParameterValue>,\n targetResourceType: ResourceType,\n targetDefaultFieldIdentifier: string,\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[]\n ): UrlBuildResult {\n const selected = this.selectInitiatorInfo(\n initiatorInfos, \n contextualParameters, \n targetResourceType,\n targetDefaultFieldIdentifier,\n parentResourcesRequirements\n );\n \n return this.buildUrlFromInitiatorInfo(selected, contextualParameters);\n }\n\n /**\n * Build URL from a single initiator info\n */\n private buildUrlFromInitiatorInfo(\n initiatorInfo: ResourceConfiguration_Operation_UrlInitiatorInfo,\n contextualParameters: Record<string, ResourceContextualParameterValue>\n ): UrlBuildResult {\n let url = initiatorInfo.url;\n const missingParameters: string[] = [];\n\n // Replace URL parameters with contextual values\n // Support both {fieldIdentifier} (backend style) and :fieldIdentifier (React Router style)\n for (const param of initiatorInfo.parameters) {\n const paramValue = contextualParameters[param.fieldIdentifier];\n if (isScalarContextualParameterValue(paramValue)) {\n // One path segment, so encoded — the same rule and reason as `NavigationUtils.resolveUrlPath` (#1465 review F2).\n const paramValueStr = encodeURIComponent(String(paramValue));\n // Replace {fieldIdentifier} format (backend style)\n url = url.replace(`{${param.fieldIdentifier}}`, paramValueStr);\n // Replace :fieldIdentifier format (React Router style) - use word boundary to avoid partial matches\n const colonRegex = new RegExp(`:${param.fieldIdentifier.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')}(?=[/\\\\?]|$)`, 'g');\n url = url.replace(colonRegex, paramValueStr);\n } else {\n missingParameters.push(param.fieldIdentifier);\n }\n }\n\n return { url, missingParameters };\n }\n\n /**\n * Get available operation paths from the registry\n */\n public getAvailableOperationPaths(): string[] {\n const operationPaths: string[] = [];\n\n for (const [resourceType, resourceConfig] of Object.entries(this.resourcesRegistry.resourceConfigurations)) {\n const config = resourceConfig as AnyFrontendResourceConfiguration;\n for (const operation of config.operations) {\n const operationPath = ResourcesConfig_OperationPathUtils.extractOperationPath(operation);\n const pathKey = ResourcesConfig_OperationPathUtils.createOperationPathKey(operationPath);\n operationPaths.push(pathKey);\n }\n }\n\n return operationPaths;\n }\n\n /**\n * Get operation details for debugging\n */\n public getOperationDetails(operationPathKey: string): FrontendResourceConfiguration_Operation | null {\n const operationPath = ResourcesConfig_OperationPathUtils.parseOperationPathKey(operationPathKey);\n return this.findOperation(operationPath);\n }\n}\n\n// Note: No singleton export - this class should only be instantiated through ResourceRepositoryContext\n"]}
@@ -120,15 +120,16 @@ export type TokenRenewalHandler = () => Promise<string>;
120
120
  * sign in, which any held factor can produce.
121
121
  */
122
122
  /**
123
- * WHO asked for the proof (#1633). Most refusals come from the account's own policy or the operation; a service firm's
124
- * expert working in a CLIENT organization can also be asked by that client's policy, whose proof must be a second
125
- * factor and counts for that client alone — so the dialog explains itself and does not offer a password.
123
+ * WHO asked for the proof (#1633). Most refusals come from the account's own policy or the operation; a representative
124
+ * working in a GRANTING organization can also be asked by that granting organization's policy, whose proof must be a
125
+ * second factor and counts for that granting organization alone — so the dialog explains itself and does not offer a
126
+ * password.
126
127
  */
127
128
  export declare enum StepUpRefusalOrigin {
128
129
  /** The account's step-up policy, or the operation's own requirement. */
129
130
  ACCOUNT_OR_OPERATION = "account_or_operation",
130
- /** The authentication policy of the client organization a service firm's expert is working in. */
131
- CLIENT_ORGANIZATION = "client_organization"
131
+ /** The authentication policy of the granting organization a representative is working in. */
132
+ GRANTING_ORGANIZATION = "granting_organization"
132
133
  }
133
134
  export type StepUpAuthHandler = (purpose: ReAuthenticationPurpose, origin?: StepUpRefusalOrigin) => Promise<string>;
134
135
  export type AnonymousSessionTokenHandler = (token: string) => void;
@@ -259,6 +260,12 @@ export declare class WildoBackendHttpClient {
259
260
  * Check if error should be retried (500 errors, 429s with configured retry
260
261
  * attempts, or network errors). Retries are disabled in development mode by
261
262
  * default (retryAttempts=0) to avoid log spam during debugging.
263
+ *
264
+ * A failure is retried only when sending the request again cannot do its work twice
265
+ * (`failedRequestMayBeResentAutomatically`, #3004): a safe method, a server that said the request was not applied or is
266
+ * repeatable, or a resource operation resent under the same `Idempotency-Key`. Until #3004 every 5xx and every
267
+ * network error was retried whatever the method, so a provider-operation POST answered `502 UNKNOWN_OUTCOME` (a vendor
268
+ * write that may already have happened) was replayed before the component could read the answer.
262
269
  */
263
270
  private shouldRetry;
264
271
  private getRetryAfterDelay;
@@ -304,6 +311,18 @@ export declare class WildoBackendHttpClient {
304
311
  * Check if token renewal handler is set
305
312
  */
306
313
  hasTokenRenewalHandler(): boolean;
314
+ /**
315
+ * Ask the auth layer whether this session is still accepted, by renewing its token (#2541).
316
+ *
317
+ * For a change the backend may have made to the session ITSELF, which no failing request will reveal until the
318
+ * person's next action: an operation on their own account that restricts its access revokes the session at the
319
+ * backend, and the tab that ran it keeps showing a signed-in screen with nothing to tell it otherwise. A refused
320
+ * renewal ends the session with the refusal's reason (the handler classifies and acts on it); an accepted one
321
+ * stores the rotated token, which also carries any authority the change altered.
322
+ *
323
+ * Never throws: the handler already handles both outcomes, and a caller's operation succeeded either way.
324
+ */
325
+ revalidateSession(): Promise<void>;
307
326
  setStepUpAuthHandler(handler: StepUpAuthHandler | null): void;
308
327
  setAnonymousSession(userId: string, token: string | null): void;
309
328
  updateAnonymousSessionToken(token: string): void;
@@ -390,6 +409,7 @@ export declare class WildoBackendHttpClient {
390
409
  */
391
410
  fetchFileBlob(url: string, options?: {
392
411
  signal?: AbortSignal;
412
+ silent?: boolean;
393
413
  }): Promise<Blob>;
394
414
  /**
395
415
  * POST request