@av-pi-studio/web-client 0.0.112 → 0.0.114

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 (231) hide show
  1. package/dist/web/assets/{BinaryFallbackViewer-D5r7plgZ.js → BinaryFallbackViewer-Bkpz8WV_.js} +1 -1
  2. package/dist/web/assets/{ChatPanel-C49fPd0n.css → ChatPanel-DtQ_LR4Y.css} +1 -1
  3. package/dist/web/assets/ChatPanel-kbXAj_zX.js +9 -0
  4. package/dist/web/assets/{CodeView-5RNJ09Tq.js → CodeView-BGmM4Xdz.js} +1 -1
  5. package/dist/web/assets/FilePanel-_4YNsvO0.js +1 -0
  6. package/dist/web/assets/{HtmlViewer-BlKWR-Co.js → HtmlViewer-DFstCiC5.js} +1 -1
  7. package/dist/web/assets/{ImageViewer-WUyWuvmO.js → ImageViewer-BQxrdTlE.js} +1 -1
  8. package/dist/web/assets/{MarkdownFileViewer-x8oYHLfO.js → MarkdownFileViewer-BGovxRT6.js} +1 -1
  9. package/dist/web/assets/{ModelProvidersPanel-8rYw0JNb.js → ModelProvidersPanel-DfQW9oP8.js} +1 -1
  10. package/dist/web/assets/{MoleculeViewerPanel-so-MAWGY.js → MoleculeViewerPanel-u97-c07_.js} +1 -1
  11. package/dist/web/assets/PdfViewer-BXC1UMNj.js +1 -0
  12. package/dist/web/assets/PdfViewer-DoOGVn5M.css +1 -0
  13. package/dist/web/assets/{SettingsDialog-DOPPV_tl.js → SettingsDialog-CINzuD1W.js} +1 -1
  14. package/dist/web/assets/{SkillsPanel-CFFz1ek7.js → SkillsPanel-Mfgze4oy.js} +1 -1
  15. package/dist/web/assets/{TerminalPanel-DK6Y6-qM.js → TerminalPanel-CyyoVOMa.js} +1 -1
  16. package/dist/web/assets/{TextViewer-DiGdbUYg.js → TextViewer-C6Lp03uL.js} +1 -1
  17. package/dist/web/assets/{VideoViewer-WavuJAEr.js → VideoViewer-hV_glBDT.js} +1 -1
  18. package/dist/web/assets/ViewersPanel-ZyLSqRdr.js +1 -0
  19. package/dist/web/assets/{href-resolution-B3tyV0vA.js → href-resolution-DWAlGpSI.js} +1 -1
  20. package/dist/web/assets/index-DjUHduQf.js +19 -0
  21. package/dist/web/assets/{markdown-f4n98WCB.js → markdown-ZgA079Q9.js} +4 -4
  22. package/dist/web/assets/pdf.worker.min-ypFJvUNP.js +53 -0
  23. package/dist/web/assets/{use-file-download-DCt9_GXp.js → use-file-download-Bc8Kby2g.js} +1 -1
  24. package/dist/web/assets/{use-file-watch-bihMWgMU.js → use-file-watch-hu9dEdvA.js} +1 -1
  25. package/dist/web/assets/{use-provider-auth-list-CF2agvn7.js → use-provider-auth-list-BDqjbQx-.js} +1 -1
  26. package/dist/web/assets/{vendor-icons-CWFUB81y.js → vendor-icons-Dq3K7TC5.js} +83 -63
  27. package/dist/web/assets/vendor-pdfjs-BrYGnqfM.js +55 -0
  28. package/dist/web/index.html +2 -2
  29. package/dist/web/pdfjs/cmaps/78-EUC-H.bcmap +0 -0
  30. package/dist/web/pdfjs/cmaps/78-EUC-V.bcmap +0 -0
  31. package/dist/web/pdfjs/cmaps/78-H.bcmap +0 -0
  32. package/dist/web/pdfjs/cmaps/78-RKSJ-H.bcmap +0 -0
  33. package/dist/web/pdfjs/cmaps/78-RKSJ-V.bcmap +0 -0
  34. package/dist/web/pdfjs/cmaps/78-V.bcmap +0 -0
  35. package/dist/web/pdfjs/cmaps/78ms-RKSJ-H.bcmap +0 -0
  36. package/dist/web/pdfjs/cmaps/78ms-RKSJ-V.bcmap +0 -0
  37. package/dist/web/pdfjs/cmaps/83pv-RKSJ-H.bcmap +0 -0
  38. package/dist/web/pdfjs/cmaps/90ms-RKSJ-H.bcmap +0 -0
  39. package/dist/web/pdfjs/cmaps/90ms-RKSJ-V.bcmap +0 -0
  40. package/dist/web/pdfjs/cmaps/90msp-RKSJ-H.bcmap +0 -0
  41. package/dist/web/pdfjs/cmaps/90msp-RKSJ-V.bcmap +0 -0
  42. package/dist/web/pdfjs/cmaps/90pv-RKSJ-H.bcmap +0 -0
  43. package/dist/web/pdfjs/cmaps/90pv-RKSJ-V.bcmap +0 -0
  44. package/dist/web/pdfjs/cmaps/Add-H.bcmap +0 -0
  45. package/dist/web/pdfjs/cmaps/Add-RKSJ-H.bcmap +0 -0
  46. package/dist/web/pdfjs/cmaps/Add-RKSJ-V.bcmap +0 -0
  47. package/dist/web/pdfjs/cmaps/Add-V.bcmap +0 -0
  48. package/dist/web/pdfjs/cmaps/Adobe-CNS1-0.bcmap +0 -0
  49. package/dist/web/pdfjs/cmaps/Adobe-CNS1-1.bcmap +0 -0
  50. package/dist/web/pdfjs/cmaps/Adobe-CNS1-2.bcmap +0 -0
  51. package/dist/web/pdfjs/cmaps/Adobe-CNS1-3.bcmap +0 -0
  52. package/dist/web/pdfjs/cmaps/Adobe-CNS1-4.bcmap +0 -0
  53. package/dist/web/pdfjs/cmaps/Adobe-CNS1-5.bcmap +0 -0
  54. package/dist/web/pdfjs/cmaps/Adobe-CNS1-6.bcmap +0 -0
  55. package/dist/web/pdfjs/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
  56. package/dist/web/pdfjs/cmaps/Adobe-GB1-0.bcmap +0 -0
  57. package/dist/web/pdfjs/cmaps/Adobe-GB1-1.bcmap +0 -0
  58. package/dist/web/pdfjs/cmaps/Adobe-GB1-2.bcmap +0 -0
  59. package/dist/web/pdfjs/cmaps/Adobe-GB1-3.bcmap +0 -0
  60. package/dist/web/pdfjs/cmaps/Adobe-GB1-4.bcmap +0 -0
  61. package/dist/web/pdfjs/cmaps/Adobe-GB1-5.bcmap +0 -0
  62. package/dist/web/pdfjs/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
  63. package/dist/web/pdfjs/cmaps/Adobe-Japan1-0.bcmap +0 -0
  64. package/dist/web/pdfjs/cmaps/Adobe-Japan1-1.bcmap +0 -0
  65. package/dist/web/pdfjs/cmaps/Adobe-Japan1-2.bcmap +0 -0
  66. package/dist/web/pdfjs/cmaps/Adobe-Japan1-3.bcmap +0 -0
  67. package/dist/web/pdfjs/cmaps/Adobe-Japan1-4.bcmap +0 -0
  68. package/dist/web/pdfjs/cmaps/Adobe-Japan1-5.bcmap +0 -0
  69. package/dist/web/pdfjs/cmaps/Adobe-Japan1-6.bcmap +0 -0
  70. package/dist/web/pdfjs/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
  71. package/dist/web/pdfjs/cmaps/Adobe-Korea1-0.bcmap +0 -0
  72. package/dist/web/pdfjs/cmaps/Adobe-Korea1-1.bcmap +0 -0
  73. package/dist/web/pdfjs/cmaps/Adobe-Korea1-2.bcmap +0 -0
  74. package/dist/web/pdfjs/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
  75. package/dist/web/pdfjs/cmaps/B5-H.bcmap +0 -0
  76. package/dist/web/pdfjs/cmaps/B5-V.bcmap +0 -0
  77. package/dist/web/pdfjs/cmaps/B5pc-H.bcmap +0 -0
  78. package/dist/web/pdfjs/cmaps/B5pc-V.bcmap +0 -0
  79. package/dist/web/pdfjs/cmaps/CNS-EUC-H.bcmap +0 -0
  80. package/dist/web/pdfjs/cmaps/CNS-EUC-V.bcmap +0 -0
  81. package/dist/web/pdfjs/cmaps/CNS1-H.bcmap +0 -0
  82. package/dist/web/pdfjs/cmaps/CNS1-V.bcmap +0 -0
  83. package/dist/web/pdfjs/cmaps/CNS2-H.bcmap +0 -0
  84. package/dist/web/pdfjs/cmaps/CNS2-V.bcmap +3 -0
  85. package/dist/web/pdfjs/cmaps/ETHK-B5-H.bcmap +0 -0
  86. package/dist/web/pdfjs/cmaps/ETHK-B5-V.bcmap +0 -0
  87. package/dist/web/pdfjs/cmaps/ETen-B5-H.bcmap +0 -0
  88. package/dist/web/pdfjs/cmaps/ETen-B5-V.bcmap +0 -0
  89. package/dist/web/pdfjs/cmaps/ETenms-B5-H.bcmap +3 -0
  90. package/dist/web/pdfjs/cmaps/ETenms-B5-V.bcmap +0 -0
  91. package/dist/web/pdfjs/cmaps/EUC-H.bcmap +0 -0
  92. package/dist/web/pdfjs/cmaps/EUC-V.bcmap +0 -0
  93. package/dist/web/pdfjs/cmaps/Ext-H.bcmap +0 -0
  94. package/dist/web/pdfjs/cmaps/Ext-RKSJ-H.bcmap +0 -0
  95. package/dist/web/pdfjs/cmaps/Ext-RKSJ-V.bcmap +0 -0
  96. package/dist/web/pdfjs/cmaps/Ext-V.bcmap +0 -0
  97. package/dist/web/pdfjs/cmaps/GB-EUC-H.bcmap +0 -0
  98. package/dist/web/pdfjs/cmaps/GB-EUC-V.bcmap +0 -0
  99. package/dist/web/pdfjs/cmaps/GB-H.bcmap +4 -0
  100. package/dist/web/pdfjs/cmaps/GB-V.bcmap +0 -0
  101. package/dist/web/pdfjs/cmaps/GBK-EUC-H.bcmap +0 -0
  102. package/dist/web/pdfjs/cmaps/GBK-EUC-V.bcmap +0 -0
  103. package/dist/web/pdfjs/cmaps/GBK2K-H.bcmap +0 -0
  104. package/dist/web/pdfjs/cmaps/GBK2K-V.bcmap +0 -0
  105. package/dist/web/pdfjs/cmaps/GBKp-EUC-H.bcmap +0 -0
  106. package/dist/web/pdfjs/cmaps/GBKp-EUC-V.bcmap +0 -0
  107. package/dist/web/pdfjs/cmaps/GBT-EUC-H.bcmap +0 -0
  108. package/dist/web/pdfjs/cmaps/GBT-EUC-V.bcmap +0 -0
  109. package/dist/web/pdfjs/cmaps/GBT-H.bcmap +0 -0
  110. package/dist/web/pdfjs/cmaps/GBT-V.bcmap +0 -0
  111. package/dist/web/pdfjs/cmaps/GBTpc-EUC-H.bcmap +0 -0
  112. package/dist/web/pdfjs/cmaps/GBTpc-EUC-V.bcmap +0 -0
  113. package/dist/web/pdfjs/cmaps/GBpc-EUC-H.bcmap +0 -0
  114. package/dist/web/pdfjs/cmaps/GBpc-EUC-V.bcmap +0 -0
  115. package/dist/web/pdfjs/cmaps/H.bcmap +0 -0
  116. package/dist/web/pdfjs/cmaps/HKdla-B5-H.bcmap +0 -0
  117. package/dist/web/pdfjs/cmaps/HKdla-B5-V.bcmap +0 -0
  118. package/dist/web/pdfjs/cmaps/HKdlb-B5-H.bcmap +0 -0
  119. package/dist/web/pdfjs/cmaps/HKdlb-B5-V.bcmap +0 -0
  120. package/dist/web/pdfjs/cmaps/HKgccs-B5-H.bcmap +0 -0
  121. package/dist/web/pdfjs/cmaps/HKgccs-B5-V.bcmap +0 -0
  122. package/dist/web/pdfjs/cmaps/HKm314-B5-H.bcmap +0 -0
  123. package/dist/web/pdfjs/cmaps/HKm314-B5-V.bcmap +0 -0
  124. package/dist/web/pdfjs/cmaps/HKm471-B5-H.bcmap +0 -0
  125. package/dist/web/pdfjs/cmaps/HKm471-B5-V.bcmap +0 -0
  126. package/dist/web/pdfjs/cmaps/HKscs-B5-H.bcmap +0 -0
  127. package/dist/web/pdfjs/cmaps/HKscs-B5-V.bcmap +0 -0
  128. package/dist/web/pdfjs/cmaps/Hankaku.bcmap +0 -0
  129. package/dist/web/pdfjs/cmaps/Hiragana.bcmap +0 -0
  130. package/dist/web/pdfjs/cmaps/KSC-EUC-H.bcmap +0 -0
  131. package/dist/web/pdfjs/cmaps/KSC-EUC-V.bcmap +0 -0
  132. package/dist/web/pdfjs/cmaps/KSC-H.bcmap +0 -0
  133. package/dist/web/pdfjs/cmaps/KSC-Johab-H.bcmap +0 -0
  134. package/dist/web/pdfjs/cmaps/KSC-Johab-V.bcmap +0 -0
  135. package/dist/web/pdfjs/cmaps/KSC-V.bcmap +0 -0
  136. package/dist/web/pdfjs/cmaps/KSCms-UHC-H.bcmap +0 -0
  137. package/dist/web/pdfjs/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
  138. package/dist/web/pdfjs/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
  139. package/dist/web/pdfjs/cmaps/KSCms-UHC-V.bcmap +0 -0
  140. package/dist/web/pdfjs/cmaps/KSCpc-EUC-H.bcmap +0 -0
  141. package/dist/web/pdfjs/cmaps/KSCpc-EUC-V.bcmap +0 -0
  142. package/dist/web/pdfjs/cmaps/Katakana.bcmap +0 -0
  143. package/dist/web/pdfjs/cmaps/LICENSE +36 -0
  144. package/dist/web/pdfjs/cmaps/NWP-H.bcmap +0 -0
  145. package/dist/web/pdfjs/cmaps/NWP-V.bcmap +0 -0
  146. package/dist/web/pdfjs/cmaps/RKSJ-H.bcmap +0 -0
  147. package/dist/web/pdfjs/cmaps/RKSJ-V.bcmap +0 -0
  148. package/dist/web/pdfjs/cmaps/Roman.bcmap +0 -0
  149. package/dist/web/pdfjs/cmaps/UniCNS-UCS2-H.bcmap +0 -0
  150. package/dist/web/pdfjs/cmaps/UniCNS-UCS2-V.bcmap +0 -0
  151. package/dist/web/pdfjs/cmaps/UniCNS-UTF16-H.bcmap +0 -0
  152. package/dist/web/pdfjs/cmaps/UniCNS-UTF16-V.bcmap +0 -0
  153. package/dist/web/pdfjs/cmaps/UniCNS-UTF32-H.bcmap +0 -0
  154. package/dist/web/pdfjs/cmaps/UniCNS-UTF32-V.bcmap +0 -0
  155. package/dist/web/pdfjs/cmaps/UniCNS-UTF8-H.bcmap +0 -0
  156. package/dist/web/pdfjs/cmaps/UniCNS-UTF8-V.bcmap +0 -0
  157. package/dist/web/pdfjs/cmaps/UniGB-UCS2-H.bcmap +0 -0
  158. package/dist/web/pdfjs/cmaps/UniGB-UCS2-V.bcmap +0 -0
  159. package/dist/web/pdfjs/cmaps/UniGB-UTF16-H.bcmap +0 -0
  160. package/dist/web/pdfjs/cmaps/UniGB-UTF16-V.bcmap +0 -0
  161. package/dist/web/pdfjs/cmaps/UniGB-UTF32-H.bcmap +0 -0
  162. package/dist/web/pdfjs/cmaps/UniGB-UTF32-V.bcmap +0 -0
  163. package/dist/web/pdfjs/cmaps/UniGB-UTF8-H.bcmap +0 -0
  164. package/dist/web/pdfjs/cmaps/UniGB-UTF8-V.bcmap +0 -0
  165. package/dist/web/pdfjs/cmaps/UniJIS-UCS2-H.bcmap +0 -0
  166. package/dist/web/pdfjs/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
  167. package/dist/web/pdfjs/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
  168. package/dist/web/pdfjs/cmaps/UniJIS-UCS2-V.bcmap +0 -0
  169. package/dist/web/pdfjs/cmaps/UniJIS-UTF16-H.bcmap +0 -0
  170. package/dist/web/pdfjs/cmaps/UniJIS-UTF16-V.bcmap +0 -0
  171. package/dist/web/pdfjs/cmaps/UniJIS-UTF32-H.bcmap +0 -0
  172. package/dist/web/pdfjs/cmaps/UniJIS-UTF32-V.bcmap +0 -0
  173. package/dist/web/pdfjs/cmaps/UniJIS-UTF8-H.bcmap +0 -0
  174. package/dist/web/pdfjs/cmaps/UniJIS-UTF8-V.bcmap +0 -0
  175. package/dist/web/pdfjs/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
  176. package/dist/web/pdfjs/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
  177. package/dist/web/pdfjs/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
  178. package/dist/web/pdfjs/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
  179. package/dist/web/pdfjs/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
  180. package/dist/web/pdfjs/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
  181. package/dist/web/pdfjs/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
  182. package/dist/web/pdfjs/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
  183. package/dist/web/pdfjs/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
  184. package/dist/web/pdfjs/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
  185. package/dist/web/pdfjs/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
  186. package/dist/web/pdfjs/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
  187. package/dist/web/pdfjs/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
  188. package/dist/web/pdfjs/cmaps/UniKS-UCS2-H.bcmap +0 -0
  189. package/dist/web/pdfjs/cmaps/UniKS-UCS2-V.bcmap +0 -0
  190. package/dist/web/pdfjs/cmaps/UniKS-UTF16-H.bcmap +0 -0
  191. package/dist/web/pdfjs/cmaps/UniKS-UTF16-V.bcmap +0 -0
  192. package/dist/web/pdfjs/cmaps/UniKS-UTF32-H.bcmap +0 -0
  193. package/dist/web/pdfjs/cmaps/UniKS-UTF32-V.bcmap +0 -0
  194. package/dist/web/pdfjs/cmaps/UniKS-UTF8-H.bcmap +0 -0
  195. package/dist/web/pdfjs/cmaps/UniKS-UTF8-V.bcmap +0 -0
  196. package/dist/web/pdfjs/cmaps/V.bcmap +0 -0
  197. package/dist/web/pdfjs/cmaps/WP-Symbol.bcmap +0 -0
  198. package/dist/web/pdfjs/iccs/CGATS001Compat-v2-micro.icc +0 -0
  199. package/dist/web/pdfjs/iccs/LICENSE +116 -0
  200. package/dist/web/pdfjs/standard_fonts/FoxitDingbats.pfb +0 -0
  201. package/dist/web/pdfjs/standard_fonts/FoxitFixed.pfb +0 -0
  202. package/dist/web/pdfjs/standard_fonts/FoxitFixedBold.pfb +0 -0
  203. package/dist/web/pdfjs/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
  204. package/dist/web/pdfjs/standard_fonts/FoxitFixedItalic.pfb +0 -0
  205. package/dist/web/pdfjs/standard_fonts/FoxitSerif.pfb +0 -0
  206. package/dist/web/pdfjs/standard_fonts/FoxitSerifBold.pfb +0 -0
  207. package/dist/web/pdfjs/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
  208. package/dist/web/pdfjs/standard_fonts/FoxitSerifItalic.pfb +0 -0
  209. package/dist/web/pdfjs/standard_fonts/FoxitSymbol.pfb +0 -0
  210. package/dist/web/pdfjs/standard_fonts/LICENSE_FOXIT +27 -0
  211. package/dist/web/pdfjs/standard_fonts/LICENSE_LIBERATION +363 -0
  212. package/dist/web/pdfjs/standard_fonts/LiberationSans-Bold.ttf +0 -0
  213. package/dist/web/pdfjs/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
  214. package/dist/web/pdfjs/standard_fonts/LiberationSans-Italic.ttf +0 -0
  215. package/dist/web/pdfjs/standard_fonts/LiberationSans-Regular.ttf +0 -0
  216. package/dist/web/pdfjs/wasm/LICENSE_JBIG2 +196 -0
  217. package/dist/web/pdfjs/wasm/LICENSE_OPENJPEG +39 -0
  218. package/dist/web/pdfjs/wasm/LICENSE_PDFJS_JBIG2 +13 -0
  219. package/dist/web/pdfjs/wasm/LICENSE_PDFJS_OPENJPEG +22 -0
  220. package/dist/web/pdfjs/wasm/LICENSE_PDFJS_QCMS +19 -0
  221. package/dist/web/pdfjs/wasm/LICENSE_QCMS +21 -0
  222. package/dist/web/pdfjs/wasm/jbig2.wasm +0 -0
  223. package/dist/web/pdfjs/wasm/jbig2_nowasm_fallback.js +15 -0
  224. package/dist/web/pdfjs/wasm/openjpeg.wasm +0 -0
  225. package/dist/web/pdfjs/wasm/openjpeg_nowasm_fallback.js +17 -0
  226. package/dist/web/pdfjs/wasm/qcms_bg.wasm +0 -0
  227. package/package.json +9 -3
  228. package/dist/web/assets/ChatPanel-Da3UDslj.js +0 -8
  229. package/dist/web/assets/FilePanel-ckHGSH_-.js +0 -1
  230. package/dist/web/assets/ViewersPanel-CcGCSDlE.js +0 -1
  231. package/dist/web/assets/index-BR7IITFz.js +0 -19
@@ -1 +1 @@
1
- import{r as l,j as e}from"./vendor-react-DQUAl2K8.js";import{S as d,B as a}from"./index-BR7IITFz.js";import{u as m}from"./use-file-download-DCt9_GXp.js";import{F as c}from"./vendor-icons-CWFUB81y.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";const p="_wrap_inn1j_1",j="_name_inn1j_12",n={wrap:p,name:j};function z({path:s,workspaceCwd:f}){const[i,t]=l.useState(!1),r=m(s,i),o=s.split("/").pop()||s;return e.jsxs("div",{className:n.wrap,children:[e.jsx(c,{size:32}),e.jsx("div",{className:n.name,children:o}),e.jsx("div",{children:"No preview available for this file type."}),r.isError&&e.jsxs("div",{children:["Error: ",r.error instanceof Error?r.error.message:"download failed"]}),i&&r.isLoading?e.jsx(d,{size:"sm"}):r.data?e.jsx("a",{href:r.data.objectUrl,download:r.data.fileName||o,children:e.jsx(a,{size:"sm",children:"Save file"})}):e.jsx(a,{size:"sm",onClick:()=>t(!0),children:"Download"})]})}export{z as BinaryFallbackViewer};
1
+ import{r as l,j as e}from"./vendor-react-DQUAl2K8.js";import{S as d,B as a}from"./index-DjUHduQf.js";import{u as m}from"./use-file-download-Bc8Kby2g.js";import{F as c}from"./vendor-icons-Dq3K7TC5.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";const p="_wrap_inn1j_1",j="_name_inn1j_12",n={wrap:p,name:j};function z({path:s,workspaceCwd:f}){const[i,t]=l.useState(!1),r=m(s,i),o=s.split("/").pop()||s;return e.jsxs("div",{className:n.wrap,children:[e.jsx(c,{size:32}),e.jsx("div",{className:n.name,children:o}),e.jsx("div",{children:"No preview available for this file type."}),r.isError&&e.jsxs("div",{children:["Error: ",r.error instanceof Error?r.error.message:"download failed"]}),i&&r.isLoading?e.jsx(d,{size:"sm"}):r.data?e.jsx("a",{href:r.data.objectUrl,download:r.data.fileName||o,children:e.jsx(a,{size:"sm",children:"Save file"})}):e.jsx(a,{size:"sm",onClick:()=>t(!0),children:"Download"})]})}export{z as BinaryFallbackViewer};
@@ -1 +1 @@
1
- ._shellRow_1kabp_2{display:flex;gap:var(--pi-spacing-12)}._rail_1kabp_10{width:20px;flex:none;display:flex;flex-direction:column;align-items:center}._disc_1kabp_18{width:18px;height:18px;flex:none;border-radius:var(--pi-radius-full);display:flex;align-items:center;justify-content:center}._connector_1kabp_28{flex:1;width:var(--pi-border-width-2);background:var(--pi-color-surface3)}._content_1kabp_2{flex:1;min-width:0;padding-bottom:var(--pi-spacing-8)}._metaLine_1kabp_40{display:flex;align-items:center;gap:var(--pi-spacing-7);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted);margin-bottom:var(--pi-spacing-3)}._metaTime_1kabp_52{opacity:.55;transition:opacity .12s ease}._shellRow_1kabp_2:hover ._metaTime_1kabp_52{opacity:1}._forkButton_1kabp_66{position:relative;opacity:0;transition:opacity .12s ease-out}._shellRow_1kabp_2:hover ._forkButton_1kabp_66,._shellRow_1kabp_2:focus-within ._forkButton_1kabp_66{opacity:1}@media(max-width:575px),(hover:none){._forkButton_1kabp_66{opacity:.55}._forkButton_1kabp_66:active{opacity:1}._forkButton_1kabp_66:after{content:"";position:absolute;inset:50% auto auto 50%;width:44px;height:44px;transform:translate(-50%,-50%)}}@media(prefers-reduced-motion:reduce){._forkButton_1kabp_66{transition:none}}@media(prefers-reduced-motion:reduce){._metaTime_1kabp_52{transition:none}}._askDisc_ffqf1_5{background:color-mix(in srgb,var(--pi-color-statusWarning) 20%,var(--pi-color-surface3))}._card_ffqf1_9{position:relative;overflow:hidden;border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);border:var(--pi-border-width-1) solid var(--pi-color-border);padding:var(--pi-spacing-8) var(--pi-spacing-12);display:flex;flex-direction:column;gap:var(--pi-spacing-8)}._card_ffqf1_9:focus-within{border-color:color-mix(in srgb,var(--pi-color-statusWarning) 45%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--pi-color-statusWarning) 18%,transparent)}._cardInert_ffqf1_41{opacity:.55;border-color:var(--pi-color-border)}._askDiscInert_ffqf1_47{background:var(--pi-color-surface3)}._reconnectingNote_ffqf1_52{display:flex;align-items:center;gap:var(--pi-spacing-7);margin:0;font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._reconnectingDot_ffqf1_61{width:8px;height:8px;border-radius:var(--pi-radius-full);background:var(--pi-color-foregroundMuted);flex:none}._deadlineBar_ffqf1_71{position:absolute;top:0;left:0;height:2px;background:var(--pi-color-statusWarning);transition:width 1s linear}._deadlineApproximate_ffqf1_80{opacity:.7}._header_ffqf1_85{display:flex;align-items:center;gap:var(--pi-spacing-7)}._askBadge_ffqf1_16{font-size:var(--pi-font-size-4xs);font-weight:700;letter-spacing:.06em;border-radius:var(--pi-radius-base);padding:0 var(--pi-spacing-5);color:var(--pi-color-statusWarning);background:color-mix(in srgb,var(--pi-color-statusWarning) 18%,transparent)}._methodName_ffqf1_101{font-family:var(--pi-font-mono);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._title_ffqf1_107{font-size:var(--pi-font-size-xs);line-height:1.5;color:var(--pi-color-foreground);white-space:pre-line;overflow-wrap:break-word}._titleEmphasised_ffqf1_115{font-weight:600}._message_ffqf1_119{font-size:var(--pi-font-size-xs);line-height:1.5;color:var(--pi-color-foregroundMuted);white-space:pre-line;overflow-wrap:break-word}._emptyOptionsNote_ffqf1_127{font-size:var(--pi-font-size-xs);font-style:italic;color:var(--pi-color-foregroundMuted)}._controls_ffqf1_133{display:flex;align-items:center;gap:var(--pi-spacing-8);flex-wrap:wrap;row-gap:var(--pi-spacing-8)}._controlsStack_ffqf1_141{flex-direction:column;align-items:stretch;flex-wrap:nowrap}._controlsScroll_ffqf1_148{max-height:208px;overflow-y:auto}._optionButton_ffqf1_153{text-align:left;justify-content:flex-start;white-space:normal;height:auto;min-height:28px}._field_ffqf1_161{flex:1;min-width:0;font-family:var(--pi-font-mono);font-size:var(--pi-font-size-code)}._editorField_ffqf1_168{font-family:var(--pi-font-mono);font-size:var(--pi-font-size-code);line-height:1.55;resize:none;overflow-y:auto}._rawPayload_ffqf1_176{margin:0;padding:var(--pi-spacing-6) var(--pi-spacing-8);border-radius:var(--pi-radius-base);background:var(--pi-color-surface0);color:var(--pi-color-foregroundMuted);font-family:var(--pi-font-mono);font-size:var(--pi-font-size-3xs);white-space:pre;overflow-x:auto}._resolvedCard_ffqf1_190{display:flex;align-items:center;gap:var(--pi-spacing-8);padding:var(--pi-spacing-8) var(--pi-spacing-12);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);border:var(--pi-border-width-1) solid var(--pi-color-border);font-size:var(--pi-font-size-3xs)}._askBadgeNeutral_ffqf1_204{color:var(--pi-color-foregroundMuted);background:var(--pi-color-surface3)}._resolvedMethodName_ffqf1_209{flex:1;font-family:var(--pi-font-mono);color:var(--pi-color-foregroundMuted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._outcome_ffqf1_218{display:flex;align-items:center;gap:var(--pi-spacing-3);flex:none;max-width:40%;color:var(--pi-color-foregroundMuted)}._outcomeSuccess_ffqf1_229{color:var(--pi-color-statusSuccess)}._outcomeText_ffqf1_233{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:reduce){._deadlineBar_ffqf1_71{transition:none}}._hint_ffqf1_255{display:flex;visibility:hidden;align-items:center;flex-wrap:wrap;gap:var(--pi-spacing-6);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._card_ffqf1_9:focus-within~._hint_ffqf1_255{visibility:visible}._hintKey_ffqf1_270{font-family:var(--pi-font-mono);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:4px;padding:0 4px;background:var(--pi-color-surface2)}._hintSep_ffqf1_278{opacity:.5}._recoveredChip_ffqf1_285{margin-left:auto;flex:none;font-size:var(--pi-font-size-4xs);color:var(--pi-color-foregroundMuted);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-base);padding:0 var(--pi-spacing-5)}._collapsedPendingCard_ffqf1_297{border-color:color-mix(in srgb,var(--pi-color-statusWarning) 45%,transparent)}._moreRow_ffqf1_303{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--pi-spacing-6) var(--pi-spacing-12);border:none;border-radius:var(--pi-radius-base);background:none;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-3xs);cursor:pointer}._moreRow_ffqf1_303:hover{color:var(--pi-color-foreground);background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._queuedBadge_12qdc_8{display:inline-flex;align-items:center;gap:var(--pi-spacing-2);padding:0 var(--pi-spacing-4);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-sm);font-size:var(--pi-font-size-4xs);font-weight:600;color:var(--pi-color-foregroundMuted)}._finalChip_12qdc_20{padding:0 var(--pi-spacing-4);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-sm);font-size:var(--pi-font-size-4xs);color:var(--pi-color-foregroundMuted)}._userDisc_12qdc_30{background:color-mix(in srgb,var(--pi-color-statusSuccess) 65%,var(--pi-color-surface3))}._userAligned_12qdc_34{display:flex;flex-direction:column;align-items:flex-end}._userPendingRow_12qdc_40{opacity:.6}._userBubble_12qdc_44{display:inline-block;max-width:100%;padding:var(--pi-spacing-6) var(--pi-spacing-10);border-radius:var(--pi-radius-lg);background:color-mix(in srgb,var(--pi-color-accent) 20%,var(--pi-color-surface1));border:var(--pi-border-width-1) solid color-mix(in srgb,var(--pi-color-accent) 45%,transparent);color:var(--pi-color-foreground);font-size:var(--pi-font-size-sm);line-height:1.5;white-space:pre-wrap;word-break:break-word}._userBubbleFailed_12qdc_58{background:color-mix(in srgb,var(--pi-color-destructive) 20%,var(--pi-color-surface1));border-color:color-mix(in srgb,var(--pi-color-destructive) 45%,transparent)}._userImages_12qdc_63{display:flex;gap:var(--pi-spacing-6);flex-wrap:wrap;margin-top:var(--pi-spacing-6)}._userImage_12qdc_63{max-width:200px;max-height:150px;border-radius:var(--pi-radius-base);display:block;object-fit:cover;cursor:pointer}._imageDialog_12qdc_79{max-width:90vw}._imageDialogPreview_12qdc_83{display:block;max-width:90vw;max-height:80vh;object-fit:contain}._assistantDisc_12qdc_93{background:var(--pi-color-accent)}._assistantBody_12qdc_97{padding:var(--pi-spacing-6) var(--pi-spacing-10);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface2);border:var(--pi-border-width-1) solid var(--pi-color-surface3);font-size:var(--pi-font-size-sm);line-height:1.5}._reasoningDisc_12qdc_108{background:var(--pi-color-surface3)}._reasoningBody_12qdc_112{color:color-mix(in srgb,var(--pi-color-foregroundMuted) 82%,transparent);font-style:italic;font-size:var(--pi-font-size-2xs);line-height:1.5}._toolDisc_12qdc_123{background:var(--pi-color-surface3)}._toolCardBody_12qdc_127{border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);overflow:hidden}._toolCardBodyRunning_12qdc_134{border-color:color-mix(in srgb,var(--pi-color-accent) 45%,transparent)}._toolCardBodyCompleted_12qdc_138{border-color:color-mix(in srgb,var(--pi-color-statusSuccess) 45%,transparent)}._toolCardBodyError_12qdc_142{border-color:color-mix(in srgb,var(--pi-color-destructive) 45%,transparent)}._toolHeader_12qdc_146{display:flex;align-items:center;gap:var(--pi-spacing-8);width:100%;padding:var(--pi-spacing-7) var(--pi-spacing-12);font-size:var(--pi-font-size-2xs);cursor:pointer;-webkit-user-select:none;user-select:none}._toolHeader_12qdc_146[aria-disabled=true]{cursor:default}._toolHeader_12qdc_146:hover:not([aria-disabled=true]){background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._toolHeader_12qdc_146._toolHeaderRunning_12qdc_172:hover:not([aria-disabled=true]){background:color-mix(in srgb,var(--pi-color-accent) 16%,transparent)}._toolHeaderRunning_12qdc_172{background:color-mix(in srgb,var(--pi-color-accent) 10%,transparent)}._toolChevron_12qdc_182{flex-shrink:0;color:var(--pi-color-foregroundMuted);transition:transform .12s ease}._toolChevronOpen_12qdc_188{transform:rotate(90deg)}._kindBadge_12qdc_192{flex-shrink:0;font-size:var(--pi-font-size-4xs);font-weight:var(--pi-font-weight-bold);letter-spacing:.06em;border-radius:var(--pi-radius-base);padding:0 var(--pi-spacing-5);color:var(--kindToken);background:color-mix(in srgb,var(--kindToken) 20%,transparent);border:var(--pi-border-width-1) solid color-mix(in srgb,var(--kindToken) 48%,transparent)}._toolPath_12qdc_204{flex:1;min-width:0;font-family:var(--pi-font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._toolTrailing_12qdc_213{flex-shrink:0;display:flex;align-items:center;gap:var(--pi-spacing-6);font-size:var(--pi-font-size-3xs)}._toolStatusRunning_12qdc_221{display:flex;align-items:center;gap:var(--pi-spacing-4);color:var(--pi-color-accentBright)}._toolStatusSuccess_12qdc_228{color:var(--pi-color-statusSuccess)}._toolStatusError_12qdc_232{color:var(--pi-color-destructive)}._toolStatusUnknown_12qdc_236{color:var(--pi-color-foregroundMuted)}._toolDiffAdded_12qdc_240{color:var(--pi-color-statusSuccess)}._toolDiffRemoved_12qdc_244{color:var(--pi-color-destructive)}._toolOpenButton_12qdc_248{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--pi-spacing-2);padding:0;border:none;background:none;color:var(--pi-color-foregroundMuted);font:inherit;font-size:var(--pi-font-size-3xs);cursor:pointer}._toolOpenButton_12qdc_248:hover{color:var(--pi-color-foreground)}._toolBody_12qdc_266{border-top:1px solid var(--pi-color-border);max-height:420px;overflow:auto}._toolCode_12qdc_272{margin:0;padding:var(--pi-spacing-8) var(--pi-spacing-12);font-family:var(--pi-font-mono);font-size:var(--pi-font-size-xs);line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--pi-color-foreground)}._toolOutputStrip_12qdc_283{border-top:var(--pi-border-width-1) solid color-mix(in srgb,var(--pi-color-border) 60%,transparent);padding:var(--pi-spacing-6) var(--pi-spacing-12);background:var(--pi-color-surface0);font-family:var(--pi-font-mono);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._toolDiffPreview_12qdc_293{border-top:var(--pi-border-width-1) solid color-mix(in srgb,var(--pi-color-border) 60%,transparent);padding:var(--pi-spacing-3) 0;font-family:var(--pi-font-mono);font-size:var(--pi-font-size-3xs)}._toolDiffPreviewLine_12qdc_301{padding:var(--pi-spacing-1) var(--pi-spacing-12)}._toolDiffPreviewAdd_12qdc_305{color:var(--pi-color-statusSuccess);background:color-mix(in srgb,var(--pi-color-statusSuccess) 9%,transparent)}._toolDiffPreviewDel_12qdc_310{color:var(--pi-color-destructive);background:color-mix(in srgb,var(--pi-color-destructive) 9%,transparent)}._toolDiffPreviewMore_12qdc_315{padding:var(--pi-spacing-1) var(--pi-spacing-12);color:var(--pi-color-foregroundMuted)}._errorDisc_12qdc_322{background:color-mix(in srgb,var(--pi-color-destructive) 25%,var(--pi-color-surface3))}._errorCard_12qdc_326{border:var(--pi-border-width-1) solid color-mix(in srgb,var(--pi-color-destructive) 45%,transparent);border-radius:var(--pi-radius-lg);background:color-mix(in srgb,var(--pi-color-destructive) 10%,var(--pi-color-surface1));padding:var(--pi-spacing-7) var(--pi-spacing-12);font-size:var(--pi-font-size-2xs)}._errorLead_12qdc_335{color:var(--pi-color-destructive);font-weight:var(--pi-font-weight-bold)}._systemRow_12qdc_342{text-align:center;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-3xs);padding:var(--pi-spacing-4) 0}._compactionRow_12qdc_351{color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-3xs);padding:var(--pi-spacing-6) 0}._compactionRowFailed_12qdc_357{color:var(--pi-color-statusDanger)}._compactionDivider_12qdc_361{display:flex;align-items:center;gap:var(--pi-spacing-8)}._compactionRule_12qdc_367{flex:1;height:var(--pi-border-width-1);background:var(--pi-color-border)}._compactionLabel_12qdc_373{display:inline-flex;align-items:center;gap:var(--pi-spacing-4);max-width:80%}._compactionText_12qdc_380{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._compactionToggle_12qdc_386{display:inline-flex;align-items:center;gap:var(--pi-spacing-4);min-width:0;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}._compactionToggle_12qdc_386:hover{color:var(--pi-color-foreground)}._compactionSummary_12qdc_403{margin-top:var(--pi-spacing-6);padding:var(--pi-spacing-7) var(--pi-spacing-12);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);color:var(--pi-color-foreground);font-size:var(--pi-font-size-2xs)}._root_1xg4h_6{position:relative;flex:1 1 auto;min-height:0;display:flex}._viewport_1xg4h_13{flex:1 1 auto;overflow-y:auto;min-height:0;padding:var(--pi-spacing-16) var(--pi-spacing-20)}._inner_1xg4h_20{position:relative;width:100%}._rowWrap_1xg4h_25{position:absolute;top:0;left:0;width:100%;display:flex;flex-direction:column;padding-bottom:var(--pi-spacing-4)}._empty_1xg4h_35{display:flex;align-items:center;justify-content:center;height:100%;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-sm)}._nudge_1xg4h_47{flex-direction:column;height:100%;width:100%;font-size:var(--pi-font-size-sm)}._jumpToLatest_1xg4h_56{position:absolute;right:var(--pi-spacing-20);bottom:var(--pi-spacing-16);width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-full);background:var(--pi-color-surface2);color:var(--pi-color-foreground);box-shadow:var(--pi-shadow-md);cursor:pointer;animation:_jumpToLatestIn_1xg4h_1 .12s ease-out}._jumpToLatest_1xg4h_56:hover{background:var(--pi-color-surface3)}._jumpToLatest_1xg4h_56:focus-visible{outline:2px solid var(--pi-color-accent);outline-offset:2px}@keyframes _jumpToLatestIn_1xg4h_1{0%{opacity:0;transform:translateY(var(--pi-spacing-4))}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){._jumpToLatest_1xg4h_56{animation:none}}._strip_nzfk5_4{display:flex;gap:var(--pi-spacing-6);flex-wrap:wrap;padding:var(--pi-spacing-6) 0 0}._thumb_nzfk5_11{position:relative;width:48px;height:48px;border-radius:var(--pi-radius-base);overflow:hidden;border:1px solid var(--pi-color-border);flex-shrink:0}._thumb_nzfk5_11 img{width:100%;height:100%;object-fit:cover;display:block}._remove_nzfk5_28{position:absolute;top:-2px;right:-2px;width:16px;height:16px;background:var(--pi-color-statusDanger);color:#fff;border:none;border-radius:50%;font-size:var(--pi-font-size-3xs);line-height:16px;text-align:center;cursor:pointer;padding:0}._picker_11hqs_4{display:flex;flex-direction:column;gap:var(--pi-spacing-4)}._search_11hqs_10{width:100%;box-sizing:border-box;padding:var(--pi-spacing-6) var(--pi-spacing-8);border-radius:var(--pi-radius-md);border:1px solid var(--pi-color-border);background:var(--pi-color-surface2);color:var(--pi-color-foreground);font-size:var(--pi-font-size-xs);outline:none}._search_11hqs_10::placeholder{color:var(--pi-color-foregroundMuted)}._search_11hqs_10:focus{border-color:var(--pi-color-accent)}._searchWrap_11hqs_28{position:relative}._searchWrap_11hqs_28 ._search_11hqs_10{padding-right:var(--pi-spacing-24)}._searchSpinner_11hqs_37{position:absolute;top:0;bottom:0;right:var(--pi-spacing-8);margin:auto 0}._list_11hqs_45{max-height:320px;overflow-y:auto}._item_11hqs_50{display:flex;align-items:center;gap:var(--pi-spacing-6);padding:var(--pi-spacing-6) var(--pi-spacing-8);border-radius:var(--pi-radius-base);font-size:var(--pi-font-size-sm);cursor:pointer;outline:none;scroll-margin-top:var(--pi-spacing-24)}._item_11hqs_50:hover,._item_11hqs_50[data-highlighted],._item_11hqs_50._itemActive_11hqs_67{background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._checkSlot_11hqs_71{width:var(--pi-icon-size-md);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--pi-color-foreground)}._label_11hqs_80{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._modelId_11hqs_86{color:var(--pi-color-foregroundMuted);margin-left:var(--pi-spacing-4);font-size:var(--pi-font-size-xs);white-space:nowrap}._state_11hqs_93{display:flex;align-items:center;justify-content:center;padding:var(--pi-spacing-12);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-xs)}._stateError_11hqs_102{padding:var(--pi-spacing-8);color:var(--pi-color-statusDanger);font-size:var(--pi-font-size-xs)}._commandContent_11hqs_112{max-width:420px}._commandList_11hqs_115{display:flex;flex-direction:column;gap:var(--pi-spacing-2)}._commandItem_11hqs_120{flex-direction:column;align-items:stretch;gap:var(--pi-spacing-4);padding:var(--pi-spacing-8) var(--pi-spacing-10)}._commandItem_11hqs_120:hover{background:color-mix(in srgb,var(--pi-color-foreground) 10%,transparent)}._commandItem_11hqs_120._itemActive_11hqs_67{background:var(--pi-color-surface0);box-shadow:inset 2px 0 0 var(--pi-color-accent);border-radius:var(--pi-radius-none)}._commandItemHeader_11hqs_152{display:flex;align-items:center;justify-content:space-between;gap:var(--pi-spacing-8);width:100%}._commandItemHeader_11hqs_152 ._label_11hqs_80{flex:1;min-width:0;font-size:var(--pi-font-size-sm);font-weight:600;color:var(--pi-color-foreground)}._commandKindBadge_11hqs_166{flex-shrink:0;display:inline-flex;align-items:center;padding:0 var(--pi-spacing-4);border-radius:var(--pi-radius-full);border:1px solid var(--pi-color-border);background:var(--pi-color-surface2);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-4xs);font-weight:600;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;line-height:1.5}._commandKindExtension_11hqs_185{background:color-mix(in srgb,var(--pi-color-accent) 18%,transparent);border-color:color-mix(in srgb,var(--pi-color-accent) 45%,transparent);color:var(--pi-color-accent)}._commandKindPrompt_11hqs_190{background:color-mix(in srgb,var(--pi-color-statusSuccess) 18%,transparent);border-color:color-mix(in srgb,var(--pi-color-statusSuccess) 45%,transparent);color:var(--pi-color-statusSuccess)}._commandKindSkill_11hqs_195{background:color-mix(in srgb,var(--pi-color-statusMerged) 18%,transparent);border-color:color-mix(in srgb,var(--pi-color-statusMerged) 45%,transparent);color:var(--pi-color-statusMerged)}._commandDescription_11hqs_200{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.4;font-size:var(--pi-font-size-xs);color:var(--pi-color-foregroundMuted)}._commandItemDisabled_11hqs_214{opacity:.45;cursor:default}._composer_ivj95_4{padding:var(--pi-spacing-8) var(--pi-spacing-16) var(--pi-spacing-12);border-top:1px solid var(--pi-color-border);background:var(--pi-color-surface1);flex-shrink:0}._card_ivj95_13{display:flex;flex-direction:column;gap:var(--pi-spacing-4);padding:var(--pi-spacing-6);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-xl);background:var(--pi-color-surface2);transition:border-color .12s ease}._card_ivj95_13._flash_ivj95_27{border-color:color-mix(in srgb,var(--pi-color-accentBright) 45%,var(--pi-color-border) 55%)}@media(prefers-reduced-motion:reduce){._card_ivj95_13._flash_ivj95_27{transition:none}}._note_ivj95_41{margin-top:var(--pi-spacing-4);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._inlineError_ivj95_48{margin-top:var(--pi-spacing-4);font-size:var(--pi-font-size-3xs);color:var(--pi-color-statusDanger)}._card_ivj95_13._compacting_ivj95_56,._card_ivj95_13._compacting_ivj95_56:has(._textarea_ivj95_57:focus){border-color:var(--pi-color-border);background:var(--pi-color-surface1)}._card_ivj95_13._compacting_ivj95_56 ._textarea_ivj95_57{color:var(--pi-color-foregroundMuted);cursor:progress}._compactStatus_ivj95_66{display:flex;align-items:center;gap:var(--pi-spacing-6);min-width:0;margin-top:var(--pi-spacing-4);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._compactStatusText_ivj95_75{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._compactCancel_ivj95_81{flex-shrink:0;padding:0;border:none;background:none;cursor:pointer;font:inherit;color:var(--pi-color-foreground);text-decoration:underline;text-underline-offset:2px}._compactCancel_ivj95_81:hover{color:var(--pi-color-statusDanger)}._card_ivj95_13:has(._textarea_ivj95_57:focus){border-color:var(--pi-color-accent)}._textarea_ivj95_57{resize:none;min-height:38px;max-height:160px;overflow-y:auto;font-size:var(--pi-font-size-md)}._card_ivj95_13 ._textarea_ivj95_57{background:transparent;border-color:transparent}._card_ivj95_13 ._textarea_ivj95_57:focus{border-color:transparent;outline:none}._textareaWrap_ivj95_122{position:relative;display:flex;min-width:0}._textareaWrap_ivj95_122 ._textarea_ivj95_57{position:relative}._highlightLayer_ivj95_110{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--pi-spacing-8) var(--pi-spacing-12);border:1px solid transparent;box-sizing:border-box;font-size:var(--pi-font-size-md);font-family:var(--pi-font-ui);line-height:normal;white-space:pre-wrap;overflow-wrap:break-word;overflow:hidden;color:transparent;pointer-events:none}._commandMark_ivj95_145{background:color-mix(in srgb,var(--pi-color-accent) 24%,transparent);color:transparent;border-radius:var(--pi-radius-base);box-shadow:0 0 0 1px color-mix(in srgb,var(--pi-color-accent) 55%,transparent),0 0 0 3px color-mix(in srgb,var(--pi-color-accent) 24%,transparent)}._hiddenFileInput_ivj95_170{display:none}._toolbar_ivj95_176{display:flex;align-items:center;gap:var(--pi-spacing-2);min-width:0}._toolbarRight_ivj95_183{display:flex;align-items:center;gap:var(--pi-spacing-6);margin-left:auto;min-width:0}._toolBtn_ivj95_191{flex-shrink:0}._card_ivj95_13 ._roundBtn_ivj95_197{border-radius:var(--pi-radius-full);flex-shrink:0}._modelBtn_ivj95_202{display:flex;align-items:center;gap:var(--pi-spacing-2);min-width:0;max-width:340px;padding:var(--pi-spacing-4) var(--pi-spacing-6);border:none;border-radius:var(--pi-radius-md);background:transparent;color:var(--pi-color-foregroundMuted);font-family:var(--pi-font-ui);font-size:var(--pi-font-size-sm);cursor:pointer}._modelBtn_ivj95_202:hover:not(:disabled),._modelBtn_ivj95_202[data-state=open]{background:var(--pi-color-surface3);color:var(--pi-color-foreground)}._modelBtn_ivj95_202:disabled{cursor:default;opacity:.6}._modelLabel_ivj95_232{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-color-foreground)}._modelId_ivj95_230{flex-shrink:8;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-xs)}._modelChevron_ivj95_250{flex-shrink:0;transition:transform .15s ease}._modelBtn_ivj95_202[data-state=open] ._modelChevron_ivj95_250{transform:rotate(180deg)}._track_oxvl6_2{position:absolute;inset-inline:0;top:0;z-index:1;height:3px;background:color-mix(in srgb,var(--pi-color-accent) 22%,transparent);overflow:hidden}._sweep_oxvl6_24{position:absolute;inset-block:0;width:38%;left:-38%;background:linear-gradient(90deg,transparent,var(--pi-color-accent) 35%,color-mix(in srgb,var(--pi-color-accent) 75%,var(--pi-color-accentBright)) 50%,var(--pi-color-accent) 65%,transparent);animation:_sweep_oxvl6_24 1.5s linear infinite}@keyframes _sweep_oxvl6_24{0%{left:-38%}to{left:100%}}@media(prefers-reduced-motion:reduce){._sweep_oxvl6_24{animation:none;width:100%;left:0;opacity:var(--pi-opacity-50)}}._visuallyHidden_oxvl6_64{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}._panel_1tq06_1{position:relative}._empty_1tq06_5{display:flex;align-items:center;justify-content:center;height:100%;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-sm)}
1
+ ._shellRow_1kabp_2{display:flex;gap:var(--pi-spacing-12)}._rail_1kabp_10{width:20px;flex:none;display:flex;flex-direction:column;align-items:center}._disc_1kabp_18{width:18px;height:18px;flex:none;border-radius:var(--pi-radius-full);display:flex;align-items:center;justify-content:center}._connector_1kabp_28{flex:1;width:var(--pi-border-width-2);background:var(--pi-color-surface3)}._content_1kabp_2{flex:1;min-width:0;padding-bottom:var(--pi-spacing-8)}._metaLine_1kabp_40{display:flex;align-items:center;gap:var(--pi-spacing-7);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted);margin-bottom:var(--pi-spacing-3)}._metaTime_1kabp_52{opacity:.55;transition:opacity .12s ease}._shellRow_1kabp_2:hover ._metaTime_1kabp_52{opacity:1}._forkButton_1kabp_66{position:relative;opacity:0;transition:opacity .12s ease-out}._shellRow_1kabp_2:hover ._forkButton_1kabp_66,._shellRow_1kabp_2:focus-within ._forkButton_1kabp_66{opacity:1}@media(max-width:575px),(hover:none){._forkButton_1kabp_66{opacity:.55}._forkButton_1kabp_66:active{opacity:1}._forkButton_1kabp_66:after{content:"";position:absolute;inset:50% auto auto 50%;width:44px;height:44px;transform:translate(-50%,-50%)}}@media(prefers-reduced-motion:reduce){._forkButton_1kabp_66{transition:none}}@media(prefers-reduced-motion:reduce){._metaTime_1kabp_52{transition:none}}._askDisc_ffqf1_5{background:color-mix(in srgb,var(--pi-color-statusWarning) 20%,var(--pi-color-surface3))}._card_ffqf1_9{position:relative;overflow:hidden;border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);border:var(--pi-border-width-1) solid var(--pi-color-border);padding:var(--pi-spacing-8) var(--pi-spacing-12);display:flex;flex-direction:column;gap:var(--pi-spacing-8)}._card_ffqf1_9:focus-within{border-color:color-mix(in srgb,var(--pi-color-statusWarning) 45%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--pi-color-statusWarning) 18%,transparent)}._cardInert_ffqf1_41{opacity:.55;border-color:var(--pi-color-border)}._askDiscInert_ffqf1_47{background:var(--pi-color-surface3)}._reconnectingNote_ffqf1_52{display:flex;align-items:center;gap:var(--pi-spacing-7);margin:0;font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._reconnectingDot_ffqf1_61{width:8px;height:8px;border-radius:var(--pi-radius-full);background:var(--pi-color-foregroundMuted);flex:none}._deadlineBar_ffqf1_71{position:absolute;top:0;left:0;height:2px;background:var(--pi-color-statusWarning);transition:width 1s linear}._deadlineApproximate_ffqf1_80{opacity:.7}._header_ffqf1_85{display:flex;align-items:center;gap:var(--pi-spacing-7)}._askBadge_ffqf1_16{font-size:var(--pi-font-size-4xs);font-weight:700;letter-spacing:.06em;border-radius:var(--pi-radius-base);padding:0 var(--pi-spacing-5);color:var(--pi-color-statusWarning);background:color-mix(in srgb,var(--pi-color-statusWarning) 18%,transparent)}._methodName_ffqf1_101{font-family:var(--pi-font-mono);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._title_ffqf1_107{font-size:var(--pi-font-size-xs);line-height:1.5;color:var(--pi-color-foreground);white-space:pre-line;overflow-wrap:break-word}._titleEmphasised_ffqf1_115{font-weight:600}._message_ffqf1_119{font-size:var(--pi-font-size-xs);line-height:1.5;color:var(--pi-color-foregroundMuted);white-space:pre-line;overflow-wrap:break-word}._emptyOptionsNote_ffqf1_127{font-size:var(--pi-font-size-xs);font-style:italic;color:var(--pi-color-foregroundMuted)}._controls_ffqf1_133{display:flex;align-items:center;gap:var(--pi-spacing-8);flex-wrap:wrap;row-gap:var(--pi-spacing-8)}._controlsStack_ffqf1_141{flex-direction:column;align-items:stretch;flex-wrap:nowrap}._controlsScroll_ffqf1_148{max-height:208px;overflow-y:auto}._optionButton_ffqf1_153{text-align:left;justify-content:flex-start;white-space:normal;height:auto;min-height:28px}._field_ffqf1_161{flex:1;min-width:0;font-family:var(--pi-font-mono);font-size:var(--pi-font-size-code)}._editorField_ffqf1_168{font-family:var(--pi-font-mono);font-size:var(--pi-font-size-code);line-height:1.55;resize:none;overflow-y:auto}._rawPayload_ffqf1_176{margin:0;padding:var(--pi-spacing-6) var(--pi-spacing-8);border-radius:var(--pi-radius-base);background:var(--pi-color-surface0);color:var(--pi-color-foregroundMuted);font-family:var(--pi-font-mono);font-size:var(--pi-font-size-3xs);white-space:pre;overflow-x:auto}._resolvedCard_ffqf1_190{display:flex;align-items:center;gap:var(--pi-spacing-8);padding:var(--pi-spacing-8) var(--pi-spacing-12);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);border:var(--pi-border-width-1) solid var(--pi-color-border);font-size:var(--pi-font-size-3xs)}._askBadgeNeutral_ffqf1_204{color:var(--pi-color-foregroundMuted);background:var(--pi-color-surface3)}._resolvedMethodName_ffqf1_209{flex:1;font-family:var(--pi-font-mono);color:var(--pi-color-foregroundMuted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._outcome_ffqf1_218{display:flex;align-items:center;gap:var(--pi-spacing-3);flex:none;max-width:40%;color:var(--pi-color-foregroundMuted)}._outcomeSuccess_ffqf1_229{color:var(--pi-color-statusSuccess)}._outcomeText_ffqf1_233{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:reduce){._deadlineBar_ffqf1_71{transition:none}}._hint_ffqf1_255{display:flex;visibility:hidden;align-items:center;flex-wrap:wrap;gap:var(--pi-spacing-6);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._card_ffqf1_9:focus-within~._hint_ffqf1_255{visibility:visible}._hintKey_ffqf1_270{font-family:var(--pi-font-mono);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:4px;padding:0 4px;background:var(--pi-color-surface2)}._hintSep_ffqf1_278{opacity:.5}._recoveredChip_ffqf1_285{margin-left:auto;flex:none;font-size:var(--pi-font-size-4xs);color:var(--pi-color-foregroundMuted);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-base);padding:0 var(--pi-spacing-5)}._collapsedPendingCard_ffqf1_297{border-color:color-mix(in srgb,var(--pi-color-statusWarning) 45%,transparent)}._moreRow_ffqf1_303{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--pi-spacing-6) var(--pi-spacing-12);border:none;border-radius:var(--pi-radius-base);background:none;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-3xs);cursor:pointer}._moreRow_ffqf1_303:hover{color:var(--pi-color-foreground);background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._queuedBadge_12qdc_8{display:inline-flex;align-items:center;gap:var(--pi-spacing-2);padding:0 var(--pi-spacing-4);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-sm);font-size:var(--pi-font-size-4xs);font-weight:600;color:var(--pi-color-foregroundMuted)}._finalChip_12qdc_20{padding:0 var(--pi-spacing-4);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-sm);font-size:var(--pi-font-size-4xs);color:var(--pi-color-foregroundMuted)}._userDisc_12qdc_30{background:color-mix(in srgb,var(--pi-color-statusSuccess) 65%,var(--pi-color-surface3))}._userAligned_12qdc_34{display:flex;flex-direction:column;align-items:flex-end}._userPendingRow_12qdc_40{opacity:.6}._userBubble_12qdc_44{display:inline-block;max-width:100%;padding:var(--pi-spacing-6) var(--pi-spacing-10);border-radius:var(--pi-radius-lg);background:color-mix(in srgb,var(--pi-color-accent) 20%,var(--pi-color-surface1));border:var(--pi-border-width-1) solid color-mix(in srgb,var(--pi-color-accent) 45%,transparent);color:var(--pi-color-foreground);font-size:var(--pi-font-size-sm);line-height:1.5;white-space:pre-wrap;word-break:break-word}._userBubbleFailed_12qdc_58{background:color-mix(in srgb,var(--pi-color-destructive) 20%,var(--pi-color-surface1));border-color:color-mix(in srgb,var(--pi-color-destructive) 45%,transparent)}._userImages_12qdc_63{display:flex;gap:var(--pi-spacing-6);flex-wrap:wrap;margin-top:var(--pi-spacing-6)}._userImage_12qdc_63{max-width:200px;max-height:150px;border-radius:var(--pi-radius-base);display:block;object-fit:cover;cursor:pointer}._imageDialog_12qdc_79{max-width:90vw}._imageDialogPreview_12qdc_83{display:block;max-width:90vw;max-height:80vh;object-fit:contain}._assistantDisc_12qdc_93{background:var(--pi-color-accent)}._assistantBody_12qdc_97{padding:var(--pi-spacing-6) var(--pi-spacing-10);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface2);border:var(--pi-border-width-1) solid var(--pi-color-surface3);font-size:var(--pi-font-size-sm);line-height:1.5}._reasoningDisc_12qdc_108{background:var(--pi-color-surface3)}._reasoningBody_12qdc_112{color:color-mix(in srgb,var(--pi-color-foregroundMuted) 82%,transparent);font-style:italic;font-size:var(--pi-font-size-2xs);line-height:1.5}._toolDisc_12qdc_123{background:var(--pi-color-surface3)}._toolCardBody_12qdc_127{border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);overflow:hidden}._toolCardBodyRunning_12qdc_134{border-color:color-mix(in srgb,var(--pi-color-accent) 45%,transparent)}._toolCardBodyCompleted_12qdc_138{border-color:color-mix(in srgb,var(--pi-color-statusSuccess) 45%,transparent)}._toolCardBodyError_12qdc_142{border-color:color-mix(in srgb,var(--pi-color-destructive) 45%,transparent)}._toolHeader_12qdc_146{display:flex;align-items:center;gap:var(--pi-spacing-8);width:100%;padding:var(--pi-spacing-7) var(--pi-spacing-12);font-size:var(--pi-font-size-2xs);cursor:pointer;-webkit-user-select:none;user-select:none}._toolHeader_12qdc_146[aria-disabled=true]{cursor:default}._toolHeader_12qdc_146:hover:not([aria-disabled=true]){background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._toolHeader_12qdc_146._toolHeaderRunning_12qdc_172:hover:not([aria-disabled=true]){background:color-mix(in srgb,var(--pi-color-accent) 16%,transparent)}._toolHeaderRunning_12qdc_172{background:color-mix(in srgb,var(--pi-color-accent) 10%,transparent)}._toolChevron_12qdc_182{flex-shrink:0;color:var(--pi-color-foregroundMuted);transition:transform .12s ease}._toolChevronOpen_12qdc_188{transform:rotate(90deg)}._kindBadge_12qdc_192{flex-shrink:0;font-size:var(--pi-font-size-4xs);font-weight:var(--pi-font-weight-bold);letter-spacing:.06em;border-radius:var(--pi-radius-base);padding:0 var(--pi-spacing-5);color:var(--kindToken);background:color-mix(in srgb,var(--kindToken) 20%,transparent);border:var(--pi-border-width-1) solid color-mix(in srgb,var(--kindToken) 48%,transparent)}._toolPath_12qdc_204{flex:1;min-width:0;font-family:var(--pi-font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._toolTrailing_12qdc_213{flex-shrink:0;display:flex;align-items:center;gap:var(--pi-spacing-6);font-size:var(--pi-font-size-3xs)}._toolStatusRunning_12qdc_221{display:flex;align-items:center;gap:var(--pi-spacing-4);color:var(--pi-color-accentBright)}._toolStatusSuccess_12qdc_228{color:var(--pi-color-statusSuccess)}._toolStatusError_12qdc_232{color:var(--pi-color-destructive)}._toolStatusUnknown_12qdc_236{color:var(--pi-color-foregroundMuted)}._toolDiffAdded_12qdc_240{color:var(--pi-color-statusSuccess)}._toolDiffRemoved_12qdc_244{color:var(--pi-color-destructive)}._toolOpenButton_12qdc_248{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--pi-spacing-2);padding:0;border:none;background:none;color:var(--pi-color-foregroundMuted);font:inherit;font-size:var(--pi-font-size-3xs);cursor:pointer}._toolOpenButton_12qdc_248:hover{color:var(--pi-color-foreground)}._toolBody_12qdc_266{border-top:1px solid var(--pi-color-border);max-height:420px;overflow:auto}._toolCode_12qdc_272{margin:0;padding:var(--pi-spacing-8) var(--pi-spacing-12);font-family:var(--pi-font-mono);font-size:var(--pi-font-size-xs);line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--pi-color-foreground)}._toolOutputStrip_12qdc_283{border-top:var(--pi-border-width-1) solid color-mix(in srgb,var(--pi-color-border) 60%,transparent);padding:var(--pi-spacing-6) var(--pi-spacing-12);background:var(--pi-color-surface0);font-family:var(--pi-font-mono);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._toolDiffPreview_12qdc_293{border-top:var(--pi-border-width-1) solid color-mix(in srgb,var(--pi-color-border) 60%,transparent);padding:var(--pi-spacing-3) 0;font-family:var(--pi-font-mono);font-size:var(--pi-font-size-3xs)}._toolDiffPreviewLine_12qdc_301{padding:var(--pi-spacing-1) var(--pi-spacing-12)}._toolDiffPreviewAdd_12qdc_305{color:var(--pi-color-statusSuccess);background:color-mix(in srgb,var(--pi-color-statusSuccess) 9%,transparent)}._toolDiffPreviewDel_12qdc_310{color:var(--pi-color-destructive);background:color-mix(in srgb,var(--pi-color-destructive) 9%,transparent)}._toolDiffPreviewMore_12qdc_315{padding:var(--pi-spacing-1) var(--pi-spacing-12);color:var(--pi-color-foregroundMuted)}._errorDisc_12qdc_322{background:color-mix(in srgb,var(--pi-color-destructive) 25%,var(--pi-color-surface3))}._errorCard_12qdc_326{border:var(--pi-border-width-1) solid color-mix(in srgb,var(--pi-color-destructive) 45%,transparent);border-radius:var(--pi-radius-lg);background:color-mix(in srgb,var(--pi-color-destructive) 10%,var(--pi-color-surface1));padding:var(--pi-spacing-7) var(--pi-spacing-12);font-size:var(--pi-font-size-2xs)}._errorLead_12qdc_335{color:var(--pi-color-destructive);font-weight:var(--pi-font-weight-bold)}._systemRow_12qdc_342{text-align:center;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-3xs);padding:var(--pi-spacing-4) 0}._compactionRow_12qdc_351{color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-3xs);padding:var(--pi-spacing-6) 0}._compactionRowFailed_12qdc_357{color:var(--pi-color-statusDanger)}._compactionDivider_12qdc_361{display:flex;align-items:center;gap:var(--pi-spacing-8)}._compactionRule_12qdc_367{flex:1;height:var(--pi-border-width-1);background:var(--pi-color-border)}._compactionLabel_12qdc_373{display:inline-flex;align-items:center;gap:var(--pi-spacing-4);max-width:80%}._compactionText_12qdc_380{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._compactionToggle_12qdc_386{display:inline-flex;align-items:center;gap:var(--pi-spacing-4);min-width:0;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}._compactionToggle_12qdc_386:hover{color:var(--pi-color-foreground)}._compactionSummary_12qdc_403{margin-top:var(--pi-spacing-6);padding:var(--pi-spacing-7) var(--pi-spacing-12);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);color:var(--pi-color-foreground);font-size:var(--pi-font-size-2xs)}._root_1xg4h_6{position:relative;flex:1 1 auto;min-height:0;display:flex}._viewport_1xg4h_13{flex:1 1 auto;overflow-y:auto;min-height:0;padding:var(--pi-spacing-16) var(--pi-spacing-20)}._inner_1xg4h_20{position:relative;width:100%}._rowWrap_1xg4h_25{position:absolute;top:0;left:0;width:100%;display:flex;flex-direction:column;padding-bottom:var(--pi-spacing-4)}._empty_1xg4h_35{display:flex;align-items:center;justify-content:center;height:100%;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-sm)}._nudge_1xg4h_47{flex-direction:column;height:100%;width:100%;font-size:var(--pi-font-size-sm)}._jumpToLatest_1xg4h_56{position:absolute;right:var(--pi-spacing-20);bottom:var(--pi-spacing-16);width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-full);background:var(--pi-color-surface2);color:var(--pi-color-foreground);box-shadow:var(--pi-shadow-md);cursor:pointer;animation:_jumpToLatestIn_1xg4h_1 .12s ease-out}._jumpToLatest_1xg4h_56:hover{background:var(--pi-color-surface3)}._jumpToLatest_1xg4h_56:focus-visible{outline:2px solid var(--pi-color-accent);outline-offset:2px}@keyframes _jumpToLatestIn_1xg4h_1{0%{opacity:0;transform:translateY(var(--pi-spacing-4))}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){._jumpToLatest_1xg4h_56{animation:none}}._strip_nzfk5_4{display:flex;gap:var(--pi-spacing-6);flex-wrap:wrap;padding:var(--pi-spacing-6) 0 0}._thumb_nzfk5_11{position:relative;width:48px;height:48px;border-radius:var(--pi-radius-base);overflow:hidden;border:1px solid var(--pi-color-border);flex-shrink:0}._thumb_nzfk5_11 img{width:100%;height:100%;object-fit:cover;display:block}._remove_nzfk5_28{position:absolute;top:-2px;right:-2px;width:16px;height:16px;background:var(--pi-color-statusDanger);color:#fff;border:none;border-radius:50%;font-size:var(--pi-font-size-3xs);line-height:16px;text-align:center;cursor:pointer;padding:0}._picker_11hqs_4{display:flex;flex-direction:column;gap:var(--pi-spacing-4)}._search_11hqs_10{width:100%;box-sizing:border-box;padding:var(--pi-spacing-6) var(--pi-spacing-8);border-radius:var(--pi-radius-md);border:1px solid var(--pi-color-border);background:var(--pi-color-surface2);color:var(--pi-color-foreground);font-size:var(--pi-font-size-xs);outline:none}._search_11hqs_10::placeholder{color:var(--pi-color-foregroundMuted)}._search_11hqs_10:focus{border-color:var(--pi-color-accent)}._searchWrap_11hqs_28{position:relative}._searchWrap_11hqs_28 ._search_11hqs_10{padding-right:var(--pi-spacing-24)}._searchSpinner_11hqs_37{position:absolute;top:0;bottom:0;right:var(--pi-spacing-8);margin:auto 0}._list_11hqs_45{max-height:320px;overflow-y:auto}._item_11hqs_50{display:flex;align-items:center;gap:var(--pi-spacing-6);padding:var(--pi-spacing-6) var(--pi-spacing-8);border-radius:var(--pi-radius-base);font-size:var(--pi-font-size-sm);cursor:pointer;outline:none;scroll-margin-top:var(--pi-spacing-24)}._item_11hqs_50:hover,._item_11hqs_50[data-highlighted],._item_11hqs_50._itemActive_11hqs_67{background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._checkSlot_11hqs_71{width:var(--pi-icon-size-md);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--pi-color-foreground)}._label_11hqs_80{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._modelId_11hqs_86{color:var(--pi-color-foregroundMuted);margin-left:var(--pi-spacing-4);font-size:var(--pi-font-size-xs);white-space:nowrap}._state_11hqs_93{display:flex;align-items:center;justify-content:center;padding:var(--pi-spacing-12);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-xs)}._stateError_11hqs_102{padding:var(--pi-spacing-8);color:var(--pi-color-statusDanger);font-size:var(--pi-font-size-xs)}._commandContent_11hqs_112{max-width:420px}._commandList_11hqs_115{display:flex;flex-direction:column;gap:var(--pi-spacing-2)}._commandItem_11hqs_120{flex-direction:column;align-items:stretch;gap:var(--pi-spacing-4);padding:var(--pi-spacing-8) var(--pi-spacing-10)}._commandItem_11hqs_120:hover{background:color-mix(in srgb,var(--pi-color-foreground) 10%,transparent)}._commandItem_11hqs_120._itemActive_11hqs_67{background:var(--pi-color-surface0);box-shadow:inset 2px 0 0 var(--pi-color-accent);border-radius:var(--pi-radius-none)}._commandItemHeader_11hqs_152{display:flex;align-items:center;justify-content:space-between;gap:var(--pi-spacing-8);width:100%}._commandItemHeader_11hqs_152 ._label_11hqs_80{flex:1;min-width:0;font-size:var(--pi-font-size-sm);font-weight:600;color:var(--pi-color-foreground)}._commandKindBadge_11hqs_166{flex-shrink:0;display:inline-flex;align-items:center;padding:0 var(--pi-spacing-4);border-radius:var(--pi-radius-full);border:1px solid var(--pi-color-border);background:var(--pi-color-surface2);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-4xs);font-weight:600;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;line-height:1.5}._commandKindExtension_11hqs_185{background:color-mix(in srgb,var(--pi-color-accent) 18%,transparent);border-color:color-mix(in srgb,var(--pi-color-accent) 45%,transparent);color:var(--pi-color-accent)}._commandKindPrompt_11hqs_190{background:color-mix(in srgb,var(--pi-color-statusSuccess) 18%,transparent);border-color:color-mix(in srgb,var(--pi-color-statusSuccess) 45%,transparent);color:var(--pi-color-statusSuccess)}._commandKindSkill_11hqs_195{background:color-mix(in srgb,var(--pi-color-statusMerged) 18%,transparent);border-color:color-mix(in srgb,var(--pi-color-statusMerged) 45%,transparent);color:var(--pi-color-statusMerged)}._commandDescription_11hqs_200{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.4;font-size:var(--pi-font-size-xs);color:var(--pi-color-foregroundMuted)}._commandItemDisabled_11hqs_214{opacity:.45;cursor:default}._composer_ivj95_4{padding:var(--pi-spacing-8) var(--pi-spacing-16) var(--pi-spacing-12);border-top:1px solid var(--pi-color-border);background:var(--pi-color-surface1);flex-shrink:0}._card_ivj95_13{display:flex;flex-direction:column;gap:var(--pi-spacing-4);padding:var(--pi-spacing-6);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-xl);background:var(--pi-color-surface2);transition:border-color .12s ease}._card_ivj95_13._flash_ivj95_27{border-color:color-mix(in srgb,var(--pi-color-accentBright) 45%,var(--pi-color-border) 55%)}@media(prefers-reduced-motion:reduce){._card_ivj95_13._flash_ivj95_27{transition:none}}._note_ivj95_41{margin-top:var(--pi-spacing-4);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._inlineError_ivj95_48{margin-top:var(--pi-spacing-4);font-size:var(--pi-font-size-3xs);color:var(--pi-color-statusDanger)}._card_ivj95_13._compacting_ivj95_56,._card_ivj95_13._compacting_ivj95_56:has(._textarea_ivj95_57:focus){border-color:var(--pi-color-border);background:var(--pi-color-surface1)}._card_ivj95_13._compacting_ivj95_56 ._textarea_ivj95_57{color:var(--pi-color-foregroundMuted);cursor:progress}._compactStatus_ivj95_66{display:flex;align-items:center;gap:var(--pi-spacing-6);min-width:0;margin-top:var(--pi-spacing-4);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._compactStatusText_ivj95_75{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._compactCancel_ivj95_81{flex-shrink:0;padding:0;border:none;background:none;cursor:pointer;font:inherit;color:var(--pi-color-foreground);text-decoration:underline;text-underline-offset:2px}._compactCancel_ivj95_81:hover{color:var(--pi-color-statusDanger)}._card_ivj95_13:has(._textarea_ivj95_57:focus){border-color:var(--pi-color-accent)}._textarea_ivj95_57{resize:none;min-height:38px;max-height:160px;overflow-y:auto;font-size:var(--pi-font-size-md)}._card_ivj95_13 ._textarea_ivj95_57{background:transparent;border-color:transparent}._card_ivj95_13 ._textarea_ivj95_57:focus{border-color:transparent;outline:none}._textareaWrap_ivj95_122{position:relative;display:flex;min-width:0}._textareaWrap_ivj95_122 ._textarea_ivj95_57{position:relative}._highlightLayer_ivj95_110{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--pi-spacing-8) var(--pi-spacing-12);border:1px solid transparent;box-sizing:border-box;font-size:var(--pi-font-size-md);font-family:var(--pi-font-ui);line-height:normal;white-space:pre-wrap;overflow-wrap:break-word;overflow:hidden;color:transparent;pointer-events:none}._commandMark_ivj95_145{background:color-mix(in srgb,var(--pi-color-accent) 24%,transparent);color:transparent;border-radius:var(--pi-radius-base);box-shadow:0 0 0 1px color-mix(in srgb,var(--pi-color-accent) 55%,transparent),0 0 0 3px color-mix(in srgb,var(--pi-color-accent) 24%,transparent)}._hiddenFileInput_ivj95_170{display:none}._toolbar_ivj95_176{display:flex;align-items:center;gap:var(--pi-spacing-2);min-width:0}._toolbarRight_ivj95_183{display:flex;align-items:center;gap:var(--pi-spacing-6);margin-left:auto;min-width:0}._toolBtn_ivj95_191{flex-shrink:0}._card_ivj95_13 ._roundBtn_ivj95_197{border-radius:var(--pi-radius-full);flex-shrink:0}._modelBtn_ivj95_202{display:flex;align-items:center;gap:var(--pi-spacing-2);min-width:0;max-width:340px;padding:var(--pi-spacing-4) var(--pi-spacing-6);border:none;border-radius:var(--pi-radius-md);background:transparent;color:var(--pi-color-foregroundMuted);font-family:var(--pi-font-ui);font-size:var(--pi-font-size-sm);cursor:pointer}._modelBtn_ivj95_202:hover:not(:disabled),._modelBtn_ivj95_202[data-state=open]{background:var(--pi-color-surface3);color:var(--pi-color-foreground)}._modelBtn_ivj95_202:disabled{cursor:default;opacity:.6}._modelLabel_ivj95_232{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-color-foreground)}._modelId_ivj95_230{flex-shrink:8;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-xs)}._modelChevron_ivj95_250{flex-shrink:0;transition:transform .15s ease}._modelBtn_ivj95_202[data-state=open] ._modelChevron_ivj95_250{transform:rotate(180deg)}._panel_3trtd_5{flex:0 0 auto;display:flex;flex-direction:column;min-height:0;max-height:40%;margin:var(--pi-spacing-4) var(--pi-spacing-12);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);overflow:hidden}._header_3trtd_18{display:flex;align-items:center;gap:var(--pi-spacing-8);width:100%;min-width:0;flex-shrink:0;padding:var(--pi-spacing-6) var(--pi-spacing-12);background:none;border:none;cursor:pointer;color:var(--pi-color-foreground);font-size:var(--pi-font-size-xs);text-align:left}._header_3trtd_18:focus-visible,._rowButton_3trtd_35:focus-visible{outline:var(--pi-border-width-1) solid var(--pi-color-accent);outline-offset:calc(var(--pi-border-width-1) * -1)}._chevron_3trtd_40{display:inline-flex;flex-shrink:0;transition:transform .12s ease}._chevronOpen_3trtd_46{transform:rotate(90deg)}._label_3trtd_50{font-weight:600;flex-shrink:0}._count_3trtd_55{color:var(--pi-color-foregroundMuted);flex-shrink:0}._summary_3trtd_60{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-color-foregroundMuted)}._body_3trtd_69{flex:1 1 auto;min-height:0;overflow-y:auto;margin:0;padding:0 0 var(--pi-spacing-6);list-style:none;border-top:var(--pi-border-width-1) solid var(--pi-color-border)}._row_3trtd_35{display:flex;flex-direction:column}._rowButton_3trtd_35,._rowStatic_3trtd_85{display:flex;align-items:flex-start;gap:var(--pi-spacing-8);width:100%;padding:var(--pi-spacing-3) var(--pi-spacing-12);background:none;border:none;color:var(--pi-color-foreground);font-size:var(--pi-font-size-xs);text-align:left}._rowButton_3trtd_35{cursor:pointer}._icon_3trtd_102{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--pi-spacing-16);height:var(--pi-spacing-16)}._iconInProgress_3trtd_111{color:var(--pi-color-accent)}._iconCompleted_3trtd_115{color:var(--pi-color-statusSuccess)}._iconPending_3trtd_119{color:var(--pi-color-foregroundMuted)}._text_3trtd_123{flex:1;min-width:0;overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}._textCompleted_3trtd_135{color:var(--pi-color-foregroundMuted);text-decoration:line-through}._id_3trtd_140{flex-shrink:0;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-2xs)}._blocked_3trtd_146{flex:0 1 auto;min-width:0;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-color-statusWarning);font-size:var(--pi-font-size-2xs)}._details_3trtd_157{margin:0;padding:0 var(--pi-spacing-12) var(--pi-spacing-4) var(--pi-spacing-32);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-2xs);white-space:pre-wrap;overflow-wrap:anywhere}._footer_3trtd_166{flex-shrink:0;padding:var(--pi-spacing-4) var(--pi-spacing-12);border-top:var(--pi-border-width-1) solid var(--pi-color-border);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-2xs)}@media(prefers-reduced-motion:reduce){._chevron_3trtd_40{transition:none}}._nested_3trtd_180{margin:0;padding:0 0 0 var(--pi-spacing-16);list-style:none}._track_oxvl6_2{position:absolute;inset-inline:0;top:0;z-index:1;height:3px;background:color-mix(in srgb,var(--pi-color-accent) 22%,transparent);overflow:hidden}._sweep_oxvl6_24{position:absolute;inset-block:0;width:38%;left:-38%;background:linear-gradient(90deg,transparent,var(--pi-color-accent) 35%,color-mix(in srgb,var(--pi-color-accent) 75%,var(--pi-color-accentBright)) 50%,var(--pi-color-accent) 65%,transparent);animation:_sweep_oxvl6_24 1.5s linear infinite}@keyframes _sweep_oxvl6_24{0%{left:-38%}to{left:100%}}@media(prefers-reduced-motion:reduce){._sweep_oxvl6_24{animation:none;width:100%;left:0;opacity:var(--pi-opacity-50)}}._visuallyHidden_oxvl6_64{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}._panel_1tq06_1{position:relative}._empty_1tq06_5{display:flex;align-items:center;justify-content:center;height:100%;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-sm)}
@@ -0,0 +1,9 @@
1
+ import{r as f,j as t}from"./vendor-react-DQUAl2K8.js";import{a as Wt,b as Ut,m as Gt,u as qe}from"./vendor-query-i7fr__Xm.js";import{M as Te,N as M,O as Vt,u as Z,Q as Xt,I as R,R as Yt,U as Jt,B as L,q as Qt,W as ct,S as ne,J as Zt,D as en,s as tn,X as lt,p as nn,n as sn,Y as on,Z as an,_ as rn,o as cn,$ as ln,E as dn,a0 as ve,r as Re,a1 as Ae,a2 as un,a3 as fe,h as mn,a4 as fn,a5 as xe,a6 as pn,a7 as hn,K as _n,a8 as gn,a9 as xn,aa as Ze,ab as vn,P as et}from"./index-DjUHduQf.js";import{L as jn,G as kn,S as bn,c as yn,P as Nn,E as Sn,d as dt,e as ke,f as pe,B as Cn,g as ut,C as he,A as wn,h as Dn,i as Tn,U as Bn,j as mt,k as En,l as qn,m as Rn,n as An,o as tt,p as On,N as In,q as Ln,r as Pn}from"./vendor-icons-Dq3K7TC5.js";import{u as Mn}from"./use-provider-auth-list-BDqjbQx-.js";import{N as T}from"./vendor-DaF96HbP.js";import{S as ft,M as Oe,r as Fn}from"./markdown-ZgA079Q9.js";import{D as $n,p as zn}from"./DiffView-D1TsZBGe.js";import{R as Ie,T as Le,I as pt}from"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";import"./vendor-highlight-Ddi_n-Jh.js";import"./vendor-markdown-DJUOT8ep.js";import"./href-resolution-DWAlGpSI.js";function ht(e,s){if(s.trim()==="")return e;const n=s.toLowerCase();return e.filter(o=>o.label.toLowerCase().includes(n)||o.description!==void 0&&o.description.toLowerCase().includes(n))}const Kn={shell:dt,read:Sn,edit:Nn,write:yn,search:bn,fetch:kn,task:jn};function Hn(e){return Kn[e.kind]??dt}function _t(e){switch(e.kind){case"read":case"write":case"edit":return e.path??null;default:return null}}function Wn(e){return e.kind==="write"||e.kind==="edit"||e.kind==="shell"}function Un(e){const s=[];if(e.kind==="edit"&&e.diff)s.push({kind:"diff",patch:e.diff});else{const n=Te(e);n&&s.push({kind:"code",text:n})}return e.output&&s.push({kind:"code",text:e.output}),s}const nt={shell:{label:"SHELL",token:"statusInfo"},read:{label:"READ",token:"statusInfo"},write:{label:"WRITE",token:"statusSuccess"},edit:{label:"EDIT",token:"statusWarning"},search:{label:"SEARCH",token:"statusInfo"},fetch:{label:"FETCH",token:"statusInfo"},task:{label:"TASK",token:"foregroundMuted"}};function Gn(e){return nt[e.kind]??nt.task}function Vn(e){if(!e)return{added:0,removed:0};let s=0,n=0;for(const o of e.split(`
2
+ `))o.startsWith("+++")||o.startsWith("---")||(o.startsWith("+")?s++:o.startsWith("-")&&n++);return{added:s,removed:n}}function Xn(e){return e?(e.endsWith(`
3
+ `)?e.slice(0,-1):e).split(`
4
+ `).length:0}const Yn=500;let Se;function Jn(e,s,n,o){clearTimeout(Se),Se=setTimeout(()=>{Se=void 0,e.invalidateQueries({queryKey:["file"]}),e.invalidateQueries({queryKey:["explorer"]}),s&&n&&s.connection.request("checkout_refresh_request",{cwd:n}).catch(()=>{})},Yn)}function Qn({sessionId:e,event:s,timestamp:n,client:o,queryClient:r}){const a=M.getState();switch(a.applyStreamEvent(e,s,n),s.kind){case"turn_started":a.setStatus(e,"running");break;case"turn_completed":a.setStatus(e,"idle");break;case"turn_failed":a.setStatus(e,"error");break;case"turn_canceled":a.setStatus(e,"idle");break;case"compaction":s.phase==="completed"&&s.estimatedTokensAfter!==void 0&&Vt(e,s.estimatedTokensAfter);break;case"tool_call":{if(s.status==="completed"&&Wn(s.tool)){const c=a.sessions[e],l=(c==null?void 0:c.cwd)||null;Jn(r,o,l,_t(s.tool))}break}}}function Zn(e){const s=Z(r=>r.client),n=M(r=>{var a;return((a=r.sessions[e])==null?void 0:a.agentId)??null}),o=Wt();f.useEffect(()=>!s||!n?void 0:s.agent(n).timeline.subscribe((a,c)=>{const l=typeof c.timestamp=="number"?new Date(c.timestamp).toISOString():c.timestamp;Qn({sessionId:e,event:a,timestamp:l,client:s,queryClient:o})}),[s,n,e,o])}const gt=64;function Ce(e){return e.clientHeight>0}function es(e,s,n,o=gt){switch(s.kind){case"scroll":return Ce(n)?n.scrollHeight-n.scrollTop-n.clientHeight<=o?{pinned:!0,stick:!1}:{pinned:s.gesture?!1:e,stick:!1}:{pinned:e,stick:!1};case"tail":return{pinned:e,stick:e&&Ce(n)};case"shown":return{pinned:e,stick:e};case"pin":return{pinned:!0,stick:Ce(n)}}}function ts(e){const s=e[e.length-1];return(s==null?void 0:s.kind)==="user"?s.id:null}const ns="_shellRow_1kabp_2",ss="_rail_1kabp_10",os="_disc_1kabp_18",as="_connector_1kabp_28",rs="_content_1kabp_2",is="_metaLine_1kabp_40",cs="_metaTime_1kabp_52",ls="_forkButton_1kabp_66",H={shellRow:ns,rail:ss,disc:os,connector:as,content:rs,metaLine:is,metaTime:cs,forkButton:ls};function G({disc:e,discClassName:s,connector:n,meta:o,metaTrailing:r,className:a,children:c}){return t.jsxs("div",{className:H.shellRow,children:[t.jsxs("div",{className:H.rail,children:[t.jsx("span",{className:T(H.disc,s),children:e}),n&&t.jsx("span",{className:H.connector})]}),t.jsxs("div",{className:T(H.content,a),children:[o&&t.jsxs("div",{className:H.metaLine,children:[o,r]}),c]})]})}function st(e){return typeof e=="number"?e:Date.parse(e)}function ds(e,s){const n=st(e.entry.createdAt),o=st(s.entry.createdAt);return n!==o?n-o:e.entry.requestId<s.entry.requestId?-1:e.entry.requestId>s.entry.requestId?1:0}function us(e,s){return[...e.map(o=>({kind:"pending",entry:o})),...s.map(o=>({kind:"resolved",entry:o}))].toSorted(ds)}function ms(e){return e.entry.requestId}function xt(e){return e.receivedAt===void 0}const fs=4;function ps(e,s){let n=0;const o=e.map(l=>l.kind!=="pending"?{item:l,collapsed:!1}:(n++,{item:l,collapsed:!s&&n>fs})),r=o.filter(l=>l.collapsed).length,a=o.findIndex(l=>l.collapsed),c=[];return o.forEach((l,m)=>{m===a&&c.push({kind:"more",count:r}),c.push({kind:"card",item:l.item,collapsed:l.collapsed})}),c}function hs(e,s){if(e.timeoutMs===void 0)return{show:!1,fraction:0,approximate:!1};const n=Xt(e,s)??0;return{show:!0,fraction:Math.max(0,Math.min(1,n/e.timeoutMs)),approximate:e.receivedAt===void 0}}function vt(e){return e==="editor"}const _s="Esc again to dismiss — the extension gets an empty answer";function gs(e,s){return s?{kind:"warning",text:_s}:{kind:"keys",segments:[{key:vt(e)?"⇧↵":"↵",label:"submit"},{key:"Esc",label:"dismiss"}]}}function xs(e){return e?{armed:!1,resolve:!0}:{armed:!0,resolve:!1}}const vs=5,js=40,ks=6;function bs(e){return{mode:e.length>=vs||e.some(n=>n.length>js)?"stack":"row",scrolls:e.length>ks}}function Be(e){const s=e.split(`
5
+ `),n=[];let o=!1;for(const r of s)if(r===""){if(o)continue;o=!0,n.push("")}else o=!1,n.push(r);return n}function ys(e,s){return{title:Be(e),...s!==void 0?{message:Be(s)}:{}}}const Ns="_askDisc_ffqf1_5",Ss="_card_ffqf1_9",Cs="_cardInert_ffqf1_41",ws="_askDiscInert_ffqf1_47",Ds="_reconnectingNote_ffqf1_52",Ts="_reconnectingDot_ffqf1_61",Bs="_deadlineBar_ffqf1_71",Es="_deadlineApproximate_ffqf1_80",qs="_header_ffqf1_85",Rs="_askBadge_ffqf1_16",As="_methodName_ffqf1_101",Os="_title_ffqf1_107",Is="_titleEmphasised_ffqf1_115",Ls="_message_ffqf1_119",Ps="_emptyOptionsNote_ffqf1_127",Ms="_controls_ffqf1_133",Fs="_controlsStack_ffqf1_141",$s="_controlsScroll_ffqf1_148",zs="_optionButton_ffqf1_153",Ks="_field_ffqf1_161",Hs="_editorField_ffqf1_168",Ws="_rawPayload_ffqf1_176",Us="_resolvedCard_ffqf1_190",Gs="_askBadgeNeutral_ffqf1_204",Vs="_resolvedMethodName_ffqf1_209",Xs="_outcome_ffqf1_218",Ys="_outcomeSuccess_ffqf1_229",Js="_outcomeText_ffqf1_233",Qs="_hint_ffqf1_255",Zs="_hintKey_ffqf1_270",eo="_hintSep_ffqf1_278",to="_recoveredChip_ffqf1_285",no="_collapsedPendingCard_ffqf1_297",so="_moreRow_ffqf1_303",_={askDisc:Ns,card:Ss,cardInert:Cs,askDiscInert:ws,reconnectingNote:Ds,reconnectingDot:Ts,deadlineBar:Bs,deadlineApproximate:Es,header:qs,askBadge:Rs,methodName:As,title:Os,titleEmphasised:Is,message:Ls,emptyOptionsNote:Ps,controls:Ms,controlsStack:Fs,controlsScroll:$s,optionButton:zs,field:Ks,editorField:Hs,rawPayload:Ws,resolvedCard:Us,askBadgeNeutral:Gs,resolvedMethodName:Vs,outcome:Xs,outcomeSuccess:Ys,outcomeText:Js,hint:Qs,hintKey:Zs,hintSep:eo,recoveredChip:to,collapsedPendingCard:no,moreRow:so},oo=250,ao=320;function se(e,s){const n=e[s];return typeof n=="string"?n:void 0}function ro(e,s){const n=e[s];return Array.isArray(n)?n.filter(o=>typeof o=="string"):[]}function io({item:e,connector:s,collapsed:n=!1,autoFocus:o=!1,sessionTitle:r}){return e.kind==="resolved"?t.jsx(uo,{entry:e.entry,connector:s}):n?t.jsx(co,{entry:e.entry,connector:s}):t.jsx(fo,{entry:e.entry,connector:s,autoFocus:o,sessionTitle:r})}function jt(){return t.jsx("span",{className:_.recoveredChip,children:"still waiting"})}function co({entry:e,connector:s}){return t.jsx(G,{disc:t.jsx(R,{icon:ke,size:"xs",color:"var(--pi-color-statusWarning)"}),discClassName:_.askDisc,connector:s,children:t.jsxs("div",{className:T(_.resolvedCard,_.collapsedPendingCard),children:[t.jsx("span",{className:_.askBadge,children:"ASK"}),t.jsx("span",{className:_.resolvedMethodName,children:e.method}),xt(e)&&t.jsx(jt,{})]})})}function lo({count:e,connector:s,onExpand:n}){return t.jsx(G,{disc:t.jsx(R,{icon:ke,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:_.askDiscInert,connector:s,children:t.jsxs("button",{type:"button",className:_.moreRow,onClick:n,children:[e," more waiting"]})})}function uo({entry:e,connector:s}){const n=Yt(e);return t.jsx(G,{disc:t.jsx(R,{icon:ke,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:_.askDiscInert,connector:s,children:t.jsxs("div",{className:_.resolvedCard,children:[t.jsx("span",{className:T(_.askBadge,_.askBadgeNeutral),children:"ASK"}),t.jsx("span",{className:_.resolvedMethodName,children:e.method}),t.jsxs("span",{className:T(_.outcome,n.tone==="success"&&_.outcomeSuccess),children:[n.glyph==="check"&&t.jsx(pe,{size:11,"aria-hidden":!0}),t.jsx("span",{className:T(n.truncate&&_.outcomeText),children:n.text})]})]})})}function ee(e,s){return e.answerable?e.submitting?s?{loading:!0,style:{opacity:1}}:{disabled:!0}:{}:{disabled:!0,style:{opacity:1}}}function mo({hint:e}){return e.kind==="warning"?t.jsx("p",{className:_.hint,children:e.text}):t.jsx("p",{className:_.hint,children:e.segments.map((s,n)=>t.jsxs(f.Fragment,{children:[n>0&&t.jsx("span",{className:_.hintSep,children:"·"}),t.jsx("span",{className:_.hintKey,children:s.key}),s.label]},s.label))})}function fo({entry:e,connector:s,autoFocus:n=!1,sessionTitle:o}){const[r,a]=f.useState(()=>Date.now()),c=hs(e,r),[l,m]=f.useState(!1),u=f.useRef(null),p=f.useRef(null),d=f.useRef(null);f.useEffect(()=>{if(!c.show)return;const y=setInterval(()=>a(Date.now()),oo);return()=>clearInterval(y)},[e.requestId,e.timeoutMs,c.show]),f.useEffect(()=>{var w,F;if(!n||!e.answerable)return;const y=document.activeElement;(y instanceof HTMLTextAreaElement||y instanceof HTMLInputElement)&&y.value.length>0&&!((w=u.current)!=null&&w.contains(y))||(F=p.current)==null||F.focus()},[n,e.answerable]);function x(y){var v,w;e.answerable&&(y.target.closest("button, input, textarea, a, select")||(v=u.current)!=null&&v.contains(document.activeElement)||(w=u.current)==null||w.focus())}function D(y){Jt(e.requestId,y)}function K(y){var w;if(y.key!=="Escape"||!e.answerable)return;y.preventDefault(),y.stopPropagation();const v=xs(l);if(m(v.armed),!v.resolve){(w=d.current)==null||w.focus();return}d.current?d.current.click():D({cancelled:!0})}function W(y){y.currentTarget.contains(y.relatedTarget)||m(!1)}return t.jsxs(G,{disc:t.jsx(R,{icon:ke,size:"xs",color:e.answerable?"var(--pi-color-statusWarning)":"var(--pi-color-foregroundMuted)"}),discClassName:e.answerable?_.askDisc:_.askDiscInert,connector:s,children:[t.jsxs("div",{ref:u,className:T(_.card,!e.answerable&&_.cardInert),role:"group","aria-label":`Question in ${o}`,tabIndex:-1,onKeyDown:K,onMouseDown:x,onBlur:W,children:[c.show&&t.jsx("div",{className:T(_.deadlineBar,c.approximate&&_.deadlineApproximate),style:{width:`${c.fraction*100}%`}}),t.jsxs("div",{className:_.header,children:[t.jsx("span",{className:T(_.askBadge,!e.answerable&&_.askBadgeNeutral),"aria-hidden":"true",children:"ASK"}),t.jsx("span",{className:_.methodName,children:e.method}),xt(e)&&t.jsx(jt,{})]}),t.jsx(po,{entry:e,onSubmit:D,primaryRef:p,dismissRef:d})]}),t.jsx(mo,{hint:gs(e.method,l)}),!e.answerable&&t.jsxs("p",{className:_.reconnectingNote,children:[t.jsx("span",{className:_.reconnectingDot}),"Reconnecting — you can answer again in a moment"]})]})}function po({entry:e,onSubmit:s,primaryRef:n,dismissRef:o}){const{method:r,payload:a}=e;return r==="select"?t.jsx(ho,{entry:e,payload:a,onSubmit:s,primaryRef:n,dismissRef:o}):r==="confirm"?t.jsx(_o,{entry:e,payload:a,onSubmit:s,primaryRef:n,dismissRef:o}):r==="input"?t.jsx(go,{entry:e,payload:a,onSubmit:s,primaryRef:n}):r==="editor"?t.jsx(xo,{entry:e,payload:a,onSubmit:s,primaryRef:n,dismissRef:o}):t.jsx(vo,{entry:e,method:r,payload:a,onSubmit:s,primaryRef:n,dismissRef:o})}function je({text:e}){return t.jsx("div",{className:_.title,children:Be(e).join(`
6
+ `)})}function ho({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=se(s,"title")??"",c=ro(s,"options"),[l,m]=f.useState(null);if(c.length===0){const p=ee(e,l===0);return t.jsxs(t.Fragment,{children:[t.jsx(je,{text:a}),t.jsx("p",{className:_.emptyOptionsNote,children:"The extension offered no options."}),t.jsx("div",{className:_.controls,children:t.jsx(L,{ref:d=>{o.current=d,r.current=d},size:"xs",variant:"secondary",onClick:()=>{m(0),n({cancelled:!0})},...p,children:"Cancel"})})]})}const u=bs(c);return t.jsxs(t.Fragment,{children:[t.jsx(je,{text:a}),t.jsx("div",{className:T(_.controls,u.mode==="stack"&&_.controlsStack,u.scrolls&&_.controlsScroll),children:c.map((p,d)=>t.jsx(L,{ref:d===0?x=>{o.current=x}:void 0,size:"xs",variant:"secondary",className:_.optionButton,onClick:()=>{m(d),n({value:p})},...ee(e,l===d),children:p},d))})]})}function _o({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=se(s,"title")??"",c=se(s,"message"),l=ys(a,c),[m,u]=f.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx("div",{className:T(_.title,l.message&&_.titleEmphasised),children:l.title.join(`
7
+ `)}),l.message&&t.jsx("div",{className:_.message,children:l.message.join(`
8
+ `)}),t.jsxs("div",{className:_.controls,children:[t.jsx(L,{ref:p=>{o.current=p},size:"xs",variant:"default",onClick:()=>{u("yes"),n({confirmed:!0})},...ee(e,m==="yes"),children:"Yes"}),t.jsx(L,{ref:p=>{r.current=p},size:"xs",variant:"secondary",onClick:()=>{u("no"),n({confirmed:!1})},...ee(e,m==="no"),children:"No"})]})]})}function go({entry:e,payload:s,onSubmit:n,primaryRef:o}){const r=se(s,"title")??"",a=se(s,"placeholder"),[c,l]=f.useState(""),m=ee(e,e.submitting===!0),u=m.disabled===!0||m.loading===!0;return t.jsxs(t.Fragment,{children:[t.jsx(je,{text:r}),t.jsxs("div",{className:_.controls,children:[t.jsx(Qt,{ref:p=>{o.current=p},className:_.field,value:c,placeholder:a,disabled:u,onChange:p=>l(p.target.value),onKeyDown:p=>{p.key!=="Enter"||u||(p.preventDefault(),p.stopPropagation(),n({value:c}))}}),t.jsx(L,{size:"xs",variant:"default",onClick:()=>n({value:c}),...m,children:"Submit"})]})]})}function xo({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=se(s,"title")??"",c=se(s,"prefill")??"",[l,m]=f.useState(c),[u,p]=f.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx(je,{text:a}),t.jsx(ct,{ref:d=>{o.current=d},className:_.editorField,rows:3,value:l,disabled:!e.answerable||e.submitting,onChange:d=>{m(d.target.value);const x=d.target;x.style.height="auto",x.style.height=`${Math.min(x.scrollHeight,ao)}px`},onKeyDown:d=>{d.key!=="Enter"||d.shiftKey!==vt(e.method)||(d.preventDefault(),d.stopPropagation(),p("submit"),n({value:l}))}}),t.jsxs("div",{className:_.controls,children:[t.jsx(L,{size:"xs",variant:"default",onClick:()=>{p("submit"),n({value:l})},...ee(e,u==="submit"),children:"Submit"}),t.jsx(L,{ref:d=>{r.current=d},size:"xs",variant:"secondary",onClick:()=>{p("cancel"),n({cancelled:!0})},...ee(e,u==="cancel"),children:"Cancel"})]})]})}function vo({entry:e,method:s,payload:n,onSubmit:o,primaryRef:r,dismissRef:a}){const c={method:s,...n},l=ee(e,e.submitting===!0);return t.jsxs(t.Fragment,{children:[t.jsx("p",{className:_.title,children:"This extension asked something this version of Pi-Studio can't display."}),t.jsx("pre",{className:_.rawPayload,children:JSON.stringify(c,null,2)}),t.jsx("div",{className:_.controls,children:t.jsx(L,{ref:m=>{r.current=m,a.current=m},size:"xs",variant:"secondary",onClick:()=>o({cancelled:!0}),...l,children:"Cancel"})})]})}function ot(e){if(e===void 0)return null;const s=typeof e=="number"?e:Date.parse(e);return Number.isNaN(s)?null:s}function jo(e,s,n,o){if(s.length===0)return e.map(n);const r=[];let a=0;const c=l=>{for(;a<e.length;){const m=e[a];if(m===void 0)break;if(l!==null){const u=ot(m.timestamp);if(u!==null&&u>l)break}r.push(n(m)),a++}};for(const l of s){if(l.kind==="more"){r.push(o(l));continue}c(ot(l.item.entry.createdAt)),r.push(o(l))}for(;a<e.length;a++){const l=e[a];l!==void 0&&r.push(n(l))}return r}function ko(e,s){return!e||s===void 0?!1:s.every(n=>n.configured===!1)}const bo=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function at(e){return String(e).padStart(2,"0")}function Pe(e){if(!e)return;const s=new Date(e);if(!Number.isNaN(s.getTime()))return`${bo[s.getMonth()]} ${s.getDate()}, ${at(s.getHours())}:${at(s.getMinutes())}`}const yo="_queuedBadge_12qdc_8",No="_finalChip_12qdc_20",So="_userDisc_12qdc_30",Co="_userAligned_12qdc_34",wo="_userPendingRow_12qdc_40",Do="_userBubble_12qdc_44",To="_userBubbleFailed_12qdc_58",Bo="_userImages_12qdc_63",Eo="_userImage_12qdc_63",qo="_imageDialog_12qdc_79",Ro="_imageDialogPreview_12qdc_83",Ao="_assistantDisc_12qdc_93",Oo="_assistantBody_12qdc_97",Io="_reasoningDisc_12qdc_108",Lo="_reasoningBody_12qdc_112",Po="_toolDisc_12qdc_123",Mo="_toolCardBody_12qdc_127",Fo="_toolCardBodyRunning_12qdc_134",$o="_toolCardBodyCompleted_12qdc_138",zo="_toolCardBodyError_12qdc_142",Ko="_toolHeader_12qdc_146",Ho="_toolHeaderRunning_12qdc_172",Wo="_toolChevron_12qdc_182",Uo="_toolChevronOpen_12qdc_188",Go="_kindBadge_12qdc_192",Vo="_toolPath_12qdc_204",Xo="_toolTrailing_12qdc_213",Yo="_toolStatusRunning_12qdc_221",Jo="_toolStatusSuccess_12qdc_228",Qo="_toolStatusError_12qdc_232",Zo="_toolStatusUnknown_12qdc_236",ea="_toolDiffAdded_12qdc_240",ta="_toolDiffRemoved_12qdc_244",na="_toolOpenButton_12qdc_248",sa="_toolBody_12qdc_266",oa="_toolCode_12qdc_272",aa="_toolOutputStrip_12qdc_283",ra="_toolDiffPreview_12qdc_293",ia="_toolDiffPreviewLine_12qdc_301",ca="_toolDiffPreviewAdd_12qdc_305",la="_toolDiffPreviewDel_12qdc_310",da="_toolDiffPreviewMore_12qdc_315",ua="_errorDisc_12qdc_322",ma="_errorCard_12qdc_326",fa="_errorLead_12qdc_335",pa="_systemRow_12qdc_342",ha="_compactionRow_12qdc_351",_a="_compactionRowFailed_12qdc_357",ga="_compactionDivider_12qdc_361",xa="_compactionRule_12qdc_367",va="_compactionLabel_12qdc_373",ja="_compactionText_12qdc_380",ka="_compactionToggle_12qdc_386",ba="_compactionSummary_12qdc_403",h={queuedBadge:yo,finalChip:No,userDisc:So,userAligned:Co,userPendingRow:wo,userBubble:Do,userBubbleFailed:To,userImages:Bo,userImage:Eo,imageDialog:qo,imageDialogPreview:Ro,assistantDisc:Ao,assistantBody:Oo,reasoningDisc:Io,reasoningBody:Lo,toolDisc:Po,toolCardBody:Mo,toolCardBodyRunning:Fo,toolCardBodyCompleted:$o,toolCardBodyError:zo,toolHeader:Ko,toolHeaderRunning:Ho,toolChevron:Wo,toolChevronOpen:Uo,kindBadge:Go,toolPath:Vo,toolTrailing:Xo,toolStatusRunning:Yo,toolStatusSuccess:Jo,toolStatusError:Qo,toolStatusUnknown:Zo,toolDiffAdded:ea,toolDiffRemoved:ta,toolOpenButton:na,toolBody:sa,toolCode:oa,toolOutputStrip:aa,toolDiffPreview:ra,toolDiffPreviewLine:ia,toolDiffPreviewAdd:ca,toolDiffPreviewDel:la,toolDiffPreviewMore:da,errorDisc:ua,errorCard:ma,errorLead:fa,systemRow:pa,compactionRow:ha,compactionRowFailed:_a,compactionDivider:ga,compactionRule:xa,compactionLabel:va,compactionText:ja,compactionToggle:ka,compactionSummary:ba};function ya({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null,connector:r}){const a=Pe(e.timestamp);return t.jsx(G,{disc:t.jsx(R,{icon:Cn,size:"xs",color:"var(--pi-color-accentForeground)"}),discClassName:h.assistantDisc,connector:r,meta:t.jsxs(t.Fragment,{children:["Assistant",a&&t.jsxs("span",{className:H.metaTime,children:[" · ",a]})]}),children:t.jsx("div",{className:h.assistantBody,children:e.streaming?t.jsx(ft,{text:e.text,assetBase:s,owningPaneId:n,workspaceCwd:o}):t.jsx(Oe,{text:e.text,assetBase:s,owningPaneId:n,workspaceCwd:o})})})}function Na({row:e,owningPaneId:s=null,workspaceCwd:n=null,connector:o}){const r=Pe(e.timestamp);return t.jsx(G,{disc:t.jsx(R,{icon:ut,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:h.reasoningDisc,connector:o,meta:t.jsxs(t.Fragment,{children:["Reasoning",r&&t.jsxs("span",{className:H.metaTime,children:[" · ",r]})]}),metaTrailing:!e.streaming&&t.jsx("span",{className:h.finalChip,children:"final"}),children:t.jsx("div",{className:h.reasoningBody,children:e.streaming?t.jsx(ft,{text:e.text,owningPaneId:s,workspaceCwd:n}):t.jsx(Oe,{text:e.text,owningPaneId:s,workspaceCwd:n})})})}function Sa(e){const s=zn(e).filter(o=>o.kind==="add"||o.kind==="del"),n=s[0];return n?{text:n.text,kind:n.kind,moreCount:s.length-1}:null}function Ca(e){return e.status==="completed"?t.jsx("span",{className:h.toolStatusSuccess,children:"✓ completed"}):e.status==="error"?t.jsx("span",{className:h.toolStatusError,children:e.statusText||"error"}):e.statusText&&e.statusText!=="running"?t.jsx("span",{className:h.toolStatusUnknown,children:e.statusText}):t.jsxs("span",{className:h.toolStatusRunning,children:[t.jsx(ne,{size:"xs",color:"var(--pi-color-accentBright)"}),"running"]})}function wa({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null,connector:r}){const[a,c]=f.useState(!1),l=Gn(e.tool),m=Un(e.tool),u=m.length>0,p=Xn(e.tool.output),d=e.tool.kind==="edit"||e.tool.kind==="write"?_t(e.tool):null,x=e.tool.kind==="edit"?Vn(e.tool.diff):null,D=e.tool.kind==="edit"&&e.tool.diff&&!a?Sa(e.tool.diff):null;function K(){u&&c(v=>!v)}function W(v){v.target===v.currentTarget&&(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),K())}function y(v){if(v.stopPropagation(),!d)return;const w=Fn(s,n,o);Zt(d,w.workspaceCwd,w.targetPaneId)}return t.jsx(G,{disc:t.jsx(R,{icon:Hn(e.tool),size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:h.toolDisc,connector:r,children:t.jsxs("div",{className:T(h.toolCardBody,e.status==="running"&&h.toolCardBodyRunning,e.status==="completed"&&h.toolCardBodyCompleted,e.status==="error"&&h.toolCardBodyError),children:[t.jsxs("div",{role:"button",tabIndex:u?0:-1,"aria-expanded":u?a:void 0,"aria-disabled":!u,className:T(h.toolHeader,e.status==="running"&&h.toolHeaderRunning),onClick:K,onKeyDown:W,children:[u&&t.jsx(he,{size:12,className:T(h.toolChevron,a&&h.toolChevronOpen)}),t.jsx("span",{className:h.kindBadge,style:{"--kindToken":`var(--pi-color-${l.token})`},children:l.label}),t.jsx("span",{className:h.toolPath,title:Te(e.tool),children:Te(e.tool)}),t.jsxs("span",{className:h.toolTrailing,children:[x&&(x.added>0||x.removed>0)&&t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:h.toolDiffAdded,children:["+",x.added]}),t.jsxs("span",{className:h.toolDiffRemoved,children:["−",x.removed]})]}),Ca(e),d&&t.jsxs("button",{type:"button",className:h.toolOpenButton,onClick:y,onKeyDown:v=>v.stopPropagation(),children:["Open",t.jsx(wn,{size:10})]})]})]}),p>0&&t.jsxs("div",{className:h.toolOutputStrip,children:["output · ",p," lines"]}),D&&t.jsxs("div",{className:h.toolDiffPreview,children:[t.jsx("div",{className:T(h.toolDiffPreviewLine,D.kind==="add"?h.toolDiffPreviewAdd:h.toolDiffPreviewDel),children:D.text}),D.moreCount>0&&t.jsxs("div",{className:h.toolDiffPreviewMore,children:["… ",D.moreCount," more lines"]})]}),a&&u&&t.jsx("div",{className:h.toolBody,children:m.map((v,w)=>v.kind==="diff"?t.jsx($n,{patch:v.patch},w):t.jsx("pre",{className:h.toolCode,children:v.text},w))})]})})}const Da="Fork from here",Ta="Fork conversation from this message";function Ba({row:e,connector:s,onFork:n}){const[o,r]=f.useState(null),a=Pe(e.timestamp);return t.jsxs(G,{disc:t.jsx(R,{icon:Bn,size:"xs",color:"var(--pi-color-successForeground)"}),discClassName:h.userDisc,connector:s,className:T(h.userAligned,e.pending&&h.userPendingRow),meta:t.jsxs(t.Fragment,{children:["You",a&&t.jsxs("span",{className:H.metaTime,children:[" · ",a]}),e.failed&&" · failed to send"]}),metaTrailing:t.jsxs(t.Fragment,{children:[e.queued&&!e.failed&&t.jsxs("span",{className:h.queuedBadge,children:[t.jsx(Dn,{size:9}),"queued"]}),n&&t.jsx(tn,{className:H.forkButton,hoverBase:"var(--pi-color-surface3)",title:Da,"aria-label":Ta,onClick:n,children:t.jsx(Tn,{size:13,strokeWidth:1.8,"aria-hidden":"true"})})]}),children:[t.jsx("span",{className:T(h.userBubble,e.failed&&h.userBubbleFailed),children:e.text}),e.images&&e.images.length>0&&t.jsx("div",{className:h.userImages,children:e.images.map((c,l)=>{const m=`data:${c.mimeType??"image/png"};base64,${c.data??""}`;return t.jsx("img",{className:h.userImage,src:m,alt:"",role:"button",tabIndex:0,onClick:()=>r(m),onKeyDown:u=>{(u.key==="Enter"||u.key===" ")&&r(m)}},l)})}),t.jsx(en,{open:o!==null,onOpenChange:c=>{c||r(null)},title:"Image",width:"auto",bare:!0,className:h.imageDialog,children:o&&t.jsx("img",{className:h.imageDialogPreview,src:o,alt:""})})]})}function Ea({row:e,connector:s}){return t.jsx(G,{disc:t.jsx(R,{icon:mt,size:"xs",color:"var(--pi-color-destructive)"}),discClassName:h.errorDisc,connector:s,children:t.jsxs("div",{className:h.errorCard,children:[t.jsx("span",{className:h.errorLead,children:"Error"})," · ",e.text]})})}function qa({row:e}){return t.jsx("div",{className:h.systemRow,children:e.text})}function Ra({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null}){const[r,a]=f.useState(!1),c=lt(e),l=e.phase==="completed"&&!!e.summary,m=t.jsx("span",{className:h.compactionText,children:c});return t.jsxs("div",{className:T(h.compactionRow,e.phase==="failed"&&h.compactionRowFailed),children:[t.jsxs("div",{className:h.compactionDivider,children:[t.jsx("span",{className:h.compactionRule,"aria-hidden":"true"}),t.jsxs("span",{className:h.compactionLabel,children:[e.phase==="started"&&t.jsx(ne,{size:"xs","aria-label":"Compacting context"}),e.phase==="failed"&&t.jsx(R,{icon:mt,size:"xs",color:"var(--pi-color-statusDanger)"}),l?t.jsxs("button",{type:"button",className:h.compactionToggle,"aria-expanded":r,onClick:()=>a(u=>!u),children:[t.jsx(he,{size:12,className:T(h.toolChevron,r&&h.toolChevronOpen)}),m]}):m]}),t.jsx("span",{className:h.compactionRule,"aria-hidden":"true"})]}),l&&r&&t.jsx("div",{className:h.compactionSummary,children:t.jsx(Oe,{text:e.summary,assetBase:s,owningPaneId:n,workspaceCwd:o})})]})}const Aa=500;function Oa(e,s){const n=f.useRef(!0),[o,r]=f.useState(!0),a=f.useRef(0),c=f.useCallback(u=>{const p=s.current,d=p?{scrollTop:p.scrollTop,scrollHeight:p.scrollHeight,clientHeight:p.clientHeight}:{scrollTop:0,scrollHeight:0,clientHeight:0},x=es(n.current,u,d);x.pinned!==n.current&&(n.current=x.pinned,r(x.pinned)),x.stick&&e.options.count>0&&e.scrollToEnd({behavior:"auto"})},[s,e]);f.useEffect(()=>{const u=s.current;if(!u)return;const p=()=>{a.current=performance.now()},d=()=>{c({kind:"scroll",gesture:performance.now()-a.current<Aa})};u.addEventListener("scroll",d,{passive:!0}),u.addEventListener("wheel",p,{passive:!0}),u.addEventListener("touchmove",p,{passive:!0}),u.addEventListener("pointerdown",p,{passive:!0}),u.addEventListener("keydown",p,{passive:!0});const x=new ResizeObserver(()=>{u.clientHeight>0&&c({kind:"shown"})});return x.observe(u),()=>{x.disconnect(),u.removeEventListener("scroll",d),u.removeEventListener("wheel",p),u.removeEventListener("touchmove",p),u.removeEventListener("pointerdown",p),u.removeEventListener("keydown",p)}},[c,s]);const l=f.useCallback(()=>c({kind:"tail"}),[c]),m=f.useCallback(()=>c({kind:"pin"}),[c]);return{pinned:o,followTail:l,pinToBottom:m}}const Ia="_root_1xg4h_6",La="_viewport_1xg4h_13",Pa="_inner_1xg4h_20",Ma="_rowWrap_1xg4h_25",Fa="_empty_1xg4h_35",$a="_nudge_1xg4h_47",za="_jumpToLatest_1xg4h_56",te={root:Ia,viewport:La,inner:Pa,rowWrap:Ma,empty:Fa,nudge:$a,jumpToLatest:za},Ka=160;function Ha(e){return e.kind==="ask"?`ask:${ms(e.item)}`:e.kind==="ask-more"?"ask-more":e.row.id}function Wa(e,s,n,o,r,a){switch(e.kind){case"user":{const c=a.ordinalByRowId.get(e.id),l=c!==void 0?()=>a.onForkFromRow(c):null;return t.jsx(Ba,{row:e,connector:!s,onFork:l})}case"assistant":return t.jsx(ya,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r,connector:!s});case"reasoning":return t.jsx(Na,{row:e,owningPaneId:o,workspaceCwd:r,connector:!s});case"tool":return t.jsx(wa,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r,connector:!s});case"error":return t.jsx(Ea,{row:e,connector:!s});case"system":return t.jsx(qa,{row:e});case"compaction":return t.jsx(Ra,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r})}}function Ua(e,s,n,o,r,a,c,l,m){return e.kind==="ask"?t.jsx(io,{item:e.item,collapsed:e.collapsed,connector:!s,autoFocus:e.item.kind==="pending"&&e.item.entry.requestId===c,sessionTitle:l}):e.kind==="ask-more"?t.jsx(lo,{count:e.count,connector:!s,onExpand:a}):Wa(e.row,s,n,o,r,m)}function Ga({session:e,owningPaneId:s,workspaceCwd:n}){var S,E;const o=e.timeline.rows,r=e.status==="running",a=nn(),c=sn(e.cwd,a),l=f.useRef(null),m=on(e),u=an(e.agentId??""),p=rn(e.agentId??""),[d,x]=f.useState(!1),D=M(N=>N.activeSessionId===e.id),K=cn(N=>{var B;return((B=N.layouts[n])==null?void 0:B.focusedPaneId)===s}),W=D&&K?((S=u[0])==null?void 0:S.requestId)??null:null,y=f.useMemo(()=>{const N=ps(us(u,p),d);return jo(o,N,B=>({kind:"row",row:B}),B=>B.kind==="more"?{kind:"ask-more",count:B.count}:{kind:"ask",item:B.item,collapsed:B.collapsed})},[o,u,p,d]),v=Z(N=>N.status==="open"),w=Z(N=>N.serverInfo),F=!!((E=w==null?void 0:w.features)!=null&&E.providerAuth),V=ln(N=>N.openSettings),{data:U}=Mn(o.length===0&&v&&F),X=ko(F,U),P=Ut({count:y.length,getScrollElement:()=>l.current,estimateSize:()=>Ka,overscan:8,getItemKey:N=>{const B=y[N];return B?Ha(B):N},measureElement:(N,B,J)=>{if(N.offsetParent!==null)return Gt(N,B,J);const ie=J.indexFromElement(N),_e=J.options.getItemKey(ie);return J.itemSizeCache.get(_e)??J.options.estimateSize(ie)},anchorTo:"end",scrollEndThreshold:gt}),{pinned:re,followTail:O,pinToBottom:Y}=Oa(P,l),$=ts(o);return f.useEffect(()=>{O()},[y.length,O]),f.useEffect(()=>{$!==null&&Y()},[$,Y]),t.jsxs("div",{className:te.root,children:[t.jsx("div",{className:te.viewport,ref:l,children:y.length===0?!r&&(X?t.jsxs(dn,{className:te.nudge,children:[t.jsx("span",{children:"No messages yet — connect a model provider to get started."}),t.jsx(L,{size:"xs",variant:"secondary",onClick:()=>V(),children:"Connect a model provider"})]}):t.jsx("div",{className:te.empty,children:"No messages yet — say something to start."})):t.jsx("div",{className:te.inner,style:{height:P.getTotalSize()},children:P.getVirtualItems().map(N=>{const B=y[N.index];return B?t.jsx("div",{ref:P.measureElement,"data-index":N.index,className:te.rowWrap,style:{transform:`translateY(${N.start}px)`},children:Ua(B,N.index===y.length-1,c,s,n,()=>x(!0),W,e.title,m)},N.key):null})})}),!re&&y.length>0&&t.jsx("button",{type:"button",className:te.jumpToLatest,onClick:Y,title:"Jump to latest","aria-label":"Jump to latest",children:t.jsx(En,{size:16,"aria-hidden":"true"})})]})}function Va(e,s=!0){const n=Z(o=>o.client);return qe({queryKey:Re.agentCommands(e),queryFn:async()=>{if(!n)throw new Error("not connected");const o=await ve(n,e),{commands:r}=await n.agent(o).listCommands();return r},enabled:!!n&&!!e&&s})}function kt(e,s,n=!0){const o=Z(r=>r.client);return qe({queryKey:Re.providerModels(e,s),queryFn:async()=>{if(!o)throw new Error("not connected");return(await o.providers.listModels(e,s?{agentId:s}:void 0)).models},enabled:!!o&&!!e&&n})}function Xa(e,s,n=!0){const o=Z(r=>r.client);return qe({queryKey:Re.thinkingLevels(e??"",s),queryFn:async()=>{if(!o||!e)throw new Error("not connected");return(await o.agent(e).listThinkingLevels()).levels},enabled:!!o&&!!e&&n,retry:!1})}const Ya="_strip_nzfk5_4",Ja="_thumb_nzfk5_11",Qa="_remove_nzfk5_28",we={strip:Ya,thumb:Ja,remove:Qa};function Za({images:e,onRemove:s}){return e.length===0?null:t.jsx("div",{className:we.strip,children:e.map((n,o)=>t.jsxs("div",{className:we.thumb,children:[t.jsx("img",{src:n.thumbUrl,alt:""}),t.jsx("button",{type:"button",className:we.remove,title:"Remove",onClick:()=>s(o),children:"×"})]},o))})}function er(e){const{promise:s,resolve:n,reject:o}=Promise.withResolvers(),r=new FileReader;return r.onload=()=>{const a=r.result;if(typeof a!="string"){o(new Error("Unexpected FileReader result"));return}const c=a.indexOf(","),l=c>=0?a.slice(c+1):a;n({mimeType:e.type,data:l,thumbUrl:a})},r.onerror=()=>o(r.error??new Error("Failed to read file")),r.readAsDataURL(e),s}function tr(e,s,n){return e?n:s}const Ee=[{name:"compact",description:"Manually compact the session context",source:"builtin"}];function bt(e){var o;const s=/^\/([^\s]+)(?:\s+([\s\S]*))?$/.exec(e.trim());if((s==null?void 0:s[1])!=="compact")return null;const n=(o=s[2])==null?void 0:o.trim();return{name:"compact",args:n||void 0}}function Me(e){if(!e.startsWith("/"))return null;const s=/^\/(\S*)/.exec(e),n=(s==null?void 0:s[1])??"",o=1+n.length,r=/\S/.test(e.slice(o));return{name:n,end:o,hasArgs:r}}function nr(e){return/^\/\S*$/.test(e)}function sr(e,s){let n=0;const o=Ee.map(a=>({value:a.name,label:`/${a.name}`,description:a.description,kind:a.source,disabled:s.builtinsDisabled===!0})),r=new Set(Ee.map(a=>a.name));for(const a of e)if(!r.has(a.name)){if(s.running&&a.source==="extension"){n+=1;continue}o.push({value:a.name,label:`/${a.name}`,description:a.description,kind:a.source})}return{options:o,hiddenExtensionCount:n}}function or(e,s,n){return n<=0?0:(e+s+n)%n}function ar(e,s){const n=Me(e);return n?n.hasArgs?`/${s}${e.slice(n.end)}`:`/${s} `:`/${s} ${e}`}function rr(e,s){const n=Me(e);return!n||!s.includes(n.name)?null:{end:n.end}}function yt({running:e,compacting:s,hasAgent:n}){return n&&!e&&!s}function ir(e,s){return!e.ok&&e.reason!=="canceled"&&s===""}function cr(e){const s=e.text.trim().length>0||e.hasImages;return!e.hasClient||!s||e.busy||e.compacting?!1:bt(e.text)!==null?yt(e):!0}const lr="_picker_11hqs_4",dr="_search_11hqs_10",ur="_searchWrap_11hqs_28",mr="_searchSpinner_11hqs_37",fr="_list_11hqs_45",pr="_item_11hqs_50",hr="_itemActive_11hqs_67",_r="_checkSlot_11hqs_71",gr="_label_11hqs_80",xr="_modelId_11hqs_86",vr="_state_11hqs_93",jr="_stateError_11hqs_102",kr="_commandContent_11hqs_112",br="_commandList_11hqs_115",yr="_commandItem_11hqs_120",Nr="_commandItemHeader_11hqs_152",Sr="_commandKindBadge_11hqs_166",Cr="_commandKindExtension_11hqs_185",wr="_commandKindPrompt_11hqs_190",Dr="_commandKindSkill_11hqs_195",Tr="_commandDescription_11hqs_200",Br="_commandItemDisabled_11hqs_214",j={picker:lr,search:dr,searchWrap:ur,searchSpinner:mr,list:fr,item:pr,itemActive:hr,checkSlot:_r,label:gr,modelId:xr,state:vr,stateError:jr,commandContent:kr,commandList:br,commandItem:yr,commandItemHeader:Nr,commandKindBadge:Sr,commandKindExtension:Cr,commandKindPrompt:wr,commandKindSkill:Dr,commandDescription:Tr,commandItemDisabled:Br},Er={onOpenAutoFocus:e=>e.preventDefault()};function qr(e){switch(e){case"extension":return j.commandKindExtension;case"prompt":return j.commandKindPrompt;case"skill":return j.commandKindSkill;default:return}}function Rr({open:e,onOpenChange:s,options:n,highlightedIndex:o,onSelect:r,isLoading:a,isError:c,errorMessage:l,hiddenExtensionCount:m,renderTrigger:u}){const p=f.useRef(null);return f.useEffect(()=>{var d,x;e&&((x=(d=p.current)==null?void 0:d.querySelector('[aria-selected="true"]'))==null||x.scrollIntoView({block:"nearest"}))},[e,o]),t.jsxs(Ie,{open:e,onOpenChange:s,modal:!1,children:[t.jsx(Le,{asChild:!0,children:u()}),t.jsxs(Ae,{className:T(j.picker,j.commandContent),side:"top",sideOffset:4,...Er,onCloseAutoFocus:d=>d.preventDefault(),children:[a&&t.jsx("div",{className:j.state,children:t.jsx(ne,{size:"sm"})}),!a&&c&&t.jsx("div",{className:j.stateError,children:l??"Failed to load commands"}),!a&&!c&&n.length===0&&t.jsx("div",{className:j.state,children:"No commands found"}),!a&&!c&&n.length>0&&t.jsx("div",{ref:p,className:T(j.list,j.commandList),children:n.map((d,x)=>t.jsxs("div",{role:"option","aria-selected":x===o,"aria-disabled":d.disabled||void 0,className:T(j.item,j.commandItem,x===o&&j.itemActive,d.disabled&&j.commandItemDisabled),title:d.description,onMouseDown:D=>{D.preventDefault(),d.disabled||r(d.value)},children:[t.jsxs("div",{className:j.commandItemHeader,children:[t.jsx("span",{className:j.label,children:d.label}),d.kind&&t.jsx("span",{className:T(j.commandKindBadge,qr(d.kind)),children:d.kind})]}),d.description&&t.jsx("div",{className:j.commandDescription,children:d.description})]},d.value))}),!a&&!c&&m>0&&t.jsxs("div",{className:j.state,children:[m," extension command(s) unavailable while the agent is running"]})]})]})}function Ar(e,s={}){const n=new Map;for(const m of e){const u=m.group??"",p=n.get(u);p?p.push(m):n.set(u,[m])}const o=n.get("");n.delete("");const r=[...n.keys()],{priorityGroup:a,ungroupedLabel:c}=s;a!==void 0&&n.has(a)&&(r.splice(r.indexOf(a),1),r.unshift(a));const l=r.map(m=>({key:m,label:m,options:n.get(m)??[]}));return o&&l.push({key:"",label:c,options:o}),l}function Or(e,s,n){if(!s)return e;const o=e.filter(a=>a.id===s),r=(n===void 0?void 0:o.find(a=>a.provider===n))??o[0];return r?[r,...e.filter(a=>a!==r)]:e}function Ir(e){const s=new Set;return e.filter(n=>{const o=`${n.provider??""}/${n.id}`;return s.has(o)?!1:(s.add(o),!0)})}function Lr({currentModel:e,currentModelProvider:s,provider:n,agentId:o,onSelect:r,renderTrigger:a}){const[c,l]=f.useState(!1),[m,u]=f.useState(""),p=f.useRef(null),d=f.useRef(null),{data:x,isLoading:D,isFetching:K,isError:W,error:y,refetch:v}=kt(n,o,c||e!==void 0),w=x??[];f.useEffect(()=>{c&&u("")},[c]),f.useEffect(()=>{c&&v({cancelRefetch:!1})},[c,v]);const V=Ir(Or(w,e,s)).map(S=>({value:S.id,label:S.label??S.id,description:S.id,group:S.provider})),U=V[0],X=(U==null?void 0:U.value)===e?U:void 0,P=Ar(ht(V,m),{priorityGroup:s,ungroupedLabel:"Other"}),re=P.length>1,O=y instanceof Error?y.message:"Failed to load models";function Y(S){var E;if(S.stopPropagation(),S.key==="Escape"&&l(!1),S.key==="ArrowDown"){const N=(E=d.current)==null?void 0:E.querySelector('[role="menuitem"]');N&&(S.preventDefault(),N.focus())}}const $={onOpenAutoFocus:S=>{var E;S.preventDefault(),(E=p.current)==null||E.focus()}};return t.jsxs(Ie,{open:c,onOpenChange:l,modal:!1,children:[t.jsx(Le,{asChild:!0,children:a(e,X==null?void 0:X.label)}),t.jsxs(Ae,{minWidth:240,align:"end",sideOffset:6,className:j.picker,...$,children:[t.jsxs("div",{className:j.searchWrap,children:[t.jsx("input",{ref:p,className:j.search,placeholder:"Search models…",value:m,onChange:S=>u(S.target.value),onKeyDown:Y}),K&&!D&&t.jsx(ne,{size:"xs",color:"var(--pi-color-foregroundMuted)",className:j.searchSpinner,"aria-label":"Refreshing models"})]}),D&&t.jsx("div",{className:j.state,children:t.jsx(ne,{size:"sm"})}),!D&&W&&x===void 0&&t.jsx("div",{className:j.stateError,children:O}),!D&&x!==void 0&&P.length===0&&t.jsx("div",{className:j.state,children:"No models found"}),!D&&x!==void 0&&P.length>0&&t.jsx("div",{ref:d,className:j.list,children:P.map(S=>t.jsx(un,{label:re?S.label:void 0,children:S.options.map(E=>t.jsxs(pt,{className:j.item,onSelect:()=>r(E.value,E.group),children:[t.jsx("span",{className:j.checkSlot,"aria-hidden":!0,children:E===X&&t.jsx(pe,{size:14})}),t.jsx("span",{className:j.label,children:E.label}),t.jsxs("span",{className:j.modelId,children:["(",E.value,")"]})]},`${E.group??""}/${E.value}`))},S.key))})]})]})}function Pr({currentLevel:e,levels:s,open:n,onOpenChange:o,onSelect:r,renderTrigger:a}){return t.jsxs(Ie,{open:n,onOpenChange:o,modal:!1,children:[t.jsx(Le,{asChild:!0,children:a(e)}),t.jsx(Ae,{minWidth:140,align:"end",side:"top",sideOffset:6,className:j.picker,children:s.length===0?t.jsx("div",{className:j.state,children:"Loading levels…"}):t.jsx("div",{className:j.list,children:s.map(c=>t.jsxs(pt,{className:j.item,onSelect:()=>r(c),children:[t.jsx("span",{className:j.checkSlot,"aria-hidden":!0,children:c===e&&t.jsx(pe,{size:14})}),t.jsx("span",{className:j.label,children:c})]},c))})})]})}const rt=["off","minimal","low","medium","high","xhigh","max"];function Mr(e,s){if(!e)return rt;const n=s==null?void 0:s.find(o=>o.id===e);return n!=null&&n.thinkingLevels&&n.thinkingLevels.length>0?n.thinkingLevels:rt}const Fr="_composer_ivj95_4",$r="_card_ivj95_13",zr="_flash_ivj95_27",Kr="_note_ivj95_41",Hr="_inlineError_ivj95_48",Wr="_compacting_ivj95_56",Ur="_textarea_ivj95_57",Gr="_compactStatus_ivj95_66",Vr="_compactStatusText_ivj95_75",Xr="_compactCancel_ivj95_81",Yr="_textareaWrap_ivj95_122",Jr="_highlightLayer_ivj95_110",Qr="_commandMark_ivj95_145",Zr="_hiddenFileInput_ivj95_170",ei="_toolbar_ivj95_176",ti="_toolbarRight_ivj95_183",ni="_toolBtn_ivj95_191",si="_roundBtn_ivj95_197",oi="_modelBtn_ivj95_202",ai="_modelLabel_ivj95_232",ri="_modelId_ivj95_230",ii="_modelChevron_ivj95_250",C={composer:Fr,card:$r,flash:zr,note:Kr,inlineError:Hr,compacting:Wr,textarea:Ur,compactStatus:Gr,compactStatusText:Vr,compactCancel:Xr,textareaWrap:Yr,highlightLayer:Jr,commandMark:Qr,hiddenFileInput:Zr,toolbar:ei,toolbarRight:ti,toolBtn:ni,roundBtn:si,modelBtn:oi,modelLabel:ai,modelId:ri,modelChevron:ii},ci=160;function ae(e){e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,ci)}px`}function li(e){return typeof e=="object"&&e!==null&&"ok"in e&&e.ok===!1}function di(){return typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function ui({sessionId:e}){var Je;const s=Z(i=>i.client),n=M(i=>i.sessions[e]),o=M(i=>i.addOptimisticUserMessage),r=M(i=>i.markUserMessageFailed),a=M(i=>i.setCwd),c=M(i=>i.setModel),l=M(i=>i.setThinkingLevel),m=Z(i=>i.serverInfo),[u,p]=f.useState(!1),d=!!((Je=m==null?void 0:m.features)!=null&&Je.thinkingLevels),{data:x}=Xa(n==null?void 0:n.agentId,n==null?void 0:n.model,u&&!!(n!=null&&n.agentId)&&((n==null?void 0:n.userMessageCount)??0)>0),{data:D}=kt("pi",n==null?void 0:n.agentId),K=Mr(n==null?void 0:n.model,D),W=x!==void 0&&x.length>0?x:K,y=d&&!(x!==void 0&&x.length===0),v=fe(i=>i.drafts[e]??""),w=fe(i=>i.setDraft),[F,V]=f.useState([]),[U,X]=f.useState(!1),[P,re]=f.useState(!1),O=f.useRef(null),Y=f.useRef(null),[$,S]=f.useState(!1),[E,N]=f.useState(0),B=mn(hn.chat(e)),J=fe(i=>i.pendingFeedback[e]),[ie,_e]=f.useState(null),[be,ce]=f.useState(null),[Dt,Fe]=f.useState(!1),le=f.useRef(null),de=f.useRef(null);f.useEffect(()=>{if(!B||J===void 0)return;const i=fe.getState().consumeFeedback(e);if(!i)return;_e(i.copy==="filled"?"Your message was filled in":"Your draft was replaced"),le.current!==null&&window.clearTimeout(le.current),le.current=window.setTimeout(()=>_e(null),4e3);const g=O.current;g&&g.setSelectionRange(g.value.length,g.value.length),i.flash&&(Fe(!0),de.current!==null&&window.clearTimeout(de.current),de.current=window.setTimeout(()=>Fe(!1),di()?1e3:400))},[B,J,e]),f.useEffect(()=>()=>{le.current!==null&&window.clearTimeout(le.current),de.current!==null&&window.clearTimeout(de.current)},[]);const z=(n==null?void 0:n.status)==="running",A=fn(e),ye=xe(i=>i.lastErrorBySession[e]),Tt=xe(i=>i.compactSession),Ne=xe(i=>i.cancelCompaction),Bt=xe(i=>i.clearError),$e=!!(n!=null&&n.agentId),Et=tr(z,U,P),ze=cr({hasClient:!!s,busy:Et,compacting:A,running:z,hasAgent:$e,text:v,hasImages:F.length>0}),{data:Ke=[],isLoading:qt,isError:Rt,error:He}=Va(e,$),{options:We,hiddenExtensionCount:At}=sr(Ke,{running:z,builtinsDisabled:!yt({running:z,compacting:A,hasAgent:$e})}),Ue=Me(v),ge=Ue?ht(We,Ue.name):We,Ot=[...Ee,...Ke].map(i=>i.name),oe=rr(v,Ot),Ge=A?pn((n==null?void 0:n.timeline.rows)??[]):void 0,It=Ge?lt(Ge):"Compacting context…";async function Ve(i){if(i.type.startsWith("image/"))try{const g=await er(i);V(k=>[...k,g])}catch{}}function Lt(i){for(const g of i.target.files??[])Ve(g);i.target.value=""}function Pt(i){if(!A){for(const g of i.clipboardData.items)if(g.type.startsWith("image/")){i.preventDefault();const k=g.getAsFile();k&&Ve(k)}}}function Mt(i){V(g=>g.filter((k,q)=>q!==i))}function Ft(i){const g=i.target.value;w(e,g),ae(i.target),ye&&Bt(e),be&&ce(null);const k=nr(g);k!==$&&S(k),k&&N(0)}function $t(i){if(A){i.key==="Escape"&&(i.preventDefault(),Ne(e));return}if(!$&&oe&&i.key==="Backspace"){const g=i.currentTarget,k=g.selectionStart;if(k!==null&&k===g.selectionEnd){const q=oe.end+(v[oe.end]===" "?1:0);if(k>0&&k<=q){i.preventDefault();const I=v.slice(q);w(e,I),g.setSelectionRange(0,0),ae(g);return}}}if($&&ge.length>0){if(i.key==="ArrowDown"||i.key==="ArrowUp"){i.preventDefault(),N(g=>or(g,i.key==="ArrowDown"?1:-1,ge.length));return}if(i.key==="Enter"&&!i.shiftKey||i.key==="Tab"){i.preventDefault();const g=ge[E];g&&!g.disabled&&Xe(g.value);return}}if($&&i.key==="Escape"){i.preventDefault(),S(!1);return}i.key==="Enter"&&!i.shiftKey&&(i.preventDefault(),Ye(z?"steer":"send"))}function Xe(i){const g=ar(v,i);w(e,g),S(!1),N(0);const k=O.current;k&&(k.focus(),k.setSelectionRange(g.length,g.length),ae(k))}async function Ye(i){if(!s||!n||(i==="steer"?P:U)||i==="steer"&&!n.agentId)return;const g=v.trim();if(!g&&F.length===0||!ze)return;const k=bt(g);if(k){S(!1),w(e,""),O.current&&ae(O.current);const Q=await Tt(e,k.args);ir(Q,fe.getState().drafts[e]??"")&&(w(e,v),O.current&&ae(O.current));return}w(e,""),S(!1),O.current&&ae(O.current);const q=F;V([]);const I=g||"Describe this image",ue=q.length>0?q.map(Q=>({mimeType:Q.mimeType,data:Q.data})):void 0,me=_n();o(e,me,I,ue,i==="steer");const Qe=i==="steer"?re:X;Qe(!0);try{if(i==="steer"){const Q=await s.agent(n.agentId).steer(I,{clientMessageId:me,images:ue});li(Q)&&r(e,me)}else{n.agentId||a(e,n.cwd||"~");const Q=await ve(s,e);await s.agent(Q).send(I,{clientMessageId:me,images:ue})}}catch{r(e,me)}finally{Qe(!1)}}function zt(){n!=null&&n.agentId&&(A?Ne(e):s==null||s.agent(n.agentId).interrupt())}function Kt(i,g){const k={model:n==null?void 0:n.model,provider:n==null?void 0:n.modelProvider};c(e,i,g),ce(null),!(!s||!g)&&(async()=>{const q=await ve(s,e);await s.agent(q).setModel(g,i)})().catch(q=>{const I=M.getState().sessions[e];(I==null?void 0:I.model)===i&&I.modelProvider===g&&c(e,k.model,k.provider);const ue=q instanceof Error?q.message:String(q);ce(`Couldn't switch model: ${ue}`)})}function Ht(i){const g=n==null?void 0:n.thinkingLevel;l(e,i),ce(null),s&&(async()=>{const k=await ve(s,e),q=await s.agent(k).setThinking(i);l(e,q.level)})().catch(k=>{var I;((I=M.getState().sessions[e])==null?void 0:I.thinkingLevel)===i&&l(e,g);const q=k instanceof Error?k.message:String(k);ce(`Couldn't set thinking level: ${q}`)})}return t.jsxs("div",{className:C.composer,children:[t.jsxs("div",{className:T(C.card,Dt&&C.flash,A&&C.compacting),children:[t.jsxs("div",{className:C.textareaWrap,children:[t.jsx("div",{className:C.highlightLayer,"aria-hidden":!0,children:oe?t.jsxs(t.Fragment,{children:[t.jsx("mark",{className:C.commandMark,children:v.slice(0,oe.end)}),v.slice(oe.end)]}):v}),t.jsx(ct,{ref:O,className:C.textarea,rows:1,value:v,readOnly:A,placeholder:A?"Compacting context… esc cancel":z?"Steer the running turn… ⏎ steer · ⇧⏎ newline":"Ask anything… ⏎ send · ⇧⏎ newline · / commands",onChange:Ft,onKeyDown:$t,onPaste:Pt,"data-session-id":e})]}),t.jsx(Za,{images:F,onRemove:Mt}),t.jsxs("div",{className:C.toolbar,children:[t.jsx(L,{className:C.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,title:"Attach image","aria-label":"Attach image",disabled:A,onClick:()=>{var i;return(i=Y.current)==null?void 0:i.click()},children:t.jsx(qn,{size:16})}),t.jsx(Rr,{open:$&&!A,onOpenChange:S,options:ge,highlightedIndex:E,onSelect:Xe,isLoading:qt,isError:Rt,errorMessage:He instanceof Error?He.message:void 0,hiddenExtensionCount:At,renderTrigger:()=>t.jsx(L,{className:C.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,disabled:A,title:"Slash commands","aria-label":"Slash commands",children:t.jsx(Rn,{size:16})})}),t.jsxs("div",{className:C.toolbarRight,children:[t.jsx(Lr,{currentModel:n==null?void 0:n.model,currentModelProvider:n==null?void 0:n.modelProvider,provider:"pi",agentId:n==null?void 0:n.agentId,onSelect:Kt,renderTrigger:(i,g)=>{const k=g!==void 0&&g!==i;return t.jsxs("button",{type:"button",className:C.modelBtn,disabled:!s,title:i?`Model: ${g??i}${k?` (${i})`:""}`:"Select model",children:[t.jsx(An,{size:14,"aria-hidden":"true"}),t.jsx("span",{className:C.modelLabel,children:g??i??"Model"}),k&&t.jsxs("span",{className:C.modelId,children:["(",i,")"]}),t.jsx(tt,{size:13,className:C.modelChevron,"aria-hidden":"true"})]})}}),y&&t.jsx(Pr,{currentLevel:n==null?void 0:n.thinkingLevel,levels:W,open:u,onOpenChange:p,onSelect:Ht,renderTrigger:i=>t.jsxs("button",{type:"button",className:C.modelBtn,disabled:!s,title:i?`Thinking: ${i}`:"Thinking level",children:[t.jsx(ut,{size:14,"aria-hidden":"true"}),t.jsx("span",{className:C.modelLabel,children:i??"Thinking"}),t.jsx(tt,{size:13,className:C.modelChevron,"aria-hidden":"true"})]})}),(z||A)&&t.jsx(L,{className:C.roundBtn,variant:"destructive",size:"sm",iconOnly:!0,title:A?"Cancel the compaction":"Stop the running turn","aria-label":"Stop",onClick:zt,children:t.jsx(On,{size:14})}),t.jsx(L,{className:C.roundBtn,size:"sm",iconOnly:!0,disabled:!ze,title:z?"Steer the running turn":"Send","aria-label":z?"Steer":"Send",onClick:()=>void Ye(z?"steer":"send"),children:z?t.jsx(In,{size:16}):t.jsx(Ln,{size:18})})]})]})]}),t.jsx("div",{role:"status",children:A&&t.jsxs("div",{className:C.compactStatus,children:[t.jsx(ne,{size:"xs","aria-label":"Compacting"}),t.jsx("span",{className:C.compactStatusText,children:It}),t.jsx("button",{type:"button",className:C.compactCancel,title:"Cancel the compaction (Esc)",onClick:()=>void Ne(e),children:"Cancel"})]})}),ie!==null&&t.jsx("div",{className:C.note,children:ie}),ye&&t.jsx("div",{role:"alert",className:C.inlineError,children:ye}),be&&t.jsx("div",{role:"alert",className:C.inlineError,children:be}),t.jsx("input",{ref:Y,className:C.hiddenFileInput,type:"file",accept:"image/*",multiple:!0,onChange:Lt})]})}const mi=5;function Nt(e){return e.toSorted((s,n)=>s.id-n.id)}function fi(e){return{done:e.filter(s=>s.status==="completed").length,total:e.length}}function St(e){return Nt(e).find(s=>s.status==="in_progress")}function Ct(e){return e.status==="in_progress"&&e.activeForm?e.activeForm:e.subject}function pi(e){const s=St(e);return s?Ct(s):void 0}function hi(e){var s;if(!(e.status==="completed"||!((s=e.blockedBy)!=null&&s.length)))return`blocked by ${e.blockedBy.map(n=>`#${n}`).join(", ")}`}function _i(e){return!!e.description||!!e.owner}function gi(e,s=mi){const n=Nt(e),o=n.filter(l=>l.status==="completed"),r=o.length>s,a=[];let c=!1;return n.forEach((l,m)=>{if(r&&l.status==="completed"){c||(c=!0,a.push({kind:"completed-group",count:o.length,tasks:o,key:`group-${l.id}-${m}`}));return}a.push({kind:"task",task:l,key:`${l.id}-${m}`})}),a}const xi="_panel_3trtd_5",vi="_header_3trtd_18",ji="_rowButton_3trtd_35",ki="_chevron_3trtd_40",bi="_chevronOpen_3trtd_46",yi="_label_3trtd_50",Ni="_count_3trtd_55",Si="_summary_3trtd_60",Ci="_body_3trtd_69",wi="_row_3trtd_35",Di="_rowStatic_3trtd_85",Ti="_icon_3trtd_102",Bi="_iconInProgress_3trtd_111",Ei="_iconCompleted_3trtd_115",qi="_iconPending_3trtd_119",Ri="_text_3trtd_123",Ai="_textCompleted_3trtd_135",Oi="_id_3trtd_140",Ii="_blocked_3trtd_146",Li="_details_3trtd_157",Pi="_footer_3trtd_166",Mi="_nested_3trtd_180",b={panel:xi,header:vi,rowButton:ji,chevron:ki,chevronOpen:bi,label:yi,count:Ni,summary:Si,body:Ci,row:wi,rowStatic:Di,icon:Ti,iconInProgress:Bi,iconCompleted:Ei,iconPending:qi,text:Ri,textCompleted:Ai,id:Oi,blocked:Ii,details:Li,footer:Pi,nested:Mi};function Fi({status:e}){return e==="in_progress"?t.jsx("span",{className:`${b.icon} ${b.iconInProgress}`,children:t.jsx(ne,{size:14,"aria-label":"In progress"})}):e==="completed"?t.jsx("span",{className:`${b.icon} ${b.iconCompleted}`,children:t.jsx(R,{icon:pe,size:"sm","aria-label":"Completed"})}):t.jsx("span",{className:`${b.icon} ${b.iconPending}`,children:t.jsx(R,{icon:Pn,size:"sm","aria-label":"Pending"})})}function wt({task:e}){const[s,n]=f.useState(!1),o=hi(e),r=_i(e),a=t.jsxs(t.Fragment,{children:[t.jsx(Fi,{status:e.status}),t.jsx("span",{className:`${b.text} ${e.status==="completed"?b.textCompleted:""}`,children:Ct(e)}),o&&t.jsx("span",{className:b.blocked,children:o}),t.jsxs("span",{className:b.id,children:["#",e.id]}),r&&t.jsx("span",{className:`${b.chevron} ${s?b.chevronOpen:""}`,children:t.jsx(R,{icon:he,size:"xs","aria-hidden":!0})})]});return t.jsxs("li",{className:b.row,"data-status":e.status,"data-task-id":e.id,children:[r?t.jsx("button",{type:"button",className:b.rowButton,"aria-expanded":s,onClick:()=>n(c=>!c),children:a}):t.jsx("div",{className:b.rowStatic,children:a}),s&&t.jsxs("p",{className:b.details,children:[e.description,e.description&&e.owner?`
9
+ `:"",e.owner?`Owner: ${e.owner}`:""]})]})}function $i({tasks:e}){const[s,n]=f.useState(!1);return t.jsxs("li",{className:b.row,children:[t.jsxs("button",{type:"button",className:b.rowButton,"aria-expanded":s,onClick:()=>n(o=>!o),children:[t.jsx("span",{className:`${b.icon} ${b.iconCompleted}`,children:t.jsx(R,{icon:pe,size:"sm","aria-hidden":!0})}),t.jsxs("span",{className:b.text,children:[e.length," completed"]}),t.jsx("span",{className:`${b.chevron} ${s?b.chevronOpen:""}`,children:t.jsx(R,{icon:he,size:"xs","aria-hidden":!0})})]}),s&&t.jsx("ol",{className:b.nested,children:e.map((o,r)=>t.jsx(wt,{task:o},`${o.id}-${r}`))})]})}function zi({agentId:e}){var p;const s=gn(e),n=xn(e),o=f.useId(),r=f.useRef(null);f.useEffect(()=>{if(e)return Ze.getState().track(e)},[e]);const a=s==null?void 0:s.tasks,c=a?(p=St(a))==null?void 0:p.id:void 0;if(f.useEffect(()=>{const d=r.current;if(!d||c===void 0||n)return;const x=d.querySelector(`[data-task-id="${c}"][data-status="in_progress"]`);if(!x)return;const D=x.offsetTop-d.offsetTop;(D<d.scrollTop||D+x.offsetHeight>d.scrollTop+d.clientHeight)&&(d.scrollTop=D-(d.clientHeight-x.offsetHeight)/2)},[c,n]),!e||!s||s.tasks.length===0)return null;const{done:l,total:m}=fi(s.tasks),u=n?pi(s.tasks):void 0;return t.jsxs("section",{className:b.panel,role:"region","aria-label":"Agent todos",children:[t.jsxs("button",{type:"button",className:b.header,"aria-expanded":!n,"aria-controls":o,onClick:()=>Ze.getState().setCollapsed(e,!n),children:[t.jsx("span",{className:`${b.chevron} ${n?"":b.chevronOpen}`,children:t.jsx(R,{icon:he,size:"sm","aria-hidden":!0})}),t.jsx("span",{className:b.label,children:"Todos"}),t.jsxs("span",{className:b.count,children:[l,"/",m]}),u&&t.jsx("span",{className:b.summary,children:u})]}),!n&&t.jsx("ol",{id:o,ref:r,className:b.body,children:gi(s.tasks).map(d=>d.kind==="task"?t.jsx(wt,{task:d.task},d.key):t.jsx($i,{tasks:d.tasks},d.key))}),!n&&s.truncated&&t.jsxs("div",{className:b.footer,children:["Showing first ",vn," tasks"]})]})}const Ki="_track_oxvl6_2",Hi="_sweep_oxvl6_24",Wi="_visuallyHidden_oxvl6_64",De={track:Ki,sweep:Hi,visuallyHidden:Wi};function Ui({running:e}){return e?t.jsxs("div",{className:De.track,role:"progressbar","aria-label":"Turn in progress",children:[t.jsx("div",{className:De.sweep,"aria-hidden":"true"}),t.jsx("span",{className:De.visuallyHidden,role:"status","aria-live":"polite",children:"Agent is working…"})]}):null}const Gi="_panel_1tq06_1",Vi="_empty_1tq06_5",it={panel:Gi,empty:Vi};function cc({tab:e,owningPaneId:s}){const{sessionId:n}=e.data,o=M(r=>r.sessions[n]);return Zn(n),o?t.jsxs(et,{className:it.panel,children:[t.jsx(Ui,{running:o.status==="running"}),t.jsx(Ga,{session:o,owningPaneId:s,workspaceCwd:e.workspaceCwd}),t.jsx(zi,{agentId:o.agentId}),t.jsx(ui,{sessionId:o.id})]}):t.jsx(et,{children:t.jsx("div",{className:it.empty,children:"Session not found."})})}export{cc as ChatPanel};
@@ -1 +1 @@
1
- var j=Object.defineProperty;var q=(r,n,e)=>n in r?j(r,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[n]=e;var d=(r,n,e)=>q(r,typeof n!="symbol"?n+"":n,e);import{r as u,j as w}from"./vendor-react-DQUAl2K8.js";import{u as y}from"./vendor-query-i7fr__Xm.js";import{u as F,r as p}from"./index-BR7IITFz.js";import{u as x}from"./use-file-download-DCt9_GXp.js";import{Q as S,S as _,T as b,U as B,V as z,W as U}from"./vendor-DaF96HbP.js";function D(r){const{maxDisplayBytes:n,inline:e,streamed:o,download:a}=r;if(e.isLoading)return{kind:"loading"};if(e.tooLarge){const{size:t}=e.tooLarge;return t>n?{kind:"too-large",size:t,maxDisplayBytes:n,downloading:a.requested&&a.isLoading,downloadUrl:a.objectUrl,downloadName:a.fileName}:o.isLoading?{kind:"streaming",size:t}:o.isError?{kind:"stream-error",size:t,message:o.errorMessage??"stream failed"}:o.content!==null?{kind:"streamed",size:t,content:o.content}:{kind:"loading"}}return e.isError?{kind:"error",message:e.errorMessage??"unknown error"}:e.content!==null?{kind:"inline",content:e.content}:{kind:"loading"}}class h extends Error{constructor(e,o){super("file_too_large");d(this,"size");d(this,"maxBytes");this.name="FileTooLargeError",this.size=e,this.maxBytes=o}}function R(r){if(!r.ok)throw r.error==="file_too_large"?new h(r.size??0,r.maxBytes):new Error(r.error??"file read failed");return{content:r.content??"",size:r.size??0}}function T(r,n=!0){const e=F(o=>o.client);return y({queryKey:p.fileRead(r),queryFn:async()=>{if(!e)throw new Error("not connected");const o=await e.connection.request("file_read_request",{path:r});return R(o)},enabled:!!e&&!!r&&n})}function M(r){const{enabled:n,download:e,decode:o}=r;return{isLoading:n&&(e.isLoading||e.hasObjectUrl&&o.isLoading),isError:e.isError||o.isError,error:e.isError?e.error:o.error,data:o.data}}function C(r,n=!0){var t;const e=x(r,n),o=(t=e.data)==null?void 0:t.objectUrl,a=y({queryKey:p.fileText(r,o??null),queryFn:async()=>({content:await(await fetch(o)).text()}),enabled:n&&!!o});return M({enabled:n,download:{isLoading:e.isLoading,isError:e.isError,error:e.error,hasObjectUrl:!!o},decode:{isLoading:a.isLoading,isError:a.isError,error:a.error,data:a.data}})}const E=30*1024*1024;function Y(r,n=!0){var c,f,g,m;const e=T(r,n),o=e.error instanceof h?e.error:null,a=o!==null&&o.size<=E,t=C(r,n&&a),[i,k]=u.useState(!1),s=x(r,n&&i),l=D({maxDisplayBytes:E,inline:{isLoading:e.isLoading,isError:e.isError,tooLarge:o?{size:o.size}:null,errorMessage:e.error instanceof Error?e.error.message:null,content:((c=e.data)==null?void 0:c.content)??null},streamed:{isLoading:t.isLoading,isError:t.isError,errorMessage:t.error instanceof Error?t.error.message:null,content:((f=t.data)==null?void 0:f.content)??null},download:{requested:i,isLoading:s.isLoading,objectUrl:((g=s.data)==null?void 0:g.objectUrl)??null,fileName:((m=s.data)==null?void 0:m.fileName)??null}});return l.kind==="too-large"?{...l,requestDownload:()=>k(!0)}:l}const N="_wrap_1feu3_1",v={wrap:N},L=new Map;function K(r){const[n,e]=u.useState(null);return u.useEffect(()=>{const o=z.matchFilename(U,r);if(!o){e(null);return}const a=L.get(o.name);if(a){e(a);return}let t=!1;return e(null),o.load().then(i=>{L.set(o.name,i),t||e(i)}),()=>{t=!0}},[r]),n?[n]:[]}function I({path:r,content:n}){const e=K(r),o=[S.lineWrapping,_(),...e];return w.jsx("div",{className:v.wrap,children:w.jsx(b,{value:n,theme:B,extensions:o,editable:!1,readOnly:!0,basicSetup:{highlightActiveLine:!1,foldGutter:!1,searchKeymap:!1},height:"100%"})})}export{I as C,Y as u};
1
+ var j=Object.defineProperty;var q=(r,n,e)=>n in r?j(r,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[n]=e;var d=(r,n,e)=>q(r,typeof n!="symbol"?n+"":n,e);import{r as u,j as w}from"./vendor-react-DQUAl2K8.js";import{u as y}from"./vendor-query-i7fr__Xm.js";import{u as F,r as p}from"./index-DjUHduQf.js";import{u as x}from"./use-file-download-Bc8Kby2g.js";import{Q as S,S as _,T as b,U as B,V as z,W as U}from"./vendor-DaF96HbP.js";function D(r){const{maxDisplayBytes:n,inline:e,streamed:o,download:a}=r;if(e.isLoading)return{kind:"loading"};if(e.tooLarge){const{size:t}=e.tooLarge;return t>n?{kind:"too-large",size:t,maxDisplayBytes:n,downloading:a.requested&&a.isLoading,downloadUrl:a.objectUrl,downloadName:a.fileName}:o.isLoading?{kind:"streaming",size:t}:o.isError?{kind:"stream-error",size:t,message:o.errorMessage??"stream failed"}:o.content!==null?{kind:"streamed",size:t,content:o.content}:{kind:"loading"}}return e.isError?{kind:"error",message:e.errorMessage??"unknown error"}:e.content!==null?{kind:"inline",content:e.content}:{kind:"loading"}}class h extends Error{constructor(e,o){super("file_too_large");d(this,"size");d(this,"maxBytes");this.name="FileTooLargeError",this.size=e,this.maxBytes=o}}function R(r){if(!r.ok)throw r.error==="file_too_large"?new h(r.size??0,r.maxBytes):new Error(r.error??"file read failed");return{content:r.content??"",size:r.size??0}}function T(r,n=!0){const e=F(o=>o.client);return y({queryKey:p.fileRead(r),queryFn:async()=>{if(!e)throw new Error("not connected");const o=await e.connection.request("file_read_request",{path:r});return R(o)},enabled:!!e&&!!r&&n})}function M(r){const{enabled:n,download:e,decode:o}=r;return{isLoading:n&&(e.isLoading||e.hasObjectUrl&&o.isLoading),isError:e.isError||o.isError,error:e.isError?e.error:o.error,data:o.data}}function C(r,n=!0){var t;const e=x(r,n),o=(t=e.data)==null?void 0:t.objectUrl,a=y({queryKey:p.fileText(r,o??null),queryFn:async()=>({content:await(await fetch(o)).text()}),enabled:n&&!!o});return M({enabled:n,download:{isLoading:e.isLoading,isError:e.isError,error:e.error,hasObjectUrl:!!o},decode:{isLoading:a.isLoading,isError:a.isError,error:a.error,data:a.data}})}const E=30*1024*1024;function Y(r,n=!0){var c,f,g,m;const e=T(r,n),o=e.error instanceof h?e.error:null,a=o!==null&&o.size<=E,t=C(r,n&&a),[i,k]=u.useState(!1),s=x(r,n&&i),l=D({maxDisplayBytes:E,inline:{isLoading:e.isLoading,isError:e.isError,tooLarge:o?{size:o.size}:null,errorMessage:e.error instanceof Error?e.error.message:null,content:((c=e.data)==null?void 0:c.content)??null},streamed:{isLoading:t.isLoading,isError:t.isError,errorMessage:t.error instanceof Error?t.error.message:null,content:((f=t.data)==null?void 0:f.content)??null},download:{requested:i,isLoading:s.isLoading,objectUrl:((g=s.data)==null?void 0:g.objectUrl)??null,fileName:((m=s.data)==null?void 0:m.fileName)??null}});return l.kind==="too-large"?{...l,requestDownload:()=>k(!0)}:l}const N="_wrap_1feu3_1",v={wrap:N},L=new Map;function K(r){const[n,e]=u.useState(null);return u.useEffect(()=>{const o=z.matchFilename(U,r);if(!o){e(null);return}const a=L.get(o.name);if(a){e(a);return}let t=!1;return e(null),o.load().then(i=>{L.set(o.name,i),t||e(i)}),()=>{t=!0}},[r]),n?[n]:[]}function I({path:r,content:n}){const e=K(r),o=[S.lineWrapping,_(),...e];return w.jsx("div",{className:v.wrap,children:w.jsx(b,{value:n,theme:B,extensions:o,editable:!1,readOnly:!0,basicSetup:{highlightActiveLine:!1,foldGutter:!1,searchKeymap:!1},height:"100%"})})}export{I as C,Y as u};
@@ -0,0 +1 @@
1
+ import{r as d,j as s}from"./vendor-react-DQUAl2K8.js";import{N as _}from"./vendor-DaF96HbP.js";import{u as j,r as f,L as w,a as E,e as D,V as K,P as N,B as x,E as l,S as y,i as S}from"./index-DjUHduQf.js";import{u as b,a as k}from"./vendor-query-i7fr__Xm.js";import{u as q}from"./use-file-watch-hu9dEdvA.js";import{D as z}from"./DiffView-D1TsZBGe.js";import"./vendor-icons-Dq3K7TC5.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";function V(e,t,n,i=!0){const a=j(r=>r.client);return b({queryKey:f.fileDiff(e,t,n),queryFn:async()=>{if(!a)throw new Error("not connected");return{patch:(await a.connection.request("file_diff_request",{path:e,cwd:t,staged:n})).patch??""}},enabled:!!a&&!!e&&!!t&&i})}function B(e,t,n){const i=k(),a=w.has(n)?E(e,t):null,{changedAt:r}=q(a);d.useEffect(()=>{r!==null&&(i.invalidateQueries({queryKey:f.fileRead(e)}),i.invalidateQueries({queryKey:f.fileDownload(e)}),i.invalidateQueries({queryKey:f.fileDiffByPath(e)}))},[r,e,i])}const C="_header_10rse_1",F="_path_10rse_11",L="_size_10rse_18",P="_viewToggle_10rse_23",Q="_body_10rse_28",c={header:C,path:F,size:L,viewToggle:P,body:Q};function g(e){return"path"in e}function R(e){return"staged"in e}function O({tab:e}){var m;const t=e.kind==="diff",n=e.data,i=g(n)?n.path:"",a=g(n)&&R(n)?n.staged:!1,[r,h]=d.useState(t?"diff":"file"),u=e.workspaceCwd||"~",[p]=d.useState(()=>D(i,S));B(i,u,p);const o=V(i,u,a,r==="diff"),v=K[p];return s.jsxs(N,{children:[s.jsxs("div",{className:c.header,children:[s.jsx("span",{className:c.path,children:i}),s.jsx("span",{className:c.size,children:r==="diff"?a?"staged":"unstaged":null}),s.jsxs("div",{className:c.viewToggle,children:[s.jsx(x,{size:"xs",variant:r==="file"?"default":"ghost",onClick:()=>h("file"),children:"File"}),s.jsx(x,{size:"xs",variant:r==="diff"?"default":"ghost",onClick:()=>h("diff"),children:"Diff"})]})]}),s.jsx("div",{className:_(c.body,"file-body"),children:r==="file"?s.jsx(d.Suspense,{fallback:s.jsxs(l,{children:[s.jsx(y,{size:"sm"})," Loading..."]}),children:s.jsx(v,{path:i,workspaceCwd:u})}):o.isLoading?s.jsxs(l,{children:[s.jsx(y,{size:"sm"})," Loading diff..."]}):o.isError?s.jsxs(l,{children:["Error: ",o.error instanceof Error?o.error.message:"unknown error"]}):(m=o.data)!=null&&m.patch?s.jsx(z,{patch:o.data.patch}):s.jsx(l,{style:{padding:"var(--pi-spacing-30)"},children:"No changes (file matches HEAD)"})})]})}export{O as FilePanel};
@@ -1 +1 @@
1
- import{r as v,j as r}from"./vendor-react-DQUAl2K8.js";import{a as ie,u as ae}from"./vendor-query-i7fr__Xm.js";import{n as ce,a as G,c as le,d as X,u as F,o as ue,E as A,S as R,B as C,r as B,t as de}from"./index-BR7IITFz.js";import{S as fe}from"./Switch-1I6AMAC7.js";import{u as me,C as pe}from"./CodeView-5RNJ09Tq.js";import{p as he,S as ge}from"./href-resolution-B3tyV0vA.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-CWFUB81y.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";import"./use-file-download-DCt9_GXp.js";const I={maxCount:64,maxBytesPerAsset:2*1024*1024,maxBytesTotal:16*1024*1024};function K(s,t,e){return!(s>=I.maxCount||e>I.maxBytesPerAsset||t+e>I.maxBytesTotal)}function Y(s){return s===""||s.startsWith("#")?"unsupported":s.startsWith("//")||ge.test(s)?"external":null}function xe(s,t,e){return e!==null&&t===e?s:t}function J(s,t,e,n,i=null){const o=s.trim(),u=Y(o);if(u)return{kind:"skip",raw:s,reason:u};const a=he(o);let p;if(a.startsWith("/")?p=a:a==="~"||a.startsWith("~/")?p=i!==null?ce(a,i):null:p=G(a,t),!p)return{kind:"skip",raw:s,reason:"unsupported"};const h=le(p);return h!==e&&!h.startsWith(`${e}/`)?{kind:"skip",raw:s,reason:"outside-workspace"}:{kind:"local",raw:s,path:h,context:n}}const we={css:"text/css",js:"text/javascript",mjs:"text/javascript",html:"text/html",htm:"text/html",json:"application/json",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",ico:"image/x-icon",bmp:"image/bmp",avif:"image/avif",mp4:"video/mp4",webm:"video/webm",mov:"video/quicktime",m4v:"video/x-m4v",ogv:"video/ogg",mp3:"audio/mpeg",wav:"audio/wav",oga:"audio/ogg",ogg:"audio/ogg",m4a:"audio/mp4",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",otf:"font/otf",eot:"application/vnd.ms-fontobject"};function _e(s){const t=s.lastIndexOf("/"),e=s.lastIndexOf(".");return e<=t?"application/octet-stream":we[s.slice(e+1).toLowerCase()]??"application/octet-stream"}function ve(s){let t="";for(let n=0;n<s.length;n+=32768)t+=String.fromCharCode(...s.subarray(n,n+32768));return btoa(t)}function q(s,t){return`data:${s};base64,${ve(t)}`}const z=/<([a-zA-Z][a-zA-Z0-9]*)((?:\s+[a-zA-Z_:][-a-zA-Z0-9_:.]*(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=<>`]+))?)*)(\s*\/?>)/g,O=/([a-zA-Z_:][-a-zA-Z0-9_:.]*)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+))/g;function ee(s){const t=new Map;O.lastIndex=0;let e;for(;e=O.exec(s);){const n=e[1].toLowerCase();t.has(n)||t.set(n,e[2]??e[3]??e[4]??"")}return t}function te(s,t){switch(s){case"link":{const e=t.get("rel")??"";return/(^|\s)stylesheet(\s|$)/i.test(e)?t.has("href")?[{name:"href",context:"style",multi:!1}]:[]:[]}case"script":return t.has("src")?[{name:"src",context:"script",multi:!1}]:[];case"img":{const e=[];return t.has("src")&&e.push({name:"src",context:"image",multi:!1}),t.has("srcset")&&e.push({name:"srcset",context:"image",multi:!0}),e}case"source":{const e=[];return t.has("src")&&e.push({name:"src",context:"media",multi:!1}),t.has("srcset")&&e.push({name:"srcset",context:"media",multi:!0}),e}case"video":{const e=[];return t.has("src")&&e.push({name:"src",context:"media",multi:!1}),t.has("poster")&&e.push({name:"poster",context:"media",multi:!1}),e}case"audio":return t.has("src")?[{name:"src",context:"media",multi:!1}]:[];default:return[]}}function se(s){return s.split(",").map(t=>t.trim()).filter(t=>t!=="").map(t=>{const e=t.search(/\s/);return e===-1?{url:t,descriptor:""}:{url:t.slice(0,e),descriptor:t.slice(e).trim()}})}function ye(s){return s.map(t=>t.descriptor?`${t.url} ${t.descriptor}`:t.url).join(", ")}function $(s,t,e){Y(t.trim())||s.has(t)||s.set(t,{raw:t,context:e})}function ke(s){const t=new Map;z.lastIndex=0;let e;for(;e=z.exec(s);){const n=e[1].toLowerCase(),i=ee(e[2]??"");for(const o of te(n,i)){const u=i.get(o.name)??"";if(o.multi)for(const a of se(u))$(t,a.url,o.context);else $(t,u,o.context)}}return[...t.values()]}function je(s,t){let e=!1;const n=se(s).map(i=>{const o=t[i.url];return o===void 0?i:(e=!0,{url:o,descriptor:i.descriptor})});return e?ye(n):null}function be(s,t){return Object.keys(t).length===0?s:(z.lastIndex=0,s.replace(z,(e,n,i,o)=>{const u=ee(i),a=te(n.toLowerCase(),u);if(a.length===0)return e;const p=new Map(a.map(d=>[d.name,d]));let h=!1;const E=i.replace(O,(d,f,l,w,y)=>{const _=p.get(f.toLowerCase());if(!_)return d;const g=l??w??y??"",b=_.multi?je(g,t):t[g]??null;return b===null?d:(h=!0,`${f}="${b}"`)});return h?`<${n}${E}${o}`:e}))}const P=/url\(\s*(?:"([^"]*)"|'([^']*)'|([^'")\s]*))\s*\)/gi,U=/@font-face\s*\{[^}]*\}/gi;function ne(s,t,e){return s??t??e??""}function Se(s){const t=[];U.lastIndex=0;let e;for(;e=U.exec(s);)t.push([e.index,e.index+e[0].length]);return t}function Ee(s){const t=Se(s),e=new Map;P.lastIndex=0;let n;for(;n=P.exec(s);){const i=ne(n[1],n[2],n[3]),o=t.some(([u,a])=>n.index>=u&&n.index<a)?"font":"image";$(e,i,o)}return[...e.values()]}function Le(s,t){return Object.keys(t).length===0?s:(P.lastIndex=0,s.replace(P,(e,n,i,o)=>{const u=t[ne(n,i,o)];return u===void 0?e:`url("${u}")`}))}const Ae=Object.freeze(["allow-scripts"]),Ce="https://pi-studio-preview.invalid/",Ne="default-src 'none'; img-src data:; style-src 'unsafe-inline' data:; script-src 'unsafe-inline' data:; font-src data:; media-src data:",Te=`<script>(function(){document.addEventListener("click",function(e){var a=e.target&&e.target.closest&&e.target.closest('a[href^="#"]');if(!a)return;var frag=a.getAttribute("href").slice(1);e.preventDefault();if(!frag){window.scrollTo(0,0);return;}var el=document.getElementById(frag)||document.getElementsByName(frag)[0];if(el)el.scrollIntoView();},true);})();<\/script>`,Re=/<head(\s[^>]*)?>/i,Be=/<html(\s[^>]*)?>/i,Me=/<base[\s/>]/i;function ze(s,t){const e=be(s,t.assets??{}),n=[];t.blockRemote&&n.push(`<meta http-equiv="Content-Security-Policy" content="${Ne}">`),Me.test(e)||(n.push(`<base href="${Ce}">`),n.push(Te));const i=n.join("");if(i==="")return e;const o=Re.exec(e);if(o){const a=o.index+o[0].length;return e.slice(0,a)+i+e.slice(a)}const u=Be.exec(e);if(u){const a=u.index+u[0].length;return e.slice(0,a)+`<head>${i}</head>`+e.slice(a)}return`<head>${i}</head>`+e}const V=6;async function W(s,t,e){let n=0;async function i(){for(;n<s.length;){const o=s[n];n+=1,await e(o)}}await Promise.all(Array.from({length:Math.min(t,s.length)},i))}function Q(s){const t=new Map;for(const e of s){const n=t.get(e.path);n?n.push(e):t.set(e.path,[e])}return t}async function Pe(s,t){const e={},n=[];let i=0,o=0,u=!1;const a=[];for(const d of s)d.kind==="skip"?n.push({raw:d.raw,reason:d.reason}):a.push(d);function p(d,f){for(const l of d)n.push({raw:l.raw,reason:f})}async function h(d,f){if(u){p(f,"over-cap");return}let l;try{l=await t.fetchBytes(d)}catch{p(f,"fetch-failed");return}if(!K(i,o,l.byteLength)){u=!0,p(f,"over-cap");return}if(i+=1,o+=l.byteLength,f[0].context!=="style"){const m=q(_e(d),l);for(const j of f)e[j.raw]=m;return}const w=new TextDecoder().decode(l),y=X(d),_=Ee(w).map(m=>J(m.raw,y,t.root,m.context,t.homeDir)),g=[];for(const m of _)m.kind==="skip"?n.push({raw:m.raw,reason:m.reason}):g.push(m);const b=Q(g);await W([...b.entries()],V,([m,j])=>h(m,j));const N={};for(const m of g){const j=e[m.raw];j!==void 0&&(N[m.raw]=j)}const L=Le(w,N),S=new TextEncoder().encode(L),k=S.byteLength-l.byteLength;if(k>0&&!K(i-1,o-l.byteLength,S.byteLength)){u=!0,p(f,"over-cap");return}o+=k;const T=q("text/css",S);for(const m of f)e[m.raw]=T}const E=Q(a);return await W([...E.entries()],V,([d,f])=>h(d,f)),{assets:e,skipped:n}}const Ie="_wrap_1et27_1",Oe="_toolbar_1et27_7",$e="_modeToggle_1et27_20",De="_controls_1et27_24",He="_switchLabel_1et27_29",Fe="_streamedNote_1et27_37",Ke="_skippedNote_1et27_45",qe="_skippedToggle_1et27_52",Ue="_skippedList_1et27_64",Ve="_body_1et27_69",We="_frame_1et27_73",Qe="_tooLarge_1et27_79",x={wrap:Ie,toolbar:Oe,modeToggle:$e,controls:De,switchLabel:He,streamedNote:Fe,skippedNote:Ke,skippedToggle:qe,skippedList:Ue,body:Ve,frame:We,tooLarge:Qe},Ze=Ae.join(" "),Z=Object.freeze({}),Ge=Object.freeze([]),oe={external:"external","outside-workspace":"outside workspace",unsupported:"unsupported","over-cap":"over cap","fetch-failed":"not found"};function Xe(s){const t=new Map;for(const e of s){const n=oe[e.reason];t.set(n,(t.get(n)??0)+1)}return[...t.entries()].map(([e,n])=>`${n} ${e}`).join(", ")}function Ye(s){let t=2166136261;for(let e=0;e<s.length;e++)t^=s.charCodeAt(e),t=Math.imul(t,16777619);return(t>>>0).toString(16)}function M(s){return`${(s/(1024*1024)).toFixed(1)} MB`}function dt({path:s,workspaceCwd:t}){var D,H;const e=me(s),[n,i]=v.useState("preview"),[o,u]=v.useState(!1),[a,p]=v.useState(!1),h=ie(),E=F(c=>c.client),d=F(c=>c.daemon),f=ue(),l=e.kind==="inline"||e.kind==="streamed"?e.content:null,w=v.useMemo(()=>{const c=G(s,t);return c?X(c):null},[s,t]),y=v.useMemo(()=>w!==null?xe(w,t,f):null,[w,t,f]),_=v.useMemo(()=>l===null||w===null||y===null?[]:ke(l).map(c=>J(c.raw,w,y,c.context,f)),[l,w,y,f]),g=v.useMemo(()=>_.some(c=>c.kind==="local"),[_]),b=v.useMemo(()=>_.flatMap(c=>c.kind==="skip"?[{raw:c.raw,reason:c.reason}]:[]),[_]),N=v.useMemo(()=>g&&l!==null?Ye(l):"",[l,g]),L=ae({queryKey:B.htmlAssetBundle(s,N),queryFn:()=>y===null?Promise.resolve({assets:{},skipped:[]}):Pe(_,{root:y,homeDir:f,fetchBytes:async re=>{if(!E||!d)throw new Error("not connected");return(await de(d).download(re)).bytes}}),enabled:g,staleTime:1/0}),S=g?((D=L.data)==null?void 0:D.assets)??Z:Z,k=g?((H=L.data)==null?void 0:H.skipped)??Ge:b,T=v.useMemo(()=>l===null?null:ze(l,{assets:S,blockRemote:o}),[l,S,o]);function m(){h.invalidateQueries({queryKey:B.fileRead(s)}),h.invalidateQueries({queryKey:B.fileDownload(s)}),h.invalidateQueries({queryKey:B.htmlAssetBundleByPath(s)})}switch(e.kind){case"loading":return r.jsxs(A,{children:[r.jsx(R,{size:"sm"})," Loading..."]});case"streaming":return r.jsxs(A,{children:[r.jsx(R,{size:"sm"})," Streaming ",M(e.size)," file..."]});case"stream-error":case"error":return r.jsxs(A,{children:["Error: ",e.message]});case"too-large":{const c=s.split("/").pop()||s;return r.jsx(A,{children:r.jsxs("div",{className:x.tooLarge,children:[r.jsxs("div",{children:[M(e.size)," — too large to display (display ceiling is"," ",M(e.maxDisplayBytes),")."]}),e.downloading?r.jsx(R,{size:"sm"}):e.downloadUrl?r.jsx("a",{href:e.downloadUrl,download:e.downloadName||c,children:r.jsx(C,{size:"sm",children:"Save file"})}):r.jsx(C,{size:"sm",onClick:()=>e.requestDownload(),children:"Download"})]})})}}if(l===null||T===null)return null;if(g&&L.data===void 0)return r.jsxs(A,{children:[r.jsx(R,{size:"sm"})," Loading assets..."]});const j=s.split("/").pop()||s;return r.jsxs("div",{className:x.wrap,children:[r.jsxs("div",{className:x.toolbar,children:[r.jsxs("div",{className:x.modeToggle,children:[r.jsx(C,{size:"xs",variant:n==="preview"?"default":"ghost",onClick:()=>i("preview"),children:"Preview"}),r.jsx(C,{size:"xs",variant:n==="source"?"default":"ghost",onClick:()=>i("source"),children:"Source"})]}),r.jsxs("div",{className:x.controls,children:[r.jsxs("label",{className:x.switchLabel,children:[r.jsx(fe,{checked:o,onCheckedChange:u,"aria-label":"Block remote resources"}),"Block remote resources"]}),r.jsx(C,{size:"xs",variant:"ghost",onClick:m,children:"Reload"})]})]}),e.kind==="streamed"?r.jsxs("div",{className:x.streamedNote,children:[M(e.size)," file streamed"]}):null,k.length>0?r.jsxs("div",{className:x.skippedNote,children:[r.jsxs("button",{type:"button",className:x.skippedToggle,onClick:()=>p(c=>!c),children:[k.length," reference",k.length===1?"":"s"," not inlined (",Xe(k),")"]}),a?r.jsx("ul",{className:x.skippedList,children:k.map(c=>r.jsxs("li",{children:[c.raw," — ",oe[c.reason]]},c.raw))}):null]}):null,r.jsxs("div",{className:x.body,children:[r.jsx("iframe",{sandbox:Ze,srcDoc:T,referrerPolicy:"no-referrer",allow:"",className:x.frame,style:n==="preview"?void 0:{display:"none"},title:j}),n==="source"?r.jsx(pe,{path:s,content:l}):null]})]})}export{dt as HtmlViewer};
1
+ import{r as v,j as r}from"./vendor-react-DQUAl2K8.js";import{a as ie,u as ae}from"./vendor-query-i7fr__Xm.js";import{n as ce,a as G,c as le,d as X,u as F,p as ue,E as A,S as R,B as C,r as B,t as de}from"./index-DjUHduQf.js";import{S as fe}from"./Switch-1I6AMAC7.js";import{u as me,C as pe}from"./CodeView-BGmM4Xdz.js";import{p as he,S as ge}from"./href-resolution-DWAlGpSI.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-Dq3K7TC5.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";import"./use-file-download-Bc8Kby2g.js";const I={maxCount:64,maxBytesPerAsset:2*1024*1024,maxBytesTotal:16*1024*1024};function K(s,t,e){return!(s>=I.maxCount||e>I.maxBytesPerAsset||t+e>I.maxBytesTotal)}function Y(s){return s===""||s.startsWith("#")?"unsupported":s.startsWith("//")||ge.test(s)?"external":null}function xe(s,t,e){return e!==null&&t===e?s:t}function J(s,t,e,n,i=null){const o=s.trim(),u=Y(o);if(u)return{kind:"skip",raw:s,reason:u};const a=he(o);let p;if(a.startsWith("/")?p=a:a==="~"||a.startsWith("~/")?p=i!==null?ce(a,i):null:p=G(a,t),!p)return{kind:"skip",raw:s,reason:"unsupported"};const h=le(p);return h!==e&&!h.startsWith(`${e}/`)?{kind:"skip",raw:s,reason:"outside-workspace"}:{kind:"local",raw:s,path:h,context:n}}const we={css:"text/css",js:"text/javascript",mjs:"text/javascript",html:"text/html",htm:"text/html",json:"application/json",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",ico:"image/x-icon",bmp:"image/bmp",avif:"image/avif",mp4:"video/mp4",webm:"video/webm",mov:"video/quicktime",m4v:"video/x-m4v",ogv:"video/ogg",mp3:"audio/mpeg",wav:"audio/wav",oga:"audio/ogg",ogg:"audio/ogg",m4a:"audio/mp4",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",otf:"font/otf",eot:"application/vnd.ms-fontobject"};function _e(s){const t=s.lastIndexOf("/"),e=s.lastIndexOf(".");return e<=t?"application/octet-stream":we[s.slice(e+1).toLowerCase()]??"application/octet-stream"}function ve(s){let t="";for(let n=0;n<s.length;n+=32768)t+=String.fromCharCode(...s.subarray(n,n+32768));return btoa(t)}function q(s,t){return`data:${s};base64,${ve(t)}`}const z=/<([a-zA-Z][a-zA-Z0-9]*)((?:\s+[a-zA-Z_:][-a-zA-Z0-9_:.]*(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=<>`]+))?)*)(\s*\/?>)/g,O=/([a-zA-Z_:][-a-zA-Z0-9_:.]*)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+))/g;function ee(s){const t=new Map;O.lastIndex=0;let e;for(;e=O.exec(s);){const n=e[1].toLowerCase();t.has(n)||t.set(n,e[2]??e[3]??e[4]??"")}return t}function te(s,t){switch(s){case"link":{const e=t.get("rel")??"";return/(^|\s)stylesheet(\s|$)/i.test(e)?t.has("href")?[{name:"href",context:"style",multi:!1}]:[]:[]}case"script":return t.has("src")?[{name:"src",context:"script",multi:!1}]:[];case"img":{const e=[];return t.has("src")&&e.push({name:"src",context:"image",multi:!1}),t.has("srcset")&&e.push({name:"srcset",context:"image",multi:!0}),e}case"source":{const e=[];return t.has("src")&&e.push({name:"src",context:"media",multi:!1}),t.has("srcset")&&e.push({name:"srcset",context:"media",multi:!0}),e}case"video":{const e=[];return t.has("src")&&e.push({name:"src",context:"media",multi:!1}),t.has("poster")&&e.push({name:"poster",context:"media",multi:!1}),e}case"audio":return t.has("src")?[{name:"src",context:"media",multi:!1}]:[];default:return[]}}function se(s){return s.split(",").map(t=>t.trim()).filter(t=>t!=="").map(t=>{const e=t.search(/\s/);return e===-1?{url:t,descriptor:""}:{url:t.slice(0,e),descriptor:t.slice(e).trim()}})}function ye(s){return s.map(t=>t.descriptor?`${t.url} ${t.descriptor}`:t.url).join(", ")}function $(s,t,e){Y(t.trim())||s.has(t)||s.set(t,{raw:t,context:e})}function ke(s){const t=new Map;z.lastIndex=0;let e;for(;e=z.exec(s);){const n=e[1].toLowerCase(),i=ee(e[2]??"");for(const o of te(n,i)){const u=i.get(o.name)??"";if(o.multi)for(const a of se(u))$(t,a.url,o.context);else $(t,u,o.context)}}return[...t.values()]}function je(s,t){let e=!1;const n=se(s).map(i=>{const o=t[i.url];return o===void 0?i:(e=!0,{url:o,descriptor:i.descriptor})});return e?ye(n):null}function be(s,t){return Object.keys(t).length===0?s:(z.lastIndex=0,s.replace(z,(e,n,i,o)=>{const u=ee(i),a=te(n.toLowerCase(),u);if(a.length===0)return e;const p=new Map(a.map(d=>[d.name,d]));let h=!1;const E=i.replace(O,(d,f,l,w,y)=>{const _=p.get(f.toLowerCase());if(!_)return d;const g=l??w??y??"",b=_.multi?je(g,t):t[g]??null;return b===null?d:(h=!0,`${f}="${b}"`)});return h?`<${n}${E}${o}`:e}))}const P=/url\(\s*(?:"([^"]*)"|'([^']*)'|([^'")\s]*))\s*\)/gi,U=/@font-face\s*\{[^}]*\}/gi;function ne(s,t,e){return s??t??e??""}function Se(s){const t=[];U.lastIndex=0;let e;for(;e=U.exec(s);)t.push([e.index,e.index+e[0].length]);return t}function Ee(s){const t=Se(s),e=new Map;P.lastIndex=0;let n;for(;n=P.exec(s);){const i=ne(n[1],n[2],n[3]),o=t.some(([u,a])=>n.index>=u&&n.index<a)?"font":"image";$(e,i,o)}return[...e.values()]}function Le(s,t){return Object.keys(t).length===0?s:(P.lastIndex=0,s.replace(P,(e,n,i,o)=>{const u=t[ne(n,i,o)];return u===void 0?e:`url("${u}")`}))}const Ae=Object.freeze(["allow-scripts"]),Ce="https://pi-studio-preview.invalid/",Ne="default-src 'none'; img-src data:; style-src 'unsafe-inline' data:; script-src 'unsafe-inline' data:; font-src data:; media-src data:",Te=`<script>(function(){document.addEventListener("click",function(e){var a=e.target&&e.target.closest&&e.target.closest('a[href^="#"]');if(!a)return;var frag=a.getAttribute("href").slice(1);e.preventDefault();if(!frag){window.scrollTo(0,0);return;}var el=document.getElementById(frag)||document.getElementsByName(frag)[0];if(el)el.scrollIntoView();},true);})();<\/script>`,Re=/<head(\s[^>]*)?>/i,Be=/<html(\s[^>]*)?>/i,Me=/<base[\s/>]/i;function ze(s,t){const e=be(s,t.assets??{}),n=[];t.blockRemote&&n.push(`<meta http-equiv="Content-Security-Policy" content="${Ne}">`),Me.test(e)||(n.push(`<base href="${Ce}">`),n.push(Te));const i=n.join("");if(i==="")return e;const o=Re.exec(e);if(o){const a=o.index+o[0].length;return e.slice(0,a)+i+e.slice(a)}const u=Be.exec(e);if(u){const a=u.index+u[0].length;return e.slice(0,a)+`<head>${i}</head>`+e.slice(a)}return`<head>${i}</head>`+e}const V=6;async function W(s,t,e){let n=0;async function i(){for(;n<s.length;){const o=s[n];n+=1,await e(o)}}await Promise.all(Array.from({length:Math.min(t,s.length)},i))}function Q(s){const t=new Map;for(const e of s){const n=t.get(e.path);n?n.push(e):t.set(e.path,[e])}return t}async function Pe(s,t){const e={},n=[];let i=0,o=0,u=!1;const a=[];for(const d of s)d.kind==="skip"?n.push({raw:d.raw,reason:d.reason}):a.push(d);function p(d,f){for(const l of d)n.push({raw:l.raw,reason:f})}async function h(d,f){if(u){p(f,"over-cap");return}let l;try{l=await t.fetchBytes(d)}catch{p(f,"fetch-failed");return}if(!K(i,o,l.byteLength)){u=!0,p(f,"over-cap");return}if(i+=1,o+=l.byteLength,f[0].context!=="style"){const m=q(_e(d),l);for(const j of f)e[j.raw]=m;return}const w=new TextDecoder().decode(l),y=X(d),_=Ee(w).map(m=>J(m.raw,y,t.root,m.context,t.homeDir)),g=[];for(const m of _)m.kind==="skip"?n.push({raw:m.raw,reason:m.reason}):g.push(m);const b=Q(g);await W([...b.entries()],V,([m,j])=>h(m,j));const N={};for(const m of g){const j=e[m.raw];j!==void 0&&(N[m.raw]=j)}const L=Le(w,N),S=new TextEncoder().encode(L),k=S.byteLength-l.byteLength;if(k>0&&!K(i-1,o-l.byteLength,S.byteLength)){u=!0,p(f,"over-cap");return}o+=k;const T=q("text/css",S);for(const m of f)e[m.raw]=T}const E=Q(a);return await W([...E.entries()],V,([d,f])=>h(d,f)),{assets:e,skipped:n}}const Ie="_wrap_1et27_1",Oe="_toolbar_1et27_7",$e="_modeToggle_1et27_20",De="_controls_1et27_24",He="_switchLabel_1et27_29",Fe="_streamedNote_1et27_37",Ke="_skippedNote_1et27_45",qe="_skippedToggle_1et27_52",Ue="_skippedList_1et27_64",Ve="_body_1et27_69",We="_frame_1et27_73",Qe="_tooLarge_1et27_79",x={wrap:Ie,toolbar:Oe,modeToggle:$e,controls:De,switchLabel:He,streamedNote:Fe,skippedNote:Ke,skippedToggle:qe,skippedList:Ue,body:Ve,frame:We,tooLarge:Qe},Ze=Ae.join(" "),Z=Object.freeze({}),Ge=Object.freeze([]),oe={external:"external","outside-workspace":"outside workspace",unsupported:"unsupported","over-cap":"over cap","fetch-failed":"not found"};function Xe(s){const t=new Map;for(const e of s){const n=oe[e.reason];t.set(n,(t.get(n)??0)+1)}return[...t.entries()].map(([e,n])=>`${n} ${e}`).join(", ")}function Ye(s){let t=2166136261;for(let e=0;e<s.length;e++)t^=s.charCodeAt(e),t=Math.imul(t,16777619);return(t>>>0).toString(16)}function M(s){return`${(s/(1024*1024)).toFixed(1)} MB`}function dt({path:s,workspaceCwd:t}){var D,H;const e=me(s),[n,i]=v.useState("preview"),[o,u]=v.useState(!1),[a,p]=v.useState(!1),h=ie(),E=F(c=>c.client),d=F(c=>c.daemon),f=ue(),l=e.kind==="inline"||e.kind==="streamed"?e.content:null,w=v.useMemo(()=>{const c=G(s,t);return c?X(c):null},[s,t]),y=v.useMemo(()=>w!==null?xe(w,t,f):null,[w,t,f]),_=v.useMemo(()=>l===null||w===null||y===null?[]:ke(l).map(c=>J(c.raw,w,y,c.context,f)),[l,w,y,f]),g=v.useMemo(()=>_.some(c=>c.kind==="local"),[_]),b=v.useMemo(()=>_.flatMap(c=>c.kind==="skip"?[{raw:c.raw,reason:c.reason}]:[]),[_]),N=v.useMemo(()=>g&&l!==null?Ye(l):"",[l,g]),L=ae({queryKey:B.htmlAssetBundle(s,N),queryFn:()=>y===null?Promise.resolve({assets:{},skipped:[]}):Pe(_,{root:y,homeDir:f,fetchBytes:async re=>{if(!E||!d)throw new Error("not connected");return(await de(d).download(re)).bytes}}),enabled:g,staleTime:1/0}),S=g?((D=L.data)==null?void 0:D.assets)??Z:Z,k=g?((H=L.data)==null?void 0:H.skipped)??Ge:b,T=v.useMemo(()=>l===null?null:ze(l,{assets:S,blockRemote:o}),[l,S,o]);function m(){h.invalidateQueries({queryKey:B.fileRead(s)}),h.invalidateQueries({queryKey:B.fileDownload(s)}),h.invalidateQueries({queryKey:B.htmlAssetBundleByPath(s)})}switch(e.kind){case"loading":return r.jsxs(A,{children:[r.jsx(R,{size:"sm"})," Loading..."]});case"streaming":return r.jsxs(A,{children:[r.jsx(R,{size:"sm"})," Streaming ",M(e.size)," file..."]});case"stream-error":case"error":return r.jsxs(A,{children:["Error: ",e.message]});case"too-large":{const c=s.split("/").pop()||s;return r.jsx(A,{children:r.jsxs("div",{className:x.tooLarge,children:[r.jsxs("div",{children:[M(e.size)," — too large to display (display ceiling is"," ",M(e.maxDisplayBytes),")."]}),e.downloading?r.jsx(R,{size:"sm"}):e.downloadUrl?r.jsx("a",{href:e.downloadUrl,download:e.downloadName||c,children:r.jsx(C,{size:"sm",children:"Save file"})}):r.jsx(C,{size:"sm",onClick:()=>e.requestDownload(),children:"Download"})]})})}}if(l===null||T===null)return null;if(g&&L.data===void 0)return r.jsxs(A,{children:[r.jsx(R,{size:"sm"})," Loading assets..."]});const j=s.split("/").pop()||s;return r.jsxs("div",{className:x.wrap,children:[r.jsxs("div",{className:x.toolbar,children:[r.jsxs("div",{className:x.modeToggle,children:[r.jsx(C,{size:"xs",variant:n==="preview"?"default":"ghost",onClick:()=>i("preview"),children:"Preview"}),r.jsx(C,{size:"xs",variant:n==="source"?"default":"ghost",onClick:()=>i("source"),children:"Source"})]}),r.jsxs("div",{className:x.controls,children:[r.jsxs("label",{className:x.switchLabel,children:[r.jsx(fe,{checked:o,onCheckedChange:u,"aria-label":"Block remote resources"}),"Block remote resources"]}),r.jsx(C,{size:"xs",variant:"ghost",onClick:m,children:"Reload"})]})]}),e.kind==="streamed"?r.jsxs("div",{className:x.streamedNote,children:[M(e.size)," file streamed"]}):null,k.length>0?r.jsxs("div",{className:x.skippedNote,children:[r.jsxs("button",{type:"button",className:x.skippedToggle,onClick:()=>p(c=>!c),children:[k.length," reference",k.length===1?"":"s"," not inlined (",Xe(k),")"]}),a?r.jsx("ul",{className:x.skippedList,children:k.map(c=>r.jsxs("li",{children:[c.raw," — ",oe[c.reason]]},c.raw))}):null]}):null,r.jsxs("div",{className:x.body,children:[r.jsx("iframe",{sandbox:Ze,srcDoc:T,referrerPolicy:"no-referrer",allow:"",className:x.frame,style:n==="preview"?void 0:{display:"none"},title:j}),n==="source"?r.jsx(pe,{path:s,content:l}):null]})]})}export{dt as HtmlViewer};
@@ -1 +1 @@
1
- import{j as o}from"./vendor-react-DQUAl2K8.js";import{E as s,S as a}from"./index-BR7IITFz.js";import{u as t}from"./use-file-download-DCt9_GXp.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-CWFUB81y.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";const n="_wrap_1vzo5_1",m="_image_1vzo5_15",i={wrap:n,image:m};function x({path:e,workspaceCwd:p}){const r=t(e);return r.isLoading?o.jsxs(s,{children:[o.jsx(a,{size:"sm"})," Loading image..."]}):r.isError?o.jsxs(s,{children:["Error: ",r.error instanceof Error?r.error.message:"unknown error"]}):r.data?o.jsx("div",{className:i.wrap,children:o.jsx("img",{className:i.image,src:r.data.objectUrl,alt:e.split("/").pop()||e})}):null}export{x as ImageViewer};
1
+ import{j as o}from"./vendor-react-DQUAl2K8.js";import{E as s,S as a}from"./index-DjUHduQf.js";import{u as t}from"./use-file-download-Bc8Kby2g.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-Dq3K7TC5.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";const n="_wrap_1vzo5_1",m="_image_1vzo5_15",i={wrap:n,image:m};function x({path:e,workspaceCwd:p}){const r=t(e);return r.isLoading?o.jsxs(s,{children:[o.jsx(a,{size:"sm"})," Loading image..."]}):r.isError?o.jsxs(s,{children:["Error: ",r.error instanceof Error?r.error.message:"unknown error"]}):r.data?o.jsx("div",{className:i.wrap,children:o.jsx("img",{className:i.image,src:r.data.objectUrl,alt:e.split("/").pop()||e})}):null}export{x as ImageViewer};
@@ -1 +1 @@
1
- import{r as x,j as e}from"./vendor-react-DQUAl2K8.js";import{a as j,d as g,B as i,E as a,S as c}from"./index-BR7IITFz.js";import{u as w,C as h}from"./CodeView-5RNJ09Tq.js";import{M as v}from"./markdown-f4n98WCB.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-CWFUB81y.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";import"./use-file-download-DCt9_GXp.js";import"./vendor-highlight-Ddi_n-Jh.js";import"./vendor-markdown-DJUOT8ep.js";import"./href-resolution-B3tyV0vA.js";const _="_wrap_g5iym_1",f="_toolbar_g5iym_6",y="_rendered_g5iym_17",z="_streamedNote_g5iym_21",N="_tooLarge_g5iym_29",t={wrap:_,toolbar:f,rendered:y,streamedNote:z,tooLarge:N};function n(r){return`${(r/(1024*1024)).toFixed(1)} MB`}function q({path:r,workspaceCwd:d}){const s=w(r),[l,m]=x.useState("preview"),p=x.useMemo(()=>{const o=j(r,d);return o?g(o):null},[r,d]);switch(s.kind){case"loading":return e.jsxs(a,{children:[e.jsx(c,{size:"sm"})," Loading..."]});case"streaming":return e.jsxs(a,{children:[e.jsx(c,{size:"sm"})," Streaming ",n(s.size)," file..."]});case"stream-error":case"error":return e.jsxs(a,{children:["Error: ",s.message]});case"too-large":{const o=r.split("/").pop()||r;return e.jsx(a,{children:e.jsxs("div",{className:t.tooLarge,children:[e.jsxs("div",{children:[n(s.size)," — too large to display (display ceiling is"," ",n(s.maxDisplayBytes),")."]}),s.downloading?e.jsx(c,{size:"sm"}):s.downloadUrl?e.jsx("a",{href:s.downloadUrl,download:s.downloadName||o,children:e.jsx(i,{size:"sm",children:"Save file"})}):e.jsx(i,{size:"sm",onClick:()=>s.requestDownload(),children:"Download"})]})})}case"inline":case"streamed":{const o=s.content,u=s.kind==="streamed";return e.jsxs("div",{className:t.wrap,children:[e.jsxs("div",{className:t.toolbar,children:[e.jsx(i,{size:"xs",variant:l==="preview"?"default":"ghost",onClick:()=>m("preview"),children:"Preview"}),e.jsx(i,{size:"xs",variant:l==="source"?"default":"ghost",onClick:()=>m("source"),children:"Source"})]}),u?e.jsxs("div",{className:t.streamedNote,children:[n(s.size)," file streamed"]}):null,l==="preview"?e.jsx("div",{className:t.rendered,children:e.jsx(v,{text:o,assetBase:p,workspaceCwd:d})}):e.jsx(h,{path:r,content:o})]})}}}export{q as MarkdownFileViewer};
1
+ import{r as x,j as e}from"./vendor-react-DQUAl2K8.js";import{a as j,d as g,B as i,E as a,S as c}from"./index-DjUHduQf.js";import{u as w,C as h}from"./CodeView-BGmM4Xdz.js";import{M as v}from"./markdown-ZgA079Q9.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-Dq3K7TC5.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";import"./use-file-download-Bc8Kby2g.js";import"./vendor-highlight-Ddi_n-Jh.js";import"./vendor-markdown-DJUOT8ep.js";import"./href-resolution-DWAlGpSI.js";const _="_wrap_g5iym_1",f="_toolbar_g5iym_6",y="_rendered_g5iym_17",z="_streamedNote_g5iym_21",N="_tooLarge_g5iym_29",t={wrap:_,toolbar:f,rendered:y,streamedNote:z,tooLarge:N};function n(r){return`${(r/(1024*1024)).toFixed(1)} MB`}function q({path:r,workspaceCwd:d}){const s=w(r),[l,m]=x.useState("preview"),p=x.useMemo(()=>{const o=j(r,d);return o?g(o):null},[r,d]);switch(s.kind){case"loading":return e.jsxs(a,{children:[e.jsx(c,{size:"sm"})," Loading..."]});case"streaming":return e.jsxs(a,{children:[e.jsx(c,{size:"sm"})," Streaming ",n(s.size)," file..."]});case"stream-error":case"error":return e.jsxs(a,{children:["Error: ",s.message]});case"too-large":{const o=r.split("/").pop()||r;return e.jsx(a,{children:e.jsxs("div",{className:t.tooLarge,children:[e.jsxs("div",{children:[n(s.size)," — too large to display (display ceiling is"," ",n(s.maxDisplayBytes),")."]}),s.downloading?e.jsx(c,{size:"sm"}):s.downloadUrl?e.jsx("a",{href:s.downloadUrl,download:s.downloadName||o,children:e.jsx(i,{size:"sm",children:"Save file"})}):e.jsx(i,{size:"sm",onClick:()=>s.requestDownload(),children:"Download"})]})})}case"inline":case"streamed":{const o=s.content,u=s.kind==="streamed";return e.jsxs("div",{className:t.wrap,children:[e.jsxs("div",{className:t.toolbar,children:[e.jsx(i,{size:"xs",variant:l==="preview"?"default":"ghost",onClick:()=>m("preview"),children:"Preview"}),e.jsx(i,{size:"xs",variant:l==="source"?"default":"ghost",onClick:()=>m("source"),children:"Source"})]}),u?e.jsxs("div",{className:t.streamedNote,children:[n(s.size)," file streamed"]}):null,l==="preview"?e.jsx("div",{className:t.rendered,children:e.jsx(v,{text:o,assetBase:p,workspaceCwd:d})}):e.jsx(h,{path:r,content:o})]})}}}export{q as MarkdownFileViewer};
@@ -1 +1 @@
1
- import{r as w,j as n}from"./vendor-react-DQUAl2K8.js";import{a as E}from"./vendor-query-i7fr__Xm.js";import{u as P,E as u,S as C,B as b,r as x}from"./index-BR7IITFz.js";import{S as y}from"./StatusBadge-BMKAPA9O.js";import{u as R}from"./use-provider-auth-list-CF2agvn7.js";import{u as N}from"./provider-auth-store-9hsJ07X1.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-CWFUB81y.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";const j="env:";function I(t){var i;return t.configured==="unknown"?{label:"Unknown",variant:"warning"}:t.configured===!1?{label:"Not configured",variant:"muted"}:(i=t.configuredSource)!=null&&i.startsWith(j)?{label:`env: ${t.configuredSource.slice(j.length)}`,variant:"success"}:t.configuredType==="oauth"?{label:"OAuth",variant:"success"}:{label:"API key",variant:"success"}}function M(t){const i=t.configured===!0?"Re-login":"Log in";if(t.authTypes.length<=1){const s=t.authTypes[0]??"api_key";return[{authType:s,label:s==="oauth"?t.oauthLoginLabel??i:i}]}return t.authTypes.map(s=>s==="oauth"?{authType:s,label:t.oauthLoginLabel??"Log in with OAuth"}:{authType:s,label:"API key"})}const q="_list_vm1k7_1",O="_row_vm1k7_7",T="_rowMain_vm1k7_18",B="_name_vm1k7_25",z="_tag_vm1k7_33",F="_rowActions_vm1k7_37",K="_pendingNote_vm1k7_44",Q="_note_vm1k7_49",U="_errorState_vm1k7_55",a={list:q,row:O,rowMain:T,name:B,tag:z,rowActions:F,pendingNote:K,note:Q,errorState:U};function ee(){const t=P(e=>e.client),i=E(),s=N(e=>e.pendingLogin),k=N(e=>e.requestLogin),[d,g]=w.useState(null),[p,m]=w.useState({}),{data:r,isLoading:L,isError:S,error:h}=R();async function A(e){if(t&&window.confirm(`Log out of ${e.name}? Running agents keep working until their current credential use fails.`)){m(o=>({...o,[e.id]:""})),g(e.id);try{const o=await t.logoutProvider(e.id);m(l=>({...l,[e.id]:o.stillConfigured?"Removed the stored credential — still configured via an environment variable.":""})),await i.invalidateQueries({queryKey:x.providerAuthList()}),i.invalidateQueries({queryKey:x.providerModelsAll()})}finally{g(null)}}}return L?n.jsxs(u,{children:[n.jsx(C,{size:"sm"})," Loading providers…"]}):S?n.jsx(u,{className:a.errorState,children:h instanceof Error?h.message:"Failed to load providers."}):!r||r.length===0?n.jsx(u,{children:"No providers available."}):n.jsx("div",{className:a.list,children:r.map(e=>{const o=I(e),l=M(e),f=(s==null?void 0:s.provider)===e.id,_=s!==null&&!f,v=p[e.id];return n.jsxs("div",{className:a.row,children:[n.jsxs("div",{className:a.rowMain,children:[n.jsx("span",{className:a.name,children:e.name}),e.oauthIsSubscription&&n.jsx(y,{label:"Subscription",variant:"muted",className:a.tag}),n.jsx(y,{label:o.label,variant:o.variant,className:a.tag})]}),n.jsx("div",{className:a.rowActions,children:f?n.jsx("span",{className:a.pendingNote,children:"Logging in…"}):n.jsxs(n.Fragment,{children:[l.map(c=>n.jsx(b,{size:"xs",variant:"secondary",disabled:_,onClick:()=>k(e.id,e.name,c.authType),children:c.label},c.authType)),e.configured!==!1&&n.jsx(b,{size:"xs",variant:"ghost",disabled:_||d===e.id,loading:d===e.id,onClick:()=>void A(e),children:"Log out"})]})}),v&&n.jsx("div",{className:a.note,children:v})]},e.id)})})}export{ee as ModelProvidersPanel};
1
+ import{r as w,j as n}from"./vendor-react-DQUAl2K8.js";import{a as E}from"./vendor-query-i7fr__Xm.js";import{u as P,E as u,S as C,B as b,r as x}from"./index-DjUHduQf.js";import{S as y}from"./StatusBadge-BMKAPA9O.js";import{u as R}from"./use-provider-auth-list-BDqjbQx-.js";import{u as N}from"./provider-auth-store-9hsJ07X1.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-Dq3K7TC5.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";const j="env:";function I(t){var i;return t.configured==="unknown"?{label:"Unknown",variant:"warning"}:t.configured===!1?{label:"Not configured",variant:"muted"}:(i=t.configuredSource)!=null&&i.startsWith(j)?{label:`env: ${t.configuredSource.slice(j.length)}`,variant:"success"}:t.configuredType==="oauth"?{label:"OAuth",variant:"success"}:{label:"API key",variant:"success"}}function M(t){const i=t.configured===!0?"Re-login":"Log in";if(t.authTypes.length<=1){const s=t.authTypes[0]??"api_key";return[{authType:s,label:s==="oauth"?t.oauthLoginLabel??i:i}]}return t.authTypes.map(s=>s==="oauth"?{authType:s,label:t.oauthLoginLabel??"Log in with OAuth"}:{authType:s,label:"API key"})}const q="_list_vm1k7_1",O="_row_vm1k7_7",T="_rowMain_vm1k7_18",B="_name_vm1k7_25",z="_tag_vm1k7_33",F="_rowActions_vm1k7_37",K="_pendingNote_vm1k7_44",Q="_note_vm1k7_49",U="_errorState_vm1k7_55",a={list:q,row:O,rowMain:T,name:B,tag:z,rowActions:F,pendingNote:K,note:Q,errorState:U};function ee(){const t=P(e=>e.client),i=E(),s=N(e=>e.pendingLogin),k=N(e=>e.requestLogin),[d,g]=w.useState(null),[p,m]=w.useState({}),{data:r,isLoading:L,isError:S,error:h}=R();async function A(e){if(t&&window.confirm(`Log out of ${e.name}? Running agents keep working until their current credential use fails.`)){m(o=>({...o,[e.id]:""})),g(e.id);try{const o=await t.logoutProvider(e.id);m(l=>({...l,[e.id]:o.stillConfigured?"Removed the stored credential — still configured via an environment variable.":""})),await i.invalidateQueries({queryKey:x.providerAuthList()}),i.invalidateQueries({queryKey:x.providerModelsAll()})}finally{g(null)}}}return L?n.jsxs(u,{children:[n.jsx(C,{size:"sm"})," Loading providers…"]}):S?n.jsx(u,{className:a.errorState,children:h instanceof Error?h.message:"Failed to load providers."}):!r||r.length===0?n.jsx(u,{children:"No providers available."}):n.jsx("div",{className:a.list,children:r.map(e=>{const o=I(e),l=M(e),f=(s==null?void 0:s.provider)===e.id,_=s!==null&&!f,v=p[e.id];return n.jsxs("div",{className:a.row,children:[n.jsxs("div",{className:a.rowMain,children:[n.jsx("span",{className:a.name,children:e.name}),e.oauthIsSubscription&&n.jsx(y,{label:"Subscription",variant:"muted",className:a.tag}),n.jsx(y,{label:o.label,variant:o.variant,className:a.tag})]}),n.jsx("div",{className:a.rowActions,children:f?n.jsx("span",{className:a.pendingNote,children:"Logging in…"}):n.jsxs(n.Fragment,{children:[l.map(c=>n.jsx(b,{size:"xs",variant:"secondary",disabled:_,onClick:()=>k(e.id,e.name,c.authType),children:c.label},c.authType)),e.configured!==!1&&n.jsx(b,{size:"xs",variant:"ghost",disabled:_||d===e.id,loading:d===e.id,onClick:()=>void A(e),children:"Log out"})]})}),v&&n.jsx("div",{className:a.note,children:v})]},e.id)})})}export{ee as ModelProvidersPanel};
@@ -1 +1 @@
1
- import{r as c,j as t}from"./vendor-react-DQUAl2K8.js";import{u as I,s as W,P as w,E as N,S as k,m as q,v as U,d as X,w as Y,x as z,y as C,h as D}from"./index-BR7IITFz.js";import{F as G}from"./vendor-molviewer-DeAF8d5d.js";import{S as v}from"./StatusBadge-BMKAPA9O.js";import{u as H}from"./use-file-download-DCt9_GXp.js";import{u as K}from"./use-file-watch-bihMWgMU.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-CWFUB81y.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";function J(e,r){return!e||!r?null:{url:r,name:e.split("/").pop()||e}}function Q({changedAt:e,lastAppliedAt:r,modified:n}){return!(e===null||n||e===r)}const Z={empty_path:"Nothing to save.",too_large:"File is too large to save (over 5 MiB).",not_found:"The file no longer exists.",unreadable:"The file could not be read.",not_a_file:"That path is not a file."};async function ee(e,r,n){const a=await e.connection.request("file_write_request",{path:r,content:n});if(!a.ok){const l=a.error??"";throw new Error(Z[l]??l??"Failed to save")}}const re="mol2";function oe(e){const{sourcePath:r,monomers:n,attempt:a}=e,l=a>0?`_${a+1}`:"";return`${te(r)}_polymer_${n}${l}.${re}`}function te(e){return(e.split("/").pop()??"").replace(/\.[^.]+$/,"").trim()||"polymer"}const se={"--canvas":"var(--pi-color-surface0)","--well":"var(--pi-color-surface0)","--recess":"var(--pi-color-surface1)","--chrome":"var(--pi-color-surface1)","--control":"var(--pi-color-surface2)","--control-hover":"var(--pi-color-surface3)","--control-strong-hover":"var(--pi-color-surface4)","--border-control":"var(--pi-color-border)","--border-input":"var(--pi-color-border)","--popover":"var(--pi-color-surface1)","--popover-item-hover":"var(--pi-color-surface2)","--row-hover":"var(--pi-color-surface2)","--border-popover":"var(--pi-color-border)","--text-primary":"var(--pi-color-foreground)","--text-on-control":"var(--pi-color-foreground)"},ne="_wrap_tixu9_1",ae="_molViewer_tixu9_4",le="_badges_tixu9_8",g={wrap:ne,molViewer:ae,badges:le},ie=50;async function ce(e){const{client:r,upload:n,sourcePath:a,monomers:l,text:f}=e,p=X(a);let s=null,i="";for(let u=0;u<ie&&s===null;u+=1){i=oe({sourcePath:a,monomers:l,attempt:u});try{s=await Y(r,p,i,"file")}catch(m){if(m instanceof z&&m.code==="exists")continue;throw m}}if(s===null)throw new Error(`No free name for ${i} — too many builds in this folder.`);try{await n(p,new File([f],i,{type:"chemical/x-mol2"}))}catch(u){throw await C(r,s).catch(()=>{}),u}return s}function ue({path:e,workspaceCwd:r,tabId:n,isActive:a,onModifiedChange:l}){var T;const f=I(o=>o.client),{upload:p}=W(),s=H(e??"",!!e),{changedAt:i}=K(e),u=c.useRef(null),m=c.useRef(!1),[h,_]=c.useState(null),[E,A]=c.useState(!1),[S,x]=c.useState(null),[j,y]=c.useState(null),[M,P]=c.useState(null),b=c.useRef(null),R=((T=s.data)==null?void 0:T.objectUrl)??null,$=c.useMemo(()=>J(e,R),[e,R]);c.useEffect(()=>{Q({changedAt:i,lastAppliedAt:b.current,modified:E})&&(b.current=i,s.refetch())},[i,E,s.refetch]);const L=i!==null&&i!==b.current&&E;async function V(o){if(e){if(!f){x("Not connected — cannot save.");return}x(null);try{await ee(f,e,o.text()),o.saved()}catch(d){x(d instanceof Error?d.message:"Failed to save")}}}async function B(o){if(e){if(!f){y("Not connected — cannot save the polymer.");return}y(null),P(null);try{const d=await ce({client:f,upload:p,sourcePath:e,monomers:o.monomers,text:o.text()});o.report.clashes>0&&P(`${o.report.clashes} close contacts — relax the geometry before simulating`);const O=q.getState().paneOfTab(r,n);U(d,r,O??void 0)}catch(d){y(d instanceof Error?d.message:"Failed to save the polymer")}}}const F=(s.isError?s.error instanceof Error?s.error.message:"download failed":null)??(h==null?void 0:h.message)??null;return e&&s.isPending?t.jsx(w,{children:t.jsxs(N,{children:[t.jsx(k,{size:"sm"})," Loading..."]})}):F?t.jsx(w,{children:t.jsxs(N,{children:["Error: ",F]})}):t.jsxs(w,{className:g.wrap,"data-molecule-active":a?"true":"false",children:[t.jsxs("div",{className:g.badges,children:[L&&t.jsx(v,{label:"File changed on disk",variant:"muted"}),S&&t.jsx(v,{label:`Save failed: ${S}`,variant:"error"}),j&&t.jsx(v,{label:`Polymer build: ${j}`,variant:"error"}),M&&t.jsx(v,{label:M,variant:"warning"})]}),t.jsx(G,{ref:u,className:g.molViewer,theme:se,source:$,sourceMode:m.current?"update":"replace",onLoad:()=>{m.current=!0,_(null)},onLoadError:o=>_(o.error),onModifiedChange:o=>{A(o),l==null||l(o)},onSave:e?V:void 0,onPolymerBuild:e?B:void 0})]})}function _e({tab:e}){const{path:r}=e.data,n=D(e.id);return t.jsx(w,{children:t.jsx(ue,{path:r,workspaceCwd:e.workspaceCwd,tabId:e.id,isActive:n})})}export{_e as MoleculeViewerPanel};
1
+ import{r as c,j as t}from"./vendor-react-DQUAl2K8.js";import{u as I,v as W,P as w,E as N,S as k,o as q,w as z,d as U,x as X,y as Y,z as C,h as D}from"./index-DjUHduQf.js";import{F as G}from"./vendor-molviewer-DeAF8d5d.js";import{S as v}from"./StatusBadge-BMKAPA9O.js";import{u as H}from"./use-file-download-Bc8Kby2g.js";import{u as K}from"./use-file-watch-hu9dEdvA.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-Dq3K7TC5.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";function J(e,r){return!e||!r?null:{url:r,name:e.split("/").pop()||e}}function Q({changedAt:e,lastAppliedAt:r,modified:n}){return!(e===null||n||e===r)}const Z={empty_path:"Nothing to save.",too_large:"File is too large to save (over 5 MiB).",not_found:"The file no longer exists.",unreadable:"The file could not be read.",not_a_file:"That path is not a file."};async function ee(e,r,n){const a=await e.connection.request("file_write_request",{path:r,content:n});if(!a.ok){const l=a.error??"";throw new Error(Z[l]??l??"Failed to save")}}const re="mol2";function oe(e){const{sourcePath:r,monomers:n,attempt:a}=e,l=a>0?`_${a+1}`:"";return`${te(r)}_polymer_${n}${l}.${re}`}function te(e){return(e.split("/").pop()??"").replace(/\.[^.]+$/,"").trim()||"polymer"}const se={"--canvas":"var(--pi-color-surface0)","--well":"var(--pi-color-surface0)","--recess":"var(--pi-color-surface1)","--chrome":"var(--pi-color-surface1)","--control":"var(--pi-color-surface2)","--control-hover":"var(--pi-color-surface3)","--control-strong-hover":"var(--pi-color-surface4)","--border-control":"var(--pi-color-border)","--border-input":"var(--pi-color-border)","--popover":"var(--pi-color-surface1)","--popover-item-hover":"var(--pi-color-surface2)","--row-hover":"var(--pi-color-surface2)","--border-popover":"var(--pi-color-border)","--text-primary":"var(--pi-color-foreground)","--text-on-control":"var(--pi-color-foreground)"},ne="_wrap_tixu9_1",ae="_molViewer_tixu9_4",le="_badges_tixu9_8",g={wrap:ne,molViewer:ae,badges:le},ie=50;async function ce(e){const{client:r,upload:n,sourcePath:a,monomers:l,text:f}=e,p=U(a);let s=null,i="";for(let u=0;u<ie&&s===null;u+=1){i=oe({sourcePath:a,monomers:l,attempt:u});try{s=await X(r,p,i,"file")}catch(m){if(m instanceof Y&&m.code==="exists")continue;throw m}}if(s===null)throw new Error(`No free name for ${i} — too many builds in this folder.`);try{await n(p,new File([f],i,{type:"chemical/x-mol2"}))}catch(u){throw await C(r,s).catch(()=>{}),u}return s}function ue({path:e,workspaceCwd:r,tabId:n,isActive:a,onModifiedChange:l}){var T;const f=I(o=>o.client),{upload:p}=W(),s=H(e??"",!!e),{changedAt:i}=K(e),u=c.useRef(null),m=c.useRef(!1),[h,_]=c.useState(null),[E,A]=c.useState(!1),[S,x]=c.useState(null),[j,y]=c.useState(null),[M,P]=c.useState(null),b=c.useRef(null),R=((T=s.data)==null?void 0:T.objectUrl)??null,$=c.useMemo(()=>J(e,R),[e,R]);c.useEffect(()=>{Q({changedAt:i,lastAppliedAt:b.current,modified:E})&&(b.current=i,s.refetch())},[i,E,s.refetch]);const L=i!==null&&i!==b.current&&E;async function V(o){if(e){if(!f){x("Not connected — cannot save.");return}x(null);try{await ee(f,e,o.text()),o.saved()}catch(d){x(d instanceof Error?d.message:"Failed to save")}}}async function B(o){if(e){if(!f){y("Not connected — cannot save the polymer.");return}y(null),P(null);try{const d=await ce({client:f,upload:p,sourcePath:e,monomers:o.monomers,text:o.text()});o.report.clashes>0&&P(`${o.report.clashes} close contacts — relax the geometry before simulating`);const O=q.getState().paneOfTab(r,n);z(d,r,O??void 0)}catch(d){y(d instanceof Error?d.message:"Failed to save the polymer")}}}const F=(s.isError?s.error instanceof Error?s.error.message:"download failed":null)??(h==null?void 0:h.message)??null;return e&&s.isPending?t.jsx(w,{children:t.jsxs(N,{children:[t.jsx(k,{size:"sm"})," Loading..."]})}):F?t.jsx(w,{children:t.jsxs(N,{children:["Error: ",F]})}):t.jsxs(w,{className:g.wrap,"data-molecule-active":a?"true":"false",children:[t.jsxs("div",{className:g.badges,children:[L&&t.jsx(v,{label:"File changed on disk",variant:"muted"}),S&&t.jsx(v,{label:`Save failed: ${S}`,variant:"error"}),j&&t.jsx(v,{label:`Polymer build: ${j}`,variant:"error"}),M&&t.jsx(v,{label:M,variant:"warning"})]}),t.jsx(G,{ref:u,className:g.molViewer,theme:se,source:$,sourceMode:m.current?"update":"replace",onLoad:()=>{m.current=!0,_(null)},onLoadError:o=>_(o.error),onModifiedChange:o=>{A(o),l==null||l(o)},onSave:e?V:void 0,onPolymerBuild:e?B:void 0})]})}function _e({tab:e}){const{path:r}=e.data,n=D(e.id);return t.jsx(w,{children:t.jsx(ue,{path:r,workspaceCwd:e.workspaceCwd,tabId:e.id,isActive:n})})}export{_e as MoleculeViewerPanel};
@@ -0,0 +1 @@
1
+ import{r as o,j as s}from"./vendor-react-DQUAl2K8.js";import{E as I,B as M,S as X}from"./index-DjUHduQf.js";import{u as $}from"./use-file-download-Bc8Kby2g.js";import{W as H,G as J,p as K}from"./vendor-pdfjs-BrYGnqfM.js";import{Z as Q,a as Y,M as ee,D as te}from"./vendor-icons-Dq3K7TC5.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";const C=new URL("/pdfjs/",document.baseURI),re={cMapUrl:new URL("cmaps/",C).href,cMapPacked:!0,standardFontDataUrl:new URL("standard_fonts/",C).href,wasmUrl:new URL("wasm/",C).href,iccUrl:new URL("iccs/",C).href};function T(){var t;return(t=J).workerPort??(t.workerPort=new H({name:"pdfjs"})),K}const z=[.25,.5,.75,1,1.25,1.5,2,3,4],q=z[0],O=z[z.length-1],se=16777216,Z=1e-6;function ne(t){return z.find(r=>r>t+Z)??O}function oe(t){return z.findLast(r=>r<t-Z)??q}function ae(t,r,e){const a=t-r;return a<=0||e<=0?1:Math.min(O,Math.max(q,a/e))}function ie(t,r,e,a,c=se){const l=t*e*(r*e);return l<=0?a:Math.min(a,Math.sqrt(c/l))}function ce(t,r,e,a){const c=[];let l=a;for(const i of t)c.push(l),l+=i*r+e;return c}function le(t,r,e){const a=r+e/2,c=t.findIndex(l=>l>a);return Math.max(0,(c===-1?t.length:c)-1)}const de="_viewer_16fdq_1",ue="_toolbar_16fdq_7",fe="_pageIndicator_16fdq_18",he="_zoom_16fdq_19",me="_controls_16fdq_23",pe="_scroller_16fdq_32",ge="_stack_16fdq_40",we="_page_16fdq_18",xe="_canvas_16fdq_56",_e="_pageError_16fdq_61",ve="_failure_16fdq_71",Ee="_textLayer_16fdq_86",u={viewer:de,toolbar:ue,pageIndicator:fe,zoom:he,controls:me,scroller:pe,stack:ge,page:we,canvas:xe,pageError:_e,failure:ve,textLayer:Ee},je=12,U=16,Se="100% 0px",Pe=120,Me={invalid:"This file could not be opened as a PDF.",password:"This PDF is password-protected.",failed:"This PDF could not be loaded."};function be(t){const r=t instanceof Error?t.name:"";return r==="PasswordException"?"password":r==="InvalidPDFException"||r==="FormatError"||r==="MissingPDFException"?"invalid":"failed"}function ye(t){return t instanceof Error&&/Cancelled|destroyed/i.test(`${t.name} ${t.message}`)}function Te({path:t}){var F;const r=$(t),[e,a]=o.useState(null),[c,l]=o.useState(null),[i,D]=o.useState(null),[L,b]=o.useState(0),[h,w]=o.useState(!0),[m,S]=o.useState(1),[_,y]=o.useState(0),p=(F=r.data)==null?void 0:F.objectUrl;o.useEffect(()=>{if(!p)return;let n=!1,f=!1,x=null;return(async()=>{try{const j=new Uint8Array(await(await fetch(p)).arrayBuffer());if(n)return;x=T().getDocument({data:j,enableXfa:!1,...re});const P=await x.promise,W=await Promise.all(Array.from({length:P.numPages},async(ze,G)=>{const{width:B,height:V}=(await P.getPage(G+1)).getViewport({scale:1});return{width:B,height:V}}));if(n)return;f=!0,l(null),a({task:x,doc:P,sizes:W})}catch(j){n||l(be(j))}})(),()=>{n=!0,f||x==null||x.destroy()}},[p]),o.useEffect(()=>{const n=e==null?void 0:e.task;return()=>void(n==null?void 0:n.destroy())},[e==null?void 0:e.task]),o.useEffect(()=>{if(!i)return;let n,f=!0;const x=new ResizeObserver(([j])=>{const P=(j==null?void 0:j.contentRect.width)??0;if(clearTimeout(n),f){f=!1,b(P);return}n=setTimeout(()=>b(P),Pe)});return x.observe(i),()=>{clearTimeout(n),x.disconnect()}},[i]);const g=e==null?void 0:e.sizes,v=o.useMemo(()=>Math.max(0,...(g??[]).map(n=>n.width)),[g]),d=h?ae(L,U*2,v):m,E=o.useMemo(()=>ce((g??[]).map(n=>n.height),d,je,U),[g,d]),k=()=>{i&&y(le(E,i.scrollTop,i.clientHeight))},N=o.useRef(d);o.useLayoutEffect(()=>{i&&N.current!==d&&(i.scrollTop=i.scrollTop*d/N.current),N.current=d},[d,i]),o.useEffect(k,[E,i]);const A=()=>{var f;if(!p)return;const n=document.createElement("a");n.href=p,n.download=((f=r.data)==null?void 0:f.fileName)||t.split("/").pop()||"document.pdf",n.click()};if(r.isError)return s.jsxs(I,{children:["Error: ",r.error instanceof Error?r.error.message:"unknown error"]});if(c&&!e)return s.jsxs("div",{className:u.failure,children:[s.jsx("span",{children:Me[c]}),s.jsx(M,{size:"sm",onClick:A,children:"Download"})]});if(!e)return s.jsxs(I,{children:[s.jsx(X,{size:"sm"})," Loading PDF..."]});if(e.sizes.length===0)return s.jsxs("div",{className:u.failure,children:[s.jsx("span",{children:"This PDF has no pages."}),s.jsx(M,{size:"sm",onClick:A,children:"Download"})]});const R=n=>{S(n(d)),w(!1)};return s.jsxs("div",{className:u.viewer,children:[s.jsxs("div",{className:u.toolbar,children:[s.jsxs("span",{className:u.pageIndicator,"aria-live":"polite",children:[_+1," / ",e.sizes.length]}),s.jsxs("div",{className:u.controls,children:[s.jsx(M,{size:"xs",variant:"ghost",iconOnly:!0,"aria-label":"Zoom out",onClick:()=>R(oe),children:s.jsx(Q,{size:14})}),s.jsxs("span",{className:u.zoom,children:[Math.round(d*100),"%"]}),s.jsx(M,{size:"xs",variant:"ghost",iconOnly:!0,"aria-label":"Zoom in",onClick:()=>R(ne),children:s.jsx(Y,{size:14})}),s.jsx(M,{size:"xs",variant:h?"default":"ghost",iconOnly:!0,"aria-label":"Fit width","aria-pressed":h,onClick:()=>w(n=>!n),children:s.jsx(ee,{size:14})}),s.jsx(M,{size:"xs",variant:"ghost",iconOnly:!0,"aria-label":"Download PDF",onClick:A,children:s.jsx(te,{size:14})})]})]}),s.jsx("div",{ref:D,className:u.scroller,onScroll:k,children:s.jsx("div",{className:u.stack,children:e.sizes.map((n,f)=>s.jsx(ke,{doc:e.doc,pageNumber:f+1,size:n,scale:d,root:i},f))})})]})}function ke({doc:t,pageNumber:r,size:e,scale:a,root:c}){const l=o.useRef(null),[i,D]=o.useState(!1),[L,b]=o.useState(null);return o.useEffect(()=>{const h=l.current;if(!c||!h)return;const w=new IntersectionObserver(([m])=>D((m==null?void 0:m.isIntersecting)??!1),{root:c,rootMargin:Se});return w.observe(h),()=>w.disconnect()},[c]),o.useEffect(()=>{const h=l.current;if(!h)return;if(!i){h.replaceChildren();return}let w=!1,m=null,S=null;return(async()=>{try{const _=T(),y=await t.getPage(r),p=y.getViewport({scale:a}),g=ie(e.width,e.height,a,window.devicePixelRatio||1),v=document.createElement("canvas");v.width=Math.floor(p.width*g),v.height=Math.floor(p.height*g),v.className=u.canvas??"";const d=y.render({canvas:v,viewport:p,transform:g===1?void 0:[g,0,0,g,0,0]});m=d,await d.promise;const E=document.createElement("div");E.className=`textLayer ${u.textLayer??""}`,E.style.setProperty("--total-scale-factor",String(a));const k=new _.TextLayer({textContentSource:y.streamTextContent(),container:E,viewport:p});if(S=k,await k.render(),w)return;h.replaceChildren(v,E),b(null)}catch(_){!w&&!ye(_)&&b(_ instanceof Error?_.message:"render failed")}})(),()=>{w=!0,m==null||m.cancel(),S==null||S.cancel()}},[i,t,r,a,e.width,e.height]),s.jsx("div",{ref:l,className:u.page,style:{width:e.width*a,height:e.height*a},"data-page":r,children:L&&s.jsxs("span",{className:u.pageError,children:["Page ",r," failed to render."]})})}export{Te as PdfViewer};
@@ -0,0 +1 @@
1
+ ._viewer_16fdq_1{display:flex;flex-direction:column;height:100%;min-height:0}._toolbar_16fdq_7{display:flex;align-items:center;justify-content:space-between;gap:var(--pi-spacing-8);padding:var(--pi-spacing-4) var(--pi-spacing-14);background:var(--pi-color-surface1);border-bottom:1px solid var(--pi-color-border);font-size:var(--pi-font-size-xs);flex-shrink:0}._pageIndicator_16fdq_18,._zoom_16fdq_19{color:var(--pi-color-foregroundMuted);font-variant-numeric:tabular-nums}._controls_16fdq_23{display:flex;align-items:center;gap:var(--pi-spacing-4)}._zoom_16fdq_19{min-width:3.5em;text-align:center}._scroller_16fdq_32{flex:1;min-height:0;overflow:auto;background:var(--pi-color-surface0)}._stack_16fdq_40{display:flex;flex-direction:column;gap:12px;padding:16px;width:max-content;min-width:100%;box-sizing:border-box}._page_16fdq_18{position:relative;flex-shrink:0;margin:0 auto;background:#fff;border:1px solid var(--pi-color-border)}._canvas_16fdq_56{display:block;width:100%;height:100%}._pageError_16fdq_61{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--pi-spacing-8);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-xs)}._failure_16fdq_71{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--pi-spacing-12);height:100%;padding:var(--pi-spacing-20);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-xs)}._textLayer_16fdq_86{position:absolute;top:0;right:0;bottom:0;left:0;overflow:clip;color-scheme:only light;line-height:1;text-align:initial;transform-origin:0 0;forced-color-adjust:none;text-size-adjust:none;--min-font-size: 1;--text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv: calc(1 / var(--min-font-size))}._textLayer_16fdq_86 :is(span,br){position:absolute;color:transparent;white-space:pre;cursor:text;transform-origin:0% 0%;-webkit-user-select:text;user-select:text}._textLayer_16fdq_86>:not(.markedContent),._textLayer_16fdq_86 .markedContent span:not(.markedContent){--font-height: 0;--scale-x: 1;--rotate: 0deg;font-size:calc(var(--text-scale-factor) * var(--font-height));transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}._textLayer_16fdq_86 .markedContent{display:contents}._textLayer_16fdq_86 ::selection{background:color-mix(in srgb,var(--pi-color-accent) 35%,transparent)}