@wildo-ai/saas-frontend-lib 1.1.5 → 1.1.6

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 (777) hide show
  1. package/dist/esm/components/actions/action-bar.d.ts +15 -0
  2. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  3. package/dist/esm/components/actions/action-bar.js +15 -0
  4. package/dist/esm/components/actions/action-bar.js.map +1 -1
  5. package/dist/esm/components/ai-elements/decision/approval.d.ts +97 -7
  6. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  7. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  8. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
  9. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js +8 -3
  10. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
  11. package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
  12. package/dist/esm/components/auth/Auth_EnrollmentRequired.js +5 -1
  13. package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
  14. package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
  15. package/dist/esm/components/auth/Auth_Main.js +1 -4
  16. package/dist/esm/components/auth/Auth_Main.js.map +1 -1
  17. package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
  18. package/dist/esm/components/auth/Auth_Register.js +1 -3
  19. package/dist/esm/components/auth/Auth_Register.js.map +1 -1
  20. package/dist/esm/components/auth/StepUpAuthDialog.d.ts +7 -0
  21. package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
  22. package/dist/esm/components/auth/StepUpAuthDialog.js +13 -7
  23. package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
  24. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
  25. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js +32 -33
  26. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
  27. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
  28. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js +18 -20
  29. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
  30. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
  31. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js +2 -3
  32. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
  33. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts +13 -16
  34. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
  35. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js +18 -15
  36. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
  37. package/dist/esm/components/billing/billing-invoice-history.js +2 -2
  38. package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
  39. package/dist/esm/components/billing/billing-portal-link.js +2 -2
  40. package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
  41. package/dist/esm/components/billing/billing-pricing-table.d.ts +33 -1
  42. package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
  43. package/dist/esm/components/billing/billing-pricing-table.js +34 -5
  44. package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
  45. package/dist/esm/components/billing/billing-subscription-status.js +2 -2
  46. package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
  47. package/dist/esm/components/billing/billing-usage-dashboard.d.ts +2 -0
  48. package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
  49. package/dist/esm/components/billing/billing-usage-dashboard.js +1 -0
  50. package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
  51. package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
  52. package/dist/esm/components/data-display/DisplayField.js +15 -1
  53. package/dist/esm/components/data-display/DisplayField.js.map +1 -1
  54. package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
  55. package/dist/esm/components/data-display/DisplayFieldArray.js +11 -0
  56. package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
  57. package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
  58. package/dist/esm/components/data-display/DisplayFieldEditable.js +2 -2
  59. package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
  60. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts +12 -2
  61. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
  62. package/dist/esm/components/data-display/DisplayFieldEditableArray.js +3 -2
  63. package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
  64. package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
  65. package/dist/esm/components/data-display/DisplayFieldReadOnly.js +2 -2
  66. package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
  67. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
  68. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js +8 -2
  69. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
  70. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
  71. package/dist/esm/components/data-display/DisplayValueDispatcher.js +18 -4
  72. package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
  73. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
  74. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js +61 -3
  75. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
  76. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts +7 -5
  77. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
  78. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
  79. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts +11 -1
  80. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
  81. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js +36 -11
  82. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
  83. package/dist/esm/components/data-display/display-field-resolved-props.d.ts +6 -0
  84. package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
  85. package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
  86. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts +23 -0
  87. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts.map +1 -0
  88. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js +35 -0
  89. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js.map +1 -0
  90. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts +47 -0
  91. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts.map +1 -0
  92. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js +124 -0
  93. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js.map +1 -0
  94. package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.d.ts +8 -0
  95. package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.d.ts.map +1 -0
  96. package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js +46 -0
  97. package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js.map +1 -0
  98. package/dist/esm/components/feedback/resource-empty-state.d.ts +21 -8
  99. package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
  100. package/dist/esm/components/feedback/resource-empty-state.js +56 -26
  101. package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
  102. package/dist/esm/components/flows-actors/approval.d.ts +29 -7
  103. package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
  104. package/dist/esm/components/flows-actors/approval.js +231 -101
  105. package/dist/esm/components/flows-actors/approval.js.map +1 -1
  106. package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
  107. package/dist/esm/components/flows-actors/approval.labels.js +57 -0
  108. package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
  109. package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
  110. package/dist/esm/components/flows-actors/system-catalog.js +4 -4
  111. package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
  112. package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
  113. package/dist/esm/components/flows-actors/system-catalog.labels.js +0 -5
  114. package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
  115. package/dist/esm/components/form/Form.d.ts +2 -2
  116. package/dist/esm/components/form/Form.js +2 -2
  117. package/dist/esm/components/form/Form.js.map +1 -1
  118. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts +28 -3
  119. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
  120. package/dist/esm/components/form/automated/AutomatedArrayField.js +43 -14
  121. package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
  122. package/dist/esm/components/form/automated/FormField.d.ts +3 -0
  123. package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
  124. package/dist/esm/components/form/automated/FormField.js +60 -21
  125. package/dist/esm/components/form/automated/FormField.js.map +1 -1
  126. package/dist/esm/components/form/automated/FormFieldArray.d.ts +6 -3
  127. package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
  128. package/dist/esm/components/form/automated/FormFieldArray.js +3 -2
  129. package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
  130. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts +5 -4
  131. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
  132. package/dist/esm/components/form/automated/ResourceAutomatedForm.js +148 -55
  133. package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
  134. package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts +30 -0
  135. package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
  136. package/dist/esm/components/form/automated/ResourceFormActionsContext.js +30 -1
  137. package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
  138. package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.d.ts +79 -0
  139. package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.d.ts.map +1 -0
  140. package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.js +203 -0
  141. package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.js.map +1 -0
  142. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts +12 -0
  143. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
  144. package/dist/esm/components/form/automated/automated-form-submit.utils.js +11 -0
  145. package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
  146. package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
  147. package/dist/esm/components/form/chromes/FormFieldChrome.js +2 -2
  148. package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
  149. package/dist/esm/components/form/combobox.d.ts +7 -0
  150. package/dist/esm/components/form/combobox.d.ts.map +1 -1
  151. package/dist/esm/components/form/combobox.js.map +1 -1
  152. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
  153. package/dist/esm/components/form/controls/form-field-checkbox-group.js +13 -0
  154. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
  155. package/dist/esm/components/form/fields/form-field-address.d.ts +58 -0
  156. package/dist/esm/components/form/fields/form-field-address.d.ts.map +1 -1
  157. package/dist/esm/components/form/fields/form-field-address.js +34 -6
  158. package/dist/esm/components/form/fields/form-field-address.js.map +1 -1
  159. package/dist/esm/components/form/fields/form-field-address.labels.d.ts.map +1 -1
  160. package/dist/esm/components/form/fields/form-field-address.labels.js +60 -1
  161. package/dist/esm/components/form/fields/form-field-address.labels.js.map +1 -1
  162. package/dist/esm/components/form/fields/form-field-file.d.ts +0 -12
  163. package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
  164. package/dist/esm/components/form/fields/form-field-file.js +34 -13
  165. package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
  166. package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
  167. package/dist/esm/components/form/fields/form-field-file.labels.js +46 -0
  168. package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
  169. package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts +73 -0
  170. package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts.map +1 -0
  171. package/dist/esm/components/form/fields/form-field-string-organization-role.js +64 -0
  172. package/dist/esm/components/form/fields/form-field-string-organization-role.js.map +1 -0
  173. package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
  174. package/dist/esm/components/form/fields/form-field-string.js +8 -1
  175. package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
  176. package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
  177. package/dist/esm/components/form/fields/form-field-string.labels.js +4 -0
  178. package/dist/esm/components/form/fields/form-field-string.labels.js.map +1 -1
  179. package/dist/esm/components/form/validation-errors/FormErrorSummary.js +1 -1
  180. package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
  181. package/dist/esm/components/form/validation-errors/resolver-error-nesting.d.ts +31 -0
  182. package/dist/esm/components/form/validation-errors/resolver-error-nesting.d.ts.map +1 -0
  183. package/dist/esm/components/form/validation-errors/resolver-error-nesting.js +81 -0
  184. package/dist/esm/components/form/validation-errors/resolver-error-nesting.js.map +1 -0
  185. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.d.ts +14 -1
  186. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.d.ts.map +1 -1
  187. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.js +14 -0
  188. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.js.map +1 -1
  189. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts +22 -0
  190. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts.map +1 -1
  191. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js +1 -22
  192. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js.map +1 -1
  193. package/dist/esm/components/layout/resizable.d.ts +11 -0
  194. package/dist/esm/components/layout/resizable.d.ts.map +1 -1
  195. package/dist/esm/components/layout/resizable.js.map +1 -1
  196. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts +11 -1
  197. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
  198. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js +15 -3
  199. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
  200. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts +2 -2
  201. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
  202. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
  203. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.d.ts +2 -2
  204. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js +2 -2
  205. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js.map +1 -1
  206. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js +18 -20
  207. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
  208. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
  209. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js +7 -1
  210. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
  211. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
  212. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js +4 -1
  213. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js.map +1 -1
  214. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
  215. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js +18 -2
  216. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
  217. package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
  218. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +82 -10
  219. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
  220. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts +2 -2
  221. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
  222. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
  223. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
  224. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js +8 -1
  225. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
  226. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts +8 -2
  227. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
  228. package/dist/esm/components/resources/ResourceCollectionToolbar.js +6 -2
  229. package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
  230. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
  231. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js +31 -16
  232. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
  233. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
  234. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js +23 -8
  235. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
  236. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +2 -2
  237. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
  238. package/dist/esm/components/resources/ResourceLayout_Header.d.ts +13 -0
  239. package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
  240. package/dist/esm/components/resources/ResourceLayout_Header.js +55 -28
  241. package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
  242. package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
  243. package/dist/esm/components/resources/ResourceLayout_List.js +41 -20
  244. package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
  245. package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
  246. package/dist/esm/components/resources/ResourceLayout_List.labels.js +1 -2
  247. package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
  248. package/dist/esm/components/resources/ResourceLayout_Read.d.ts +9 -4
  249. package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
  250. package/dist/esm/components/resources/ResourceLayout_Read.js +30 -11
  251. package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
  252. package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
  253. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js +4 -2
  254. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
  255. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
  256. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js +6 -2
  257. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
  258. package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
  259. package/dist/esm/components/resources/ResourceLayout_Search.js +30 -14
  260. package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
  261. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
  262. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js +14 -198
  263. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
  264. package/dist/esm/components/resources/ResourceLayout_Update.d.ts +2 -2
  265. package/dist/esm/components/resources/ResourceLayout_Update.js +2 -2
  266. package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
  267. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
  268. package/dist/esm/components/resources/ResourceListItemRenderer.js +69 -39
  269. package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
  270. package/dist/esm/components/resources/ResourceOperationActionDropdown.d.ts +32 -0
  271. package/dist/esm/components/resources/ResourceOperationActionDropdown.d.ts.map +1 -0
  272. package/dist/esm/components/resources/ResourceOperationActionDropdown.js +130 -0
  273. package/dist/esm/components/resources/ResourceOperationActionDropdown.js.map +1 -0
  274. package/dist/esm/components/resources/collection-create-placement.utils.d.ts +32 -0
  275. package/dist/esm/components/resources/collection-create-placement.utils.d.ts.map +1 -0
  276. package/dist/esm/components/resources/collection-create-placement.utils.js +37 -0
  277. package/dist/esm/components/resources/collection-create-placement.utils.js.map +1 -0
  278. package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
  279. package/dist/esm/components/resources/embeds/RelatedResourcePreview.js +5 -1
  280. package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
  281. package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts +8 -1
  282. package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
  283. package/dist/esm/components/resources/embeds/RelatedResourceSections.js +49 -2
  284. package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
  285. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts +22 -0
  286. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
  287. package/dist/esm/components/resources/embeds/ResourceEmbeds.js +85 -2
  288. package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
  289. package/dist/esm/components/resources/resourceLayout.utils.d.ts +14 -0
  290. package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
  291. package/dist/esm/components/resources/resourceLayout.utils.js +22 -0
  292. package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
  293. package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
  294. package/dist/esm/components/resources/skeleton/ArrayField.js +3 -0
  295. package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
  296. package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
  297. package/dist/esm/components/resources/skeleton/FormLayout.js +33 -1
  298. package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
  299. package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
  300. package/dist/esm/components/resources/skeleton/ObjectScope.js +3 -0
  301. package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
  302. package/dist/esm/components/resources/skeleton/Section.d.ts +12 -0
  303. package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
  304. package/dist/esm/components/resources/skeleton/Section.js +28 -2
  305. package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
  306. package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts +70 -0
  307. package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
  308. package/dist/esm/components/resources/skeleton/SectionFieldsContext.js +157 -1
  309. package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
  310. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts +6 -0
  311. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
  312. package/dist/esm/components/resources/skeleton/WizardLayout.js +13 -2
  313. package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
  314. package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
  315. package/dist/esm/components/resources/skeleton/WizardStep.js +2 -1
  316. package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
  317. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
  318. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js +61 -15
  319. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
  320. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts +24 -2
  321. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
  322. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js +69 -1
  323. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
  324. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
  325. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js +18 -19
  326. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
  327. package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
  328. package/dist/esm/components/sections/ContentSectionContainer.js +5 -4
  329. package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
  330. package/dist/esm/components/sections/stepper.d.ts +5 -0
  331. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  332. package/dist/esm/components/sections/stepper.js.map +1 -1
  333. package/dist/esm/components/sections/surface.d.ts.map +1 -1
  334. package/dist/esm/components/sections/surface.js +12 -3
  335. package/dist/esm/components/sections/surface.js.map +1 -1
  336. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.d.ts +43 -0
  337. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.d.ts.map +1 -0
  338. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js +129 -0
  339. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js.map +1 -0
  340. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.d.ts +3 -0
  341. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.d.ts.map +1 -0
  342. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js +34 -0
  343. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js.map +1 -0
  344. package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
  345. package/dist/esm/components/settings/AppPage_AppearanceSettings.js +9 -11
  346. package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
  347. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
  348. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js +3 -2
  349. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
  350. package/dist/esm/components/settings/AppPage_BillingSettings.d.ts +4 -2
  351. package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
  352. package/dist/esm/components/settings/AppPage_BillingSettings.js +21 -3
  353. package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
  354. package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
  355. package/dist/esm/components/settings/AppPage_BillingSettings.labels.js +5 -10
  356. package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
  357. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +58 -0
  358. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -1
  359. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +243 -40
  360. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -1
  361. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -1
  362. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +67 -6
  363. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -1
  364. package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
  365. package/dist/esm/components/settings/AppPage_InvitationsSettings.js +19 -11
  366. package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
  367. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
  368. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js +4 -2
  369. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
  370. package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
  371. package/dist/esm/components/settings/SettingsHub.js +3 -0
  372. package/dist/esm/components/settings/SettingsHub.js.map +1 -1
  373. package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
  374. package/dist/esm/components/settings/SettingsResourceOperationPanel.js +16 -1
  375. package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
  376. package/dist/esm/components/settings/useOwnerProviderConnections.d.ts +59 -0
  377. package/dist/esm/components/settings/useOwnerProviderConnections.d.ts.map +1 -0
  378. package/dist/esm/components/settings/useOwnerProviderConnections.js +136 -0
  379. package/dist/esm/components/settings/useOwnerProviderConnections.js.map +1 -0
  380. package/dist/esm/components/views/chart-view/chart-view.utils.d.ts +5 -0
  381. package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
  382. package/dist/esm/components/views/chart-view/chart-view.utils.js +5 -0
  383. package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
  384. package/dist/esm/components/views/chart-view/useResourceChartData.d.ts +50 -0
  385. package/dist/esm/components/views/chart-view/useResourceChartData.d.ts.map +1 -0
  386. package/dist/esm/components/views/chart-view/useResourceChartData.js +72 -0
  387. package/dist/esm/components/views/chart-view/useResourceChartData.js.map +1 -0
  388. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
  389. package/dist/esm/components/views/composite-view/CompositeLayout.js +2 -1
  390. package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
  391. package/dist/esm/core/app-shell/AppShellBuildingBlocks.d.ts +86 -0
  392. package/dist/esm/core/app-shell/AppShellBuildingBlocks.d.ts.map +1 -0
  393. package/dist/esm/core/app-shell/AppShellBuildingBlocks.js +187 -0
  394. package/dist/esm/core/app-shell/AppShellBuildingBlocks.js.map +1 -0
  395. package/dist/esm/core/app-shell/PortalContainerContext.d.ts +5 -2
  396. package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
  397. package/dist/esm/core/app-shell/PortalContainerContext.js +5 -2
  398. package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
  399. package/dist/esm/core/app-shell/app-shell.schemas.d.ts +18 -9
  400. package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
  401. package/dist/esm/core/app-shell/app-shell.schemas.js +1 -0
  402. package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
  403. package/dist/esm/core/app-shell/useAppShellLayout.d.ts +10 -0
  404. package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
  405. package/dist/esm/core/app-shell/useAppShellLayout.js +28 -5
  406. package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
  407. package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
  408. package/dist/esm/core/app-shell/usePublicShellLayout.js +38 -0
  409. package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
  410. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +15 -1
  411. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
  412. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +47 -13
  413. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
  414. package/dist/esm/core/billing/BillingContext.d.ts +25 -2
  415. package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
  416. package/dist/esm/core/billing/BillingContext.js +16 -25
  417. package/dist/esm/core/billing/BillingContext.js.map +1 -1
  418. package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts +11 -3
  419. package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
  420. package/dist/esm/core/billing/billing-provider-display.frontend.utils.js +14 -8
  421. package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
  422. package/dist/esm/core/billing/useBillingPlanChange.d.ts.map +1 -1
  423. package/dist/esm/core/billing/useBillingPlanChange.js +2 -0
  424. package/dist/esm/core/billing/useBillingPlanChange.js.map +1 -1
  425. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
  426. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +1 -0
  427. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
  428. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts +29 -229
  429. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -1
  430. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js +29 -327
  431. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -1
  432. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts +17 -27
  433. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -1
  434. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js +28 -48
  435. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -1
  436. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +21 -11
  437. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
  438. package/dist/esm/core/config/app-configuration-frontend.schemas.js +4 -4
  439. package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
  440. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +17 -0
  441. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
  442. package/dist/esm/core/config/app-level-components.frontend.schemas.js +17 -0
  443. package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
  444. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +10 -10
  445. package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
  446. package/dist/esm/core/config/engine-settings-destinations.js +221 -6
  447. package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
  448. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +8 -0
  449. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
  450. package/dist/esm/core/config/launcher-items.frontend.schemas.js +1 -0
  451. package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
  452. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +10 -1
  453. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
  454. package/dist/esm/core/config/settings-hub.frontend.schemas.js +9 -0
  455. package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
  456. package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
  457. package/dist/esm/core/config/verify-launcher-content.js +30 -19
  458. package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
  459. package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
  460. package/dist/esm/core/errors/ErrorContext.js +9 -1
  461. package/dist/esm/core/errors/ErrorContext.js.map +1 -1
  462. package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
  463. package/dist/esm/core/errors/GlobalErrorHandler.js +5 -4
  464. package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
  465. package/dist/esm/core/errors/RouterErrorBoundary.js +1 -1
  466. package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
  467. package/dist/esm/core/errors/errors-builder.frontend.services.d.ts +2 -2
  468. package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
  469. package/dist/esm/core/errors/errors-builder.frontend.services.js +4 -4
  470. package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
  471. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js +1 -1
  472. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js.map +1 -1
  473. package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
  474. package/dist/esm/core/events/NotificationContext.js +23 -5
  475. package/dist/esm/core/events/NotificationContext.js.map +1 -1
  476. package/dist/esm/core/events/events.frontend.schemas.d.ts +110 -43
  477. package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
  478. package/dist/esm/core/events/events.frontend.schemas.js +89 -15
  479. package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
  480. package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts +2 -0
  481. package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
  482. package/dist/esm/core/execution/useExecutionParticipationRMM.js +2 -1
  483. package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
  484. package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts +1 -1
  485. package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
  486. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js +5 -2
  487. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
  488. package/dist/esm/core/external-providers/ConsentBasedProviderSdks.d.ts +63 -0
  489. package/dist/esm/core/external-providers/ConsentBasedProviderSdks.d.ts.map +1 -0
  490. package/dist/esm/core/external-providers/ConsentBasedProviderSdks.js +131 -0
  491. package/dist/esm/core/external-providers/ConsentBasedProviderSdks.js.map +1 -0
  492. package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.d.ts +61 -0
  493. package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.d.ts.map +1 -0
  494. package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.js +178 -0
  495. package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.js.map +1 -0
  496. package/dist/esm/core/external-providers/ProviderAddressLookupHost.d.ts +52 -0
  497. package/dist/esm/core/external-providers/ProviderAddressLookupHost.d.ts.map +1 -0
  498. package/dist/esm/core/external-providers/ProviderAddressLookupHost.js +144 -0
  499. package/dist/esm/core/external-providers/ProviderAddressLookupHost.js.map +1 -0
  500. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts +22 -1
  501. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -1
  502. package/dist/esm/core/external-providers/ProviderFilePickerHost.js +23 -3
  503. package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -1
  504. package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.d.ts +55 -0
  505. package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.d.ts.map +1 -0
  506. package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.js +65 -0
  507. package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.js.map +1 -0
  508. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts +63 -0
  509. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts.map +1 -0
  510. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js +100 -0
  511. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js.map +1 -0
  512. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +45 -7
  513. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
  514. package/dist/esm/core/flows-actors/FlowsActorsContext.js +112 -28
  515. package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
  516. package/dist/esm/core/flows-actors/usePendingDecisions.d.ts +32 -0
  517. package/dist/esm/core/flows-actors/usePendingDecisions.d.ts.map +1 -0
  518. package/dist/esm/core/flows-actors/usePendingDecisions.js +91 -0
  519. package/dist/esm/core/flows-actors/usePendingDecisions.js.map +1 -0
  520. package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
  521. package/dist/esm/core/guidance/GuidanceRenderer.js +3 -2
  522. package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
  523. package/dist/esm/core/i18n/I18nContext.d.ts +22 -8
  524. package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
  525. package/dist/esm/core/i18n/I18nContext.js +21 -9
  526. package/dist/esm/core/i18n/I18nContext.js.map +1 -1
  527. package/dist/esm/core/i18n/component-label-resolution.utils.d.ts +5 -3
  528. package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
  529. package/dist/esm/core/i18n/component-label-resolution.utils.js +5 -3
  530. package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
  531. package/dist/esm/core/i18n/useI18n.d.ts +2 -1
  532. package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
  533. package/dist/esm/core/i18n/useI18n.js +2 -1
  534. package/dist/esm/core/i18n/useI18n.js.map +1 -1
  535. package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
  536. package/dist/esm/core/loading/LoadingContext.js +7 -1
  537. package/dist/esm/core/loading/LoadingContext.js.map +1 -1
  538. package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
  539. package/dist/esm/core/loading/LoadingGate.js +19 -1
  540. package/dist/esm/core/loading/LoadingGate.js.map +1 -1
  541. package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts +15 -2
  542. package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
  543. package/dist/esm/core/monitoring/analytics/AnalyticsContext.js +183 -20
  544. package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
  545. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js +2 -2
  546. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
  547. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts +7 -15
  548. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
  549. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js +8 -26
  550. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
  551. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts +12 -3
  552. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
  553. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js +3 -2
  554. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
  555. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts +42 -0
  556. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
  557. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js +89 -5
  558. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
  559. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts +2 -0
  560. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
  561. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js +2 -0
  562. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
  563. package/dist/esm/core/navigation/NavigationContentAreas.d.ts +78 -0
  564. package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
  565. package/dist/esm/core/navigation/NavigationContentAreas.js +264 -16
  566. package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
  567. package/dist/esm/core/navigation/NavigationContext.d.ts +8 -0
  568. package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
  569. package/dist/esm/core/navigation/NavigationContext.js +137 -30
  570. package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
  571. package/dist/esm/core/navigation/launcher-resolution.d.ts +2 -0
  572. package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
  573. package/dist/esm/core/navigation/launcher-resolution.js +1 -0
  574. package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
  575. package/dist/esm/core/navigation/navigation-cascade.d.ts +46 -0
  576. package/dist/esm/core/navigation/navigation-cascade.d.ts.map +1 -0
  577. package/dist/esm/core/navigation/navigation-cascade.js +222 -0
  578. package/dist/esm/core/navigation/navigation-cascade.js.map +1 -0
  579. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
  580. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js +21 -2
  581. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
  582. package/dist/esm/core/navigation/navigation-controller-internals.d.ts +71 -0
  583. package/dist/esm/core/navigation/navigation-controller-internals.d.ts.map +1 -0
  584. package/dist/esm/core/navigation/navigation-controller-internals.js +84 -0
  585. package/dist/esm/core/navigation/navigation-controller-internals.js.map +1 -0
  586. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +86 -2
  587. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
  588. package/dist/esm/core/navigation/navigation-policy-resolver.service.js +242 -124
  589. package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
  590. package/dist/esm/core/navigation/navigation.schemas.d.ts +170 -8
  591. package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
  592. package/dist/esm/core/navigation/navigation.schemas.js +121 -2
  593. package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
  594. package/dist/esm/core/navigation/navigation.utils.d.ts +102 -6
  595. package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
  596. package/dist/esm/core/navigation/navigation.utils.js +283 -34
  597. package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
  598. package/dist/esm/core/navigation/useIsStackEntryActive.d.ts +0 -10
  599. package/dist/esm/core/navigation/useIsStackEntryActive.d.ts.map +0 -1
  600. package/dist/esm/core/navigation/useIsStackEntryActive.js.map +0 -1
  601. package/dist/esm/core/navigation/useNavigationController.d.ts +28 -157
  602. package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
  603. package/dist/esm/core/navigation/useNavigationController.js +211 -1189
  604. package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
  605. package/dist/esm/core/navigation/useNavigationRouterSync.d.ts +174 -0
  606. package/dist/esm/core/navigation/useNavigationRouterSync.d.ts.map +1 -0
  607. package/dist/esm/core/navigation/useNavigationRouterSync.js +977 -0
  608. package/dist/esm/core/navigation/useNavigationRouterSync.js.map +1 -0
  609. package/dist/esm/core/navigation/useOverlayTitle.d.ts +13 -1
  610. package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
  611. package/dist/esm/core/navigation/useOverlayTitle.js +15 -10
  612. package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
  613. package/dist/esm/core/navigation/useResponsiveZoneMigration.d.ts +43 -0
  614. package/dist/esm/core/navigation/useResponsiveZoneMigration.d.ts.map +1 -0
  615. package/dist/esm/core/navigation/useResponsiveZoneMigration.js +44 -0
  616. package/dist/esm/core/navigation/useResponsiveZoneMigration.js.map +1 -0
  617. package/dist/esm/core/navigation/zone-collapse-migration.d.ts +83 -0
  618. package/dist/esm/core/navigation/zone-collapse-migration.d.ts.map +1 -0
  619. package/dist/esm/core/navigation/zone-collapse-migration.js +116 -0
  620. package/dist/esm/core/navigation/zone-collapse-migration.js.map +1 -0
  621. package/dist/esm/core/navigation/zone-collapse.d.ts +51 -0
  622. package/dist/esm/core/navigation/zone-collapse.d.ts.map +1 -0
  623. package/dist/esm/core/navigation/zone-collapse.js +59 -0
  624. package/dist/esm/core/navigation/zone-collapse.js.map +1 -0
  625. package/dist/esm/core/navigation/zone-emphasis.d.ts +3 -0
  626. package/dist/esm/core/navigation/zone-emphasis.d.ts.map +1 -1
  627. package/dist/esm/core/navigation/zone-emphasis.js +26 -4
  628. package/dist/esm/core/navigation/zone-emphasis.js.map +1 -1
  629. package/dist/esm/core/navigation/zone-visible-entry.d.ts +22 -0
  630. package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -1
  631. package/dist/esm/core/navigation/zone-visible-entry.js +25 -0
  632. package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -1
  633. package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
  634. package/dist/esm/core/requests/websockets/WebSocketContext.js +53 -18
  635. package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
  636. package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
  637. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js +3 -1
  638. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
  639. package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts +22 -0
  640. package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
  641. package/dist/esm/core/requests/websockets/useNotificationBadges.js +72 -3
  642. package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
  643. package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.d.ts +28 -0
  644. package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.d.ts.map +1 -0
  645. package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.js +86 -0
  646. package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.js.map +1 -0
  647. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +38 -3
  648. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
  649. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +57 -2
  650. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
  651. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
  652. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js +4 -2
  653. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
  654. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +30 -1
  655. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
  656. package/dist/esm/core/requests/wildo-http-client.frontend.service.js +47 -4
  657. package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
  658. package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
  659. package/dist/esm/core/resources/ResourceRegistryContext.js +22 -1
  660. package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
  661. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js +1 -1
  662. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
  663. package/dist/esm/core/resources/frontend-resource.utils.d.ts +22 -1
  664. package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
  665. package/dist/esm/core/resources/frontend-resource.utils.js +25 -2
  666. package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
  667. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts +113 -13
  668. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
  669. package/dist/esm/core/resources/operation-semantics.frontend.utils.js +173 -20
  670. package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
  671. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts +11 -0
  672. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
  673. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js +7 -0
  674. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -1
  675. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.d.ts +3 -2
  676. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.d.ts.map +1 -1
  677. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.js +13 -5
  678. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.js.map +1 -1
  679. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts +6 -0
  680. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
  681. package/dist/esm/core/resources/resources-repository.frontend.service.js +90 -1
  682. package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
  683. package/dist/esm/core/resources/resources.frontend.schemas.d.ts +139 -16
  684. package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
  685. package/dist/esm/core/resources/resources.frontend.schemas.js +110 -11
  686. package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
  687. package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
  688. package/dist/esm/core/resources/rmm/ResourceMutationManager.js +3 -1
  689. package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
  690. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts +10 -0
  691. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
  692. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js +8 -0
  693. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
  694. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts +7 -0
  695. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
  696. package/dist/esm/core/resources/rmm/useResourceRMM.js +9 -2
  697. package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
  698. package/dist/esm/core/resources/useOperationDirectExecution.d.ts +59 -0
  699. package/dist/esm/core/resources/useOperationDirectExecution.d.ts.map +1 -0
  700. package/dist/esm/core/resources/useOperationDirectExecution.js +278 -0
  701. package/dist/esm/core/resources/useOperationDirectExecution.js.map +1 -0
  702. package/dist/esm/core/resources/useResourceOperationActions.d.ts +1 -1
  703. package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
  704. package/dist/esm/core/resources/useResourceOperationActions.js +69 -22
  705. package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
  706. package/dist/esm/core/resources/useResourceOperationSurface.d.ts +8 -6
  707. package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
  708. package/dist/esm/core/resources/useResourceOperationSurface.js +3 -2
  709. package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
  710. package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
  711. package/dist/esm/core/runtime/AppRouter.js +23 -2
  712. package/dist/esm/core/runtime/AppRouter.js.map +1 -1
  713. package/dist/esm/core/runtime/ApplicationContext.shared.d.ts +4 -2
  714. package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
  715. package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
  716. package/dist/esm/core/runtime/ApplicationMainContext.d.ts +12 -2
  717. package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
  718. package/dist/esm/core/runtime/ApplicationMainContext.js +5 -2
  719. package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
  720. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts +25 -1
  721. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
  722. package/dist/esm/core/runtime/domain-module.frontend.definitions.js +37 -1
  723. package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
  724. package/dist/esm/core/runtime/start-application.frontend.service.d.ts +21 -2
  725. package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
  726. package/dist/esm/core/runtime/start-application.frontend.service.js +51 -4
  727. package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
  728. package/dist/esm/core/security/AuthSessionContext.d.ts +11 -0
  729. package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
  730. package/dist/esm/core/security/AuthSessionContext.js +70 -22
  731. package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
  732. package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
  733. package/dist/esm/core/security/StepUpAuthContext.js +10 -2
  734. package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
  735. package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
  736. package/dist/esm/core/security/UserOrgsContext.js +72 -8
  737. package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
  738. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts +7 -0
  739. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts.map +1 -1
  740. package/dist/esm/core/security/route-organization-access.frontend.utils.js +8 -2
  741. package/dist/esm/core/security/route-organization-access.frontend.utils.js.map +1 -1
  742. package/dist/esm/core/security/useGrantedConsentPurposes.d.ts +30 -0
  743. package/dist/esm/core/security/useGrantedConsentPurposes.d.ts.map +1 -0
  744. package/dist/esm/core/security/useGrantedConsentPurposes.js +38 -0
  745. package/dist/esm/core/security/useGrantedConsentPurposes.js.map +1 -0
  746. package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
  747. package/dist/esm/core/ui/UIContext.js +10 -6
  748. package/dist/esm/core/ui/UIContext.js.map +1 -1
  749. package/dist/esm/core/ui/color-conversion.utils.d.ts +20 -0
  750. package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
  751. package/dist/esm/core/ui/color-conversion.utils.js +39 -5
  752. package/dist/esm/core/ui/color-conversion.utils.js.map +1 -1
  753. package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
  754. package/dist/esm/core/ui/themes/default.theme.js +22 -2
  755. package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
  756. package/dist/esm/core/ui/ui.frontend.schemas.d.ts +6 -6
  757. package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
  758. package/dist/esm/core/ui/ui.frontend.schemas.js +3 -3
  759. package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
  760. package/dist/esm/index.d.ts +10 -1
  761. package/dist/esm/index.d.ts.map +1 -1
  762. package/dist/esm/index.js +19 -1
  763. package/dist/esm/index.js.map +1 -1
  764. package/dist/esm/testing/app-shell-placement-coverage.d.ts +43 -0
  765. package/dist/esm/testing/app-shell-placement-coverage.d.ts.map +1 -0
  766. package/dist/esm/testing/app-shell-placement-coverage.js +114 -0
  767. package/dist/esm/testing/app-shell-placement-coverage.js.map +1 -0
  768. package/dist/esm/testing/mock-builders.d.ts.map +1 -1
  769. package/dist/esm/testing/mock-builders.js +5 -0
  770. package/dist/esm/testing/mock-builders.js.map +1 -1
  771. package/dist/esm/testing.d.ts +1 -0
  772. package/dist/esm/testing.d.ts.map +1 -1
  773. package/dist/esm/testing.js +1 -0
  774. package/dist/esm/testing.js.map +1 -1
  775. package/package.json +9 -7
  776. package/dist/esm/core/navigation/useIsStackEntryActive.js +0 -15
  777. package/dist/tsconfig.build.tsbuildinfo +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderFilePickerHost.js","sourceRoot":"","sources":["../../../../../src/core/external-providers/ProviderFilePickerHost.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAc,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjF,OAAO,EAAE,2BAA2B,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAOvH,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mFAAmF,CAAC;AAC7H,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,GAE5B,MAAM,kFAAkF,CAAC;AAC1F,OAAO,EACL,6BAA6B,GAE9B,MAAM,0CAA0C,CAAC;AAElD,MAAM,sBAAsB,GAAG,2BAA2B,CAAC,oBAA0C,CAAC;AAmDtG,MAAM,UAAU,sBAAsB,CAAC,KAAkC;IACvE,MAAM,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,GAAG,cAAc,EAAE,CAAC;IACjF,MAAM,UAAU,GAAG,2BAA2B,CAAC,sBAAsB,CAAC,CAAC;IACvE,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,CAAC,EAClI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAC/B,CAAC;IACF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ;IAClC,2EAA2E;IAC3E,4EAA4E;IAC5E,mBAAmB;IACnB,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CACnE,CAAC;IAEF,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,SAAS,CAAC,GAAG,EAAE;QACb,2EAA2E;QAC3E,2EAA2E;QAC3E,qEAAqE;QACrE,2EAA2E;QAC3E,yEAAyE;QACzE,wDAAwD;QACxD,IAAI,eAAe,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;YAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IACxF,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,oBAAoB,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAEnF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACpC,OAAO,wBAAwB,EAAE,gBAAgB,CAAC,MAAe,CAAC,EAAE,YAAY,IAAI,EAAE,CAAC;IACzF,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAEvC,8EAA8E;IAC9E,6EAA6E;IAC7E,qEAAqE;IACrE,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC;IAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC,kCAAkC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAC5F,CAAC,gBAAgB,EAAE,QAAQ,EAAE,YAAY,CAAC,CAC3C,CAAC;IAEF,8EAA8E;IAC9E,0EAA0E;IAC1E,qEAAqE;IACrE,kEAAkE;IAClE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IAExD,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,UAA4C,EAAE,EAAE;QAC/C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QAEjC,MAAM,OAAO,GAAG,6BAA6B,CAAC;YAC5C,WAAW,EAAE,MAAM;YACnB,UAAU,EAAE,yBAAyB,EAAE,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;YAC/E,UAAU;SACX,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,iBAAiB,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC,EACD,CAAC,MAAM,EAAE,yBAAyB,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CACjE,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,KAAY,EAAE,EAAE;QACf,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,iBAAiB,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC,EACD,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAC5B,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjE;;;;;;;;OAQG;IACH,MAAM,sBAAsB,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;IACrE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,KAAK,uBAAuB,CAAC,WAAW,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC3E,sBAAsB,CAAC,OAAO,GAAG,SAAS,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,IAAI,sBAAsB,CAAC,OAAO,KAAK,MAAM;YAAE,OAAO;QACtD,sBAAsB,CAAC,OAAO,GAAG,MAAM,CAAC;QACxC,iBAAiB,EAAE,CAAC;YAClB,WAAW,EAAE,MAAM;YACnB,KAAK,EAAE,IAAI,KAAK,CACd,aAAa,MAAM,qFAAqF;kBACtG,mDAAmD,CACtD;SACF,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAExC,kGAAkG;IAClG,gGAAgG;IAChG,iGAAiG;IACjG,2BAA2B;IAC3B,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,IAAiC,EAAE;QACzE,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,wBAAwB,EAAE,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;QAC1F,OAAO,OAAO,EAAE,WAAW,CAAC;IAC9B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;WACxE,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAE5D,6EAA6E;IAC7E,2EAA2E;IAC3E,4EAA4E;IAC5E,MAAM,MAAM,GAAG,SAAgE,CAAC;IAEhF,OAAO,CACL,8BACG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EACnC,MAAM,KAAK,uBAAuB,CAAC,KAAK,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CACrF,KAAC,MAAM,IACL,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,GACpB,CACH,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAIvB;IACC,OAAO,CACL,cAAK,IAAI,EAAC,OAAO,YACd,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC7B,iBAEE,IAAI,EAAC,QAAQ,kBACC,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC,MAAM,EACjD,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,YAI9C,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,IAPpC,MAAM,CAAC,WAAW,CAQhB,CACV,CAAC,GACE,CACP,CAAC;AACJ,CAAC","sourcesContent":["/**\n * The framework side of a provider file picker: choose a provider, load its\n * component on demand, mount it, and hold whatever it returns to the contract\n * it declared.\n *\n * This is the seam issue #380 exists to create. Before it, a provider could not\n * contribute a component at all, and resolution beside the registry was\n * first-match — so a Drive picker and a Dropbox picker could not coexist for one\n * field, and which one won depended on map order.\n *\n * ## What this component decides and what it deliberately does not\n *\n * It decides NOTHING about which provider is right. `useProviderComponentChoices`\n * returns every live provider that carries a picker, in a stable order, and this\n * host renders them for a person to choose between. A framework that picked one\n * would be making a product decision in a lookup table, which is the defect the\n * registry was rebuilt to remove.\n *\n * It also does not interpret a selection. Routing a `REMOTE_REFERENCE` to the\n * application's executor door, or uploading a `BROWSER_READABLE_FILE`, is the\n * FIELD's job — this host hands up an outcome that is already checked against\n * the provider's declaration, so the field can branch on a `kind` it can trust.\n *\n * ## Chrome\n *\n * There is none beyond a list of buttons and the mounted component. Every label\n * is an i18n KEY resolved by the caller: a provider's display name is\n * locale-bound copy, and freezing it into a framework component is how a missing\n * translation becomes invisible.\n */\n\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type { ProviderCapability } from '@wildo-ai/saas-models';\nimport { BUILTIN_PROVIDER_CAPABILITY, layerProviderFilePickerConstraints } from '@wildo-ai/saas-models/public-runtime';\nimport type { FileStorageAccepted } from '@wildo-ai/saas-models/public-runtime';\nimport type {\n ProviderFilePickerConstraints,\n ProviderFilePickerProps,\n ProviderFileSelection,\n} from '@wildo-ai/saas-models/public-runtime';\nimport { useApplication } from '~wildo-frontend-lib/core/runtime/useApplication';\nimport { getManualCallsHttpClient } from '~wildo-frontend-lib/core/requests/wildo-http-client-manual-calls.frontend.service';\nimport {\n ProviderComponentStatus,\n useProviderComponent,\n useProviderComponentChoices,\n type ProviderComponentChoice,\n} from '~wildo-frontend-lib/core/components-registry/useProviderComponent.frontend.hooks';\nimport {\n receiveProviderFileSelections,\n type ProviderFileSelectionRejection,\n} from './provider-file-selection.frontend.utils';\n\nconst FILE_PICKER_CAPABILITY = BUILTIN_PROVIDER_CAPABILITY.FRONTEND_FILE_PICKER as ProviderCapability;\n\nexport interface ProviderFilePickerHostProps {\n /**\n * The FIELD's own constraints, read from its Zod metadata. The chosen\n * provider's declared limits are laid UNDER these, here, per provider — never\n * resolved once by the caller, which is how one vendor's limit came to govern\n * every other vendor's picker (#380).\n */\n readonly constraints: ProviderFilePickerConstraints;\n /**\n * Whether the field accepts several files. A `maxSelectionCount` a provider\n * declares applies only to a `multiple` field; a single-file field never\n * inherits a selection count, whatever the vendor allows.\n */\n readonly multiple: boolean;\n /**\n * The field's `z_file({ storageAccepted })` (#394 P5). A provider whose picker\n * fronts a storage (a `REMOTE_REFERENCE` picker — the file stays at the\n * vendor) is offered only when this names that storage, because the link it\n * produces lands in that storage and the backend refuses it otherwise. A\n * provider declaring no storage delivers bytes into the field's own storage\n * and is offered regardless. Undefined — the field declared nothing — accepts\n * no vendor storage: the default storage is the framework's.\n */\n readonly acceptedStorages?: ReadonlyArray<FileStorageAccepted>;\n /**\n * Called with selections that have already been checked against the chosen\n * provider's declaration, so every `kind` here is the one that provider said\n * it would produce.\n */\n onSelect(providerRef: string, selections: readonly ProviderFileSelection[]): void;\n onCancel?(): void;\n /**\n * A provider's picker failed, or contradicted its own declaration. Both reach\n * here because both mean the same thing to a user — this picker did not work —\n * while the distinction that matters to a developer is in the rejection.\n */\n onProviderFailure?(failure: { readonly providerRef: string; readonly error?: Error; readonly rejections?: readonly ProviderFileSelectionRejection[] }): void;\n /**\n * Renders the chooser. Supplied by the caller, because a chooser is chrome and\n * this package's components are injected rather than hard-coded. The default\n * below is plain buttons: enough to be usable, not enough to be a design.\n */\n renderChooser?(input: {\n readonly choices: readonly ProviderComponentChoice[];\n readonly chosen: string | undefined;\n choose(providerRef: string): void;\n }): React.ReactNode;\n}\n\nexport function ProviderFilePickerHost(props: ProviderFilePickerHostProps): React.ReactElement | null {\n const { providerComponentRegistry, frontendProviderRegistry } = useApplication();\n const allChoices = useProviderComponentChoices(FILE_PICKER_CAPABILITY);\n const acceptedStorages = props.acceptedStorages;\n const choices = useMemo(\n () => allChoices.filter((choice) => choice.fileStorage === undefined || (acceptedStorages?.includes(choice.fileStorage) ?? false)),\n [allChoices, acceptedStorages],\n );\n const [chosen, setChosen] = useState<string | undefined>(\n // A single provider needs no chooser: presenting one option as a choice is\n // a click that carries no information. Several is a genuine decision and is\n // never made here.\n () => (choices.length === 1 ? choices[0]?.providerRef : undefined),\n );\n\n const soleProviderRef = choices.length === 1 ? choices[0]?.providerRef : undefined;\n useEffect(() => {\n // The initializer above runs ONCE. In today's runtime that is enough — the\n // registry is populated before application services are handed out and the\n // context gates children on them — but a host whose only correctness\n // argument lives in another file's ordering is one refactor from rendering\n // nothing at all: with a single late-arriving provider there would be no\n // chooser (length is 1) and no picker (nothing chosen).\n if (soleProviderRef !== undefined && chosen === undefined) setChosen(soleProviderRef);\n }, [soleProviderRef, chosen]);\n const { status, Component } = useProviderComponent(FILE_PICKER_CAPABILITY, chosen);\n\n const publicConfig = useMemo(() => {\n if (chosen === undefined) return {};\n return frontendProviderRegistry?.getProviderByRef(chosen as never)?.publicConfig ?? {};\n }, [chosen, frontendProviderRegistry]);\n\n // The chosen provider's half, laid under the field's own. Recomputed when the\n // person picks a different vendor, which is the whole point: the two vendors\n // may declare different limits and each picker must be told its own.\n const fieldConstraints = props.constraints;\n const multiple = props.multiple;\n const constraints = useMemo(\n () => layerProviderFilePickerConstraints({ base: fieldConstraints, multiple, publicConfig }),\n [fieldConstraints, multiple, publicConfig],\n );\n\n // Destructured, not read off `props` inside the callbacks: `props` is a fresh\n // object every render, so depending on it would give both callbacks a new\n // identity on every parent render — and a picker keying an effect on\n // `onSelect` would then re-run its whole open sequence each time.\n const { onSelect, onCancel, onProviderFailure } = props;\n\n const handleSelect = useCallback(\n (selections: readonly ProviderFileSelection[]) => {\n if (chosen === undefined) return;\n\n const outcome = receiveProviderFileSelections({\n providerRef: chosen,\n descriptor: providerComponentRegistry?.describe(FILE_PICKER_CAPABILITY, chosen),\n selections,\n });\n\n if (outcome.rejections.length > 0) {\n onProviderFailure?.({ providerRef: chosen, rejections: outcome.rejections });\n return;\n }\n\n onSelect(chosen, outcome.accepted);\n },\n [chosen, providerComponentRegistry, onSelect, onProviderFailure],\n );\n\n const handleError = useCallback(\n (error: Error) => {\n if (chosen === undefined) return;\n onProviderFailure?.({ providerRef: chosen, error });\n },\n [chosen, onProviderFailure],\n );\n\n const handleCancel = useCallback(() => onCancel?.(), [onCancel]);\n\n /*\n * A chosen provider whose picker can never mount — its component failed to load, or a\n * `<script>` its provider declares did not (`SCRIPT_LOAD_FAILED`) — is a failure the\n * surface must hear about. Rendering nothing and saying nothing would leave a person who\n * clicked a provider looking at a control that silently ignores them; the registry's\n * diagnostic reaches a developer's log, not the field. Reported ONCE per chosen provider:\n * `onProviderFailure` may change identity on every parent render, and the registry never\n * retries, so a second report would describe the same failure again.\n */\n const reportedUnavailableRef = useRef<string | undefined>(undefined);\n useEffect(() => {\n if (status !== ProviderComponentStatus.UNAVAILABLE || chosen === undefined) {\n reportedUnavailableRef.current = undefined;\n return;\n }\n if (reportedUnavailableRef.current === chosen) return;\n reportedUnavailableRef.current = chosen;\n onProviderFailure?.({\n providerRef: chosen,\n error: new Error(\n `Provider \"${chosen}\" cannot open its file picker: its component or a script it declares did not load. `\n + 'The provider component registry logged the cause.',\n ),\n });\n }, [status, chosen, onProviderFailure]);\n\n // The caller's own token for the chosen provider, from the one door that hands one out (#394 P4).\n // Resolved lazily — a picker asks when it opens, never before — and `undefined` when nothing is\n // connected, which the picker reports in its own words. Never read from `publicConfig`, which is\n // served to every browser.\n const getAccessToken = useCallback(async (): Promise<string | undefined> => {\n if (chosen === undefined) return undefined;\n const granted = await getManualCallsHttpClient().getProviderConnectionAccessToken(chosen);\n return granted?.accessToken;\n }, [chosen]);\n\n if (choices.length === 0) return null;\n\n const chooser = props.renderChooser?.({ choices, chosen, choose: setChosen })\n ?? defaultChooser({ choices, chosen, choose: setChosen });\n\n // `Component` is typed as the registry's opaque component: this package must\n // not make the registry know any capability's props. The narrowing happens\n // HERE, where the capability is known, and it is the only cast in the path.\n const Picker = Component as React.ComponentType<ProviderFilePickerProps> | null;\n\n return (\n <>\n {choices.length > 1 ? chooser : null}\n {status === ProviderComponentStatus.READY && Picker !== null && chosen !== undefined ? (\n <Picker\n providerRef={chosen}\n publicConfig={publicConfig}\n constraints={constraints}\n getAccessToken={getAccessToken}\n onSelect={handleSelect}\n onCancel={handleCancel}\n onError={handleError}\n />\n ) : null}\n </>\n );\n}\n\nfunction defaultChooser(input: {\n readonly choices: readonly ProviderComponentChoice[];\n readonly chosen: string | undefined;\n choose(providerRef: string): void;\n}): React.ReactNode {\n return (\n <div role=\"group\">\n {input.choices.map((choice) => (\n <button\n key={choice.providerRef}\n type=\"button\"\n aria-pressed={choice.providerRef === input.chosen}\n onClick={() => input.choose(choice.providerRef)}\n >\n {/* The authored fallback, NOT a translation — a surface that has an\n i18n service should pass `renderChooser` and resolve the key. */}\n {choice.displayName ?? choice.providerRef}\n </button>\n ))}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"ProviderFilePickerHost.js","sourceRoot":"","sources":["../../../../../src/core/external-providers/ProviderFilePickerHost.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * The framework side of a provider file picker: choose a provider, load its\n * component on demand, mount it, and hold whatever it returns to the contract\n * it declared.\n *\n * This is the seam issue #380 exists to create. Before it, a provider could not\n * contribute a component at all, and resolution beside the registry was\n * first-match — so a Drive picker and a Dropbox picker could not coexist for one\n * field, and which one won depended on map order.\n *\n * ## What this component decides and what it deliberately does not\n *\n * It decides NOTHING about which provider is right. `useProviderComponentChoices`\n * returns every live provider that carries a picker, in a stable order, and this\n * host renders them for a person to choose between. A framework that picked one\n * would be making a product decision in a lookup table, which is the defect the\n * registry was rebuilt to remove.\n *\n * It also does not interpret a selection. Routing a `REMOTE_REFERENCE` to the\n * application's executor door, or uploading a `BROWSER_READABLE_FILE`, is the\n * FIELD's job — this host hands up an outcome that is already checked against\n * the provider's declaration, so the field can branch on a `kind` it can trust.\n *\n * ## Chrome\n *\n * There is none beyond a list of buttons and the mounted component. Every label\n * is an i18n KEY resolved by the caller: a provider's display name is\n * locale-bound copy, and freezing it into a framework component is how a missing\n * translation becomes invisible.\n */\n\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type { ProviderCapability } from '@wildo-ai/saas-models';\nimport { BUILTIN_PROVIDER_CAPABILITY, layerProviderFilePickerConstraints } from '@wildo-ai/saas-models/public-runtime';\nimport type { ConsentPurpose, FileStorageAccepted } from '@wildo-ai/saas-models/public-runtime';\nimport type {\n ProviderFilePickerConstraints,\n ProviderFilePickerProps,\n ProviderFileSelection,\n} from '@wildo-ai/saas-models/public-runtime';\nimport { useApplication } from '~wildo-frontend-lib/core/runtime/useApplication';\nimport { useGrantedConsentPurposes } from '~wildo-frontend-lib/core/security/useGrantedConsentPurposes';\nimport { getManualCallsHttpClient } from '~wildo-frontend-lib/core/requests/wildo-http-client-manual-calls.frontend.service';\nimport { ProviderComponentStatus } from '@wildo-ai/external-connectors-public/app';\nimport {\n useProviderComponent,\n useProviderComponentChoices,\n type ProviderComponentChoice,\n} from '~wildo-frontend-lib/core/components-registry/useProviderComponent.frontend.hooks';\nimport {\n receiveProviderFileSelections,\n type ProviderFileSelectionRejection,\n} from './provider-file-selection.frontend.utils';\n\nconst FILE_PICKER_CAPABILITY = BUILTIN_PROVIDER_CAPABILITY.FRONTEND_FILE_PICKER as ProviderCapability;\n\nexport interface ProviderFilePickerHostProps {\n /**\n * The FIELD's own constraints, read from its Zod metadata. The chosen\n * provider's declared limits are laid UNDER these, here, per provider — never\n * resolved once by the caller, which is how one vendor's limit came to govern\n * every other vendor's picker (#380).\n */\n readonly constraints: ProviderFilePickerConstraints;\n /**\n * Whether the field accepts several files. A `maxSelectionCount` a provider\n * declares applies only to a `multiple` field; a single-file field never\n * inherits a selection count, whatever the vendor allows.\n */\n readonly multiple: boolean;\n /**\n * The field's `z_file({ storageAccepted })` (#394 P5). A provider whose picker\n * fronts a storage (a `REMOTE_REFERENCE` picker — the file stays at the\n * vendor) is offered only when this names that storage, because the link it\n * produces lands in that storage and the backend refuses it otherwise. A\n * provider declaring no storage delivers bytes into the field's own storage\n * and is offered regardless. Undefined — the field declared nothing — accepts\n * no vendor storage: the default storage is the framework's.\n */\n readonly acceptedStorages?: ReadonlyArray<FileStorageAccepted>;\n /**\n * Called with selections that have already been checked against the chosen\n * provider's declaration, so every `kind` here is the one that provider said\n * it would produce.\n */\n onSelect(providerRef: string, selections: readonly ProviderFileSelection[]): void;\n onCancel?(): void;\n /**\n * A provider's picker failed, or contradicted its own declaration. Both reach\n * here because both mean the same thing to a user — this picker did not work —\n * while the distinction that matters to a developer is in the rejection.\n */\n onProviderFailure?(failure: { readonly providerRef: string; readonly error?: Error; readonly rejections?: readonly ProviderFileSelectionRejection[] }): void;\n /**\n * Renders the chooser. Supplied by the caller, because a chooser is chrome and\n * this package's components are injected rather than hard-coded. The default\n * below is plain buttons: enough to be usable, not enough to be a design.\n */\n renderChooser?(input: {\n readonly choices: readonly ProviderComponentChoice[];\n readonly chosen: string | undefined;\n choose(providerRef: string): void;\n }): React.ReactNode;\n /**\n * Renders the state shown when the chosen provider rests on consent the person has not granted (#1702):\n * nothing of the provider has been downloaded, and the surface owes the person the reason and the way to\n * change it. Supplied by the caller for the same reason as `renderChooser` — it is chrome, and its words\n * are the caller's i18n. The default below names the purposes by their raw values: a missing label that\n * LOOKS missing, never invented text.\n */\n renderConsentRequired?(input: ProviderFilePickerConsentRequiredInput): React.ReactNode;\n}\n\n/** What a consent-required state needs to say and to offer. */\nexport interface ProviderFilePickerConsentRequiredInput {\n /** The chosen provider, as a choice — its display-name label KEY included. */\n readonly choice: ProviderComponentChoice;\n /** The purposes the person would have to grant, in vocabulary order. Never empty. */\n readonly missingPurposes: readonly ConsentPurpose[];\n /**\n * Records a grant of exactly `missingPurposes` through the person's audited preference write; the picker\n * then loads without a re-mount. `undefined` when there is no signed-in person to record it for — the\n * state must then say what is missing without offering an action it cannot perform.\n */\n readonly grant: (() => Promise<void>) | undefined;\n}\n\nexport function ProviderFilePickerHost(props: ProviderFilePickerHostProps): React.ReactElement | null {\n const { providerComponentRegistry, frontendProviderRegistry } = useApplication();\n const allChoices = useProviderComponentChoices(FILE_PICKER_CAPABILITY);\n const acceptedStorages = props.acceptedStorages;\n const choices = useMemo(\n () => allChoices.filter((choice) => choice.fileStorage === undefined || (acceptedStorages?.includes(choice.fileStorage) ?? false)),\n [allChoices, acceptedStorages],\n );\n const [chosen, setChosen] = useState<string | undefined>(\n // A single provider needs no chooser: presenting one option as a choice is\n // a click that carries no information. Several is a genuine decision and is\n // never made here.\n () => (choices.length === 1 ? choices[0]?.providerRef : undefined),\n );\n\n const soleProviderRef = choices.length === 1 ? choices[0]?.providerRef : undefined;\n useEffect(() => {\n // The initializer above runs ONCE. In today's runtime that is enough — the\n // registry is populated before application services are handed out and the\n // context gates children on them — but a host whose only correctness\n // argument lives in another file's ordering is one refactor from rendering\n // nothing at all: with a single late-arriving provider there would be no\n // chooser (length is 1) and no picker (nothing chosen).\n if (soleProviderRef !== undefined && chosen === undefined) setChosen(soleProviderRef);\n }, [soleProviderRef, chosen]);\n const { status, Component, missingConsentPurposes } = useProviderComponent(FILE_PICKER_CAPABILITY, chosen);\n const { grant: grantConsent } = useGrantedConsentPurposes();\n\n const publicConfig = useMemo(() => {\n if (chosen === undefined) return {};\n return frontendProviderRegistry?.getProviderByRef(chosen as never)?.publicConfig ?? {};\n }, [chosen, frontendProviderRegistry]);\n\n // The chosen provider's half, laid under the field's own. Recomputed when the\n // person picks a different vendor, which is the whole point: the two vendors\n // may declare different limits and each picker must be told its own.\n const fieldConstraints = props.constraints;\n const multiple = props.multiple;\n const constraints = useMemo(\n () => layerProviderFilePickerConstraints({ base: fieldConstraints, multiple, publicConfig }),\n [fieldConstraints, multiple, publicConfig],\n );\n\n // Destructured, not read off `props` inside the callbacks: `props` is a fresh\n // object every render, so depending on it would give both callbacks a new\n // identity on every parent render — and a picker keying an effect on\n // `onSelect` would then re-run its whole open sequence each time.\n const { onSelect, onCancel, onProviderFailure } = props;\n\n const handleSelect = useCallback(\n (selections: readonly ProviderFileSelection[]) => {\n if (chosen === undefined) return;\n\n const outcome = receiveProviderFileSelections({\n providerRef: chosen,\n descriptor: providerComponentRegistry?.describe(FILE_PICKER_CAPABILITY, chosen),\n selections,\n });\n\n if (outcome.rejections.length > 0) {\n onProviderFailure?.({ providerRef: chosen, rejections: outcome.rejections });\n return;\n }\n\n onSelect(chosen, outcome.accepted);\n },\n [chosen, providerComponentRegistry, onSelect, onProviderFailure],\n );\n\n const handleError = useCallback(\n (error: Error) => {\n if (chosen === undefined) return;\n onProviderFailure?.({ providerRef: chosen, error });\n },\n [chosen, onProviderFailure],\n );\n\n const handleCancel = useCallback(() => onCancel?.(), [onCancel]);\n\n /*\n * A chosen provider whose picker can never mount — its component failed to load, or a\n * `<script>` its provider declares did not (`SCRIPT_LOAD_FAILED`) — is a failure the\n * surface must hear about. Rendering nothing and saying nothing would leave a person who\n * clicked a provider looking at a control that silently ignores them; the registry's\n * diagnostic reaches a developer's log, not the field. Reported ONCE per chosen provider:\n * `onProviderFailure` may change identity on every parent render, and the registry never\n * retries, so a second report would describe the same failure again.\n */\n const reportedUnavailableRef = useRef<string | undefined>(undefined);\n useEffect(() => {\n if (status !== ProviderComponentStatus.UNAVAILABLE || chosen === undefined) {\n reportedUnavailableRef.current = undefined;\n return;\n }\n if (reportedUnavailableRef.current === chosen) return;\n reportedUnavailableRef.current = chosen;\n onProviderFailure?.({\n providerRef: chosen,\n error: new Error(\n `Provider \"${chosen}\" cannot open its file picker: its component or a script it declares did not load. `\n + 'The provider component registry logged the cause.',\n ),\n });\n }, [status, chosen, onProviderFailure]);\n\n // The caller's own token for the chosen provider, from the one door that hands one out (#394 P4).\n // Resolved lazily — a picker asks when it opens, never before — and `undefined` when nothing is\n // connected, which the picker reports in its own words. Never read from `publicConfig`, which is\n // served to every browser.\n const getAccessToken = useCallback(async (): Promise<string | undefined> => {\n if (chosen === undefined) return undefined;\n const granted = await getManualCallsHttpClient().getProviderConnectionAccessToken(chosen);\n return granted?.accessToken;\n }, [chosen]);\n\n if (choices.length === 0) return null;\n\n const chooser = props.renderChooser?.({ choices, chosen, choose: setChosen })\n ?? defaultChooser({ choices, chosen, choose: setChosen });\n\n const chosenChoice = choices.find((choice) => choice.providerRef === chosen);\n const consentRequired = status === ProviderComponentStatus.CONSENT_REQUIRED && chosenChoice !== undefined\n ? (props.renderConsentRequired ?? defaultConsentRequired)({\n choice: chosenChoice,\n missingPurposes: missingConsentPurposes,\n grant: grantConsent === undefined ? undefined : () => grantConsent(missingConsentPurposes),\n })\n : null;\n\n // `Component` is typed as the registry's opaque component: this package must\n // not make the registry know any capability's props. The narrowing happens\n // HERE, where the capability is known, and it is the only cast in the path.\n const Picker = Component as React.ComponentType<ProviderFilePickerProps> | null;\n\n return (\n <>\n {choices.length > 1 ? chooser : null}\n {consentRequired}\n {status === ProviderComponentStatus.READY && Picker !== null && chosen !== undefined ? (\n <Picker\n providerRef={chosen}\n publicConfig={publicConfig}\n constraints={constraints}\n getAccessToken={getAccessToken}\n onSelect={handleSelect}\n onCancel={handleCancel}\n onError={handleError}\n />\n ) : null}\n </>\n );\n}\n\nfunction defaultChooser(input: {\n readonly choices: readonly ProviderComponentChoice[];\n readonly chosen: string | undefined;\n choose(providerRef: string): void;\n}): React.ReactNode {\n return (\n <div role=\"group\">\n {input.choices.map((choice) => (\n <button\n key={choice.providerRef}\n type=\"button\"\n aria-pressed={choice.providerRef === input.chosen}\n onClick={() => input.choose(choice.providerRef)}\n >\n {/* The authored fallback, NOT a translation — a surface that has an\n i18n service should pass `renderChooser` and resolve the key. */}\n {choice.displayName ?? choice.providerRef}\n </button>\n ))}\n </div>\n );\n}\n\n/**\n * The fallback consent-required state: announced (`role=\"status\"`), with a real, keyboard-reachable\n * button when a grant can be recorded. It names purposes by their RAW values on purpose — a surface with an\n * i18n service passes `renderConsentRequired` and words them; this default must not invent the words.\n */\nfunction defaultConsentRequired(input: ProviderFilePickerConsentRequiredInput): React.ReactNode {\n const purposes = input.missingPurposes.join(', ');\n return (\n <div role=\"status\" data-provider-consent-required={input.choice.providerRef}>\n <span>{purposes}</span>\n {input.grant === undefined ? null : (\n <button type=\"button\" onClick={() => void input.grant?.()}>\n {purposes}\n </button>\n )}\n </div>\n );\n}\n"]}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Holding what an address-lookup component hands back to the contract it DECLARED (#1702) — the
3
+ * `FRONTEND_ADDRESS_LOOKUP` twin of `receiveProviderFileSelections`, and the slot the address field of #561
4
+ * fills from.
5
+ *
6
+ * ## What is checked, and why here
7
+ *
8
+ * The address itself is the application's value: the field validates it against its own `z_address()`
9
+ * schema, as it validates a typed address, and this function applies that schema when the caller passes it
10
+ * so a lookup cannot hand the field a value the field would refuse.
11
+ *
12
+ * The vendor's PLACE ID is the part a vendor's terms govern, so a component declares once, statically,
13
+ * whether it returns one (`ProviderAddressLookupPlaceIdRetention`), and this function holds every selection
14
+ * to that declaration (the #383 rule). A component that declared `NONE` and returns a place id contradicts
15
+ * itself and is refused — a surface that silently kept the id would be holding a vendor key nobody reviewed
16
+ * the terms for. A `TRANSIENT` id is passed through for the interaction.
17
+ *
18
+ * Nothing here says the id may be stored, because nothing may store it (#561 D3): the address field keeps
19
+ * only the address (`AddressFieldLookupHost.applyAddress` takes an `AddressValue`, which has no place for one).
20
+ * The `placeIdStorable` flag this function returned until #561 had no reader and was removed with the
21
+ * `STORABLE` declaration it reported.
22
+ */
23
+ import type { z } from 'zod';
24
+ import { type ProviderFrontendComponentDescriptor } from '@wildo-ai/saas-models/public-runtime';
25
+ import type { ProviderAddressLookupSelection } from '@wildo-ai/saas-models';
26
+ /** Why an address-lookup selection was not accepted. */
27
+ export declare enum ProviderAddressLookupRejectionKind {
28
+ /** The component returned a place id although it declared it returns none. */
29
+ PLACE_ID_CONTRADICTS_DECLARATION = "PLACE_ID_CONTRADICTS_DECLARATION",
30
+ /** The address it returned does not satisfy the receiving field's own schema. */
31
+ ADDRESS_REFUSED_BY_FIELD = "ADDRESS_REFUSED_BY_FIELD"
32
+ }
33
+ export interface ProviderAddressLookupRejection {
34
+ readonly kind: ProviderAddressLookupRejectionKind;
35
+ readonly providerRef: string;
36
+ readonly message: string;
37
+ }
38
+ /** A selection the field may take: its address, and a place id only when the component declared one (never stored). */
39
+ export type AcceptedProviderAddressLookupSelection = ProviderAddressLookupSelection;
40
+ export type ProviderAddressLookupOutcome = {
41
+ readonly accepted: AcceptedProviderAddressLookupSelection;
42
+ readonly rejection?: undefined;
43
+ } | {
44
+ readonly accepted?: undefined;
45
+ readonly rejection: ProviderAddressLookupRejection;
46
+ };
47
+ export declare function receiveProviderAddressLookupSelection(input: {
48
+ readonly providerRef: string;
49
+ /** The component's declaration, from `providerComponentRegistry.describe(FRONTEND_ADDRESS_LOOKUP, ref)`. */
50
+ readonly descriptor: ProviderFrontendComponentDescriptor | undefined;
51
+ readonly selection: ProviderAddressLookupSelection;
52
+ /** The receiving field's own `z_address()` schema. When given, an address it refuses is refused here. */
53
+ readonly addressSchema?: z.ZodType;
54
+ }): ProviderAddressLookupOutcome;
55
+ //# sourceMappingURL=provider-address-lookup-selection.frontend.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-address-lookup-selection.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../../src/core/external-providers/provider-address-lookup-selection.frontend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAEL,KAAK,mCAAmC,EACzC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAE5E,wDAAwD;AACxD,oBAAY,kCAAkC;IAC5C,8EAA8E;IAC9E,gCAAgC,qCAAqC;IACrE,iFAAiF;IACjF,wBAAwB,6BAA6B;CACtD;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,IAAI,EAAE,kCAAkC,CAAC;IAClD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,uHAAuH;AACvH,MAAM,MAAM,sCAAsC,GAAG,8BAA8B,CAAC;AAEpF,MAAM,MAAM,4BAA4B,GACpC;IAAE,QAAQ,CAAC,QAAQ,EAAE,sCAAsC,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,GAC7F;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,8BAA8B,CAAA;CAAE,CAAC;AAE1F,wBAAgB,qCAAqC,CAAC,KAAK,EAAE;IAC3D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,4GAA4G;IAC5G,QAAQ,CAAC,UAAU,EAAE,mCAAmC,GAAG,SAAS,CAAC;IACrE,QAAQ,CAAC,SAAS,EAAE,8BAA8B,CAAC;IACnD,yGAAyG;IACzG,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;CACpC,GAAG,4BAA4B,CAqC/B"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Holding what an address-lookup component hands back to the contract it DECLARED (#1702) — the
3
+ * `FRONTEND_ADDRESS_LOOKUP` twin of `receiveProviderFileSelections`, and the slot the address field of #561
4
+ * fills from.
5
+ *
6
+ * ## What is checked, and why here
7
+ *
8
+ * The address itself is the application's value: the field validates it against its own `z_address()`
9
+ * schema, as it validates a typed address, and this function applies that schema when the caller passes it
10
+ * so a lookup cannot hand the field a value the field would refuse.
11
+ *
12
+ * The vendor's PLACE ID is the part a vendor's terms govern, so a component declares once, statically,
13
+ * whether it returns one (`ProviderAddressLookupPlaceIdRetention`), and this function holds every selection
14
+ * to that declaration (the #383 rule). A component that declared `NONE` and returns a place id contradicts
15
+ * itself and is refused — a surface that silently kept the id would be holding a vendor key nobody reviewed
16
+ * the terms for. A `TRANSIENT` id is passed through for the interaction.
17
+ *
18
+ * Nothing here says the id may be stored, because nothing may store it (#561 D3): the address field keeps
19
+ * only the address (`AddressFieldLookupHost.applyAddress` takes an `AddressValue`, which has no place for one).
20
+ * The `placeIdStorable` flag this function returned until #561 had no reader and was removed with the
21
+ * `STORABLE` declaration it reported.
22
+ */
23
+ import { ProviderAddressLookupPlaceIdRetention, } from '@wildo-ai/saas-models/public-runtime';
24
+ /** Why an address-lookup selection was not accepted. */
25
+ export var ProviderAddressLookupRejectionKind;
26
+ (function (ProviderAddressLookupRejectionKind) {
27
+ /** The component returned a place id although it declared it returns none. */
28
+ ProviderAddressLookupRejectionKind["PLACE_ID_CONTRADICTS_DECLARATION"] = "PLACE_ID_CONTRADICTS_DECLARATION";
29
+ /** The address it returned does not satisfy the receiving field's own schema. */
30
+ ProviderAddressLookupRejectionKind["ADDRESS_REFUSED_BY_FIELD"] = "ADDRESS_REFUSED_BY_FIELD";
31
+ })(ProviderAddressLookupRejectionKind || (ProviderAddressLookupRejectionKind = {}));
32
+ export function receiveProviderAddressLookupSelection(input) {
33
+ // Absent means NONE: a component that says nothing about place ids is read as returning none, which is
34
+ // the reading that can never store a vendor key by default.
35
+ const declared = input.descriptor?.placeIdRetention ?? ProviderAddressLookupPlaceIdRetention.NONE;
36
+ const { address, placeId } = input.selection;
37
+ if (placeId !== undefined && declared === ProviderAddressLookupPlaceIdRetention.NONE) {
38
+ return {
39
+ rejection: {
40
+ kind: ProviderAddressLookupRejectionKind.PLACE_ID_CONTRADICTS_DECLARATION,
41
+ providerRef: input.providerRef,
42
+ message: `Provider "${input.providerRef}" declared its address lookup returns no place id and returned one. `
43
+ + 'Whether a vendor place id is returned is a declaration (`placeIdRetention`), not a runtime choice, '
44
+ + 'so the selection is refused rather than guessed at.',
45
+ },
46
+ };
47
+ }
48
+ if (input.addressSchema !== undefined && !input.addressSchema.safeParse(address).success) {
49
+ return {
50
+ rejection: {
51
+ kind: ProviderAddressLookupRejectionKind.ADDRESS_REFUSED_BY_FIELD,
52
+ providerRef: input.providerRef,
53
+ message: `Provider "${input.providerRef}" returned an address the field's own schema refuses (a country outside `
54
+ + 'the ones it accepts, or a missing required part). The lookup is a suggestion; the field decides.',
55
+ },
56
+ };
57
+ }
58
+ return {
59
+ accepted: {
60
+ address,
61
+ ...(placeId !== undefined ? { placeId } : {}),
62
+ },
63
+ };
64
+ }
65
+ //# sourceMappingURL=provider-address-lookup-selection.frontend.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-address-lookup-selection.frontend.utils.js","sourceRoot":"","sources":["../../../../../src/core/external-providers/provider-address-lookup-selection.frontend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EACL,qCAAqC,GAEtC,MAAM,sCAAsC,CAAC;AAG9C,wDAAwD;AACxD,MAAM,CAAN,IAAY,kCAKX;AALD,WAAY,kCAAkC;IAC5C,8EAA8E;IAC9E,2GAAqE,CAAA;IACrE,iFAAiF;IACjF,2FAAqD,CAAA;AACvD,CAAC,EALW,kCAAkC,KAAlC,kCAAkC,QAK7C;AAeD,MAAM,UAAU,qCAAqC,CAAC,KAOrD;IACC,uGAAuG;IACvG,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,EAAE,gBAAgB,IAAI,qCAAqC,CAAC,IAAI,CAAC;IAClG,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;IAE7C,IAAI,OAAO,KAAK,SAAS,IAAI,QAAQ,KAAK,qCAAqC,CAAC,IAAI,EAAE,CAAC;QACrF,OAAO;YACL,SAAS,EAAE;gBACT,IAAI,EAAE,kCAAkC,CAAC,gCAAgC;gBACzE,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,OAAO,EACL,aAAa,KAAK,CAAC,WAAW,sEAAsE;sBAClG,qGAAqG;sBACrG,qDAAqD;aAC1D;SACF,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QACzF,OAAO;YACL,SAAS,EAAE;gBACT,IAAI,EAAE,kCAAkC,CAAC,wBAAwB;gBACjE,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,OAAO,EACL,aAAa,KAAK,CAAC,WAAW,0EAA0E;sBACtG,kGAAkG;aACvG;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE;YACR,OAAO;YACP,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9C;KACF,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Holding what an address-lookup component hands back to the contract it DECLARED (#1702) — the\n * `FRONTEND_ADDRESS_LOOKUP` twin of `receiveProviderFileSelections`, and the slot the address field of #561\n * fills from.\n *\n * ## What is checked, and why here\n *\n * The address itself is the application's value: the field validates it against its own `z_address()`\n * schema, as it validates a typed address, and this function applies that schema when the caller passes it\n * so a lookup cannot hand the field a value the field would refuse.\n *\n * The vendor's PLACE ID is the part a vendor's terms govern, so a component declares once, statically,\n * whether it returns one (`ProviderAddressLookupPlaceIdRetention`), and this function holds every selection\n * to that declaration (the #383 rule). A component that declared `NONE` and returns a place id contradicts\n * itself and is refused — a surface that silently kept the id would be holding a vendor key nobody reviewed\n * the terms for. A `TRANSIENT` id is passed through for the interaction.\n *\n * Nothing here says the id may be stored, because nothing may store it (#561 D3): the address field keeps\n * only the address (`AddressFieldLookupHost.applyAddress` takes an `AddressValue`, which has no place for one).\n * The `placeIdStorable` flag this function returned until #561 had no reader and was removed with the\n * `STORABLE` declaration it reported.\n */\n\nimport type { z } from 'zod';\nimport {\n ProviderAddressLookupPlaceIdRetention,\n type ProviderFrontendComponentDescriptor,\n} from '@wildo-ai/saas-models/public-runtime';\nimport type { ProviderAddressLookupSelection } from '@wildo-ai/saas-models';\n\n/** Why an address-lookup selection was not accepted. */\nexport enum ProviderAddressLookupRejectionKind {\n /** The component returned a place id although it declared it returns none. */\n PLACE_ID_CONTRADICTS_DECLARATION = 'PLACE_ID_CONTRADICTS_DECLARATION',\n /** The address it returned does not satisfy the receiving field's own schema. */\n ADDRESS_REFUSED_BY_FIELD = 'ADDRESS_REFUSED_BY_FIELD',\n}\n\nexport interface ProviderAddressLookupRejection {\n readonly kind: ProviderAddressLookupRejectionKind;\n readonly providerRef: string;\n readonly message: string;\n}\n\n/** A selection the field may take: its address, and a place id only when the component declared one (never stored). */\nexport type AcceptedProviderAddressLookupSelection = ProviderAddressLookupSelection;\n\nexport type ProviderAddressLookupOutcome =\n | { readonly accepted: AcceptedProviderAddressLookupSelection; readonly rejection?: undefined }\n | { readonly accepted?: undefined; readonly rejection: ProviderAddressLookupRejection };\n\nexport function receiveProviderAddressLookupSelection(input: {\n readonly providerRef: string;\n /** The component's declaration, from `providerComponentRegistry.describe(FRONTEND_ADDRESS_LOOKUP, ref)`. */\n readonly descriptor: ProviderFrontendComponentDescriptor | undefined;\n readonly selection: ProviderAddressLookupSelection;\n /** The receiving field's own `z_address()` schema. When given, an address it refuses is refused here. */\n readonly addressSchema?: z.ZodType;\n}): ProviderAddressLookupOutcome {\n // Absent means NONE: a component that says nothing about place ids is read as returning none, which is\n // the reading that can never store a vendor key by default.\n const declared = input.descriptor?.placeIdRetention ?? ProviderAddressLookupPlaceIdRetention.NONE;\n const { address, placeId } = input.selection;\n\n if (placeId !== undefined && declared === ProviderAddressLookupPlaceIdRetention.NONE) {\n return {\n rejection: {\n kind: ProviderAddressLookupRejectionKind.PLACE_ID_CONTRADICTS_DECLARATION,\n providerRef: input.providerRef,\n message:\n `Provider \"${input.providerRef}\" declared its address lookup returns no place id and returned one. `\n + 'Whether a vendor place id is returned is a declaration (`placeIdRetention`), not a runtime choice, '\n + 'so the selection is refused rather than guessed at.',\n },\n };\n }\n\n if (input.addressSchema !== undefined && !input.addressSchema.safeParse(address).success) {\n return {\n rejection: {\n kind: ProviderAddressLookupRejectionKind.ADDRESS_REFUSED_BY_FIELD,\n providerRef: input.providerRef,\n message:\n `Provider \"${input.providerRef}\" returned an address the field's own schema refuses (a country outside `\n + 'the ones it accepts, or a missing required part). The lookup is a suggestion; the field decides.',\n },\n };\n }\n\n return {\n accepted: {\n address,\n ...(placeId !== undefined ? { placeId } : {}),\n },\n };\n}\n"]}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * The re-authorization OFFERS a browser has been handed and not yet acted on (#1671, #1727).
3
+ *
4
+ * ## Why a store, and why it lives here
5
+ *
6
+ * A provider operation refused for a missing scope answers `409 PROVIDER_OPERATION_SCOPE_NOT_GRANTED` carrying a
7
+ * `reauthorization` offer: which scopes a person may add by re-authorizing the connection, for which operation. The
8
+ * refusal happens wherever the operation was called — a feature's own screen, a picker loading its options — while
9
+ * growing the grant is an act on the CONNECTION, which the connected-accounts screen owns. Something has to carry the
10
+ * offer from the one to the other, or the person meets a dead end at the feature and a screen that knows nothing
11
+ * about it.
12
+ *
13
+ * The manual-calls client records every offer it sees (`executeProviderOperation`, `loadProviderOperationInputOptions`),
14
+ * so no feature has to remember to; the connected-accounts screen reads them and shows "grant more access" on the
15
+ * connection they belong to.
16
+ *
17
+ * ## Keyed on the OWNER as well as the connection
18
+ *
19
+ * One vendor connection exists per owner: a person's own Microsoft grant and their organization's Microsoft grant are
20
+ * two grants with one `connectionRef`. An offer keyed on the connection alone would appear on whichever owner's screen
21
+ * was opened next — and pressing it would grow a DIFFERENT owner's grant while its audit row named an operation that
22
+ * was refused on the first. So an offer is recorded under the owner the refused call spent (`ownerScope`, `ownerId`),
23
+ * and a screen reads only its own owner's.
24
+ *
25
+ * ## Deliberately in-memory, one per owner and connection
26
+ *
27
+ * An offer is a statement about ONE refused call in this browser session. It is not persisted: a reload loses it, and
28
+ * the next refused call records it again — the backend recomputes the offer on every refusal, so nothing durable is
29
+ * lost and nothing stale can outlive the page. Growing the grant leaves the page for the vendor, which also ends it.
30
+ * The latest refusal replaces an earlier one for the same owner and connection; scopes the connection has since been
31
+ * granted are filtered by the screen, not here.
32
+ */
33
+ import type { ProviderScopeReauthorizationOffer } from '@wildo-ai/saas-models';
34
+ /** Whose grant a refused call spent — the connection target's owner half. */
35
+ export interface ProviderScopeReauthorizationOfferOwner {
36
+ readonly ownerScope: string;
37
+ /** Absent for the application's own connection, which no settings screen grows. */
38
+ readonly ownerId?: string;
39
+ }
40
+ /**
41
+ * The store key of one owner's offer for one connection. JSON of a fixed-order tuple rather than a joined string, so
42
+ * no separator a ref or an id could contain can make two different owners collide.
43
+ */
44
+ export declare function providerScopeReauthorizationOfferKey(owner: ProviderScopeReauthorizationOfferOwner, connectionRef: string): string;
45
+ /**
46
+ * Whether a refused call's body carries a re-authorization offer — read by SHAPE, so the frontend holds no copy of the
47
+ * backend's door error code. An offer names its connection, the ref to start through, the operation and the scope
48
+ * lists; anything missing one of them is not an offer and is ignored rather than half-recorded.
49
+ */
50
+ export declare function readProviderScopeReauthorizationOffer(body: unknown): ProviderScopeReauthorizationOffer | undefined;
51
+ /** Record an offer for the owner whose grant the refused call spent, replacing an earlier one for that connection. */
52
+ export declare function recordProviderScopeReauthorizationOffer(owner: ProviderScopeReauthorizationOfferOwner, offer: ProviderScopeReauthorizationOffer): void;
53
+ /** Forget one owner's offer for one connection — after it was acted on, or when the connection is gone. */
54
+ export declare function clearProviderScopeReauthorizationOffer(owner: ProviderScopeReauthorizationOfferOwner, connectionRef: string): void;
55
+ /** Forget every offer. For a test's `beforeEach`. */
56
+ export declare function clearAllProviderScopeReauthorizationOffers(): void;
57
+ /** Every pending offer, keyed by {@link providerScopeReauthorizationOfferKey}. */
58
+ export declare function getProviderScopeReauthorizationOffers(): ReadonlyMap<string, ProviderScopeReauthorizationOffer>;
59
+ /** One owner's pending offer for one connection, from a snapshot of the store. */
60
+ export declare function findProviderScopeReauthorizationOffer(offers: ReadonlyMap<string, ProviderScopeReauthorizationOffer>, owner: ProviderScopeReauthorizationOfferOwner, connectionRef: string): ProviderScopeReauthorizationOffer | undefined;
61
+ /** The pending offers, re-rendering the caller when one is recorded or cleared. */
62
+ export declare function useProviderScopeReauthorizationOffers(): ReadonlyMap<string, ProviderScopeReauthorizationOffer>;
63
+ //# sourceMappingURL=provider-scope-reauthorization-offers.frontend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-scope-reauthorization-offers.frontend.d.ts","sourceRoot":"","sources":["../../../../../src/core/external-providers/provider-scope-reauthorization-offers.frontend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAC;AAE/E,6EAA6E;AAC7E,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,mFAAmF;IACnF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAYD;;;GAGG;AACH,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,sCAAsC,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAEjI;AAED;;;;GAIG;AACH,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,OAAO,GAAG,iCAAiC,GAAG,SAAS,CAMlH;AAED,sHAAsH;AACtH,wBAAgB,uCAAuC,CAAC,KAAK,EAAE,sCAAsC,EAAE,KAAK,EAAE,iCAAiC,GAAG,IAAI,CAIrJ;AAED,2GAA2G;AAC3G,wBAAgB,sCAAsC,CAAC,KAAK,EAAE,sCAAsC,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAMjI;AAED,qDAAqD;AACrD,wBAAgB,0CAA0C,IAAI,IAAI,CAGjE;AAED,kFAAkF;AAClF,wBAAgB,qCAAqC,IAAI,WAAW,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAE9G;AAED,kFAAkF;AAClF,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,iCAAiC,CAAC,EAC9D,KAAK,EAAE,sCAAsC,EAC7C,aAAa,EAAE,MAAM,GACpB,iCAAiC,GAAG,SAAS,CAE/C;AAOD,mFAAmF;AACnF,wBAAgB,qCAAqC,IAAI,WAAW,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAE9G"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * The re-authorization OFFERS a browser has been handed and not yet acted on (#1671, #1727).
3
+ *
4
+ * ## Why a store, and why it lives here
5
+ *
6
+ * A provider operation refused for a missing scope answers `409 PROVIDER_OPERATION_SCOPE_NOT_GRANTED` carrying a
7
+ * `reauthorization` offer: which scopes a person may add by re-authorizing the connection, for which operation. The
8
+ * refusal happens wherever the operation was called — a feature's own screen, a picker loading its options — while
9
+ * growing the grant is an act on the CONNECTION, which the connected-accounts screen owns. Something has to carry the
10
+ * offer from the one to the other, or the person meets a dead end at the feature and a screen that knows nothing
11
+ * about it.
12
+ *
13
+ * The manual-calls client records every offer it sees (`executeProviderOperation`, `loadProviderOperationInputOptions`),
14
+ * so no feature has to remember to; the connected-accounts screen reads them and shows "grant more access" on the
15
+ * connection they belong to.
16
+ *
17
+ * ## Keyed on the OWNER as well as the connection
18
+ *
19
+ * One vendor connection exists per owner: a person's own Microsoft grant and their organization's Microsoft grant are
20
+ * two grants with one `connectionRef`. An offer keyed on the connection alone would appear on whichever owner's screen
21
+ * was opened next — and pressing it would grow a DIFFERENT owner's grant while its audit row named an operation that
22
+ * was refused on the first. So an offer is recorded under the owner the refused call spent (`ownerScope`, `ownerId`),
23
+ * and a screen reads only its own owner's.
24
+ *
25
+ * ## Deliberately in-memory, one per owner and connection
26
+ *
27
+ * An offer is a statement about ONE refused call in this browser session. It is not persisted: a reload loses it, and
28
+ * the next refused call records it again — the backend recomputes the offer on every refusal, so nothing durable is
29
+ * lost and nothing stale can outlive the page. Growing the grant leaves the page for the vendor, which also ends it.
30
+ * The latest refusal replaces an earlier one for the same owner and connection; scopes the connection has since been
31
+ * granted are filtered by the screen, not here.
32
+ */
33
+ import { useSyncExternalStore } from 'react';
34
+ let offersByKey = new Map();
35
+ const listeners = new Set();
36
+ function publish(next) {
37
+ offersByKey = next;
38
+ for (const listener of listeners)
39
+ listener();
40
+ }
41
+ /**
42
+ * The store key of one owner's offer for one connection. JSON of a fixed-order tuple rather than a joined string, so
43
+ * no separator a ref or an id could contain can make two different owners collide.
44
+ */
45
+ export function providerScopeReauthorizationOfferKey(owner, connectionRef) {
46
+ return JSON.stringify([owner.ownerScope, owner.ownerId ?? null, connectionRef]);
47
+ }
48
+ /**
49
+ * Whether a refused call's body carries a re-authorization offer — read by SHAPE, so the frontend holds no copy of the
50
+ * backend's door error code. An offer names its connection, the ref to start through, the operation and the scope
51
+ * lists; anything missing one of them is not an offer and is ignored rather than half-recorded.
52
+ */
53
+ export function readProviderScopeReauthorizationOffer(body) {
54
+ const offer = body?.reauthorization;
55
+ if (offer === undefined || offer === null || typeof offer !== 'object')
56
+ return undefined;
57
+ if (typeof offer.connectionRef !== 'string' || typeof offer.providerRef !== 'string' || typeof offer.operationId !== 'string')
58
+ return undefined;
59
+ if (!Array.isArray(offer.requestableScopes) || !Array.isArray(offer.administratorConsentScopes) || !Array.isArray(offer.unrequestableScopes))
60
+ return undefined;
61
+ return offer;
62
+ }
63
+ /** Record an offer for the owner whose grant the refused call spent, replacing an earlier one for that connection. */
64
+ export function recordProviderScopeReauthorizationOffer(owner, offer) {
65
+ const next = new Map(offersByKey);
66
+ next.set(providerScopeReauthorizationOfferKey(owner, offer.connectionRef), offer);
67
+ publish(next);
68
+ }
69
+ /** Forget one owner's offer for one connection — after it was acted on, or when the connection is gone. */
70
+ export function clearProviderScopeReauthorizationOffer(owner, connectionRef) {
71
+ const key = providerScopeReauthorizationOfferKey(owner, connectionRef);
72
+ if (!offersByKey.has(key))
73
+ return;
74
+ const next = new Map(offersByKey);
75
+ next.delete(key);
76
+ publish(next);
77
+ }
78
+ /** Forget every offer. For a test's `beforeEach`. */
79
+ export function clearAllProviderScopeReauthorizationOffers() {
80
+ if (offersByKey.size === 0)
81
+ return;
82
+ publish(new Map());
83
+ }
84
+ /** Every pending offer, keyed by {@link providerScopeReauthorizationOfferKey}. */
85
+ export function getProviderScopeReauthorizationOffers() {
86
+ return offersByKey;
87
+ }
88
+ /** One owner's pending offer for one connection, from a snapshot of the store. */
89
+ export function findProviderScopeReauthorizationOffer(offers, owner, connectionRef) {
90
+ return offers.get(providerScopeReauthorizationOfferKey(owner, connectionRef));
91
+ }
92
+ function subscribe(listener) {
93
+ listeners.add(listener);
94
+ return () => { listeners.delete(listener); };
95
+ }
96
+ /** The pending offers, re-rendering the caller when one is recorded or cleared. */
97
+ export function useProviderScopeReauthorizationOffers() {
98
+ return useSyncExternalStore(subscribe, getProviderScopeReauthorizationOffers, getProviderScopeReauthorizationOffers);
99
+ }
100
+ //# sourceMappingURL=provider-scope-reauthorization-offers.frontend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-scope-reauthorization-offers.frontend.js","sourceRoot":"","sources":["../../../../../src/core/external-providers/provider-scope-reauthorization-offers.frontend.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The re-authorization OFFERS a browser has been handed and not yet acted on (#1671, #1727).\n *\n * ## Why a store, and why it lives here\n *\n * A provider operation refused for a missing scope answers `409 PROVIDER_OPERATION_SCOPE_NOT_GRANTED` carrying a\n * `reauthorization` offer: which scopes a person may add by re-authorizing the connection, for which operation. The\n * refusal happens wherever the operation was called — a feature's own screen, a picker loading its options — while\n * growing the grant is an act on the CONNECTION, which the connected-accounts screen owns. Something has to carry the\n * offer from the one to the other, or the person meets a dead end at the feature and a screen that knows nothing\n * about it.\n *\n * The manual-calls client records every offer it sees (`executeProviderOperation`, `loadProviderOperationInputOptions`),\n * so no feature has to remember to; the connected-accounts screen reads them and shows \"grant more access\" on the\n * connection they belong to.\n *\n * ## Keyed on the OWNER as well as the connection\n *\n * One vendor connection exists per owner: a person's own Microsoft grant and their organization's Microsoft grant are\n * two grants with one `connectionRef`. An offer keyed on the connection alone would appear on whichever owner's screen\n * was opened next — and pressing it would grow a DIFFERENT owner's grant while its audit row named an operation that\n * was refused on the first. So an offer is recorded under the owner the refused call spent (`ownerScope`, `ownerId`),\n * and a screen reads only its own owner's.\n *\n * ## Deliberately in-memory, one per owner and connection\n *\n * An offer is a statement about ONE refused call in this browser session. It is not persisted: a reload loses it, and\n * the next refused call records it again — the backend recomputes the offer on every refusal, so nothing durable is\n * lost and nothing stale can outlive the page. Growing the grant leaves the page for the vendor, which also ends it.\n * The latest refusal replaces an earlier one for the same owner and connection; scopes the connection has since been\n * granted are filtered by the screen, not here.\n */\n\nimport { useSyncExternalStore } from 'react';\nimport type { ProviderScopeReauthorizationOffer } from '@wildo-ai/saas-models';\n\n/** Whose grant a refused call spent — the connection target's owner half. */\nexport interface ProviderScopeReauthorizationOfferOwner {\n readonly ownerScope: string;\n /** Absent for the application's own connection, which no settings screen grows. */\n readonly ownerId?: string;\n}\n\ntype Listener = () => void;\n\nlet offersByKey: ReadonlyMap<string, ProviderScopeReauthorizationOffer> = new Map();\nconst listeners = new Set<Listener>();\n\nfunction publish(next: ReadonlyMap<string, ProviderScopeReauthorizationOffer>): void {\n offersByKey = next;\n for (const listener of listeners) listener();\n}\n\n/**\n * The store key of one owner's offer for one connection. JSON of a fixed-order tuple rather than a joined string, so\n * no separator a ref or an id could contain can make two different owners collide.\n */\nexport function providerScopeReauthorizationOfferKey(owner: ProviderScopeReauthorizationOfferOwner, connectionRef: string): string {\n return JSON.stringify([owner.ownerScope, owner.ownerId ?? null, connectionRef]);\n}\n\n/**\n * Whether a refused call's body carries a re-authorization offer — read by SHAPE, so the frontend holds no copy of the\n * backend's door error code. An offer names its connection, the ref to start through, the operation and the scope\n * lists; anything missing one of them is not an offer and is ignored rather than half-recorded.\n */\nexport function readProviderScopeReauthorizationOffer(body: unknown): ProviderScopeReauthorizationOffer | undefined {\n const offer = (body as { reauthorization?: unknown } | null | undefined)?.reauthorization as Partial<ProviderScopeReauthorizationOffer> | undefined;\n if (offer === undefined || offer === null || typeof offer !== 'object') return undefined;\n if (typeof offer.connectionRef !== 'string' || typeof offer.providerRef !== 'string' || typeof offer.operationId !== 'string') return undefined;\n if (!Array.isArray(offer.requestableScopes) || !Array.isArray(offer.administratorConsentScopes) || !Array.isArray(offer.unrequestableScopes)) return undefined;\n return offer as ProviderScopeReauthorizationOffer;\n}\n\n/** Record an offer for the owner whose grant the refused call spent, replacing an earlier one for that connection. */\nexport function recordProviderScopeReauthorizationOffer(owner: ProviderScopeReauthorizationOfferOwner, offer: ProviderScopeReauthorizationOffer): void {\n const next = new Map(offersByKey);\n next.set(providerScopeReauthorizationOfferKey(owner, offer.connectionRef), offer);\n publish(next);\n}\n\n/** Forget one owner's offer for one connection — after it was acted on, or when the connection is gone. */\nexport function clearProviderScopeReauthorizationOffer(owner: ProviderScopeReauthorizationOfferOwner, connectionRef: string): void {\n const key = providerScopeReauthorizationOfferKey(owner, connectionRef);\n if (!offersByKey.has(key)) return;\n const next = new Map(offersByKey);\n next.delete(key);\n publish(next);\n}\n\n/** Forget every offer. For a test's `beforeEach`. */\nexport function clearAllProviderScopeReauthorizationOffers(): void {\n if (offersByKey.size === 0) return;\n publish(new Map());\n}\n\n/** Every pending offer, keyed by {@link providerScopeReauthorizationOfferKey}. */\nexport function getProviderScopeReauthorizationOffers(): ReadonlyMap<string, ProviderScopeReauthorizationOffer> {\n return offersByKey;\n}\n\n/** One owner's pending offer for one connection, from a snapshot of the store. */\nexport function findProviderScopeReauthorizationOffer(\n offers: ReadonlyMap<string, ProviderScopeReauthorizationOffer>,\n owner: ProviderScopeReauthorizationOfferOwner,\n connectionRef: string,\n): ProviderScopeReauthorizationOffer | undefined {\n return offers.get(providerScopeReauthorizationOfferKey(owner, connectionRef));\n}\n\nfunction subscribe(listener: Listener): () => void {\n listeners.add(listener);\n return () => { listeners.delete(listener); };\n}\n\n/** The pending offers, re-rendering the caller when one is recorded or cleared. */\nexport function useProviderScopeReauthorizationOffers(): ReadonlyMap<string, ProviderScopeReauthorizationOffer> {\n return useSyncExternalStore(subscribe, getProviderScopeReauthorizationOffers, getProviderScopeReauthorizationOffers);\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import React, { ReactNode } from 'react';
2
- import { FlowActorSystem_FrontendInfo, type FlowsActors_ConversationHistoryResponse, type WS_FlowsActorsApprovalModificationRefusal } from '@wildo-ai/saas-models';
2
+ import { FlowActorSystem_FrontendInfo, type FlowsActors_AutonomousAgent_FrontendInfo, type FlowsActors_ConversationHistoryResponse, type WS_FlowsActorsApprovalModificationRefusal, type HumanDecision_RouteKind, type WorkUnitRef } from '@wildo-ai/saas-models';
3
3
  import type { SerializableZodSchema } from '@wildo-ai/zod-decorators';
4
4
  /**
5
5
  * FlowsActors Execution Status
@@ -71,11 +71,26 @@ export interface FlowsActorsExecution {
71
71
  rejectedToolArgs?: Record<string, unknown>;
72
72
  requestedAt?: Date;
73
73
  /**
74
- * ECHOED back on the decision. Dropping it filters the resume against the default-instance
75
- * sentinel, so an approval raised on a named agent instance matches no row and is discarded
76
- * silently, leaving the turn paused forever.
74
+ * The decision's one id (#1594), ECHOED back on the answer. The server addresses the decision by
75
+ * it and reads everything else — owner, credential, agent instance — off the row.
77
76
  */
78
- resourceServerInstanceRef?: string;
77
+ decisionRef?: string;
78
+ /**
79
+ * Who answers it (#1594). Anything but OWNER is answered by a reviewer from their inbox, and the person
80
+ * whose conversation this is may not answer it — so a surface shows it as waiting rather than offering
81
+ * buttons the server would refuse. Absent means OWNER (a pause raised before routes existed).
82
+ */
83
+ routeKind?: HumanDecision_RouteKind;
84
+ /**
85
+ * The reason codes the answer may carry (#1921) — the application's declared vocabulary, offered when the approver
86
+ * changes or rejects the call. Absent when the application declares none.
87
+ */
88
+ reasonCodes?: readonly string[];
89
+ /**
90
+ * Set when the server refused the last answer's reason code (#1921): the pause stands, the approval is back on
91
+ * screen, and the card says the reason was not one the application offers. Cleared by the next answer.
92
+ */
93
+ reasonCodeRefused?: boolean;
79
94
  };
80
95
  /** Set when the last error is recoverable (UI can offer a retry action) */
81
96
  recoverable?: boolean;
@@ -101,6 +116,22 @@ export interface FlowsActorsExecution {
101
116
  export interface FlowsActorsContextType {
102
117
  /** Available frontend-visible FlowActorSystems */
103
118
  systems: FlowActorSystem_FrontendInfo[];
119
+ /**
120
+ * The autonomous agents the application declares (#1611), in declaration order — the closed set an
121
+ * organization OAuth client may be bound to, so a binding form offers these rather than free text (#1812).
122
+ * Empty until the first fetch settles, and when the application declares none.
123
+ */
124
+ autonomousAgents: FlowsActors_AutonomousAgent_FrontendInfo[];
125
+ /**
126
+ * Ask for {@link autonomousAgents} to be loaded, whatever else this application renders.
127
+ *
128
+ * The provider bootstraps `/flows-actors/frontend-info` only when the application configures a flows/actors
129
+ * VIEW (pinned: an application with no chat surface makes no such request). An autonomous agent needs no view —
130
+ * it runs unattended — so a surface that needs the declared agents (the OAuth client binding form, #1812) calls
131
+ * this instead. It fetches once per sign-in, and does nothing when a fetch already ran or cannot run yet
132
+ * (signed out, no backend endpoint, no http client). Idempotent, so call it from an effect.
133
+ */
134
+ requestAutonomousAgents: () => void;
104
135
  /** Loading state */
105
136
  isLoading: boolean;
106
137
  /** Error state */
@@ -111,15 +142,22 @@ export interface FlowsActorsContextType {
111
142
  /**
112
143
  * Send a turn. A new `executionId` opens a thread; an existing one continues it. The optional
113
144
  * identifiers are folded into the thread's `contextRef` on open (see `fetchConversationHistory`).
145
+ *
146
+ * `options.caseRef` (#1598) names the case the thread works on — a row of a resource declared `workUnit: true` —
147
+ * so the model calls it makes are attributed to that case. Read when the thread OPENS; a later turn keeps the
148
+ * thread's case. The server admits it only if the caller can read that row.
114
149
  */
115
- startExecution: (systemRef: string, initialInput?: Record<string, unknown>, existingExecutionId?: string, extraContextResourceIdentifiers?: Record<string, string>) => string | null;
150
+ startExecution: (systemRef: string, initialInput?: Record<string, unknown>, existingExecutionId?: string, extraContextResourceIdentifiers?: Record<string, string>, options?: {
151
+ caseRef?: WorkUnitRef;
152
+ }) => string | null;
116
153
  /** Respond to an approval request (fire-and-forget via WebSocket) */
117
154
  /**
118
155
  * `modifiedToolArgs` (#566) replaces the arguments the agent proposed. Absent means "run the call
119
156
  * as proposed"; the server validates the edit against the tool's own schema and refuses through
120
157
  * `FLOWS_ACTORS_ERROR` with the approval left pending.
121
158
  */
122
- respondToApproval: (executionId: string, approvalId: string, approved: boolean, comment?: string, modifiedToolArgs?: Record<string, unknown>) => void;
159
+ /** `reasonCode` is one of the approval's `reasonCodes` (#1921), given when the approver changes or rejects the call. */
160
+ respondToApproval: (executionId: string, approvalId: string, approved: boolean, comment?: string, modifiedToolArgs?: Record<string, unknown>, reasonCode?: string) => void;
123
161
  /** Remove a completed/errored execution from state */
124
162
  clearExecution: (executionId: string) => void;
125
163
  /** Get execution by ID (reads from ref; consume `executions` to re-render on changes) */
@@ -1 +1 @@
1
- {"version":3,"file":"FlowsActorsContext.d.ts","sourceRoot":"","sources":["../../../../../src/core/flows-actors/FlowsActorsContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowsActorsContext.d.ts","sourceRoot":"","sources":["../../../../../src/core/flows-actors/FlowsActorsContext.tsx"],"names":[],"mappings":"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"}