pisper 0.6.6 → 0.6.7

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 (115) hide show
  1. package/package.json +7 -7
  2. package/web/.vite/manifest.json +481 -336
  3. package/web/assets/AppDialog-DuxuKq-0.js +1 -0
  4. package/web/assets/{AppOverlays-C_WrmeqC.js → AppOverlays-YPxRUvLN.js} +1 -1
  5. package/web/assets/{AppSelect-DNIjPL7I.js → AppSelect-DEmkrcvY.js} +1 -1
  6. package/web/assets/{AppShortcuts-V38tUYTp.js → AppShortcuts-CA7hbebL.js} +1 -1
  7. package/web/assets/{AssetsPage-BmSnyLZ5.js → AssetsPage-CkNI_8qz.js} +1 -1
  8. package/web/assets/{ChannelsPage-Da3JaYaC.js → ChannelsPage-BYfRQyV0.js} +1 -1
  9. package/web/assets/ChatAppearancePage-N_2bunil.js +2 -0
  10. package/web/assets/{ChatDockView-5Aptiph6.js → ChatDockView-B4nZfbx5.js} +1 -1
  11. package/web/assets/ChatHistoryPage-Di3epmcR.js +1 -0
  12. package/web/assets/ChatPage-IN5m7Fqh.js +4 -0
  13. package/web/assets/ConfigPage-BKTEOlQE.js +1 -0
  14. package/web/assets/{DecisionsPage-BwJ7RTAE.js → DecisionsPage-DNAUZCij.js} +1 -1
  15. package/web/assets/{DesktopWindowControls-CLVd8sg6.js → DesktopWindowControls-BAnWUUAZ.js} +1 -1
  16. package/web/assets/{FileAttachmentPreview-C6QaQFwb.js → FileAttachmentPreview-x4AORCVt.js} +1 -1
  17. package/web/assets/{FloatingWidgets-QMhElaDR.js → FloatingWidgets-CdbBMke7.js} +1 -1
  18. package/web/assets/GitDiffViewer-oJDF7l74.js +2 -0
  19. package/web/assets/{ListDetailLayout-S-IBs4f_.js → ListDetailLayout-Ctr6r0OI.js} +1 -1
  20. package/web/assets/{MarkdownMessage-bfyuGoi1.js → MarkdownMessage-D9zxSf6j.js} +1 -1
  21. package/web/assets/McpPage-DaOkWcq6.js +1 -0
  22. package/web/assets/{MemoryPage-CC37SohP.js → MemoryPage-B5sqhaYW.js} +1 -1
  23. package/web/assets/MobileContextScreen-DiM-lGec.js +2 -0
  24. package/web/assets/MobileNavigation-DZx6cE9f.js +1 -0
  25. package/web/assets/MobileShellContext-Cvv0RcjA.js +1 -0
  26. package/web/assets/MobileViewportStabilizer-BAI_nmS_.js +1 -0
  27. package/web/assets/{PageHeader-75eh-Z_A.js → PageHeader-FBipSHuW.js} +1 -1
  28. package/web/assets/{PluginsPage-za6FNr_k.js → PluginsPage-BFLnVcnm.js} +1 -1
  29. package/web/assets/{QuickPromptIdeas-CEjBwWlM.js → QuickPromptIdeas-CVcEEpAl.js} +1 -1
  30. package/web/assets/{SchedulesPage-BR1oIqzi.js → SchedulesPage-CVnoI4wZ.js} +1 -1
  31. package/web/assets/SessionContextPanel-CEmCvPx4.js +2 -0
  32. package/web/assets/SessionFilesPane-CAdkivkE.js +2 -0
  33. package/web/assets/{SidebarUpdateStatus-Chfb-00K.js → SidebarUpdateStatus-Co3QAKmb.js} +1 -1
  34. package/web/assets/{SkillsPage-DfFjecBO.js → SkillsPage-d8t6_KDS.js} +1 -1
  35. package/web/assets/{TaskProcessesPane-DJszMYjM.js → TaskProcessesPane-PRgpCplN.js} +1 -1
  36. package/web/assets/{TaskTerminalView-DyTURB64.js → TaskTerminalView-Dt8gIY5E.js} +1 -1
  37. package/web/assets/{TerminalPanel-BFqST5ja.js → TerminalPanel-BRib2LP-.js} +1 -1
  38. package/web/assets/{ThemeToggleButton-DmYU4_Nh.js → ThemeToggleButton-C1lL__80.js} +1 -1
  39. package/web/assets/{WebDesktopPet-COIAEeuY.js → WebDesktopPet-BWpgoZI3.js} +1 -1
  40. package/web/assets/WorkbenchNavigation-DmNiD2FD.js +1 -0
  41. package/web/assets/{WorkflowsPage-Heg3iqQg.js → WorkflowsPage-aRy0lYQ1.js} +1 -1
  42. package/web/assets/{WorkspacePicker-DFCZ_IJu.js → WorkspacePicker-NkoVoqez.js} +1 -1
  43. package/web/assets/{api-D8wGrWiI.js → api-CiEo53J1.js} +1 -1
  44. package/web/assets/app-update-CLhMRrNS.js +32 -0
  45. package/web/assets/calendar-clock-VIxTaqqy.js +1 -0
  46. package/web/assets/catalog-DLWnYiJc.js +1 -0
  47. package/web/assets/chat-api-CbgoP-8X.js +1 -0
  48. package/web/assets/{client-store-lT3geTlX.js → client-store-DCqgdbAp.js} +1 -1
  49. package/web/assets/{component-api-kxyOYPJN.js → component-api-BboiUuyG.js} +1 -1
  50. package/web/assets/{config-search-BThCMhnj.js → config-search-Cwglajsz.js} +1 -1
  51. package/web/assets/events-f8vVvSfH.js +1 -0
  52. package/web/assets/{floating-widgets-store-BhuWgVRT.js → floating-widgets-store-BAfPpV4Z.js} +2 -2
  53. package/web/assets/git-diff-f-zMaQOk.js +3 -0
  54. package/web/assets/{http-rQRvhTOP.js → http-Dx387MGl.js} +1 -1
  55. package/web/assets/i18n-CblgkPOp.js +1 -0
  56. package/web/assets/{index-BVIvzUyZ.js → index-BAYzSwUr.js} +2 -2
  57. package/web/assets/index-Bcpvpefn.css +2 -0
  58. package/web/assets/monitor-ORxecA9m.js +1 -0
  59. package/web/assets/mount-app-DGgK0IVe.js +9 -0
  60. package/web/assets/mutation-CEbxdVYy.js +1 -0
  61. package/web/assets/panels-top-left-K8n2CefH.js +1 -0
  62. package/web/assets/project-diff-summary-BzAMC_7C.js +1 -0
  63. package/web/assets/public-Cv_Xe2Sp.js +1 -0
  64. package/web/assets/{public-components-CS0BXa3D.js → public-components-Dfm4D7vP.js} +1 -1
  65. package/web/assets/public-navigation-zJPpUiuy.js +2 -0
  66. package/web/assets/query-Bj-DUNYq.js +1 -0
  67. package/web/assets/radio-tower-jGQwrFWB.js +1 -0
  68. package/web/assets/{runtime-capabilities-store-D5g-oC-Z.js → runtime-capabilities-store-C1lkVKpw.js} +1 -1
  69. package/web/assets/scale-pAyho3H9.js +1 -0
  70. package/web/assets/{session-change-summary-api-4_dTNU4L.js → session-change-summary-api-CqJa3Wdh.js} +1 -1
  71. package/web/assets/{session-organization-api-1F_dNhFa.js → session-organization-api-B0E2RXLS.js} +1 -1
  72. package/web/assets/session-streaming-state-DUehpyTs.js +3 -0
  73. package/web/assets/settings-navigation-BhTYSdv9.js +1 -0
  74. package/web/assets/{shortcuts-CAyIKRpZ.js → shortcuts-ChJr3RP4.js} +1 -1
  75. package/web/assets/{sidebar-CjfGBEog.js → sidebar-CERcJRog.js} +1 -1
  76. package/web/assets/{speech-session-BoAvAzPN.js → speech-session-BPNbd_CM.js} +1 -1
  77. package/web/assets/startup-queries-uKXB2KOP.js +1 -0
  78. package/web/assets/{ui-store-D-oOtKbW.js → ui-store-BM6pl-Rq.js} +1 -1
  79. package/web/assets/use-back-layer-B4dm_FZt.js +1 -0
  80. package/web/assets/{use-i18n-Dpn7lxcE.js → use-i18n-BrWBoyFl.js} +1 -1
  81. package/web/assets/use-mobile-PCHaokZZ.js +1 -0
  82. package/web/assets/{useCustomUiComponents-DzY3OjE_.js → useCustomUiComponents-IxX7wKrp.js} +1 -1
  83. package/web/assets/useQuery-DdcpUQhO.js +1 -0
  84. package/web/assets/web-preview-D1qOo-1X.js +1 -0
  85. package/web/assets/{web-preview-events-BS5O8D7_.js → web-preview-events-BMXsxTa3.js} +1 -1
  86. package/web/assets/web-preview-panel-B7JAZr2D.js +552 -0
  87. package/web/index.html +2 -2
  88. package/web/assets/ChatAppearancePage-Cjy9iir_.js +0 -2
  89. package/web/assets/ChatHistoryPage-BhXVvudL.js +0 -1
  90. package/web/assets/ChatPage-CzcvU3Tv.js +0 -4
  91. package/web/assets/ConfigPage-F1Y_oed5.js +0 -1
  92. package/web/assets/GitDiffViewer-Dv9WOiX1.js +0 -4
  93. package/web/assets/McpPage-CaUm1pYY.js +0 -1
  94. package/web/assets/MobileViewportStabilizer-OtwVmIPm.js +0 -1
  95. package/web/assets/SessionContextPanel-nvijY4R5.js +0 -2
  96. package/web/assets/WorkbenchNavigation-BBZRfeaC.js +0 -1
  97. package/web/assets/app-update-BHhqGwQp.js +0 -32
  98. package/web/assets/back-navigation-DS0YlxM8.js +0 -1
  99. package/web/assets/catalog-DpGpcvIi.js +0 -1
  100. package/web/assets/chat-api-CYidanXn.js +0 -1
  101. package/web/assets/events-By17Y3YI.js +0 -1
  102. package/web/assets/i18n-CAJMli-q.js +0 -1
  103. package/web/assets/index-Z8qQPd8t.css +0 -2
  104. package/web/assets/mount-app-Sl2T_gzZ.js +0 -9
  105. package/web/assets/mutation-Difliohy.js +0 -1
  106. package/web/assets/public-DAsd8NDM.js +0 -1
  107. package/web/assets/public-navigation-BzM_ocRb.js +0 -2
  108. package/web/assets/radio-tower-BW78Ns4R.js +0 -1
  109. package/web/assets/session-streaming-state-CX6zkOkc.js +0 -3
  110. package/web/assets/startup-queries-DItwFTRv.js +0 -1
  111. package/web/assets/use-back-layer-Cxm0-40v.js +0 -1
  112. package/web/assets/use-mobile-YXncArOq.js +0 -1
  113. package/web/assets/useQuery-Bg3cTjsY.js +0 -1
  114. package/web/assets/web-preview-C3u-dblt.js +0 -1
  115. package/web/assets/web-preview-panel-CHiIjAoR.js +0 -552
@@ -0,0 +1 @@
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-BrWBoyFl.js";import{t as i}from"./label-BzlNatZM.js";import{t as a}from"./x-07u4-129.js";import{t as o}from"./button-BcPDt1Ge.js";import{i as s,r as c,s as l,t as u}from"./dialog-CGGxREwU.js";import{t as d}from"./input-CvjGYteF.js";var f=e(t(),1),p=n();function m({dialog:e,onClose:t,onFinish:n}){let{t:m}=r(),[h,g]=(0,f.useState)(e?.value||``),_=(0,f.useRef)(null);return(0,f.useEffect)(()=>{g(e?.value||``)},[e]),(0,p.jsx)(u,{open:!!e,onOpenChange:e=>!e&&t(),children:e&&(0,p.jsx)(c,{showCloseButton:!1,className:`max-w-[430px] gap-0 rounded-dialog border border-surface-highlight bg-popover p-[18px] text-popover-foreground shadow-dialog ring-0`,onOpenAutoFocus:t=>{e.type===`prompt`&&(t.preventDefault(),_.current?.focus(),_.current?.select())},children:(0,p.jsxs)(`form`,{onSubmit:t=>{t.preventDefault(),e&&n(e.type!==`prompt`||h.trim())},children:[(0,p.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,p.jsxs)(`div`,{className:`min-w-0`,children:[(0,p.jsx)(l,{className:`text-[17px] leading-6 font-bold tracking-[0]`,children:e.title}),(0,p.jsx)(s,{className:e.message?`mt-1.5 text-[13px] leading-5 text-content-muted`:`sr-only`,children:e.message||e.title})]}),(0,p.jsx)(o,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":m(`common:ui.closeDialog`),title:m(`common:ui.closeDialog`),className:`size-8 shrink-0 text-content-muted`,onClick:t,children:(0,p.jsx)(a,{className:`size-[18px]`})})]}),e.type===`prompt`&&(0,p.jsxs)(i,{className:`mt-4 block text-[12px] leading-5 font-semibold text-content-soft`,children:[e.inputLabel||m(`common:ui.name`),(0,p.jsx)(d,{ref:_,className:`mt-2 h-10 rounded-lg border-border bg-background px-3 text-[13px]`,value:h,placeholder:e.placeholder,maxLength:e.maxLength||120,onChange:e=>g(e.target.value)})]}),(0,p.jsxs)(`div`,{className:`mt-[18px] flex justify-end gap-2`,children:[(0,p.jsx)(o,{type:`button`,variant:`secondary`,onClick:t,children:m(`common:ui.cancel`)}),(0,p.jsx)(o,{type:`submit`,variant:e.tone===`danger`?`destructive`:`default`,className:e.tone===`danger`?void 0:`text-primary-foreground`,disabled:e.type===`prompt`&&!h.trim(),children:e.confirmLabel||m(`common:ui.confirm`)})]})]})})})}export{m as AppDialog};
@@ -1 +1 @@
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-Dpn7lxcE.js";import{t as i}from"./loader-circle-BOwQzHB-.js";import{t as a}from"./message-square-SKjZyY3v.js";import{t as o}from"./plus-fQbSqB1n.js";import{t as s}from"./search-D0mqDaf_.js";import{t as c}from"./tag-CqkeJlBf.js";import{t as l}from"./x-07u4-129.js";import{t as u}from"./button-BcPDt1Ge.js";import{t as d}from"./useQuery-Bg3cTjsY.js";import{a as f}from"./startup-queries-DItwFTRv.js";import{i as p,r as m,s as h,t as g}from"./dialog-CGGxREwU.js";import{t as _}from"./input-CvjGYteF.js";import{t as v}from"./field-3bN8nouy.js";import{r as y}from"./format-BRFKAYMT.js";import{t as b}from"./chat-api-CYidanXn.js";import{n as x}from"./app-primitives-DhqJLud3.js";var S=e(t(),1),C=n();function w({navigation:e,onClose:t,onNavigate:n,onOpenSession:l,onNewChat:u}){let{t:_,language:v}=r(),[x,w]=(0,S.useState)(``),{data:T}=d(f(`sessions`)),E=(0,S.useMemo)(()=>T?.sessions||[],[T]),[D,O]=(0,S.useState)([]),[k,A]=(0,S.useState)(!1),[j,M]=(0,S.useState)(0),[N,P]=(0,S.useState)(``);(0,S.useEffect)(()=>{let e=x.trim();if(!e){O([]),A(!1);return}let t=!0;A(!0);let n=window.setTimeout(()=>{b.searchSessionTreeLabels(e,12).then(e=>{t&&(O(e.labels||[]),A(!1))}).catch(()=>{t&&(O([]),A(!1))})},140);return()=>{t=!1,window.clearTimeout(n)}},[x]);let F=(0,S.useMemo)(()=>{let t=x.trim().toLocaleLowerCase(v),r=(...e)=>!t||e.some(e=>String(e||``).toLocaleLowerCase(v).includes(t)),i=[],s=_(`navigation:appOverlays.newChat`);r(s,_(`navigation:appOverlays.actions`))&&i.push({id:`action:new-chat`,Icon:o,label:s,hint:_(`navigation:appOverlays.actions`),run:u});for(let[t,a]of e)for(let[e,o,s]of a)r(o,t,e)&&i.push({id:`page:${e}`,Icon:s,label:o,hint:t,run:()=>n(e)});let d=e=>{let t=Date.parse(e);return Number.isFinite(t)?new Intl.DateTimeFormat(v,{dateStyle:`medium`,timeStyle:`short`}).format(t):_(`navigation:appOverlays.unknownTime`)};for(let e of D){let t=d(e.sessionCreated||e.sessionModified),n=d(e.nodeTimestamp);i.push({id:`label:${e.sessionId}:${e.entryId}`,Icon:c,label:e.label,hint:e.sessionName||_(`navigation:appOverlays.untitledChat`),meta:_(`navigation:appOverlays.labelResultTimes`,{sessionTime:t,nodeTime:n}),title:e.summary||e.label,run:()=>l(e.sessionId,e.entryId,e.active)})}for(let e of[...E].sort((e,t)=>Date.parse(t.modified)-Date.parse(e.modified)))if(r(e.name,e.firstMessage)&&(i.push({id:`session:${e.id}`,Icon:a,label:e.name||_(`navigation:appOverlays.untitledChat`),hint:y(e.modified,v),run:()=>l(e.id)}),i.filter(e=>e.id.startsWith(`session:`)).length>=8))break;return i},[D,v,e,n,u,l,x,E,_]);(0,S.useEffect)(()=>{M(0)},[x]);let I=Math.min(j,Math.max(0,F.length-1)),L=async e=>{if(!(!e||N)){if(!e.id.startsWith(`label:`)){t(),e.run();return}P(e.id);try{await e.run(),t()}catch{P(``)}}};return(0,C.jsx)(g,{open:!0,onOpenChange:e=>!e&&!N&&t(),children:(0,C.jsxs)(m,{showCloseButton:!1,"aria-busy":!!N,className:`command-palette max-[650px]:w-full w-[min(560px,calc(100vw_-_40px))] overflow-hidden [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] shadow-[0_28px_80px_-24px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] 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,C.jsx)(h,{className:`sr-only`,children:_(`navigation:appOverlays.commandPalette`)}),(0,C.jsx)(p,{className:`sr-only`,children:_(`navigation:appOverlays.searchPagesChatsOrActions`)}),(0,C.jsxs)(`label`,{className:`palette-input [&_input]:w-full [&_input]:min-w-0 [&_input]:border-0 [&_input]:[outline:0] [&_input]:bg-transparent [&_input]:text-[var(--text)] [&_input]:text-[14px] [&_kbd]:flex-none [&_kbd]:[border:1px_solid_var(--stroke)] [&_kbd]:rounded-[5px] [&_kbd]:bg-[var(--surface-subtle)] [&_kbd]:p-[1px_5px] [&_kbd]:text-[var(--text-muted)] [&_kbd]:font-[inherit] [&_kbd]:text-[10px] flex h-[46px] items-center gap-[9px] [border-bottom:1px_solid_var(--stroke-soft)] [padding:0_14px] text-[var(--text-muted)]`,children:[(0,C.jsx)(s,{size:16}),(0,C.jsx)(`input`,{autoFocus:!0,value:x,disabled:!!N,onChange:e=>w(e.target.value),onKeyDown:e=>{if(N){e.preventDefault();return}e.key===`ArrowDown`?(e.preventDefault(),M(e=>F.length?(e+1)%F.length:0)):e.key===`ArrowUp`?(e.preventDefault(),M(e=>F.length?(e-1+F.length)%F.length:0)):e.key===`Enter`?(e.preventDefault(),L(F[I])):e.key===`Escape`&&(e.preventDefault(),t())},placeholder:_(`navigation:appOverlays.searchPagesChatsOrActions`)}),N?(0,C.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-xs`,role:`status`,"aria-live":`polite`,children:[(0,C.jsx)(i,{className:`size-3.5 animate-spin`,"aria-hidden":`true`}),_(`navigation:appOverlays.locatingLabel`)]}):(0,C.jsx)(`kbd`,{children:`Esc`})]}),(0,C.jsxs)(`div`,{className:`max-h-[min(380px,50vh)] overflow-y-auto [padding:6px]`,role:`listbox`,"aria-label":_(`navigation:appOverlays.commandPalette`),children:[F.map((e,t)=>(0,C.jsxs)(`button`,{type:`button`,className:`palette-item [&_>_svg]:flex-none [&_>_svg]:text-[var(--text-muted)] [&.active]:bg-[var(--star-soft)] [&.active]:text-[var(--text)] [&.active_>_svg]:text-[var(--star-strong)] flex w-full items-center gap-[10px] border-0 rounded-[var(--r-sm)] bg-transparent [padding:9px_10px] text-[var(--text-secondary)] text-[13px] text-left cursor-pointer ${e.meta?`has-meta`:``} ${t===I?`active`:``}`,title:e.title,role:`option`,"aria-selected":t===I,disabled:!!N,"aria-busy":N===e.id,onMouseEnter:()=>!N&&M(t),onClick:()=>void L(e),children:[N===e.id?(0,C.jsx)(i,{className:`size-[15px] animate-spin`,"aria-hidden":`true`}):(0,C.jsx)(e.Icon,{size:15}),(0,C.jsxs)(`span`,{className:`palette-item-copy [&_>_small]:overflow-hidden [&_>_small]:text-[var(--text-muted)] [&_>_small]:text-[10px] [&_>_small]:text-ellipsis [&_>_small]:whitespace-nowrap flex min-w-0 flex-1 flex-col gap-[2px]`,children:[(0,C.jsx)(`span`,{className:`min-w-0 overflow-hidden text-ellipsis whitespace-nowrap`,children:e.label}),e.meta&&(0,C.jsx)(`small`,{children:e.meta})]}),(0,C.jsx)(`span`,{className:`palette-item-hint max-[650px]:max-w-[34vw] max-w-[180px] flex-none overflow-hidden text-[var(--text-muted)] text-[11px] text-ellipsis whitespace-nowrap`,children:N===e.id?_(`navigation:appOverlays.locatingLabel`):e.hint})]},e.id)),!F.length&&(0,C.jsx)(`div`,{className:`palette-empty [padding:20px] text-[var(--text-muted)] text-[12px] text-center`,children:_(k?`navigation:appOverlays.searchingLabels`:`navigation:appOverlays.noMatchingResults`)}),F.length>0&&k&&(0,C.jsx)(`div`,{"aria-live":`polite`,className:`palette-empty [padding:20px] text-[var(--text-muted)] text-[12px] text-center palette-searching [.palette-empty&]:p-[8px_12px]`,children:_(`navigation:appOverlays.searchingLabels`)})]})]})})}function T({type:e,close:t,notify:n}){let{t:i}=r(),a={chat:i(`navigation:appOverlays.newChat2`),assets:i(`navigation:appOverlays.exportAsset`),channels:i(`navigation:appOverlays.connectChannel`),schedules:i(`navigation:appOverlays.newScheduledTask`),config:i(`navigation:appOverlays.quickSetup`),plugins:i(`navigation:appOverlays.savePluginPolicy`),memory:i(`navigation:appOverlays.addMemory`),mcp:i(`navigation:appOverlays.addMCPService`),skills:i(`navigation:appOverlays.installSkill`)}[e]||i(`navigation:appOverlays.newProject`),s=[i(`navigation:appOverlays.default`),i(`navigation:appOverlays.custom`),i(`navigation:appOverlays.createFromTemplate`)];return(0,C.jsx)(g,{open:!0,onOpenChange:e=>!e&&t(),children:(0,C.jsx)(m,{showCloseButton:!1,className:`modal !w-[min(430px,100%)] max-h-[calc(100dvh_-_40px)] overflow-y-auto [overscroll-behavior:contain] [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] p-[18px] shadow-[0_26px_70px_-25px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] max-[650px]:max-h-[calc(100dvh_-_16px)] max-w-[430px]! gap-0 rounded-dialog border-surface-highlight shadow-dialog ring-0`,children:(0,C.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),n(i(`navigation:appOverlays.actionSucceeded`,{action:a})),t()},children:[(0,C.jsxs)(x,{children:[(0,C.jsxs)(`div`,{children:[(0,C.jsx)(h,{children:a}),(0,C.jsx)(p,{children:i(`navigation:appOverlays.enterTheBasicDetailsToContinue`)})]}),(0,C.jsx)(u,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":i(`navigation:appOverlays.closeDialog`),title:i(`navigation:appOverlays.closeDialog`),onClick:t,children:(0,C.jsx)(l,{className:`size-[17px]`})})]}),(0,C.jsxs)(v,{variant:`control`,className:`items-start`,children:[i(`navigation:appOverlays.name`),(0,C.jsx)(_,{name:`name`,placeholder:i(`navigation:appOverlays.enterAName`)})]}),(0,C.jsxs)(v,{variant:`control`,className:`items-start`,children:[i(`navigation:appOverlays.description`),(0,C.jsx)(_,{name:`description`,placeholder:i(`navigation:appOverlays.addAShortDescription`)})]}),(0,C.jsx)(v,{variant:`control`,className:`items-start`,htmlFor:`quick-create-type`,children:i(`navigation:appOverlays.type`)}),(0,C.jsx)(`select`,{id:`quick-create-type`,name:`type`,defaultValue:s[0],className:`mt-1 w-full bg-surface-subtle`,children:s.map(e=>(0,C.jsx)(`option`,{value:e,children:e},e))}),(0,C.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[(0,C.jsx)(u,{type:`button`,variant:`secondary`,onClick:t,children:i(`navigation:appOverlays.cancel`)}),(0,C.jsxs)(u,{type:`submit`,children:[(0,C.jsx)(o,{className:`size-3.5`}),i(`navigation:appOverlays.create`)]})]})]})})})}export{w as CommandPalette,T as QuickCreate};
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-BrWBoyFl.js";import{t as i}from"./loader-circle-BOwQzHB-.js";import{t as a}from"./message-square-SKjZyY3v.js";import{t as o}from"./plus-fQbSqB1n.js";import{t as s}from"./search-D0mqDaf_.js";import{t as c}from"./tag-CqkeJlBf.js";import{t as l}from"./x-07u4-129.js";import{t as u}from"./button-BcPDt1Ge.js";import{t as d}from"./useQuery-DdcpUQhO.js";import{a as f}from"./startup-queries-uKXB2KOP.js";import{t as p}from"./chat-api-CbgoP-8X.js";import{i as m,r as h,s as g,t as _}from"./dialog-CGGxREwU.js";import{t as v}from"./input-CvjGYteF.js";import{t as y}from"./field-3bN8nouy.js";import{r as b}from"./format-BRFKAYMT.js";import{n as x}from"./app-primitives-DhqJLud3.js";var S=e(t(),1),C=n();function w({navigation:e,onClose:t,onNavigate:n,onOpenSession:l,onNewChat:u}){let{t:v,language:y}=r(),[x,w]=(0,S.useState)(``),{data:T}=d(f(`sessions`)),E=(0,S.useMemo)(()=>T?.sessions||[],[T]),[D,O]=(0,S.useState)([]),[k,A]=(0,S.useState)(!1),[j,M]=(0,S.useState)(0),[N,P]=(0,S.useState)(``);(0,S.useEffect)(()=>{let e=x.trim();if(!e){O([]),A(!1);return}let t=!0;A(!0);let n=window.setTimeout(()=>{p.searchSessionTreeLabels(e,12).then(e=>{t&&(O(e.labels||[]),A(!1))}).catch(()=>{t&&(O([]),A(!1))})},140);return()=>{t=!1,window.clearTimeout(n)}},[x]);let F=(0,S.useMemo)(()=>{let t=x.trim().toLocaleLowerCase(y),r=(...e)=>!t||e.some(e=>String(e||``).toLocaleLowerCase(y).includes(t)),i=[],s=v(`navigation:appOverlays.newChat`);r(s,v(`navigation:appOverlays.actions`))&&i.push({id:`action:new-chat`,Icon:o,label:s,hint:v(`navigation:appOverlays.actions`),run:u});for(let[t,a]of e)for(let[e,o,s]of a)r(o,t,e)&&i.push({id:`page:${e}`,Icon:s,label:o,hint:t,run:()=>n(e)});let d=e=>{let t=Date.parse(e);return Number.isFinite(t)?new Intl.DateTimeFormat(y,{dateStyle:`medium`,timeStyle:`short`}).format(t):v(`navigation:appOverlays.unknownTime`)};for(let e of D){let t=d(e.sessionCreated||e.sessionModified),n=d(e.nodeTimestamp);i.push({id:`label:${e.sessionId}:${e.entryId}`,Icon:c,label:e.label,hint:e.sessionName||v(`navigation:appOverlays.untitledChat`),meta:v(`navigation:appOverlays.labelResultTimes`,{sessionTime:t,nodeTime:n}),title:e.summary||e.label,run:()=>l(e.sessionId,e.entryId,e.active)})}for(let e of[...E].sort((e,t)=>Date.parse(t.modified)-Date.parse(e.modified)))if(r(e.name,e.firstMessage)&&(i.push({id:`session:${e.id}`,Icon:a,label:e.name||v(`navigation:appOverlays.untitledChat`),hint:b(e.modified,y),run:()=>l(e.id)}),i.filter(e=>e.id.startsWith(`session:`)).length>=8))break;return i},[D,y,e,n,u,l,x,E,v]);(0,S.useEffect)(()=>{M(0)},[x]);let I=Math.min(j,Math.max(0,F.length-1)),L=async e=>{if(!(!e||N)){if(!e.id.startsWith(`label:`)){t(),e.run();return}P(e.id);try{await e.run(),t()}catch{P(``)}}};return(0,C.jsx)(_,{open:!0,onOpenChange:e=>!e&&!N&&t(),children:(0,C.jsxs)(h,{showCloseButton:!1,"aria-busy":!!N,className:`command-palette max-[650px]:w-full w-[min(560px,calc(100vw_-_40px))] overflow-hidden [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] shadow-[0_28px_80px_-24px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] 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,C.jsx)(g,{className:`sr-only`,children:v(`navigation:appOverlays.commandPalette`)}),(0,C.jsx)(m,{className:`sr-only`,children:v(`navigation:appOverlays.searchPagesChatsOrActions`)}),(0,C.jsxs)(`label`,{className:`palette-input [&_input]:w-full [&_input]:min-w-0 [&_input]:border-0 [&_input]:[outline:0] [&_input]:bg-transparent [&_input]:text-[var(--text)] [&_input]:text-[14px] [&_kbd]:flex-none [&_kbd]:[border:1px_solid_var(--stroke)] [&_kbd]:rounded-[5px] [&_kbd]:bg-[var(--surface-subtle)] [&_kbd]:p-[1px_5px] [&_kbd]:text-[var(--text-muted)] [&_kbd]:font-[inherit] [&_kbd]:text-[10px] flex h-[46px] items-center gap-[9px] [border-bottom:1px_solid_var(--stroke-soft)] [padding:0_14px] text-[var(--text-muted)]`,children:[(0,C.jsx)(s,{size:16}),(0,C.jsx)(`input`,{autoFocus:!0,value:x,disabled:!!N,onChange:e=>w(e.target.value),onKeyDown:e=>{if(N){e.preventDefault();return}e.key===`ArrowDown`?(e.preventDefault(),M(e=>F.length?(e+1)%F.length:0)):e.key===`ArrowUp`?(e.preventDefault(),M(e=>F.length?(e-1+F.length)%F.length:0)):e.key===`Enter`?(e.preventDefault(),L(F[I])):e.key===`Escape`&&(e.preventDefault(),t())},placeholder:v(`navigation:appOverlays.searchPagesChatsOrActions`)}),N?(0,C.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-xs`,role:`status`,"aria-live":`polite`,children:[(0,C.jsx)(i,{className:`size-3.5 animate-spin`,"aria-hidden":`true`}),v(`navigation:appOverlays.locatingLabel`)]}):(0,C.jsx)(`kbd`,{children:`Esc`})]}),(0,C.jsxs)(`div`,{className:`max-h-[min(380px,50vh)] overflow-y-auto [padding:6px]`,role:`listbox`,"aria-label":v(`navigation:appOverlays.commandPalette`),children:[F.map((e,t)=>(0,C.jsxs)(`button`,{type:`button`,className:`palette-item [&_>_svg]:flex-none [&_>_svg]:text-[var(--text-muted)] [&.active]:bg-[var(--star-soft)] [&.active]:text-[var(--text)] [&.active_>_svg]:text-[var(--star-strong)] flex w-full items-center gap-[10px] border-0 rounded-[var(--r-sm)] bg-transparent [padding:9px_10px] text-[var(--text-secondary)] text-[13px] text-left cursor-pointer ${e.meta?`has-meta`:``} ${t===I?`active`:``}`,title:e.title,role:`option`,"aria-selected":t===I,disabled:!!N,"aria-busy":N===e.id,onMouseEnter:()=>!N&&M(t),onClick:()=>void L(e),children:[N===e.id?(0,C.jsx)(i,{className:`size-[15px] animate-spin`,"aria-hidden":`true`}):(0,C.jsx)(e.Icon,{size:15}),(0,C.jsxs)(`span`,{className:`palette-item-copy [&_>_small]:overflow-hidden [&_>_small]:text-[var(--text-muted)] [&_>_small]:text-[10px] [&_>_small]:text-ellipsis [&_>_small]:whitespace-nowrap flex min-w-0 flex-1 flex-col gap-[2px]`,children:[(0,C.jsx)(`span`,{className:`min-w-0 overflow-hidden text-ellipsis whitespace-nowrap`,children:e.label}),e.meta&&(0,C.jsx)(`small`,{children:e.meta})]}),(0,C.jsx)(`span`,{className:`palette-item-hint max-[650px]:max-w-[34vw] max-w-[180px] flex-none overflow-hidden text-[var(--text-muted)] text-[11px] text-ellipsis whitespace-nowrap`,children:N===e.id?v(`navigation:appOverlays.locatingLabel`):e.hint})]},e.id)),!F.length&&(0,C.jsx)(`div`,{className:`palette-empty [padding:20px] text-[var(--text-muted)] text-[12px] text-center`,children:v(k?`navigation:appOverlays.searchingLabels`:`navigation:appOverlays.noMatchingResults`)}),F.length>0&&k&&(0,C.jsx)(`div`,{"aria-live":`polite`,className:`palette-empty [padding:20px] text-[var(--text-muted)] text-[12px] text-center palette-searching [.palette-empty&]:p-[8px_12px]`,children:v(`navigation:appOverlays.searchingLabels`)})]})]})})}function T({type:e,close:t,notify:n}){let{t:i}=r(),a={chat:i(`navigation:appOverlays.newChat2`),assets:i(`navigation:appOverlays.exportAsset`),channels:i(`navigation:appOverlays.connectChannel`),schedules:i(`navigation:appOverlays.newScheduledTask`),config:i(`navigation:appOverlays.quickSetup`),plugins:i(`navigation:appOverlays.savePluginPolicy`),memory:i(`navigation:appOverlays.addMemory`),mcp:i(`navigation:appOverlays.addMCPService`),skills:i(`navigation:appOverlays.installSkill`)}[e]||i(`navigation:appOverlays.newProject`),s=[i(`navigation:appOverlays.default`),i(`navigation:appOverlays.custom`),i(`navigation:appOverlays.createFromTemplate`)];return(0,C.jsx)(_,{open:!0,onOpenChange:e=>!e&&t(),children:(0,C.jsx)(h,{showCloseButton:!1,className:`modal !w-[min(430px,100%)] max-h-[calc(100dvh_-_40px)] overflow-y-auto [overscroll-behavior:contain] [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] p-[18px] shadow-[0_26px_70px_-25px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] max-[650px]:max-h-[calc(100dvh_-_16px)] max-w-[430px]! gap-0 rounded-dialog border-surface-highlight shadow-dialog ring-0`,children:(0,C.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),n(i(`navigation:appOverlays.actionSucceeded`,{action:a})),t()},children:[(0,C.jsxs)(x,{children:[(0,C.jsxs)(`div`,{children:[(0,C.jsx)(g,{children:a}),(0,C.jsx)(m,{children:i(`navigation:appOverlays.enterTheBasicDetailsToContinue`)})]}),(0,C.jsx)(u,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":i(`navigation:appOverlays.closeDialog`),title:i(`navigation:appOverlays.closeDialog`),onClick:t,children:(0,C.jsx)(l,{className:`size-[17px]`})})]}),(0,C.jsxs)(y,{variant:`control`,className:`items-start`,children:[i(`navigation:appOverlays.name`),(0,C.jsx)(v,{name:`name`,placeholder:i(`navigation:appOverlays.enterAName`)})]}),(0,C.jsxs)(y,{variant:`control`,className:`items-start`,children:[i(`navigation:appOverlays.description`),(0,C.jsx)(v,{name:`description`,placeholder:i(`navigation:appOverlays.addAShortDescription`)})]}),(0,C.jsx)(y,{variant:`control`,className:`items-start`,htmlFor:`quick-create-type`,children:i(`navigation:appOverlays.type`)}),(0,C.jsx)(`select`,{id:`quick-create-type`,name:`type`,defaultValue:s[0],className:`mt-1 w-full bg-surface-subtle`,children:s.map(e=>(0,C.jsx)(`option`,{value:e,children:e},e))}),(0,C.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[(0,C.jsx)(u,{type:`button`,variant:`secondary`,onClick:t,children:i(`navigation:appOverlays.cancel`)}),(0,C.jsxs)(u,{type:`submit`,children:[(0,C.jsx)(o,{className:`size-3.5`}),i(`navigation:appOverlays.create`)]})]})]})})})}export{w as CommandPalette,T as QuickCreate};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,n,r}from"./vendor-react-DwNgTV1j.js";import{i,n as a}from"./dist-Cfh4kzCK.js";import{a as o,c as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./dist-B_a0oV4U.js";import{n as m}from"./dist-BlIIpW6W.js";import{a as h,i as g}from"./dist-DAs5KRGl.js";import{a as _,i as v,n as y,r as b,s as x,t as S}from"./es2015-0QT3KgdC.js";import{a as C,i as w,r as T,t as E}from"./dist-alOyD2Bh.js";import{t as D}from"./utils-C8uzG5AZ.js";import{t as O}from"./createLucideIcon-Cd-3GVxJ.js";import{t as k}from"./check-2vYc6QaP.js";import{t as A}from"./chevron-down-CxtxIjiP.js";import{t as j}from"./use-mobile-YXncArOq.js";var M=e(n(),1),N=e(t(),1),ee=Object.defineProperty,te=(e,t)=>ee(e,`name`,{value:t,configurable:!0});function P(e){let t=N.useRef({value:e,previous:e});return N.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}te(P,`usePrevious`);var F=Object.defineProperty,ne=(e,t)=>F(e,`name`,{value:t,configurable:!0});function I(e,[t,n]){return Math.min(n,Math.max(t,e))}ne(I,`clamp`);var L=r(),R=Object.defineProperty,z=(e,t)=>R(e,`name`,{value:t,configurable:!0}),B=[` `,`Enter`,`ArrowUp`,`ArrowDown`],V=[` `,`Enter`],H=`Select`,[U,W,re]=h(H),[G,ie]=f(H,[re,C]),K=C(),[q,J]=G(H),[ae,oe]=G(H);function se(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:u,dir:d,name:f,autoComplete:p,disabled:m,required:h,form:_,internal_do_not_use_render:v}=e,y=K(t),[b,x]=N.useState(null),[S,C]=N.useState(null),[T,E]=N.useState(!1),D=g(d),[O,k]=c({prop:r,defaultProp:i??!1,onChange:a,caller:H}),[A,j]=c({prop:o,defaultProp:s,onChange:u,caller:H}),M=N.useRef(null),ee=N.useRef(A);N.useEffect(()=>{let e=_?b?.ownerDocument.getElementById(_):b?.form;if(e instanceof HTMLFormElement){let t=z(()=>j(ee.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[_,b,j]);let te=!b||!!_||!!b.closest(`form`),[P,F]=N.useState(new Set),ne=l(),I=Array.from(P).map(e=>e.props.value).join(`;`),R=N.useCallback(e=>{F(t=>new Set(t).add(e))},[]),B=N.useCallback(e=>{F(t=>{let n=new Set(t);return n.delete(e),n})},[]),V={required:h,trigger:b,onTriggerChange:x,valueNode:S,onValueNodeChange:C,valueNodeHasChildren:T,onValueNodeHasChildrenChange:E,contentId:ne,value:A,onValueChange:j,open:O,onOpenChange:k,dir:D,triggerPointerDownPosRef:M,disabled:m,name:f,autoComplete:p,form:_,nativeOptions:P,nativeSelectKey:I,isFormControl:te};return(0,L.jsx)(w,{...y,children:(0,L.jsx)(q,{scope:t,...V,children:(0,L.jsx)(U.Provider,{scope:t,children:(0,L.jsx)(ae,{scope:t,onNativeOptionAdd:R,onNativeOptionRemove:B,children:We(v)?v(V):n})})})})}z(se,`SelectProvider`);var ce=z(e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,L.jsx)(se,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,L.jsxs)(L.Fragment,{children:[n,e?(0,L.jsx)(Ue,{__scopeSelect:t}):null]})})},`Select`),le=`SelectTrigger`,ue=N.forwardRef(z(function(e,t){let{__scopeSelect:n,disabled:r=!1,...a}=e,o=K(n),c=J(le,n),l=c.disabled||r,d=i(t,c.onTriggerChange),f=W(n),p=N.useRef(`touch`),[m,h,g]=Ge(e=>{let t=f().filter(e=>!e.disabled),n=Ke(t,e,t.find(e=>e.value===c.value));n!==void 0&&c.onValueChange(n.value)}),_=z(e=>{l||(c.onOpenChange(!0),g()),e&&(c.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})},`handleOpen`);return(0,L.jsx)(E,{asChild:!0,...o,children:(0,L.jsx)(s.button,{type:`button`,role:`combobox`,"aria-controls":c.open?c.contentId:void 0,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":`none`,dir:c.dir,"data-state":c.open?`open`:`closed`,disabled:l,"data-disabled":l?``:void 0,"data-placeholder":$(c.value)?``:void 0,...a,ref:d,onClick:u(a.onClick,e=>{e.currentTarget.focus(),p.current!==`mouse`&&_(e)}),onPointerDown:u(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`&&(_(e),e.preventDefault())}),onKeyDown:u(a.onKeyDown,e=>{let t=m.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&h(e.key),!(t&&e.key===` `)&&B.includes(e.key)&&(_(),e.preventDefault())})})})},`SelectTrigger`)),de=`SelectValue`,fe=N.forwardRef(z(function(e,t){let{__scopeSelect:n,className:r,style:a,children:c,placeholder:l=``,...u}=e,d=J(de,n),{onValueNodeHasChildrenChange:f}=d,p=c!==void 0,m=i(t,d.onValueNodeChange);o(()=>{f(p)},[f,p]);let h=$(d.value);return(0,L.jsx)(s.span,{...u,asChild:!h&&u.asChild,ref:m,style:{pointerEvents:`none`},children:(0,L.jsx)(N.Fragment,{children:h?l:c},h?`placeholder`:`value`)})},`SelectValue`)),pe=N.forwardRef(z(function(e,t){let{__scopeSelect:n,children:r,...i}=e;return(0,L.jsx)(s.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})},`SelectIcon`)),[me,he]=G(`SelectPortal`,{forceMount:void 0}),ge=z(e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,L.jsx)(me,{scope:e.__scopeSelect,forceMount:n,children:(0,L.jsx)(v,{asChild:!0,...r})})},`SelectPortal`),Y=`SelectContent`,_e=N.forwardRef(z(function(e,t){let n=he(Y,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=J(Y,e.__scopeSelect),[s,c]=N.useState();return o(()=>{c(new DocumentFragment)},[]),(0,L.jsx)(d,{present:r||a.open,children:({present:e})=>e?(0,L.jsx)(xe,{...i,ref:t}):(0,L.jsx)(ve,{...i,fragment:s})})},`SelectContent`)),ve=N.forwardRef(z(function(e,t){let{__scopeSelect:n,children:r,fragment:i}=e;return i?M.createPortal((0,L.jsx)(ye,{scope:n,children:(0,L.jsx)(U.Slot,{scope:n,children:(0,L.jsx)(`div`,{ref:t,children:r})})}),i):null},`SelectContentFragment`)),X=10,[ye,Z]=G(Y),be=a(`SelectContent.RemoveScroll`),xe=N.forwardRef(z(function(e,t){let{__scopeSelect:n}=e,{position:r=`item-aligned`,onCloseAutoFocus:a,onEscapeKeyDown:o,onPointerDownOutside:s,side:c,sideOffset:l,align:d,alignOffset:f,arrowPadding:p,collisionBoundary:m,collisionPadding:h,sticky:g,hideWhenDetached:v,avoidCollisions:C,...w}=e,T=J(Y,n),[E,D]=N.useState(null),[O,k]=N.useState(null),A=i(t,D),[j,M]=N.useState(null),[ee,te]=N.useState(null),P=W(n),[F,ne]=N.useState(!1),I=N.useRef(!1);N.useEffect(()=>{if(E)return S(E)},[E]),b();let R=N.useCallback(e=>{let[t,...n]=P().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},[P,O]),B=N.useCallback(()=>R([j,E]),[R,j,E]);N.useEffect(()=>{F&&B()},[F,B]);let{onOpenChange:V,triggerPointerDownPosRef:H}=T;N.useEffect(()=>{if(E){let e={x:0,y:0},t=z(t=>{e={x:Math.abs(Math.round(t.pageX)-(H.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(H.current?.y??0))}},`handlePointerMove`),n=z(n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(E)||V(!1),document.removeEventListener(`pointermove`,t),H.current=null},`handlePointerUp`);return H.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,V,H]),N.useEffect(()=>{let e=z(()=>V(!1),`close`);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[V]);let[U,re]=Ge(e=>{let t=P().filter(e=>!e.disabled),n=Ke(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current?.focus())}),G=N.useCallback((e,t,n)=>{let r=!I.current&&!n;(T.value!==void 0&&T.value===t||r)&&(M(e),r&&(I.current=!0))},[T.value]),ie=N.useCallback(()=>E?.focus(),[E]),K=N.useCallback((e,t,n)=>{let r=!I.current&&!n;(T.value!==void 0&&T.value===t||r)&&te(e)},[T.value]),q=r===`popper`?Ce:Se,ae=q===Ce?{side:c,sideOffset:l,align:d,alignOffset:f,arrowPadding:p,collisionBoundary:m,collisionPadding:h,sticky:g,hideWhenDetached:v,avoidCollisions:C}:{};return(0,L.jsx)(ye,{scope:n,content:E,viewport:O,onViewportChange:k,itemRefCallback:G,selectedItem:j,onItemLeave:ie,itemTextRefCallback:K,focusSelectedItem:B,selectedItemText:ee,position:r,isPositioned:F,searchRef:U,children:(0,L.jsx)(y,{as:be,allowPinchZoom:!0,children:(0,L.jsx)(_,{asChild:!0,trapped:T.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:u(a,e=>{T.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,L.jsx)(x,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>T.onOpenChange(!1),children:(0,L.jsx)(q,{role:`listbox`,id:T.contentId,"data-state":T.open?`open`:`closed`,dir:T.dir,onContextMenu:e=>e.preventDefault(),...w,...ae,onPlaced:()=>ne(!0),ref:A,style:{display:`flex`,flexDirection:`column`,outline:`none`,...w.style},onKeyDown:u(w.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&re(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=P().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(()=>R(t)),e.preventDefault()}})})})})})})},`SelectContentImpl`)),Se=N.forwardRef(z(function(e,t){let{__scopeSelect:n,onPlaced:r,...a}=e,c=J(Y,n),l=Z(Y,n),[u,d]=N.useState(null),[f,p]=N.useState(null),m=i(t,p),h=W(n),g=N.useRef(!1),_=N.useRef(!0),{viewport:v,selectedItem:y,selectedItemText:b,focusSelectedItem:x}=l,S=N.useCallback(()=>{if(c.trigger&&c.valueNode&&u&&f&&v&&y&&b){let e=c.trigger.getBoundingClientRect(),t=f.getBoundingClientRect(),n=c.valueNode.getBoundingClientRect(),i=b.getBoundingClientRect();if(c.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,s=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+s+_+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,c.trigger,c.valueNode,u,f,v,y,b,c.dir,r]);o(()=>S(),[S]);let[C,w]=N.useState();o(()=>{f&&w(window.getComputedStyle(f).zIndex)},[f]);let T=N.useCallback(e=>{e&&_.current===!0&&(S(),x?.(),_.current=!1)},[S,x]);return(0,L.jsx)(we,{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)(s.div,{...a,ref:m,style:{boxSizing:`border-box`,maxHeight:`100%`,...a.style}})})})},`SelectItemAlignedPosition`)),Ce=N.forwardRef(z(function(e,t){let{__scopeSelect:n,align:r=`start`,collisionPadding:i=X,...a}=e,o=K(n);return(0,L.jsx)(T,{...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`)),[we,Te]=G(Y,{}),Ee=`SelectViewport`,De=N.forwardRef(z(function(e,t){let{__scopeSelect:n,nonce:r,...a}=e,o=Z(Ee,n),c=Te(Ee,n),l=i(t,o.onViewportChange),d=N.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)(U.Slot,{scope:n,children:(0,L.jsx)(s.div,{"data-radix-select-viewport":``,role:`presentation`,...a,ref:l,style:{position:`relative`,flex:1,overflow:`hidden auto`,...a.style},onScroll:u(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=c;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`)),[Oe,ke]=G(`SelectGroup`),Ae=`SelectItem`,[je,Me]=G(Ae),Ne=N.forwardRef(z(function(e,t){let{__scopeSelect:n,value:r,disabled:a=!1,textValue:o,...c}=e,d=J(Ae,n),f=Z(Ae,n),m=d.value===r,[h,g]=N.useState(o??``),[_,v]=N.useState(!1),y=p(e=>f.itemRefCallback?.(e,r,a)),b=i(t,y),x=l(),S=N.useRef(`touch`),C=z(()=>{a||(d.onValueChange(r),d.onOpenChange(!1))},`handleSelect`);return(0,L.jsx)(je,{scope:n,value:r,disabled:a,textId:x,isSelected:m,onItemTextChange:N.useCallback(e=>{g(t=>t||(e?.textContent??``).trim())},[]),children:(0,L.jsx)(U.ItemSlot,{scope:n,value:r,disabled:a,textValue:h,children:(0,L.jsx)(s.div,{role:`option`,"aria-labelledby":x,"data-highlighted":_?``:void 0,"aria-selected":m&&_,"data-state":m?`checked`:`unchecked`,"aria-disabled":a||void 0,"data-disabled":a?``:void 0,tabIndex:a?void 0:-1,...c,ref:b,onFocus:u(c.onFocus,()=>v(!0)),onBlur:u(c.onBlur,()=>v(!1)),onClick:u(c.onClick,()=>{S.current!==`mouse`&&C()}),onPointerUp:u(c.onPointerUp,()=>{S.current===`mouse`&&C()}),onPointerDown:u(c.onPointerDown,e=>{S.current=e.pointerType}),onPointerMove:u(c.onPointerMove,e=>{S.current=e.pointerType,a?f.onItemLeave?.():S.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:u(c.onPointerLeave,e=>{e.currentTarget===document.activeElement&&f.onItemLeave?.()}),onKeyDown:u(c.onKeyDown,e=>{a||e.target!==e.currentTarget||(f.searchRef?.current===``||e.key!==` `)&&(V.includes(e.key)&&C(),e.key===` `&&e.preventDefault())})})})})},`SelectItem`)),Q=`SelectItemText`,Pe=N.forwardRef(z(function(e,t){let{__scopeSelect:n,className:r,style:a,...c}=e,l=J(Q,n),u=Z(Q,n),d=Me(Q,n),f=oe(Q,n),[m,h]=N.useState(null),g=p(e=>u.itemTextRefCallback?.(e,d.value,d.disabled)),_=i(t,h,d.onItemTextChange,g),v=m?.textContent,y=N.useMemo(()=>(0,L.jsx)(`option`,{value:d.value,disabled:d.disabled,children:v},d.value),[d.disabled,d.value,v]),{onNativeOptionAdd:b,onNativeOptionRemove:x}=f;return o(()=>(b(y),()=>x(y)),[b,x,y]),(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(s.span,{id:d.textId,...c,ref:_}),d.isSelected&&l.valueNode&&!l.valueNodeHasChildren&&!$(l.value)?M.createPortal(c.children,l.valueNode):null]})},`SelectItemText`)),Fe=`SelectItemIndicator`,Ie=N.forwardRef(z(function(e,t){let{__scopeSelect:n,...r}=e;return Me(Fe,n).isSelected?(0,L.jsx)(s.span,{"aria-hidden":!0,...r,ref:t}):null},`SelectItemIndicator`)),Le=`SelectScrollUpButton`,Re=N.forwardRef(z(function(e,t){let n=Z(Le,e.__scopeSelect),r=Te(Le,e.__scopeSelect),[a,s]=N.useState(!1),c=i(t,r.onScrollButtonChange);return o(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;s(e)};z(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),a?(0,L.jsx)(Ve,{...e,ref:c,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null},`SelectScrollUpButton`)),ze=`SelectScrollDownButton`,Be=N.forwardRef(z(function(e,t){let n=Z(ze,e.__scopeSelect),r=Te(ze,e.__scopeSelect),[a,s]=N.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)};z(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),a?(0,L.jsx)(Ve,{...e,ref:c,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null},`SelectScrollDownButton`)),Ve=N.forwardRef(z(function(e,t){let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=Z(`SelectScrollButton`,n),c=N.useRef(null),l=W(n),d=N.useCallback(()=>{c.current!==null&&(window.clearInterval(c.current),c.current=null)},[]);return N.useEffect(()=>()=>d(),[d]),o(()=>{l().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[l]),(0,L.jsx)(s.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:u(i.onPointerDown,()=>{c.current===null&&(c.current=window.setInterval(r,50))}),onPointerMove:u(i.onPointerMove,()=>{a.onItemLeave?.(),c.current===null&&(c.current=window.setInterval(r,50))}),onPointerLeave:u(i.onPointerLeave,()=>{d()})})},`SelectScrollButtonImpl`)),He=`SelectBubbleInput`,Ue=N.forwardRef(z(function({__scopeSelect:e,...t},n){let r=J(He,e),{value:a,onValueChange:o,required:c,disabled:l,name:u,autoComplete:d,form:f}=r,{nativeOptions:p,nativeSelectKey:h}=r,g=N.useRef(null),_=i(n,g),v=a??``,y=P(v),b=Array.from(p).some(e=>(e.props.value??``)===``);return N.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)(s.select,{"aria-hidden":!0,required:c,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 We(e){return typeof e==`function`}z(We,`isFunction`);function $(e){return e===``||e===void 0}z($,`shouldShowPlaceholder`);function Ge(e){let t=p(e),n=N.useRef(``),r=N.useRef(0),i=N.useCallback(e=>{let i=n.current+e;t(i),z((function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(i)},[t]),a=N.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return N.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}z(Ge,`useTypeaheadSearch`);function Ke(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=qe(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}z(Ke,`findNextItem`);function qe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}z(qe,`wrapArray`);var Je=O(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]);function Ye({...e}){return(0,L.jsx)(ce,{"data-slot":`select`,...e})}function Xe({...e}){return(0,L.jsx)(fe,{"data-slot":`select-value`,...e})}function Ze({className:e,size:t=`default`,children:n,...r}){return(0,L.jsxs)(ue,{"data-slot":`select-trigger`,"data-size":t,className:D(`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)(pe,{asChild:!0,children:(0,L.jsx)(A,{className:`pointer-events-none size-4 text-muted-foreground`})})]})}function Qe({className:e,children:t,position:n=`item-aligned`,align:r=`center`,...i}){return(0,L.jsx)(ge,{children:(0,L.jsxs)(_e,{"data-slot":`select-content`,"data-align-trigger":n===`item-aligned`,className:D(`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)(et,{}),(0,L.jsx)(De,{"data-position":n,className:D(`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)(tt,{})]})})}function $e({className:e,children:t,...n}){return(0,L.jsxs)(Ne,{"data-slot":`select-item`,className:D(`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)(Ie,{children:(0,L.jsx)(k,{className:`pointer-events-none`})})}),(0,L.jsx)(Pe,{children:t})]})}function et({className:e,...t}){return(0,L.jsx)(Re,{"data-slot":`select-scroll-up-button`,className:D(`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)(Je,{})})}function tt({className:e,...t}){return(0,L.jsx)(Be,{"data-slot":`select-scroll-down-button`,className:D(`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)(A,{})})}var nt=`__pisper_empty_value__`;function rt({children:e,className:t,disabled:n,onChange:r,value:i,...a}){let o=N.Children.toArray(e).filter(N.isValidElement).map(e=>{let t=e.props.value??e.props.children??``;return{disabled:e.props.disabled,label:e.props.children,value:String(t)||nt}}),s=String(i??``)||nt;return j()?(0,L.jsxs)(`select`,{"data-slot":`select-trigger`,className:D(`h-[31px] min-h-0 w-full rounded-[var(--r-xs)] border border-[var(--stroke)] bg-[var(--surface-subtle)] 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)] dark:bg-[var(--solid)]`,t),value:s,disabled:n,onChange:r,...a,children:[!o.some(e=>e.value===s)&&(0,L.jsx)(`option`,{value:s,hidden:!0}),o.map(e=>(0,L.jsx)(`option`,{value:e.value,disabled:e.disabled,children:e.label},e.value))]}):(0,L.jsxs)(Ye,{value:s,disabled:n,onValueChange:e=>{r?.({target:{value:e===nt?``:e}})},children:[(0,L.jsx)(Ze,{className:D(`h-[31px] min-h-0 w-full rounded-[var(--r-xs)] border border-[var(--stroke)] bg-[var(--surface-subtle)] 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)] dark:bg-[var(--solid)] [&>svg]:size-[13px] [&>svg]:text-[var(--text-muted)]`,t),...a,children:(0,L.jsx)(Xe,{})}),(0,L.jsx)(Qe,{position:`popper`,align:`start`,className:`min-w-[var(--radix-select-trigger-width)]`,children:o.map(e=>(0,L.jsx)($e,{value:e.value,disabled:e.disabled,className:`text-[12px]`,children:e.label},e.value))})]})}export{Ze as a,P as c,$e as i,Ye as n,Xe as o,Qe as r,I as s,rt as t};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,n,r}from"./vendor-react-DwNgTV1j.js";import{i,n as a}from"./dist-Cfh4kzCK.js";import{a as o,c as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./dist-B_a0oV4U.js";import{n as m}from"./dist-BlIIpW6W.js";import{a as h,i as g}from"./dist-DAs5KRGl.js";import{a as _,i as v,n as y,r as b,s as x,t as S}from"./es2015-0QT3KgdC.js";import{a as C,i as w,r as T,t as E}from"./dist-alOyD2Bh.js";import{t as D}from"./utils-C8uzG5AZ.js";import{t as O}from"./createLucideIcon-Cd-3GVxJ.js";import{t as k}from"./check-2vYc6QaP.js";import{t as A}from"./chevron-down-CxtxIjiP.js";import{t as j}from"./use-mobile-PCHaokZZ.js";var M=e(n(),1),N=e(t(),1),ee=Object.defineProperty,te=(e,t)=>ee(e,`name`,{value:t,configurable:!0});function P(e){let t=N.useRef({value:e,previous:e});return N.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}te(P,`usePrevious`);var F=Object.defineProperty,ne=(e,t)=>F(e,`name`,{value:t,configurable:!0});function I(e,[t,n]){return Math.min(n,Math.max(t,e))}ne(I,`clamp`);var L=r(),R=Object.defineProperty,z=(e,t)=>R(e,`name`,{value:t,configurable:!0}),B=[` `,`Enter`,`ArrowUp`,`ArrowDown`],V=[` `,`Enter`],H=`Select`,[U,W,re]=h(H),[G,ie]=f(H,[re,C]),K=C(),[q,J]=G(H),[ae,oe]=G(H);function se(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:u,dir:d,name:f,autoComplete:p,disabled:m,required:h,form:_,internal_do_not_use_render:v}=e,y=K(t),[b,x]=N.useState(null),[S,C]=N.useState(null),[T,E]=N.useState(!1),D=g(d),[O,k]=c({prop:r,defaultProp:i??!1,onChange:a,caller:H}),[A,j]=c({prop:o,defaultProp:s,onChange:u,caller:H}),M=N.useRef(null),ee=N.useRef(A);N.useEffect(()=>{let e=_?b?.ownerDocument.getElementById(_):b?.form;if(e instanceof HTMLFormElement){let t=z(()=>j(ee.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[_,b,j]);let te=!b||!!_||!!b.closest(`form`),[P,F]=N.useState(new Set),ne=l(),I=Array.from(P).map(e=>e.props.value).join(`;`),R=N.useCallback(e=>{F(t=>new Set(t).add(e))},[]),B=N.useCallback(e=>{F(t=>{let n=new Set(t);return n.delete(e),n})},[]),V={required:h,trigger:b,onTriggerChange:x,valueNode:S,onValueNodeChange:C,valueNodeHasChildren:T,onValueNodeHasChildrenChange:E,contentId:ne,value:A,onValueChange:j,open:O,onOpenChange:k,dir:D,triggerPointerDownPosRef:M,disabled:m,name:f,autoComplete:p,form:_,nativeOptions:P,nativeSelectKey:I,isFormControl:te};return(0,L.jsx)(w,{...y,children:(0,L.jsx)(q,{scope:t,...V,children:(0,L.jsx)(U.Provider,{scope:t,children:(0,L.jsx)(ae,{scope:t,onNativeOptionAdd:R,onNativeOptionRemove:B,children:We(v)?v(V):n})})})})}z(se,`SelectProvider`);var ce=z(e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,L.jsx)(se,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,L.jsxs)(L.Fragment,{children:[n,e?(0,L.jsx)(Ue,{__scopeSelect:t}):null]})})},`Select`),le=`SelectTrigger`,ue=N.forwardRef(z(function(e,t){let{__scopeSelect:n,disabled:r=!1,...a}=e,o=K(n),c=J(le,n),l=c.disabled||r,d=i(t,c.onTriggerChange),f=W(n),p=N.useRef(`touch`),[m,h,g]=Ge(e=>{let t=f().filter(e=>!e.disabled),n=Ke(t,e,t.find(e=>e.value===c.value));n!==void 0&&c.onValueChange(n.value)}),_=z(e=>{l||(c.onOpenChange(!0),g()),e&&(c.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})},`handleOpen`);return(0,L.jsx)(E,{asChild:!0,...o,children:(0,L.jsx)(s.button,{type:`button`,role:`combobox`,"aria-controls":c.open?c.contentId:void 0,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":`none`,dir:c.dir,"data-state":c.open?`open`:`closed`,disabled:l,"data-disabled":l?``:void 0,"data-placeholder":$(c.value)?``:void 0,...a,ref:d,onClick:u(a.onClick,e=>{e.currentTarget.focus(),p.current!==`mouse`&&_(e)}),onPointerDown:u(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`&&(_(e),e.preventDefault())}),onKeyDown:u(a.onKeyDown,e=>{let t=m.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&h(e.key),!(t&&e.key===` `)&&B.includes(e.key)&&(_(),e.preventDefault())})})})},`SelectTrigger`)),de=`SelectValue`,fe=N.forwardRef(z(function(e,t){let{__scopeSelect:n,className:r,style:a,children:c,placeholder:l=``,...u}=e,d=J(de,n),{onValueNodeHasChildrenChange:f}=d,p=c!==void 0,m=i(t,d.onValueNodeChange);o(()=>{f(p)},[f,p]);let h=$(d.value);return(0,L.jsx)(s.span,{...u,asChild:!h&&u.asChild,ref:m,style:{pointerEvents:`none`},children:(0,L.jsx)(N.Fragment,{children:h?l:c},h?`placeholder`:`value`)})},`SelectValue`)),pe=N.forwardRef(z(function(e,t){let{__scopeSelect:n,children:r,...i}=e;return(0,L.jsx)(s.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})},`SelectIcon`)),[me,he]=G(`SelectPortal`,{forceMount:void 0}),ge=z(e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,L.jsx)(me,{scope:e.__scopeSelect,forceMount:n,children:(0,L.jsx)(v,{asChild:!0,...r})})},`SelectPortal`),Y=`SelectContent`,_e=N.forwardRef(z(function(e,t){let n=he(Y,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=J(Y,e.__scopeSelect),[s,c]=N.useState();return o(()=>{c(new DocumentFragment)},[]),(0,L.jsx)(d,{present:r||a.open,children:({present:e})=>e?(0,L.jsx)(xe,{...i,ref:t}):(0,L.jsx)(ve,{...i,fragment:s})})},`SelectContent`)),ve=N.forwardRef(z(function(e,t){let{__scopeSelect:n,children:r,fragment:i}=e;return i?M.createPortal((0,L.jsx)(ye,{scope:n,children:(0,L.jsx)(U.Slot,{scope:n,children:(0,L.jsx)(`div`,{ref:t,children:r})})}),i):null},`SelectContentFragment`)),X=10,[ye,Z]=G(Y),be=a(`SelectContent.RemoveScroll`),xe=N.forwardRef(z(function(e,t){let{__scopeSelect:n}=e,{position:r=`item-aligned`,onCloseAutoFocus:a,onEscapeKeyDown:o,onPointerDownOutside:s,side:c,sideOffset:l,align:d,alignOffset:f,arrowPadding:p,collisionBoundary:m,collisionPadding:h,sticky:g,hideWhenDetached:v,avoidCollisions:C,...w}=e,T=J(Y,n),[E,D]=N.useState(null),[O,k]=N.useState(null),A=i(t,D),[j,M]=N.useState(null),[ee,te]=N.useState(null),P=W(n),[F,ne]=N.useState(!1),I=N.useRef(!1);N.useEffect(()=>{if(E)return S(E)},[E]),b();let R=N.useCallback(e=>{let[t,...n]=P().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},[P,O]),B=N.useCallback(()=>R([j,E]),[R,j,E]);N.useEffect(()=>{F&&B()},[F,B]);let{onOpenChange:V,triggerPointerDownPosRef:H}=T;N.useEffect(()=>{if(E){let e={x:0,y:0},t=z(t=>{e={x:Math.abs(Math.round(t.pageX)-(H.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(H.current?.y??0))}},`handlePointerMove`),n=z(n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(E)||V(!1),document.removeEventListener(`pointermove`,t),H.current=null},`handlePointerUp`);return H.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,V,H]),N.useEffect(()=>{let e=z(()=>V(!1),`close`);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[V]);let[U,re]=Ge(e=>{let t=P().filter(e=>!e.disabled),n=Ke(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current?.focus())}),G=N.useCallback((e,t,n)=>{let r=!I.current&&!n;(T.value!==void 0&&T.value===t||r)&&(M(e),r&&(I.current=!0))},[T.value]),ie=N.useCallback(()=>E?.focus(),[E]),K=N.useCallback((e,t,n)=>{let r=!I.current&&!n;(T.value!==void 0&&T.value===t||r)&&te(e)},[T.value]),q=r===`popper`?Ce:Se,ae=q===Ce?{side:c,sideOffset:l,align:d,alignOffset:f,arrowPadding:p,collisionBoundary:m,collisionPadding:h,sticky:g,hideWhenDetached:v,avoidCollisions:C}:{};return(0,L.jsx)(ye,{scope:n,content:E,viewport:O,onViewportChange:k,itemRefCallback:G,selectedItem:j,onItemLeave:ie,itemTextRefCallback:K,focusSelectedItem:B,selectedItemText:ee,position:r,isPositioned:F,searchRef:U,children:(0,L.jsx)(y,{as:be,allowPinchZoom:!0,children:(0,L.jsx)(_,{asChild:!0,trapped:T.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:u(a,e=>{T.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,L.jsx)(x,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>T.onOpenChange(!1),children:(0,L.jsx)(q,{role:`listbox`,id:T.contentId,"data-state":T.open?`open`:`closed`,dir:T.dir,onContextMenu:e=>e.preventDefault(),...w,...ae,onPlaced:()=>ne(!0),ref:A,style:{display:`flex`,flexDirection:`column`,outline:`none`,...w.style},onKeyDown:u(w.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&re(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=P().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(()=>R(t)),e.preventDefault()}})})})})})})},`SelectContentImpl`)),Se=N.forwardRef(z(function(e,t){let{__scopeSelect:n,onPlaced:r,...a}=e,c=J(Y,n),l=Z(Y,n),[u,d]=N.useState(null),[f,p]=N.useState(null),m=i(t,p),h=W(n),g=N.useRef(!1),_=N.useRef(!0),{viewport:v,selectedItem:y,selectedItemText:b,focusSelectedItem:x}=l,S=N.useCallback(()=>{if(c.trigger&&c.valueNode&&u&&f&&v&&y&&b){let e=c.trigger.getBoundingClientRect(),t=f.getBoundingClientRect(),n=c.valueNode.getBoundingClientRect(),i=b.getBoundingClientRect();if(c.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,s=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+s+_+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,c.trigger,c.valueNode,u,f,v,y,b,c.dir,r]);o(()=>S(),[S]);let[C,w]=N.useState();o(()=>{f&&w(window.getComputedStyle(f).zIndex)},[f]);let T=N.useCallback(e=>{e&&_.current===!0&&(S(),x?.(),_.current=!1)},[S,x]);return(0,L.jsx)(we,{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)(s.div,{...a,ref:m,style:{boxSizing:`border-box`,maxHeight:`100%`,...a.style}})})})},`SelectItemAlignedPosition`)),Ce=N.forwardRef(z(function(e,t){let{__scopeSelect:n,align:r=`start`,collisionPadding:i=X,...a}=e,o=K(n);return(0,L.jsx)(T,{...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`)),[we,Te]=G(Y,{}),Ee=`SelectViewport`,De=N.forwardRef(z(function(e,t){let{__scopeSelect:n,nonce:r,...a}=e,o=Z(Ee,n),c=Te(Ee,n),l=i(t,o.onViewportChange),d=N.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)(U.Slot,{scope:n,children:(0,L.jsx)(s.div,{"data-radix-select-viewport":``,role:`presentation`,...a,ref:l,style:{position:`relative`,flex:1,overflow:`hidden auto`,...a.style},onScroll:u(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=c;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`)),[Oe,ke]=G(`SelectGroup`),Ae=`SelectItem`,[je,Me]=G(Ae),Ne=N.forwardRef(z(function(e,t){let{__scopeSelect:n,value:r,disabled:a=!1,textValue:o,...c}=e,d=J(Ae,n),f=Z(Ae,n),m=d.value===r,[h,g]=N.useState(o??``),[_,v]=N.useState(!1),y=p(e=>f.itemRefCallback?.(e,r,a)),b=i(t,y),x=l(),S=N.useRef(`touch`),C=z(()=>{a||(d.onValueChange(r),d.onOpenChange(!1))},`handleSelect`);return(0,L.jsx)(je,{scope:n,value:r,disabled:a,textId:x,isSelected:m,onItemTextChange:N.useCallback(e=>{g(t=>t||(e?.textContent??``).trim())},[]),children:(0,L.jsx)(U.ItemSlot,{scope:n,value:r,disabled:a,textValue:h,children:(0,L.jsx)(s.div,{role:`option`,"aria-labelledby":x,"data-highlighted":_?``:void 0,"aria-selected":m&&_,"data-state":m?`checked`:`unchecked`,"aria-disabled":a||void 0,"data-disabled":a?``:void 0,tabIndex:a?void 0:-1,...c,ref:b,onFocus:u(c.onFocus,()=>v(!0)),onBlur:u(c.onBlur,()=>v(!1)),onClick:u(c.onClick,()=>{S.current!==`mouse`&&C()}),onPointerUp:u(c.onPointerUp,()=>{S.current===`mouse`&&C()}),onPointerDown:u(c.onPointerDown,e=>{S.current=e.pointerType}),onPointerMove:u(c.onPointerMove,e=>{S.current=e.pointerType,a?f.onItemLeave?.():S.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:u(c.onPointerLeave,e=>{e.currentTarget===document.activeElement&&f.onItemLeave?.()}),onKeyDown:u(c.onKeyDown,e=>{a||e.target!==e.currentTarget||(f.searchRef?.current===``||e.key!==` `)&&(V.includes(e.key)&&C(),e.key===` `&&e.preventDefault())})})})})},`SelectItem`)),Q=`SelectItemText`,Pe=N.forwardRef(z(function(e,t){let{__scopeSelect:n,className:r,style:a,...c}=e,l=J(Q,n),u=Z(Q,n),d=Me(Q,n),f=oe(Q,n),[m,h]=N.useState(null),g=p(e=>u.itemTextRefCallback?.(e,d.value,d.disabled)),_=i(t,h,d.onItemTextChange,g),v=m?.textContent,y=N.useMemo(()=>(0,L.jsx)(`option`,{value:d.value,disabled:d.disabled,children:v},d.value),[d.disabled,d.value,v]),{onNativeOptionAdd:b,onNativeOptionRemove:x}=f;return o(()=>(b(y),()=>x(y)),[b,x,y]),(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(s.span,{id:d.textId,...c,ref:_}),d.isSelected&&l.valueNode&&!l.valueNodeHasChildren&&!$(l.value)?M.createPortal(c.children,l.valueNode):null]})},`SelectItemText`)),Fe=`SelectItemIndicator`,Ie=N.forwardRef(z(function(e,t){let{__scopeSelect:n,...r}=e;return Me(Fe,n).isSelected?(0,L.jsx)(s.span,{"aria-hidden":!0,...r,ref:t}):null},`SelectItemIndicator`)),Le=`SelectScrollUpButton`,Re=N.forwardRef(z(function(e,t){let n=Z(Le,e.__scopeSelect),r=Te(Le,e.__scopeSelect),[a,s]=N.useState(!1),c=i(t,r.onScrollButtonChange);return o(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;s(e)};z(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),a?(0,L.jsx)(Ve,{...e,ref:c,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null},`SelectScrollUpButton`)),ze=`SelectScrollDownButton`,Be=N.forwardRef(z(function(e,t){let n=Z(ze,e.__scopeSelect),r=Te(ze,e.__scopeSelect),[a,s]=N.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)};z(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),a?(0,L.jsx)(Ve,{...e,ref:c,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null},`SelectScrollDownButton`)),Ve=N.forwardRef(z(function(e,t){let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=Z(`SelectScrollButton`,n),c=N.useRef(null),l=W(n),d=N.useCallback(()=>{c.current!==null&&(window.clearInterval(c.current),c.current=null)},[]);return N.useEffect(()=>()=>d(),[d]),o(()=>{l().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[l]),(0,L.jsx)(s.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:u(i.onPointerDown,()=>{c.current===null&&(c.current=window.setInterval(r,50))}),onPointerMove:u(i.onPointerMove,()=>{a.onItemLeave?.(),c.current===null&&(c.current=window.setInterval(r,50))}),onPointerLeave:u(i.onPointerLeave,()=>{d()})})},`SelectScrollButtonImpl`)),He=`SelectBubbleInput`,Ue=N.forwardRef(z(function({__scopeSelect:e,...t},n){let r=J(He,e),{value:a,onValueChange:o,required:c,disabled:l,name:u,autoComplete:d,form:f}=r,{nativeOptions:p,nativeSelectKey:h}=r,g=N.useRef(null),_=i(n,g),v=a??``,y=P(v),b=Array.from(p).some(e=>(e.props.value??``)===``);return N.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)(s.select,{"aria-hidden":!0,required:c,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 We(e){return typeof e==`function`}z(We,`isFunction`);function $(e){return e===``||e===void 0}z($,`shouldShowPlaceholder`);function Ge(e){let t=p(e),n=N.useRef(``),r=N.useRef(0),i=N.useCallback(e=>{let i=n.current+e;t(i),z((function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(i)},[t]),a=N.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return N.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}z(Ge,`useTypeaheadSearch`);function Ke(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=qe(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}z(Ke,`findNextItem`);function qe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}z(qe,`wrapArray`);var Je=O(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]);function Ye({...e}){return(0,L.jsx)(ce,{"data-slot":`select`,...e})}function Xe({...e}){return(0,L.jsx)(fe,{"data-slot":`select-value`,...e})}function Ze({className:e,size:t=`default`,children:n,...r}){return(0,L.jsxs)(ue,{"data-slot":`select-trigger`,"data-size":t,className:D(`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)(pe,{asChild:!0,children:(0,L.jsx)(A,{className:`pointer-events-none size-4 text-muted-foreground`})})]})}function Qe({className:e,children:t,position:n=`item-aligned`,align:r=`center`,...i}){return(0,L.jsx)(ge,{children:(0,L.jsxs)(_e,{"data-slot":`select-content`,"data-align-trigger":n===`item-aligned`,className:D(`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)(et,{}),(0,L.jsx)(De,{"data-position":n,className:D(`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)(tt,{})]})})}function $e({className:e,children:t,...n}){return(0,L.jsxs)(Ne,{"data-slot":`select-item`,className:D(`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)(Ie,{children:(0,L.jsx)(k,{className:`pointer-events-none`})})}),(0,L.jsx)(Pe,{children:t})]})}function et({className:e,...t}){return(0,L.jsx)(Re,{"data-slot":`select-scroll-up-button`,className:D(`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)(Je,{})})}function tt({className:e,...t}){return(0,L.jsx)(Be,{"data-slot":`select-scroll-down-button`,className:D(`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)(A,{})})}var nt=`__pisper_empty_value__`;function rt({children:e,className:t,disabled:n,onChange:r,value:i,...a}){let o=N.Children.toArray(e).filter(N.isValidElement).map(e=>{let t=e.props.value??e.props.children??``;return{disabled:e.props.disabled,label:e.props.children,value:String(t)||nt}}),s=String(i??``)||nt;return j()?(0,L.jsxs)(`select`,{"data-slot":`select-trigger`,className:D(`h-[31px] min-h-0 w-full rounded-[var(--r-xs)] border border-[var(--stroke)] bg-[var(--surface-subtle)] 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)] dark:bg-[var(--solid)]`,t),value:s,disabled:n,onChange:r,...a,children:[!o.some(e=>e.value===s)&&(0,L.jsx)(`option`,{value:s,hidden:!0}),o.map(e=>(0,L.jsx)(`option`,{value:e.value,disabled:e.disabled,children:e.label},e.value))]}):(0,L.jsxs)(Ye,{value:s,disabled:n,onValueChange:e=>{r?.({target:{value:e===nt?``:e}})},children:[(0,L.jsx)(Ze,{className:D(`h-[31px] min-h-0 w-full rounded-[var(--r-xs)] border border-[var(--stroke)] bg-[var(--surface-subtle)] 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)] dark:bg-[var(--solid)] [&>svg]:size-[13px] [&>svg]:text-[var(--text-muted)]`,t),...a,children:(0,L.jsx)(Xe,{})}),(0,L.jsx)(Qe,{position:`popper`,align:`start`,className:`min-w-[var(--radix-select-trigger-width)]`,children:o.map(e=>(0,L.jsx)($e,{value:e.value,disabled:e.disabled,className:`text-[12px]`,children:e.label},e.value))})]})}export{Ze as a,P as c,$e as i,Ye as n,Xe as o,Qe as r,I as s,rt as t};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{i as n,n as r,r as i,s as a}from"./shortcuts-CAyIKRpZ.js";var o=e(t(),1);function s({blocked:e,onCommandPalette:t,onPrimary:s,onSearch:c,onToggleTerminal:l,onToggleSidebar:u,onSettings:d}){let f=a(e=>e.bindings);return(0,o.useEffect)(()=>{let a=a=>{if(e||n(a))return;let o;i(a,f.commandPalette)?o=t:i(a,f.toggleSidebar)?o=u:i(a,f.toggleTerminal)?o=l:i(a,f.openSettings)?o=d:r(a.target)||(i(a,f.primaryAction)?o=s:i(a,f.focusSearch)&&(o=c)),o&&(a.preventDefault(),o())};return window.addEventListener(`keydown`,a),()=>window.removeEventListener(`keydown`,a)},[f,e,t,s,c,d,l,u]),null}export{s as AppShortcuts};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{i as n,n as r,r as i,s as a}from"./shortcuts-ChJr3RP4.js";var o=e(t(),1);function s({blocked:e,onCommandPalette:t,onPrimary:s,onSearch:c,onToggleTerminal:l,onToggleSidebar:u,onSettings:d}){let f=a(e=>e.bindings);return(0,o.useEffect)(()=>{let a=a=>{if(e||n(a))return;let o;i(a,f.commandPalette)?o=t:i(a,f.toggleSidebar)?o=u:i(a,f.toggleTerminal)?o=l:i(a,f.openSettings)?o=d:r(a.target)||(i(a,f.primaryAction)?o=s:i(a,f.focusSearch)&&(o=c)),o&&(a.preventDefault(),o())};return window.addEventListener(`keydown`,a),()=>window.removeEventListener(`keydown`,a)},[f,e,t,s,c,d,l,u]),null}export{s as AppShortcuts};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./index-BVIvzUyZ.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./use-i18n-Dpn7lxcE.js";import{t as a}from"./storage-BpAqa-YY.js";import{t as o}from"./createLucideIcon-Cd-3GVxJ.js";import{t as s}from"./download-BCfIiuaL.js";import{t as c}from"./external-link-CEQqPcqc.js";import{t as l}from"./file-Bllajneu.js";import{t as u}from"./link-2-mgasYn21.js";import{t as d}from"./paperclip-BCXrwYpb.js";import{t as f}from"./plus-fQbSqB1n.js";import{t as p}from"./refresh-cw-TbWxTY4K.js";import{t as m}from"./trash-2-CNrPOoPR.js";import{t as h}from"./triangle-alert-CE1q54ci.js";import{t as g}from"./x-07u4-129.js";import{t as _}from"./api-D8wGrWiI.js";import{t as v}from"./button-BcPDt1Ge.js";import{t as y}from"./field-3bN8nouy.js";import{t as b}from"./format-BRFKAYMT.js";import{c as ee,i as x,n as S,r as C,t as w}from"./app-primitives-DhqJLud3.js";import{t as T}from"./PageFrame-BiJUCJku.js";import{t as E}from"./PageToolbar-DGjx3obb.js";import{t as D}from"./StarOrbit-BAAjh-hY.js";import{t as O}from"./usePagePrimaryAction-CWPC0C_f.js";import{t as k}from"./MarkdownMessage-bfyuGoi1.js";import{n as A}from"./mobile-runtime-recovery-tbTyacip.js";var j=o(`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`}]]),M=o(`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`}]]),N=e(n(),1),P=134217728;function F(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 I(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 L(){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 R(e){let t=window.pisperDesktop?.openAsset,n=window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke;if(!t&&!(window.__PISPER_MOBILE_APP__&&n))return F(e),`download`;await A();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)>P)throw Error(`资产超过 128 MB 原生打开限制。`);let i=await r.blob();if(!i.size||i.size>P)throw Error(`资产内容为空或超过 128 MB 原生打开限制。`);let a=await I(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`}var z=r(),B=[`all`,`image`,`video`,`file`,`link`,`current`];function V(e,t){return t(e===`image`?`assets:assetsPage.images`:e===`video`?`assets:assetsPage.videos`:e===`file`?`assets:assetsPage.files`:e===`link`?`assets:assetsPage.links`:e===`current`?`assets:assetsPage.fromCurrentChat`:`assets:assetsPage.all`)}function H(e){let t=String(e||``),n=t.lastIndexOf(`.`);return n>0&&n<t.length-1?t.slice(n+1).toLowerCase():``}function U({query:e=``,notify:n,registerPrimaryAction:r,onUse:o,requestConfirm:f}){let{t:g}=i(),[y,S]=(0,N.useState)(`all`),[k,A]=(0,N.useState)([]),[P,F]=(0,N.useState)(!0),[I,U]=(0,N.useState)(``),[K,q]=(0,N.useState)(null),[J,Y]=(0,N.useState)(!1);O(r,()=>Y(!0));let X=(0,N.useCallback)(async()=>{F(!0),U(``);try{let n=new URLSearchParams;e&&n.set(`query`,e),y===`image`&&n.set(`kind`,`image`),y===`video`&&n.set(`kind`,`video`),y===`file`&&n.set(`kind`,`file`),y===`link`&&n.set(`kind`,`link`),y===`current`&&n.set(`sessionId`,t.getItem(a.activeSession)||`__none__`);let r=await _(`/api/assets?${n}`);A(r.assets)}catch(e){U(e instanceof Error?e.message:String(e))}finally{F(!1)}},[e,y]);(0,N.useEffect)(()=>{X()},[X]);let Z=async e=>{if(await f({title:g(`assets:assetsPage.deleteAsset`),message:g(`assets:assetsPage.deleteAssetName`,{name:e.name}),confirmLabel:g(`assets:assetsPage.delete`)}))try{await _(`/api/assets/${encodeURIComponent(e.id)}`,{method:`DELETE`}),A(t=>t.filter(t=>t.id!==e.id)),n(g(`assets:assetsPage.assetDeleted`))}catch(e){U(e instanceof Error?e.message:String(e))}},Q=async e=>{try{o(await _(`/api/assets/${encodeURIComponent(e.id)}/content`)),n(g(`assets:assetsPage.nameAddedToChat`,{name:e.name}))}catch(e){U(e instanceof Error?e.message:String(e))}},te=async e=>{U(``);try{let t=H(e.name),n;if(e.kind===`link`)n=e.url||``;else if(e.kind!==`image`&&!e.mimeType?.startsWith(`video/`)){let t=await _(`/api/assets/${encodeURIComponent(e.id)}/content?preview=1`);t.kind===`text`&&(n=String(t.text||``))}q({...e,text:n,textFormat:t===`md`||e.mimeType===`text/markdown`?`markdown`:`plain`})}catch(e){U(e instanceof Error?e.message:String(e))}},$=async e=>{U(``);try{n(await R(e)===`application`?g(`assets:assetsPage.openedInApplication`):g(`assets:assetsPage.downloadStarted`))}catch(e){U(e instanceof Error?e.message:String(e))}};return(0,z.jsx)(T,{variant:`collection`,children:(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[(0,z.jsx)(E,{children:(0,z.jsx)(ee,{options:B.map(e=>V(e,g)),value:V(y,g),onChange:e=>S(B.find(t=>V(t,g)===e)||`all`)})}),(0,z.jsxs)(`div`,{className:`asset-summary [&_strong]:text-[var(--text)] [&_strong]:text-[13px] max-[650px]:items-start max-[650px]:flex-col flex items-center justify-between gap-[12px] text-[var(--text-secondary)] text-[12px]`,children:[(0,z.jsxs)(`span`,{children:[(0,z.jsx)(`strong`,{children:k.length}),` `,g(`assets:assetsPage.assets`)]}),(0,z.jsx)(`span`,{children:g(`assets:assetsPage.conversationAttachmentsAndAgentOutputsGatherHereAutomatically`)})]}),I&&(0,z.jsxs)(x,{children:[(0,z.jsx)(h,{size:13}),I]}),P?(0,z.jsxs)(C,{children:[(0,z.jsx)(p,{className:`animate-spin`,size:23}),(0,z.jsx)(`h2`,{children:g(`assets:assetsPage.loadingAssets`)})]}):k.length?(0,z.jsx)(`div`,{className:`asset-grid max-[650px]:grid-cols-[1fr] functional grid auto-rows-[minmax(292px,auto)] grid-cols-[repeat(auto-fill,minmax(260px,1fr))] content-start gap-3`,children:k.map(e=>{let t=e.mimeType?.startsWith(`video/`),n=e.kind===`image`?j:t?M:e.kind===`link`?u:l;return(0,z.jsxs)(w,{className:`asset-card [transition:transform_var(--d2)_var(--ease-out),_box-shadow_var(--d2)_var(--ease-out),_border-color_var(--d2)_var(--ease-out)] hover:[transform:translateY(-2px)] hover:shadow-[var(--sh-2)] hover:border-[var(--star-border)] [&_>_strong]:text-[13px] [&_>_span]:m-[5px_0_10px] [&_>_span]:text-[var(--text-muted)] [&_>_span]:text-[12px] [&_>_div:last-child]:flex [&_>_div:last-child]:gap-[6px] [&_>_div:last-child]:mt-[auto] max-[650px]:min-h-[200px] functional flex h-full min-h-[292px] flex-col overflow-hidden`,children:[(0,z.jsx)(`button`,{className:`asset-preview [&.blue]:bg-[var(--asset-preview-blue-bg)] [&.blue]:text-[var(--asset-preview-blue-text)] [&.violet]:bg-[var(--asset-preview-violet-bg)] [&.violet]:text-[var(--violet-strong)] [&.yellow]:bg-[var(--warning-soft)] [&.yellow]:text-[var(--amber)] [&.red]:bg-[var(--danger-soft)] [&.red]:text-[var(--danger)] [.asset-card.functional_&::after]:absolute [.asset-card.functional_&::after]:inset-0 [.asset-card.functional_&::after]:rounded-[var(--r-sm)] [.asset-card.functional_&::after]:bg-[rgba(0,_0,_0,_0)] [.asset-card.functional_&::after]:[transition:background_var(--d1)_var(--ease-out)] [.asset-card.functional_&::after]:[content:''] [.asset-card.functional_&::after]:pointer-events-none [.asset-card.functional_&:hover::after]:bg-[rgba(0,_0,_0,_.16)] [.asset-card.functional_&.image]:bg-[var(--surface-hover)] [.asset-card.functional_&.link]:bg-[var(--surface-hover)] [.asset-card.functional_&.link]:text-[var(--success)] [.asset-card.functional_&.file]:bg-[var(--surface-hover)] [.asset-card.functional_&.file]:text-[var(--violet-strong)] [.asset-card.functional_&_img]:relative [.asset-card.functional_&_img]:z-[0] [.asset-card.functional_&_img]:w-full [.asset-card.functional_&_img]:h-full [.asset-card.functional_&_img]:rounded-[var(--r-sm)] [.asset-card.functional_&_img]:object-cover [.asset-card.functional_&_video]:relative [.asset-card.functional_&_video]:z-[0] [.asset-card.functional_&_video]:w-full [.asset-card.functional_&_video]:h-full [.asset-card.functional_&_video]:rounded-[var(--r-sm)] [.asset-card.functional_&_video]:object-cover ${e.kind} ${t?`video`:``} relative -mx-1.5 -mt-1.5 mb-2.5 grid h-44 min-h-0 w-[calc(100%+12px)] shrink-0 place-items-center overflow-hidden rounded-[var(--r-sm)] border-0 bg-[var(--surface-hover)] text-[var(--text-muted)]`,title:g(`assets:assetsPage.preview`),"aria-label":`${g(`assets:assetsPage.preview`)}: ${e.name}`,onClick:()=>te(e),children:e.kind===`image`?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(n,{className:`absolute`,size:38}),(0,z.jsx)(`img`,{className:`block size-full min-h-0 object-cover`,src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`,alt:``,onError:e=>{e.currentTarget.hidden=!0}})]}):t?(0,z.jsx)(`video`,{className:`block size-full min-h-0 object-cover`,src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`,muted:!0,preload:`metadata`}):(0,z.jsx)(n,{size:38})}),(0,z.jsxs)(`div`,{className:`asset-card-copy [&_strong]:overflow-hidden [&_strong]:text-[13px] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_span]:overflow-hidden [&_span]:text-[var(--text-muted)] [&_span]:text-[13px] [&_span]:text-ellipsis [&_span]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] [&_small]:text-ellipsis [&_small]:whitespace-nowrap flex min-w-0 flex-col gap-[4px]`,children:[(0,z.jsx)(`strong`,{title:e.name,children:e.name}),(0,z.jsxs)(`span`,{children:[e.kind===`link`?e.url?new URL(e.url).hostname:``:b(e.size),` `,`·`,` `,e.source===`agent`?g(`assets:assetsPage.agentOutputs`):e.source===`attachment`?g(`assets:assetsPage.chatAttachments`):g(`assets:assetsPage.manualUploads`)]}),e.sessionName&&(0,z.jsx)(`small`,{title:e.sessionName,children:g(`assets:assetsPage.fromName`,{name:e.sessionName})})]}),(0,z.jsxs)(`div`,{className:`asset-card-actions flex-none [.asset-card.functional:hover_&]:opacity-100 [.asset-card.functional:hover_&]:[transform:translateY(0)] [.asset-card.functional:focus-within_&]:opacity-100 [.asset-card.functional:focus-within_&]:[transform:translateY(0)] [&_a]:no-underline flex flex-wrap items-center gap-[5px] [margin-top:auto] [padding-top:10px] opacity-0 [transform:translateY(4px)] [transition:opacity_var(--d1)_var(--ease-out),_transform_var(--d1)_var(--ease-out)] max-[650px]:opacity-100 max-[650px]:transform-none`,children:[e.kind===`link`?(0,z.jsx)(v,{asChild:!0,variant:`outline`,children:(0,z.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,children:[(0,z.jsx)(c,{size:13}),g(`assets:assetsPage.open`)]})}):(0,z.jsxs)(v,{variant:`outline`,onClick:()=>$(e),children:[L()?(0,z.jsx)(c,{size:13}):(0,z.jsx)(s,{size:13}),L()?g(`assets:assetsPage.openInApplication`):g(`assets:assetsPage.download`)]}),(0,z.jsxs)(v,{onClick:()=>Q(e),children:[(0,z.jsx)(d,{size:13}),g(`assets:assetsPage.useInChat`)]}),(0,z.jsx)(v,{variant:`destructive`,size:`icon`,className:`ml-auto`,title:g(`assets:assetsPage.deleteAsset`),"aria-label":`${g(`assets:assetsPage.deleteAsset`)}: ${e.name}`,onClick:()=>Z(e),children:(0,z.jsx)(m,{size:13})})]})]},e.id)})}):(0,z.jsxs)(C,{children:[(0,z.jsx)(D,{size:46}),(0,z.jsx)(`h2`,{children:g(`assets:assetsPage.nothingHasGatheredHereYet`)}),(0,z.jsx)(`p`,{children:g(`assets:assetsPage.bringInALinkOrAttachAFileInAConversationPisperWillGatherTheOutputsCreatedAlongTheWay`)}),(0,z.jsxs)(v,{size:`lg`,className:`mt-4`,onClick:()=>Y(!0),children:[(0,z.jsx)(u,{size:14}),g(`assets:assetsPage.addLink`)]})]}),K&&(0,z.jsx)(W,{asset:K,onClose:()=>q(null),onUse:()=>Q(K),onOpen:()=>$(K)}),J&&(0,z.jsx)(G,{onClose:()=>Y(!1),onCreated:()=>{Y(!1),X(),n(g(`assets:assetsPage.linkAssetAdded`))}})]})})}function W({asset:e,onClose:t,onUse:n,onOpen:r}){let{t:a}=i(),o=e.mimeType?.startsWith(`video/`);return(0,z.jsx)(`div`,{className:`modal-backdrop max-[650px]:p-[8px] fixed z-[70] inset-0 grid place-items-center overflow-y-auto bg-[var(--modal-overlay)] [backdrop-filter:blur(3px)] [padding:20px] [overscroll-behavior:contain] [animation:fade-in_var(--d1)_var(--ease-out)]`,onMouseDown:e=>e.target===e.currentTarget&&t(),children:(0,z.jsxs)(`section`,{className:`modal asset-preview-modal flex max-h-[calc(100dvh_-_40px)] flex-col overflow-hidden [overscroll-behavior:contain] [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] p-[18px] shadow-[0_26px_70px_-25px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] max-[650px]:max-h-[calc(100dvh_-_16px)] max-[650px]:p-3 ${e.kind===`image`||o?`w-[min(96vw,1200px)]`:`w-[min(96vw,900px)]`}`,children:[(0,z.jsxs)(S,{children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h2`,{children:e.name}),(0,z.jsx)(`p`,{children:e.kind===`link`?e.url:`${e.mimeType} · ${b(e.size)}`})]}),(0,z.jsx)(v,{variant:`ghost`,size:`icon`,"aria-label":a(`assets:assetsPage.closeDialog`),onClick:t,children:(0,z.jsx)(g,{size:17})})]}),(0,z.jsx)(`div`,{className:`asset-modal-content [&_>_img]:max-h-full [&_>_img]:max-w-full [&_>_img]:rounded-[var(--r-sm)] [&_>_img]:object-contain [&_>_video]:aspect-video [&_>_video]:max-h-full [&_>_video]:w-full [&_>_video]:rounded-[var(--r-sm)] [&_>_video]:bg-black [&_>_video]:object-contain [&_>_pre]:m-0 [&_>_pre]:h-full [&_>_pre]:w-full [&_>_pre]:overflow-auto [&_>_pre]:whitespace-pre-wrap [&_>_pre]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_>_pre]:text-[12px] [&_>_pre]:leading-[1.55] [&_>_a]:flex [&_>_a]:items-center [&_>_a]:gap-[7px] [&_>_a]:text-[var(--text-soft)] [&_>_a]:text-[12px] [&_>_a]:[text-decoration:underline] [&_>_a]:[text-underline-offset:2px] [&_>_a]:[word-break:break-all] grid min-h-[min(420px,60dvh)] flex-1 place-items-center overflow-auto [margin-top:14px] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-sm)] bg-[var(--surface-subtle)] p-3 max-[650px]:min-h-[240px]`,children:e.kind===`image`?(0,z.jsx)(`img`,{src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`,alt:e.name}):o?(0,z.jsx)(`video`,{controls:!0,playsInline:!0,preload:`metadata`,src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`}):e.kind===`link`?(0,z.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,children:[(0,z.jsx)(c,{size:16}),e.url]}):e.text===void 0?(0,z.jsxs)(`div`,{className:`asset-file-preview [&_strong]:text-[var(--text)] [&_strong]:text-[13px] [&_span]:text-[12px] [&_span]:leading-[1.55] flex max-w-[400px] flex-col items-center gap-[9px] text-[var(--text-secondary)] text-center`,children:[(0,z.jsx)(l,{size:42}),(0,z.jsx)(`strong`,{children:e.name}),(0,z.jsx)(`span`,{children:a(`assets:assetsPage.thisFileTypeCanBeDownloadedSupportedDocumentsCanAlsoBeAddedToAChatForAnalysis`)})]}):e.textFormat===`markdown`?(0,z.jsx)(`div`,{className:`h-full w-full overflow-auto text-left`,children:(0,z.jsx)(k,{children:e.text})}):(0,z.jsx)(`pre`,{children:e.text})}),(0,z.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[e.kind!==`link`&&(0,z.jsxs)(v,{variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:r,children:[L()?(0,z.jsx)(c,{size:14}):(0,z.jsx)(s,{size:14}),L()?a(`assets:assetsPage.openInApplication`):a(`assets:assetsPage.download`)]}),(0,z.jsxs)(v,{size:`lg`,onClick:n,children:[(0,z.jsx)(d,{size:14}),a(`assets:assetsPage.useInChat`)]})]})]})})}function G({onClose:e,onCreated:t}){let{t:n}=i(),[r,a]=(0,N.useState)(``),[o,s]=(0,N.useState)(``),[c,l]=(0,N.useState)(!1),[u,d]=(0,N.useState)(``);return(0,z.jsx)(`div`,{className:`modal-backdrop max-[650px]:p-[8px] fixed z-[70] inset-0 grid place-items-center overflow-y-auto bg-[var(--modal-overlay)] [backdrop-filter:blur(3px)] [padding:20px] [overscroll-behavior:contain] [animation:fade-in_var(--d1)_var(--ease-out)]`,onMouseDown:t=>t.target===t.currentTarget&&e(),children:(0,z.jsxs)(`form`,{className:`modal !w-[min(430px,100%)] max-h-[calc(100dvh_-_40px)] overflow-y-auto [overscroll-behavior:contain] [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] p-[18px] shadow-[0_26px_70px_-25px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] max-[650px]:max-h-[calc(100dvh_-_16px)]`,onSubmit:async e=>{e.preventDefault(),l(!0),d(``);try{await _(`/api/assets`,{method:`POST`,body:JSON.stringify({kind:`link`,name:r,url:o,source:`upload`})}),t()}catch(e){d(e instanceof Error?e.message:String(e))}finally{l(!1)}},children:[(0,z.jsxs)(S,{children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h2`,{children:n(`assets:assetsPage.addLinkAsset`)}),(0,z.jsx)(`p`,{children:n(`assets:assetsPage.linksCanBeArchivedOpenedOrAddedToAChatAsContext`)})]}),(0,z.jsx)(v,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":n(`assets:assetsPage.closeDialog`),onClick:e,children:(0,z.jsx)(g,{size:17})})]}),(0,z.jsxs)(y,{variant:`control`,children:[n(`assets:assetsPage.name`),(0,z.jsx)(`input`,{value:r,onChange:e=>a(e.target.value),placeholder:n(`assets:assetsPage.forExampleOpenAIAPIDocs`)})]}),(0,z.jsxs)(y,{variant:`control`,children:[`URL`,(0,z.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),placeholder:`https://example.com/docs`})]}),u&&(0,z.jsxs)(x,{children:[(0,z.jsx)(h,{size:13}),u]}),(0,z.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[(0,z.jsx)(v,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:e,children:n(`assets:assetsPage.cancel`)}),(0,z.jsxs)(v,{size:`lg`,disabled:c||!o.trim(),children:[c?(0,z.jsx)(p,{className:`animate-spin`,size:14}):(0,z.jsx)(f,{size:14}),n(c?`assets:assetsPage.adding`:`assets:assetsPage.addLink`)]})]})]})})}export{U as AssetsPage};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./index-BAYzSwUr.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./use-i18n-BrWBoyFl.js";import{t as a}from"./storage-BpAqa-YY.js";import{t as o}from"./createLucideIcon-Cd-3GVxJ.js";import{t as s}from"./download-BCfIiuaL.js";import{t as c}from"./external-link-CEQqPcqc.js";import{t as l}from"./file-Bllajneu.js";import{t as u}from"./link-2-mgasYn21.js";import{t as d}from"./paperclip-BCXrwYpb.js";import{t as f}from"./plus-fQbSqB1n.js";import{t as p}from"./refresh-cw-TbWxTY4K.js";import{t as m}from"./trash-2-CNrPOoPR.js";import{t as h}from"./triangle-alert-CE1q54ci.js";import{t as g}from"./x-07u4-129.js";import{t as _}from"./api-CiEo53J1.js";import{t as v}from"./button-BcPDt1Ge.js";import{t as y}from"./field-3bN8nouy.js";import{t as b}from"./format-BRFKAYMT.js";import{c as ee,i as x,n as S,r as C,t as w}from"./app-primitives-DhqJLud3.js";import{t as T}from"./PageFrame-BiJUCJku.js";import{t as E}from"./PageToolbar-DGjx3obb.js";import{t as D}from"./StarOrbit-BAAjh-hY.js";import{t as O}from"./usePagePrimaryAction-CWPC0C_f.js";import{t as k}from"./MarkdownMessage-D9zxSf6j.js";import{n as A}from"./mobile-runtime-recovery-tbTyacip.js";var j=o(`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`}]]),M=o(`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`}]]),N=e(n(),1),P=134217728;function F(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 I(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 L(){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 R(e){let t=window.pisperDesktop?.openAsset,n=window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke;if(!t&&!(window.__PISPER_MOBILE_APP__&&n))return F(e),`download`;await A();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)>P)throw Error(`资产超过 128 MB 原生打开限制。`);let i=await r.blob();if(!i.size||i.size>P)throw Error(`资产内容为空或超过 128 MB 原生打开限制。`);let a=await I(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`}var z=r(),B=[`all`,`image`,`video`,`file`,`link`,`current`];function V(e,t){return t(e===`image`?`assets:assetsPage.images`:e===`video`?`assets:assetsPage.videos`:e===`file`?`assets:assetsPage.files`:e===`link`?`assets:assetsPage.links`:e===`current`?`assets:assetsPage.fromCurrentChat`:`assets:assetsPage.all`)}function H(e){let t=String(e||``),n=t.lastIndexOf(`.`);return n>0&&n<t.length-1?t.slice(n+1).toLowerCase():``}function U({query:e=``,notify:n,registerPrimaryAction:r,onUse:o,requestConfirm:f}){let{t:g}=i(),[y,S]=(0,N.useState)(`all`),[k,A]=(0,N.useState)([]),[P,F]=(0,N.useState)(!0),[I,U]=(0,N.useState)(``),[K,q]=(0,N.useState)(null),[J,Y]=(0,N.useState)(!1);O(r,()=>Y(!0));let X=(0,N.useCallback)(async()=>{F(!0),U(``);try{let n=new URLSearchParams;e&&n.set(`query`,e),y===`image`&&n.set(`kind`,`image`),y===`video`&&n.set(`kind`,`video`),y===`file`&&n.set(`kind`,`file`),y===`link`&&n.set(`kind`,`link`),y===`current`&&n.set(`sessionId`,t.getItem(a.activeSession)||`__none__`);let r=await _(`/api/assets?${n}`);A(r.assets)}catch(e){U(e instanceof Error?e.message:String(e))}finally{F(!1)}},[e,y]);(0,N.useEffect)(()=>{X()},[X]);let Z=async e=>{if(await f({title:g(`assets:assetsPage.deleteAsset`),message:g(`assets:assetsPage.deleteAssetName`,{name:e.name}),confirmLabel:g(`assets:assetsPage.delete`)}))try{await _(`/api/assets/${encodeURIComponent(e.id)}`,{method:`DELETE`}),A(t=>t.filter(t=>t.id!==e.id)),n(g(`assets:assetsPage.assetDeleted`))}catch(e){U(e instanceof Error?e.message:String(e))}},Q=async e=>{try{o(await _(`/api/assets/${encodeURIComponent(e.id)}/content`)),n(g(`assets:assetsPage.nameAddedToChat`,{name:e.name}))}catch(e){U(e instanceof Error?e.message:String(e))}},te=async e=>{U(``);try{let t=H(e.name),n;if(e.kind===`link`)n=e.url||``;else if(e.kind!==`image`&&!e.mimeType?.startsWith(`video/`)){let t=await _(`/api/assets/${encodeURIComponent(e.id)}/content?preview=1`);t.kind===`text`&&(n=String(t.text||``))}q({...e,text:n,textFormat:t===`md`||e.mimeType===`text/markdown`?`markdown`:`plain`})}catch(e){U(e instanceof Error?e.message:String(e))}},$=async e=>{U(``);try{n(await R(e)===`application`?g(`assets:assetsPage.openedInApplication`):g(`assets:assetsPage.downloadStarted`))}catch(e){U(e instanceof Error?e.message:String(e))}};return(0,z.jsx)(T,{variant:`collection`,children:(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[(0,z.jsx)(E,{children:(0,z.jsx)(ee,{options:B.map(e=>V(e,g)),value:V(y,g),onChange:e=>S(B.find(t=>V(t,g)===e)||`all`)})}),(0,z.jsxs)(`div`,{className:`asset-summary [&_strong]:text-[var(--text)] [&_strong]:text-[13px] max-[650px]:items-start max-[650px]:flex-col flex items-center justify-between gap-[12px] text-[var(--text-secondary)] text-[12px]`,children:[(0,z.jsxs)(`span`,{children:[(0,z.jsx)(`strong`,{children:k.length}),` `,g(`assets:assetsPage.assets`)]}),(0,z.jsx)(`span`,{children:g(`assets:assetsPage.conversationAttachmentsAndAgentOutputsGatherHereAutomatically`)})]}),I&&(0,z.jsxs)(x,{children:[(0,z.jsx)(h,{size:13}),I]}),P?(0,z.jsxs)(C,{children:[(0,z.jsx)(p,{className:`animate-spin`,size:23}),(0,z.jsx)(`h2`,{children:g(`assets:assetsPage.loadingAssets`)})]}):k.length?(0,z.jsx)(`div`,{className:`asset-grid max-[650px]:grid-cols-[1fr] functional grid auto-rows-[minmax(292px,auto)] grid-cols-[repeat(auto-fill,minmax(260px,1fr))] content-start gap-3`,children:k.map(e=>{let t=e.mimeType?.startsWith(`video/`),n=e.kind===`image`?j:t?M:e.kind===`link`?u:l;return(0,z.jsxs)(w,{className:`asset-card [transition:transform_var(--d2)_var(--ease-out),_box-shadow_var(--d2)_var(--ease-out),_border-color_var(--d2)_var(--ease-out)] hover:[transform:translateY(-2px)] hover:shadow-[var(--sh-2)] hover:border-[var(--star-border)] [&_>_strong]:text-[13px] [&_>_span]:m-[5px_0_10px] [&_>_span]:text-[var(--text-muted)] [&_>_span]:text-[12px] [&_>_div:last-child]:flex [&_>_div:last-child]:gap-[6px] [&_>_div:last-child]:mt-[auto] max-[650px]:min-h-[200px] functional flex h-full min-h-[292px] flex-col overflow-hidden`,children:[(0,z.jsx)(`button`,{className:`asset-preview [&.blue]:bg-[var(--asset-preview-blue-bg)] [&.blue]:text-[var(--asset-preview-blue-text)] [&.violet]:bg-[var(--asset-preview-violet-bg)] [&.violet]:text-[var(--violet-strong)] [&.yellow]:bg-[var(--warning-soft)] [&.yellow]:text-[var(--amber)] [&.red]:bg-[var(--danger-soft)] [&.red]:text-[var(--danger)] [.asset-card.functional_&::after]:absolute [.asset-card.functional_&::after]:inset-0 [.asset-card.functional_&::after]:rounded-[var(--r-sm)] [.asset-card.functional_&::after]:bg-[rgba(0,_0,_0,_0)] [.asset-card.functional_&::after]:[transition:background_var(--d1)_var(--ease-out)] [.asset-card.functional_&::after]:[content:''] [.asset-card.functional_&::after]:pointer-events-none [.asset-card.functional_&:hover::after]:bg-[rgba(0,_0,_0,_.16)] [.asset-card.functional_&.image]:bg-[var(--surface-hover)] [.asset-card.functional_&.link]:bg-[var(--surface-hover)] [.asset-card.functional_&.link]:text-[var(--success)] [.asset-card.functional_&.file]:bg-[var(--surface-hover)] [.asset-card.functional_&.file]:text-[var(--violet-strong)] [.asset-card.functional_&_img]:relative [.asset-card.functional_&_img]:z-[0] [.asset-card.functional_&_img]:w-full [.asset-card.functional_&_img]:h-full [.asset-card.functional_&_img]:rounded-[var(--r-sm)] [.asset-card.functional_&_img]:object-cover [.asset-card.functional_&_video]:relative [.asset-card.functional_&_video]:z-[0] [.asset-card.functional_&_video]:w-full [.asset-card.functional_&_video]:h-full [.asset-card.functional_&_video]:rounded-[var(--r-sm)] [.asset-card.functional_&_video]:object-cover ${e.kind} ${t?`video`:``} relative -mx-1.5 -mt-1.5 mb-2.5 grid h-44 min-h-0 w-[calc(100%+12px)] shrink-0 place-items-center overflow-hidden rounded-[var(--r-sm)] border-0 bg-[var(--surface-hover)] text-[var(--text-muted)]`,title:g(`assets:assetsPage.preview`),"aria-label":`${g(`assets:assetsPage.preview`)}: ${e.name}`,onClick:()=>te(e),children:e.kind===`image`?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(n,{className:`absolute`,size:38}),(0,z.jsx)(`img`,{className:`block size-full min-h-0 object-cover`,src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`,alt:``,onError:e=>{e.currentTarget.hidden=!0}})]}):t?(0,z.jsx)(`video`,{className:`block size-full min-h-0 object-cover`,src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`,muted:!0,preload:`metadata`}):(0,z.jsx)(n,{size:38})}),(0,z.jsxs)(`div`,{className:`asset-card-copy [&_strong]:overflow-hidden [&_strong]:text-[13px] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_span]:overflow-hidden [&_span]:text-[var(--text-muted)] [&_span]:text-[13px] [&_span]:text-ellipsis [&_span]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] [&_small]:text-ellipsis [&_small]:whitespace-nowrap flex min-w-0 flex-col gap-[4px]`,children:[(0,z.jsx)(`strong`,{title:e.name,children:e.name}),(0,z.jsxs)(`span`,{children:[e.kind===`link`?e.url?new URL(e.url).hostname:``:b(e.size),` `,`·`,` `,e.source===`agent`?g(`assets:assetsPage.agentOutputs`):e.source===`attachment`?g(`assets:assetsPage.chatAttachments`):g(`assets:assetsPage.manualUploads`)]}),e.sessionName&&(0,z.jsx)(`small`,{title:e.sessionName,children:g(`assets:assetsPage.fromName`,{name:e.sessionName})})]}),(0,z.jsxs)(`div`,{className:`asset-card-actions flex-none [.asset-card.functional:hover_&]:opacity-100 [.asset-card.functional:hover_&]:[transform:translateY(0)] [.asset-card.functional:focus-within_&]:opacity-100 [.asset-card.functional:focus-within_&]:[transform:translateY(0)] [&_a]:no-underline flex flex-wrap items-center gap-[5px] [margin-top:auto] [padding-top:10px] opacity-0 [transform:translateY(4px)] [transition:opacity_var(--d1)_var(--ease-out),_transform_var(--d1)_var(--ease-out)] max-[650px]:opacity-100 max-[650px]:transform-none`,children:[e.kind===`link`?(0,z.jsx)(v,{asChild:!0,variant:`outline`,children:(0,z.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,children:[(0,z.jsx)(c,{size:13}),g(`assets:assetsPage.open`)]})}):(0,z.jsxs)(v,{variant:`outline`,onClick:()=>$(e),children:[L()?(0,z.jsx)(c,{size:13}):(0,z.jsx)(s,{size:13}),L()?g(`assets:assetsPage.openInApplication`):g(`assets:assetsPage.download`)]}),(0,z.jsxs)(v,{onClick:()=>Q(e),children:[(0,z.jsx)(d,{size:13}),g(`assets:assetsPage.useInChat`)]}),(0,z.jsx)(v,{variant:`destructive`,size:`icon`,className:`ml-auto`,title:g(`assets:assetsPage.deleteAsset`),"aria-label":`${g(`assets:assetsPage.deleteAsset`)}: ${e.name}`,onClick:()=>Z(e),children:(0,z.jsx)(m,{size:13})})]})]},e.id)})}):(0,z.jsxs)(C,{children:[(0,z.jsx)(D,{size:46}),(0,z.jsx)(`h2`,{children:g(`assets:assetsPage.nothingHasGatheredHereYet`)}),(0,z.jsx)(`p`,{children:g(`assets:assetsPage.bringInALinkOrAttachAFileInAConversationPisperWillGatherTheOutputsCreatedAlongTheWay`)}),(0,z.jsxs)(v,{size:`lg`,className:`mt-4`,onClick:()=>Y(!0),children:[(0,z.jsx)(u,{size:14}),g(`assets:assetsPage.addLink`)]})]}),K&&(0,z.jsx)(W,{asset:K,onClose:()=>q(null),onUse:()=>Q(K),onOpen:()=>$(K)}),J&&(0,z.jsx)(G,{onClose:()=>Y(!1),onCreated:()=>{Y(!1),X(),n(g(`assets:assetsPage.linkAssetAdded`))}})]})})}function W({asset:e,onClose:t,onUse:n,onOpen:r}){let{t:a}=i(),o=e.mimeType?.startsWith(`video/`);return(0,z.jsx)(`div`,{className:`modal-backdrop max-[650px]:p-[8px] fixed z-[70] inset-0 grid place-items-center overflow-y-auto bg-[var(--modal-overlay)] [backdrop-filter:blur(3px)] [padding:20px] [overscroll-behavior:contain] [animation:fade-in_var(--d1)_var(--ease-out)]`,onMouseDown:e=>e.target===e.currentTarget&&t(),children:(0,z.jsxs)(`section`,{className:`modal asset-preview-modal flex max-h-[calc(100dvh_-_40px)] flex-col overflow-hidden [overscroll-behavior:contain] [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] p-[18px] shadow-[0_26px_70px_-25px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] max-[650px]:max-h-[calc(100dvh_-_16px)] max-[650px]:p-3 ${e.kind===`image`||o?`w-[min(96vw,1200px)]`:`w-[min(96vw,900px)]`}`,children:[(0,z.jsxs)(S,{children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h2`,{children:e.name}),(0,z.jsx)(`p`,{children:e.kind===`link`?e.url:`${e.mimeType} · ${b(e.size)}`})]}),(0,z.jsx)(v,{variant:`ghost`,size:`icon`,"aria-label":a(`assets:assetsPage.closeDialog`),onClick:t,children:(0,z.jsx)(g,{size:17})})]}),(0,z.jsx)(`div`,{className:`asset-modal-content [&_>_img]:max-h-full [&_>_img]:max-w-full [&_>_img]:rounded-[var(--r-sm)] [&_>_img]:object-contain [&_>_video]:aspect-video [&_>_video]:max-h-full [&_>_video]:w-full [&_>_video]:rounded-[var(--r-sm)] [&_>_video]:bg-black [&_>_video]:object-contain [&_>_pre]:m-0 [&_>_pre]:h-full [&_>_pre]:w-full [&_>_pre]:overflow-auto [&_>_pre]:whitespace-pre-wrap [&_>_pre]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_>_pre]:text-[12px] [&_>_pre]:leading-[1.55] [&_>_a]:flex [&_>_a]:items-center [&_>_a]:gap-[7px] [&_>_a]:text-[var(--text-soft)] [&_>_a]:text-[12px] [&_>_a]:[text-decoration:underline] [&_>_a]:[text-underline-offset:2px] [&_>_a]:[word-break:break-all] grid min-h-[min(420px,60dvh)] flex-1 place-items-center overflow-auto [margin-top:14px] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-sm)] bg-[var(--surface-subtle)] p-3 max-[650px]:min-h-[240px]`,children:e.kind===`image`?(0,z.jsx)(`img`,{src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`,alt:e.name}):o?(0,z.jsx)(`video`,{controls:!0,playsInline:!0,preload:`metadata`,src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`}):e.kind===`link`?(0,z.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,children:[(0,z.jsx)(c,{size:16}),e.url]}):e.text===void 0?(0,z.jsxs)(`div`,{className:`asset-file-preview [&_strong]:text-[var(--text)] [&_strong]:text-[13px] [&_span]:text-[12px] [&_span]:leading-[1.55] flex max-w-[400px] flex-col items-center gap-[9px] text-[var(--text-secondary)] text-center`,children:[(0,z.jsx)(l,{size:42}),(0,z.jsx)(`strong`,{children:e.name}),(0,z.jsx)(`span`,{children:a(`assets:assetsPage.thisFileTypeCanBeDownloadedSupportedDocumentsCanAlsoBeAddedToAChatForAnalysis`)})]}):e.textFormat===`markdown`?(0,z.jsx)(`div`,{className:`h-full w-full overflow-auto text-left`,children:(0,z.jsx)(k,{children:e.text})}):(0,z.jsx)(`pre`,{children:e.text})}),(0,z.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[e.kind!==`link`&&(0,z.jsxs)(v,{variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:r,children:[L()?(0,z.jsx)(c,{size:14}):(0,z.jsx)(s,{size:14}),L()?a(`assets:assetsPage.openInApplication`):a(`assets:assetsPage.download`)]}),(0,z.jsxs)(v,{size:`lg`,onClick:n,children:[(0,z.jsx)(d,{size:14}),a(`assets:assetsPage.useInChat`)]})]})]})})}function G({onClose:e,onCreated:t}){let{t:n}=i(),[r,a]=(0,N.useState)(``),[o,s]=(0,N.useState)(``),[c,l]=(0,N.useState)(!1),[u,d]=(0,N.useState)(``);return(0,z.jsx)(`div`,{className:`modal-backdrop max-[650px]:p-[8px] fixed z-[70] inset-0 grid place-items-center overflow-y-auto bg-[var(--modal-overlay)] [backdrop-filter:blur(3px)] [padding:20px] [overscroll-behavior:contain] [animation:fade-in_var(--d1)_var(--ease-out)]`,onMouseDown:t=>t.target===t.currentTarget&&e(),children:(0,z.jsxs)(`form`,{className:`modal !w-[min(430px,100%)] max-h-[calc(100dvh_-_40px)] overflow-y-auto [overscroll-behavior:contain] [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] p-[18px] shadow-[0_26px_70px_-25px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] max-[650px]:max-h-[calc(100dvh_-_16px)]`,onSubmit:async e=>{e.preventDefault(),l(!0),d(``);try{await _(`/api/assets`,{method:`POST`,body:JSON.stringify({kind:`link`,name:r,url:o,source:`upload`})}),t()}catch(e){d(e instanceof Error?e.message:String(e))}finally{l(!1)}},children:[(0,z.jsxs)(S,{children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h2`,{children:n(`assets:assetsPage.addLinkAsset`)}),(0,z.jsx)(`p`,{children:n(`assets:assetsPage.linksCanBeArchivedOpenedOrAddedToAChatAsContext`)})]}),(0,z.jsx)(v,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":n(`assets:assetsPage.closeDialog`),onClick:e,children:(0,z.jsx)(g,{size:17})})]}),(0,z.jsxs)(y,{variant:`control`,children:[n(`assets:assetsPage.name`),(0,z.jsx)(`input`,{value:r,onChange:e=>a(e.target.value),placeholder:n(`assets:assetsPage.forExampleOpenAIAPIDocs`)})]}),(0,z.jsxs)(y,{variant:`control`,children:[`URL`,(0,z.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),placeholder:`https://example.com/docs`})]}),u&&(0,z.jsxs)(x,{children:[(0,z.jsx)(h,{size:13}),u]}),(0,z.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[(0,z.jsx)(v,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:e,children:n(`assets:assetsPage.cancel`)}),(0,z.jsxs)(v,{size:`lg`,disabled:c||!o.trim(),children:[c?(0,z.jsx)(p,{className:`animate-spin`,size:14}):(0,z.jsx)(f,{size:14}),n(c?`assets:assetsPage.adding`:`assets:assetsPage.addLink`)]})]})]})})}export{U as AssetsPage};
@@ -1 +1 @@
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-Dpn7lxcE.js";import{t as i}from"./AppSelect-DNIjPL7I.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{t as l}from"./message-circle-D-XrK6Ft.js";import{t as ee}from"./message-square-SKjZyY3v.js";import{t as te}from"./plus-fQbSqB1n.js";import{t as u}from"./refresh-cw-TbWxTY4K.js";import{t as d}from"./send-Cj-W03w_.js";import{t as f}from"./shield-check-Gvek4RJ7.js";import{t as p}from"./trash-2-CNrPOoPR.js";import{t as ne}from"./triangle-alert-CE1q54ci.js";import{t as m}from"./x-07u4-129.js";import{t as h}from"./api-D8wGrWiI.js";import{t as g}from"./button-BcPDt1Ge.js";import{t as _}from"./input-CvjGYteF.js";import{t as v}from"./field-3bN8nouy.js";import{r as y}from"./format-BRFKAYMT.js";import{a as b,i as re,l as x,n as S,o as C,r as w,s as T,t as E}from"./app-primitives-DhqJLud3.js";import{t as D}from"./PageFrame-BiJUCJku.js";import{t as O}from"./StarOrbit-BAAjh-hY.js";import{t as k}from"./usePagePrimaryAction-CWPC0C_f.js";import{t as ie}from"./ListDetailLayout-S-IBs4f_.js";import"./brand-DIEc3fK8.js";var ae=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`}]]),A=e(t(),1),j=n(),oe=Object.entries({feishu:{Icon:o,tone:`blue`},weixin:{Icon:l,tone:`green`},qq:{Icon:l,tone:`blue`},telegram:{Icon:d,tone:`blue`}});function M(e,t){return t(e===`feishu`?`channels:channelsPage.feishu`:e===`weixin`?`channels:channelsPage.weChat`:e===`qq`?`channels:channelsPage.qq`:`channels:channelsPage.telegram`)}function se(e,t){return t(e===`feishu`?`channels:channelsPage.feishuAppBot`:e===`weixin`?`channels:channelsPage.weChat`:e===`qq`?`channels:channelsPage.qqBot`:`channels:channelsPage.telegramBot`)}function ce(e,t){return t(e===`feishu`?`channels:channelsPage.webSocketPersistentConnection`:e===`weixin`?`channels:channelsPage.tencentILinkPersistentConnection`:e===`qq`?`channels:channelsPage.qqPersistentConnection`:`channels:channelsPage.telegramPersistentConnection`)}function le(e,t){return t(e===`feishu`?`channels:channelsPage.feishuCapabilities`:e===`weixin`?`channels:channelsPage.weChatCapabilities`:e===`qq`?`channels:channelsPage.qqCapabilities`:`channels:channelsPage.telegramCapabilities`)}function N(e){return e===`telegram`}function ue(e,t,n){return t?n(`channels:channelsPage.reconnectName`,{name:M(e,n)}):N(e)?n(`channels:channelsPage.configureName`,{name:M(e,n)}):n(`channels:channelsPage.connectNameByQRCode`,{name:M(e,n)})}function P(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 de(e){return e===`connected`?`green`:e===`connecting`||e===`reconnecting`?`amber`:e===`failed`?`red`:`gray`}function F(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 I(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 L(e){return e instanceof Error?e.message:String(e)}function R({notify:e,registerPrimaryAction:t,requestConfirm:n}){let[a,o]=(0,A.useState)(!1),{t:s,language:m}=r(),[_,S]=(0,A.useState)({providers:[],connections:{feishu:null,weixin:null,qq:null,telegram:null},scopes:[],models:[]}),[F,I]=(0,A.useState)(!0),[R,z]=(0,A.useState)(``),[B,V]=(0,A.useState)(`feishu`),[H,U]=(0,A.useState)(null),[W,G]=(0,A.useState)(``),[K,q]=(0,A.useState)(!1),[J,Y]=(0,A.useState)(``),X=(0,A.useCallback)(async()=>{try{z(``);let e=await h(`/api/channels`);S(e),Y(e.connections?.[B]?.defaultCwd||``)}catch(e){z(L(e))}finally{I(!1)}},[B]);(0,A.useEffect)(()=>{X()},[X]),(0,A.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 h(`/api/channels/${r}/onboarding/${encodeURIComponent(t)}`);U({...i,platform:r}),i.status===`completed`&&(window.clearInterval(n),e(s(`channels:channelsPage.nameTwoWayConnectionEstablished`,{name:M(r,s)})),await X(),window.setTimeout(()=>U(null),900))}catch(e){U(t=>t&&{...t,status:`failed`,error:L(e)})}},1500);return()=>window.clearInterval(n)},[H?.id,H?.platform,H?.status,X,e,s]);let Z=async e=>{if(!(_.connections?.[e]&&!await n({title:s(`channels:channelsPage.reconnectName`,{name:M(e,s)}),message:N(e)?s(`channels:channelsPage.configuringAgainWillReplaceTheCurrentNameConnectionContinue`,{name:M(e,s)}):s(`channels:channelsPage.scanningAgainWillReplaceTheCurrentNameConnectionContinue`,{name:M(e,s)}),confirmLabel:N(e)?s(`channels:channelsPage.continueConfiguration`):s(`channels:channelsPage.continueScanning`),tone:`primary`}))){V(e),G(e),U({platform:e,status:`starting`});try{let t=await h(`/api/channels/${e}/onboarding`,{method:`POST`,body:`{}`});`mode`in t&&t.mode===`manual`?U({...t,platform:e,status:`starting`,manual:!0}):U({...t,platform:e})}catch(t){U({platform:e,status:`failed`,error:L(t)})}finally{G(``)}}};k(t,()=>Z(B));let pe=async()=>{H?.id&&![`completed`,`failed`,`cancelled`].includes(H.status)&&await h(`/api/channels/${H.platform}/onboarding/${encodeURIComponent(H.id)}`,{method:`DELETE`}).catch(()=>{}),U(null)},Q=async(t,n,r)=>{q(!0);try{let i=await h(`/api/channels/${t}`,{method:`PATCH`,body:JSON.stringify(n)});S(i),Y(i.connections?.[t]?.defaultCwd||``),e(r)}catch(t){e(L(t),`error`)}finally{q(!1)}},me=async t=>{q(!0);try{S(await h(`/api/channels/${t}/reconnect`,{method:`POST`,body:`{}`})),e(s(`channels:channelsPage.nameReconnected`,{name:M(t,s)}))}catch(t){e(L(t),`error`),X()}finally{q(!1)}},he=async t=>{if(await n({title:s(`channels:channelsPage.disconnectName`,{name:M(t,s)}),message:s(`channels:channelsPage.localCredentialsAndChatMappingsWillBeDeleted`),confirmLabel:s(`channels:channelsPage.disconnect`)}))try{await h(`/api/channels/${t}`,{method:`DELETE`}),await X(),e(s(`channels:channelsPage.nameDisconnected`,{name:M(t,s)}))}catch(t){e(L(t),`error`)}},ge=async t=>{if(await n({title:s(`channels:channelsPage.resetChannelChat`),message:s(`channels:channelsPage.resetTheAppChatLinkedToScope`,{scope:t.title,app:`Pisper`}),confirmLabel:s(`channels:channelsPage.reset`)}))try{await h(`/api/channels/scopes/${encodeURIComponent(t.key)}`,{method:`DELETE`}),await X(),e(s(`channels:channelsPage.channelChatReset`))}catch(t){e(L(t),`error`)}};if(F)return(0,j.jsxs)(w,{children:[(0,j.jsx)(u,{className:`animate-spin`,size:23}),(0,j.jsx)(`h2`,{children:s(`channels:channelsPage.loadingChannels`)})]});let $=_.connections?.[B];return(0,j.jsx)(D,{variant:`list-detail`,children:(0,j.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-3`,children:[R&&(0,j.jsxs)(re,{children:[(0,j.jsx)(ne,{size:13}),R]}),(0,j.jsx)(ie,{selected:a,onBack:()=>o(!1),backLabel:s(`common:pageTemplate.backToList`),list:(0,j.jsx)(`div`,{className:`grid min-w-0 grid-cols-1 gap-3`,children:oe.map(([e,t])=>{let n=_.connections?.[e],r=n?.status||`idle`,i=de(r),a=t.Icon;return(0,j.jsxs)(E,{className:`provider-card channel-platform-card [transition:transform_var(--d2)_var(--ease-out),_box-shadow_var(--d2)_var(--ease-out),_border-color_var(--d2)_var(--ease-out)] hover:[transform:translateY(-2px)] hover:shadow-[var(--sh-2)] hover:border-[var(--star-border)] [&.selected]:border-[var(--accent-border)] [&.selected]:shadow-[0_10px_30px_-24px_var(--blue),0_0_0_2px_var(--selection-ring)] cursor-pointer [transition:border-color_var(--d1)_var(--ease-out),box-shadow_var(--d1)_var(--ease-out)] ${B===e?`selected`:``}`,onClick:()=>{o(!0),V(e),Y(n?.defaultCwd||``)},children:[(0,j.jsxs)(`div`,{className:`provider-title [&_h2]:text-[14px] [&_p]:mt-[3px] [&_p]:text-[var(--text-secondary)] [&_p]:text-[12px] grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-[10px] [margin-bottom:10px]`,children:[(0,j.jsx)(`span`,{className:`provider-icon [&_svg]:w-[19px] [&.green]:bg-[var(--success-soft)] [&.green]:text-[var(--success)] [&.blue]:bg-[var(--brand-blue-soft)] [&.blue]:text-[var(--brand-blue-strong)] [.notification-option_&:not(.blue)]:bg-[var(--surface-muted)] [.notification-option_&:not(.blue)]:text-[var(--text-muted)] grid w-[38px] h-[38px] place-items-center rounded-[var(--r-md)] ${t.tone}`,children:(0,j.jsx)(a,{})}),(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`h2`,{children:se(e,s)}),(0,j.jsx)(`p`,{children:ce(e,s)})]}),(0,j.jsx)(x,{tone:i,children:P(r,s)})]}),(0,j.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.twoWayCapability`),(0,j.jsx)(`span`,{className:`flex min-h-[31px] items-center overflow-hidden [border:1px_solid_var(--stroke)] rounded-[var(--r-xs)] bg-[var(--surface-subtle)] [padding:0_9px] text-[var(--text-tertiary)] text-[12px] font-[400] text-ellipsis whitespace-nowrap`,children:le(e,s)})]}),(0,j.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.replyModel`),(0,j.jsx)(`span`,{className:`flex min-h-[31px] items-center overflow-hidden [border:1px_solid_var(--stroke)] rounded-[var(--r-xs)] bg-[var(--surface-subtle)] [padding:0_9px] text-[var(--text-tertiary)] text-[12px] font-[400] text-ellipsis whitespace-nowrap`,children:n?.replyModel?`${n.replyModel.provider}/${n.replyModel.model}`:s(`channels:channelsPage.useApplicationDefaultModel`)})]}),(0,j.jsxs)(g,{variant:n?`outline`:`default`,size:`lg`,className:`[margin-top:12px] w-full`,disabled:W===e,onClick:t=>{t.stopPropagation(),Z(e)},children:[W===e?(0,j.jsx)(u,{className:`animate-spin`,size:14}):(0,j.jsx)(te,{size:14}),ue(e,!!n,s)]})]},e)})}),detail:(0,j.jsxs)(`div`,{className:`grid min-w-0 grid-cols-1 gap-4 @min-[1120px]/list-detail:grid-cols-[minmax(0,1fr)_280px]`,children:[(0,j.jsxs)(E,{children:[(0,j.jsxs)(`div`,{className:`channel-section-head [&_>_span]:text-[var(--text-muted)] [&_>_span]:text-[13px] flex items-center justify-between gap-[8px] [margin-bottom:8px]`,children:[(0,j.jsx)(C,{title:s(`channels:channelsPage.channelChats`)}),(0,j.jsx)(`span`,{children:s(`channels:channelsPage.countLinked`,{count:_.scopes.length})})]}),_.scopes.length?_.scopes.map(e=>(0,j.jsxs)(`div`,{className:`route-row [&_div]:flex [&_div]:flex-col [&_div]:gap-[3px] [&_strong]:text-[13px] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-[9px] [border-top:1px_solid_var(--stroke-soft)] [padding:10px_2px]`,children:[(0,j.jsx)(`span`,{className:`route-icon grid w-[27px] h-[27px] place-items-center rounded-[var(--r-sm)] bg-[var(--accent-soft)] text-[var(--star-strong)]`,children:e.platform===`feishu`?(0,j.jsx)(ee,{size:14}):e.platform===`telegram`?(0,j.jsx)(d,{size:14}):(0,j.jsx)(l,{size:14})}),(0,j.jsxs)(`div`,{className:`channel-route-copy [.route-row_&]:flex [.route-row_&]:min-w-0 [.route-row_&]:flex-col [.route-row_&]:gap-[3px] [&_strong]:overflow-hidden [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-ellipsis [&_small]:whitespace-nowrap`,children:[(0,j.jsxs)(`strong`,{children:[e.title,` `,(0,j.jsx)(x,{tone:e.platform===`feishu`||e.platform===`qq`||e.platform===`telegram`?`blue`:`green`,children:M(e.platform,s)})]}),(0,j.jsxs)(`small`,{children:[e.lastMessage||s(`channels:channelsPage.noMessages`),` ·`,` `,y(e.updatedAt,m)]}),(0,j.jsxs)(`small`,{children:[e.model||s(`channels:channelsPage.defaultModel`),` · `,e.cwd]})]}),(0,j.jsxs)(`div`,{className:`channel-route-controls [.route-row_&]:flex [.route-row_&]:flex-row [.route-row_&]:items-center [.route-row_&]:gap-[4px]`,children:[(0,j.jsx)(x,{tone:`green`,children:s(`channels:channelsPage.twoWay`)}),(0,j.jsx)(g,{variant:`destructive`,size:`icon`,title:s(`channels:channelsPage.resetChat`),"aria-label":`${s(`channels:channelsPage.resetChat`)}: ${e.title}`,onClick:()=>ge(e),children:(0,j.jsx)(p,{size:13})})]})]},e.key)):(0,j.jsxs)(`div`,{className:`channel-route-empty [&_strong]:mt-[9px] [&_strong]:text-[var(--text)] [&_strong]:text-[12px] [&_span]:mt-[4px] [&_span]:text-[13px] [&.compact]:min-h-[110px] [.workflow-assets-panel_&]:min-h-[150px] [.workflow-assets-panel_&]:border-0 [.workflow-assets-panel_&]:bg-transparent grid min-h-[185px] place-content-center justify-items-center text-[var(--text-muted)] text-center`,children:[(0,j.jsx)(O,{size:38}),(0,j.jsx)(`strong`,{children:s(`channels:channelsPage.waitingForTheFirstReplyFromAfar`)}),(0,j.jsx)(`span`,{children:s(`channels:channelsPage.onceConnectedMessagesFromSupportedChannelsWillArriveHereInPisper`)})]})]}),$&&(0,j.jsxs)(E,{className:`test-panel [&_>_p]:m-[8px_0_12px] [&_>_p]:text-[var(--text-secondary)] [&_>_p]:text-[12px] [&_>_p]:leading-[1.5]`,children:[(0,j.jsxs)(`div`,{className:`channel-section-head [&_>_span]:text-[var(--text-muted)] [&_>_span]:text-[13px] flex items-center justify-between gap-[8px] [margin-bottom:8px]`,children:[(0,j.jsx)(C,{title:s(`channels:channelsPage.nameSettings`,{name:M(B,s)})}),(0,j.jsx)(`span`,{children:ce(B,s)})]}),(0,j.jsxs)(`div`,{className:`channel-live-status [&_>_div]:flex [&_>_div]:min-w-0 [&_>_div]:flex-col [&_>_div]:gap-[3px] [&_strong]:text-[13px] [&_small]:overflow-hidden [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] [&_small]:text-ellipsis [&_small]:whitespace-nowrap flex items-center gap-[9px] [margin:11px_0_12px] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-sm)] bg-[var(--surface-subtle)] [padding:10px] ${$.status}`,children:[(0,j.jsx)(`span`,{className:`channel-status-dot [.channel-live-status.connected_&]:bg-[var(--status-green)] [.channel-live-status.connected_&]:shadow-[0_0_0_4px_var(--success-soft)] [.channel-live-status.connecting_&]:bg-[var(--amber)] [.channel-live-status.connecting_&]:shadow-[0_0_0_4px_var(--warning-soft)] [.channel-live-status.connecting_&]:[animation:pulse-dot_1.2s_infinite] [.channel-live-status.reconnecting_&]:bg-[var(--amber)] [.channel-live-status.reconnecting_&]:shadow-[0_0_0_4px_var(--warning-soft)] [.channel-live-status.reconnecting_&]:[animation:pulse-dot_1.2s_infinite] [.channel-live-status.failed_&]:bg-[var(--danger)] [.channel-live-status.failed_&]:shadow-[0_0_0_4px_var(--danger-soft)] w-[8px] h-[8px] [flex:0_0_auto] rounded-[var(--r-pill)] bg-[var(--status-muted)] shadow-[0_0_0_4px_var(--surface-muted)]`}),(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`strong`,{children:P($.status,s)}),(0,j.jsx)(`small`,{children:$.lastError||($.status===`connected`?s(`channels:channelsPage.connectedTime`,{time:y($.connectedAt,m)}):s(`channels:channelsPage.establishingPersistentConnection`))})]})]}),(0,j.jsxs)(`div`,{className:`modal-toggle-row [&_>_span]:flex [&_>_span]:flex-col [&_>_span]:gap-[3px] [&_strong]:text-[13px] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] dark:bg-[var(--surface-subtle)] flex min-h-[45px] items-center justify-between gap-[12px] [margin-top:10px] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-sm)] bg-[var(--surface-subtle)] [padding:8px_10px]`,children:[(0,j.jsxs)(`span`,{children:[(0,j.jsx)(`strong`,{children:s(`channels:channelsPage.enableThisChannel`)}),(0,j.jsx)(`small`,{children:s(`channels:channelsPage.turnOffToDisconnectWhileKeepingSignInCredentials`)})]}),(0,j.jsx)(T,{value:$.enabled,disabled:K,ariaLabel:s(`channels:channelsPage.enableThisChannel`),onChange:e=>Q(B,{enabled:e},s(e?`channels:channelsPage.channelEnabled`:`channels:channelsPage.channelPaused`))})]}),(0,j.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.replyModel`),(0,j.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},s(`channels:channelsPage.channelReplyModelUpdated`))},children:[(0,j.jsx)(`option`,{value:``,children:s(`channels:channelsPage.useApplicationDefaultModel`)}),_.models.map(e=>(0,j.jsx)(`option`,{value:`${e.provider}/${e.model}`,children:e.label},`${e.provider}/${e.model}`))]})]}),(0,j.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.approvalMode`),(0,j.jsxs)(i,{value:$.executionMode,onChange:e=>Q(B,{executionMode:e.target.value},s(`channels:channelsPage.approvalModeUpdated`)),children:[(0,j.jsx)(`option`,{value:`approval-required`,children:s(`channels:channelsPage.approvalRequired`)}),(0,j.jsx)(`option`,{value:`workspace-write`,children:s(`channels:channelsPage.workspaceWrite`)}),(0,j.jsx)(`option`,{value:`full-access`,children:s(`channels:channelsPage.fullAccess`)})]})]}),(0,j.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.executionMode`),(0,j.jsxs)(i,{value:$.runMode,onChange:e=>Q(B,{runMode:e.target.value},s(`channels:channelsPage.executionModeUpdated`)),children:[(0,j.jsx)(`option`,{value:`plan`,children:s(`channels:channelsPage.planMode`)}),(0,j.jsx)(`option`,{value:`goal`,children:s(`channels:channelsPage.goalMode`)}),(0,j.jsx)(`option`,{value:`team`,children:s(`channels:channelsPage.teamMode`)})]})]}),(0,j.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.accessScope`),(0,j.jsxs)(i,{value:$.accessMode,onChange:e=>Q(B,{accessMode:e.target.value===`all`?`all`:`owner`},s(`channels:channelsPage.accessScopeUpdated`)),children:[(0,j.jsx)(`option`,{value:`owner`,disabled:!$.ownerConfigured,children:s(`channels:channelsPage.qrCodeOwnerOnly`)}),(0,j.jsx)(`option`,{value:`all`,children:s(B===`feishu`?`channels:channelsPage.allMembersInTheCurrentTenant`:B===`weixin`?`channels:channelsPage.allWeChatUsersWhoMessageTheBot`:`channels:channelsPage.allUsersWhoMessageTheBot`)})]})]}),(0,j.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.defaultWorkingDirectoryForNewChats`),(0,j.jsxs)(`span`,{className:`channel-setting-input [&_input]:min-w-0 [&_input]:border-0 [&_input]:[outline:0] [&_input]:bg-transparent [&_input]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_input]:text-[12px] dark:[&_input]:bg-[var(--solid)] dark:[&_input]:text-[var(--text)] grid h-[34px] grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-[7px] [border:1px_solid_var(--stroke)] rounded-[var(--r-xs)] bg-[var(--surface-subtle)] [padding:3px_3px_3px_9px] text-[var(--text-muted)]`,children:[(0,j.jsx)(c,{size:13}),(0,j.jsx)(`input`,{value:J,onChange:e=>Y(e.target.value)}),(0,j.jsx)(g,{variant:`outline`,disabled:K||J===$.defaultCwd,onClick:()=>Q(B,{defaultCwd:J},s(`channels:channelsPage.defaultWorkingDirectorySaved`)),children:s(`channels:channelsPage.save`)})]})]}),(0,j.jsxs)(b,{children:[(0,j.jsx)(f,{size:15}),(0,j.jsxs)(`span`,{children:[(0,j.jsx)(`strong`,{children:s(`channels:channelsPage.localSecurityBoundary`)}),(0,j.jsx)(`small`,{children:s(`channels:channelsPage.ownerOnlyAccessRespectsToolPermissionsAndExecutionMode`)})]})]}),(0,j.jsxs)(`div`,{className:`mt-[15px] flex gap-2 max-[650px]:flex-wrap`,children:[(0,j.jsxs)(g,{variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:()=>me(B),disabled:K,children:[(0,j.jsx)(u,{size:14}),s(`channels:channelsPage.reconnect`)]}),(0,j.jsxs)(g,{variant:`destructive`,size:`lg`,onClick:()=>he(B),children:[(0,j.jsx)(ae,{size:14}),s(`channels:channelsPage.disconnect`)]})]})]})]})}),H&&(0,j.jsx)(fe,{job:H,onClose:pe,onRetry:()=>Z(H.platform),onSubmitCredentials:async t=>{try{let n=await h(`/api/channels/${H.platform}/onboarding`,{method:`POST`,body:JSON.stringify(t)});`connections`in n?(S(n),U(null),e(s(`channels:channelsPage.nameTwoWayConnectionEstablished`,{name:M(H.platform,s)})),await X()):`mode`in n&&n.mode===`manual`?U({...n,platform:H.platform,status:`starting`,manual:!0}):U({...n,platform:H.platform,manual:n.mode===`manual`})}catch(e){U(t=>t&&{...t,status:`failed`,error:L(e)})}},notify:e})]})})}function fe({job:e,onClose:t,onRetry:n,onSubmitCredentials:i,notify:a}){let{t:o,language:c}=r(),[l,ee]=(0,A.useState)(``),[d,p]=(0,A.useState)(``),[y,re]=(0,A.useState)(``),[x,C]=(0,A.useState)(``),[w,T]=(0,A.useState)(!1),E=[`completed`,`failed`,`cancelled`].includes(e.status),D=e.manual||N(e.platform)&&e.mode!==`qr`,O=e.platform===`qq`?!!(d.trim()&&(y.trim()||x.trim())):!!x.trim(),k=async()=>{if(O){T(!0);try{await i({...d.trim()?{appId:d.trim()}:{},...y.trim()?{appSecret:y.trim()}:{},...x.trim()?{token:x.trim()}:{}})}finally{T(!1)}}};return(0,j.jsx)(`div`,{className:`modal-backdrop max-[650px]:p-[8px] fixed z-[70] inset-0 grid place-items-center overflow-y-auto bg-[var(--modal-overlay)] [backdrop-filter:blur(3px)] [padding:20px] [overscroll-behavior:contain] [animation:fade-in_var(--d1)_var(--ease-out)]`,onMouseDown:e=>e.target===e.currentTarget&&t(),children:(0,j.jsxs)(`section`,{className:`modal !w-[min(430px,100%)] max-h-[calc(100dvh_-_40px)] overflow-y-auto [overscroll-behavior:contain] [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] p-[18px] shadow-[0_26px_70px_-25px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] max-[650px]:max-h-[calc(100dvh_-_16px)] feishu-onboard-modal w-[min(470px,100%)]`,children:[(0,j.jsxs)(S,{children:[(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`h2`,{children:o(D?`channels:channelsPage.configureName`:`channels:channelsPage.connectNameByQRCode`,{name:M(e.platform,o)})}),(0,j.jsx)(`p`,{children:e.platform===`feishu`?o(`channels:channelsPage.createTheBotAppThroughTheOfficialFeishuAuthorizationPage`):e.platform===`weixin`?o(`channels:channelsPage.signInToPersonalWeChatThroughTencentILinkBot`):e.platform===`qq`?o(`channels:channelsPage.scanWithQQToCreateOfficialBot`):o(`channels:channelsPage.enterBotCredentialsForName`,{name:M(e.platform,o)})})]}),(0,j.jsx)(g,{variant:`ghost`,size:`icon`,"aria-label":o(`channels:channelsPage.closeDialog`),onClick:t,children:(0,j.jsx)(m,{size:17})})]}),D&&!e.id&&!E&&(0,j.jsxs)(`div`,{className:`grid gap-[9px] [margin-top:14px]`,children:[e.platform===`qq`&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(v,{variant:`control`,children:[o(`channels:channelsPage.qqAppId`),(0,j.jsx)(_,{value:d,onChange:e=>p(e.target.value)})]}),(0,j.jsxs)(v,{variant:`control`,children:[o(`channels:channelsPage.qqAppSecret`),(0,j.jsx)(_,{type:`password`,value:y,onChange:e=>re(e.target.value)})]}),(0,j.jsx)(`small`,{className:`text-[var(--text-muted)]`,children:o(`channels:channelsPage.qqCredentialsOrToken`)})]}),(0,j.jsxs)(v,{variant:`control`,children:[o(`channels:channelsPage.botToken`),(0,j.jsx)(_,{type:`password`,value:x,onChange:e=>C(e.target.value)})]}),e.setupUrl&&(0,j.jsxs)(b,{children:[e.qrDataUrl&&(0,j.jsx)(`img`,{src:e.qrDataUrl,alt:o(`channels:channelsPage.openOfficialSetupQRCode`),className:`h-[120px] w-[120px] rounded-[var(--r-sm)] bg-white p-1`}),(0,j.jsxs)(`span`,{children:[(0,j.jsx)(`strong`,{children:o(`channels:channelsPage.officialSetupRequired`)}),(0,j.jsx)(`small`,{children:o(`channels:channelsPage.officialSetupInstructions`)}),(0,j.jsxs)(`a`,{href:e.setupUrl,target:`_blank`,rel:`noreferrer`,children:[o(`channels:channelsPage.openOfficialSetup`),(0,j.jsx)(s,{size:12})]})]})]}),(0,j.jsxs)(g,{size:`lg`,disabled:!O||w,onClick:()=>void k(),children:[w?(0,j.jsx)(u,{className:`animate-spin`,size:14}):(0,j.jsx)(te,{size:14}),o(`channels:channelsPage.connect`)]})]}),(!D||e.id||E)&&(0,j.jsxs)(`div`,{className:`feishu-qr-stage [&_img]:w-[248px] [&_img]:max-w-[86%] [&_img]:[border:1px_solid_var(--stroke-soft)] [&_img]:rounded-[var(--r-md)] [&_img]:bg-[var(--lightbox-action-bg)] [&_img]:p-[8px] [&_img]:shadow-[0_12px_30px_-24px_var(--ink-strong)] [&_strong]:text-[13px] [&_p]:max-w-[330px] [&_p]:text-[var(--danger)] [&_p]:text-[12px] [&_p]:leading-[1.5] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] [&.completed]:text-[var(--success)] [&.failed]:text-[var(--danger)] flex min-h-[min(330px,52dvh)] flex-col items-center justify-center gap-[10px] [margin-top:14px] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-md)] bg-[linear-gradient(180deg,var(--surface-highlight),var(--surface-subtle))] [padding:18px] text-center ${e.status}`,children:[e.qrDataUrl?(0,j.jsx)(`img`,{src:e.qrDataUrl,alt:o(`channels:channelsPage.nameConnectionQRCode`,{name:M(e.platform,o)})}):e.status===`failed`?(0,j.jsx)(ne,{size:42}):(0,j.jsx)(u,{className:`animate-spin`,size:32}),(0,j.jsx)(`strong`,{children:D&&!e.id?o(`channels:channelsPage.enterBotCredentialsForName`,{name:M(e.platform,o)}):F(e.status,o)}),e.error&&(0,j.jsx)(`p`,{children:e.error}),e.expireAt&&!E&&(0,j.jsx)(`small`,{children:o(`channels:channelsPage.qrCodeExpiresTime`,{time:I(e.expireAt,c)})})]}),e.needsVerifyCode&&(0,j.jsxs)(`div`,{className:`weixin-verify-code [&_input]:min-w-0 [&_input]:h-[34px] [&_input]:[border:1px_solid_var(--stroke)] [&_input]:rounded-[var(--r-sm)] [&_input]:bg-[var(--solid)] [&_input]:p-[0_10px] [&_input]:text-[var(--text)] [&_input]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_input]:text-[13px] [&_input]:tracking-[.08em] grid grid-cols-[minmax(0,1fr)_auto] gap-[7px] [margin-top:9px]`,children:[(0,j.jsx)(`input`,{value:l,onChange:e=>ee(e.target.value.replace(/\D/g,``).slice(0,8)),placeholder:o(`channels:channelsPage.enterTheNumberShownOnYourPhone`)}),(0,j.jsx)(g,{size:`lg`,disabled:!l,onClick:async()=>{try{await h(`/api/channels/${e.platform}/onboarding/${encodeURIComponent(e.id||``)}/verify`,{method:`POST`,body:JSON.stringify({code:l})}),a(o(`channels:channelsPage.pairingCodeSubmitted`))}catch(e){a(L(e),`error`)}},children:o(`channels:channelsPage.submitPairingCode`)})]}),e.qrUrl&&!E&&(0,j.jsx)(g,{asChild:!0,variant:`outline`,size:`lg`,className:`[margin-top:9px] no-underline w-full bg-surface-subtle`,children:(0,j.jsxs)(`a`,{href:e.qrUrl,target:`_blank`,rel:`noreferrer`,children:[(0,j.jsx)(s,{size:14}),o(`channels:channelsPage.cannotScanOpenTheSignInLink`)]})}),(0,j.jsxs)(b,{children:[(0,j.jsx)(f,{size:15}),(0,j.jsxs)(`span`,{children:[(0,j.jsx)(`strong`,{children:o(`channels:channelsPage.persistentTwoWayConnection`)}),(0,j.jsx)(`small`,{children:e.platform===`feishu`?o(`channels:channelsPage.webSocketReceivesDirectMessagesAndGroupMentions`):e.platform===`weixin`?o(`channels:channelsPage.tencentILinkContinuouslyPollsDirectMessagesAndSupportsTextAndMediaReplies`):le(e.platform,o)})]})]}),(0,j.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[(0,j.jsx)(g,{variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:t,children:o(E?`channels:channelsPage.off`:`channels:channelsPage.cancel`)}),e.status===`failed`&&(0,j.jsxs)(g,{size:`lg`,onClick:n,children:[(0,j.jsx)(u,{size:14}),o(D?`channels:channelsPage.retry`:`channels:channelsPage.generateANewQRCode`)]})]})]})})}export{R as ChannelsPage};
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-BrWBoyFl.js";import{t as i}from"./AppSelect-DEmkrcvY.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{t as l}from"./message-circle-D-XrK6Ft.js";import{t as ee}from"./message-square-SKjZyY3v.js";import{t as te}from"./plus-fQbSqB1n.js";import{t as u}from"./refresh-cw-TbWxTY4K.js";import{t as d}from"./send-Cj-W03w_.js";import{t as f}from"./shield-check-Gvek4RJ7.js";import{t as p}from"./trash-2-CNrPOoPR.js";import{t as ne}from"./triangle-alert-CE1q54ci.js";import{t as m}from"./x-07u4-129.js";import{t as h}from"./api-CiEo53J1.js";import{t as g}from"./button-BcPDt1Ge.js";import{t as _}from"./input-CvjGYteF.js";import{t as v}from"./field-3bN8nouy.js";import{r as y}from"./format-BRFKAYMT.js";import{a as b,i as re,l as x,n as S,o as C,r as w,s as T,t as E}from"./app-primitives-DhqJLud3.js";import{t as D}from"./PageFrame-BiJUCJku.js";import{t as O}from"./StarOrbit-BAAjh-hY.js";import{t as k}from"./usePagePrimaryAction-CWPC0C_f.js";import{t as ie}from"./ListDetailLayout-Ctr6r0OI.js";import"./brand-DIEc3fK8.js";var ae=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`}]]),A=e(t(),1),j=n(),oe=Object.entries({feishu:{Icon:o,tone:`blue`},weixin:{Icon:l,tone:`green`},qq:{Icon:l,tone:`blue`},telegram:{Icon:d,tone:`blue`}});function M(e,t){return t(e===`feishu`?`channels:channelsPage.feishu`:e===`weixin`?`channels:channelsPage.weChat`:e===`qq`?`channels:channelsPage.qq`:`channels:channelsPage.telegram`)}function se(e,t){return t(e===`feishu`?`channels:channelsPage.feishuAppBot`:e===`weixin`?`channels:channelsPage.weChat`:e===`qq`?`channels:channelsPage.qqBot`:`channels:channelsPage.telegramBot`)}function ce(e,t){return t(e===`feishu`?`channels:channelsPage.webSocketPersistentConnection`:e===`weixin`?`channels:channelsPage.tencentILinkPersistentConnection`:e===`qq`?`channels:channelsPage.qqPersistentConnection`:`channels:channelsPage.telegramPersistentConnection`)}function le(e,t){return t(e===`feishu`?`channels:channelsPage.feishuCapabilities`:e===`weixin`?`channels:channelsPage.weChatCapabilities`:e===`qq`?`channels:channelsPage.qqCapabilities`:`channels:channelsPage.telegramCapabilities`)}function N(e){return e===`telegram`}function ue(e,t,n){return t?n(`channels:channelsPage.reconnectName`,{name:M(e,n)}):N(e)?n(`channels:channelsPage.configureName`,{name:M(e,n)}):n(`channels:channelsPage.connectNameByQRCode`,{name:M(e,n)})}function P(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 de(e){return e===`connected`?`green`:e===`connecting`||e===`reconnecting`?`amber`:e===`failed`?`red`:`gray`}function F(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 I(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 L(e){return e instanceof Error?e.message:String(e)}function R({notify:e,registerPrimaryAction:t,requestConfirm:n}){let[a,o]=(0,A.useState)(!1),{t:s,language:m}=r(),[_,S]=(0,A.useState)({providers:[],connections:{feishu:null,weixin:null,qq:null,telegram:null},scopes:[],models:[]}),[F,I]=(0,A.useState)(!0),[R,z]=(0,A.useState)(``),[B,V]=(0,A.useState)(`feishu`),[H,U]=(0,A.useState)(null),[W,G]=(0,A.useState)(``),[K,q]=(0,A.useState)(!1),[J,Y]=(0,A.useState)(``),X=(0,A.useCallback)(async()=>{try{z(``);let e=await h(`/api/channels`);S(e),Y(e.connections?.[B]?.defaultCwd||``)}catch(e){z(L(e))}finally{I(!1)}},[B]);(0,A.useEffect)(()=>{X()},[X]),(0,A.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 h(`/api/channels/${r}/onboarding/${encodeURIComponent(t)}`);U({...i,platform:r}),i.status===`completed`&&(window.clearInterval(n),e(s(`channels:channelsPage.nameTwoWayConnectionEstablished`,{name:M(r,s)})),await X(),window.setTimeout(()=>U(null),900))}catch(e){U(t=>t&&{...t,status:`failed`,error:L(e)})}},1500);return()=>window.clearInterval(n)},[H?.id,H?.platform,H?.status,X,e,s]);let Z=async e=>{if(!(_.connections?.[e]&&!await n({title:s(`channels:channelsPage.reconnectName`,{name:M(e,s)}),message:N(e)?s(`channels:channelsPage.configuringAgainWillReplaceTheCurrentNameConnectionContinue`,{name:M(e,s)}):s(`channels:channelsPage.scanningAgainWillReplaceTheCurrentNameConnectionContinue`,{name:M(e,s)}),confirmLabel:N(e)?s(`channels:channelsPage.continueConfiguration`):s(`channels:channelsPage.continueScanning`),tone:`primary`}))){V(e),G(e),U({platform:e,status:`starting`});try{let t=await h(`/api/channels/${e}/onboarding`,{method:`POST`,body:`{}`});`mode`in t&&t.mode===`manual`?U({...t,platform:e,status:`starting`,manual:!0}):U({...t,platform:e})}catch(t){U({platform:e,status:`failed`,error:L(t)})}finally{G(``)}}};k(t,()=>Z(B));let pe=async()=>{H?.id&&![`completed`,`failed`,`cancelled`].includes(H.status)&&await h(`/api/channels/${H.platform}/onboarding/${encodeURIComponent(H.id)}`,{method:`DELETE`}).catch(()=>{}),U(null)},Q=async(t,n,r)=>{q(!0);try{let i=await h(`/api/channels/${t}`,{method:`PATCH`,body:JSON.stringify(n)});S(i),Y(i.connections?.[t]?.defaultCwd||``),e(r)}catch(t){e(L(t),`error`)}finally{q(!1)}},me=async t=>{q(!0);try{S(await h(`/api/channels/${t}/reconnect`,{method:`POST`,body:`{}`})),e(s(`channels:channelsPage.nameReconnected`,{name:M(t,s)}))}catch(t){e(L(t),`error`),X()}finally{q(!1)}},he=async t=>{if(await n({title:s(`channels:channelsPage.disconnectName`,{name:M(t,s)}),message:s(`channels:channelsPage.localCredentialsAndChatMappingsWillBeDeleted`),confirmLabel:s(`channels:channelsPage.disconnect`)}))try{await h(`/api/channels/${t}`,{method:`DELETE`}),await X(),e(s(`channels:channelsPage.nameDisconnected`,{name:M(t,s)}))}catch(t){e(L(t),`error`)}},ge=async t=>{if(await n({title:s(`channels:channelsPage.resetChannelChat`),message:s(`channels:channelsPage.resetTheAppChatLinkedToScope`,{scope:t.title,app:`Pisper`}),confirmLabel:s(`channels:channelsPage.reset`)}))try{await h(`/api/channels/scopes/${encodeURIComponent(t.key)}`,{method:`DELETE`}),await X(),e(s(`channels:channelsPage.channelChatReset`))}catch(t){e(L(t),`error`)}};if(F)return(0,j.jsxs)(w,{children:[(0,j.jsx)(u,{className:`animate-spin`,size:23}),(0,j.jsx)(`h2`,{children:s(`channels:channelsPage.loadingChannels`)})]});let $=_.connections?.[B];return(0,j.jsx)(D,{variant:`list-detail`,children:(0,j.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-3`,children:[R&&(0,j.jsxs)(re,{children:[(0,j.jsx)(ne,{size:13}),R]}),(0,j.jsx)(ie,{selected:a,onBack:()=>o(!1),backLabel:s(`common:pageTemplate.backToList`),list:(0,j.jsx)(`div`,{className:`grid min-w-0 grid-cols-1 gap-3`,children:oe.map(([e,t])=>{let n=_.connections?.[e],r=n?.status||`idle`,i=de(r),a=t.Icon;return(0,j.jsxs)(E,{className:`provider-card channel-platform-card [transition:transform_var(--d2)_var(--ease-out),_box-shadow_var(--d2)_var(--ease-out),_border-color_var(--d2)_var(--ease-out)] hover:[transform:translateY(-2px)] hover:shadow-[var(--sh-2)] hover:border-[var(--star-border)] [&.selected]:border-[var(--accent-border)] [&.selected]:shadow-[0_10px_30px_-24px_var(--blue),0_0_0_2px_var(--selection-ring)] cursor-pointer [transition:border-color_var(--d1)_var(--ease-out),box-shadow_var(--d1)_var(--ease-out)] ${B===e?`selected`:``}`,onClick:()=>{o(!0),V(e),Y(n?.defaultCwd||``)},children:[(0,j.jsxs)(`div`,{className:`provider-title [&_h2]:text-[14px] [&_p]:mt-[3px] [&_p]:text-[var(--text-secondary)] [&_p]:text-[12px] grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-[10px] [margin-bottom:10px]`,children:[(0,j.jsx)(`span`,{className:`provider-icon [&_svg]:w-[19px] [&.green]:bg-[var(--success-soft)] [&.green]:text-[var(--success)] [&.blue]:bg-[var(--brand-blue-soft)] [&.blue]:text-[var(--brand-blue-strong)] [.notification-option_&:not(.blue)]:bg-[var(--surface-muted)] [.notification-option_&:not(.blue)]:text-[var(--text-muted)] grid w-[38px] h-[38px] place-items-center rounded-[var(--r-md)] ${t.tone}`,children:(0,j.jsx)(a,{})}),(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`h2`,{children:se(e,s)}),(0,j.jsx)(`p`,{children:ce(e,s)})]}),(0,j.jsx)(x,{tone:i,children:P(r,s)})]}),(0,j.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.twoWayCapability`),(0,j.jsx)(`span`,{className:`flex min-h-[31px] items-center overflow-hidden [border:1px_solid_var(--stroke)] rounded-[var(--r-xs)] bg-[var(--surface-subtle)] [padding:0_9px] text-[var(--text-tertiary)] text-[12px] font-[400] text-ellipsis whitespace-nowrap`,children:le(e,s)})]}),(0,j.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.replyModel`),(0,j.jsx)(`span`,{className:`flex min-h-[31px] items-center overflow-hidden [border:1px_solid_var(--stroke)] rounded-[var(--r-xs)] bg-[var(--surface-subtle)] [padding:0_9px] text-[var(--text-tertiary)] text-[12px] font-[400] text-ellipsis whitespace-nowrap`,children:n?.replyModel?`${n.replyModel.provider}/${n.replyModel.model}`:s(`channels:channelsPage.useApplicationDefaultModel`)})]}),(0,j.jsxs)(g,{variant:n?`outline`:`default`,size:`lg`,className:`[margin-top:12px] w-full`,disabled:W===e,onClick:t=>{t.stopPropagation(),Z(e)},children:[W===e?(0,j.jsx)(u,{className:`animate-spin`,size:14}):(0,j.jsx)(te,{size:14}),ue(e,!!n,s)]})]},e)})}),detail:(0,j.jsxs)(`div`,{className:`grid min-w-0 grid-cols-1 gap-4 @min-[1120px]/list-detail:grid-cols-[minmax(0,1fr)_280px]`,children:[(0,j.jsxs)(E,{children:[(0,j.jsxs)(`div`,{className:`channel-section-head [&_>_span]:text-[var(--text-muted)] [&_>_span]:text-[13px] flex items-center justify-between gap-[8px] [margin-bottom:8px]`,children:[(0,j.jsx)(C,{title:s(`channels:channelsPage.channelChats`)}),(0,j.jsx)(`span`,{children:s(`channels:channelsPage.countLinked`,{count:_.scopes.length})})]}),_.scopes.length?_.scopes.map(e=>(0,j.jsxs)(`div`,{className:`route-row [&_div]:flex [&_div]:flex-col [&_div]:gap-[3px] [&_strong]:text-[13px] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-[9px] [border-top:1px_solid_var(--stroke-soft)] [padding:10px_2px]`,children:[(0,j.jsx)(`span`,{className:`route-icon grid w-[27px] h-[27px] place-items-center rounded-[var(--r-sm)] bg-[var(--accent-soft)] text-[var(--star-strong)]`,children:e.platform===`feishu`?(0,j.jsx)(ee,{size:14}):e.platform===`telegram`?(0,j.jsx)(d,{size:14}):(0,j.jsx)(l,{size:14})}),(0,j.jsxs)(`div`,{className:`channel-route-copy [.route-row_&]:flex [.route-row_&]:min-w-0 [.route-row_&]:flex-col [.route-row_&]:gap-[3px] [&_strong]:overflow-hidden [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-ellipsis [&_small]:whitespace-nowrap`,children:[(0,j.jsxs)(`strong`,{children:[e.title,` `,(0,j.jsx)(x,{tone:e.platform===`feishu`||e.platform===`qq`||e.platform===`telegram`?`blue`:`green`,children:M(e.platform,s)})]}),(0,j.jsxs)(`small`,{children:[e.lastMessage||s(`channels:channelsPage.noMessages`),` ·`,` `,y(e.updatedAt,m)]}),(0,j.jsxs)(`small`,{children:[e.model||s(`channels:channelsPage.defaultModel`),` · `,e.cwd]})]}),(0,j.jsxs)(`div`,{className:`channel-route-controls [.route-row_&]:flex [.route-row_&]:flex-row [.route-row_&]:items-center [.route-row_&]:gap-[4px]`,children:[(0,j.jsx)(x,{tone:`green`,children:s(`channels:channelsPage.twoWay`)}),(0,j.jsx)(g,{variant:`destructive`,size:`icon`,title:s(`channels:channelsPage.resetChat`),"aria-label":`${s(`channels:channelsPage.resetChat`)}: ${e.title}`,onClick:()=>ge(e),children:(0,j.jsx)(p,{size:13})})]})]},e.key)):(0,j.jsxs)(`div`,{className:`channel-route-empty [&_strong]:mt-[9px] [&_strong]:text-[var(--text)] [&_strong]:text-[12px] [&_span]:mt-[4px] [&_span]:text-[13px] [&.compact]:min-h-[110px] [.workflow-assets-panel_&]:min-h-[150px] [.workflow-assets-panel_&]:border-0 [.workflow-assets-panel_&]:bg-transparent grid min-h-[185px] place-content-center justify-items-center text-[var(--text-muted)] text-center`,children:[(0,j.jsx)(O,{size:38}),(0,j.jsx)(`strong`,{children:s(`channels:channelsPage.waitingForTheFirstReplyFromAfar`)}),(0,j.jsx)(`span`,{children:s(`channels:channelsPage.onceConnectedMessagesFromSupportedChannelsWillArriveHereInPisper`)})]})]}),$&&(0,j.jsxs)(E,{className:`test-panel [&_>_p]:m-[8px_0_12px] [&_>_p]:text-[var(--text-secondary)] [&_>_p]:text-[12px] [&_>_p]:leading-[1.5]`,children:[(0,j.jsxs)(`div`,{className:`channel-section-head [&_>_span]:text-[var(--text-muted)] [&_>_span]:text-[13px] flex items-center justify-between gap-[8px] [margin-bottom:8px]`,children:[(0,j.jsx)(C,{title:s(`channels:channelsPage.nameSettings`,{name:M(B,s)})}),(0,j.jsx)(`span`,{children:ce(B,s)})]}),(0,j.jsxs)(`div`,{className:`channel-live-status [&_>_div]:flex [&_>_div]:min-w-0 [&_>_div]:flex-col [&_>_div]:gap-[3px] [&_strong]:text-[13px] [&_small]:overflow-hidden [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] [&_small]:text-ellipsis [&_small]:whitespace-nowrap flex items-center gap-[9px] [margin:11px_0_12px] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-sm)] bg-[var(--surface-subtle)] [padding:10px] ${$.status}`,children:[(0,j.jsx)(`span`,{className:`channel-status-dot [.channel-live-status.connected_&]:bg-[var(--status-green)] [.channel-live-status.connected_&]:shadow-[0_0_0_4px_var(--success-soft)] [.channel-live-status.connecting_&]:bg-[var(--amber)] [.channel-live-status.connecting_&]:shadow-[0_0_0_4px_var(--warning-soft)] [.channel-live-status.connecting_&]:[animation:pulse-dot_1.2s_infinite] [.channel-live-status.reconnecting_&]:bg-[var(--amber)] [.channel-live-status.reconnecting_&]:shadow-[0_0_0_4px_var(--warning-soft)] [.channel-live-status.reconnecting_&]:[animation:pulse-dot_1.2s_infinite] [.channel-live-status.failed_&]:bg-[var(--danger)] [.channel-live-status.failed_&]:shadow-[0_0_0_4px_var(--danger-soft)] w-[8px] h-[8px] [flex:0_0_auto] rounded-[var(--r-pill)] bg-[var(--status-muted)] shadow-[0_0_0_4px_var(--surface-muted)]`}),(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`strong`,{children:P($.status,s)}),(0,j.jsx)(`small`,{children:$.lastError||($.status===`connected`?s(`channels:channelsPage.connectedTime`,{time:y($.connectedAt,m)}):s(`channels:channelsPage.establishingPersistentConnection`))})]})]}),(0,j.jsxs)(`div`,{className:`modal-toggle-row [&_>_span]:flex [&_>_span]:flex-col [&_>_span]:gap-[3px] [&_strong]:text-[13px] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] dark:bg-[var(--surface-subtle)] flex min-h-[45px] items-center justify-between gap-[12px] [margin-top:10px] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-sm)] bg-[var(--surface-subtle)] [padding:8px_10px]`,children:[(0,j.jsxs)(`span`,{children:[(0,j.jsx)(`strong`,{children:s(`channels:channelsPage.enableThisChannel`)}),(0,j.jsx)(`small`,{children:s(`channels:channelsPage.turnOffToDisconnectWhileKeepingSignInCredentials`)})]}),(0,j.jsx)(T,{value:$.enabled,disabled:K,ariaLabel:s(`channels:channelsPage.enableThisChannel`),onChange:e=>Q(B,{enabled:e},s(e?`channels:channelsPage.channelEnabled`:`channels:channelsPage.channelPaused`))})]}),(0,j.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.replyModel`),(0,j.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},s(`channels:channelsPage.channelReplyModelUpdated`))},children:[(0,j.jsx)(`option`,{value:``,children:s(`channels:channelsPage.useApplicationDefaultModel`)}),_.models.map(e=>(0,j.jsx)(`option`,{value:`${e.provider}/${e.model}`,children:e.label},`${e.provider}/${e.model}`))]})]}),(0,j.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.approvalMode`),(0,j.jsxs)(i,{value:$.executionMode,onChange:e=>Q(B,{executionMode:e.target.value},s(`channels:channelsPage.approvalModeUpdated`)),children:[(0,j.jsx)(`option`,{value:`approval-required`,children:s(`channels:channelsPage.approvalRequired`)}),(0,j.jsx)(`option`,{value:`workspace-write`,children:s(`channels:channelsPage.workspaceWrite`)}),(0,j.jsx)(`option`,{value:`full-access`,children:s(`channels:channelsPage.fullAccess`)})]})]}),(0,j.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.executionMode`),(0,j.jsxs)(i,{value:$.runMode,onChange:e=>Q(B,{runMode:e.target.value},s(`channels:channelsPage.executionModeUpdated`)),children:[(0,j.jsx)(`option`,{value:`plan`,children:s(`channels:channelsPage.planMode`)}),(0,j.jsx)(`option`,{value:`goal`,children:s(`channels:channelsPage.goalMode`)}),(0,j.jsx)(`option`,{value:`team`,children:s(`channels:channelsPage.teamMode`)})]})]}),(0,j.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.accessScope`),(0,j.jsxs)(i,{value:$.accessMode,onChange:e=>Q(B,{accessMode:e.target.value===`all`?`all`:`owner`},s(`channels:channelsPage.accessScopeUpdated`)),children:[(0,j.jsx)(`option`,{value:`owner`,disabled:!$.ownerConfigured,children:s(`channels:channelsPage.qrCodeOwnerOnly`)}),(0,j.jsx)(`option`,{value:`all`,children:s(B===`feishu`?`channels:channelsPage.allMembersInTheCurrentTenant`:B===`weixin`?`channels:channelsPage.allWeChatUsersWhoMessageTheBot`:`channels:channelsPage.allUsersWhoMessageTheBot`)})]})]}),(0,j.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.defaultWorkingDirectoryForNewChats`),(0,j.jsxs)(`span`,{className:`channel-setting-input [&_input]:min-w-0 [&_input]:border-0 [&_input]:[outline:0] [&_input]:bg-transparent [&_input]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_input]:text-[12px] dark:[&_input]:bg-[var(--solid)] dark:[&_input]:text-[var(--text)] grid h-[34px] grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-[7px] [border:1px_solid_var(--stroke)] rounded-[var(--r-xs)] bg-[var(--surface-subtle)] [padding:3px_3px_3px_9px] text-[var(--text-muted)]`,children:[(0,j.jsx)(c,{size:13}),(0,j.jsx)(`input`,{value:J,onChange:e=>Y(e.target.value)}),(0,j.jsx)(g,{variant:`outline`,disabled:K||J===$.defaultCwd,onClick:()=>Q(B,{defaultCwd:J},s(`channels:channelsPage.defaultWorkingDirectorySaved`)),children:s(`channels:channelsPage.save`)})]})]}),(0,j.jsxs)(b,{children:[(0,j.jsx)(f,{size:15}),(0,j.jsxs)(`span`,{children:[(0,j.jsx)(`strong`,{children:s(`channels:channelsPage.localSecurityBoundary`)}),(0,j.jsx)(`small`,{children:s(`channels:channelsPage.ownerOnlyAccessRespectsToolPermissionsAndExecutionMode`)})]})]}),(0,j.jsxs)(`div`,{className:`mt-[15px] flex gap-2 max-[650px]:flex-wrap`,children:[(0,j.jsxs)(g,{variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:()=>me(B),disabled:K,children:[(0,j.jsx)(u,{size:14}),s(`channels:channelsPage.reconnect`)]}),(0,j.jsxs)(g,{variant:`destructive`,size:`lg`,onClick:()=>he(B),children:[(0,j.jsx)(ae,{size:14}),s(`channels:channelsPage.disconnect`)]})]})]})]})}),H&&(0,j.jsx)(fe,{job:H,onClose:pe,onRetry:()=>Z(H.platform),onSubmitCredentials:async t=>{try{let n=await h(`/api/channels/${H.platform}/onboarding`,{method:`POST`,body:JSON.stringify(t)});`connections`in n?(S(n),U(null),e(s(`channels:channelsPage.nameTwoWayConnectionEstablished`,{name:M(H.platform,s)})),await X()):`mode`in n&&n.mode===`manual`?U({...n,platform:H.platform,status:`starting`,manual:!0}):U({...n,platform:H.platform,manual:n.mode===`manual`})}catch(e){U(t=>t&&{...t,status:`failed`,error:L(e)})}},notify:e})]})})}function fe({job:e,onClose:t,onRetry:n,onSubmitCredentials:i,notify:a}){let{t:o,language:c}=r(),[l,ee]=(0,A.useState)(``),[d,p]=(0,A.useState)(``),[y,re]=(0,A.useState)(``),[x,C]=(0,A.useState)(``),[w,T]=(0,A.useState)(!1),E=[`completed`,`failed`,`cancelled`].includes(e.status),D=e.manual||N(e.platform)&&e.mode!==`qr`,O=e.platform===`qq`?!!(d.trim()&&(y.trim()||x.trim())):!!x.trim(),k=async()=>{if(O){T(!0);try{await i({...d.trim()?{appId:d.trim()}:{},...y.trim()?{appSecret:y.trim()}:{},...x.trim()?{token:x.trim()}:{}})}finally{T(!1)}}};return(0,j.jsx)(`div`,{className:`modal-backdrop max-[650px]:p-[8px] fixed z-[70] inset-0 grid place-items-center overflow-y-auto bg-[var(--modal-overlay)] [backdrop-filter:blur(3px)] [padding:20px] [overscroll-behavior:contain] [animation:fade-in_var(--d1)_var(--ease-out)]`,onMouseDown:e=>e.target===e.currentTarget&&t(),children:(0,j.jsxs)(`section`,{className:`modal !w-[min(430px,100%)] max-h-[calc(100dvh_-_40px)] overflow-y-auto [overscroll-behavior:contain] [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] p-[18px] shadow-[0_26px_70px_-25px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] max-[650px]:max-h-[calc(100dvh_-_16px)] feishu-onboard-modal w-[min(470px,100%)]`,children:[(0,j.jsxs)(S,{children:[(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`h2`,{children:o(D?`channels:channelsPage.configureName`:`channels:channelsPage.connectNameByQRCode`,{name:M(e.platform,o)})}),(0,j.jsx)(`p`,{children:e.platform===`feishu`?o(`channels:channelsPage.createTheBotAppThroughTheOfficialFeishuAuthorizationPage`):e.platform===`weixin`?o(`channels:channelsPage.signInToPersonalWeChatThroughTencentILinkBot`):e.platform===`qq`?o(`channels:channelsPage.scanWithQQToCreateOfficialBot`):o(`channels:channelsPage.enterBotCredentialsForName`,{name:M(e.platform,o)})})]}),(0,j.jsx)(g,{variant:`ghost`,size:`icon`,"aria-label":o(`channels:channelsPage.closeDialog`),onClick:t,children:(0,j.jsx)(m,{size:17})})]}),D&&!e.id&&!E&&(0,j.jsxs)(`div`,{className:`grid gap-[9px] [margin-top:14px]`,children:[e.platform===`qq`&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(v,{variant:`control`,children:[o(`channels:channelsPage.qqAppId`),(0,j.jsx)(_,{value:d,onChange:e=>p(e.target.value)})]}),(0,j.jsxs)(v,{variant:`control`,children:[o(`channels:channelsPage.qqAppSecret`),(0,j.jsx)(_,{type:`password`,value:y,onChange:e=>re(e.target.value)})]}),(0,j.jsx)(`small`,{className:`text-[var(--text-muted)]`,children:o(`channels:channelsPage.qqCredentialsOrToken`)})]}),(0,j.jsxs)(v,{variant:`control`,children:[o(`channels:channelsPage.botToken`),(0,j.jsx)(_,{type:`password`,value:x,onChange:e=>C(e.target.value)})]}),e.setupUrl&&(0,j.jsxs)(b,{children:[e.qrDataUrl&&(0,j.jsx)(`img`,{src:e.qrDataUrl,alt:o(`channels:channelsPage.openOfficialSetupQRCode`),className:`h-[120px] w-[120px] rounded-[var(--r-sm)] bg-white p-1`}),(0,j.jsxs)(`span`,{children:[(0,j.jsx)(`strong`,{children:o(`channels:channelsPage.officialSetupRequired`)}),(0,j.jsx)(`small`,{children:o(`channels:channelsPage.officialSetupInstructions`)}),(0,j.jsxs)(`a`,{href:e.setupUrl,target:`_blank`,rel:`noreferrer`,children:[o(`channels:channelsPage.openOfficialSetup`),(0,j.jsx)(s,{size:12})]})]})]}),(0,j.jsxs)(g,{size:`lg`,disabled:!O||w,onClick:()=>void k(),children:[w?(0,j.jsx)(u,{className:`animate-spin`,size:14}):(0,j.jsx)(te,{size:14}),o(`channels:channelsPage.connect`)]})]}),(!D||e.id||E)&&(0,j.jsxs)(`div`,{className:`feishu-qr-stage [&_img]:w-[248px] [&_img]:max-w-[86%] [&_img]:[border:1px_solid_var(--stroke-soft)] [&_img]:rounded-[var(--r-md)] [&_img]:bg-[var(--lightbox-action-bg)] [&_img]:p-[8px] [&_img]:shadow-[0_12px_30px_-24px_var(--ink-strong)] [&_strong]:text-[13px] [&_p]:max-w-[330px] [&_p]:text-[var(--danger)] [&_p]:text-[12px] [&_p]:leading-[1.5] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] [&.completed]:text-[var(--success)] [&.failed]:text-[var(--danger)] flex min-h-[min(330px,52dvh)] flex-col items-center justify-center gap-[10px] [margin-top:14px] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-md)] bg-[linear-gradient(180deg,var(--surface-highlight),var(--surface-subtle))] [padding:18px] text-center ${e.status}`,children:[e.qrDataUrl?(0,j.jsx)(`img`,{src:e.qrDataUrl,alt:o(`channels:channelsPage.nameConnectionQRCode`,{name:M(e.platform,o)})}):e.status===`failed`?(0,j.jsx)(ne,{size:42}):(0,j.jsx)(u,{className:`animate-spin`,size:32}),(0,j.jsx)(`strong`,{children:D&&!e.id?o(`channels:channelsPage.enterBotCredentialsForName`,{name:M(e.platform,o)}):F(e.status,o)}),e.error&&(0,j.jsx)(`p`,{children:e.error}),e.expireAt&&!E&&(0,j.jsx)(`small`,{children:o(`channels:channelsPage.qrCodeExpiresTime`,{time:I(e.expireAt,c)})})]}),e.needsVerifyCode&&(0,j.jsxs)(`div`,{className:`weixin-verify-code [&_input]:min-w-0 [&_input]:h-[34px] [&_input]:[border:1px_solid_var(--stroke)] [&_input]:rounded-[var(--r-sm)] [&_input]:bg-[var(--solid)] [&_input]:p-[0_10px] [&_input]:text-[var(--text)] [&_input]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_input]:text-[13px] [&_input]:tracking-[.08em] grid grid-cols-[minmax(0,1fr)_auto] gap-[7px] [margin-top:9px]`,children:[(0,j.jsx)(`input`,{value:l,onChange:e=>ee(e.target.value.replace(/\D/g,``).slice(0,8)),placeholder:o(`channels:channelsPage.enterTheNumberShownOnYourPhone`)}),(0,j.jsx)(g,{size:`lg`,disabled:!l,onClick:async()=>{try{await h(`/api/channels/${e.platform}/onboarding/${encodeURIComponent(e.id||``)}/verify`,{method:`POST`,body:JSON.stringify({code:l})}),a(o(`channels:channelsPage.pairingCodeSubmitted`))}catch(e){a(L(e),`error`)}},children:o(`channels:channelsPage.submitPairingCode`)})]}),e.qrUrl&&!E&&(0,j.jsx)(g,{asChild:!0,variant:`outline`,size:`lg`,className:`[margin-top:9px] no-underline w-full bg-surface-subtle`,children:(0,j.jsxs)(`a`,{href:e.qrUrl,target:`_blank`,rel:`noreferrer`,children:[(0,j.jsx)(s,{size:14}),o(`channels:channelsPage.cannotScanOpenTheSignInLink`)]})}),(0,j.jsxs)(b,{children:[(0,j.jsx)(f,{size:15}),(0,j.jsxs)(`span`,{children:[(0,j.jsx)(`strong`,{children:o(`channels:channelsPage.persistentTwoWayConnection`)}),(0,j.jsx)(`small`,{children:e.platform===`feishu`?o(`channels:channelsPage.webSocketReceivesDirectMessagesAndGroupMentions`):e.platform===`weixin`?o(`channels:channelsPage.tencentILinkContinuouslyPollsDirectMessagesAndSupportsTextAndMediaReplies`):le(e.platform,o)})]})]}),(0,j.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[(0,j.jsx)(g,{variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:t,children:o(E?`channels:channelsPage.off`:`channels:channelsPage.cancel`)}),e.status===`failed`&&(0,j.jsxs)(g,{size:`lg`,onClick:n,children:[(0,j.jsx)(u,{size:14}),o(D?`channels:channelsPage.retry`:`channels:channelsPage.generateANewQRCode`)]})]})]})})}export{R as ChannelsPage};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/public-Cv_Xe2Sp.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-router-CZg2bCPV.js","assets/vendor-react-DwNgTV1j.js","assets/use-i18n-BrWBoyFl.js","assets/i18n-CblgkPOp.js","assets/index-BAYzSwUr.js","assets/index-Bcpvpefn.css","assets/storage-BpAqa-YY.js","assets/vendor-state-GkUciC5H.js","assets/utils-C8uzG5AZ.js","assets/vendor-ui-DvrYggeS.js","assets/createLucideIcon-Cd-3GVxJ.js","assets/arrow-left-B8oVrQ2S.js","assets/blocks-Olsdp5Lp.js","assets/panels-top-left-K8n2CefH.js","assets/refresh-cw-TbWxTY4K.js","assets/settings-2-CXJjXJS9.js","assets/shield-check-Gvek4RJ7.js","assets/http-Dx387MGl.js","assets/abort-signal-f4JsiYKX.js","assets/button-BcPDt1Ge.js","assets/dist-Cfh4kzCK.js","assets/floating-widgets-store-BAfPpV4Z.js","assets/api-CiEo53J1.js","assets/useCustomUiComponents-IxX7wKrp.js","assets/useQuery-DdcpUQhO.js","assets/query-Bj-DUNYq.js","assets/queryOptions-Dfvzj6n2.js","assets/dialog-CGGxREwU.js","assets/dist-BdkTa5R3.js","assets/dist-B_a0oV4U.js","assets/es2015-0QT3KgdC.js","assets/x-07u4-129.js","assets/app-primitives-DhqJLud3.js","assets/switch-Ci_hmu39.js","assets/dist-TksYpDID.js","assets/tabs-DQYVDdOp.js","assets/dist-DAs5KRGl.js","assets/card-BdUpL1KB.js","assets/PageFrame-BiJUCJku.js","assets/PageToolbar-DGjx3obb.js"])))=>i.map(i=>d[i]);
2
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t,p as n}from"./vendor-router-CZg2bCPV.js";import{i as r,r as i}from"./vendor-react-DwNgTV1j.js";import{i as a}from"./i18n-CblgkPOp.js";import{t as o}from"./use-i18n-BrWBoyFl.js";import{i as s,n as c,r as l,t as u}from"./tabs-DQYVDdOp.js";var d=e(r(),1),f=i(),p=(0,d.lazy)(async()=>{let[{CustomUiPage:e}]=await Promise.all([n(()=>import(`./public-Cv_Xe2Sp.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41])),a()]);return{default:e}});function m({appearance:e,notify:n}){let{t:r}=o(),[i,a]=t(),m=i.get(`view`);return(0,f.jsxs)(u,{value:m===`layout`||m===`widgets`?`widgets`:`appearance`,onValueChange:e=>{a(t=>{let n=new URLSearchParams(t);return e===`appearance`?n.delete(`view`):n.set(`view`,e),n},{replace:!0})},className:`min-h-full min-w-0 gap-4`,children:[(0,f.jsxs)(l,{"aria-label":r(`config:interfaceSettings.tabsLabel`),className:`max-w-full`,children:[(0,f.jsx)(s,{value:`appearance`,children:r(`config:interfaceSettings.appearanceTab`)}),(0,f.jsx)(s,{value:`widgets`,children:r(`config:interfaceSettings.customUiTab`)})]}),(0,f.jsx)(c,{value:`appearance`,className:`min-w-0`,children:e}),(0,f.jsx)(c,{value:`widgets`,className:`min-h-0 min-w-0 flex-1`,"data-config-card":`interface-custom-ui`,children:(0,f.jsx)(d.Suspense,{fallback:(0,f.jsx)(`p`,{role:`status`,children:r(`common:webPreview.loading`)}),children:(0,f.jsx)(p,{notify:n,embedded:!0})})})]})}export{m as ChatAppearancePage};
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Threads-B8ij_QtI.js","assets/vendor-react-DwNgTV1j.js","assets/rolldown-runtime-B0Z9INg1.js","assets/utils-C8uzG5AZ.js","assets/vendor-ui-DvrYggeS.js","assets/use-animation-visibility-_Xe7jeUy.js","assets/react-bits-DQli9s7O.css"])))=>i.map(i=>d[i]);
2
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{p as t}from"./vendor-router-CZg2bCPV.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./use-i18n-Dpn7lxcE.js";import{t as a}from"./arrow-left-B8oVrQ2S.js";import{t as o}from"./arrow-right-DqLOhpA2.js";import{a as s,n as c,r as l}from"./web-preview-panel-CHiIjAoR.js";import{t as u}from"./earth-Ddy13fHh.js";import{t as d}from"./external-link-CEQqPcqc.js";import{t as f}from"./loader-circle-BOwQzHB-.js";import{t as p}from"./web-preview-C3u-dblt.js";import{t as m}from"./plus-fQbSqB1n.js";import{t as h}from"./refresh-cw-TbWxTY4K.js";import{o as g}from"./shortcuts-CAyIKRpZ.js";import{t as _}from"./vendor-dockview-Bf3Gg83W.js";import{a as v,i as y,n as b,r as x,t as S}from"./web-preview-C-4r6kgm.js";var C=e(n(),1),w=r(),T=(0,C.lazy)(()=>t(()=>import(`./Threads-B8ij_QtI.js`).then(e=>({default:e.Threads})),__vite__mapDeps([0,1,2,3,4,5,6])));function E(e){return e?{entries:[e],index:0}:{entries:[],index:-1}}function D({params:e,api:t}){let{t:n}=i(),r=p(e?.url||``,window.location.href)||``,[s,l]=(0,C.useState)(()=>t.isVisible),[m,g]=(0,C.useState)(()=>E(r)),[_,D]=(0,C.useState)(0),[O,k]=(0,C.useState)(!!r),A=m.index>=0&&m.entries[m.index]||``;(0,C.useEffect)(()=>{l(t.isVisible);let e=t.onDidVisibilityChange(({isVisible:e})=>l(e));return()=>e.dispose()},[t]),(0,C.useEffect)(()=>{!r||r===A||(g(E(r)),D(0),k(!0))},[A,r]),(0,C.useEffect)(()=>{t.setTitle(c(A,n(`common:webPreview.title`)))},[t,A,n]);let j=(0,C.useCallback)(e=>{let n=p(e,A||window.location.href);!n||n===A||(g(e=>({entries:[...e.entries.slice(0,e.index+1),n],index:e.index+1})),t.updateParameters({url:n}),D(0),k(!0))},[t,A]),M=(0,C.useCallback)(e=>{let n=m.index+e;if(n<0||n>=m.entries.length)return;let r=m.entries[n];g(e=>({...e,index:n})),t.updateParameters({url:r}),k(!0)},[t,m]),N=(0,C.useCallback)(()=>{D(e=>e+1),k(!0)},[]),P=(0,C.useCallback)(()=>{A&&window.open(A,`_blank`,`noopener,noreferrer`)},[A]);return s?A?(0,w.jsx)(`div`,{className:`web-preview-panel [&_>_div]:rounded-[0] w-full h-full min-w-0 min-h-0 overflow-hidden bg-[var(--panel)]`,onFocusCapture:()=>t.setActive(),children:(0,w.jsxs)(S,{className:`rounded-none border-0`,defaultUrl:A,onUrlChange:j,children:[(0,w.jsxs)(x,{children:[(0,w.jsx)(y,{"aria-label":n(`common:webPreview.back`),disabled:m.index<=0,onClick:()=>M(-1),tooltip:n(`common:webPreview.back`),children:(0,w.jsx)(a,{})}),(0,w.jsx)(y,{"aria-label":n(`common:webPreview.forward`),disabled:m.index>=m.entries.length-1,onClick:()=>M(1),tooltip:n(`common:webPreview.forward`),children:(0,w.jsx)(o,{})}),(0,w.jsx)(y,{"aria-label":n(`common:webPreview.reload`),onClick:N,tooltip:n(`common:webPreview.reload`),children:(0,w.jsx)(h,{})}),(0,w.jsxs)(`div`,{className:`web-preview-address [&_>_svg]:w-[14px] [&_>_svg]:h-[14px] [&_>_svg]:flex-none [&_>_svg]:text-[var(--text-muted)] flex min-w-0 flex-1 items-center gap-[7px] [margin:0_3px]`,children:[(0,w.jsx)(u,{"aria-hidden":`true`}),(0,w.jsx)(v,{"aria-label":n(`common:webPreview.url`),placeholder:n(`common:webPreview.urlPlaceholder`)})]}),(0,w.jsx)(y,{"aria-label":n(`common:webPreview.openExternal`),onClick:P,tooltip:n(`common:webPreview.openExternal`),children:(0,w.jsx)(d,{})})]}),(0,w.jsx)(b,{onLoad:()=>k(!1),src:A,title:n(`common:webPreview.title`),loading:O?(0,w.jsxs)(`div`,{className:`absolute inset-0 grid place-items-center overflow-hidden bg-[color-mix(in_srgb,var(--panel)_86%,transparent)] text-[var(--text-muted)] text-[12px] [backdrop-filter:blur(3px)]`,children:[(0,w.jsx)(C.Suspense,{fallback:null,children:(0,w.jsx)(T,{})}),(0,w.jsxs)(`span`,{className:`relative z-[1] flex items-center gap-[8px] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-pill)] bg-[color-mix(in_srgb,var(--panel)_82%,transparent)] [padding:7px_11px] shadow-[var(--sh-1)]`,children:[(0,w.jsx)(f,{className:`animate-spin`,size:18}),(0,w.jsx)(`span`,{children:n(`common:webPreview.loading`)})]})]}):null},`${A}:${_}`),(0,w.jsx)(`div`,{className:`flex-none [border-top:1px_solid_var(--stroke-soft)] bg-[var(--surface-subtle)] [padding:5px_10px] text-[var(--text-muted)] text-[10px] leading-[1.4]`,children:n(`common:webPreview.embedNotice`)})]},`${m.index}:${A}`)}):(0,w.jsxs)(`div`,{className:`web-preview-panel [&_>_div]:rounded-[0] w-full h-full min-w-0 min-h-0 overflow-hidden bg-[var(--panel)] web-preview-empty [&_strong]:text-[var(--text)] [&_strong]:text-[13px] flex flex-col items-center justify-center gap-[8px] text-[var(--text-muted)]`,onFocusCapture:()=>t.setActive(),children:[(0,w.jsx)(u,{size:24}),(0,w.jsx)(`strong`,{children:n(`common:webPreview.title`)})]}):null}function O({compactDock:e,onDockReady:t,onDockDispose:n,getTabContextMenuItems:r,createSession:a}){let o=(0,C.useRef)(null);(0,C.useLayoutEffect)(()=>()=>{o.current&&n(o.current)},[n]);let{t:c}=i(),u=g(`primaryAction`),d=(0,C.useMemo)(()=>function({group:e}){let t=c(`navigation:pageHeader.newChat`);return(0,w.jsx)(`button`,{type:`button`,className:`dock-new-session hover:bg-[var(--surface-hover)] hover:text-[var(--text)] focus-visible:relative focus-visible:z-[1] focus-visible:[outline:2px_solid_var(--focus)] focus-visible:[outline-offset:-2px] grid w-[36px] h-[35px] flex-none place-items-center border-0 [border-left:1px_solid_var(--stroke-soft)] bg-transparent text-[var(--text-muted)] cursor-pointer`,title:t,"aria-label":t,onPointerDown:e=>e.stopPropagation(),onClick:t=>{t.stopPropagation(),a(e)},children:(0,w.jsx)(m,{size:15})})},[a,c]),f=(0,C.useMemo)(()=>({session:s,webPreview:D}),[]),p=(0,C.useMemo)(()=>function(){return(0,w.jsx)(l,{onNewSession:()=>a(),newSessionShortcut:u})},[a,u]);return(0,w.jsx)(_,{className:`dockview-theme-light dockview-theme-pisper`,components:f,watermarkComponent:p,leftHeaderActionsComponent:d,onReady:e=>{o.current=e.api,t(e)},getTabContextMenuItems:r,disableFloatingGroups:!0,disableDnd:e,noPanelsOverlay:`watermark`})}export{O as ChatDockView};
2
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{p as t}from"./vendor-router-CZg2bCPV.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./use-i18n-BrWBoyFl.js";import{t as a}from"./arrow-left-B8oVrQ2S.js";import{t as o}from"./arrow-right-DqLOhpA2.js";import{i as s,n as c,r as l}from"./web-preview-panel-B7JAZr2D.js";import{t as u}from"./earth-Ddy13fHh.js";import{t as d}from"./external-link-CEQqPcqc.js";import{t as f}from"./loader-circle-BOwQzHB-.js";import{t as p}from"./plus-fQbSqB1n.js";import{t as m}from"./refresh-cw-TbWxTY4K.js";import{o as h}from"./shortcuts-ChJr3RP4.js";import{t as g}from"./vendor-dockview-Bf3Gg83W.js";import{t as _}from"./web-preview-D1qOo-1X.js";import{a as v,i as y,n as b,r as x,t as S}from"./web-preview-C-4r6kgm.js";var C=e(n(),1),w=r(),T=(0,C.lazy)(()=>t(()=>import(`./Threads-B8ij_QtI.js`).then(e=>({default:e.Threads})),__vite__mapDeps([0,1,2,3,4,5,6])));function E(e){return e?{entries:[e],index:0}:{entries:[],index:-1}}function D({params:e,api:t}){let{t:n}=i(),r=_(e?.url||``,window.location.href)||``,[s,l]=(0,C.useState)(()=>t.isVisible),[p,h]=(0,C.useState)(()=>E(r)),[g,D]=(0,C.useState)(0),[O,k]=(0,C.useState)(!!r),A=p.index>=0&&p.entries[p.index]||``;(0,C.useEffect)(()=>{l(t.isVisible);let e=t.onDidVisibilityChange(({isVisible:e})=>l(e));return()=>e.dispose()},[t]),(0,C.useEffect)(()=>{!r||r===A||(h(E(r)),D(0),k(!0))},[A,r]),(0,C.useEffect)(()=>{t.setTitle(c(A,n(`common:webPreview.title`)))},[t,A,n]);let j=(0,C.useCallback)(e=>{let n=_(e,A||window.location.href);!n||n===A||(h(e=>({entries:[...e.entries.slice(0,e.index+1),n],index:e.index+1})),t.updateParameters({url:n}),D(0),k(!0))},[t,A]),M=(0,C.useCallback)(e=>{let n=p.index+e;if(n<0||n>=p.entries.length)return;let r=p.entries[n];h(e=>({...e,index:n})),t.updateParameters({url:r}),k(!0)},[t,p]),N=(0,C.useCallback)(()=>{D(e=>e+1),k(!0)},[]),P=(0,C.useCallback)(()=>{A&&window.open(A,`_blank`,`noopener,noreferrer`)},[A]);return s?A?(0,w.jsx)(`div`,{className:`web-preview-panel [&_>_div]:rounded-[0] w-full h-full min-w-0 min-h-0 overflow-hidden bg-[var(--panel)]`,onFocusCapture:()=>t.setActive(),children:(0,w.jsxs)(S,{className:`rounded-none border-0`,defaultUrl:A,onUrlChange:j,children:[(0,w.jsxs)(x,{children:[(0,w.jsx)(y,{"aria-label":n(`common:webPreview.back`),disabled:p.index<=0,onClick:()=>M(-1),tooltip:n(`common:webPreview.back`),children:(0,w.jsx)(a,{})}),(0,w.jsx)(y,{"aria-label":n(`common:webPreview.forward`),disabled:p.index>=p.entries.length-1,onClick:()=>M(1),tooltip:n(`common:webPreview.forward`),children:(0,w.jsx)(o,{})}),(0,w.jsx)(y,{"aria-label":n(`common:webPreview.reload`),onClick:N,tooltip:n(`common:webPreview.reload`),children:(0,w.jsx)(m,{})}),(0,w.jsxs)(`div`,{className:`web-preview-address [&_>_svg]:w-[14px] [&_>_svg]:h-[14px] [&_>_svg]:flex-none [&_>_svg]:text-[var(--text-muted)] flex min-w-0 flex-1 items-center gap-[7px] [margin:0_3px]`,children:[(0,w.jsx)(u,{"aria-hidden":`true`}),(0,w.jsx)(v,{"aria-label":n(`common:webPreview.url`),placeholder:n(`common:webPreview.urlPlaceholder`)})]}),(0,w.jsx)(y,{"aria-label":n(`common:webPreview.openExternal`),onClick:P,tooltip:n(`common:webPreview.openExternal`),children:(0,w.jsx)(d,{})})]}),(0,w.jsx)(b,{onLoad:()=>k(!1),src:A,title:n(`common:webPreview.title`),loading:O?(0,w.jsxs)(`div`,{className:`absolute inset-0 grid place-items-center overflow-hidden bg-[color-mix(in_srgb,var(--panel)_86%,transparent)] text-[var(--text-muted)] text-[12px] [backdrop-filter:blur(3px)]`,children:[(0,w.jsx)(C.Suspense,{fallback:null,children:(0,w.jsx)(T,{})}),(0,w.jsxs)(`span`,{className:`relative z-[1] flex items-center gap-[8px] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-pill)] bg-[color-mix(in_srgb,var(--panel)_82%,transparent)] [padding:7px_11px] shadow-[var(--sh-1)]`,children:[(0,w.jsx)(f,{className:`animate-spin`,size:18}),(0,w.jsx)(`span`,{children:n(`common:webPreview.loading`)})]})]}):null},`${A}:${g}`),(0,w.jsx)(`div`,{className:`flex-none [border-top:1px_solid_var(--stroke-soft)] bg-[var(--surface-subtle)] [padding:5px_10px] text-[var(--text-muted)] text-[10px] leading-[1.4]`,children:n(`common:webPreview.embedNotice`)})]},`${p.index}:${A}`)}):(0,w.jsxs)(`div`,{className:`web-preview-panel [&_>_div]:rounded-[0] w-full h-full min-w-0 min-h-0 overflow-hidden bg-[var(--panel)] web-preview-empty [&_strong]:text-[var(--text)] [&_strong]:text-[13px] flex flex-col items-center justify-center gap-[8px] text-[var(--text-muted)]`,onFocusCapture:()=>t.setActive(),children:[(0,w.jsx)(u,{size:24}),(0,w.jsx)(`strong`,{children:n(`common:webPreview.title`)})]}):null}function O({compactDock:e,onDockReady:t,onDockDispose:n,getTabContextMenuItems:r,createSession:a}){let o=(0,C.useRef)(null);(0,C.useLayoutEffect)(()=>()=>{o.current&&n(o.current)},[n]);let{t:c}=i(),u=h(`primaryAction`),d=(0,C.useMemo)(()=>function({group:e}){let t=c(`navigation:pageHeader.newChat`);return(0,w.jsx)(`button`,{type:`button`,className:`dock-new-session hover:bg-[var(--surface-hover)] hover:text-[var(--text)] focus-visible:relative focus-visible:z-[1] focus-visible:[outline:2px_solid_var(--focus)] focus-visible:[outline-offset:-2px] grid w-[36px] h-[35px] flex-none place-items-center border-0 [border-left:1px_solid_var(--stroke-soft)] bg-transparent text-[var(--text-muted)] cursor-pointer`,title:t,"aria-label":t,onPointerDown:e=>e.stopPropagation(),onClick:t=>{t.stopPropagation(),a(e)},children:(0,w.jsx)(p,{size:15})})},[a,c]),f=(0,C.useMemo)(()=>({session:s,webPreview:D}),[]),m=(0,C.useMemo)(()=>function(){return(0,w.jsx)(l,{onNewSession:()=>a(),newSessionShortcut:u})},[a,u]);return(0,w.jsx)(g,{className:`dockview-theme-light dockview-theme-pisper`,components:f,watermarkComponent:m,leftHeaderActionsComponent:d,onReady:e=>{o.current=e.api,t(e)},getTabContextMenuItems:r,disableFloatingGroups:!0,disableDnd:e,noPanelsOverlay:`watermark`})}export{O as ChatDockView};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./index-BAYzSwUr.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./use-i18n-BrWBoyFl.js";import{t as a}from"./storage-BpAqa-YY.js";import{a as o,l as s,n as c,r as l,t as ee}from"./dropdown-menu-LKlOCZsZ.js";import{t as u}from"./utils-C8uzG5AZ.js";import{n as te,t as d}from"./pin-off-DRR1KEvN.js";import{n as f,t as p}from"./pin-Dc2zE4cS.js";import{t as ne}from"./chevron-right-C3t2Rckj.js";import{t as re}from"./circle-alert-DCChabnT.js";import{t as ie}from"./ellipsis-CfGKfbq6.js";import{t as ae}from"./message-square-SKjZyY3v.js";import{t as oe}from"./pencil-U08v_vV9.js";import{t as m}from"./refresh-cw-TbWxTY4K.js";import{t as se}from"./rotate-ccw-clock-CO6Bw-sF.js";import{t as ce}from"./trash-2-CNrPOoPR.js";import{t as h}from"./api-CiEo53J1.js";import{t as g}from"./button-BcPDt1Ge.js";import{t as _}from"./useQuery-DdcpUQhO.js";import{t as le}from"./startup-queries-uKXB2KOP.js";import{_ as v,c as y,g as ue,l as b,r as x,t as S,v as de}from"./events-f8vVvSfH.js";import{t as C}from"./session-change-summary-api-CqJa3Wdh.js";import{i as fe,r as pe}from"./format-BRFKAYMT.js";import{i as w,r as T,t as me}from"./app-primitives-DhqJLud3.js";/* empty css */import{t as he}from"./StarOrbit-BAAjh-hY.js";import{t as E}from"./brand-DIEc3fK8.js";import{n as ge,r as D,s as O,t as _e}from"./session-organization-api-B0E2RXLS.js";var k=e(n(),1),A=r();function j({className:e,onPointerMove:t,...n}){let r=(0,k.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,A.jsx)(`div`,{className:u(`rb-spotlight-card`,e),onPointerMove:r,...n})}function M(e,t,n,r=`active`){let i=t.trim().toLowerCase(),a=i?e.filter(e=>`${e.name||``} ${e.firstMessage||``} ${e.cwd||``} ${e.model||``}`.toLowerCase().includes(i)):e.filter(e=>!!e.archived==(r===`archived`));return{total:a.length,items:O(a).slice(0,Math.max(0,n))}}function N({sessionId:e,lastCompletedAt:t,streaming:n}){let{t:r}=i(),a=(0,k.useRef)(null),[o,s]=(0,k.useState)(!1);(0,k.useEffect)(()=>{let e=a.current;if(!e||o)return;if(!(`IntersectionObserver`in window)){s(!0);return}let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(s(!0),t.disconnect())},{rootMargin:`120px`});return t.observe(e),()=>t.disconnect()},[o]);let{data:c}=_({queryKey:[`session-change-summary`,e,t],queryFn:()=>C(e),enabled:o,staleTime:6e4,retry:0,refetchInterval:n&&o?2e4:!1});return c?.status!==`known`||!c.changedFiles?(0,A.jsx)(`span`,{ref:a}):(0,A.jsx)(`span`,{ref:a,className:`ml-1 inline-flex items-center gap-1 tabular-nums before:mr-1 before:content-['·']`,children:r(`chat:chatHistoryPage.changeSummary`,{count:c.changedFiles,added:c.added||0,removed:c.removed||0})})}function P({query:e,navigate:n,notify:r,requestConfirm:u,requestText:_}){let{t:C,language:P}=i(),[F,I]=(0,k.useState)([]),[L,ve]=(0,k.useState)(`active`),R=`${L}\0${e}`,[z,B]=(0,k.useState)({filterKey:R,count:50}),V=(0,k.useRef)(0),H=(0,k.useRef)(!1),U=(0,k.useRef)(null),[W,G]=(0,k.useState)(()=>t.getItem(a.activeSession)||``),[K,q]=(0,k.useState)(!0),[J,Y]=(0,k.useState)(``);(0,k.useEffect)(()=>{B(e=>e.filterKey===R&&e.count===50?e:{filterKey:R,count:50})},[R]);let X=(0,k.useCallback)(async(e=!1)=>{let t=++V.current;e||(q(!0),Y(``));try{let e=await le(`sessions`,!0);if(t!==V.current)return;I(O(e.sessions||[]))}catch(e){t===V.current&&Y(e instanceof Error?e.message:String(e))}finally{t===V.current&&q(!1)}},[]);(0,k.useEffect)(()=>(document.title=`${C(`chat:chatHistoryPage.chatHistory`)} · ${E}`,()=>{document.title=E}),[C]),(0,k.useEffect)(()=>{X();let e=e=>{let t=v(e);if(t){let e=new Set(t.deletedIds);I(t=>t.filter(t=>!e.has(t.id)))}let n=de(e);n&&I(e=>D(e,n)),X(!0)},n=e=>G(e.detail?.id||t.getItem(a.activeSession)||``);return window.addEventListener(x,e),window.addEventListener(S,n),()=>{window.removeEventListener(x,e),window.removeEventListener(S,n)}},[X]),(0,k.useEffect)(()=>{let e=()=>{document.visibilityState===`visible`&&X(!0)},t=window.setInterval(e,2e4);return document.addEventListener(`visibilitychange`,e),()=>{window.clearInterval(t),document.removeEventListener(`visibilitychange`,e)}},[X]);let Z=z.filterKey===R?z.count:50,Q=(0,k.useMemo)(()=>M(F,e,Z,L),[L,e,F,Z]),ye=F.filter(e=>e.archived).length;(0,k.useEffect)(()=>{H.current&&(H.current=!1,U.current?.focus())},[Q.items.length,Q.total]);let be=e=>{ue(e),n(`chat`)},xe=async e=>{let t=await _({title:C(`chat:chatHistoryPage.renameChat`),inputLabel:C(`chat:chatHistoryPage.chatTitle`),value:e.name,confirmLabel:C(`chat:chatHistoryPage.save`)});if(t!==null&&t!==e.name)try{let n=await h(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`PATCH`,body:JSON.stringify({name:t})});I(t=>t.map(t=>t.id===e.id?{...t,name:n.name}:t)),b({id:e.id,name:n.name}),r(C(`chat:chatHistoryPage.chatTitleUpdated`))}catch(e){Y(e instanceof Error?e.message:String(e))}},$=async(e,t,n)=>{try{let i=await ge(e.id,t);I(e=>D(e,i)),r(n)}catch(e){Y(e instanceof _e?C(`chat:chatHistoryPage.sessionUpdateFailed`):e instanceof Error?e.message:String(e))}},Se=async e=>{if(await u({title:C(`chat:chatHistoryPage.deleteChat`),message:C(`chat:chatHistoryPage.deleteChatNameThisAlsoRemovesLocalChatHistory`,{name:e.name}),confirmLabel:C(`chat:chatHistoryPage.delete`)}))try{await h(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`DELETE`});let n=F.filter(t=>t.id!==e.id);if(I(n),W===e.id){let e=n[0]?.id||``;G(e),e?t.setItem(a.activeSession,e):t.removeItem(a.activeSession),y(e)}b({deletedIds:[e.id]}),r(C(`chat:chatHistoryPage.chatDeleted`))}catch(e){Y(e instanceof Error?e.message:String(e))}};return(0,A.jsxs)(`div`,{className:`flex min-h-[100%] flex-col gap-[12px]`,children:[(0,A.jsxs)(`div`,{className:`chat-history-summary [&_>_div]:flex [&_>_div]:min-w-0 [&_>_div]:items-center [&_>_div]:gap-[10px] [&_>_div]:text-[var(--star-strong)] [&_>_div_>_span]:flex [&_>_div_>_span]:min-w-0 [&_>_div_>_span]:flex-col [&_>_div_>_span]:gap-[2px] [&_strong]:text-[var(--text)] [&_strong]:text-[13px] [&_small]:text-[var(--text-muted)] [&_small]:text-[11px] flex min-h-[52px] items-center justify-between gap-[12px] [border:1px_solid_var(--stroke)] rounded-[var(--r-md)] bg-[var(--panel)] [padding:8px_10px_8px_14px] shadow-[var(--sh-1)]`,children:[(0,A.jsxs)(`div`,{children:[(0,A.jsx)(se,{size:18}),(0,A.jsxs)(`span`,{children:[(0,A.jsx)(`strong`,{children:C(`chat:chatHistoryPage.countChatHistoryItems`,{count:F.length})}),(0,A.jsx)(`small`,{children:e?C(`chat:chatHistoryPage.countCurrentlyFiltered`,{count:Q.total}):C(`chat:chatHistoryPage.sortedByMostRecentlyUpdated`)})]})]}),(0,A.jsxs)(g,{variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:()=>void X(),disabled:K,children:[(0,A.jsx)(m,{className:K?`animate-spin`:``,size:14}),C(`chat:chatHistoryPage.refresh`)]})]}),(0,A.jsx)(`div`,{role:`group`,"aria-label":C(`chat:chatHistoryPage.historySections`),className:`flex gap-2`,children:[`active`,`archived`].map(e=>(0,A.jsx)(g,{"aria-pressed":L===e,variant:L===e?`secondary`:`ghost`,className:`min-h-11`,onClick:()=>ve(e),children:e===`active`?C(`chat:chatHistoryPage.activeChats`):C(`chat:chatHistoryPage.archivedChats`,{count:ye})},e))}),J&&(0,A.jsx)(w,{children:J}),K&&!F.length?(0,A.jsxs)(T,{children:[(0,A.jsx)(m,{className:`animate-spin`,size:22}),(0,A.jsx)(`h2`,{children:C(`chat:chatHistoryPage.loadingChatHistory`)})]}):Q.total?(0,A.jsxs)(me,{className:`chat-history-list overflow-hidden !p-[5px]`,children:[Q.items.map(t=>(0,A.jsxs)(j,{className:`chat-history-row [.chat-history-row_+_&]:[border-top:1px_solid_var(--stroke-soft)] hover:bg-[var(--surface-subtle)] [&.active]:bg-[var(--surface-subtle)] [&.active]:shadow-[inset_3px_0_var(--brand-blue)] grid grid-cols-[minmax(0,1fr)_auto] items-center rounded-[var(--r-sm)] ${t.id===W?`active`:``}`,children:[(0,A.jsxs)(`button`,{className:`chat-history-open [&_>_svg]:text-[var(--text-muted)] max-[650px]:grid-cols-[32px_minmax(0,1fr)_auto] grid w-full min-w-0 min-h-[72px] grid-cols-[34px_minmax(0,1fr)_auto_auto] items-center gap-[10px] border-0 bg-transparent [padding:9px_10px] text-left`,type:`button`,"aria-label":C(`chat:chatHistoryPage.openChatNamed`,{name:t.name||C(`chat:chatHistoryPage.untitledChat`)}),onClick:()=>be(t.id),children:[(0,A.jsx)(`span`,{className:`grid w-[32px] h-[32px] place-items-center rounded-[var(--r-sm)] bg-[var(--star-soft)] text-[var(--star-strong)]`,children:(0,A.jsx)(ae,{size:15})}),(0,A.jsxs)(`span`,{className:`chat-history-copy [&_strong]:overflow-hidden [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_>_span]:overflow-hidden [&_>_span]:text-ellipsis [&_>_span]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-ellipsis [&_small]:whitespace-nowrap [&_strong]:text-[var(--text)] [&_strong]:text-[13px] [&_>_span]:text-[var(--text-soft)] [&_>_span]:text-[12px] [&_small]:text-[var(--text-muted)] [&_small]:text-[11px] max-[650px]:[&_>_span]:max-w-[54vw] flex min-w-0 flex-col gap-[3px]`,children:[(0,A.jsxs)(`strong`,{title:t.name||C(`chat:chatHistoryPage.untitledChat`),children:[t.pinned&&(0,A.jsx)(p,{className:`mr-1 inline size-3`,"aria-hidden":`true`}),t.name||C(`chat:chatHistoryPage.untitledChat`)]}),(0,A.jsx)(`span`,{children:t.firstMessage||C(`chat:chatHistoryPage.noMessageSummary`)}),(0,A.jsxs)(`small`,{children:[t.needsAttention&&(0,A.jsxs)(`span`,{className:`mr-2 inline-flex items-center gap-1 text-[var(--text-secondary)]`,children:[(0,A.jsx)(re,{className:`size-3`,"aria-hidden":`true`}),C(`chat:chatHistoryPage.needsAttention`)]}),t.unread&&(0,A.jsx)(`span`,{className:`mr-2 font-semibold text-[var(--brand-blue)]`,children:C(`chat:chatHistoryPage.unread`)}),t.archived&&e.trim()&&(0,A.jsx)(`span`,{className:`mr-2`,children:C(`chat:chatHistoryPage.archived`)}),fe(t.cwd,P),t.model&&!/(^|\/)unknown$/i.test(String(t.model))?` · ${String(t.model).split(`/`).at(-1)}`:``,t.streaming?` · ${C(`chat:chatHistoryPage.agentRunning`)}`:``,(0,A.jsx)(N,{sessionId:t.id,lastCompletedAt:t.lastCompletedAt,streaming:t.streaming})]})]}),(0,A.jsxs)(`span`,{className:`chat-history-meta [&_strong]:text-[var(--text-soft)] [&_strong]:text-[11px] [&_small]:text-[var(--text-muted)] [&_small]:text-[10px] max-[650px]:hidden flex min-w-[92px] flex-col items-end gap-[3px]`,children:[(0,A.jsx)(`strong`,{children:C(`chat:chatHistoryPage.countMessages`,{count:t.messageCount||0})}),(0,A.jsx)(`small`,{children:pe(t.modified,P)})]}),(0,A.jsx)(ne,{size:15})]}),(0,A.jsxs)(ee,{children:[(0,A.jsx)(s,{asChild:!0,children:(0,A.jsx)(g,{type:`button`,variant:`ghost`,size:`icon`,className:`mr-2 size-11 shrink-0`,"aria-label":C(`chat:chatHistoryPage.moreActionsForChat`,{name:t.name||C(`chat:chatHistoryPage.untitledChat`)}),children:(0,A.jsx)(ie,{size:18})})}),(0,A.jsxs)(c,{align:`end`,className:`min-w-48`,children:[(0,A.jsxs)(l,{className:`min-h-11`,onSelect:()=>void xe(t),children:[(0,A.jsx)(oe,{}),C(`chat:chatHistoryPage.renameChat`)]}),(0,A.jsxs)(l,{className:`min-h-11`,onSelect:()=>void $(t,{pinned:!t.pinned},t.pinned?C(`chat:chatHistoryPage.unpinned`):C(`chat:chatHistoryPage.pinned`)),children:[t.pinned?(0,A.jsx)(d,{}):(0,A.jsx)(p,{}),t.pinned?C(`chat:chatHistoryPage.unpin`):C(`chat:chatHistoryPage.pin`)]}),(0,A.jsxs)(l,{className:`min-h-11`,onSelect:()=>void $(t,{archived:!t.archived},t.archived?C(`chat:chatHistoryPage.restored`):C(`chat:chatHistoryPage.movedToArchive`)),children:[t.archived?(0,A.jsx)(te,{}):(0,A.jsx)(f,{}),t.archived?C(`chat:chatHistoryPage.restore`):C(`chat:chatHistoryPage.archive`)]}),t.unread&&(0,A.jsx)(l,{className:`min-h-11`,onSelect:()=>void $(t,{read:!0},C(`chat:chatHistoryPage.markedRead`)),children:C(`chat:chatHistoryPage.markRead`)}),(0,A.jsx)(o,{}),(0,A.jsxs)(l,{variant:`destructive`,className:`min-h-11`,onSelect:()=>void Se(t),children:[(0,A.jsx)(ce,{}),C(`chat:chatHistoryPage.deleteChat`)]})]})]})]},t.id)),Q.total>50&&(0,A.jsx)(`div`,{className:`flex justify-center border-t border-border p-3`,children:Q.total>Q.items.length?(0,A.jsx)(g,{type:`button`,variant:`outline`,className:`min-h-11`,onClick:()=>{let e=Z+50;H.current=e>=Q.total,B({filterKey:R,count:e})},children:C(`chat:chatHistoryPage.loadMoreChats`,{shown:Q.items.length,total:Q.total})}):(0,A.jsx)(`p`,{ref:U,tabIndex:-1,role:`status`,className:`py-2 text-sm text-muted-foreground`,children:C(`chat:chatHistoryPage.allChatsShown`,{count:Q.total})})})]}):(0,A.jsxs)(T,{children:[(0,A.jsx)(he,{size:48}),(0,A.jsx)(`h2`,{children:e?C(`chat:chatHistoryPage.noMatchingConversations`):L===`archived`?C(`chat:chatHistoryPage.noArchivedChats`):F.length?C(`chat:chatHistoryPage.noActiveChats`):C(`chat:chatHistoryPage.noConversationsHaveLeftAnEchoYet`)}),(0,A.jsx)(`p`,{children:e?C(`chat:chatHistoryPage.tryADifferentSearch`):L===`archived`?C(`chat:chatHistoryPage.archivedChatsAppearHere`):F.length?C(`chat:chatHistoryPage.restoreArchivedChats`):C(`chat:chatHistoryPage.onceAConversationBeginsItWillBeQuietlyGatheredHere`)})]})]})}export{P as ChatHistoryPage};