pisper 0.6.11 → 0.6.12
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.
- package/package.json +5 -5
- package/web/.vite/manifest.json +667 -597
- package/web/assets/{AppDialog-CbXmk5vN.js → AppDialog-B2sA9Pb-.js} +1 -1
- package/web/assets/{AppOverlays-BFLcGGx9.js → AppOverlays-BSQhRkJA.js} +1 -1
- package/web/assets/{AssetsPage-BoB8pJxi.js → AssetsPage-BYt5ux5w.js} +1 -1
- package/web/assets/{BoardPage-C3P69gtK.js → BoardPage-CMlI4ZXS.js} +3 -3
- package/web/assets/{ChannelsPage-yPVopq7h.js → ChannelsPage-D_wMSCSQ.js} +1 -1
- package/web/assets/{ChatAppearancePage-DPulJWKJ.js → ChatAppearancePage-I3n1MqQQ.js} +1 -1
- package/web/assets/{ChatHistoryPage-CZX27BNu.js → ChatHistoryPage-DfYaF_Up.js} +1 -1
- package/web/assets/{ChatPage-Bkv4vff9.js → ChatPage-Da-Olqli.js} +5 -5
- package/web/assets/{ConfigPage-D1MJyBus.js → ConfigPage-BEor5fZj.js} +2 -2
- package/web/assets/{DesktopWindowControls-CKaPEgxw.js → DesktopWindowControls-CNMZrILS.js} +1 -1
- package/web/assets/{DispatchOverlay-CGLJLqZo.js → DispatchOverlay-D-gu_80O.js} +1 -1
- package/web/assets/{FeaturePage-RH3fTWIk.js → FeaturePage-Bh5TePxl.js} +1 -1
- package/web/assets/{FileAttachmentPreview-BhdQDxeP.js → FileAttachmentPreview-BKf_g87y.js} +1 -1
- package/web/assets/{FloatingWidgets-UItLK_UZ.js → FloatingWidgets-C1qQaPBd.js} +1 -1
- package/web/assets/{FocusRuntimeControls-DyexiBAA.js → FocusRuntimeControls-6ayCBCsE.js} +1 -1
- package/web/assets/{GitDiffViewer-dtiUySxH.js → GitDiffViewer-BMyafOfq.js} +1 -1
- package/web/assets/LaunchConsole-DM4YN3y3.js +3 -0
- package/web/assets/ManageProjectsDialog-B694Yqbw.js +1 -0
- package/web/assets/{MarkdownMessage-CYDI17zd.js → MarkdownMessage-mIynIAzE.js} +1 -1
- package/web/assets/McpPage-BfGjtNdb.js +1 -0
- package/web/assets/{MemoryPage-ObL1zsXe.js → MemoryPage-2htmr0tu.js} +1 -1
- package/web/assets/{MobileNavigation-BIPy8A0i.js → MobileNavigation-qjEdcfhX.js} +1 -1
- package/web/assets/{MorePage-CFfeYmW_.js → MorePage-B5nQDAQP.js} +1 -1
- package/web/assets/NewFolderDialog-D68r0xND.js +1 -0
- package/web/assets/{PageHeader-SVPzWuI3.js → PageHeader-BsadnkzI.js} +1 -1
- package/web/assets/{PhoneDrawer-C08oZFjf.js → PhoneDrawer-CGi1h7IU.js} +1 -1
- package/web/assets/{PhoneMenuButton-BCxDG78_.js → PhoneMenuButton-DkkEDkfk.js} +1 -1
- package/web/assets/{PhoneTopBar-6KsMmalq.js → PhoneTopBar-BwIvKnLT.js} +1 -1
- package/web/assets/{PluginsPage-jhrfFTbZ.js → PluginsPage-BV0HrLjj.js} +1 -1
- package/web/assets/{QuickPromptIdeas-CX8dS2LC.js → QuickPromptIdeas-Do7Bs-V_.js} +1 -1
- package/web/assets/{SafeModePrompt-v1_UpOAA.js → SafeModePrompt-zkBI0cAo.js} +1 -1
- package/web/assets/SchedulesPage-Dids4PHA.js +1 -0
- package/web/assets/{SessionBrowserPane-Bvy_BC-s.js → SessionBrowserPane-DXca3lhC.js} +2 -2
- package/web/assets/{SessionContextPanel-B6c71Uom.js → SessionContextPanel-XMQkDDgD.js} +2 -2
- package/web/assets/{SessionHome-B-lxCMjh.js → SessionHome-BoPMlfbE.js} +1 -1
- package/web/assets/{SessionInspector-FhXk25KK.js → SessionInspector-DoXEstqb.js} +1 -1
- package/web/assets/{SessionShell-B-zDO3z-.js → SessionShell-DC0uS7ab.js} +1 -1
- package/web/assets/{SettingsSidebar-K4O49gWb.js → SettingsSidebar-D1F4VOzp.js} +1 -1
- package/web/assets/{ShortcutHelpDialog-LajY5QoG.js → ShortcutHelpDialog-b1wuKRGr.js} +1 -1
- package/web/assets/{ShortcutKeys-BCndDMeY.js → ShortcutKeys-YBlbJmQo.js} +1 -1
- package/web/assets/{SidebarUpdateStatus-2eLpofE7.js → SidebarUpdateStatus-Dn95j8CE.js} +1 -1
- package/web/assets/{SkillsPage-Z_czQryK.js → SkillsPage-_g13X5ID.js} +1 -1
- package/web/assets/{TaskProcessesPane-GyemHu_6.js → TaskProcessesPane-ChitlEI4.js} +1 -1
- package/web/assets/{TaskTerminalView-C7WW5feg.js → TaskTerminalView-od0JCnVb.js} +1 -1
- package/web/assets/{TerminalPanel-Ddu_dEnz.js → TerminalPanel-CW47PtOX.js} +1 -1
- package/web/assets/{WebDesktopPet-DfAoMXEk.js → WebDesktopPet-BgQkrvFd.js} +1 -1
- package/web/assets/{WorkflowsPage-D_wAL0Md.js → WorkflowsPage-BFyP0_j_.js} +1 -1
- package/web/assets/{WorkspacePicker-DsJ0_nq_.js → WorkspacePicker-tsgOFkg0.js} +1 -1
- package/web/assets/{api-DxQIocGp.js → api-DOHQjQrv.js} +1 -1
- package/web/assets/{app-update-awVCww9P.js → app-update-C1oLil1b.js} +1 -1
- package/web/assets/{approval-confirm-9qU8wa0h.js → approval-confirm-Bpma8HMP.js} +1 -1
- package/web/assets/{board-launch-B2PD2yr-.js → board-launch-CM1zjdqN.js} +1 -1
- package/web/assets/board-messages-BOWWyhz_.js +1 -0
- package/web/assets/board-projects-Cm1I_eWA.js +1 -0
- package/web/assets/{chat-api-CjiINBKJ.js → chat-api-tHFjf7aB.js} +1 -1
- package/web/assets/{client-store-H1xTSbo-.js → client-store-CpJ1iryH.js} +1 -1
- package/web/assets/{config-search-hFrcaQf0.js → config-search-CyM8kWGv.js} +1 -1
- package/web/assets/{dialog-Bs9_FZX7.js → dialog-CfgIErMS.js} +1 -1
- package/web/assets/{events-DWUUCmbP.js → events-DV8PYjtk.js} +1 -1
- package/web/assets/{field-DaxtcBBA.js → field-DoLEb0np.js} +1 -1
- package/web/assets/folder-paths-Bky-CpjC.js +1 -0
- package/web/assets/{hosts-DsWmhXz4.js → hosts-DJ2bPahU.js} +1 -1
- package/web/assets/{i18n-BjpQE1sJ.js → i18n-CHHZADSh.js} +1 -1
- package/web/assets/{index-C3xrFlMb.js → index-CKGGgVei.js} +2 -2
- package/web/assets/input-group-h8z63MzW.js +1 -0
- package/web/assets/mount-app-B1dKgqo5.js +9 -0
- package/web/assets/mutation-CEbxdVYy.js +1 -0
- package/web/assets/{palette-navigation-Bni8Mp34.js → palette-navigation-ByC1_QS5.js} +1 -1
- package/web/assets/{permission-rules-api-BO8nujtv.js → permission-rules-api-DS_p7Lik.js} +1 -1
- package/web/assets/{pick-system-directory-C7BKn3Gc.js → pick-system-directory-Bhvwq-o2.js} +1 -1
- package/web/assets/placements-DBcA75II.js +2 -0
- package/web/assets/{popover-BqqbRCrL.js → popover-4UKNni3P.js} +1 -1
- package/web/assets/public-DMzrVWzM.js +1 -0
- package/web/assets/{public-Dp3V7Oez.js → public-QbkhsZjX.js} +2 -2
- package/web/assets/{public-components-CjL2gwlJ.js → public-components-Bvl5b8HI.js} +1 -1
- package/web/assets/public-diff-zWlldwG3.js +1 -0
- package/web/assets/public-launch-WirHCXQ8.js +1 -0
- package/web/assets/query-Bj-DUNYq.js +1 -0
- package/web/assets/runtime-capabilities-4_ZwLBqF.js +1 -0
- package/web/assets/{runtime-capabilities-store-BvWnn9Kx.js → runtime-capabilities-store-CLDMF6_P.js} +1 -1
- package/web/assets/{safe-mode-instance-UY-RZ5fF.js → safe-mode-instance-DPnZDrTR.js} +1 -1
- package/web/assets/safe-mode-sentinel-DNy3YZMh.js +1 -0
- package/web/assets/{session-change-summary-api-CI_mYqV8.js → session-change-summary-api-IM8k3njh.js} +1 -1
- package/web/assets/{session-home-sBII_AAO.js → session-home-BSH7HEmZ.js} +1 -1
- package/web/assets/{session-organization-api-Dt_FNL0d.js → session-organization-api-dGpPgiLe.js} +1 -1
- package/web/assets/{session-scope-SQQU-bRA.js → session-scope-_kqXQnb0.js} +1 -1
- package/web/assets/{session-tree-actions-AdyVzQwO.js → session-tree-actions-WcOcYBo-.js} +1 -1
- package/web/assets/{session-tree-summary-BfBt_ogL.js → session-tree-summary-CpuI5gMj.js} +1 -1
- package/web/assets/session-workspaces-BWTBYaGT.js +1 -0
- package/web/assets/{settings-navigation-DV3N_utl.js → settings-navigation-_yUm71Uk.js} +1 -1
- package/web/assets/{shortcuts-DWF7_dCu.js → shortcuts-BheSJu4D.js} +1 -1
- package/web/assets/{side-chat-context-CtRt4VcS.js → side-chat-context-fHd5qktG.js} +3 -3
- package/web/assets/sidebar-DQjsKcJn.js +2 -0
- package/web/assets/{sidebar-store-Da-3xIaR.js → sidebar-store-0l_ZiIAA.js} +1 -1
- package/web/assets/{speech-session-DjxOmcG7.js → speech-session-CrscgV-X.js} +1 -1
- package/web/assets/startup-queries-B_DpfvaA.js +1 -0
- package/web/assets/{use-i18n-BIJtH0nB.js → use-i18n-BWyVtWF9.js} +1 -1
- package/web/assets/{use-studio-actions-e1FiDWGR.js → use-studio-actions-CdzG_H8p.js} +1 -1
- package/web/assets/{useBoardItems-CzLK6g45.js → useBoardItems-RCXS90vW.js} +1 -1
- package/web/assets/{useFleetSystemInfo-kKFDmOS4.js → useFleetSystemInfo-rj18NGAd.js} +1 -1
- package/web/assets/useNewProjectPicker-q3Albbmn.js +1 -0
- package/web/assets/useNow-DlbPA2gp.js +1 -0
- package/web/assets/{usePhoneShell-BuNqR-TS.js → usePhoneShell-cDHpi_4q.js} +1 -1
- package/web/assets/useQuery-DdcpUQhO.js +1 -0
- package/web/assets/useSessionListQuery-B-MnlVs6.js +2 -0
- package/web/assets/useSessionRowActions-C6dpdoDz.js +1 -0
- package/web/assets/{useSidebarModel-CBd3rSxV.js → useSidebarModel-BIzp9khQ.js} +1 -1
- package/web/assets/{web-preview-DJZpUrZT.js → web-preview-DZqYC0Ca.js} +1 -1
- package/web/assets/{web-preview-events-DRcd0j1W.js → web-preview-events-DQAcSBmI.js} +1 -1
- package/web/assets/workspace-order-store-Cw1fZTM7.js +1 -0
- package/web/index.html +1 -1
- package/web/assets/LaunchConsole-BIiKjt0j.js +0 -2
- package/web/assets/ManageProjectsDialog-CLskSna6.js +0 -1
- package/web/assets/McpPage-DC_9gmSC.js +0 -1
- package/web/assets/SchedulesPage-G1R7ua11.js +0 -1
- package/web/assets/board-messages-xFeTO3o6.js +0 -1
- package/web/assets/board-projects-Dxd3yet9.js +0 -1
- package/web/assets/input-group-CDEyjyK4.js +0 -1
- package/web/assets/launch-defaults-store-DTq_ndTa.js +0 -1
- package/web/assets/mount-app-DQkz4dfd.js +0 -9
- package/web/assets/mutation-Difliohy.js +0 -1
- package/web/assets/placements-Dgq244bc.js +0 -2
- package/web/assets/public-DjZxpaMo.js +0 -1
- package/web/assets/public-diff-BpkmyA3H.js +0 -1
- package/web/assets/public-launch-C4NBmnGZ.js +0 -1
- package/web/assets/runtime-capabilities-BhAMiYhG.js +0 -1
- package/web/assets/safe-mode-sentinel-DnReXgjI.js +0 -1
- package/web/assets/sidebar-DTHEZloM.js +0 -2
- package/web/assets/startup-queries-_OUFiG02.js +0 -1
- package/web/assets/useNow-CpKRH_uQ.js +0 -1
- package/web/assets/useQuery-Bg3cTjsY.js +0 -1
- package/web/assets/useSessionListQuery-jM0IQ1En.js +0 -2
- package/web/assets/useSessionRowActions-BG8yJygF.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./index-C3xrFlMb.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./use-i18n-BIJtH0nB.js";import{t as a}from"./storage-BY6wEHPw.js";import{t as o}from"./useQuery-Bg3cTjsY.js";import{a as s,n as c,o as l,t as u}from"./startup-queries-_OUFiG02.js";import{t as d}from"./api-DxQIocGp.js";import{t as ee}from"./usePhoneShell-BuNqR-TS.js";import{t as f}from"./createLucideIcon-Cd-3GVxJ.js";import{a as p,c as te,t as ne}from"./session-list-BeyOEzyU.js";import{t as re}from"./ellipsis-CfGKfbq6.js";import{t as ie}from"./pencil-U08v_vV9.js";import{t as m}from"./pin-CU0FG0lI.js";import{t as ae}from"./refresh-cw-TbWxTY4K.js";import{t as oe}from"./square-pen-hYbjKh6A.js";import{t as se}from"./trash-2-CNrPOoPR.js";import{t as h}from"./brand-DIEc3fK8.js";import{t as ce}from"./more-pages-D_PnxLN0.js";import{c as le,i as g,p as ue,r as de,t as fe}from"./dropdown-menu-CFIFNaKO.js";import{t as _}from"./utils-C8uzG5AZ.js";import{n as pe,t as v}from"./button-CCcCN8tE.js";import{c as me,t as y,u as b,v as he}from"./events-DWUUCmbP.js";import{s as ge}from"./shortcuts-DWF7_dCu.js";import{n as _e,t as ve}from"./session-organization-api-Dt_FNL0d.js";import{a as ye,o as be}from"./format-DMJQzoZ7.js";import{n as x}from"./PageState-Cz6vFMXv.js";import{t as S}from"./session-change-summary-api-CI_mYqV8.js";import{a as xe,i as Se,n as Ce,o as we,r as Te,s as Ee,t as De}from"./FeaturePage-RH3fTWIk.js";import{t as C}from"./StatusGlyph-1KgitlUg.js";import{t as Oe}from"./badge-CWB3lj2H.js";var ke=f(`archive-restore`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h2`,key:`tvwodi`}],[`path`,{d:`M20 8v11a2 2 0 0 1-2 2h-2`,key:`1gkqxj`}],[`path`,{d:`m9 15 3-3 3 3`,key:`1pd0qc`}],[`path`,{d:`M12 12v9`,key:`192myk`}]]),Ae=f(`folder-closed`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}],[`path`,{d:`M2 10h20`,key:`1ir3d8`}]]),je=f(`pin-off`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`,key:`znwnzq`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`,key:`c9qhm2`}]]),w=e(n(),1),T=864e5;function E(e,t=Date.now()){if(e.pinned)return`pinned`;let n=Date.parse(e.modified||``);if(!Number.isFinite(n))return`earlier`;let r=new Date(t);return r.setHours(0,0,0,0),n>=r.getTime()?`today`:n>=r.getTime()-6*T?`week`:`earlier`}function D(e,t,n=Date.now()){let r=new Map;return e.forEach((e,i)=>{let a=E(e,n),o=r.get(a)??{key:a,count:0,items:[]};o.count+=1,i<t&&o.items.push(e),r.set(a,o)}),[...r.values()].filter(e=>e.items.length>0)}function Me(e,t,n,r=`active`,i=Date.now()){let a=t.trim().toLowerCase(),o=a?e.filter(e=>`${e.name||``} ${e.firstMessage||``} ${e.cwd||``} ${e.model||``}`.toLowerCase().includes(a)):e.filter(e=>!!e.archived==(r===`archived`)),s=p(o),c=s.slice(0,Math.max(0,n));return{total:o.length,items:c,groups:D(s,c.length,i)}}var O=r();function k({sessionId:e,lastCompletedAt:t,streaming:n}){let{t:r}=i(),a=(0,w.useRef)(null),[s,c]=(0,w.useState)(!1);(0,w.useEffect)(()=>{let e=a.current;if(!e||s)return;if(!(`IntersectionObserver`in window)){c(!0);return}let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(c(!0),t.disconnect())},{rootMargin:`120px`});return t.observe(e),()=>t.disconnect()},[s]);let{data:l}=o({queryKey:[`session-change-summary`,e,t],queryFn:()=>S(e),enabled:s,staleTime:6e4,retry:0,refetchInterval:n&&s?2e4:!1});return l?.status!==`known`||!l.changedFiles?(0,O.jsx)(`span`,{ref:a}):(0,O.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:l.changedFiles,added:l.added||0,removed:l.removed||0})})}function A(e){s.setQueryData(u,t=>t&&{...t,sessions:e(t.sessions||[])})}function j({navigate:e,onBack:n,onNewTask:r,notify:s,requestConfirm:u,requestText:f}){let{t:S,language:T}=i(),E=ee(),D=ge(`focusSearch`),[j,Ne]=(0,w.useState)(``),M=o(l(`sessions`)),N=(0,w.useMemo)(()=>p(M.data?.sessions||[]),[M.data]),[P,Pe]=(0,w.useState)(`active`),F=`${P}\0${j}`,[I,L]=(0,w.useState)({filterKey:F,count:50}),R=(0,w.useRef)(!1),z=(0,w.useRef)(null),[B,V]=(0,w.useState)(()=>t.getItem(a.activeSession)||``),[Fe,H]=(0,w.useState)(!1),[U,W]=(0,w.useState)(``),G=M.isPending||Fe,K=M.error&&!M.data?M.error instanceof Error?M.error.message:String(M.error):``;(0,w.useEffect)(()=>{L(e=>e.filterKey===F&&e.count===50?e:{filterKey:F,count:50})},[F]);let q=(0,w.useCallback)(async()=>{H(!0),W(``);try{await c(`sessions`,!0)}catch(e){W(e instanceof Error?e.message:String(e))}finally{H(!1)}},[]);(0,w.useEffect)(()=>(document.title=`${S(`chat:chatHistoryPage.chatHistory`)} · ${h}`,()=>{document.title=h}),[S]),(0,w.useEffect)(()=>{let e=e=>V(e.detail?.id||t.getItem(a.activeSession)||``);return window.addEventListener(y,e),()=>window.removeEventListener(y,e)},[]);let J=I.filterKey===F?I.count:50,Y=(0,w.useMemo)(()=>Me(N,j,J,P),[P,j,N,J]),X=N.filter(e=>e.archived).length,Z={active:N.length-X,archived:X},Ie={pinned:S(`chat:chatHistoryPage.groupPinned`),today:S(`chat:chatHistoryPage.groupToday`),week:S(`chat:chatHistoryPage.groupWeek`),earlier:S(`chat:chatHistoryPage.groupEarlier`)};(0,w.useEffect)(()=>{R.current&&(R.current=!1,z.current?.focus())},[Y.items.length,Y.total]);let Le=t=>{he(t),e(`chat`)},Re=async e=>{let t=await f({title:S(`chat:chatHistoryPage.renameChat`),inputLabel:S(`chat:chatHistoryPage.chatTitle`),value:e.name,confirmLabel:S(`chat:chatHistoryPage.save`)});if(t!==null&&t!==e.name)try{let n=await d(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`PATCH`,body:JSON.stringify({name:t})});A(t=>t.map(t=>t.id===e.id?{...t,name:n.name}:t)),b({id:e.id,name:n.name}),s(S(`chat:chatHistoryPage.chatTitleUpdated`))}catch(e){W(e instanceof Error?e.message:String(e))}},Q=async(e,t,n)=>{try{let r=await _e(e.id,t);A(e=>ne(e,r)),s(n)}catch(e){W(e instanceof ve?S(`chat:chatHistoryPage.sessionUpdateFailed`):e instanceof Error?e.message:String(e))}},ze=async e=>{if(await u({title:S(`chat:chatHistoryPage.deleteChat`),message:S(`chat:chatHistoryPage.deleteChatNameThisAlsoRemovesLocalChatHistory`,{name:e.name}),confirmLabel:S(`chat:chatHistoryPage.delete`)}))try{await d(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`DELETE`});let n=N.filter(t=>t.id!==e.id);if(A(t=>t.filter(t=>t.id!==e.id)),B===e.id){let e=n[0]?.id||``;V(e),e?t.setItem(a.activeSession,e):t.removeItem(a.activeSession),me(e)}b({deletedIds:[e.id]}),s(S(`chat:chatHistoryPage.chatDeleted`))}catch(e){W(e instanceof Error?e.message:String(e))}},Be=e=>e.streaming?(0,O.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 text-content-secondary`,children:[(0,O.jsx)(C,{status:`run`,className:`size-3.5`}),S(`chat:chatHistoryPage.statusRunning`)]}):e.needsAttention?(0,O.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 font-medium text-warning-strong`,children:[(0,O.jsx)(C,{status:`attention`,className:`size-3.5`}),e.attentionReason===`failure`?S(`chat:chatHistoryPage.statusFailed`):e.attentionReason===`approval`?S(`chat:chatHistoryPage.statusApproval`):S(`chat:chatHistoryPage.needsAttention`)]}):null,$=S(`chat:chatHistoryPage.chatHistory`),Ve=j?S(`chat:chatHistoryPage.noMatchingConversations`):P===`archived`?S(`chat:chatHistoryPage.noArchivedChats`):N.length?S(`chat:chatHistoryPage.noActiveChats`):S(`chat:chatHistoryPage.noConversationsHaveLeftAnEchoYet`),He=j?S(`chat:chatHistoryPage.tryADifferentSearch`):P===`archived`?S(`chat:chatHistoryPage.archivedChatsAppearHere`):N.length?S(`chat:chatHistoryPage.restoreArchivedChats`):S(`chat:chatHistoryPage.onceAConversationBeginsItWillBeQuietlyGatheredHere`);return(0,O.jsx)(Te,{title:$,description:S(`chat:chatHistoryPage.lede`),back:n&&{label:S(`navigation:sidebar.features`),ariaLabel:S(`navigation:shell.backToFeaturesLabel`),onBack:n},toolbar:(0,O.jsx)(Ee,{search:(0,O.jsx)(xe,{id:ce,value:j,onValueChange:Ne,placeholder:S(`navigation:pageHeader.searchPage`,{page:$}),shortcut:D,clearLabel:S(`navigation:more.clearSearch`)}),actions:r&&!E&&(0,O.jsxs)(v,{type:`button`,className:`h-9`,onClick:r,children:[(0,O.jsx)(oe,{}),S(`navigation:shell.newTask`)]}),filters:(0,O.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-x-4 gap-y-2`,children:[(0,O.jsx)(`div`,{role:`group`,"aria-label":S(`chat:chatHistoryPage.historySections`),className:`inline-grid h-8 grid-cols-2 rounded-md border border-stroke bg-chrome p-[3px] max-[650px]:h-auto max-[650px]:flex-1 max-[650px]:rounded-[10px] pointer-coarse:h-auto`,children:[`active`,`archived`].map(e=>(0,O.jsxs)(`button`,{type:`button`,"aria-pressed":P===e,"aria-label":e===`active`?S(`chat:chatHistoryPage.activeChatsCount`,{count:Z.active}):S(`chat:chatHistoryPage.archivedChats`,{count:Z.archived}),className:_(`inline-flex min-w-0 items-center justify-center gap-1.5 rounded-sm border border-transparent px-3 text-sm text-content-secondary transition-colors duration-(--d-fast) hover:text-content max-[650px]:h-11 max-[650px]:text-base pointer-coarse:h-11`,P===e&&`border-key-border bg-key font-medium text-content shadow-key`),onClick:()=>Pe(e),children:[S(e===`active`?`chat:chatHistoryPage.activeChats`:`chat:chatHistoryPage.archived`),(0,O.jsx)(`span`,{className:_(`text-xs font-normal tabular-nums`,P===e?`text-content-secondary`:`text-content-muted`),children:Z[e]})]},e))}),(0,O.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1 text-xs text-content-muted tabular-nums`,children:[(0,O.jsxs)(`span`,{className:_(`truncate`,!j&&`max-[650px]:hidden`),children:[S(`chat:chatHistoryPage.countChatHistoryItems`,{count:N.length}),` · `,j?S(`chat:chatHistoryPage.countCurrentlyFiltered`,{count:Y.total}):S(`chat:chatHistoryPage.sortedByMostRecentlyUpdated`)]}),(0,O.jsx)(v,{variant:`ghost`,size:`icon-sm`,className:`text-content-muted max-[650px]:size-11 pointer-coarse:size-11`,"aria-label":S(`chat:chatHistoryPage.refresh`),title:S(`chat:chatHistoryPage.refresh`),onClick:()=>void q(),disabled:G,children:G?(0,O.jsx)(pe,{className:`text-current`}):(0,O.jsx)(ae,{size:14})})]})]})}),children:G&&!N.length?(0,O.jsx)(x,{kind:`loading`,title:S(`chat:chatHistoryPage.loadingChatHistory`)}):K&&!N.length?(0,O.jsx)(x,{kind:`error`,title:S(`chat:chatHistoryPage.loadFailed`),description:K,action:(0,O.jsx)(v,{variant:`secondary`,className:`max-[650px]:h-11`,loading:G,disabled:G,onClick:()=>void q(),children:S(`common:pageTemplate.retry`)})}):(0,O.jsxs)(O.Fragment,{children:[(U||K)&&(0,O.jsx)(De,{children:U||K}),Y.total?(0,O.jsxs)(`div`,{className:`chat-history-list`,children:[Y.groups.map(e=>(0,O.jsx)(we,{title:Ie[e.key],count:e.count,children:(0,O.jsx)(Ce,{children:e.items.map(e=>{let t=e.name||S(`chat:chatHistoryPage.untitledChat`),n=e.model&&!/(^|\/)unknown$/i.test(String(e.model))?String(e.model).split(`/`).at(-1):``,r=e.id===B;return(0,O.jsx)(Se,{"data-history-session":e.id,"data-current":r||void 0,className:_(`chat-history-row relative`,r&&`after:absolute after:top-3.5 after:bottom-3.5 after:-left-3 after:w-[3px] after:rounded-r-[3px] after:bg-star max-[650px]:after:-left-2.5`),onOpen:()=>Le(e.id),openLabel:S(`chat:chatHistoryPage.openChatNamed`,{name:t}),name:(0,O.jsxs)(`span`,{className:`chat-history-copy inline-flex max-w-full min-w-0 items-center gap-2`,children:[e.unread&&(0,O.jsx)(`span`,{role:`img`,"aria-label":S(`chat:chatHistoryPage.unread`),className:`size-1.5 shrink-0 rounded-full bg-ink`}),e.pinned&&(0,O.jsx)(m,{className:`size-3.5 shrink-0 text-content-muted`,"aria-hidden":`true`}),(0,O.jsx)(`strong`,{"data-history-name":!0,className:`min-w-0 truncate font-medium`,title:t,children:t})]}),description:(0,O.jsx)(`span`,{className:_(`line-clamp-1`,e.firstMessage?`text-content-secondary`:void 0),children:e.firstMessage||S(`chat:chatHistoryPage.noMessageSummary`)}),meta:(0,O.jsxs)(O.Fragment,{children:[Be(e),e.archived&&j.trim()&&(0,O.jsx)(Oe,{children:S(`chat:chatHistoryPage.archived`)}),(0,O.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1 font-mono`,children:[(0,O.jsx)(Ae,{className:`size-3.5 shrink-0`,"aria-hidden":`true`}),(0,O.jsx)(`span`,{className:`truncate`,children:be(e.projectless?``:e.cwd,T)})]}),(0,O.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,O.jsx)(`span`,{className:`shrink-0 tabular-nums`,children:S(`chat:chatHistoryPage.countMessages`,{count:e.messageCount||0})}),n&&(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(`span`,{"aria-hidden":`true`,className:`max-[650px]:hidden`,children:`·`}),(0,O.jsx)(`span`,{className:`min-w-0 truncate font-mono max-[650px]:hidden`,children:n})]}),(0,O.jsx)(k,{sessionId:e.id,lastCompletedAt:e.lastCompletedAt,streaming:e.streaming})]}),status:(0,O.jsx)(`time`,{dateTime:e.modified,children:ye(e.modified,T)}),actions:(0,O.jsxs)(fe,{children:[(0,O.jsx)(ue,{asChild:!0,children:(0,O.jsx)(v,{type:`button`,variant:`ghost`,size:`icon`,className:`size-8 shrink-0 text-content-muted max-[650px]:size-11 pointer-coarse:size-11`,"aria-label":S(`chat:chatHistoryPage.moreActionsForChat`,{name:t}),children:(0,O.jsx)(re,{size:16})})}),(0,O.jsxs)(de,{align:`end`,className:`min-w-48`,children:[(0,O.jsxs)(g,{className:`min-h-11`,onSelect:()=>void Re(e),children:[(0,O.jsx)(ie,{}),S(`chat:chatHistoryPage.renameChat`)]}),(0,O.jsxs)(g,{className:`min-h-11`,onSelect:()=>void Q(e,{pinned:!e.pinned},e.pinned?S(`chat:chatHistoryPage.unpinned`):S(`chat:chatHistoryPage.pinned`)),children:[e.pinned?(0,O.jsx)(je,{}):(0,O.jsx)(m,{}),e.pinned?S(`chat:chatHistoryPage.unpin`):S(`chat:chatHistoryPage.pin`)]}),(0,O.jsxs)(g,{className:`min-h-11`,onSelect:()=>void Q(e,{archived:!e.archived},e.archived?S(`chat:chatHistoryPage.restored`):S(`chat:chatHistoryPage.movedToArchive`)),children:[e.archived?(0,O.jsx)(ke,{}):(0,O.jsx)(te,{}),e.archived?S(`chat:chatHistoryPage.restore`):S(`chat:chatHistoryPage.archive`)]}),e.unread&&(0,O.jsx)(g,{className:`min-h-11`,onSelect:()=>void Q(e,{read:!0},S(`chat:chatHistoryPage.markedRead`)),children:S(`chat:chatHistoryPage.markRead`)}),(0,O.jsx)(le,{}),(0,O.jsxs)(g,{variant:`destructive`,className:`min-h-11`,onSelect:()=>void ze(e),children:[(0,O.jsx)(se,{}),S(`chat:chatHistoryPage.deleteChat`)]})]})]})},e.id)})})},e.key)),Y.total>50&&(0,O.jsx)(`div`,{className:`flex justify-center pt-4`,children:Y.total>Y.items.length?(0,O.jsx)(v,{type:`button`,variant:`secondary`,className:`tabular-nums max-[650px]:min-h-11 pointer-coarse:min-h-11`,onClick:()=>{let e=J+50;R.current=e>=Y.total,L({filterKey:F,count:e})},children:S(`chat:chatHistoryPage.loadMoreChats`,{shown:Y.items.length,total:Y.total})}):(0,O.jsx)(`p`,{ref:z,tabIndex:-1,role:`status`,className:`py-2 text-xs text-content-muted tabular-nums`,children:S(`chat:chatHistoryPage.allChatsShown`,{count:Y.total})})})]}):(0,O.jsx)(x,{kind:`empty`,title:Ve,description:He})]})})}export{j as ChatHistoryPage};
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./index-CKGGgVei.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./use-i18n-BWyVtWF9.js";import{t as a}from"./storage-BY6wEHPw.js";import{t as o}from"./useQuery-DdcpUQhO.js";import{a as s,n as c,o as l,t as u}from"./startup-queries-B_DpfvaA.js";import{t as d}from"./api-DOHQjQrv.js";import{t as ee}from"./usePhoneShell-cDHpi_4q.js";import{t as f}from"./createLucideIcon-Cd-3GVxJ.js";import{a as p,c as te,t as ne}from"./session-list-BeyOEzyU.js";import{t as re}from"./ellipsis-CfGKfbq6.js";import{t as ie}from"./pencil-U08v_vV9.js";import{t as m}from"./pin-CU0FG0lI.js";import{t as ae}from"./refresh-cw-TbWxTY4K.js";import{t as oe}from"./square-pen-hYbjKh6A.js";import{t as se}from"./trash-2-CNrPOoPR.js";import{t as h}from"./brand-DIEc3fK8.js";import{t as ce}from"./more-pages-D_PnxLN0.js";import{c as le,i as g,p as ue,r as de,t as fe}from"./dropdown-menu-CFIFNaKO.js";import{t as _}from"./utils-C8uzG5AZ.js";import{n as pe,t as v}from"./button-CCcCN8tE.js";import{c as me,t as y,u as b,v as he}from"./events-DV8PYjtk.js";import{s as ge}from"./shortcuts-BheSJu4D.js";import{n as _e,t as ve}from"./session-organization-api-dGpPgiLe.js";import{a as ye,o as be}from"./format-DMJQzoZ7.js";import{n as x}from"./PageState-Cz6vFMXv.js";import{t as S}from"./session-change-summary-api-IM8k3njh.js";import{a as xe,i as Se,n as Ce,o as we,r as Te,s as Ee,t as De}from"./FeaturePage-Bh5TePxl.js";import{t as C}from"./StatusGlyph-1KgitlUg.js";import{t as Oe}from"./badge-CWB3lj2H.js";var ke=f(`archive-restore`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h2`,key:`tvwodi`}],[`path`,{d:`M20 8v11a2 2 0 0 1-2 2h-2`,key:`1gkqxj`}],[`path`,{d:`m9 15 3-3 3 3`,key:`1pd0qc`}],[`path`,{d:`M12 12v9`,key:`192myk`}]]),Ae=f(`folder-closed`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}],[`path`,{d:`M2 10h20`,key:`1ir3d8`}]]),je=f(`pin-off`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`,key:`znwnzq`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`,key:`c9qhm2`}]]),w=e(n(),1),T=864e5;function E(e,t=Date.now()){if(e.pinned)return`pinned`;let n=Date.parse(e.modified||``);if(!Number.isFinite(n))return`earlier`;let r=new Date(t);return r.setHours(0,0,0,0),n>=r.getTime()?`today`:n>=r.getTime()-6*T?`week`:`earlier`}function D(e,t,n=Date.now()){let r=new Map;return e.forEach((e,i)=>{let a=E(e,n),o=r.get(a)??{key:a,count:0,items:[]};o.count+=1,i<t&&o.items.push(e),r.set(a,o)}),[...r.values()].filter(e=>e.items.length>0)}function Me(e,t,n,r=`active`,i=Date.now()){let a=t.trim().toLowerCase(),o=a?e.filter(e=>`${e.name||``} ${e.firstMessage||``} ${e.cwd||``} ${e.model||``}`.toLowerCase().includes(a)):e.filter(e=>!!e.archived==(r===`archived`)),s=p(o),c=s.slice(0,Math.max(0,n));return{total:o.length,items:c,groups:D(s,c.length,i)}}var O=r();function k({sessionId:e,lastCompletedAt:t,streaming:n}){let{t:r}=i(),a=(0,w.useRef)(null),[s,c]=(0,w.useState)(!1);(0,w.useEffect)(()=>{let e=a.current;if(!e||s)return;if(!(`IntersectionObserver`in window)){c(!0);return}let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(c(!0),t.disconnect())},{rootMargin:`120px`});return t.observe(e),()=>t.disconnect()},[s]);let{data:l}=o({queryKey:[`session-change-summary`,e,t],queryFn:()=>S(e),enabled:s,staleTime:6e4,retry:0,refetchInterval:n&&s?2e4:!1});return l?.status!==`known`||!l.changedFiles?(0,O.jsx)(`span`,{ref:a}):(0,O.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:l.changedFiles,added:l.added||0,removed:l.removed||0})})}function A(e){s.setQueryData(u,t=>t&&{...t,sessions:e(t.sessions||[])})}function j({navigate:e,onBack:n,onNewTask:r,notify:s,requestConfirm:u,requestText:f}){let{t:S,language:T}=i(),E=ee(),D=ge(`focusSearch`),[j,Ne]=(0,w.useState)(``),M=o(l(`sessions`)),N=(0,w.useMemo)(()=>p(M.data?.sessions||[]),[M.data]),[P,Pe]=(0,w.useState)(`active`),F=`${P}\0${j}`,[I,L]=(0,w.useState)({filterKey:F,count:50}),R=(0,w.useRef)(!1),z=(0,w.useRef)(null),[B,V]=(0,w.useState)(()=>t.getItem(a.activeSession)||``),[Fe,H]=(0,w.useState)(!1),[U,W]=(0,w.useState)(``),G=M.isPending||Fe,K=M.error&&!M.data?M.error instanceof Error?M.error.message:String(M.error):``;(0,w.useEffect)(()=>{L(e=>e.filterKey===F&&e.count===50?e:{filterKey:F,count:50})},[F]);let q=(0,w.useCallback)(async()=>{H(!0),W(``);try{await c(`sessions`,!0)}catch(e){W(e instanceof Error?e.message:String(e))}finally{H(!1)}},[]);(0,w.useEffect)(()=>(document.title=`${S(`chat:chatHistoryPage.chatHistory`)} · ${h}`,()=>{document.title=h}),[S]),(0,w.useEffect)(()=>{let e=e=>V(e.detail?.id||t.getItem(a.activeSession)||``);return window.addEventListener(y,e),()=>window.removeEventListener(y,e)},[]);let J=I.filterKey===F?I.count:50,Y=(0,w.useMemo)(()=>Me(N,j,J,P),[P,j,N,J]),X=N.filter(e=>e.archived).length,Z={active:N.length-X,archived:X},Ie={pinned:S(`chat:chatHistoryPage.groupPinned`),today:S(`chat:chatHistoryPage.groupToday`),week:S(`chat:chatHistoryPage.groupWeek`),earlier:S(`chat:chatHistoryPage.groupEarlier`)};(0,w.useEffect)(()=>{R.current&&(R.current=!1,z.current?.focus())},[Y.items.length,Y.total]);let Le=t=>{he(t),e(`chat`)},Re=async e=>{let t=await f({title:S(`chat:chatHistoryPage.renameChat`),inputLabel:S(`chat:chatHistoryPage.chatTitle`),value:e.name,confirmLabel:S(`chat:chatHistoryPage.save`)});if(t!==null&&t!==e.name)try{let n=await d(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`PATCH`,body:JSON.stringify({name:t})});A(t=>t.map(t=>t.id===e.id?{...t,name:n.name}:t)),b({id:e.id,name:n.name}),s(S(`chat:chatHistoryPage.chatTitleUpdated`))}catch(e){W(e instanceof Error?e.message:String(e))}},Q=async(e,t,n)=>{try{let r=await _e(e.id,t);A(e=>ne(e,r)),s(n)}catch(e){W(e instanceof ve?S(`chat:chatHistoryPage.sessionUpdateFailed`):e instanceof Error?e.message:String(e))}},ze=async e=>{if(await u({title:S(`chat:chatHistoryPage.deleteChat`),message:S(`chat:chatHistoryPage.deleteChatNameThisAlsoRemovesLocalChatHistory`,{name:e.name}),confirmLabel:S(`chat:chatHistoryPage.delete`)}))try{await d(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`DELETE`});let n=N.filter(t=>t.id!==e.id);if(A(t=>t.filter(t=>t.id!==e.id)),B===e.id){let e=n[0]?.id||``;V(e),e?t.setItem(a.activeSession,e):t.removeItem(a.activeSession),me(e)}b({deletedIds:[e.id]}),s(S(`chat:chatHistoryPage.chatDeleted`))}catch(e){W(e instanceof Error?e.message:String(e))}},Be=e=>e.streaming?(0,O.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 text-content-secondary`,children:[(0,O.jsx)(C,{status:`run`,className:`size-3.5`}),S(`chat:chatHistoryPage.statusRunning`)]}):e.needsAttention?(0,O.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 font-medium text-warning-strong`,children:[(0,O.jsx)(C,{status:`attention`,className:`size-3.5`}),e.attentionReason===`failure`?S(`chat:chatHistoryPage.statusFailed`):e.attentionReason===`approval`?S(`chat:chatHistoryPage.statusApproval`):S(`chat:chatHistoryPage.needsAttention`)]}):null,$=S(`chat:chatHistoryPage.chatHistory`),Ve=j?S(`chat:chatHistoryPage.noMatchingConversations`):P===`archived`?S(`chat:chatHistoryPage.noArchivedChats`):N.length?S(`chat:chatHistoryPage.noActiveChats`):S(`chat:chatHistoryPage.noConversationsHaveLeftAnEchoYet`),He=j?S(`chat:chatHistoryPage.tryADifferentSearch`):P===`archived`?S(`chat:chatHistoryPage.archivedChatsAppearHere`):N.length?S(`chat:chatHistoryPage.restoreArchivedChats`):S(`chat:chatHistoryPage.onceAConversationBeginsItWillBeQuietlyGatheredHere`);return(0,O.jsx)(Te,{title:$,description:S(`chat:chatHistoryPage.lede`),back:n&&{label:S(`navigation:sidebar.features`),ariaLabel:S(`navigation:shell.backToFeaturesLabel`),onBack:n},toolbar:(0,O.jsx)(Ee,{search:(0,O.jsx)(xe,{id:ce,value:j,onValueChange:Ne,placeholder:S(`navigation:pageHeader.searchPage`,{page:$}),shortcut:D,clearLabel:S(`navigation:more.clearSearch`)}),actions:r&&!E&&(0,O.jsxs)(v,{type:`button`,className:`h-9`,onClick:r,children:[(0,O.jsx)(oe,{}),S(`navigation:shell.newTask`)]}),filters:(0,O.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-x-4 gap-y-2`,children:[(0,O.jsx)(`div`,{role:`group`,"aria-label":S(`chat:chatHistoryPage.historySections`),className:`inline-grid h-8 grid-cols-2 rounded-md border border-stroke bg-chrome p-[3px] max-[650px]:h-auto max-[650px]:flex-1 max-[650px]:rounded-[10px] pointer-coarse:h-auto`,children:[`active`,`archived`].map(e=>(0,O.jsxs)(`button`,{type:`button`,"aria-pressed":P===e,"aria-label":e===`active`?S(`chat:chatHistoryPage.activeChatsCount`,{count:Z.active}):S(`chat:chatHistoryPage.archivedChats`,{count:Z.archived}),className:_(`inline-flex min-w-0 items-center justify-center gap-1.5 rounded-sm border border-transparent px-3 text-sm text-content-secondary transition-colors duration-(--d-fast) hover:text-content max-[650px]:h-11 max-[650px]:text-base pointer-coarse:h-11`,P===e&&`border-key-border bg-key font-medium text-content shadow-key`),onClick:()=>Pe(e),children:[S(e===`active`?`chat:chatHistoryPage.activeChats`:`chat:chatHistoryPage.archived`),(0,O.jsx)(`span`,{className:_(`text-xs font-normal tabular-nums`,P===e?`text-content-secondary`:`text-content-muted`),children:Z[e]})]},e))}),(0,O.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1 text-xs text-content-muted tabular-nums`,children:[(0,O.jsxs)(`span`,{className:_(`truncate`,!j&&`max-[650px]:hidden`),children:[S(`chat:chatHistoryPage.countChatHistoryItems`,{count:N.length}),` · `,j?S(`chat:chatHistoryPage.countCurrentlyFiltered`,{count:Y.total}):S(`chat:chatHistoryPage.sortedByMostRecentlyUpdated`)]}),(0,O.jsx)(v,{variant:`ghost`,size:`icon-sm`,className:`text-content-muted max-[650px]:size-11 pointer-coarse:size-11`,"aria-label":S(`chat:chatHistoryPage.refresh`),title:S(`chat:chatHistoryPage.refresh`),onClick:()=>void q(),disabled:G,children:G?(0,O.jsx)(pe,{className:`text-current`}):(0,O.jsx)(ae,{size:14})})]})]})}),children:G&&!N.length?(0,O.jsx)(x,{kind:`loading`,title:S(`chat:chatHistoryPage.loadingChatHistory`)}):K&&!N.length?(0,O.jsx)(x,{kind:`error`,title:S(`chat:chatHistoryPage.loadFailed`),description:K,action:(0,O.jsx)(v,{variant:`secondary`,className:`max-[650px]:h-11`,loading:G,disabled:G,onClick:()=>void q(),children:S(`common:pageTemplate.retry`)})}):(0,O.jsxs)(O.Fragment,{children:[(U||K)&&(0,O.jsx)(De,{children:U||K}),Y.total?(0,O.jsxs)(`div`,{className:`chat-history-list`,children:[Y.groups.map(e=>(0,O.jsx)(we,{title:Ie[e.key],count:e.count,children:(0,O.jsx)(Ce,{children:e.items.map(e=>{let t=e.name||S(`chat:chatHistoryPage.untitledChat`),n=e.model&&!/(^|\/)unknown$/i.test(String(e.model))?String(e.model).split(`/`).at(-1):``,r=e.id===B;return(0,O.jsx)(Se,{"data-history-session":e.id,"data-current":r||void 0,className:_(`chat-history-row relative`,r&&`after:absolute after:top-3.5 after:bottom-3.5 after:-left-3 after:w-[3px] after:rounded-r-[3px] after:bg-star max-[650px]:after:-left-2.5`),onOpen:()=>Le(e.id),openLabel:S(`chat:chatHistoryPage.openChatNamed`,{name:t}),name:(0,O.jsxs)(`span`,{className:`chat-history-copy inline-flex max-w-full min-w-0 items-center gap-2`,children:[e.unread&&(0,O.jsx)(`span`,{role:`img`,"aria-label":S(`chat:chatHistoryPage.unread`),className:`size-1.5 shrink-0 rounded-full bg-ink`}),e.pinned&&(0,O.jsx)(m,{className:`size-3.5 shrink-0 text-content-muted`,"aria-hidden":`true`}),(0,O.jsx)(`strong`,{"data-history-name":!0,className:`min-w-0 truncate font-medium`,title:t,children:t})]}),description:(0,O.jsx)(`span`,{className:_(`line-clamp-1`,e.firstMessage?`text-content-secondary`:void 0),children:e.firstMessage||S(`chat:chatHistoryPage.noMessageSummary`)}),meta:(0,O.jsxs)(O.Fragment,{children:[Be(e),e.archived&&j.trim()&&(0,O.jsx)(Oe,{children:S(`chat:chatHistoryPage.archived`)}),(0,O.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1 font-mono`,children:[(0,O.jsx)(Ae,{className:`size-3.5 shrink-0`,"aria-hidden":`true`}),(0,O.jsx)(`span`,{className:`truncate`,children:be(e.projectless?``:e.cwd,T)})]}),(0,O.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,O.jsx)(`span`,{className:`shrink-0 tabular-nums`,children:S(`chat:chatHistoryPage.countMessages`,{count:e.messageCount||0})}),n&&(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(`span`,{"aria-hidden":`true`,className:`max-[650px]:hidden`,children:`·`}),(0,O.jsx)(`span`,{className:`min-w-0 truncate font-mono max-[650px]:hidden`,children:n})]}),(0,O.jsx)(k,{sessionId:e.id,lastCompletedAt:e.lastCompletedAt,streaming:e.streaming})]}),status:(0,O.jsx)(`time`,{dateTime:e.modified,children:ye(e.modified,T)}),actions:(0,O.jsxs)(fe,{children:[(0,O.jsx)(ue,{asChild:!0,children:(0,O.jsx)(v,{type:`button`,variant:`ghost`,size:`icon`,className:`size-8 shrink-0 text-content-muted max-[650px]:size-11 pointer-coarse:size-11`,"aria-label":S(`chat:chatHistoryPage.moreActionsForChat`,{name:t}),children:(0,O.jsx)(re,{size:16})})}),(0,O.jsxs)(de,{align:`end`,className:`min-w-48`,children:[(0,O.jsxs)(g,{className:`min-h-11`,onSelect:()=>void Re(e),children:[(0,O.jsx)(ie,{}),S(`chat:chatHistoryPage.renameChat`)]}),(0,O.jsxs)(g,{className:`min-h-11`,onSelect:()=>void Q(e,{pinned:!e.pinned},e.pinned?S(`chat:chatHistoryPage.unpinned`):S(`chat:chatHistoryPage.pinned`)),children:[e.pinned?(0,O.jsx)(je,{}):(0,O.jsx)(m,{}),e.pinned?S(`chat:chatHistoryPage.unpin`):S(`chat:chatHistoryPage.pin`)]}),(0,O.jsxs)(g,{className:`min-h-11`,onSelect:()=>void Q(e,{archived:!e.archived},e.archived?S(`chat:chatHistoryPage.restored`):S(`chat:chatHistoryPage.movedToArchive`)),children:[e.archived?(0,O.jsx)(ke,{}):(0,O.jsx)(te,{}),e.archived?S(`chat:chatHistoryPage.restore`):S(`chat:chatHistoryPage.archive`)]}),e.unread&&(0,O.jsx)(g,{className:`min-h-11`,onSelect:()=>void Q(e,{read:!0},S(`chat:chatHistoryPage.markedRead`)),children:S(`chat:chatHistoryPage.markRead`)}),(0,O.jsx)(le,{}),(0,O.jsxs)(g,{variant:`destructive`,className:`min-h-11`,onSelect:()=>void ze(e),children:[(0,O.jsx)(se,{}),S(`chat:chatHistoryPage.deleteChat`)]})]})]})},e.id)})})},e.key)),Y.total>50&&(0,O.jsx)(`div`,{className:`flex justify-center pt-4`,children:Y.total>Y.items.length?(0,O.jsx)(v,{type:`button`,variant:`secondary`,className:`tabular-nums max-[650px]:min-h-11 pointer-coarse:min-h-11`,onClick:()=>{let e=J+50;R.current=e>=Y.total,L({filterKey:F,count:e})},children:S(`chat:chatHistoryPage.loadMoreChats`,{shown:Y.items.length,total:Y.total})}):(0,O.jsx)(`p`,{ref:z,tabIndex:-1,role:`status`,className:`py-2 text-xs text-content-muted tabular-nums`,children:S(`chat:chatHistoryPage.allChatsShown`,{count:Y.total})})})]}):(0,O.jsx)(x,{kind:`empty`,title:Ve,description:He})]})})}export{j as ChatHistoryPage};
|