@jingyi0605/codingns 0.7.0 → 0.7.1

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 (81) hide show
  1. package/dist/public/assets/{AdaptiveButlerPage-B8mg25ze.js → AdaptiveButlerPage-Cd8nPdO0.js} +1 -1
  2. package/dist/public/assets/{App-C2lNmeKL.js → App-CyxK-Nos.js} +3 -3
  3. package/dist/public/assets/{BootstrapPage-CAVA-a8h.js → BootstrapPage-DEwPKWR8.js} +1 -1
  4. package/dist/public/assets/ConversationPage-CxWtRhfz.js +6 -0
  5. package/dist/public/assets/{DesktopDetachPreviewPage-B37DUL15.js → DesktopDetachPreviewPage-DDOWolgB.js} +1 -1
  6. package/dist/public/assets/{DesktopWindowPage-CDA6l7lm.js → DesktopWindowPage-CtS9D8FD.js} +1 -1
  7. package/dist/public/assets/{FileContextPanel-CMGTtAB6.js → FileContextPanel-CNOjhsi5.js} +1 -1
  8. package/dist/public/assets/GitSidebar-DpC4UhFy.js +6 -0
  9. package/dist/public/assets/{MobileCreateSessionSheet-THIrIzJ3.js → MobileCreateSessionSheet-DE4pTyXj.js} +1 -1
  10. package/dist/public/assets/{MobileTopHeaderFrame-D-X7pVnV.js → MobileTopHeaderFrame-D_ZbS0qi.js} +1 -1
  11. package/dist/public/assets/{MobileWorkspaceSwitcherHeader-Cczi7RYu.js → MobileWorkspaceSwitcherHeader-Dc12IAXc.js} +1 -1
  12. package/dist/public/assets/{RelayConnectEntryPage-D417tgWj.js → RelayConnectEntryPage-D8kyZfdm.js} +1 -1
  13. package/dist/public/assets/{ServerSettingsModal-BdTxbRbU.js → ServerSettingsModal-8eRu6VXr.js} +1 -1
  14. package/dist/public/assets/{SessionIndexPage-D5iefVcc.js → SessionIndexPage-DIi0JWKP.js} +1 -1
  15. package/dist/public/assets/{SettingsPage-iCFe_DHP.js → SettingsPage-OQq3kp32.js} +1 -1
  16. package/dist/public/assets/{TerminalManagerPanel-CtldwWz8.js → TerminalManagerPanel-BEMzisSy.js} +1 -1
  17. package/dist/public/assets/{TerminalPage-DAzQTmQC.js → TerminalPage-CXLQfwjU.js} +1 -1
  18. package/dist/public/assets/{TerminalRuntimeFallbackModal-DLOhAvaq.js → TerminalRuntimeFallbackModal-BY_VUAbq.js} +1 -1
  19. package/dist/public/assets/ToolFilesPage-CYx3DgHg.js +1 -0
  20. package/dist/public/assets/ToolGitPage-fgQcvF6v.js +1 -0
  21. package/dist/public/assets/ToolProcessesPage-BL6yDDPV.js +1 -0
  22. package/dist/public/assets/{ToolsHomePage-rU3V8mmh.js → ToolsHomePage-B1n2OeVw.js} +1 -1
  23. package/dist/public/assets/{WorkbenchLandingPage-BudM2C69.js → WorkbenchLandingPage-Cu9yAWYo.js} +1 -1
  24. package/dist/public/assets/WorkbenchLayout-D6hGXWGE.js +244 -0
  25. package/dist/public/assets/{WorkbenchModal-DMQutm1x.js → WorkbenchModal-Bpb_G1-U.js} +1 -1
  26. package/dist/public/assets/WorkbenchShellRoute-BCjcGWhl.js +1 -0
  27. package/dist/public/assets/{WorkspaceDebugDetailPage-CHqo-uDf.js → WorkspaceDebugDetailPage-CZwT99iQ.js} +1 -1
  28. package/dist/public/assets/{WorkspaceDetailPage-CGkAH1W-.js → WorkspaceDetailPage-DCM-olfU.js} +1 -1
  29. package/dist/public/assets/{WorkspaceHomePage-CfuPVITd.js → WorkspaceHomePage-CsIIqIma.js} +1 -1
  30. package/dist/public/assets/{client-runtime-manager-CKbtaemV.js → client-runtime-manager-CMK7kLp8.js} +1 -1
  31. package/dist/public/assets/file-tree-icon-Bv-apgA1.js +3 -0
  32. package/dist/public/assets/index-CkkzIvxs.css +1 -0
  33. package/dist/public/assets/index-O3gOb1E0.js +42 -0
  34. package/dist/public/assets/{login-direct-candidate-resolver-DjJMbqB7.js → login-direct-candidate-resolver-Bn4I5JHh.js} +1 -1
  35. package/dist/public/assets/{model-switch-api-T55eW6D4.js → model-switch-api-ZGnyVir7.js} +1 -1
  36. package/dist/public/assets/{preferences-service-BTKBl5xM.js → preferences-service-scuqVhuA.js} +1 -1
  37. package/dist/public/assets/realtime-client-TRootbbB.js +1 -0
  38. package/dist/public/assets/{relay-entry-sdeFnTbY.js → relay-entry-eyCjVFMA.js} +1 -1
  39. package/dist/public/assets/styles-DkbkRgWw.css +1 -0
  40. package/dist/public/assets/{terminal-runtime-meta-Cvt1ID92.js → terminal-runtime-meta-BGcnzxqn.js} +1 -1
  41. package/dist/public/assets/{useRegisteredDebugTemplates-O-ymgLd9.js → useRegisteredDebugTemplates-BdgPIDVM.js} +1 -1
  42. package/dist/public/index.html +2 -2
  43. package/dist/server/modules/git/git-controller.d.ts +3 -1
  44. package/dist/server/modules/git/git-controller.js +9 -2
  45. package/dist/server/modules/git/git-controller.js.map +1 -1
  46. package/dist/server/modules/git/git-read-service.js +2 -1
  47. package/dist/server/modules/git/git-read-service.js.map +1 -1
  48. package/dist/server/modules/git/git-remote-credential-service.d.ts +1 -0
  49. package/dist/server/modules/git/git-remote-credential-service.js +4 -0
  50. package/dist/server/modules/git/git-remote-credential-service.js.map +1 -1
  51. package/dist/server/modules/git/types.d.ts +1 -0
  52. package/dist/server/modules/provider/codex-model-options.js +14 -15
  53. package/dist/server/modules/provider/codex-model-options.js.map +1 -1
  54. package/dist/server/modules/provider/provider-discovery-helper-process.js +2 -1
  55. package/dist/server/modules/provider/provider-discovery-helper-process.js.map +1 -1
  56. package/dist/server/server/create-server.js +1 -1
  57. package/dist/server/server/create-server.js.map +1 -1
  58. package/node_modules/@codingns/session-sync-core/dist/patch-builder.d.ts +6 -0
  59. package/node_modules/@codingns/session-sync-core/dist/patch-builder.js +398 -0
  60. package/node_modules/@codingns/session-sync-core/dist/patch-builder.js.map +1 -1
  61. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +47 -4
  62. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  63. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +32 -4
  64. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
  65. package/package.json +5 -1
  66. package/dist/public/assets/ConversationPage-B6BGOX4C.js +0 -6
  67. package/dist/public/assets/GitSidebar--DCqBiGL.js +0 -6
  68. package/dist/public/assets/ToolFilesPage-D7thcDEv.js +0 -1
  69. package/dist/public/assets/ToolGitPage-uPRsxdcn.js +0 -1
  70. package/dist/public/assets/ToolProcessesPage-B1uOk0Ef.js +0 -1
  71. package/dist/public/assets/WorkbenchLayout-Dybarc1V.js +0 -244
  72. package/dist/public/assets/WorkbenchShellRoute-Cy4WBbzq.js +0 -1
  73. package/dist/public/assets/file-tree-icon-Bc0KADEl.js +0 -3
  74. package/dist/public/assets/index-DNRyROOG.css +0 -1
  75. package/dist/public/assets/index-oGylLBIX.js +0 -42
  76. package/dist/public/assets/realtime-client-ww7MnbTD.js +0 -1
  77. package/dist/public/assets/styles-BjPytabP.css +0 -1
  78. package/dist/server/modules/channels/wechat-claw-client.d.ts +0 -51
  79. package/dist/server/modules/channels/wechat-claw-client.js +0 -245
  80. package/dist/server/modules/channels/wechat-claw-client.js.map +0 -1
  81. /package/dist/public/assets/{styles-lhQGDlPF.js → styles-JKFlsYFv.js} +0 -0
@@ -1 +1 @@
1
- import{b as d,j as e,t as a}from"./index-oGylLBIX.js";import{g as pe,u as je}from"./App-C2lNmeKL.js";import{e as ye,a as fe}from"./model-switch-api-T55eW6D4.js";import{D as ce,E as Se,F as Ne,G as ke,H as Me,I as Ae,J as Ee,u as Ce,K as Pe,L as Ie,M as de,g as Le,N as se,O as ne,P as De,n as Te,c as Re}from"./WorkbenchLayout-Dybarc1V.js";import{f as Ge,a as ue,M as Oe}from"./MobileWorkspaceSwitcherHeader-Cczi7RYu.js";import{M as We}from"./MobileCreateSessionSheet-THIrIzJ3.js";import{w as he}from"./styles-lhQGDlPF.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./WorkbenchModal-DMQutm1x.js";import"./relay-entry-sdeFnTbY.js";import"./MobileTopHeaderFrame-D-X7pVnV.js";const Be=420,Fe=156;function He({entry:t,isFavorite:i,isActive:u=!1,depth:h=0,variant:c="default",workspaceTone:M="root",hasSubsessions:m=!1,subsessionsExpanded:A=!1,showActions:z=!0,onActivate:J,onToggleSubsessions:W,onToggleFavorite:te,onArchive:B,onUnarchive:ie,onRename:r}){var v;const[w,D]=d.useState(!1),[T,R]=d.useState(null),[j,F]=d.useState(null),E=d.useRef(null),G=d.useRef(!1),O=d.useRef(null),H=ye(),{session:l,workspace:oe}=t,V=l.title??l.sessionId,Z=fe(l.provider),$=[Z,Ve(l.lastMessageAt??l.updatedAt??null),ce(l)].filter(Boolean).join(" · "),_=c==="mobile"?null:ce(l),K=_?Se("session-list-activity-badge",l):null,S=c!=="mobile",U=S?Ne(l.parallelGroup):null,q=S?ke(l.parallelGroup):null,ae=S?Me(l.parallelGroup):void 0;d.useEffect(()=>()=>{Y()},[]),d.useLayoutEffect(()=>{if(!w||!j||typeof window>"u"){R(null);return}const n=()=>{var I,y;const g=Ae(j,{width:((I=O.current)==null?void 0:I.offsetWidth)??0,height:((y=O.current)==null?void 0:y.offsetHeight)??0},{width:window.innerWidth,height:window.innerHeight},{estimatedHeightPx:Fe});R({position:"fixed",left:`${Math.round(g.left)}px`,top:`${Math.round(g.top)}px`,width:`${Math.round(g.width)}px`,maxWidth:"calc(100vw - 24px)",maxHeight:`${Math.round(g.maxHeight)}px`,transformOrigin:g.transformOrigin})},x=g=>{var y;const I=g.target;I&&!((y=O.current)!=null&&y.contains(I))&&N()},P=g=>{g.key==="Escape"&&N()};return n(),window.addEventListener("pointerdown",x),window.addEventListener("keydown",P),window.addEventListener("resize",n),window.addEventListener("scroll",n,!0),()=>{window.removeEventListener("pointerdown",x),window.removeEventListener("keydown",P),window.removeEventListener("resize",n),window.removeEventListener("scroll",n,!0)}},[j,w]);function X(n){F(n),D(!0)}function N(){D(!1),F(null)}function Y(){E.current!==null&&(window.clearTimeout(E.current),E.current=null)}function le(n){if(!z||n.pointerType==="mouse")return;const x={x:n.clientX,y:n.clientY};Y(),E.current=window.setTimeout(()=>{G.current=!0,H.trigger("gesture"),X(x)},Be)}function C(){Y()}function Q(){if(G.current){G.current=!1;return}H.trigger("selection"),J(l.sessionId)}const s=async()=>{const n=window.prompt(a("shell.renameModalDescription"),V);n&&(await r(l.sessionId,n.trim()),N())},o=async()=>{if(l.isArchived){await ie(l.sessionId),N();return}await B(l.sessionId),N()},p=()=>{te(l.sessionId),N()},f=n=>{if(n.key!=="ContextMenu"&&!(n.shiftKey&&n.key==="F10"))return;n.preventDefault(),n.stopPropagation();const x=n.currentTarget.getBoundingClientRect();X({x:x.right,y:x.bottom})},k=w&&typeof document<"u"?pe.createPortal(e.jsxs("div",{ref:O,className:"session-action-menu surface-card",role:"menu","aria-label":a("shell.sessionMoreAction"),style:T??{position:"fixed",top:0,left:0,visibility:"hidden"},onClick:n=>n.stopPropagation(),children:[e.jsx("button",{type:"button",className:"session-action-menu-item",role:"menuitem",onClick:p,children:i?a("shell.unfavoriteAction"):a("shell.favoriteAction")}),e.jsx("button",{type:"button",className:"session-action-menu-item",role:"menuitem",onClick:()=>void o(),children:l.isArchived?a("shell.unarchiveAction"):a("shell.archiveAction")}),e.jsx("button",{type:"button",className:"session-action-menu-item",role:"menuitem",onClick:()=>void s(),children:a("shell.renameAction")})]}),document.body):null;return e.jsxs("article",{className:"session-list-item","data-depth":h,"data-active":u,"data-workspace-tone":M,"data-has-subsessions":m,"data-variant":c,"data-parallel-group":S&&l.parallelGroup?"true":void 0,"data-parallel-role":S?((v=l.parallelGroup)==null?void 0:v.role)??void 0:void 0,style:ae,onContextMenu:n=>{z&&(n.preventDefault(),n.stopPropagation(),X({x:n.clientX,y:n.clientY}))},children:[m?e.jsx("button",{type:"button",className:"session-list-subsession-toggle","aria-label":A?a("shell.subagentCollapse"):a("shell.subagentExpand"),title:A?a("shell.subagentCollapse"):a("shell.subagentExpand"),"aria-expanded":A,onClick:n=>{n.stopPropagation(),H.trigger("selection"),W==null||W()},children:e.jsx("span",{className:me(l,{isActive:u,hasSubsessions:m}),"aria-hidden":"true"})}):e.jsx("span",{className:me(l,{isActive:u,hasSubsessions:m}),"aria-hidden":"true"}),e.jsx("button",{type:"button",className:"session-list-link",onClick:Q,onPointerDown:le,onPointerUp:C,onPointerCancel:C,onPointerLeave:C,onKeyDown:f,children:e.jsxs("div",{className:"session-list-copy",children:[e.jsxs("div",{className:"session-list-title-row",children:[e.jsx("div",{className:"session-list-title",children:V||a("shell.searchEntry")}),U?e.jsx("span",{className:"session-list-parallel-badge",children:U}):null,q?e.jsx("span",{className:"session-list-parallel-role-badge",children:q}):null]}),e.jsx("div",{className:"session-list-meta",children:c==="mobile"?e.jsx(e.Fragment,{children:e.jsx("span",{children:$})}):e.jsxs(e.Fragment,{children:[e.jsx("span",{children:oe.name}),_&&K?e.jsxs(e.Fragment,{children:[e.jsx("span",{"aria-hidden":"true",children:"·"}),e.jsx("span",{className:K,children:_})]}):null,e.jsx("span",{"aria-hidden":"true",children:"·"}),e.jsx("span",{children:Z})]})})]})}),k]})}function me(t,i){return Ee("session-list-indicator",t,{isActive:i.isActive,hasSubagents:i.hasSubsessions})}function Ve(t){return t?new Date(t).toLocaleString(void 0,{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"}):a("common.unknown")}const ee=5;function ls(){var Q;const t=je(),{navigationGroups:i,favoriteSessionIds:u,currentWorkspaceId:h,currentSessionId:c,navigationLoading:M,selectWorkspace:m,toggleFavoriteSession:A,archiveSession:z,unarchiveSession:J,renameSession:W,startDraftSession:te}=Ce(),B=Ge(i),ie=d.useMemo(()=>Pe(i),[i]),r=ue(i,h)??ue(i,((Q=i[0])==null?void 0:Q.workspace.id)??null),w=B.find(s=>s.workspace.id===(r==null?void 0:r.workspace.id))??(r?{workspace:r.workspace,label:r.workspace.name,subtitle:r.workspace.path}:null),D=d.useMemo(()=>new Set(u),[u]),T=d.useMemo(()=>r?r.sessions.filter(s=>{if(s.isArchived)return!1;const o=Ie(s,{mode:"mobile"});if(!o)return!0;const p=r.sessions.find(f=>f.sessionId===o);return!p||!p.isArchived}).map(s=>({session:s,workspace:r.workspace})):[],[r]),R=d.useMemo(()=>T.filter(s=>D.has(s.session.sessionId)),[T,D]),j=d.useMemo(()=>de(T,{mode:"mobile"}),[T]),F=d.useMemo(()=>de(R,{mode:"mobile"}),[R]),E=d.useMemo(()=>r?r.sessions.filter(s=>s.isArchived===!0&&!Le(s)):[],[r]),G=(r==null?void 0:r.workspace.id)??"",O=!!G,[H,l]=d.useState([]),[oe,V]=d.useState({}),[Z,$]=d.useState(!1),[_,K]=d.useState(!1),[S,U]=d.useState(null);d.useEffect(()=>{V(s=>{const o={};for(const p of j){const f=se(ne(p));if(f.length===0)continue;const k=f.findIndex(v=>v.item.session.sessionId===c);o[p.item.session.sessionId]=Xe(f.length,ee,s[p.item.session.sessionId],k)}return Ye(s,o)?s:o})},[c,j]),d.useEffect(()=>{if(!c)return;const s=De(j,c,o=>o.session.sessionId);s.length!==0&&l(o=>{const p=new Set(o);let f=!1;for(const k of s)p.has(k)||(p.add(k),f=!0);return f?Array.from(p):o})},[c,j]);function q(s){l(o=>o.includes(s)?o.filter(p=>p!==s):[...o,s])}function ae(s){return oe[s]??ee}function X(s){V(o=>({...o,[s]:(o[s]??ee)+ee}))}function N(s,o){he("immersive"),t(Re(s,o))}function Y(s,o){$(!1),he("immersive"),te(s,o)}async function le(s){U(s);try{await J(s)}finally{U(o=>o===s?null:o)}}function C(s,o=!1,p=[],f=!1,k=!1){var re;const v=s.item.session.sessionId,n=s.children,x=s.depth===0&&n.length>0,P=o||x&&H.includes(v),g=P&&x,I=g?Ue(s,ae(v)):s,y=P?I.children:[],be=se(n).length,xe=se(y).length,ge=g&&xe<be,we=s.depth>0?[...p,f]:[...p];return e.jsxs("div",{className:"session-list-tree-node",children:[e.jsxs("div",{className:"session-list-tree-row",style:{"--session-tree-depth":s.depth},children:[s.depth>0?e.jsxs("div",{className:"session-tree-guides","aria-hidden":"true",style:{"--session-tree-depth":s.depth},children:[p.map((b,L)=>b?e.jsx("span",{className:"session-tree-guide-column",style:{"--session-tree-level":L+1}},`${v}:ancestor:${L}`):null),e.jsx("span",{className:"session-tree-guide-branch","data-continue":f,"data-first":k,style:{"--session-tree-level":s.depth},children:e.jsx("span",{className:"session-tree-guide-branch-horizontal"})})]}):null,e.jsx(He,{entry:s.item,isFavorite:D.has(v),isActive:c===v,depth:s.depth,variant:"mobile",workspaceTone:((re=ie[s.item.workspace.id])==null?void 0:re.tone)??"root",hasSubsessions:x,subsessionsExpanded:P,onActivate:b=>N(s.item.workspace.id,b),onToggleSubsessions:x?()=>q(v):void 0,onToggleFavorite:b=>{A(b)},onArchive:b=>z(b),onUnarchive:b=>J(b),onRename:(b,L)=>W(b,L)})]}),P&&y.length>0?e.jsx("div",{className:"session-list-children",children:y.map((b,L)=>C(b,!0,we,L<y.length-1,L===0))}):null,ge?e.jsx("div",{className:"session-list-children",children:e.jsx("button",{type:"button",className:"secondary-button",onClick:()=>X(v),children:a("shell.subagentExpandMore")})}):null]},`${s.item.workspace.id}:${v}`)}return e.jsxs("main",{className:"session-index-page mobile-feature-page mobile-page-scroll-root mobile-page-with-top-header",children:[e.jsx(Oe,{currentWorkspace:w?{id:w.workspace.id,name:w.label,path:w.subtitle}:null,workspaces:i.map(s=>s.workspace),workspaceOptions:B,onSelectWorkspace:s=>{m(s),t(Te(s))},content:e.jsx("button",{type:"button",className:"primary-button mobile-session-index-create-button",disabled:M||!O,onClick:()=>$(!0),children:a("shell.createSession")})}),e.jsxs("div",{className:"mobile-page-top-body",children:[e.jsx("div",{className:"session-index-archive-actions",children:e.jsxs("button",{type:"button",className:"primary-button mobile-session-index-create-button session-index-archive-button",disabled:M||!r,onClick:()=>K(!0),children:[e.jsx("span",{children:a("shell.archiveViewAction")}),e.jsx("span",{className:"session-index-archive-count",children:E.length})]})}),F.length>0?e.jsxs("section",{className:"session-section session-section-sheet",children:[e.jsxs("header",{className:"session-section-heading",children:[e.jsx("div",{children:e.jsx("h2",{children:a("shell.favoriteSectionTitle")})}),e.jsx("span",{className:"session-section-count",children:R.length})]}),e.jsx("div",{className:"session-current-workspace-list",children:F.map(s=>C(s))})]}):null,e.jsxs("section",{className:"session-section session-section-sheet",children:[e.jsxs("header",{className:"session-section-heading",children:[e.jsx("div",{children:e.jsx("h2",{children:a("shell.mobileConversationCurrentWorkspaceSection")})}),e.jsx("span",{className:"session-section-count",children:j.length})]}),j.length===0?e.jsx("p",{className:"session-section-empty",children:M?a("shell.searchSessionHint"):a("shell.emptyWorkspaceSessions")}):e.jsx("div",{className:"session-current-workspace-list",children:j.map(s=>C(s))})]})]}),e.jsx(We,{open:Z,workspaces:i.map(s=>s.workspace),workspaceOptions:B,initialWorkspaceId:h??G,onClose:()=>$(!1),onSelect:Y}),e.jsx($e,{open:_,workspaceName:(w==null?void 0:w.label)??(r==null?void 0:r.workspace.name)??null,sessions:E,restoringSessionId:S,onClose:()=>{S||K(!1)},onRestore:s=>void le(s)})]})}function $e({open:t,workspaceName:i,sessions:u,restoringSessionId:h,onClose:c,onRestore:M}){return d.useEffect(()=>{if(!t)return;function m(A){A.key==="Escape"&&!h&&c()}return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m)}},[c,t,h]),!t||typeof document>"u"?null:pe.createPortal(e.jsxs("div",{className:"workbench-modal-layer",children:[e.jsx("button",{type:"button",className:"workbench-modal-backdrop","aria-label":a("common.close"),disabled:!!h,onClick:c}),e.jsxs("section",{className:"workbench-modal-card surface-card",role:"dialog","aria-modal":"true","aria-label":a("shell.archiveModalTitle"),children:[e.jsx("div",{className:"workbench-modal-header",children:e.jsxs("div",{className:"workbench-modal-title-wrap",children:[e.jsx("h2",{children:a("shell.archiveModalTitle")}),e.jsx("p",{children:i?`${i} · ${a("shell.archiveModalDescription")}`:a("shell.archiveModalDescription")})]})}),e.jsx("div",{className:"workbench-modal-body",children:u.length>0?e.jsx("div",{className:"workbench-archive-list",children:u.map(m=>e.jsxs("article",{className:"workbench-archive-item",children:[e.jsxs("div",{className:"workbench-archive-item-main",children:[e.jsx("strong",{title:m.title??m.sessionId,children:m.title??m.sessionId}),e.jsx("p",{children:_e(m)})]}),e.jsx("button",{type:"button",className:"secondary-button",disabled:h===m.sessionId,onClick:()=>{M(m.sessionId)},children:a("shell.unarchiveAction")})]},m.sessionId))}):e.jsx("p",{className:"workbench-section-empty",children:a("shell.archiveEmpty")})})]})]}),document.body)}function _e(t){const i=fe(t.provider),u=Ke(t.lastMessageAt??t.updatedAt??null);return[i,u].filter(Boolean).join(" · ")}function Ke(t){if(!t)return null;const i=Date.parse(t);return Number.isNaN(i)?null:new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(i)}function Ue(t,i){const u=new Set(se(ne(t)).sort((h,c)=>(c.item.session.lastMessageAt??c.item.session.updatedAt).localeCompare(h.item.session.lastMessageAt??h.item.session.updatedAt)).slice(0,i).map(h=>h.item.session.sessionId));return{...t,children:ve(ne(t),u)}}function ve(t,i){return t.flatMap(u=>{const h=ve(ne(u),i);return!i.has(u.item.session.sessionId)&&h.length===0?[]:[{...u,children:h}]})}function Xe(t,i,u,h=-1){if(t<=0)return 0;const c=h>=0?Math.max(i,h+1):i;return Math.min(t,Math.max(u??0,c))}function Ye(t,i){const u=Object.keys(t),h=Object.keys(i);return u.length!==h.length?!1:u.every(c=>t[c]===i[c])}export{ls as SessionIndexPage};
1
+ import{b as d,j as e,t as a}from"./index-O3gOb1E0.js";import{g as pe,u as je}from"./App-CyxK-Nos.js";import{e as ye,a as fe}from"./model-switch-api-ZGnyVir7.js";import{D as ce,E as Se,F as Ne,G as ke,H as Me,I as Ae,J as Ee,u as Ce,K as Pe,L as Ie,M as de,g as Le,N as se,O as ne,P as De,n as Te,c as Re}from"./WorkbenchLayout-D6hGXWGE.js";import{f as Ge,a as ue,M as Oe}from"./MobileWorkspaceSwitcherHeader-Dc12IAXc.js";import{M as We}from"./MobileCreateSessionSheet-DE4pTyXj.js";import{w as he}from"./styles-JKFlsYFv.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./WorkbenchModal-Bpb_G1-U.js";import"./relay-entry-eyCjVFMA.js";import"./MobileTopHeaderFrame-D_ZbS0qi.js";const Be=420,Fe=156;function He({entry:t,isFavorite:i,isActive:u=!1,depth:h=0,variant:c="default",workspaceTone:M="root",hasSubsessions:m=!1,subsessionsExpanded:A=!1,showActions:z=!0,onActivate:J,onToggleSubsessions:W,onToggleFavorite:te,onArchive:B,onUnarchive:ie,onRename:r}){var v;const[w,D]=d.useState(!1),[T,R]=d.useState(null),[j,F]=d.useState(null),E=d.useRef(null),G=d.useRef(!1),O=d.useRef(null),H=ye(),{session:l,workspace:oe}=t,V=l.title??l.sessionId,Z=fe(l.provider),$=[Z,Ve(l.lastMessageAt??l.updatedAt??null),ce(l)].filter(Boolean).join(" · "),_=c==="mobile"?null:ce(l),K=_?Se("session-list-activity-badge",l):null,S=c!=="mobile",U=S?Ne(l.parallelGroup):null,q=S?ke(l.parallelGroup):null,ae=S?Me(l.parallelGroup):void 0;d.useEffect(()=>()=>{Y()},[]),d.useLayoutEffect(()=>{if(!w||!j||typeof window>"u"){R(null);return}const n=()=>{var I,y;const g=Ae(j,{width:((I=O.current)==null?void 0:I.offsetWidth)??0,height:((y=O.current)==null?void 0:y.offsetHeight)??0},{width:window.innerWidth,height:window.innerHeight},{estimatedHeightPx:Fe});R({position:"fixed",left:`${Math.round(g.left)}px`,top:`${Math.round(g.top)}px`,width:`${Math.round(g.width)}px`,maxWidth:"calc(100vw - 24px)",maxHeight:`${Math.round(g.maxHeight)}px`,transformOrigin:g.transformOrigin})},x=g=>{var y;const I=g.target;I&&!((y=O.current)!=null&&y.contains(I))&&N()},P=g=>{g.key==="Escape"&&N()};return n(),window.addEventListener("pointerdown",x),window.addEventListener("keydown",P),window.addEventListener("resize",n),window.addEventListener("scroll",n,!0),()=>{window.removeEventListener("pointerdown",x),window.removeEventListener("keydown",P),window.removeEventListener("resize",n),window.removeEventListener("scroll",n,!0)}},[j,w]);function X(n){F(n),D(!0)}function N(){D(!1),F(null)}function Y(){E.current!==null&&(window.clearTimeout(E.current),E.current=null)}function le(n){if(!z||n.pointerType==="mouse")return;const x={x:n.clientX,y:n.clientY};Y(),E.current=window.setTimeout(()=>{G.current=!0,H.trigger("gesture"),X(x)},Be)}function C(){Y()}function Q(){if(G.current){G.current=!1;return}H.trigger("selection"),J(l.sessionId)}const s=async()=>{const n=window.prompt(a("shell.renameModalDescription"),V);n&&(await r(l.sessionId,n.trim()),N())},o=async()=>{if(l.isArchived){await ie(l.sessionId),N();return}await B(l.sessionId),N()},p=()=>{te(l.sessionId),N()},f=n=>{if(n.key!=="ContextMenu"&&!(n.shiftKey&&n.key==="F10"))return;n.preventDefault(),n.stopPropagation();const x=n.currentTarget.getBoundingClientRect();X({x:x.right,y:x.bottom})},k=w&&typeof document<"u"?pe.createPortal(e.jsxs("div",{ref:O,className:"session-action-menu surface-card",role:"menu","aria-label":a("shell.sessionMoreAction"),style:T??{position:"fixed",top:0,left:0,visibility:"hidden"},onClick:n=>n.stopPropagation(),children:[e.jsx("button",{type:"button",className:"session-action-menu-item",role:"menuitem",onClick:p,children:i?a("shell.unfavoriteAction"):a("shell.favoriteAction")}),e.jsx("button",{type:"button",className:"session-action-menu-item",role:"menuitem",onClick:()=>void o(),children:l.isArchived?a("shell.unarchiveAction"):a("shell.archiveAction")}),e.jsx("button",{type:"button",className:"session-action-menu-item",role:"menuitem",onClick:()=>void s(),children:a("shell.renameAction")})]}),document.body):null;return e.jsxs("article",{className:"session-list-item","data-depth":h,"data-active":u,"data-workspace-tone":M,"data-has-subsessions":m,"data-variant":c,"data-parallel-group":S&&l.parallelGroup?"true":void 0,"data-parallel-role":S?((v=l.parallelGroup)==null?void 0:v.role)??void 0:void 0,style:ae,onContextMenu:n=>{z&&(n.preventDefault(),n.stopPropagation(),X({x:n.clientX,y:n.clientY}))},children:[m?e.jsx("button",{type:"button",className:"session-list-subsession-toggle","aria-label":A?a("shell.subagentCollapse"):a("shell.subagentExpand"),title:A?a("shell.subagentCollapse"):a("shell.subagentExpand"),"aria-expanded":A,onClick:n=>{n.stopPropagation(),H.trigger("selection"),W==null||W()},children:e.jsx("span",{className:me(l,{isActive:u,hasSubsessions:m}),"aria-hidden":"true"})}):e.jsx("span",{className:me(l,{isActive:u,hasSubsessions:m}),"aria-hidden":"true"}),e.jsx("button",{type:"button",className:"session-list-link",onClick:Q,onPointerDown:le,onPointerUp:C,onPointerCancel:C,onPointerLeave:C,onKeyDown:f,children:e.jsxs("div",{className:"session-list-copy",children:[e.jsxs("div",{className:"session-list-title-row",children:[e.jsx("div",{className:"session-list-title",children:V||a("shell.searchEntry")}),U?e.jsx("span",{className:"session-list-parallel-badge",children:U}):null,q?e.jsx("span",{className:"session-list-parallel-role-badge",children:q}):null]}),e.jsx("div",{className:"session-list-meta",children:c==="mobile"?e.jsx(e.Fragment,{children:e.jsx("span",{children:$})}):e.jsxs(e.Fragment,{children:[e.jsx("span",{children:oe.name}),_&&K?e.jsxs(e.Fragment,{children:[e.jsx("span",{"aria-hidden":"true",children:"·"}),e.jsx("span",{className:K,children:_})]}):null,e.jsx("span",{"aria-hidden":"true",children:"·"}),e.jsx("span",{children:Z})]})})]})}),k]})}function me(t,i){return Ee("session-list-indicator",t,{isActive:i.isActive,hasSubagents:i.hasSubsessions})}function Ve(t){return t?new Date(t).toLocaleString(void 0,{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"}):a("common.unknown")}const ee=5;function ls(){var Q;const t=je(),{navigationGroups:i,favoriteSessionIds:u,currentWorkspaceId:h,currentSessionId:c,navigationLoading:M,selectWorkspace:m,toggleFavoriteSession:A,archiveSession:z,unarchiveSession:J,renameSession:W,startDraftSession:te}=Ce(),B=Ge(i),ie=d.useMemo(()=>Pe(i),[i]),r=ue(i,h)??ue(i,((Q=i[0])==null?void 0:Q.workspace.id)??null),w=B.find(s=>s.workspace.id===(r==null?void 0:r.workspace.id))??(r?{workspace:r.workspace,label:r.workspace.name,subtitle:r.workspace.path}:null),D=d.useMemo(()=>new Set(u),[u]),T=d.useMemo(()=>r?r.sessions.filter(s=>{if(s.isArchived)return!1;const o=Ie(s,{mode:"mobile"});if(!o)return!0;const p=r.sessions.find(f=>f.sessionId===o);return!p||!p.isArchived}).map(s=>({session:s,workspace:r.workspace})):[],[r]),R=d.useMemo(()=>T.filter(s=>D.has(s.session.sessionId)),[T,D]),j=d.useMemo(()=>de(T,{mode:"mobile"}),[T]),F=d.useMemo(()=>de(R,{mode:"mobile"}),[R]),E=d.useMemo(()=>r?r.sessions.filter(s=>s.isArchived===!0&&!Le(s)):[],[r]),G=(r==null?void 0:r.workspace.id)??"",O=!!G,[H,l]=d.useState([]),[oe,V]=d.useState({}),[Z,$]=d.useState(!1),[_,K]=d.useState(!1),[S,U]=d.useState(null);d.useEffect(()=>{V(s=>{const o={};for(const p of j){const f=se(ne(p));if(f.length===0)continue;const k=f.findIndex(v=>v.item.session.sessionId===c);o[p.item.session.sessionId]=Xe(f.length,ee,s[p.item.session.sessionId],k)}return Ye(s,o)?s:o})},[c,j]),d.useEffect(()=>{if(!c)return;const s=De(j,c,o=>o.session.sessionId);s.length!==0&&l(o=>{const p=new Set(o);let f=!1;for(const k of s)p.has(k)||(p.add(k),f=!0);return f?Array.from(p):o})},[c,j]);function q(s){l(o=>o.includes(s)?o.filter(p=>p!==s):[...o,s])}function ae(s){return oe[s]??ee}function X(s){V(o=>({...o,[s]:(o[s]??ee)+ee}))}function N(s,o){he("immersive"),t(Re(s,o))}function Y(s,o){$(!1),he("immersive"),te(s,o)}async function le(s){U(s);try{await J(s)}finally{U(o=>o===s?null:o)}}function C(s,o=!1,p=[],f=!1,k=!1){var re;const v=s.item.session.sessionId,n=s.children,x=s.depth===0&&n.length>0,P=o||x&&H.includes(v),g=P&&x,I=g?Ue(s,ae(v)):s,y=P?I.children:[],be=se(n).length,xe=se(y).length,ge=g&&xe<be,we=s.depth>0?[...p,f]:[...p];return e.jsxs("div",{className:"session-list-tree-node",children:[e.jsxs("div",{className:"session-list-tree-row",style:{"--session-tree-depth":s.depth},children:[s.depth>0?e.jsxs("div",{className:"session-tree-guides","aria-hidden":"true",style:{"--session-tree-depth":s.depth},children:[p.map((b,L)=>b?e.jsx("span",{className:"session-tree-guide-column",style:{"--session-tree-level":L+1}},`${v}:ancestor:${L}`):null),e.jsx("span",{className:"session-tree-guide-branch","data-continue":f,"data-first":k,style:{"--session-tree-level":s.depth},children:e.jsx("span",{className:"session-tree-guide-branch-horizontal"})})]}):null,e.jsx(He,{entry:s.item,isFavorite:D.has(v),isActive:c===v,depth:s.depth,variant:"mobile",workspaceTone:((re=ie[s.item.workspace.id])==null?void 0:re.tone)??"root",hasSubsessions:x,subsessionsExpanded:P,onActivate:b=>N(s.item.workspace.id,b),onToggleSubsessions:x?()=>q(v):void 0,onToggleFavorite:b=>{A(b)},onArchive:b=>z(b),onUnarchive:b=>J(b),onRename:(b,L)=>W(b,L)})]}),P&&y.length>0?e.jsx("div",{className:"session-list-children",children:y.map((b,L)=>C(b,!0,we,L<y.length-1,L===0))}):null,ge?e.jsx("div",{className:"session-list-children",children:e.jsx("button",{type:"button",className:"secondary-button",onClick:()=>X(v),children:a("shell.subagentExpandMore")})}):null]},`${s.item.workspace.id}:${v}`)}return e.jsxs("main",{className:"session-index-page mobile-feature-page mobile-page-scroll-root mobile-page-with-top-header",children:[e.jsx(Oe,{currentWorkspace:w?{id:w.workspace.id,name:w.label,path:w.subtitle}:null,workspaces:i.map(s=>s.workspace),workspaceOptions:B,onSelectWorkspace:s=>{m(s),t(Te(s))},content:e.jsx("button",{type:"button",className:"primary-button mobile-session-index-create-button",disabled:M||!O,onClick:()=>$(!0),children:a("shell.createSession")})}),e.jsxs("div",{className:"mobile-page-top-body",children:[e.jsx("div",{className:"session-index-archive-actions",children:e.jsxs("button",{type:"button",className:"primary-button mobile-session-index-create-button session-index-archive-button",disabled:M||!r,onClick:()=>K(!0),children:[e.jsx("span",{children:a("shell.archiveViewAction")}),e.jsx("span",{className:"session-index-archive-count",children:E.length})]})}),F.length>0?e.jsxs("section",{className:"session-section session-section-sheet",children:[e.jsxs("header",{className:"session-section-heading",children:[e.jsx("div",{children:e.jsx("h2",{children:a("shell.favoriteSectionTitle")})}),e.jsx("span",{className:"session-section-count",children:R.length})]}),e.jsx("div",{className:"session-current-workspace-list",children:F.map(s=>C(s))})]}):null,e.jsxs("section",{className:"session-section session-section-sheet",children:[e.jsxs("header",{className:"session-section-heading",children:[e.jsx("div",{children:e.jsx("h2",{children:a("shell.mobileConversationCurrentWorkspaceSection")})}),e.jsx("span",{className:"session-section-count",children:j.length})]}),j.length===0?e.jsx("p",{className:"session-section-empty",children:M?a("shell.searchSessionHint"):a("shell.emptyWorkspaceSessions")}):e.jsx("div",{className:"session-current-workspace-list",children:j.map(s=>C(s))})]})]}),e.jsx(We,{open:Z,workspaces:i.map(s=>s.workspace),workspaceOptions:B,initialWorkspaceId:h??G,onClose:()=>$(!1),onSelect:Y}),e.jsx($e,{open:_,workspaceName:(w==null?void 0:w.label)??(r==null?void 0:r.workspace.name)??null,sessions:E,restoringSessionId:S,onClose:()=>{S||K(!1)},onRestore:s=>void le(s)})]})}function $e({open:t,workspaceName:i,sessions:u,restoringSessionId:h,onClose:c,onRestore:M}){return d.useEffect(()=>{if(!t)return;function m(A){A.key==="Escape"&&!h&&c()}return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m)}},[c,t,h]),!t||typeof document>"u"?null:pe.createPortal(e.jsxs("div",{className:"workbench-modal-layer",children:[e.jsx("button",{type:"button",className:"workbench-modal-backdrop","aria-label":a("common.close"),disabled:!!h,onClick:c}),e.jsxs("section",{className:"workbench-modal-card surface-card",role:"dialog","aria-modal":"true","aria-label":a("shell.archiveModalTitle"),children:[e.jsx("div",{className:"workbench-modal-header",children:e.jsxs("div",{className:"workbench-modal-title-wrap",children:[e.jsx("h2",{children:a("shell.archiveModalTitle")}),e.jsx("p",{children:i?`${i} · ${a("shell.archiveModalDescription")}`:a("shell.archiveModalDescription")})]})}),e.jsx("div",{className:"workbench-modal-body",children:u.length>0?e.jsx("div",{className:"workbench-archive-list",children:u.map(m=>e.jsxs("article",{className:"workbench-archive-item",children:[e.jsxs("div",{className:"workbench-archive-item-main",children:[e.jsx("strong",{title:m.title??m.sessionId,children:m.title??m.sessionId}),e.jsx("p",{children:_e(m)})]}),e.jsx("button",{type:"button",className:"secondary-button",disabled:h===m.sessionId,onClick:()=>{M(m.sessionId)},children:a("shell.unarchiveAction")})]},m.sessionId))}):e.jsx("p",{className:"workbench-section-empty",children:a("shell.archiveEmpty")})})]})]}),document.body)}function _e(t){const i=fe(t.provider),u=Ke(t.lastMessageAt??t.updatedAt??null);return[i,u].filter(Boolean).join(" · ")}function Ke(t){if(!t)return null;const i=Date.parse(t);return Number.isNaN(i)?null:new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(i)}function Ue(t,i){const u=new Set(se(ne(t)).sort((h,c)=>(c.item.session.lastMessageAt??c.item.session.updatedAt).localeCompare(h.item.session.lastMessageAt??h.item.session.updatedAt)).slice(0,i).map(h=>h.item.session.sessionId));return{...t,children:ve(ne(t),u)}}function ve(t,i){return t.flatMap(u=>{const h=ve(ne(u),i);return!i.has(u.item.session.sessionId)&&h.length===0?[]:[{...u,children:h}]})}function Xe(t,i,u,h=-1){if(t<=0)return 0;const c=h>=0?Math.max(i,h+1):i;return Math.min(t,Math.max(u??0,c))}function Ye(t,i){const u=Object.keys(t),h=Object.keys(i);return u.length!==h.length?!1:u.every(c=>t[c]===i[c])}export{ls as SessionIndexPage};