@arbidocs/blocks 0.5.21 → 0.5.23

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 (229) hide show
  1. package/dist/{ConnectedCallDock-ZWNWGEST.js → ConnectedCallDock-AQ33U57C.js} +7 -7
  2. package/dist/{ConnectedCallDock-ZWNWGEST.js.map → ConnectedCallDock-AQ33U57C.js.map} +1 -1
  3. package/dist/{ConnectedCallDock-7FPHYOMU.cjs → ConnectedCallDock-JRWGC6UT.cjs} +8 -8
  4. package/dist/{ConnectedCallDock-7FPHYOMU.cjs.map → ConnectedCallDock-JRWGC6UT.cjs.map} +1 -1
  5. package/dist/{ConnectedCallRoom-QAF3ZOEC.js → ConnectedCallRoom-5YNFPS6E.js} +7 -7
  6. package/dist/{ConnectedCallRoom-QAF3ZOEC.js.map → ConnectedCallRoom-5YNFPS6E.js.map} +1 -1
  7. package/dist/{ConnectedCallRoom-HSLYF6YL.cjs → ConnectedCallRoom-CCEIJAOG.cjs} +8 -8
  8. package/dist/{ConnectedCallRoom-HSLYF6YL.cjs.map → ConnectedCallRoom-CCEIJAOG.cjs.map} +1 -1
  9. package/dist/{ConnectedNativeDocxComparison-4X7H57LE.js → ConnectedNativeDocxComparison-GMQHSY3Z.js} +10 -10
  10. package/dist/{ConnectedNativeDocxComparison-4X7H57LE.js.map → ConnectedNativeDocxComparison-GMQHSY3Z.js.map} +1 -1
  11. package/dist/{ConnectedNativeDocxComparison-7WTVHEKI.cjs → ConnectedNativeDocxComparison-HH3PHNXU.cjs} +11 -11
  12. package/dist/{ConnectedNativeDocxComparison-7WTVHEKI.cjs.map → ConnectedNativeDocxComparison-HH3PHNXU.cjs.map} +1 -1
  13. package/dist/{ConnectedNativeDocxEditor-I6RQUSR3.js → ConnectedNativeDocxEditor-4IAKVBEF.js} +9 -9
  14. package/dist/{ConnectedNativeDocxEditor-I6RQUSR3.js.map → ConnectedNativeDocxEditor-4IAKVBEF.js.map} +1 -1
  15. package/dist/{ConnectedNativeDocxEditor-PZ2ASQO3.cjs → ConnectedNativeDocxEditor-JNHNZG3P.cjs} +11 -11
  16. package/dist/{ConnectedNativeDocxEditor-PZ2ASQO3.cjs.map → ConnectedNativeDocxEditor-JNHNZG3P.cjs.map} +1 -1
  17. package/dist/{ConnectedStreamedWordArtifact-Q5KC4W7O.cjs → ConnectedStreamedWordArtifact-CZZOH667.cjs} +11 -11
  18. package/dist/ConnectedStreamedWordArtifact-CZZOH667.cjs.map +1 -0
  19. package/dist/{ConnectedStreamedWordArtifact-KCYSJ3B2.js → ConnectedStreamedWordArtifact-GLJCJPTP.js} +10 -10
  20. package/dist/ConnectedStreamedWordArtifact-GLJCJPTP.js.map +1 -0
  21. package/dist/agents/index.cjs +328 -328
  22. package/dist/agents/index.js +6 -6
  23. package/dist/auth/index.cjs +47 -47
  24. package/dist/auth/index.js +2 -2
  25. package/dist/calls/index.cjs +39 -39
  26. package/dist/calls/index.js +7 -7
  27. package/dist/chat/index.cjs +145 -145
  28. package/dist/chat/index.js +4 -4
  29. package/dist/{chunk-R2HXGTVB.cjs → chunk-2QQUGL2V.cjs} +2 -2
  30. package/dist/{chunk-R2HXGTVB.cjs.map → chunk-2QQUGL2V.cjs.map} +1 -1
  31. package/dist/{chunk-DTENNALR.js → chunk-44FPFTU2.js} +6 -6
  32. package/dist/{chunk-DTENNALR.js.map → chunk-44FPFTU2.js.map} +1 -1
  33. package/dist/{chunk-MJT7KHHT.cjs → chunk-75UVQKQ5.cjs} +52 -52
  34. package/dist/{chunk-MJT7KHHT.cjs.map → chunk-75UVQKQ5.cjs.map} +1 -1
  35. package/dist/{chunk-GK2U3VU6.cjs → chunk-7DDMF3DZ.cjs} +4 -4
  36. package/dist/{chunk-GK2U3VU6.cjs.map → chunk-7DDMF3DZ.cjs.map} +1 -1
  37. package/dist/{chunk-JWUUGVQR.js → chunk-7JJ7LU3T.js} +5 -5
  38. package/dist/{chunk-JWUUGVQR.js.map → chunk-7JJ7LU3T.js.map} +1 -1
  39. package/dist/{chunk-YT5OOFK3.js → chunk-7S76Q5RK.js} +3 -3
  40. package/dist/{chunk-YT5OOFK3.js.map → chunk-7S76Q5RK.js.map} +1 -1
  41. package/dist/{chunk-S5XIMM27.cjs → chunk-7ZHPLTGK.cjs} +9 -9
  42. package/dist/{chunk-S5XIMM27.cjs.map → chunk-7ZHPLTGK.cjs.map} +1 -1
  43. package/dist/{chunk-F6LC2CRB.js → chunk-AAVFCPKD.js} +6 -6
  44. package/dist/{chunk-F6LC2CRB.js.map → chunk-AAVFCPKD.js.map} +1 -1
  45. package/dist/{chunk-ZMYK7XTS.js → chunk-AF24CV6J.js} +3 -3
  46. package/dist/{chunk-ZMYK7XTS.js.map → chunk-AF24CV6J.js.map} +1 -1
  47. package/dist/{chunk-EW2ZGGWH.cjs → chunk-ASTMGLHT.cjs} +7 -7
  48. package/dist/{chunk-EW2ZGGWH.cjs.map → chunk-ASTMGLHT.cjs.map} +1 -1
  49. package/dist/{chunk-T4OJYZSY.cjs → chunk-B26FXLMG.cjs} +5 -5
  50. package/dist/{chunk-T4OJYZSY.cjs.map → chunk-B26FXLMG.cjs.map} +1 -1
  51. package/dist/{chunk-PFVCOUU6.cjs → chunk-BL74GYSA.cjs} +26 -26
  52. package/dist/{chunk-PFVCOUU6.cjs.map → chunk-BL74GYSA.cjs.map} +1 -1
  53. package/dist/{chunk-K237IYOD.cjs → chunk-BYJUI4AT.cjs} +54 -2
  54. package/dist/chunk-BYJUI4AT.cjs.map +1 -0
  55. package/dist/{chunk-F7IQGPZH.js → chunk-C6P2QW36.js} +5 -5
  56. package/dist/{chunk-F7IQGPZH.js.map → chunk-C6P2QW36.js.map} +1 -1
  57. package/dist/{chunk-KILCORJ7.js → chunk-DHPEUC6H.js} +3 -3
  58. package/dist/{chunk-KILCORJ7.js.map → chunk-DHPEUC6H.js.map} +1 -1
  59. package/dist/{chunk-MSPNYW6Z.cjs → chunk-DTLVC6MN.cjs} +2 -53
  60. package/dist/chunk-DTLVC6MN.cjs.map +1 -0
  61. package/dist/{chunk-MSCDYRSA.cjs → chunk-DXO2RXVQ.cjs} +4 -4
  62. package/dist/{chunk-MSCDYRSA.cjs.map → chunk-DXO2RXVQ.cjs.map} +1 -1
  63. package/dist/{chunk-FOW7TRQR.js → chunk-ENAXJ63V.js} +3 -3
  64. package/dist/{chunk-FOW7TRQR.js.map → chunk-ENAXJ63V.js.map} +1 -1
  65. package/dist/{chunk-MCU4HJDM.cjs → chunk-EWWVKXEQ.cjs} +4 -4
  66. package/dist/{chunk-MCU4HJDM.cjs.map → chunk-EWWVKXEQ.cjs.map} +1 -1
  67. package/dist/{chunk-UEDM2NNI.cjs → chunk-FCWS7I5C.cjs} +9 -9
  68. package/dist/{chunk-UEDM2NNI.cjs.map → chunk-FCWS7I5C.cjs.map} +1 -1
  69. package/dist/{chunk-525U3M3N.js → chunk-FUOCCKE4.js} +3 -3
  70. package/dist/{chunk-525U3M3N.js.map → chunk-FUOCCKE4.js.map} +1 -1
  71. package/dist/{chunk-BQQTLZBN.js → chunk-GRT4EH76.js} +2 -2
  72. package/dist/{chunk-BQQTLZBN.js.map → chunk-GRT4EH76.js.map} +1 -1
  73. package/dist/{chunk-YRHQ7OLG.cjs → chunk-I5RK4WAE.cjs} +8 -8
  74. package/dist/{chunk-YRHQ7OLG.cjs.map → chunk-I5RK4WAE.cjs.map} +1 -1
  75. package/dist/{chunk-YFLXVKMR.js → chunk-IKTPM73F.js} +4 -4
  76. package/dist/{chunk-YFLXVKMR.js.map → chunk-IKTPM73F.js.map} +1 -1
  77. package/dist/{chunk-YQJOWQDJ.cjs → chunk-IWT4QVQL.cjs} +4 -4
  78. package/dist/{chunk-YQJOWQDJ.cjs.map → chunk-IWT4QVQL.cjs.map} +1 -1
  79. package/dist/{chunk-5ZU2XYXO.cjs → chunk-KJVDYWAM.cjs} +30 -4
  80. package/dist/chunk-KJVDYWAM.cjs.map +1 -0
  81. package/dist/{chunk-CQU37FNV.cjs → chunk-KKT53TZQ.cjs} +5 -5
  82. package/dist/{chunk-CQU37FNV.cjs.map → chunk-KKT53TZQ.cjs.map} +1 -1
  83. package/dist/{chunk-RJY5NX72.cjs → chunk-KXSXIQSW.cjs} +12 -12
  84. package/dist/{chunk-RJY5NX72.cjs.map → chunk-KXSXIQSW.cjs.map} +1 -1
  85. package/dist/{chunk-SPSODKUF.js → chunk-M4FLTGFM.js} +5 -5
  86. package/dist/{chunk-SPSODKUF.js.map → chunk-M4FLTGFM.js.map} +1 -1
  87. package/dist/{chunk-K35WQH42.js → chunk-MD2XJASR.js} +3 -3
  88. package/dist/{chunk-K35WQH42.js.map → chunk-MD2XJASR.js.map} +1 -1
  89. package/dist/{chunk-KMF3ORIV.js → chunk-MQEN62NR.js} +3 -3
  90. package/dist/{chunk-KMF3ORIV.js.map → chunk-MQEN62NR.js.map} +1 -1
  91. package/dist/{chunk-J5J5JRPL.js → chunk-MUF3RFJZ.js} +4 -4
  92. package/dist/{chunk-J5J5JRPL.js.map → chunk-MUF3RFJZ.js.map} +1 -1
  93. package/dist/{chunk-K4PGCNCI.cjs → chunk-O4TCX6PD.cjs} +5 -5
  94. package/dist/{chunk-K4PGCNCI.cjs.map → chunk-O4TCX6PD.cjs.map} +1 -1
  95. package/dist/{chunk-KL6XOSEN.js → chunk-PLAGIVFF.js} +4 -52
  96. package/dist/chunk-PLAGIVFF.js.map +1 -0
  97. package/dist/{chunk-D3BHUDOU.js → chunk-PZRTRYPD.js} +3 -3
  98. package/dist/{chunk-D3BHUDOU.js.map → chunk-PZRTRYPD.js.map} +1 -1
  99. package/dist/{chunk-4C2S3Z3I.cjs → chunk-QW3SVHGM.cjs} +4 -4
  100. package/dist/{chunk-4C2S3Z3I.cjs.map → chunk-QW3SVHGM.cjs.map} +1 -1
  101. package/dist/{chunk-F4AJTY45.cjs → chunk-R7M5LN7D.cjs} +4 -4
  102. package/dist/{chunk-F4AJTY45.cjs.map → chunk-R7M5LN7D.cjs.map} +1 -1
  103. package/dist/{chunk-UNZUM76L.js → chunk-RRIXIUYD.js} +3 -3
  104. package/dist/{chunk-UNZUM76L.js.map → chunk-RRIXIUYD.js.map} +1 -1
  105. package/dist/{chunk-FQIJICZE.cjs → chunk-S4G3DNMA.cjs} +18 -18
  106. package/dist/{chunk-FQIJICZE.cjs.map → chunk-S4G3DNMA.cjs.map} +1 -1
  107. package/dist/{chunk-ML62FUHZ.js → chunk-SUDPZ5IQ.js} +3 -3
  108. package/dist/{chunk-ML62FUHZ.js.map → chunk-SUDPZ5IQ.js.map} +1 -1
  109. package/dist/{chunk-I3G7DQJH.cjs → chunk-T3VDKPKH.cjs} +18 -18
  110. package/dist/{chunk-I3G7DQJH.cjs.map → chunk-T3VDKPKH.cjs.map} +1 -1
  111. package/dist/{chunk-G2XAACRG.cjs → chunk-TATPWHHN.cjs} +5 -5
  112. package/dist/{chunk-G2XAACRG.cjs.map → chunk-TATPWHHN.cjs.map} +1 -1
  113. package/dist/{chunk-IJQ5DIZT.cjs → chunk-TTJGCJWX.cjs} +5 -5
  114. package/dist/{chunk-IJQ5DIZT.cjs.map → chunk-TTJGCJWX.cjs.map} +1 -1
  115. package/dist/{chunk-WYUFBKQ4.js → chunk-V5HVPQP7.js} +3 -3
  116. package/dist/{chunk-WYUFBKQ4.js.map → chunk-V5HVPQP7.js.map} +1 -1
  117. package/dist/{chunk-IXBJEQH5.js → chunk-VN4FSGBR.js} +53 -4
  118. package/dist/chunk-VN4FSGBR.js.map +1 -0
  119. package/dist/{chunk-BITGO5LI.cjs → chunk-VNHLFS6T.cjs} +4 -4
  120. package/dist/{chunk-BITGO5LI.cjs.map → chunk-VNHLFS6T.cjs.map} +1 -1
  121. package/dist/{chunk-CHHE2UNJ.js → chunk-WNC5INOD.js} +4 -4
  122. package/dist/{chunk-CHHE2UNJ.js.map → chunk-WNC5INOD.js.map} +1 -1
  123. package/dist/{chunk-6EGWPMPU.cjs → chunk-WPOQLGKJ.cjs} +14 -14
  124. package/dist/{chunk-6EGWPMPU.cjs.map → chunk-WPOQLGKJ.cjs.map} +1 -1
  125. package/dist/{chunk-FERNQVSH.js → chunk-X4Y7ZHFB.js} +30 -5
  126. package/dist/chunk-X4Y7ZHFB.js.map +1 -0
  127. package/dist/{chunk-UAFP562F.js → chunk-XL55UDLO.js} +3 -3
  128. package/dist/{chunk-UAFP562F.js.map → chunk-XL55UDLO.js.map} +1 -1
  129. package/dist/{chunk-P3HSWP2P.js → chunk-XVGUR746.js} +3 -3
  130. package/dist/{chunk-P3HSWP2P.js.map → chunk-XVGUR746.js.map} +1 -1
  131. package/dist/{chunk-YVA6SCVO.js → chunk-Y5ER2GAU.js} +3 -3
  132. package/dist/{chunk-YVA6SCVO.js.map → chunk-Y5ER2GAU.js.map} +1 -1
  133. package/dist/{chunk-O3TAF4ZM.js → chunk-Y7DWW5XD.js} +3 -3
  134. package/dist/{chunk-O3TAF4ZM.js.map → chunk-Y7DWW5XD.js.map} +1 -1
  135. package/dist/{chunk-APVKLXM5.cjs → chunk-YBTKLOGG.cjs} +4 -4
  136. package/dist/{chunk-APVKLXM5.cjs.map → chunk-YBTKLOGG.cjs.map} +1 -1
  137. package/dist/{chunk-YVEMNMIA.cjs → chunk-YOMT5FFH.cjs} +6 -6
  138. package/dist/{chunk-YVEMNMIA.cjs.map → chunk-YOMT5FFH.cjs.map} +1 -1
  139. package/dist/{chunk-VFZLZSJ3.js → chunk-ZYGQFD5Y.js} +3 -3
  140. package/dist/{chunk-VFZLZSJ3.js.map → chunk-ZYGQFD5Y.js.map} +1 -1
  141. package/dist/citations/index.cjs +10 -10
  142. package/dist/citations/index.js +2 -2
  143. package/dist/connect/docx.cjs +13 -13
  144. package/dist/connect/docx.js +9 -9
  145. package/dist/connect/index.cjs +1393 -866
  146. package/dist/connect/index.cjs.map +1 -1
  147. package/dist/connect/index.d.ts +1 -0
  148. package/dist/connect/index.js +575 -57
  149. package/dist/connect/index.js.map +1 -1
  150. package/dist/connect/viewer.cjs +77 -77
  151. package/dist/connect/viewer.js +12 -12
  152. package/dist/connection/auth/support.d.ts +17 -0
  153. package/dist/connection/auth/useLoginActions.d.ts +5 -0
  154. package/dist/connection/billing/ConnectedQuotaDialog.d.ts +5 -13
  155. package/dist/connection/billing/ProjectUsageContent.d.ts +7 -4
  156. package/dist/connection/billing/index.d.ts +2 -1
  157. package/dist/connection/connectors/ConnectedSharePointAdminConsentPage.d.ts +26 -0
  158. package/dist/connection/connectors/index.d.ts +1 -0
  159. package/dist/connection/defaultHost.d.ts +1 -1
  160. package/dist/connection/entities/ConnectedProjectEntity.d.ts +8 -0
  161. package/dist/connection/entities/ConnectedUserEntity.d.ts +20 -0
  162. package/dist/connection/entities/ConnectedWorkspaceEntity.d.ts +31 -0
  163. package/dist/connection/entities/index.d.ts +5 -0
  164. package/dist/connection/entities/renderConnectedUser.d.ts +6 -0
  165. package/dist/connection/settings-page/ConnectedAccountSettings.d.ts +2 -1
  166. package/dist/connection/settings-page/ConnectedBoxPortalSection.d.ts +6 -0
  167. package/dist/connection/settings-page/index.d.ts +1 -0
  168. package/dist/connection/settings-page/sections.d.ts +44 -0
  169. package/dist/facts/index.cjs +3 -3
  170. package/dist/facts/index.js +2 -2
  171. package/dist/files/index.cjs +223 -223
  172. package/dist/files/index.js +3 -3
  173. package/dist/home/index.cjs +30 -30
  174. package/dist/home/index.js +5 -5
  175. package/dist/index.cjs +643 -643
  176. package/dist/index.js +18 -18
  177. package/dist/provider/environment.d.ts +2 -0
  178. package/dist/retrieval/index.cjs +4 -4
  179. package/dist/retrieval/index.js +2 -2
  180. package/dist/shell/index.cjs +46 -46
  181. package/dist/shell/index.js +3 -3
  182. package/dist/studio/index.cjs +14 -14
  183. package/dist/studio/index.js +6 -6
  184. package/dist/workflow-canvas/index.cjs +26 -26
  185. package/dist/workflow-canvas/index.js +8 -8
  186. package/dist/workspaces/WorkspaceTypeBadge.d.ts +14 -0
  187. package/dist/workspaces/index.cjs +32 -28
  188. package/dist/workspaces/index.d.ts +1 -0
  189. package/dist/workspaces/index.js +4 -4
  190. package/node_modules/@arbidocs/coedit/dist/encoding.cjs +54 -56
  191. package/node_modules/@arbidocs/coedit/dist/encoding.cjs.map +1 -1
  192. package/node_modules/@arbidocs/coedit/dist/encoding.d.cts +50 -14
  193. package/node_modules/@arbidocs/coedit/dist/encoding.d.ts +50 -14
  194. package/node_modules/@arbidocs/coedit/dist/encoding.js +54 -57
  195. package/node_modules/@arbidocs/coedit/dist/encoding.js.map +1 -1
  196. package/node_modules/@arbidocs/coedit/dist/hocuspocus.cjs +211 -109
  197. package/node_modules/@arbidocs/coedit/dist/hocuspocus.cjs.map +1 -1
  198. package/node_modules/@arbidocs/coedit/dist/hocuspocus.js +211 -109
  199. package/node_modules/@arbidocs/coedit/dist/hocuspocus.js.map +1 -1
  200. package/node_modules/@arbidocs/coedit/dist/index.cjs +210 -108
  201. package/node_modules/@arbidocs/coedit/dist/index.cjs.map +1 -1
  202. package/node_modules/@arbidocs/coedit/dist/index.d.cts +1 -1
  203. package/node_modules/@arbidocs/coedit/dist/index.d.ts +1 -1
  204. package/node_modules/@arbidocs/coedit/dist/index.js +210 -108
  205. package/node_modules/@arbidocs/coedit/dist/index.js.map +1 -1
  206. package/node_modules/@arbidocs/coedit/dist/server.cjs +214 -112
  207. package/node_modules/@arbidocs/coedit/dist/server.cjs.map +1 -1
  208. package/node_modules/@arbidocs/coedit/dist/server.d.cts +1 -1
  209. package/node_modules/@arbidocs/coedit/dist/server.d.ts +1 -1
  210. package/node_modules/@arbidocs/coedit/dist/server.js +214 -112
  211. package/node_modules/@arbidocs/coedit/dist/server.js.map +1 -1
  212. package/node_modules/@arbidocs/coedit/dist/template.cjs +3 -2
  213. package/node_modules/@arbidocs/coedit/dist/template.cjs.map +1 -1
  214. package/node_modules/@arbidocs/coedit/dist/template.d.cts +5 -0
  215. package/node_modules/@arbidocs/coedit/dist/template.d.ts +5 -0
  216. package/node_modules/@arbidocs/coedit/dist/template.js +3 -2
  217. package/node_modules/@arbidocs/coedit/dist/template.js.map +1 -1
  218. package/node_modules/@arbidocs/coedit/dist/{versions-DXiFQMA6.d.ts → versions-XSYTVmOU.d.cts} +1 -1
  219. package/node_modules/@arbidocs/coedit/dist/{versions-DXiFQMA6.d.cts → versions-XSYTVmOU.d.ts} +1 -1
  220. package/node_modules/@arbidocs/coedit/package.json +1 -1
  221. package/package.json +5 -5
  222. package/dist/ConnectedStreamedWordArtifact-KCYSJ3B2.js.map +0 -1
  223. package/dist/ConnectedStreamedWordArtifact-Q5KC4W7O.cjs.map +0 -1
  224. package/dist/chunk-5ZU2XYXO.cjs.map +0 -1
  225. package/dist/chunk-FERNQVSH.js.map +0 -1
  226. package/dist/chunk-IXBJEQH5.js.map +0 -1
  227. package/dist/chunk-K237IYOD.cjs.map +0 -1
  228. package/dist/chunk-KL6XOSEN.js.map +0 -1
  229. package/dist/chunk-MSPNYW6Z.cjs.map +0 -1
@@ -1,20 +1,20 @@
1
1
  "use client";
2
2
  import { useBillingSupport, formatMoney, isProProject, useSelfExtId, addonCharge, formatPeriodEnd, quoteParts, taxDetail, money2, ANNUAL_PREMIUM_AI_NOTE, totalWithTaxWord, planBadgeView, DEFAULT_SPEND_CAP_PENCE, findProPrices, packPrice, calcSavingsPercent, parseBudgetPounds, isAddonBudgetZero, useRewardBalance, getQuotaItems, aiUsageResetTimestamp, formatResetDate, ZERO_BUDGET_MESSAGE, CAP_REACHED_MESSAGE, PRO_PACKS, planNameForPacks, proTierName, STORAGE_BLOCK_GB, ADDON_BLOCK_AI_GBP, quoteError, POSTCODE_COUNTRIES, addonPrice, checkoutBlockPriceText, quoteTotalLine, apiErrorDetail, checkoutItemsLabel, projectGroupBilling, SUGGESTED_DAILY_CAP_PER_USER, FREE_STORAGE_MB, FREE_AI_GBP, PRO_AI_GBP, PRO_STORAGE_GB, plusVat, planPreviewLines, PAY_TODAY_UNPRICED, TAX_LOCATION_INVALID, FREE_COLLABORATORS, MAX_CHECKOUT_BLOCKS, reduceBounds, splitBlocks, autoRoom, nextRemovedBlockSize, stepLabel, addStepCaption, blocksLabel, MIN_AUTO_TOPUP_THRESHOLD_GBP, USAGE_CAP_LABEL, USAGE_CAP_HELP, PLAN_CHOICE_PACKS, nextPeriodBody, addonSettingsBody, budgetSavedMessage } from '../chunk-NVRJ6WTR.js';
3
3
  export { CAP_REACHED_MESSAGE, ZERO_BUDGET_MESSAGE, aiUsageResetTimestamp, formatMoney, formatResetDate, getQuotaItems, isAddonBudgetZero, isProProject, planBadgeView, planName, projectGroupBilling, useBillingSupport, useRewardBalance } from '../chunk-NVRJ6WTR.js';
4
- import { getRoleBadgeClass, formatRole, getRoleDescription, PageLoading, WorkspacePageFrame, WorkspaceIdentityPanel, WorkspaceProjectSlot, WorkspaceAudienceLine, CommonWorkspaceToggle, ExpandableSection, LeaveFooter, ProjectPicker, WorkspaceList, WorkspaceGroup, WorkspaceCard } from '../chunk-FERNQVSH.js';
4
+ import { getRoleBadgeClass, formatRole, getRoleDescription, PageLoading, WorkspacePageFrame, WorkspaceIdentityPanel, WorkspaceProjectSlot, WorkspaceAudienceLine, CommonWorkspaceToggle, ExpandableSection, LeaveFooter, ProjectPicker, WorkspaceTypeBadge, WorkspaceList, WorkspaceGroup, WorkspaceCard } from '../chunk-X4Y7ZHFB.js';
5
5
  import { isAgentAccount, workspaceConversationCount, workspaceDocumentCount, isListedWorkspace, WORKSPACE_CATEGORY_FILTERS, projectFilterId, workspaceFilterAttributes, groupWorkspacesByProject, workspaceGroupStats, byRecentUpdate } from '../chunk-BTF4AZMG.js';
6
6
  import { SharedFileView, SharedFilesInbox } from '../chunk-4ML5AMMO.js';
7
7
  import { buildFactCitations, citedVersionRef, chronologyFactBodies, docIdsOf, toFactCitations, FactsToolbar, FactsFieldsButton, FactComposer, FactDateInput, FactSourcesRow, FactsLoading, FactsLoadError, FactsEmptyState, FactsCalendar, FactsGanttPane, FactsBulkBar, FactSourceGroup, EMPTY_FACT_DATE_FIELDS, withoutChunk, factDateSpanToFields, FactFieldRow, FactLabelsCell, enableFactTableColumnResize, withChunk, factDateFieldsToSpan, createFactColumns, FactRowActions, withoutDoc, withDoc, sourceDocCount, DEFAULT_FACT_COLUMN_LABELS } from '../chunk-75Z5AUMM.js';
8
- import { HomeLoadError, HomeFrame, HomeMain, HomeCenteredScroll, HomeCenteredColumn, DashboardRoot, DashboardBand, DashboardColumns, RecentList, DashboardAction, FactsStrip, FactMark, CreateTile } from '../chunk-YFLXVKMR.js';
8
+ import { HomeLoadError, HomeFrame, HomeMain, HomeCenteredScroll, HomeCenteredColumn, DashboardRoot, DashboardBand, DashboardColumns, RecentList, DashboardAction, FactsStrip, FactMark, CreateTile } from '../chunk-IKTPM73F.js';
9
9
  import { ProjectBandTitle, PlainBandTitle } from '../chunk-RQKWYKZY.js';
10
10
  import '../chunk-WZ63HE2C.js';
11
- import { MessageJsonTree, DraggableHeader, ProfileCard, AvatarPicker, IdentityVerificationCard, IdentityVerificationDialog, RequireVerified, PasswordChangeDialog, EMAIL_NOTIFICATION_KEYS, EMAIL_NOTIFICATION_CATEGORIES, NotificationCategoryList, toNotificationCategories, toActiveSessionViews, ActiveSessionsDialog, LogoutDialog, toLogoutSessionViews, DeleteAccountDialog, toDeleteBlockerViews, PremiumModelsFrame, ConnectionsLoading, ConnectionsError, ConnectionsEmpty, UsageToggle, SettingsPage, UsageLineChart, SyncDialogBody, SyncField, SyncSelect, SyncSmallNote, SyncLoading, SyncReconnectNotice, SyncNote, SyncTreeFrame, SyncLinkRow, SyncLinkButton, SyncOptions, SyncOptionToggle, SyncDialogFooter, InvoicesDialog, PlanDialogFrame, ProjectList, RenameDialog, SharedProjectsSection, SharedProjectRow, MoreInfo, MoreInfoList, ProjectDetailHeader, PlanBadge, ProjectDetailSection, PlanStack, PlanNotice, PlanPickerCard, PlanPickerHeader, PricingToggle, PromoCodeInput, PlanActionButton, QuotaExceededDialogView, InviteContactsDialog, WelcomeDialog, applyTriStateFilters, PanelFrame, PanelAddButton, PanelFrameBody, PanelScroll, PanelActionsRow, applyInvertedIndexFilter, ConfigSwitcherBar, PanelNote, ProjectRow, QuotaMeter, FilterChip, buildInvertedIndex, serverConnectionView, ServerConnectionButton, ModelProviderLabel, SyncFolderRow, SyncFolderStatus, PlanTierOption, PlanActionRow, SubscriptionStatusView, DailyCapField, UsagePanel, UsageSummary, UsageQuotaHint, UsageSection, UsageLegend, UsageProportionBar, UsageActionButton, PlanInfoPopover, PlanCardGrid, ReferralRewardSummary, CheckoutDialogFrame, ConnectionCard, ReferralRewardNote } from '../chunk-RVKVGS72.js';
12
- export { ConnectedAssistantDock, redlineStats, textToArtifact, toRedlineMarkdown, useConnectedAiTask, useConnectedChat, useSemanticSearch, useWorkspaceDocs } from '../chunk-J5J5JRPL.js';
13
- import { useConnectedWorkspaceRole, useConnectedWorkflowScopeSource, ConnectedWorkflowDocumentsField, ConnectedWorkflowLauncher, ConnectedNativeDocxEditor, toWorkflowFieldDocument } from '../chunk-F6LC2CRB.js';
14
- export { ConnectedWorkflowDocumentsField, ConnectedWorkflowLauncher, ConnectedWorkflowsTable, DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS, toWorkflowFieldDocument, useConnectedAgentOptions, useConnectedWorkflowScopeSource, useConnectedWorkspaceRole, useDocxCommentTarget, useNativeDocxSupport } from '../chunk-F6LC2CRB.js';
15
- import { ConnectedMarkdown, InternalDocLink, ExternalLink, DocumentWorkspaceContext } from '../chunk-SPSODKUF.js';
16
- export { ConnectedDocumentToolsProvider, ConnectedMarkdown, DocumentChip, DocumentWorkspaceContext, ExternalLink, InternalDocLink, MailChip, MermaidDiagram, WorkspaceDocumentReference, useDocumentViewerSupport, useDocumentWorkspace, useViewerDraftDocument, useViewerIsDetached, useViewerPassageCitation, useViewerStreamingDocument } from '../chunk-SPSODKUF.js';
17
- import { ExplorerFileTile, formatFolderSegment, hasFolderProviderIcon, FolderProviderIcon, ExplorerFolderTile, StatusPill, FailedStageIcon, DocumentNameCellFrame, DocumentRowMenu, visibilityToggleTooltip, FolderCell, FolderCommandList, RelatedDocsCell, FilterButton, DOCUMENTS_ROW_HEIGHT_INITIAL, searchExplorerDocuments, buildExplorerEntries, collectFolderDocs, joinFolderPath, getExplorerDisplayName, RECENTLY_DELETED_HINT, RECENTLY_DELETED_HINT_PLURAL, canDeleteDocument, ExplorerFrame, ExplorerStage, ExplorerScroller, ExplorerLoadingTiles, ExplorerEmpty, ExplorerMarquee, ExplorerDropOverlay, ExplorerDragPreview, CheckboxCell, TagColumnHeader, ExplorerFileTooltip, visibilityAudience, TagFormRoot, TagFormNameField, TagFormSelectField, TagFormNote, TagFormOptionsEditor, TagFormInstructionField, TagFormMeta, TagFormFooter, TagFormSharedToggle, FilesViewCenter, FilesFilterBar, TransferProgressView, TransferResumeBanner, ExportResultsReport, TransferScopeChooser, TransferKindsPicker, TransferReferencesChooser, ExportMethodChooser, ExportWorkspacePicker, TransferConflictChooser, TransferPlanSummary, ExportFooter, ExportModalTitle, ROW_MIN, rowHeightForLines, linesForRowHeight, RowDensityControl, FolderFilterButton, FolderPickerRow, UploadFrame, UploadContainer, SelectedFilesList, RejectedFilesList, UploadErrorMessage, UploadProgress, VendorLogo, PrivacyExplainerModal, MultiSelectCellEditor, DOCUMENT_TYPE_OPTIONS, DEFAULT_DOCUMENT_COLUMNS, shareStateOf, BulkActionsBar, shareTooltipFor, parseFolderSegments, AiReviewDialogView, MoveToFolderDialog, sortFields, filterFieldsByName, fieldsApplyBarCopy, FieldsEditorRoot, FieldsEditorToolbar, FieldsEditorList, FieldRow, FieldsEmptyState, fieldsEmptyText, FieldsApplyBar, FieldsManagerDefinition, FieldsManagerBody, FieldsManagerTitle, BulkTagEditorDialog, BulkReplaceDialog, FieldValue, FieldFolderSelect, FieldFolderValue, FieldNativeSelect, FieldWithAttribution, EMAIL_VIEW_COLUMNS, useGridViews, ViewSelectorMenu, FilesAddMenu, applyColumnLayout, applyViewColumns, sortExplorerFiles, FilesPage, UrlInputDialog, FilesPageHeader, FilesToolbar, ExplorerFileNavigator, NavigatorPickerBar, FilesPageMain, DocumentGrid, resolveDocumentGridLayout, FilesModalFooter, BulkLabelSelectView, confirmHideFromMembers, DocumentsFolderButton, FilesTagsButton, UploadSourceSection, UploadSourcePicker, UploadBrowseButtons, canEditDocumentFields, FieldLabelsSelect, ShareToggle, FieldAttribution, UploadDropArea, canChangeVisibility, UploadUrlButton } from '../chunk-P3HSWP2P.js';
11
+ import { MessageJsonTree, DraggableHeader, ProfileCard, AvatarPicker, IdentityVerificationCard, IdentityVerificationDialog, RequireVerified, PasswordChangeDialog, EMAIL_NOTIFICATION_KEYS, EMAIL_NOTIFICATION_CATEGORIES, NotificationCategoryList, toNotificationCategories, toActiveSessionViews, ActiveSessionsDialog, LogoutDialog, toLogoutSessionViews, DeleteAccountDialog, toDeleteBlockerViews, PremiumModelsFrame, ConnectionsLoading, ConnectionsError, ConnectionsEmpty, UsageToggle, SettingsPage, UsageSummary, UsageLineChart, SyncDialogBody, SyncField, SyncSelect, SyncSmallNote, SyncLoading, SyncReconnectNotice, SyncNote, SyncTreeFrame, SyncLinkRow, SyncLinkButton, SyncOptions, SyncOptionToggle, SyncDialogFooter, InvoicesDialog, PlanDialogFrame, ProjectList, RenameDialog, SharedProjectsSection, SharedProjectRow, MoreInfo, MoreInfoList, UsagePanel, UsageQuotaHint, UsageSection, UsageLegend, UsageProportionBar, UsageActionButton, ProjectDetailHeader, PlanBadge, ProjectDetailSection, PlanStack, PlanNotice, PlanPickerCard, PlanPickerHeader, PricingToggle, PromoCodeInput, PlanActionButton, QuotaExceededDialogView, InviteContactsDialog, WelcomeDialog, applyTriStateFilters, PanelFrame, PanelAddButton, PanelFrameBody, PanelScroll, PanelActionsRow, applyInvertedIndexFilter, ConfigSwitcherBar, PanelNote, ProjectRow, QuotaMeter, FilterChip, buildInvertedIndex, serverConnectionView, ServerConnectionButton, ModelProviderLabel, SyncFolderRow, SyncFolderStatus, PlanTierOption, PlanActionRow, SubscriptionStatusView, DailyCapField, PlanInfoPopover, PlanCardGrid, ReferralRewardSummary, CheckoutDialogFrame, ConnectionCard, ReferralRewardNote } from '../chunk-RVKVGS72.js';
12
+ export { ConnectedAssistantDock, redlineStats, textToArtifact, toRedlineMarkdown, useConnectedAiTask, useConnectedChat, useSemanticSearch, useWorkspaceDocs } from '../chunk-MUF3RFJZ.js';
13
+ import { useConnectedWorkspaceRole, useConnectedWorkflowScopeSource, ConnectedWorkflowDocumentsField, ConnectedWorkflowLauncher, ConnectedNativeDocxEditor, toWorkflowFieldDocument } from '../chunk-AAVFCPKD.js';
14
+ export { ConnectedWorkflowDocumentsField, ConnectedWorkflowLauncher, ConnectedWorkflowsTable, DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS, toWorkflowFieldDocument, useConnectedAgentOptions, useConnectedWorkflowScopeSource, useConnectedWorkspaceRole, useDocxCommentTarget, useNativeDocxSupport } from '../chunk-AAVFCPKD.js';
15
+ import { ConnectedMarkdown, InternalDocLink, ExternalLink, DocumentWorkspaceContext } from '../chunk-M4FLTGFM.js';
16
+ export { ConnectedDocumentToolsProvider, ConnectedMarkdown, DocumentChip, DocumentWorkspaceContext, ExternalLink, InternalDocLink, MailChip, MermaidDiagram, WorkspaceDocumentReference, useDocumentViewerSupport, useDocumentWorkspace, useViewerDraftDocument, useViewerIsDetached, useViewerPassageCitation, useViewerStreamingDocument } from '../chunk-M4FLTGFM.js';
17
+ import { ExplorerFileTile, formatFolderSegment, hasFolderProviderIcon, FolderProviderIcon, ExplorerFolderTile, StatusPill, FailedStageIcon, DocumentNameCellFrame, DocumentRowMenu, visibilityToggleTooltip, FolderCell, FolderCommandList, RelatedDocsCell, FilterButton, DOCUMENTS_ROW_HEIGHT_INITIAL, searchExplorerDocuments, buildExplorerEntries, collectFolderDocs, joinFolderPath, getExplorerDisplayName, RECENTLY_DELETED_HINT, RECENTLY_DELETED_HINT_PLURAL, canDeleteDocument, ExplorerFrame, ExplorerStage, ExplorerScroller, ExplorerLoadingTiles, ExplorerEmpty, ExplorerMarquee, ExplorerDropOverlay, ExplorerDragPreview, CheckboxCell, TagColumnHeader, ExplorerFileTooltip, visibilityAudience, TagFormRoot, TagFormNameField, TagFormSelectField, TagFormNote, TagFormOptionsEditor, TagFormInstructionField, TagFormMeta, TagFormFooter, TagFormSharedToggle, FilesViewCenter, FilesFilterBar, TransferProgressView, TransferResumeBanner, ExportResultsReport, TransferScopeChooser, TransferKindsPicker, TransferReferencesChooser, ExportMethodChooser, ExportWorkspacePicker, TransferConflictChooser, TransferPlanSummary, ExportFooter, ExportModalTitle, ROW_MIN, rowHeightForLines, linesForRowHeight, RowDensityControl, VendorLogo, FolderFilterButton, FolderPickerRow, UploadFrame, UploadContainer, SelectedFilesList, RejectedFilesList, UploadErrorMessage, UploadProgress, PrivacyExplainerModal, MultiSelectCellEditor, DOCUMENT_TYPE_OPTIONS, DEFAULT_DOCUMENT_COLUMNS, shareStateOf, BulkActionsBar, shareTooltipFor, parseFolderSegments, AiReviewDialogView, MoveToFolderDialog, sortFields, filterFieldsByName, fieldsApplyBarCopy, FieldsEditorRoot, FieldsEditorToolbar, FieldsEditorList, FieldRow, FieldsEmptyState, fieldsEmptyText, FieldsApplyBar, FieldsManagerDefinition, FieldsManagerBody, FieldsManagerTitle, BulkTagEditorDialog, BulkReplaceDialog, FieldValue, FieldFolderSelect, FieldFolderValue, FieldNativeSelect, FieldWithAttribution, EMAIL_VIEW_COLUMNS, useGridViews, ViewSelectorMenu, FilesAddMenu, applyColumnLayout, applyViewColumns, sortExplorerFiles, FilesPage, UrlInputDialog, FilesPageHeader, FilesToolbar, ExplorerFileNavigator, NavigatorPickerBar, FilesPageMain, DocumentGrid, resolveDocumentGridLayout, FilesModalFooter, BulkLabelSelectView, confirmHideFromMembers, DocumentsFolderButton, FilesTagsButton, UploadSourceSection, UploadSourcePicker, UploadBrowseButtons, canEditDocumentFields, FieldLabelsSelect, ShareToggle, FieldAttribution, UploadDropArea, canChangeVisibility, UploadUrlButton } from '../chunk-XVGUR746.js';
18
18
  import { ViewToggle, DocumentViewToggle } from '../chunk-JJA6GQKH.js';
19
19
  import { ModalBreadcrumbHeader, ModalCrumbs } from '../chunk-RC6VTY2H.js';
20
20
  import { SignatureCertificate, SignDocumentDialog } from '../chunk-PQU6LE7U.js';
@@ -24,10 +24,10 @@ import '../chunk-MTSKK3BN.js';
24
24
  import '../chunk-LU23I2HS.js';
25
25
  import { FactSourcesPanel, FactPassageItem } from '../chunk-HFZ45FD3.js';
26
26
  import '../chunk-IA5BYEO7.js';
27
- import { SharedCell, EntityTooltip, EntityTooltipHeader, WorkspaceActivityList, WorkspaceNotificationMenu, ThreadFollowMenuItem, ThreadFollowButton, TagTable, TagPicker, tagsPageNouns, entitiesPhrase, ExtractEntitiesDialog, GridRowNavigator, LoadingIndicator, EntityIdentityBar, IDENTITY_NAME_MAX_LENGTH, tagTableDocx, documentCount, tagTableLabels, TagDetail, tagDetailLabels, tagNoteLabel, tagKindDescription, glossaryEntries, glossaryDocx, glossaryMarkdown, glossaryFileName } from '../chunk-D3BHUDOU.js';
27
+ import { EntityTooltip, EntityTooltipHeader, EntityTooltipSection, EntityTooltipHint, SharedCell, WorkspaceActivityList, WorkspaceNotificationMenu, ThreadFollowMenuItem, ThreadFollowButton, TagTable, TagPicker, tagsPageNouns, entitiesPhrase, ExtractEntitiesDialog, GridRowNavigator, LoadingIndicator, EntityIdentityBar, IDENTITY_NAME_MAX_LENGTH, EntityTooltipStats, tagTableDocx, documentCount, tagTableLabels, TagDetail, tagDetailLabels, tagNoteLabel, tagKindDescription, glossaryEntries, glossaryDocx, glossaryMarkdown, glossaryFileName } from '../chunk-PZRTRYPD.js';
28
28
  import { MemberAvatarStack } from '../chunk-FUPAGAZB.js';
29
29
  import { renderSearchSnippet, SearchGroupHeader, isMeaningMatch, extractHighlightTerms, passesRelevanceCutoff, groupSearchResults, SearchPillToggle, SearchPagination, SearchPageFrame, SearchPageHeader, ApplyLabelDialog, SearchPageBody, SearchToolbarRow, SearchBar, SearchControlsBar, RelevanceThreshold, SearchTotalsHeadline, ApplyLabelButton, getSearchMatchHint, SearchResultsMain, SearchResultsInner, SearchErrorBanner, SearchResultList, SearchGroupCard, SearchNoResults, SearchEmptyState } from '../chunk-G4IYES7G.js';
30
- import { SearchHit } from '../chunk-WYUFBKQ4.js';
30
+ import { SearchHit } from '../chunk-V5HVPQP7.js';
31
31
  import { UsageMeter } from '../chunk-66TA5IBN.js';
32
32
  import { DataTable } from '../chunk-SLRVI2YU.js';
33
33
  import '../chunk-AMTWY22T.js';
@@ -39,42 +39,42 @@ import '../chunk-NBV56SGU.js';
39
39
  import { ErrorBoundary } from '../chunk-EQ3WRY2N.js';
40
40
  import { LabelMultiSelectView } from '../chunk-JMQLTMJ7.js';
41
41
  import { workspaceKindColor, WorkspaceIdentity } from '../chunk-6MMYWBYS.js';
42
- import { PassagePill, useCopyText } from '../chunk-525U3M3N.js';
42
+ import { PassagePill, useCopyText } from '../chunk-FUOCCKE4.js';
43
43
  import '../chunk-K4BGOPGG.js';
44
44
  import '../chunk-ZCOVDK2E.js';
45
45
  import { isDefinitionsLabel, DOCX_MIME_TYPE, toDefinitionSource, definitionLabels } from '../chunk-IYUKJESY.js';
46
46
  import { decodeWhitespaceEntities } from '../chunk-AF6RDAJF.js';
47
- import { EntityChip, StepTraceSummary, StepTrace, getCurrentAgentStepPresentation, AssistantEntity, ThreadActivity, SubAgentLane, getAgentStepPresentation, stepAccent, MODEL_TIER_ICON_MAP, StepRow, StepNarration, StepSummary, StepDetail, StepOutcome, StepParams, GoalCriteria, SubStepGroup, MODEL_TIER_LABELS, fromPlanSteps, latestMessageTime, isSupersededStop, compactThreadActivity, unnotifiedMentions, notifiedLabel, linkedRunsFromActivity, getModelIcon, SubagentRoster, buildLibrarySkills, filterLibrarySkills, SKILL_SOURCE_LABELS, SKILL_TYPE_LABELS, SkillViewToggle, SkillFilterChips, SkillTile, SkillGenerateForm, SkillLibraryDetail, parseSkillFrontmatter, SKILL_MAIN_FILENAME, SkillEditForm, DEFAULT_AGENT_CAPABILITIES, stripPersonaPreamble, AgentCreator, DEFAULT_AGENT_TYPES, DEFAULT_AGENT_TEMPLATES, AgentAvatarField, isValidAgentName, AgentConnectInstructions, TaskRunsDialog, TaskActivityDialog, WorkflowStepBar, ConfigForm, AgentEditView, AgentMainView, AgentCreatedView, AgentCreateView, WorkflowRunStatus, ThreadStatusLine, WorkflowThreadStrip, WorkflowStepAction, WorkflowThreadStartedBy, TaskFlow, useWorkflowUsage, WEB_WORKFLOWS, DASHBOARD_PINNED, CUSTOM_TASK, REMIND_TASK, DASHBOARD_OPERATIONS, sortByRecentUse, taskComposerToCreateRequest, taskComposerToUpdateRequest, composerToWorkflowUpdate, moveTargets, workflowToComposerValues, REMIND_TASK_ID, CUSTOM_TASK_ID, taskToComposerValues, TaskComposer, renderWorkflowIcon, AUTOMATION_EVENTS, TaskPlan, TaskStartDialog, ThreadLauncher, NewThreadDialog, GENERATE_IMAGE_ID, IMAGE_ASPECT_AUTO, deriveAnnotationName, ANNOTATE_ID, recordWorkflowUse, openWorkflowLaunch, useWorkflowLaunchRequest, AgentBar, AgentBarNotes, AgentBarQueuedNote, AgentBarProbeAnswer, BUILTIN_SKILLS, TaskEmptyState, ConsentPage, ConsentMessage, ConsentCard, ConsentHeader, ConsentSection, CopyableUrl, ConsentText, ConsentStrong, ConsentPermissionList, ConsentNotice, ConsentActions, ConsentFootnote, AgentBarStatus, AgentBarIconButton, AgentBarMenu, composePersona, newThreadToRequest, importSkillFile, importSkillFromUrl, WorkflowRunner, skillSlug, serializeSkill, toPlanSteps, useWorkflowView, STATUS_LABELS, asTaskStatus, workflowToSkillMarkdown, closeWorkflowLaunch } from '../chunk-DTENNALR.js';
47
+ import { EntityChip, StepTraceSummary, StepTrace, getCurrentAgentStepPresentation, AssistantEntity, ThreadActivity, SubAgentLane, getAgentStepPresentation, stepAccent, MODEL_TIER_ICON_MAP, StepRow, StepNarration, StepSummary, StepDetail, StepOutcome, StepParams, GoalCriteria, SubStepGroup, MODEL_TIER_LABELS, fromPlanSteps, latestMessageTime, isSupersededStop, compactThreadActivity, unnotifiedMentions, notifiedLabel, linkedRunsFromActivity, getModelIcon, SubagentRoster, buildLibrarySkills, filterLibrarySkills, SKILL_SOURCE_LABELS, SKILL_TYPE_LABELS, SkillViewToggle, SkillFilterChips, SkillTile, SkillGenerateForm, SkillLibraryDetail, parseSkillFrontmatter, SKILL_MAIN_FILENAME, SkillEditForm, DEFAULT_AGENT_CAPABILITIES, stripPersonaPreamble, AgentCreator, DEFAULT_AGENT_TYPES, DEFAULT_AGENT_TEMPLATES, AgentAvatarField, isValidAgentName, AgentConnectInstructions, TaskRunsDialog, TaskActivityDialog, WorkflowStepBar, ConsentPage, ConsentCard, ConsentHeader, ConsentNotice, ConsentSection, ConsentBulletList, ConsentStrong, ConsentText, ConfigForm, AgentEditView, AgentMainView, AgentCreatedView, AgentCreateView, WorkflowRunStatus, ThreadStatusLine, WorkflowThreadStrip, WorkflowStepAction, WorkflowThreadStartedBy, TaskFlow, useWorkflowUsage, WEB_WORKFLOWS, DASHBOARD_PINNED, CUSTOM_TASK, REMIND_TASK, DASHBOARD_OPERATIONS, sortByRecentUse, taskComposerToCreateRequest, taskComposerToUpdateRequest, composerToWorkflowUpdate, moveTargets, workflowToComposerValues, REMIND_TASK_ID, CUSTOM_TASK_ID, taskToComposerValues, TaskComposer, renderWorkflowIcon, AUTOMATION_EVENTS, TaskPlan, TaskStartDialog, ThreadLauncher, NewThreadDialog, GENERATE_IMAGE_ID, IMAGE_ASPECT_AUTO, deriveAnnotationName, ANNOTATE_ID, recordWorkflowUse, openWorkflowLaunch, useWorkflowLaunchRequest, AgentBar, AgentBarNotes, AgentBarQueuedNote, AgentBarProbeAnswer, BUILTIN_SKILLS, TaskEmptyState, ConsentMessage, CopyableUrl, ConsentPermissionList, ConsentActions, ConsentFootnote, AgentBarStatus, AgentBarIconButton, AgentBarMenu, composePersona, newThreadToRequest, importSkillFile, importSkillFromUrl, WorkflowRunner, skillSlug, serializeSkill, toPlanSteps, useWorkflowView, STATUS_LABELS, asTaskStatus, workflowToSkillMarkdown, closeWorkflowLaunch } from '../chunk-44FPFTU2.js';
48
48
  import { MultiSelect } from '../chunk-CQCC7LE7.js';
49
- import { PersonPill, documentScopeLabels, matchWorkflowScope } from '../chunk-YT5OOFK3.js';
50
- import { SectionLabel } from '../chunk-KMF3ORIV.js';
49
+ import { PersonPill, documentScopeLabels, matchWorkflowScope } from '../chunk-7S76Q5RK.js';
50
+ import { SectionLabel } from '../chunk-MQEN62NR.js';
51
51
  import { TriStateFilterMenu } from '../chunk-G4GLDQLY.js';
52
52
  import '../chunk-M4S75AEJ.js';
53
53
  import '../chunk-5LXQPP2K.js';
54
54
  import { SelectionBar, SelectionBarAction } from '../chunk-NUNKSZKU.js';
55
55
  import '../chunk-RLWIUUQ5.js';
56
56
  import { FilterInput } from '../chunk-YU2KUMGE.js';
57
- import '../chunk-ML62FUHZ.js';
57
+ import '../chunk-SUDPZ5IQ.js';
58
58
  import { GridView } from '../chunk-7F5Z4K5W.js';
59
59
  import { StreamedArtifactFrame } from '../chunk-LOJVUGBJ.js';
60
- import { DEFAULT_PASSWORD_RULES, AccountRecoveryDialog, promptSaveCredential, AuthLayout, AuthHeading, AuthField, AuthInput, AuthFieldBadge, AuthLink, AuthNote, RevealablePasswordInput, AuthConsent, AuthSubmitButton, AuthDivider, AuthAlert, RecoveryKeyDialog, parseAuthError, AuthOfflineBadge, AuthTabs, splitAuthHash, withTrailingFragment } from '../chunk-IXBJEQH5.js';
60
+ import { DEFAULT_PASSWORD_RULES, AccountRecoveryDialog, promptSaveCredential, useFragmentCredentials, AuthLayout, AuthHeading, AuthField, AuthInput, AuthFieldBadge, AuthLink, AuthNote, RevealablePasswordInput, AuthConsent, AuthSubmitButton, AuthDivider, AuthAlert, RecoveryKeyDialog, parseAuthError, AuthOfflineBadge, AuthTabs, splitAuthHash, withTrailingFragment } from '../chunk-VN4FSGBR.js';
61
61
  import { PasswordStrengthInput } from '../chunk-P6OLZGQA.js';
62
62
  import { attendeeKey, upcomingOf, conferenceUrl, isWebinarConference, canJoinEvent, calendarToListItem, buildGridEvents, pendingCreateToGrid, newEventDraft, MiniMonth, CalendarList, CalendarGrid, printCalendar, EventDetails, ScopeDialog, CalendarFormDialog, ProposeTimeDialog, isCalendarAttachment, parseIcsInvite, formatEventWhen, groupSlotsByDay, publicBookingMessage, formatSlotRange, zoneOptions, buildTimeChangeRequest, eventToDraft, needsScope, validateDraft, CALENDAR_DEFAULT_LABELS, buildCreateBody, buildDeleteTarget, EventEditor, toSettingsValue, CalendarSettingsForm, describeCalendarError, normalizeFeedUrl, parseOverlayLink, isAllDayDraft, draftRangeUtc, freeBusyToRows, SchedulingAssistant, applySuggestion, toSuggestionViews, bookingLink, defaultRoomWindow, bookingToForm, emptyBookingForm, slugify, WeeklyHoursEditor, validateBookingForm, formToBookingBody, WEEKDAY_NAMES, formatBusy, buildEditRequest } from '../chunk-AWVGKHJT.js';
63
63
  import { detectTimeZone, utcToDate, formatPlainDate, formatInZone, safeZone, todayInZone, addDays, listTimeZones, wallToUtc } from '../chunk-OJIX5NBN.js';
64
64
  import { DocumentPicker } from '../chunk-WNDIVNPT.js';
65
- import { useTranscriptRuns, TranscriptEntry, ThreadCallLogCard, RecordingCard, useMeetingThreadMessages, threadTranscriptRuns, useProvisionalSpeakers, TranscriptRunsContext, ProvisionalSpeakers, CallConversationEmpty } from '../chunk-JWUUGVQR.js';
66
- export { useMeetingThreadMessages } from '../chunk-JWUUGVQR.js';
65
+ import { useTranscriptRuns, TranscriptEntry, ThreadCallLogCard, RecordingCard, useMeetingThreadMessages, threadTranscriptRuns, useProvisionalSpeakers, TranscriptRunsContext, ProvisionalSpeakers, CallConversationEmpty } from '../chunk-7JJ7LU3T.js';
66
+ export { useMeetingThreadMessages } from '../chunk-7JJ7LU3T.js';
67
67
  import { parseCallLogDetail } from '../chunk-S3YRRD54.js';
68
- import { useDocumentFilter, useConnectedTags, useConnectedDocuments, useConnectedConversations, useListedDocuments, listedDocuments } from '../chunk-KILCORJ7.js';
69
- export { isListedDocument, useConnectedConversations, useConnectedDocuments, useConnectedTags, useDocumentFilter, useListedDocuments } from '../chunk-KILCORJ7.js';
70
- import { useConnectedWorkspace, useConnection, useOptionalConnection, ConnectionProvider } from '../chunk-UNZUM76L.js';
71
- export { SESSION_EXPIRED_MESSAGE, isAuthenticated, useConnectedWorkspace, useConnection } from '../chunk-UNZUM76L.js';
68
+ import { useDocumentFilter, useConnectedTags, useConnectedDocuments, useConnectedConversations, useListedDocuments, listedDocuments } from '../chunk-DHPEUC6H.js';
69
+ export { isListedDocument, useConnectedConversations, useConnectedDocuments, useConnectedTags, useDocumentFilter, useListedDocuments } from '../chunk-DHPEUC6H.js';
70
+ import { useConnectedWorkspace, useConnection, useOptionalConnection, ConnectionProvider } from '../chunk-RRIXIUYD.js';
71
+ export { SESSION_EXPIRED_MESSAGE, isAuthenticated, useConnectedWorkspace, useConnection } from '../chunk-RRIXIUYD.js';
72
72
  import { DmThreadHeader, DmInviteChip } from '../chunk-2S3LT5KE.js';
73
73
  import { useHost, ArbiHost } from '../chunk-T4P237N6.js';
74
74
  import { TabHeader } from '../chunk-ABEKUV6L.js';
75
75
  import { EmptyState } from '../chunk-P6GHJSLR.js';
76
- import { useLongPaste, useRecipientDraft, SlashMenu, ContextUsageBar, findMessageDocument, getParticipantTints, flashMessage, parseSlashTokenInProgress, buildSlashItems, filterSlashItems, copyMessageToClipboard, BranchControls, ThreadVisualizer, downloadTableAsCsv, useOpenCitation, ModelAutoIcon, ModelTierIcon, ModelDot, ModelPricingTip, ModelPickerPopover, ModelOption, ModelMenuDivider, ModelTierOption, ModelConfigureButton, ModelMenuMessage, ModelPickerTrigger, ModelTriggerContent, ModelOptionLabel, ConversationBody, ConversationMain, ConversationLoading, PendingAnswerBar, ComposerTools, PaModeBadge, ComposerAccessories, DraftingDocChip } from '../chunk-K35WQH42.js';
77
- import { ComposerSend, ComposerVoiceButton, Composer, MessageActionMenu, MessageActionButton, MessageFooter, MessageRoot, MessageContent, MessageAuthor, MessageBubble, MessageByline, MessageSubagentBadge, MessageBody, MessageNarration, useStreamAnnouncement, MessageList, WorkflowStepChip, MessageSources, ChatPage, ConversationEmpty, MessageAlert, ComposerDock, ComposerContainer, ScrollToBottom } from '../chunk-YVA6SCVO.js';
76
+ import { useLongPaste, useRecipientDraft, SlashMenu, ContextUsageBar, findMessageDocument, getParticipantTints, flashMessage, parseSlashTokenInProgress, buildSlashItems, filterSlashItems, copyMessageToClipboard, BranchControls, ThreadVisualizer, downloadTableAsCsv, useOpenCitation, ModelAutoIcon, ModelTierIcon, ModelDot, ModelPricingTip, ModelPickerPopover, ModelOption, ModelMenuDivider, ModelTierOption, ModelConfigureButton, ModelMenuMessage, ModelPickerTrigger, ModelTriggerContent, ModelOptionLabel, ConversationBody, ConversationMain, ConversationLoading, PendingAnswerBar, ComposerTools, PaModeBadge, ComposerAccessories, DraftingDocChip } from '../chunk-MD2XJASR.js';
77
+ import { ComposerSend, ComposerVoiceButton, Composer, MessageActionMenu, MessageActionButton, MessageFooter, MessageRoot, MessageContent, MessageAuthor, MessageBubble, MessageByline, MessageSubagentBadge, MessageBody, MessageNarration, useStreamAnnouncement, MessageList, WorkflowStepChip, MessageSources, ChatPage, ConversationEmpty, MessageAlert, ComposerDock, ComposerContainer, ScrollToBottom } from '../chunk-Y5ER2GAU.js';
78
78
  import { workspaceDocIdFromHref } from '../chunk-DDCMLHXF.js';
79
79
  import '../chunk-7XF5SFJ2.js';
80
80
  import { useMentionAutocomplete, stepStatesFromActivity, stepDocuments, splitDocRef, stepPhase, stepKindOf, STEP_KIND_ICONS, stepLevels, canAssign, assigneeName, runFieldsOf, initialRunInputs, workflowSteps, runThreadTitle, stepFields } from '../chunk-THNTNAYI.js';
@@ -86,21 +86,21 @@ import { useListKeyNav, MentionMenu } from '../chunk-GAGYAHYO.js';
86
86
  import { ConversationFilter } from '../chunk-6AMCMKTF.js';
87
87
  import { buildDeepLinkPath, buildDeepLinkUrl } from '../chunk-7Q5INDUS.js';
88
88
  import '../chunk-NPLYHR2E.js';
89
- import { useBlocksEnvironment, useOpenWorkflow, useRequestedSettingsSection, useIntentRequest, mailDraftRequest, useCalendarViewStore, conversationStartRequest } from '../chunk-BQQTLZBN.js';
90
- export { requestCalendarComposer, requestCalendarEvent, useCalendarViewStore } from '../chunk-BQQTLZBN.js';
89
+ import { useBlocksEnvironment, useOpenWorkflow, useRequestedSettingsSection, useIntentRequest, mailDraftRequest, useCalendarViewStore, conversationStartRequest } from '../chunk-GRT4EH76.js';
90
+ export { requestCalendarComposer, requestCalendarEvent, useCalendarViewStore } from '../chunk-GRT4EH76.js';
91
91
  import { ConfirmDialog } from '../chunk-U4HWVCRN.js';
92
92
  import { ModalHeader, ModalScaffold, ModalSection, ModalSectionTitle } from '../chunk-TX2ZICS7.js';
93
93
  import '../chunk-7F6CBP3Z.js';
94
94
  import '../chunk-VUNV25KB.js';
95
95
  import { QueryClient, useQueryClient, QueryClientProvider } from '@tanstack/react-query';
96
- import { IN_FLIGHT_DOCUMENT_STATUSES, useOfflineDocumentIds, useOpenViewerDocumentId, FINISHED_DOCUMENT_STATUSES, useMailPolicy, useProcessingTasks, resolveDocumentStatus, useArbi, useIsCreatingTag, HtmlIcon, useUpdateDocuments, useDeleteDocuments, useRenameFolder, useDownloadDocuments, useTags, useDocumentHostActions, useDocumentThumbnails, useArbiSessionState, selectDraft, useArbiSessionStore, useAudioRecorder, MicRecordingOverlay, useProcessingTask, useDocumentPendingSync, useWorkspaces, useWorkspaceUsers, useMessageTimer, useUserSettings, useDocuments, useAvailableModels, formatGbp, CitationRenderer, useArbiSession, buildMentionCandidates, useConversations, ASSISTANT_MENTION_LABEL, useConversationItems, useDeleteMessage, useArbiHost, transcriptSegmentOf, useConfig, useThinkingContent, useCreateFact, useCreateFacts, workflowStepOf, stripSpeakerPrefix, MessageArtifactCard, useConversationData, useBranchNavigation, useSkills, useBuiltinCommands, useDocumentsSupport, useConversationActivity, useMessageDetails, useWorkflows, getWorkspaceKind, resolveConfigModel, useRunConversation, useWorkspaceActivity, callLink, openCall, startDmCall, calendarQueryKeys, mailQueryKeys, arbiQueryKeys, invalidateConversationLists, isWorkspaceNotificationType, useNotifications, useDeleteNotifications, useMarkNotificationsRead, useCallsEnabled, serverNotificationBellEntry, documentDisplayName, useWorkspaceNotificationLevel, useFollowThread, useUploadSkillFiles, useSaveSkill, useSetSkillVisibility, useDeleteSkill, useSkillSource, useAgentModels, useMcpTools, useAgentConfig, useAgentWorkspaces, useCreateAgent, useSaveAgentConfig, useGrantAgentAccess, useRevokeAgentAccess, useGenerateAgentAvatar, useWorkflowRuns, useAgents, ArtifactCanvas, ConversationScope, useConversation, useTagKindSchema, useCreateTag, useSetTagValues, useUpdateTagKindSchema, useUpdateTag, useFacts, useDeleteTag, useExtractEntities, useEntityExtractionDocIds, useStartWorkspaceTransfer, useResumeWorkspaceTransfer, useCancelWorkspaceTransfer, useWorkspaceTransfer, useWorkspaceTransfers, useWorkspaceExportDownload, usePlanWorkspaceTransfer, isTransferResumable, isTransferFinished, useShellWorkspaces, ArbiBotHeadIcon, useProfile, useUpdateProfile, useRequestEmailChange, useConfirmEmailChange, useNameEditor, useAvatarCrop, useEmailChange, ImageCropModal, useIdentityVerification, usePasswordChange, usePasswordChangeForm, useNotificationPreferences, useSessions, useCurrentSessionId, useTerminateSession, useSignOut, useDeleteAccount, useDeleteAccountFlow, useMailClient, defaultMailAlias, useClaimNativeAlias, useMailOnline, useConnectMailAccount, useDisconnectMailAccount, useMailAccounts, useUpdateUserSettings, useConnectorVendorVisibility, useConnectorCatalog, useMyConnectors, useDisconnectConnector, useSlackConnection, useDisconnectSlack, isMailboxSyncVendor, isSharePointVendor, useWorkspaceTrash, useInvalidateStorage, useStorageActions, useStorageItems, useStorageItemNames, useStorageProjects, useStorageSnapshots, useUpdateWorkspace, useAddWorkspaceMembers, useRemoveWorkspaceMembers, useSetWorkspaceMemberRoles, toShellWorkspace, useEnableMailboxSync, useMailboxFolders, useEnableDriveSync, useDriveFolderChildren, connectorErrorStatus, useProjectInvoices, useProjects, useUpdateProjectFields, useUserUsageToday, useChargeWatch, useAddonQuote, STILL_WORKING, useProjectBillingPortal, useIsSlow, useProducts, useCreateProject, useDeleteProject, useRefreshProject, useContacts, useInviteContacts, useCanCreateProjects, useDeleteWorkspaces, PROJECT_CREATION_DENIED_REASON, useProjectUsage, useCreateContact, useUpdateContact, useLinkContact, useEntitlements, useImportContacts, entitlementRefusal, useDeleteContact, MAX_RETRIEVE_DOC_IDS, useSemanticSearch, useAssignDocTags, useMailUnlock, useMailFolders, useMailMessages, useMailDraftCompose, useMailMessage, useMailCache, MailOfflineUnavailableError, accountPath, useCalendarEvents, useCalendars, useCanHostCalls, useOpenCallMeetingChat, usePeople, useFetchCalendarEvent, useCalendarSettings, useCalendarOverlays, useCalendarOutbox, useCalendarAccounts, useSyncAccountsOnOpen, useResumeCalendarAccountConnect, useCreateEvent, useUpdateEvent, useDeleteEvent, useMoveEvent, useRespondToEvent, useCreateCalendar, useUpdateCalendar, useDeleteCalendar, useImportCalendar, useSaveCalendarSettings, useRefreshCalendar, useCalendarEvent, useMailAttachmentText, useCalendarEventByUid, getPublicBookingPage, bookPublicSlot, PublicBookingError, isZipFile, prepareUploadFiles, UPLOAD_MAX_FILE_SIZE, filesFromDrop, UPLOAD_ACCEPT, useUploadFromUrls, useUploadFiles, useUpdateDocTag, useRemoveDocTags, subscribeDocumentRows, useGenerateDocTags, useDocumentsLoading, selectViewingDocumentId, useRelatedDocuments, myChatId, useChatThread, useChatPost, useDeleteChatMessage, useMarkChatRead, setOpenChat, useAgentDmStatus, annotateThread, userDisplayName, DmComposer, TypingIndicator, useRenameChat, useAddChatMembers, useRemoveChatMember, useChats, useChatSummaries, useCreateGroupChat, useApplyChatModel, AUTO_CHAT_MODEL, formatGbpPerMillionTokens, useConfigSchema, useSaveConfig, useConversationPendingAuth, openAccessRequest, useRequestWorkspaceAccess, threadTabId, useUpdateConversation, useCanEditShared, useActOnStep, useCreateWork, useRunWorkflow, useStartTaskQuery, useCreateWorkflow, useUpdateWorkflow, usePlanWork, useWorkItems, TaskThreadPendingError, useMentionCandidates, useAgentRunControl, useConnectRunStream, useAnswerAgentQuestion, useConversationIsShared, useWorkspaceRole, buildPendingFirstTurn, useConversationTurn, useAskAgain, getOrphanedLastMessage, refuseChatWhenOffline, useThreadDocument, useDocumentAutoAdd, useAutoSendDraft, READ_ONLY_MEETING_TEXT, useAgentSession, useStartAgentSession, useCloseAgentSession, downloadRecoveryFile, LinkedInIcon, GoogleIcon, AppleIcon, useCurrentUser, isQueuedCalendarWrite, DateSeparator, ChatBubble, isAliasTakenError, nextAliasSuggestion, aliasTakenMessage, mailJson, connectorReturnTo, DmAvatar, ConversationList, GitHubIcon, getRelatedTotal, isDeploymentUserNotification, describeServerNotification, getWorkspaceActionText, getWorkspaceSentPhrase, BOX_SEAT_REFUSED, BOX_SEAT_REFUSED_TITLE, documentActivityPhrase, isSignatureNotificationType, inputRequestTitle, WORK_NOTIFICATION_LABELS, useConversationThreads, usePassageQuotes, useUpdateFact, useDeleteFact, useAccountClient, useDriveFolderDocCount, useChangeProjectPlan, useCancelProjectSubscription, usePreviewProjectPlanChange, useAddProjectAddonBlock, usePlanQuote, useCreateProjectCheckout, useInvalidateProjects, fileAttachment, useMailProjects, useSaveMailDraft, useSendMail, useMailDraftReplaced, useCalendarInvitations, useDecideCounter, useSearchContacts, usePublishCalendar, useCalendarShares, useShareCalendar, useUnshareCalendar, useSubscribeCalendar, useHolidayCountries, useAddHolidayCalendar, cancelPublicBooking, useInvalidateAfterTransfer, useConfigs, useSaveConfigField, useDeleteConfig, isFullConfig, AiAnswer, ArbiWebSocketProvider, signatureNotificationPhrase, signatureRequestMeta, getNotificationTypeMeta, useMailDraftEditor, useFreeBusy, useFindTime, useCalendarSupport, useStartCalendarAccountOAuth, useConnectOAuthAccount, useBookingPages, useDeleteBookingPage, useRooms, SHAREPOINT_VENDORS, useUpdateProjectNextPeriodAddons, useUpdateProjectAddonSettings, useSyncCalendarAccount, useUpdateCalendarAccount, useDisconnectCalendarAccount, ACCOUNT_VENDOR, useCalDavProfiles, useConnectCalDavAccount, useSaveBookingPage, useCreateRoom } from '@arbidocs/react';
96
+ import { useWorkspaces, ArbiBotHeadIcon, IN_FLIGHT_DOCUMENT_STATUSES, useOfflineDocumentIds, useOpenViewerDocumentId, FINISHED_DOCUMENT_STATUSES, useMailPolicy, useProcessingTasks, resolveDocumentStatus, useArbi, useIsCreatingTag, HtmlIcon, useUpdateDocuments, useDeleteDocuments, useRenameFolder, useDownloadDocuments, useTags, useDocumentHostActions, useDocumentThumbnails, useArbiSessionState, selectDraft, useArbiSessionStore, useAudioRecorder, MicRecordingOverlay, useArbiWsStatus, useArbiWsStore, useUserSettings, useProcessingTask, useDocumentPendingSync, useWorkspaceUsers, useMessageTimer, useDocuments, useAvailableModels, formatGbp, CitationRenderer, useArbiSession, buildMentionCandidates, useConversations, ASSISTANT_MENTION_LABEL, useConversationItems, useDeleteMessage, useArbiHost, transcriptSegmentOf, useConfig, useThinkingContent, useCreateFact, useCreateFacts, workflowStepOf, stripSpeakerPrefix, MessageArtifactCard, useConversationData, useBranchNavigation, useSkills, useBuiltinCommands, useDocumentsSupport, useConversationActivity, useMessageDetails, useWorkflows, getWorkspaceKind, resolveConfigModel, useRunConversation, useWorkspaceActivity, callLink, openCall, startDmCall, calendarQueryKeys, mailQueryKeys, arbiQueryKeys, invalidateConversationLists, isWorkspaceNotificationType, useNotifications, useDeleteNotifications, useMarkNotificationsRead, useCallsEnabled, serverNotificationBellEntry, documentDisplayName, useWorkspaceNotificationLevel, useFollowThread, useUploadSkillFiles, useSaveSkill, useSetSkillVisibility, useDeleteSkill, useSkillSource, useAgentModels, useMcpTools, useAgentConfig, useAgentWorkspaces, useCreateAgent, useSaveAgentConfig, useGrantAgentAccess, useRevokeAgentAccess, useGenerateAgentAvatar, useWorkflowRuns, useAgents, ArtifactCanvas, ConversationScope, useConversation, useTagKindSchema, useCreateTag, useSetTagValues, useUpdateTagKindSchema, useUpdateTag, useFacts, useDeleteTag, useExtractEntities, useEntityExtractionDocIds, useStartWorkspaceTransfer, useResumeWorkspaceTransfer, useCancelWorkspaceTransfer, useWorkspaceTransfer, useWorkspaceTransfers, useWorkspaceExportDownload, usePlanWorkspaceTransfer, isTransferResumable, isTransferFinished, useShellWorkspaces, useProfile, useUpdateProfile, useRequestEmailChange, useConfirmEmailChange, useNameEditor, useAvatarCrop, useEmailChange, ImageCropModal, useIdentityVerification, usePasswordChange, usePasswordChangeForm, useNotificationPreferences, useSessions, useCurrentSessionId, useTerminateSession, useSignOut, useDeleteAccount, useDeleteAccountFlow, useMailClient, defaultMailAlias, useClaimNativeAlias, useMailOnline, useConnectMailAccount, useDisconnectMailAccount, useMailAccounts, useUpdateUserSettings, useConnectorVendorVisibility, useConnectorCatalog, useMyConnectors, useDisconnectConnector, useSlackConnection, useDisconnectSlack, isMailboxSyncVendor, isSharePointVendor, useWorkspaceTrash, useInvalidateStorage, useStorageActions, useStorageItems, useStorageItemNames, useStorageProjects, useUserUsageToday, useStorageSnapshots, useUpdateWorkspace, useAddWorkspaceMembers, useRemoveWorkspaceMembers, useSetWorkspaceMemberRoles, toShellWorkspace, useEnableMailboxSync, useMailboxFolders, useEnableDriveSync, useDriveFolderChildren, connectorErrorStatus, useProjectInvoices, useProjects, useUpdateProjectFields, useChargeWatch, useAddonQuote, STILL_WORKING, useProjectBillingPortal, useProjectUsage, useIsSlow, useProducts, useCreateProject, useDeleteProject, useRefreshProject, useBoxRole, useContacts, useInviteContacts, useCanCreateProjects, useDeleteWorkspaces, PROJECT_CREATION_DENIED_REASON, useCreateContact, useUpdateContact, useLinkContact, useEntitlements, useImportContacts, entitlementRefusal, useDeleteContact, MAX_RETRIEVE_DOC_IDS, useSemanticSearch, useAssignDocTags, useMailUnlock, useMailFolders, useMailMessages, useMailDraftCompose, useMailMessage, useMailCache, MailOfflineUnavailableError, accountPath, useCalendarEvents, useCalendars, useCanHostCalls, useOpenCallMeetingChat, usePeople, useFetchCalendarEvent, useCalendarSettings, useCalendarOverlays, useCalendarOutbox, useCalendarAccounts, useSyncAccountsOnOpen, useResumeCalendarAccountConnect, useCreateEvent, useUpdateEvent, useDeleteEvent, useMoveEvent, useRespondToEvent, useCreateCalendar, useUpdateCalendar, useDeleteCalendar, useImportCalendar, useSaveCalendarSettings, useRefreshCalendar, useCalendarEvent, useMailAttachmentText, useCalendarEventByUid, getPublicBookingPage, bookPublicSlot, PublicBookingError, isZipFile, prepareUploadFiles, UPLOAD_MAX_FILE_SIZE, filesFromDrop, UPLOAD_ACCEPT, useUploadFromUrls, useUploadFiles, useUpdateDocTag, useRemoveDocTags, subscribeDocumentRows, useGenerateDocTags, useDocumentsLoading, selectViewingDocumentId, useRelatedDocuments, myChatId, useChatThread, useChatPost, useDeleteChatMessage, useMarkChatRead, setOpenChat, useAgentDmStatus, annotateThread, userDisplayName, DmComposer, TypingIndicator, useRenameChat, useAddChatMembers, useRemoveChatMember, useChats, useChatSummaries, useCreateGroupChat, useApplyChatModel, AUTO_CHAT_MODEL, formatGbpPerMillionTokens, useConfigSchema, useSaveConfig, useConversationPendingAuth, openAccessRequest, useRequestWorkspaceAccess, threadTabId, useUpdateConversation, useCanEditShared, useActOnStep, useCreateWork, useRunWorkflow, useStartTaskQuery, useCreateWorkflow, useUpdateWorkflow, usePlanWork, useWorkItems, TaskThreadPendingError, useMentionCandidates, useAgentRunControl, useConnectRunStream, useAnswerAgentQuestion, useConversationIsShared, useWorkspaceRole, buildPendingFirstTurn, useConversationTurn, useAskAgain, getOrphanedLastMessage, refuseChatWhenOffline, useThreadDocument, useDocumentAutoAdd, useAutoSendDraft, READ_ONLY_MEETING_TEXT, useAgentSession, useStartAgentSession, useCloseAgentSession, downloadRecoveryFile, LinkedInIcon, GoogleIcon, AppleIcon, useCurrentUser, isQueuedCalendarWrite, DateSeparator, ChatBubble, isAliasTakenError, nextAliasSuggestion, aliasTakenMessage, mailJson, connectorReturnTo, DmAvatar, ConversationList, GitHubIcon, getRelatedTotal, isDeploymentUserNotification, describeServerNotification, getWorkspaceActionText, getWorkspaceSentPhrase, BOX_SEAT_REFUSED, BOX_SEAT_REFUSED_TITLE, documentActivityPhrase, isSignatureNotificationType, inputRequestTitle, WORK_NOTIFICATION_LABELS, useConversationThreads, usePassageQuotes, useUpdateFact, useDeleteFact, useAccountClient, useDriveFolderDocCount, useChangeProjectPlan, useCancelProjectSubscription, usePreviewProjectPlanChange, useAddProjectAddonBlock, usePlanQuote, useCreateProjectCheckout, useInvalidateProjects, fileAttachment, useMailProjects, useSaveMailDraft, useSendMail, useMailDraftReplaced, useCalendarInvitations, useDecideCounter, useSearchContacts, usePublishCalendar, useCalendarShares, useShareCalendar, useUnshareCalendar, useSubscribeCalendar, useHolidayCountries, useAddHolidayCalendar, cancelPublicBooking, useInvalidateAfterTransfer, useConfigs, useSaveConfigField, useDeleteConfig, isFullConfig, AiAnswer, ArbiWebSocketProvider, signatureNotificationPhrase, signatureRequestMeta, getNotificationTypeMeta, useMailDraftEditor, useFreeBusy, useFindTime, useCalendarSupport, useStartCalendarAccountOAuth, useConnectOAuthAccount, useBookingPages, useDeleteBookingPage, useRooms, SHAREPOINT_VENDORS, useUpdateProjectNextPeriodAddons, useUpdateProjectAddonSettings, useSyncCalendarAccount, useUpdateCalendarAccount, useDisconnectCalendarAccount, ACCOUNT_VENDOR, useCalDavProfiles, useConnectCalDavAccount, useSaveBookingPage, useCreateRoom } from '@arbidocs/react';
97
97
  import { mergeAgentSteps, extractSubagentLanes, getCurrentStep, computeRunStats, formatTokens, isNearAiUsageBudget, getSubagentBranchRecord, buildCitationChunkData, topLevelAgentSteps, findMainSiblingLeaf, sliceToSubagentThread, getAgentStepLabel, subagentJobLabel, getStepDisplay, getStepTool, findLeafForTaskMessage, Arbi, FLAT_TAG_KINDS, getEligibleParentTags, canTagHaveParent, isFlatKind, TAG_NESTING_MAX_DEPTH, TAG_KINDS, formatFileSize, filterDocumentTags, isLabelTag, refusalReason, isPresenceTag, isAnnotationTag, flattenTagTree, tagsForScope, tagsOfGroup, chats, buildRetrievalFullContextTool, buildRetrievalChunkTool, getChildTags, tagUseCount, ArbiApiError, PRESENCE_KINDS, isEntityTag, DuplicateContactError, wouldCreateTagCycle, getTagDescendantIds } from '@arbidocs/sdk/browser';
98
98
  import { browserSessionStateStorage, parseCallFragment, validateRecoveryKeyFile, RECOVERY_KEY_ERRORS, parseRecoveryUrl, prewarmKeyPairs, decryptRecoveryKey, unlockIdentityWithPassword, createRecoveryUrl, bytesToBase64, initSodium } from '@arbidocs/client';
99
+ import React7, { memo, useMemo, lazy, useRef, useEffect, useCallback, useState, forwardRef, useLayoutEffect, useImperativeHandle, createContext, useContext, useSyncExternalStore, Suspense, Fragment as Fragment$1, useId } from 'react';
100
+ import { Users, MessageCircleMore, SquarePen, BookOpen, MessagesSquare, Pencil, Download, Mail, FolderInput, Trash2, Eye, Sparkles, Play, ArrowDownToLine, RefreshCw, Zap, AlertTriangle, FileX, SkipForward, Loader2, Clock, CheckCircle, ArrowUpRight, Send, Settings, Edit3, Copy, Link, Share2, Check, Milestone, RotateCcw, FileText, Network, ChevronRight, Bell, Activity, Info, UserCheck, Upload, Link2, Search, Plus, ArrowLeft, ExternalLink as ExternalLink$1, Tags, CheckCircle2, Monitor, UserCircle, KeyRound, Radio, LogOut, Wifi, Lock, HardDrive, User, HatGlasses, MessageSquare, PlugZap, Gauge, Cloud, XCircle, Building2, Printer, SquareStack, Table, Cake, X, UserRound, Star, Tag, Video, CalendarDays, MapPin, Globe, Calendar, Hash, File as File$1, FileType, FolderOpen, Fingerprint, Paperclip, CircleCheck, TriangleAlert, LoaderCircle, NotebookPen, Columns3, EyeOff, ArrowUp, ArrowDown, ZoomOut, Camera, FilePlus2, UserMinus, UserPlus, UsersRound, Code2, Infinity, ChevronDown, MoreHorizontal, Wrench, RotateCw, Square, BadgeCheck, Shield, ClipboardList, ArrowUpCircle, Contact, Scale, BookA, Quote, Inbox, CalendarX, CalendarCheck, Phone, Pause, Minimize2, Maximize2, Minus, CalendarSearch, DoorOpen, AlertCircle } from 'lucide-react';
101
+ import { isAgent, UserEntity, getUserInitials, getUserDisplayName, getUserAvatarColor, agentAvatarColors, Avatar, AvatarImage, AvatarFallback, cn, ShieldIcon, getWorkspaceColor, getFileTypeIcon, DocumentEntity, getDocumentTitle, formatFolderLabel, getEntityLabel, getEntityColor, VisibilityIcon, formatFriendlyDate, getDocumentSubject, Badge, getTagTypeIcon, getTagTypeLabel, VisibilityToggle, TagEntity, ThreadVisibilityIcon, Button, isImageDocument, Tooltip, TooltipTrigger, TooltipContent, Dialog, DialogContent, formatRelativeTime, ProviderIcon, EntityIcon, Label, Input, Textarea, DialogHeader, DialogTitle, DialogDescription, tagKindNouns, tagKindTitle, IconToggle, Switch, Checkbox, DialogTrigger, ProjectEntity, DialogFooter, getDocIcon, getDocumentNature, getDocumentAuthor, markdownToPlainText, formatDocDate, getDocumentDate, friendlyFileType, canonicalFolderPath, DebouncedInput, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, Slider, AgentBadge, PresenceLabel, TooltipProvider, EntityPill, Popover, PopoverAnchor, PopoverTrigger, PopoverContent, Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, ScrollArea, ArbiIcon, Tabs, TabsList, TabsTrigger, TabsContent, ARBI_MARK_SRC, VerifiedToggle, Progress } from '@arbidocs/react/ui';
99
102
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
100
- import { getFileTypeIcon, DocumentEntity, cn, getDocumentTitle, UserEntity, getUserAvatarColor, isAgent, agentAvatarColors, getUserDisplayName, getUserInitials, formatFolderLabel, getEntityLabel, getEntityColor, VisibilityIcon, formatFriendlyDate, getDocumentSubject, Badge, getTagTypeIcon, getTagTypeLabel, VisibilityToggle, TagEntity, ThreadVisibilityIcon, Button, isImageDocument, Avatar, AvatarImage, AvatarFallback, Tooltip, TooltipTrigger, TooltipContent, Dialog, DialogContent, formatRelativeTime, ProviderIcon, ShieldIcon, EntityIcon, Label, Input, Textarea, DialogHeader, DialogTitle, DialogDescription, tagKindNouns, tagKindTitle, IconToggle, Switch, Checkbox, DialogTrigger, ProjectEntity, DialogFooter, getDocIcon, getDocumentNature, getDocumentAuthor, markdownToPlainText, formatDocDate, getDocumentDate, friendlyFileType, canonicalFolderPath, DebouncedInput, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, Slider, AgentBadge, PresenceLabel, TooltipProvider, Popover, PopoverAnchor, PopoverTrigger, PopoverContent, Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, ScrollArea, ArbiIcon, EntityPill, Tabs, TabsList, TabsTrigger, TabsContent, ARBI_MARK_SRC, VerifiedToggle, Progress } from '@arbidocs/react/ui';
101
- import React7, { lazy, memo, useMemo, useRef, useEffect, useCallback, useState, forwardRef, useLayoutEffect, useImperativeHandle, createContext, useContext, useSyncExternalStore, Suspense, Fragment as Fragment$1, useId } from 'react';
102
103
  import { hasMessageBody, notify, linkMentions, useNotify, sharedSearchSession, takePendingSearch, useTurnDocumentId, useOpenDocumentId, useRegisterOpenDocument } from '@arbidocs/react/shell';
103
- import { SquarePen, BookOpen, MessagesSquare, Pencil, Download, Mail, FolderInput, Trash2, Eye, Sparkles, Play, ArrowDownToLine, RefreshCw, Zap, AlertTriangle, FileX, SkipForward, Loader2, Clock, CheckCircle, ArrowUpRight, Send, Settings, Edit3, Copy, Link, Share2, Check, Milestone, RotateCcw, FileText, Network, ChevronRight, Bell, Activity, Info, UserCheck, Upload, Link2, Search, Plus, ArrowLeft, ExternalLink as ExternalLink$1, Tags, CheckCircle2, Monitor, UserCircle, KeyRound, Radio, LogOut, Wifi, Lock, HardDrive, User, HatGlasses, MessageSquare, PlugZap, SquareStack, Table, Cake, X, UserRound, Star, Tag, Video, Printer, CalendarDays, MapPin, Globe, Calendar, Hash, File as File$1, FileType, FolderOpen, Fingerprint, Users, Paperclip, CircleCheck, TriangleAlert, LoaderCircle, NotebookPen, Columns3, EyeOff, ArrowUp, ArrowDown, ZoomOut, Camera, FilePlus2, UserMinus, UserPlus, UsersRound, Code2, Infinity, ChevronDown, MoreHorizontal, Wrench, RotateCw, Square, BadgeCheck, Shield, ClipboardList, ArrowUpCircle, Building2, Contact, Scale, BookA, Quote, Inbox, CalendarX, CalendarCheck, Phone, Pause, Minimize2, Maximize2, Minus, CalendarSearch, DoorOpen, AlertCircle } from 'lucide-react';
104
104
  import { SIGNED_LOCKED_REASON, isSignedVersion, currentHasMarkup, fetchMarkupPdf, downloadBlob, useIsOnline, DocumentToolsProvider, useOptionalDocumentTools, fetchDocumentPdf, useSignatureVerification, SignatureVerificationError } from '@arbidocs/react/document-tools';
105
105
  import { artifactKindFromFileName, viewerTabForArtifactMode, useStreamedArtifact } from '@arbidocs/react/artifacts';
106
106
  import { useDraggable, useDroppable, useSensors, useSensor, MouseSensor, TouchSensor, pointerWithin, rectIntersection, DndContext, DragOverlay } from '@dnd-kit/core';
@@ -109,6 +109,165 @@ import { createPortal } from 'react-dom';
109
109
  import { useVirtualizer } from '@tanstack/react-virtual';
110
110
  import { persist, createJSONStorage } from 'zustand/middleware';
111
111
 
112
+ function useDisplayStatus(user, isMe, showPresence) {
113
+ const wsStatus = useArbiWsStatus();
114
+ const presence = useArbiWsStore(
115
+ (s) => showPresence && user ? s.presence[user.external_id] : void 0
116
+ );
117
+ const { data: settings } = useUserSettings();
118
+ if (!showPresence) return void 0;
119
+ if (isMe) {
120
+ if (wsStatus === "connected") return settings?.hide_online_status ? "hidden" : "connected";
121
+ return wsStatus === "reconnecting" ? "connecting" : wsStatus;
122
+ }
123
+ return presence === "online" ? "connected" : "hidden";
124
+ }
125
+ var ConnectedUserEntity = memo(function ConnectedUserEntity2({
126
+ user,
127
+ size = "md",
128
+ variant = "pill",
129
+ className,
130
+ showTooltip = true,
131
+ showPresence = true,
132
+ interactive = true,
133
+ hasUnreadMessages = false,
134
+ selfLabel
135
+ }) {
136
+ const { userId: currentUserId } = useConnectedWorkspace();
137
+ const { openDirectChat, openSettings } = useBlocksEnvironment();
138
+ const isMe = !!(user && currentUserId && user.external_id === currentUserId);
139
+ const displayStatus = useDisplayStatus(user, isMe, showPresence);
140
+ const { data: workspaces = [] } = useWorkspaces();
141
+ const sharedWorkspaces = useMemo(() => {
142
+ if (!user || isMe) return [];
143
+ return workspaces.filter(
144
+ (ws) => ws.users?.some((member) => member.user.external_id === user.external_id)
145
+ );
146
+ }, [workspaces, user, isMe]);
147
+ const agentOwner = useMemo(() => {
148
+ if (!user || !isAgent(user) || !user.parent_ext_id) return null;
149
+ for (const ws of workspaces) {
150
+ const found = ws.users?.find((member) => member.user.external_id === user.parent_ext_id);
151
+ if (found) return found.user;
152
+ }
153
+ return null;
154
+ }, [user, workspaces]);
155
+ if (!user) return /* @__PURE__ */ jsx(UserEntity, { empty: true, size, className });
156
+ const initials2 = getUserInitials(user);
157
+ const userIsAgent = isAgent(user);
158
+ const fullName = getUserDisplayName(user);
159
+ const colorClass = getUserAvatarColor(user.external_id);
160
+ const agentStyle = userIsAgent ? agentAvatarColors(colorClass) : void 0;
161
+ const canChat = !isMe && !!openDirectChat;
162
+ const onClick = (e) => {
163
+ e.stopPropagation();
164
+ if (isMe) openSettings();
165
+ else openDirectChat?.(user.external_id);
166
+ };
167
+ const tooltipContent = /* @__PURE__ */ jsxs(EntityTooltip, { children: [
168
+ /* @__PURE__ */ jsx(
169
+ EntityTooltipHeader,
170
+ {
171
+ lead: /* @__PURE__ */ jsxs(
172
+ Avatar,
173
+ {
174
+ className: cn(
175
+ "h-8 w-8",
176
+ userIsAgent ? "rounded-full border-2 border-dashed" : "border border-white"
177
+ ),
178
+ style: agentStyle,
179
+ children: [
180
+ user.picture && /* @__PURE__ */ jsx(AvatarImage, { src: user.picture, alt: initials2 }),
181
+ /* @__PURE__ */ jsx(
182
+ AvatarFallback,
183
+ {
184
+ className: cn(
185
+ "text-xs font-semibold leading-none",
186
+ userIsAgent ? "rounded-full bg-transparent" : `text-white ${colorClass}`
187
+ ),
188
+ style: agentStyle,
189
+ children: initials2
190
+ }
191
+ )
192
+ ]
193
+ }
194
+ ),
195
+ title: fullName,
196
+ titleAccessory: userIsAgent ? /* @__PURE__ */ jsx(ArbiBotHeadIcon, { className: "w-3.5 h-3.5 text-primary" }) : void 0,
197
+ subtitle: user.email
198
+ }
199
+ ),
200
+ userIsAgent && agentOwner && /* @__PURE__ */ jsx(EntityTooltipSection, { children: /* @__PURE__ */ jsxs(EntityTooltipHint, { icon: /* @__PURE__ */ jsx(ArbiBotHeadIcon, { className: "w-3.5 h-3.5 flex-shrink-0" }), children: [
201
+ "Agent of",
202
+ " ",
203
+ /* @__PURE__ */ jsx("span", { className: "font-medium text-foreground", children: getUserDisplayName(agentOwner) })
204
+ ] }) }),
205
+ sharedWorkspaces.length > 0 && /* @__PURE__ */ jsx(
206
+ EntityTooltipSection,
207
+ {
208
+ icon: /* @__PURE__ */ jsx(Users, { className: "w-3.5 h-3.5 flex-shrink-0" }),
209
+ heading: "Shared Workspaces",
210
+ children: /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap gap-1 pl-5", children: [
211
+ sharedWorkspaces.slice(0, 3).map((ws) => /* @__PURE__ */ jsxs(
212
+ "div",
213
+ {
214
+ className: "inline-flex items-center gap-1 px-1.5 py-0.5 bg-muted rounded text-xs",
215
+ children: [
216
+ /* @__PURE__ */ jsx(
217
+ ShieldIcon,
218
+ {
219
+ char: ws.name.charAt(0),
220
+ workspaceColor: getWorkspaceColor(ws.external_id),
221
+ size: 14
222
+ }
223
+ ),
224
+ /* @__PURE__ */ jsx("span", { className: "truncate max-w-[80px]", children: ws.name })
225
+ ]
226
+ },
227
+ ws.external_id
228
+ )),
229
+ sharedWorkspaces.length > 3 && /* @__PURE__ */ jsxs("span", { className: "text-xs text-muted-foreground", children: [
230
+ "+",
231
+ sharedWorkspaces.length - 3,
232
+ " more"
233
+ ] })
234
+ ] })
235
+ }
236
+ ),
237
+ interactive && variant === "pill" && canChat && /* @__PURE__ */ jsx(EntityTooltipHint, { isRuled: true, icon: /* @__PURE__ */ jsx(MessageCircleMore, { className: "w-3 h-3" }), children: "Click to send message" })
238
+ ] });
239
+ return /* @__PURE__ */ jsx(
240
+ UserEntity,
241
+ {
242
+ size,
243
+ variant,
244
+ className,
245
+ showTooltip,
246
+ interactive: interactive && (isMe || canChat),
247
+ hasUnreadMessages,
248
+ initials: initials2,
249
+ displayName: isMe ? selfLabel ?? "You" : fullName,
250
+ picture: user.picture,
251
+ colorClass,
252
+ isAgent: userIsAgent,
253
+ isVerified: user.is_identity_verified === true,
254
+ agentStyle,
255
+ isMe,
256
+ displayStatus,
257
+ onClick,
258
+ tooltipContent
259
+ }
260
+ );
261
+ });
262
+ var renderConnectedUser = (user, { tooltip, variant = "icon" }) => /* @__PURE__ */ jsx(
263
+ ConnectedUserEntity,
264
+ {
265
+ user,
266
+ size: variant === "pill" ? "sm" : "xs",
267
+ variant,
268
+ showTooltip: tooltip
269
+ }
270
+ );
112
271
  function ConnectionBoundWebSocket({ children }) {
113
272
  const { status } = useConnection();
114
273
  return /* @__PURE__ */ jsx(ArbiWebSocketProvider, { enabled: status === "authenticated", children });
@@ -126,7 +285,11 @@ function defaultHost(config, { queryClient } = {}) {
126
285
  function DefaultHostConnection({ children }) {
127
286
  return /* @__PURE__ */ jsx(QueryClientProvider, { client, children: /* @__PURE__ */ jsx(ConnectionProvider, { config, children: /* @__PURE__ */ jsx(ConnectionBoundWebSocket, { children }) }) });
128
287
  }
129
- return { arbi, connection: { Provider: DefaultHostConnection } };
288
+ return {
289
+ arbi,
290
+ connection: { Provider: DefaultHostConnection },
291
+ documents: { renderUser: renderConnectedUser }
292
+ };
130
293
  }
131
294
  function ConnectedTaskAccessRequest({ conversationId }) {
132
295
  const { workspaceId } = useConnection();
@@ -8029,6 +8192,32 @@ function ConnectedSsoDisconnect() {
8029
8192
  )
8030
8193
  ] });
8031
8194
  }
8195
+ function ConnectedBoxPortalSection() {
8196
+ const { isBoxAdmin } = useBoxRole();
8197
+ const { licenceUrl } = useBlocksEnvironment().runtimeConfig;
8198
+ if (!isBoxAdmin || !licenceUrl) return null;
8199
+ return /* @__PURE__ */ jsx(SettingsSection, { icon: /* @__PURE__ */ jsx(Building2, {}), title: "Box", testId: "box-portal-section", children: /* @__PURE__ */ jsx(SettingsCard, { children: /* @__PURE__ */ jsx(
8200
+ SettingsRow,
8201
+ {
8202
+ label: "Manage your Box in the ARBI portal",
8203
+ description: "Users, storage, AI usage and billing.",
8204
+ children: /* @__PURE__ */ jsxs(
8205
+ "a",
8206
+ {
8207
+ href: licenceUrl,
8208
+ target: "_blank",
8209
+ rel: "noopener noreferrer",
8210
+ className: "inline-flex shrink-0 items-center gap-1.5 self-start rounded-md border border-input bg-background px-3 py-1.5 text-sm font-medium text-foreground hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-coarse:min-h-11",
8211
+ "data-testid": "box-portal-link",
8212
+ children: [
8213
+ "Open portal",
8214
+ /* @__PURE__ */ jsx(ExternalLink$1, { className: "size-3.5", "aria-hidden": true })
8215
+ ]
8216
+ }
8217
+ )
8218
+ }
8219
+ ) }) });
8220
+ }
8032
8221
  function ServerConnectionRow({ onRefresh, ...status }) {
8033
8222
  const { runtimeConfig } = useBlocksEnvironment();
8034
8223
  const [isRefreshing, setIsRefreshing] = useState(false);
@@ -8067,6 +8256,7 @@ function ConnectedAccountSettings({
8067
8256
  const [logoutOpen, setLogoutOpen] = useState(false);
8068
8257
  return /* @__PURE__ */ jsxs(SettingsPanel, { className: "max-w-2xl", children: [
8069
8258
  /* @__PURE__ */ jsx(ConnectedProfileCard, { avatarClassName, nameBadge: profileBadge }),
8259
+ /* @__PURE__ */ jsx(ConnectedBoxPortalSection, {}),
8070
8260
  afterProfile,
8071
8261
  /* @__PURE__ */ jsxs(SettingsDisclosure, { title: "More", testId: "account-more-settings", children: [
8072
8262
  /* @__PURE__ */ jsx(ConnectedSsoDisconnect, {}),
@@ -9656,6 +9846,101 @@ function ConnectedSettingsPage({
9656
9846
  }
9657
9847
  );
9658
9848
  }
9849
+ function usageSettingsSection({
9850
+ icon: icon2 = /* @__PURE__ */ jsx(Gauge, { className: "size-4" })
9851
+ } = {}) {
9852
+ return {
9853
+ id: "usage",
9854
+ label: "Usage",
9855
+ icon: /* @__PURE__ */ jsx(Gauge, { className: "size-6" }),
9856
+ render: () => /* @__PURE__ */ jsx(UsageSettings, { icon: icon2 })
9857
+ };
9858
+ }
9859
+ function UsageSettings({ icon: icon2 }) {
9860
+ const usage = useUserUsageToday();
9861
+ return /* @__PURE__ */ jsx(
9862
+ SettingsSection,
9863
+ {
9864
+ icon: icon2,
9865
+ title: "Usage",
9866
+ description: "AI usage today, in \xA3 (ex VAT).",
9867
+ testId: "settings-usage",
9868
+ children: /* @__PURE__ */ jsx(
9869
+ UsageSummary,
9870
+ {
9871
+ stats: [
9872
+ {
9873
+ key: "ai-usage",
9874
+ label: "AI usage today",
9875
+ value: /* @__PURE__ */ jsx("span", { "data-testid": "settings-usage-gbp", children: formatGbp(usage.data?.used_gbp) })
9876
+ }
9877
+ ]
9878
+ }
9879
+ )
9880
+ }
9881
+ );
9882
+ }
9883
+ function connectionSettingsSection({
9884
+ label = "Connection",
9885
+ rows,
9886
+ icon: icon2 = /* @__PURE__ */ jsx(Cloud, { className: "size-4" })
9887
+ } = {}) {
9888
+ return {
9889
+ id: "connection",
9890
+ label,
9891
+ icon: /* @__PURE__ */ jsx(Cloud, { className: "size-6" }),
9892
+ render: () => /* @__PURE__ */ jsx(ConnectionSettings, { title: label, rows, icon: icon2 })
9893
+ };
9894
+ }
9895
+ function ConnectionSettings({
9896
+ title,
9897
+ rows,
9898
+ icon: icon2
9899
+ }) {
9900
+ const connection = useOptionalConnection();
9901
+ if (!connection) return null;
9902
+ const { apiUrl, workspaceId, status, user, mode } = connection;
9903
+ const connected = status === "authenticated" || status === "demo";
9904
+ return /* @__PURE__ */ jsxs(SettingsSection, { icon: icon2, title, testId: "settings-connection", children: [
9905
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
9906
+ connected ? /* @__PURE__ */ jsxs(Badge, { variant: "accent", children: [
9907
+ /* @__PURE__ */ jsx(CheckCircle2, { className: "mr-1 size-3" }),
9908
+ " Connected"
9909
+ ] }) : /* @__PURE__ */ jsxs(Badge, { variant: "destructive", children: [
9910
+ /* @__PURE__ */ jsx(XCircle, { className: "mr-1 size-3" }),
9911
+ " Disconnected"
9912
+ ] }),
9913
+ /* @__PURE__ */ jsx(Badge, { variant: "secondary", children: mode === "live" ? "Live session" : mode })
9914
+ ] }),
9915
+ /* @__PURE__ */ jsx(SettingsRow, { label: "Backend URL", testId: "settings-connection-url", children: /* @__PURE__ */ jsx("span", { className: "font-mono text-xs", children: apiUrl }) }),
9916
+ /* @__PURE__ */ jsx(SettingsRow, { label: "Signed in as", testId: "settings-connection-user", children: /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: user?.email ?? "\u2014" }) }),
9917
+ /* @__PURE__ */ jsx(SettingsRow, { label: "Active workspace", testId: "settings-connection-workspace", children: /* @__PURE__ */ jsx("span", { className: "font-mono text-xs", children: workspaceId ?? "\u2014" }) }),
9918
+ rows
9919
+ ] });
9920
+ }
9921
+ function organisationSettingsSection({
9922
+ label = "Organisation",
9923
+ title = label,
9924
+ description,
9925
+ icon: icon2 = /* @__PURE__ */ jsx(Building2, { className: "size-4" }),
9926
+ rows
9927
+ }) {
9928
+ return {
9929
+ id: "organisation",
9930
+ label,
9931
+ icon: /* @__PURE__ */ jsx(Building2, { className: "size-6" }),
9932
+ render: () => /* @__PURE__ */ jsx(
9933
+ SettingsSection,
9934
+ {
9935
+ icon: icon2,
9936
+ title,
9937
+ description,
9938
+ testId: "settings-organisation",
9939
+ children: rows.map((row2) => /* @__PURE__ */ jsx(SettingsRow, { label: row2.label, children: /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: row2.value }) }, row2.label))
9940
+ }
9941
+ )
9942
+ };
9943
+ }
9659
9944
  function ConnectedProjectStorage({ projectExtId }) {
9660
9945
  const { data, isLoading } = useStorageProjects("mine", projectExtId);
9661
9946
  const project = data?.projects.find((p) => p.project_ext_id === projectExtId);
@@ -11030,6 +11315,46 @@ function ConnectedDriveSyncDialog({
11030
11315
  }
11031
11316
  );
11032
11317
  }
11318
+ function ConnectedSharePointAdminConsentPage({
11319
+ result: givenResult
11320
+ } = {}) {
11321
+ const queryResult = useMemo(() => new URLSearchParams(window.location.search).get("result"), []);
11322
+ const result = givenResult === void 0 ? queryResult : givenResult;
11323
+ const { apiBaseUrl } = useBlocksEnvironment().runtimeConfig;
11324
+ const consentUrl = `${apiBaseUrl}/v1/connectors/microsoft_sharepoint/admin-consent`;
11325
+ return /* @__PURE__ */ jsx(ConsentPage, { children: /* @__PURE__ */ jsxs(ConsentCard, { size: "md", children: [
11326
+ /* @__PURE__ */ jsx(
11327
+ ConsentHeader,
11328
+ {
11329
+ icon: /* @__PURE__ */ jsx(VendorLogo, { vendorKey: "microsoft_sharepoint", product: "sharepoint" }),
11330
+ title: "Approve ARBI for SharePoint access",
11331
+ children: "A member of your organization uses ARBI and wants to sync documents from SharePoint. Your Microsoft 365 organization requires an administrator to approve this once for the whole organization."
11332
+ }
11333
+ ),
11334
+ result === "granted" && /* @__PURE__ */ jsx(ConsentNotice, { tone: "success", title: "Access approved \u2014 you\u2019re all set.", className: "mt-4", children: "People in your organization can now connect SharePoint from their own ARBI account. Nothing is synced until each user connects and chooses what to import." }),
11335
+ result === "declined" && /* @__PURE__ */ jsx(ConsentNotice, { tone: "warning", title: "The approval didn\u2019t complete.", className: "mt-4", children: "The request was declined or canceled on the Microsoft screen. You can try again below \u2014 you must sign in with a Microsoft 365 administrator account of your organization." }),
11336
+ /* @__PURE__ */ jsxs(ConsentSection, { title: "What you are approving", children: [
11337
+ /* @__PURE__ */ jsx(
11338
+ ConsentBulletList,
11339
+ {
11340
+ items: [
11341
+ /* @__PURE__ */ jsxs(Fragment, { children: [
11342
+ /* @__PURE__ */ jsx(ConsentStrong, { children: "Read SharePoint sites and files" }),
11343
+ " \u2014 lets each user who connects their own account import documents from sites they already have access to. ARBI never gets more access than the user has."
11344
+ ] }),
11345
+ /* @__PURE__ */ jsxs(Fragment, { children: [
11346
+ /* @__PURE__ */ jsx(ConsentStrong, { children: "Sign users in and keep access" }),
11347
+ " \u2014 standard sign-in (openid, profile, email) and offline access so syncs keep working between sessions."
11348
+ ] })
11349
+ ]
11350
+ }
11351
+ ),
11352
+ /* @__PURE__ */ jsx(ConsentText, { children: "Approving does not sync anything by itself and grants ARBI no standing access to your tenant. Each user still connects their own Microsoft account, and their tokens are end-to-end encrypted so ARBI\u2019s servers cannot read them at rest." }),
11353
+ /* @__PURE__ */ jsx(Button, { asChild: true, className: "w-full pointer-coarse:h-11", children: /* @__PURE__ */ jsx("a", { href: consentUrl, children: "Review and approve in Microsoft" }) }),
11354
+ /* @__PURE__ */ jsx(ConsentText, { variant: "footnote", children: "You\u2019ll sign in at login.microsoftonline.com and see Microsoft\u2019s own summary of these permissions before anything is granted." })
11355
+ ] })
11356
+ ] }) });
11357
+ }
11033
11358
  var focus = null;
11034
11359
  var listeners2 = /* @__PURE__ */ new Set();
11035
11360
  function requestProjectBillingFocus(next) {
@@ -13170,8 +13495,11 @@ function ProjectBilling({
13170
13495
  var BREAKDOWN_LABELS = {
13171
13496
  user: "User",
13172
13497
  workspace: "Workspace",
13173
- model: "Model Tier"
13498
+ model: "Model Tier",
13499
+ feature: "Feature"
13174
13500
  };
13501
+ var DEFAULT_BREAKDOWNS = ["user", "workspace", "model"];
13502
+ var featureLabel = (key) => key.replace(/[_-]+/g, " ").replace(/^\w/, (c) => c.toUpperCase());
13175
13503
  var MODEL_GROUP_LABELS = {
13176
13504
  "arbi-transcribe-diarized": "Transcription (diarized)",
13177
13505
  "arbi-transcribe": "Transcription"
@@ -13235,10 +13563,11 @@ function buildSeriesData(usage, breakdown, resolveName) {
13235
13563
  function ProjectUsageContent({
13236
13564
  projectExtId,
13237
13565
  projectName,
13238
- aiUsageLimit
13566
+ aiUsageLimit,
13567
+ breakdowns = DEFAULT_BREAKDOWNS
13239
13568
  }) {
13240
13569
  const [period, setPeriod] = useState("current");
13241
- const [breakdown, setBreakdown] = useState("user");
13570
+ const [breakdown, setBreakdown] = useState(breakdowns[0] ?? "user");
13242
13571
  const [metric, setMetric] = useState("gbp");
13243
13572
  const monthsBack = period === "previous" ? 1 : 0;
13244
13573
  const { data: usage, isLoading, error } = useProjectUsage(projectExtId, monthsBack);
@@ -13266,9 +13595,9 @@ function ProjectUsageContent({
13266
13595
  );
13267
13596
  const breakdownItems = useMemo(() => {
13268
13597
  if (!effectiveUsage) return [];
13269
- const sourceMap = breakdown === "model" ? effectiveUsage.model_groups : breakdown === "workspace" ? effectiveUsage.by_workspace : effectiveUsage.by_user;
13598
+ const sourceMap = breakdown === "model" ? effectiveUsage.model_groups : breakdown === "workspace" ? effectiveUsage.by_workspace : breakdown === "feature" ? effectiveUsage.by_feature : effectiveUsage.by_user;
13270
13599
  return Object.entries(sourceMap).map(([key, data]) => ({
13271
- label: resolveName(key),
13600
+ label: breakdown === "feature" ? featureLabel(key) : resolveName(key),
13272
13601
  spend: data.spend,
13273
13602
  total_tokens: "total_tokens" in data ? data.total_tokens : 0,
13274
13603
  requests: "requests" in data ? data.requests : 0
@@ -13367,7 +13696,7 @@ function ProjectUsageContent({
13367
13696
  size: "fill",
13368
13697
  value: breakdown,
13369
13698
  onChange: setBreakdown,
13370
- options: Object.keys(BREAKDOWN_LABELS).map((key) => ({
13699
+ options: breakdowns.map((key) => ({
13371
13700
  value: key,
13372
13701
  label: BREAKDOWN_LABELS[key]
13373
13702
  }))
@@ -13794,8 +14123,13 @@ function useAutoRefreshPendingProjects() {
13794
14123
  var QUOTA_EXCEEDED_MESSAGE = "This project's AI usage for this month is used up.";
13795
14124
  var BOX_MEMBER_QUOTA_MESSAGE = "AI usage for this month is used up. Ask your Box admin to add more.";
13796
14125
  var BOX_ADMIN_QUOTA_MESSAGE = "AI usage for this month is used up. Add more in the ARBI portal.";
13797
- function ConnectedQuotaDialog({ info, onClose: close, box }) {
13798
- const { openProject } = useBlocksEnvironment();
14126
+ function ConnectedQuotaDialog({ info, onClose: close }) {
14127
+ const { openProject, runtimeConfig } = useBlocksEnvironment();
14128
+ const role = useBoxRole({ enabled: info !== null });
14129
+ const box = role.isBox ? {
14130
+ isAdmin: role.isBoxAdmin && !!runtimeConfig.licenceUrl,
14131
+ portalUrl: runtimeConfig.licenceUrl
14132
+ } : void 0;
13799
14133
  const { data: projects, refetch: refetchProjects } = useProjects();
13800
14134
  const [addAiUsageFor, setAddAiUsageFor] = useState(null);
13801
14135
  const open = info !== null;
@@ -27947,7 +28281,7 @@ function MeetingAvatar() {
27947
28281
  );
27948
28282
  }
27949
28283
  var isGroupChat = (chat) => !!chat && chat.kind !== "direct";
27950
- var isAgent5 = (user) => chats.isAgentExtId(user.external_id);
28284
+ var isAgent6 = (user) => chats.isAgentExtId(user.external_id);
27951
28285
  function ConnectedMessenger({
27952
28286
  activeId,
27953
28287
  onOpen,
@@ -27984,7 +28318,7 @@ function ConnectedMessenger({
27984
28318
  // Presence rides on the row's avatar.
27985
28319
  avatar(c.peer)
27986
28320
  ),
27987
- badge: !isGroupChat(c.chat) && isAgent5(c.peer) ? /* @__PURE__ */ jsx(AgentBadge, {}) : void 0
28321
+ badge: !isGroupChat(c.chat) && isAgent6(c.peer) ? /* @__PURE__ */ jsx(AgentBadge, {}) : void 0
27988
28322
  }));
27989
28323
  const all = [...decorated, ...extraRows];
27990
28324
  if (!filters?.size) return all;
@@ -27992,7 +28326,7 @@ function ConnectedMessenger({
27992
28326
  unread: (row2) => row2.unreadCount > 0,
27993
28327
  // A person is muted, not a group that happens to list them first.
27994
28328
  muted: (row2) => !isGroupChat(row2.chat) && mutedUsers.has(row2.peer.external_id),
27995
- agents: (row2) => !isGroupChat(row2.chat) && isAgent5(row2.peer),
28329
+ agents: (row2) => !isGroupChat(row2.chat) && isAgent6(row2.peer),
27996
28330
  meetings: (row2) => row2.chat?.kind === "meeting",
27997
28331
  ...rowFilters
27998
28332
  };
@@ -28117,12 +28451,12 @@ function ConnectedMessenger({
28117
28451
  {
28118
28452
  avatar: activePeer ? avatar(activePeer) : void 0,
28119
28453
  name: activePeer ? userDisplayName(activePeer) : "Conversation",
28120
- badge: activePeer && isAgent5(activePeer) ? /* @__PURE__ */ jsx(AgentBadge, {}) : void 0,
28454
+ badge: activePeer && isAgent6(activePeer) ? /* @__PURE__ */ jsx(AgentBadge, {}) : void 0,
28121
28455
  presence: presence ? /* @__PURE__ */ jsx(PresenceLabel, { status: presence }) : void 0,
28122
28456
  email: activePeer?.email,
28123
28457
  menu: activePeer ? directActions?.(activePeer, {
28124
28458
  // A personal agent never carries over into a group, and a self-chat has no peer.
28125
- addPeople: isAgent5(activePeer) || activeIsSelf || !PeoplePicker ? void 0 : () => setPicker({ mode: "from-direct", fixed: [activePeer] })
28459
+ addPeople: isAgent6(activePeer) || activeIsSelf || !PeoplePicker ? void 0 : () => setPicker({ mode: "from-direct", fixed: [activePeer] })
28126
28460
  }) : void 0
28127
28461
  }
28128
28462
  ),
@@ -29444,6 +29778,158 @@ function ConnectedRequestWorkspaceAccess({
29444
29778
  ] })
29445
29779
  ] });
29446
29780
  }
29781
+ function ConnectedWorkspaceEntity({
29782
+ workspace,
29783
+ size = 24,
29784
+ isSelected = false,
29785
+ className = "",
29786
+ variant = "pill",
29787
+ pillSize = "sm",
29788
+ interactive = true,
29789
+ showTooltip = true,
29790
+ labelMaxWidth = "max-w-[10ch]",
29791
+ ...shieldProps
29792
+ }) {
29793
+ const name = workspace.name;
29794
+ const workspaceColor = workspaceKindColor(getWorkspaceKind(workspace));
29795
+ const shield = /* @__PURE__ */ jsx(
29796
+ ShieldIcon,
29797
+ {
29798
+ char: name.charAt(0),
29799
+ workspaceColor,
29800
+ size: variant === "pill" ? pillSize === "base" ? 28 : 24 : size,
29801
+ isSelected,
29802
+ className: variant === "icon" ? className : "",
29803
+ ...shieldProps
29804
+ }
29805
+ );
29806
+ const documentCount2 = (workspace.shared_document_count ?? 0) + (workspace.private_document_count ?? 0);
29807
+ const conversationCount = (workspace.shared_conversation_count ?? 0) + (workspace.private_conversation_count ?? 0);
29808
+ const tooltipContent = /* @__PURE__ */ jsxs(EntityTooltip, { children: [
29809
+ /* @__PURE__ */ jsx(
29810
+ EntityTooltipHeader,
29811
+ {
29812
+ lead: /* @__PURE__ */ jsx(
29813
+ ShieldIcon,
29814
+ {
29815
+ char: name.charAt(0),
29816
+ workspaceColor,
29817
+ size: 24,
29818
+ isSelected: false
29819
+ }
29820
+ ),
29821
+ title: name,
29822
+ subtitle: workspace.description,
29823
+ trailing: /* @__PURE__ */ jsx(WorkspaceTypeBadge, { workspace, size: "sm" })
29824
+ }
29825
+ ),
29826
+ /* @__PURE__ */ jsx(
29827
+ EntityTooltipStats,
29828
+ {
29829
+ stats: [
29830
+ {
29831
+ key: "documents",
29832
+ icon: /* @__PURE__ */ jsx(EntityIcon, { entityType: "DOCUMENT", className: "h-3.5 w-3.5 text-muted-foreground" }),
29833
+ label: getEntityLabel("DOCUMENT", "PLURAL"),
29834
+ value: documentCount2
29835
+ },
29836
+ {
29837
+ key: "conversations",
29838
+ icon: /* @__PURE__ */ jsx(EntityIcon, { entityType: "CONVERSATION", className: "h-3.5 w-3.5 text-muted-foreground" }),
29839
+ label: getEntityLabel("CONVERSATION", "PLURAL"),
29840
+ value: conversationCount
29841
+ },
29842
+ {
29843
+ key: "storage",
29844
+ icon: /* @__PURE__ */ jsx(HardDrive, { className: "h-3.5 w-3.5 text-muted-foreground" }),
29845
+ label: "Storage",
29846
+ value: `${Math.round(workspace.user_files_mb ?? 0)} MB`
29847
+ }
29848
+ ]
29849
+ }
29850
+ ),
29851
+ workspace.updated_at && /* @__PURE__ */ jsxs(EntityTooltipHint, { children: [
29852
+ "Updated ",
29853
+ formatFriendlyDate(workspace.updated_at)
29854
+ ] }),
29855
+ interactive && variant !== "icon" && /* @__PURE__ */ jsxs(EntityTooltipHint, { icon: /* @__PURE__ */ jsx(EntityIcon, { entityType: "WORKSPACE", className: "w-3 h-3" }), children: [
29856
+ "Click to open ",
29857
+ getEntityLabel("WORKSPACE").toLowerCase(),
29858
+ " settings"
29859
+ ] })
29860
+ ] });
29861
+ if (variant === "icon") {
29862
+ if (!showTooltip) return shield;
29863
+ return /* @__PURE__ */ jsxs(Tooltip, { children: [
29864
+ /* @__PURE__ */ jsx(
29865
+ TooltipTrigger,
29866
+ {
29867
+ onFocusCapture: (e) => e.stopPropagation(),
29868
+ className: "touch-hit inline-flex",
29869
+ children: shield
29870
+ }
29871
+ ),
29872
+ /* @__PURE__ */ jsx(TooltipContent, { className: "p-2", children: tooltipContent })
29873
+ ] });
29874
+ }
29875
+ const pill = {
29876
+ icon: shield,
29877
+ label: name,
29878
+ size: pillSize,
29879
+ tooltipContent: showTooltip ? tooltipContent : void 0,
29880
+ className,
29881
+ labelMaxWidth
29882
+ };
29883
+ if (!interactive) return /* @__PURE__ */ jsx(EntityPill, { ...pill, shape: "rounded" });
29884
+ return /* @__PURE__ */ jsx(OpenableWorkspacePill, { ...pill, workspaceId: workspace.external_id, name });
29885
+ }
29886
+ function OpenableWorkspacePill({
29887
+ workspaceId,
29888
+ name,
29889
+ icon: icon2,
29890
+ label,
29891
+ size,
29892
+ tooltipContent,
29893
+ className,
29894
+ labelMaxWidth
29895
+ }) {
29896
+ const { openWorkspace } = useConnectedWorkspace();
29897
+ const onClick = useCallback(
29898
+ (e) => {
29899
+ e.stopPropagation();
29900
+ void openWorkspace(workspaceId, { name });
29901
+ },
29902
+ [openWorkspace, workspaceId, name]
29903
+ );
29904
+ return /* @__PURE__ */ jsx(
29905
+ EntityPill,
29906
+ {
29907
+ icon: icon2,
29908
+ label,
29909
+ size,
29910
+ shape: "rounded",
29911
+ onClick,
29912
+ tooltipContent,
29913
+ className,
29914
+ labelMaxWidth
29915
+ }
29916
+ );
29917
+ }
29918
+ var PAID = /* @__PURE__ */ new Set(["active", "past_due", "dev"]);
29919
+ function ConnectedProjectEntity({
29920
+ subscription = "none",
29921
+ ...props
29922
+ }) {
29923
+ const { stripeEnabled } = useBillingSupport();
29924
+ return /* @__PURE__ */ jsx(
29925
+ ProjectEntity,
29926
+ {
29927
+ ...props,
29928
+ subscription,
29929
+ isPaid: stripeEnabled && PAID.has(subscription)
29930
+ }
29931
+ );
29932
+ }
29447
29933
  var ConversationEntity = memo(function ConversationEntity2({
29448
29934
  conversation,
29449
29935
  variant = "pill",
@@ -35415,6 +35901,7 @@ function useLoginActions({
35415
35901
  formActions
35416
35902
  }) {
35417
35903
  const arbi = useArbi();
35904
+ const signInLayer = useOptionalConnection();
35418
35905
  const sso = useSsoSignIn();
35419
35906
  const { notify: notify17 } = useBlocksEnvironment();
35420
35907
  const { passwordRules, onRegistered, onUnlockedOffline } = useAuthPages();
@@ -35476,14 +35963,16 @@ function useLoginActions({
35476
35963
  const handleLocalLogin = useCallback(
35477
35964
  async (opts) => {
35478
35965
  arbi.session?.setSsoMode(false);
35479
- if (!password) {
35966
+ const loginEmail = opts?.credentials?.email ?? email;
35967
+ const loginPassword = opts?.credentials?.password ?? password;
35968
+ if (!loginPassword) {
35480
35969
  notify17("Please fill in all required fields.", "error");
35481
35970
  return;
35482
35971
  }
35483
- if (!validateEmailWithError(email)) return;
35972
+ if (!validateEmailWithError(loginEmail)) return;
35484
35973
  if (typeof navigator !== "undefined" && !navigator.onLine) {
35485
35974
  try {
35486
- await arbi.unlock(email, password);
35975
+ await arbi.unlock(loginEmail, loginPassword);
35487
35976
  onUnlockedOffline?.();
35488
35977
  } catch (err) {
35489
35978
  notify17(
@@ -35493,9 +35982,13 @@ function useLoginActions({
35493
35982
  }
35494
35983
  return;
35495
35984
  }
35985
+ if (signInLayer && !signInLayer.apiConfigured) {
35986
+ await signInLayer.login(loginEmail, loginPassword);
35987
+ return;
35988
+ }
35496
35989
  setIsAuthenticating(true);
35497
35990
  try {
35498
- const login = await arbi.login(email, password);
35991
+ const login = await arbi.login(loginEmail, loginPassword);
35499
35992
  if (opts?.isFreshRegistration) onRegistered?.(login);
35500
35993
  } catch (error) {
35501
35994
  setIsAuthenticating(false);
@@ -35508,7 +36001,16 @@ function useLoginActions({
35508
36001
  );
35509
36002
  }
35510
36003
  },
35511
- [arbi, email, password, validateEmailWithError, notify17, onRegistered, onUnlockedOffline]
36004
+ [
36005
+ arbi,
36006
+ signInLayer,
36007
+ email,
36008
+ password,
36009
+ validateEmailWithError,
36010
+ notify17,
36011
+ onRegistered,
36012
+ onUnlockedOffline
36013
+ ]
35512
36014
  );
35513
36015
  const handleRegister = useCallback(
35514
36016
  async (saveRecoveryKey = true) => {
@@ -35817,6 +36319,7 @@ function ConnectedLoginPage() {
35817
36319
  const auth = useAuthPages();
35818
36320
  const { notify: notify17 } = useBlocksEnvironment();
35819
36321
  const isSsoOnly = !!auth.ssoOnly;
36322
+ const allowRegistration = auth.allowRegistration ?? true;
35820
36323
  const isOnline = useIsOnline();
35821
36324
  const passwordRules = auth.passwordRules;
35822
36325
  useSsoVerificationRedirect();
@@ -35877,13 +36380,21 @@ function ConnectedLoginPage() {
35877
36380
  auth.onIntent?.();
35878
36381
  };
35879
36382
  useEffect(() => {
35880
- if (!isOnline) setIsRegistering(false);
35881
- }, [isOnline, setIsRegistering]);
36383
+ if (!isOnline || !allowRegistration) setIsRegistering(false);
36384
+ }, [isOnline, allowRegistration, setIsRegistering]);
36385
+ useFragmentCredentials({
36386
+ enabled: !!auth.fragmentSignIn,
36387
+ onCredentials: ({ email: linkEmail, password: linkPassword, next }) => {
36388
+ setEmail(linkEmail);
36389
+ if (next) auth.onReturnPath?.(next);
36390
+ void handleLocalLogin({ credentials: { email: linkEmail, password: linkPassword } });
36391
+ }
36392
+ });
35882
36393
  const autoRequestFiredRef = useRef(false);
35883
36394
  const emailInputRef = useRef(null);
35884
36395
  useEffect(() => {
35885
36396
  if (!pendingAutoRequest || autoRequestFiredRef.current) return;
35886
- if (isSsoOnly || !isOnline) return;
36397
+ if (isSsoOnly || !isOnline || !allowRegistration) return;
35887
36398
  autoRequestFiredRef.current = true;
35888
36399
  setPendingAutoRequest(false);
35889
36400
  void handleRequestVerificationCode();
@@ -35891,6 +36402,7 @@ function ConnectedLoginPage() {
35891
36402
  pendingAutoRequest,
35892
36403
  isSsoOnly,
35893
36404
  isOnline,
36405
+ allowRegistration,
35894
36406
  setPendingAutoRequest,
35895
36407
  handleRequestVerificationCode
35896
36408
  ]);
@@ -35980,12 +36492,18 @@ function ConnectedLoginPage() {
35980
36492
  {
35981
36493
  brand: auth.brand,
35982
36494
  corner: auth.corner,
35983
- headerRight: !isSsoOnly ? isOnline ? loginRegisterToggle : offlineIndicator : void 0,
36495
+ headerRight: isSsoOnly ? void 0 : !isOnline ? offlineIndicator : allowRegistration ? loginRegisterToggle : void 0,
35984
36496
  aside,
35985
36497
  children: [
35986
36498
  auth.banner,
35987
36499
  !isSsoOnly && /* @__PURE__ */ jsxs(Fragment, { children: [
35988
- /* @__PURE__ */ jsx(AuthHeading, { title: isRegistering ? "Create your account" : "Welcome back" }),
36500
+ /* @__PURE__ */ jsx(
36501
+ AuthHeading,
36502
+ {
36503
+ title: isRegistering ? "Create your account" : auth.heading?.title ?? "Welcome back",
36504
+ description: isRegistering ? void 0 : auth.heading?.description
36505
+ }
36506
+ ),
35989
36507
  /* @__PURE__ */ jsxs("div", { "data-testid": "login-form-container", children: [
35990
36508
  /* @__PURE__ */ jsxs(
35991
36509
  "form",
@@ -36000,7 +36518,7 @@ function ConnectedLoginPage() {
36000
36518
  AuthField,
36001
36519
  {
36002
36520
  htmlFor: "email",
36003
- label: "Email",
36521
+ label: isRegistering ? "Email" : auth.emailLabel ?? "Email",
36004
36522
  required: true,
36005
36523
  labelAction: isRegistering && verificationSent ? /* @__PURE__ */ jsx(AuthLink, { onClick: clearForm, "data-testid": "clear-button", children: "Clear form" }) : void 0,
36006
36524
  trailing: (
@@ -37423,6 +37941,6 @@ function ConnectedAccountAccessBadge() {
37423
37941
  ] });
37424
37942
  }
37425
37943
 
37426
- export { AddAddonDialog, AddFromAccountsButton, AgentBarShell, AgentControlBar, AgentSteps, AnswerTable, AskAgainContext, BACKFILL_OPTIONS, BULK_REPROCESS_LIMIT, BillingProjectEntity, ChangePlanDialog, ChatAttachmentList, ConnectedAccountAccessBadge, ConnectedAccountSettings, ConnectedAddContacts, ConnectedAgentChat, ConnectedAgentChatPanel, ConnectedAgentConfigForm, ConnectedAgentCreator, ConnectedAiReview, ConnectedAppsSettings, ConnectedAuthorizeAgent, ConnectedBranchControls, ConnectedBulkTagEditor, ConnectedCalendar, ConnectedChatThread, ConnectedCitationRenderer, ConnectedCompactConversation, ConnectedConfigForm, ConnectedContactCardForm, ConnectedContactToggle, ConnectedContactsDirectory, ConnectedConversation, ConnectedConversationDocumentPicker, ConnectedConversationEmpty, ConnectedConversationStart, ConnectedDangerZone, ConnectedDeploymentStorage, ConnectedDeveloperConfig, ConnectedDriveSyncDialog, ConnectedExportDialog, ConnectedExportPanel, ConnectedFactsPage, ConnectedFieldsEditor, ConnectedFieldsManager, ConnectedFilesBulkActions, ConnectedFilesExplorer, ConnectedFilesPage, ConnectedForgotPassword, ConnectedGrantWorkspaceAccessDialog, ConnectedGroupMembers, ConnectedIdentityVerification, ConnectedLoginPage, ConnectedLogoutDialog, ConnectedMailAccounts, ConnectedMailComposer, ConnectedMailInviteCard, ConnectedMailMessage, ConnectedMailSettings, ConnectedMailSetup, ConnectedMailbox, ConnectedMailboxSyncDialog, ConnectedMessage, ConnectedMessageArea, ConnectedMessageList, ConnectedMessenger, ConnectedModelSelector, ConnectedMoveToFolder, ConnectedNewThreadDialog, ConnectedNotificationCenter, ConnectedNotificationPreferences, ConnectedOAuthConsentPage, ConnectedPasswordChangeDialog, ConnectedPremiumModels, ConnectedPrivacySettings, ConnectedProfileCard, ConnectedProjectStorage, ConnectedProjectsPanel, ConnectedPublicBooking, ConnectedQuotaDialog, ConnectedRecentlyDeletedButton, ConnectedRecoveryKeyDialog, ConnectedRequestWorkspaceAccess, ConnectedRequireVerified, ConnectedSearchPage, ConnectedSecuritySection, ConnectedSessionsRow, ConnectedSettingsPage, ConnectedSharedFilesPage, ConnectedSignatureVerifyPage, ConnectedSkillUpload, ConnectedSkillsLibrary, ConnectedSsoCallback, ConnectedStorageProjectCard, ConnectedStorageSettings, ConnectedTagEditorDialog, ConnectedTagEntity, ConnectedTagForm, ConnectedTagTable, ConnectedTagsPage, ConnectedTaskAccessRequest, ConnectedTaskActivityDialog, ConnectedTaskComposer, ConnectedTaskStartDialog, ConnectedThreadFollow, ConnectedThreadLauncher, ConnectedThreadTabs, ConnectedThreadTaskBar, ConnectedThreadsPreview, ConnectedTransferWatcher, ConnectedUpcomingEvents, ConnectedUpload, ConnectedUploadDropzone, ConnectedWelcomeDialog, ConnectedWorkflowHistory, ConnectedWorkflowRunner, ConnectedWorkflowStart, ConnectedWorkspaceActivity, ConnectedWorkspaceDashboard, ConnectedWorkspaceList, ConnectedWorkspaceMembers, ConnectedWorkspaceNotificationMenu, ConnectedWorkspaceSettings, ConnectedWorkspaceTrash, ConversationAlert, ConversationComposer2 as ConversationComposer, ConversationEntity, ConversationSendButton, ConversationStatusCell, DEFAULT_CONNECTED_SEARCH_PAGE_LABELS, DEFAULT_CONNECTED_SKILL_UPLOAD_LABELS, DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS, DEFAULT_OAUTH_PERMISSIONS, DEFAULT_SEARCH_FIELDS, DEFAULT_SEARCH_ROW_LABELS, DEFAULT_SETTINGS_SECTIONS, DEFAULT_TIMELINE_LABEL_WIDTH, DEFAULT_WORKSPACE_LIST_LABELS, DeveloperFooter, DocumentFolderCell, DocumentLabelsCell, DocumentNameCell, DocumentSharedCell, DocumentStatusGlyph, DocumentSyncGlyph, DocumentUser, DocumentsFilterBarActions, DocumentsUploadButton, EmptyWorkspaceUpload, FACTS_GRID_ID, FILES_PREFS_KEY, FileTooltipContent, ImportVcfButton, ImportVcfSummary, InvoicesModal, LOOK_AGAIN_LABEL, MessageDetailsModal, MessageLiveSeconds, MicButton, NewProjectFlow, NotificationCenter, NotificationEvent, PENDING_LOOKUP_MS, PENDING_RECOVERY_KEY, PENDING_TASK_MESSAGE, PREMIUM_TIER_TAG, PROJECTS_BASE_TAB_ID, PROMPT_BINDINGS, PersistedGridView, ProgressiveLoadingChip, ProjectDetail, ProjectsTable, REFERRAL_OFFER, RecoveryKeyDownload, RelatedDocumentsCell, RunStatsBadges, RunningSubagents, SEARCH_FIELD_OPTIONS, SETTINGS_SECTION_IDS, STANDARD_TIER_TAG, SessionStatusIcon, SharedProjects, SourceChips, SsoResendVerificationButton, StatusCell, StorageBreakdown, StorageItemsTable, StorageTiers, StreamedArtifact, TILE_DEFAULT, TILE_MAX, TILE_MIN, ThreadSwitcher, UserAvatar, ViewSelector, WORKSPACES_TAB_ID, WorkflowLaunchHost, WorkflowRunStatusCell, WorkflowRunThread, WorkflowStepMessage, accountSettingsSection, backUpOnSignup, bookingCancelLink, buildNotificationCenterItems, buildProjectSummaries, chatSettingsSection, closeAccessRequestReview, connectedAppsSettingsSection, countNotificationTypes, createDocumentColumns, createEventCall, createNotificationTargetOpener, createTagColumn, deduplicateByContentHash, defaultHost, describePlan, distinctPeers, documentFamilyMeta, documentFieldContent, filesViewMode, filterNotificationCenterItems, groupFallbackName, identifyOAuthClient, isActiveDocumentStatus, joinEventMeeting, loadEventWebinar, mailSettingsSection, openMeetingLink, parseArbiCallUrl, parseOAuthConsentRequest, parseQuotaError, parseTypedSkill, primaryProjectWorkspace, privacySettingsSection, renderSessionStatusIcon, requestProjectBillingFocus, resolveAttendeeUsers, resolveAttendeeUsersRemote, resolveCallPeers, resolveCallPeersRemote, resolveLaunchInputs, resolveMailbox, resolveSsoName, reviewAccessRequest, reviewProgress, shareEventCall, startMenuItem, storageSettingsSection, suppliedKinds, threadStateOf, toWorkspaceSummary, transferOutcome, updateEventWebinarRoles, useAccessRequestUnderReview, useAddFromUrls, useAiReviewStore, useAuthPages, useAutoRefreshPendingProjects, useConnectedCalendarCalls, useConnectedNotificationBell, useConnectedShellWorkspaces, useConnectedThreadActivity, useConnectedWorkspaceList, useConnectedWorkspaceSettings, useDocumentBulkActions, useDocumentFilters, useDocumentFolders, useDocumentGridSync, useDocumentNavigation, useDocumentTable, useExportStore, useFilesDialogs, useFilesGridStates, useFilesPrefs, useFilesStore, useLaunchWorkflow, useMemberLookup, useMessengerRows, useModelPicker, useNotificationBellEntry, useOpenBillingPortal, useOpenChunk, useOpenNotificationTarget, useOpenWorkspaceActivityTarget, useOpenWorkspaceIcon, usePendingFolders, usePendingTaskThread, useProjectBillingFocus, useProjectSummaries, useProjectSummary, useReferralReward, useRenderTaskPerson, useResolvedDocStatus, useSkillsEnabled, useSlashItems, useSlashSkillWorkflows, useSsoSignIn, useStartRequestedDraft, useTableViews, useTaskPeople, useTaskStart, useThreadLabels, useThreadTabs, useWorkflowDefinitions, useWorkflowLaunch, useWorkflowTasks, useWorkspaceDocTitles, viewsOfTable, webinarRolesByUser, windowLabel, withMissingTableViews, withTableView, withoutTableView, workflowRunView };
37944
+ export { AddAddonDialog, AddFromAccountsButton, AgentBarShell, AgentControlBar, AgentSteps, AnswerTable, AskAgainContext, BACKFILL_OPTIONS, BULK_REPROCESS_LIMIT, BillingProjectEntity, ChangePlanDialog, ChatAttachmentList, ConnectedAccountAccessBadge, ConnectedAccountSettings, ConnectedAddContacts, ConnectedAgentChat, ConnectedAgentChatPanel, ConnectedAgentConfigForm, ConnectedAgentCreator, ConnectedAiReview, ConnectedAppsSettings, ConnectedAuthorizeAgent, ConnectedBranchControls, ConnectedBulkTagEditor, ConnectedCalendar, ConnectedChatThread, ConnectedCitationRenderer, ConnectedCompactConversation, ConnectedConfigForm, ConnectedContactCardForm, ConnectedContactToggle, ConnectedContactsDirectory, ConnectedConversation, ConnectedConversationDocumentPicker, ConnectedConversationEmpty, ConnectedConversationStart, ConnectedDangerZone, ConnectedDeploymentStorage, ConnectedDeveloperConfig, ConnectedDriveSyncDialog, ConnectedExportDialog, ConnectedExportPanel, ConnectedFactsPage, ConnectedFieldsEditor, ConnectedFieldsManager, ConnectedFilesBulkActions, ConnectedFilesExplorer, ConnectedFilesPage, ConnectedForgotPassword, ConnectedGrantWorkspaceAccessDialog, ConnectedGroupMembers, ConnectedIdentityVerification, ConnectedLoginPage, ConnectedLogoutDialog, ConnectedMailAccounts, ConnectedMailComposer, ConnectedMailInviteCard, ConnectedMailMessage, ConnectedMailSettings, ConnectedMailSetup, ConnectedMailbox, ConnectedMailboxSyncDialog, ConnectedMessage, ConnectedMessageArea, ConnectedMessageList, ConnectedMessenger, ConnectedModelSelector, ConnectedMoveToFolder, ConnectedNewThreadDialog, ConnectedNotificationCenter, ConnectedNotificationPreferences, ConnectedOAuthConsentPage, ConnectedPasswordChangeDialog, ConnectedPremiumModels, ConnectedPrivacySettings, ConnectedProfileCard, ConnectedProjectEntity, ConnectedProjectStorage, ConnectedProjectsPanel, ConnectedPublicBooking, ConnectedQuotaDialog, ConnectedRecentlyDeletedButton, ConnectedRecoveryKeyDialog, ConnectedRequestWorkspaceAccess, ConnectedRequireVerified, ConnectedSearchPage, ConnectedSecuritySection, ConnectedSessionsRow, ConnectedSettingsPage, ConnectedSharePointAdminConsentPage, ConnectedSharedFilesPage, ConnectedSignatureVerifyPage, ConnectedSkillUpload, ConnectedSkillsLibrary, ConnectedSsoCallback, ConnectedStorageProjectCard, ConnectedStorageSettings, ConnectedTagEditorDialog, ConnectedTagEntity, ConnectedTagForm, ConnectedTagTable, ConnectedTagsPage, ConnectedTaskAccessRequest, ConnectedTaskActivityDialog, ConnectedTaskComposer, ConnectedTaskStartDialog, ConnectedThreadFollow, ConnectedThreadLauncher, ConnectedThreadTabs, ConnectedThreadTaskBar, ConnectedThreadsPreview, ConnectedTransferWatcher, ConnectedUpcomingEvents, ConnectedUpload, ConnectedUploadDropzone, ConnectedUserEntity, ConnectedWelcomeDialog, ConnectedWorkflowHistory, ConnectedWorkflowRunner, ConnectedWorkflowStart, ConnectedWorkspaceActivity, ConnectedWorkspaceDashboard, ConnectedWorkspaceEntity, ConnectedWorkspaceList, ConnectedWorkspaceMembers, ConnectedWorkspaceNotificationMenu, ConnectedWorkspaceSettings, ConnectedWorkspaceTrash, ConversationAlert, ConversationComposer2 as ConversationComposer, ConversationEntity, ConversationSendButton, ConversationStatusCell, DEFAULT_CONNECTED_SEARCH_PAGE_LABELS, DEFAULT_CONNECTED_SKILL_UPLOAD_LABELS, DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS, DEFAULT_OAUTH_PERMISSIONS, DEFAULT_SEARCH_FIELDS, DEFAULT_SEARCH_ROW_LABELS, DEFAULT_SETTINGS_SECTIONS, DEFAULT_TIMELINE_LABEL_WIDTH, DEFAULT_WORKSPACE_LIST_LABELS, DeveloperFooter, DocumentFolderCell, DocumentLabelsCell, DocumentNameCell, DocumentSharedCell, DocumentStatusGlyph, DocumentSyncGlyph, DocumentUser, DocumentsFilterBarActions, DocumentsUploadButton, EmptyWorkspaceUpload, FACTS_GRID_ID, FILES_PREFS_KEY, FileTooltipContent, ImportVcfButton, ImportVcfSummary, InvoicesModal, LOOK_AGAIN_LABEL, MessageDetailsModal, MessageLiveSeconds, MicButton, NewProjectFlow, NotificationCenter, NotificationEvent, PENDING_LOOKUP_MS, PENDING_RECOVERY_KEY, PENDING_TASK_MESSAGE, PREMIUM_TIER_TAG, PROJECTS_BASE_TAB_ID, PROMPT_BINDINGS, PersistedGridView, ProgressiveLoadingChip, ProjectDetail, ProjectUsageContent, ProjectsTable, REFERRAL_OFFER, RecoveryKeyDownload, RelatedDocumentsCell, RunStatsBadges, RunningSubagents, SEARCH_FIELD_OPTIONS, SETTINGS_SECTION_IDS, STANDARD_TIER_TAG, SessionStatusIcon, SharedProjects, SourceChips, SsoResendVerificationButton, StatusCell, StorageBreakdown, StorageItemsTable, StorageTiers, StreamedArtifact, TILE_DEFAULT, TILE_MAX, TILE_MIN, ThreadSwitcher, UserAvatar, ViewSelector, WORKSPACES_TAB_ID, WorkflowLaunchHost, WorkflowRunStatusCell, WorkflowRunThread, WorkflowStepMessage, accountSettingsSection, backUpOnSignup, bookingCancelLink, buildNotificationCenterItems, buildProjectSummaries, chatSettingsSection, closeAccessRequestReview, connectedAppsSettingsSection, connectionSettingsSection, countNotificationTypes, createDocumentColumns, createEventCall, createNotificationTargetOpener, createTagColumn, deduplicateByContentHash, defaultHost, describePlan, distinctPeers, documentFamilyMeta, documentFieldContent, filesViewMode, filterNotificationCenterItems, groupFallbackName, identifyOAuthClient, isActiveDocumentStatus, joinEventMeeting, loadEventWebinar, mailSettingsSection, openMeetingLink, organisationSettingsSection, parseArbiCallUrl, parseOAuthConsentRequest, parseQuotaError, parseTypedSkill, primaryProjectWorkspace, privacySettingsSection, renderConnectedUser, renderSessionStatusIcon, requestProjectBillingFocus, resolveAttendeeUsers, resolveAttendeeUsersRemote, resolveCallPeers, resolveCallPeersRemote, resolveLaunchInputs, resolveMailbox, resolveSsoName, reviewAccessRequest, reviewProgress, shareEventCall, startMenuItem, storageSettingsSection, suppliedKinds, threadStateOf, toWorkspaceSummary, transferOutcome, updateEventWebinarRoles, usageSettingsSection, useAccessRequestUnderReview, useAddFromUrls, useAiReviewStore, useAuthPages, useAutoRefreshPendingProjects, useConnectedCalendarCalls, useConnectedNotificationBell, useConnectedShellWorkspaces, useConnectedThreadActivity, useConnectedWorkspaceList, useConnectedWorkspaceSettings, useDocumentBulkActions, useDocumentFilters, useDocumentFolders, useDocumentGridSync, useDocumentNavigation, useDocumentTable, useExportStore, useFilesDialogs, useFilesGridStates, useFilesPrefs, useFilesStore, useLaunchWorkflow, useMemberLookup, useMessengerRows, useModelPicker, useNotificationBellEntry, useOpenBillingPortal, useOpenChunk, useOpenNotificationTarget, useOpenWorkspaceActivityTarget, useOpenWorkspaceIcon, usePendingFolders, usePendingTaskThread, useProjectBillingFocus, useProjectSummaries, useProjectSummary, useReferralReward, useRenderTaskPerson, useResolvedDocStatus, useSkillsEnabled, useSlashItems, useSlashSkillWorkflows, useSsoSignIn, useStartRequestedDraft, useTableViews, useTaskPeople, useTaskStart, useThreadLabels, useThreadTabs, useWorkflowDefinitions, useWorkflowLaunch, useWorkflowTasks, useWorkspaceDocTitles, viewsOfTable, webinarRolesByUser, windowLabel, withMissingTableViews, withTableView, withoutTableView, workflowRunView };
37427
37945
  //# sourceMappingURL=index.js.map
37428
37946
  //# sourceMappingURL=index.js.map