@arbidocs/blocks 0.5.59 → 0.5.60

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 (214) hide show
  1. package/README.md +40 -0
  2. package/dist/{ConnectedCallDock-IGIDX5LT.cjs → ConnectedCallDock-NEXHEXVL.cjs} +14 -14
  3. package/dist/{ConnectedCallDock-IGIDX5LT.cjs.map → ConnectedCallDock-NEXHEXVL.cjs.map} +1 -1
  4. package/dist/{ConnectedCallDock-KCINYWGF.js → ConnectedCallDock-PMCWZXCO.js} +13 -13
  5. package/dist/{ConnectedCallDock-KCINYWGF.js.map → ConnectedCallDock-PMCWZXCO.js.map} +1 -1
  6. package/dist/{ConnectedCallRoom-V3UUSCMA.cjs → ConnectedCallRoom-GE2TMDIL.cjs} +14 -14
  7. package/dist/{ConnectedCallRoom-V3UUSCMA.cjs.map → ConnectedCallRoom-GE2TMDIL.cjs.map} +1 -1
  8. package/dist/{ConnectedCallRoom-W3IDBOFA.js → ConnectedCallRoom-RJZT5ZUA.js} +13 -13
  9. package/dist/{ConnectedCallRoom-W3IDBOFA.js.map → ConnectedCallRoom-RJZT5ZUA.js.map} +1 -1
  10. package/dist/{ConnectedDocumentViewer-DXBTO2K6.cjs → ConnectedDocumentViewer-2KDPYQDT.cjs} +22 -21
  11. package/dist/{ConnectedDocumentViewer-DXBTO2K6.cjs.map → ConnectedDocumentViewer-2KDPYQDT.cjs.map} +1 -1
  12. package/dist/{ConnectedDocumentViewer-S4TWI5ML.js → ConnectedDocumentViewer-GYLXZV72.js} +21 -20
  13. package/dist/{ConnectedDocumentViewer-S4TWI5ML.js.map → ConnectedDocumentViewer-GYLXZV72.js.map} +1 -1
  14. package/dist/{ConnectedNativeDocxComparison-XOUU4XE4.cjs → ConnectedNativeDocxComparison-2OC37MR5.cjs} +15 -15
  15. package/dist/ConnectedNativeDocxComparison-2OC37MR5.cjs.map +1 -0
  16. package/dist/{ConnectedNativeDocxComparison-4Q57CKP4.js → ConnectedNativeDocxComparison-7PD2LD7L.js} +14 -14
  17. package/dist/ConnectedNativeDocxComparison-7PD2LD7L.js.map +1 -0
  18. package/dist/{ConnectedNativeDocxEditor-EFEAU6CF.cjs → ConnectedNativeDocxEditor-FPIX7SWU.cjs} +15 -15
  19. package/dist/ConnectedNativeDocxEditor-FPIX7SWU.cjs.map +1 -0
  20. package/dist/{ConnectedNativeDocxEditor-4KXAQEBW.js → ConnectedNativeDocxEditor-UMENIC3E.js} +13 -13
  21. package/dist/ConnectedNativeDocxEditor-UMENIC3E.js.map +1 -0
  22. package/dist/{ConnectedStreamedWordArtifact-MWVDNPYF.cjs → ConnectedStreamedWordArtifact-3UZN4UHY.cjs} +15 -15
  23. package/dist/ConnectedStreamedWordArtifact-3UZN4UHY.cjs.map +1 -0
  24. package/dist/{ConnectedStreamedWordArtifact-MKEN2R7Y.js → ConnectedStreamedWordArtifact-K7HVTZIG.js} +14 -14
  25. package/dist/ConnectedStreamedWordArtifact-K7HVTZIG.js.map +1 -0
  26. package/dist/{DocumentReviewCard-RURBAILX.cjs → DocumentReviewCard-B3RRCJBD.cjs} +8 -8
  27. package/dist/{DocumentReviewCard-RURBAILX.cjs.map → DocumentReviewCard-B3RRCJBD.cjs.map} +1 -1
  28. package/dist/{DocumentReviewCard-FHRCV7IB.js → DocumentReviewCard-RPETGTSK.js} +8 -8
  29. package/dist/{DocumentReviewCard-FHRCV7IB.js.map → DocumentReviewCard-RPETGTSK.js.map} +1 -1
  30. package/dist/{WorkspaceTableView-2AZRQUTW.cjs → WorkspaceTableView-2XRSJECY.cjs} +10 -10
  31. package/dist/{WorkspaceTableView-2AZRQUTW.cjs.map → WorkspaceTableView-2XRSJECY.cjs.map} +1 -1
  32. package/dist/{WorkspaceTableView-7D6CO2NO.js → WorkspaceTableView-F4QG4226.js} +8 -8
  33. package/dist/{WorkspaceTableView-7D6CO2NO.js.map → WorkspaceTableView-F4QG4226.js.map} +1 -1
  34. package/dist/agents/index.cjs +344 -344
  35. package/dist/agents/index.js +8 -8
  36. package/dist/calls/index.cjs +2 -2
  37. package/dist/calls/index.js +2 -2
  38. package/dist/chat/index.cjs +167 -167
  39. package/dist/chat/index.js +10 -10
  40. package/dist/{chunk-MSY4JQPU.js → chunk-2N5G5WZ7.js} +3 -3
  41. package/dist/{chunk-MSY4JQPU.js.map → chunk-2N5G5WZ7.js.map} +1 -1
  42. package/dist/chunk-34HQO4ZQ.cjs +72 -0
  43. package/dist/chunk-34HQO4ZQ.cjs.map +1 -0
  44. package/dist/{chunk-EQ3WRY2N.js → chunk-3EWS6ECM.js} +9 -6
  45. package/dist/chunk-3EWS6ECM.js.map +1 -0
  46. package/dist/{chunk-Y564AOO6.js → chunk-6HMWZY3U.js} +3 -3
  47. package/dist/{chunk-Y564AOO6.js.map → chunk-6HMWZY3U.js.map} +1 -1
  48. package/dist/{chunk-FB6DTNMF.cjs → chunk-6TMA6MPT.cjs} +8 -8
  49. package/dist/{chunk-FB6DTNMF.cjs.map → chunk-6TMA6MPT.cjs.map} +1 -1
  50. package/dist/{chunk-JS7KJRKG.js → chunk-75Z5AUMM.js} +3 -3
  51. package/dist/{chunk-JS7KJRKG.js.map → chunk-75Z5AUMM.js.map} +1 -1
  52. package/dist/{chunk-4TCJDGIM.js → chunk-7EOO6ZCK.js} +3 -3
  53. package/dist/{chunk-4TCJDGIM.js.map → chunk-7EOO6ZCK.js.map} +1 -1
  54. package/dist/{chunk-AJCMN23Q.js → chunk-AGDOBXHY.js} +3 -3
  55. package/dist/{chunk-AJCMN23Q.js.map → chunk-AGDOBXHY.js.map} +1 -1
  56. package/dist/{chunk-W7B6VO7E.js → chunk-B63TSC3W.js} +97 -6
  57. package/dist/chunk-B63TSC3W.js.map +1 -0
  58. package/dist/{chunk-HC4GCNCQ.js → chunk-B7XMGAWP.js} +3 -32
  59. package/dist/chunk-B7XMGAWP.js.map +1 -0
  60. package/dist/{chunk-EQRSQZS5.cjs → chunk-BSITLJMQ.cjs} +4 -4
  61. package/dist/{chunk-EQRSQZS5.cjs.map → chunk-BSITLJMQ.cjs.map} +1 -1
  62. package/dist/{chunk-UJN3MBVO.js → chunk-CYECDWVY.js} +3 -3
  63. package/dist/{chunk-UJN3MBVO.js.map → chunk-CYECDWVY.js.map} +1 -1
  64. package/dist/{chunk-NTXOETH6.js → chunk-DP7XGB2D.js} +3 -3
  65. package/dist/{chunk-NTXOETH6.js.map → chunk-DP7XGB2D.js.map} +1 -1
  66. package/dist/{chunk-PFCTYQJH.cjs → chunk-DQ6PNJ6J.cjs} +3 -3
  67. package/dist/{chunk-PFCTYQJH.cjs.map → chunk-DQ6PNJ6J.cjs.map} +1 -1
  68. package/dist/{chunk-XNOQVBU3.cjs → chunk-ECJOIWF4.cjs} +66 -28
  69. package/dist/chunk-ECJOIWF4.cjs.map +1 -0
  70. package/dist/{chunk-AMZNWDTN.cjs → chunk-GCMNPIKB.cjs} +6 -6
  71. package/dist/{chunk-AMZNWDTN.cjs.map → chunk-GCMNPIKB.cjs.map} +1 -1
  72. package/dist/{chunk-QV3YRFQS.js → chunk-GYONAUKV.js} +11 -11
  73. package/dist/{chunk-QV3YRFQS.js.map → chunk-GYONAUKV.js.map} +1 -1
  74. package/dist/chunk-IRPDQJNT.js +70 -0
  75. package/dist/chunk-IRPDQJNT.js.map +1 -0
  76. package/dist/{chunk-62DTFNIS.cjs → chunk-IZXJTVOS.cjs} +44 -7
  77. package/dist/chunk-IZXJTVOS.cjs.map +1 -0
  78. package/dist/{chunk-IHEXSVAI.cjs → chunk-J2A7LVTM.cjs} +70 -70
  79. package/dist/{chunk-IHEXSVAI.cjs.map → chunk-J2A7LVTM.cjs.map} +1 -1
  80. package/dist/{chunk-PFEXFTJ6.js → chunk-JLR67BW2.js} +47 -11
  81. package/dist/chunk-JLR67BW2.js.map +1 -0
  82. package/dist/{chunk-OMWOPRQR.cjs → chunk-JZ4LN4Q6.cjs} +3 -3
  83. package/dist/{chunk-OMWOPRQR.cjs.map → chunk-JZ4LN4Q6.cjs.map} +1 -1
  84. package/dist/{chunk-DDHEN3TC.cjs → chunk-K2UPRNQB.cjs} +3 -3
  85. package/dist/{chunk-DDHEN3TC.cjs.map → chunk-K2UPRNQB.cjs.map} +1 -1
  86. package/dist/{chunk-BFWAIOZK.js → chunk-L4JJKGUD.js} +3 -3
  87. package/dist/{chunk-BFWAIOZK.js.map → chunk-L4JJKGUD.js.map} +1 -1
  88. package/dist/{chunk-6YJLVAR6.cjs → chunk-LVC4ZGYW.cjs} +19 -19
  89. package/dist/{chunk-6YJLVAR6.cjs.map → chunk-LVC4ZGYW.cjs.map} +1 -1
  90. package/dist/{chunk-72VTGWZ5.cjs → chunk-LXKALYOS.cjs} +5 -5
  91. package/dist/{chunk-72VTGWZ5.cjs.map → chunk-LXKALYOS.cjs.map} +1 -1
  92. package/dist/{chunk-TM2D4XT4.cjs → chunk-MZZ3SBQL.cjs} +9 -6
  93. package/dist/chunk-MZZ3SBQL.cjs.map +1 -0
  94. package/dist/{chunk-RJ7753W5.js → chunk-NMU723IY.js} +5 -5
  95. package/dist/{chunk-RJ7753W5.js.map → chunk-NMU723IY.js.map} +1 -1
  96. package/dist/{chunk-BL6KFCZK.cjs → chunk-NUAG57PG.cjs} +18 -18
  97. package/dist/{chunk-BL6KFCZK.cjs.map → chunk-NUAG57PG.cjs.map} +1 -1
  98. package/dist/{chunk-FAYWEPDL.js → chunk-NXSPX7AP.js} +5 -5
  99. package/dist/{chunk-FAYWEPDL.js.map → chunk-NXSPX7AP.js.map} +1 -1
  100. package/dist/{chunk-N27CI32R.cjs → chunk-OM5IVNEW.cjs} +7 -7
  101. package/dist/{chunk-N27CI32R.cjs.map → chunk-OM5IVNEW.cjs.map} +1 -1
  102. package/dist/{chunk-I3BF67WQ.cjs → chunk-Q5GFVDFM.cjs} +9 -9
  103. package/dist/{chunk-I3BF67WQ.cjs.map → chunk-Q5GFVDFM.cjs.map} +1 -1
  104. package/dist/{chunk-PPOL2RVQ.js → chunk-QCDS3ZCF.js} +3 -3
  105. package/dist/{chunk-PPOL2RVQ.js.map → chunk-QCDS3ZCF.js.map} +1 -1
  106. package/dist/{chunk-VEMJON3H.cjs → chunk-QUTIWGWO.cjs} +3 -3
  107. package/dist/{chunk-VEMJON3H.cjs.map → chunk-QUTIWGWO.cjs.map} +1 -1
  108. package/dist/{chunk-TUXGAGPX.js → chunk-R6UKY6NA.js} +7 -7
  109. package/dist/{chunk-TUXGAGPX.js.map → chunk-R6UKY6NA.js.map} +1 -1
  110. package/dist/{chunk-EANS63YE.js → chunk-RGRQWMTF.js} +43 -6
  111. package/dist/chunk-RGRQWMTF.js.map +1 -0
  112. package/dist/{chunk-HWT2IHT4.js → chunk-S45JNJK7.js} +3 -3
  113. package/dist/{chunk-HWT2IHT4.js.map → chunk-S45JNJK7.js.map} +1 -1
  114. package/dist/{chunk-WH2BIMAZ.js → chunk-SBVOYSOO.js} +3 -3
  115. package/dist/{chunk-WH2BIMAZ.js.map → chunk-SBVOYSOO.js.map} +1 -1
  116. package/dist/chunk-SUVMOGTC.js +132 -0
  117. package/dist/chunk-SUVMOGTC.js.map +1 -0
  118. package/dist/chunk-TAVQOU3M.cjs +137 -0
  119. package/dist/chunk-TAVQOU3M.cjs.map +1 -0
  120. package/dist/{chunk-VO3VUC44.cjs → chunk-TFTGDUE4.cjs} +27 -27
  121. package/dist/{chunk-VO3VUC44.cjs.map → chunk-TFTGDUE4.cjs.map} +1 -1
  122. package/dist/{chunk-OXDKLA47.cjs → chunk-TX4CIWH5.cjs} +97 -4
  123. package/dist/chunk-TX4CIWH5.cjs.map +1 -0
  124. package/dist/{chunk-Q3SG3BWO.js → chunk-UIUWCTIZ.js} +3 -3
  125. package/dist/{chunk-Q3SG3BWO.js.map → chunk-UIUWCTIZ.js.map} +1 -1
  126. package/dist/{chunk-HPA4XNIC.js → chunk-UM543YBU.js} +3 -3
  127. package/dist/{chunk-HPA4XNIC.js.map → chunk-UM543YBU.js.map} +1 -1
  128. package/dist/{chunk-T6C5Z4CS.cjs → chunk-UR3MPRJA.cjs} +4 -4
  129. package/dist/{chunk-T6C5Z4CS.cjs.map → chunk-UR3MPRJA.cjs.map} +1 -1
  130. package/dist/{chunk-MQBEX5KB.js → chunk-VB7VPTMB.js} +13 -13
  131. package/dist/{chunk-MQBEX5KB.js.map → chunk-VB7VPTMB.js.map} +1 -1
  132. package/dist/{chunk-HA27GUIF.cjs → chunk-VTY44LKS.cjs} +12 -12
  133. package/dist/{chunk-HA27GUIF.cjs.map → chunk-VTY44LKS.cjs.map} +1 -1
  134. package/dist/{chunk-Z2KOIA5D.cjs → chunk-W427WPYF.cjs} +2 -32
  135. package/dist/chunk-W427WPYF.cjs.map +1 -0
  136. package/dist/{chunk-UPWVMG2X.cjs → chunk-XNZSVCNR.cjs} +4 -4
  137. package/dist/{chunk-UPWVMG2X.cjs.map → chunk-XNZSVCNR.cjs.map} +1 -1
  138. package/dist/{chunk-S65CHL3M.js → chunk-YA2H33OW.js} +5 -5
  139. package/dist/{chunk-S65CHL3M.js.map → chunk-YA2H33OW.js.map} +1 -1
  140. package/dist/{chunk-F72ZD5Q2.cjs → chunk-YD3RN2FY.cjs} +3 -3
  141. package/dist/{chunk-F72ZD5Q2.cjs.map → chunk-YD3RN2FY.cjs.map} +1 -1
  142. package/dist/{chunk-22UJW54C.js → chunk-YXX63XJD.js} +3 -3
  143. package/dist/{chunk-22UJW54C.js.map → chunk-YXX63XJD.js.map} +1 -1
  144. package/dist/{chunk-OS27G5ZI.js → chunk-Z3MWFHZC.js} +3 -3
  145. package/dist/{chunk-OS27G5ZI.js.map → chunk-Z3MWFHZC.js.map} +1 -1
  146. package/dist/{chunk-XUEJYHEP.cjs → chunk-ZDZY6OPL.cjs} +3 -3
  147. package/dist/{chunk-XUEJYHEP.cjs.map → chunk-ZDZY6OPL.cjs.map} +1 -1
  148. package/dist/{chunk-YWBIOI6M.cjs → chunk-ZQDJRROK.cjs} +26 -26
  149. package/dist/{chunk-YWBIOI6M.cjs.map → chunk-ZQDJRROK.cjs.map} +1 -1
  150. package/dist/{chunk-4QDJQC5I.cjs → chunk-ZTTR5MMZ.cjs} +10 -10
  151. package/dist/{chunk-4QDJQC5I.cjs.map → chunk-ZTTR5MMZ.cjs.map} +1 -1
  152. package/dist/collaboration/index.cjs +9 -9
  153. package/dist/collaboration/index.js +1 -1
  154. package/dist/components/Banner.d.ts +9 -3
  155. package/dist/components/ErrorBoundary.d.ts +16 -1
  156. package/dist/components/LoadingIndicator.d.ts +14 -1
  157. package/dist/connect/docx.cjs +17 -17
  158. package/dist/connect/docx.js +13 -13
  159. package/dist/connect/index.cjs +843 -843
  160. package/dist/connect/index.js +45 -45
  161. package/dist/connect/viewer.cjs +21 -20
  162. package/dist/connect/viewer.js +19 -18
  163. package/dist/facts/index.cjs +57 -57
  164. package/dist/facts/index.js +5 -5
  165. package/dist/files/index.cjs +2 -2
  166. package/dist/files/index.js +2 -2
  167. package/dist/home/index.cjs +29 -29
  168. package/dist/home/index.js +4 -4
  169. package/dist/index.cjs +806 -789
  170. package/dist/index.cjs.map +1 -1
  171. package/dist/index.d.ts +1 -1
  172. package/dist/index.js +28 -27
  173. package/dist/index.js.map +1 -1
  174. package/dist/settings/ErrorDialog.d.ts +21 -1
  175. package/dist/settings/error-report.d.ts +26 -0
  176. package/dist/settings/index.cjs +163 -155
  177. package/dist/settings/index.d.ts +2 -1
  178. package/dist/settings/index.js +3 -3
  179. package/dist/shell/AccountBanners.d.ts +22 -0
  180. package/dist/shell/Toaster.d.ts +24 -2
  181. package/dist/shell/index.cjs +91 -74
  182. package/dist/shell/index.d.ts +2 -1
  183. package/dist/shell/index.js +7 -6
  184. package/dist/site/index.cjs +55 -54
  185. package/dist/site/index.js +3 -2
  186. package/dist/studio/index.cjs +56 -55
  187. package/dist/studio/index.cjs.map +1 -1
  188. package/dist/studio/index.js +9 -8
  189. package/dist/studio/index.js.map +1 -1
  190. package/dist/workflow-canvas/index.cjs +44 -44
  191. package/dist/workflow-canvas/index.js +19 -19
  192. package/node_modules/@arbidocs/coedit/package.json +1 -1
  193. package/package.json +5 -5
  194. package/src/blocks.css +83 -2
  195. package/dist/ConnectedNativeDocxComparison-4Q57CKP4.js.map +0 -1
  196. package/dist/ConnectedNativeDocxComparison-XOUU4XE4.cjs.map +0 -1
  197. package/dist/ConnectedNativeDocxEditor-4KXAQEBW.js.map +0 -1
  198. package/dist/ConnectedNativeDocxEditor-EFEAU6CF.cjs.map +0 -1
  199. package/dist/ConnectedStreamedWordArtifact-MKEN2R7Y.js.map +0 -1
  200. package/dist/ConnectedStreamedWordArtifact-MWVDNPYF.cjs.map +0 -1
  201. package/dist/chunk-62DTFNIS.cjs.map +0 -1
  202. package/dist/chunk-EANS63YE.js.map +0 -1
  203. package/dist/chunk-EQ3WRY2N.js.map +0 -1
  204. package/dist/chunk-HC4GCNCQ.js.map +0 -1
  205. package/dist/chunk-OXDKLA47.cjs.map +0 -1
  206. package/dist/chunk-PFEXFTJ6.js.map +0 -1
  207. package/dist/chunk-SOZQJTHB.js +0 -34
  208. package/dist/chunk-SOZQJTHB.js.map +0 -1
  209. package/dist/chunk-TM2D4XT4.cjs.map +0 -1
  210. package/dist/chunk-VTQOMJW7.cjs +0 -37
  211. package/dist/chunk-VTQOMJW7.cjs.map +0 -1
  212. package/dist/chunk-W7B6VO7E.js.map +0 -1
  213. package/dist/chunk-XNOQVBU3.cjs.map +0 -1
  214. package/dist/chunk-Z2KOIA5D.cjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { useChatSurface, ChatPage } from './chunk-HWT2IHT4.js';
2
+ import { useChatSurface, ChatPage } from './chunk-S45JNJK7.js';
3
3
  import { ToolButton, Shell } from './chunk-YQEXBJVO.js';
4
4
  import { useSyncExternalStore } from 'react';
5
5
  import { MessageSquare, X } from 'lucide-react';
@@ -81,5 +81,5 @@ function AssistantDock({
81
81
  }
82
82
 
83
83
  export { AssistantDock, AssistantDockToggle, useAssistantDock };
84
- //# sourceMappingURL=chunk-4TCJDGIM.js.map
85
- //# sourceMappingURL=chunk-4TCJDGIM.js.map
84
+ //# sourceMappingURL=chunk-7EOO6ZCK.js.map
85
+ //# sourceMappingURL=chunk-7EOO6ZCK.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chat/AssistantDock.tsx"],"names":[],"mappings":";;;;;;AAYA,IAAI,MAAA,GAAS,KAAA;AACb,IAAM,SAAA,uBAAgB,GAAA,EAAgB;AACtC,IAAM,SAAA,GAAY,CAAC,CAAA,KAAkB;AACnC,EAAA,SAAA,CAAU,IAAI,CAAC,CAAA;AACf,EAAA,OAAO,MAAM,SAAA,CAAU,MAAA,CAAO,CAAC,CAAA;AACjC,CAAA;AACA,SAAS,IAAI,IAAA,EAAe;AAC1B,EAAA,IAAI,SAAS,MAAA,EAAQ;AACrB,EAAA,MAAA,GAAS,IAAA;AACT,EAAA,SAAA,CAAU,OAAA,CAAQ,CAAC,CAAA,KAAM,CAAA,EAAG,CAAA;AAC9B;AAEO,SAAS,gBAAA,GAAmB;AACjC,EAAA,MAAM,IAAA,GAAO,oBAAA;AAAA,IACX,SAAA;AAAA,IACA,MAAM,MAAA;AAAA,IACN,MAAM;AAAA,GACR;AACA,EAAA,OAAO,EAAE,MAAA,EAAQ,IAAA,EAAM,OAAA,EAAS,GAAA,EAAK,QAAQ,MAAM,GAAA,CAAI,CAAC,MAAM,CAAA,EAAE;AAClE;AASO,SAAS,mBAAA,CAAoB;AAAA,EAClC,KAAA,GAAQ,gBAAA;AAAA,EACR,MAAA,GAAS;AACX,CAAA,EAA6B;AAC3B,EAAA,MAAM,EAAE,eAAA,EAAgB,GAAI,cAAA,EAAe;AAC3C,EAAA,MAAM,OAAO,gBAAA,EAAiB;AAC9B,EAAA,IAAI,CAAC,iBAAiB,OAAO,IAAA;AAC7B,EAAA,2BACG,UAAA,EAAA,EAAW,OAAA,EAAS,IAAA,CAAK,MAAA,EAAQ,OAAc,MAAA,EAAQ,IAAA,CAAK,MAAA,EAAQ,aAAA,EAAa,QAChF,QAAA,kBAAA,GAAA,CAAC,aAAA,EAAA,EAAc,WAAU,QAAA,EAAS,aAAA,EAAY,QAAO,CAAA,EACvD,CAAA;AAEJ;AA0BO,SAAS,aAAA,CAAc;AAAA,EAC5B,IAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,KAAA,GAAQ,GAAA;AAAA,EACR,KAAA,GAAQ,gBAAA;AAAA,EACR,UAAA,GAAa,YAAA;AAAA,EACb,aAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAuB;AACrB,EAAA,MAAM,EAAE,eAAA,EAAgB,GAAI,cAAA,EAAe;AAC3C,EAAA,MAAM,OAAO,gBAAA,EAAiB;AAC9B,EAAA,IAAI,CAAC,iBAAiB,OAAO,IAAA;AAC7B,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA,CAAM,IAAA;AAAA,IAAN;AAAA,MACC,QAAQ,IAAA,CAAK,MAAA;AAAA,MACb,cAAc,IAAA,CAAK,OAAA;AAAA,MACnB,QAAA;AAAA,MACA,KAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,aAAA,EAAY,WAAA;AAAA,MAEZ,QAAA,kBAAA,GAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UACE,GAAG,SAAA;AAAA,UACJ,IAAA;AAAA,UACA,OAAA,EAAQ,MAAA;AAAA,UACR,SAAA,EAAU,gBAAA;AAAA,UACV,+BACE,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,YAAA,aAAA;AAAA,YAEA,CAAC,QAAA,oBACA,GAAA;AAAA,cAAC,UAAA;AAAA,cAAA;AAAA,gBACC,OAAA,EAAS,MAAM,IAAA,CAAK,OAAA,CAAQ,KAAK,CAAA;AAAA,gBACjC,KAAA,EAAO,UAAA;AAAA,gBACP,aAAA,EAAY,YAAA;AAAA,gBAEZ,QAAA,kBAAA,GAAA,CAAC,CAAA,EAAA,EAAE,SAAA,EAAU,QAAA,EAAS,eAAY,MAAA,EAAO;AAAA;AAAA;AAC3C,WAAA,EAEJ;AAAA;AAAA;AAEJ;AAAA,GACF;AAEJ","file":"chunk-4TCJDGIM.js","sourcesContent":["import { useSyncExternalStore } from 'react'\nimport { MessageSquare, X } from 'lucide-react'\nimport { Shell } from '../shell/Shell'\nimport { ToolButton } from '../shell/ToolButton'\nimport { ChatPage } from './ChatPage'\nimport { useChatSurface } from './chat-surface'\nimport type { ChatPageController, ChatPageProps } from './chat-page-types'\n\n/**\n * Open/closed state of the assistant dock: one module-level store, so the topbar button and the\n * dock agree wherever they are mounted, with no host store to write.\n */\nlet isOpen = false\nconst listeners = new Set<() => void>()\nconst subscribe = (l: () => void) => {\n listeners.add(l)\n return () => listeners.delete(l)\n}\nfunction set(next: boolean) {\n if (next === isOpen) return\n isOpen = next\n listeners.forEach((l) => l())\n}\n\nexport function useAssistantDock() {\n const open = useSyncExternalStore(\n subscribe,\n () => isOpen,\n () => false\n )\n return { isOpen: open, setOpen: set, toggle: () => set(!isOpen) }\n}\n\nexport interface AssistantDockToggleProps {\n /** Accessible name. Default \"Open assistant chat\". */\n label?: string\n testId?: string\n}\n\n/** Topbar button that opens and closes the dock. Renders nothing while a page chat is mounted. */\nexport function AssistantDockToggle({\n label = 'Assistant chat',\n testId = 'chat-dock-toggle',\n}: AssistantDockToggleProps) {\n const { isDockAvailable } = useChatSurface()\n const dock = useAssistantDock()\n if (!isDockAvailable) return null\n return (\n <ToolButton onClick={dock.toggle} label={label} active={dock.isOpen} data-testid={testId}>\n <MessageSquare className=\"size-4\" aria-hidden=\"true\" />\n </ToolButton>\n )\n}\n\nexport interface AssistantDockProps extends Omit<ChatPageProps, 'chat' | 'surface'> {\n chat: ChatPageController\n /** Phone layout: the dock covers the screen as a modal. */\n isMobile?: boolean\n /** Desktop width. Default 380. */\n width?: number | string\n /** Accessible name of the dock. Default \"Assistant chat\". */\n label?: string\n closeLabel?: string\n}\n\n/**\n * The assistant as a right-hand dock: `Shell.Dock` around the same `ChatPage` as the full page\n * (`surface=\"dock\"`), with its open state in `useAssistantDock`. It yields to a mounted page chat\n * (`useChatSurface`), so the host only mounts it once, next to `Shell.Root`'s `aside`:\n *\n * ```tsx\n * <Shell.Root aside={<AssistantDock chat={chat} isMobile={isMobile} />} ... />\n * <AssistantDockToggle /> // in the topbar\n * ```\n *\n * Keep the `chat` controller in a component that stays mounted (the layout), so the conversation\n * survives closing the dock.\n */\nexport function AssistantDock({\n chat,\n isMobile = false,\n width = 380,\n label = 'Assistant chat',\n closeLabel = 'Close chat',\n headerActions,\n ...pageProps\n}: AssistantDockProps) {\n const { isDockAvailable } = useChatSurface()\n const dock = useAssistantDock()\n if (!isDockAvailable) return null\n return (\n <Shell.Dock\n isOpen={dock.isOpen}\n onOpenChange={dock.setOpen}\n isMobile={isMobile}\n width={width}\n label={label}\n closeLabel={closeLabel}\n data-testid=\"chat-dock\"\n >\n <ChatPage\n {...pageProps}\n chat={chat}\n surface=\"dock\"\n className=\"min-h-0 flex-1\"\n headerActions={\n <>\n {headerActions}\n {/* On a phone the dock draws its own close button over the header. */}\n {!isMobile && (\n <ToolButton\n onClick={() => dock.setOpen(false)}\n label={closeLabel}\n data-testid=\"chat-close\"\n >\n <X className=\"size-4\" aria-hidden=\"true\" />\n </ToolButton>\n )}\n </>\n }\n />\n </Shell.Dock>\n )\n}\n"]}
1
+ {"version":3,"sources":["../src/chat/AssistantDock.tsx"],"names":[],"mappings":";;;;;;AAYA,IAAI,MAAA,GAAS,KAAA;AACb,IAAM,SAAA,uBAAgB,GAAA,EAAgB;AACtC,IAAM,SAAA,GAAY,CAAC,CAAA,KAAkB;AACnC,EAAA,SAAA,CAAU,IAAI,CAAC,CAAA;AACf,EAAA,OAAO,MAAM,SAAA,CAAU,MAAA,CAAO,CAAC,CAAA;AACjC,CAAA;AACA,SAAS,IAAI,IAAA,EAAe;AAC1B,EAAA,IAAI,SAAS,MAAA,EAAQ;AACrB,EAAA,MAAA,GAAS,IAAA;AACT,EAAA,SAAA,CAAU,OAAA,CAAQ,CAAC,CAAA,KAAM,CAAA,EAAG,CAAA;AAC9B;AAEO,SAAS,gBAAA,GAAmB;AACjC,EAAA,MAAM,IAAA,GAAO,oBAAA;AAAA,IACX,SAAA;AAAA,IACA,MAAM,MAAA;AAAA,IACN,MAAM;AAAA,GACR;AACA,EAAA,OAAO,EAAE,MAAA,EAAQ,IAAA,EAAM,OAAA,EAAS,GAAA,EAAK,QAAQ,MAAM,GAAA,CAAI,CAAC,MAAM,CAAA,EAAE;AAClE;AASO,SAAS,mBAAA,CAAoB;AAAA,EAClC,KAAA,GAAQ,gBAAA;AAAA,EACR,MAAA,GAAS;AACX,CAAA,EAA6B;AAC3B,EAAA,MAAM,EAAE,eAAA,EAAgB,GAAI,cAAA,EAAe;AAC3C,EAAA,MAAM,OAAO,gBAAA,EAAiB;AAC9B,EAAA,IAAI,CAAC,iBAAiB,OAAO,IAAA;AAC7B,EAAA,2BACG,UAAA,EAAA,EAAW,OAAA,EAAS,IAAA,CAAK,MAAA,EAAQ,OAAc,MAAA,EAAQ,IAAA,CAAK,MAAA,EAAQ,aAAA,EAAa,QAChF,QAAA,kBAAA,GAAA,CAAC,aAAA,EAAA,EAAc,WAAU,QAAA,EAAS,aAAA,EAAY,QAAO,CAAA,EACvD,CAAA;AAEJ;AA0BO,SAAS,aAAA,CAAc;AAAA,EAC5B,IAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,KAAA,GAAQ,GAAA;AAAA,EACR,KAAA,GAAQ,gBAAA;AAAA,EACR,UAAA,GAAa,YAAA;AAAA,EACb,aAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAuB;AACrB,EAAA,MAAM,EAAE,eAAA,EAAgB,GAAI,cAAA,EAAe;AAC3C,EAAA,MAAM,OAAO,gBAAA,EAAiB;AAC9B,EAAA,IAAI,CAAC,iBAAiB,OAAO,IAAA;AAC7B,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA,CAAM,IAAA;AAAA,IAAN;AAAA,MACC,QAAQ,IAAA,CAAK,MAAA;AAAA,MACb,cAAc,IAAA,CAAK,OAAA;AAAA,MACnB,QAAA;AAAA,MACA,KAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,aAAA,EAAY,WAAA;AAAA,MAEZ,QAAA,kBAAA,GAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UACE,GAAG,SAAA;AAAA,UACJ,IAAA;AAAA,UACA,OAAA,EAAQ,MAAA;AAAA,UACR,SAAA,EAAU,gBAAA;AAAA,UACV,+BACE,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,YAAA,aAAA;AAAA,YAEA,CAAC,QAAA,oBACA,GAAA;AAAA,cAAC,UAAA;AAAA,cAAA;AAAA,gBACC,OAAA,EAAS,MAAM,IAAA,CAAK,OAAA,CAAQ,KAAK,CAAA;AAAA,gBACjC,KAAA,EAAO,UAAA;AAAA,gBACP,aAAA,EAAY,YAAA;AAAA,gBAEZ,QAAA,kBAAA,GAAA,CAAC,CAAA,EAAA,EAAE,SAAA,EAAU,QAAA,EAAS,eAAY,MAAA,EAAO;AAAA;AAAA;AAC3C,WAAA,EAEJ;AAAA;AAAA;AAEJ;AAAA,GACF;AAEJ","file":"chunk-7EOO6ZCK.js","sourcesContent":["import { useSyncExternalStore } from 'react'\nimport { MessageSquare, X } from 'lucide-react'\nimport { Shell } from '../shell/Shell'\nimport { ToolButton } from '../shell/ToolButton'\nimport { ChatPage } from './ChatPage'\nimport { useChatSurface } from './chat-surface'\nimport type { ChatPageController, ChatPageProps } from './chat-page-types'\n\n/**\n * Open/closed state of the assistant dock: one module-level store, so the topbar button and the\n * dock agree wherever they are mounted, with no host store to write.\n */\nlet isOpen = false\nconst listeners = new Set<() => void>()\nconst subscribe = (l: () => void) => {\n listeners.add(l)\n return () => listeners.delete(l)\n}\nfunction set(next: boolean) {\n if (next === isOpen) return\n isOpen = next\n listeners.forEach((l) => l())\n}\n\nexport function useAssistantDock() {\n const open = useSyncExternalStore(\n subscribe,\n () => isOpen,\n () => false\n )\n return { isOpen: open, setOpen: set, toggle: () => set(!isOpen) }\n}\n\nexport interface AssistantDockToggleProps {\n /** Accessible name. Default \"Open assistant chat\". */\n label?: string\n testId?: string\n}\n\n/** Topbar button that opens and closes the dock. Renders nothing while a page chat is mounted. */\nexport function AssistantDockToggle({\n label = 'Assistant chat',\n testId = 'chat-dock-toggle',\n}: AssistantDockToggleProps) {\n const { isDockAvailable } = useChatSurface()\n const dock = useAssistantDock()\n if (!isDockAvailable) return null\n return (\n <ToolButton onClick={dock.toggle} label={label} active={dock.isOpen} data-testid={testId}>\n <MessageSquare className=\"size-4\" aria-hidden=\"true\" />\n </ToolButton>\n )\n}\n\nexport interface AssistantDockProps extends Omit<ChatPageProps, 'chat' | 'surface'> {\n chat: ChatPageController\n /** Phone layout: the dock covers the screen as a modal. */\n isMobile?: boolean\n /** Desktop width. Default 380. */\n width?: number | string\n /** Accessible name of the dock. Default \"Assistant chat\". */\n label?: string\n closeLabel?: string\n}\n\n/**\n * The assistant as a right-hand dock: `Shell.Dock` around the same `ChatPage` as the full page\n * (`surface=\"dock\"`), with its open state in `useAssistantDock`. It yields to a mounted page chat\n * (`useChatSurface`), so the host only mounts it once, next to `Shell.Root`'s `aside`:\n *\n * ```tsx\n * <Shell.Root aside={<AssistantDock chat={chat} isMobile={isMobile} />} ... />\n * <AssistantDockToggle /> // in the topbar\n * ```\n *\n * Keep the `chat` controller in a component that stays mounted (the layout), so the conversation\n * survives closing the dock.\n */\nexport function AssistantDock({\n chat,\n isMobile = false,\n width = 380,\n label = 'Assistant chat',\n closeLabel = 'Close chat',\n headerActions,\n ...pageProps\n}: AssistantDockProps) {\n const { isDockAvailable } = useChatSurface()\n const dock = useAssistantDock()\n if (!isDockAvailable) return null\n return (\n <Shell.Dock\n isOpen={dock.isOpen}\n onOpenChange={dock.setOpen}\n isMobile={isMobile}\n width={width}\n label={label}\n closeLabel={closeLabel}\n data-testid=\"chat-dock\"\n >\n <ChatPage\n {...pageProps}\n chat={chat}\n surface=\"dock\"\n className=\"min-h-0 flex-1\"\n headerActions={\n <>\n {headerActions}\n {/* On a phone the dock draws its own close button over the header. */}\n {!isMobile && (\n <ToolButton\n onClick={() => dock.setOpen(false)}\n label={closeLabel}\n data-testid=\"chat-close\"\n >\n <X className=\"size-4\" aria-hidden=\"true\" />\n </ToolButton>\n )}\n </>\n }\n />\n </Shell.Dock>\n )\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { useConnection } from './chunk-HXNFVUMY.js';
3
- import { AssistantDock } from './chunk-4TCJDGIM.js';
3
+ import { AssistantDock } from './chunk-7EOO6ZCK.js';
4
4
  import { useCallback } from 'react';
5
5
  import { useAiTask, useWorkspaceDocs as useWorkspaceDocs$1, useSemanticSearch as useSemanticSearch$1, useWorkspaceUsers, buildMentionCandidates, useConversation, ConversationScope } from '@arbidocs/react';
6
6
  export { redlineStats, textToArtifact, toRedlineMarkdown } from '@arbidocs/react';
@@ -61,5 +61,5 @@ function ScopedAssistantDock(props) {
61
61
  }
62
62
 
63
63
  export { ConnectedAssistantDock, useConnectedAiTask, useConnectedChat, useSemanticSearch, useWorkspaceDocs };
64
- //# sourceMappingURL=chunk-AJCMN23Q.js.map
65
- //# sourceMappingURL=chunk-AJCMN23Q.js.map
64
+ //# sourceMappingURL=chunk-AGDOBXHY.js.map
65
+ //# sourceMappingURL=chunk-AGDOBXHY.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/connection/ai.tsx"],"names":["useKitAiTask","useKitWorkspaceDocs","useKitSemanticSearch"],"mappings":";;;;;;;AAkCO,SAAS,kBAAA,GAAqB;AACnC,EAAA,MAAM,EAAE,eAAA,EAAgB,GAAI,aAAA,EAAc;AAC1C,EAAA,MAAM,OAAOA,SAAA,EAAa;AAC1B,EAAA,MAAM,SAAS,IAAA,CAAK,GAAA;AACpB,EAAA,MAAM,GAAA,GAAM,WAAA;AAAA,IACV,CAAC,QAAA,EAAkB,MAAA,EAAkB,IAAA,KACnC,OAAO,QAAA,EAAU,MAAA,EAAQ,EAAE,GAAG,IAAA,EAAM,KAAA,EAAO,IAAA,EAAM,KAAA,IAAS,iBAAiB,CAAA;AAAA,IAC7E,CAAC,QAAQ,eAAe;AAAA,GAC1B;AACA,EAAA,OAAO,EAAE,GAAG,IAAA,EAAM,GAAA,EAAI;AACxB;AAGO,SAAS,gBAAA,GAAmB;AACjC,EAAA,MAAM,EAAE,WAAA,EAAa,mBAAA,EAAoB,GAAI,aAAA,EAAc;AAC3D,EAAA,OAAOC,kBAAA,CAAoB,eAAe,mBAAmB,CAAA;AAC/D;AAGO,SAAS,iBAAA,GAAoB;AAClC,EAAA,MAAM,EAAE,eAAA,EAAgB,GAAI,aAAA,EAAc;AAC1C,EAAA,OAAOC,oBAAqB,EAAC,EAAG,EAAE,KAAA,EAAO,iBAAiB,CAAA;AAC5D;AAQO,SAAS,iBACd,OAAA,EAC8D;AAC9D,EAAA,MAAM,EAAE,aAAa,mBAAA,EAAqB,eAAA,EAAiB,MAAM,MAAA,EAAQ,mBAAA,KACvE,aAAA,EAAc;AAChB,EAAA,MAAM,OAAO,WAAA,IAAe,mBAAA;AAC5B,EAAA,MAAM,EAAE,IAAA,EAAM,OAAA,GAAU,EAAC,EAAE,GAAI,kBAAkB,IAAA,EAAM;AAAA,IACrD,OAAA,EAAS,MAAA,KAAW,eAAA,IAAmB,CAAC,CAAC,IAAA;AAAA,IACzC,WAAA,EAAa;AAAA,GACd,CAAA;AAED,EAAA,MAAM,iBAAA,GAAoB,sBAAA;AAAA,IACxB,MAAA,KAAW,eAAA,GAAkB,OAAA,GAAU,EAAC;AAAA,IACxC,IAAA,EAAM;AAAA,GACR;AACA,EAAA,MAAM,OAAO,eAAA,CAAgB;AAAA,IAC3B,GAAG,OAAA;AAAA,IACH,WAAA,EAAa,IAAA;AAAA,IACb,KAAA,EAAO,SAAS,KAAA,IAAS;AAAA,GAC1B,CAAA;AACD,EAAA,OAAO;AAAA,IACL,GAAG,IAAA;AAAA,IACH,iBAAA;AAAA,IACA,QAAA,EAAU,IAAA,CAAK,QAAA,CAAS,GAAA,CAAI,CAAC,OAAA,MAAa;AAAA,MACxC,GAAG,OAAA;AAAA,MACH,GAAI,QAAQ,QAAA,GACR;AAAA,QACE,WAAW,CAAC,CAAC,MAAM,UAAA,IAAc,OAAA,CAAQ,aAAa,IAAA,CAAK,UAAA;AAAA,QAC3D,YACE,OAAA,CAAQ,QAAA,KAAa,IAAA,EAAM,UAAA,GACvB,MAAM,IAAA,IAAQ,IAAA,EAAM,KAAA,GACpB,iBAAA,CAAkB,KAAK,CAAC,SAAA,KAAc,UAAU,EAAA,KAAO,OAAA,CAAQ,QAAQ,CAAA,EAAG;AAAA,UAElF;AAAC,KACP,CAAE;AAAA,GACJ;AACF;AAOO,SAAS,uBAAuB,KAAA,EAAyC;AAC9E,EAAA,2BACG,iBAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,mBAAA,EAAA,EAAqB,GAAG,OAAO,CAAA,EAClC,CAAA;AAEJ;AAEA,SAAS,oBAAoB,KAAA,EAAyC;AACpE,EAAA,MAAM,OAAO,gBAAA,EAAiB;AAC9B,EAAA,uBAAO,GAAA,CAAC,aAAA,EAAA,EAAe,GAAG,KAAA,EAAO,IAAA,EAAY,CAAA;AAC/C","file":"chunk-AJCMN23Q.js","sourcesContent":["/**\n * The connected agent hooks — thin adapters over the reusable AI kit in\n * `@arbidocs/react`. The streaming/accumulation/search plumbing lives once in\n * the SDK; these hooks only bind the *workspace source* (from the connection\n * context, falling back to the configured workspace) and inject the host's\n * default assistant *configuration* so call sites needn't know the config\n * ext_id. An explicit `opts.model` still wins.\n */\nimport { useCallback } from 'react'\nimport {\n useAiTask as useKitAiTask,\n useWorkspaceDocs as useKitWorkspaceDocs,\n useSemanticSearch as useKitSemanticSearch,\n useConversation,\n useWorkspaceUsers,\n buildMentionCandidates,\n ConversationScope,\n type ArbiConversation,\n type UseConversationOptions,\n type AiRunOptions,\n} from '@arbidocs/react'\nimport { useConnection } from './ConnectionProvider'\nimport { AssistantDock, type AssistantDockProps } from '../chat/AssistantDock'\nimport type { MentionCandidate } from '@arbidocs/react/shell'\n\nexport type { AiTaskStatus, AiRunOptions, SearchChunk, ArtifactEvent } from '@arbidocs/react'\n\n/** Client-side redlining, re-exported so a host app has one import surface. */\nexport { toRedlineMarkdown, redlineStats, textToArtifact } from '@arbidocs/react'\n\n/**\n * The kit's `useAiTask` with the host's default assistant configuration\n * injected, so call sites needn't know the config ext_id.\n */\nexport function useConnectedAiTask() {\n const { assistantConfig } = useConnection()\n const task = useKitAiTask()\n const kitRun = task.run\n const run = useCallback(\n (question: string, docIds: string[], opts?: AiRunOptions) =>\n kitRun(question, docIds, { ...opts, model: opts?.model ?? assistantConfig }),\n [kitRun, assistantConfig]\n )\n return { ...task, run }\n}\n\n/** Resolve the active workspace + its document ids (what we ground the agent on). */\nexport function useWorkspaceDocs() {\n const { workspaceId, fallbackWorkspaceId } = useConnection()\n return useKitWorkspaceDocs(workspaceId ?? fallbackWorkspaceId)\n}\n\n/** Search the active workspace's documents (all of them) and return the top matching passages. */\nexport function useSemanticSearch() {\n const { assistantConfig } = useConnection()\n return useKitSemanticSearch([], { model: assistantConfig })\n}\n\n/**\n * The chat engine for `ChatPage` bound to the connection: the active workspace and the host's\n * default assistant configuration are injected, so a host writes\n * `<ChatPage chat={useConnectedChat()} />`. It works on the open conversation of the session in\n * scope (wrap a second chat on the page in `ConversationScope`).\n */\nexport function useConnectedChat(\n options?: Omit<UseConversationOptions, 'workspaceId'>\n): ArbiConversation & { mentionCandidates: MentionCandidate[] } {\n const { workspaceId, fallbackWorkspaceId, assistantConfig, user, status, ensureWorkspaceOpen } =\n useConnection()\n const wsId = workspaceId ?? fallbackWorkspaceId\n const { data: members = [] } = useWorkspaceUsers(wsId, {\n enabled: status === 'authenticated' && !!wsId,\n beforeFetch: ensureWorkspaceOpen,\n })\n // The engine's own candidates: what the composer inserts is what a send routes on.\n const mentionCandidates = buildMentionCandidates(\n status === 'authenticated' ? members : [],\n user?.externalId\n )\n const chat = useConversation({\n ...options,\n workspaceId: wsId,\n model: options?.model ?? assistantConfig,\n })\n return {\n ...chat,\n mentionCandidates,\n messages: chat.messages.map((message) => ({\n ...message,\n ...(message.authorId\n ? {\n fromOther: !!user?.externalId && message.authorId !== user.externalId,\n senderName:\n message.authorId === user?.externalId\n ? user?.name || user?.email\n : mentionCandidates.find((candidate) => candidate.id === message.authorId)?.label,\n }\n : {}),\n })),\n }\n}\n\n/**\n * The assistant dock bound to the connection: mount it once in the layout (`Shell.Root`'s `aside`)\n * and put `AssistantDockToggle` in the topbar. Its chat keeps its own open conversation (and\n * survives closing the dock).\n */\nexport function ConnectedAssistantDock(props: Omit<AssistantDockProps, 'chat'>) {\n return (\n <ConversationScope>\n <ScopedAssistantDock {...props} />\n </ConversationScope>\n )\n}\n\nfunction ScopedAssistantDock(props: Omit<AssistantDockProps, 'chat'>) {\n const chat = useConnectedChat()\n return <AssistantDock {...props} chat={chat} />\n}\n"]}
1
+ {"version":3,"sources":["../src/connection/ai.tsx"],"names":["useKitAiTask","useKitWorkspaceDocs","useKitSemanticSearch"],"mappings":";;;;;;;AAkCO,SAAS,kBAAA,GAAqB;AACnC,EAAA,MAAM,EAAE,eAAA,EAAgB,GAAI,aAAA,EAAc;AAC1C,EAAA,MAAM,OAAOA,SAAA,EAAa;AAC1B,EAAA,MAAM,SAAS,IAAA,CAAK,GAAA;AACpB,EAAA,MAAM,GAAA,GAAM,WAAA;AAAA,IACV,CAAC,QAAA,EAAkB,MAAA,EAAkB,IAAA,KACnC,OAAO,QAAA,EAAU,MAAA,EAAQ,EAAE,GAAG,IAAA,EAAM,KAAA,EAAO,IAAA,EAAM,KAAA,IAAS,iBAAiB,CAAA;AAAA,IAC7E,CAAC,QAAQ,eAAe;AAAA,GAC1B;AACA,EAAA,OAAO,EAAE,GAAG,IAAA,EAAM,GAAA,EAAI;AACxB;AAGO,SAAS,gBAAA,GAAmB;AACjC,EAAA,MAAM,EAAE,WAAA,EAAa,mBAAA,EAAoB,GAAI,aAAA,EAAc;AAC3D,EAAA,OAAOC,kBAAA,CAAoB,eAAe,mBAAmB,CAAA;AAC/D;AAGO,SAAS,iBAAA,GAAoB;AAClC,EAAA,MAAM,EAAE,eAAA,EAAgB,GAAI,aAAA,EAAc;AAC1C,EAAA,OAAOC,oBAAqB,EAAC,EAAG,EAAE,KAAA,EAAO,iBAAiB,CAAA;AAC5D;AAQO,SAAS,iBACd,OAAA,EAC8D;AAC9D,EAAA,MAAM,EAAE,aAAa,mBAAA,EAAqB,eAAA,EAAiB,MAAM,MAAA,EAAQ,mBAAA,KACvE,aAAA,EAAc;AAChB,EAAA,MAAM,OAAO,WAAA,IAAe,mBAAA;AAC5B,EAAA,MAAM,EAAE,IAAA,EAAM,OAAA,GAAU,EAAC,EAAE,GAAI,kBAAkB,IAAA,EAAM;AAAA,IACrD,OAAA,EAAS,MAAA,KAAW,eAAA,IAAmB,CAAC,CAAC,IAAA;AAAA,IACzC,WAAA,EAAa;AAAA,GACd,CAAA;AAED,EAAA,MAAM,iBAAA,GAAoB,sBAAA;AAAA,IACxB,MAAA,KAAW,eAAA,GAAkB,OAAA,GAAU,EAAC;AAAA,IACxC,IAAA,EAAM;AAAA,GACR;AACA,EAAA,MAAM,OAAO,eAAA,CAAgB;AAAA,IAC3B,GAAG,OAAA;AAAA,IACH,WAAA,EAAa,IAAA;AAAA,IACb,KAAA,EAAO,SAAS,KAAA,IAAS;AAAA,GAC1B,CAAA;AACD,EAAA,OAAO;AAAA,IACL,GAAG,IAAA;AAAA,IACH,iBAAA;AAAA,IACA,QAAA,EAAU,IAAA,CAAK,QAAA,CAAS,GAAA,CAAI,CAAC,OAAA,MAAa;AAAA,MACxC,GAAG,OAAA;AAAA,MACH,GAAI,QAAQ,QAAA,GACR;AAAA,QACE,WAAW,CAAC,CAAC,MAAM,UAAA,IAAc,OAAA,CAAQ,aAAa,IAAA,CAAK,UAAA;AAAA,QAC3D,YACE,OAAA,CAAQ,QAAA,KAAa,IAAA,EAAM,UAAA,GACvB,MAAM,IAAA,IAAQ,IAAA,EAAM,KAAA,GACpB,iBAAA,CAAkB,KAAK,CAAC,SAAA,KAAc,UAAU,EAAA,KAAO,OAAA,CAAQ,QAAQ,CAAA,EAAG;AAAA,UAElF;AAAC,KACP,CAAE;AAAA,GACJ;AACF;AAOO,SAAS,uBAAuB,KAAA,EAAyC;AAC9E,EAAA,2BACG,iBAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,mBAAA,EAAA,EAAqB,GAAG,OAAO,CAAA,EAClC,CAAA;AAEJ;AAEA,SAAS,oBAAoB,KAAA,EAAyC;AACpE,EAAA,MAAM,OAAO,gBAAA,EAAiB;AAC9B,EAAA,uBAAO,GAAA,CAAC,aAAA,EAAA,EAAe,GAAG,KAAA,EAAO,IAAA,EAAY,CAAA;AAC/C","file":"chunk-AGDOBXHY.js","sourcesContent":["/**\n * The connected agent hooks — thin adapters over the reusable AI kit in\n * `@arbidocs/react`. The streaming/accumulation/search plumbing lives once in\n * the SDK; these hooks only bind the *workspace source* (from the connection\n * context, falling back to the configured workspace) and inject the host's\n * default assistant *configuration* so call sites needn't know the config\n * ext_id. An explicit `opts.model` still wins.\n */\nimport { useCallback } from 'react'\nimport {\n useAiTask as useKitAiTask,\n useWorkspaceDocs as useKitWorkspaceDocs,\n useSemanticSearch as useKitSemanticSearch,\n useConversation,\n useWorkspaceUsers,\n buildMentionCandidates,\n ConversationScope,\n type ArbiConversation,\n type UseConversationOptions,\n type AiRunOptions,\n} from '@arbidocs/react'\nimport { useConnection } from './ConnectionProvider'\nimport { AssistantDock, type AssistantDockProps } from '../chat/AssistantDock'\nimport type { MentionCandidate } from '@arbidocs/react/shell'\n\nexport type { AiTaskStatus, AiRunOptions, SearchChunk, ArtifactEvent } from '@arbidocs/react'\n\n/** Client-side redlining, re-exported so a host app has one import surface. */\nexport { toRedlineMarkdown, redlineStats, textToArtifact } from '@arbidocs/react'\n\n/**\n * The kit's `useAiTask` with the host's default assistant configuration\n * injected, so call sites needn't know the config ext_id.\n */\nexport function useConnectedAiTask() {\n const { assistantConfig } = useConnection()\n const task = useKitAiTask()\n const kitRun = task.run\n const run = useCallback(\n (question: string, docIds: string[], opts?: AiRunOptions) =>\n kitRun(question, docIds, { ...opts, model: opts?.model ?? assistantConfig }),\n [kitRun, assistantConfig]\n )\n return { ...task, run }\n}\n\n/** Resolve the active workspace + its document ids (what we ground the agent on). */\nexport function useWorkspaceDocs() {\n const { workspaceId, fallbackWorkspaceId } = useConnection()\n return useKitWorkspaceDocs(workspaceId ?? fallbackWorkspaceId)\n}\n\n/** Search the active workspace's documents (all of them) and return the top matching passages. */\nexport function useSemanticSearch() {\n const { assistantConfig } = useConnection()\n return useKitSemanticSearch([], { model: assistantConfig })\n}\n\n/**\n * The chat engine for `ChatPage` bound to the connection: the active workspace and the host's\n * default assistant configuration are injected, so a host writes\n * `<ChatPage chat={useConnectedChat()} />`. It works on the open conversation of the session in\n * scope (wrap a second chat on the page in `ConversationScope`).\n */\nexport function useConnectedChat(\n options?: Omit<UseConversationOptions, 'workspaceId'>\n): ArbiConversation & { mentionCandidates: MentionCandidate[] } {\n const { workspaceId, fallbackWorkspaceId, assistantConfig, user, status, ensureWorkspaceOpen } =\n useConnection()\n const wsId = workspaceId ?? fallbackWorkspaceId\n const { data: members = [] } = useWorkspaceUsers(wsId, {\n enabled: status === 'authenticated' && !!wsId,\n beforeFetch: ensureWorkspaceOpen,\n })\n // The engine's own candidates: what the composer inserts is what a send routes on.\n const mentionCandidates = buildMentionCandidates(\n status === 'authenticated' ? members : [],\n user?.externalId\n )\n const chat = useConversation({\n ...options,\n workspaceId: wsId,\n model: options?.model ?? assistantConfig,\n })\n return {\n ...chat,\n mentionCandidates,\n messages: chat.messages.map((message) => ({\n ...message,\n ...(message.authorId\n ? {\n fromOther: !!user?.externalId && message.authorId !== user.externalId,\n senderName:\n message.authorId === user?.externalId\n ? user?.name || user?.email\n : mentionCandidates.find((candidate) => candidate.id === message.authorId)?.label,\n }\n : {}),\n })),\n }\n}\n\n/**\n * The assistant dock bound to the connection: mount it once in the layout (`Shell.Root`'s `aside`)\n * and put `AssistantDockToggle` in the topbar. Its chat keeps its own open conversation (and\n * survives closing the dock).\n */\nexport function ConnectedAssistantDock(props: Omit<AssistantDockProps, 'chat'>) {\n return (\n <ConversationScope>\n <ScopedAssistantDock {...props} />\n </ConversationScope>\n )\n}\n\nfunction ScopedAssistantDock(props: Omit<AssistantDockProps, 'chat'>) {\n const chat = useConnectedChat()\n return <AssistantDock {...props} chat={chat} />\n}\n"]}
@@ -5,13 +5,13 @@ import { UsageMeter } from './chunk-66TA5IBN.js';
5
5
  import { getFontPairing } from './chunk-NHZK64TQ.js';
6
6
  import { Chart, categoricalStyle } from './chunk-WKYKDTNM.js';
7
7
  import { ToneBadge } from './chunk-5LXQPP2K.js';
8
- import { TabHeader } from './chunk-ABEKUV6L.js';
9
8
  import { PasswordStrengthInput } from './chunk-P6OLZGQA.js';
9
+ import { TabHeader } from './chunk-ABEKUV6L.js';
10
10
  import { TONE_BORDER, TONE_SURFACE } from './chunk-AUS3KBHJ.js';
11
11
  import { formatCount } from './chunk-5VYJP6XD.js';
12
12
  import { useRestoreFocus, ModalSection, ModalSectionTitle, ModalHeader, ModalScaffold } from './chunk-TX2ZICS7.js';
13
13
  import { testIdOr, prefixedTestId } from './chunk-7F6CBP3Z.js';
14
- import { useId, useMemo, useState, Fragment as Fragment$1, useRef } from 'react';
14
+ import { useId, useMemo, useState, Fragment as Fragment$1, useRef, useEffect, version } from 'react';
15
15
  import { Sun, Moon, CheckCircle2, AlertCircle, Loader2, LogOut, ChevronDown, ChevronRight, Radio, History, Undo2, Star, Trash2, Users, Sparkles, Brain, RefreshCw, Wifi, WifiOff, Crown, Pencil, Plus, Check, X, Info, Tag, Gift, AlertTriangle, PlugIcon, ExternalLink, ShieldCheck, Plug, Camera, MessageCircleQuestionMark, BookOpen, UserPlus, ChartNoAxesColumn, FileText, Mail, Send, Clock, Infinity, Copy, RotateCcw } from 'lucide-react';
16
16
  import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Button, Input, DialogFooter, Collapsible, CollapsibleTrigger, CollapsibleContent, cn, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, Tooltip, TooltipTrigger, TooltipContent, Switch, Checkbox, Label, Textarea, ScrollArea, Badge, Avatar, AvatarImage, AvatarFallback, entityNoun, VerifiedBadge, getEntityLabel, Progress } from '@arbidocs/react/ui';
17
17
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -4259,6 +4259,97 @@ function ErrorDialogView({
4259
4259
  }
4260
4260
  ) });
4261
4261
  }
4262
+ function ErrorDialog({ detailsText, copiedMs = 2e3, ...view }) {
4263
+ const [isShown, setShown] = useState(false);
4264
+ const [isCopied, setCopied] = useState(false);
4265
+ const timer = useRef(void 0);
4266
+ useEffect(() => () => clearTimeout(timer.current), []);
4267
+ const copy = async () => {
4268
+ if (detailsText === void 0) return;
4269
+ try {
4270
+ await navigator.clipboard.writeText(detailsText);
4271
+ } catch (error) {
4272
+ console.error("Failed to copy error details", error);
4273
+ return;
4274
+ }
4275
+ setCopied(true);
4276
+ clearTimeout(timer.current);
4277
+ timer.current = setTimeout(() => setCopied(false), copiedMs);
4278
+ };
4279
+ return /* @__PURE__ */ jsx(
4280
+ ErrorDialogView,
4281
+ {
4282
+ ...view,
4283
+ details: detailsText === void 0 ? void 0 : {
4284
+ text: detailsText,
4285
+ isShown,
4286
+ isCopied,
4287
+ onToggle: () => setShown((shown) => !shown),
4288
+ onCopy: () => void copy()
4289
+ }
4290
+ }
4291
+ );
4292
+ }
4293
+ var RULE = "\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550";
4294
+ var SUB_RULE = "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500";
4295
+ var STACK_LINES = 5;
4296
+ var COMPONENT_LINES = 5;
4297
+ var NOISE = ["ErrorBoundary", "RenderedRoute", "DataRoutes", "_renderMatches"];
4298
+ function section({ title, rows, labelWidth }) {
4299
+ const width = labelWidth ?? Math.max(...rows.map(([label]) => label.length + 1)) + 3;
4300
+ const lines = rows.map(([label, value]) => `${`${label}:`.padEnd(width)}${value}`);
4301
+ return [title, SUB_RULE, ...lines].join("\n");
4302
+ }
4303
+ function formatErrorReport({
4304
+ error,
4305
+ componentStack,
4306
+ componentName = "Unknown Component",
4307
+ sections = [],
4308
+ timestamp = (/* @__PURE__ */ new Date()).toISOString(),
4309
+ url = window.location.href,
4310
+ userAgent = navigator.userAgent
4311
+ }) {
4312
+ const stack = (error?.stack || "No stack trace available").split("\n").slice(0, STACK_LINES).join("\n");
4313
+ const components = (componentStack || "No component stack available").split("\n").map((line) => line.trim()).filter((line) => line.length > 0 && !NOISE.some((noise) => line.includes(noise))).slice(0, COMPONENT_LINES);
4314
+ const body = [
4315
+ section({
4316
+ title: "ERROR DETAILS",
4317
+ rows: [
4318
+ ["Type", error?.name || "Unknown"],
4319
+ ["Message", error?.message || "Unknown error"],
4320
+ ["Component", componentName],
4321
+ ["URL", url]
4322
+ ]
4323
+ }),
4324
+ ...sections.map(section),
4325
+ ["STACK TRACE (First 5 Lines)", SUB_RULE, stack].join("\n"),
4326
+ [
4327
+ "COMPONENT HIERARCHY",
4328
+ SUB_RULE,
4329
+ components.length > 0 ? components.join("\n") : "No meaningful component stack available"
4330
+ ].join("\n"),
4331
+ section({
4332
+ title: "ENVIRONMENT",
4333
+ rows: [
4334
+ ["React Version", version],
4335
+ ["Browser", userAgent]
4336
+ ]
4337
+ })
4338
+ ];
4339
+ return [
4340
+ RULE,
4341
+ "ERROR REPORT",
4342
+ RULE,
4343
+ "",
4344
+ `TIMESTAMP: ${timestamp}`,
4345
+ "",
4346
+ body.join("\n\n"),
4347
+ "",
4348
+ RULE,
4349
+ "END OF REPORT",
4350
+ RULE
4351
+ ].join("\n");
4352
+ }
4262
4353
 
4263
4354
  // src/settings/account-views.ts
4264
4355
  function formatSessionTtl(totalSeconds) {
@@ -4599,7 +4690,7 @@ function RequireVerified({
4599
4690
  ] });
4600
4691
  }
4601
4692
  function resolveSettingsSection(sections, id) {
4602
- return sections.find((section) => section.id === id) ?? sections[0];
4693
+ return sections.find((section2) => section2.id === id) ?? sections[0];
4603
4694
  }
4604
4695
  function SettingsPage({
4605
4696
  sections,
@@ -4777,6 +4868,6 @@ function callsSwitchState(config, optedIn) {
4777
4868
  };
4778
4869
  }
4779
4870
 
4780
- export { ActiveSessionsDialog, AppearanceSettings, AvatarPicker, CONVERSATION_TITLE_MAX, CheckoutDialogFrame, ConfigSwitcherBar, ConnectionCard, ConnectionsEmpty, ConnectionsError, ConnectionsLoading, ConversationTitleSection, DEFAULT_ACTIVE_SESSIONS_DIALOG_LABELS, DEFAULT_APPEARANCE_PAIRING_IDS, DEFAULT_AVATAR_PICKER_LABELS, DEFAULT_CHECKOUT_DIALOG_LABELS, DEFAULT_CONFIG_SWITCHER_BAR_LABELS, DEFAULT_CONNECTION_CARD_LABELS, DEFAULT_CONVERSATION_TITLE_SECTION_LABELS, DEFAULT_DAILY_CAP_FIELD_LABELS, DEFAULT_DELETE_ACCOUNT_DIALOG_LABELS, DEFAULT_EMAIL_WORKSPACE_DIALOG_LABELS, DEFAULT_ERROR_DIALOG_LABELS, DEFAULT_IDENTITY_VERIFICATION_LABELS, DEFAULT_INVITE_CONTACTS_DIALOG_LABELS, DEFAULT_INVOICES_DIALOG_LABELS, DEFAULT_LOGOUT_DIALOG_LABELS, DEFAULT_MODEL_SELECTION_SECTION_LABELS, DEFAULT_PASSWORD_CHANGE_DIALOG_LABELS, DEFAULT_PLAN_CARD_LABELS, DEFAULT_PROFILE_CARD_LABELS, DEFAULT_PROJECT_DETAIL_HEADER_LABELS, DEFAULT_PROJECT_LIST_LABELS, DEFAULT_QUOTA_EXCEEDED_DIALOG_LABELS, DEFAULT_REFERRAL_REWARD_LABELS, DEFAULT_RENAME_DIALOG_LABELS, DEFAULT_SHARED_PROJECTS_SECTION_LABELS, DEFAULT_SUBSCRIPTION_STATUS_LABELS, DEFAULT_SUPPORT_PANEL_LABELS, DEFAULT_SYNC_DIALOG_FOOTER_LABELS, DEFAULT_SYNC_FOLDER_ROW_LABELS, DEFAULT_TIPS_EDITOR_LABELS, DEFAULT_USAGE_LINE_CHART_LABELS, DEFAULT_USAGE_PANEL_LABELS, DEFAULT_USAGE_PROPORTION_BAR_LABELS, DEFAULT_WELCOME_DIALOG_LABELS, DEFAULT_WORK_OFFLINE_LABELS, DailyCapField, DeleteAccountDialog, DraggableHeader, EMAIL_NOTIFICATION_CATEGORIES, EMAIL_NOTIFICATION_KEYS, EmailWorkspaceDialogView, ErrorDialogView, FilterChip, FloatingPanel, IdentityVerificationCard, IdentityVerificationDialog, InviteContactsDialog, InvoicesDialog, JsonTree, LogoutDialog, MessageJsonTree, ModelProviderLabel, ModelSelectionSection, MoreInfo, MoreInfoList, NotificationCategoryList, PanelActionsRow, PanelAddButton, PanelFrame, PanelFrameBody, PanelNote, PanelScroll, PanelTitleBar, PasswordChangeDialog, PlanActionButton, PlanActionRow, PlanBadge, PlanCard, PlanCardGrid, PlanDialogFrame, PlanInfoPopover, PlanNotice, PlanPickerCard, PlanPickerHeader, PlanStack, PlanTierOption, PremiumModelsFrame, PricingToggle, ProfileCard, ProjectDetailHeader, ProjectDetailSection, ProjectGroup, ProjectList, ProjectRow, PromoCodeInput, QuotaExceededDialogView, QuotaMeter, ReferralRewardBadge, ReferralRewardNote, ReferralRewardSummary, RenameDialog, RequireVerified, ServerConnectionButton, SettingsPage, SettingsSwitchGroup, SettingsSwitchRow, SharedProjectRow, SharedProjectsSection, SubscriptionStatusView, SupportPanel, SupportUnavailable, SyncCheckList, SyncDialogBody, SyncDialogFooter, SyncField, SyncFolderRow, SyncFolderStatus, SyncLinkButton, SyncLinkRow, SyncLoading, SyncNote, SyncOptionToggle, SyncOptions, SyncReconnectNotice, SyncSelect, SyncSmallNote, SyncTreeFrame, ThreadPreviewDialog, TipsEditorDialog, UsageActionButton, UsageLegend, UsageLineChart, UsagePanel, UsageProportionBar, UsageQuotaHint, UsageSection, UsageSummary, UsageToggle, WelcomeDialog, WorkOfflineToggle, applyInvertedIndexFilter, applyTriStateFilters, buildInvertedIndex, callsSwitchState, formatSessionTtl, resolveSettingsSection, serverConnectionView, toActiveSessionViews, toDeleteBlockerViews, toLogoutSessionViews, toNotificationCategories };
4781
- //# sourceMappingURL=chunk-W7B6VO7E.js.map
4782
- //# sourceMappingURL=chunk-W7B6VO7E.js.map
4871
+ export { ActiveSessionsDialog, AppearanceSettings, AvatarPicker, CONVERSATION_TITLE_MAX, CheckoutDialogFrame, ConfigSwitcherBar, ConnectionCard, ConnectionsEmpty, ConnectionsError, ConnectionsLoading, ConversationTitleSection, DEFAULT_ACTIVE_SESSIONS_DIALOG_LABELS, DEFAULT_APPEARANCE_PAIRING_IDS, DEFAULT_AVATAR_PICKER_LABELS, DEFAULT_CHECKOUT_DIALOG_LABELS, DEFAULT_CONFIG_SWITCHER_BAR_LABELS, DEFAULT_CONNECTION_CARD_LABELS, DEFAULT_CONVERSATION_TITLE_SECTION_LABELS, DEFAULT_DAILY_CAP_FIELD_LABELS, DEFAULT_DELETE_ACCOUNT_DIALOG_LABELS, DEFAULT_EMAIL_WORKSPACE_DIALOG_LABELS, DEFAULT_ERROR_DIALOG_LABELS, DEFAULT_IDENTITY_VERIFICATION_LABELS, DEFAULT_INVITE_CONTACTS_DIALOG_LABELS, DEFAULT_INVOICES_DIALOG_LABELS, DEFAULT_LOGOUT_DIALOG_LABELS, DEFAULT_MODEL_SELECTION_SECTION_LABELS, DEFAULT_PASSWORD_CHANGE_DIALOG_LABELS, DEFAULT_PLAN_CARD_LABELS, DEFAULT_PROFILE_CARD_LABELS, DEFAULT_PROJECT_DETAIL_HEADER_LABELS, DEFAULT_PROJECT_LIST_LABELS, DEFAULT_QUOTA_EXCEEDED_DIALOG_LABELS, DEFAULT_REFERRAL_REWARD_LABELS, DEFAULT_RENAME_DIALOG_LABELS, DEFAULT_SHARED_PROJECTS_SECTION_LABELS, DEFAULT_SUBSCRIPTION_STATUS_LABELS, DEFAULT_SUPPORT_PANEL_LABELS, DEFAULT_SYNC_DIALOG_FOOTER_LABELS, DEFAULT_SYNC_FOLDER_ROW_LABELS, DEFAULT_TIPS_EDITOR_LABELS, DEFAULT_USAGE_LINE_CHART_LABELS, DEFAULT_USAGE_PANEL_LABELS, DEFAULT_USAGE_PROPORTION_BAR_LABELS, DEFAULT_WELCOME_DIALOG_LABELS, DEFAULT_WORK_OFFLINE_LABELS, DailyCapField, DeleteAccountDialog, DraggableHeader, EMAIL_NOTIFICATION_CATEGORIES, EMAIL_NOTIFICATION_KEYS, EmailWorkspaceDialogView, ErrorDialog, ErrorDialogView, FilterChip, FloatingPanel, IdentityVerificationCard, IdentityVerificationDialog, InviteContactsDialog, InvoicesDialog, JsonTree, LogoutDialog, MessageJsonTree, ModelProviderLabel, ModelSelectionSection, MoreInfo, MoreInfoList, NotificationCategoryList, PanelActionsRow, PanelAddButton, PanelFrame, PanelFrameBody, PanelNote, PanelScroll, PanelTitleBar, PasswordChangeDialog, PlanActionButton, PlanActionRow, PlanBadge, PlanCard, PlanCardGrid, PlanDialogFrame, PlanInfoPopover, PlanNotice, PlanPickerCard, PlanPickerHeader, PlanStack, PlanTierOption, PremiumModelsFrame, PricingToggle, ProfileCard, ProjectDetailHeader, ProjectDetailSection, ProjectGroup, ProjectList, ProjectRow, PromoCodeInput, QuotaExceededDialogView, QuotaMeter, ReferralRewardBadge, ReferralRewardNote, ReferralRewardSummary, RenameDialog, RequireVerified, ServerConnectionButton, SettingsPage, SettingsSwitchGroup, SettingsSwitchRow, SharedProjectRow, SharedProjectsSection, SubscriptionStatusView, SupportPanel, SupportUnavailable, SyncCheckList, SyncDialogBody, SyncDialogFooter, SyncField, SyncFolderRow, SyncFolderStatus, SyncLinkButton, SyncLinkRow, SyncLoading, SyncNote, SyncOptionToggle, SyncOptions, SyncReconnectNotice, SyncSelect, SyncSmallNote, SyncTreeFrame, ThreadPreviewDialog, TipsEditorDialog, UsageActionButton, UsageLegend, UsageLineChart, UsagePanel, UsageProportionBar, UsageQuotaHint, UsageSection, UsageSummary, UsageToggle, WelcomeDialog, WorkOfflineToggle, applyInvertedIndexFilter, applyTriStateFilters, buildInvertedIndex, callsSwitchState, formatErrorReport, formatSessionTtl, resolveSettingsSection, serverConnectionView, toActiveSessionViews, toDeleteBlockerViews, toLogoutSessionViews, toNotificationCategories };
4872
+ //# sourceMappingURL=chunk-B63TSC3W.js.map
4873
+ //# sourceMappingURL=chunk-B63TSC3W.js.map