pisper 0.5.2-linux-x64.0 → 0.5.2

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 (295) hide show
  1. package/README.en.md +224 -0
  2. package/README.md +78 -78
  3. package/bin/pisper.mjs +48 -0
  4. package/lib/install.mjs +392 -0
  5. package/lib/npm-platform.mjs +41 -0
  6. package/lib/npm-update.mjs +165 -0
  7. package/lib/platform.mjs +43 -0
  8. package/lib/postinstall.mjs +3 -0
  9. package/package.json +36 -14
  10. package/updater.pubkey +1 -0
  11. package/web/.vite/manifest.json +2326 -0
  12. package/web/assets/AnimatedContent-BiVNqD3m.js +1 -0
  13. package/web/assets/AnimatedList-D6P3Wwa6.js +1 -0
  14. package/web/assets/AppOverlays-DtsDAFVk.js +1 -0
  15. package/web/assets/AppSelect--dqy70Zh.js +1 -0
  16. package/web/assets/AssetsPage-CqikJ7bd.js +1 -0
  17. package/web/assets/ChannelsPage-4KQV1Uuw.js +1 -0
  18. package/web/assets/ChatHistoryPage-Soc6C0DX.js +1 -0
  19. package/web/assets/ChatPage-CKoD08Hs.js +8 -0
  20. package/web/assets/ClickSpark-BxLJ1PyT.js +1 -0
  21. package/web/assets/ConfigPage-DbeH-0Vq.js +1 -0
  22. package/web/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  23. package/web/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  24. package/web/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  25. package/web/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  26. package/web/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  27. package/web/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  28. package/web/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  29. package/web/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  30. package/web/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  31. package/web/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  32. package/web/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  33. package/web/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  34. package/web/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  35. package/web/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  36. package/web/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  37. package/web/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  38. package/web/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  39. package/web/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  40. package/web/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  41. package/web/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  42. package/web/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  43. package/web/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  44. package/web/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  45. package/web/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  46. package/web/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  47. package/web/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  48. package/web/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  49. package/web/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  50. package/web/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  51. package/web/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  52. package/web/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  53. package/web/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  54. package/web/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  55. package/web/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  56. package/web/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  57. package/web/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  58. package/web/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  59. package/web/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  60. package/web/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  61. package/web/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  62. package/web/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  63. package/web/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  64. package/web/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  65. package/web/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  66. package/web/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  67. package/web/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  68. package/web/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  69. package/web/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  70. package/web/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  71. package/web/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  72. package/web/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  73. package/web/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  74. package/web/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  75. package/web/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  76. package/web/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  77. package/web/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  78. package/web/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  79. package/web/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  80. package/web/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  81. package/web/assets/MarkdownMessage-CLXr6tR2.js +1 -0
  82. package/web/assets/MemoryPage-C65Ml0Kk.js +1 -0
  83. package/web/assets/PageHeader-wYQsaIzH.js +1 -0
  84. package/web/assets/PluginsPage-WDW-MP0Z.js +1 -0
  85. package/web/assets/PreviewPages-BaBPZCa-.js +1 -0
  86. package/web/assets/SchedulesPage-DD0E7pbR.js +1 -0
  87. package/web/assets/ShinyText-K2BPzduJ.js +1 -0
  88. package/web/assets/SkillsPage-BMIKSMzv.js +1 -0
  89. package/web/assets/StarOrbit-BlI6MhVr.js +1 -0
  90. package/web/assets/TerminalPanel-BXLOd4AI.js +18 -0
  91. package/web/assets/TerminalPanel-BrP-ENHg.css +1 -0
  92. package/web/assets/Threads-CS40baGh.js +1 -0
  93. package/web/assets/WelcomeEffects-Cqgskdga.js +1 -0
  94. package/web/assets/WorkflowsPage-CSuSRaeP.js +1 -0
  95. package/web/assets/alert-B7D8joCd.js +1 -0
  96. package/web/assets/andromeeda-vGVdxbeo.js +1 -0
  97. package/web/assets/angular-html-17rlCfBS.js +1 -0
  98. package/web/assets/angular-ts-it3MaXWH.js +1 -0
  99. package/web/assets/app-primitives-B_kzSTuJ.js +1 -0
  100. package/web/assets/astro-BEVDzCov.js +1 -0
  101. package/web/assets/aurora-x-CDeNXAV0.js +1 -0
  102. package/web/assets/ayu-dark-DluEY0Gj.js +1 -0
  103. package/web/assets/ayu-light-C3h-C4tm.js +1 -0
  104. package/web/assets/ayu-mirage-Bqwy1Gya.js +1 -0
  105. package/web/assets/badge-BNonIEif.js +1 -0
  106. package/web/assets/blade-B3yUZIOx.js +1 -0
  107. package/web/assets/brand-CFOXmGdd.js +1 -0
  108. package/web/assets/c-aGSZMVdM.js +1 -0
  109. package/web/assets/catppuccin-frappe-C9Q5zVZY.js +1 -0
  110. package/web/assets/catppuccin-latte-CtsyrtPq.js +1 -0
  111. package/web/assets/catppuccin-macchiato-R8nAf1vR.js +1 -0
  112. package/web/assets/catppuccin-mocha-DjuaAJKi.js +1 -0
  113. package/web/assets/chevron-down-DybEa6xm.js +1 -0
  114. package/web/assets/circle-dot-BdcN0YM6.js +1 -0
  115. package/web/assets/code-block-2QN4kmKi.js +1 -0
  116. package/web/assets/coffee-ouOQ86EC.js +1 -0
  117. package/web/assets/copy-O4BLU533.js +1 -0
  118. package/web/assets/cpp-Bm3vm43L.js +1 -0
  119. package/web/assets/createLucideIcon-BEEvpXLl.js +1 -0
  120. package/web/assets/css-CWcS1xXm.js +1 -0
  121. package/web/assets/csv-Dx-8-gkx.js +1 -0
  122. package/web/assets/dark-plus-Cs2F2srj.js +1 -0
  123. package/web/assets/dist-24sBsNk3.js +1 -0
  124. package/web/assets/dist-B2WU7fS_.js +1 -0
  125. package/web/assets/dist-BkftCMO2.js +1 -0
  126. package/web/assets/dist-BmM8XOsV.js +1 -0
  127. package/web/assets/dracula-BHWKrbxM.js +1 -0
  128. package/web/assets/dracula-soft-5eyTD99u.js +1 -0
  129. package/web/assets/es2015-D3OlFTmJ.js +41 -0
  130. package/web/assets/everforest-dark-sB-x3p7T.js +1 -0
  131. package/web/assets/everforest-light-Df2xbC6M.js +1 -0
  132. package/web/assets/eye-BMzzoABY.js +1 -0
  133. package/web/assets/file-CvhJitS9.js +1 -0
  134. package/web/assets/file-code-corner-lCJOIDbw.js +1 -0
  135. package/web/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  136. package/web/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  137. package/web/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  138. package/web/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  139. package/web/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  140. package/web/assets/github-dark-C-LZuMrd.js +1 -0
  141. package/web/assets/github-dark-default-DXG-b-1a.js +1 -0
  142. package/web/assets/github-dark-dimmed-Bx1FflLF.js +1 -0
  143. package/web/assets/github-dark-high-contrast-B_tTalzw.js +1 -0
  144. package/web/assets/github-light-EUqPIrTm.js +1 -0
  145. package/web/assets/github-light-default-BXViO-2h.js +1 -0
  146. package/web/assets/github-light-high-contrast-B68TUdTA.js +1 -0
  147. package/web/assets/glsl-TOBAB6bO.js +1 -0
  148. package/web/assets/graphql-BEmIBNve.js +1 -0
  149. package/web/assets/gruvbox-dark-hard-C820rvS2.js +1 -0
  150. package/web/assets/gruvbox-dark-medium-BPjhmG05.js +1 -0
  151. package/web/assets/gruvbox-dark-soft-MrdJrrXF.js +1 -0
  152. package/web/assets/gruvbox-light-hard-BC_s9l72.js +1 -0
  153. package/web/assets/gruvbox-light-medium-BAWPOn9u.js +1 -0
  154. package/web/assets/gruvbox-light-soft-BSMLrYjP.js +1 -0
  155. package/web/assets/haml-CDWtFtU9.js +1 -0
  156. package/web/assets/handlebars-BNtjo3pL.js +1 -0
  157. package/web/assets/horizon-CE9ld1lL.js +1 -0
  158. package/web/assets/horizon-bright-DSNQnXHK.js +1 -0
  159. package/web/assets/houston-CsvMBhTu.js +1 -0
  160. package/web/assets/html-BVyvp26C.js +1 -0
  161. package/web/assets/html-derivative-BseLpURQ.js +1 -0
  162. package/web/assets/http-CkCfSMV9.js +1 -0
  163. package/web/assets/hurl-syYMt6Rn.js +1 -0
  164. package/web/assets/image-M6XRBbhu.js +1 -0
  165. package/web/assets/imba-DsUTQ-LC.js +1 -0
  166. package/web/assets/index-DoRSkbHW.js +6 -0
  167. package/web/assets/index-DpxwLREi.css +2 -0
  168. package/web/assets/java-duG_UTKe.js +1 -0
  169. package/web/assets/javascript-DWVbOe4X.js +1 -0
  170. package/web/assets/jinja-Boj4niAz.js +1 -0
  171. package/web/assets/jison-CHwnC1Pv.js +1 -0
  172. package/web/assets/json-qhed-kSA.js +1 -0
  173. package/web/assets/json5-BR5RXkoi.js +1 -0
  174. package/web/assets/jsonc-CYpm1nAK.js +1 -0
  175. package/web/assets/jsonl-CmCQp5Yx.js +1 -0
  176. package/web/assets/jsx-fcCEM_-L.js +1 -0
  177. package/web/assets/julia-VoF7UKfw.js +1 -0
  178. package/web/assets/kanagawa-dragon-Bozd7klA.js +1 -0
  179. package/web/assets/kanagawa-lotus-BmuOG9ZW.js +1 -0
  180. package/web/assets/kanagawa-wave-BML5mF2J.js +1 -0
  181. package/web/assets/laserwave-C_8bwKvT.js +1 -0
  182. package/web/assets/less-DVTAwKKz.js +1 -0
  183. package/web/assets/light-plus-DVQuIRkW.js +1 -0
  184. package/web/assets/link-2-Dd2E7M_B.js +1 -0
  185. package/web/assets/markdown-BYOwaDjH.js +1 -0
  186. package/web/assets/marko-Cupn1xhw.js +1 -0
  187. package/web/assets/material-theme-Bm3Qr25_.js +1 -0
  188. package/web/assets/material-theme-darker-2IIEA8gg.js +1 -0
  189. package/web/assets/material-theme-lighter-uhdI0v04.js +1 -0
  190. package/web/assets/material-theme-ocean-CHQ94UKr.js +1 -0
  191. package/web/assets/material-theme-palenight-B5W6OYN7.js +1 -0
  192. package/web/assets/mdc-4FfK5iWR.js +1 -0
  193. package/web/assets/mdx-DQZ5AkYe.js +1 -0
  194. package/web/assets/message-circle-Bi-lz-6t.js +1 -0
  195. package/web/assets/min-dark-BSWPekZh.js +1 -0
  196. package/web/assets/min-light-DDpmG2fV.js +1 -0
  197. package/web/assets/monokai-B_bV9PQ9.js +1 -0
  198. package/web/assets/network-UhG-ym-z.js +1 -0
  199. package/web/assets/night-owl-DhmEMT88.js +1 -0
  200. package/web/assets/night-owl-light-eJ-hLW7d.js +1 -0
  201. package/web/assets/nord-Cb4Vim4T.js +1 -0
  202. package/web/assets/one-dark-pro-CLwyXe_n.js +1 -0
  203. package/web/assets/one-light-D7Lr4KcI.js +1 -0
  204. package/web/assets/panel-top-BnVDkV60.js +1 -0
  205. package/web/assets/paperclip-D7mny7G8.js +1 -0
  206. package/web/assets/pencil-DpO4AUNy.js +1 -0
  207. package/web/assets/php-CUREQQ7f.js +1 -0
  208. package/web/assets/pick-system-directory-DiLmN6UZ.js +1 -0
  209. package/web/assets/plastic-DQwYfKfQ.js +1 -0
  210. package/web/assets/play-3QiwbcM7.js +1 -0
  211. package/web/assets/plus-CI2ql0x4.js +1 -0
  212. package/web/assets/poimandres-DRFjx7u4.js +1 -0
  213. package/web/assets/postcss-BXeXVLqQ.js +1 -0
  214. package/web/assets/progress-Byd1ZX3L.js +6 -0
  215. package/web/assets/pug-CQyGKZpv.js +1 -0
  216. package/web/assets/python-gzcpVVnB.js +1 -0
  217. package/web/assets/r-C5FwQflr.js +1 -0
  218. package/web/assets/react-bits-BFnYwuxx.css +1 -0
  219. package/web/assets/red-DX1BQOs8.js +1 -0
  220. package/web/assets/regexp--aR2_iz7.js +1 -0
  221. package/web/assets/rolldown-runtime-B0Z9INg1.js +1 -0
  222. package/web/assets/rose-pine-aMsaMD1D.js +1 -0
  223. package/web/assets/rose-pine-dawn-8PwUyIlP.js +1 -0
  224. package/web/assets/rose-pine-moon-DO-qXg-I.js +1 -0
  225. package/web/assets/sass-DXrisJhu.js +1 -0
  226. package/web/assets/save-D--1z1bw.js +1 -0
  227. package/web/assets/scss-Davl4E3T.js +1 -0
  228. package/web/assets/search-CVBbTPAG.js +1 -0
  229. package/web/assets/shellscript-CLZ0U2zV.js +1 -0
  230. package/web/assets/shield-check-mwXhKsZm.js +1 -0
  231. package/web/assets/slack-dark-DnToyrRv.js +1 -0
  232. package/web/assets/slack-ochin-B2OO5cIa.js +1 -0
  233. package/web/assets/smithy-Dgaz7aur.js +1 -0
  234. package/web/assets/snazzy-light-4G7pJPwS.js +1 -0
  235. package/web/assets/solarized-dark-UdsmMDCL.js +1 -0
  236. package/web/assets/solarized-light-C1IUL_tW.js +1 -0
  237. package/web/assets/sql-b92rrcVl.js +1 -0
  238. package/web/assets/square-C7qN58NE.js +1 -0
  239. package/web/assets/square-terminal-C9TjK-fA.js +1 -0
  240. package/web/assets/storage-BbqIMx9Y.js +1 -0
  241. package/web/assets/stylus-B6D30XZt.js +1 -0
  242. package/web/assets/svelte-BfstjgUc.js +1 -0
  243. package/web/assets/switch-CDwl5ZJs.js +1 -0
  244. package/web/assets/synthwave-84-nFMaYfgc.js +1 -0
  245. package/web/assets/tabs-Bz7CDa49.js +1 -0
  246. package/web/assets/terminal-ClxNGVIF.js +1 -0
  247. package/web/assets/terminal-W3Nzf7fR.js +2 -0
  248. package/web/assets/tokyo-night-oM2G3aXe.js +1 -0
  249. package/web/assets/trash-2-CATziWCd.js +1 -0
  250. package/web/assets/ts-tags-Cckpt1jI.js +1 -0
  251. package/web/assets/tsx-JMDX3aQ7.js +1 -0
  252. package/web/assets/typescript-BAz-bF8J.js +1 -0
  253. package/web/assets/use-i18n-CubNtfu7.js +1 -0
  254. package/web/assets/usePagePrimaryAction-Bw0OFTDZ.js +1 -0
  255. package/web/assets/utils-C8uzG5AZ.js +1 -0
  256. package/web/assets/vendor-dockview-D5adAaCg.css +1 -0
  257. package/web/assets/vendor-dockview-yY5mBM3U.js +1 -0
  258. package/web/assets/vendor-markdown-lQaMEIxc.js +130 -0
  259. package/web/assets/vendor-markdown-plugins-ERG5SnGL.js +263 -0
  260. package/web/assets/vendor-motion-XxgxfZSY.js +9 -0
  261. package/web/assets/vendor-react-CHuvPdJE.js +9 -0
  262. package/web/assets/vendor-router-Bw2aAdMs.js +4 -0
  263. package/web/assets/vendor-shiki-runtime-DFSfH2tH.js +153 -0
  264. package/web/assets/vendor-state-DE1O_s6m.js +1 -0
  265. package/web/assets/vendor-ui-DvrYggeS.js +1 -0
  266. package/web/assets/vendor-xyflow-CnjXtcyK.js +7 -0
  267. package/web/assets/vendor-xyflow-DLioOiRN.css +1 -0
  268. package/web/assets/vesper-DdrHHSXu.js +1 -0
  269. package/web/assets/vitesse-black-fwtXNY1n.js +1 -0
  270. package/web/assets/vitesse-dark-BZCL-v6S.js +1 -0
  271. package/web/assets/vitesse-light-VbXTXTou.js +1 -0
  272. package/web/assets/vue-3H7P6ncC.js +1 -0
  273. package/web/assets/vue-html-DZGW9MGR.js +1 -0
  274. package/web/assets/vue-vine-BECt67gq.js +1 -0
  275. package/web/assets/wasm-BnjxR4X6.js +1 -0
  276. package/web/assets/wasm-ByWQv1Qj.js +1 -0
  277. package/web/assets/wgsl-BsKzXJz4.js +1 -0
  278. package/web/assets/wit-DdvCle-K.js +1 -0
  279. package/web/assets/wrench-BaMct6KV.js +1 -0
  280. package/web/assets/xml-CNfvW5JP.js +1 -0
  281. package/web/assets/yaml-rwi0_p6S.js +1 -0
  282. package/web/assets/zap-Ch1TQ5QU.js +1 -0
  283. package/web/favicon.svg +25 -0
  284. package/web/icons.svg +24 -0
  285. package/web/index.html +57 -0
  286. package/web/memory-galaxy-background.webp +0 -0
  287. package/web/notification-sw.js +13 -0
  288. package/web/release-notes.json +5 -0
  289. package/web/tauri-pet.css +117 -0
  290. package/web/tauri-pet.html +16 -0
  291. package/web/tauri-pet.js +117 -0
  292. package/components/runtime/Pisper_Runtime_Node_0.5.2_linux_x86_64.tar.gz +0 -0
  293. package/components/runtime/Pisper_Runtime_Node_0.5.2_linux_x86_64.tar.gz.sig +0 -1
  294. package/components/tui/Pisper_TUI_Component_0.5.2_linux_x86_64.tar.gz +0 -0
  295. package/components/tui/Pisper_TUI_Component_0.5.2_linux_x86_64.tar.gz.sig +0 -1
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./vendor-react-CHuvPdJE.js";import{t as r}from"./utils-C8uzG5AZ.js";import{n as i,r as a,t as o}from"./vendor-motion-XxgxfZSY.js";var s=e(t(),1),c=n();function l({children:e,show:t,distance:n=100,direction:l=`vertical`,reverse:u=!1,duration:d=.8,initialOpacity:f=0,animateOpacity:p=!0,scale:m=1,className:h}){let g=i(),[_,v]=(0,s.useState)(!1),y=l===`horizontal`?`x`:`y`,b=u?-n:n,x=g?{opacity:1,width:l===`horizontal`?0:`auto`}:{[y]:b,opacity:p?f:1,scale:m,width:l===`horizontal`?0:`auto`},S=g?{opacity:1,width:`auto`}:{[y]:0,opacity:1,scale:1,width:`auto`};return(0,c.jsx)(a,{children:t?(0,c.jsx)(o.div,{animate:S,className:r(`rb-animated-content`,h),exit:x,initial:x,onAnimationComplete:()=>v(!0),onAnimationStart:()=>v(!1),style:{overflow:_?`visible`:`hidden`},transition:g?{duration:0}:{duration:d,ease:[.22,1,.36,1]},children:e}):null})}export{l as AnimatedContent};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./vendor-react-CHuvPdJE.js";import{t as r}from"./utils-C8uzG5AZ.js";import{r as i,t as a}from"./vendor-motion-XxgxfZSY.js";/* empty css */var o=e(t(),1),s=n();function c({children:e,className:t}){return(0,s.jsx)(i,{initial:!1,mode:`popLayout`,children:o.Children.toArray(e).map((e,n)=>(0,s.jsx)(a.div,{animate:{opacity:1,y:0},className:r(`rb-animated-list-item`,t),exit:{opacity:0,y:-4},initial:{opacity:0,y:6},layout:`position`,transition:{duration:.18,ease:[.22,1,.36,1]},children:e},e.key??n))})}export{c as AnimatedList};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./vendor-react-CHuvPdJE.js";import{t as r}from"./use-i18n-CubNtfu7.js";import{t as i}from"./plus-CI2ql0x4.js";import{t as a}from"./search-CVBbTPAG.js";import{G as o,b as s,c,et as l,f as u,h as d,l as f,m as p,o as m,s as h,v as g}from"./index-DoRSkbHW.js";var _=e(t(),1),v=n();function y({navigation:e,onClose:t,onNavigate:n,onOpenSession:o,onNewChat:d}){let{t:p,language:m}=r(),[y,b]=(0,_.useState)(``),[x,S]=(0,_.useState)([]),[C,w]=(0,_.useState)(0);(0,_.useEffect)(()=>{let e=!0;return s(`/api/sessions`).then(t=>{e&&S(t.sessions||[])}).catch(()=>{}),()=>{e=!1}},[]);let T=(0,_.useMemo)(()=>{let t=y.trim().toLocaleLowerCase(m),r=(...e)=>!t||e.some(e=>String(e||``).toLocaleLowerCase(m).includes(t)),a=[],s=p(`navigation:appOverlays.newChat`);r(s,p(`navigation:appOverlays.actions`))&&a.push({id:`action:new-chat`,Icon:i,label:s,hint:p(`navigation:appOverlays.actions`),run:d});for(let[t,i]of e)for(let[e,o,s]of i)r(o,t,e)&&a.push({id:`page:${e}`,Icon:s,label:o,hint:t,run:()=>n(e)});for(let e of[...x].sort((e,t)=>Date.parse(t.modified)-Date.parse(e.modified)))if(r(e.name,e.firstMessage)&&(a.push({id:`session:${e.id}`,Icon:l,label:e.name||p(`navigation:appOverlays.untitledChat`),hint:g(e.modified,m),run:()=>o(e.id)}),a.filter(e=>e.id.startsWith(`session:`)).length>=8))break;return a},[m,e,n,d,o,y,x,p]);(0,_.useEffect)(()=>{w(0)},[y]);let E=Math.min(C,Math.max(0,T.length-1)),D=e=>{e&&(t(),e.run())};return(0,v.jsx)(h,{open:!0,onOpenChange:e=>!e&&t(),children:(0,v.jsxs)(c,{showCloseButton:!1,className:`command-palette top-[16vh]! max-w-[calc(100vw-40px)]! translate-y-0! gap-0 p-0 ring-0 max-sm:top-[8vh]! sm:max-w-[560px]!`,children:[(0,v.jsx)(u,{className:`sr-only`,children:p(`navigation:appOverlays.commandPalette`)}),(0,v.jsx)(f,{className:`sr-only`,children:p(`navigation:appOverlays.searchPagesChatsOrActions`)}),(0,v.jsxs)(`label`,{className:`palette-input`,children:[(0,v.jsx)(a,{size:16}),(0,v.jsx)(`input`,{autoFocus:!0,value:y,onChange:e=>b(e.target.value),onKeyDown:e=>{e.key===`ArrowDown`?(e.preventDefault(),w(e=>T.length?(e+1)%T.length:0)):e.key===`ArrowUp`?(e.preventDefault(),w(e=>T.length?(e-1+T.length)%T.length:0)):e.key===`Enter`?(e.preventDefault(),D(T[E])):e.key===`Escape`&&(e.preventDefault(),t())},placeholder:p(`navigation:appOverlays.searchPagesChatsOrActions`)}),(0,v.jsx)(`kbd`,{children:`Esc`})]}),(0,v.jsxs)(`div`,{className:`palette-list`,role:`listbox`,"aria-label":p(`navigation:appOverlays.commandPalette`),children:[T.map((e,t)=>(0,v.jsxs)(`button`,{type:`button`,className:`palette-item ${t===E?`active`:``}`,role:`option`,"aria-selected":t===E,onMouseEnter:()=>w(t),onClick:()=>D(e),children:[(0,v.jsx)(e.Icon,{size:15}),(0,v.jsx)(`span`,{className:`palette-item-label`,children:e.label}),(0,v.jsx)(`span`,{className:`palette-item-hint`,children:e.hint})]},e.id)),!T.length&&(0,v.jsx)(`div`,{className:`palette-empty`,children:p(`navigation:appOverlays.noMatchingResults`)})]})]})})}function b({type:e,close:t,notify:n}){let{t:a}=r(),s={chat:a(`navigation:appOverlays.newChat2`),assets:a(`navigation:appOverlays.exportAsset`),channels:a(`navigation:appOverlays.connectChannel`),schedules:a(`navigation:appOverlays.newScheduledTask`),config:a(`navigation:appOverlays.addProvider`),plugins:a(`navigation:appOverlays.savePluginPolicy`),memory:a(`navigation:appOverlays.addMemory`),mcp:a(`navigation:appOverlays.addMCPService`),skills:a(`navigation:appOverlays.installSkill`)}[e]||a(`navigation:appOverlays.newProject`),l=[a(`navigation:appOverlays.default`),a(`navigation:appOverlays.custom`),a(`navigation:appOverlays.createFromTemplate`)];return(0,v.jsx)(h,{open:!0,onOpenChange:e=>!e&&t(),children:(0,v.jsx)(c,{showCloseButton:!1,className:`modal max-w-[430px]! gap-0 rounded-dialog border-surface-highlight p-[18px] shadow-dialog ring-0`,children:(0,v.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),n(a(`navigation:appOverlays.actionSucceeded`,{action:s})),t()},children:[(0,v.jsxs)(`div`,{className:`card-head`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(u,{children:s}),(0,v.jsx)(f,{children:a(`navigation:appOverlays.enterTheBasicDetailsToContinue`)})]}),(0,v.jsx)(d,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":a(`navigation:appOverlays.closeDialog`),title:a(`navigation:appOverlays.closeDialog`),onClick:t,children:(0,v.jsx)(o,{className:`size-[17px]`})})]}),(0,v.jsxs)(m,{className:`field-label items-start`,children:[a(`navigation:appOverlays.name`),(0,v.jsx)(p,{name:`name`,placeholder:a(`navigation:appOverlays.enterAName`)})]}),(0,v.jsxs)(m,{className:`field-label items-start`,children:[a(`navigation:appOverlays.description`),(0,v.jsx)(p,{name:`description`,placeholder:a(`navigation:appOverlays.addAShortDescription`)})]}),(0,v.jsx)(m,{className:`field-label items-start`,htmlFor:`quick-create-type`,children:a(`navigation:appOverlays.type`)}),(0,v.jsx)(`select`,{id:`quick-create-type`,name:`type`,defaultValue:l[0],className:`mt-1 w-full bg-surface-subtle`,children:l.map(e=>(0,v.jsx)(`option`,{value:e,children:e},e))}),(0,v.jsxs)(`div`,{className:`modal-actions`,children:[(0,v.jsx)(d,{type:`button`,variant:`secondary`,onClick:t,children:a(`navigation:appOverlays.cancel`)}),(0,v.jsxs)(d,{type:`submit`,children:[(0,v.jsx)(i,{className:`size-3.5`}),a(`navigation:appOverlays.create`)]})]})]})})})}export{y as CommandPalette,b as QuickCreate};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n,t as r}from"./vendor-react-CHuvPdJE.js";import{i,n as a}from"./dist-BmM8XOsV.js";import{d as o,f as s,m as c,p as l,u}from"./use-i18n-CubNtfu7.js";import{a as d,i as f,r as p,s as m,t as h}from"./dist-B2WU7fS_.js";import{a as g,i as _,n as v,r as y,s as b,t as x,u as S}from"./es2015-D3OlFTmJ.js";import{n as C,t as w}from"./dist-24sBsNk3.js";import{i as T}from"./tabs-Bz7CDa49.js";import{t as E}from"./utils-C8uzG5AZ.js";import{t as D}from"./createLucideIcon-BEEvpXLl.js";import{t as O}from"./chevron-down-DybEa6xm.js";import{mt as k}from"./index-DoRSkbHW.js";var A=e(n(),1),j=e(t(),1),M=Object.defineProperty,ee=(e,t)=>M(e,`name`,{value:t,configurable:!0});function N(e){let t=j.useRef({value:e,previous:e});return j.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}ee(N,`usePrevious`);var P=Object.defineProperty,F=(e,t)=>P(e,`name`,{value:t,configurable:!0});function I(e,[t,n]){return Math.min(n,Math.max(t,e))}F(I,`clamp`);var L=r(),te=Object.defineProperty,R=(e,t)=>te(e,`name`,{value:t,configurable:!0}),z=[` `,`Enter`,`ArrowUp`,`ArrowDown`],B=[` `,`Enter`],V=`Select`,[H,U,W]=k(V),[G,ne]=l(V,[W,d]),K=d(),[re,q]=G(V),[ie,ae]=G(V);function J(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:l,name:d,autoComplete:p,disabled:m,required:h,form:g,internal_do_not_use_render:_}=e,v=K(t),[y,b]=j.useState(null),[x,S]=j.useState(null),[w,E]=j.useState(!1),D=T(l),[O,k]=u({prop:r,defaultProp:i??!1,onChange:a,caller:V}),[A,M]=u({prop:o,defaultProp:s,onChange:c,caller:V}),ee=j.useRef(null),N=j.useRef(A);j.useEffect(()=>{let e=g?y?.ownerDocument.getElementById(g):y?.form;if(e instanceof HTMLFormElement){let t=R(()=>M(N.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[g,y,M]);let P=!y||!!g||!!y.closest(`form`),[F,I]=j.useState(new Set),te=C(),z=Array.from(F).map(e=>e.props.value).join(`;`),B=j.useCallback(e=>{I(t=>new Set(t).add(e))},[]),U=j.useCallback(e=>{I(t=>{let n=new Set(t);return n.delete(e),n})},[]),W={required:h,trigger:y,onTriggerChange:b,valueNode:x,onValueNodeChange:S,valueNodeHasChildren:w,onValueNodeHasChildrenChange:E,contentId:te,value:A,onValueChange:M,open:O,onOpenChange:k,dir:D,triggerPointerDownPosRef:ee,disabled:m,name:d,autoComplete:p,form:g,nativeOptions:F,nativeSelectKey:z,isFormControl:P};return(0,L.jsx)(f,{...v,children:(0,L.jsx)(re,{scope:t,...W,children:(0,L.jsx)(H.Provider,{scope:t,children:(0,L.jsx)(ie,{scope:t,onNativeOptionAdd:B,onNativeOptionRemove:U,children:He(_)?_(W):n})})})})}R(J,`SelectProvider`);var oe=R(e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,L.jsx)(J,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,L.jsxs)(L.Fragment,{children:[n,e?(0,L.jsx)(Ve,{__scopeSelect:t}):null]})})},`Select`),se=`SelectTrigger`,ce=j.forwardRef(R(function(e,t){let{__scopeSelect:n,disabled:r=!1,...a}=e,o=K(n),l=q(se,n),u=l.disabled||r,d=i(t,l.onTriggerChange),f=U(n),p=j.useRef(`touch`),[m,g,_]=Ue(e=>{let t=f().filter(e=>!e.disabled),n=We(t,e,t.find(e=>e.value===l.value));n!==void 0&&l.onValueChange(n.value)}),v=R(e=>{u||(l.onOpenChange(!0),_()),e&&(l.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})},`handleOpen`);return(0,L.jsx)(h,{asChild:!0,...o,children:(0,L.jsx)(c.button,{type:`button`,role:`combobox`,"aria-controls":l.open?l.contentId:void 0,"aria-expanded":l.open,"aria-required":l.required,"aria-autocomplete":`none`,dir:l.dir,"data-state":l.open?`open`:`closed`,disabled:u,"data-disabled":u?``:void 0,"data-placeholder":$(l.value)?``:void 0,...a,ref:d,onClick:s(a.onClick,e=>{e.currentTarget.focus(),p.current!==`mouse`&&v(e)}),onPointerDown:s(a.onPointerDown,e=>{p.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(v(e),e.preventDefault())}),onKeyDown:s(a.onKeyDown,e=>{let t=m.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&g(e.key),!(t&&e.key===` `)&&z.includes(e.key)&&(v(),e.preventDefault())})})})},`SelectTrigger`)),le=`SelectValue`,ue=j.forwardRef(R(function(e,t){let{__scopeSelect:n,className:r,style:a,children:s,placeholder:l=``,...u}=e,d=q(le,n),{onValueNodeHasChildrenChange:f}=d,p=s!==void 0,m=i(t,d.onValueNodeChange);o(()=>{f(p)},[f,p]);let h=$(d.value);return(0,L.jsx)(c.span,{...u,asChild:!h&&u.asChild,ref:m,style:{pointerEvents:`none`},children:(0,L.jsx)(j.Fragment,{children:h?l:s},h?`placeholder`:`value`)})},`SelectValue`)),de=j.forwardRef(R(function(e,t){let{__scopeSelect:n,children:r,...i}=e;return(0,L.jsx)(c.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})},`SelectIcon`)),[fe,pe]=G(`SelectPortal`,{forceMount:void 0}),me=R(e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,L.jsx)(fe,{scope:e.__scopeSelect,forceMount:n,children:(0,L.jsx)(_,{asChild:!0,...r})})},`SelectPortal`),Y=`SelectContent`,he=j.forwardRef(R(function(e,t){let n=pe(Y,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=q(Y,e.__scopeSelect),[s,c]=j.useState();return o(()=>{c(new DocumentFragment)},[]),(0,L.jsx)(S,{present:r||a.open,children:({present:e})=>e?(0,L.jsx)(ye,{...i,ref:t}):(0,L.jsx)(ge,{...i,fragment:s})})},`SelectContent`)),ge=j.forwardRef(R(function(e,t){let{__scopeSelect:n,children:r,fragment:i}=e;return i?A.createPortal((0,L.jsx)(_e,{scope:n,children:(0,L.jsx)(H.Slot,{scope:n,children:(0,L.jsx)(`div`,{ref:t,children:r})})}),i):null},`SelectContentFragment`)),X=10,[_e,Z]=G(Y),ve=a(`SelectContent.RemoveScroll`),ye=j.forwardRef(R(function(e,t){let{__scopeSelect:n}=e,{position:r=`item-aligned`,onCloseAutoFocus:a,onEscapeKeyDown:o,onPointerDownOutside:c,side:l,sideOffset:u,align:d,alignOffset:f,arrowPadding:p,collisionBoundary:m,collisionPadding:h,sticky:_,hideWhenDetached:S,avoidCollisions:C,...w}=e,T=q(Y,n),[E,D]=j.useState(null),[O,k]=j.useState(null),A=i(t,D),[M,ee]=j.useState(null),[N,P]=j.useState(null),F=U(n),[I,te]=j.useState(!1),z=j.useRef(!1);j.useEffect(()=>{if(E)return x(E)},[E]),y();let B=j.useCallback(e=>{let[t,...n]=F().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&O&&(O.scrollTop=0),n===r&&O&&(O.scrollTop=O.scrollHeight),n?.focus(),document.activeElement!==i))return},[F,O]),V=j.useCallback(()=>B([M,E]),[B,M,E]);j.useEffect(()=>{I&&V()},[I,V]);let{onOpenChange:H,triggerPointerDownPosRef:W}=T;j.useEffect(()=>{if(E){let e={x:0,y:0},t=R(t=>{e={x:Math.abs(Math.round(t.pageX)-(W.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(W.current?.y??0))}},`handlePointerMove`),n=R(n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(E)||H(!1),document.removeEventListener(`pointermove`,t),W.current=null},`handlePointerUp`);return W.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[E,H,W]),j.useEffect(()=>{let e=R(()=>H(!1),`close`);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[H]);let[G,ne]=Ue(e=>{let t=F().filter(e=>!e.disabled),n=We(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current?.focus())}),K=j.useCallback((e,t,n)=>{let r=!z.current&&!n;(T.value!==void 0&&T.value===t||r)&&(ee(e),r&&(z.current=!0))},[T.value]),re=j.useCallback(()=>E?.focus(),[E]),ie=j.useCallback((e,t,n)=>{let r=!z.current&&!n;(T.value!==void 0&&T.value===t||r)&&P(e)},[T.value]),ae=r===`popper`?xe:be,J=ae===xe?{side:l,sideOffset:u,align:d,alignOffset:f,arrowPadding:p,collisionBoundary:m,collisionPadding:h,sticky:_,hideWhenDetached:S,avoidCollisions:C}:{};return(0,L.jsx)(_e,{scope:n,content:E,viewport:O,onViewportChange:k,itemRefCallback:K,selectedItem:M,onItemLeave:re,itemTextRefCallback:ie,focusSelectedItem:V,selectedItemText:N,position:r,isPositioned:I,searchRef:G,children:(0,L.jsx)(v,{as:ve,allowPinchZoom:!0,children:(0,L.jsx)(g,{asChild:!0,trapped:T.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:s(a,e=>{T.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,L.jsx)(b,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:o,onPointerDownOutside:c,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>T.onOpenChange(!1),children:(0,L.jsx)(ae,{role:`listbox`,id:T.contentId,"data-state":T.open?`open`:`closed`,dir:T.dir,onContextMenu:e=>e.preventDefault(),...w,...J,onPlaced:()=>te(!0),ref:A,style:{display:`flex`,flexDirection:`column`,outline:`none`,...w.style},onKeyDown:s(w.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&ne(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=F().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>B(t)),e.preventDefault()}})})})})})})},`SelectContentImpl`)),be=j.forwardRef(R(function(e,t){let{__scopeSelect:n,onPlaced:r,...a}=e,s=q(Y,n),l=Z(Y,n),[u,d]=j.useState(null),[f,p]=j.useState(null),m=i(t,p),h=U(n),g=j.useRef(!1),_=j.useRef(!0),{viewport:v,selectedItem:y,selectedItemText:b,focusSelectedItem:x}=l,S=j.useCallback(()=>{if(s.trigger&&s.valueNode&&u&&f&&v&&y&&b){let e=s.trigger.getBoundingClientRect(),t=f.getBoundingClientRect(),n=s.valueNode.getBoundingClientRect(),i=b.getBoundingClientRect();if(s.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-X,d=I(a,[X,Math.max(X,l-c)]);u.style.minWidth=s+`px`,u.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-X,d=I(a,[X,Math.max(X,l-c)]);u.style.minWidth=s+`px`,u.style.right=d+`px`}let a=h(),o=window.innerHeight-X*2,c=v.scrollHeight,l=window.getComputedStyle(f),d=parseInt(l.borderTopWidth,10),p=parseInt(l.paddingTop,10),m=parseInt(l.borderBottomWidth,10),_=parseInt(l.paddingBottom,10),x=d+p+c+_+m,S=Math.min(y.offsetHeight*5,x),C=window.getComputedStyle(v),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-X,D=o-E,O=y.offsetHeight/2,k=y.offsetTop+O,A=d+p+k,j=x-A;if(A<=E){let e=a.length>0&&y===a[a.length-1].ref.current;u.style.bottom=`0px`;let t=f.clientHeight-v.offsetTop-v.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+m);u.style.height=n+`px`}else{let e=a.length>0&&y===a[0].ref.current;u.style.top=`0px`;let t=Math.max(E,d+v.offsetTop+(e?w:0)+O)+j;u.style.height=t+`px`,v.scrollTop=A-E+v.offsetTop}u.style.margin=`${X}px 0`,u.style.minHeight=S+`px`,u.style.maxHeight=o+`px`,r?.(),requestAnimationFrame(()=>g.current=!0)}},[h,s.trigger,s.valueNode,u,f,v,y,b,s.dir,r]);o(()=>S(),[S]);let[C,w]=j.useState();o(()=>{f&&w(window.getComputedStyle(f).zIndex)},[f]);let T=j.useCallback(e=>{e&&_.current===!0&&(S(),x?.(),_.current=!1)},[S,x]);return(0,L.jsx)(Se,{scope:n,contentWrapper:u,shouldExpandOnScrollRef:g,onScrollButtonChange:T,children:(0,L.jsx)(`div`,{ref:d,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:C},children:(0,L.jsx)(c.div,{...a,ref:m,style:{boxSizing:`border-box`,maxHeight:`100%`,...a.style}})})})},`SelectItemAlignedPosition`)),xe=j.forwardRef(R(function(e,t){let{__scopeSelect:n,align:r=`start`,collisionPadding:i=X,...a}=e,o=K(n);return(0,L.jsx)(p,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})},`SelectPopperPosition`)),[Se,Ce]=G(Y,{}),we=`SelectViewport`,Te=j.forwardRef(R(function(e,t){let{__scopeSelect:n,nonce:r,...a}=e,o=Z(we,n),l=Ce(we,n),u=i(t,o.onViewportChange),d=j.useRef(0);return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,L.jsx)(H.Slot,{scope:n,children:(0,L.jsx)(c.div,{"data-radix-select-viewport":``,role:`presentation`,...a,ref:u,style:{position:`relative`,flex:1,overflow:`hidden auto`,...a.style},onScroll:s(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=l;if(r?.current&&n){let e=Math.abs(d.current-t.scrollTop);if(e>0){let r=window.innerHeight-X*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}d.current=t.scrollTop})})})]})},`SelectViewport`)),[Ee,De]=G(`SelectGroup`),Oe=`SelectItem`,[ke,Ae]=G(Oe),je=j.forwardRef(R(function(e,t){let{__scopeSelect:n,value:r,disabled:a=!1,textValue:o,...l}=e,u=q(Oe,n),d=Z(Oe,n),f=u.value===r,[p,m]=j.useState(o??``),[h,g]=j.useState(!1),_=w(e=>d.itemRefCallback?.(e,r,a)),v=i(t,_),y=C(),b=j.useRef(`touch`),x=R(()=>{a||(u.onValueChange(r),u.onOpenChange(!1))},`handleSelect`);return(0,L.jsx)(ke,{scope:n,value:r,disabled:a,textId:y,isSelected:f,onItemTextChange:j.useCallback(e=>{m(t=>t||(e?.textContent??``).trim())},[]),children:(0,L.jsx)(H.ItemSlot,{scope:n,value:r,disabled:a,textValue:p,children:(0,L.jsx)(c.div,{role:`option`,"aria-labelledby":y,"data-highlighted":h?``:void 0,"aria-selected":f&&h,"data-state":f?`checked`:`unchecked`,"aria-disabled":a||void 0,"data-disabled":a?``:void 0,tabIndex:a?void 0:-1,...l,ref:v,onFocus:s(l.onFocus,()=>g(!0)),onBlur:s(l.onBlur,()=>g(!1)),onClick:s(l.onClick,()=>{b.current!==`mouse`&&x()}),onPointerUp:s(l.onPointerUp,()=>{b.current===`mouse`&&x()}),onPointerDown:s(l.onPointerDown,e=>{b.current=e.pointerType}),onPointerMove:s(l.onPointerMove,e=>{b.current=e.pointerType,a?d.onItemLeave?.():b.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:s(l.onPointerLeave,e=>{e.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:s(l.onKeyDown,e=>{a||e.target!==e.currentTarget||(d.searchRef?.current===``||e.key!==` `)&&(B.includes(e.key)&&x(),e.key===` `&&e.preventDefault())})})})})},`SelectItem`)),Q=`SelectItemText`,Me=j.forwardRef(R(function(e,t){let{__scopeSelect:n,className:r,style:a,...s}=e,l=q(Q,n),u=Z(Q,n),d=Ae(Q,n),f=ae(Q,n),[p,m]=j.useState(null),h=w(e=>u.itemTextRefCallback?.(e,d.value,d.disabled)),g=i(t,m,d.onItemTextChange,h),_=p?.textContent,v=j.useMemo(()=>(0,L.jsx)(`option`,{value:d.value,disabled:d.disabled,children:_},d.value),[d.disabled,d.value,_]),{onNativeOptionAdd:y,onNativeOptionRemove:b}=f;return o(()=>(y(v),()=>b(v)),[y,b,v]),(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(c.span,{id:d.textId,...s,ref:g}),d.isSelected&&l.valueNode&&!l.valueNodeHasChildren&&!$(l.value)?A.createPortal(s.children,l.valueNode):null]})},`SelectItemText`)),Ne=`SelectItemIndicator`,Pe=j.forwardRef(R(function(e,t){let{__scopeSelect:n,...r}=e;return Ae(Ne,n).isSelected?(0,L.jsx)(c.span,{"aria-hidden":!0,...r,ref:t}):null},`SelectItemIndicator`)),Fe=`SelectScrollUpButton`,Ie=j.forwardRef(R(function(e,t){let n=Z(Fe,e.__scopeSelect),r=Ce(Fe,e.__scopeSelect),[a,s]=j.useState(!1),c=i(t,r.onScrollButtonChange);return o(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;s(e)};R(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),a?(0,L.jsx)(ze,{...e,ref:c,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null},`SelectScrollUpButton`)),Le=`SelectScrollDownButton`,Re=j.forwardRef(R(function(e,t){let n=Z(Le,e.__scopeSelect),r=Ce(Le,e.__scopeSelect),[a,s]=j.useState(!1),c=i(t,r.onScrollButtonChange);return o(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;s(n)};R(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),a?(0,L.jsx)(ze,{...e,ref:c,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null},`SelectScrollDownButton`)),ze=j.forwardRef(R(function(e,t){let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=Z(`SelectScrollButton`,n),l=j.useRef(null),u=U(n),d=j.useCallback(()=>{l.current!==null&&(window.clearInterval(l.current),l.current=null)},[]);return j.useEffect(()=>()=>d(),[d]),o(()=>{u().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[u]),(0,L.jsx)(c.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:s(i.onPointerDown,()=>{l.current===null&&(l.current=window.setInterval(r,50))}),onPointerMove:s(i.onPointerMove,()=>{a.onItemLeave?.(),l.current===null&&(l.current=window.setInterval(r,50))}),onPointerLeave:s(i.onPointerLeave,()=>{d()})})},`SelectScrollButtonImpl`)),Be=`SelectBubbleInput`,Ve=j.forwardRef(R(function({__scopeSelect:e,...t},n){let r=q(Be,e),{value:a,onValueChange:o,required:s,disabled:l,name:u,autoComplete:d,form:f}=r,{nativeOptions:p,nativeSelectKey:h}=r,g=j.useRef(null),_=i(n,g),v=a??``,y=N(v),b=Array.from(p).some(e=>(e.props.value??``)===``);return j.useEffect(()=>{let e=g.current;if(!e)return;let t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(y!==v&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,v),e.dispatchEvent(t)}},[y,v]),(0,L.jsxs)(c.select,{"aria-hidden":!0,required:s,tabIndex:-1,name:u,autoComplete:d,disabled:l,form:f,onChange:e=>o(e.target.value),...t,style:{...m,...t.style},ref:_,defaultValue:v,children:[$(a)&&!b?(0,L.jsx)(`option`,{value:``}):null,Array.from(p)]},h)},`SelectBubbleInput`));function He(e){return typeof e==`function`}R(He,`isFunction`);function $(e){return e===``||e===void 0}R($,`shouldShowPlaceholder`);function Ue(e){let t=w(e),n=j.useRef(``),r=j.useRef(0),i=j.useCallback(e=>{let i=n.current+e;t(i),R((function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(i)},[t]),a=j.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return j.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}R(Ue,`useTypeaheadSearch`);function We(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=Ge(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}R(We,`findNextItem`);function Ge(e,t){return e.map((n,r)=>e[(t+r)%e.length])}R(Ge,`wrapArray`);var Ke=D(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),qe=D(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]);function Je({...e}){return(0,L.jsx)(oe,{"data-slot":`select`,...e})}function Ye({...e}){return(0,L.jsx)(ue,{"data-slot":`select-value`,...e})}function Xe({className:e,size:t=`default`,children:n,...r}){return(0,L.jsxs)(ce,{"data-slot":`select-trigger`,"data-size":t,className:E(`flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r,children:[n,(0,L.jsx)(de,{asChild:!0,children:(0,L.jsx)(O,{className:`pointer-events-none size-4 text-muted-foreground`})})]})}function Ze({className:e,children:t,position:n=`item-aligned`,align:r=`center`,...i}){return(0,L.jsx)(me,{children:(0,L.jsxs)(he,{"data-slot":`select-content`,"data-align-trigger":n===`item-aligned`,className:E(`relative z-[200] max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,align:r,...i,children:[(0,L.jsx)($e,{}),(0,L.jsx)(Te,{"data-position":n,className:E(`data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)`,n===`popper`&&``),children:t}),(0,L.jsx)(et,{})]})})}function Qe({className:e,children:t,...n}){return(0,L.jsxs)(je,{"data-slot":`select-item`,className:E(`relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...n,children:[(0,L.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex size-4 items-center justify-center`,children:(0,L.jsx)(Pe,{children:(0,L.jsx)(Ke,{className:`pointer-events-none`})})}),(0,L.jsx)(Me,{children:t})]})}function $e({className:e,...t}){return(0,L.jsx)(Ie,{"data-slot":`select-scroll-up-button`,className:E(`z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4`,e),...t,children:(0,L.jsx)(qe,{})})}function et({className:e,...t}){return(0,L.jsx)(Re,{"data-slot":`select-scroll-down-button`,className:E(`z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4`,e),...t,children:(0,L.jsx)(O,{})})}var tt=`__pisper_empty_value__`;function nt({children:e,className:t,disabled:n,onChange:r,value:i,...a}){let o=j.Children.toArray(e).filter(j.isValidElement).map(e=>{let t=e.props.value??e.props.children??``;return{disabled:e.props.disabled,label:e.props.children,value:String(t)||tt}});return(0,L.jsxs)(Je,{value:String(i??``)||tt,disabled:n,onValueChange:e=>{r?.({target:{value:e===tt?``:e}})},children:[(0,L.jsx)(Xe,{className:E(`h-full min-h-0 w-full rounded-[inherit] border-0 bg-transparent px-2.5 py-0 text-[12px] font-normal text-[var(--text)] shadow-none focus-visible:border-[var(--focus)] focus-visible:ring-2 focus-visible:ring-[var(--focus-ring)] [&>svg]:hidden`,t),...a,children:(0,L.jsx)(Ye,{})}),(0,L.jsx)(Ze,{position:`popper`,align:`start`,className:`min-w-[var(--radix-select-trigger-width)]`,children:o.map(e=>(0,L.jsx)(Qe,{value:e.value,disabled:e.disabled,className:`text-[12px]`,children:e.label},e.value))})]})}export{N as i,Ke as n,I as r,nt as t};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./vendor-react-CHuvPdJE.js";import{t as r}from"./use-i18n-CubNtfu7.js";import{t as i}from"./storage-BbqIMx9Y.js";import{t as a}from"./createLucideIcon-BEEvpXLl.js";import{t as o}from"./file-CvhJitS9.js";import{t as s}from"./link-2-Dd2E7M_B.js";import{t as c}from"./paperclip-D7mny7G8.js";import{t as l}from"./plus-CI2ql0x4.js";import{t as u}from"./trash-2-CATziWCd.js";import{G as d,Z as f,b as p,g as m,nt as h,q as g,rt as _}from"./index-DoRSkbHW.js";import{i as v,t as y}from"./app-primitives-B_kzSTuJ.js";import{t as b}from"./StarOrbit-BlI6MhVr.js";import{t as x}from"./usePagePrimaryAction-Bw0OFTDZ.js";var S=a(`file-image`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),C=a(`file-play`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z`,key:`1tzo1f`}]]),w=e(t(),1),T=n(),E=new Set([`txt`,`md`,`json`,`js`,`jsx`,`ts`,`tsx`,`css`,`html`,`xml`,`yaml`,`yml`,`csv`,`log`,`py`,`java`,`go`,`rs`,`sh`,`ps1`,`toml`,`sql`]),D=[`all`,`image`,`file`,`link`,`current`];function O(e,t){return t(e===`image`?`assets:assetsPage.images`:e===`file`?`assets:assetsPage.files`:e===`link`?`assets:assetsPage.links`:e===`current`?`assets:assetsPage.fromCurrentChat`:`assets:assetsPage.all`)}function k(e){return String(e||``).split(`.`).at(-1)?.toLowerCase()||``}function A({query:e=``,notify:t,registerPrimaryAction:n,onUse:a,requestConfirm:l}){let{t:d}=r(),[A,N]=(0,w.useState)(`all`),[P,F]=(0,w.useState)([]),[I,L]=(0,w.useState)(!0),[R,z]=(0,w.useState)(``),[B,V]=(0,w.useState)(null),[H,U]=(0,w.useState)(!1);x(n,()=>U(!0));let W=(0,w.useCallback)(async()=>{L(!0),z(``);try{let t=new URLSearchParams;e&&t.set(`query`,e),A===`image`&&t.set(`kind`,`image`),A===`file`&&t.set(`kind`,`file`),A===`link`&&t.set(`kind`,`link`),A===`current`&&t.set(`sessionId`,localStorage.getItem(i.activeSession)||`__none__`);let n=await p(`/api/assets?${t}`);F(n.assets)}catch(e){z(e instanceof Error?e.message:String(e))}finally{L(!1)}},[e,A]);(0,w.useEffect)(()=>{W()},[W]);let G=async e=>{if(await l({title:d(`assets:assetsPage.deleteAsset`),message:d(`assets:assetsPage.deleteAssetName`,{name:e.name}),confirmLabel:d(`assets:assetsPage.delete`)}))try{await p(`/api/assets/${encodeURIComponent(e.id)}`,{method:`DELETE`}),F(t=>t.filter(t=>t.id!==e.id)),t(d(`assets:assetsPage.assetDeleted`))}catch(e){z(e instanceof Error?e.message:String(e))}},K=async e=>{try{a(await p(`/api/assets/${encodeURIComponent(e.id)}/content`)),t(d(`assets:assetsPage.nameAddedToChat`,{name:e.name}))}catch(e){z(e instanceof Error?e.message:String(e))}},q=async e=>{let t=``;e.kind===`link`?t=e.url||``:(e.mimeType?.startsWith(`text/`)||E.has(k(e.name)))&&(t=(await p(`/api/assets/${encodeURIComponent(e.id)}/content`)).text||``),V({...e,text:t})};return(0,T.jsxs)(`div`,{className:`asset-page`,children:[(0,T.jsx)(`div`,{className:`asset-toolbar`,children:(0,T.jsx)(v,{options:D.map(e=>O(e,d)),value:O(A,d),onChange:e=>N(D.find(t=>O(t,d)===e)||`all`)})}),(0,T.jsxs)(`div`,{className:`asset-summary`,children:[(0,T.jsxs)(`span`,{children:[(0,T.jsx)(`strong`,{children:P.length}),` `,d(`assets:assetsPage.assets`)]}),(0,T.jsx)(`span`,{children:d(`assets:assetsPage.conversationAttachmentsAndAgentOutputsGatherHereAutomatically`)})]}),R&&(0,T.jsxs)(`div`,{className:`config-error`,children:[(0,T.jsx)(g,{size:13}),R]}),I?(0,T.jsxs)(y,{className:`empty-state`,children:[(0,T.jsx)(f,{className:`spin`,size:23}),(0,T.jsx)(`h2`,{children:d(`assets:assetsPage.loadingAssets`)})]}):P.length?(0,T.jsx)(`div`,{className:`asset-grid functional`,children:P.map(e=>{let t=e.mimeType?.startsWith(`video/`),n=e.kind===`image`?S:t?C:e.kind===`link`?s:o;return(0,T.jsxs)(y,{className:`asset-card functional`,children:[(0,T.jsx)(`button`,{className:`asset-preview ${e.kind} ${t?`video`:``}`,title:d(`assets:assetsPage.preview`),onClick:()=>q(e),children:e.kind===`image`?(0,T.jsx)(`img`,{src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`,alt:``}):t?(0,T.jsx)(`video`,{src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`,muted:!0,preload:`metadata`}):(0,T.jsx)(n,{size:38})}),(0,T.jsxs)(`div`,{className:`asset-card-copy`,children:[(0,T.jsx)(`strong`,{title:e.name,children:e.name}),(0,T.jsxs)(`span`,{children:[e.kind===`link`?e.url?new URL(e.url).hostname:``:m(e.size),` `,`·`,` `,e.source===`agent`?d(`assets:assetsPage.agentOutputs`):e.source===`attachment`?d(`assets:assetsPage.chatAttachments`):d(`assets:assetsPage.manualUploads`)]}),e.sessionName&&(0,T.jsx)(`small`,{title:e.sessionName,children:d(`assets:assetsPage.fromName`,{name:e.sessionName})})]}),(0,T.jsxs)(`div`,{className:`asset-card-actions`,children:[e.kind===`link`?(0,T.jsxs)(`a`,{className:`button tiny`,href:e.url,target:`_blank`,rel:`noreferrer`,children:[(0,T.jsx)(h,{size:13}),d(`assets:assetsPage.open`)]}):(0,T.jsxs)(`a`,{className:`button tiny`,href:`/api/assets/${encodeURIComponent(e.id)}/download`,children:[(0,T.jsx)(_,{size:13}),d(`assets:assetsPage.download`)]}),(0,T.jsxs)(`button`,{className:`button tiny primary`,onClick:()=>K(e),children:[(0,T.jsx)(c,{size:13}),d(`assets:assetsPage.useInChat`)]}),(0,T.jsx)(`button`,{className:`icon-button danger`,title:d(`assets:assetsPage.deleteAsset`),onClick:()=>G(e),children:(0,T.jsx)(u,{size:13})})]})]},e.id)})}):(0,T.jsxs)(y,{className:`empty-state`,children:[(0,T.jsx)(b,{size:46}),(0,T.jsx)(`h2`,{children:d(`assets:assetsPage.nothingHasGatheredHereYet`)}),(0,T.jsx)(`p`,{children:d(`assets:assetsPage.bringInALinkOrAttachAFileInAConversationPisperWillGatherTheOutputsCreatedAlongTheWay`)}),(0,T.jsxs)(`button`,{className:`button primary`,onClick:()=>U(!0),children:[(0,T.jsx)(s,{size:14}),d(`assets:assetsPage.addLink`)]})]}),B&&(0,T.jsx)(j,{asset:B,onClose:()=>V(null),onUse:()=>K(B)}),H&&(0,T.jsx)(M,{onClose:()=>U(!1),onCreated:()=>{U(!1),W(),t(d(`assets:assetsPage.linkAssetAdded`))}})]})}function j({asset:e,onClose:t,onUse:n}){let{t:i}=r(),a=e.mimeType?.startsWith(`video/`);return(0,T.jsx)(`div`,{className:`modal-backdrop`,onMouseDown:e=>e.target===e.currentTarget&&t(),children:(0,T.jsxs)(`section`,{className:`modal asset-preview-modal`,children:[(0,T.jsxs)(`div`,{className:`card-head`,children:[(0,T.jsxs)(`div`,{children:[(0,T.jsx)(`h2`,{children:e.name}),(0,T.jsx)(`p`,{children:e.kind===`link`?e.url:`${e.mimeType} · ${m(e.size)}`})]}),(0,T.jsx)(`button`,{className:`icon-button`,"aria-label":i(`assets:assetsPage.closeDialog`),onClick:t,children:(0,T.jsx)(d,{size:17})})]}),(0,T.jsx)(`div`,{className:`asset-modal-content`,children:e.kind===`image`?(0,T.jsx)(`img`,{src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`,alt:e.name}):a?(0,T.jsx)(`video`,{controls:!0,src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`}):e.kind===`link`?(0,T.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,children:[(0,T.jsx)(h,{size:16}),e.url]}):e.text?(0,T.jsx)(`pre`,{children:e.text}):(0,T.jsxs)(`div`,{className:`asset-file-preview`,children:[(0,T.jsx)(o,{size:42}),(0,T.jsx)(`strong`,{children:e.name}),(0,T.jsx)(`span`,{children:i(`assets:assetsPage.thisFileTypeCanBeDownloadedSupportedDocumentsCanAlsoBeAddedToAChatForAnalysis`)})]})}),(0,T.jsxs)(`div`,{className:`modal-actions`,children:[e.kind!==`link`&&(0,T.jsxs)(`a`,{className:`button secondary`,href:`/api/assets/${encodeURIComponent(e.id)}/download`,children:[(0,T.jsx)(_,{size:14}),i(`assets:assetsPage.download`)]}),(0,T.jsxs)(`button`,{className:`button primary`,onClick:n,children:[(0,T.jsx)(c,{size:14}),i(`assets:assetsPage.useInChat`)]})]})]})})}function M({onClose:e,onCreated:t}){let{t:n}=r(),[i,a]=(0,w.useState)(``),[o,s]=(0,w.useState)(``),[c,u]=(0,w.useState)(!1),[m,h]=(0,w.useState)(``);return(0,T.jsx)(`div`,{className:`modal-backdrop`,onMouseDown:t=>t.target===t.currentTarget&&e(),children:(0,T.jsxs)(`form`,{className:`modal`,onSubmit:async e=>{e.preventDefault(),u(!0),h(``);try{await p(`/api/assets`,{method:`POST`,body:JSON.stringify({kind:`link`,name:i,url:o,source:`upload`})}),t()}catch(e){h(e instanceof Error?e.message:String(e))}finally{u(!1)}},children:[(0,T.jsxs)(`div`,{className:`card-head`,children:[(0,T.jsxs)(`div`,{children:[(0,T.jsx)(`h2`,{children:n(`assets:assetsPage.addLinkAsset`)}),(0,T.jsx)(`p`,{children:n(`assets:assetsPage.linksCanBeArchivedOpenedOrAddedToAChatAsContext`)})]}),(0,T.jsx)(`button`,{type:`button`,className:`icon-button`,"aria-label":n(`assets:assetsPage.closeDialog`),onClick:e,children:(0,T.jsx)(d,{size:17})})]}),(0,T.jsxs)(`label`,{className:`field-label`,children:[n(`assets:assetsPage.name`),(0,T.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),placeholder:n(`assets:assetsPage.forExampleOpenAIAPIDocs`)})]}),(0,T.jsxs)(`label`,{className:`field-label`,children:[`URL`,(0,T.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),placeholder:`https://example.com/docs`})]}),m&&(0,T.jsxs)(`div`,{className:`config-error`,children:[(0,T.jsx)(g,{size:13}),m]}),(0,T.jsxs)(`div`,{className:`modal-actions`,children:[(0,T.jsx)(`button`,{type:`button`,className:`button secondary`,onClick:e,children:n(`assets:assetsPage.cancel`)}),(0,T.jsxs)(`button`,{className:`button primary`,disabled:c||!o.trim(),children:[c?(0,T.jsx)(f,{className:`spin`,size:14}):(0,T.jsx)(l,{size:14}),n(c?`assets:assetsPage.adding`:`assets:assetsPage.addLink`)]})]})]})})}export{A as AssetsPage};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./vendor-react-CHuvPdJE.js";import{t as r}from"./use-i18n-CubNtfu7.js";import{t as i}from"./AppSelect--dqy70Zh.js";import{t as a}from"./createLucideIcon-BEEvpXLl.js";import{t as o}from"./chevron-down-DybEa6xm.js";import{t as s}from"./message-circle-Bi-lz-6t.js";import{t as c}from"./plus-CI2ql0x4.js";import{t as l}from"./shield-check-mwXhKsZm.js";import{t as u}from"./trash-2-CATziWCd.js";import{t as d}from"./zap-Ch1TQ5QU.js";import{G as f,Z as p,b as m,et as h,it as g,nt as _,q as v,st as y,tt as b,v as x}from"./index-DoRSkbHW.js";import{a as S,n as C,r as w,t as T}from"./app-primitives-B_kzSTuJ.js";import{t as ee}from"./StarOrbit-BlI6MhVr.js";import{t as te}from"./usePagePrimaryAction-Bw0OFTDZ.js";import{t as ne}from"./brand-CFOXmGdd.js";var re=a(`unplug`,[[`path`,{d:`m19 5 3-3`,key:`yk6iyv`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`,key:`1snsnr`}]]),E=e(t(),1),D=n(),ie=Object.entries({feishu:{Icon:y,tone:`blue`},weixin:{Icon:s,tone:`green`}});function O(e,t){return t(e===`feishu`?`channels:channelsPage.feishu`:`channels:channelsPage.weChat`)}function k(e,t){return t(e===`feishu`?`channels:channelsPage.feishuAppBot`:`channels:channelsPage.weChat`)}function A(e,t){return t(e===`feishu`?`channels:channelsPage.webSocketPersistentConnection`:`channels:channelsPage.tencentILinkPersistentConnection`)}function j(e,t){return t(e===`feishu`?`channels:channelsPage.feishuCapabilities`:`channels:channelsPage.weChatCapabilities`)}function M(e,t){return t(e===`connecting`?`channels:channelsPage.connecting`:e===`connected`?`channels:channelsPage.online`:e===`reconnecting`?`channels:channelsPage.reconnecting`:e===`failed`?`channels:channelsPage.connectionFailed`:`channels:channelsPage.notConnected`)}function N(e){return e===`connected`?`green`:e===`connecting`||e===`reconnecting`?`amber`:e===`failed`?`red`:`gray`}function P(e,t){return t(e===`starting`?`channels:channelsPage.requestingLoginQrCode`:e===`waiting`?`channels:channelsPage.scanAndConfirmConnection`:e===`scanned`?`channels:channelsPage.scannedWaitingForConfirmation`:e===`verification_required`?`channels:channelsPage.enterPairingCode`:e===`authorizing`?`channels:channelsPage.confirmingAuthorization`:e===`connecting`?`channels:channelsPage.authorizationSucceededConnecting`:e===`completed`?`channels:channelsPage.channelConnected`:e===`failed`?`channels:channelsPage.connectionFailed`:`channels:channelsPage.cancelled`)}function F(e,t=`zh-CN`){let n=Math.max(0,Math.ceil((new Date(e).getTime()-Date.now())/1e3));return t===`en-US`?n>=60?`in ${Math.ceil(n/60)} min`:`in ${n} sec`:n>=60?`${Math.ceil(n/60)} 分钟后`:`${n} 秒后`}function I(e){return e instanceof Error?e.message:String(e)}function L({notify:e,registerPrimaryAction:t,requestConfirm:n}){let{t:a,language:f}=r(),[_,y]=(0,E.useState)({providers:[],connections:{feishu:null,weixin:null},scopes:[],models:[]}),[P,F]=(0,E.useState)(!0),[L,z]=(0,E.useState)(``),[B,V]=(0,E.useState)(`feishu`),[H,U]=(0,E.useState)(null),[W,G]=(0,E.useState)(``),[K,q]=(0,E.useState)(!1),[J,Y]=(0,E.useState)(``),X=(0,E.useCallback)(async()=>{try{z(``);let e=await m(`/api/channels`);y(e),Y(e.connections?.[B]?.defaultCwd||``)}catch(e){z(I(e))}finally{F(!1)}},[B]);(0,E.useEffect)(()=>{X()},[X]),(0,E.useEffect)(()=>{if(!H?.id||[`completed`,`failed`,`cancelled`].includes(H.status))return;let t=H.id,n=window.setInterval(async()=>{try{let r=H.platform,i=await m(`/api/channels/${r}/onboarding/${encodeURIComponent(t)}`);U({...i,platform:r}),i.status===`completed`&&(window.clearInterval(n),e(a(`channels:channelsPage.nameTwoWayConnectionEstablished`,{name:O(r,a)})),await X(),window.setTimeout(()=>U(null),900))}catch(e){U(t=>t&&{...t,status:`failed`,error:I(e)})}},1500);return()=>window.clearInterval(n)},[H?.id,H?.platform,H?.status,X,e,a]);let Z=async e=>{if(!(_.connections?.[e]&&!await n({title:a(`channels:channelsPage.reconnectName`,{name:O(e,a)}),message:a(`channels:channelsPage.scanningAgainWillReplaceTheCurrentNameConnectionContinue`,{name:O(e,a)}),confirmLabel:a(`channels:channelsPage.continueScanning`),tone:`primary`}))){V(e),G(e),U({platform:e,status:`starting`});try{let t=await m(`/api/channels/${e}/onboarding`,{method:`POST`,body:`{}`});U({...t,platform:e})}catch(t){U({platform:e,status:`failed`,error:I(t)})}finally{G(``)}}};te(t,()=>Z(B));let ae=async()=>{H?.id&&![`completed`,`failed`,`cancelled`].includes(H.status)&&await m(`/api/channels/${H.platform}/onboarding/${encodeURIComponent(H.id)}`,{method:`DELETE`}).catch(()=>{}),U(null)},Q=async(t,n,r)=>{q(!0);try{let i=await m(`/api/channels/${t}`,{method:`PATCH`,body:JSON.stringify(n)});y(i),Y(i.connections?.[t]?.defaultCwd||``),e(r)}catch(t){e(I(t),`error`)}finally{q(!1)}},oe=async t=>{q(!0);try{y(await m(`/api/channels/${t}/reconnect`,{method:`POST`,body:`{}`})),e(a(`channels:channelsPage.nameReconnected`,{name:O(t,a)}))}catch(t){e(I(t),`error`),X()}finally{q(!1)}},se=async t=>{if(await n({title:a(`channels:channelsPage.disconnectName`,{name:O(t,a)}),message:a(`channels:channelsPage.localCredentialsAndChatMappingsWillBeDeleted`),confirmLabel:a(`channels:channelsPage.disconnect`)}))try{await m(`/api/channels/${t}`,{method:`DELETE`}),await X(),e(a(`channels:channelsPage.nameDisconnected`,{name:O(t,a)}))}catch(t){e(I(t),`error`)}},ce=async t=>{if(await n({title:a(`channels:channelsPage.resetChannelChat`),message:a(`channels:channelsPage.resetTheAppChatLinkedToScope`,{scope:t.title,app:`Pisper`}),confirmLabel:a(`channels:channelsPage.reset`)}))try{await m(`/api/channels/scopes/${encodeURIComponent(t.key)}`,{method:`DELETE`}),await X(),e(a(`channels:channelsPage.channelChatReset`))}catch(t){e(I(t),`error`)}};if(P)return(0,D.jsxs)(T,{className:`empty-state`,children:[(0,D.jsx)(p,{className:`spin`,size:23}),(0,D.jsx)(`h2`,{children:a(`channels:channelsPage.loadingChannels`)})]});let $=_.connections?.[B];return(0,D.jsxs)(`div`,{className:`channel-page`,children:[L&&(0,D.jsxs)(`div`,{className:`config-error`,children:[(0,D.jsx)(v,{size:13}),L]}),(0,D.jsx)(`div`,{className:`channel-cards`,children:ie.map(([e,t])=>{let n=_.connections?.[e],r=n?.status||`idle`,i=N(r),o=t.Icon;return(0,D.jsxs)(T,{className:`provider-card channel-platform-card ${B===e?`selected`:``}`,onClick:()=>{V(e),Y(n?.defaultCwd||``)},children:[(0,D.jsxs)(`div`,{className:`provider-title`,children:[(0,D.jsx)(`span`,{className:`provider-icon ${t.tone}`,children:(0,D.jsx)(o,{})}),(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`h2`,{children:k(e,a)}),(0,D.jsx)(`p`,{children:A(e,a)})]}),(0,D.jsx)(S,{tone:i,children:M(r,a)})]}),(0,D.jsxs)(`label`,{className:`field-label`,children:[a(`channels:channelsPage.twoWayCapability`),(0,D.jsx)(`span`,{className:`channel-summary-field`,children:j(e,a)})]}),(0,D.jsxs)(`label`,{className:`field-label`,children:[a(`channels:channelsPage.replyModel`),(0,D.jsx)(`span`,{className:`channel-summary-field`,children:n?.replyModel?`${n.replyModel.provider}/${n.replyModel.model}`:a(`channels:channelsPage.useApplicationDefaultModel`)})]}),(0,D.jsxs)(`button`,{className:`button wide channel-provider-connect ${n?`secondary`:`primary`}`,disabled:W===e,onClick:t=>{t.stopPropagation(),Z(e)},children:[W===e?(0,D.jsx)(p,{className:`spin`,size:14}):(0,D.jsx)(c,{size:14}),a(n?`channels:channelsPage.scanAgainToReconnect`:`channels:channelsPage.connectNameByQRCode`,{name:O(e,a)})]})]},e)})}),(0,D.jsxs)(`div`,{className:`two-one-grid`,children:[(0,D.jsxs)(T,{children:[(0,D.jsxs)(`div`,{className:`channel-section-head`,children:[(0,D.jsx)(C,{title:a(`channels:channelsPage.channelChats`)}),(0,D.jsx)(`span`,{children:a(`channels:channelsPage.countLinked`,{count:_.scopes.length})})]}),_.scopes.length?_.scopes.map(e=>(0,D.jsxs)(`div`,{className:`route-row`,children:[(0,D.jsx)(`span`,{className:`route-icon`,children:e.platform===`feishu`?(0,D.jsx)(h,{size:14}):(0,D.jsx)(s,{size:14})}),(0,D.jsxs)(`div`,{className:`channel-route-copy`,children:[(0,D.jsxs)(`strong`,{children:[e.title,` `,(0,D.jsx)(S,{tone:e.platform===`feishu`?`blue`:`green`,children:O(e.platform,a)})]}),(0,D.jsxs)(`small`,{children:[e.lastMessage||a(`channels:channelsPage.noMessages`),` ·`,` `,x(e.updatedAt,f)]}),(0,D.jsxs)(`small`,{children:[e.model||a(`channels:channelsPage.defaultModel`),` · `,e.cwd]})]}),(0,D.jsxs)(`div`,{className:`channel-route-controls`,children:[(0,D.jsx)(S,{tone:`green`,children:a(`channels:channelsPage.twoWay`)}),(0,D.jsx)(`button`,{className:`icon-button danger`,title:a(`channels:channelsPage.resetChat`),onClick:()=>ce(e),children:(0,D.jsx)(u,{size:13})})]})]},e.key)):(0,D.jsxs)(`div`,{className:`channel-route-empty`,children:[(0,D.jsx)(ee,{size:38}),(0,D.jsx)(`strong`,{children:a(`channels:channelsPage.waitingForTheFirstReplyFromAfar`)}),(0,D.jsx)(`span`,{children:a(`channels:channelsPage.onceConnectedMessagesFromFeishuOrWeixinWillArriveHereInPisper`)})]})]}),(0,D.jsxs)(T,{className:`test-panel`,children:[(0,D.jsxs)(`div`,{className:`channel-section-head`,children:[(0,D.jsx)(C,{title:a(`channels:channelsPage.nameSettings`,{name:O(B,a)})}),(0,D.jsx)(`span`,{children:A(B,a)})]}),$?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)(`div`,{className:`channel-live-status ${$.status}`,children:[(0,D.jsx)(`span`,{className:`channel-status-dot`}),(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`strong`,{children:M($.status,a)}),(0,D.jsx)(`small`,{children:$.lastError||($.status===`connected`?a(`channels:channelsPage.connectedTime`,{time:x($.connectedAt,f)}):a(`channels:channelsPage.establishingPersistentConnection`))})]})]}),(0,D.jsxs)(`div`,{className:`modal-toggle-row`,children:[(0,D.jsxs)(`span`,{children:[(0,D.jsx)(`strong`,{children:a(`channels:channelsPage.enableThisChannel`)}),(0,D.jsx)(`small`,{children:a(`channels:channelsPage.turnOffToDisconnectWhileKeepingSignInCredentials`)})]}),(0,D.jsx)(w,{value:$.enabled,disabled:K,onChange:e=>Q(B,{enabled:e},a(e?`channels:channelsPage.channelEnabled`:`channels:channelsPage.channelPaused`))})]}),(0,D.jsxs)(`label`,{className:`field-label`,children:[a(`channels:channelsPage.replyModel`),(0,D.jsxs)(`span`,{className:`select-wrap`,children:[(0,D.jsxs)(i,{value:$.replyModel?`${$.replyModel.provider}/${$.replyModel.model}`:``,onChange:e=>{let[t,...n]=e.target.value.split(`/`);Q(B,{replyModel:e.target.value?{provider:t,model:n.join(`/`)}:null},a(`channels:channelsPage.channelReplyModelUpdated`))},children:[(0,D.jsx)(`option`,{value:``,children:a(`channels:channelsPage.useApplicationDefaultModel`)}),_.models.map(e=>(0,D.jsx)(`option`,{value:`${e.provider}/${e.model}`,children:e.label},`${e.provider}/${e.model}`))]}),(0,D.jsx)(o,{size:13})]})]}),(0,D.jsxs)(`label`,{className:`field-label`,children:[a(`channels:channelsPage.accessScope`),(0,D.jsxs)(`span`,{className:`select-wrap`,children:[(0,D.jsxs)(i,{value:$.accessMode,onChange:e=>Q(B,{accessMode:e.target.value===`all`?`all`:`owner`},a(`channels:channelsPage.accessScopeUpdated`)),children:[(0,D.jsx)(`option`,{value:`owner`,disabled:!$.ownerConfigured,children:a(`channels:channelsPage.qrCodeOwnerOnly`)}),(0,D.jsx)(`option`,{value:`all`,children:a(B===`feishu`?`channels:channelsPage.allMembersInTheCurrentTenant`:`channels:channelsPage.allWeChatUsersWhoMessageTheBot`)})]}),(0,D.jsx)(o,{size:13})]})]}),(0,D.jsxs)(`label`,{className:`field-label`,children:[a(`channels:channelsPage.defaultWorkingDirectoryForNewChats`),(0,D.jsxs)(`span`,{className:`channel-setting-input`,children:[(0,D.jsx)(b,{size:13}),(0,D.jsx)(`input`,{value:J,onChange:e=>Y(e.target.value)}),(0,D.jsx)(`button`,{className:`button tiny`,disabled:K||J===$.defaultCwd,onClick:()=>Q(B,{defaultCwd:J},a(`channels:channelsPage.defaultWorkingDirectorySaved`)),children:a(`channels:channelsPage.save`)})]})]}),(0,D.jsxs)(`div`,{className:`permission-note`,children:[(0,D.jsx)(l,{size:15}),(0,D.jsxs)(`span`,{children:[(0,D.jsx)(`strong`,{children:a(`channels:channelsPage.localSecurityBoundary`)}),(0,D.jsx)(`small`,{children:a(`channels:channelsPage.ownerOnlyAccessRespectsToolPermissionsAndExecutionMode`)})]})]}),(0,D.jsxs)(`div`,{className:`button-row`,children:[(0,D.jsxs)(`button`,{className:`button secondary`,onClick:()=>oe(B),disabled:K,children:[(0,D.jsx)(p,{size:14}),a(`channels:channelsPage.reconnect`)]}),(0,D.jsxs)(`button`,{className:`button danger`,onClick:()=>se(B),children:[(0,D.jsx)(re,{size:14}),a(`channels:channelsPage.disconnect`)]})]})]}):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`p`,{children:a(`channels:channelsPage.afterYouScanAndConfirmCredentialsAreSavedAndTheChannelStaysOnlineIncomingMessagesGoDirectlyToThe`,{agent:ne})}),(0,D.jsxs)(`div`,{className:`test-summary`,children:[(0,D.jsx)(g,{size:14}),a(`channels:channelsPage.trueTwoWayMessagingNoNotificationWebhookRequired`)]}),(0,D.jsxs)(`div`,{className:`test-summary`,children:[(0,D.jsx)(g,{size:14}),a(`channels:channelsPage.eachContactOrChatMapsToAnIndependentAgentSession`)]}),(0,D.jsxs)(`button`,{className:`button primary wide`,onClick:()=>Z(B),children:[(0,D.jsx)(d,{size:15}),a(`channels:channelsPage.connectNameByQRCode`,{name:O(B,a)})]})]})]})]}),H&&(0,D.jsx)(R,{job:H,onClose:ae,onRetry:()=>Z(H.platform),notify:e})]})}function R({job:e,onClose:t,onRetry:n,notify:i}){let{t:a,language:o}=r(),[s,c]=(0,E.useState)(``),u=[`completed`,`failed`,`cancelled`].includes(e.status);return(0,D.jsx)(`div`,{className:`modal-backdrop`,onMouseDown:e=>e.target===e.currentTarget&&t(),children:(0,D.jsxs)(`section`,{className:`modal feishu-onboard-modal`,children:[(0,D.jsxs)(`div`,{className:`card-head`,children:[(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`h2`,{children:a(`channels:channelsPage.connectNameByQRCode`,{name:O(e.platform,a)})}),(0,D.jsx)(`p`,{children:e.platform===`feishu`?a(`channels:channelsPage.createTheBotAppThroughTheOfficialFeishuAuthorizationPage`):a(`channels:channelsPage.signInToPersonalWeChatThroughTencentILinkBot`)})]}),(0,D.jsx)(`button`,{className:`icon-button`,"aria-label":a(`channels:channelsPage.closeDialog`),onClick:t,children:(0,D.jsx)(f,{size:17})})]}),(0,D.jsxs)(`div`,{className:`feishu-qr-stage ${e.status}`,children:[e.qrDataUrl?(0,D.jsx)(`img`,{src:e.qrDataUrl,alt:a(`channels:channelsPage.nameConnectionQRCode`,{name:O(e.platform,a)})}):e.status===`failed`?(0,D.jsx)(v,{size:42}):(0,D.jsx)(p,{className:`spin`,size:32}),(0,D.jsx)(`strong`,{children:P(e.status,a)}),e.error&&(0,D.jsx)(`p`,{children:e.error}),e.expireAt&&!u&&(0,D.jsx)(`small`,{children:a(`channels:channelsPage.qrCodeExpiresTime`,{time:F(e.expireAt,o)})})]}),e.needsVerifyCode&&(0,D.jsxs)(`div`,{className:`weixin-verify-code`,children:[(0,D.jsx)(`input`,{value:s,onChange:e=>c(e.target.value.replace(/\D/g,``).slice(0,8)),placeholder:a(`channels:channelsPage.enterTheNumberShownOnYourPhone`)}),(0,D.jsx)(`button`,{className:`button primary`,disabled:!s,onClick:async()=>{try{await m(`/api/channels/${e.platform}/onboarding/${encodeURIComponent(e.id||``)}/verify`,{method:`POST`,body:JSON.stringify({code:s})}),i(a(`channels:channelsPage.pairingCodeSubmitted`))}catch(e){i(I(e),`error`)}},children:a(`channels:channelsPage.submitPairingCode`)})]}),e.qrUrl&&!u&&(0,D.jsxs)(`a`,{className:`button secondary wide feishu-open-link`,href:e.qrUrl,target:`_blank`,rel:`noreferrer`,children:[(0,D.jsx)(_,{size:14}),a(`channels:channelsPage.cannotScanOpenTheSignInLink`)]}),(0,D.jsxs)(`div`,{className:`permission-note`,children:[(0,D.jsx)(l,{size:15}),(0,D.jsxs)(`span`,{children:[(0,D.jsx)(`strong`,{children:a(`channels:channelsPage.persistentTwoWayConnection`)}),(0,D.jsx)(`small`,{children:e.platform===`feishu`?a(`channels:channelsPage.webSocketReceivesDirectMessagesAndGroupMentions`):a(`channels:channelsPage.tencentILinkContinuouslyPollsDirectMessagesAndSupportsTextAndMediaReplies`)})]})]}),(0,D.jsxs)(`div`,{className:`modal-actions`,children:[(0,D.jsx)(`button`,{className:`button secondary`,onClick:t,children:a(u?`channels:channelsPage.off`:`channels:channelsPage.cancel`)}),e.status===`failed`&&(0,D.jsxs)(`button`,{className:`button primary`,onClick:n,children:[(0,D.jsx)(p,{size:14}),a(`channels:channelsPage.generateANewQRCode`)]})]})]})})}export{L as ChannelsPage};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./vendor-react-CHuvPdJE.js";import{t as r}from"./use-i18n-CubNtfu7.js";import{t as i}from"./utils-C8uzG5AZ.js";import{t as a}from"./storage-BbqIMx9Y.js";import{t as o}from"./createLucideIcon-BEEvpXLl.js";import{n as s,r as c,t as l}from"./panel-top-BnVDkV60.js";import{t as u}from"./pencil-DpO4AUNy.js";import{t as d}from"./trash-2-CATziWCd.js";import{$ as f,E as p,M as m,O as h,T as g,Z as _,at as v,b as y,et as b,k as x,v as S,y as C}from"./index-DoRSkbHW.js";/* empty css */import{t as w}from"./app-primitives-B_kzSTuJ.js";import{t as T}from"./StarOrbit-BlI6MhVr.js";import{n as E}from"./brand-CFOXmGdd.js";var D=o(`rotate-ccw-clock`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M12 7v5l4 2`,key:`1fdv2h`}]]),O=e(t(),1),k=n();function A({className:e,onPointerMove:t,...n}){let r=(0,O.useCallback)(e=>{let n=e.currentTarget.getBoundingClientRect();e.currentTarget.style.setProperty(`--rb-spotlight-x`,`${e.clientX-n.left}px`),e.currentTarget.style.setProperty(`--rb-spotlight-y`,`${e.clientY-n.top}px`),t?.(e)},[t]);return(0,k.jsx)(`div`,{className:i(`rb-spotlight-card`,e),onPointerMove:r,...n})}function j({query:e,navigate:t,notify:n,requestConfirm:i,requestText:o}){let{t:j,language:M}=r(),[N,P]=(0,O.useState)([]),[F,I]=(0,O.useState)(()=>localStorage.getItem(a.activeSession)||``),[L,R]=(0,O.useState)(!0),[z,B]=(0,O.useState)(``),V=(0,O.useCallback)(async()=>{R(!0),B(``);try{let e=await y(`/api/sessions`);P([...e.sessions||[]].sort((e,t)=>Date.parse(t.modified||``)-Date.parse(e.modified||``)))}catch(e){B(e instanceof Error?e.message:String(e))}finally{R(!1)}},[]);(0,O.useEffect)(()=>(document.title=`${j(`chat:chatHistoryPage.chatHistory`)} · ${E}`,()=>{document.title=E}),[j]),(0,O.useEffect)(()=>{V();let e=()=>V(),t=e=>I(e.detail?.id||localStorage.getItem(a.activeSession)||``);return window.addEventListener(p,e),window.addEventListener(g,t),()=>{window.removeEventListener(p,e),window.removeEventListener(g,t)}},[V]);let H=(0,O.useMemo)(()=>{let t=e.trim().toLowerCase();return t?N.filter(e=>`${e.name||``} ${e.firstMessage||``} ${e.cwd||``} ${e.model||``}`.toLowerCase().includes(t)):N},[e,N]),U=(e,n=`open`)=>{m(e,n),t(`chat`)},W=async e=>{let t=await o({title:j(`chat:chatHistoryPage.renameChat`),inputLabel:j(`chat:chatHistoryPage.chatTitle`),value:e.name,confirmLabel:j(`chat:chatHistoryPage.save`)});if(t!==null&&t!==e.name)try{let r=await y(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`PATCH`,body:JSON.stringify({name:t})});P(t=>t.map(t=>t.id===e.id?{...t,name:r.name}:t)),x(),n(j(`chat:chatHistoryPage.chatTitleUpdated`))}catch(e){B(e instanceof Error?e.message:String(e))}},G=async e=>{if(await i({title:j(`chat:chatHistoryPage.deleteChat`),message:j(`chat:chatHistoryPage.deleteChatNameThisAlsoRemovesLocalChatHistory`,{name:e.name}),confirmLabel:j(`chat:chatHistoryPage.delete`)}))try{await y(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`DELETE`});let t=N.filter(t=>t.id!==e.id);if(P(t),F===e.id){let e=t[0]?.id||``;I(e),e?localStorage.setItem(a.activeSession,e):localStorage.removeItem(a.activeSession),h(e)}x(),n(j(`chat:chatHistoryPage.chatDeleted`))}catch(e){B(e instanceof Error?e.message:String(e))}};return(0,k.jsxs)(`div`,{className:`chat-history-page`,children:[(0,k.jsxs)(`div`,{className:`chat-history-summary`,children:[(0,k.jsxs)(`div`,{children:[(0,k.jsx)(D,{size:18}),(0,k.jsxs)(`span`,{children:[(0,k.jsx)(`strong`,{children:j(`chat:chatHistoryPage.countChatHistoryItems`,{count:N.length})}),(0,k.jsx)(`small`,{children:e?j(`chat:chatHistoryPage.countCurrentlyFiltered`,{count:H.length}):j(`chat:chatHistoryPage.sortedByMostRecentlyUpdated`)})]})]}),(0,k.jsxs)(`button`,{className:`button secondary`,onClick:V,disabled:L,children:[(0,k.jsx)(_,{className:L?`spin`:``,size:14}),j(`chat:chatHistoryPage.refresh`)]})]}),z&&(0,k.jsx)(`div`,{className:`config-error`,children:z}),L&&!N.length?(0,k.jsxs)(w,{className:`empty-state`,children:[(0,k.jsx)(_,{className:`spin`,size:22}),(0,k.jsx)(`h2`,{children:j(`chat:chatHistoryPage.loadingChatHistory`)})]}):H.length?(0,k.jsx)(w,{className:`chat-history-list`,children:H.map(e=>(0,k.jsxs)(A,{className:`chat-history-row ${e.id===F?`active`:``}`,children:[(0,k.jsxs)(`button`,{className:`chat-history-open`,onClick:()=>U(e.id),children:[(0,k.jsx)(`span`,{className:`chat-history-icon`,children:(0,k.jsx)(b,{size:15})}),(0,k.jsxs)(`span`,{className:`chat-history-copy`,children:[(0,k.jsx)(`strong`,{title:e.name||j(`chat:chatHistoryPage.untitledChat`),children:e.name||j(`chat:chatHistoryPage.untitledChat`)}),(0,k.jsx)(`span`,{children:e.firstMessage||j(`chat:chatHistoryPage.noMessageSummary`)}),(0,k.jsxs)(`small`,{children:[C(e.cwd,M),e.model&&!/(^|\/)unknown$/i.test(String(e.model))?` · ${String(e.model).split(`/`).at(-1)}`:``,e.streaming?` · ${j(`chat:chatHistoryPage.agentRunning`)}`:``]})]}),(0,k.jsxs)(`span`,{className:`chat-history-meta`,children:[(0,k.jsx)(`strong`,{children:j(`chat:chatHistoryPage.countMessages`,{count:e.messageCount||0})}),(0,k.jsx)(`small`,{children:S(e.modified,M)})]}),(0,k.jsx)(v,{size:15})]}),(0,k.jsxs)(`div`,{className:`chat-history-actions`,children:[(0,k.jsx)(`button`,{title:j(`chat:chatHistoryPage.splitToLeft`),"aria-label":j(`chat:chatHistoryPage.splitNameToTheLeft`,{name:e.name}),onClick:()=>U(e.id,`left`),children:(0,k.jsx)(f,{size:14})}),(0,k.jsx)(`button`,{title:j(`chat:chatHistoryPage.splitToRight`),"aria-label":j(`chat:chatHistoryPage.splitNameToTheRight`,{name:e.name}),onClick:()=>U(e.id,`right`),children:(0,k.jsx)(s,{size:14})}),(0,k.jsx)(`button`,{title:j(`chat:chatHistoryPage.splitToTop`),"aria-label":j(`chat:chatHistoryPage.splitNameToTheTop`,{name:e.name}),onClick:()=>U(e.id,`above`),children:(0,k.jsx)(l,{size:14})}),(0,k.jsx)(`button`,{title:j(`chat:chatHistoryPage.splitToBottom`),"aria-label":j(`chat:chatHistoryPage.splitNameToTheBottom`,{name:e.name}),onClick:()=>U(e.id,`below`),children:(0,k.jsx)(c,{size:14})}),(0,k.jsx)(`button`,{title:j(`chat:chatHistoryPage.renameChat`),"aria-label":j(`chat:chatHistoryPage.renameChat`),onClick:()=>W(e),children:(0,k.jsx)(u,{size:14})}),(0,k.jsx)(`button`,{className:`danger`,title:j(`chat:chatHistoryPage.deleteChat`),"aria-label":j(`chat:chatHistoryPage.deleteChat`),onClick:()=>G(e),children:(0,k.jsx)(d,{size:14})})]})]},e.id))}):(0,k.jsxs)(w,{className:`empty-state`,children:[(0,k.jsx)(T,{size:48}),(0,k.jsx)(`h2`,{children:j(e?`chat:chatHistoryPage.noMatchingConversations`:`chat:chatHistoryPage.noConversationsHaveLeftAnEchoYet`)}),(0,k.jsx)(`p`,{children:j(e?`chat:chatHistoryPage.tryADifferentSearch`:`chat:chatHistoryPage.onceAConversationBeginsItWillBeQuietlyGatheredHere`)})]})]})}export{j as ChatHistoryPage};