efficient-shell 12.2.0 → 12.4.0

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 (321) hide show
  1. package/README.md +40 -1
  2. package/dist/{Browser-UK645CZ3.js → Browser-Z4Q2NDFT.js} +15 -15
  3. package/dist/Calculator-AHBFZ4EN.js +29 -0
  4. package/dist/{CurrencyConverter-XNWE5MQW.js → CurrencyConverter-PZYRBADV.js} +6 -6
  5. package/dist/Files-EX6JA4CJ.js +121 -0
  6. package/dist/{Notepad-JP52QKUC.js → Notepad-U4OSPCX3.js} +12 -12
  7. package/dist/PdfViewer-GUXUWGMG.js +1 -0
  8. package/dist/{PomodoroTimer-SBV43YX6.js → PomodoroTimer-WGN2KNSB.js} +68 -68
  9. package/dist/{Preview-TKEDKVNI.js → Preview-JGRBT3EM.js} +56 -56
  10. package/dist/Sidebar-F7HHC5GY.js +44 -0
  11. package/dist/{Stock-GODZPUR3.js → Stock-5GEEDQVT.js} +3 -3
  12. package/dist/{Weather-2IIV4CFT.js → Weather-WMQQXWHH.js} +17 -17
  13. package/dist/{WorldClock-JW4MLMCB.js → WorldClock-IK3WTHVW.js} +7 -7
  14. package/dist/ai/index.d.ts +9 -1
  15. package/dist/ai/index.js +79 -79
  16. package/dist/apps/ImageAnnotator.d.ts +21 -0
  17. package/dist/apps/ImageAnnotator.js +2 -0
  18. package/dist/apps/index.js +1 -1
  19. package/dist/bin/media-host-check.js +1 -1
  20. package/dist/bin/ui-check.js +1 -1
  21. package/dist/brand.css +1 -1
  22. package/dist/charts/BoxPlotChart.js +1 -1
  23. package/dist/charts/CandlestickChart.js +1 -1
  24. package/dist/charts/CartesianPlot.js +1 -1
  25. package/dist/charts/ChartTooltip.js +1 -1
  26. package/dist/charts/ChordChart.js +1 -1
  27. package/dist/charts/ColumnChart.js +1 -1
  28. package/dist/charts/FlowChart.d.ts +25 -0
  29. package/dist/charts/FlowChart.js +2 -0
  30. package/dist/charts/FunnelChart.js +1 -1
  31. package/dist/charts/HeatmapChart.js +1 -1
  32. package/dist/charts/HistogramChart.js +1 -1
  33. package/dist/charts/PieChart.js +1 -1
  34. package/dist/charts/RadarChart.js +1 -1
  35. package/dist/charts/RadialBarChart.js +1 -1
  36. package/dist/charts/RangeChart.js +1 -1
  37. package/dist/charts/SankeyChart.js +1 -1
  38. package/dist/charts/ScatterChart.js +1 -1
  39. package/dist/charts/SpecChart.js +1 -1
  40. package/dist/charts/SunburstChart.js +1 -1
  41. package/dist/charts/TimeSeriesChart.js +1 -1
  42. package/dist/charts/TreemapChart.js +1 -1
  43. package/dist/charts/WaterfallChart.js +1 -1
  44. package/dist/charts/flowSpec.d.ts +94 -0
  45. package/dist/charts/flowSpec.js +1 -0
  46. package/dist/{chunk-NZYI4XV5.js → chunk-2BMGV6DE.js} +5 -5
  47. package/dist/chunk-2YRLRMZH.js +23 -0
  48. package/dist/{chunk-VFBBGLRA.js → chunk-3LTZ4N46.js} +13 -13
  49. package/dist/{chunk-BXZSLRNO.js → chunk-3PWI5IH7.js} +14 -14
  50. package/dist/{chunk-AJ5NU7UH.js → chunk-3UHTHQGK.js} +8 -8
  51. package/dist/{chunk-FOTDGSY5.js → chunk-45IVWLKF.js} +1 -1
  52. package/dist/{chunk-ZUBTNUVE.js → chunk-4ZUV6WQT.js} +1 -1
  53. package/dist/{chunk-SX5CSXZO.js → chunk-525O4AUQ.js} +2 -2
  54. package/dist/{chunk-CC42UKIT.js → chunk-54K2ADBT.js} +1 -1
  55. package/dist/chunk-56GGBTAD.js +3 -0
  56. package/dist/{chunk-DKUF7BD5.js → chunk-57YY4J6T.js} +1 -1
  57. package/dist/{chunk-L75RBQFH.js → chunk-5JUG74UR.js} +1 -1
  58. package/dist/{chunk-I7H3OIYX.js → chunk-5MO5JBBK.js} +1 -1
  59. package/dist/{chunk-7EK7JNR4.js → chunk-62275PI2.js} +1 -1
  60. package/dist/{chunk-LUSIZ2BK.js → chunk-6BATVJBA.js} +14 -14
  61. package/dist/{chunk-YRZP7JN4.js → chunk-6C4T3HRB.js} +18 -18
  62. package/dist/{chunk-VZLYB5LX.js → chunk-6DZGOGB2.js} +1 -1
  63. package/dist/{chunk-JCUG572K.js → chunk-6JDR6T4U.js} +1 -1
  64. package/dist/{chunk-QN56R4V4.js → chunk-6U25ELYF.js} +1 -1
  65. package/dist/{chunk-GRB4LKZC.js → chunk-75MSXRFY.js} +5 -5
  66. package/dist/{chunk-GFBQ53WN.js → chunk-7HIHQR3X.js} +1 -1
  67. package/dist/{chunk-UDL2A2GT.js → chunk-7RRJPNYN.js} +3 -3
  68. package/dist/{chunk-IRZ6XM5A.js → chunk-A4KQKN32.js} +1 -1
  69. package/dist/chunk-A6WZF65N.js +22 -0
  70. package/dist/{chunk-ACNDPAAT.js → chunk-AAIUJJDQ.js} +1 -1
  71. package/dist/chunk-BG2OL3MO.js +7 -0
  72. package/dist/{chunk-7ZYEDXZX.js → chunk-BGJMDP6J.js} +1 -1
  73. package/dist/{chunk-6XC3XX7F.js → chunk-BKKKIHHV.js} +5 -5
  74. package/dist/{chunk-MKP2HSWX.js → chunk-BQ5CRQYR.js} +3 -3
  75. package/dist/chunk-BTFBXZS2.js +1 -0
  76. package/dist/chunk-BUGTNNZQ.js +15 -0
  77. package/dist/chunk-C57PNNAW.js +13 -0
  78. package/dist/{chunk-ZACNIKIQ.js → chunk-C5LBNLFJ.js} +1 -1
  79. package/dist/chunk-CAXOKGMB.js +27 -0
  80. package/dist/{chunk-WGLHB6WE.js → chunk-CJH2BGXY.js} +1 -1
  81. package/dist/chunk-CURXYF2R.js +9 -0
  82. package/dist/{chunk-ZRLWE3JM.js → chunk-DANLBFBD.js} +1 -1
  83. package/dist/{chunk-DU5IBIZQ.js → chunk-DFYXIW4O.js} +1 -1
  84. package/dist/{chunk-GZJ5F7SB.js → chunk-DJ2XDBAO.js} +5 -5
  85. package/dist/{chunk-UDJLRTQB.js → chunk-DNLRUZGS.js} +1 -1
  86. package/dist/{chunk-J5ISQYVM.js → chunk-DPUM3H5N.js} +1 -1
  87. package/dist/{chunk-5THF6BJS.js → chunk-DW45EZHA.js} +2 -2
  88. package/dist/{chunk-LLBH6PHE.js → chunk-EB2UE6ZR.js} +1 -1
  89. package/dist/{chunk-XBDHRMQI.js → chunk-EEVLRCMA.js} +8 -8
  90. package/dist/{chunk-Z43XVU2P.js → chunk-EIY6YGEZ.js} +1 -1
  91. package/dist/{chunk-5F6KJAF3.js → chunk-EUUCNDIS.js} +16 -16
  92. package/dist/{chunk-5PP435FL.js → chunk-EYPKBJYG.js} +1 -1
  93. package/dist/chunk-FAERBT6Y.js +1 -0
  94. package/dist/{chunk-YKHAI5IZ.js → chunk-FLTPVFKA.js} +1 -1
  95. package/dist/chunk-FPYABAOX.js +69 -0
  96. package/dist/chunk-FVZXRGVM.js +8 -0
  97. package/dist/{chunk-GJJKWGBX.js → chunk-G7I255HN.js} +10 -10
  98. package/dist/{chunk-2YBJQUYQ.js → chunk-GEXETMGL.js} +1 -1
  99. package/dist/chunk-GUIJCTFJ.js +8 -0
  100. package/dist/chunk-GZQD6IBV.js +5 -0
  101. package/dist/{chunk-VW7W6LCV.js → chunk-H6PFTU3L.js} +1 -1
  102. package/dist/chunk-H7HRYFRQ.js +14 -0
  103. package/dist/{chunk-SCCAMJB4.js → chunk-HE767CVB.js} +1 -1
  104. package/dist/{chunk-EEVKJJ5S.js → chunk-I5BS6AP6.js} +4 -4
  105. package/dist/chunk-I5CSYOOZ.js +28 -0
  106. package/dist/{chunk-HB2XXIQG.js → chunk-I64TVNHS.js} +6 -6
  107. package/dist/{chunk-BFA5U5JF.js → chunk-IFQXTIMY.js} +12 -12
  108. package/dist/chunk-IHPAYSTJ.js +8 -0
  109. package/dist/{chunk-QTMRW6DK.js → chunk-IXBKWVEP.js} +1 -1
  110. package/dist/{chunk-TTSZSLQL.js → chunk-J53LQWWY.js} +1 -1
  111. package/dist/chunk-JM2IQC4J.js +11 -0
  112. package/dist/{chunk-FZM3ZPW3.js → chunk-JPNAEN53.js} +1 -1
  113. package/dist/{chunk-S4FPYCUU.js → chunk-JQBVSPF5.js} +3 -3
  114. package/dist/{chunk-CRU2BNEM.js → chunk-KDTL6VEC.js} +3 -3
  115. package/dist/{chunk-CKURTHGW.js → chunk-KQDSAN75.js} +1 -1
  116. package/dist/{chunk-2XQOK3CT.js → chunk-KUEYOJBN.js} +2 -2
  117. package/dist/{chunk-ORLQUGIN.js → chunk-LCC3NXQX.js} +6 -6
  118. package/dist/{chunk-7JGR7WPD.js → chunk-LFYZ7NQ4.js} +3 -3
  119. package/dist/{chunk-ONYPN3JY.js → chunk-LGK47SEN.js} +11 -11
  120. package/dist/chunk-M54OL3YR.js +2 -0
  121. package/dist/chunk-MGW7SX53.js +11 -0
  122. package/dist/{chunk-VGWYAYHB.js → chunk-MOMOZVOW.js} +3 -3
  123. package/dist/{chunk-2DOMIOYR.js → chunk-N442GPRJ.js} +1 -1
  124. package/dist/{chunk-BXZNMSTZ.js → chunk-N6Q7HNAH.js} +1 -1
  125. package/dist/{chunk-RXHTIJ64.js → chunk-N7JX27JE.js} +1 -1
  126. package/dist/{chunk-ZYFBV4C7.js → chunk-N7YHXL2F.js} +2 -2
  127. package/dist/{chunk-27XV4TAU.js → chunk-ND5IZ37V.js} +5 -5
  128. package/dist/{chunk-2OMM2AG3.js → chunk-NEAT7BIP.js} +1 -1
  129. package/dist/{chunk-ESDWHHQY.js → chunk-NEYHBQLG.js} +3 -3
  130. package/dist/{chunk-CRB5GM4W.js → chunk-NIBE57KV.js} +1 -1
  131. package/dist/{chunk-NHBDLW52.js → chunk-NS37Y5CN.js} +3 -3
  132. package/dist/chunk-OLVKHYHV.js +9 -0
  133. package/dist/{chunk-FWUXYNWF.js → chunk-OY3JH66O.js} +4 -4
  134. package/dist/{chunk-DSHEOC2O.js → chunk-PIWC3CAC.js} +1 -1
  135. package/dist/chunk-PMJMYH5O.js +5 -0
  136. package/dist/{chunk-PXIP246B.js → chunk-PT77FC5X.js} +1 -1
  137. package/dist/chunk-PVXX77MY.js +6 -0
  138. package/dist/{chunk-HS4EWT6L.js → chunk-QIUIP6YZ.js} +2 -2
  139. package/dist/{chunk-NJN5IKWO.js → chunk-QQ2LDC6C.js} +1 -1
  140. package/dist/{chunk-FAIHSCOG.js → chunk-RBMZSZOH.js} +1 -1
  141. package/dist/{chunk-5V6SA77P.js → chunk-RFKCSRJX.js} +5 -5
  142. package/dist/chunk-RJ3J4BLH.js +1 -0
  143. package/dist/{chunk-63QLZYMN.js → chunk-RNQBWWYR.js} +3 -3
  144. package/dist/{chunk-N5KO2IHG.js → chunk-RQDVAUXD.js} +4 -4
  145. package/dist/{chunk-B5OYS65L.js → chunk-RVQUSPXC.js} +1 -1
  146. package/dist/chunk-SBZCJNNP.js +11 -0
  147. package/dist/{chunk-RDKIYORS.js → chunk-SYZLS2JA.js} +1 -1
  148. package/dist/chunk-TQWLJ5VM.js +7 -0
  149. package/dist/{chunk-RM74EAMV.js → chunk-TS36J7RW.js} +2 -2
  150. package/dist/{chunk-ANSQT5ZS.js → chunk-TTQ7K4AJ.js} +1 -1
  151. package/dist/{chunk-AQULCKKZ.js → chunk-UDHJTQBA.js} +11 -11
  152. package/dist/chunk-UDVQORQM.js +19 -0
  153. package/dist/chunk-UGOJLNYR.js +1 -0
  154. package/dist/{chunk-MRFNJZRR.js → chunk-UIWGVOFH.js} +8 -4
  155. package/dist/chunk-UJJXWLHE.js +2 -0
  156. package/dist/{chunk-CF4YOJUQ.js → chunk-UPTKROT7.js} +9 -9
  157. package/dist/{chunk-7F4U43YN.js → chunk-UVBX5LEU.js} +4 -4
  158. package/dist/{chunk-M7DFM2N7.js → chunk-UWF45S5L.js} +61 -61
  159. package/dist/chunk-VIOILTE4.js +13 -0
  160. package/dist/{chunk-HTDZ3XAJ.js → chunk-VWQNCYGQ.js} +8 -8
  161. package/dist/{chunk-CTW2OKYS.js → chunk-VYMM2BPX.js} +2 -2
  162. package/dist/{chunk-HNQKXOFU.js → chunk-WCPAQHHA.js} +1 -1
  163. package/dist/{chunk-36VIGB6J.js → chunk-WDQI3FV6.js} +6 -6
  164. package/dist/{chunk-CENTHUBD.js → chunk-WUGQAZMC.js} +6 -6
  165. package/dist/{chunk-XQUXL75F.js → chunk-X32TVINY.js} +1 -1
  166. package/dist/{chunk-QBD7V4TK.js → chunk-XK4SMAVR.js} +1 -1
  167. package/dist/{chunk-ZG3RF2VE.js → chunk-XK4U5MAS.js} +3 -3
  168. package/dist/{chunk-JCTOQOVO.js → chunk-XMH2JOZ2.js} +1 -1
  169. package/dist/{chunk-TE6R53YD.js → chunk-XWFLIGDQ.js} +1 -1
  170. package/dist/{chunk-LOEOCZCN.js → chunk-Y4RERPFN.js} +1 -1
  171. package/dist/chunk-YMAU4EIK.js +9 -0
  172. package/dist/{chunk-XARBHOEZ.js → chunk-YRJJKF5H.js} +1 -1
  173. package/dist/{chunk-VQPZDZ3R.js → chunk-YU6KOO6O.js} +4 -4
  174. package/dist/chunk-YZR4T5FZ.js +7 -0
  175. package/dist/{chunk-NC36LJCA.js → chunk-ZB2H2JJ2.js} +4 -4
  176. package/dist/{chunk-FLYOI6EW.js → chunk-ZOZEQZUA.js} +1 -1
  177. package/dist/data/DataTable.js +1 -1
  178. package/dist/data/EntityList.js +1 -1
  179. package/dist/data/Kanban.js +1 -1
  180. package/dist/data/ListLoadError.js +1 -1
  181. package/dist/data/ResizableTable.js +1 -1
  182. package/dist/format/index.js +1 -1
  183. package/dist/forms/AlignmentGrid.js +1 -1
  184. package/dist/forms/BorderInput.js +1 -1
  185. package/dist/forms/BrandAssetEditor.js +1 -1
  186. package/dist/forms/Button.js +1 -1
  187. package/dist/forms/Calendar.js +1 -1
  188. package/dist/forms/ColorPicker.js +1 -1
  189. package/dist/forms/ComposerAttachments.js +1 -1
  190. package/dist/forms/CornersInput.js +1 -1
  191. package/dist/forms/DatePicker.js +1 -1
  192. package/dist/forms/DateRangePicker.js +1 -1
  193. package/dist/forms/DisplayChips.js +1 -1
  194. package/dist/forms/FilePicker.js +1 -1
  195. package/dist/forms/IconButton.js +1 -1
  196. package/dist/forms/IconPicker.js +1 -1
  197. package/dist/forms/Input.js +1 -1
  198. package/dist/forms/InputNumber.js +1 -1
  199. package/dist/forms/LinkPicker.js +1 -1
  200. package/dist/forms/MediaLibrary.js +1 -1
  201. package/dist/forms/MediaUploadField.js +1 -1
  202. package/dist/forms/MediaUploadGrid.js +1 -1
  203. package/dist/forms/MediaUsedInList.js +1 -1
  204. package/dist/forms/NumericKeypad.js +1 -1
  205. package/dist/forms/PictureTiles.js +1 -1
  206. package/dist/forms/PositionInput.js +1 -1
  207. package/dist/forms/RenameField.js +1 -1
  208. package/dist/forms/Segmented.js +1 -1
  209. package/dist/forms/Select.js +1 -1
  210. package/dist/forms/SidesInput.js +1 -1
  211. package/dist/forms/Slider.js +1 -1
  212. package/dist/forms/Snippet.js +1 -1
  213. package/dist/forms/SplitButton.js +1 -1
  214. package/dist/forms/TagInput.js +1 -1
  215. package/dist/forms/TextToolbar.js +1 -1
  216. package/dist/forms/WidthsBar.js +1 -1
  217. package/dist/forms/mediaLibraryMenu.js +1 -1
  218. package/dist/forms/textAlign.js +1 -1
  219. package/dist/icons/efficient-glyphs.js +1 -1
  220. package/dist/icons/efficient-looks.js +1 -1
  221. package/dist/icons/efficient.js +1 -1
  222. package/dist/icons/index.js +1 -1
  223. package/dist/icons/looks/map.js +1 -1
  224. package/dist/icons/payment.js +1 -1
  225. package/dist/icons/sets.js +1 -1
  226. package/dist/index.d.ts +4 -19
  227. package/dist/index.js +666 -666
  228. package/dist/map/index.js +3 -3
  229. package/dist/markdown/index.js +1 -1
  230. package/dist/page-tabs/index.js +5 -5
  231. package/dist/pdf/index.js +1 -1
  232. package/dist/shell/AppUpdateBanner.js +1 -1
  233. package/dist/shell/Banner.js +1 -1
  234. package/dist/shell/Breadcrumbs.js +1 -1
  235. package/dist/shell/ColoredBadge.js +1 -1
  236. package/dist/shell/ConfirmDialog.js +1 -1
  237. package/dist/shell/ContextMenu.js +1 -1
  238. package/dist/shell/Dialog.js +1 -1
  239. package/dist/shell/Drawer.js +1 -1
  240. package/dist/shell/DropdownMenu.js +1 -1
  241. package/dist/shell/EditableGrid.js +1 -1
  242. package/dist/shell/EmptyState.js +1 -1
  243. package/dist/shell/GlobalSearch.js +1 -1
  244. package/dist/shell/HelpCenter.js +1 -1
  245. package/dist/shell/IconRail.js +1 -1
  246. package/dist/shell/ImageLightbox.js +1 -1
  247. package/dist/shell/ItemCount.js +1 -1
  248. package/dist/shell/LanguageSelect.js +1 -1
  249. package/dist/shell/Markdown.js +1 -1
  250. package/dist/shell/PageHeader.js +1 -1
  251. package/dist/shell/Popover.js +1 -1
  252. package/dist/shell/PopupMenu.js +1 -1
  253. package/dist/shell/ProductionTimeline.js +1 -1
  254. package/dist/shell/ResizeHandle.js +1 -1
  255. package/dist/shell/Result.js +1 -1
  256. package/dist/shell/SearchableSelect.js +1 -1
  257. package/dist/shell/SettingReset.js +1 -1
  258. package/dist/shell/SettingRow.js +1 -1
  259. package/dist/shell/SidebarLayout.js +1 -1
  260. package/dist/shell/SidebarNav.js +1 -1
  261. package/dist/shell/SortableList.js +1 -1
  262. package/dist/shell/StatusBadge.js +1 -1
  263. package/dist/shell/StepChain.js +1 -1
  264. package/dist/shell/Stepper.js +1 -1
  265. package/dist/shell/Tabs.js +1 -1
  266. package/dist/shell/Tooltip.js +1 -1
  267. package/dist/shell/TopNav.js +1 -1
  268. package/dist/shell/TransferProgress.js +1 -1
  269. package/dist/shell/Tree.js +1 -1
  270. package/dist/shell/discardGuard.js +1 -1
  271. package/dist/telemetry/index.js +1 -1
  272. package/dist/templates/AuthScreen.js +1 -1
  273. package/dist/templates/ChatTemplate.js +1 -1
  274. package/dist/templates/CheckoutTemplate.js +1 -1
  275. package/dist/templates/DashboardTemplate.js +1 -1
  276. package/dist/templates/DataTablePage.js +1 -1
  277. package/dist/templates/EmailTemplate.js +1 -1
  278. package/dist/templates/ErrorBoundary.js +1 -1
  279. package/dist/templates/FormLayoutPage.js +1 -1
  280. package/dist/templates/GalleryTemplate.js +1 -1
  281. package/dist/ui/index.d.ts +3 -0
  282. package/dist/ui/index.js +1 -1
  283. package/dist/ui.css +10 -0
  284. package/dist/version.js +1 -1
  285. package/package.json +1 -1
  286. package/dist/Calculator-6XGTP5OQ.js +0 -29
  287. package/dist/Files-LVZNO6EQ.js +0 -121
  288. package/dist/PdfViewer-ZI3QOG4G.js +0 -1
  289. package/dist/Sidebar-XVVZJ7PR.js +0 -44
  290. package/dist/chunk-2T7MZ77B.js +0 -3
  291. package/dist/chunk-4RTDZSGH.js +0 -27
  292. package/dist/chunk-56ESGDIC.js +0 -5
  293. package/dist/chunk-5N6AC3LN.js +0 -15
  294. package/dist/chunk-A2ZEGD2S.js +0 -11
  295. package/dist/chunk-AJO55X66.js +0 -6
  296. package/dist/chunk-BD4OHYQB.js +0 -13
  297. package/dist/chunk-BPECY7I7.js +0 -13
  298. package/dist/chunk-CQCMJHDM.js +0 -9
  299. package/dist/chunk-CWTY4GTU.js +0 -5
  300. package/dist/chunk-EOVXFXVV.js +0 -2
  301. package/dist/chunk-FEJFGFPF.js +0 -8
  302. package/dist/chunk-FUUJJ7OH.js +0 -7
  303. package/dist/chunk-GGSPY3Q4.js +0 -23
  304. package/dist/chunk-GIUX7WUS.js +0 -7
  305. package/dist/chunk-GMLGR4R6.js +0 -8
  306. package/dist/chunk-HFDSKCPL.js +0 -1
  307. package/dist/chunk-HGZZXA2N.js +0 -9
  308. package/dist/chunk-HICNRXYB.js +0 -11
  309. package/dist/chunk-HY3JYAUH.js +0 -19
  310. package/dist/chunk-KHVECW4M.js +0 -7
  311. package/dist/chunk-LE5LWALR.js +0 -1
  312. package/dist/chunk-LJJSFJA2.js +0 -69
  313. package/dist/chunk-NPQBJJLP.js +0 -9
  314. package/dist/chunk-PKNHSZWK.js +0 -8
  315. package/dist/chunk-UE54EN4C.js +0 -2
  316. package/dist/chunk-UVEHJRPE.js +0 -1
  317. package/dist/chunk-VPYD7UJM.js +0 -22
  318. package/dist/chunk-WD3I7AEZ.js +0 -14
  319. package/dist/chunk-YAD7TML2.js +0 -28
  320. /package/dist/{chunk-C4XV42QP.js → chunk-2762IAB7.js} +0 -0
  321. /package/dist/{chunk-MXK7A6ZM.js → chunk-T75VCE6K.js} +0 -0
package/dist/ai/index.js CHANGED
@@ -1,92 +1,92 @@
1
1
  "use client";
2
- import{StepChainItem as e,StepChain as t}from"../chunk-UDJLRTQB.js";import{Markdown as n}from"../chunk-XQUXL75F.js";import{Divider as a}from"../chunk-DFOFEBYX.js";import"../chunk-UJUTS6LJ.js";import"../chunk-Q5Z3KHT2.js";import{useContextMenu as r,ContextMenu as s}from"../chunk-HS4EWT6L.js";import{Banner as o}from"../chunk-JCUG572K.js";import{Input_default as i}from"../chunk-56ESGDIC.js";import"../chunk-FUUJJ7OH.js";import"../chunk-LLBH6PHE.js";import{AttachmentDropZone as l}from"../chunk-NZYI4XV5.js";import{CloseGlyph as c}from"../chunk-QBD7V4TK.js";import"../chunk-HNQKXOFU.js";import"../chunk-AYZY3YNC.js";import{IconButton_default as d}from"../chunk-LE5LWALR.js";import{useFileIntake as p,humanSize as u,FileIntakeAlert as m}from"../chunk-7KIDOIPY.js";import{parseChartSpec as h}from"../chunk-CR7T435F.js";import{SpecChart as f}from"../chunk-7EK7JNR4.js";import{formatBytes as g}from"../chunk-GEYM4WN3.js";import"../chunk-Y3JW2GW5.js";import"../chunk-36BRD5J3.js";import"../chunk-LF27WIN2.js";import"../chunk-VPYD7UJM.js";import"../chunk-WMLBMR4E.js";import"../chunk-CK2YOGUS.js";import"../chunk-7H7U3HC6.js";import"../chunk-VFC6QUEN.js";import"../chunk-GRB4LKZC.js";import"../chunk-465RRWBY.js";import{ChartSkeleton as b}from"../chunk-DZBGJ6X4.js";import"../chunk-CNYAHYE6.js";import"../chunk-FZM3ZPW3.js";import"../chunk-CDAJKLGL.js";import"../chunk-BFA5U5JF.js";import"../chunk-URHGHXDN.js";import"../chunk-5QFPTDQF.js";import{Button_default as v}from"../chunk-EOVXFXVV.js";import"../chunk-UQYNPYF4.js";import"../chunk-TE6R53YD.js";import{Icon as x}from"../chunk-MRFNJZRR.js";import"../chunk-J75ZT2JQ.js";import{SpinnerRing as y}from"../chunk-R2VKEMZH.js";import"../chunk-MRJKZWWV.js";import"../chunk-WGLHB6WE.js";import"../chunk-NJN5IKWO.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-36VIGB6J.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-SX5CSXZO.js";import"../chunk-BFO72WQB.js";import"../chunk-2JWPNR2U.js";import"../chunk-MAFUXCPZ.js";import"../chunk-TZFACUMR.js";import"../chunk-TWVUQUUD.js";import{useShellStrings as w}from"../chunk-43MCNASD.js";import"../chunk-C3QOHMR6.js";import{useRef as k,Fragment as N,useState as A,useEffect as C,useId as j,useCallback as T,useMemo as S}from"react";import{isToolUIPart as O,getToolName as R,DefaultChatTransport as $,lastAssistantMessageIsCompleteWithApprovalResponses as _}from"ai";import{jsxs as F,jsx as I,Fragment as L}from"react/jsx-runtime";import{useChat as D}from"@ai-sdk/react";function M(e){if(!O(e))return null;const t=e;return{toolName:R(e),toolCallId:t.toolCallId,state:t.state,input:t.input,output:t.output,errorText:t.errorText,approvalId:t.approval?.id,approved:t.approval?.approved}}function B(e){const t=/* @__PURE__ */new Map;for(const n of e.parts){if("data-tool-summary"!==n.type)continue;const e=n.data;e&&"string"==typeof e.tool_call_id&&Array.isArray(e.rows)&&e.rows.length>0&&t.set(e.tool_call_id,e)}return t}function z(e){const t=/* @__PURE__ */new Map;for(const n of e.parts){if("data-file"!==n.type)continue;const e=n.data;e&&"string"==typeof e.id&&"string"==typeof e.filename&&t.set(e.id,e)}return[...t.values()]}function E(e){return e.parts.map(e=>"text"===e.type?e.text:"").join("")}var U="efficient-attachment:";function W(e){return{type:"file",mediaType:e.content_type,filename:e.filename,url:`${U}${e.id}`,providerMetadata:{efficient:{size:e.size}}}}function H(e){const t=[];for(const n of e.parts){if("file"!==n.type||!n.url.startsWith(U))continue;const e=n.providerMetadata?.efficient?.size;t.push({id:n.url.slice(21),filename:n.filename??"",content_type:n.mediaType,size:"number"==typeof e?e:0})}return t}var P=/* @__PURE__ */new Set(["data-conversation","data-plan","data-followups","data-choices","data-tool-summary","data-error","data-file","data-approval","data-busy"]);function J(e,t){const n=e[e.length-1];if(!n)throw new Error("assistant chat: no message to send");if("user"===n.role){const e=E(n).trim();if(!e)throw new Error("assistant chat: empty message");const a=H(n).map(e=>e.id);return{conversation_id:t,text:e,approvals:[],...a.length>0?{attachments:a}:{}}}const a=function(e){const t=[];for(const n of e.parts){if(!O(n))continue;const e=n;if("approval-responded"!==e.state||!e.approval||"boolean"!=typeof e.approval.approved)continue;const a={approval_id:e.approval.id,approved:e.approval.approved};e.approval.reason&&(a.reason=e.approval.reason),t.push(a)}return t}(n);if(0===a.length)throw new Error("assistant chat: no approval decision to send");return{conversation_id:t,text:null,approvals:a}}var Y=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");function q(e,t,n=""){const a=[t.trim(),n.trim()].filter(Boolean).map(Y);return 0!==a.length&&new RegExp(`(^|[^\\p{L}\\p{N}_@])(?:${a.join("|")})(?![\\p{L}\\p{N}_@])`,"iu").test(e)}function K(e,t){return q(e,t)?e:`${t.trim()} ${e.trimStart()}`}function Q(e){const t=e.map(e=>e.name).filter(Boolean);return t.length<=1?t[0]??"":`${t.slice(0,-1).join(", ")} and ${t[t.length-1]}`}var G=/* @__PURE__ */new Set(["proposed","approved","running"]);function Z(e){return G.has(e.status)}function X(e){const t=[];for(const n of e.parts)"data-plan"===n.type&&t.push(n.data);return t}function V(e){const t=/* @__PURE__ */new Map;for(const n of e)for(const e of X(n))t.delete(e.id),t.set(e.id,e);return t}function ee(e){const t=[...V(e).values()],n=t[t.length-1];if(!n)return null;if(Z(n))return n;const a=e[e.length-1];return a&&"assistant"===a.role&&X(a).some(e=>e.id===n.id)?n:null}function te(e){const t={};return e.source&&e.source!==e.role&&(t.source=e.source),e.author&&(t.author=e.author),e.asked_by&&(t.askedBy=e.asked_by),"assistant"===e.role&&e.run_id&&(t.run_id=e.run_id,t.rating=e.rating??null),Object.keys(t).length>0?{metadata:t}:{}}function ne(e,t){const n=/* @__PURE__ */new Map;for(const a of e.parts){if("data-approval"!==a.type)continue;const e=a.data,r=e?.[t];"string"==typeof e?.approval_id&&"string"==typeof r&&r&&n.set(e.approval_id,r)}return n}function ae(e){const t=e.messages.filter(e=>e.text).map(e=>({id:e.id,role:e.role,parts:[...(e.attachments??[]).map(W),{type:"text",text:e.text},...(e.files??[]).map(e=>({type:"data-file",id:`file-${e.id}`,data:e}))],...te(e)})),n=(e.plans??[]).filter(Z);return(e.pending_approvals.length>0||n.length>0)&&t.push({id:`pending-approvals-${e.id}`,role:"assistant",parts:[...n.map(e=>({type:"data-plan",id:e.id,data:e})),...e.pending_approvals.map(e=>({type:`tool-${e.tool_name}`,toolCallId:e.tool_call_id??e.approval_id,state:"approval-requested",input:e.input,approval:{id:e.approval_id}})),...e.pending_approvals.filter(e=>e.expires_at||e.notice).map(e=>({type:"data-approval",id:e.approval_id,data:{approval_id:e.approval_id,expires_at:e.expires_at,...e.notice?{notice:e.notice}:{}}}))]}),t}function re(e,t){const n=e?.message?.trim();if(!n)return t;if(n.startsWith("{")){try{const e=JSON.parse(n);for(const t of["detail","errorText","message","title","error"]){const n=e[t];if("string"==typeof n&&n.trim())return n.trim()}for(const t of Object.values(e)){const e=Array.isArray(t)?t[0]:void 0;if("string"==typeof e&&e.trim()&&e.length<=400)return e.trim()}}catch{return t}return t}return n.startsWith("<")||n.length>400?t:n}var se=/^(load failed|failed to fetch|network ?error( when attempting to fetch resource)?|(the )?network connection was lost|error in input stream|terminated)\.?$/i;function oe(e){return!(!e||"AbortError"===e.name)&&se.test(e.message?.trim()??"")}var ie=/* @__PURE__ */new Set(["budget_reached","not_permitted"]);function le(e,t,n){return oe(e)?{text:n.connectionDropped,retryable:!0}:{text:re(e,n.genericError),retryable:!(t&&ie.has(t))}}function ce(e){const t=e[e.length-1];if(!t)return!1;if("user"===t.role)return""!==E(t).trim();const n=e[e.length-2];return!(!n||"user"!==n.role||!E(n).trim())&&!t.parts.some(e=>void 0!==M(e)?.approvalId)}var de=["·","✢","✳","✶","✻","✽","✻","✶","✳","✢"];function pe(){return"undefined"!=typeof window&&"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function ue({resting:e=!1}){const t=function(){const[e,t]=A(0);return C(()=>{if(pe())return;const e=setInterval(()=>t(e=>(e+1)%de.length),130);return()=>clearInterval(e)},[]),pe()?"✻":de[e]}();/* @__PURE__ */
3
- return I("span",{"aria-hidden":"true",className:"inline-block w-4 shrink-0 text-center text-base leading-none text-accent-text "+(e?"opacity-60":"motion-safe:animate-pulse"),children:e?"✻":t})}function me({label:e,words:t,since:n,secondsLabel:a,steadyLabel:r}){const[s,o]=A(0);C(()=>{if(e||t.length<2||pe())return;const n=setInterval(()=>o(e=>(e+1)%t.length),1600);return()=>clearInterval(n)},[e,t.length]);const i=function(e){const[t]=A(()=>e||Date.now()),[n,a]=A(()=>Date.now());return C(()=>{const e=setInterval(()=>a(Date.now()),1e3);return()=>clearInterval(e)},[]),Math.max(0,Math.floor((n-(e||t))/1e3))}(n),l=e||t[s%Math.max(t.length,1)]||r;/* @__PURE__ */
2
+ import{StepChainItem as e,StepChain as t}from"../chunk-DNLRUZGS.js";import{Markdown as n}from"../chunk-X32TVINY.js";import{Divider as a}from"../chunk-DFOFEBYX.js";import"../chunk-UJUTS6LJ.js";import"../chunk-Q5Z3KHT2.js";import{useContextMenu as r,ContextMenu as s}from"../chunk-QIUIP6YZ.js";import{Banner as o}from"../chunk-6JDR6T4U.js";import{AttachmentDropZone as i}from"../chunk-2BMGV6DE.js";import{Input_default as l}from"../chunk-GZQD6IBV.js";import"../chunk-YZR4T5FZ.js";import"../chunk-EB2UE6ZR.js";import{IconButton_default as c}from"../chunk-UGOJLNYR.js";import"../chunk-AYZY3YNC.js";import{CloseGlyph as d}from"../chunk-XK4SMAVR.js";import"../chunk-WCPAQHHA.js";import{useFileIntake as p,humanSize as u,FileIntakeAlert as m}from"../chunk-7KIDOIPY.js";import{parseChartSpec as h}from"../chunk-CR7T435F.js";import{SpecChart as f}from"../chunk-62275PI2.js";import{formatBytes as g}from"../chunk-GEYM4WN3.js";import"../chunk-Y3JW2GW5.js";import"../chunk-36BRD5J3.js";import"../chunk-LF27WIN2.js";import"../chunk-A6WZF65N.js";import{FlowChart as v}from"../chunk-JM2IQC4J.js";import{parseFlowSpec as b}from"../chunk-FAERBT6Y.js";import"../chunk-WMLBMR4E.js";import"../chunk-CK2YOGUS.js";import"../chunk-7H7U3HC6.js";import"../chunk-VFC6QUEN.js";import"../chunk-75MSXRFY.js";import"../chunk-465RRWBY.js";import{ChartSkeleton as x}from"../chunk-DZBGJ6X4.js";import"../chunk-CNYAHYE6.js";import"../chunk-CDAJKLGL.js";import"../chunk-JPNAEN53.js";import"../chunk-IFQXTIMY.js";import"../chunk-URHGHXDN.js";import"../chunk-5QFPTDQF.js";import{Button_default as y}from"../chunk-UJJXWLHE.js";import"../chunk-XWFLIGDQ.js";import{Icon as w}from"../chunk-UIWGVOFH.js";import"../chunk-J75ZT2JQ.js";import{SpinnerRing as k}from"../chunk-R2VKEMZH.js";import"../chunk-CJH2BGXY.js";import"../chunk-QQ2LDC6C.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-UQYNPYF4.js";import"../chunk-MRJKZWWV.js";import"../chunk-525O4AUQ.js";import"../chunk-BFO72WQB.js";import"../chunk-MAFUXCPZ.js";import"../chunk-2JWPNR2U.js";import"../chunk-WDQI3FV6.js";import"../chunk-TZFACUMR.js";import"../chunk-TWVUQUUD.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import{useShellStrings as N}from"../chunk-43MCNASD.js";import"../chunk-C3QOHMR6.js";import{useRef as A,Fragment as C,useState as T,useEffect as j,useId as S,useCallback as O,useMemo as R}from"react";import{isToolUIPart as I,getToolName as $,DefaultChatTransport as D,lastAssistantMessageIsCompleteWithApprovalResponses as _}from"ai";import{jsxs as F,jsx as L,Fragment as M}from"react/jsx-runtime";import{useChat as P}from"@ai-sdk/react";function B(e){if(!I(e))return null;const t=e;return{toolName:$(e),toolCallId:t.toolCallId,state:t.state,input:t.input,output:t.output,errorText:t.errorText,approvalId:t.approval?.id,approved:t.approval?.approved}}function z(e){const t=/* @__PURE__ */new Map;for(const n of e.parts){if("data-tool-summary"!==n.type)continue;const e=n.data;e&&"string"==typeof e.tool_call_id&&Array.isArray(e.rows)&&e.rows.length>0&&t.set(e.tool_call_id,e)}return t}function E(e){const t=/* @__PURE__ */new Map;for(const n of e.parts){if("data-file"!==n.type)continue;const e=n.data;e&&"string"==typeof e.id&&"string"==typeof e.filename&&t.set(e.id,e)}return[...t.values()]}function U(e){return e.parts.map(e=>"text"===e.type?e.text:"").join("")}var W="efficient-attachment:";function H(e){return{type:"file",mediaType:e.content_type,filename:e.filename,url:`${W}${e.id}`,providerMetadata:{efficient:{size:e.size}}}}function Y(e){const t=[];for(const n of e.parts){if("file"!==n.type||!n.url.startsWith(W))continue;const e=n.providerMetadata?.efficient?.size;t.push({id:n.url.slice(21),filename:n.filename??"",content_type:n.mediaType,size:"number"==typeof e?e:0})}return t}var J=/* @__PURE__ */new Set(["data-conversation","data-plan","data-followups","data-choices","data-tool-summary","data-error","data-file","data-approval","data-busy"]);function q(e,t){const n=e[e.length-1];if(!n)throw new Error("assistant chat: no message to send");if("user"===n.role){const e=U(n).trim();if(!e)throw new Error("assistant chat: empty message");const a=Y(n).map(e=>e.id);return{conversation_id:t,text:e,approvals:[],...a.length>0?{attachments:a}:{}}}const a=function(e){const t=[];for(const n of e.parts){if(!I(n))continue;const e=n;if("approval-responded"!==e.state||!e.approval||"boolean"!=typeof e.approval.approved)continue;const a={approval_id:e.approval.id,approved:e.approval.approved};e.approval.reason&&(a.reason=e.approval.reason),t.push(a)}return t}(n);if(0===a.length)throw new Error("assistant chat: no approval decision to send");return{conversation_id:t,text:null,approvals:a}}var Q=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");function G(e,t,n=""){const a=[t.trim(),n.trim()].filter(Boolean).map(Q);return 0!==a.length&&new RegExp(`(^|[^\\p{L}\\p{N}_@])(?:${a.join("|")})(?![\\p{L}\\p{N}_@])`,"iu").test(e)}function Z(e,t){return G(e,t)?e:`${t.trim()} ${e.trimStart()}`}function V(e){const t=e.map(e=>e.name).filter(Boolean);return t.length<=1?t[0]??"":`${t.slice(0,-1).join(", ")} and ${t[t.length-1]}`}var X=/* @__PURE__ */new Set(["proposed","approved","running"]);function K(e){return X.has(e.status)}function ee(e){const t=[];for(const n of e.parts)"data-plan"===n.type&&t.push(n.data);return t}function te(e){const t=/* @__PURE__ */new Map;for(const n of e)for(const e of ee(n))t.delete(e.id),t.set(e.id,e);return t}function ne(e){const t=[...te(e).values()],n=t[t.length-1];if(!n)return null;if(K(n))return n;const a=e[e.length-1];return a&&"assistant"===a.role&&ee(a).some(e=>e.id===n.id)?n:null}function ae(e){const t={};return e.source&&e.source!==e.role&&(t.source=e.source),e.author&&(t.author=e.author),e.asked_by&&(t.askedBy=e.asked_by),"assistant"===e.role&&e.run_id&&(t.run_id=e.run_id,t.rating=e.rating??null),Object.keys(t).length>0?{metadata:t}:{}}function re(e,t){const n=/* @__PURE__ */new Map;for(const a of e.parts){if("data-approval"!==a.type)continue;const e=a.data,r=e?.[t];"string"==typeof e?.approval_id&&"string"==typeof r&&r&&n.set(e.approval_id,r)}return n}function se(e){const t=e.messages.filter(e=>e.text).map(e=>({id:e.id,role:e.role,parts:[...(e.attachments??[]).map(H),{type:"text",text:e.text},...(e.files??[]).map(e=>({type:"data-file",id:`file-${e.id}`,data:e}))],...ae(e)})),n=(e.plans??[]).filter(K);return(e.pending_approvals.length>0||n.length>0)&&t.push({id:`pending-approvals-${e.id}`,role:"assistant",parts:[...n.map(e=>({type:"data-plan",id:e.id,data:e})),...e.pending_approvals.map(e=>({type:`tool-${e.tool_name}`,toolCallId:e.tool_call_id??e.approval_id,state:"approval-requested",input:e.input,approval:{id:e.approval_id}})),...e.pending_approvals.filter(e=>e.expires_at||e.notice).map(e=>({type:"data-approval",id:e.approval_id,data:{approval_id:e.approval_id,expires_at:e.expires_at,...e.notice?{notice:e.notice}:{}}}))]}),t}function oe(e,t){const n=e?.message?.trim();if(!n)return t;if(n.startsWith("{")){try{const e=JSON.parse(n);for(const t of["detail","errorText","message","title","error"]){const n=e[t];if("string"==typeof n&&n.trim())return n.trim()}for(const t of Object.values(e)){const e=Array.isArray(t)?t[0]:void 0;if("string"==typeof e&&e.trim()&&e.length<=400)return e.trim()}}catch{return t}return t}return n.startsWith("<")||n.length>400?t:n}var ie=/^(load failed|failed to fetch|network ?error( when attempting to fetch resource)?|(the )?network connection was lost|error in input stream|terminated)\.?$/i;function le(e){return!(!e||"AbortError"===e.name)&&ie.test(e.message?.trim()??"")}var ce=/* @__PURE__ */new Set(["budget_reached","not_permitted"]);function de(e,t,n){return le(e)?{text:n.connectionDropped,retryable:!0}:{text:oe(e,n.genericError),retryable:!(t&&ce.has(t))}}function pe(e){const t=e[e.length-1];if(!t)return!1;if("user"===t.role)return""!==U(t).trim();const n=e[e.length-2];return!(!n||"user"!==n.role||!U(n).trim())&&!t.parts.some(e=>void 0!==B(e)?.approvalId)}var ue=["·","✢","✳","✶","✻","✽","✻","✶","✳","✢"];function me(){return"undefined"!=typeof window&&"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function he({resting:e=!1}){const t=function(){const[e,t]=T(0);return j(()=>{if(me())return;const e=setInterval(()=>t(e=>(e+1)%ue.length),130);return()=>clearInterval(e)},[]),me()?"✻":ue[e]}();/* @__PURE__ */
3
+ return L("span",{"aria-hidden":"true",className:"inline-block w-4 shrink-0 text-center text-base leading-none text-accent-text "+(e?"opacity-60":"motion-safe:animate-pulse"),children:e?"✻":t})}function fe({label:e,words:t,since:n,secondsLabel:a,steadyLabel:r}){const[s,o]=T(0);j(()=>{if(e||t.length<2||me())return;const n=setInterval(()=>o(e=>(e+1)%t.length),1600);return()=>clearInterval(n)},[e,t.length]);const i=function(e){const[t]=T(()=>e||Date.now()),[n,a]=T(()=>Date.now());return j(()=>{const e=setInterval(()=>a(Date.now()),1e3);return()=>clearInterval(e)},[]),Math.max(0,Math.floor((n-(e||t))/1e3))}(n),l=e||t[s%Math.max(t.length,1)]||r;/* @__PURE__ */
4
4
  return F("div",{className:"flex items-center gap-2 text-sm text-ink-faint","data-assistant-waiting":"",children:[
5
- /* @__PURE__ */I("span",{className:"sr-only",children:r}),
6
- /* @__PURE__ */I(ue,{}),
7
- /* @__PURE__ */I("span",{"aria-hidden":"true",className:"min-w-0 truncate",children:`${l}…`}),
8
- /* @__PURE__ */I("span",{"aria-hidden":"true",className:"shrink-0 text-xs tabular-nums",children:a.replace("{seconds}",String(i))})]})}function he({labels:e,placeholder:t,busy:n,focusWhen:a,onSend:r,onStop:s,onNewChat:o,actions:i,attachments:h,people:f,assistantDecides:g,deciding:b,quiet:N,onAskToReply:j}){const[S,O]=A(""),[R,$]=A(!1),_=k(null),L=function(e){const[t,n]=A([]),a=k(0),r=k(!0);C(()=>()=>{r.current=!1},[]);const s=e?.upload,o=T(e=>{if(s)for(const t of e){const e=a.current++;n(n=>[...n,{key:e,name:t.name,size:t.size}]),s(t).then(t=>{r.current&&n(n=>n.map(n=>n.key===e?{...n,attachment:t}:n))},t=>{const a=t instanceof Error&&t.message?t.message:String(t);r.current&&n(t=>t.map(t=>t.key===e?{...t,error:a}:t))})}},[s]),i=t.some(e=>!e.attachment&&!e.error),l=t.flatMap(e=>e.attachment?[e.attachment]:[]);return{pending:t,add:o,remove:e=>n(t=>t.filter(t=>t.key!==e)),clear:()=>n([]),uploading:i,ready:l}}(h),D=w().files,M=p({accept:h?.accept,maxSizeBytes:h?.maxSizeBytes,maxFiles:h?.maxFiles??5,acceptHint:h?.acceptHint,currentCount:L.pending.length,disabled:!h,onAccept:L.add});C(()=>{a&&_.current?.focus()},[a]);const B=()=>{const e=_.current;e&&(e.value&&0!==e.clientWidth?(e.style.height="auto",e.style.height=`${e.scrollHeight}px`):e.style.height="")};C(B,[S]),C(()=>{const e=_.current;if(!e||"undefined"==typeof ResizeObserver)return;let t=e.clientWidth;const n=new ResizeObserver(()=>{e.clientWidth!==t&&(t=e.clientWidth,B())});return n.observe(e),()=>n.disconnect()},[]);const z=n||b||L.uploading||!S.trim(),E=()=>{z||(r(S,L.ready,{peopleOnly:!!g&&R}),O(""),L.clear(),M.clearRejections())},U=!!f&&(q(S,e.assistantMention,e.assistantName)||L.pending.length>0),W=!!g&&!R,H=U?e.toAssistant:W?e.assistantDecides:e.toPeople.replace("{names}",f??""),P=U||b?null:g?{label:W?e.peopleOnly:e.letAssistantDecide,onClick:()=>$(W)}:{label:e.askAssistant,onClick:()=>O(t=>K(t,e.assistantMention))},J=f?/* @__PURE__ */F("div",{className:"flex items-center gap-2 px-3 pt-1 text-xs",children:[
9
- /* @__PURE__ */I("span",{role:"status",className:"min-w-0 flex-1 truncate "+(U?"text-accent-text":"text-ink-faint"),children:H}),P&&/* @__PURE__ */I(v,{type:"button",size:"sm",variant:"ghost",onClick:()=>{P.onClick(),_.current?.focus()},children:P.label})]}):null,Y=/* @__PURE__ */F("form",{className:"flex items-end gap-1 p-1",onSubmit:e=>{e.preventDefault(),E()},children:[o&&/* @__PURE__ */I(d,{type:"button",variant:"ghost","aria-label":e.newChat,title:e.newChat,onClick:o,children:/* @__PURE__ */I(x,{name:"compose"})}),h&&/* @__PURE__ */I(d,{type:"button",variant:"ghost","aria-label":e.attach,title:e.attach,onClick:M.open,disabled:n,children:/* @__PURE__ */I(x,{name:"add"})}),
10
- /* @__PURE__ */I("textarea",{ref:_,"aria-label":e.inputLabel,placeholder:t,rows:1,value:S,onChange:e=>O(e.target.value),onInput:B,onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),E())},className:"block max-h-48 min-w-0 flex-1 resize-none overflow-y-auto bg-transparent py-1 text-sm leading-6 text-ink-strong outline-none placeholder:text-[color:var(--ink-placeholder)] "+(o||h?"px-1":"px-2")}),i?.map(e=>e.icon?/* @__PURE__ */I(d,{type:"button",variant:"ghost","aria-label":e.label,title:e.label,disabled:!S.trim(),onClick:()=>e.onSelect(S.trim()),children:/* @__PURE__ */I(x,{name:e.icon})},e.key):/* @__PURE__ */I(v,{type:"button",variant:"ghost",disabled:!S.trim(),onClick:()=>e.onSelect(S.trim()),children:e.label},e.key)),/* @__PURE__ */I(d,n?{type:"button",variant:"ghost","aria-label":e.stop,title:e.stop,onClick:s,children:/* @__PURE__ */I(x,{name:"stop-circle"})}:{type:"submit",variant:"ghost","aria-label":e.send,title:e.send,disabled:z,children:/* @__PURE__ */I(x,{name:"enter"})})]}),Q=f&&b?/* @__PURE__ */I("div",{className:"px-1 pb-1",children:/* @__PURE__ */I(me,{label:e.deciding,words:[],secondsLabel:e.waitingSeconds,steadyLabel:e.deciding})}):f&&N&&j?/* @__PURE__ */F("div",{className:"flex items-center gap-2 px-1 pb-1 text-xs text-ink-faint",children:[
11
- /* @__PURE__ */I(ue,{resting:!0}),
12
- /* @__PURE__ */I("span",{role:"status",className:"min-w-0 flex-1 truncate",children:e.notReplied}),
13
- /* @__PURE__ */I(v,{type:"button",size:"sm",variant:"secondary",onClick:j,children:e.askToReply})]}):null,G="rounded-2xl border border-line bg-surface shadow-sm transition-colors focus-within:border-line-strong";return h?/* @__PURE__ */F(l,{intake:M,className:"px-3 pt-2 pb-3",children:[Q,
14
- /* @__PURE__ */F("div",{className:G,children:[L.pending.length>0&&/* @__PURE__ */I("ul",{className:"flex flex-wrap gap-2 px-3 pt-3",children:L.pending.map(t=>/* @__PURE__ */F("li",{className:"flex max-w-full items-center gap-2 rounded-md border py-1 pl-2 pr-1 text-xs "+(t.error?"border-red-200 bg-red-50 text-red-700":"border-gray-200 bg-gray-50 text-gray-700"),children:[t.attachment||t.error?/* @__PURE__ */I(x,{name:"page",size:14,"aria-hidden":"true"}):/* @__PURE__ */I("span",{role:"status","aria-label":e.attaching,className:"inline-flex",children:/* @__PURE__ */I(y,{className:"h-3 w-3"})}),
15
- /* @__PURE__ */I("span",{className:"min-w-0 truncate",title:t.error??t.name,children:t.name}),
16
- /* @__PURE__ */I("span",{className:"shrink-0 tabular-nums text-gray-400",children:u(t.size,D)}),
17
- /* @__PURE__ */I("button",{type:"button",onClick:()=>L.remove(t.key),"aria-label":e.removeAttachment.replace("{name}",t.name),className:"shrink-0 rounded p-0.5 text-gray-400 hover:bg-gray-200 hover:text-gray-600",children:/* @__PURE__ */I(c,{className:"h-3.5 w-3.5"})})]},t.key))}),L.pending.some(e=>e.error)&&/* @__PURE__ */I("ul",{role:"alert",className:"flex flex-col gap-0.5 px-3 pt-1",children:L.pending.flatMap(e=>e.error?[/* @__PURE__ */I("li",{className:"text-xs text-red-600",children:`${e.name}: ${e.error}`},e.key)]:[])}),
18
- /* @__PURE__ */I(m,{rejections:M.rejections,className:"px-3 pt-1"}),Y]}),J]}):/* @__PURE__ */F("div",{className:"px-3 pt-2 pb-3",children:[Q,
19
- /* @__PURE__ */I("div",{className:G,children:Y}),J]})}function fe(e){const t=e.replace(/^tool-/,"").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_\-.]+/g," ").trim().toLowerCase();return t?t.charAt(0).toUpperCase()+t.slice(1):e}var ge={propose_plan:{label:"Plan the changes",running:"Planning the changes",done:"Planned the changes"}};function be(e,t){const n=t?.[e]??ge[e];return"string"==typeof n?{label:n}:n??{label:fe(e)}}function ve(e,t){return be(e,t).label}function xe(e,t){const n=be(e,t);return n.done??n.label}function ye(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function we(e,t,n){const a=be(e,n).describe;if(!a)return"";try{return a(ye(t))?.trim()??""}catch{return""}}function ke(e,t){return null==e?"":"boolean"==typeof e?e?"Yes":"No":"object"!=typeof e?String(e):Array.isArray(e)?e.map(e=>ke(e,t+1)).filter(Boolean).join(", "):t>=3?"…":Object.entries(e).map(([e,n])=>{const a=ke(n,t+1);return a?`${fe(e)}: ${a}`:""}).filter(Boolean).join("; ")}function Ne(e){const t=ye(e),n=[];for(const[e,a]of Object.entries(t)){if(e.startsWith("_"))continue;const t=ke(a,0);t&&n.push({label:fe(e),value:t})}return 0===n.length&&null!=e&&"object"!=typeof e&&n.push({label:"Value",value:ke(e,0)}),n}function Ae(e,t){const n={answers:0,counted:0,inputTokens:0,outputTokens:0,rate:null};let a=0;const r=[],s=/* @__PURE__ */new Set,o=/* @__PURE__ */new Map;for(const i of e){if("user"===i.role){const e=i.metadata?.author?.name??null;for(const t of H(i))s.has(t.id)||(s.add(t.id),r.push({kind:"attached",attachment:t,from:e}));continue}if("assistant"!==i.role)continue;if(i.metadata?.source)continue;n.answers+=1;const e=i.metadata?.usage;e&&(n.counted+=1,n.inputTokens+=e.input_tokens,n.outputTokens+=e.output_tokens,a+=e.generation_ms);for(const e of z(i))s.has(e.id)||(s.add(e.id),r.push({kind:"made",file:e}));const l=/* @__PURE__ */new Set;for(const e of i.parts){const n=M(e);if(!n||"output-available"!==n.state||l.has(n.toolCallId))continue;l.add(n.toolCallId);const a=xe(n.toolName,t);o.set(a,(o.get(a)??0)+1)}}return n.outputTokens>0&&a>=100&&(n.rate=n.outputTokens/(a/1e3)),{usage:n,files:r,tools:[...o].map(([e,t])=>({label:e,count:t})).sort((e,t)=>t.count-e.count)}}function Ce(e){return e<1e3?String(Math.round(e)):e<1e6?`${(e/1e3).toFixed(e<1e5?1:0).replace(/\.0$/,"")}k`:`${(e/1e6).toFixed(1).replace(/\.0$/,"")}M`}function je(e,t){return e>0&&t>=100?e/(t/1e3):null}function Te(e){return Math.ceil(e.length/4)}var Se=(e,t)=>e.replace(/\{(\w+)\}/g,(e,n)=>t[n]??e),Oe=e=>Math.round(e).toLocaleString();function Re(e,t){const n=je(e.output_tokens,e.generation_ms);return null===n?Se(t.replyTokens,{tokens:Oe(e.output_tokens)}):Se(t.replyStats,{tokens:Oe(e.output_tokens),seconds:(e.generation_ms/1e3).toFixed(1),rate:Oe(n)})}function $e(e,t,n){const a=t>=1e3?je(Te(e),t):null;return null===a?n.streaming:Se(n.streamingRate,{rate:Oe(a)})}var _e=(e,t)=>e.replace(/\{(\w+)\}/g,(e,n)=>t[n]??e);function Fe({title:e,aside:t,children:n}){/* @__PURE__ */
5
+ /* @__PURE__ */L("span",{className:"sr-only",children:r}),
6
+ /* @__PURE__ */L(he,{}),
7
+ /* @__PURE__ */L("span",{"aria-hidden":"true",className:"min-w-0 truncate",children:`${l}…`}),
8
+ /* @__PURE__ */L("span",{"aria-hidden":"true",className:"shrink-0 text-xs tabular-nums",children:a.replace("{seconds}",String(i))})]})}function ge({labels:e,placeholder:t,busy:n,focusWhen:a,onSend:r,onStop:s,onNewChat:o,actions:l,attachments:h,people:f,assistantDecides:g,deciding:v,quiet:b,onAskToReply:x}){const[C,S]=T(""),[R,I]=T(!1),$=A(null),D=function(e){const[t,n]=T([]),a=A(0),r=A(!0);j(()=>()=>{r.current=!1},[]);const s=e?.upload,o=O(e=>{if(s)for(const t of e){const e=a.current++;n(n=>[...n,{key:e,name:t.name,size:t.size}]),s(t).then(t=>{r.current&&n(n=>n.map(n=>n.key===e?{...n,attachment:t}:n))},t=>{const a=t instanceof Error&&t.message?t.message:String(t);r.current&&n(t=>t.map(t=>t.key===e?{...t,error:a}:t))})}},[s]),i=t.some(e=>!e.attachment&&!e.error),l=t.flatMap(e=>e.attachment?[e.attachment]:[]);return{pending:t,add:o,remove:e=>n(t=>t.filter(t=>t.key!==e)),clear:()=>n([]),uploading:i,ready:l}}(h),_=N().files,M=p({accept:h?.accept,maxSizeBytes:h?.maxSizeBytes,maxFiles:h?.maxFiles??5,acceptHint:h?.acceptHint,currentCount:D.pending.length,disabled:!h,onAccept:D.add});j(()=>{a&&$.current?.focus()},[a]);const P=()=>{const e=$.current;e&&(e.value&&0!==e.clientWidth?(e.style.height="auto",e.style.height=`${e.scrollHeight}px`):e.style.height="")};j(P,[C]),j(()=>{const e=$.current;if(!e||"undefined"==typeof ResizeObserver)return;let t=e.clientWidth;const n=new ResizeObserver(()=>{e.clientWidth!==t&&(t=e.clientWidth,P())});return n.observe(e),()=>n.disconnect()},[]);const B=n||v||D.uploading||!C.trim(),z=()=>{B||(r(C,D.ready,{peopleOnly:!!g&&R}),S(""),D.clear(),M.clearRejections())},E=!!f&&(G(C,e.assistantMention,e.assistantName)||D.pending.length>0),U=!!g&&!R,W=E?e.toAssistant:U?e.assistantDecides:e.toPeople.replace("{names}",f??""),H=E||v?null:g?{label:U?e.peopleOnly:e.letAssistantDecide,onClick:()=>I(U)}:{label:e.askAssistant,onClick:()=>S(t=>Z(t,e.assistantMention))},Y=f?/* @__PURE__ */F("div",{className:"flex items-center gap-2 px-3 pt-1 text-xs",children:[
9
+ /* @__PURE__ */L("span",{role:"status",className:"min-w-0 flex-1 truncate "+(E?"text-accent-text":"text-ink-faint"),children:W}),H&&/* @__PURE__ */L(y,{type:"button",size:"sm",variant:"ghost",onClick:()=>{H.onClick(),$.current?.focus()},children:H.label})]}):null,J=/* @__PURE__ */F("form",{className:"flex items-end gap-1 p-1",onSubmit:e=>{e.preventDefault(),z()},children:[o&&/* @__PURE__ */L(c,{type:"button",variant:"ghost","aria-label":e.newChat,title:e.newChat,onClick:o,children:/* @__PURE__ */L(w,{name:"compose"})}),h&&/* @__PURE__ */L(c,{type:"button",variant:"ghost","aria-label":e.attach,title:e.attach,onClick:M.open,disabled:n,children:/* @__PURE__ */L(w,{name:"add"})}),
10
+ /* @__PURE__ */L("textarea",{ref:$,"aria-label":e.inputLabel,placeholder:t,rows:1,value:C,onChange:e=>S(e.target.value),onInput:P,onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),z())},className:"block max-h-48 min-w-0 flex-1 resize-none overflow-y-auto bg-transparent py-1 text-sm leading-6 text-ink-strong outline-none placeholder:text-[color:var(--ink-placeholder)] "+(o||h?"px-1":"px-2")}),l?.map(e=>e.icon?/* @__PURE__ */L(c,{type:"button",variant:"ghost","aria-label":e.label,title:e.label,disabled:!C.trim(),onClick:()=>e.onSelect(C.trim()),children:/* @__PURE__ */L(w,{name:e.icon})},e.key):/* @__PURE__ */L(y,{type:"button",variant:"ghost",disabled:!C.trim(),onClick:()=>e.onSelect(C.trim()),children:e.label},e.key)),/* @__PURE__ */L(c,n?{type:"button",variant:"ghost","aria-label":e.stop,title:e.stop,onClick:s,children:/* @__PURE__ */L(w,{name:"stop-circle"})}:{type:"submit",variant:"ghost","aria-label":e.send,title:e.send,disabled:B,children:/* @__PURE__ */L(w,{name:"enter"})})]}),q=f&&v?/* @__PURE__ */L("div",{className:"px-1 pb-1",children:/* @__PURE__ */L(fe,{label:e.deciding,words:[],secondsLabel:e.waitingSeconds,steadyLabel:e.deciding})}):f&&b&&x?/* @__PURE__ */F("div",{className:"flex items-center gap-2 px-1 pb-1 text-xs text-ink-faint",children:[
11
+ /* @__PURE__ */L(he,{resting:!0}),
12
+ /* @__PURE__ */L("span",{role:"status",className:"min-w-0 flex-1 truncate",children:e.notReplied}),
13
+ /* @__PURE__ */L(y,{type:"button",size:"sm",variant:"secondary",onClick:x,children:e.askToReply})]}):null,Q="rounded-2xl border border-line bg-surface shadow-sm transition-colors focus-within:border-line-strong";return h?/* @__PURE__ */F(i,{intake:M,className:"px-3 pt-2 pb-3",children:[q,
14
+ /* @__PURE__ */F("div",{className:Q,children:[D.pending.length>0&&/* @__PURE__ */L("ul",{className:"flex flex-wrap gap-2 px-3 pt-3",children:D.pending.map(t=>/* @__PURE__ */F("li",{className:"flex max-w-full items-center gap-2 rounded-md border py-1 pl-2 pr-1 text-xs "+(t.error?"border-red-200 bg-red-50 text-red-700":"border-gray-200 bg-gray-50 text-gray-700"),children:[t.attachment||t.error?/* @__PURE__ */L(w,{name:"page",size:14,"aria-hidden":"true"}):/* @__PURE__ */L("span",{role:"status","aria-label":e.attaching,className:"inline-flex",children:/* @__PURE__ */L(k,{className:"h-3 w-3"})}),
15
+ /* @__PURE__ */L("span",{className:"min-w-0 truncate",title:t.error??t.name,children:t.name}),
16
+ /* @__PURE__ */L("span",{className:"shrink-0 tabular-nums text-gray-400",children:u(t.size,_)}),
17
+ /* @__PURE__ */L("button",{type:"button",onClick:()=>D.remove(t.key),"aria-label":e.removeAttachment.replace("{name}",t.name),className:"shrink-0 rounded p-0.5 text-gray-400 hover:bg-gray-200 hover:text-gray-600",children:/* @__PURE__ */L(d,{className:"h-3.5 w-3.5"})})]},t.key))}),D.pending.some(e=>e.error)&&/* @__PURE__ */L("ul",{role:"alert",className:"flex flex-col gap-0.5 px-3 pt-1",children:D.pending.flatMap(e=>e.error?[/* @__PURE__ */L("li",{className:"text-xs text-red-600",children:`${e.name}: ${e.error}`},e.key)]:[])}),
18
+ /* @__PURE__ */L(m,{rejections:M.rejections,className:"px-3 pt-1"}),J]}),Y]}):/* @__PURE__ */F("div",{className:"px-3 pt-2 pb-3",children:[q,
19
+ /* @__PURE__ */L("div",{className:Q,children:J}),Y]})}function ve(e){const t=e.replace(/^tool-/,"").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_\-.]+/g," ").trim().toLowerCase();return t?t.charAt(0).toUpperCase()+t.slice(1):e}var be={propose_plan:{label:"Plan the changes",running:"Planning the changes",done:"Planned the changes"}};function xe(e,t){const n=t?.[e]??be[e];return"string"==typeof n?{label:n}:n??{label:ve(e)}}function ye(e,t){return xe(e,t).label}function we(e,t){const n=xe(e,t);return n.done??n.label}function ke(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function Ne(e,t,n){const a=xe(e,n).describe;if(!a)return"";try{return a(ke(t))?.trim()??""}catch{return""}}function Ae(e,t){return null==e?"":"boolean"==typeof e?e?"Yes":"No":"object"!=typeof e?String(e):Array.isArray(e)?e.map(e=>Ae(e,t+1)).filter(Boolean).join(", "):t>=3?"…":Object.entries(e).map(([e,n])=>{const a=Ae(n,t+1);return a?`${ve(e)}: ${a}`:""}).filter(Boolean).join("; ")}function Ce(e){const t=ke(e),n=[];for(const[e,a]of Object.entries(t)){if(e.startsWith("_"))continue;const t=Ae(a,0);t&&n.push({label:ve(e),value:t})}return 0===n.length&&null!=e&&"object"!=typeof e&&n.push({label:"Value",value:Ae(e,0)}),n}function Te(e,t){const n={answers:0,counted:0,inputTokens:0,outputTokens:0,rate:null};let a=0;const r=[],s=/* @__PURE__ */new Set,o=/* @__PURE__ */new Map;for(const i of e){if("user"===i.role){const e=i.metadata?.author?.name??null;for(const t of Y(i))s.has(t.id)||(s.add(t.id),r.push({kind:"attached",attachment:t,from:e}));continue}if("assistant"!==i.role)continue;if(i.metadata?.source)continue;n.answers+=1;const e=i.metadata?.usage;e&&(n.counted+=1,n.inputTokens+=e.input_tokens,n.outputTokens+=e.output_tokens,a+=e.generation_ms);for(const e of E(i))s.has(e.id)||(s.add(e.id),r.push({kind:"made",file:e}));const l=/* @__PURE__ */new Set;for(const e of i.parts){const n=B(e);if(!n||"output-available"!==n.state||l.has(n.toolCallId))continue;l.add(n.toolCallId);const a=we(n.toolName,t);o.set(a,(o.get(a)??0)+1)}}return n.outputTokens>0&&a>=100&&(n.rate=n.outputTokens/(a/1e3)),{usage:n,files:r,tools:[...o].map(([e,t])=>({label:e,count:t})).sort((e,t)=>t.count-e.count)}}function je(e){return e<1e3?String(Math.round(e)):e<1e6?`${(e/1e3).toFixed(e<1e5?1:0).replace(/\.0$/,"")}k`:`${(e/1e6).toFixed(1).replace(/\.0$/,"")}M`}function Se(e,t){return e>0&&t>=100?e/(t/1e3):null}function Oe(e){return Math.ceil(e.length/4)}var Re=(e,t)=>e.replace(/\{(\w+)\}/g,(e,n)=>t[n]??e),Ie=e=>Math.round(e).toLocaleString();function $e(e,t){const n=Se(e.output_tokens,e.generation_ms);return null===n?Re(t.replyTokens,{tokens:Ie(e.output_tokens)}):Re(t.replyStats,{tokens:Ie(e.output_tokens),seconds:(e.generation_ms/1e3).toFixed(1),rate:Ie(n)})}function De(e,t,n){const a=t>=1e3?Se(Oe(e),t):null;return null===a?n.streaming:Re(n.streamingRate,{rate:Ie(a)})}var _e=(e,t)=>e.replace(/\{(\w+)\}/g,(e,n)=>t[n]??e);function Fe({title:e,aside:t,children:n}){/* @__PURE__ */
20
20
  return F("details",{open:!0,className:"group rounded-lg border border-line bg-surface px-3 py-2",children:[
21
21
  /* @__PURE__ */F("summary",{className:"flex cursor-pointer select-none list-none items-center gap-1 text-sm font-medium text-ink-strong [&::-webkit-details-marker]:hidden",children:[
22
- /* @__PURE__ */I("span",{children:e}),
23
- /* @__PURE__ */I(x,{name:"chevron-down",size:14,"aria-hidden":"true",className:"-rotate-90 transition-transform group-open:rotate-0"}),t&&/* @__PURE__ */I("span",{className:"ml-auto text-xs font-normal text-ink-faint",children:t})]}),
24
- /* @__PURE__ */I("div",{className:"mt-2",children:n})]})}function Ie({rows:e}){/* @__PURE__ */
25
- return I("dl",{className:"grid grid-cols-[auto_minmax(0,1fr)] gap-x-3 gap-y-1 text-xs",children:e.map(e=>/* @__PURE__ */F("div",{className:"contents",children:[
26
- /* @__PURE__ */I("dt",{className:"text-ink-faint",children:e.label}),
27
- /* @__PURE__ */I("dd",{className:"min-w-0 text-right text-ink",children:e.value})]},e.key))})}function Le(e){return"pdf"===e?"document":"csv"===e||"xlsx"===e?"table":"page"}function De({entry:e,labels:t,assistantName:n,onOpenFile:a,onOpenAttachment:r}){const s="made"===e.kind,o=s?e.file.filename:e.attachment.filename,i=s?e.file.kind:o.split(".").pop()?.toLowerCase()??"",l=s?n:e.from??t.detailsYou,c=s?a&&(()=>a(e.file)):r&&(()=>r(e.attachment));/* @__PURE__ */
22
+ /* @__PURE__ */L("span",{children:e}),
23
+ /* @__PURE__ */L(w,{name:"chevron-down",size:14,"aria-hidden":"true",className:"-rotate-90 transition-transform group-open:rotate-0"}),t&&/* @__PURE__ */L("span",{className:"ml-auto text-xs font-normal text-ink-faint",children:t})]}),
24
+ /* @__PURE__ */L("div",{className:"mt-2",children:n})]})}function Le({rows:e}){/* @__PURE__ */
25
+ return L("dl",{className:"grid grid-cols-[auto_minmax(0,1fr)] gap-x-3 gap-y-1 text-xs",children:e.map(e=>/* @__PURE__ */F("div",{className:"contents",children:[
26
+ /* @__PURE__ */L("dt",{className:"text-ink-faint",children:e.label}),
27
+ /* @__PURE__ */L("dd",{className:"min-w-0 text-right text-ink",children:e.value})]},e.key))})}function Me(e){return"pdf"===e?"document":"csv"===e||"xlsx"===e?"table":"page"}function Pe({entry:e,labels:t,assistantName:n,onOpenFile:a,onOpenAttachment:r}){const s="made"===e.kind,o=s?e.file.filename:e.attachment.filename,i=s?e.file.kind:o.split(".").pop()?.toLowerCase()??"",l=s?n:e.from??t.detailsYou,c=s?a&&(()=>a(e.file)):r&&(()=>r(e.attachment));/* @__PURE__ */
28
28
  return F("li",{className:"flex min-w-0 items-center gap-2 text-xs",children:[
29
- /* @__PURE__ */I(x,{name:Le(i),size:14,"aria-hidden":"true",className:"shrink-0"}),c?/* @__PURE__ */I("button",{type:"button",onClick:c,title:o,"aria-label":_e(t.openFile,{name:o}),className:"min-w-0 flex-1 truncate text-left text-accent-text hover:underline",children:o}):/* @__PURE__ */I("span",{className:"min-w-0 flex-1 truncate text-ink",title:o,children:o}),
30
- /* @__PURE__ */I("span",{className:"shrink-0 text-ink-faint",children:l})]})}function Me({messages:e,facts:t,toolLabels:n,labels:a,assistantName:r,onOpenFile:s,onOpenAttachment:o}){const{usage:i,files:l,tools:c}=Ae(e,n),d=c.reduce((e,t)=>e+t.count,0),p=i.counted<i.answers,u=p?/* @__PURE__ */I("p",{className:"mt-2 text-xs text-ink-faint",children:a.detailsUsagePartial}):null;/* @__PURE__ */
31
- return F("aside",{"aria-label":a.detailsPanel,className:"flex w-64 shrink-0 flex-col gap-2 overflow-y-auto border-l border-line bg-surface-sunken p-2",children:[t&&t.length>0&&/* @__PURE__ */I(Fe,{title:a.detailsChat,children:/* @__PURE__ */I(Ie,{rows:t})}),
32
- /* @__PURE__ */F(Fe,{title:a.detailsUsage,aside:1===i.answers?a.detailsOneAnswer:_e(a.detailsAnswers,{count:Oe(i.answers)}),children:[
33
- /* @__PURE__ */I(Ie,{rows:[{key:"in",label:a.detailsTokensIn,value:i.counted>0?Ce(i.inputTokens):"—"},{key:"out",label:a.detailsTokensOut,value:i.counted>0?Ce(i.outputTokens):"—"},...null===i.rate?[]:[{key:"rate",label:a.detailsSpeed,value:_e(a.detailsRate,{rate:Oe(i.rate)})}]]}),u]}),
34
- /* @__PURE__ */I(Fe,{title:a.detailsFiles,aside:l.length>0?Oe(l.length):void 0,children:l.length>0?/* @__PURE__ */I("ul",{className:"flex flex-col gap-1",children:l.map(e=>/* @__PURE__ */I(De,{entry:e,labels:a,assistantName:r,onOpenFile:s,onOpenAttachment:o},"made"===e.kind?e.file.id:e.attachment.id))}):/* @__PURE__ */I("p",{className:"text-xs text-ink-faint",children:a.detailsNoFiles})}),
35
- /* @__PURE__ */F(Fe,{title:a.detailsTools,aside:d>0?Oe(d):void 0,children:[c.length>0&&/* @__PURE__ */I(Ie,{rows:c.map(e=>({key:e.label,label:e.label,value:Oe(e.count)}))}),0===c.length&&!p&&/* @__PURE__ */I("p",{className:"text-xs text-ink-faint",children:a.detailsNoTools}),u]})]})}function Be({rows:e,label:t}){/* @__PURE__ */
36
- return I("dl",{"aria-label":t,className:"grid grid-cols-[max-content_1fr] gap-x-3 gap-y-1 text-xs",children:e.map((e,t)=>/* @__PURE__ */F("div",{className:"contents",children:[
37
- /* @__PURE__ */I("dt",{className:"text-gray-500",children:e.label}),
38
- /* @__PURE__ */I("dd",{className:"min-w-0 break-words "+(e.warn?"font-medium text-amber-700":"text-gray-800"),children:e.value})]},`${e.label}-${t}`))})}function ze({approvalId:e,expiresAt:t,expired:n=!1,approveLabel:a,labels:r,onApprove:s}){const o=function(e){const t=e?Date.parse(e):Number.NaN,[n,a]=A(()=>Number.isFinite(t)&&t<=Date.now());return C(()=>{if(!Number.isFinite(t))return;const e=t-Date.now();if(e<=0)return void a(!0);if(a(!1),e>2147483647)return;const n=setTimeout(()=>a(!0),e);return()=>clearTimeout(n)},[t]),n}(t)||n;return o?/* @__PURE__ */I("p",{role:"note",className:"mt-3 text-xs text-ink-faint",children:r.approvalExpired}):/* @__PURE__ */F("div",{className:"mt-3 flex gap-2",children:[
39
- /* @__PURE__ */I(v,{size:"sm",onClick:()=>s(e,!0),children:a}),
40
- /* @__PURE__ */I(v,{size:"sm",variant:"secondary",onClick:()=>s(e,!1),children:r.deny})]})}function Ee({tool:e,toolLabels:t,labels:n,onApprove:a,expiresAt:r,notice:s}){const o=we(e.toolName,e.input,t),i=Ne(e.input),l=e.approvalId,c=`${n.approvalNeeded}: ${ve(e.toolName,t)}${o?` ${o}`:""}`;/* @__PURE__ */
29
+ /* @__PURE__ */L(w,{name:Me(i),size:14,"aria-hidden":"true",className:"shrink-0"}),c?/* @__PURE__ */L("button",{type:"button",onClick:c,title:o,"aria-label":_e(t.openFile,{name:o}),className:"min-w-0 flex-1 truncate text-left text-accent-text hover:underline",children:o}):/* @__PURE__ */L("span",{className:"min-w-0 flex-1 truncate text-ink",title:o,children:o}),
30
+ /* @__PURE__ */L("span",{className:"shrink-0 text-ink-faint",children:l})]})}function Be({messages:e,facts:t,toolLabels:n,labels:a,assistantName:r,onOpenFile:s,onOpenAttachment:o}){const{usage:i,files:l,tools:c}=Te(e,n),d=c.reduce((e,t)=>e+t.count,0),p=i.counted<i.answers,u=p?/* @__PURE__ */L("p",{className:"mt-2 text-xs text-ink-faint",children:a.detailsUsagePartial}):null;/* @__PURE__ */
31
+ return F("aside",{"aria-label":a.detailsPanel,className:"flex w-64 shrink-0 flex-col gap-2 overflow-y-auto border-l border-line bg-surface-sunken p-2",children:[t&&t.length>0&&/* @__PURE__ */L(Fe,{title:a.detailsChat,children:/* @__PURE__ */L(Le,{rows:t})}),
32
+ /* @__PURE__ */F(Fe,{title:a.detailsUsage,aside:1===i.answers?a.detailsOneAnswer:_e(a.detailsAnswers,{count:Ie(i.answers)}),children:[
33
+ /* @__PURE__ */L(Le,{rows:[{key:"in",label:a.detailsTokensIn,value:i.counted>0?je(i.inputTokens):"—"},{key:"out",label:a.detailsTokensOut,value:i.counted>0?je(i.outputTokens):"—"},...null===i.rate?[]:[{key:"rate",label:a.detailsSpeed,value:_e(a.detailsRate,{rate:Ie(i.rate)})}]]}),u]}),
34
+ /* @__PURE__ */L(Fe,{title:a.detailsFiles,aside:l.length>0?Ie(l.length):void 0,children:l.length>0?/* @__PURE__ */L("ul",{className:"flex flex-col gap-1",children:l.map(e=>/* @__PURE__ */L(Pe,{entry:e,labels:a,assistantName:r,onOpenFile:s,onOpenAttachment:o},"made"===e.kind?e.file.id:e.attachment.id))}):/* @__PURE__ */L("p",{className:"text-xs text-ink-faint",children:a.detailsNoFiles})}),
35
+ /* @__PURE__ */F(Fe,{title:a.detailsTools,aside:d>0?Ie(d):void 0,children:[c.length>0&&/* @__PURE__ */L(Le,{rows:c.map(e=>({key:e.label,label:e.label,value:Ie(e.count)}))}),0===c.length&&!p&&/* @__PURE__ */L("p",{className:"text-xs text-ink-faint",children:a.detailsNoTools}),u]})]})}function ze({rows:e,label:t}){/* @__PURE__ */
36
+ return L("dl",{"aria-label":t,className:"grid grid-cols-[max-content_1fr] gap-x-3 gap-y-1 text-xs",children:e.map((e,t)=>/* @__PURE__ */F("div",{className:"contents",children:[
37
+ /* @__PURE__ */L("dt",{className:"text-gray-500",children:e.label}),
38
+ /* @__PURE__ */L("dd",{className:"min-w-0 break-words "+(e.warn?"font-medium text-amber-700":"text-gray-800"),children:e.value})]},`${e.label}-${t}`))})}function Ee({approvalId:e,expiresAt:t,expired:n=!1,approveLabel:a,labels:r,onApprove:s}){const o=function(e){const t=e?Date.parse(e):Number.NaN,[n,a]=T(()=>Number.isFinite(t)&&t<=Date.now());return j(()=>{if(!Number.isFinite(t))return;const e=t-Date.now();if(e<=0)return void a(!0);if(a(!1),e>2147483647)return;const n=setTimeout(()=>a(!0),e);return()=>clearTimeout(n)},[t]),n}(t)||n;return o?/* @__PURE__ */L("p",{role:"note",className:"mt-3 text-xs text-ink-faint",children:r.approvalExpired}):/* @__PURE__ */F("div",{className:"mt-3 flex gap-2",children:[
39
+ /* @__PURE__ */L(y,{size:"sm",onClick:()=>s(e,!0),children:a}),
40
+ /* @__PURE__ */L(y,{size:"sm",variant:"secondary",onClick:()=>s(e,!1),children:r.deny})]})}function Ue({tool:e,toolLabels:t,labels:n,onApprove:a,expiresAt:r,notice:s}){const o=Ne(e.toolName,e.input,t),i=Ce(e.input),l=e.approvalId,c=`${n.approvalNeeded}: ${ye(e.toolName,t)}${o?` ${o}`:""}`;/* @__PURE__ */
41
41
  return F("div",{role:"group","aria-label":c,className:"rounded-lg border border-amber-300 bg-amber-50 p-3 text-sm",children:[
42
- /* @__PURE__ */I("div",{className:"font-medium text-gray-900",children:c}),s&&/* @__PURE__ */F("p",{role:"note",className:"mt-2 flex items-start gap-1 text-xs font-medium text-warning-text",children:[
43
- /* @__PURE__ */I(x,{name:"warning",size:14,"aria-hidden":"true",className:"mt-0.5 shrink-0"}),
44
- /* @__PURE__ */I("span",{children:s})]}),i.length>0&&/* @__PURE__ */I("div",{className:"mt-2",children:/* @__PURE__ */I(Be,{rows:i})}),
45
- /* @__PURE__ */I(ze,{approvalId:l,expiresAt:r,approveLabel:n.approve,labels:n,onApprove:a})]})}var Ue={running:"active",done:"complete",failed:"failed",declined:"stopped",waiting:"waiting"};function We(e,t,n){return function(e,t,n,a,r,s){const o=be(n,r),i=we(n,a,r),l=(e,t)=>({kind:e,base:t,subject:i,text:i?`${t} ${i}`:t});switch(e){case"output-available":return l("done",o.done??o.label);case"output-error":return l("failed",`${o.label} ${s.toolFailed}`);case"output-denied":return l("declined",`${o.label} ${s.toolDeclined}`);case"approval-requested":return l("waiting",`${s.approvalNeeded}: ${o.label}`);case"approval-responded":return!1===t?l("declined",`${o.label} — ${s.declined}`):l("running",`${s.approved}: ${o.running??o.label}`);default:return l("running",o.running??o.label)}}(e.state,e.approved,e.toolName,e.input,t,n)}function He({tool:t,summary:n,toolLabels:a,labels:r,showOutput:s}){const o=We(t,a,r),i=Ne(t.input),l=s&&"output-available"===t.state?Ne(t.output):[],c=s&&"output-error"===t.state&&t.errorText?t.errorText:"",d="output-available"===t.state&&n?n.rows:[];let p=null;return(i.length>0||l.length>0||c)&&(p=/* @__PURE__ */F("details",{className:d.length>0?"mt-1":void 0,children:[
46
- /* @__PURE__ */I("summary",{className:"cursor-pointer select-none",children:r.details}),
47
- /* @__PURE__ */F("div",{className:"mt-1 space-y-2",children:[i.length>0&&/* @__PURE__ */I(Be,{rows:i}),l.length>0&&/* @__PURE__ */I(Be,{rows:l}),c&&/* @__PURE__ */I("div",{className:"text-red-600",children:c})]})]})),/* @__PURE__ */F(e,{label:o.base,description:o.subject||void 0,status:Ue[o.kind],children:[d.length>0&&/* @__PURE__ */I(Be,{rows:d,label:r.stepSources}),p]})}var Pe={proposed:"planProposed",approved:"planApproved",running:"planRunning",completed:"planCompleted",failed:"planFailed",denied:"planDenied",expired:"planExpired"},Je={pending:"pending",running:"active",done:"complete",failed:"failed",skipped:"skipped"};function Ye(e,t){const n=we(e.tool_name,e.input,t);return`${ve(e.tool_name,t)}${n?` ${n}`:""}`}function qe(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>n in t?String(t[n]):e)}function Ke(e,t){const n=e.steps.filter(e=>"done"===e.status).length;return`${qe(t.planSummary,{done:n,total:e.steps.length})} · ${t[Pe[e.status]]}`}function Qe({plan:n,labels:a}){/* @__PURE__ */
48
- return I("section",{"aria-label":a.plan,className:"border-t border-gray-200 bg-white px-3 py-2",children:/* @__PURE__ */I(t,{summary:Ke(n,a),busy:Z(n),label:a.plan,children:n.steps.map(t=>/* @__PURE__ */I(e,{label:t.title,status:Je[t.status],description:"done"!==t.status&&t.result_summary?t.result_summary:void 0},t.id))})})}function Ge({approvalId:e,plan:t,input:n,labels:a,toolLabels:r,onApprove:s,expiresAt:o}){const i=function(e,t){if(e)return e.steps.map(e=>({key:e.id,title:e.title,tool_name:e.tool_name,input:e.input}));const n=t?.steps;return Array.isArray(n)?n.map((e,t)=>{const n=e??{};return{key:String(t),title:"string"==typeof n.title?n.title:"",tool_name:"string"==typeof n.tool?n.tool:"",input:n.args}}):[]}(t,n),l=qe(a.planApprovalHeading,{count:i.length});/* @__PURE__ */
42
+ /* @__PURE__ */L("div",{className:"font-medium text-gray-900",children:c}),s&&/* @__PURE__ */F("p",{role:"note",className:"mt-2 flex items-start gap-1 text-xs font-medium text-warning-text",children:[
43
+ /* @__PURE__ */L(w,{name:"warning",size:14,"aria-hidden":"true",className:"mt-0.5 shrink-0"}),
44
+ /* @__PURE__ */L("span",{children:s})]}),i.length>0&&/* @__PURE__ */L("div",{className:"mt-2",children:/* @__PURE__ */L(ze,{rows:i})}),
45
+ /* @__PURE__ */L(Ee,{approvalId:l,expiresAt:r,approveLabel:n.approve,labels:n,onApprove:a})]})}var We={running:"active",done:"complete",failed:"failed",declined:"stopped",waiting:"waiting"};function He(e,t,n){return function(e,t,n,a,r,s){const o=xe(n,r),i=Ne(n,a,r),l=(e,t)=>({kind:e,base:t,subject:i,text:i?`${t} ${i}`:t});switch(e){case"output-available":return l("done",o.done??o.label);case"output-error":return l("failed",`${o.label} ${s.toolFailed}`);case"output-denied":return l("declined",`${o.label} ${s.toolDeclined}`);case"approval-requested":return l("waiting",`${s.approvalNeeded}: ${o.label}`);case"approval-responded":return!1===t?l("declined",`${o.label} — ${s.declined}`):l("running",`${s.approved}: ${o.running??o.label}`);default:return l("running",o.running??o.label)}}(e.state,e.approved,e.toolName,e.input,t,n)}function Ye({tool:t,summary:n,toolLabels:a,labels:r,showOutput:s}){const o=He(t,a,r),i=Ce(t.input),l=s&&"output-available"===t.state?Ce(t.output):[],c=s&&"output-error"===t.state&&t.errorText?t.errorText:"",d="output-available"===t.state&&n?n.rows:[];let p=null;return(i.length>0||l.length>0||c)&&(p=/* @__PURE__ */F("details",{className:d.length>0?"mt-1":void 0,children:[
46
+ /* @__PURE__ */L("summary",{className:"cursor-pointer select-none",children:r.details}),
47
+ /* @__PURE__ */F("div",{className:"mt-1 space-y-2",children:[i.length>0&&/* @__PURE__ */L(ze,{rows:i}),l.length>0&&/* @__PURE__ */L(ze,{rows:l}),c&&/* @__PURE__ */L("div",{className:"text-red-600",children:c})]})]})),/* @__PURE__ */F(e,{label:o.base,description:o.subject||void 0,status:We[o.kind],children:[d.length>0&&/* @__PURE__ */L(ze,{rows:d,label:r.stepSources}),p]})}var Je={proposed:"planProposed",approved:"planApproved",running:"planRunning",completed:"planCompleted",failed:"planFailed",denied:"planDenied",expired:"planExpired"},qe={pending:"pending",running:"active",done:"complete",failed:"failed",skipped:"skipped"};function Qe(e,t){const n=Ne(e.tool_name,e.input,t);return`${ye(e.tool_name,t)}${n?` ${n}`:""}`}function Ge(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>n in t?String(t[n]):e)}function Ze(e,t){const n=e.steps.filter(e=>"done"===e.status).length;return`${Ge(t.planSummary,{done:n,total:e.steps.length})} · ${t[Je[e.status]]}`}function Ve({plan:n,labels:a}){/* @__PURE__ */
48
+ return L("section",{"aria-label":a.plan,className:"border-t border-gray-200 bg-white px-3 py-2",children:/* @__PURE__ */L(t,{summary:Ze(n,a),busy:K(n),label:a.plan,children:n.steps.map(t=>/* @__PURE__ */L(e,{label:t.title,status:qe[t.status],description:"done"!==t.status&&t.result_summary?t.result_summary:void 0},t.id))})})}function Xe({approvalId:e,plan:t,input:n,labels:a,toolLabels:r,onApprove:s,expiresAt:o}){const i=function(e,t){if(e)return e.steps.map(e=>({key:e.id,title:e.title,tool_name:e.tool_name,input:e.input}));const n=t?.steps;return Array.isArray(n)?n.map((e,t)=>{const n=e??{};return{key:String(t),title:"string"==typeof n.title?n.title:"",tool_name:"string"==typeof n.tool?n.tool:"",input:n.args}}):[]}(t,n),l=Ge(a.planApprovalHeading,{count:i.length});/* @__PURE__ */
49
49
  return F("div",{role:"group","aria-label":l,className:"rounded-lg border border-amber-300 bg-amber-50 p-3 text-sm",children:[
50
- /* @__PURE__ */I("div",{className:"font-medium text-gray-900",children:l}),
51
- /* @__PURE__ */I("ol",{className:"mt-2 list-decimal space-y-2 pl-5",children:i.map(e=>{const t=Ne(e.input);/* @__PURE__ */
50
+ /* @__PURE__ */L("div",{className:"font-medium text-gray-900",children:l}),
51
+ /* @__PURE__ */L("ol",{className:"mt-2 list-decimal space-y-2 pl-5",children:i.map(e=>{const t=Ce(e.input);/* @__PURE__ */
52
52
  return F("li",{children:[
53
- /* @__PURE__ */I("div",{className:"font-medium text-gray-900",children:Ye(e,r)}),e.title&&/* @__PURE__ */I("div",{className:"text-xs text-gray-600",children:e.title}),t.length>0&&/* @__PURE__ */I("dl",{className:"mt-1 grid grid-cols-[max-content_1fr] gap-x-3 gap-y-1 text-xs",children:t.map(e=>/* @__PURE__ */F("div",{className:"contents",children:[
54
- /* @__PURE__ */I("dt",{className:"text-gray-500",children:e.label}),
55
- /* @__PURE__ */I("dd",{className:"min-w-0 break-words text-gray-800",children:e.value})]},e.label))})]},e.key)})}),
56
- /* @__PURE__ */I(ze,{approvalId:e,expiresAt:o,expired:"expired"===t?.status,approveLabel:a.approvePlan,labels:a,onApprove:s})]})}function Ze({choices:e,label:t,onAnswer:n}){return 0===e.length?null:/* @__PURE__ */I("div",{role:"group","aria-label":t,className:"flex flex-col items-start gap-2 pl-1",children:e.map(e=>/* @__PURE__ */I(v,{size:"sm",variant:"secondary",onClick:()=>n(e),children:e},e))})}function Xe({questions:e,label:t,onAsk:n}){return 0===e.length?null:/* @__PURE__ */I("div",{role:"group","aria-label":t,className:"flex flex-wrap gap-2 pl-1",children:e.map(e=>/* @__PURE__ */I(v,{size:"sm",variant:"secondary",onClick:()=>n(e),children:e},e))})}function Ve({initial:e,labels:t,onRate:n}){const[a,r]=A(e??null),[s,o]=A(!1),[l,c]=A(""),[p,u]=A(!1),[m,h]=A(!1),[f,g]=A(!1),b=async e=>{const t=a;r(e),h(!1),g(!0);try{return await n(e),!0}catch{return r(t),h(!0),!1}finally{g(!1)}},y=e=>{const n="up"===e?t.rateUp:t.rateDown;/* @__PURE__ */
57
- return I(d,{size:"sm","aria-label":n,title:n,"aria-pressed":a?.verdict===e,disabled:f,onClick:()=>{(async e=>{if(u(!1),a?.verdict===e)return o(!1),void await b(null);const t=await b({verdict:e,note:""});o(t&&"down"===e),c("")})(e)},children:/* @__PURE__ */I(x,{name:"hand-thumb-up",className:"down"===e?"h-3.5 w-3.5 rotate-180":"h-3.5 w-3.5"})})};/* @__PURE__ */
53
+ /* @__PURE__ */L("div",{className:"font-medium text-gray-900",children:Qe(e,r)}),e.title&&/* @__PURE__ */L("div",{className:"text-xs text-gray-600",children:e.title}),t.length>0&&/* @__PURE__ */L("dl",{className:"mt-1 grid grid-cols-[max-content_1fr] gap-x-3 gap-y-1 text-xs",children:t.map(e=>/* @__PURE__ */F("div",{className:"contents",children:[
54
+ /* @__PURE__ */L("dt",{className:"text-gray-500",children:e.label}),
55
+ /* @__PURE__ */L("dd",{className:"min-w-0 break-words text-gray-800",children:e.value})]},e.label))})]},e.key)})}),
56
+ /* @__PURE__ */L(Ee,{approvalId:e,expiresAt:o,expired:"expired"===t?.status,approveLabel:a.approvePlan,labels:a,onApprove:s})]})}function Ke({choices:e,label:t,onAnswer:n}){return 0===e.length?null:/* @__PURE__ */L("div",{role:"group","aria-label":t,className:"flex flex-col items-start gap-2 pl-1",children:e.map(e=>/* @__PURE__ */L(y,{size:"sm",variant:"secondary",onClick:()=>n(e),children:e},e))})}function et({questions:e,label:t,onAsk:n}){return 0===e.length?null:/* @__PURE__ */L("div",{role:"group","aria-label":t,className:"flex flex-wrap gap-2 pl-1",children:e.map(e=>/* @__PURE__ */L(y,{size:"sm",variant:"secondary",onClick:()=>n(e),children:e},e))})}function tt({initial:e,labels:t,onRate:n}){const[a,r]=T(e??null),[s,o]=T(!1),[i,d]=T(""),[p,u]=T(!1),[m,h]=T(!1),[f,g]=T(!1),v=async e=>{const t=a;r(e),h(!1),g(!0);try{return await n(e),!0}catch{return r(t),h(!0),!1}finally{g(!1)}},b=e=>{const n="up"===e?t.rateUp:t.rateDown;/* @__PURE__ */
57
+ return L(c,{size:"sm","aria-label":n,title:n,"aria-pressed":a?.verdict===e,disabled:f,onClick:()=>{(async e=>{if(u(!1),a?.verdict===e)return o(!1),void await v(null);const t=await v({verdict:e,note:""});o(t&&"down"===e),d("")})(e)},children:/* @__PURE__ */L(w,{name:"hand-thumb-up",className:"down"===e?"h-3.5 w-3.5 rotate-180":"h-3.5 w-3.5"})})};/* @__PURE__ */
58
58
  return F("div",{role:"group","aria-label":t.rateAnswer,className:"flex min-w-0 flex-1 flex-col gap-1",children:[
59
- /* @__PURE__ */F("div",{className:"flex items-center gap-1",children:[y("up"),y("down"),p&&/* @__PURE__ */I("span",{role:"status",className:"px-1 text-xs text-gray-500",children:t.rateThanks}),m&&/* @__PURE__ */I("span",{role:"alert",className:"px-1 text-xs text-red-600",children:t.rateFailed})]}),s&&/* @__PURE__ */F("form",{className:"flex items-center gap-2",onSubmit:e=>{(async e=>{e.preventDefault();const t=l.trim();t&&!await b({verdict:"down",note:t})||(o(!1),u(Boolean(t)))})(e)},children:[
60
- /* @__PURE__ */I("div",{className:"min-w-0 flex-1",children:/* @__PURE__ */I(i,{size:"sm","aria-label":t.rateNote,placeholder:t.rateNote,maxLength:500,value:l,onChange:e=>c(e.target.value),autoFocus:!0})}),
61
- /* @__PURE__ */I(v,{type:"submit",size:"sm",variant:"secondary",disabled:f||!l.trim(),children:t.rateNoteSend}),
62
- /* @__PURE__ */I(v,{type:"button",size:"sm",variant:"ghost",onClick:()=>o(!1),children:t.rateNoteSkip})]})]})}function et(e){if("chart"!==e.lang)return null;if(!e.closed)/* @__PURE__ */return I(b,{height:200});const t=h(e.code);return t?/* @__PURE__ */I(f,{spec:t}):null}function tt(e,t){return"approval-responded"===e.state&&t.some(t=>{return t.toolName===e.toolName&&"approval-requested"!==t.state&&(t.toolCallId===e.toolCallId||(n=t.input,a=e.input,JSON.stringify(n)===JSON.stringify(a)));var n,a})}function nt(e,t,n,a){const r=e.flatMap(e=>"tool"===e.kind?[We(e.tool,n,a)]:[]);if(t){const e=r.find(e=>"running"===e.kind);return e?e.base:a.working}const s=[...new Set(r.map(e=>e.base))];return s.length>0?s.join(" · "):a.reasoning}function at({message:e,live:t,labels:n}){const a=E(e),r=a.length>0,s=k(null),[o,i]=A(0);C(()=>{if(!t)return;null===s.current&&(s.current=performance.now());const e=setInterval(()=>i(performance.now()-(s.current??performance.now())),500);return()=>clearInterval(e)},[t]);const l=e.metadata?.usage;let c=null;return t?c=r?$e(a,o,n):null:l&&(c=Re(l,n)),c?/* @__PURE__ */I("div",{className:"px-1 text-xs leading-6 tabular-nums text-gray-500",children:c}):null}function rt({files:e,labels:t,onOpen:n}){const a="flex max-w-full items-center gap-2 rounded-md border border-gray-200 bg-white px-2 py-1 text-xs text-gray-700";/* @__PURE__ */
63
- return I("ul",{className:"flex max-w-[85%] flex-wrap justify-end gap-2",children:e.map(e=>{const r=/* @__PURE__ */F(L,{children:[
64
- /* @__PURE__ */I(x,{name:"page",size:14,"aria-hidden":"true",className:"shrink-0"}),
65
- /* @__PURE__ */I("span",{className:"min-w-0 truncate",children:e.filename})]});/* @__PURE__ */
66
- return I("li",{className:"max-w-full",children:n?/* @__PURE__ */I("button",{type:"button",className:`${a} hover:bg-gray-50`,title:t.openAttachment.replace("{name}",e.filename),onClick:()=>n(e),children:r}):/* @__PURE__ */I("span",{className:a,children:r})},e.id)})})}function st(e){return["xlsx"===e.kind?"Excel":String(e.kind||"").toUpperCase(),g(e.size)].filter(Boolean).join(" · ")}function ot({file:e,labels:t,onOpen:n}){const a=/* @__PURE__ */F(L,{children:["pdf"===e.kind?/* @__PURE__ */I(x,{name:"document",size:20,className:"shrink-0"}):/* @__PURE__ */I(x,{name:"table",size:20,className:"shrink-0"}),
59
+ /* @__PURE__ */F("div",{className:"flex items-center gap-1",children:[b("up"),b("down"),p&&/* @__PURE__ */L("span",{role:"status",className:"px-1 text-xs text-gray-500",children:t.rateThanks}),m&&/* @__PURE__ */L("span",{role:"alert",className:"px-1 text-xs text-red-600",children:t.rateFailed})]}),s&&/* @__PURE__ */F("form",{className:"flex items-center gap-2",onSubmit:e=>{(async e=>{e.preventDefault();const t=i.trim();t&&!await v({verdict:"down",note:t})||(o(!1),u(Boolean(t)))})(e)},children:[
60
+ /* @__PURE__ */L("div",{className:"min-w-0 flex-1",children:/* @__PURE__ */L(l,{size:"sm","aria-label":t.rateNote,placeholder:t.rateNote,maxLength:500,value:i,onChange:e=>d(e.target.value),autoFocus:!0})}),
61
+ /* @__PURE__ */L(y,{type:"submit",size:"sm",variant:"secondary",disabled:f||!i.trim(),children:t.rateNoteSend}),
62
+ /* @__PURE__ */L(y,{type:"button",size:"sm",variant:"ghost",onClick:()=>o(!1),children:t.rateNoteSkip})]})]})}function nt(e,t){return n=>{if("chart"===n.lang){if(!n.closed)/* @__PURE__ */return L(x,{height:200});const e=h(n.code);return e?/* @__PURE__ */L(f,{spec:e}):null}if("flow"===n.lang){if(!n.closed)/* @__PURE__ */return L(x,{height:200});const a=b(n.code);return a?/* @__PURE__ */L(v,{spec:a,labels:{downloadPng:e.flowDownloadPng,downloadSvg:e.flowDownloadSvg,toPdf:e.flowToPdf},onToPdf:t?()=>t(e.flowToPdfText):void 0}):null}return null}}function at(e,t){return"approval-responded"===e.state&&t.some(t=>{return t.toolName===e.toolName&&"approval-requested"!==t.state&&(t.toolCallId===e.toolCallId||(n=t.input,a=e.input,JSON.stringify(n)===JSON.stringify(a)));var n,a})}function rt(e,t,n,a){const r=e.flatMap(e=>"tool"===e.kind?[He(e.tool,n,a)]:[]);if(t){const e=r.find(e=>"running"===e.kind);return e?e.base:a.working}const s=[...new Set(r.map(e=>e.base))];return s.length>0?s.join(" · "):a.reasoning}function st({message:e,live:t,labels:n}){const a=U(e),r=a.length>0,s=A(null),[o,i]=T(0);j(()=>{if(!t)return;null===s.current&&(s.current=performance.now());const e=setInterval(()=>i(performance.now()-(s.current??performance.now())),500);return()=>clearInterval(e)},[t]);const l=e.metadata?.usage;let c=null;return t?c=r?De(a,o,n):null:l&&(c=$e(l,n)),c?/* @__PURE__ */L("div",{className:"px-1 text-xs leading-6 tabular-nums text-gray-500",children:c}):null}function ot({files:e,labels:t,onOpen:n}){const a="flex max-w-full items-center gap-2 rounded-md border border-gray-200 bg-white px-2 py-1 text-xs text-gray-700";/* @__PURE__ */
63
+ return L("ul",{className:"flex max-w-[85%] flex-wrap justify-end gap-2",children:e.map(e=>{const r=/* @__PURE__ */F(M,{children:[
64
+ /* @__PURE__ */L(w,{name:"page",size:14,"aria-hidden":"true",className:"shrink-0"}),
65
+ /* @__PURE__ */L("span",{className:"min-w-0 truncate",children:e.filename})]});/* @__PURE__ */
66
+ return L("li",{className:"max-w-full",children:n?/* @__PURE__ */L("button",{type:"button",className:`${a} hover:bg-gray-50`,title:t.openAttachment.replace("{name}",e.filename),onClick:()=>n(e),children:r}):/* @__PURE__ */L("span",{className:a,children:r})},e.id)})})}function it(e){return["xlsx"===e.kind?"Excel":String(e.kind||"").toUpperCase(),g(e.size)].filter(Boolean).join(" · ")}function lt({file:e,labels:t,onOpen:n}){const a=/* @__PURE__ */F(M,{children:["pdf"===e.kind?/* @__PURE__ */L(w,{name:"document",size:20,className:"shrink-0"}):/* @__PURE__ */L(w,{name:"table",size:20,className:"shrink-0"}),
67
67
  /* @__PURE__ */F("span",{className:"min-w-0 flex-1",children:[
68
- /* @__PURE__ */I("span",{className:"block truncate text-sm font-medium text-gray-800",children:e.filename}),
69
- /* @__PURE__ */I("span",{className:"block text-xs text-gray-500",children:st(e)})]})]}),r="flex w-full max-w-sm items-center gap-2 rounded-lg border border-gray-200 bg-gray-50 px-3 py-2 text-left";return n?/* @__PURE__ */I("button",{type:"button",className:`${r} hover:border-blue-300 hover:bg-blue-50 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500`,"data-assistant-file":e.id,"aria-label":t.openFile.replace("{name}",e.filename),onClick:()=>n(e),children:a}):/* @__PURE__ */I("div",{className:r,"data-assistant-file":e.id,children:a})}function it({message:e,labels:t,showCopy:n,actions:r,answer:s}){const[o,i]=A(!1);C(()=>{if(!o)return;const e=setTimeout(()=>i(!1),1500);return()=>clearTimeout(e)},[o]);const l=E(e);if(!l.trim()||!n&&!r?.length)return null;const c=async()=>{const e=Array.from(s.current?.querySelectorAll("[data-answer-text]")??[]);i(await async function(e,t){const n="undefined"!=typeof navigator?navigator.clipboard:void 0;if(!n)return!1;try{return t&&"undefined"!=typeof ClipboardItem&&n.write?(await n.write([new ClipboardItem({"text/html":new Blob([t],{type:"text/html"}),"text/plain":new Blob([e],{type:"text/plain"})})]),!0):(await n.writeText(e),!0)}catch{return!1}}(l,function(e){return e.map(e=>{const t=e.cloneNode(!0);return t.querySelectorAll("button, [data-chat-chrome]").forEach(e=>e.remove()),t.querySelectorAll("[class]").forEach(e=>e.removeAttribute("class")),t.removeAttribute("class"),t.querySelectorAll("table").forEach(e=>e.setAttribute("style","border-collapse:collapse")),t.querySelectorAll("th, td").forEach(e=>e.setAttribute("style","border:1px solid #d0d5dd;padding:4px 8px;text-align:left;vertical-align:top")),t.innerHTML.trim()}).filter(Boolean).join("\n")}(e)))},d=[];return n&&d.push(
70
- /* @__PURE__ */I(v,{size:"sm",variant:"ghost",leftIcon:/* @__PURE__ */I(x,{name:o?"check":"copy",look:"mini",className:"h-3.5 w-3.5","aria-hidden":"true"}),onClick:()=>{c()},children:o?t.copied:t.copyAnswer},"copy")),r?.forEach(t=>d.push(
71
- /* @__PURE__ */I(v,{size:"sm",variant:"ghost",leftIcon:t.icon?/* @__PURE__ */I(x,{name:t.icon,look:"mini",className:"h-3.5 w-3.5","aria-hidden":"true"}):void 0,onClick:()=>t.onSelect({id:e.id,text:l}),children:t.label},t.key))),/* @__PURE__ */I("div",{className:"ml-auto flex items-center gap-0.5","data-chat-chrome":"",children:d.map((e,t)=>/* @__PURE__ */F(N,{children:[t>0&&/* @__PURE__ */I("span",{className:"flex h-3",children:/* @__PURE__ */I(a,{orientation:"vertical"})}),e]},t))})}function lt({text:e,actions:t,files:n,labels:a,onOpenAttachment:o}){const i=r(),l=/* @__PURE__ */I("div",{className:"max-w-[85%] whitespace-pre-wrap break-words rounded-2xl bg-blue-600 px-3 py-2 text-sm text-white",children:e}),c=n.length>0?/* @__PURE__ */I(rt,{files:n,labels:a,onOpen:o}):null;return t?.length?/* @__PURE__ */F("div",{className:c?"flex flex-col items-end gap-2":"flex justify-end",onContextMenu:e=>i.open(e,void 0),children:[c,l,i.state&&/* @__PURE__ */I(s,{...i.props,"aria-label":e,items:t.map(t=>({key:t.key,label:t.label,onSelect:()=>t.onSelect(e)}))})]}):c?/* @__PURE__ */F("div",{className:"flex flex-col items-end gap-2",children:[c,l]}):/* @__PURE__ */I("div",{className:"flex justify-end",children:l})}var ct=/* @__PURE__ */new Set(["input-streaming","input-available","approval-responded"]);function dt({message:a,speaker:r,toolLabels:s,labels:o,showReasoning:i,showToolOutput:l,showUsage:c,live:d,waitingSince:p,onApprove:u,plans:m,userActions:h,tableActions:f,onLinkClick:g,onOpenAttachment:b,onOpenFile:v,renderDataPart:x,showCopy:y,answerActions:w,onRate:A}){const C=a.metadata?.source,j=k(null);if("system"===C){const e=E(a);return e?/* @__PURE__ */I("div",{className:"text-center text-xs text-gray-500",children:e}):null}if("user"===a.role){const e=E(a);if(!e)return null;const t=a.metadata?.author;return t?/* @__PURE__ */F("div",{className:"flex flex-col items-start gap-0.5",children:[
72
- /* @__PURE__ */I("div",{className:"px-1 text-xs text-ink-faint",children:t.name}),
73
- /* @__PURE__ */I("div",{className:"max-w-[85%] whitespace-pre-wrap break-words rounded-2xl border border-line bg-surface px-3 py-2 text-sm text-ink shadow-sm",children:e})]}):/* @__PURE__ */I(lt,{text:e,actions:h,files:H(a),labels:o,onOpenAttachment:b})}const T=a.parts.map(M),S=B(a),O=[],R=/* @__PURE__ */new Set,$=[];let _=-1;const L=e=>{_<0&&(_=O.push(null)-1),$.push(e)},D=function(e){return ne(e,"expires_at")}(a),z=function(e){return ne(e,"notice")}(a);a.parts.forEach((e,t)=>{if("text"===e.type)return void(e.text.trim()&&O.push(
74
- /* @__PURE__ */I("div",{"data-answer-text":"",children:/* @__PURE__ */I(n,{renderFence:et,tableActions:d?void 0:f,onLinkClick:g,children:e.text})},t)));if("data-file"===e.type){const t=e.data;return void(t&&"string"==typeof t.id&&!R.has(t.id)&&(R.add(t.id),O.push(/* @__PURE__ */I(ot,{file:t,labels:o,onOpen:v},`file-${t.id}`))))}if(x&&e.type.startsWith("data-")&&!P.has(e.type)){const n=x(e,a);return void(n&&O.push(/* @__PURE__ */I(N,{children:n},`data-${t}`)))}if("reasoning"===e.type)return void(i&&e.text.trim()&&L({kind:"reasoning",key:`r${t}`,text:e.text}));const r=T[t];r&&(tt(r,T.slice(t+1).filter(e=>null!==e))||("approval-requested"===r.state&&r.approvalId&&"propose_plan"===r.toolName?O.push(
75
- /* @__PURE__ */I(Ge,{approvalId:r.approvalId,plan:m?.get(r.approvalId),expiresAt:D.get(r.approvalId),input:r.input,labels:o,toolLabels:s,onApprove:u},r.toolCallId)):"approval-requested"===r.state&&r.approvalId?O.push(
76
- /* @__PURE__ */I(Ee,{tool:r,toolLabels:s,labels:o,onApprove:u,expiresAt:D.get(r.approvalId),notice:z.get(r.approvalId)},r.toolCallId)):L({kind:"tool",key:r.toolCallId,tool:r})))}),_>=0&&(O[_]=/* @__PURE__ */I(t,{summary:nt($,d,s,o),busy:d,label:o.steps,children:$.map(t=>"tool"===t.kind?/* @__PURE__ */I(He,{tool:t.tool,summary:S.get(t.tool.toolCallId),toolLabels:s,labels:o,showOutput:l},t.key):/* @__PURE__ */I(e,{status:"complete",label:/* @__PURE__ */F("details",{children:[
77
- /* @__PURE__ */I("summary",{className:"cursor-pointer select-none",children:o.reasoning}),
78
- /* @__PURE__ */I("div",{className:"mt-1 whitespace-pre-wrap text-gray-500",children:t.text})]})},t.key))},"chain"));const U=d&&function(e,t){if(t.some(e=>"approval-requested"===e?.state))return!1;let n=-1;for(let t=e.parts.length-1;t>=0;t-=1){const a=e.parts[t];if("step-start"!==a.type&&!a.type.startsWith("data-")&&("text"!==a.type||a.text.trim())){n=t;break}}if(n<0)return!0;if("text"===e.parts[n].type)return!1;const a=t[n];return!a||!ct.has(a.state)||a}(a,T);if(U&&O.push(
79
- /* @__PURE__ */I(me,{label:!0===U?void 0:We(U,s,o).base,words:o.thinkingWords,since:p,secondsLabel:o.waitingSeconds,steadyLabel:o.thinking},"waiting")),0===O.length)return null;const W=a.metadata?.askedBy?o.askedBy.replace("{name}",a.metadata.askedBy.name):"",J=Boolean(r)&&!C,Y=/* @__PURE__ */F("div",{ref:j,className:J?"min-w-0 max-w-full space-y-2 rounded-2xl border border-line bg-surface px-3 py-2 text-sm text-ink shadow-sm":"min-w-0 max-w-full space-y-2 rounded-2xl bg-white px-3 py-2 text-gray-800 shadow-sm",children:["staff"===C&&/* @__PURE__ */I("div",{className:"text-xs font-medium text-blue-600",children:o.teamName}),!J&&W&&/* @__PURE__ */I("div",{className:"text-xs text-ink-faint",children:W}),O]}),q=J?/* @__PURE__ */I("div",{className:"px-1 text-xs text-ink-faint",children:[r,W].filter(Boolean).join(" · ")}):null,K=d?null:/* @__PURE__ */I(it,{message:a,labels:o,showCopy:!0===y,actions:w,answer:j}),Q=c&&!C,G=a.metadata?.run_id,Z=Boolean(A&&G&&!d&&!C);/* @__PURE__ */
80
- return F("div",Q||Z||K?{className:"flex w-fit min-w-0 max-w-[92%] flex-col items-stretch gap-1",children:[q,Y,
68
+ /* @__PURE__ */L("span",{className:"block truncate text-sm font-medium text-gray-800",children:e.filename}),
69
+ /* @__PURE__ */L("span",{className:"block text-xs text-gray-500",children:it(e)})]})]}),r="flex w-full max-w-sm items-center gap-2 rounded-lg border border-gray-200 bg-gray-50 px-3 py-2 text-left";return n?/* @__PURE__ */L("button",{type:"button",className:`${r} hover:border-blue-300 hover:bg-blue-50 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500`,"data-assistant-file":e.id,"aria-label":t.openFile.replace("{name}",e.filename),onClick:()=>n(e),children:a}):/* @__PURE__ */L("div",{className:r,"data-assistant-file":e.id,children:a})}function ct({message:e,labels:t,showCopy:n,actions:r,answer:s}){const[o,i]=T(!1);j(()=>{if(!o)return;const e=setTimeout(()=>i(!1),1500);return()=>clearTimeout(e)},[o]);const l=U(e);if(!l.trim()||!n&&!r?.length)return null;const c=async()=>{const e=Array.from(s.current?.querySelectorAll("[data-answer-text]")??[]);i(await async function(e,t){const n="undefined"!=typeof navigator?navigator.clipboard:void 0;if(!n)return!1;try{return t&&"undefined"!=typeof ClipboardItem&&n.write?(await n.write([new ClipboardItem({"text/html":new Blob([t],{type:"text/html"}),"text/plain":new Blob([e],{type:"text/plain"})})]),!0):(await n.writeText(e),!0)}catch{return!1}}(l,function(e){return e.map(e=>{const t=e.cloneNode(!0);return t.querySelectorAll("button, [data-chat-chrome]").forEach(e=>e.remove()),t.querySelectorAll("[class]").forEach(e=>e.removeAttribute("class")),t.removeAttribute("class"),t.querySelectorAll("table").forEach(e=>e.setAttribute("style","border-collapse:collapse")),t.querySelectorAll("th, td").forEach(e=>e.setAttribute("style","border:1px solid #d0d5dd;padding:4px 8px;text-align:left;vertical-align:top")),t.innerHTML.trim()}).filter(Boolean).join("\n")}(e)))},d=[];return n&&d.push(
70
+ /* @__PURE__ */L(y,{size:"sm",variant:"ghost",leftIcon:/* @__PURE__ */L(w,{name:o?"check":"copy",look:"mini",className:"h-3.5 w-3.5","aria-hidden":"true"}),onClick:()=>{c()},children:o?t.copied:t.copyAnswer},"copy")),r?.forEach(t=>d.push(
71
+ /* @__PURE__ */L(y,{size:"sm",variant:"ghost",leftIcon:t.icon?/* @__PURE__ */L(w,{name:t.icon,look:"mini",className:"h-3.5 w-3.5","aria-hidden":"true"}):void 0,onClick:()=>t.onSelect({id:e.id,text:l}),children:t.label},t.key))),/* @__PURE__ */L("div",{className:"ml-auto flex items-center gap-0.5","data-chat-chrome":"",children:d.map((e,t)=>/* @__PURE__ */F(C,{children:[t>0&&/* @__PURE__ */L("span",{className:"flex h-3",children:/* @__PURE__ */L(a,{orientation:"vertical"})}),e]},t))})}function dt({text:e,actions:t,files:n,labels:a,onOpenAttachment:o}){const i=r(),l=/* @__PURE__ */L("div",{className:"max-w-[85%] whitespace-pre-wrap break-words rounded-2xl bg-blue-600 px-3 py-2 text-sm text-white",children:e}),c=n.length>0?/* @__PURE__ */L(ot,{files:n,labels:a,onOpen:o}):null;return t?.length?/* @__PURE__ */F("div",{className:c?"flex flex-col items-end gap-2":"flex justify-end",onContextMenu:e=>i.open(e,void 0),children:[c,l,i.state&&/* @__PURE__ */L(s,{...i.props,"aria-label":e,items:t.map(t=>({key:t.key,label:t.label,onSelect:()=>t.onSelect(e)}))})]}):c?/* @__PURE__ */F("div",{className:"flex flex-col items-end gap-2",children:[c,l]}):/* @__PURE__ */L("div",{className:"flex justify-end",children:l})}var pt=/* @__PURE__ */new Set(["input-streaming","input-available","approval-responded"]);function ut({message:a,speaker:r,toolLabels:s,labels:o,showReasoning:i,showToolOutput:l,showUsage:c,live:d,waitingSince:p,onApprove:u,plans:m,userActions:h,tableActions:f,onLinkClick:g,onOpenAttachment:v,onOpenFile:b,renderDataPart:x,showCopy:y,answerActions:w,onRate:k,onAsk:N}){const T=a.metadata?.source,j=A(null);if("system"===T){const e=U(a);return e?/* @__PURE__ */L("div",{className:"text-center text-xs text-gray-500",children:e}):null}if("user"===a.role){const e=U(a);if(!e)return null;const t=a.metadata?.author;return t?/* @__PURE__ */F("div",{className:"flex flex-col items-start gap-0.5",children:[
72
+ /* @__PURE__ */L("div",{className:"px-1 text-xs text-ink-faint",children:t.name}),
73
+ /* @__PURE__ */L("div",{className:"max-w-[85%] whitespace-pre-wrap break-words rounded-2xl border border-line bg-surface px-3 py-2 text-sm text-ink shadow-sm",children:e})]}):/* @__PURE__ */L(dt,{text:e,actions:h,files:Y(a),labels:o,onOpenAttachment:v})}const S=a.parts.map(B),O=z(a),R=[],I=/* @__PURE__ */new Set,$=[];let D=-1;const _=e=>{D<0&&(D=R.push(null)-1),$.push(e)},M=function(e){return re(e,"expires_at")}(a),P=function(e){return re(e,"notice")}(a);a.parts.forEach((e,t)=>{if("text"===e.type)return void(e.text.trim()&&R.push(
74
+ /* @__PURE__ */L("div",{"data-answer-text":"",children:/* @__PURE__ */L(n,{renderFence:nt(o,d?void 0:N),tableActions:d?void 0:f,onLinkClick:g,children:e.text})},t)));if("data-file"===e.type){const t=e.data;return void(t&&"string"==typeof t.id&&!I.has(t.id)&&(I.add(t.id),R.push(/* @__PURE__ */L(lt,{file:t,labels:o,onOpen:b},`file-${t.id}`))))}if(x&&e.type.startsWith("data-")&&!J.has(e.type)){const n=x(e,a);return void(n&&R.push(/* @__PURE__ */L(C,{children:n},`data-${t}`)))}if("reasoning"===e.type)return void(i&&e.text.trim()&&_({kind:"reasoning",key:`r${t}`,text:e.text}));const r=S[t];r&&(at(r,S.slice(t+1).filter(e=>null!==e))||("approval-requested"===r.state&&r.approvalId&&"propose_plan"===r.toolName?R.push(
75
+ /* @__PURE__ */L(Xe,{approvalId:r.approvalId,plan:m?.get(r.approvalId),expiresAt:M.get(r.approvalId),input:r.input,labels:o,toolLabels:s,onApprove:u},r.toolCallId)):"approval-requested"===r.state&&r.approvalId?R.push(
76
+ /* @__PURE__ */L(Ue,{tool:r,toolLabels:s,labels:o,onApprove:u,expiresAt:M.get(r.approvalId),notice:P.get(r.approvalId)},r.toolCallId)):_({kind:"tool",key:r.toolCallId,tool:r})))}),D>=0&&(R[D]=/* @__PURE__ */L(t,{summary:rt($,d,s,o),busy:d,label:o.steps,children:$.map(t=>"tool"===t.kind?/* @__PURE__ */L(Ye,{tool:t.tool,summary:O.get(t.tool.toolCallId),toolLabels:s,labels:o,showOutput:l},t.key):/* @__PURE__ */L(e,{status:"complete",label:/* @__PURE__ */F("details",{children:[
77
+ /* @__PURE__ */L("summary",{className:"cursor-pointer select-none",children:o.reasoning}),
78
+ /* @__PURE__ */L("div",{className:"mt-1 whitespace-pre-wrap text-gray-500",children:t.text})]})},t.key))},"chain"));const E=d&&function(e,t){if(t.some(e=>"approval-requested"===e?.state))return!1;let n=-1;for(let t=e.parts.length-1;t>=0;t-=1){const a=e.parts[t];if("step-start"!==a.type&&!a.type.startsWith("data-")&&("text"!==a.type||a.text.trim())){n=t;break}}if(n<0)return!0;if("text"===e.parts[n].type)return!1;const a=t[n];return!a||!pt.has(a.state)||a}(a,S);if(E&&R.push(
79
+ /* @__PURE__ */L(fe,{label:!0===E?void 0:He(E,s,o).base,words:o.thinkingWords,since:p,secondsLabel:o.waitingSeconds,steadyLabel:o.thinking},"waiting")),0===R.length)return null;const W=a.metadata?.askedBy?o.askedBy.replace("{name}",a.metadata.askedBy.name):"",H=Boolean(r)&&!T,q=/* @__PURE__ */F("div",{ref:j,className:H?"min-w-0 max-w-full space-y-2 rounded-2xl border border-line bg-surface px-3 py-2 text-sm text-ink shadow-sm":"min-w-0 max-w-full space-y-2 rounded-2xl bg-white px-3 py-2 text-gray-800 shadow-sm",children:["staff"===T&&/* @__PURE__ */L("div",{className:"text-xs font-medium text-blue-600",children:o.teamName}),!H&&W&&/* @__PURE__ */L("div",{className:"text-xs text-ink-faint",children:W}),R]}),Q=H?/* @__PURE__ */L("div",{className:"px-1 text-xs text-ink-faint",children:[r,W].filter(Boolean).join(" · ")}):null,G=d?null:/* @__PURE__ */L(ct,{message:a,labels:o,showCopy:!0===y,actions:w,answer:j}),Z=c&&!T,V=a.metadata?.run_id,X=Boolean(k&&V&&!d&&!T);/* @__PURE__ */
80
+ return F("div",Z||X||G?{className:"flex w-fit min-w-0 max-w-[92%] flex-col items-stretch gap-1",children:[Q,q,
81
81
  /* @__PURE__ */F("div",{className:"flex flex-wrap items-start gap-x-2 gap-y-1",children:[
82
- /* @__PURE__ */F("div",{className:"flex min-w-0 flex-1 items-start gap-1",children:[Q&&/* @__PURE__ */I(at,{message:a,live:d,labels:o}),Z&&A&&G&&/* @__PURE__ */I(Ve,{initial:a.metadata?.rating,labels:o,onRate:e=>A(G,e)})]}),K]})]}:{className:"flex max-w-[92%] flex-col items-start gap-0.5",children:[q,Y]})}var pt={id:"pending-answer",role:"assistant",parts:[]};function ut(e){const{messages:t,status:n,error:a,history:r,labels:s}=e,i=k(null),l=S(()=>function(e){const t=/* @__PURE__ */new Map;for(const n of V(e).values())t.set(n.approval_id,n);return t}(t),[t]),c=a?le(a,e.errorCode??null,s):null,d=t[t.length-1],p="submitted"===n||"streaming"===n,[u,m]=A(void 0);C(()=>{m(e=>p?e??Date.now():void 0)},[p]);const h="ready"===n&&!a&&!e.handedOver&&"assistant"===d?.role&&!!e.onAsk,f=h?e.choices??[]:[],g=h&&0===f.length?e.followups??[]:[],b=k(null),x=k(!0),w=k(0),N=k("undefined"==typeof ResizeObserver),j=k(void 0),T=()=>{const e=i.current;e&&(e.scrollTop=e.scrollHeight)};C(()=>{const e=t[t.length-1];e&&e.id!==j.current&&(void 0===j.current||"user"===e.role&&!e.metadata?.author)&&(x.current=!0),j.current=e?.id,x.current&&T()},[t,n]),C(()=>{const e=i.current,t=b.current;if(!e||!t||"undefined"==typeof ResizeObserver)return;const n=new ResizeObserver(()=>{const t=e.clientHeight>0;t&&!N.current&&(x.current=!0),N.current=t,t&&(x.current?T():e.scrollTop=w.current)});return n.observe(e),n.observe(t),()=>n.disconnect()},[]);/* @__PURE__ */
83
- return I("div",{ref:i,role:"log","aria-label":e.title,"aria-live":"polite","aria-busy":"submitted"===n||"streaming"===n,onScroll:()=>{const e=i.current;e&&0!==e.clientHeight&&N.current&&(w.current=e.scrollTop,x.current=e.scrollHeight-e.scrollTop-e.clientHeight<=48)},className:"min-h-0 flex-1 overflow-auto bg-gray-50 p-3",children:/* @__PURE__ */F("div",{ref:b,className:"flex min-h-full flex-col gap-3",children:["loading"===r&&/* @__PURE__ */F("div",{role:"status",className:"flex items-center gap-2 text-xs text-gray-500",children:[
84
- /* @__PURE__ */I(y,{className:"h-3 w-3"}),s.loadingHistory]}),"failed"===r&&/* @__PURE__ */I(o,{tone:"warning",children:s.historyFailed}),0===t.length&&"idle"===r&&/* @__PURE__ */I("p",{className:"m-auto text-center text-sm text-gray-500",children:s.emptyState}),t.map((n,a)=>/* @__PURE__ */I(dt,{live:a===t.length-1&&p,waitingSince:u,message:n,speaker:e.assistantName,toolLabels:e.toolLabels,labels:s,showReasoning:e.showReasoning,showToolOutput:e.showToolOutput,showUsage:e.showUsage,tableActions:e.tableActions,onApprove:e.onApprove,onLinkClick:e.onLinkClick,onOpenFile:e.onOpenFile,renderDataPart:e.renderDataPart,plans:l,userActions:e.userMessageActions,onOpenAttachment:e.onOpenAttachment,showCopy:e.showCopy,answerActions:e.answerActions,onRate:e.onRate},n.id)),e.onAsk&&/* @__PURE__ */I(Ze,{choices:f,label:s.choices,onAnswer:e.onAsk}),e.onAsk&&/* @__PURE__ */I(Xe,{questions:g,label:s.followups,onAsk:e.onAsk}),e.handedOver&&/* @__PURE__ */I("div",{role:"status",className:"text-center text-xs text-gray-500",children:s.teamJoined}),"submitted"===n&&"assistant"!==d?.role&&
85
- /* @__PURE__ */I(dt,{message:pt,live:!0,waitingSince:u,speaker:e.assistantName,toolLabels:e.toolLabels,labels:s,showReasoning:e.showReasoning,showToolOutput:e.showToolOutput,onApprove:e.onApprove},"pending-answer"),c&&/* @__PURE__ */F("div",{role:"alert",className:"flex flex-col items-start gap-2",children:[
86
- /* @__PURE__ */I(o,{tone:"danger",children:c.text}),c.retryable&&e.onRetry&&"error"===n&&/* @__PURE__ */I(v,{size:"sm",variant:"secondary",onClick:e.onRetry,children:s.retry})]})]})})}var mt={title:"Assistant",placeholder:"Ask a question…",inputLabel:"Message to the assistant",send:"Send",stop:"Stop",newChat:"New chat",open:"Open assistant",close:"Close assistant",thinking:"Thinking",loadingHistory:"Loading the conversation",historyFailed:"The earlier conversation could not be loaded.",emptyState:"Ask me anything to get started.",approvalNeeded:"Approval needed",approve:"Approve",deny:"Deny",approvalExpired:"This request expired. Ask again if you still want it done.",approved:"Approved",declined:"Declined",toolFailed:"did not complete",toolDeclined:"was not approved",details:"Details",stepSources:"Where these figures came from",reasoning:"Reasoning",genericError:"Something went wrong. Please try again.",connectionDropped:"The connection dropped. Your question may still be answering; reopen the chat in a moment.",retry:"Retry",working:"Working",steps:"Steps",teamName:"Team",teamJoined:"A team member has joined",plan:"Plan",planSummary:"Plan: {done} of {total} done",planProposed:"waiting for your approval",planApproved:"approved, starting",planRunning:"in progress",planCompleted:"finished",planFailed:"stopped — not every step ran",planDenied:"not approved — nothing was changed",planExpired:"expired — nothing was changed",planApprovalHeading:"Approve this plan of {count} steps",approvePlan:"Approve plan",replyStats:"{tokens} tokens · {seconds} s · {rate} tok/s",replyTokens:"{tokens} tokens",streaming:"Streaming",streamingRate:"Streaming · ~{rate} tok/s",followups:"Suggested follow-up questions",choices:"Answers to choose from",attach:"Attach a file",attaching:"Uploading",removeAttachment:"Remove {name}",openAttachment:"Open {name}",copyAnswer:"Copy",copied:"Copied",readOnly:"You can read this chat but not continue it.",rateAnswer:"Rate this answer",rateUp:"Helpful",rateDown:"Not helpful",rateNote:"What was wrong? (optional)",rateNoteSend:"Send",rateNoteSkip:"Skip",rateThanks:"Thanks for telling us.",rateFailed:"Your rating could not be saved.",openFile:"Open {name}",thinkingWords:["Thinking","Working it out","Checking"],waitingSeconds:"{seconds}s",notReplied:"The assistant didn’t reply. It took this as for the people.",askToReply:"Ask the assistant to reply",askToReplyText:"please reply to that.",detailsPanel:"Details",detailsChat:"Chat",detailsUsage:"Usage",detailsFiles:"Files",detailsTools:"Tools used",detailsAnswers:"{count} answers",detailsOneAnswer:"1 answer",detailsTokensIn:"Tokens in",detailsTokensOut:"Tokens out",detailsSpeed:"Average speed",detailsRate:"{rate} tok/s",detailsUsagePartial:"Counts the answers written while this window was open.",detailsYou:"You",detailsNoFiles:"No files yet.",detailsNoTools:"No tools used yet.",assistantMention:"@Assistant",assistantName:"",toPeople:"To {names} only. The assistant won’t reply.",toAssistant:"The assistant will reply. Everyone in the chat sees it.",assistantDecides:"The assistant replies if this is for it. Name it to be sure.",deciding:"The assistant is reading your message",askAssistant:"Ask the assistant",peopleOnly:"People only",letAssistantDecide:"Let the assistant decide",peoplePlaceholder:"Message {names}, or type {mention} to ask",askedBy:"Asked by {name}",sayFailed:"Your message didn’t send. Try again."},ht=(e,t)=>`${e.replace(/\/+$/,"")}/${t}`;function ft(e){return ht(e,"assistant/chat/")}function gt(e,t){return ht(e,`assistant/chat/${encodeURIComponent(t)}/`)}function bt(e){const t=e.metadata;return Boolean(t?.source||t?.author||t?.askedBy)}function vt(e){return e.parts.map(e=>e.approval?.id??"").filter(Boolean).sort().join(",")}function xt(e){const t=k(e);t.current=e;const n=k(e.conversationId?{id:e.conversationId}:null),[a,r]=A("idle"),[s,o]=A(!1),[i,l]=A(null),[c,d]=A([]),[p,u]=A([]),[m,h]=A([]),[f,g]=A(!1),[b,v]=A(!1),[x,y]=A(!1),[w,N]=A(n.current),j=T(e=>{n.current=e,N(e)},[]),O=T((e,n)=>(t.current.fetch??fetch)(e,n),[]),R=S(()=>new $({api:ft(e.apiBase),fetch:O,prepareSendMessagesRequest:async({messages:e})=>{const{apiBase:a,getHeaders:r,credentials:s}=t.current;return{api:ft(a),body:J(e,n.current?.id??null),headers:await(r?.())??{},...s?{credentials:s}:{}}}}),[O]),F=D({transport:R,sendAutomaticallyWhen:_,onData:e=>{if(!P.has(e.type))return void t.current.onDataPart?.(e);if("data-error"===e.type)return void l(e.data.code);if("data-followups"===e.type)return void d(function(e){const t=e?.questions;if(!Array.isArray(t))return[];const n=[];for(const e of t){if("string"!=typeof e)continue;const t=e.trim();!t||t.includes("\n")||n.includes(t)||n.push(t)}return n.slice(0,3)}(e.data));if("data-choices"===e.type)return void u(function(e){const t=e?.choices;if(!Array.isArray(t))return[];const n=[];for(const e of t){if("string"!=typeof e)continue;const t=e.trim();!t||t.includes("\n")||n.includes(t)||n.push(t)}return n.length>=2?n.slice(0,4):[]}(e.data));if("data-conversation"!==e.type)return;const{id:a,guest_token:r}=e.data,s=n.current,o=r??(s?.id===a?s.guestToken:void 0);s&&s.id===a&&s.guestToken===o||(j(o?{id:a,guestToken:o}:{id:a}),t.current.onConversation?.(n.current))}}),{setMessages:I,stop:L}=F,M=T(async(e,n)=>{const{apiBase:a,getHeaders:s,credentials:i,onConversation:l}=t.current;r("loading"),d([]),u([]);try{const t=await O(gt(a,e),{method:"GET",headers:await(s?.())??{},...i?{credentials:i}:{},signal:n});if(n.aborted)return;if(404===t.status)return j(null),l?.(null),void r("idle");if(!t.ok)throw new Error(`history ${t.status}`);const c=await t.json();if(n.aborted)return;o(!0===c.handed_over),h(c.people??[]),I(e=>e.length>0?e:ae(c)),r("idle")}catch{n.aborted||r("failed")}},[O,I,j]),B=e.conversationId??null;C(()=>{if(B===(n.current?.id??null)&&F.messages.length>0)return;if(null===B)return n.current&&(j(null),L(),I([]),d([]),u([]),h([])),void r("idle");n.current?.id===B||j({id:B});const e=new AbortController;return M(B,e.signal),()=>e.abort()},[B,M,I,L,j]);const z=T(async e=>{const a=n.current?.id;if(a)try{const{apiBase:r,getHeaders:s,credentials:i}=t.current,l=await O(gt(r,a),{method:"GET",headers:await(s?.())??{},...i?{credentials:i}:{},...e?{signal:e}:{}});if(!l.ok||e?.aborted||n.current?.id!==a)return;const c=await l.json();o(!0===c.handed_over),h(c.people??[]);const d=ae(c),p=d.filter(bt),u=d.find(e=>e.id===`pending-approvals-${a}`);if(0===p.length&&!u)return;I(e=>{const t=new Set(e.map(e=>e.id)),n=p.filter(e=>!t.has(e.id));let a=n.length>0?[...e,...n]:e;const r=new Set(a.filter(e=>e.id!==u?.id).flatMap(e=>vt(e).split(",").filter(Boolean)));if(u&&!vt(u).split(",").every(e=>r.has(e))){const e=a.find(e=>e.id===u.id);e?vt(e)!==vt(u)&&(a=[...a.filter(e=>e.id!==u.id),u]):a=[...a,u]}return a})}catch{}},[O,I]),E=k(z);E.current=z;const{status:U}=F,H="submitted"===U||"streaming"===U,Y=k(!1),Q=k(!1),G=!!e.subscribe;C(()=>{const e=Y.current&&!H;if(Y.current=H,!e)return;if(G&&!Q.current)return;Q.current=!1;const t=new AbortController;return E.current(t.signal),()=>t.abort()},[H,G]);const Z=k(H);Z.current=H;const X=w?.id,V=w?.guestToken;C(()=>{const e=n.current,a=t.current.subscribe;if(e&&a)return a(e,()=>{Z.current?Q.current=!0:E.current()})??void 0},[X,V]);const ee=T((e,t=[])=>{const n=e.trim();n&&(l(null),d([]),u([]),g(!1),F.sendMessage(t.length>0?{text:n,files:t.map(W)}:{text:n}))},[F]),te=k(0),ne=T(e=>{te.current+=1;const t=`sending-${te.current}`;return I(n=>[...n,{id:t,role:"user",parts:[{type:"text",text:e}]}]),t},[I]),re=T(e=>I(t=>t.filter(t=>t.id!==e)),[I]),se=T(async(e,a)=>{const r=n.current?.id;if(!r)return;g(!1),d([]),u([]);const s=a??ne(e);try{const{apiBase:n,getHeaders:a,credentials:o}=t.current,i=await O(function(e,t){return ht(e,`assistant/chat/${encodeURIComponent(t)}/messages/`)}(n,r),{method:"POST",headers:{"Content-Type":"application/json",...await(a?.())??{}},body:JSON.stringify({text:e}),...o?{credentials:o}:{}});if(!i.ok)throw new Error(`say ${i.status}`);const l=await i.json(),[c]=ae({id:r,messages:[l],pending_approvals:[]});I(e=>!c||e.some(e=>e.id===c.id)?e.filter(e=>e.id!==s):e.map(e=>e.id===s?c:e))}catch{re(s),g(!0)}},[O,I,ne,re]),oe=T(async e=>{const a=n.current?.id;if(!a)return!1;try{const{apiBase:n,getHeaders:r,credentials:s}=t.current,o=await O(function(e,t){return ht(e,`assistant/chat/${encodeURIComponent(t)}/addressee/`)}(n,a),{method:"POST",headers:{"Content-Type":"application/json",...await(r?.())??{}},body:JSON.stringify({text:e}),...s?{credentials:s}:{}});return!!o.ok&&!0===(await o.json()).to_assistant}catch{return!1}},[O]),ie=e.mention??"",le=e.name??"",de=!0===e.assistantDecides,pe=m.length>0,ue=T((e,t=[],n={})=>{const a=e.trim();if(!a)return;if(y(!1),!pe||t.length>0||q(a,ie,le))return void ee(a,t);if(!de||n.peopleOnly)return void se(a);const r=ne(a);v(!0),oe(a).then(e=>{if(!e)return y(!0),se(a,r);re(r),ee(a)}).finally(()=>v(!1))},[ee,se,oe,ne,re,pe,ie,le,de]),me=T(e=>{y(!1),ee(pe?K(e,ie):e)},[ee,pe,ie]),he=T(()=>{ce(F.messages)&&(l(null),d([]),u([]),F.regenerate())},[F]),fe=T((e,t)=>{l(null),d([]),u([]),F.addToolApprovalResponse({id:e,approved:t})},[F]),ge=T(()=>{L(),j(null),I([]),r("idle"),o(!1),l(null),d([]),u([]),h([]),g(!1),v(!1),y(!1),t.current.onConversation?.(null)},[I,L,j]);return{conversationId:w?.id??null,messages:F.messages,status:F.status,error:F.error,errorCode:i,canRetry:ce(F.messages),retry:he,historyState:a,handedOver:s,followups:c,choices:p,people:m,sayFailed:f,deciding:b,quiet:x,send:ue,askAssistant:me,stop:L,approve:fe,reset:ge}}function yt(e){const t={...mt,...e.labels},n=e.variant??"panel",a=xt({...e,mention:t.assistantMention,name:t.assistantName}),r=Q(a.people),s="submitted"===a.status||"streaming"===a.status,o=k(e.onBusyChange);o.current=e.onBusyChange,C(()=>{o.current?.(s)},[s]);const i="window"===n,l=e.showHeader??"window"!==n,c=e.title??t.title,p=ee(a.messages),u=!0===e.readOnly,{onRate:m}=e,{conversationId:h}=a,f=k(!1),{send:g}=a;return C(()=>{f.current||u||e.conversationId||!e.initialQuestion?.trim()||(f.current=!0,g(e.initialQuestion))},[]),/* @__PURE__ */F("section",{"aria-label":c,className:`flex h-full min-h-0 flex-col bg-white text-gray-900 ${e.className??""}`.trim(),children:[l&&/* @__PURE__ */F("header",{className:"flex items-center gap-2 border-b border-gray-200 px-3 py-2",children:[
87
- /* @__PURE__ */I("h2",{className:"min-w-0 flex-1 truncate text-sm font-semibold",children:c}),a.messages.length>0&&/* @__PURE__ */I(v,{size:"sm",variant:"ghost",onClick:a.reset,children:t.newChat}),e.onClose&&/* @__PURE__ */I(d,{size:"sm","aria-label":t.close,onClick:e.onClose,children:/* @__PURE__ */I(x,{name:"close"})})]}),
82
+ /* @__PURE__ */F("div",{className:"flex min-w-0 flex-1 items-start gap-1",children:[Z&&/* @__PURE__ */L(st,{message:a,live:d,labels:o}),X&&k&&V&&/* @__PURE__ */L(tt,{initial:a.metadata?.rating,labels:o,onRate:e=>k(V,e)})]}),G]})]}:{className:"flex max-w-[92%] flex-col items-start gap-0.5",children:[Q,q]})}var mt={id:"pending-answer",role:"assistant",parts:[]};function ht(e){const{messages:t,status:n,error:a,history:r,labels:s}=e,i=A(null),l=R(()=>function(e){const t=/* @__PURE__ */new Map;for(const n of te(e).values())t.set(n.approval_id,n);return t}(t),[t]),c=a?de(a,e.errorCode??null,s):null,d=t[t.length-1],p="submitted"===n||"streaming"===n,[u,m]=T(void 0);j(()=>{m(e=>p?e??Date.now():void 0)},[p]);const h="ready"===n&&!a&&!e.handedOver&&"assistant"===d?.role&&!!e.onAsk,f=h?e.choices??[]:[],g=h&&0===f.length?e.followups??[]:[],v=A(null),b=A(!0),x=A(0),w=A("undefined"==typeof ResizeObserver),N=A(void 0),C=()=>{const e=i.current;e&&(e.scrollTop=e.scrollHeight)};j(()=>{const e=t[t.length-1];e&&e.id!==N.current&&(void 0===N.current||"user"===e.role&&!e.metadata?.author)&&(b.current=!0),N.current=e?.id,b.current&&C()},[t,n]),j(()=>{const e=i.current,t=v.current;if(!e||!t||"undefined"==typeof ResizeObserver)return;const n=new ResizeObserver(()=>{const t=e.clientHeight>0;t&&!w.current&&(b.current=!0),w.current=t,t&&(b.current?C():e.scrollTop=x.current)});return n.observe(e),n.observe(t),()=>n.disconnect()},[]);/* @__PURE__ */
83
+ return L("div",{ref:i,role:"log","aria-label":e.title,"aria-live":"polite","aria-busy":"submitted"===n||"streaming"===n,onScroll:()=>{const e=i.current;e&&0!==e.clientHeight&&w.current&&(x.current=e.scrollTop,b.current=e.scrollHeight-e.scrollTop-e.clientHeight<=48)},className:"min-h-0 flex-1 overflow-auto bg-gray-50 p-3",children:/* @__PURE__ */F("div",{ref:v,className:"flex min-h-full flex-col gap-3",children:["loading"===r&&/* @__PURE__ */F("div",{role:"status",className:"flex items-center gap-2 text-xs text-gray-500",children:[
84
+ /* @__PURE__ */L(k,{className:"h-3 w-3"}),s.loadingHistory]}),"failed"===r&&/* @__PURE__ */L(o,{tone:"warning",children:s.historyFailed}),0===t.length&&"idle"===r&&/* @__PURE__ */L("p",{className:"m-auto text-center text-sm text-gray-500",children:s.emptyState}),t.map((n,a)=>/* @__PURE__ */L(ut,{live:a===t.length-1&&p,waitingSince:u,message:n,speaker:e.assistantName,toolLabels:e.toolLabels,labels:s,showReasoning:e.showReasoning,showToolOutput:e.showToolOutput,showUsage:e.showUsage,tableActions:e.tableActions,onApprove:e.onApprove,onLinkClick:e.onLinkClick,onOpenFile:e.onOpenFile,renderDataPart:e.renderDataPart,plans:l,userActions:e.userMessageActions,onOpenAttachment:e.onOpenAttachment,showCopy:e.showCopy,answerActions:e.answerActions,onRate:e.onRate,onAsk:e.onAsk},n.id)),e.onAsk&&/* @__PURE__ */L(Ke,{choices:f,label:s.choices,onAnswer:e.onAsk}),e.onAsk&&/* @__PURE__ */L(et,{questions:g,label:s.followups,onAsk:e.onAsk}),e.handedOver&&/* @__PURE__ */L("div",{role:"status",className:"text-center text-xs text-gray-500",children:s.teamJoined}),"submitted"===n&&"assistant"!==d?.role&&
85
+ /* @__PURE__ */L(ut,{message:mt,live:!0,waitingSince:u,speaker:e.assistantName,toolLabels:e.toolLabels,labels:s,showReasoning:e.showReasoning,showToolOutput:e.showToolOutput,onApprove:e.onApprove},"pending-answer"),c&&/* @__PURE__ */F("div",{role:"alert",className:"flex flex-col items-start gap-2",children:[
86
+ /* @__PURE__ */L(o,{tone:"danger",children:c.text}),c.retryable&&e.onRetry&&"error"===n&&/* @__PURE__ */L(y,{size:"sm",variant:"secondary",onClick:e.onRetry,children:s.retry})]})]})})}var ft={title:"Assistant",placeholder:"Ask a question…",inputLabel:"Message to the assistant",send:"Send",stop:"Stop",newChat:"New chat",open:"Open assistant",close:"Close assistant",thinking:"Thinking",loadingHistory:"Loading the conversation",historyFailed:"The earlier conversation could not be loaded.",emptyState:"Ask me anything to get started.",approvalNeeded:"Approval needed",approve:"Approve",deny:"Deny",approvalExpired:"This request expired. Ask again if you still want it done.",approved:"Approved",declined:"Declined",toolFailed:"did not complete",toolDeclined:"was not approved",details:"Details",stepSources:"Where these figures came from",reasoning:"Reasoning",genericError:"Something went wrong. Please try again.",connectionDropped:"The connection dropped. Your question may still be answering; reopen the chat in a moment.",retry:"Retry",working:"Working",steps:"Steps",teamName:"Team",teamJoined:"A team member has joined",plan:"Plan",planSummary:"Plan: {done} of {total} done",planProposed:"waiting for your approval",planApproved:"approved, starting",planRunning:"in progress",planCompleted:"finished",planFailed:"stopped — not every step ran",planDenied:"not approved — nothing was changed",planExpired:"expired — nothing was changed",planApprovalHeading:"Approve this plan of {count} steps",approvePlan:"Approve plan",replyStats:"{tokens} tokens · {seconds} s · {rate} tok/s",replyTokens:"{tokens} tokens",streaming:"Streaming",streamingRate:"Streaming · ~{rate} tok/s",followups:"Suggested follow-up questions",choices:"Answers to choose from",attach:"Attach a file",attaching:"Uploading",removeAttachment:"Remove {name}",openAttachment:"Open {name}",copyAnswer:"Copy",copied:"Copied",readOnly:"You can read this chat but not continue it.",rateAnswer:"Rate this answer",rateUp:"Helpful",rateDown:"Not helpful",rateNote:"What was wrong? (optional)",rateNoteSend:"Send",rateNoteSkip:"Skip",rateThanks:"Thanks for telling us.",rateFailed:"Your rating could not be saved.",openFile:"Open {name}",thinkingWords:["Thinking","Working it out","Checking"],waitingSeconds:"{seconds}s",notReplied:"The assistant didn’t reply. It took this as for the people.",askToReply:"Ask the assistant to reply",askToReplyText:"please reply to that.",flowDownloadPng:"Download PNG",flowDownloadSvg:"Download SVG",flowToPdf:"Add to the PDF",flowToPdfText:"Put that flowchart in a PDF.",detailsPanel:"Details",detailsChat:"Chat",detailsUsage:"Usage",detailsFiles:"Files",detailsTools:"Tools used",detailsAnswers:"{count} answers",detailsOneAnswer:"1 answer",detailsTokensIn:"Tokens in",detailsTokensOut:"Tokens out",detailsSpeed:"Average speed",detailsRate:"{rate} tok/s",detailsUsagePartial:"Counts the answers written while this window was open.",detailsYou:"You",detailsNoFiles:"No files yet.",detailsNoTools:"No tools used yet.",assistantMention:"@Assistant",assistantName:"",toPeople:"To {names} only. The assistant won’t reply.",toAssistant:"The assistant will reply. Everyone in the chat sees it.",assistantDecides:"The assistant replies if this is for it. Name it to be sure.",deciding:"The assistant is reading your message",askAssistant:"Ask the assistant",peopleOnly:"People only",letAssistantDecide:"Let the assistant decide",peoplePlaceholder:"Message {names}, or type {mention} to ask",askedBy:"Asked by {name}",sayFailed:"Your message didn’t send. Try again."},gt=(e,t)=>`${e.replace(/\/+$/,"")}/${t}`;function vt(e){return gt(e,"assistant/chat/")}function bt(e,t){return gt(e,`assistant/chat/${encodeURIComponent(t)}/`)}function xt(e){const t=e.metadata;return Boolean(t?.source||t?.author||t?.askedBy)}function yt(e){return e.parts.map(e=>e.approval?.id??"").filter(Boolean).sort().join(",")}function wt(e){const t=A(e);t.current=e;const n=A(e.conversationId?{id:e.conversationId}:null),[a,r]=T("idle"),[s,o]=T(!1),[i,l]=T(null),[c,d]=T([]),[p,u]=T([]),[m,h]=T([]),[f,g]=T(!1),[v,b]=T(!1),[x,y]=T(!1),[w,k]=T(n.current),N=O(e=>{n.current=e,k(e)},[]),C=O((e,n)=>(t.current.fetch??fetch)(e,n),[]),S=R(()=>new D({api:vt(e.apiBase),fetch:C,prepareSendMessagesRequest:async({messages:e})=>{const{apiBase:a,getHeaders:r,credentials:s}=t.current;return{api:vt(a),body:q(e,n.current?.id??null),headers:await(r?.())??{},...s?{credentials:s}:{}}}}),[C]),I=P({transport:S,sendAutomaticallyWhen:_,onData:e=>{if(!J.has(e.type))return void t.current.onDataPart?.(e);if("data-error"===e.type)return void l(e.data.code);if("data-followups"===e.type)return void d(function(e){const t=e?.questions;if(!Array.isArray(t))return[];const n=[];for(const e of t){if("string"!=typeof e)continue;const t=e.trim();!t||t.includes("\n")||n.includes(t)||n.push(t)}return n.slice(0,3)}(e.data));if("data-choices"===e.type)return void u(function(e){const t=e?.choices;if(!Array.isArray(t))return[];const n=[];for(const e of t){if("string"!=typeof e)continue;const t=e.trim();!t||t.includes("\n")||n.includes(t)||n.push(t)}return n.length>=2?n.slice(0,4):[]}(e.data));if("data-conversation"!==e.type)return;const{id:a,guest_token:r}=e.data,s=n.current,o=r??(s?.id===a?s.guestToken:void 0);s&&s.id===a&&s.guestToken===o||(N(o?{id:a,guestToken:o}:{id:a}),t.current.onConversation?.(n.current))}}),{setMessages:$,stop:F}=I,L=O(async(e,n)=>{const{apiBase:a,getHeaders:s,credentials:i,onConversation:l}=t.current;r("loading"),d([]),u([]);try{const t=await C(bt(a,e),{method:"GET",headers:await(s?.())??{},...i?{credentials:i}:{},signal:n});if(n.aborted)return;if(404===t.status)return N(null),l?.(null),void r("idle");if(!t.ok)throw new Error(`history ${t.status}`);const c=await t.json();if(n.aborted)return;o(!0===c.handed_over),h(c.people??[]),$(e=>e.length>0?e:se(c)),r("idle")}catch{n.aborted||r("failed")}},[C,$,N]),M=e.conversationId??null;j(()=>{if(M===(n.current?.id??null)&&I.messages.length>0)return;if(null===M)return n.current&&(N(null),F(),$([]),d([]),u([]),h([])),void r("idle");n.current?.id===M||N({id:M});const e=new AbortController;return L(M,e.signal),()=>e.abort()},[M,L,$,F,N]);const B=O(async e=>{const a=n.current?.id;if(a)try{const{apiBase:r,getHeaders:s,credentials:i}=t.current,l=await C(bt(r,a),{method:"GET",headers:await(s?.())??{},...i?{credentials:i}:{},...e?{signal:e}:{}});if(!l.ok||e?.aborted||n.current?.id!==a)return;const c=await l.json();o(!0===c.handed_over),h(c.people??[]);const d=se(c),p=d.filter(xt),u=d.find(e=>e.id===`pending-approvals-${a}`);if(0===p.length&&!u)return;$(e=>{const t=new Set(e.map(e=>e.id)),n=p.filter(e=>!t.has(e.id));let a=n.length>0?[...e,...n]:e;const r=new Set(a.filter(e=>e.id!==u?.id).flatMap(e=>yt(e).split(",").filter(Boolean)));if(u&&!yt(u).split(",").every(e=>r.has(e))){const e=a.find(e=>e.id===u.id);e?yt(e)!==yt(u)&&(a=[...a.filter(e=>e.id!==u.id),u]):a=[...a,u]}return a})}catch{}},[C,$]),z=A(B);z.current=B;const{status:E}=I,U="submitted"===E||"streaming"===E,W=A(!1),Y=A(!1),Q=!!e.subscribe;j(()=>{const e=W.current&&!U;if(W.current=U,!e)return;if(Q&&!Y.current)return;Y.current=!1;const t=new AbortController;return z.current(t.signal),()=>t.abort()},[U,Q]);const V=A(U);V.current=U;const X=w?.id,K=w?.guestToken;j(()=>{const e=n.current,a=t.current.subscribe;if(e&&a)return a(e,()=>{V.current?Y.current=!0:z.current()})??void 0},[X,K]);const ee=O((e,t=[])=>{const n=e.trim();n&&(l(null),d([]),u([]),g(!1),I.sendMessage(t.length>0?{text:n,files:t.map(H)}:{text:n}))},[I]),te=A(0),ne=O(e=>{te.current+=1;const t=`sending-${te.current}`;return $(n=>[...n,{id:t,role:"user",parts:[{type:"text",text:e}]}]),t},[$]),ae=O(e=>$(t=>t.filter(t=>t.id!==e)),[$]),re=O(async(e,a)=>{const r=n.current?.id;if(!r)return;g(!1),d([]),u([]);const s=a??ne(e);try{const{apiBase:n,getHeaders:a,credentials:o}=t.current,i=await C(function(e,t){return gt(e,`assistant/chat/${encodeURIComponent(t)}/messages/`)}(n,r),{method:"POST",headers:{"Content-Type":"application/json",...await(a?.())??{}},body:JSON.stringify({text:e}),...o?{credentials:o}:{}});if(!i.ok)throw new Error(`say ${i.status}`);const l=await i.json(),[c]=se({id:r,messages:[l],pending_approvals:[]});$(e=>!c||e.some(e=>e.id===c.id)?e.filter(e=>e.id!==s):e.map(e=>e.id===s?c:e))}catch{ae(s),g(!0)}},[C,$,ne,ae]),oe=O(async e=>{const a=n.current?.id;if(!a)return!1;try{const{apiBase:n,getHeaders:r,credentials:s}=t.current,o=await C(function(e,t){return gt(e,`assistant/chat/${encodeURIComponent(t)}/addressee/`)}(n,a),{method:"POST",headers:{"Content-Type":"application/json",...await(r?.())??{}},body:JSON.stringify({text:e}),...s?{credentials:s}:{}});return!!o.ok&&!0===(await o.json()).to_assistant}catch{return!1}},[C]),ie=e.mention??"",le=e.name??"",ce=!0===e.assistantDecides,de=m.length>0,ue=O((e,t=[],n={})=>{const a=e.trim();if(!a)return;if(y(!1),!de||t.length>0||G(a,ie,le))return void ee(a,t);if(!ce||n.peopleOnly)return void re(a);const r=ne(a);b(!0),oe(a).then(e=>{if(!e)return y(!0),re(a,r);ae(r),ee(a)}).finally(()=>b(!1))},[ee,re,oe,ne,ae,de,ie,le,ce]),me=O(e=>{y(!1),ee(de?Z(e,ie):e)},[ee,de,ie]),he=O(()=>{pe(I.messages)&&(l(null),d([]),u([]),I.regenerate())},[I]),fe=O((e,t)=>{l(null),d([]),u([]),I.addToolApprovalResponse({id:e,approved:t})},[I]),ge=O(()=>{F(),N(null),$([]),r("idle"),o(!1),l(null),d([]),u([]),h([]),g(!1),b(!1),y(!1),t.current.onConversation?.(null)},[$,F,N]);return{conversationId:w?.id??null,messages:I.messages,status:I.status,error:I.error,errorCode:i,canRetry:pe(I.messages),retry:he,historyState:a,handedOver:s,followups:c,choices:p,people:m,sayFailed:f,deciding:v,quiet:x,send:ue,askAssistant:me,stop:F,approve:fe,reset:ge}}function kt(e){const t={...ft,...e.labels},n=e.variant??"panel",a=wt({...e,mention:t.assistantMention,name:t.assistantName}),r=V(a.people),s="submitted"===a.status||"streaming"===a.status,o=A(e.onBusyChange);o.current=e.onBusyChange,j(()=>{o.current?.(s)},[s]);const i="window"===n,l=e.showHeader??"window"!==n,d=e.title??t.title,p=ne(a.messages),u=!0===e.readOnly,{onRate:m}=e,{conversationId:h}=a,f=A(!1),{send:g}=a;return j(()=>{f.current||u||e.conversationId||!e.initialQuestion?.trim()||(f.current=!0,g(e.initialQuestion))},[]),/* @__PURE__ */F("section",{"aria-label":d,className:`flex h-full min-h-0 flex-col bg-white text-gray-900 ${e.className??""}`.trim(),children:[l&&/* @__PURE__ */F("header",{className:"flex items-center gap-2 border-b border-gray-200 px-3 py-2",children:[
87
+ /* @__PURE__ */L("h2",{className:"min-w-0 flex-1 truncate text-sm font-semibold",children:d}),a.messages.length>0&&/* @__PURE__ */L(y,{size:"sm",variant:"ghost",onClick:a.reset,children:t.newChat}),e.onClose&&/* @__PURE__ */L(c,{size:"sm","aria-label":t.close,onClick:e.onClose,children:/* @__PURE__ */L(w,{name:"close"})})]}),
88
88
  /* @__PURE__ */F("div",{className:"flex min-h-0 flex-1",children:[
89
89
  /* @__PURE__ */F("div",{className:"flex min-w-0 flex-1 flex-col",children:[
90
- /* @__PURE__ */I(ut,{messages:a.messages,status:a.status,error:a.error,errorCode:a.errorCode,history:a.historyState,handedOver:a.handedOver,labels:t,title:c,assistantName:r?t.assistantName||c:void 0,toolLabels:e.toolLabels,showReasoning:i&&!0===e.showReasoning,showToolOutput:i,showUsage:i&&!0===e.showUsage,tableActions:e.tableActions,onApprove:a.approve,onLinkClick:e.onLinkClick,onOpenFile:e.onOpenFile,renderDataPart:e.renderDataPart,userMessageActions:u?void 0:e.userMessageActions,showCopy:e.showCopy??i,answerActions:e.answerActions,onOpenAttachment:e.attachments?.onOpen,followups:a.followups,choices:a.choices,onAsk:u?void 0:a.askAssistant,onRetry:u?void 0:a.canRetry?a.retry:void 0,onRate:m&&h&&!u?(e,t)=>m({conversationId:h,runId:e,rating:t}):void 0}),p&&/* @__PURE__ */I(Qe,{plan:p,labels:t},p.id),!u&&e.composerTop,!u&&a.sayFailed&&/* @__PURE__ */I("p",{role:"alert",className:"border-t border-line px-3 py-2 text-xs text-danger-text",children:t.sayFailed}),u?/* @__PURE__ */I("p",{role:"note",className:"border-t border-gray-200 px-3 py-2 text-xs text-gray-500",children:t.readOnly}):/* @__PURE__ */I(he,{labels:t,placeholder:r?t.peoplePlaceholder.replace("{names}",r).replace("{mention}",t.assistantMention):e.placeholder??t.placeholder,people:r||void 0,assistantDecides:e.assistantDecides,deciding:a.deciding,quiet:a.quiet,onAskToReply:()=>a.askAssistant(t.askToReplyText),busy:s,focusWhen:e.focusComposer,onSend:a.send,onStop:a.stop,onNewChat:!l&&!1!==e.showNewChat&&a.messages.length>0?a.reset:void 0,actions:e.composerActions,attachments:e.attachments})]}),i&&e.details?.open&&/* @__PURE__ */I(Me,{messages:a.messages,facts:e.details.facts,toolLabels:e.toolLabels,labels:t,assistantName:t.assistantName||c,onOpenFile:e.onOpenFile,onOpenAttachment:e.attachments?.onOpen})]})]})}function wt(e){const t={...mt,...e.labels},[n,a]=A(e.defaultOpen??!1),r=j(),s=k(null),o=k(n),i=t=>{a(t),e.onOpenChange?.(t)};return C(()=>{o.current&&!n&&s.current?.focus(),o.current=n},[n]),/* @__PURE__ */F("div",{className:"rosh-assistant",style:{display:"contents"},children:[n&&/* @__PURE__ */I("div",{id:r,role:"dialog","aria-label":e.title??t.title,onKeyDown:e=>{"Escape"===e.key&&i(!1)},className:"fixed inset-x-2 bottom-20 z-[var(--z-window,1000)] h-[min(34rem,calc(100dvh-6rem))] overflow-hidden rounded-xl border border-gray-200 shadow-xl sm:inset-x-auto sm:right-4 sm:w-96",children:/* @__PURE__ */I(yt,{...e,onClose:()=>i(!1),focusComposer:!0})}),
91
- /* @__PURE__ */I("button",{ref:s,type:"button","aria-expanded":n,"aria-controls":n?r:void 0,"aria-label":n?t.close:t.open,onClick:()=>i(!n),className:"fixed bottom-4 right-4 z-[var(--z-window,1000)] flex h-12 w-12 items-center justify-center rounded-full shadow-lg bg-[var(--assistant-launcher-bg,var(--color-blue-600))] text-[var(--assistant-launcher-ink,var(--color-white))] hover:bg-[var(--assistant-launcher-bg-hover,var(--color-blue-700))] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--assistant-launcher-bg,var(--color-blue-600))]",children:/* @__PURE__ */I(x,n?{name:"close",size:20}:{name:"chat-bubble-left-right",size:22})})]})}function kt(e){if("bubble"===e.variant)/* @__PURE__ */return I(wt,{...e});const t="window"!==e.variant;/* @__PURE__ */
92
- return I(yt,{...e,className:`${t?"border-l border-gray-200":""} ${e.className??""}`.trim()})}export{Ee as ApprovalCard,kt as AssistantChat,dt as AssistantMessage,mt as DEFAULT_ASSISTANT_CHAT_LABELS,P as OWN_DATA_PARTS,Ge as PlanApprovalCard,Qe as PlanChecklist,He as ToolStep,K as addressedToAssistant,W as attachmentPart,H as attachmentsOf,J as buildRequestBody,Ce as compactCount,Te as estimateTokens,le as failureView,z as filesOf,Re as finishedStats,oe as isDroppedConnection,$e as liveStats,q as mentionsAssistant,ae as messagesFromHistory,Q as peopleNames,ee as pinnedPlan,V as plansOf,Ae as summarizeChat,je as tokensPerSecond,B as toolSummariesOf};
90
+ /* @__PURE__ */L(ht,{messages:a.messages,status:a.status,error:a.error,errorCode:a.errorCode,history:a.historyState,handedOver:a.handedOver,labels:t,title:d,assistantName:r?t.assistantName||d:void 0,toolLabels:e.toolLabels,showReasoning:i&&!0===e.showReasoning,showToolOutput:i,showUsage:i&&!0===e.showUsage,tableActions:e.tableActions,onApprove:a.approve,onLinkClick:e.onLinkClick,onOpenFile:e.onOpenFile,renderDataPart:e.renderDataPart,userMessageActions:u?void 0:e.userMessageActions,showCopy:e.showCopy??i,answerActions:e.answerActions,onOpenAttachment:e.attachments?.onOpen,followups:a.followups,choices:a.choices,onAsk:u?void 0:a.askAssistant,onRetry:u?void 0:a.canRetry?a.retry:void 0,onRate:m&&h&&!u?(e,t)=>m({conversationId:h,runId:e,rating:t}):void 0}),p&&/* @__PURE__ */L(Ve,{plan:p,labels:t},p.id),!u&&e.composerTop,!u&&a.sayFailed&&/* @__PURE__ */L("p",{role:"alert",className:"border-t border-line px-3 py-2 text-xs text-danger-text",children:t.sayFailed}),u?/* @__PURE__ */L("p",{role:"note",className:"border-t border-gray-200 px-3 py-2 text-xs text-gray-500",children:t.readOnly}):/* @__PURE__ */L(ge,{labels:t,placeholder:r?t.peoplePlaceholder.replace("{names}",r).replace("{mention}",t.assistantMention):e.placeholder??t.placeholder,people:r||void 0,assistantDecides:e.assistantDecides,deciding:a.deciding,quiet:a.quiet,onAskToReply:()=>a.askAssistant(t.askToReplyText),busy:s,focusWhen:e.focusComposer,onSend:a.send,onStop:a.stop,onNewChat:!l&&!1!==e.showNewChat&&a.messages.length>0?a.reset:void 0,actions:e.composerActions,attachments:e.attachments})]}),i&&e.details?.open&&/* @__PURE__ */L(Be,{messages:a.messages,facts:e.details.facts,toolLabels:e.toolLabels,labels:t,assistantName:t.assistantName||d,onOpenFile:e.onOpenFile,onOpenAttachment:e.attachments?.onOpen})]})]})}function Nt(e){const t={...ft,...e.labels},[n,a]=T(e.defaultOpen??!1),r=S(),s=A(null),o=A(n),i=t=>{a(t),e.onOpenChange?.(t)};return j(()=>{o.current&&!n&&s.current?.focus(),o.current=n},[n]),/* @__PURE__ */F("div",{className:"rosh-assistant",style:{display:"contents"},children:[n&&/* @__PURE__ */L("div",{id:r,role:"dialog","aria-label":e.title??t.title,onKeyDown:e=>{"Escape"===e.key&&i(!1)},className:"fixed inset-x-2 bottom-20 z-[var(--z-window,1000)] h-[min(34rem,calc(100dvh-6rem))] overflow-hidden rounded-xl border border-gray-200 shadow-xl sm:inset-x-auto sm:right-4 sm:w-96",children:/* @__PURE__ */L(kt,{...e,onClose:()=>i(!1),focusComposer:!0})}),
91
+ /* @__PURE__ */L("button",{ref:s,type:"button","aria-expanded":n,"aria-controls":n?r:void 0,"aria-label":n?t.close:t.open,onClick:()=>i(!n),className:"fixed bottom-4 right-4 z-[var(--z-window,1000)] flex h-12 w-12 items-center justify-center rounded-full shadow-lg bg-[var(--assistant-launcher-bg,var(--color-blue-600))] text-[var(--assistant-launcher-ink,var(--color-white))] hover:bg-[var(--assistant-launcher-bg-hover,var(--color-blue-700))] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--assistant-launcher-bg,var(--color-blue-600))]",children:/* @__PURE__ */L(w,n?{name:"close",size:20}:{name:"chat-bubble-left-right",size:22})})]})}function At(e){if("bubble"===e.variant)/* @__PURE__ */return L(Nt,{...e});const t="window"!==e.variant;/* @__PURE__ */
92
+ return L(kt,{...e,className:`${t?"border-l border-gray-200":""} ${e.className??""}`.trim()})}export{Ue as ApprovalCard,At as AssistantChat,ut as AssistantMessage,ft as DEFAULT_ASSISTANT_CHAT_LABELS,J as OWN_DATA_PARTS,Xe as PlanApprovalCard,Ve as PlanChecklist,Ye as ToolStep,Z as addressedToAssistant,H as attachmentPart,Y as attachmentsOf,q as buildRequestBody,je as compactCount,Oe as estimateTokens,de as failureView,E as filesOf,$e as finishedStats,le as isDroppedConnection,De as liveStats,G as mentionsAssistant,se as messagesFromHistory,V as peopleNames,ne as pinnedPlan,te as plansOf,Te as summarizeChat,Se as tokensPerSecond,z as toolSummariesOf};
@@ -0,0 +1,21 @@
1
+ import * as react from 'react';
2
+
3
+ interface ImageAnnotatorHandle {
4
+ copy: () => Promise<void>;
5
+ save: () => Promise<void>;
6
+ }
7
+ interface ImageAnnotatorProps {
8
+ src: string;
9
+ filename: string;
10
+ /** Standalone-mode: when provided, an Apply pill is rendered in the
11
+ * annotator's toolbar that composites the current canvas + SVG into a PNG
12
+ * blob and hands it back. Used by callers like the bug-report dialog that
13
+ * embed the annotator outside the Preview app and want the result. */
14
+ onApply?: (blob: Blob) => void;
15
+ /** Standalone-mode companion to `onApply` — Cancel pill that lets the
16
+ * consumer dismiss the annotator without applying. */
17
+ onCancel?: () => void;
18
+ }
19
+ declare const ImageAnnotator: react.ForwardRefExoticComponent<ImageAnnotatorProps & react.RefAttributes<ImageAnnotatorHandle>>;
20
+
21
+ export { type ImageAnnotatorHandle, type ImageAnnotatorProps, ImageAnnotator as default };
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ export{ImageAnnotator_default as default}from"../chunk-FPYABAOX.js";import"../chunk-TRWHVG3A.js";import"../chunk-UQYNPYF4.js";import"../chunk-MRJKZWWV.js";import"../chunk-43MCNASD.js";import"../chunk-C3QOHMR6.js";
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export{openFilesInTrashMode,setFilesDemoTree}from"../chunk-VZLYB5LX.js";export{setBrowserStartUrl}from"../chunk-LWLCNQY7.js";export{BUILTIN_APP_INFO}from"../chunk-MKP2HSWX.js";import{setSpreadsheetPreview as e}from"../chunk-FWUXYNWF.js";export{FilesQuotaError,SPREADSHEET_PREVIEW_UPDATE_EVENT,claimSpreadsheetPreviewStage,createFileServerStore,peekSpreadsheetPreviewStage,setFilesStore,setSpreadsheetPreview}from"../chunk-FWUXYNWF.js";import{setPdfPreview as t}from"../chunk-ESL5TDNA.js";export{setPdfPreview}from"../chunk-ESL5TDNA.js";import"../chunk-M7DFM2N7.js";import"../chunk-4LXCCZDM.js";import"../chunk-AW7TOB6N.js";import"../chunk-KNUR2UEG.js";import"../chunk-JDCM2VHG.js";import"../chunk-LOEOCZCN.js";import"../chunk-ZDMZM7HD.js";import"../chunk-5A7MWTXX.js";import"../chunk-SCCAMJB4.js";import"../chunk-4RTDZSGH.js";import"../chunk-CWTY4GTU.js";import"../chunk-RXHTIJ64.js";import"../chunk-3DVNXNTF.js";import"../chunk-C4XV42QP.js";import"../chunk-VWGWZY7A.js";import"../chunk-7QSDPSXP.js";import"../chunk-L75RBQFH.js";import"../chunk-SCGBCBXP.js";import{toast_default as o}from"../chunk-TRWHVG3A.js";import"../chunk-2QY5BJLA.js";import"../chunk-UGTRSRIW.js";import"../chunk-KC3EX26K.js";import"../chunk-F3ZOO23R.js";import"../chunk-UVEHJRPE.js";import"../chunk-FZM3ZPW3.js";import"../chunk-CDAJKLGL.js";import"../chunk-BFA5U5JF.js";import"../chunk-URHGHXDN.js";import"../chunk-5QFPTDQF.js";import"../chunk-EOVXFXVV.js";import"../chunk-UQYNPYF4.js";import"../chunk-TE6R53YD.js";import"../chunk-MRFNJZRR.js";import"../chunk-J75ZT2JQ.js";import"../chunk-R2VKEMZH.js";import"../chunk-MRJKZWWV.js";import"../chunk-WGLHB6WE.js";import"../chunk-NJN5IKWO.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-STKJA4PV.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-TWVUQUUD.js";import{currentShellStrings as r}from"../chunk-43MCNASD.js";import"../chunk-C3QOHMR6.js";import{lazy as i}from"react";function n(e){const t=/\.([a-z0-9]+)(?:[?#].*)?$/i.exec((e||"").trim());return t?t[1].toLowerCase():""}var s=/* @__PURE__ */new Set(["csv","tsv"]),c=/* @__PURE__ */new Set(["xlsx","xls","xlsm","ods"]),m=/* @__PURE__ */new Set(["png","jpg","jpeg","gif","webp","bmp","svg","avif"]),p=/* @__PURE__ */new Set(["step","stp","stl","obj","gltf","glb","3mf","iges","igs"]);function a(e){const t=n(e);return"pdf"===t?"pdf":"dxf"===t?"dxf":s.has(t)?"csv":m.has(t)?"image":p.has(t)?"3d":null}function u(e){window.open(e,"_blank","noopener,noreferrer")}async function l(e,t,o){if(t.fetchBlob)return(await t.fetchBlob(o)).text();const r=await fetch(e);if(!r.ok)throw new Error(`fetch failed: ${r.status}`);return r.text()}function h(e,t){return(e instanceof Error?e.message:"")||t}async function k(i,s,m={}){const p=r().attachment,k=i?.url||"",j=i?.filename||p.fallbackName;if(!k&&!m.fetchBlob)return void o.error(p.noLink);const d=a(j)??a(k);if("csv"===d){try{e({csv:await l(k,m,i),filename:j}),s("/spreadsheet")}catch{o.error(p.spreadsheetFailed),k&&u(k)}return}if(c.has(n(j)||n(k)))return o.error(p.workbookUnavailable),void(k&&u(k));if(!d)return k?(o.info(p.noViewer),void u(k)):void o.error(p.noLink);if(!m.fetchBlob)return t({url:k,filename:j,kind:d}),void s("/preview");const f=t({filename:j,kind:d,converting:!0,convertingMessage:m.loadingMessage||p.loading});s("/preview");try{const e=await m.fetchBlob(i);f.update({url:URL.createObjectURL(e),filename:j,kind:d})}catch(e){f.update({filename:j,kind:d,converting:!1,convertingMessage:h(e,p.loadFailed)})}}var j=i(()=>import("../Calculator-6XGTP5OQ.js")),d=i(()=>import("../Weather-2IIV4CFT.js")),f=i(()=>import("../CurrencyConverter-XNWE5MQW.js")),w=i(()=>import("../PomodoroTimer-SBV43YX6.js")),g=i(()=>import("../Notepad-JP52QKUC.js")),S=i(()=>import("../WorldClock-JW4MLMCB.js")),v=i(()=>import("../Stock-GODZPUR3.js")),P=i(()=>import("../Preview-TKEDKVNI.js")),T=i(()=>import("../PdfViewer-ZI3QOG4G.js")),C=i(()=>import("../Files-LVZNO6EQ.js")),N=i(()=>import("../Browser-UK645CZ3.js")),W={"/calculator":{component:j,label:"Calculator",size:"sm",allowPinOnTop:!0,utility:!0,widget:!0,dimensions:[280,420]},"/notepad":{component:g,label:"Notepad",size:"lg",allowPinOnTop:!0,flushBody:!0},"/weather":{component:d,label:"Weather",size:"sm",utility:!0,widget:!0,autoHeight:!0,dimensions:[320,400]},"/currency":{component:f,label:"Currency Converter",size:"sm",utility:!0,widget:!0,autoHeight:!0,dimensions:[320,480]},"/pomodoro":{component:w,label:"Pomodoro Timer",size:"sm",utility:!0,widget:!0,dimensions:[320,600]},"/world-clock":{component:S,label:"World Clock",size:"sm",utility:!0,widget:!0,autoHeight:!0,dimensions:[320,480]},"/stock":{component:v,label:"Stocks",size:"sm",utility:!0,widget:!0,autoHeight:!0,dimensions:[320,360]}},F={"/preview":{component:P,label:"Preview",size:"2xl",appStyle:!0,multiInstance:!0},"/files":{component:C,label:"Files",size:"xl",appStyle:!0}},E={"/browser":{component:N,label:"Browser",size:"2xl",appStyle:!0,multiInstance:!0}},b={...W,...F,...E};export{N as Browser,j as Calculator,f as CurrencyConverter,C as Files,g as Notepad,T as PdfViewer,w as PomodoroTimer,P as Preview,v as Stock,d as Weather,S as WorldClock,a as attachmentKind,b as bundledApps,F as documentApps,k as openAttachment,W as utilityApps,E as webApps};
2
+ export{openFilesInTrashMode,setFilesDemoTree}from"../chunk-6DZGOGB2.js";export{setBrowserStartUrl}from"../chunk-LWLCNQY7.js";export{BUILTIN_APP_INFO}from"../chunk-BQ5CRQYR.js";import{setSpreadsheetPreview as e}from"../chunk-OY3JH66O.js";export{FilesQuotaError,SPREADSHEET_PREVIEW_UPDATE_EVENT,claimSpreadsheetPreviewStage,createFileServerStore,peekSpreadsheetPreviewStage,setFilesStore,setSpreadsheetPreview}from"../chunk-OY3JH66O.js";import{setPdfPreview as t}from"../chunk-ESL5TDNA.js";export{setPdfPreview}from"../chunk-ESL5TDNA.js";import"../chunk-UWF45S5L.js";import"../chunk-4LXCCZDM.js";import"../chunk-AW7TOB6N.js";import"../chunk-KNUR2UEG.js";import"../chunk-JDCM2VHG.js";import"../chunk-Y4RERPFN.js";import"../chunk-5A7MWTXX.js";import"../chunk-ZDMZM7HD.js";import"../chunk-HE767CVB.js";import"../chunk-CAXOKGMB.js";import"../chunk-PMJMYH5O.js";import"../chunk-N7JX27JE.js";import"../chunk-3DVNXNTF.js";import"../chunk-2762IAB7.js";import"../chunk-VWGWZY7A.js";import"../chunk-7QSDPSXP.js";import"../chunk-5JUG74UR.js";import"../chunk-SCGBCBXP.js";import"../chunk-F3ZOO23R.js";import"../chunk-2QY5BJLA.js";import"../chunk-UGTRSRIW.js";import"../chunk-KC3EX26K.js";import"../chunk-RJ3J4BLH.js";import"../chunk-CDAJKLGL.js";import"../chunk-JPNAEN53.js";import"../chunk-IFQXTIMY.js";import"../chunk-URHGHXDN.js";import"../chunk-5QFPTDQF.js";import"../chunk-UJJXWLHE.js";import"../chunk-XWFLIGDQ.js";import"../chunk-UIWGVOFH.js";import"../chunk-J75ZT2JQ.js";import"../chunk-R2VKEMZH.js";import"../chunk-CJH2BGXY.js";import"../chunk-QQ2LDC6C.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-STKJA4PV.js";import{toast_default as o}from"../chunk-TRWHVG3A.js";import"../chunk-UQYNPYF4.js";import"../chunk-MRJKZWWV.js";import"../chunk-TWVUQUUD.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import{currentShellStrings as r}from"../chunk-43MCNASD.js";import"../chunk-C3QOHMR6.js";import{lazy as i}from"react";function n(e){const t=/\.([a-z0-9]+)(?:[?#].*)?$/i.exec((e||"").trim());return t?t[1].toLowerCase():""}var s=/* @__PURE__ */new Set(["csv","tsv"]),c=/* @__PURE__ */new Set(["xlsx","xls","xlsm","ods"]),m=/* @__PURE__ */new Set(["png","jpg","jpeg","gif","webp","bmp","svg","avif"]),p=/* @__PURE__ */new Set(["step","stp","stl","obj","gltf","glb","3mf","iges","igs"]);function a(e){const t=n(e);return"pdf"===t?"pdf":"dxf"===t?"dxf":s.has(t)?"csv":m.has(t)?"image":p.has(t)?"3d":null}function u(e){window.open(e,"_blank","noopener,noreferrer")}async function l(e,t,o){if(t.fetchBlob)return(await t.fetchBlob(o)).text();const r=await fetch(e);if(!r.ok)throw new Error(`fetch failed: ${r.status}`);return r.text()}function h(e,t){return(e instanceof Error?e.message:"")||t}async function k(i,s,m={}){const p=r().attachment,k=i?.url||"",j=i?.filename||p.fallbackName;if(!k&&!m.fetchBlob)return void o.error(p.noLink);const d=a(j)??a(k);if("csv"===d){try{e({csv:await l(k,m,i),filename:j}),s("/spreadsheet")}catch{o.error(p.spreadsheetFailed),k&&u(k)}return}if(c.has(n(j)||n(k)))return o.error(p.workbookUnavailable),void(k&&u(k));if(!d)return k?(o.info(p.noViewer),void u(k)):void o.error(p.noLink);if(!m.fetchBlob)return t({url:k,filename:j,kind:d}),void s("/preview");const f=t({filename:j,kind:d,converting:!0,convertingMessage:m.loadingMessage||p.loading});s("/preview");try{const e=await m.fetchBlob(i);f.update({url:URL.createObjectURL(e),filename:j,kind:d})}catch(e){f.update({filename:j,kind:d,converting:!1,convertingMessage:h(e,p.loadFailed)})}}var j=i(()=>import("../Calculator-AHBFZ4EN.js")),d=i(()=>import("../Weather-WMQQXWHH.js")),f=i(()=>import("../CurrencyConverter-PZYRBADV.js")),w=i(()=>import("../PomodoroTimer-WGN2KNSB.js")),g=i(()=>import("../Notepad-U4OSPCX3.js")),S=i(()=>import("../WorldClock-IK3WTHVW.js")),v=i(()=>import("../Stock-5GEEDQVT.js")),P=i(()=>import("../Preview-JGRBT3EM.js")),B=i(()=>import("../PdfViewer-GUXUWGMG.js")),T=i(()=>import("../Files-EX6JA4CJ.js")),C=i(()=>import("../Browser-Z4Q2NDFT.js")),E={"/calculator":{component:j,label:"Calculator",size:"sm",allowPinOnTop:!0,utility:!0,widget:!0,dimensions:[280,420]},"/notepad":{component:g,label:"Notepad",size:"lg",allowPinOnTop:!0,flushBody:!0},"/weather":{component:d,label:"Weather",size:"sm",utility:!0,widget:!0,autoHeight:!0,dimensions:[320,400]},"/currency":{component:f,label:"Currency Converter",size:"sm",utility:!0,widget:!0,autoHeight:!0,dimensions:[320,480]},"/pomodoro":{component:w,label:"Pomodoro Timer",size:"sm",utility:!0,widget:!0,dimensions:[320,600]},"/world-clock":{component:S,label:"World Clock",size:"sm",utility:!0,widget:!0,autoHeight:!0,dimensions:[320,480]},"/stock":{component:v,label:"Stocks",size:"sm",utility:!0,widget:!0,autoHeight:!0,dimensions:[320,360]}},N={"/preview":{component:P,label:"Preview",size:"2xl",appStyle:!0,multiInstance:!0},"/files":{component:T,label:"Files",size:"xl",appStyle:!0}},H={"/browser":{component:C,label:"Browser",size:"2xl",appStyle:!0,multiInstance:!0}},W={...E,...N,...H};export{C as Browser,j as Calculator,f as CurrencyConverter,T as Files,g as Notepad,B as PdfViewer,w as PomodoroTimer,P as Preview,v as Stock,d as Weather,S as WorldClock,a as attachmentKind,W as bundledApps,N as documentApps,k as openAttachment,E as utilityApps,H as webApps};