@jingyi0605/codingns 0.9.6 → 0.9.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/public/assets/{AdaptiveButlerPage-khJQh6a_.js → AdaptiveButlerPage-DclGPzEx.js} +2 -2
  2. package/dist/public/assets/{App-If9gThKM.js → App-BxX5mm9o.js} +3 -3
  3. package/dist/public/assets/{BootstrapPage-DcfYtoLC.js → BootstrapPage-Bl21SsuW.js} +1 -1
  4. package/dist/public/assets/{ConversationPage-Bfb7GLTM.js → ConversationPage-CmiVCV0q.js} +7 -7
  5. package/dist/public/assets/{DesktopDetachPreviewPage-CXUPMcBz.js → DesktopDetachPreviewPage-uaOHVsjV.js} +1 -1
  6. package/dist/public/assets/{DesktopModal-bMdI1jEe.js → DesktopModal-BxsogpLf.js} +1 -1
  7. package/dist/public/assets/{DesktopWindowPage-D1xwgS-7.js → DesktopWindowPage-Bubfw1nC.js} +1 -1
  8. package/dist/public/assets/{FileContextPanel-C4syif3B.js → FileContextPanel-DrYWcTkp.js} +1 -1
  9. package/dist/public/assets/{GitSidebar-DduL9aTV.js → GitSidebar-CQsfJqun.js} +1 -1
  10. package/dist/public/assets/{MobileCreateSessionSheet-DWPBsEx8.js → MobileCreateSessionSheet-CqtmfVNo.js} +1 -1
  11. package/dist/public/assets/{MobileSheet-BXvQPkxt.js → MobileSheet-C5IVmUsO.js} +1 -1
  12. package/dist/public/assets/{MobileTopHeaderFrame-vdYOyaaB.js → MobileTopHeaderFrame-EoBm3-X0.js} +1 -1
  13. package/dist/public/assets/{MobileWorkspaceSwitcherHeader-DT330cAx.js → MobileWorkspaceSwitcherHeader-BC8MMQs_.js} +1 -1
  14. package/dist/public/assets/{PluginAccessOverview-C77TeZTK.js → PluginAccessOverview-CrQiQxxZ.js} +1 -1
  15. package/dist/public/assets/{PluginContainerPage-DdSwOCw-.js → PluginContainerPage-_2u-9thM.js} +1 -1
  16. package/dist/public/assets/{PluginDetailPage-BK1yTzvO.js → PluginDetailPage-F9cKjSCp.js} +1 -1
  17. package/dist/public/assets/{PluginsListPage-DAAwSc6W.js → PluginsListPage-BOhcua_4.js} +1 -1
  18. package/dist/public/assets/{RelayConnectEntryPage-4Yyo2p8b.js → RelayConnectEntryPage-Ck_uZLzj.js} +1 -1
  19. package/dist/public/assets/{ServerSettingsModal-C_DEisHs.js → ServerSettingsModal-ICd82a_x.js} +1 -1
  20. package/dist/public/assets/SessionIndexPage-Cox6P6dw.js +1 -0
  21. package/dist/public/assets/{SettingsPage-CDAVsPr3.js → SettingsPage-BI5cM3j5.js} +1 -1
  22. package/dist/public/assets/{TerminalManagerPanel-4OR47vcf.js → TerminalManagerPanel-DiVhBQhf.js} +1 -1
  23. package/dist/public/assets/{TerminalPage-Pvx396YX.js → TerminalPage-DUMUO7Ng.js} +1 -1
  24. package/dist/public/assets/{TerminalRuntimeFallbackModal-KvG6k4AQ.js → TerminalRuntimeFallbackModal-DGPR_CMh.js} +1 -1
  25. package/dist/public/assets/{ToolFilesPage-DrYHk0N-.js → ToolFilesPage-m88CAp-r.js} +1 -1
  26. package/dist/public/assets/{ToolGitPage-Dz1q-Ns_.js → ToolGitPage-DCYpfTsb.js} +1 -1
  27. package/dist/public/assets/{ToolProcessesPage-CRhphOmM.js → ToolProcessesPage-Bk5ulsyq.js} +1 -1
  28. package/dist/public/assets/{ToolsHomePage-BJSDLR6T.js → ToolsHomePage-BrTwfjI7.js} +1 -1
  29. package/dist/public/assets/{WorkbenchLandingPage-BlkxdOLC.js → WorkbenchLandingPage-q4AAmdMV.js} +1 -1
  30. package/dist/public/assets/{WorkbenchLayout-D-U7ghT0.js → WorkbenchLayout-DD8b-m2G.js} +66 -61
  31. package/dist/public/assets/{WorkbenchModal-xbx1o6MO.js → WorkbenchModal-CsZeLArg.js} +1 -1
  32. package/dist/public/assets/WorkbenchShellRoute-BaiW_vfb.js +1 -0
  33. package/dist/public/assets/WorkbenchShellRoute-CxKYZ6uF.css +1 -0
  34. package/dist/public/assets/{WorkspaceDebugDetailPage-B4ol2_a5.js → WorkspaceDebugDetailPage-BcUUDEyw.js} +1 -1
  35. package/dist/public/assets/WorkspaceDetailPage-zEZ1VARA.js +1 -0
  36. package/dist/public/assets/{WorkspaceHomePage-tmCafatd.js → WorkspaceHomePage-CR0rqS4e.js} +1 -1
  37. package/dist/public/assets/{client-runtime-manager-Bwau7p1v.js → client-runtime-manager-BgGugw8T.js} +1 -1
  38. package/dist/public/assets/{index-_OCkVmfl.js → index-CFyk1rgJ.js} +5 -5
  39. package/dist/public/assets/index-CrU73EIV.css +1 -0
  40. package/dist/public/assets/{login-direct-candidate-resolver-CKUQ07IA.js → login-direct-candidate-resolver-ty2uOY5y.js} +1 -1
  41. package/dist/public/assets/{plugin-permission-copy-DIVk5jNp.js → plugin-permission-copy-iK3faI3n.js} +1 -1
  42. package/dist/public/assets/{plugins-api-DHJVvPZw.js → plugins-api-CmV7aDGA.js} +1 -1
  43. package/dist/public/assets/{preferences-service-CyxxeBmS.js → preferences-service-BoSmT_ny.js} +1 -1
  44. package/dist/public/assets/{relay-entry-B5GmiOrR.js → relay-entry-C8k5qsl5.js} +1 -1
  45. package/dist/public/assets/styles-BhKoKfQ_.css +1 -0
  46. package/dist/public/assets/{terminal-runtime-meta-DBsyT35T.js → terminal-runtime-meta-okQIDzfA.js} +1 -1
  47. package/dist/public/assets/{useRegisteredDebugTemplates-wCGD2SLW.js → useRegisteredDebugTemplates-B_vXUtSe.js} +1 -1
  48. package/dist/public/assets/{workbench-navigation-RyUjchbD.js → workbench-navigation-DoDaQR4z.js} +1 -1
  49. package/dist/public/index.html +2 -2
  50. package/dist/server/modules/provider/provider-discovery-runtime.js +16 -1
  51. package/dist/server/modules/provider/provider-discovery-runtime.js.map +1 -1
  52. package/dist/server/modules/sessions/codex-app-server-helper-client.js +14 -0
  53. package/dist/server/modules/sessions/codex-app-server-helper-client.js.map +1 -1
  54. package/dist/server/modules/sessions/codex-app-server-helper-process.js +59 -0
  55. package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -1
  56. package/dist/server/modules/sessions/codex-session-title-generator.d.ts +19 -0
  57. package/dist/server/modules/sessions/codex-session-title-generator.js +295 -0
  58. package/dist/server/modules/sessions/codex-session-title-generator.js.map +1 -0
  59. package/dist/server/modules/sessions/session-history-service.d.ts +5 -0
  60. package/dist/server/modules/sessions/session-history-service.js +183 -0
  61. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  62. package/dist/server/modules/tasks/task-types.d.ts +1 -0
  63. package/dist/server/modules/tasks/task-types.js +1 -0
  64. package/dist/server/modules/tasks/task-types.js.map +1 -1
  65. package/dist/server/modules/workspace/affairs-lightweight-session-service.js +13 -9
  66. package/dist/server/modules/workspace/affairs-lightweight-session-service.js.map +1 -1
  67. package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +7 -0
  68. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +596 -6
  69. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  70. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +1 -0
  71. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +249 -6
  72. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
  73. package/node_modules/@codingns/session-sync-core/dist/types.d.ts +11 -0
  74. package/package.json +1 -1
  75. package/dist/public/assets/SessionIndexPage-DyMikN_x.js +0 -1
  76. package/dist/public/assets/WorkbenchShellRoute-DyWSCHz_.js +0 -1
  77. package/dist/public/assets/WorkbenchShellRoute-htbkGbtW.css +0 -1
  78. package/dist/public/assets/WorkspaceDetailPage-DMakfmHR.js +0 -1
  79. package/dist/public/assets/index-DmUJ8tIw.css +0 -1
  80. package/dist/public/assets/styles-DkbkRgWw.css +0 -1
  81. /package/dist/public/assets/{styles-JKFlsYFv.js → styles-DwSuZo1w.js} +0 -0
@@ -1 +1 @@
1
- import{b as s,F as Ne,G as Ke,j as e,t as n,D as Xe}from"./index-_OCkVmfl.js";import{D as Pe}from"./DesktopModal-bMdI1jEe.js";import{T as Ye,M as Je}from"./workbench-navigation-RyUjchbD.js";import{M as Se}from"./MobileSheet-BXvQPkxt.js";import{b as Oe,Y}from"./WorkbenchLayout-D-U7ghT0.js";import{u as Qe,e as Ze,f as ea}from"./App-If9gThKM.js";import{b as aa,g as Te,r as ke,s as na,u as ra,k as la,m as ta}from"./terminal-runtime-meta-DBsyT35T.js";import{T as ia,i as sa}from"./TerminalRuntimeFallbackModal-KvG6k4AQ.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./WorkbenchModal-xbx1o6MO.js";import"./relay-entry-B5GmiOrR.js";const J={mode:"command",name:"",cwd:"",target:"",args:"",port:"",proxyEnabled:!1},Ce=60*1e3;function oa(l){return l?new Date(l).toLocaleString():n("common.unknown")}function ca(l){return l.split(" ").map(t=>t.trim()).filter(Boolean)}function ma(l){var t,c,u;return((t=l.find(p=>p.id==="cmd"&&p.available))==null?void 0:t.id)??((c=l.find(p=>p.available))==null?void 0:c.id)??((u=l[0])==null?void 0:u.id)??""}function da(l){const t=l.name.trim();if(t)return t;const c=l.target.trim(),u=l.args.trim();return c?u?`${c} ${u}`:c:l.mode==="script"?n("terminalManager.defaultScriptName"):n("terminalManager.defaultCommandName")}function ua(l){const t=l.args.join(" ");return t?`${l.command} ${t}`:l.command}function ga(l){return{mode:Ee(l),name:l.name,cwd:l.cwd,target:l.command,args:l.args.join(" "),port:l.port===null?"":String(l.port),proxyEnabled:l.proxyEnabled}}function pa(l){return Xe(`/proxy/${encodeURIComponent(l)}`)}function Ee(l){const t=l.command.toLowerCase();return t.endsWith(".ps1")||t.endsWith(".bat")||t.endsWith(".cmd")||t.endsWith(".sh")?"script":"command"}function ha(l){const t=l.trim();if(!t)return null;const c=Number(t);return Number.isInteger(c)?c:Number.NaN}function we(l,t){return l.get(t)??null}function xa(l,t){return l.port===null?{tone:"untracked",title:n("terminalManager.portUnset"),summary:n("terminalManager.portUnsetDescription"),badgeLabel:n("terminalManager.portUnset")}:t!=null&&t.occupied?{tone:"running",title:n("terminalManager.portOccupied"),summary:t.processName||n("terminalManager.processCommandFallback"),badgeLabel:t.processId?`PID ${t.processId}`:n("terminalManager.statusRunning"),badgeTone:"success"}:{tone:"idle",title:n("terminalManager.portAvailable"),summary:n("terminalManager.portAvailableDescription"),badgeLabel:n("terminalManager.statusStopped")}}function ba(l){return l!=null&&l.terminationScope?l.terminationScope==="process_group"?n("terminalManager.terminationScopeProcessGroup"):n("terminalManager.terminationScopeProcess"):null}function fa({open:l,mobile:t=!1,title:c,description:u,onClose:p,children:y,className:m}){return t?e.jsx(Se,{open:l,title:c,description:u,kind:"form",height:"three-quarter",className:m,bodyClassName:"terminal-manager-modal-body",showHandle:!0,onClose:p,children:y}):e.jsx(Pe,{open:l,title:c,description:u,size:"regular",layout:"form",className:["terminal-manager-modal-card",m].filter(Boolean).join(" "),bodyClassName:"terminal-manager-modal-body",onClose:p,children:y})}function ja({open:l,mobile:t=!1,busy:c,title:u,description:p,confirmLabel:y,onClose:m,onConfirm:h,className:N}){const F=e.jsxs(Je,{className:"terminal-manager-confirm-actions",children:[e.jsx("button",{type:"button",className:"secondary-button",disabled:c,onClick:m,children:n("common.cancel")}),e.jsx("button",{type:"button",className:"secondary-button workbench-danger-button",disabled:c,onClick:()=>{h()},children:c?n("terminalManager.templateRemoving"):y})]});return t?e.jsx(Se,{open:l,title:u,description:p,kind:"action",height:"auto",dismissible:!c,showHandle:!0,showCancelButton:!1,className:N,bodyClassName:"terminal-manager-confirm-body",footer:F,onClose:m,children:null}):e.jsx(Pe,{open:l,title:u,description:p,size:"compact",layout:"confirm",dismissible:!c,className:["terminal-manager-confirm-modal",N].filter(Boolean).join(" "),bodyClassName:"terminal-manager-confirm-body",footer:F,onClose:m,children:null})}function Le({label:l,value:t,options:c,open:u,onToggle:p,onChange:y}){const m=c.find(h=>h.value===t)??c[0]??null;return e.jsxs("div",{className:"field-group terminal-manager-mobile-picker",children:[e.jsx("span",{children:l}),e.jsxs("button",{type:"button",className:"terminal-manager-mobile-picker-trigger","aria-label":`${l} ${(m==null?void 0:m.label)??""}`.trim(),"aria-expanded":u?"true":"false",onClick:p,children:[e.jsxs("span",{className:"terminal-manager-mobile-picker-copy",children:[e.jsx("strong",{children:(m==null?void 0:m.label)??n("common.unknown")}),m!=null&&m.description?e.jsx("span",{children:m.description}):null]}),e.jsx(va,{expanded:u})]}),u?e.jsx("div",{className:"terminal-manager-mobile-picker-list",role:"listbox","aria-label":l,children:c.map(h=>{const N=h.value===t;return e.jsxs("button",{type:"button",role:"option",className:"terminal-manager-mobile-picker-option","aria-selected":N,disabled:h.disabled,onClick:()=>{y(h.value)},children:[e.jsxs("span",{className:"terminal-manager-mobile-picker-option-copy",children:[e.jsx("strong",{children:h.label}),h.description?e.jsx("span",{children:h.description}):null]}),e.jsx("span",{className:"terminal-manager-mobile-picker-option-indicator","aria-hidden":"true",children:N?e.jsx(ya,{}):e.jsx(Ma,{})})]},h.value||"__empty__")})}):null]})}function va({expanded:l}){return e.jsx("svg",{viewBox:"0 0 16 16","aria-hidden":"true",className:"terminal-manager-mobile-picker-chevron","data-expanded":l?"true":"false",children:e.jsx("path",{d:"M4 6.5L8 10l4-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.7"})})}function Ma(){return e.jsx("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:e.jsx("path",{d:"M6 3.5L10.5 8 6 12.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.6"})})}function ya(){return e.jsx("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:e.jsx("path",{d:"M3.5 8.5L6.5 11.5L12.5 5.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.8"})})}function Da({className:l,currentWorkspaceId:t,navigationGroups:c,externalWindowMode:u=!1,workbenchShellOverrides:p}){var je,ve,Me,ye;const y=Qe(),m=Ze(),h=Oe(),{subscribeTerminalManagerSnapshot:N,requestTerminalManagerRefresh:F,addTerminalManagerSnapshotListener:te}={...h,...p},i=(t==null?void 0:t.trim())||null,[O,G]=s.useState([]),[Q,W]=s.useState(null),[f,P]=s.useState([]),[S,D]=s.useState([]),[x,Z]=s.useState([]),[q,ee]=s.useState(""),[A,E]=s.useState(""),[d,j]=s.useState(J),[_,H]=s.useState(null),[I,V]=s.useState(null),[Ie,ie]=s.useState([]),[se,z]=s.useState(!1),[ae,oe]=s.useState(!1),[ce,me]=s.useState(null),[de,ue]=s.useState(null),[k,ge]=s.useState(null),[v,U]=s.useState(null),[K,ne]=s.useState(null),[pe,he]=s.useState(!1),[xe,C]=s.useState(null),{showToast:b}=ea(),B=(l==null?void 0:l.includes("mobile-tool-process-panel"))??!1,$=_!==null,be=_==="edit"?f.find(a=>a.id===I)??null:null,w=_==="edit";s.useEffect(()=>{Y("terminal_manager.props",{currentWorkspaceId:t,workspaceCount:c.length,externalWindowMode:u})},[t,u,c.length]);const g=s.useMemo(()=>x.find(a=>a.id===q)??null,[q,x]),R=s.useMemo(()=>aa(m.ui.osFamily),[m.ui.osFamily]),fe=s.useMemo(()=>new Map(S.map(a=>[a.templateId,a])),[S]),Re=s.useMemo(()=>S.filter(a=>a.occupied).length,[S]),Fe=s.useMemo(()=>f.filter(a=>a.port!==null).length,[f]),De=(g==null?void 0:g.available)===!1&&x.length>0;s.useEffect(()=>{ee(a=>x.length?a&&x.some(r=>r.id===a)?a:ma(x):"")},[x]),s.useEffect(()=>{!$||!i||x.length>0||T(i)},[i,x.length,$]),s.useEffect(()=>{$||C(null)},[$]),s.useEffect(()=>{_==="edit"&&I&&!be&&(H(null),V(null),j(J),E(""),C(null))},[be,I,_]),s.useEffect(()=>{!v||k===v.templateId||f.some(a=>a.id===v.templateId)||U(null)},[v,k,f]),s.useEffect(()=>{if(!i){G([]),W(null),P([]),D([]),z(!1);return}const a=Ne(le(i),Ce);Y("terminal_manager.snapshot",{workspaceId:i,cached:!!a,cachedTemplateCount:(a==null?void 0:a.templates.length)??0,cachedStatusCount:(a==null?void 0:a.templateStatuses.length)??0}),a?(G(a.terminals),W(typeof a.revision=="string"?a.revision:null),P(a.templates),D(a.templateStatuses),Z(a.shellOptions??[]),z(!1)):(G([]),W(null),P([]),D([]),Z([]),z(!0))},[i]),s.useEffect(()=>{if(i)return te(a=>{a.workspaceId===i&&(Y("terminal_manager.snapshot_received",{workspaceId:a.workspaceId,terminalCount:a.terminals.length,templateCount:a.templates.length,statusCount:a.templateStatuses.length}),Ae(a),z(!1))})},[i,te]),s.useEffect(()=>{if(!i)return;const a=Ne(le(i),Ce);N(i,{knownRevision:(a==null?void 0:a.revision)??null}),a||T(i)},[i,F,N]),s.useEffect(()=>{i&&Ke(le(i),{revision:Q,terminals:O,templates:f,templateStatuses:S,shellOptions:x})},[i,Q,x,S,f,O]);function Ae(a){W(typeof a.revision=="string"?a.revision:null),G(a.terminals),P(a.templates),D(a.templateStatuses),Z(a.shellOptions??[])}function T(a){Y("terminal_manager.refresh_requested",{workspaceId:a}),F(a,{knownRevision:Q})}function X(){H(null),V(null),j(J),E(""),C(null)}function _e(){V(null),j(J),E(""),H("create")}function Ue(a){V(a.id),j(ga(a)),E(a.runtimeType??""),H("edit")}async function Be(a){if(i){ue(a);try{await na(a),T(i),b({title:n("terminalManager.stopProcessSuccess"),tone:"success"})}catch(r){b({title:r instanceof Error?r.message:n("terminalManager.stopProcessFailed"),tone:"error"})}finally{ue(null)}}}async function $e(){if(!i||!d.target.trim())return;const a=ha(d.port);if(Number.isNaN(a)){b({title:n("terminalManager.invalidPort"),tone:"error"});return}if(d.proxyEnabled&&a===null){b({title:n("terminalManager.proxyPortRequired"),tone:"error"});return}oe(!0);try{const r={workspaceId:i,name:da(d),cwd:d.cwd.trim()||void 0,command:d.target.trim(),args:ca(d.args),port:a,proxyEnabled:d.proxyEnabled,runtimeType:A||null};if(w&&I){const o=await ra(I,r);P(M=>M.map(L=>L.id===o.id?o:L))}else await la(r);X(),T(i),b({title:w?n("terminalManager.templateUpdateSuccess"):n("terminalManager.templateSaveSuccess"),tone:"success"})}catch(r){b({title:r instanceof Error?r.message:w?n("terminalManager.templateUpdateFailed"):n("terminalManager.templateSaveFailed"),tone:"error"})}finally{oe(!1)}}async function Ge(a){const r=await m.bridge.openExternal(a);r.ok||b({title:r.detail||n("terminalManager.openProxyUrlFailed"),tone:"error"})}async function We(a,r){if(i){ge(a.id);try{await ta(a.id),P(o=>o.filter(M=>M.id!==a.id)),D(o=>o.filter(M=>M.templateId!==a.id)),ie(o=>o.filter(M=>M!==a.id)),U(o=>(o==null?void 0:o.templateId)===a.id?null:o),I===a.id&&X(),T(i),b({title:n("terminalManager.templateDeleteSuccess"),tone:"success"})}catch(o){b({title:o instanceof Error?o.message:n("terminalManager.templateDeleteFailed"),tone:"error"})}finally{ge(null)}}}async function qe(a){if(!i)return;const r=g!=null&&g.available?g.shell:void 0;me(a);try{await ke(a,{shell:r}),T(i),b({title:n("terminalManager.templateRunSuccess"),tone:"success"})}catch(o){if(sa(o)){ne({templateId:a,shell:r});return}b({title:o instanceof Error?o.message:n("terminalManager.templateRunFailed"),tone:"error"})}finally{me(null)}}async function He(){if(!(!i||!K)){he(!0);try{await ke(K.templateId,{shell:K.shell,runtimeType:"embedded-pty"}),ne(null),T(i),b({title:n("terminalManager.templateRunSuccess"),tone:"success"})}catch(a){b({title:a instanceof Error?a.message:n("terminalManager.templateRunFailed"),tone:"error"})}finally{he(!1)}}}function Ve(a){ie(r=>r.includes(a)?r.filter(o=>o!==a):[...r,a])}return c.length?i?e.jsxs("section",{className:["conversation-panel","surface-card","terminal-manager-panel",l].filter(Boolean).join(" "),children:[e.jsx(ia,{open:K!==null,busy:pe,onClose:()=>{pe||ne(null)},onConfirmFallback:()=>{He()}}),e.jsxs("div",{className:"terminal-manager-header terminal-manager-desktop-header",children:[e.jsx("div",{className:"terminal-manager-panel-heading",children:e.jsxs("div",{children:[e.jsx("h2",{children:n("terminalManager.templateSectionTitle")}),e.jsx("p",{className:"status-text",children:n("terminalManager.desktopPanelDescription")})]})}),e.jsxs("div",{className:"terminal-manager-overview",children:[e.jsxs("article",{className:"terminal-manager-overview-card",children:[e.jsx("span",{children:n("terminalManager.runningCountLabel")}),e.jsx("strong",{children:Re})]}),e.jsxs("article",{className:"terminal-manager-overview-card",children:[e.jsx("span",{children:n("terminalManager.portWatchCountLabel")}),e.jsx("strong",{children:Fe})]}),e.jsxs("article",{className:"terminal-manager-overview-card",children:[e.jsx("span",{children:n("terminalManager.terminalCountLabel")}),e.jsx("strong",{children:O.length})]})]}),e.jsxs("div",{className:"terminal-manager-toolbar terminal-manager-toolbar-header",children:[e.jsx("button",{className:"secondary-button",type:"button",disabled:!i,onClick:()=>{i&&y(Ye(i))},children:n("terminalManager.openWorkspaceDebugAction")}),e.jsx("button",{className:"ghost-button",type:"button",disabled:!i||se,onClick:()=>{i&&T(i)},children:n("terminalManager.refresh")}),e.jsx("button",{className:"primary-button",type:"button",disabled:!i,onClick:()=>{_e()},children:n("terminalManager.openCreateModalAction")})]})]}),e.jsxs("section",{className:"terminal-manager-section",children:[e.jsxs("div",{className:"terminal-manager-section-header",children:[e.jsxs("div",{children:[e.jsx("h3",{children:n("terminalManager.templateSectionTitle")}),e.jsx("p",{className:"status-text",children:n("terminalManager.templateSectionDescription")})]}),e.jsx("span",{className:"workbench-section-counter",children:f.length})]}),se&&!f.length?e.jsx("p",{className:"status-text",children:n("common.loading")}):null,f.length?e.jsx("div",{className:"terminal-manager-list",children:f.map(a=>{const r=we(fe,a.id),o=xa(a,r),M=ba(r),L=Ie.includes(a.id),ze=L?n("terminalManager.hideDetailsAction"):n("terminalManager.showDetailsAction"),re=a.proxyEnabled&&a.proxySlug?pa(a.proxySlug):null;return e.jsxs("article",{className:"terminal-manager-card terminal-manager-desktop-card","data-tone":o.tone,"data-expanded":L?"true":"false",children:[e.jsxs("div",{className:"terminal-manager-card-header",children:[e.jsxs("div",{className:"terminal-manager-card-title",children:[e.jsx("span",{className:"terminal-manager-card-indicator","aria-hidden":"true"}),e.jsx("strong",{children:a.name})]}),e.jsxs("div",{className:"terminal-manager-card-tools",children:[e.jsx("span",{className:"badge terminal-runtime-badge",children:Te(a.runtimeType,m.ui.osFamily)}),e.jsx("span",{className:"badge",children:Ee(a)==="script"?n("terminalManager.scriptMode"):n("terminalManager.commandMode")}),e.jsx("button",{className:"terminal-manager-detail-toggle",type:"button","aria-label":ze,"aria-expanded":L,onClick:()=>{Ve(a.id)},children:"i"})]})]}),e.jsxs("div",{className:"terminal-manager-status-panel",children:[e.jsxs("div",{className:"terminal-manager-status-copy",children:[e.jsx("p",{className:"terminal-manager-status-title",children:o.title}),e.jsx("p",{className:"status-text",children:o.summary})]}),e.jsxs("div",{className:"terminal-manager-status-badges",children:[e.jsx("span",{className:"terminal-manager-stat-pill",children:a.port===null?n("terminalManager.portUnset"):`${n("terminalManager.portLabel")} ${a.port}`}),e.jsx("span",{className:"badge","data-tone":o.badgeTone,children:o.badgeLabel}),r!=null&&r.occupied&&r.processGroupId?e.jsx("span",{className:"badge",children:`PGID ${r.processGroupId}`}):null,a.proxyEnabled?e.jsx("span",{className:"badge",children:n("terminalManager.proxyEnabled")}):null]})]}),e.jsxs("div",{className:"terminal-manager-actions",children:[r!=null&&r.occupied?e.jsx("button",{className:"secondary-button",type:"button",disabled:de===a.id,onClick:()=>{Be(a.id)},children:de===a.id?n("terminalManager.stoppingProcess"):n("terminalManager.stopProcessAction")}):null,e.jsx("button",{className:"secondary-button",type:"button",disabled:ce===a.id||De,onClick:()=>{qe(a.id)},children:ce===a.id?n("terminalManager.runningTemplate"):n("terminalManager.runTemplateAction")})]}),L?e.jsxs("section",{className:"terminal-manager-details","aria-label":n("terminalManager.detailsSectionTitle"),children:[e.jsxs("div",{className:"terminal-manager-detail-grid",children:[e.jsxs("div",{className:"terminal-manager-detail-item terminal-manager-detail-item-wide",children:[e.jsx("span",{children:n("terminalManager.commandPreviewLabel")}),e.jsx("strong",{children:ua(a)})]}),e.jsxs("div",{className:"terminal-manager-detail-item",children:[e.jsx("span",{children:n("terminalManager.cwdLabel")}),e.jsx("strong",{children:a.cwd})]}),e.jsxs("div",{className:"terminal-manager-detail-item",children:[e.jsx("span",{children:n("terminal.runtimeField")}),e.jsx("strong",{children:Te(a.runtimeType,m.ui.osFamily)})]}),e.jsxs("div",{className:"terminal-manager-detail-item",children:[e.jsx("span",{children:n("terminalManager.updatedAt")}),e.jsx("strong",{children:oa(a.updatedAt)})]}),e.jsxs("div",{className:"terminal-manager-detail-item",children:[e.jsx("span",{children:n("terminalManager.portLabel")}),e.jsx("strong",{children:a.port===null?n("terminalManager.portUnset"):a.port})]}),e.jsxs("div",{className:"terminal-manager-detail-item terminal-manager-detail-item-wide",children:[e.jsx("span",{children:n("terminalManager.proxyField")}),e.jsx("strong",{children:re??n("terminalManager.proxyDisabledDescription")})]}),r!=null&&r.processId?e.jsxs("div",{className:"terminal-manager-detail-item",children:[e.jsx("span",{children:n("terminalManager.processIdLabel")}),e.jsx("strong",{children:r.processId})]}):null,r!=null&&r.processGroupId?e.jsxs("div",{className:"terminal-manager-detail-item",children:[e.jsx("span",{children:n("terminalManager.processGroupIdLabel")}),e.jsx("strong",{children:r.processGroupId})]}):null,M?e.jsxs("div",{className:"terminal-manager-detail-item",children:[e.jsx("span",{children:n("terminalManager.terminationScopeLabel")}),e.jsx("strong",{children:M})]}):null,r!=null&&r.parentProcessId?e.jsxs("div",{className:"terminal-manager-detail-item",children:[e.jsx("span",{children:n("terminalManager.parentProcessIdLabel")}),e.jsx("strong",{children:r.parentProcessId})]}):null,r!=null&&r.processCommandLine?e.jsxs("div",{className:"terminal-manager-detail-item terminal-manager-detail-item-wide",children:[e.jsx("span",{children:n("terminalManager.processCommandLabel")}),e.jsx("strong",{children:r.processCommandLine})]}):null,r!=null&&r.parentProcessCommandLine?e.jsxs("div",{className:"terminal-manager-detail-item terminal-manager-detail-item-wide",children:[e.jsx("span",{children:n("terminalManager.parentProcessCommandLabel")}),e.jsx("strong",{children:r.parentProcessCommandLine})]}):null]}),e.jsxs("div",{className:"terminal-manager-actions terminal-manager-detail-actions",children:[re?e.jsx("button",{className:"secondary-button",type:"button",onClick:()=>{Ge(re)},children:n("terminalManager.openProxyUrlAction")}):null,e.jsx("button",{className:"secondary-button",type:"button",disabled:ae||k===a.id,onClick:()=>{Ue(a)},children:n("terminalManager.editAction")}),e.jsx("button",{className:"secondary-button workbench-danger-button",type:"button",disabled:k===a.id,onClick:()=>{U({templateId:a.id,name:a.name,occupied:!!(r!=null&&r.occupied)})},children:k===a.id?n("terminalManager.templateRemoving"):n("terminalManager.removeAction")})]})]}):null]},a.id)})}):e.jsx("section",{className:"workbench-empty-state minimal",children:e.jsx("p",{children:n("terminalManager.emptyTemplateBody")})})]}),e.jsx(fa,{open:$,mobile:B,title:w?n("terminalManager.editModalTitle"):n("terminalManager.createModalTitle"),description:w?n("terminalManager.editModalDescription"):n("terminalManager.createModalDescription"),className:B?"terminal-manager-mobile-modal":void 0,onClose:X,children:e.jsxs("section",{className:"terminal-manager-modal-form",children:[B?e.jsxs(e.Fragment,{children:[e.jsx(Le,{label:n("terminalManager.shellField"),value:q,open:xe==="shell",options:x.map(a=>({value:a.id,label:a.label,description:a.available?null:a.unavailableReason??n("terminalManager.shellUnavailable"),disabled:!a.available})),onToggle:()=>{C(a=>a==="shell"?null:"shell")},onChange:a=>{ee(a),C(null)}}),(g==null?void 0:g.available)===!1&&g.unavailableReason?e.jsx("p",{className:"status-text",children:g.unavailableReason}):null,e.jsx(Le,{label:n("terminal.runtimeField"),value:A,open:xe==="runtime",options:R.map(a=>({value:a.value,label:a.label,description:a.description})),onToggle:()=>{C(a=>a==="runtime"?null:"runtime")},onChange:a=>{E(a),C(null)}}),e.jsx("p",{className:"status-text",children:((je=R.find(a=>a.value===A))==null?void 0:je.description)??((ve=R[0])==null?void 0:ve.description)})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"field-group",children:[e.jsx("span",{children:n("terminalManager.shellField")}),e.jsx("select",{value:q,onChange:a=>{ee(a.target.value)},children:x.map(a=>e.jsx("option",{value:a.id,disabled:!a.available,children:a.available?a.label:`${a.label} - ${n("terminalManager.shellUnavailable")}`},a.id))}),(g==null?void 0:g.available)===!1&&g.unavailableReason?e.jsx("p",{className:"status-text",children:g.unavailableReason}):null]}),e.jsxs("div",{className:"field-group",children:[e.jsx("span",{children:n("terminal.runtimeField")}),e.jsx("select",{value:A,onChange:a=>{E(a.target.value)},children:R.map(a=>e.jsx("option",{value:a.value,children:a.label},a.value||"auto"))}),e.jsx("p",{className:"status-text",children:((Me=R.find(a=>a.value===A))==null?void 0:Me.description)??((ye=R[0])==null?void 0:ye.description)})]})]}),e.jsxs("div",{className:"terminal-manager-mode-row",role:"tablist","aria-label":n("terminalManager.modeField"),children:[e.jsx("button",{type:"button",className:d.mode==="command"?"workbench-info-tab active":"workbench-info-tab",onClick:()=>{j(a=>({...a,mode:"command"}))},children:n("terminalManager.commandMode")}),e.jsx("button",{type:"button",className:d.mode==="script"?"workbench-info-tab active":"workbench-info-tab",onClick:()=>{j(a=>({...a,mode:"script"}))},children:n("terminalManager.scriptMode")})]}),e.jsxs("div",{className:"terminal-manager-grid",children:[e.jsxs("div",{className:"field-group",children:[e.jsx("span",{children:n("terminalManager.templateNameField")}),e.jsx("input",{value:d.name,placeholder:n("terminalManager.templateNamePlaceholder"),onChange:a=>{j(r=>({...r,name:a.target.value}))}})]}),e.jsxs("div",{className:"field-group",children:[e.jsx("span",{children:n("terminalManager.cwdField")}),e.jsx("input",{value:d.cwd,placeholder:n("terminalManager.cwdPlaceholder"),onChange:a=>{j(r=>({...r,cwd:a.target.value}))}})]})]}),e.jsxs("div",{className:"terminal-manager-grid",children:[e.jsxs("div",{className:"field-group",children:[e.jsx("span",{children:d.mode==="script"?n("terminalManager.scriptPathField"):n("terminalManager.commandField")}),e.jsx("input",{value:d.target,placeholder:d.mode==="script"?n("terminalManager.scriptPathPlaceholder"):n("terminalManager.commandPlaceholder"),onChange:a=>{j(r=>({...r,target:a.target.value}))}})]}),e.jsxs("div",{className:"field-group",children:[e.jsx("span",{children:n("terminalManager.argsField")}),e.jsx("input",{value:d.args,placeholder:n("terminalManager.argsPlaceholder"),onChange:a=>{j(r=>({...r,args:a.target.value}))}})]})]}),e.jsxs("div",{className:"terminal-manager-grid",children:[e.jsxs("div",{className:"field-group",children:[e.jsx("span",{children:n("terminalManager.portField")}),e.jsx("input",{value:d.port,placeholder:n("terminalManager.portPlaceholder"),onChange:a=>{j(r=>({...r,port:a.target.value}))}})]}),e.jsxs("div",{className:"field-group terminal-manager-proxy-field",children:[e.jsx("span",{children:n("terminalManager.proxyField")}),e.jsxs("div",{className:"terminal-manager-proxy-control",children:[e.jsx("span",{children:n("terminalManager.proxyToggleLabel")}),e.jsxs("label",{className:"terminal-manager-proxy-switch",children:[e.jsx("input",{type:"checkbox",role:"switch","aria-label":n("terminalManager.proxyField"),checked:d.proxyEnabled,onChange:a=>{j(r=>({...r,proxyEnabled:a.target.checked}))}}),e.jsx("span",{className:"terminal-manager-proxy-track","aria-hidden":"true",children:e.jsx("span",{className:"terminal-manager-proxy-thumb"})})]})]})]})]}),e.jsxs("div",{className:"terminal-manager-actions",children:[e.jsx("button",{className:"secondary-button",type:"button",onClick:X,children:n("common.close")}),e.jsx("button",{className:"primary-button",type:"button",disabled:!i||ae||!d.target.trim(),onClick:()=>{$e()},children:ae?w?n("terminalManager.templateUpdating"):n("terminalManager.templateSaving"):w?n("terminalManager.saveTemplateChangesAction"):n("terminalManager.saveLaunchAction")})]})]})}),e.jsx(ja,{open:v!==null,mobile:B,busy:v!==null&&k===v.templateId,title:n("terminalManager.removeConfirmTitle"),description:v?n(v.occupied?"terminalManager.removeRunningConfirmTarget":"terminalManager.removeConfirmTarget",{name:v.name}):"",confirmLabel:n("terminalManager.removeConfirmAction"),className:B?"terminal-manager-mobile-modal":"terminal-manager-confirm-modal",onClose:()=>{k||U(null)},onConfirm:()=>{if(!v)return;const a=f.find(r=>r.id===v.templateId);if(!a){U(null);return}we(fe,a.id),We(a)}})]}):e.jsx("section",{className:"workbench-empty-state minimal",children:e.jsx("p",{children:n("terminalManager.noCurrentWorkspaceBody")})}):e.jsx("section",{className:"workbench-empty-state minimal",children:e.jsx("p",{children:n("terminalManager.emptyWorkspaceBody")})})}function le(l){return`terminal-manager.snapshot.${l}`}export{Da as TerminalManagerPanel};
1
+ import{b as s,F as Ne,G as Ke,j as e,t as n,D as Xe}from"./index-CFyk1rgJ.js";import{D as Pe}from"./DesktopModal-BxsogpLf.js";import{T as Ye,M as Je}from"./workbench-navigation-DoDaQR4z.js";import{M as Se}from"./MobileSheet-C5IVmUsO.js";import{b as Oe,Y}from"./WorkbenchLayout-DD8b-m2G.js";import{u as Qe,e as Ze,f as ea}from"./App-BxX5mm9o.js";import{b as aa,g as Te,r as ke,s as na,u as ra,k as la,m as ta}from"./terminal-runtime-meta-okQIDzfA.js";import{T as ia,i as sa}from"./TerminalRuntimeFallbackModal-DGPR_CMh.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./WorkbenchModal-CsZeLArg.js";import"./relay-entry-C8k5qsl5.js";const J={mode:"command",name:"",cwd:"",target:"",args:"",port:"",proxyEnabled:!1},Ce=60*1e3;function oa(l){return l?new Date(l).toLocaleString():n("common.unknown")}function ca(l){return l.split(" ").map(t=>t.trim()).filter(Boolean)}function ma(l){var t,c,u;return((t=l.find(p=>p.id==="cmd"&&p.available))==null?void 0:t.id)??((c=l.find(p=>p.available))==null?void 0:c.id)??((u=l[0])==null?void 0:u.id)??""}function da(l){const t=l.name.trim();if(t)return t;const c=l.target.trim(),u=l.args.trim();return c?u?`${c} ${u}`:c:l.mode==="script"?n("terminalManager.defaultScriptName"):n("terminalManager.defaultCommandName")}function ua(l){const t=l.args.join(" ");return t?`${l.command} ${t}`:l.command}function ga(l){return{mode:Ee(l),name:l.name,cwd:l.cwd,target:l.command,args:l.args.join(" "),port:l.port===null?"":String(l.port),proxyEnabled:l.proxyEnabled}}function pa(l){return Xe(`/proxy/${encodeURIComponent(l)}`)}function Ee(l){const t=l.command.toLowerCase();return t.endsWith(".ps1")||t.endsWith(".bat")||t.endsWith(".cmd")||t.endsWith(".sh")?"script":"command"}function ha(l){const t=l.trim();if(!t)return null;const c=Number(t);return Number.isInteger(c)?c:Number.NaN}function we(l,t){return l.get(t)??null}function xa(l,t){return l.port===null?{tone:"untracked",title:n("terminalManager.portUnset"),summary:n("terminalManager.portUnsetDescription"),badgeLabel:n("terminalManager.portUnset")}:t!=null&&t.occupied?{tone:"running",title:n("terminalManager.portOccupied"),summary:t.processName||n("terminalManager.processCommandFallback"),badgeLabel:t.processId?`PID ${t.processId}`:n("terminalManager.statusRunning"),badgeTone:"success"}:{tone:"idle",title:n("terminalManager.portAvailable"),summary:n("terminalManager.portAvailableDescription"),badgeLabel:n("terminalManager.statusStopped")}}function ba(l){return l!=null&&l.terminationScope?l.terminationScope==="process_group"?n("terminalManager.terminationScopeProcessGroup"):n("terminalManager.terminationScopeProcess"):null}function fa({open:l,mobile:t=!1,title:c,description:u,onClose:p,children:y,className:m}){return t?e.jsx(Se,{open:l,title:c,description:u,kind:"form",height:"three-quarter",className:m,bodyClassName:"terminal-manager-modal-body",showHandle:!0,onClose:p,children:y}):e.jsx(Pe,{open:l,title:c,description:u,size:"regular",layout:"form",className:["terminal-manager-modal-card",m].filter(Boolean).join(" "),bodyClassName:"terminal-manager-modal-body",onClose:p,children:y})}function ja({open:l,mobile:t=!1,busy:c,title:u,description:p,confirmLabel:y,onClose:m,onConfirm:h,className:N}){const F=e.jsxs(Je,{className:"terminal-manager-confirm-actions",children:[e.jsx("button",{type:"button",className:"secondary-button",disabled:c,onClick:m,children:n("common.cancel")}),e.jsx("button",{type:"button",className:"secondary-button workbench-danger-button",disabled:c,onClick:()=>{h()},children:c?n("terminalManager.templateRemoving"):y})]});return t?e.jsx(Se,{open:l,title:u,description:p,kind:"action",height:"auto",dismissible:!c,showHandle:!0,showCancelButton:!1,className:N,bodyClassName:"terminal-manager-confirm-body",footer:F,onClose:m,children:null}):e.jsx(Pe,{open:l,title:u,description:p,size:"compact",layout:"confirm",dismissible:!c,className:["terminal-manager-confirm-modal",N].filter(Boolean).join(" "),bodyClassName:"terminal-manager-confirm-body",footer:F,onClose:m,children:null})}function Le({label:l,value:t,options:c,open:u,onToggle:p,onChange:y}){const m=c.find(h=>h.value===t)??c[0]??null;return e.jsxs("div",{className:"field-group terminal-manager-mobile-picker",children:[e.jsx("span",{children:l}),e.jsxs("button",{type:"button",className:"terminal-manager-mobile-picker-trigger","aria-label":`${l} ${(m==null?void 0:m.label)??""}`.trim(),"aria-expanded":u?"true":"false",onClick:p,children:[e.jsxs("span",{className:"terminal-manager-mobile-picker-copy",children:[e.jsx("strong",{children:(m==null?void 0:m.label)??n("common.unknown")}),m!=null&&m.description?e.jsx("span",{children:m.description}):null]}),e.jsx(va,{expanded:u})]}),u?e.jsx("div",{className:"terminal-manager-mobile-picker-list",role:"listbox","aria-label":l,children:c.map(h=>{const N=h.value===t;return e.jsxs("button",{type:"button",role:"option",className:"terminal-manager-mobile-picker-option","aria-selected":N,disabled:h.disabled,onClick:()=>{y(h.value)},children:[e.jsxs("span",{className:"terminal-manager-mobile-picker-option-copy",children:[e.jsx("strong",{children:h.label}),h.description?e.jsx("span",{children:h.description}):null]}),e.jsx("span",{className:"terminal-manager-mobile-picker-option-indicator","aria-hidden":"true",children:N?e.jsx(ya,{}):e.jsx(Ma,{})})]},h.value||"__empty__")})}):null]})}function va({expanded:l}){return e.jsx("svg",{viewBox:"0 0 16 16","aria-hidden":"true",className:"terminal-manager-mobile-picker-chevron","data-expanded":l?"true":"false",children:e.jsx("path",{d:"M4 6.5L8 10l4-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.7"})})}function Ma(){return e.jsx("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:e.jsx("path",{d:"M6 3.5L10.5 8 6 12.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.6"})})}function ya(){return e.jsx("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:e.jsx("path",{d:"M3.5 8.5L6.5 11.5L12.5 5.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.8"})})}function Da({className:l,currentWorkspaceId:t,navigationGroups:c,externalWindowMode:u=!1,workbenchShellOverrides:p}){var je,ve,Me,ye;const y=Qe(),m=Ze(),h=Oe(),{subscribeTerminalManagerSnapshot:N,requestTerminalManagerRefresh:F,addTerminalManagerSnapshotListener:te}={...h,...p},i=(t==null?void 0:t.trim())||null,[O,G]=s.useState([]),[Q,W]=s.useState(null),[f,P]=s.useState([]),[S,D]=s.useState([]),[x,Z]=s.useState([]),[q,ee]=s.useState(""),[A,E]=s.useState(""),[d,j]=s.useState(J),[_,H]=s.useState(null),[I,V]=s.useState(null),[Ie,ie]=s.useState([]),[se,z]=s.useState(!1),[ae,oe]=s.useState(!1),[ce,me]=s.useState(null),[de,ue]=s.useState(null),[k,ge]=s.useState(null),[v,U]=s.useState(null),[K,ne]=s.useState(null),[pe,he]=s.useState(!1),[xe,C]=s.useState(null),{showToast:b}=ea(),B=(l==null?void 0:l.includes("mobile-tool-process-panel"))??!1,$=_!==null,be=_==="edit"?f.find(a=>a.id===I)??null:null,w=_==="edit";s.useEffect(()=>{Y("terminal_manager.props",{currentWorkspaceId:t,workspaceCount:c.length,externalWindowMode:u})},[t,u,c.length]);const g=s.useMemo(()=>x.find(a=>a.id===q)??null,[q,x]),R=s.useMemo(()=>aa(m.ui.osFamily),[m.ui.osFamily]),fe=s.useMemo(()=>new Map(S.map(a=>[a.templateId,a])),[S]),Re=s.useMemo(()=>S.filter(a=>a.occupied).length,[S]),Fe=s.useMemo(()=>f.filter(a=>a.port!==null).length,[f]),De=(g==null?void 0:g.available)===!1&&x.length>0;s.useEffect(()=>{ee(a=>x.length?a&&x.some(r=>r.id===a)?a:ma(x):"")},[x]),s.useEffect(()=>{!$||!i||x.length>0||T(i)},[i,x.length,$]),s.useEffect(()=>{$||C(null)},[$]),s.useEffect(()=>{_==="edit"&&I&&!be&&(H(null),V(null),j(J),E(""),C(null))},[be,I,_]),s.useEffect(()=>{!v||k===v.templateId||f.some(a=>a.id===v.templateId)||U(null)},[v,k,f]),s.useEffect(()=>{if(!i){G([]),W(null),P([]),D([]),z(!1);return}const a=Ne(le(i),Ce);Y("terminal_manager.snapshot",{workspaceId:i,cached:!!a,cachedTemplateCount:(a==null?void 0:a.templates.length)??0,cachedStatusCount:(a==null?void 0:a.templateStatuses.length)??0}),a?(G(a.terminals),W(typeof a.revision=="string"?a.revision:null),P(a.templates),D(a.templateStatuses),Z(a.shellOptions??[]),z(!1)):(G([]),W(null),P([]),D([]),Z([]),z(!0))},[i]),s.useEffect(()=>{if(i)return te(a=>{a.workspaceId===i&&(Y("terminal_manager.snapshot_received",{workspaceId:a.workspaceId,terminalCount:a.terminals.length,templateCount:a.templates.length,statusCount:a.templateStatuses.length}),Ae(a),z(!1))})},[i,te]),s.useEffect(()=>{if(!i)return;const a=Ne(le(i),Ce);N(i,{knownRevision:(a==null?void 0:a.revision)??null}),a||T(i)},[i,F,N]),s.useEffect(()=>{i&&Ke(le(i),{revision:Q,terminals:O,templates:f,templateStatuses:S,shellOptions:x})},[i,Q,x,S,f,O]);function Ae(a){W(typeof a.revision=="string"?a.revision:null),G(a.terminals),P(a.templates),D(a.templateStatuses),Z(a.shellOptions??[])}function T(a){Y("terminal_manager.refresh_requested",{workspaceId:a}),F(a,{knownRevision:Q})}function X(){H(null),V(null),j(J),E(""),C(null)}function _e(){V(null),j(J),E(""),H("create")}function Ue(a){V(a.id),j(ga(a)),E(a.runtimeType??""),H("edit")}async function Be(a){if(i){ue(a);try{await na(a),T(i),b({title:n("terminalManager.stopProcessSuccess"),tone:"success"})}catch(r){b({title:r instanceof Error?r.message:n("terminalManager.stopProcessFailed"),tone:"error"})}finally{ue(null)}}}async function $e(){if(!i||!d.target.trim())return;const a=ha(d.port);if(Number.isNaN(a)){b({title:n("terminalManager.invalidPort"),tone:"error"});return}if(d.proxyEnabled&&a===null){b({title:n("terminalManager.proxyPortRequired"),tone:"error"});return}oe(!0);try{const r={workspaceId:i,name:da(d),cwd:d.cwd.trim()||void 0,command:d.target.trim(),args:ca(d.args),port:a,proxyEnabled:d.proxyEnabled,runtimeType:A||null};if(w&&I){const o=await ra(I,r);P(M=>M.map(L=>L.id===o.id?o:L))}else await la(r);X(),T(i),b({title:w?n("terminalManager.templateUpdateSuccess"):n("terminalManager.templateSaveSuccess"),tone:"success"})}catch(r){b({title:r instanceof Error?r.message:w?n("terminalManager.templateUpdateFailed"):n("terminalManager.templateSaveFailed"),tone:"error"})}finally{oe(!1)}}async function Ge(a){const r=await m.bridge.openExternal(a);r.ok||b({title:r.detail||n("terminalManager.openProxyUrlFailed"),tone:"error"})}async function We(a,r){if(i){ge(a.id);try{await ta(a.id),P(o=>o.filter(M=>M.id!==a.id)),D(o=>o.filter(M=>M.templateId!==a.id)),ie(o=>o.filter(M=>M!==a.id)),U(o=>(o==null?void 0:o.templateId)===a.id?null:o),I===a.id&&X(),T(i),b({title:n("terminalManager.templateDeleteSuccess"),tone:"success"})}catch(o){b({title:o instanceof Error?o.message:n("terminalManager.templateDeleteFailed"),tone:"error"})}finally{ge(null)}}}async function qe(a){if(!i)return;const r=g!=null&&g.available?g.shell:void 0;me(a);try{await ke(a,{shell:r}),T(i),b({title:n("terminalManager.templateRunSuccess"),tone:"success"})}catch(o){if(sa(o)){ne({templateId:a,shell:r});return}b({title:o instanceof Error?o.message:n("terminalManager.templateRunFailed"),tone:"error"})}finally{me(null)}}async function He(){if(!(!i||!K)){he(!0);try{await ke(K.templateId,{shell:K.shell,runtimeType:"embedded-pty"}),ne(null),T(i),b({title:n("terminalManager.templateRunSuccess"),tone:"success"})}catch(a){b({title:a instanceof Error?a.message:n("terminalManager.templateRunFailed"),tone:"error"})}finally{he(!1)}}}function Ve(a){ie(r=>r.includes(a)?r.filter(o=>o!==a):[...r,a])}return c.length?i?e.jsxs("section",{className:["conversation-panel","surface-card","terminal-manager-panel",l].filter(Boolean).join(" "),children:[e.jsx(ia,{open:K!==null,busy:pe,onClose:()=>{pe||ne(null)},onConfirmFallback:()=>{He()}}),e.jsxs("div",{className:"terminal-manager-header terminal-manager-desktop-header",children:[e.jsx("div",{className:"terminal-manager-panel-heading",children:e.jsxs("div",{children:[e.jsx("h2",{children:n("terminalManager.templateSectionTitle")}),e.jsx("p",{className:"status-text",children:n("terminalManager.desktopPanelDescription")})]})}),e.jsxs("div",{className:"terminal-manager-overview",children:[e.jsxs("article",{className:"terminal-manager-overview-card",children:[e.jsx("span",{children:n("terminalManager.runningCountLabel")}),e.jsx("strong",{children:Re})]}),e.jsxs("article",{className:"terminal-manager-overview-card",children:[e.jsx("span",{children:n("terminalManager.portWatchCountLabel")}),e.jsx("strong",{children:Fe})]}),e.jsxs("article",{className:"terminal-manager-overview-card",children:[e.jsx("span",{children:n("terminalManager.terminalCountLabel")}),e.jsx("strong",{children:O.length})]})]}),e.jsxs("div",{className:"terminal-manager-toolbar terminal-manager-toolbar-header",children:[e.jsx("button",{className:"secondary-button",type:"button",disabled:!i,onClick:()=>{i&&y(Ye(i))},children:n("terminalManager.openWorkspaceDebugAction")}),e.jsx("button",{className:"ghost-button",type:"button",disabled:!i||se,onClick:()=>{i&&T(i)},children:n("terminalManager.refresh")}),e.jsx("button",{className:"primary-button",type:"button",disabled:!i,onClick:()=>{_e()},children:n("terminalManager.openCreateModalAction")})]})]}),e.jsxs("section",{className:"terminal-manager-section",children:[e.jsxs("div",{className:"terminal-manager-section-header",children:[e.jsxs("div",{children:[e.jsx("h3",{children:n("terminalManager.templateSectionTitle")}),e.jsx("p",{className:"status-text",children:n("terminalManager.templateSectionDescription")})]}),e.jsx("span",{className:"workbench-section-counter",children:f.length})]}),se&&!f.length?e.jsx("p",{className:"status-text",children:n("common.loading")}):null,f.length?e.jsx("div",{className:"terminal-manager-list",children:f.map(a=>{const r=we(fe,a.id),o=xa(a,r),M=ba(r),L=Ie.includes(a.id),ze=L?n("terminalManager.hideDetailsAction"):n("terminalManager.showDetailsAction"),re=a.proxyEnabled&&a.proxySlug?pa(a.proxySlug):null;return e.jsxs("article",{className:"terminal-manager-card terminal-manager-desktop-card","data-tone":o.tone,"data-expanded":L?"true":"false",children:[e.jsxs("div",{className:"terminal-manager-card-header",children:[e.jsxs("div",{className:"terminal-manager-card-title",children:[e.jsx("span",{className:"terminal-manager-card-indicator","aria-hidden":"true"}),e.jsx("strong",{children:a.name})]}),e.jsxs("div",{className:"terminal-manager-card-tools",children:[e.jsx("span",{className:"badge terminal-runtime-badge",children:Te(a.runtimeType,m.ui.osFamily)}),e.jsx("span",{className:"badge",children:Ee(a)==="script"?n("terminalManager.scriptMode"):n("terminalManager.commandMode")}),e.jsx("button",{className:"terminal-manager-detail-toggle",type:"button","aria-label":ze,"aria-expanded":L,onClick:()=>{Ve(a.id)},children:"i"})]})]}),e.jsxs("div",{className:"terminal-manager-status-panel",children:[e.jsxs("div",{className:"terminal-manager-status-copy",children:[e.jsx("p",{className:"terminal-manager-status-title",children:o.title}),e.jsx("p",{className:"status-text",children:o.summary})]}),e.jsxs("div",{className:"terminal-manager-status-badges",children:[e.jsx("span",{className:"terminal-manager-stat-pill",children:a.port===null?n("terminalManager.portUnset"):`${n("terminalManager.portLabel")} ${a.port}`}),e.jsx("span",{className:"badge","data-tone":o.badgeTone,children:o.badgeLabel}),r!=null&&r.occupied&&r.processGroupId?e.jsx("span",{className:"badge",children:`PGID ${r.processGroupId}`}):null,a.proxyEnabled?e.jsx("span",{className:"badge",children:n("terminalManager.proxyEnabled")}):null]})]}),e.jsxs("div",{className:"terminal-manager-actions",children:[r!=null&&r.occupied?e.jsx("button",{className:"secondary-button",type:"button",disabled:de===a.id,onClick:()=>{Be(a.id)},children:de===a.id?n("terminalManager.stoppingProcess"):n("terminalManager.stopProcessAction")}):null,e.jsx("button",{className:"secondary-button",type:"button",disabled:ce===a.id||De,onClick:()=>{qe(a.id)},children:ce===a.id?n("terminalManager.runningTemplate"):n("terminalManager.runTemplateAction")})]}),L?e.jsxs("section",{className:"terminal-manager-details","aria-label":n("terminalManager.detailsSectionTitle"),children:[e.jsxs("div",{className:"terminal-manager-detail-grid",children:[e.jsxs("div",{className:"terminal-manager-detail-item terminal-manager-detail-item-wide",children:[e.jsx("span",{children:n("terminalManager.commandPreviewLabel")}),e.jsx("strong",{children:ua(a)})]}),e.jsxs("div",{className:"terminal-manager-detail-item",children:[e.jsx("span",{children:n("terminalManager.cwdLabel")}),e.jsx("strong",{children:a.cwd})]}),e.jsxs("div",{className:"terminal-manager-detail-item",children:[e.jsx("span",{children:n("terminal.runtimeField")}),e.jsx("strong",{children:Te(a.runtimeType,m.ui.osFamily)})]}),e.jsxs("div",{className:"terminal-manager-detail-item",children:[e.jsx("span",{children:n("terminalManager.updatedAt")}),e.jsx("strong",{children:oa(a.updatedAt)})]}),e.jsxs("div",{className:"terminal-manager-detail-item",children:[e.jsx("span",{children:n("terminalManager.portLabel")}),e.jsx("strong",{children:a.port===null?n("terminalManager.portUnset"):a.port})]}),e.jsxs("div",{className:"terminal-manager-detail-item terminal-manager-detail-item-wide",children:[e.jsx("span",{children:n("terminalManager.proxyField")}),e.jsx("strong",{children:re??n("terminalManager.proxyDisabledDescription")})]}),r!=null&&r.processId?e.jsxs("div",{className:"terminal-manager-detail-item",children:[e.jsx("span",{children:n("terminalManager.processIdLabel")}),e.jsx("strong",{children:r.processId})]}):null,r!=null&&r.processGroupId?e.jsxs("div",{className:"terminal-manager-detail-item",children:[e.jsx("span",{children:n("terminalManager.processGroupIdLabel")}),e.jsx("strong",{children:r.processGroupId})]}):null,M?e.jsxs("div",{className:"terminal-manager-detail-item",children:[e.jsx("span",{children:n("terminalManager.terminationScopeLabel")}),e.jsx("strong",{children:M})]}):null,r!=null&&r.parentProcessId?e.jsxs("div",{className:"terminal-manager-detail-item",children:[e.jsx("span",{children:n("terminalManager.parentProcessIdLabel")}),e.jsx("strong",{children:r.parentProcessId})]}):null,r!=null&&r.processCommandLine?e.jsxs("div",{className:"terminal-manager-detail-item terminal-manager-detail-item-wide",children:[e.jsx("span",{children:n("terminalManager.processCommandLabel")}),e.jsx("strong",{children:r.processCommandLine})]}):null,r!=null&&r.parentProcessCommandLine?e.jsxs("div",{className:"terminal-manager-detail-item terminal-manager-detail-item-wide",children:[e.jsx("span",{children:n("terminalManager.parentProcessCommandLabel")}),e.jsx("strong",{children:r.parentProcessCommandLine})]}):null]}),e.jsxs("div",{className:"terminal-manager-actions terminal-manager-detail-actions",children:[re?e.jsx("button",{className:"secondary-button",type:"button",onClick:()=>{Ge(re)},children:n("terminalManager.openProxyUrlAction")}):null,e.jsx("button",{className:"secondary-button",type:"button",disabled:ae||k===a.id,onClick:()=>{Ue(a)},children:n("terminalManager.editAction")}),e.jsx("button",{className:"secondary-button workbench-danger-button",type:"button",disabled:k===a.id,onClick:()=>{U({templateId:a.id,name:a.name,occupied:!!(r!=null&&r.occupied)})},children:k===a.id?n("terminalManager.templateRemoving"):n("terminalManager.removeAction")})]})]}):null]},a.id)})}):e.jsx("section",{className:"workbench-empty-state minimal",children:e.jsx("p",{children:n("terminalManager.emptyTemplateBody")})})]}),e.jsx(fa,{open:$,mobile:B,title:w?n("terminalManager.editModalTitle"):n("terminalManager.createModalTitle"),description:w?n("terminalManager.editModalDescription"):n("terminalManager.createModalDescription"),className:B?"terminal-manager-mobile-modal":void 0,onClose:X,children:e.jsxs("section",{className:"terminal-manager-modal-form",children:[B?e.jsxs(e.Fragment,{children:[e.jsx(Le,{label:n("terminalManager.shellField"),value:q,open:xe==="shell",options:x.map(a=>({value:a.id,label:a.label,description:a.available?null:a.unavailableReason??n("terminalManager.shellUnavailable"),disabled:!a.available})),onToggle:()=>{C(a=>a==="shell"?null:"shell")},onChange:a=>{ee(a),C(null)}}),(g==null?void 0:g.available)===!1&&g.unavailableReason?e.jsx("p",{className:"status-text",children:g.unavailableReason}):null,e.jsx(Le,{label:n("terminal.runtimeField"),value:A,open:xe==="runtime",options:R.map(a=>({value:a.value,label:a.label,description:a.description})),onToggle:()=>{C(a=>a==="runtime"?null:"runtime")},onChange:a=>{E(a),C(null)}}),e.jsx("p",{className:"status-text",children:((je=R.find(a=>a.value===A))==null?void 0:je.description)??((ve=R[0])==null?void 0:ve.description)})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"field-group",children:[e.jsx("span",{children:n("terminalManager.shellField")}),e.jsx("select",{value:q,onChange:a=>{ee(a.target.value)},children:x.map(a=>e.jsx("option",{value:a.id,disabled:!a.available,children:a.available?a.label:`${a.label} - ${n("terminalManager.shellUnavailable")}`},a.id))}),(g==null?void 0:g.available)===!1&&g.unavailableReason?e.jsx("p",{className:"status-text",children:g.unavailableReason}):null]}),e.jsxs("div",{className:"field-group",children:[e.jsx("span",{children:n("terminal.runtimeField")}),e.jsx("select",{value:A,onChange:a=>{E(a.target.value)},children:R.map(a=>e.jsx("option",{value:a.value,children:a.label},a.value||"auto"))}),e.jsx("p",{className:"status-text",children:((Me=R.find(a=>a.value===A))==null?void 0:Me.description)??((ye=R[0])==null?void 0:ye.description)})]})]}),e.jsxs("div",{className:"terminal-manager-mode-row",role:"tablist","aria-label":n("terminalManager.modeField"),children:[e.jsx("button",{type:"button",className:d.mode==="command"?"workbench-info-tab active":"workbench-info-tab",onClick:()=>{j(a=>({...a,mode:"command"}))},children:n("terminalManager.commandMode")}),e.jsx("button",{type:"button",className:d.mode==="script"?"workbench-info-tab active":"workbench-info-tab",onClick:()=>{j(a=>({...a,mode:"script"}))},children:n("terminalManager.scriptMode")})]}),e.jsxs("div",{className:"terminal-manager-grid",children:[e.jsxs("div",{className:"field-group",children:[e.jsx("span",{children:n("terminalManager.templateNameField")}),e.jsx("input",{value:d.name,placeholder:n("terminalManager.templateNamePlaceholder"),onChange:a=>{j(r=>({...r,name:a.target.value}))}})]}),e.jsxs("div",{className:"field-group",children:[e.jsx("span",{children:n("terminalManager.cwdField")}),e.jsx("input",{value:d.cwd,placeholder:n("terminalManager.cwdPlaceholder"),onChange:a=>{j(r=>({...r,cwd:a.target.value}))}})]})]}),e.jsxs("div",{className:"terminal-manager-grid",children:[e.jsxs("div",{className:"field-group",children:[e.jsx("span",{children:d.mode==="script"?n("terminalManager.scriptPathField"):n("terminalManager.commandField")}),e.jsx("input",{value:d.target,placeholder:d.mode==="script"?n("terminalManager.scriptPathPlaceholder"):n("terminalManager.commandPlaceholder"),onChange:a=>{j(r=>({...r,target:a.target.value}))}})]}),e.jsxs("div",{className:"field-group",children:[e.jsx("span",{children:n("terminalManager.argsField")}),e.jsx("input",{value:d.args,placeholder:n("terminalManager.argsPlaceholder"),onChange:a=>{j(r=>({...r,args:a.target.value}))}})]})]}),e.jsxs("div",{className:"terminal-manager-grid",children:[e.jsxs("div",{className:"field-group",children:[e.jsx("span",{children:n("terminalManager.portField")}),e.jsx("input",{value:d.port,placeholder:n("terminalManager.portPlaceholder"),onChange:a=>{j(r=>({...r,port:a.target.value}))}})]}),e.jsxs("div",{className:"field-group terminal-manager-proxy-field",children:[e.jsx("span",{children:n("terminalManager.proxyField")}),e.jsxs("div",{className:"terminal-manager-proxy-control",children:[e.jsx("span",{children:n("terminalManager.proxyToggleLabel")}),e.jsxs("label",{className:"terminal-manager-proxy-switch",children:[e.jsx("input",{type:"checkbox",role:"switch","aria-label":n("terminalManager.proxyField"),checked:d.proxyEnabled,onChange:a=>{j(r=>({...r,proxyEnabled:a.target.checked}))}}),e.jsx("span",{className:"terminal-manager-proxy-track","aria-hidden":"true",children:e.jsx("span",{className:"terminal-manager-proxy-thumb"})})]})]})]})]}),e.jsxs("div",{className:"terminal-manager-actions",children:[e.jsx("button",{className:"secondary-button",type:"button",onClick:X,children:n("common.close")}),e.jsx("button",{className:"primary-button",type:"button",disabled:!i||ae||!d.target.trim(),onClick:()=>{$e()},children:ae?w?n("terminalManager.templateUpdating"):n("terminalManager.templateSaving"):w?n("terminalManager.saveTemplateChangesAction"):n("terminalManager.saveLaunchAction")})]})]})}),e.jsx(ja,{open:v!==null,mobile:B,busy:v!==null&&k===v.templateId,title:n("terminalManager.removeConfirmTitle"),description:v?n(v.occupied?"terminalManager.removeRunningConfirmTarget":"terminalManager.removeConfirmTarget",{name:v.name}):"",confirmLabel:n("terminalManager.removeConfirmAction"),className:B?"terminal-manager-mobile-modal":"terminal-manager-confirm-modal",onClose:()=>{k||U(null)},onConfirm:()=>{if(!v)return;const a=f.find(r=>r.id===v.templateId);if(!a){U(null);return}we(fe,a.id),We(a)}})]}):e.jsx("section",{className:"workbench-empty-state minimal",children:e.jsx("p",{children:n("terminalManager.noCurrentWorkspaceBody")})}):e.jsx("section",{className:"workbench-empty-state minimal",children:e.jsx("p",{children:n("terminalManager.emptyWorkspaceBody")})})}function le(l){return`terminal-manager.snapshot.${l}`}export{Da as TerminalManagerPanel};
@@ -1,4 +1,4 @@
1
- var zl=Object.defineProperty;var Wl=(e,t,i)=>t in e?zl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var st=(e,t,i)=>Wl(e,typeof t!="symbol"?t+"":t,i);import{m as jn,H as $l,b,t as w,J as jl,G as Ul,F as Kl,j as m}from"./index-_OCkVmfl.js";import{M as ma}from"./MobileSheet-BXvQPkxt.js";import{a_ as ql,r as Vl,ah as Yl,b as Xl,a$ as Gl,ax as Zl}from"./WorkbenchLayout-D-U7ghT0.js";import{e as pa,u as Jl,c as Ql,f as eh}from"./App-If9gThKM.js";import{M as th}from"./MobileWorkspaceSwitcherHeader-DT330cAx.js";import{b as ga,c as ih,d as Un,e as pr,g as Kn,f as sh,h as rh,i as nh,j as oh}from"./terminal-runtime-meta-DBsyT35T.js";import{T as ah,i as lh}from"./TerminalRuntimeFallbackModal-KvG6k4AQ.js";import"./workbench-navigation-RyUjchbD.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./DesktopModal-bMdI1jEe.js";import"./WorkbenchModal-xbx1o6MO.js";import"./relay-entry-B5GmiOrR.js";import"./MobileTopHeaderFrame-vdYOyaaB.js";/**
1
+ var zl=Object.defineProperty;var Wl=(e,t,i)=>t in e?zl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var st=(e,t,i)=>Wl(e,typeof t!="symbol"?t+"":t,i);import{m as jn,H as $l,b,t as w,J as jl,G as Ul,F as Kl,j as m}from"./index-CFyk1rgJ.js";import{M as ma}from"./MobileSheet-C5IVmUsO.js";import{b0 as ql,r as Vl,ah as Yl,b as Xl,b1 as Gl,ax as Zl}from"./WorkbenchLayout-DD8b-m2G.js";import{e as pa,u as Jl,c as Ql,f as eh}from"./App-BxX5mm9o.js";import{M as th}from"./MobileWorkspaceSwitcherHeader-BC8MMQs_.js";import{b as ga,c as ih,d as Un,e as pr,g as Kn,f as sh,h as rh,i as nh,j as oh}from"./terminal-runtime-meta-okQIDzfA.js";import{T as ah,i as lh}from"./TerminalRuntimeFallbackModal-DGPR_CMh.js";import"./workbench-navigation-DoDaQR4z.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./DesktopModal-BxsogpLf.js";import"./WorkbenchModal-CsZeLArg.js";import"./relay-entry-C8k5qsl5.js";import"./MobileTopHeaderFrame-EoBm3-X0.js";/**
2
2
  * Copyright (c) 2014-2024 The xterm.js authors. All rights reserved.
3
3
  * @license MIT
4
4
  *
@@ -1 +1 @@
1
- import{A as c,j as i,t as e}from"./index-_OCkVmfl.js";import{D as o}from"./DesktopModal-bMdI1jEe.js";import{c as l,u as d,v as a,K as r,M as u}from"./workbench-navigation-RyUjchbD.js";function p(s){return s instanceof c?s.errorCode==="RUNTIME_DEPENDENCY_MISSING"||s.message.includes("当前系统未安装 tmux"):!1}function g({open:s,busy:n=!1,onClose:t,onConfirmFallback:m}){return i.jsxs(o,{open:s,title:e("terminal.runtimeMissingDialogTitle"),description:e("terminal.runtimeMissingDialogDescription"),size:"compact",layout:"confirm",className:"terminal-runtime-fallback-modal",bodyClassName:"terminal-runtime-fallback-body",dismissible:!n,footer:i.jsxs(u,{children:[i.jsx("button",{type:"button",className:"secondary-button",disabled:n,onClick:t,children:e("terminal.runtimeMissingKeepAction")}),i.jsx("button",{type:"button",className:"primary-button",disabled:n,onClick:m,children:n?e("terminal.runtimeMissingFallbackPending"):e("terminal.runtimeMissingFallbackAction")})]}),onClose:t,children:[i.jsxs(l,{className:"terminal-runtime-fallback-section",tone:"danger",actions:i.jsx(r,{tone:"danger",children:"tmux"}),children:[i.jsx("p",{className:"status-text",children:e("terminal.runtimeMissingInstallDescription")}),i.jsxs(d,{className:"terminal-runtime-fallback-list",children:[i.jsx(a,{label:e("terminal.runtimeMissingInstallMacArm")}),i.jsx(a,{label:e("terminal.runtimeMissingInstallMacIntel")}),i.jsx(a,{label:e("terminal.runtimeMissingInstallDebian")}),i.jsx(a,{label:e("terminal.runtimeMissingInstallFedora")})]})]}),i.jsx(l,{className:"terminal-runtime-fallback-section",actions:i.jsx(r,{children:"embedded-pty"}),children:i.jsx("p",{className:"status-text",children:e("terminal.runtimeMissingFallbackDescription")})})]})}export{g as T,p as i};
1
+ import{A as c,j as i,t as e}from"./index-CFyk1rgJ.js";import{D as o}from"./DesktopModal-BxsogpLf.js";import{c as l,u as d,v as a,K as r,M as u}from"./workbench-navigation-DoDaQR4z.js";function p(s){return s instanceof c?s.errorCode==="RUNTIME_DEPENDENCY_MISSING"||s.message.includes("当前系统未安装 tmux"):!1}function g({open:s,busy:n=!1,onClose:t,onConfirmFallback:m}){return i.jsxs(o,{open:s,title:e("terminal.runtimeMissingDialogTitle"),description:e("terminal.runtimeMissingDialogDescription"),size:"compact",layout:"confirm",className:"terminal-runtime-fallback-modal",bodyClassName:"terminal-runtime-fallback-body",dismissible:!n,footer:i.jsxs(u,{children:[i.jsx("button",{type:"button",className:"secondary-button",disabled:n,onClick:t,children:e("terminal.runtimeMissingKeepAction")}),i.jsx("button",{type:"button",className:"primary-button",disabled:n,onClick:m,children:n?e("terminal.runtimeMissingFallbackPending"):e("terminal.runtimeMissingFallbackAction")})]}),onClose:t,children:[i.jsxs(l,{className:"terminal-runtime-fallback-section",tone:"danger",actions:i.jsx(r,{tone:"danger",children:"tmux"}),children:[i.jsx("p",{className:"status-text",children:e("terminal.runtimeMissingInstallDescription")}),i.jsxs(d,{className:"terminal-runtime-fallback-list",children:[i.jsx(a,{label:e("terminal.runtimeMissingInstallMacArm")}),i.jsx(a,{label:e("terminal.runtimeMissingInstallMacIntel")}),i.jsx(a,{label:e("terminal.runtimeMissingInstallDebian")}),i.jsx(a,{label:e("terminal.runtimeMissingInstallFedora")})]})]}),i.jsx(l,{className:"terminal-runtime-fallback-section",actions:i.jsx(r,{children:"embedded-pty"}),children:i.jsx("p",{className:"status-text",children:e("terminal.runtimeMissingFallbackDescription")})})]})}export{g as T,p as i};
@@ -1 +1 @@
1
- import{j as e,t}from"./index-_OCkVmfl.js";import{b as n}from"./WorkbenchLayout-D-U7ghT0.js";import{e as c,b as p}from"./workbench-navigation-RyUjchbD.js";import{N as m}from"./App-If9gThKM.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./DesktopModal-bMdI1jEe.js";import"./WorkbenchModal-xbx1o6MO.js";import"./relay-entry-B5GmiOrR.js";import"./MobileSheet-BXvQPkxt.js";function P(){const{currentWorkspaceId:o,currentSessionId:i,navigationGroups:a}=n();if(!o)return e.jsx("main",{className:"mobile-feature-page mobile-page-scroll-root",children:e.jsxs("article",{className:"mobile-feature-empty surface-card",children:[e.jsx("h1",{children:t("shell.filesEntry")}),e.jsx("p",{children:t("shell.toolsWorkspaceRequiredBody")})]})});const s=a.flatMap(r=>r.sessions).find(r=>r.sessionId===i&&r.workspaceId===o),l=s?c(o,s.sessionId):p(o);return e.jsx(m,{to:`${l}?toolPanel=files`,replace:!0,state:{mobileToolPanelRouteRedirect:!0}})}export{P as ToolFilesPage};
1
+ import{j as e,t}from"./index-CFyk1rgJ.js";import{b as n}from"./WorkbenchLayout-DD8b-m2G.js";import{e as c,b as p}from"./workbench-navigation-DoDaQR4z.js";import{N as m}from"./App-BxX5mm9o.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./DesktopModal-BxsogpLf.js";import"./WorkbenchModal-CsZeLArg.js";import"./relay-entry-C8k5qsl5.js";import"./MobileSheet-C5IVmUsO.js";function P(){const{currentWorkspaceId:o,currentSessionId:i,navigationGroups:a}=n();if(!o)return e.jsx("main",{className:"mobile-feature-page mobile-page-scroll-root",children:e.jsxs("article",{className:"mobile-feature-empty surface-card",children:[e.jsx("h1",{children:t("shell.filesEntry")}),e.jsx("p",{children:t("shell.toolsWorkspaceRequiredBody")})]})});const s=a.flatMap(r=>r.sessions).find(r=>r.sessionId===i&&r.workspaceId===o),l=s?c(o,s.sessionId):p(o);return e.jsx(m,{to:`${l}?toolPanel=files`,replace:!0,state:{mobileToolPanelRouteRedirect:!0}})}export{P as ToolFilesPage};
@@ -1 +1 @@
1
- import{j as e,t}from"./index-_OCkVmfl.js";import{b as l}from"./WorkbenchLayout-D-U7ghT0.js";import{e as c,b as p}from"./workbench-navigation-RyUjchbD.js";import{N as m}from"./App-If9gThKM.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./DesktopModal-bMdI1jEe.js";import"./WorkbenchModal-xbx1o6MO.js";import"./relay-entry-B5GmiOrR.js";import"./MobileSheet-BXvQPkxt.js";function P(){const{currentWorkspaceId:o,currentSessionId:i,navigationGroups:a}=l();if(!o)return e.jsx("main",{className:"mobile-feature-page mobile-page-scroll-root",children:e.jsxs("article",{className:"mobile-feature-empty surface-card",children:[e.jsx("h1",{children:t("shell.gitEntry")}),e.jsx("p",{children:t("shell.toolsWorkspaceRequiredBody")})]})});const s=a.flatMap(r=>r.sessions).find(r=>r.sessionId===i&&r.workspaceId===o),n=s?c(o,s.sessionId):p(o);return e.jsx(m,{to:`${n}?toolPanel=git`,replace:!0,state:{mobileToolPanelRouteRedirect:!0}})}export{P as ToolGitPage};
1
+ import{j as e,t}from"./index-CFyk1rgJ.js";import{b as l}from"./WorkbenchLayout-DD8b-m2G.js";import{e as c,b as p}from"./workbench-navigation-DoDaQR4z.js";import{N as m}from"./App-BxX5mm9o.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./DesktopModal-BxsogpLf.js";import"./WorkbenchModal-CsZeLArg.js";import"./relay-entry-C8k5qsl5.js";import"./MobileSheet-C5IVmUsO.js";function P(){const{currentWorkspaceId:o,currentSessionId:i,navigationGroups:a}=l();if(!o)return e.jsx("main",{className:"mobile-feature-page mobile-page-scroll-root",children:e.jsxs("article",{className:"mobile-feature-empty surface-card",children:[e.jsx("h1",{children:t("shell.gitEntry")}),e.jsx("p",{children:t("shell.toolsWorkspaceRequiredBody")})]})});const s=a.flatMap(r=>r.sessions).find(r=>r.sessionId===i&&r.workspaceId===o),n=s?c(o,s.sessionId):p(o);return e.jsx(m,{to:`${n}?toolPanel=git`,replace:!0,state:{mobileToolPanelRouteRedirect:!0}})}export{P as ToolGitPage};
@@ -1 +1 @@
1
- import{j as e,t}from"./index-_OCkVmfl.js";import{b as l}from"./WorkbenchLayout-D-U7ghT0.js";import{e as c,b as p}from"./workbench-navigation-RyUjchbD.js";import{N as m}from"./App-If9gThKM.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./DesktopModal-bMdI1jEe.js";import"./WorkbenchModal-xbx1o6MO.js";import"./relay-entry-B5GmiOrR.js";import"./MobileSheet-BXvQPkxt.js";function P(){const{currentWorkspaceId:r,currentSessionId:a,navigationGroups:i}=l();if(!r)return e.jsx("main",{className:"mobile-feature-page mobile-page-scroll-root",children:e.jsxs("article",{className:"mobile-feature-empty surface-card",children:[e.jsx("h1",{children:t("shell.terminalManagerEntry")}),e.jsx("p",{children:t("shell.toolsWorkspaceRequiredBody")})]})});const s=i.flatMap(o=>o.sessions).find(o=>o.sessionId===a&&o.workspaceId===r),n=s?c(r,s.sessionId):p(r);return e.jsx(m,{to:`${n}?toolPanel=processes`,replace:!0,state:{mobileToolPanelRouteRedirect:!0}})}export{P as ToolProcessesPage};
1
+ import{j as e,t}from"./index-CFyk1rgJ.js";import{b as l}from"./WorkbenchLayout-DD8b-m2G.js";import{e as c,b as p}from"./workbench-navigation-DoDaQR4z.js";import{N as m}from"./App-BxX5mm9o.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./DesktopModal-BxsogpLf.js";import"./WorkbenchModal-CsZeLArg.js";import"./relay-entry-C8k5qsl5.js";import"./MobileSheet-C5IVmUsO.js";function P(){const{currentWorkspaceId:r,currentSessionId:a,navigationGroups:i}=l();if(!r)return e.jsx("main",{className:"mobile-feature-page mobile-page-scroll-root",children:e.jsxs("article",{className:"mobile-feature-empty surface-card",children:[e.jsx("h1",{children:t("shell.terminalManagerEntry")}),e.jsx("p",{children:t("shell.toolsWorkspaceRequiredBody")})]})});const s=i.flatMap(o=>o.sessions).find(o=>o.sessionId===a&&o.workspaceId===r),n=s?c(r,s.sessionId):p(r);return e.jsx(m,{to:`${n}?toolPanel=processes`,replace:!0,state:{mobileToolPanelRouteRedirect:!0}})}export{P as ToolProcessesPage};
@@ -1 +1 @@
1
- import{j as s,t as n}from"./index-_OCkVmfl.js";import{b as m}from"./WorkbenchLayout-D-U7ghT0.js";import{e as d,b as u}from"./workbench-navigation-RyUjchbD.js";import{N as f}from"./App-If9gThKM.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./DesktopModal-bMdI1jEe.js";import"./WorkbenchModal-xbx1o6MO.js";import"./relay-entry-B5GmiOrR.js";import"./MobileSheet-BXvQPkxt.js";function w(){var t,a;const{navigationGroups:o,currentWorkspaceId:c,currentSessionId:p}=m(),r=((t=o.find(e=>e.workspace.id===c))==null?void 0:t.workspace)??((a=o[0])==null?void 0:a.workspace)??null;if(!r)return s.jsx("main",{className:"mobile-feature-page mobile-page-scroll-root",children:s.jsxs("article",{className:"mobile-feature-empty surface-card",children:[s.jsx("h1",{children:n("shell.mobileSessionsEntry")}),s.jsx("p",{children:n("shell.emptyNavigationBody")})]})});const i=o.flatMap(e=>e.sessions).find(e=>e.sessionId===p&&e.workspaceId===r.id),l=i?d(r.id,i.sessionId):u(r.id);return s.jsx(f,{to:l,replace:!0})}export{w as ToolsHomePage};
1
+ import{j as s,t as n}from"./index-CFyk1rgJ.js";import{b as m}from"./WorkbenchLayout-DD8b-m2G.js";import{e as d,b as u}from"./workbench-navigation-DoDaQR4z.js";import{N as f}from"./App-BxX5mm9o.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./DesktopModal-BxsogpLf.js";import"./WorkbenchModal-CsZeLArg.js";import"./relay-entry-C8k5qsl5.js";import"./MobileSheet-C5IVmUsO.js";function w(){var t,a;const{navigationGroups:o,currentWorkspaceId:c,currentSessionId:p}=m(),r=((t=o.find(e=>e.workspace.id===c))==null?void 0:t.workspace)??((a=o[0])==null?void 0:a.workspace)??null;if(!r)return s.jsx("main",{className:"mobile-feature-page mobile-page-scroll-root",children:s.jsxs("article",{className:"mobile-feature-empty surface-card",children:[s.jsx("h1",{children:n("shell.mobileSessionsEntry")}),s.jsx("p",{children:n("shell.emptyNavigationBody")})]})});const i=o.flatMap(e=>e.sessions).find(e=>e.sessionId===p&&e.workspaceId===r.id),l=i?d(r.id,i.sessionId):u(r.id);return s.jsx(f,{to:l,replace:!0})}export{w as ToolsHomePage};
@@ -1 +1 @@
1
- import{j as e,t as r}from"./index-_OCkVmfl.js";import{b as c}from"./WorkbenchLayout-D-U7ghT0.js";import{N as t}from"./App-If9gThKM.js";import"./workbench-navigation-RyUjchbD.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./DesktopModal-bMdI1jEe.js";import"./WorkbenchModal-xbx1o6MO.js";import"./relay-entry-B5GmiOrR.js";import"./MobileSheet-BXvQPkxt.js";const n=[{titleKey:"workbench.emptyResumeTitle",bodyKey:"workbench.emptyResumeBody"},{titleKey:"workbench.emptyNewTitle",bodyKey:"workbench.emptyNewBody"},{titleKey:"workbench.emptyCompanionTitle",bodyKey:"workbench.emptyCompanionBody"}];function i(){return e.jsx("main",{className:"workbench-page conversation-page-shell",children:e.jsx("section",{className:"workbench-center-placeholder",children:e.jsxs("div",{className:"workbench-empty-guide surface-card",children:[e.jsx("p",{className:"workbench-empty-eyebrow",children:r("workbench.emptyEyebrow")}),e.jsx("div",{className:"workbench-empty-main",children:e.jsxs("div",{className:"workbench-empty-copy",children:[e.jsx("h1",{children:r("workbench.emptyTitle")}),e.jsx("p",{className:"workbench-empty-body",children:r("workbench.emptyBody")})]})}),e.jsx("ol",{className:"workbench-empty-steps",children:n.map((o,s)=>e.jsxs("li",{className:"workbench-empty-step",children:[e.jsx("span",{className:"workbench-empty-step-index",children:s+1}),e.jsxs("div",{className:"workbench-empty-step-copy",children:[e.jsx("h2",{children:r(o.titleKey)}),e.jsx("p",{children:r(o.bodyKey)})]})]},o.titleKey))}),e.jsx("p",{className:"workbench-empty-tip",children:r("workbench.emptyTip")})]})})})}function x(){const{shellMode:o}=c();return o==="mobile"?e.jsx(t,{to:"/workspaces",replace:!0}):e.jsx(i,{})}export{x as WorkbenchLandingPage};
1
+ import{j as e,t as r}from"./index-CFyk1rgJ.js";import{b as c}from"./WorkbenchLayout-DD8b-m2G.js";import{N as t}from"./App-BxX5mm9o.js";import"./workbench-navigation-DoDaQR4z.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./DesktopModal-BxsogpLf.js";import"./WorkbenchModal-CsZeLArg.js";import"./relay-entry-C8k5qsl5.js";import"./MobileSheet-C5IVmUsO.js";const n=[{titleKey:"workbench.emptyResumeTitle",bodyKey:"workbench.emptyResumeBody"},{titleKey:"workbench.emptyNewTitle",bodyKey:"workbench.emptyNewBody"},{titleKey:"workbench.emptyCompanionTitle",bodyKey:"workbench.emptyCompanionBody"}];function i(){return e.jsx("main",{className:"workbench-page conversation-page-shell",children:e.jsx("section",{className:"workbench-center-placeholder",children:e.jsxs("div",{className:"workbench-empty-guide surface-card",children:[e.jsx("p",{className:"workbench-empty-eyebrow",children:r("workbench.emptyEyebrow")}),e.jsx("div",{className:"workbench-empty-main",children:e.jsxs("div",{className:"workbench-empty-copy",children:[e.jsx("h1",{children:r("workbench.emptyTitle")}),e.jsx("p",{className:"workbench-empty-body",children:r("workbench.emptyBody")})]})}),e.jsx("ol",{className:"workbench-empty-steps",children:n.map((o,s)=>e.jsxs("li",{className:"workbench-empty-step",children:[e.jsx("span",{className:"workbench-empty-step-index",children:s+1}),e.jsxs("div",{className:"workbench-empty-step-copy",children:[e.jsx("h2",{children:r(o.titleKey)}),e.jsx("p",{children:r(o.bodyKey)})]})]},o.titleKey))}),e.jsx("p",{className:"workbench-empty-tip",children:r("workbench.emptyTip")})]})})})}function x(){const{shellMode:o}=c();return o==="mobile"?e.jsx(t,{to:"/workspaces",replace:!0}):e.jsx(i,{})}export{x as WorkbenchLandingPage};