@jingyi0605/codingns 1.0.0-beta.1 → 1.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/public/assets/AdaptiveButlerPage-BHUAx_24.js +2 -0
- package/dist/public/assets/{App-CHsm-VrM.js → App-D5hc6KuU.js} +6 -6
- package/dist/public/assets/{BootstrapPage-Bp0KfySv.js → BootstrapPage-C2sMZMJa.js} +1 -1
- package/dist/public/assets/ConversationPage-CDpyEOUA.js +9 -0
- package/dist/public/assets/{DesktopDetachPreviewPage-DlDSb_tf.js → DesktopDetachPreviewPage-D9Abm5NU.js} +1 -1
- package/dist/public/assets/{DesktopModal-Csj5AdAN.js → DesktopModal-BCVZq_PQ.js} +1 -1
- package/dist/public/assets/{DesktopWindowPage-CacXiWjV.js → DesktopWindowPage-Cotl5fte.js} +1 -1
- package/dist/public/assets/{FileContextPanel-DzMUQvE5.js → FileContextPanel-DbPOq5w-.js} +1 -1
- package/dist/public/assets/{GitSidebar-C8IC18GH.js → GitSidebar-Cuxi2R93.js} +1 -1
- package/dist/public/assets/{MobileCreateSessionSheet-BtqR_hKc.js → MobileCreateSessionSheet-DYqarJqO.js} +1 -1
- package/dist/public/assets/{MobileSheet-Co-qPMBD.js → MobileSheet-DPYtp5Ze.js} +1 -1
- package/dist/public/assets/{PluginAccessOverview-D-KXkcyj.js → PluginAccessOverview-CiVzb_NI.js} +1 -1
- package/dist/public/assets/{PluginContainerPage-BKwCIs4r.js → PluginContainerPage-BfZ3E41c.js} +1 -1
- package/dist/public/assets/{PluginDetailPage-Djv_swcO.js → PluginDetailPage-DQQAg_ba.js} +1 -1
- package/dist/public/assets/{PluginsListPage-DAECNoN6.js → PluginsListPage-bF1NmA_r.js} +1 -1
- package/dist/public/assets/{PureConversationPage-DP1X7Hix.js → PureConversationPage-CWji-ARJ.js} +1 -1
- package/dist/public/assets/{RelayConnectEntryPage-xL_IPH8a.js → RelayConnectEntryPage-D4-3Fher.js} +1 -1
- package/dist/public/assets/{ServerSettingsModal-CyhMgk10.js → ServerSettingsModal-BUY1Y3g6.js} +1 -1
- package/dist/public/assets/{SessionIndexPage-CVEz50tc.js → SessionIndexPage-zVB9jnzP.js} +1 -1
- package/dist/public/assets/SettingsPage-DeqR2p7d.js +2 -0
- package/dist/public/assets/{TerminalManagerPanel-wVnoRA8u.js → TerminalManagerPanel-BjnC70ga.js} +1 -1
- package/dist/public/assets/{ToolFilesPage-BospXumK.js → ToolFilesPage-BZseQqvZ.js} +1 -1
- package/dist/public/assets/{ToolGitPage-B2zOeCAD.js → ToolGitPage-SrOO8Ftz.js} +1 -1
- package/dist/public/assets/{ToolProcessesPage-BDShao4b.js → ToolProcessesPage-Dbzlqjdy.js} +1 -1
- package/dist/public/assets/{ToolsHomePage-s4zH7D9M.js → ToolsHomePage-BBilUc0P.js} +1 -1
- package/dist/public/assets/{WorkbenchLandingPage-D51QCU_u.js → WorkbenchLandingPage-FdsBC8WN.js} +1 -1
- package/dist/public/assets/WorkbenchLayout-yGxGKcG1.js +1081 -0
- package/dist/public/assets/{WorkbenchModal-YsyEdJ_m.js → WorkbenchModal-Cm-ciXO9.js} +1 -1
- package/dist/public/assets/WorkbenchShellRoute-CijuAd9-.js +1 -0
- package/dist/public/assets/WorkbenchShellRoute-DpycFsbp.css +1 -0
- package/dist/public/assets/{WorkspaceDebugDetailPage-CMjNLqFq.js → WorkspaceDebugDetailPage-CZtpOiY0.js} +1 -1
- package/dist/public/assets/{WorkspaceDetailPage-CKxTbPKh.js → WorkspaceDetailPage-CbbgUz1H.js} +1 -1
- package/dist/public/assets/{WorkspaceHomePage-CEy4ShCu.js → WorkspaceHomePage-DMNJKAYe.js} +1 -1
- package/dist/public/assets/{client-runtime-manager-BFXU9DmS.js → client-runtime-manager-tsFkLtO_.js} +1 -1
- package/dist/public/assets/{host-alias-Zb2xyVrf.js → host-alias-df5bYDlE.js} +1 -1
- package/dist/public/assets/index-CILPuSCp.js +50 -0
- package/dist/public/assets/index-CSlwKnM4.css +1 -0
- package/dist/public/assets/{login-direct-candidate-resolver-DL8DS-Si.js → login-direct-candidate-resolver-pkfXrMJy.js} +1 -1
- package/dist/public/assets/peer-host-config-sync-nS_66OLg.js +1 -0
- package/dist/public/assets/{plugin-permission-copy-DrLk22m5.js → plugin-permission-copy-LDy-lW7h.js} +1 -1
- package/dist/public/assets/{plugins-api-COF4oh24.js → plugins-api-BGF9OybZ.js} +1 -1
- package/dist/public/assets/{preferences-service-CEWNV1w9.js → preferences-service-BC25oxA_.js} +1 -1
- package/dist/public/assets/{relay-entry-Cmc8vTlE.js → relay-entry-ErQKnI7B.js} +1 -1
- package/dist/public/assets/{useRegisteredDebugTemplates-FdmHG2S4.js → useRegisteredDebugTemplates-BTr3ATCZ.js} +1 -1
- package/dist/public/assets/{workbench-navigation-ED0157V-.js → workbench-navigation-hwM28xIb.js} +1 -1
- package/dist/public/index.html +2 -2
- package/dist/server/modules/client/client-controller.d.ts +1 -0
- package/dist/server/modules/client/client-controller.js +4 -0
- package/dist/server/modules/client/client-controller.js.map +1 -1
- package/dist/server/modules/client/client-service.d.ts +3 -0
- package/dist/server/modules/client/client-service.js +3 -0
- package/dist/server/modules/client/client-service.js.map +1 -1
- package/dist/server/modules/client/npm-global-package-service.js +32 -7
- package/dist/server/modules/client/npm-global-package-service.js.map +1 -1
- package/dist/server/modules/peer-host/host-ws-proxy-service.js +73 -12
- package/dist/server/modules/peer-host/host-ws-proxy-service.js.map +1 -1
- package/dist/server/modules/provider/provider-discovery-helper-client.d.ts +2 -0
- package/dist/server/modules/provider/provider-discovery-helper-client.js.map +1 -1
- package/dist/server/modules/provider/provider-discovery-helper-process.js +6 -3
- package/dist/server/modules/provider/provider-discovery-helper-process.js.map +1 -1
- package/dist/server/modules/provider/provider-discovery-runtime.js +4 -1
- package/dist/server/modules/provider/provider-discovery-runtime.js.map +1 -1
- package/dist/server/modules/sessions/session-history-service.d.ts +8 -0
- package/dist/server/modules/sessions/session-history-service.js +123 -5
- package/dist/server/modules/sessions/session-history-service.js.map +1 -1
- package/dist/server/modules/sessions/session-live-runtime-service.d.ts +13 -0
- package/dist/server/modules/sessions/session-live-runtime-service.js +354 -5
- package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
- package/dist/server/modules/sessions/session-permission-request-service.d.ts +16 -1
- package/dist/server/modules/sessions/session-permission-request-service.js +375 -9
- package/dist/server/modules/sessions/session-permission-request-service.js.map +1 -1
- package/dist/server/modules/sessions/workspace-session-runtime-context-service.js +10 -0
- package/dist/server/modules/sessions/workspace-session-runtime-context-service.js.map +1 -1
- package/dist/server/modules/tasks/task-helper-process-handlers.d.ts +1 -0
- package/dist/server/modules/tasks/task-helper-process-handlers.js +4 -1
- package/dist/server/modules/tasks/task-helper-process-handlers.js.map +1 -1
- package/dist/server/modules/workbench/workbench-service.js +7 -4
- package/dist/server/modules/workbench/workbench-service.js.map +1 -1
- package/dist/server/routes/client.js +1 -0
- package/dist/server/routes/client.js.map +1 -1
- package/dist/server/shared/utils/peer-host-proxy-log.d.ts +3 -0
- package/dist/server/shared/utils/peer-host-proxy-log.js +48 -0
- package/dist/server/shared/utils/peer-host-proxy-log.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.d.ts +2 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +93 -12
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +3 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +116 -2
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.d.ts +1 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js +19 -8
- package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.d.ts +1 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js +30 -2
- package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js.map +1 -1
- package/package.json +1 -1
- package/dist/public/assets/AdaptiveButlerPage-BYETYaIe.js +0 -2
- package/dist/public/assets/ConversationPage-BCrNml1k.js +0 -9
- package/dist/public/assets/SettingsPage-CQNCrgaj.js +0 -2
- package/dist/public/assets/WorkbenchLayout-Bo2BbMY6.js +0 -1081
- package/dist/public/assets/WorkbenchShellRoute-D3l4aWJS.js +0 -1
- package/dist/public/assets/WorkbenchShellRoute-D5fnyF8z.css +0 -1
- package/dist/public/assets/index-BilHJjYU.js +0 -50
- package/dist/public/assets/index-OR7OITpQ.css +0 -1
- package/dist/public/assets/peer-host-config-sync-d2ZcPC5P.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as d,j as e,t as a}from"./index-BilHJjYU.js";import{g as pe,u as je}from"./App-CHsm-VrM.js";import{I as ye,d as fe,J as ce,K as Se,L as Ne,N as ke,b as Me,f as Ae,O as Ce,c as de,y as Ee,M as Pe,x as Ie}from"./WorkbenchLayout-Bo2BbMY6.js";import{M as Le}from"./MobileCreateSessionSheet-BtqR_hKc.js";import{r as De,k as Te,l as Re,m as Ge,n as ue,o as se,p as ne,q as Oe,b as Be,c as We}from"./workbench-navigation-ED0157V-.js";import{w as he}from"./styles-DwSuZo1w.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./host-alias-Zb2xyVrf.js";import"./DesktopModal-Csj5AdAN.js";import"./relay-entry-Cmc8vTlE.js";import"./WorkbenchModal-YsyEdJ_m.js";import"./MobileSheet-Co-qPMBD.js";const Ve=420,$e=156;function Fe({entry:t,isFavorite:i,isActive:u=!1,depth:h=0,variant:c="default",workspaceTone:A="root",hasSubsessions:m=!1,subsessionsExpanded:y=!1,showActions:z=!0,onActivate:q,onToggleSubsessions:B,onToggleFavorite:te,onArchive:W,onUnarchive:ie,onRename:r}){var v;const[w,D]=d.useState(!1),[T,R]=d.useState(null),[j,V]=d.useState(null),C=d.useRef(null),G=d.useRef(!1),O=d.useRef(null),$=ye(),{session:l,workspace:oe}=t,F=l.title??l.sessionId,J=fe(l.provider),H=[J,He(l.lastMessageAt??l.updatedAt??null),ce(l)].filter(Boolean).join(" · "),_=c==="mobile"?null:ce(l),K=_?Se("session-list-activity-badge",l):null,N=c!=="mobile",U=N?De(l.parallelGroup):null,Z=N?Te(l.parallelGroup):null,ae=N?Re(l.parallelGroup):void 0;d.useEffect(()=>()=>{Y()},[]),d.useLayoutEffect(()=>{if(!w||!j||typeof window>"u"){R(null);return}const n=()=>{var I,S;const g=Ne(j,{width:((I=O.current)==null?void 0:I.offsetWidth)??0,height:((S=O.current)==null?void 0:S.offsetHeight)??0},{width:window.innerWidth,height:window.innerHeight},{estimatedHeightPx:$e});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 S;const I=g.target;I&&!((S=O.current)!=null&&S.contains(I))&&k()},P=g=>{g.key==="Escape"&&k()};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){V(n),D(!0)}function k(){D(!1),V(null)}function Y(){C.current!==null&&(window.clearTimeout(C.current),C.current=null)}function le(n){if(!z||n.pointerType==="mouse")return;const x={x:n.clientX,y:n.clientY};Y(),C.current=window.setTimeout(()=>{G.current=!0,$.trigger("gesture"),X(x)},Ve)}function E(){Y()}function Q(){if(G.current){G.current=!1;return}$.trigger("selection"),q(l.sessionId)}const s=async()=>{const n=window.prompt(a("shell.renameModalDescription"),F);n&&(await r(l.sessionId,n.trim()),k())},o=async()=>{if(l.isArchived){await ie(l.sessionId),k();return}await W(l.sessionId),k()},p=()=>{te(l.sessionId),k()},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})},M=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":A,"data-has-subsessions":m,"data-variant":c,"data-parallel-group":N&&l.parallelGroup?"true":void 0,"data-parallel-role":N?((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":y?a("shell.subagentCollapse"):a("shell.subagentExpand"),title:y?a("shell.subagentCollapse"):a("shell.subagentExpand"),"aria-expanded":y,onClick:n=>{n.stopPropagation(),$.trigger("selection"),B==null||B()},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:E,onPointerCancel:E,onPointerLeave:E,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:F||a("shell.searchEntry")}),U?e.jsx("span",{className:"session-list-parallel-badge",children:U}):null,Z?e.jsx("span",{className:"session-list-parallel-role-badge",children:Z}):null]}),e.jsx("div",{className:"session-list-meta",children:c==="mobile"?e.jsx(e.Fragment,{children:e.jsx("span",{children:H})}):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:J})]})})]})}),M]})}function me(t,i){return ke("session-list-indicator",t,{isActive:i.isActive,hasSubagents:i.hasSubsessions})}function He(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 cs(){var Q;const t=je(),{navigationGroups:i,favoriteSessionIds:u,currentWorkspaceId:h,currentSessionId:c,navigationLoading:A,selectWorkspace:m,toggleFavoriteSession:y,archiveSession:z,unarchiveSession:q,renameSession:B,startDraftSession:te}=Me(),W=Ae(i),ie=d.useMemo(()=>Ce(i),[i]),r=de(i,h)??de(i,((Q=i[0])==null?void 0:Q.workspace.id)??null),w=W.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=Ge(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(()=>ue(T,{mode:"mobile"}),[T]),V=d.useMemo(()=>ue(R,{mode:"mobile"}),[R]),C=d.useMemo(()=>r?r.sessions.filter(Ee):[],[r]),G=(r==null?void 0:r.workspace.id)??"",O=!!G,[$,l]=d.useState([]),[oe,F]=d.useState({}),[J,H]=d.useState(!1),[_,K]=d.useState(!1),[N,U]=d.useState(null);d.useEffect(()=>{F(s=>{const o={};for(const p of j){const f=se(ne(p));if(f.length===0)continue;const M=f.findIndex(v=>v.item.session.sessionId===c);o[p.item.session.sessionId]=Ye(f.length,ee,s[p.item.session.sessionId],M)}return ze(s,o)?s:o})},[c,j]),d.useEffect(()=>{if(!c)return;const s=Oe(j,c,o=>o.session.sessionId);s.length!==0&&l(o=>{const p=new Set(o);let f=!1;for(const M of s)p.has(M)||(p.add(M),f=!0);return f?Array.from(p):o})},[c,j]);function Z(s){l(o=>o.includes(s)?o.filter(p=>p!==s):[...o,s])}function ae(s){return oe[s]??ee}function X(s){F(o=>({...o,[s]:(o[s]??ee)+ee}))}function k(s,o){he("immersive"),t(We(s,o))}function Y(s,o){H(!1),he("immersive"),te(s,o)}async function le(s){U(s);try{await q(s)}finally{U(o=>o===s?null:o)}}function E(s,o=!1,p=[],f=!1,M=!1){var re;const v=s.item.session.sessionId,n=s.children,x=s.depth===0&&n.length>0,P=o||x&&$.includes(v),g=P&&x,I=g?Xe(s,ae(v)):s,S=P?I.children:[],be=se(n).length,xe=se(S).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":M,style:{"--session-tree-level":s.depth},children:e.jsx("span",{className:"session-tree-guide-branch-horizontal"})})]}):null,e.jsx(Fe,{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=>k(s.item.workspace.id,b),onToggleSubsessions:x?()=>Z(v):void 0,onToggleFavorite:b=>{y(b)},onArchive:b=>z(b),onUnarchive:b=>q(b),onRename:(b,L)=>B(b,L)})]}),P&&S.length>0?e.jsx("div",{className:"session-list-children",children:S.map((b,L)=>E(b,!0,we,L<S.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(Pe,{currentWorkspace:w?{id:w.workspace.id,name:w.label,path:w.subtitle}:null,workspaces:i.map(s=>s.workspace),workspaceOptions:W,onSelectWorkspace:s=>{m(s),t(Be(s))},content:e.jsx("button",{type:"button",className:"primary-button mobile-session-index-create-button",disabled:A||!O,onClick:()=>H(!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:A||!r,onClick:()=>K(!0),children:[e.jsx("span",{children:a("shell.archiveViewAction")}),e.jsx("span",{className:"session-index-archive-count",children:C.length})]})}),V.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:V.map(s=>E(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:A?a("shell.searchSessionHint"):a("shell.emptyWorkspaceSessions")}):e.jsx("div",{className:"session-current-workspace-list",children:j.map(s=>E(s))})]})]}),e.jsx(Le,{open:J,workspaces:i.map(s=>s.workspace),workspaceOptions:W,initialWorkspaceId:h??G,onClose:()=>H(!1),onSelect:Y}),e.jsx(_e,{open:_,workspaceName:(w==null?void 0:w.label)??(r==null?void 0:r.workspace.name)??null,sessions:C,restoringSessionId:N,onClose:()=>{N||K(!1)},onRestore:s=>void le(s)})]})}function _e({open:t,workspaceName:i,sessions:u,restoringSessionId:h,onClose:c,onRestore:A}){return d.useEffect(()=>{if(!t)return;function m(y){y.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=>{const y=Ie(m);return e.jsxs("article",{className:"workbench-archive-item",children:[e.jsxs("div",{className:"workbench-archive-item-main",children:[e.jsxs("div",{className:"workbench-archive-title-row",children:[e.jsx("strong",{title:m.title??m.sessionId,children:m.title??m.sessionId}),y?e.jsx("span",{className:"session-fork-badge archive-child",children:y}):null]}),e.jsx("p",{children:Ke(m)})]}),e.jsx("button",{type:"button",className:"secondary-button",disabled:h===m.sessionId,onClick:()=>{A(m.sessionId)},children:a("shell.unarchiveAction")})]},m.sessionId)})}):e.jsx("p",{className:"workbench-section-empty",children:a("shell.archiveEmpty")})})]})]}),document.body)}function Ke(t){const i=fe(t.provider),u=Ue(t.lastMessageAt??t.updatedAt??null);return[i,u].filter(Boolean).join(" · ")}function Ue(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 Xe(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 Ye(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 ze(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{cs as SessionIndexPage};
|
|
1
|
+
import{b as d,j as e,t as a}from"./index-CILPuSCp.js";import{g as pe,u as je}from"./App-D5hc6KuU.js";import{I as ye,d as fe,J as ce,K as Se,L as Ne,N as ke,b as Me,f as Ae,O as Ce,c as de,y as Ee,M as Pe,x as Ie}from"./WorkbenchLayout-yGxGKcG1.js";import{M as Le}from"./MobileCreateSessionSheet-DYqarJqO.js";import{r as De,k as Te,l as Re,m as Ge,n as ue,o as se,p as ne,q as Oe,b as Be,c as We}from"./workbench-navigation-hwM28xIb.js";import{w as he}from"./styles-DwSuZo1w.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./host-alias-df5bYDlE.js";import"./DesktopModal-BCVZq_PQ.js";import"./relay-entry-ErQKnI7B.js";import"./WorkbenchModal-Cm-ciXO9.js";import"./MobileSheet-DPYtp5Ze.js";const Ve=420,$e=156;function Fe({entry:t,isFavorite:i,isActive:u=!1,depth:h=0,variant:c="default",workspaceTone:A="root",hasSubsessions:m=!1,subsessionsExpanded:y=!1,showActions:z=!0,onActivate:q,onToggleSubsessions:B,onToggleFavorite:te,onArchive:W,onUnarchive:ie,onRename:r}){var v;const[w,D]=d.useState(!1),[T,R]=d.useState(null),[j,V]=d.useState(null),C=d.useRef(null),G=d.useRef(!1),O=d.useRef(null),$=ye(),{session:l,workspace:oe}=t,F=l.title??l.sessionId,J=fe(l.provider),H=[J,He(l.lastMessageAt??l.updatedAt??null),ce(l)].filter(Boolean).join(" · "),_=c==="mobile"?null:ce(l),K=_?Se("session-list-activity-badge",l):null,N=c!=="mobile",U=N?De(l.parallelGroup):null,Z=N?Te(l.parallelGroup):null,ae=N?Re(l.parallelGroup):void 0;d.useEffect(()=>()=>{Y()},[]),d.useLayoutEffect(()=>{if(!w||!j||typeof window>"u"){R(null);return}const n=()=>{var I,S;const g=Ne(j,{width:((I=O.current)==null?void 0:I.offsetWidth)??0,height:((S=O.current)==null?void 0:S.offsetHeight)??0},{width:window.innerWidth,height:window.innerHeight},{estimatedHeightPx:$e});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 S;const I=g.target;I&&!((S=O.current)!=null&&S.contains(I))&&k()},P=g=>{g.key==="Escape"&&k()};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){V(n),D(!0)}function k(){D(!1),V(null)}function Y(){C.current!==null&&(window.clearTimeout(C.current),C.current=null)}function le(n){if(!z||n.pointerType==="mouse")return;const x={x:n.clientX,y:n.clientY};Y(),C.current=window.setTimeout(()=>{G.current=!0,$.trigger("gesture"),X(x)},Ve)}function E(){Y()}function Q(){if(G.current){G.current=!1;return}$.trigger("selection"),q(l.sessionId)}const s=async()=>{const n=window.prompt(a("shell.renameModalDescription"),F);n&&(await r(l.sessionId,n.trim()),k())},o=async()=>{if(l.isArchived){await ie(l.sessionId),k();return}await W(l.sessionId),k()},p=()=>{te(l.sessionId),k()},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})},M=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":A,"data-has-subsessions":m,"data-variant":c,"data-parallel-group":N&&l.parallelGroup?"true":void 0,"data-parallel-role":N?((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":y?a("shell.subagentCollapse"):a("shell.subagentExpand"),title:y?a("shell.subagentCollapse"):a("shell.subagentExpand"),"aria-expanded":y,onClick:n=>{n.stopPropagation(),$.trigger("selection"),B==null||B()},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:E,onPointerCancel:E,onPointerLeave:E,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:F||a("shell.searchEntry")}),U?e.jsx("span",{className:"session-list-parallel-badge",children:U}):null,Z?e.jsx("span",{className:"session-list-parallel-role-badge",children:Z}):null]}),e.jsx("div",{className:"session-list-meta",children:c==="mobile"?e.jsx(e.Fragment,{children:e.jsx("span",{children:H})}):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:J})]})})]})}),M]})}function me(t,i){return ke("session-list-indicator",t,{isActive:i.isActive,hasSubagents:i.hasSubsessions})}function He(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 cs(){var Q;const t=je(),{navigationGroups:i,favoriteSessionIds:u,currentWorkspaceId:h,currentSessionId:c,navigationLoading:A,selectWorkspace:m,toggleFavoriteSession:y,archiveSession:z,unarchiveSession:q,renameSession:B,startDraftSession:te}=Me(),W=Ae(i),ie=d.useMemo(()=>Ce(i),[i]),r=de(i,h)??de(i,((Q=i[0])==null?void 0:Q.workspace.id)??null),w=W.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=Ge(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(()=>ue(T,{mode:"mobile"}),[T]),V=d.useMemo(()=>ue(R,{mode:"mobile"}),[R]),C=d.useMemo(()=>r?r.sessions.filter(Ee):[],[r]),G=(r==null?void 0:r.workspace.id)??"",O=!!G,[$,l]=d.useState([]),[oe,F]=d.useState({}),[J,H]=d.useState(!1),[_,K]=d.useState(!1),[N,U]=d.useState(null);d.useEffect(()=>{F(s=>{const o={};for(const p of j){const f=se(ne(p));if(f.length===0)continue;const M=f.findIndex(v=>v.item.session.sessionId===c);o[p.item.session.sessionId]=Ye(f.length,ee,s[p.item.session.sessionId],M)}return ze(s,o)?s:o})},[c,j]),d.useEffect(()=>{if(!c)return;const s=Oe(j,c,o=>o.session.sessionId);s.length!==0&&l(o=>{const p=new Set(o);let f=!1;for(const M of s)p.has(M)||(p.add(M),f=!0);return f?Array.from(p):o})},[c,j]);function Z(s){l(o=>o.includes(s)?o.filter(p=>p!==s):[...o,s])}function ae(s){return oe[s]??ee}function X(s){F(o=>({...o,[s]:(o[s]??ee)+ee}))}function k(s,o){he("immersive"),t(We(s,o))}function Y(s,o){H(!1),he("immersive"),te(s,o)}async function le(s){U(s);try{await q(s)}finally{U(o=>o===s?null:o)}}function E(s,o=!1,p=[],f=!1,M=!1){var re;const v=s.item.session.sessionId,n=s.children,x=s.depth===0&&n.length>0,P=o||x&&$.includes(v),g=P&&x,I=g?Xe(s,ae(v)):s,S=P?I.children:[],be=se(n).length,xe=se(S).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":M,style:{"--session-tree-level":s.depth},children:e.jsx("span",{className:"session-tree-guide-branch-horizontal"})})]}):null,e.jsx(Fe,{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=>k(s.item.workspace.id,b),onToggleSubsessions:x?()=>Z(v):void 0,onToggleFavorite:b=>{y(b)},onArchive:b=>z(b),onUnarchive:b=>q(b),onRename:(b,L)=>B(b,L)})]}),P&&S.length>0?e.jsx("div",{className:"session-list-children",children:S.map((b,L)=>E(b,!0,we,L<S.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(Pe,{currentWorkspace:w?{id:w.workspace.id,name:w.label,path:w.subtitle}:null,workspaces:i.map(s=>s.workspace),workspaceOptions:W,onSelectWorkspace:s=>{m(s),t(Be(s))},content:e.jsx("button",{type:"button",className:"primary-button mobile-session-index-create-button",disabled:A||!O,onClick:()=>H(!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:A||!r,onClick:()=>K(!0),children:[e.jsx("span",{children:a("shell.archiveViewAction")}),e.jsx("span",{className:"session-index-archive-count",children:C.length})]})}),V.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:V.map(s=>E(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:A?a("shell.searchSessionHint"):a("shell.emptyWorkspaceSessions")}):e.jsx("div",{className:"session-current-workspace-list",children:j.map(s=>E(s))})]})]}),e.jsx(Le,{open:J,workspaces:i.map(s=>s.workspace),workspaceOptions:W,initialWorkspaceId:h??G,onClose:()=>H(!1),onSelect:Y}),e.jsx(_e,{open:_,workspaceName:(w==null?void 0:w.label)??(r==null?void 0:r.workspace.name)??null,sessions:C,restoringSessionId:N,onClose:()=>{N||K(!1)},onRestore:s=>void le(s)})]})}function _e({open:t,workspaceName:i,sessions:u,restoringSessionId:h,onClose:c,onRestore:A}){return d.useEffect(()=>{if(!t)return;function m(y){y.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=>{const y=Ie(m);return e.jsxs("article",{className:"workbench-archive-item",children:[e.jsxs("div",{className:"workbench-archive-item-main",children:[e.jsxs("div",{className:"workbench-archive-title-row",children:[e.jsx("strong",{title:m.title??m.sessionId,children:m.title??m.sessionId}),y?e.jsx("span",{className:"session-fork-badge archive-child",children:y}):null]}),e.jsx("p",{children:Ke(m)})]}),e.jsx("button",{type:"button",className:"secondary-button",disabled:h===m.sessionId,onClick:()=>{A(m.sessionId)},children:a("shell.unarchiveAction")})]},m.sessionId)})}):e.jsx("p",{className:"workbench-section-empty",children:a("shell.archiveEmpty")})})]})]}),document.body)}function Ke(t){const i=fe(t.provider),u=Ue(t.lastMessageAt??t.updatedAt??null);return[i,u].filter(Boolean).join(" · ")}function Ue(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 Xe(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 Ye(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 ze(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{cs as SessionIndexPage};
|