@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":"useExecutionResourceOperationSurface.d.ts","sourceRoot":"","sources":["../../../../../src/core/execution/useExecutionResourceOperationSurface.ts"],"names":[],"mappings":"AAqBA,OAAO,EAEL,gBAAgB,EAEhB,YAAY,EACZ,KAAK,WAAW,EACjB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,8BAA8B,EAC/B,MAAM,+EAA+E,CAAC;AACvF,OAAO,KAAK,EACV,wBAAwB,EAEzB,MAAM,gEAAgE,CAAC;AAGxE,OAAO,EACL,+BAA+B,EAEhC,MAAM,wDAAwD,CAAC;AAChE,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,wDAAwD,CAAC;AAEhE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,uDAAuD,CAAC;AAC7G,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,KAAK,gCAAgC,EAEtC,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,KAAK,6CAA6C,EAClD,4BAA4B,EAC7B,MAAM,gCAAgC,CAAC;AAMxC,MAAM,WAAW,wCAAwC;IACvD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,0CAA0C;IACzD,MAAM,EAAE,gCAAgC,CAAC;IACzC,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;IACjD,8BAA8B,CAAC,EAAE,8BAA8B,CAAC;CACjE;AAED,MAAM,WAAW,iCAAkC,SAAQ,IAAI,CAC7D,wBAAwB,EACxB,6BAA6B,GAAG,yBAAyB,CAC1D;IACC,MAAM,EAAE,gCAAgC,CAAC;IACzC,mBAAmB,CAAC,EAAE,4BAA4B,CAAC;IACnD,sBAAsB,EAAE,+BAA+B,CAAC;IACxD,GAAG,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5D,WAAW,EAAE,WAAW,CAAC;IACzB,oBAAoB,EAAE,+BAA+B,GAAG,IAAI,CAAC;IAC7D,6BAA6B,EAAE,6CAA6C,GAAG,IAAI,CAAC;IACpF,OAAO,EAAE,CACP,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,CAAC,EAAE,wCAAwC,KAC/C,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,2BAA2B,EAAE,wBAAwB,CAAC,6BAA6B,CAAC,CAAC;IACrF,uBAAuB,EAAE,wBAAwB,CAAC,yBAAyB,CAAC,CAAC;CAC9E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oCAAoC,CAAC,EACnD,MAAM,EACN,mBAAmB,EACnB,8BAA4E,GAC7E,EAAE,0CAA0C,GAAG,iCAAiC,CAqShF;AAED,MAAM,WAAW,+CAAgD,SAAQ,IAAI,CAC3E,0CAA0C,EAC1C,QAAQ,CACT;IACC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,IAAI,CAAC,gCAAgC,EAAE,kBAAkB,CAAC,CAAC;CACpE;AAED;;GAEG;AACH,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,+CAA+C,GACtD,iCAAiC,CAWnC"}
1
+ {"version":3,"file":"useExecutionResourceOperationSurface.d.ts","sourceRoot":"","sources":["../../../../../src/core/execution/useExecutionResourceOperationSurface.ts"],"names":[],"mappings":"AAqBA,OAAO,EAEL,gBAAgB,EAEhB,YAAY,EACZ,KAAK,WAAW,EACjB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAGL,KAAK,8BAA8B,EACpC,MAAM,+EAA+E,CAAC;AACvF,OAAO,KAAK,EACV,wBAAwB,EAEzB,MAAM,gEAAgE,CAAC;AAGxE,OAAO,EACL,+BAA+B,EAEhC,MAAM,wDAAwD,CAAC;AAChE,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,wDAAwD,CAAC;AAEhE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,uDAAuD,CAAC;AAC7G,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,KAAK,gCAAgC,EAEtC,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,KAAK,6CAA6C,EAClD,4BAA4B,EAC7B,MAAM,gCAAgC,CAAC;AAMxC,MAAM,WAAW,wCAAwC;IACvD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,0CAA0C;IACzD,MAAM,EAAE,gCAAgC,CAAC;IACzC,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;IACjD,8BAA8B,CAAC,EAAE,8BAA8B,CAAC;CACjE;AAED,MAAM,WAAW,iCAAkC,SAAQ,IAAI,CAC7D,wBAAwB,EACxB,6BAA6B,GAAG,yBAAyB,CAC1D;IACC,MAAM,EAAE,gCAAgC,CAAC;IACzC,mBAAmB,CAAC,EAAE,4BAA4B,CAAC;IACnD,sBAAsB,EAAE,+BAA+B,CAAC;IACxD,GAAG,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5D,WAAW,EAAE,WAAW,CAAC;IACzB,oBAAoB,EAAE,+BAA+B,GAAG,IAAI,CAAC;IAC7D,6BAA6B,EAAE,6CAA6C,GAAG,IAAI,CAAC;IACpF,OAAO,EAAE,CACP,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,CAAC,EAAE,wCAAwC,KAC/C,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,2BAA2B,EAAE,wBAAwB,CAAC,6BAA6B,CAAC,CAAC;IACrF,uBAAuB,EAAE,wBAAwB,CAAC,yBAAyB,CAAC,CAAC;CAC9E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oCAAoC,CAAC,EACnD,MAAM,EACN,mBAAmB,EAEnB,8BAA8B,GAC/B,EAAE,0CAA0C,GAAG,iCAAiC,CAwShF;AAED,MAAM,WAAW,+CAAgD,SAAQ,IAAI,CAC3E,0CAA0C,EAC1C,QAAQ,CACT;IACC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,IAAI,CAAC,gCAAgC,EAAE,kBAAkB,CAAC,CAAC;CACpE;AAED;;GAEG;AACH,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,+CAA+C,GACtD,iCAAiC,CAWnC"}
@@ -4,7 +4,7 @@ import { frontendResourceUtils, FrontendResourceUtils, } from '../../core/resour
4
4
  import { mergeBulkSelectionIntoRequestData, isSingleResourceUpdateLikeOperation, } from '../../core/resources/operation-semantics.frontend.utils.js';
5
5
  import { isFrontendOperationAddressableForCurrentContext, shouldRequireCurrentContextAddressabilityForOperation, } from '../../core/resources/resource-addressability.frontend.utils.js';
6
6
  import { MutationErrorType, MutationPriority, MutationSourceType, MutationType, } from '../../core/resources/rmm/types.js';
7
- import { UpdateLikeMutationFallbackMode, } from '../../core/resources/rmm/update-like-mutation-fallback.frontend.js';
7
+ import { allowsDirectOperationFallback, resolveDeclaredUpdateLikeMutationFallbackMode, } from '../../core/resources/rmm/update-like-mutation-fallback.frontend.js';
8
8
  import { useResourceOperationSurface } from '../../core/resources/useResourceOperationSurface.js';
9
9
  import { useResourceRegistry } from '../../core/resources/useResourceRegistry.js';
10
10
  import { ExecutionNavigationHandlingMode, resolveExecutionNavigationHandlingMode, } from '../../core/config/execution-view.schemas.js';
@@ -27,7 +27,9 @@ import { assertExecutionRuntimeContext, ExecutionRuntimeContext, } from './Execu
27
27
  * - update-like execution only uses RMM when the target resolves to one concrete
28
28
  * participation-backed lane
29
29
  */
30
- export function useExecutionResourceOperationSurface({ target, navigationInitiator, updateLikeMutationFallbackMode = UpdateLikeMutationFallbackMode.RMM_REQUIRED, }) {
30
+ export function useExecutionResourceOperationSurface({ target, navigationInitiator,
31
+ /* Omitted, the resource surface applies the lane the operation declared (RMM_REQUIRED unless it said otherwise). */
32
+ updateLikeMutationFallbackMode, }) {
31
33
  const executionRuntime = assertExecutionRuntimeContext(useContext(ExecutionRuntimeContext));
32
34
  const executionNavigation = executionRuntime.navigation;
33
35
  const { registry } = useResourceRegistry();
@@ -59,6 +61,7 @@ export function useExecutionResourceOperationSurface({ target, navigationInitiat
59
61
  contextResourceIdentifiers: target.contextResourceIdentifiers,
60
62
  relationshipFieldOverrides: target.relationshipFieldOverrides,
61
63
  enabled: Boolean(target.participationRef) && isSingleResourceUpdateLikeOperation(resourceContext.operation),
64
+ directFallbackAccepted: allowsDirectOperationFallback(updateLikeMutationFallbackMode ?? resolveDeclaredUpdateLikeMutationFallbackMode(resourceContext.operation)),
62
65
  });
63
66
  const navigationHandlingMode = useMemo(() => resolveExecutionNavigationHandlingMode({
64
67
  viewDefinition: executionRuntime.viewDefinition,
@@ -1 +1 @@
1
- {"version":3,"file":"useExecutionResourceOperationSurface.js","sourceRoot":"","sources":["../../../../../src/core/execution/useExecutionResourceOperationSurface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,kCAAkC,EAClC,yCAAyC,GAC1C,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,4DAA4D,CAAC;AACpE,OAAO,EACL,iCAAiC,EACjC,mCAAmC,GACpC,MAAM,uEAAuE,CAAC;AAC/E,OAAO,EACL,+CAA+C,EAC/C,qDAAqD,GACtD,MAAM,2EAA2E,CAAC;AACnF,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,GAEb,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,8BAA8B,GAC/B,MAAM,+EAA+E,CAAC;AAKvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,gEAAgE,CAAC;AAC7G,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAC7F,OAAO,EACL,+BAA+B,EAC/B,sCAAsC,GACvC,MAAM,wDAAwD,CAAC;AAChE,OAAO,EACL,qBAAqB,GAEtB,MAAM,wDAAwD,CAAC;AAGhE,OAAO,EACL,iCAAiC,GAElC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,2CAA2C,GAC5C,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAEL,4BAA4B,GAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAkCnC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oCAAoC,CAAC,EACnD,MAAM,EACN,mBAAmB,EACnB,8BAA8B,GAAG,8BAA8B,CAAC,YAAY,GACjC;IAC3C,MAAM,gBAAgB,GAAG,6BAA6B,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC5F,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,UAAU,CAAC;IACxD,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAC3C,MAAM,EAAE,6BAA6B,EAAE,GAAG,2CAA2C,EAAE,CAAC;IAExF,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB;QAC9C,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAC1D,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,mBAAmB,GAAG,OAAO,CAA2C,GAAG,EAAE;QACjF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,iCAAiC,CAAC;YACvC,aAAa,EAAE,gBAAgB;YAC/B,QAAQ;SACT,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEjC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACnC,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC,EAAE,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC,CAAC;IAE5C,MAAM,eAAe,GAAG,2BAA2B,CAAC;QAClD,eAAe;QACf,cAAc,EAAE,gBAAgB,CAAC,cAAc;QAC/C,mBAAmB;QACnB,8BAA8B;KACa,CAAC,CAAC;IAE/C,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;QACpD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE;QAC/C,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,0BAA0B,EAAE,MAAM,CAAC,0BAA0B;QAC7D,0BAA0B,EAAE,MAAM,CAAC,0BAA0B;QAC7D,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,mCAAmC,CAAC,eAAe,CAAC,SAAS,CAAC;KAC5G,CAAC,CAAC;IACH,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,sCAAsC,CAAC;QAClF,cAAc,EAAE,gBAAgB,CAAC,cAAc;QAC/C,YAAY,EAAE,eAAe,CAAC,YAAY;QAC1C,SAAS,EAAE,eAAe,CAAC,SAAS;KACrC,CAAC,EAAE;QACF,gBAAgB,CAAC,cAAc;QAC/B,eAAe,CAAC,SAAS;QACzB,eAAe,CAAC,YAAY;KAC7B,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG,WAAW,CAAC,CACxC,SAAkD,EAClD,0BAA0B,GAAG,eAAe,CAAC,0BAA0B,EACvE,2BAA2B,GAAG,eAAe,CAAC,2BAA2B,EACrD,EAAE;QACtB,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;YACpC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,UAAU,GAAG,yCAAyC,CAAC,gCAAgC,CAC3F,eAAe,CAAC,cAAc,EAC9B,SAAS,EACT,QAAQ,CAAC,2BAA2B,CACrC,CAAC;QAEF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,qBAAqB,CAAC,uBAAuB,CAClD,UAAU,EACV,0BAA0B,EAC1B,eAAe,CAAC,YAAY,EAC5B,eAAe,CAAC,cAAc,CAAC,uBAAuB,EACtD,2BAA2B,CAC5B,CAAC,GAAG,CAAC;IACR,CAAC,EAAE;QACD,QAAQ,CAAC,2BAA2B;QACpC,eAAe,CAAC,0BAA0B;QAC1C,eAAe,CAAC,2BAA2B;QAC3C,eAAe,CAAC,cAAc;QAC9B,eAAe,CAAC,YAAY;KAC7B,CAAC,CAAC;IAEH,MAAM,2BAA2B,GAAG,WAAW,CAAmE,CAAC,EACjH,SAAS,EACT,0BAA0B,GAAG,eAAe,CAAC,0BAA0B,EACvE,2BAA2B,GAAG,eAAe,CAAC,2BAA2B,EACzE,iBAAiB,GAClB,EAAE,EAAE;QACH,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,yBAAyB,CAC1E,0BAA0B,EAC1B,QAAQ,CACT,CAAC;QACF,MAAM,sBAAsB,GAAG,qDAAqD,CAAC;YACnF,SAAS;YACT,YAAY,EAAE,eAAe,CAAC,YAAY;YAC1C,cAAc,EAAE,eAAe,CAAC,cAAc;SAC/C,CAAC,CAAC;QACH,IACE,sBAAsB;eACnB,SAAS,CAAC,eAAe,KAAK,IAAI;eAClC,CAAC,+CAA+C,CAAC;gBAClD,cAAc,EAAE,eAAe,CAAC,cAAc;gBAC9C,SAAS;gBACT,QAAQ;gBACR,aAAa,EAAE,qBAAqB,CAAC,aAAa,CAAC,0BAA0B,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;gBACvH,0BAA0B;gBAC1B,oBAAoB;aACrB,CAAC,EACF,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,aAAa,GAAG,qBAAqB,CAAC,mDAAmD,CAAC;YAC9F,YAAY,EAAE,eAAe,CAAC,YAAY;YAC1C,SAAS;YACT,0BAA0B;YAC1B,2BAA2B;SAC5B,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,qBAAqB,CAC5C,SAAS,EACT,0BAA0B,EAC1B,2BAA2B,CAC5B,CAAC;QACF,IAAI,sBAAsB,KAAK,+BAA+B,CAAC,aAAa,EAAE,CAAC;YAC7E,mBAAmB,CAAC,mBAAmB,CAAC;gBACtC,OAAO,EAAE;oBACP,WAAW,EAAE,qBAAqB,CAAC,kBAAkB;oBACrD,eAAe,EAAE,aAAa;iBAC/B;gBACD,mBAAmB,EAAE,iBAAiB,IAAI,eAAe,CAAC,kBAAkB;aAC7E,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,iBAAiB,GAAG,eAAe,CAAC,kBAAkB,CAAC;QAC7D,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,EAAE,GAAG,iBAAiB,CAAC;QAElF,mBAAmB,CAAC,gBAAgB,CAAC;YACnC,OAAO,EAAE;gBACP,WAAW,EAAE,qBAAqB,CAAC,kBAAkB;gBACrD,eAAe,EAAE,aAAa;aAC/B;YACD,OAAO,EAAE,gBAAgB;YACzB,SAAS,EAAE,iBAAiB,IAAI,gBAAgB;SACjD,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC,EAAE;QACD,qBAAqB;QACrB,mBAAmB;QACnB,eAAe,CAAC,0BAA0B;QAC1C,eAAe,CAAC,2BAA2B;QAC3C,sBAAsB;QACtB,QAAQ;QACR,eAAe,CAAC,kBAAkB;QAClC,eAAe,CAAC,cAAc;QAC9B,eAAe,CAAC,YAAY;KAC7B,CAAC,CAAC;IAEH,MAAM,uBAAuB,GAAG,WAAW,CAA+D,CAAC,OAAO,EAAE,EAAE;QACpH,MAAM,aAAa,GAAG,eAAe,CAAC,yBAAyB,CAC7D,qBAAqB,CAAC,IAAI,EAC1B,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAC7B,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,IAAI,OAAO,EAAE,gBAAgB,KAAK,KAAK,EAAE,CAAC;gBACxC,eAAe,CAAC,gBAAgB,EAAE,CAAC;YACrC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,2BAA2B,CAAC;YACjC,SAAS,EAAE,aAAa;YACxB,0BAA0B,EAAE,OAAO,EAAE,0BAA0B,IAAI,eAAe,CAAC,0BAA0B;YAC7G,2BAA2B,EAAE,OAAO,EAAE,2BAA2B,IAAI,eAAe,CAAC,2BAA2B;YAChH,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;SAC9C,CAAC,CAAC;IACL,CAAC,EAAE;QACD,2BAA2B;QAC3B,eAAe,CAAC,0BAA0B;QAC1C,eAAe,CAAC,2BAA2B;QAC3C,eAAe;KAChB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,WAAW,CAA+C,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;QACvG,MAAM,sBAAsB,GAAG,eAAe,CAAC,cAAc;YAC3D,CAAC,CAAC,qDAAqD,CAAC;gBACtD,SAAS,EAAE,eAAe,CAAC,SAAS;gBACpC,YAAY,EAAE,eAAe,CAAC,YAAY;gBAC1C,cAAc,EAAE,eAAe,CAAC,cAAc;aAC/C,CAAC;YACF,CAAC,CAAC,KAAK,CAAC;QACV,IACE,sBAAsB;eACnB,eAAe,CAAC,SAAS,CAAC,eAAe,KAAK,IAAI;eAClD,eAAe,CAAC,cAAc;eAC9B,CAAC,+CAA+C,CAAC;gBAClD,cAAc,EAAE,eAAe,CAAC,cAAc;gBAC9C,SAAS,EAAE,eAAe,CAAC,SAAS;gBACpC,QAAQ;gBACR,aAAa,EAAE,qBAAqB,CAAC,aAAa,CAAC,eAAe,CAAC,0BAA0B,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;gBACvI,0BAA0B,EAAE,eAAe,CAAC,0BAA0B;gBACtE,oBAAoB,EAAE,eAAe,CAAC,oBAAoB;aAC3D,CAAC,EACF,CAAC;YACD,MAAM,qBAAqB,CAAC,uBAAuB,CACjD,2BAA2B,CAAC,aAAa,EACzC;gBACE,OAAO,EAAE,iCAAiC,eAAe,CAAC,WAAW,8CAA8C;gBACnH,SAAS,EAAE,sCAAsC;gBACjD,YAAY,EAAE,eAAe,CAAC,YAAY;gBAC1C,mBAAmB,EAAE,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,mBAAmB,CAAC;aAC3E,CACF,CAAC;QACJ,CAAC;QAED,IAAI,mCAAmC,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,GAAG,EAAE,CAAC;YAC3F,MAAM,oBAAoB,GAAG,iCAAiC,CAAC;gBAC7D,SAAS,EAAE,eAAe,CAAC,SAAS;gBACpC,WAAW;gBACX,iBAAiB,EAAE,eAAe,CAAC,iBAAiB;aACrD,CAAC,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAC7D,oBAAoB,IAAI,EAAE,EAC1B;gBACE,IAAI,EAAE,OAAO,EAAE,YAAY,IAAI,YAAY,CAAC,MAAM;gBAClD,QAAQ,EAAE,OAAO,EAAE,gBAAgB,IAAI,gBAAgB,CAAC,MAAM;gBAC9D,MAAM,EAAE;oBACN,IAAI,EAAE,kBAAkB,CAAC,YAAY;oBACrC,YAAY,EAAE,OAAO,EAAE,YAAY;2BAC9B,qBAAqB,eAAe,CAAC,YAAY,IAAI,eAAe,CAAC,WAAW,EAAE;iBACxF;gBACD,iBAAiB,EAAE;oBACjB,gBAAgB,EAAE,kCAAkC,CAAC,mCAAmC,CACtF,eAAe,CAAC,SAAS,CAC1B;oBACD,oBAAoB,EAAE,eAAe,CAAC,oBAAoB;oBAC1D,2BAA2B,EAAE,eAAe,CAAC,2BAA2B;oBACxE,WAAW,EAAE,oBAAoB,IAAI,EAAE;oBACvC,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,IAAI,IAAI;iBACtD;aACF,CACF,CAAC;YAEF,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;gBAC5B,iGAAiG;gBACjG,wGAAwG;gBACxG,gGAAgG;gBAChG,2CAA2C;gBAC3C,IAAI,cAAc,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC,KAAK,EAAE,CAAC;oBACvG,MAAM,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC;gBACnC,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,cAAc,CAAC,KAAK,EAAE,OAAO;uBAC1B,iCAAiC,eAAe,CAAC,WAAW,WAAW,CAC3E,CAAC;YACJ,CAAC;YAED,OAAO,cAAc,CAAC,YAAY,CAAC;QACrC,CAAC;QAED,OAAO,eAAe,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC9D,CAAC,EAAE;QACD,gBAAgB,CAAC,GAAG;QACpB,eAAe,CAAC,iBAAiB;QACjC,eAAe,CAAC,SAAS;QACzB,eAAe,CAAC,2BAA2B;QAC3C,QAAQ;QACR,eAAe;KAChB,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,eAAe;QAClB,MAAM;QACN,mBAAmB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;QAC9E,sBAAsB;QACtB,GAAG,EAAE,gBAAgB,CAAC,GAAG;QACzB,WAAW,EAAE,gBAAgB,CAAC,WAAW;QACzC,oBAAoB,EAAE,gBAAgB,CAAC,oBAAoB;QAC3D,6BAA6B,EAAE,MAAM,CAAC,gBAAgB;YACpD,CAAC,CAAC,gBAAgB,CAAC,0BAA0B;YAC7C,CAAC,CAAC,IAAI;QACR,OAAO;QACP,2BAA2B;QAC3B,uBAAuB;KACxB,CAAC;AACJ,CAAC;AAUD;;GAEG;AACH,MAAM,UAAU,yCAAyC,CACvD,MAAuD;IAEvD,MAAM,MAAM,GAAG,OAAO,CAAmC,GAAG,EAAE,CAAC,CAAC;QAC9D,GAAG,MAAM,CAAC,MAAM;QAChB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;KACL,CAAA,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAElF,OAAO,oCAAoC,CAAC;QAC1C,MAAM;QACN,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,8BAA8B,EAAE,MAAM,CAAC,8BAA8B;KACtE,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { useCallback, useContext, useMemo } from 'react';\n\nimport {\n CoreResourceOperation,\n ErrorCustomMessageReference,\n ResourcesConfig_OperationPathUtils,\n ResourcesConfigOperationsUrlsBuilderUtils,\n} from '@wildo-ai/saas-models';\n\nimport {\n frontendResourceUtils,\n FrontendResourceUtils,\n} from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport {\n mergeBulkSelectionIntoRequestData,\n isSingleResourceUpdateLikeOperation,\n} from '~wildo-frontend-lib/core/resources/operation-semantics.frontend.utils';\nimport {\n isFrontendOperationAddressableForCurrentContext,\n shouldRequireCurrentContextAddressabilityForOperation,\n} from '~wildo-frontend-lib/core/resources/resource-addressability.frontend.utils';\nimport {\n MutationErrorType,\n MutationPriority,\n MutationSourceType,\n MutationType,\n type RMMSnapshot,\n} from '~wildo-frontend-lib/core/resources/rmm/types';\nimport {\n UpdateLikeMutationFallbackMode,\n} from '~wildo-frontend-lib/core/resources/rmm/update-like-mutation-fallback.frontend';\nimport type {\n ResourceOperationSurface,\n UseResourceOperationSurfaceParams,\n} from '~wildo-frontend-lib/core/resources/useResourceOperationSurface';\nimport { useResourceOperationSurface } from '~wildo-frontend-lib/core/resources/useResourceOperationSurface';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport {\n ExecutionNavigationHandlingMode,\n resolveExecutionNavigationHandlingMode,\n} from '~wildo-frontend-lib/core/config/execution-view.schemas';\nimport {\n NavigationContentType,\n type NavigationInitiatorContext,\n} from '~wildo-frontend-lib/core/navigation/navigation.schemas';\nimport type { FrontendResourceConfiguration_Operation } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport type { UseResourceRMMUnavailableReason } from '~wildo-frontend-lib/core/resources/rmm/useResourceRMM';\nimport {\n buildExecutionParticipationHandle,\n type ExecutionParticipationHandle,\n} from './execution-participation.utils';\nimport {\n type ExecutionResourceOperationTarget,\n useExecutionResourceOperationContextBuilder,\n} from './useExecutionResourceOperationContextBuilder';\nimport {\n type UseExecutionParticipationRMMUnavailableReason,\n useExecutionParticipationRMM,\n} from './useExecutionParticipationRMM';\nimport {\n assertExecutionRuntimeContext,\n ExecutionRuntimeContext,\n} from './ExecutionRuntimeContext';\n\nexport interface ExecutionResourceOperationExecuteOptions {\n mutationType?: MutationType;\n mutationPriority?: MutationPriority;\n subscriberId?: string;\n readBackOnSuccess?: boolean;\n}\n\nexport interface UseExecutionResourceOperationSurfaceParams {\n target: ExecutionResourceOperationTarget;\n navigationInitiator?: NavigationInitiatorContext;\n updateLikeMutationFallbackMode?: UpdateLikeMutationFallbackMode;\n}\n\nexport interface ExecutionResourceOperationSurface extends Omit<\n ResourceOperationSurface,\n 'navigateToResourceOperation' | 'navigateToPreferredRead'\n> {\n target: ExecutionResourceOperationTarget;\n participationHandle?: ExecutionParticipationHandle;\n navigationHandlingMode: ExecutionNavigationHandlingMode;\n rmm: ReturnType<typeof useExecutionParticipationRMM>['rmm'];\n rmmSnapshot: RMMSnapshot;\n rmmUnavailableReason: UseResourceRMMUnavailableReason | null;\n executionRmmUnavailableReason: UseExecutionParticipationRMMUnavailableReason | null;\n execute: (\n requestData?: Record<string, unknown>,\n options?: ExecutionResourceOperationExecuteOptions,\n ) => Promise<unknown>;\n navigateToResourceOperation: ResourceOperationSurface['navigateToResourceOperation'];\n navigateToPreferredRead: ResourceOperationSurface['navigateToPreferredRead'];\n}\n\n/**\n * Execution-aware headless resource-operation surface.\n *\n * This composes three existing engine seams:\n * - participation-aware execution context building\n * - ordinary resource-operation surface semantics\n * - thin execution-to-RMM handoff for concrete single-resource update-like lanes\n *\n * Important boundary:\n * - routed/global navigation is still delegated back through execution\n * navigation mediation\n * - update-like execution only uses RMM when the target resolves to one concrete\n * participation-backed lane\n */\nexport function useExecutionResourceOperationSurface({\n target,\n navigationInitiator,\n updateLikeMutationFallbackMode = UpdateLikeMutationFallbackMode.RMM_REQUIRED,\n}: UseExecutionResourceOperationSurfaceParams): ExecutionResourceOperationSurface {\n const executionRuntime = assertExecutionRuntimeContext(useContext(ExecutionRuntimeContext));\n const executionNavigation = executionRuntime.navigation;\n const { registry } = useResourceRegistry();\n const { buildResourceOperationContext } = useExecutionResourceOperationContextBuilder();\n\n const rawParticipation = target.participationRef\n ? executionRuntime.participations[target.participationRef]\n : undefined;\n const participationHandle = useMemo<ExecutionParticipationHandle | undefined>(() => {\n if (!rawParticipation) {\n return undefined;\n }\n\n return buildExecutionParticipationHandle({\n participation: rawParticipation,\n registry,\n });\n }, [rawParticipation, registry]);\n\n const resourceContext = useMemo(() => {\n return buildResourceOperationContext(target);\n }, [buildResourceOperationContext, target]);\n\n const resourceSurface = useResourceOperationSurface({\n resourceContext,\n navigationZone: executionRuntime.navigationZone,\n navigationInitiator,\n updateLikeMutationFallbackMode,\n } satisfies UseResourceOperationSurfaceParams);\n\n const participationRmm = useExecutionParticipationRMM({\n participationRef: target.participationRef ?? '',\n resourceId: target.resourceId,\n contextResourceIdentifiers: target.contextResourceIdentifiers,\n relationshipFieldOverrides: target.relationshipFieldOverrides,\n enabled: Boolean(target.participationRef) && isSingleResourceUpdateLikeOperation(resourceContext.operation),\n });\n const navigationHandlingMode = useMemo(() => resolveExecutionNavigationHandlingMode({\n viewDefinition: executionRuntime.viewDefinition,\n resourceType: resourceSurface.resourceType,\n operation: resourceSurface.operation,\n }), [\n executionRuntime.viewDefinition,\n resourceSurface.operation,\n resourceSurface.resourceType,\n ]);\n\n const buildDelegatedUrlPath = useCallback((\n operation: FrontendResourceConfiguration_Operation,\n contextResourceIdentifiers = resourceContext.contextResourceIdentifiers,\n parentResourcesRequirements = resourceContext.parentResourcesRequirements,\n ): string | undefined => {\n if (!resourceSurface.resourceConfig) {\n return undefined;\n }\n\n const routePaths = ResourcesConfigOperationsUrlsBuilderUtils.buildOperationFrontendRoutePaths(\n resourceSurface.resourceConfig,\n operation,\n registry.allResourceFieldIdentifiers,\n );\n\n if (routePaths.length === 0) {\n return undefined;\n }\n\n return frontendResourceUtils.selectMatchingRoutePath(\n routePaths,\n contextResourceIdentifiers,\n resourceSurface.resourceType,\n resourceSurface.resourceConfig.resourceFieldIdentifier,\n parentResourcesRequirements,\n ).url;\n }, [\n registry.allResourceFieldIdentifiers,\n resourceContext.contextResourceIdentifiers,\n resourceContext.parentResourcesRequirements,\n resourceSurface.resourceConfig,\n resourceSurface.resourceType,\n ]);\n\n const navigateToResourceOperation = useCallback<ExecutionResourceOperationSurface['navigateToResourceOperation']>(({\n operation,\n contextResourceIdentifiers = resourceContext.contextResourceIdentifiers,\n parentResourcesRequirements = resourceContext.parentResourcesRequirements,\n initiatorOverride,\n }) => {\n if (!resourceSurface.resourceConfig) {\n return false;\n }\n\n const contextualParameters = FrontendResourceUtils.buildContextualParameters(\n contextResourceIdentifiers,\n registry,\n );\n const requiresAddressability = shouldRequireCurrentContextAddressabilityForOperation({\n operation,\n resourceType: resourceSurface.resourceType,\n resourceConfig: resourceSurface.resourceConfig,\n });\n if (\n requiresAddressability\n && operation.isBulkOperation !== true\n && !isFrontendOperationAddressableForCurrentContext({\n resourceConfig: resourceSurface.resourceConfig,\n operation,\n registry,\n hasResourceId: frontendResourceUtils.getResourceId(contextResourceIdentifiers[resourceSurface.resourceType]).length > 0,\n contextResourceIdentifiers,\n contextualParameters,\n })\n ) {\n return false;\n }\n\n const targetContext = frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n resourceType: resourceSurface.resourceType,\n operation,\n contextResourceIdentifiers,\n parentResourcesRequirements,\n });\n\n const delegatedUrlPath = buildDelegatedUrlPath(\n operation,\n contextResourceIdentifiers,\n parentResourcesRequirements,\n );\n if (navigationHandlingMode === ExecutionNavigationHandlingMode.EMBED_LOCALLY) {\n executionNavigation.openEmbeddedContent({\n content: {\n contentType: NavigationContentType.RESOURCE_OPERATION,\n resourceContext: targetContext,\n },\n navigationInitiator: initiatorOverride ?? resourceSurface.operationInitiator,\n });\n\n return true;\n }\n\n const fallbackInitiator = resourceSurface.operationInitiator;\n const { sourceZone: _ignoredSourceZone, ...defaultInitiator } = fallbackInitiator;\n\n executionNavigation.delegateToParent({\n content: {\n contentType: NavigationContentType.RESOURCE_OPERATION,\n resourceContext: targetContext,\n },\n urlPath: delegatedUrlPath,\n initiator: initiatorOverride ?? defaultInitiator,\n });\n\n return true;\n }, [\n buildDelegatedUrlPath,\n executionNavigation,\n resourceContext.contextResourceIdentifiers,\n resourceContext.parentResourcesRequirements,\n navigationHandlingMode,\n registry,\n resourceSurface.operationInitiator,\n resourceSurface.resourceConfig,\n resourceSurface.resourceType,\n ]);\n\n const navigateToPreferredRead = useCallback<ExecutionResourceOperationSurface['navigateToPreferredRead']>((options) => {\n const readOperation = resourceSurface.resolvePreferredOperation(\n CoreResourceOperation.READ,\n { requireAddressable: true },\n );\n\n if (!readOperation) {\n if (options?.fallbackToGoBack !== false) {\n resourceSurface.goBackWithinZone();\n }\n return false;\n }\n\n return navigateToResourceOperation({\n operation: readOperation,\n contextResourceIdentifiers: options?.contextResourceIdentifiers ?? resourceContext.contextResourceIdentifiers,\n parentResourcesRequirements: options?.parentResourcesRequirements ?? resourceContext.parentResourcesRequirements,\n initiatorOverride: options?.initiatorOverride,\n });\n }, [\n navigateToResourceOperation,\n resourceContext.contextResourceIdentifiers,\n resourceContext.parentResourcesRequirements,\n resourceSurface,\n ]);\n\n const execute = useCallback<ExecutionResourceOperationSurface['execute']>(async (requestData, options) => {\n const requiresAddressability = resourceSurface.resourceConfig\n ? shouldRequireCurrentContextAddressabilityForOperation({\n operation: resourceContext.operation,\n resourceType: resourceSurface.resourceType,\n resourceConfig: resourceSurface.resourceConfig,\n })\n : false;\n if (\n requiresAddressability\n && resourceContext.operation.isBulkOperation !== true\n && resourceSurface.resourceConfig\n && !isFrontendOperationAddressableForCurrentContext({\n resourceConfig: resourceSurface.resourceConfig,\n operation: resourceContext.operation,\n registry,\n hasResourceId: frontendResourceUtils.getResourceId(resourceContext.contextResourceIdentifiers[resourceSurface.resourceType]).length > 0,\n contextResourceIdentifiers: resourceContext.contextResourceIdentifiers,\n contextualParameters: resourceSurface.contextualParameters,\n })\n ) {\n throw FrontendResourceUtils.buildConfigurationError(\n ErrorCustomMessageReference.CONFIGURATION,\n {\n message: `Execution resource operation \"${resourceSurface.operationId}\" is not addressable in the current context.`,\n component: 'useExecutionResourceOperationSurface',\n resourceType: resourceSurface.resourceType,\n operationIdentifier: String(resourceContext.operation.operationIdentifier),\n },\n );\n }\n\n if (isSingleResourceUpdateLikeOperation(resourceContext.operation) && participationRmm.rmm) {\n const effectiveRequestData = mergeBulkSelectionIntoRequestData({\n operation: resourceContext.operation,\n requestData,\n additionalContext: resourceContext.additionalContext,\n });\n const mutationResult = await participationRmm.rmm.queueMutation(\n effectiveRequestData ?? {},\n {\n type: options?.mutationType ?? MutationType.CUSTOM,\n priority: options?.mutationPriority ?? MutationPriority.NORMAL,\n source: {\n type: MutationSourceType.ORCHESTRATOR,\n subscriberId: options?.subscriberId\n ?? `execution-surface:${resourceSurface.resourceType}:${resourceSurface.operationId}`,\n },\n transportOverride: {\n operationPathKey: ResourcesConfig_OperationPathUtils.createOperationPathKeyFromOperation(\n resourceContext.operation,\n ),\n contextualParameters: resourceSurface.contextualParameters,\n parentResourcesRequirements: resourceContext.parentResourcesRequirements,\n requestData: effectiveRequestData ?? {},\n readBackOnSuccess: options?.readBackOnSuccess ?? true,\n },\n },\n );\n\n if (!mutationResult.success) {\n // Rethrow the transport failure itself: it carries the backend reference, type and guidance that\n // `useUserFacingErrorMessage()` turns into the application's words. An `Error` rebuilt from its message\n // keeps only the text, which is never shown, so the failure could only read as generic (#1182).\n // A cancellation keeps its previous shape.\n if (mutationResult.error?.cause !== undefined && mutationResult.error.type !== MutationErrorType.ABORT) {\n throw mutationResult.error.cause;\n }\n throw new Error(\n mutationResult.error?.message\n ?? `Execution resource operation \"${resourceSurface.operationId}\" failed.`,\n );\n }\n\n return mutationResult.responseData;\n }\n\n return resourceSurface.executeCurrentOperation(requestData);\n }, [\n participationRmm.rmm,\n resourceContext.additionalContext,\n resourceContext.operation,\n resourceContext.parentResourcesRequirements,\n registry,\n resourceSurface,\n ]);\n\n return {\n ...resourceSurface,\n target,\n participationHandle: target.participationRef ? participationHandle : undefined,\n navigationHandlingMode,\n rmm: participationRmm.rmm,\n rmmSnapshot: participationRmm.rmmSnapshot,\n rmmUnavailableReason: participationRmm.rmmUnavailableReason,\n executionRmmUnavailableReason: target.participationRef\n ? participationRmm.executionUnavailableReason\n : null,\n execute,\n navigateToResourceOperation,\n navigateToPreferredRead,\n };\n}\n\nexport interface UseExecutionParticipationOperationSurfaceParams extends Omit<\n UseExecutionResourceOperationSurfaceParams,\n 'target'\n> {\n participationRef: string;\n target: Omit<ExecutionResourceOperationTarget, 'participationRef'>;\n}\n\n/**\n * Participation-first convenience wrapper over `useExecutionResourceOperationSurface()`.\n */\nexport function useExecutionParticipationOperationSurface(\n params: UseExecutionParticipationOperationSurfaceParams,\n): ExecutionResourceOperationSurface {\n const target = useMemo<ExecutionResourceOperationTarget>(() => ({\n ...params.target,\n participationRef: params.participationRef,\n } as ExecutionResourceOperationTarget), [params.participationRef, params.target]);\n\n return useExecutionResourceOperationSurface({\n target,\n navigationInitiator: params.navigationInitiator,\n updateLikeMutationFallbackMode: params.updateLikeMutationFallbackMode,\n });\n}\n"]}
1
+ {"version":3,"file":"useExecutionResourceOperationSurface.js","sourceRoot":"","sources":["../../../../../src/core/execution/useExecutionResourceOperationSurface.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useContext, useMemo } from 'react';\n\nimport {\n CoreResourceOperation,\n ErrorCustomMessageReference,\n ResourcesConfig_OperationPathUtils,\n ResourcesConfigOperationsUrlsBuilderUtils,\n} from '@wildo-ai/saas-models';\n\nimport {\n frontendResourceUtils,\n FrontendResourceUtils,\n} from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport {\n mergeBulkSelectionIntoRequestData,\n isSingleResourceUpdateLikeOperation,\n} from '~wildo-frontend-lib/core/resources/operation-semantics.frontend.utils';\nimport {\n isFrontendOperationAddressableForCurrentContext,\n shouldRequireCurrentContextAddressabilityForOperation,\n} from '~wildo-frontend-lib/core/resources/resource-addressability.frontend.utils';\nimport {\n MutationErrorType,\n MutationPriority,\n MutationSourceType,\n MutationType,\n type RMMSnapshot,\n} from '~wildo-frontend-lib/core/resources/rmm/types';\nimport {\n allowsDirectOperationFallback,\n resolveDeclaredUpdateLikeMutationFallbackMode,\n type UpdateLikeMutationFallbackMode,\n} from '~wildo-frontend-lib/core/resources/rmm/update-like-mutation-fallback.frontend';\nimport type {\n ResourceOperationSurface,\n UseResourceOperationSurfaceParams,\n} from '~wildo-frontend-lib/core/resources/useResourceOperationSurface';\nimport { useResourceOperationSurface } from '~wildo-frontend-lib/core/resources/useResourceOperationSurface';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport {\n ExecutionNavigationHandlingMode,\n resolveExecutionNavigationHandlingMode,\n} from '~wildo-frontend-lib/core/config/execution-view.schemas';\nimport {\n NavigationContentType,\n type NavigationInitiatorContext,\n} from '~wildo-frontend-lib/core/navigation/navigation.schemas';\nimport type { FrontendResourceConfiguration_Operation } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport type { UseResourceRMMUnavailableReason } from '~wildo-frontend-lib/core/resources/rmm/useResourceRMM';\nimport {\n buildExecutionParticipationHandle,\n type ExecutionParticipationHandle,\n} from './execution-participation.utils';\nimport {\n type ExecutionResourceOperationTarget,\n useExecutionResourceOperationContextBuilder,\n} from './useExecutionResourceOperationContextBuilder';\nimport {\n type UseExecutionParticipationRMMUnavailableReason,\n useExecutionParticipationRMM,\n} from './useExecutionParticipationRMM';\nimport {\n assertExecutionRuntimeContext,\n ExecutionRuntimeContext,\n} from './ExecutionRuntimeContext';\n\nexport interface ExecutionResourceOperationExecuteOptions {\n mutationType?: MutationType;\n mutationPriority?: MutationPriority;\n subscriberId?: string;\n readBackOnSuccess?: boolean;\n}\n\nexport interface UseExecutionResourceOperationSurfaceParams {\n target: ExecutionResourceOperationTarget;\n navigationInitiator?: NavigationInitiatorContext;\n updateLikeMutationFallbackMode?: UpdateLikeMutationFallbackMode;\n}\n\nexport interface ExecutionResourceOperationSurface extends Omit<\n ResourceOperationSurface,\n 'navigateToResourceOperation' | 'navigateToPreferredRead'\n> {\n target: ExecutionResourceOperationTarget;\n participationHandle?: ExecutionParticipationHandle;\n navigationHandlingMode: ExecutionNavigationHandlingMode;\n rmm: ReturnType<typeof useExecutionParticipationRMM>['rmm'];\n rmmSnapshot: RMMSnapshot;\n rmmUnavailableReason: UseResourceRMMUnavailableReason | null;\n executionRmmUnavailableReason: UseExecutionParticipationRMMUnavailableReason | null;\n execute: (\n requestData?: Record<string, unknown>,\n options?: ExecutionResourceOperationExecuteOptions,\n ) => Promise<unknown>;\n navigateToResourceOperation: ResourceOperationSurface['navigateToResourceOperation'];\n navigateToPreferredRead: ResourceOperationSurface['navigateToPreferredRead'];\n}\n\n/**\n * Execution-aware headless resource-operation surface.\n *\n * This composes three existing engine seams:\n * - participation-aware execution context building\n * - ordinary resource-operation surface semantics\n * - thin execution-to-RMM handoff for concrete single-resource update-like lanes\n *\n * Important boundary:\n * - routed/global navigation is still delegated back through execution\n * navigation mediation\n * - update-like execution only uses RMM when the target resolves to one concrete\n * participation-backed lane\n */\nexport function useExecutionResourceOperationSurface({\n target,\n navigationInitiator,\n /* Omitted, the resource surface applies the lane the operation declared (RMM_REQUIRED unless it said otherwise). */\n updateLikeMutationFallbackMode,\n}: UseExecutionResourceOperationSurfaceParams): ExecutionResourceOperationSurface {\n const executionRuntime = assertExecutionRuntimeContext(useContext(ExecutionRuntimeContext));\n const executionNavigation = executionRuntime.navigation;\n const { registry } = useResourceRegistry();\n const { buildResourceOperationContext } = useExecutionResourceOperationContextBuilder();\n\n const rawParticipation = target.participationRef\n ? executionRuntime.participations[target.participationRef]\n : undefined;\n const participationHandle = useMemo<ExecutionParticipationHandle | undefined>(() => {\n if (!rawParticipation) {\n return undefined;\n }\n\n return buildExecutionParticipationHandle({\n participation: rawParticipation,\n registry,\n });\n }, [rawParticipation, registry]);\n\n const resourceContext = useMemo(() => {\n return buildResourceOperationContext(target);\n }, [buildResourceOperationContext, target]);\n\n const resourceSurface = useResourceOperationSurface({\n resourceContext,\n navigationZone: executionRuntime.navigationZone,\n navigationInitiator,\n updateLikeMutationFallbackMode,\n } satisfies UseResourceOperationSurfaceParams);\n\n const participationRmm = useExecutionParticipationRMM({\n participationRef: target.participationRef ?? '',\n resourceId: target.resourceId,\n contextResourceIdentifiers: target.contextResourceIdentifiers,\n relationshipFieldOverrides: target.relationshipFieldOverrides,\n enabled: Boolean(target.participationRef) && isSingleResourceUpdateLikeOperation(resourceContext.operation),\n directFallbackAccepted: allowsDirectOperationFallback(\n updateLikeMutationFallbackMode ?? resolveDeclaredUpdateLikeMutationFallbackMode(resourceContext.operation),\n ),\n });\n const navigationHandlingMode = useMemo(() => resolveExecutionNavigationHandlingMode({\n viewDefinition: executionRuntime.viewDefinition,\n resourceType: resourceSurface.resourceType,\n operation: resourceSurface.operation,\n }), [\n executionRuntime.viewDefinition,\n resourceSurface.operation,\n resourceSurface.resourceType,\n ]);\n\n const buildDelegatedUrlPath = useCallback((\n operation: FrontendResourceConfiguration_Operation,\n contextResourceIdentifiers = resourceContext.contextResourceIdentifiers,\n parentResourcesRequirements = resourceContext.parentResourcesRequirements,\n ): string | undefined => {\n if (!resourceSurface.resourceConfig) {\n return undefined;\n }\n\n const routePaths = ResourcesConfigOperationsUrlsBuilderUtils.buildOperationFrontendRoutePaths(\n resourceSurface.resourceConfig,\n operation,\n registry.allResourceFieldIdentifiers,\n );\n\n if (routePaths.length === 0) {\n return undefined;\n }\n\n return frontendResourceUtils.selectMatchingRoutePath(\n routePaths,\n contextResourceIdentifiers,\n resourceSurface.resourceType,\n resourceSurface.resourceConfig.resourceFieldIdentifier,\n parentResourcesRequirements,\n ).url;\n }, [\n registry.allResourceFieldIdentifiers,\n resourceContext.contextResourceIdentifiers,\n resourceContext.parentResourcesRequirements,\n resourceSurface.resourceConfig,\n resourceSurface.resourceType,\n ]);\n\n const navigateToResourceOperation = useCallback<ExecutionResourceOperationSurface['navigateToResourceOperation']>(({\n operation,\n contextResourceIdentifiers = resourceContext.contextResourceIdentifiers,\n parentResourcesRequirements = resourceContext.parentResourcesRequirements,\n initiatorOverride,\n }) => {\n if (!resourceSurface.resourceConfig) {\n return false;\n }\n\n const contextualParameters = FrontendResourceUtils.buildContextualParameters(\n contextResourceIdentifiers,\n registry,\n );\n const requiresAddressability = shouldRequireCurrentContextAddressabilityForOperation({\n operation,\n resourceType: resourceSurface.resourceType,\n resourceConfig: resourceSurface.resourceConfig,\n });\n if (\n requiresAddressability\n && operation.isBulkOperation !== true\n && !isFrontendOperationAddressableForCurrentContext({\n resourceConfig: resourceSurface.resourceConfig,\n operation,\n registry,\n hasResourceId: frontendResourceUtils.getResourceId(contextResourceIdentifiers[resourceSurface.resourceType]).length > 0,\n contextResourceIdentifiers,\n contextualParameters,\n })\n ) {\n return false;\n }\n\n const targetContext = frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n resourceType: resourceSurface.resourceType,\n operation,\n contextResourceIdentifiers,\n parentResourcesRequirements,\n });\n\n const delegatedUrlPath = buildDelegatedUrlPath(\n operation,\n contextResourceIdentifiers,\n parentResourcesRequirements,\n );\n if (navigationHandlingMode === ExecutionNavigationHandlingMode.EMBED_LOCALLY) {\n executionNavigation.openEmbeddedContent({\n content: {\n contentType: NavigationContentType.RESOURCE_OPERATION,\n resourceContext: targetContext,\n },\n navigationInitiator: initiatorOverride ?? resourceSurface.operationInitiator,\n });\n\n return true;\n }\n\n const fallbackInitiator = resourceSurface.operationInitiator;\n const { sourceZone: _ignoredSourceZone, ...defaultInitiator } = fallbackInitiator;\n\n executionNavigation.delegateToParent({\n content: {\n contentType: NavigationContentType.RESOURCE_OPERATION,\n resourceContext: targetContext,\n },\n urlPath: delegatedUrlPath,\n initiator: initiatorOverride ?? defaultInitiator,\n });\n\n return true;\n }, [\n buildDelegatedUrlPath,\n executionNavigation,\n resourceContext.contextResourceIdentifiers,\n resourceContext.parentResourcesRequirements,\n navigationHandlingMode,\n registry,\n resourceSurface.operationInitiator,\n resourceSurface.resourceConfig,\n resourceSurface.resourceType,\n ]);\n\n const navigateToPreferredRead = useCallback<ExecutionResourceOperationSurface['navigateToPreferredRead']>((options) => {\n const readOperation = resourceSurface.resolvePreferredOperation(\n CoreResourceOperation.READ,\n { requireAddressable: true },\n );\n\n if (!readOperation) {\n if (options?.fallbackToGoBack !== false) {\n resourceSurface.goBackWithinZone();\n }\n return false;\n }\n\n return navigateToResourceOperation({\n operation: readOperation,\n contextResourceIdentifiers: options?.contextResourceIdentifiers ?? resourceContext.contextResourceIdentifiers,\n parentResourcesRequirements: options?.parentResourcesRequirements ?? resourceContext.parentResourcesRequirements,\n initiatorOverride: options?.initiatorOverride,\n });\n }, [\n navigateToResourceOperation,\n resourceContext.contextResourceIdentifiers,\n resourceContext.parentResourcesRequirements,\n resourceSurface,\n ]);\n\n const execute = useCallback<ExecutionResourceOperationSurface['execute']>(async (requestData, options) => {\n const requiresAddressability = resourceSurface.resourceConfig\n ? shouldRequireCurrentContextAddressabilityForOperation({\n operation: resourceContext.operation,\n resourceType: resourceSurface.resourceType,\n resourceConfig: resourceSurface.resourceConfig,\n })\n : false;\n if (\n requiresAddressability\n && resourceContext.operation.isBulkOperation !== true\n && resourceSurface.resourceConfig\n && !isFrontendOperationAddressableForCurrentContext({\n resourceConfig: resourceSurface.resourceConfig,\n operation: resourceContext.operation,\n registry,\n hasResourceId: frontendResourceUtils.getResourceId(resourceContext.contextResourceIdentifiers[resourceSurface.resourceType]).length > 0,\n contextResourceIdentifiers: resourceContext.contextResourceIdentifiers,\n contextualParameters: resourceSurface.contextualParameters,\n })\n ) {\n throw FrontendResourceUtils.buildConfigurationError(\n ErrorCustomMessageReference.CONFIGURATION,\n {\n message: `Execution resource operation \"${resourceSurface.operationId}\" is not addressable in the current context.`,\n component: 'useExecutionResourceOperationSurface',\n resourceType: resourceSurface.resourceType,\n operationIdentifier: String(resourceContext.operation.operationIdentifier),\n },\n );\n }\n\n if (isSingleResourceUpdateLikeOperation(resourceContext.operation) && participationRmm.rmm) {\n const effectiveRequestData = mergeBulkSelectionIntoRequestData({\n operation: resourceContext.operation,\n requestData,\n additionalContext: resourceContext.additionalContext,\n });\n const mutationResult = await participationRmm.rmm.queueMutation(\n effectiveRequestData ?? {},\n {\n type: options?.mutationType ?? MutationType.CUSTOM,\n priority: options?.mutationPriority ?? MutationPriority.NORMAL,\n source: {\n type: MutationSourceType.ORCHESTRATOR,\n subscriberId: options?.subscriberId\n ?? `execution-surface:${resourceSurface.resourceType}:${resourceSurface.operationId}`,\n },\n transportOverride: {\n operationPathKey: ResourcesConfig_OperationPathUtils.createOperationPathKeyFromOperation(\n resourceContext.operation,\n ),\n contextualParameters: resourceSurface.contextualParameters,\n parentResourcesRequirements: resourceContext.parentResourcesRequirements,\n requestData: effectiveRequestData ?? {},\n readBackOnSuccess: options?.readBackOnSuccess ?? true,\n },\n },\n );\n\n if (!mutationResult.success) {\n // Rethrow the transport failure itself: it carries the backend reference, type and guidance that\n // `useUserFacingErrorMessage()` turns into the application's words. An `Error` rebuilt from its message\n // keeps only the text, which is never shown, so the failure could only read as generic (#1182).\n // A cancellation keeps its previous shape.\n if (mutationResult.error?.cause !== undefined && mutationResult.error.type !== MutationErrorType.ABORT) {\n throw mutationResult.error.cause;\n }\n throw new Error(\n mutationResult.error?.message\n ?? `Execution resource operation \"${resourceSurface.operationId}\" failed.`,\n );\n }\n\n return mutationResult.responseData;\n }\n\n return resourceSurface.executeCurrentOperation(requestData);\n }, [\n participationRmm.rmm,\n resourceContext.additionalContext,\n resourceContext.operation,\n resourceContext.parentResourcesRequirements,\n registry,\n resourceSurface,\n ]);\n\n return {\n ...resourceSurface,\n target,\n participationHandle: target.participationRef ? participationHandle : undefined,\n navigationHandlingMode,\n rmm: participationRmm.rmm,\n rmmSnapshot: participationRmm.rmmSnapshot,\n rmmUnavailableReason: participationRmm.rmmUnavailableReason,\n executionRmmUnavailableReason: target.participationRef\n ? participationRmm.executionUnavailableReason\n : null,\n execute,\n navigateToResourceOperation,\n navigateToPreferredRead,\n };\n}\n\nexport interface UseExecutionParticipationOperationSurfaceParams extends Omit<\n UseExecutionResourceOperationSurfaceParams,\n 'target'\n> {\n participationRef: string;\n target: Omit<ExecutionResourceOperationTarget, 'participationRef'>;\n}\n\n/**\n * Participation-first convenience wrapper over `useExecutionResourceOperationSurface()`.\n */\nexport function useExecutionParticipationOperationSurface(\n params: UseExecutionParticipationOperationSurfaceParams,\n): ExecutionResourceOperationSurface {\n const target = useMemo<ExecutionResourceOperationTarget>(() => ({\n ...params.target,\n participationRef: params.participationRef,\n } as ExecutionResourceOperationTarget), [params.participationRef, params.target]);\n\n return useExecutionResourceOperationSurface({\n target,\n navigationInitiator: params.navigationInitiator,\n updateLikeMutationFallbackMode: params.updateLikeMutationFallbackMode,\n });\n}\n"]}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * The application's SECOND activation phase: providers that rest on a consent purpose (#1704).
3
+ *
4
+ * ## Why startup cannot do this
5
+ *
6
+ * `startApplication` activates provider SDKs before any person is known, so it passes no grant and starts
7
+ * only the providers that rest on no purpose (error monitoring, pickers). A provider that rests on
8
+ * `ConsentPurpose.ANALYTICS` could therefore never start on the application tier — the consent module had
9
+ * always said such a provider "must be activated by a consumer that holds the person's granted purposes",
10
+ * and no such consumer existed. This is it.
11
+ *
12
+ * ## Where the grant comes from, and what revokes it
13
+ *
14
+ * The signed-in person's `privacy.consentedPurposes`, published on `USER_PREFERENCES_CHANGED` — the same
15
+ * stream `AnalyticsContext` has always gated on, with the same rule: `privacy: null` (sign-out, or an
16
+ * identity with no preferences) REVOKES — sign-out publishes it, so a browser a person signed out of never
17
+ * keeps their consent running for whoever uses it next — and an empty set is a real withdrawal. Until
18
+ * preferences arrive nothing is granted, which is why pre-authentication pages start none.
19
+ *
20
+ * ## Start and stop
21
+ *
22
+ * The providers are (re)started when the granted subset of the purposes THEY rest on changes, so granting a
23
+ * purpose none of them uses restarts nothing; granting or withdrawing one they use restarts all of them.
24
+ * Every activation goes through `activateFrontendProviderSdks` — which refuses a consent-based provider that
25
+ * could not be stopped — and every withdrawal, sign-out or unmount calls `deactivateAll`, which is the only
26
+ * thing that stops a vendor already running in the page.
27
+ *
28
+ * Starts and stops are SERIALISED through `createFrontendProviderSdkActivationLane`, the one lane every consent-based
29
+ * consumer holds (the website's is the other): a new start waits until the previous one has fully stopped. A vendor SDK is
30
+ * usually a page-global singleton, so a stop that finished after the next start (a person who grants, withdraws
31
+ * and grants again while the vendor bundle is still downloading) would switch off the client that had just been
32
+ * published as running.
33
+ *
34
+ * ## No second audit trail
35
+ *
36
+ * The consent DECISION is the audited preference write (`consentedPurposes` on the person's preferences,
37
+ * read by the resource-operation audit emission). Starting or stopping an SDK here is a consequence of that
38
+ * decision, not a decision, so it records nothing of its own: a second trail would only be able to
39
+ * disagree with the first.
40
+ */
41
+ import React from 'react';
42
+ import { type ProviderFrontendSdkActivation } from '@wildo-ai/external-connectors-public/app';
43
+ /** One running consent-based provider: its ref, the capabilities it serves, and its activation. */
44
+ export interface ConsentBasedProviderActivation {
45
+ readonly providerRef: string;
46
+ readonly providerCapabilities: ReadonlyArray<string>;
47
+ readonly activation: ProviderFrontendSdkActivation;
48
+ }
49
+ /** @wildo_source:part:start saas.frontend.consent-based-provider-activation facet:layer:frontend facet:audience:app-developer */
50
+ /**
51
+ * The consent-based providers currently RUNNING on the application, in registry order (#1704).
52
+ *
53
+ * Empty until the signed-in person grants the purposes a provider rests on, and emptied again on withdrawal or
54
+ * sign-out — immediately, before the providers' `deactivate` has finished. A consumer that dispatches to a
55
+ * provider (`AnalyticsContext` does, for `FRONTEND_PRODUCT_ANALYTICS`) reads this and never holds a handle past it.
56
+ */
57
+ export declare function useConsentBasedProviderActivations(): ReadonlyArray<ConsentBasedProviderActivation>;
58
+ /** @wildo_source:part:end saas.frontend.consent-based-provider-activation */
59
+ export declare const ConsentBasedProviderActivationsContext: React.Context<readonly ConsentBasedProviderActivation[]>;
60
+ export declare const ConsentBasedProviderSdksProvider: React.FC<{
61
+ children: React.ReactNode;
62
+ }>;
63
+ //# sourceMappingURL=ConsentBasedProviderSdks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsentBasedProviderSdks.d.ts","sourceRoot":"","sources":["../../../../../src/core/external-providers/ConsentBasedProviderSdks.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,KAA0E,MAAM,OAAO,CAAC;AAC/F,OAAO,EAIL,KAAK,6BAA6B,EACnC,MAAM,0CAA0C,CAAC;AAOlD,mGAAmG;AACnG,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE,6BAA6B,CAAC;CACpD;AAED,iIAAiI;AACjI;;;;;;GAMG;AACH,wBAAgB,kCAAkC,IAAI,aAAa,CAAC,8BAA8B,CAAC,CAElG;AACD,6EAA6E;AAE7E,eAAO,MAAM,sCAAsC,0DAAmE,CAAC;AAQvH,eAAO,MAAM,gCAAgC,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CA+EpF,CAAC"}
@@ -0,0 +1,131 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * The application's SECOND activation phase: providers that rest on a consent purpose (#1704).
4
+ *
5
+ * ## Why startup cannot do this
6
+ *
7
+ * `startApplication` activates provider SDKs before any person is known, so it passes no grant and starts
8
+ * only the providers that rest on no purpose (error monitoring, pickers). A provider that rests on
9
+ * `ConsentPurpose.ANALYTICS` could therefore never start on the application tier — the consent module had
10
+ * always said such a provider "must be activated by a consumer that holds the person's granted purposes",
11
+ * and no such consumer existed. This is it.
12
+ *
13
+ * ## Where the grant comes from, and what revokes it
14
+ *
15
+ * The signed-in person's `privacy.consentedPurposes`, published on `USER_PREFERENCES_CHANGED` — the same
16
+ * stream `AnalyticsContext` has always gated on, with the same rule: `privacy: null` (sign-out, or an
17
+ * identity with no preferences) REVOKES — sign-out publishes it, so a browser a person signed out of never
18
+ * keeps their consent running for whoever uses it next — and an empty set is a real withdrawal. Until
19
+ * preferences arrive nothing is granted, which is why pre-authentication pages start none.
20
+ *
21
+ * ## Start and stop
22
+ *
23
+ * The providers are (re)started when the granted subset of the purposes THEY rest on changes, so granting a
24
+ * purpose none of them uses restarts nothing; granting or withdrawing one they use restarts all of them.
25
+ * Every activation goes through `activateFrontendProviderSdks` — which refuses a consent-based provider that
26
+ * could not be stopped — and every withdrawal, sign-out or unmount calls `deactivateAll`, which is the only
27
+ * thing that stops a vendor already running in the page.
28
+ *
29
+ * Starts and stops are SERIALISED through `createFrontendProviderSdkActivationLane`, the one lane every consent-based
30
+ * consumer holds (the website's is the other): a new start waits until the previous one has fully stopped. A vendor SDK is
31
+ * usually a page-global singleton, so a stop that finished after the next start (a person who grants, withdraws
32
+ * and grants again while the vendor bundle is still downloading) would switch off the client that had just been
33
+ * published as running.
34
+ *
35
+ * ## No second audit trail
36
+ *
37
+ * The consent DECISION is the audited preference write (`consentedPurposes` on the person's preferences,
38
+ * read by the resource-operation audit emission). Starting or stopping an SDK here is a consequence of that
39
+ * decision, not a decision, so it records nothing of its own: a second trail would only be able to
40
+ * disagree with the first.
41
+ */
42
+ import { createContext, useContext, useEffect, useMemo, useRef, useState } from 'react';
43
+ import { activateFrontendProviderSdks, consentPurposesRequiredByProvider, createFrontendProviderSdkActivationLane, } from '@wildo-ai/external-connectors-public/app';
44
+ import { AppFrontendType, BUILTIN_PROVIDER_CAPABILITY, normalizeConsentPurposes } from '@wildo-ai/saas-models/public-runtime';
45
+ import { ApplicationContext } from '../../core/runtime/ApplicationContext.shared.js';
46
+ import { useEventBus } from '../../core/events/useEventBus.js';
47
+ import { FrontendEvents } from '../../core/events/events.frontend.schemas.js';
48
+ import { LoggerFrontendService } from '../../core/monitoring/logger.frontend.service.js';
49
+ /** @wildo_source:part:start saas.frontend.consent-based-provider-activation facet:layer:frontend facet:audience:app-developer */
50
+ /**
51
+ * The consent-based providers currently RUNNING on the application, in registry order (#1704).
52
+ *
53
+ * Empty until the signed-in person grants the purposes a provider rests on, and emptied again on withdrawal or
54
+ * sign-out — immediately, before the providers' `deactivate` has finished. A consumer that dispatches to a
55
+ * provider (`AnalyticsContext` does, for `FRONTEND_PRODUCT_ANALYTICS`) reads this and never holds a handle past it.
56
+ */
57
+ export function useConsentBasedProviderActivations() {
58
+ return useContext(ConsentBasedProviderActivationsContext);
59
+ }
60
+ /** @wildo_source:part:end saas.frontend.consent-based-provider-activation */
61
+ export const ConsentBasedProviderActivationsContext = createContext([]);
62
+ const logger = LoggerFrontendService.getLogger();
63
+ function grantedKey(purposes) {
64
+ return [...purposes].sort().join(',');
65
+ }
66
+ export const ConsentBasedProviderSdksProvider = ({ children }) => {
67
+ const appContext = useContext(ApplicationContext);
68
+ const registry = appContext?.frontendProviderRegistry;
69
+ const { on } = useEventBus();
70
+ // `null` = nothing said yet; an empty array is a recorded withdrawal. Both start nothing.
71
+ const [grantedPurposes, setGrantedPurposes] = useState(null);
72
+ const [activations, setActivations] = useState([]);
73
+ // One lane for this consumer's lifetime: a start waits for the previous stop.
74
+ const lane = useRef(createFrontendProviderSdkActivationLane());
75
+ useEffect(() => on(FrontendEvents.USER_PREFERENCES_CHANGED, (payload) => {
76
+ if (payload.privacy === null) {
77
+ setGrantedPurposes([]);
78
+ return;
79
+ }
80
+ const purposes = payload.privacy?.consentedPurposes;
81
+ if (purposes !== undefined)
82
+ setGrantedPurposes(normalizeConsentPurposes(purposes));
83
+ }), [on]);
84
+ // `analytics.enabled` is the application's master switch for product analytics: with it off, a vendor analytics
85
+ // client is not even loaded on a grant — loading it would already send PostHog a flags request and write its ids,
86
+ // for events that would then never be dispatched to it.
87
+ const analyticsEnabled = appContext?.appConfig?.analytics?.enabled === true;
88
+ const consentBasedModules = useMemo(() => (registry?.listAll() ?? []).filter((module) => consentPurposesRequiredByProvider(module).length > 0
89
+ && (analyticsEnabled || !module.providerCapabilities.includes(BUILTIN_PROVIDER_CAPABILITY.FRONTEND_PRODUCT_ANALYTICS))), [registry, analyticsEnabled]);
90
+ // Only the purposes these providers rest on, so an unrelated grant does not restart a running client.
91
+ const relevantGranted = useMemo(() => {
92
+ const granted = grantedPurposes ?? [];
93
+ const required = new Set(consentBasedModules.flatMap((module) => consentPurposesRequiredByProvider(module)));
94
+ return granted.filter((purpose) => required.has(purpose));
95
+ }, [consentBasedModules, grantedPurposes]);
96
+ const key = grantedKey(relevantGranted);
97
+ useEffect(() => {
98
+ if (consentBasedModules.length === 0 || relevantGranted.length === 0) {
99
+ setActivations([]);
100
+ return;
101
+ }
102
+ // Serialised through the lane — see "Start and stop" above.
103
+ const stop = lane.current.start(() => activateFrontendProviderSdks({
104
+ surface: AppFrontendType.SAAS_APP,
105
+ modules: consentBasedModules,
106
+ grantedConsentPurposes: relevantGranted,
107
+ onDiagnostic: (diagnostic) => {
108
+ logger.warn('Consent-based frontend provider activation diagnostic', {
109
+ kind: diagnostic.kind,
110
+ providerRef: diagnostic.providerRef,
111
+ message: diagnostic.message,
112
+ });
113
+ },
114
+ }), (result) => {
115
+ setActivations(consentBasedModules.flatMap((module) => {
116
+ const activation = result.activations.get(module.metadata.ref);
117
+ return activation === undefined
118
+ ? []
119
+ : [{ providerRef: module.metadata.ref, providerCapabilities: [...module.providerCapabilities], activation }];
120
+ }));
121
+ });
122
+ return () => {
123
+ // Withdrawn from consumers at once, so nothing dispatches to a client that is being stopped.
124
+ setActivations([]);
125
+ stop();
126
+ };
127
+ // eslint-disable-next-line react-hooks/exhaustive-deps -- keyed by the granted SET, see grantedKey.
128
+ }, [consentBasedModules, key]);
129
+ return (_jsx(ConsentBasedProviderActivationsContext.Provider, { value: activations, children: children }));
130
+ };
131
+ //# sourceMappingURL=ConsentBasedProviderSdks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsentBasedProviderSdks.js","sourceRoot":"","sources":["../../../../../src/core/external-providers/ConsentBasedProviderSdks.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * The application's SECOND activation phase: providers that rest on a consent purpose (#1704).\n *\n * ## Why startup cannot do this\n *\n * `startApplication` activates provider SDKs before any person is known, so it passes no grant and starts\n * only the providers that rest on no purpose (error monitoring, pickers). A provider that rests on\n * `ConsentPurpose.ANALYTICS` could therefore never start on the application tier — the consent module had\n * always said such a provider \"must be activated by a consumer that holds the person's granted purposes\",\n * and no such consumer existed. This is it.\n *\n * ## Where the grant comes from, and what revokes it\n *\n * The signed-in person's `privacy.consentedPurposes`, published on `USER_PREFERENCES_CHANGED` — the same\n * stream `AnalyticsContext` has always gated on, with the same rule: `privacy: null` (sign-out, or an\n * identity with no preferences) REVOKES — sign-out publishes it, so a browser a person signed out of never\n * keeps their consent running for whoever uses it next — and an empty set is a real withdrawal. Until\n * preferences arrive nothing is granted, which is why pre-authentication pages start none.\n *\n * ## Start and stop\n *\n * The providers are (re)started when the granted subset of the purposes THEY rest on changes, so granting a\n * purpose none of them uses restarts nothing; granting or withdrawing one they use restarts all of them.\n * Every activation goes through `activateFrontendProviderSdks` — which refuses a consent-based provider that\n * could not be stopped — and every withdrawal, sign-out or unmount calls `deactivateAll`, which is the only\n * thing that stops a vendor already running in the page.\n *\n * Starts and stops are SERIALISED through `createFrontendProviderSdkActivationLane`, the one lane every consent-based\n * consumer holds (the website's is the other): a new start waits until the previous one has fully stopped. A vendor SDK is\n * usually a page-global singleton, so a stop that finished after the next start (a person who grants, withdraws\n * and grants again while the vendor bundle is still downloading) would switch off the client that had just been\n * published as running.\n *\n * ## No second audit trail\n *\n * The consent DECISION is the audited preference write (`consentedPurposes` on the person's preferences,\n * read by the resource-operation audit emission). Starting or stopping an SDK here is a consequence of that\n * decision, not a decision, so it records nothing of its own: a second trail would only be able to\n * disagree with the first.\n */\n\nimport React, { createContext, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n activateFrontendProviderSdks,\n consentPurposesRequiredByProvider,\n createFrontendProviderSdkActivationLane,\n type ProviderFrontendSdkActivation,\n} from '@wildo-ai/external-connectors-public/app';\nimport { AppFrontendType, BUILTIN_PROVIDER_CAPABILITY, normalizeConsentPurposes, type ConsentPurpose } from '@wildo-ai/saas-models/public-runtime';\nimport { ApplicationContext } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { FrontendEvents } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\n\n/** One running consent-based provider: its ref, the capabilities it serves, and its activation. */\nexport interface ConsentBasedProviderActivation {\n readonly providerRef: string;\n readonly providerCapabilities: ReadonlyArray<string>;\n readonly activation: ProviderFrontendSdkActivation;\n}\n\n/** @wildo_source:part:start saas.frontend.consent-based-provider-activation facet:layer:frontend facet:audience:app-developer */\n/**\n * The consent-based providers currently RUNNING on the application, in registry order (#1704).\n *\n * Empty until the signed-in person grants the purposes a provider rests on, and emptied again on withdrawal or\n * sign-out — immediately, before the providers' `deactivate` has finished. A consumer that dispatches to a\n * provider (`AnalyticsContext` does, for `FRONTEND_PRODUCT_ANALYTICS`) reads this and never holds a handle past it.\n */\nexport function useConsentBasedProviderActivations(): ReadonlyArray<ConsentBasedProviderActivation> {\n return useContext(ConsentBasedProviderActivationsContext);\n}\n/** @wildo_source:part:end saas.frontend.consent-based-provider-activation */\n\nexport const ConsentBasedProviderActivationsContext = createContext<ReadonlyArray<ConsentBasedProviderActivation>>([]);\n\nconst logger: LoggerFrontendService = LoggerFrontendService.getLogger();\n\nfunction grantedKey(purposes: readonly ConsentPurpose[]): string {\n return [...purposes].sort().join(',');\n}\n\nexport const ConsentBasedProviderSdksProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const appContext = useContext(ApplicationContext);\n const registry = appContext?.frontendProviderRegistry;\n const { on } = useEventBus();\n\n // `null` = nothing said yet; an empty array is a recorded withdrawal. Both start nothing.\n const [grantedPurposes, setGrantedPurposes] = useState<readonly ConsentPurpose[] | null>(null);\n const [activations, setActivations] = useState<ReadonlyArray<ConsentBasedProviderActivation>>([]);\n // One lane for this consumer's lifetime: a start waits for the previous stop.\n const lane = useRef(createFrontendProviderSdkActivationLane());\n\n useEffect(() => on(FrontendEvents.USER_PREFERENCES_CHANGED, (payload) => {\n if (payload.privacy === null) {\n setGrantedPurposes([]);\n return;\n }\n const purposes = payload.privacy?.consentedPurposes;\n if (purposes !== undefined) setGrantedPurposes(normalizeConsentPurposes(purposes));\n }), [on]);\n\n // `analytics.enabled` is the application's master switch for product analytics: with it off, a vendor analytics\n // client is not even loaded on a grant — loading it would already send PostHog a flags request and write its ids,\n // for events that would then never be dispatched to it.\n const analyticsEnabled = appContext?.appConfig?.analytics?.enabled === true;\n const consentBasedModules = useMemo(\n () => (registry?.listAll() ?? []).filter((module) => consentPurposesRequiredByProvider(module).length > 0\n && (analyticsEnabled || !module.providerCapabilities.includes(BUILTIN_PROVIDER_CAPABILITY.FRONTEND_PRODUCT_ANALYTICS))),\n [registry, analyticsEnabled],\n );\n // Only the purposes these providers rest on, so an unrelated grant does not restart a running client.\n const relevantGranted = useMemo(() => {\n const granted = grantedPurposes ?? [];\n const required = new Set(consentBasedModules.flatMap((module) => consentPurposesRequiredByProvider(module)));\n return granted.filter((purpose) => required.has(purpose));\n }, [consentBasedModules, grantedPurposes]);\n const key = grantedKey(relevantGranted);\n\n useEffect(() => {\n if (consentBasedModules.length === 0 || relevantGranted.length === 0) {\n setActivations([]);\n return;\n }\n // Serialised through the lane — see \"Start and stop\" above.\n const stop = lane.current.start(\n () => activateFrontendProviderSdks({\n surface: AppFrontendType.SAAS_APP,\n modules: consentBasedModules,\n grantedConsentPurposes: relevantGranted,\n onDiagnostic: (diagnostic) => {\n logger.warn('Consent-based frontend provider activation diagnostic', {\n kind: diagnostic.kind,\n providerRef: diagnostic.providerRef,\n message: diagnostic.message,\n });\n },\n }),\n (result) => {\n setActivations(consentBasedModules.flatMap((module) => {\n const activation = result.activations.get(module.metadata.ref);\n return activation === undefined\n ? []\n : [{ providerRef: module.metadata.ref, providerCapabilities: [...module.providerCapabilities], activation }];\n }));\n },\n );\n\n return () => {\n // Withdrawn from consumers at once, so nothing dispatches to a client that is being stopped.\n setActivations([]);\n stop();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- keyed by the granted SET, see grantedKey.\n }, [consentBasedModules, key]);\n\n return (\n <ConsentBasedProviderActivationsContext.Provider value={activations}>\n {children}\n </ConsentBasedProviderActivationsContext.Provider>\n );\n};\n"]}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * The framework's address-lookup COMPONENT, for any vendor that supplies a `ProviderAddressLookupAdapter` (#561).
3
+ *
4
+ * A vendor's lookup is four pure functions (build the suggest input, read the suggestions, build the retrieve
5
+ * input, read the address). Everything else a lookup must get right is the same for every vendor and is written
6
+ * once here:
7
+ *
8
+ * - **The keyboard and screen-reader pattern is the engine's `Combobox`**, not new markup: a trigger with
9
+ * `role="combobox"` and `aria-expanded`, and inside it the command list whose text box is a WAI-ARIA combobox
10
+ * over a `listbox` — arrow keys move the active option, which is announced through `aria-activedescendant`,
11
+ * Enter chooses it and Escape closes the list. Server-side results, so the list is not filtered again locally.
12
+ * - **Suggestions start at {@link PROVIDER_ADDRESS_LOOKUP_MINIMUM_QUERY_LENGTH} characters and are debounced**
13
+ * by {@link PROVIDER_ADDRESS_LOOKUP_DEBOUNCE_MS} (#561 D5): fewer characters match half a country, and a
14
+ * request per keystroke spends the person's per-operation allowance at the door.
15
+ * - **A slower, older answer never replaces a newer one.** Each search carries a sequence number and only the
16
+ * latest may write the list — the ordinary way a typeahead shows results for text the person already changed.
17
+ * - **Nothing vendor-owned is kept.** The suggestion's id lives only until the retrieval; the address that comes
18
+ * back is handed to `onSelect` and the field takes it as typed text.
19
+ * - **Every failure is reported, never thrown** (`onError`), so the host can say the lookup is unavailable while
20
+ * the address parts below keep working by hand.
21
+ *
22
+ * The session token and the choice of backend operations are NOT here: the host binds `suggest` / `retrieve` to the
23
+ * operations the provider declared and fills the token itself (#561 D4). The vendor attribution arrives from the host
24
+ * as data and is shown here, inside the suggestion popup beside the results, by {@link ProviderAddressLookupAttribution}.
25
+ */
26
+ import React from 'react';
27
+ import type { ProviderAddressLookupAdapter, ProviderAddressLookupAttributionText, ProviderAddressLookupProps } from '@wildo-ai/saas-models';
28
+ /** Characters typed before a search runs (#561 D5). */
29
+ export declare const PROVIDER_ADDRESS_LOOKUP_MINIMUM_QUERY_LENGTH = 3;
30
+ /** Quiet time after the last keystroke before a search runs, in milliseconds. */
31
+ export declare const PROVIDER_ADDRESS_LOOKUP_DEBOUNCE_MS = 300;
32
+ export interface ProviderAddressLookupComboboxProps extends ProviderAddressLookupProps {
33
+ /** The vendor's four functions. */
34
+ readonly adapter: ProviderAddressLookupAdapter;
35
+ }
36
+ /**
37
+ * The vendor answered the retrieval, and the place it describes has no postal address the field can hold (no
38
+ * street line, no town or no country). Reported through `onError` like any failure, as its own class so the host
39
+ * can say "this place cannot be used" rather than "the lookup is unavailable" — the lookup worked.
40
+ */
41
+ export declare class ProviderAddressLookupPlaceWithoutAddressError extends Error {
42
+ constructor();
43
+ }
44
+ /**
45
+ * A vendor's required attribution, rendered to the vendor's text rules (#561 D4).
46
+ *
47
+ * Google's rules for its "Google Maps" text, when its logo is not used: never translated (`translate="no"`), never
48
+ * wrapped onto two lines, weight 400, 12–16 px, normal letter spacing, and white, #1F1F1F or #5E5E5E with at least
49
+ * 4.5:1 contrast against its background. The mark is therefore set in #1F1F1F on its own white ground, which keeps
50
+ * that contrast on every theme the application ships — the one place a vendor's colours override the design
51
+ * system's tokens, as a logo would. The sentence around it, for assistive technology, comes from the application's
52
+ * labels; the mark itself is hidden from them so it is not read twice.
53
+ * spec-cite: https://developers.google.com/maps/documentation/places/web-service/policies — "Font color: White, black
54
+ * (#1F1F1F), or gray (#5E5E5E)", "Don't wrap Google Maps onto multiple lines", "Prevent browsers from translating
55
+ * Google Maps by using the HTML attribute translate='no'". Fetched 2026-09-29.
56
+ */
57
+ export declare function ProviderAddressLookupAttribution({ attribution }: {
58
+ readonly attribution: ProviderAddressLookupAttributionText;
59
+ }): React.ReactElement;
60
+ export declare function ProviderAddressLookupCombobox(props: ProviderAddressLookupComboboxProps): React.ReactElement;
61
+ //# sourceMappingURL=ProviderAddressLookupCombobox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderAddressLookupCombobox.d.ts","sourceRoot":"","sources":["../../../../../src/core/external-providers/ProviderAddressLookupCombobox.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAA4D,MAAM,OAAO,CAAC;AAGjF,OAAO,KAAK,EACV,4BAA4B,EAC5B,oCAAoC,EACpC,0BAA0B,EAE3B,MAAM,uBAAuB,CAAC;AAM/B,uDAAuD;AACvD,eAAO,MAAM,4CAA4C,IAAI,CAAC;AAE9D,iFAAiF;AACjF,eAAO,MAAM,mCAAmC,MAAM,CAAC;AAKvD,MAAM,WAAW,kCAAmC,SAAQ,0BAA0B;IACpF,mCAAmC;IACnC,QAAQ,CAAC,OAAO,EAAE,4BAA4B,CAAC;CAChD;AAED;;;;GAIG;AACH,qBAAa,6CAA8C,SAAQ,KAAK;;CAKvE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gCAAgC,CAAC,EAAE,WAAW,EAAE,EAAE;IAAE,QAAQ,CAAC,WAAW,EAAE,oCAAoC,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAcpJ;AAMD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,kCAAkC,GAAG,KAAK,CAAC,YAAY,CA8I3G"}