pisper 0.6.9 → 0.6.10

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 (180) hide show
  1. package/lib/npm-platform.mjs +0 -1
  2. package/lib/platform.mjs +2 -1
  3. package/package.json +6 -7
  4. package/web/.vite/manifest.json +943 -844
  5. package/web/assets/{AppDialog-DJZWnxzH.js → AppDialog-1E6olv_T.js} +1 -1
  6. package/web/assets/{AppOverlays-DICzFYsW.js → AppOverlays-BV_gIt77.js} +1 -1
  7. package/web/assets/AppSelect-BGVBQRP1.js +1 -0
  8. package/web/assets/AssetsPage-6HTR2IpQ.js +1 -0
  9. package/web/assets/{BoardPage-DKjz8Sj_.js → BoardPage-CL2e-8j4.js} +3 -3
  10. package/web/assets/BrandLogo-k3CvJjd4.js +1 -0
  11. package/web/assets/ChannelsPage-CmczBcSA.js +1 -0
  12. package/web/assets/{ChatAppearancePage-6Mq1uFuU.js → ChatAppearancePage-DMAnYGNb.js} +1 -1
  13. package/web/assets/{ChatHistoryPage-j-_vMM-M.js → ChatHistoryPage-DedOh6aO.js} +1 -1
  14. package/web/assets/ChatPage-b16p3qWl.js +553 -0
  15. package/web/assets/ConfigPage-BYB0rL_V.js +5 -0
  16. package/web/assets/{DesktopWindowControls-BOrn8KGA.js → DesktopWindowControls-DAuHMZFO.js} +1 -1
  17. package/web/assets/DispatchOverlay-CEbzXIct.js +1 -0
  18. package/web/assets/{FeaturePage-1MUXz3Y-.js → FeaturePage-BJGDVZ_u.js} +1 -1
  19. package/web/assets/{FileAttachmentPreview-B17OgdVi.js → FileAttachmentPreview-Cw5-ApIr.js} +1 -1
  20. package/web/assets/{FloatingWidgets-CcPNUEFB.js → FloatingWidgets-BQXBxVDd.js} +1 -1
  21. package/web/assets/FocusRuntimeControls-C7b1I2L5.js +1 -0
  22. package/web/assets/{GitDiffViewer-CSl-SGa1.js → GitDiffViewer-BAZTiiDo.js} +1 -1
  23. package/web/assets/{HoldToConfirmButton-CVyju89W.js → HoldToConfirmButton-BxdJ7icc.js} +1 -1
  24. package/web/assets/LaunchConsole-uKHKx4h0.js +2 -0
  25. package/web/assets/{ManageProjectsDialog-DSN8QUPg.js → ManageProjectsDialog-03d7p6Td.js} +1 -1
  26. package/web/assets/{MarkdownMessage-BPZcFjyR.js → MarkdownMessage-B_9d8KI-.js} +1 -1
  27. package/web/assets/McpPage-7NEAc3Rv.js +1 -0
  28. package/web/assets/MemoryPage-_mnn45jY.js +1 -0
  29. package/web/assets/{MobileNavigation-Cc4zcU3a.js → MobileNavigation-IXJN0OuM.js} +1 -1
  30. package/web/assets/{MorePage-B-qsYMAv.js → MorePage-DtqJlHAA.js} +1 -1
  31. package/web/assets/{PageHeader-mUKoAR30.js → PageHeader-6KRCT1j1.js} +1 -1
  32. package/web/assets/{PageState-aWHrkE1D.js → PageState-Cz6vFMXv.js} +1 -1
  33. package/web/assets/{PhoneDrawer-qES4OwMx.js → PhoneDrawer-Cp6X4_ei.js} +1 -1
  34. package/web/assets/{PhoneMenuButton-DEbqHUUP.js → PhoneMenuButton-Cl7FEYYw.js} +1 -1
  35. package/web/assets/{PhoneTopBar-CLPmKZ4Q.js → PhoneTopBar-CR1m9vf3.js} +1 -1
  36. package/web/assets/{PluginsPage-B53DParo.js → PluginsPage-CNddCaYt.js} +1 -1
  37. package/web/assets/{QuickPromptIdeas-gKobqAO3.js → QuickPromptIdeas-C7X4T7kx.js} +1 -1
  38. package/web/assets/{SafeModePrompt-Dlq8rlix.js → SafeModePrompt-jSCZVMGa.js} +1 -1
  39. package/web/assets/SchedulesPage-BRqBCtCf.js +1 -0
  40. package/web/assets/SessionBrowserPane-maCbfzXl.js +2 -0
  41. package/web/assets/SessionContextPanel-BSY6NaRx.js +2 -0
  42. package/web/assets/{SessionHome-CVdMY-bT.js → SessionHome-Wu8JWsto.js} +1 -1
  43. package/web/assets/SessionInspector-BRIFfuiZ.js +1 -0
  44. package/web/assets/{SessionShell-Vv2oGR0M.js → SessionShell-Dp94FUuk.js} +1 -1
  45. package/web/assets/{SettingsSidebar-cG_oKSWN.js → SettingsSidebar-CP1qDAcx.js} +1 -1
  46. package/web/assets/{ShortcutHelpDialog-C5KKKBZd.js → ShortcutHelpDialog-C5f_x4XG.js} +1 -1
  47. package/web/assets/{ShortcutKeys-zuzmq8eW.js → ShortcutKeys-Cx8hNJ62.js} +1 -1
  48. package/web/assets/{SidebarUpdateStatus-BXimwZ77.js → SidebarUpdateStatus-YxE_hT2l.js} +1 -1
  49. package/web/assets/{SkillsPage-AhmayxVl.js → SkillsPage-z6rTYJ8Z.js} +1 -1
  50. package/web/assets/TaskProcessesPane-yhEsHe1N.js +1 -0
  51. package/web/assets/TaskTerminalView-CT6V8AGR.js +18 -0
  52. package/web/assets/{TerminalPanel-wvzi7jBd.js → TerminalPanel-598uzwoB.js} +1 -1
  53. package/web/assets/{WebDesktopPet-qREBG08n.js → WebDesktopPet-D6bkGOwL.js} +1 -1
  54. package/web/assets/WorkflowsPage-DrltlXh1.js +1 -0
  55. package/web/assets/{WorkspacePicker-B68VTV5x.js → WorkspacePicker-DPwlN6KA.js} +1 -1
  56. package/web/assets/{api-DVgYxLec.js → api-45iTnFjN.js} +1 -1
  57. package/web/assets/{app-primitives-Cmdj4cIW.js → app-primitives-Drz_SjnR.js} +1 -1
  58. package/web/assets/{app-update-BEymQxyl.js → app-update-kStNhVOh.js} +1 -1
  59. package/web/assets/{approval-confirm-JevCpyyv.js → approval-confirm-CCo7v8Ln.js} +1 -1
  60. package/web/assets/{badge-Dk1N1mVf.js → badge-CWB3lj2H.js} +1 -1
  61. package/web/assets/{board-launch-CUV0KEKT.js → board-launch-YigjCnZf.js} +1 -1
  62. package/web/assets/board-messages-xFeTO3o6.js +1 -0
  63. package/web/assets/{board-projects-VBEGB9VD.js → board-projects-LnEYyP4h.js} +1 -1
  64. package/web/assets/{button-Bu_vuij9.js → button-CCcCN8tE.js} +1 -1
  65. package/web/assets/{chat-api-CQ9MShHZ.js → chat-api-BBuYjxwz.js} +1 -1
  66. package/web/assets/checkbox-BrEHgFV0.js +1 -0
  67. package/web/assets/client-store-CAhvptv1.js +1 -0
  68. package/web/assets/{collapsible-C__hRcbA.js → collapsible-DMaUQRX4.js} +1 -1
  69. package/web/assets/{config-search-ClE5BFDz.js → config-search-C1YtwJAQ.js} +1 -1
  70. package/web/assets/{dialog-Kx6RCn3A.js → dialog-2cmY5V75.js} +1 -1
  71. package/web/assets/{dist-Cfh4kzCK.js → dist-41X0pdUs.js} +1 -1
  72. package/web/assets/{dist-BdkTa5R3.js → dist-BHkR6BLP.js} +1 -1
  73. package/web/assets/dist-BRjj4UeB.js +1 -0
  74. package/web/assets/dist-BaBySQmo.js +1 -0
  75. package/web/assets/{dist-BlIIpW6W.js → dist-BiRPwy4W.js} +1 -1
  76. package/web/assets/{dist-B_a0oV4U.js → dist-BsRXXcSL.js} +1 -1
  77. package/web/assets/dist-DzGQ7sLi.js +1 -0
  78. package/web/assets/{dist-TksYpDID.js → dist-OB2r6Xsr.js} +1 -1
  79. package/web/assets/dist-V8chnW6-.js +1 -0
  80. package/web/assets/dropdown-menu-CFIFNaKO.js +1 -0
  81. package/web/assets/es2015-DTZdOI9P.js +41 -0
  82. package/web/assets/{events-ulSEiNKt.js → events-n27XPFgs.js} +1 -1
  83. package/web/assets/{field-Bnm9KAi2.js → field-DaxtcBBA.js} +1 -1
  84. package/web/assets/{hosts-B-POTAmu.js → hosts-CmK7Yt82.js} +1 -1
  85. package/web/assets/i18n-DfsxGeh5.js +1 -0
  86. package/web/assets/{index-C4CqzQNY.js → index-BDgCJ4Fs.js} +2 -2
  87. package/web/assets/index-CfTBR7Rs.css +2 -0
  88. package/web/assets/input-CPw-zkYh.js +1 -0
  89. package/web/assets/input-group-CDEyjyK4.js +1 -0
  90. package/web/assets/{label-BzlNatZM.js → label-CVWjEcfV.js} +1 -1
  91. package/web/assets/{launch-defaults-store-7CojCPDE.js → launch-defaults-store-CGeglXDI.js} +1 -1
  92. package/web/assets/model-display-kDwvtxrW.js +1 -0
  93. package/web/assets/mount-app-Bxa7xF8d.js +9 -0
  94. package/web/assets/{permission-rules-api-BQlSNrYK.js → permission-rules-api-BvKOF7rS.js} +1 -1
  95. package/web/assets/{pick-system-directory-BgN7vwKS.js → pick-system-directory-DSupTk88.js} +1 -1
  96. package/web/assets/placements--Zk5njsN.js +2 -0
  97. package/web/assets/{popover-DT3PkPcL.js → popover-BtcdIPRz.js} +1 -1
  98. package/web/assets/{progress-YhljaYNy.js → progress-5odAz3B9.js} +1 -1
  99. package/web/assets/public--8F2_oqP.js +1 -0
  100. package/web/assets/public-CgydVZuV.js +2 -0
  101. package/web/assets/public-components-CeIuV0FY.js +1 -0
  102. package/web/assets/public-diff-DWbitsnS.js +1 -0
  103. package/web/assets/public-launch-DtVwSANs.js +1 -0
  104. package/web/assets/run-activity-CwfO0cui.js +1 -0
  105. package/web/assets/{runtime-capabilities-store--7mKyYAM.js → runtime-capabilities-store-D1FwQXKw.js} +1 -1
  106. package/web/assets/{safe-mode-instance-fnZLVjjd.js → safe-mode-instance-TonxlRrq.js} +1 -1
  107. package/web/assets/safe-mode-sentinel-BG78O0yJ.js +1 -0
  108. package/web/assets/segmented-control-BlM_GKV6.js +1 -0
  109. package/web/assets/select-DD_WO-gs.js +1 -0
  110. package/web/assets/{separator-cVAjxx3U.js → separator-BPh_qxvc.js} +1 -1
  111. package/web/assets/{session-change-summary-api-3216hpjE.js → session-change-summary-api-B9M9m1C0.js} +1 -1
  112. package/web/assets/{session-home-CM2_V5SZ.js → session-home-BDT4lMMJ.js} +1 -1
  113. package/web/assets/{session-organization-api-KZqrJZdA.js → session-organization-api-BgCoIi2X.js} +1 -1
  114. package/web/assets/{session-scope-Bw40iOXx.js → session-scope-t_l7TRH5.js} +1 -1
  115. package/web/assets/{session-tree-actions-oMnZOFG4.js → session-tree-actions-7q68B3e-.js} +1 -1
  116. package/web/assets/{session-tree-summary-PpU7AyqE.js → session-tree-summary-CMgz9Uf-.js} +1 -1
  117. package/web/assets/{sheet-CASx5kBt.js → sheet-BTaIEX4w.js} +1 -1
  118. package/web/assets/{shortcuts-BOeaPAvF.js → shortcuts-BGzXmClx.js} +1 -1
  119. package/web/assets/{side-chat-context-BcCF9VZz.js → side-chat-context-D36twdWd.js} +7 -7
  120. package/web/assets/{sidebar-4xAUV3YP.js → sidebar-BIagLnrN.js} +2 -2
  121. package/web/assets/{sidebar-store-we4gMwQq.js → sidebar-store-DztdHlUn.js} +1 -1
  122. package/web/assets/slider-DTmAZl-R.js +1 -0
  123. package/web/assets/{speech-session-ClA_5hmd.js → speech-session-D0GE-Pym.js} +1 -1
  124. package/web/assets/{startup-queries--JqGB_Cp.js → startup-queries-BAWDaQY5.js} +1 -1
  125. package/web/assets/{switch-DRkmP9uM.js → switch-D_G8wFhs.js} +1 -1
  126. package/web/assets/tabs-DsgBuvJv.js +1 -0
  127. package/web/assets/{tooltip-EomUbN9-.js → tooltip-D4MFbqcG.js} +1 -1
  128. package/web/assets/{use-i18n-D2P6OO3w.js → use-i18n-CVZdp2ZN.js} +1 -1
  129. package/web/assets/use-mobile-DauOEda6.js +1 -0
  130. package/web/assets/{use-studio-actions-CIA2TwfZ.js → use-studio-actions-C4Zh15Vx.js} +2 -2
  131. package/web/assets/{useBoardItems-BU9aonpg.js → useBoardItems-DCo-4he0.js} +1 -1
  132. package/web/assets/{useFleetSystemInfo-BMpdQSqr.js → useFleetSystemInfo-BbQQId7X.js} +1 -1
  133. package/web/assets/{useNow-DAVNVxdo.js → useNow-CxO2FUQY.js} +1 -1
  134. package/web/assets/usePhoneShell-m3H_98m_.js +1 -0
  135. package/web/assets/{useSessionListQuery-DqZ3m8O9.js → useSessionListQuery-CJ-BYuqu.js} +1 -1
  136. package/web/assets/{useSessionRowActions-DTxXBruc.js → useSessionRowActions-D0GKtBhg.js} +1 -1
  137. package/web/assets/{useSidebarModel-DtY4PopW.js → useSidebarModel-b5cdTj9-.js} +1 -1
  138. package/web/assets/{web-preview-tGGVFpDI.js → web-preview-Bdrxyj-l.js} +1 -1
  139. package/web/assets/{web-preview-events-Bl80SpFF.js → web-preview-events-BBbAgfr4.js} +1 -1
  140. package/web/index.html +2 -2
  141. package/web/assets/AppSelect-fH3gqflO.js +0 -1
  142. package/web/assets/AssetsPage-BhrkErwt.js +0 -1
  143. package/web/assets/BrandLogo-C6O8cv-b.js +0 -1
  144. package/web/assets/ChannelsPage-C6A-ClM6.js +0 -1
  145. package/web/assets/ChatPage-B1V00hUs.js +0 -553
  146. package/web/assets/ComposerCommandMenu-BnwvT15Y.js +0 -1
  147. package/web/assets/ConfigPage-DwVhvmWL.js +0 -3
  148. package/web/assets/DispatchOverlay-ByJYJO36.js +0 -1
  149. package/web/assets/LaunchConsole-DRnR4Irg.js +0 -2
  150. package/web/assets/McpPage-DeuJ0HzI.js +0 -1
  151. package/web/assets/MemoryPage-CxFJYVZs.js +0 -1
  152. package/web/assets/SchedulesPage-BUDQGrHe.js +0 -1
  153. package/web/assets/SessionBrowserPane-Bq_U_5i9.js +0 -2
  154. package/web/assets/SessionContextPanel-V4QZj7xu.js +0 -2
  155. package/web/assets/SessionInspector-C14ilfNC.js +0 -1
  156. package/web/assets/TaskProcessesPane-hcChPVpA.js +0 -1
  157. package/web/assets/TaskTerminalView-DcFp0oHH.js +0 -18
  158. package/web/assets/WorkflowsPage-Dg9Mh9ND.js +0 -1
  159. package/web/assets/board-messages-CcVs4aSw.js +0 -1
  160. package/web/assets/checkbox-CG2AnYPm.js +0 -1
  161. package/web/assets/client-store-B-3_7075.js +0 -1
  162. package/web/assets/dist-DAs5KRGl.js +0 -1
  163. package/web/assets/dist-alOyD2Bh.js +0 -1
  164. package/web/assets/dropdown-menu-gZkWDhaR.js +0 -1
  165. package/web/assets/es2015-0QT3KgdC.js +0 -41
  166. package/web/assets/i18n-DPvJ0T4T.js +0 -1
  167. package/web/assets/index-DbL8igcD.css +0 -2
  168. package/web/assets/input-DIwJDpj9.js +0 -1
  169. package/web/assets/mount-app-CxpqEKPV.js +0 -9
  170. package/web/assets/placements-5xDVBdPk.js +0 -2
  171. package/web/assets/public-CyIfRdzo.js +0 -1
  172. package/web/assets/public-DwUlE0fE.js +0 -2
  173. package/web/assets/public-components-Cv7X4fW8.js +0 -1
  174. package/web/assets/public-diff-1bDiNGBB.js +0 -1
  175. package/web/assets/public-launch-D8n5o2kS.js +0 -1
  176. package/web/assets/safe-mode-sentinel-DEJ0ZBB_.js +0 -1
  177. package/web/assets/segmented-control-BOJt5SLj.js +0 -1
  178. package/web/assets/select-JC5m2BRQ.js +0 -1
  179. package/web/assets/tabs-C4VeYYS2.js +0 -1
  180. package/web/assets/usePhoneShell-w7JLYU3H.js +0 -1
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{d as r}from"./i18n-DPvJ0T4T.js";import{t as i}from"./use-i18n-D2P6OO3w.js";import{r as a,t as o}from"./useQuery-Bg3cTjsY.js";import{t as s}from"./queryOptions-Dfvzj6n2.js";import{a as c,l,u}from"./api-DVgYxLec.js";import{t as d}from"./createLucideIcon-Cd-3GVxJ.js";import{t as f}from"./download-BCfIiuaL.js";import{t as p}from"./external-link-CEQqPcqc.js";import{t as m}from"./file-Bllajneu.js";import{t as h}from"./link-2-mgasYn21.js";import{t as g}from"./paperclip-BCXrwYpb.js";import{t as _}from"./plus-fQbSqB1n.js";import{t as v}from"./refresh-cw-TbWxTY4K.js";import{t as y}from"./trash-2-CNrPOoPR.js";import{t as b}from"./triangle-alert-CE1q54ci.js";import{t as x}from"./x-07u4-129.js";import{t as S}from"./more-pages-D_PnxLN0.js";import{a as ee,c as te,n as ne,o as re,p as ie,r as ae,s as oe,t as se}from"./dropdown-menu-gZkWDhaR.js";import{n as ce,t as C}from"./button-Bu_vuij9.js";import{s as le}from"./shortcuts-BOeaPAvF.js";import{n as w}from"./format-DMJQzoZ7.js";import{n as T}from"./PageState-aWHrkE1D.js";import{a as E,i as D,l as O,n as k,o as A,s as j,t as M}from"./dialog-Kx6RCn3A.js";import{a as ue,i as N,n as de,o as fe,r as pe,s as me,t as P}from"./FeaturePage-1MUXz3Y-.js";import{n as F}from"./mobile-runtime-recovery-tbTyacip.js";import{t as I}from"./field-Bnm9KAi2.js";import{t as L}from"./MarkdownMessage-BPZcFjyR.js";var R=d(`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`}]]),z=d(`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`}]]),he=d(`list-filter`,[[`path`,{d:`M2 5h20`,key:`1fs1ex`}],[`path`,{d:`M6 12h12`,key:`8npq4p`}],[`path`,{d:`M9 19h6`,key:`456am0`}]]),B=e(t(),1),V=134217728;function H(e){let t=document.createElement(`a`);t.href=`/api/assets/${encodeURIComponent(e.id)}/download`,t.download=e.name,t.hidden=!0,document.body.append(t),t.click(),t.remove()}function ge(e){return new Promise((t,n)=>{let r=new FileReader;r.onerror=()=>n(r.error||Error(`读取资产失败。`)),r.onload=()=>{let e=typeof r.result==`string`?r.result:``,i=e.indexOf(`,`);i<0?n(Error(`资产编码失败。`)):t(e.slice(i+1))},r.readAsDataURL(e)})}function U(){if(typeof window>`u`)return!1;let e=window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke;return!!(window.pisperDesktop?.openAsset||window.__PISPER_MOBILE_APP__&&e)}async function _e(e){let t=window.pisperDesktop?.openAsset,n=window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke;if(!t&&!(window.__PISPER_MOBILE_APP__&&n))return H(e),`download`;await F();let r=await fetch(`/api/assets/${encodeURIComponent(e.id)}/download`);if(!r.ok)throw Error(`资产下载失败 (${r.status})`);if((Number(r.headers.get(`content-length`))||0)>V)throw Error(`资产超过 128 MB 原生打开限制。`);let i=await r.blob();if(!i.size||i.size>V)throw Error(`资产内容为空或超过 128 MB 原生打开限制。`);let a=await ge(i);return t?await t({name:e.name,data:a}):await n?.(`mobile_open_asset`,{input:{name:e.name,mimeType:e.mimeType||i.type||`application/octet-stream`,data:a}}),`application`}function W(e){if(!e||typeof e!=`object`||Array.isArray(e))throw l();return Object.fromEntries(Object.entries(e))}function G(e,t=!1){if(!(e===void 0&&!t)){if(typeof e!=`string`||t&&!e)throw l();return e}}function ve(e){if(typeof e==`string`)try{let t=new URL(e);return[`http:`,`https:`].includes(t.protocol)?t.href:void 0}catch{return}}function K(e){let t=W(e),n=G(t.id,!0),r=G(t.name,!0),i=G(t.kind,!0);if(t.size!==void 0&&(typeof t.size!=`number`||!Number.isFinite(t.size)||t.size<0))throw l();let a=t.url===void 0?void 0:ve(t.url);if(t.url!==void 0&&!a||i===`link`&&!a)throw l();return{id:n,name:r,kind:i,size:t.size,url:a,mimeType:G(t.mimeType),source:G(t.source),sessionName:G(t.sessionName)}}function ye(e,t){let n=W(e),r=K(n);if(![`text`,`image`,`document`,`file`].includes(r.kind)||r.kind===`text`&&typeof n.text!=`string`||!t&&[`image`,`document`].includes(r.kind)&&typeof n.data!=`string`||n.truncated!==void 0&&typeof n.truncated!=`boolean`)throw l();return{...r,text:G(n.text),data:G(n.data),extension:G(n.extension),truncated:n.truncated}}function be(e={}){return{query:(e.query||``).trim(),kind:e.kind||`all`,sessionId:e.sessionId||``}}var q=e=>`/api/assets/${encodeURIComponent(e)}`,J=e=>`${q(e)}/download?inline=1`,Y={async list(e={},t){let{query:n,kind:r,sessionId:i}=be(e),a=new URLSearchParams;return n&&a.set(`query`,n),r!==`all`&&a.set(`kind`,r===`video`?`file`:r),i&&a.set(`sessionId`,i),c(`/api/assets?${a}`,{signal:t,parse(e){let t=W(e);if(!Array.isArray(t.assets))throw l();let n=t.assets.map(K);return r===`video`?n.filter(e=>e.mimeType?.startsWith(`video/`)):n}})},preview:(e,t)=>c(`${q(e)}/content?preview=1`,{signal:t,parse:e=>ye(e,!0)}),content:(e,t)=>c(`${q(e)}/content`,{signal:t,parse:e=>ye(e,!1)}),async createLink(e){let t=ve(e.url.trim());if(!t)throw new u(r(`assets:assetsPage.invalidLink`),{kind:`protocol`,data:{code:`INVALID_ASSET_URL`}});return c(`/api/assets`,{method:`POST`,body:{kind:`link`,name:e.name,url:t,source:`upload`},parse:K})},remove:e=>c(q(e),{method:`DELETE`,parse(e){if(W(e).deleted!==!0)throw l();return!0}})},X=n();function xe({onClose:e,onCreated:t}){let{t:n}=i(),[r,a]=(0,B.useState)(``),[o,s]=(0,B.useState)(``),[c,l]=(0,B.useState)(!1),[u,d]=(0,B.useState)(``),f=(0,B.useRef)(!1),p=(0,B.useRef)(!0);return(0,B.useEffect)(()=>(p.current=!0,()=>{p.current=!1}),[]),(0,X.jsx)(M,{open:!0,busy:c,onOpenChange:t=>{!t&&!f.current&&e()},children:(0,X.jsx)(D,{size:`compact`,scrollMode:`body`,children:(0,X.jsxs)(`form`,{className:`flex min-h-0 flex-col gap-4`,onSubmit:async e=>{if(e.preventDefault(),f.current)return;f.current=!0,l(!0),d(``);let n=!1;try{await Y.createLink({name:r,url:o}),n=!0}catch(e){p.current&&d(e instanceof Error?e.message:String(e))}finally{f.current=!1,p.current&&l(!1)}n&&t()},"aria-busy":c||void 0,children:[(0,X.jsxs)(j,{className:`pr-8`,children:[(0,X.jsx)(O,{children:n(`assets:assetsPage.addLinkAsset`)}),(0,X.jsx)(E,{children:n(`assets:assetsPage.linksCanBeArchivedOpenedOrAddedToAChatAsContext`)})]}),(0,X.jsxs)(k,{className:`flex flex-col gap-4`,children:[(0,X.jsxs)(I,{variant:`control`,children:[n(`assets:assetsPage.name`),(0,X.jsx)(`input`,{value:r,disabled:c,onChange:e=>a(e.target.value),placeholder:n(`assets:assetsPage.forExampleOpenAIAPIDocs`)})]}),(0,X.jsxs)(I,{variant:`control`,children:[`URL`,(0,X.jsx)(`input`,{className:`font-mono`,value:o,disabled:c,onChange:e=>s(e.target.value),placeholder:`https://example.com/docs`})]}),u&&(0,X.jsx)(`p`,{role:`alert`,className:`break-words text-sm text-danger`,children:u})]}),(0,X.jsxs)(A,{children:[(0,X.jsx)(C,{variant:`secondary`,size:`dialogAction`,disabled:c,onClick:e,children:n(`assets:assetsPage.cancel`)}),(0,X.jsxs)(C,{type:`submit`,size:`dialogAction`,loading:c,disabled:c||!o.trim(),children:[(0,X.jsx)(_,{}),n(c?`assets:assetsPage.adding`:`assets:assetsPage.addLink`)]})]})]})})})}var Z=[`assets`,`list`];function Se(e={}){let t=be(e);return s({queryKey:[...Z,t],queryFn:({signal:e})=>Y.list(t,e),staleTime:0,retry:!1})}function Ce(e,t){return s({queryKey:[`assets`,`preview`,e,t],queryFn:({signal:t})=>Y.preview(e,t),staleTime:0,gcTime:0,retry:!1})}async function we(e){await e.cancelQueries({queryKey:Z}),await e.invalidateQueries({queryKey:Z})}function Te({asset:e,generation:t,trigger:n,fallback:r,onClose:a,onUse:s,onOpen:c,busy:l,actionError:u}){let{t:d}=i(),h=e.mimeType?.startsWith(`video/`),_=e.kind===`image`||h,v=o({...Ce(e.id,t),enabled:!_&&e.kind!==`link`}),[y,x]=(0,B.useState)(!1),[S,ee]=(0,B.useState)(0),te=/\.md$/i.test(e.name)||e.mimeType===`text/markdown`;return(0,X.jsx)(M,{open:!0,onOpenChange:e=>{e||a()},children:(0,X.jsxs)(D,{size:`wide`,scrollMode:`body`,className:`w-[min(96vw,1200px)] max-w-[min(96vw,1200px)]`,onCloseAutoFocus:e=>{e.preventDefault();let t=e=>e?.isConnected&&e.getClientRects().length&&getComputedStyle(e).visibility!==`hidden`,i=t(n)?n:r();t(i)&&i?.focus({preventScroll:!0})},children:[(0,X.jsxs)(j,{className:`pr-8`,children:[(0,X.jsx)(O,{className:`break-words leading-6`,children:e.name}),(0,X.jsx)(E,{className:`font-mono break-words tabular-nums`,children:e.kind===`link`?e.url:`${e.mimeType||``} · ${w(e.size)}`})]}),(0,X.jsxs)(k,{className:`min-h-[min(240px,30dvh)] rounded-md border border-stroke bg-surface-subtle p-3`,children:[_?y?(0,X.jsxs)(`div`,{role:`alert`,className:`flex flex-col items-center gap-3 p-4 text-sm`,children:[(0,X.jsx)(b,{className:`size-5 text-danger`}),(0,X.jsx)(`p`,{children:d(`assets:assetsPage.mediaFailed`)}),(0,X.jsx)(C,{variant:`secondary`,onClick:()=>{x(!1),ee(e=>e+1)},children:d(`assets:assetsPage.retry`)})]}):h?(0,X.jsx)(`video`,{controls:!0,playsInline:!0,preload:`metadata`,className:`mx-auto max-h-[65dvh] w-full object-contain`,src:J(e.id),onError:()=>x(!0)},S):(0,X.jsx)(`img`,{className:`mx-auto max-h-[65dvh] max-w-full object-contain`,src:J(e.id),alt:e.name,onError:()=>x(!0)},S):e.kind===`link`?(0,X.jsxs)(`a`,{className:`flex items-center gap-2 font-mono text-sm break-all text-content underline underline-offset-4`,href:e.url,target:`_blank`,rel:`noreferrer`,children:[(0,X.jsx)(p,{className:`shrink-0`}),e.url]}):v.isPending?(0,X.jsxs)(`div`,{role:`status`,className:`flex items-center justify-center gap-2 p-8 text-sm text-content-muted`,children:[(0,X.jsx)(ce,{}),d(`assets:assetsPage.loadingPreview`)]}):v.isError?(0,X.jsxs)(`div`,{role:`alert`,className:`flex flex-wrap items-center gap-2 p-4 text-sm text-danger`,children:[(0,X.jsx)(b,{className:`size-4 shrink-0`}),(0,X.jsx)(`span`,{className:`min-w-0 break-words`,children:v.error.message}),(0,X.jsx)(C,{variant:`secondary`,onClick:()=>{v.refetch()},children:d(`assets:assetsPage.retry`)})]}):v.data?.kind===`text`?te?(0,X.jsx)(`div`,{className:`mx-auto max-w-3xl text-left`,children:(0,X.jsx)(L,{children:v.data.text||``})}):(0,X.jsx)(`div`,{className:`mx-auto max-w-3xl whitespace-pre-wrap font-sans text-base leading-7 [overflow-wrap:anywhere]`,"data-asset-plain":!0,children:v.data.text}):(0,X.jsxs)(`div`,{className:`flex flex-col items-center gap-2 p-6 text-center text-sm`,children:[(0,X.jsx)(m,{className:`size-8 text-content-faint`,strokeWidth:1.5}),(0,X.jsx)(`strong`,{className:`font-medium break-words`,children:e.name}),(0,X.jsx)(`p`,{className:`max-w-md text-xs text-content-muted`,children:d(`assets:assetsPage.thisFileTypeCanBeDownloadedSupportedDocumentsCanAlsoBeAddedToAChatForAnalysis`)})]}),v.data?.truncated&&(0,X.jsx)(`p`,{className:`mt-3 text-xs text-content-muted`,children:d(`assets:assetsPage.previewTruncated`)})]}),u&&(0,X.jsx)(`p`,{role:`alert`,className:`break-words text-sm text-danger`,children:u}),(0,X.jsxs)(A,{children:[e.kind!==`link`&&(0,X.jsxs)(C,{variant:`secondary`,size:`dialogAction`,disabled:!!l,loading:l===`open`,onClick:c,children:[U()?(0,X.jsx)(p,{}):(0,X.jsx)(f,{}),U()?d(`assets:assetsPage.openInApplication`):d(`assets:assetsPage.download`)]}),(0,X.jsxs)(C,{size:`dialogAction`,disabled:!!l,loading:l===`use`,onClick:s,children:[(0,X.jsx)(g,{}),d(`assets:assetsPage.useInChat`)]})]})]})})}var Q=[`all`,`image`,`video`,`file`,`link`];function $(e,t){return t(e===`image`?`assets:assetsPage.images`:e===`video`?`assets:assetsPage.videos`:e===`file`?`assets:assetsPage.files`:e===`link`?`assets:assetsPage.links`:`assets:assetsPage.all`)}function Ee({activeSessionId:e,onBack:t,notify:n,onUse:r,requestConfirm:s}){let{t:c}=i(),l=a(),u=le(`focusSearch`),[d,f]=(0,B.useState)(``),[p,m]=(0,B.useState)(`all`),[g,_]=(0,B.useState)(!1),[y,b]=(0,B.useState)(!1),[w,E]=(0,B.useState)(null),D=(0,B.useRef)(0),O=(0,B.useRef)(null),k=(0,B.useRef)(!0),A=(0,B.useRef)(e);A.current=e;let j=(0,B.useRef)(new Map),[M,N]=(0,B.useState)({}),[F,I]=(0,B.useState)({}),L=g&&!e,R=o({...Se({query:d,kind:p,sessionId:g?e:``}),enabled:!L}),z=L?[]:R.data;(0,B.useEffect)(()=>{k.current=!0;let e=j.current;return()=>{k.current=!1;for(let t of e.values())t.controller?.abort()}},[]),(0,B.useEffect)(()=>{let e=j.current;return()=>{for(let t of e.values())t.controller?.abort()}},[e]);let V=async(t,i)=>{if(j.current.has(t.id))return;let a=i===`use`?new AbortController:void 0,o=e;j.current.set(t.id,{action:i,controller:a}),N(e=>({...e,[t.id]:i})),I(e=>({...e,[t.id]:``}));try{if(i===`delete`){if(!await s({title:c(`assets:assetsPage.deleteAsset`),message:c(`assets:assetsPage.deleteAssetName`,{name:t.name}),confirmLabel:c(`assets:assetsPage.delete`)})||!k.current)return;await l.cancelQueries({queryKey:Z}),await Y.remove(t.id),l.setQueriesData({queryKey:Z},e=>e?.filter(e=>e.id!==t.id)),k.current&&n(c(`assets:assetsPage.assetDeleted`)),await we(l)}else if(i===`use`){let e=await Y.content(t.id,a?.signal);if(!k.current||a?.signal.aborted||A.current!==o)return;r(e),n(c(`assets:assetsPage.nameAddedToChat`,{name:t.name}))}else{let e=await _e(t);k.current&&n(c(e===`application`?`assets:assetsPage.openedInApplication`:`assets:assetsPage.downloadStarted`))}}catch(e){k.current&&!a?.signal.aborted&&I(n=>({...n,[t.id]:e instanceof Error?e.message:String(e)}))}finally{j.current.delete(t.id),k.current&&N(e=>({...e,[t.id]:void 0}))}},H=!!(d.trim()||p!==`all`),ge=c(g?`assets:assetsPage.noCurrentAssets`:H?`assets:assetsPage.noMatchingAssets`:`assets:assetsPage.nothingHasGatheredHereYet`),U=`border-star-border bg-star-soft text-star-strong hover:bg-star-soft hover:text-star-strong max-[650px]:h-11`,W=c(`navigation:navigation.assets`),G=(0,X.jsx)(C,{variant:`secondary`,size:`sm`,className:`max-[650px]:h-11`,onClick:()=>{R.refetch()},children:c(`assets:assetsPage.retry`)});return(0,X.jsxs)(pe,{title:W,description:c(`assets:assetsPage.conversationAttachmentsAndAgentOutputsGatherHereAutomatically`),back:t&&{label:c(`navigation:sidebar.features`),ariaLabel:c(`navigation:shell.backToFeaturesLabel`),onBack:t},toolbar:(0,X.jsx)(me,{search:(0,X.jsx)(ue,{id:S,value:d,onValueChange:f,placeholder:c(`navigation:pageHeader.searchPage`,{page:W}),shortcut:u,clearLabel:c(`navigation:more.clearSearch`)}),actions:(0,X.jsxs)(C,{type:`button`,className:`h-9`,onClick:()=>b(!0),children:[(0,X.jsx)(h,{}),c(`assets:assetsPage.addLink`)]}),filters:(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,X.jsxs)(se,{children:[(0,X.jsx)(ie,{asChild:!0,children:(0,X.jsxs)(C,{ref:O,variant:`secondary`,size:`sm`,className:`max-[650px]:h-11`,children:[(0,X.jsx)(he,{}),c(`assets:assetsPage.filters`)]})}),(0,X.jsxs)(ae,{align:`start`,children:[(0,X.jsx)(ee,{children:c(`assets:assetsPage.assetType`)}),(0,X.jsx)(re,{value:p,onValueChange:e=>{Q.includes(e)&&m(e)},children:Q.map(e=>(0,X.jsx)(oe,{value:e,className:`max-[650px]:min-h-11`,onSelect:e=>e.preventDefault(),children:$(e,c)},e))}),(0,X.jsx)(te,{}),(0,X.jsx)(ne,{checked:g,className:`max-[650px]:min-h-11`,onCheckedChange:e=>_(e===!0),children:c(`assets:assetsPage.fromCurrentChat`)})]})]}),p!==`all`&&(0,X.jsxs)(C,{variant:`outline`,size:`sm`,className:U,onClick:()=>m(`all`),"aria-label":c(`assets:assetsPage.removeFilter`,{filter:$(p,c)}),children:[$(p,c),(0,X.jsx)(x,{})]}),g&&(0,X.jsxs)(C,{variant:`outline`,size:`sm`,className:U,onClick:()=>_(!1),"aria-label":c(`assets:assetsPage.removeFilter`,{filter:c(`assets:assetsPage.fromCurrentChat`)}),children:[c(`assets:assetsPage.fromCurrentChat`),(0,X.jsx)(x,{})]}),(0,X.jsx)(C,{variant:`ghost`,size:`icon-sm`,className:`ml-auto text-content-muted max-[650px]:size-11 pointer-coarse:size-11`,loading:R.isFetching&&!L,disabled:L||R.isFetching,"aria-label":c(`assets:assetsPage.refreshAssets`),title:c(`assets:assetsPage.refreshAssets`),onClick:()=>{R.refetch()},children:(0,X.jsx)(v,{})})]})}),children:[L?(0,X.jsx)(T,{kind:`empty`,title:c(`assets:assetsPage.noActiveSession`)}):R.isPending&&!R.isError?(0,X.jsx)(T,{kind:`loading`,title:c(`assets:assetsPage.loadingAssets`)}):z?(0,X.jsxs)(fe,{"data-assets-results":!0,title:$(p,c),count:z.length,meta:R.isFetching&&(0,X.jsxs)(`span`,{role:`status`,className:`inline-flex items-center gap-1.5`,children:[(0,X.jsx)(ce,{className:`size-3.5`}),c(`assets:assetsPage.refreshingAssets`)]}),children:[R.isError&&(0,X.jsx)(P,{className:`mt-0 mb-2`,children:(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,X.jsx)(`span`,{className:`min-w-0 flex-1`,children:R.error.message}),G]})}),z.length?(0,X.jsx)(de,{children:z.map(e=>(0,X.jsx)(De,{asset:e,busy:M[e.id],error:F[e.id],onPreview:t=>E({asset:e,trigger:t,generation:++D.current}),onAction:t=>{V(e,t)}},e.id))}):!R.isError&&(0,X.jsx)(T,{kind:`empty`,title:ge,description:c(g||H?`assets:assetsPage.tryOtherFilters`:`assets:assetsPage.bringInALinkOrAttachAFileInAConversationPisperWillGatherTheOutputsCreatedAlongTheWay`)})]}):(0,X.jsx)(T,{kind:`error`,title:c(`assets:assetsPage.loadFailed`),description:R.error?.message,action:G}),w&&(0,X.jsx)(Te,{...w,fallback:()=>O.current,onClose:()=>E(null),onUse:()=>{V(w.asset,`use`)},onOpen:()=>{V(w.asset,`open`)},busy:M[w.asset.id],actionError:F[w.asset.id]},w.generation),y&&(0,X.jsx)(xe,{onClose:()=>b(!1),onCreated:()=>{k.current&&(b(!1),n(c(`assets:assetsPage.linkAssetAdded`))),we(l)}})]})}function De({asset:e,busy:t,error:n,onPreview:r,onAction:a}){let{t:o}=i(),[s,c]=(0,B.useState)(!1),l=e.mimeType?.startsWith(`video/`),u=e.kind===`image`?R:l?z:e.kind===`link`?h:m,d=e.kind===`link`?e.url&&new URL(e.url).hostname:/\.([a-z0-9]{1,6})$/i.exec(e.name)?.[1],_=!s&&e.kind===`image`?(0,X.jsx)(`img`,{className:`size-full rounded-[inherit] object-cover`,src:J(e.id),alt:``,loading:`lazy`,onError:()=>c(!0)}):!s&&l?(0,X.jsx)(`video`,{className:`size-full rounded-[inherit] object-cover`,src:J(e.id),muted:!0,preload:`metadata`,onError:()=>c(!0)}):(0,X.jsx)(u,{});return(0,X.jsx)(N,{className:`asset-row`,"data-asset-id":e.id,icon:_,onOpen:e=>r(e.currentTarget),openLabel:`${o(`assets:assetsPage.preview`)}: ${e.name}`,name:(0,X.jsx)(`span`,{title:e.name,children:e.name}),nameMeta:d||void 0,description:(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:e.kind===`link`?`font-mono`:`tabular-nums`,title:e.kind===`link`?e.url:void 0,children:e.kind===`link`?e.url:w(e.size)}),(0,X.jsx)(`span`,{"aria-hidden":`true`,children:` · `}),e.source===`agent`?o(`assets:assetsPage.agentOutputs`):e.source===`attachment`?o(`assets:assetsPage.chatAttachments`):o(`assets:assetsPage.manualUploads`)]}),meta:(e.sessionName||s)&&(0,X.jsxs)(X.Fragment,{children:[e.sessionName&&(0,X.jsx)(`span`,{className:`min-w-0 truncate`,title:e.sessionName,children:o(`assets:assetsPage.fromName`,{name:e.sessionName})}),e.sessionName&&s&&(0,X.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),s&&(0,X.jsx)(`span`,{className:`shrink-0`,children:o(`assets:assetsPage.mediaFailed`)})]}),actions:(0,X.jsxs)(`div`,{className:`asset-row-actions flex items-center gap-1`,children:[(0,X.jsxs)(C,{variant:`secondary`,size:`sm`,className:`max-[650px]:size-11 max-[650px]:px-0`,disabled:!!t,loading:t===`use`,onClick:()=>a(`use`),children:[(0,X.jsx)(g,{}),(0,X.jsx)(`span`,{className:`max-[650px]:sr-only`,children:o(`assets:assetsPage.useInChat`)})]}),e.kind===`link`?(0,X.jsx)(C,{asChild:!0,variant:`ghost`,size:`sm`,className:`max-[650px]:size-11 max-[650px]:px-0`,children:(0,X.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,children:[(0,X.jsx)(p,{}),(0,X.jsx)(`span`,{className:`max-[650px]:sr-only`,children:o(`assets:assetsPage.open`)})]})}):(0,X.jsxs)(C,{variant:`ghost`,size:`sm`,className:`max-[650px]:size-11 max-[650px]:px-0`,disabled:!!t,loading:t===`open`,onClick:()=>a(`open`),children:[U()?(0,X.jsx)(p,{}):(0,X.jsx)(f,{}),(0,X.jsx)(`span`,{className:`max-[650px]:sr-only`,children:U()?o(`assets:assetsPage.openInApplication`):o(`assets:assetsPage.download`)})]}),(0,X.jsx)(C,{variant:`ghost`,size:`icon-sm`,className:`text-content-muted hover:bg-danger-soft hover:text-danger max-[650px]:size-11`,disabled:!!t,loading:t===`delete`,"aria-label":`${o(`assets:assetsPage.deleteAsset`)}: ${e.name}`,onClick:()=>a(`delete`),children:(0,X.jsx)(y,{})})]}),detail:n?(0,X.jsx)(P,{className:`mt-0`,children:n}):void 0})}export{Ee as AssetsPage};
@@ -1 +0,0 @@
1
- import{r as e}from"./vendor-react-DwNgTV1j.js";var t=e();function n({size:e=22,className:n=``}){return(0,t.jsxs)(`svg`,{className:`block flex-none ${n}`,width:e,height:e,viewBox:`0 0 34 34`,role:`img`,"aria-label":`Pisper`,children:[(0,t.jsx)(`rect`,{width:`34`,height:`34`,rx:`9`,fill:`var(--ink)`}),(0,t.jsxs)(`g`,{fill:`var(--on-ink)`,transform:`translate(7 7) scale(.8333)`,children:[(0,t.jsx)(`path`,{d:`M12 3.2c.55 4.6 3.6 7.65 8.2 8.2-4.6.55-7.65 3.6-8.2 8.2-.55-4.6-3.6-7.65-8.2-8.2 4.6-.55 7.65-3.6 8.2-8.2z`}),(0,t.jsx)(`circle`,{cx:`19.4`,cy:`5.1`,r:`1.25`})]})]})}export{n as t};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{t as r}from"./use-i18n-D2P6OO3w.js";import{t as i}from"./api-DVgYxLec.js";import{t as a}from"./createLucideIcon-Cd-3GVxJ.js";import{t as o}from"./bot-B3TaBp_T.js";import{t as s}from"./external-link-CEQqPcqc.js";import{t as c}from"./folder-open-FIShC5Qk.js";import{n as l,t as u}from"./send-QxBfLFo-.js";import{t as d}from"./message-square-SKjZyY3v.js";import{t as f}from"./plus-fQbSqB1n.js";import{t as p}from"./refresh-cw-TbWxTY4K.js";import{t as m}from"./shield-check-Gvek4RJ7.js";import{t as h}from"./trash-2-CNrPOoPR.js";import{t as g}from"./triangle-alert-CE1q54ci.js";import{t as ee}from"./x-07u4-129.js";import"./brand-DIEc3fK8.js";import{t as _}from"./more-pages-D_PnxLN0.js";import{t as v}from"./utils-C8uzG5AZ.js";import{n as y,t as b}from"./button-Bu_vuij9.js";import{s as x}from"./shortcuts-BOeaPAvF.js";import{a as S}from"./format-DMJQzoZ7.js";import{n as C,t as w}from"./PageState-aWHrkE1D.js";import{t as T}from"./input-DIwJDpj9.js";import{a as E,i as D,n as O,o as k,r as A,s as j,t as te}from"./FeaturePage-1MUXz3Y-.js";import{t as M}from"./field-Bnm9KAi2.js";import{t as N}from"./StatusGlyph-1KgitlUg.js";import{a as P,n as ne,s as F}from"./app-primitives-Cmdj4cIW.js";import{t as I}from"./AppSelect-fH3gqflO.js";var L=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`}]]),R=e(t(),1),z=n(),B=Object.entries({feishu:{Icon:o},weixin:{Icon:l},qq:{Icon:l},telegram:{Icon:u}}),V=`flex min-h-[34px] min-w-0 items-center justify-between gap-4 border-t border-stroke-soft py-1.5 text-sm first:border-t-0 [&>dt]:shrink-0 [&>dt]:text-content-muted [&>dd]:min-w-0 [&>dd]:truncate [&>dd]:text-right [&>dd]:text-content`,H=`grid min-w-0 gap-1.5 border-t border-stroke-soft py-3 @min-[600px]/page:grid-cols-[168px_minmax(0,1fr)] @min-[600px]/page:items-center @min-[600px]/page:gap-4`,U=`text-sm font-medium text-content`,re=`modal-backdrop fixed inset-0 z-[70] grid place-items-center overflow-y-auto overscroll-contain bg-[var(--modal-overlay)] p-5 max-[650px]:p-2`,ie=`modal max-h-[calc(100dvh_-_40px)] w-[min(470px,100%)] overflow-y-auto overscroll-contain rounded-dialog bg-popover p-5 shadow-float max-[650px]:max-h-[calc(100dvh_-_16px)]`,W=`border border-stroke-soft bg-surface-subtle text-content-secondary [&_strong]:text-content [&>svg]:mt-0.5 [&>svg]:shrink-0`;function G(e,t){return t(e===`feishu`?`channels:channelsPage.feishu`:e===`weixin`?`channels:channelsPage.weChat`:e===`qq`?`channels:channelsPage.qq`:`channels:channelsPage.telegram`)}function ae(e,t){return t(e===`feishu`?`channels:channelsPage.feishuAppBot`:e===`weixin`?`channels:channelsPage.weChat`:e===`qq`?`channels:channelsPage.qqBot`:`channels:channelsPage.telegramBot`)}function oe(e,t){return t(e===`feishu`?`channels:channelsPage.webSocketPersistentConnection`:e===`weixin`?`channels:channelsPage.tencentILinkPersistentConnection`:e===`qq`?`channels:channelsPage.qqPersistentConnection`:`channels:channelsPage.telegramPersistentConnection`)}function K(e,t){return t(e===`feishu`?`channels:channelsPage.feishuCapabilities`:e===`weixin`?`channels:channelsPage.weChatCapabilities`:e===`qq`?`channels:channelsPage.qqCapabilities`:`channels:channelsPage.telegramCapabilities`)}function q(e){return e===`telegram`}function se(e,t,n){return t?n(`channels:channelsPage.reconnectName`,{name:G(e,n)}):q(e)?n(`channels:channelsPage.configureName`,{name:G(e,n)}):n(`channels:channelsPage.connectNameByQRCode`,{name:G(e,n)})}function J(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 Y(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 X(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 Z(e){return e instanceof Error?e.message:String(e)}function Q({notify:e,onBack:t,requestConfirm:n}){let{t:a,language:o}=r(),[s,c]=(0,R.useState)({providers:[],connections:{feishu:null,weixin:null,qq:null,telegram:null},scopes:[],models:[]}),[m,g]=(0,R.useState)(!0),[ee,_]=(0,R.useState)(!1),[v,y]=(0,R.useState)(``),[x,T]=(0,R.useState)(``),[E,A]=(0,R.useState)(``),[j,M]=(0,R.useState)(null),[N,P]=(0,R.useState)(``),[ne,F]=(0,R.useState)(!1),[I,L]=(0,R.useState)(``),V=(0,R.useCallback)(async()=>{try{y(``);let e=await i(`/api/channels`);c(e),_(!0),x&&L(e.connections?.[x]?.defaultCwd||``)}catch(e){y(Z(e))}finally{g(!1)}},[x]);(0,R.useEffect)(()=>{V()},[V]),(0,R.useEffect)(()=>{if(!j?.id||[`completed`,`failed`,`cancelled`].includes(j.status))return;let t=j.id,n=window.setInterval(async()=>{try{let r=j.platform,o=await i(`/api/channels/${r}/onboarding/${encodeURIComponent(t)}`);M({...o,platform:r}),o.status===`completed`&&(window.clearInterval(n),e(a(`channels:channelsPage.nameTwoWayConnectionEstablished`,{name:G(r,a)})),await V(),window.setTimeout(()=>M(null),900))}catch(e){M(t=>t&&{...t,status:`failed`,error:Z(e)})}},1500);return()=>window.clearInterval(n)},[j?.id,j?.platform,j?.status,V,e,a]);let H=async e=>{if(!(s.connections?.[e]&&!await n({title:a(`channels:channelsPage.reconnectName`,{name:G(e,a)}),message:q(e)?a(`channels:channelsPage.configuringAgainWillReplaceTheCurrentNameConnectionContinue`,{name:G(e,a)}):a(`channels:channelsPage.scanningAgainWillReplaceTheCurrentNameConnectionContinue`,{name:G(e,a)}),confirmLabel:q(e)?a(`channels:channelsPage.continueConfiguration`):a(`channels:channelsPage.continueScanning`),tone:`primary`}))){P(e),M({platform:e,status:`starting`});try{let t=await i(`/api/channels/${e}/onboarding`,{method:`POST`,body:`{}`});`mode`in t&&t.mode===`manual`?M({...t,platform:e,status:`starting`,manual:!0}):M({...t,platform:e})}catch(t){M({platform:e,status:`failed`,error:Z(t)})}finally{P(``)}}},U=async()=>{j?.id&&![`completed`,`failed`,`cancelled`].includes(j.status)&&await i(`/api/channels/${j.platform}/onboarding/${encodeURIComponent(j.id)}`,{method:`DELETE`}).catch(()=>{}),M(null)},re=async(t,n,r)=>{F(!0);try{let a=await i(`/api/channels/${t}`,{method:`PATCH`,body:JSON.stringify(n)});c(a),L(a.connections?.[t]?.defaultCwd||``),e(r)}catch(t){e(Z(t),`error`)}finally{F(!1)}},ie=async t=>{F(!0);try{c(await i(`/api/channels/${t}/reconnect`,{method:`POST`,body:`{}`})),e(a(`channels:channelsPage.nameReconnected`,{name:G(t,a)}))}catch(t){e(Z(t),`error`),V()}finally{F(!1)}},W=async t=>{if(await n({title:a(`channels:channelsPage.disconnectName`,{name:G(t,a)}),message:a(`channels:channelsPage.localCredentialsAndChatMappingsWillBeDeleted`),confirmLabel:a(`channels:channelsPage.disconnect`)}))try{await i(`/api/channels/${t}`,{method:`DELETE`}),await V(),e(a(`channels:channelsPage.nameDisconnected`,{name:G(t,a)}))}catch(t){e(Z(t),`error`)}},K=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 i(`/api/channels/scopes/${encodeURIComponent(t.key)}`,{method:`DELETE`}),await V(),e(a(`channels:channelsPage.channelChatReset`))}catch(t){e(Z(t),`error`)}};if(m)return(0,z.jsx)($,{onBack:t,query:E,onQueryChange:A,children:(0,z.jsx)(C,{kind:`loading`,title:a(`channels:channelsPage.loadingChannels`)})});if(v&&!ee)return(0,z.jsx)($,{onBack:t,query:E,onQueryChange:A,children:(0,z.jsx)(C,{kind:`error`,title:a(`channels:channelsPage.loadFailed`),description:v,action:(0,z.jsx)(b,{variant:`secondary`,className:`max-[650px]:h-11`,onClick:()=>{g(!0),V()},children:a(`common:pageTemplate.retry`)})})});let J=E.trim().toLocaleLowerCase(),Y=B.filter(([e])=>`${ae(e,a)} ${G(e,a)}`.toLocaleLowerCase().includes(J)),X=J?s.scopes.filter(e=>`${e.title} ${e.lastMessage||``} ${G(e.platform,a)}`.toLocaleLowerCase().includes(J)):s.scopes,Q=B.filter(([e])=>ce(s.connections?.[e])===`disconnected`).length;return(0,z.jsxs)($,{onBack:t,query:E,onQueryChange:A,children:[v&&(0,z.jsx)(te,{children:v}),(0,z.jsx)(k,{title:a(`channels:channelsPage.platforms`),count:B.length,meta:Q?(0,z.jsx)(`span`,{"data-channels-disconnected":!0,className:`font-medium text-st-attn`,children:a(`channels:channelsPage.disconnectedCount`,{count:Q})}):void 0,children:Y.length?(0,z.jsx)(O,{children:Y.map(([e,t])=>{let n=s.connections?.[e],r=x===e,i=t.Icon;return(0,z.jsx)(D,{"data-channel-platform":e,className:`channel-platform-card`,icon:(0,z.jsx)(i,{}),name:ae(e,a),description:oe(e,a),status:(0,z.jsx)(le,{connection:n}),actions:(0,z.jsxs)(b,{variant:`secondary`,size:`sm`,className:`max-[650px]:min-w-11`,loading:N===e,disabled:N===e,title:se(e,!!n,a),onClick:()=>void H(e),children:[n?(0,z.jsx)(p,{}):(0,z.jsx)(f,{}),(0,z.jsx)(`span`,{className:`max-[650px]:sr-only`,children:se(e,!!n,a)})]}),expanded:r,onExpandedChange:t=>{T(t?e:``),t&&L(n?.defaultCwd||``)},toggleLabel:a(`channels:channelsPage.togglePlatformDetails`,{name:G(e,a)}),detail:r?(0,z.jsx)(ue,{platform:e,connection:n,models:s.models,cwd:I,saving:ne,onCwdChange:L,onUpdate:re,onReconnect:ie,onRemove:W}):null},e)})}):(0,z.jsx)(w,{compact:!0,title:a(`channels:channelsPage.noMatchingChannels`)})}),(0,z.jsx)(k,{title:a(`channels:channelsPage.channelChats`),count:s.scopes.length,description:a(`channels:channelsPage.onceConnectedMessagesFromSupportedChannelsWillArriveHereInPisper`),children:X.length?(0,z.jsx)(O,{children:X.map(e=>(0,z.jsx)(D,{"data-channel-scope":e.key,className:`route-row`,icon:e.platform===`feishu`?(0,z.jsx)(d,{}):e.platform===`telegram`?(0,z.jsx)(u,{}):(0,z.jsx)(l,{}),name:e.title,nameMeta:G(e.platform,a),description:e.lastMessage||a(`channels:channelsPage.noMessages`),meta:(0,z.jsxs)(`span`,{className:`truncate font-mono`,children:[e.model||a(`channels:channelsPage.defaultModel`),` · `,e.cwd]}),status:S(e.updatedAt,o),actions:(0,z.jsx)(b,{variant:`ghost`,size:`icon-sm`,className:`text-content-muted hover:bg-danger-soft hover:text-danger max-[650px]:size-11`,title:a(`channels:channelsPage.resetChat`),"aria-label":`${a(`channels:channelsPage.resetChat`)}: ${e.title}`,onClick:()=>void K(e),children:(0,z.jsx)(h,{})})},e.key))}):(0,z.jsx)(w,{title:s.scopes.length?a(`channels:channelsPage.noMatchingChats`):a(`channels:channelsPage.waitingForTheFirstReplyFromAfar`)})}),j&&(0,z.jsx)(de,{job:j,onClose:U,onRetry:()=>H(j.platform),onSubmitCredentials:async t=>{try{let n=await i(`/api/channels/${j.platform}/onboarding`,{method:`POST`,body:JSON.stringify(t)});`connections`in n?(c(n),M(null),e(a(`channels:channelsPage.nameTwoWayConnectionEstablished`,{name:G(j.platform,a)})),await V()):`mode`in n&&n.mode===`manual`?M({...n,platform:j.platform,status:`starting`,manual:!0}):M({...n,platform:j.platform,manual:n.mode===`manual`})}catch(e){M(t=>t&&{...t,status:`failed`,error:Z(e)})}},notify:e})]})}function $({onBack:e,query:t,onQueryChange:n,children:i}){let{t:a}=r(),o=x(`focusSearch`),s=a(`navigation:navigation.channels`);return(0,z.jsx)(A,{title:s,description:a(`channels:channelsPage.lede`),back:e&&{label:a(`navigation:sidebar.features`),ariaLabel:a(`navigation:shell.backToFeaturesLabel`),onBack:e},toolbar:(0,z.jsx)(j,{search:(0,z.jsx)(E,{id:_,value:t,onValueChange:n,placeholder:a(`channels:channelsPage.searchPlaceholder`),shortcut:o,clearLabel:a(`navigation:more.clearSearch`)})}),children:i})}function ce(e){return e?e.enabled===!1?`paused`:e.status===`connected`?`live`:e.status===`connecting`||e.status===`reconnecting`?`busy`:`disconnected`:`none`}function le({connection:e}){let{t}=r(),n=ce(e),i=n===`none`?t(`channels:channelsPage.notConnected`):n===`paused`?t(`channels:channelsPage.paused`):n===`disconnected`?e?.status===`failed`?t(`channels:channelsPage.connectionFailed`):t(`channels:channelsPage.disconnected`):J(e?.status||`idle`,t);return(0,z.jsxs)(`span`,{"data-channel-state":n,className:v(`inline-flex min-w-0 items-center gap-1.5 whitespace-nowrap`,n===`disconnected`?`font-medium text-st-attn`:`text-content-secondary`),children:[n===`disconnected`?(0,z.jsx)(N,{status:`attention`,className:`size-3.5`}):n===`busy`?(0,z.jsx)(N,{status:`run`,className:`size-3.5`}):n===`live`?(0,z.jsx)(N,{status:`done`,className:`size-3.5`}):null,i]})}function ue({platform:e,connection:t,models:n,cwd:i,saving:a,onCwdChange:o,onUpdate:s,onReconnect:l,onRemove:u}){let{t:d,language:f}=r();return(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[(0,z.jsxs)(`dl`,{className:`rounded-[var(--r-md)] border border-stroke px-3 py-0.5`,children:[(0,z.jsxs)(`div`,{className:V,children:[(0,z.jsx)(`dt`,{children:d(`channels:channelsPage.twoWayCapability`)}),(0,z.jsx)(`dd`,{children:K(e,d)})]}),(0,z.jsxs)(`div`,{className:V,children:[(0,z.jsx)(`dt`,{children:d(`channels:channelsPage.replyModel`)}),(0,z.jsx)(`dd`,{className:t?.replyModel?`font-mono`:void 0,children:t?.replyModel?`${t.replyModel.provider}/${t.replyModel.model}`:d(`channels:channelsPage.useApplicationDefaultModel`)})]})]}),t?(0,z.jsxs)(`section`,{className:`test-panel min-w-0`,"aria-label":d(`channels:channelsPage.nameSettings`,{name:G(e,d)}),children:[(0,z.jsxs)(`div`,{className:v(`channel-live-status flex min-w-0 items-center gap-2.5 py-2`,t.status),children:[(0,z.jsx)(le,{connection:t}),(0,z.jsx)(`small`,{className:v(`min-w-0 truncate text-xs tabular-nums`,t.lastError?`text-content-secondary`:`text-content-muted`),children:t.lastError||(t.status===`connected`?d(`channels:channelsPage.connectedTime`,{time:S(t.connectedAt,f)}):d(`channels:channelsPage.establishingPersistentConnection`))})]}),(0,z.jsxs)(`div`,{className:`modal-toggle-row flex min-w-0 items-center justify-between gap-4 border-t border-stroke-soft py-3`,children:[(0,z.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,z.jsx)(`strong`,{className:`text-sm font-medium text-content`,children:d(`channels:channelsPage.enableThisChannel`)}),(0,z.jsx)(`small`,{className:`text-xs text-content-muted`,children:d(`channels:channelsPage.turnOffToDisconnectWhileKeepingSignInCredentials`)})]}),(0,z.jsx)(F,{value:t.enabled,disabled:a,ariaLabel:d(`channels:channelsPage.enableThisChannel`),onChange:t=>s(e,{enabled:t},d(t?`channels:channelsPage.channelEnabled`:`channels:channelsPage.channelPaused`))})]}),(0,z.jsxs)(`label`,{className:H,children:[(0,z.jsx)(`span`,{className:U,children:d(`channels:channelsPage.replyModel`)}),(0,z.jsxs)(I,{value:t.replyModel?`${t.replyModel.provider}/${t.replyModel.model}`:``,onChange:t=>{let[n,...r]=t.target.value.split(`/`);s(e,{replyModel:t.target.value?{provider:n,model:r.join(`/`)}:null},d(`channels:channelsPage.channelReplyModelUpdated`))},children:[(0,z.jsx)(`option`,{value:``,children:d(`channels:channelsPage.useApplicationDefaultModel`)}),n.map(e=>(0,z.jsx)(`option`,{value:`${e.provider}/${e.model}`,children:e.label},`${e.provider}/${e.model}`))]})]}),(0,z.jsxs)(`label`,{className:H,children:[(0,z.jsx)(`span`,{className:U,children:d(`channels:channelsPage.approvalMode`)}),(0,z.jsxs)(I,{value:t.executionMode,onChange:t=>s(e,{executionMode:t.target.value},d(`channels:channelsPage.approvalModeUpdated`)),children:[(0,z.jsx)(`option`,{value:`approval-required`,children:d(`channels:channelsPage.approvalRequired`)}),(0,z.jsx)(`option`,{value:`workspace-write`,children:d(`channels:channelsPage.workspaceWrite`)}),(0,z.jsx)(`option`,{value:`full-access`,children:d(`channels:channelsPage.fullAccess`)})]})]}),(0,z.jsxs)(`label`,{className:H,children:[(0,z.jsx)(`span`,{className:U,children:d(`channels:channelsPage.executionMode`)}),(0,z.jsxs)(I,{value:t.runMode,onChange:t=>s(e,{runMode:t.target.value},d(`channels:channelsPage.executionModeUpdated`)),children:[(0,z.jsx)(`option`,{value:`plan`,children:d(`channels:channelsPage.planMode`)}),(0,z.jsx)(`option`,{value:`goal`,children:d(`channels:channelsPage.goalMode`)}),(0,z.jsx)(`option`,{value:`team`,children:d(`channels:channelsPage.teamMode`)})]})]}),(0,z.jsxs)(`label`,{className:H,children:[(0,z.jsx)(`span`,{className:U,children:d(`channels:channelsPage.accessScope`)}),(0,z.jsxs)(I,{value:t.accessMode,onChange:t=>s(e,{accessMode:t.target.value===`all`?`all`:`owner`},d(`channels:channelsPage.accessScopeUpdated`)),children:[(0,z.jsx)(`option`,{value:`owner`,disabled:!t.ownerConfigured,children:d(`channels:channelsPage.qrCodeOwnerOnly`)}),(0,z.jsx)(`option`,{value:`all`,children:d(e===`feishu`?`channels:channelsPage.allMembersInTheCurrentTenant`:e===`weixin`?`channels:channelsPage.allWeChatUsersWhoMessageTheBot`:`channels:channelsPage.allUsersWhoMessageTheBot`)})]})]}),(0,z.jsxs)(`label`,{className:H,children:[(0,z.jsx)(`span`,{className:U,children:d(`channels:channelsPage.defaultWorkingDirectoryForNewChats`)}),(0,z.jsxs)(`span`,{className:`channel-setting-input grid h-[34px] min-w-0 grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-2 rounded-sm border border-control bg-panel py-0.5 pr-0.5 pl-2.5 text-content-muted focus-within:border-focus focus-within:ring-3 focus-within:ring-focus-ring max-[650px]:h-11`,children:[(0,z.jsx)(c,{className:`size-3.5`}),(0,z.jsx)(`input`,{className:`min-w-0 border-0 bg-transparent font-mono text-xs text-content outline-none`,value:i,onChange:e=>o(e.target.value)}),(0,z.jsx)(b,{variant:`secondary`,size:`sm`,className:`max-[650px]:h-9`,disabled:a||i===t.defaultCwd,onClick:()=>s(e,{defaultCwd:i},d(`channels:channelsPage.defaultWorkingDirectorySaved`)),children:d(`channels:channelsPage.save`)})]})]}),(0,z.jsxs)(P,{className:v(`mt-1`,W),children:[(0,z.jsx)(m,{size:15}),(0,z.jsxs)(`span`,{children:[(0,z.jsx)(`strong`,{children:d(`channels:channelsPage.localSecurityBoundary`)}),(0,z.jsx)(`small`,{children:d(`channels:channelsPage.ownerOnlyAccessRespectsToolPermissionsAndExecutionMode`)})]})]}),(0,z.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center justify-end gap-2 max-[650px]:[&>button]:h-11`,children:[(0,z.jsxs)(b,{variant:`ghost`,size:`sm`,className:`text-danger hover:bg-danger-soft hover:text-danger`,onClick:()=>u(e),children:[(0,z.jsx)(L,{}),d(`channels:channelsPage.disconnect`)]}),(0,z.jsxs)(b,{variant:`secondary`,size:`sm`,onClick:()=>l(e),disabled:a,children:[(0,z.jsx)(p,{}),d(`channels:channelsPage.reconnect`)]})]})]}):(0,z.jsx)(`p`,{className:`text-xs leading-relaxed text-content-muted`,children:d(`channels:channelsPage.notConnectedHint`)})]})}function de({job:e,onClose:t,onRetry:n,onSubmitCredentials:a,notify:o}){let{t:c,language:l}=r(),[u,d]=(0,R.useState)(``),[h,_]=(0,R.useState)(``),[x,S]=(0,R.useState)(``),[C,w]=(0,R.useState)(``),[E,D]=(0,R.useState)(!1),O=[`completed`,`failed`,`cancelled`].includes(e.status),k=e.manual||q(e.platform)&&e.mode!==`qr`,A=e.platform===`qq`?!!(h.trim()&&(x.trim()||C.trim())):!!C.trim(),j=async()=>{if(A){D(!0);try{await a({...h.trim()?{appId:h.trim()}:{},...x.trim()?{appSecret:x.trim()}:{},...C.trim()?{token:C.trim()}:{}})}finally{D(!1)}}};return(0,z.jsx)(`div`,{className:re,onMouseDown:e=>e.target===e.currentTarget&&t(),children:(0,z.jsxs)(`section`,{className:v(ie,`feishu-onboard-modal`),children:[(0,z.jsxs)(ne,{className:`[&_h2]:text-[15px] [&_h2]:font-medium`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h2`,{children:c(k?`channels:channelsPage.configureName`:`channels:channelsPage.connectNameByQRCode`,{name:G(e.platform,c)})}),(0,z.jsx)(`p`,{children:e.platform===`feishu`?c(`channels:channelsPage.createTheBotAppThroughTheOfficialFeishuAuthorizationPage`):e.platform===`weixin`?c(`channels:channelsPage.signInToPersonalWeChatThroughTencentILinkBot`):e.platform===`qq`?c(`channels:channelsPage.scanWithQQToCreateOfficialBot`):c(`channels:channelsPage.enterBotCredentialsForName`,{name:G(e.platform,c)})})]}),(0,z.jsx)(b,{variant:`ghost`,size:`icon`,className:`-mt-1 -mr-1 max-[650px]:size-11`,"aria-label":c(`channels:channelsPage.closeDialog`),onClick:t,children:(0,z.jsx)(ee,{})})]}),k&&!e.id&&!O&&(0,z.jsxs)(`div`,{className:`mt-3.5 grid gap-2.5`,children:[e.platform===`qq`&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(M,{variant:`control`,children:[c(`channels:channelsPage.qqAppId`),(0,z.jsx)(T,{value:h,onChange:e=>_(e.target.value)})]}),(0,z.jsxs)(M,{variant:`control`,children:[c(`channels:channelsPage.qqAppSecret`),(0,z.jsx)(T,{type:`password`,value:x,onChange:e=>S(e.target.value)})]}),(0,z.jsx)(`small`,{className:`text-xs text-content-muted`,children:c(`channels:channelsPage.qqCredentialsOrToken`)})]}),(0,z.jsxs)(M,{variant:`control`,children:[c(`channels:channelsPage.botToken`),(0,z.jsx)(T,{type:`password`,value:C,onChange:e=>w(e.target.value)})]}),e.setupUrl&&(0,z.jsxs)(P,{className:v(W,`[&_a]:inline-flex [&_a]:items-center [&_a]:gap-1 [&_a]:text-xs [&_a]:text-content [&_a]:underline [&_a]:underline-offset-4`),children:[e.qrDataUrl&&(0,z.jsx)(`img`,{src:e.qrDataUrl,alt:c(`channels:channelsPage.openOfficialSetupQRCode`),className:`size-[120px] rounded-sm bg-[var(--lightbox-action-bg)] p-1`}),(0,z.jsxs)(`span`,{children:[(0,z.jsx)(`strong`,{children:c(`channels:channelsPage.officialSetupRequired`)}),(0,z.jsx)(`small`,{children:c(`channels:channelsPage.officialSetupInstructions`)}),(0,z.jsxs)(`a`,{href:e.setupUrl,target:`_blank`,rel:`noreferrer`,children:[c(`channels:channelsPage.openOfficialSetup`),(0,z.jsx)(s,{size:12})]})]})]}),(0,z.jsxs)(b,{className:`max-[650px]:h-11`,loading:E,disabled:!A||E,onClick:()=>void j(),children:[(0,z.jsx)(f,{}),c(`channels:channelsPage.connect`)]})]}),(!k||e.id||O)&&(0,z.jsxs)(`div`,{className:v(`feishu-qr-stage mt-3.5 flex min-h-[min(330px,52dvh)] flex-col items-center justify-center gap-2.5 rounded-md border border-stroke bg-surface-subtle p-4 text-center [&_img]:w-[248px] [&_img]:max-w-[86%] [&_img]:rounded-md [&_img]:border [&_img]:border-stroke [&_img]:bg-[var(--lightbox-action-bg)] [&_img]:p-2 [&_p]:max-w-[330px] [&_p]:text-xs [&_p]:leading-normal [&_p]:text-content-secondary [&_small]:text-xs [&_small]:text-content-muted [&_small]:tabular-nums [&_strong]:text-sm [&_strong]:font-medium [&.completed]:text-success [&.failed]:text-content-secondary`,e.status),children:[e.qrDataUrl?(0,z.jsx)(`img`,{src:e.qrDataUrl,alt:c(`channels:channelsPage.nameConnectionQRCode`,{name:G(e.platform,c)})}):e.status===`failed`?(0,z.jsx)(g,{className:`size-8`,strokeWidth:1.5}):(0,z.jsx)(y,{className:`size-7`}),(0,z.jsx)(`strong`,{children:k&&!e.id?c(`channels:channelsPage.enterBotCredentialsForName`,{name:G(e.platform,c)}):Y(e.status,c)}),e.error&&(0,z.jsx)(`p`,{children:e.error}),e.expireAt&&!O&&(0,z.jsx)(`small`,{children:c(`channels:channelsPage.qrCodeExpiresTime`,{time:X(e.expireAt,l)})})]}),e.needsVerifyCode&&(0,z.jsxs)(`div`,{className:`weixin-verify-code mt-2.5 grid grid-cols-[minmax(0,1fr)_auto] gap-2`,children:[(0,z.jsx)(T,{className:`font-mono tracking-[.08em] tabular-nums`,inputMode:`numeric`,value:u,onChange:e=>d(e.target.value.replace(/\D/g,``).slice(0,8)),placeholder:c(`channels:channelsPage.enterTheNumberShownOnYourPhone`)}),(0,z.jsx)(b,{className:`max-[650px]:h-11`,disabled:!u,onClick:async()=>{try{await i(`/api/channels/${e.platform}/onboarding/${encodeURIComponent(e.id||``)}/verify`,{method:`POST`,body:JSON.stringify({code:u})}),o(c(`channels:channelsPage.pairingCodeSubmitted`))}catch(e){o(Z(e),`error`)}},children:c(`channels:channelsPage.submitPairingCode`)})]}),e.qrUrl&&!O&&(0,z.jsx)(b,{asChild:!0,variant:`secondary`,className:`mt-2.5 w-full no-underline max-[650px]:h-11`,children:(0,z.jsxs)(`a`,{href:e.qrUrl,target:`_blank`,rel:`noreferrer`,children:[(0,z.jsx)(s,{}),c(`channels:channelsPage.cannotScanOpenTheSignInLink`)]})}),(0,z.jsxs)(P,{className:W,children:[(0,z.jsx)(m,{size:15}),(0,z.jsxs)(`span`,{children:[(0,z.jsx)(`strong`,{children:c(`channels:channelsPage.persistentTwoWayConnection`)}),(0,z.jsx)(`small`,{children:e.platform===`feishu`?c(`channels:channelsPage.webSocketReceivesDirectMessagesAndGroupMentions`):e.platform===`weixin`?c(`channels:channelsPage.tencentILinkContinuouslyPollsDirectMessagesAndSupportsTextAndMediaReplies`):K(e.platform,c)})]})]}),(0,z.jsxs)(`div`,{className:`mt-4 flex justify-end gap-2`,children:[(0,z.jsx)(b,{variant:`secondary`,className:`max-[650px]:h-11`,onClick:t,children:c(O?`channels:channelsPage.off`:`channels:channelsPage.cancel`)}),e.status===`failed`&&(0,z.jsxs)(b,{className:`max-[650px]:h-11`,onClick:n,children:[(0,z.jsx)(p,{}),c(k?`channels:channelsPage.retry`:`channels:channelsPage.generateANewQRCode`)]})]})]})})}export{Q as ChannelsPage};