@kingsoftcloud/ksadk-web 0.2.14 → 0.2.16

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 (121) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist-ksadk/assets/{ArtifactsPanel-CxRqXeFB.js → ArtifactsPanel-B06x6rZH.js} +1 -1
  3. package/dist-ksadk/assets/{CodeBlock-B5bFiAKG.js → CodeBlock-D0ZicJVx.js} +1 -1
  4. package/dist-ksadk/assets/{MathMessageMarkdown-Cakvv8ak.js → MathMessageMarkdown-DnGENSaK.js} +1 -1
  5. package/dist-ksadk/assets/{MermaidBlock-DjmCTJrc.js → MermaidBlock-hUd4MS-D.js} +6 -6
  6. package/dist-ksadk/assets/{NativeTerminalPanel-D-sZnV-D.js → NativeTerminalPanel-HgxLA5wc.js} +1 -1
  7. package/dist-ksadk/assets/{arc-dLUDly6v.js → arc-DdocI6pD.js} +1 -1
  8. package/dist-ksadk/assets/architecture-7EHR7CIX-secg40UA.js +1 -0
  9. package/dist-ksadk/assets/{architectureDiagram-3BPJPVTR-CXZJNk2O.js → architectureDiagram-3BPJPVTR-CQMnd8MC.js} +1 -1
  10. package/dist-ksadk/assets/{blockDiagram-GPEHLZMM-C0A07SPB.js → blockDiagram-GPEHLZMM-_Kk7Sg5y.js} +1 -1
  11. package/dist-ksadk/assets/{c4Diagram-AAUBKEIU-Ci75QRd7.js → c4Diagram-AAUBKEIU-B76y_Yuu.js} +1 -1
  12. package/dist-ksadk/assets/channel-Ch9mVx2Q.js +1 -0
  13. package/dist-ksadk/assets/{chunk-2J33WTMH-DBBOX5G_.js → chunk-2J33WTMH-Brm7O3ZZ.js} +1 -1
  14. package/dist-ksadk/assets/{chunk-4BX2VUAB-BYyES0-U.js → chunk-4BX2VUAB-Bl8JEjQI.js} +1 -1
  15. package/dist-ksadk/assets/{chunk-55IACEB6-X1wVcZov.js → chunk-55IACEB6-CjasIGqA.js} +1 -1
  16. package/dist-ksadk/assets/{chunk-727SXJPM-BcTjFgHJ.js → chunk-727SXJPM-BBJRvNjI.js} +1 -1
  17. package/dist-ksadk/assets/{chunk-AQP2D5EJ-Bg19U8CG.js → chunk-AQP2D5EJ-VuZ8Sc3p.js} +1 -1
  18. package/dist-ksadk/assets/{chunk-FMBD7UC4-DOdBG1VM.js → chunk-FMBD7UC4-CirX_mqI.js} +1 -1
  19. package/dist-ksadk/assets/{chunk-ND2GUHAM-CZ7jcUkW.js → chunk-ND2GUHAM-CfFXNLUo.js} +1 -1
  20. package/dist-ksadk/assets/chunk-QZHKN3VN-DJTxDPIP.js +1 -0
  21. package/dist-ksadk/assets/classDiagram-4FO5ZUOK-BcixWJ90.js +1 -0
  22. package/dist-ksadk/assets/classDiagram-v2-Q7XG4LA2-BcixWJ90.js +1 -0
  23. package/dist-ksadk/assets/{cose-bilkent-S5V4N54A-LImGWpXS.js → cose-bilkent-S5V4N54A-DCCZQXHd.js} +1 -1
  24. package/dist-ksadk/assets/{dagre-BM42HDAG-LWSiyPO5.js → dagre-BM42HDAG-DNfED9pb.js} +1 -1
  25. package/dist-ksadk/assets/{diagram-2AECGRRQ-BYQ1-uMG.js → diagram-2AECGRRQ-yO4PjQql.js} +1 -1
  26. package/dist-ksadk/assets/{diagram-5GNKFQAL-CoscR6zV.js → diagram-5GNKFQAL-Bt2ljVnh.js} +1 -1
  27. package/dist-ksadk/assets/{diagram-KO2AKTUF-C_YHGeGz.js → diagram-KO2AKTUF-Bb7wNlPg.js} +1 -1
  28. package/dist-ksadk/assets/{diagram-LMA3HP47-UA9S7eMh.js → diagram-LMA3HP47-CrH2YWcd.js} +1 -1
  29. package/dist-ksadk/assets/{diagram-OG6HWLK6-xb-BIxhQ.js → diagram-OG6HWLK6-bbtBEd5z.js} +1 -1
  30. package/dist-ksadk/assets/{dist-Dt5LrVjn.js → dist-521BEWj6.js} +1 -1
  31. package/dist-ksadk/assets/{dist-DhkdZMPd.js → dist-B2SIcB2s.js} +1 -1
  32. package/dist-ksadk/assets/{dist-CKJBIiBi.js → dist-BA2ewTEN.js} +1 -1
  33. package/dist-ksadk/assets/{dist-hk2k8DQi.js → dist-BVqRhq4R.js} +1 -1
  34. package/dist-ksadk/assets/{dist-Dnmy_buX.js → dist-Bn3JJ6WT.js} +1 -1
  35. package/dist-ksadk/assets/{dist-BO_i3wTp.js → dist-BorYRkBd.js} +1 -1
  36. package/dist-ksadk/assets/{dist-C-SpQsj4.js → dist-BvXOJV-u.js} +1 -1
  37. package/dist-ksadk/assets/{dist-C8_rGVba.js → dist-C6o23WK-.js} +1 -1
  38. package/dist-ksadk/assets/{dist-g4PPpv9n.js → dist-CaTCmLPC.js} +1 -1
  39. package/dist-ksadk/assets/{dist-BSEaDmB3.js → dist-Crh9NdRs.js} +1 -1
  40. package/dist-ksadk/assets/{dist-CdMMvfr6.js → dist-CyRnZq0Y.js} +1 -1
  41. package/dist-ksadk/assets/{dist-DQLMpQHj.js → dist-D1A6B1m9.js} +1 -1
  42. package/dist-ksadk/assets/{dist-DcvDWjsp.js → dist-D8EPdm_6.js} +1 -1
  43. package/dist-ksadk/assets/{dist-QYwBW_Mf.js → dist-DG5t7Qfp.js} +1 -1
  44. package/dist-ksadk/assets/{dist-OO89-qp7.js → dist-DKfGasx3.js} +1 -1
  45. package/dist-ksadk/assets/{dist-v8-edRr5.js → dist-DP5ziceH.js} +1 -1
  46. package/dist-ksadk/assets/{dist-C3dfbJrb.js → dist-FZxygvt4.js} +1 -1
  47. package/dist-ksadk/assets/{dist-CyKvrqPM.js → dist-UgODcks7.js} +1 -1
  48. package/dist-ksadk/assets/{dist-BN67A8Jb.js → dist-Yj9GFrNq.js} +1 -1
  49. package/dist-ksadk/assets/{dist-CVudmOOm.js → dist-cKezgS7F.js} +1 -1
  50. package/dist-ksadk/assets/{dist-CEVua9Eb.js → dist-pl0ZdN9h.js} +1 -1
  51. package/dist-ksadk/assets/{dist-BbOk8yab.js → dist-uW8Tf3ke.js} +1 -1
  52. package/dist-ksadk/assets/{erDiagram-TEJ5UH35-BfVYHmwK.js → erDiagram-TEJ5UH35-DUiCZd4K.js} +1 -1
  53. package/dist-ksadk/assets/eventmodeling-FCH6USID-CyTirFUD.js +1 -0
  54. package/dist-ksadk/assets/{flowDiagram-I6XJVG4X-B0mh3WpY.js → flowDiagram-I6XJVG4X-DYGVQCIm.js} +1 -1
  55. package/dist-ksadk/assets/{ganttDiagram-6RSMTGT7-Ce9oLqyz.js → ganttDiagram-6RSMTGT7-BhZtYjVe.js} +1 -1
  56. package/dist-ksadk/assets/gitGraph-WXDBUCRP-BLAtLgjE.js +1 -0
  57. package/dist-ksadk/assets/{gitGraphDiagram-PVQCEYII-BW6e6-uy.js → gitGraphDiagram-PVQCEYII-C7drTtvf.js} +1 -1
  58. package/dist-ksadk/assets/index-CouGNrf0.js +165 -0
  59. package/dist-ksadk/assets/info-J43DQDTF-Dpnm-hnd.js +1 -0
  60. package/dist-ksadk/assets/{infoDiagram-5YYISTIA-BwspFfOK.js → infoDiagram-5YYISTIA-DHmGck8o.js} +1 -1
  61. package/dist-ksadk/assets/{ishikawaDiagram-YF4QCWOH-CrkBysug.js → ishikawaDiagram-YF4QCWOH-fNk1ytOs.js} +1 -1
  62. package/dist-ksadk/assets/{journeyDiagram-JHISSGLW-BS1qzm5Q.js → journeyDiagram-JHISSGLW-DaEsNvC6.js} +1 -1
  63. package/dist-ksadk/assets/{kanban-definition-UN3LZRKU-BSakP2aP.js → kanban-definition-UN3LZRKU-BInyyqqY.js} +1 -1
  64. package/dist-ksadk/assets/{katex-CQNj0JzG.js → katex-DGk10-r4.js} +1 -1
  65. package/dist-ksadk/assets/{linear-KHZ9eUcI.js → linear-B2JRl5uz.js} +1 -1
  66. package/dist-ksadk/assets/{mermaid-parser.core-xP6AVGz-.js → mermaid-parser.core-CMRjttGv.js} +2 -2
  67. package/dist-ksadk/assets/{mindmap-definition-RKZ34NQL-CKjP2Jfe.js → mindmap-definition-RKZ34NQL-BUSqS_N5.js} +1 -1
  68. package/dist-ksadk/assets/packet-YPE3B663-CBNSejbV.js +1 -0
  69. package/dist-ksadk/assets/pie-LRSECV5Y-DYYr4y45.js +1 -0
  70. package/dist-ksadk/assets/{pieDiagram-4H26LBE5-CJUDzb-Y.js → pieDiagram-4H26LBE5-DAc7TaHh.js} +1 -1
  71. package/dist-ksadk/assets/{quadrantDiagram-W4KKPZXB-BLDLN79K.js → quadrantDiagram-W4KKPZXB-CMTmojtL.js} +1 -1
  72. package/dist-ksadk/assets/radar-GUYGQ44K-DvlkOiap.js +1 -0
  73. package/dist-ksadk/assets/{requirementDiagram-4Y6WPE33-DhMP6V-i.js → requirementDiagram-4Y6WPE33-DMksKYum.js} +1 -1
  74. package/dist-ksadk/assets/{sankeyDiagram-5OEKKPKP-MY_PXr4h.js → sankeyDiagram-5OEKKPKP-BPcqMkO3.js} +1 -1
  75. package/dist-ksadk/assets/{sequenceDiagram-3UESZ5HK-DxKPwAiT.js → sequenceDiagram-3UESZ5HK-CmeJJ6Nf.js} +1 -1
  76. package/dist-ksadk/assets/{stateDiagram-AJRCARHV-D-zq5Ly7.js → stateDiagram-AJRCARHV-D7oaMooj.js} +1 -1
  77. package/dist-ksadk/assets/stateDiagram-v2-BHNVJYJU-UPHW9RVm.js +1 -0
  78. package/dist-ksadk/assets/{timeline-definition-PNZ67QCA-DXaT6533.js → timeline-definition-PNZ67QCA-BjxnngqB.js} +1 -1
  79. package/dist-ksadk/assets/treeView-BLDUP644-ClgeJ2Gz.js +1 -0
  80. package/dist-ksadk/assets/treemap-LRROVOQU-rQg49Xh0.js +1 -0
  81. package/dist-ksadk/assets/{vennDiagram-CIIHVFJN-_DkELB7r.js → vennDiagram-CIIHVFJN-CvHaX62m.js} +1 -1
  82. package/dist-ksadk/assets/wardley-L42UT6IY-DYuzSwXI.js +1 -0
  83. package/dist-ksadk/assets/{wardleyDiagram-YWT4CUSO-DUfjRpDy.js → wardleyDiagram-YWT4CUSO-DgZ7L1lC.js} +1 -1
  84. package/dist-ksadk/assets/{xychartDiagram-2RQKCTM6-DSpH_C9e.js → xychartDiagram-2RQKCTM6-C1D-4iPc.js} +1 -1
  85. package/dist-ksadk/index.html +1 -1
  86. package/dist-lib/{ArtifactsPanel-BCjpJZ9m.js → ArtifactsPanel-D3AiN69_.js} +1 -1
  87. package/dist-lib/{CodeBlock-CnIj5U9o.js → CodeBlock-CWHejqEk.js} +1 -1
  88. package/dist-lib/{MathMessageMarkdown-DdjmAxKr.js → MathMessageMarkdown-BlZXusY6.js} +2 -2
  89. package/dist-lib/{NativeTerminalPanel-C1LtiwB7.js → NativeTerminalPanel-mQwtEFvo.js} +1 -1
  90. package/dist-lib/{WorkspacePanelContainer-DyFPcWsD.js → WorkspacePanelContainer-D5WLGlO_.js} +5 -5
  91. package/dist-lib/components/chat/ConnectedMessageList.d.ts.map +1 -1
  92. package/dist-lib/components.js +2 -2
  93. package/dist-lib/core/run/dispatcher.d.ts.map +1 -1
  94. package/dist-lib/core/run/engine.d.ts.map +1 -1
  95. package/dist-lib/hooks/useSessionLifecycle.d.ts.map +1 -1
  96. package/dist-lib/runtime.js +734 -666
  97. package/dist-lib/types/session-events.d.ts +1 -0
  98. package/dist-lib/types/session-events.d.ts.map +1 -1
  99. package/dist-lib/utils/message-virtualization.d.ts +20 -13
  100. package/dist-lib/utils/message-virtualization.d.ts.map +1 -1
  101. package/dist-lib/utils/run-state.d.ts.map +1 -1
  102. package/dist-lib/utils/session-event-history.d.ts +28 -0
  103. package/dist-lib/utils/session-event-history.d.ts.map +1 -0
  104. package/dist-lib/utils/session-helpers.d.ts.map +1 -1
  105. package/package.json +1 -1
  106. package/dist-ksadk/assets/architecture-7EHR7CIX-BR8hGnnI.js +0 -1
  107. package/dist-ksadk/assets/channel-CdDcmpAO.js +0 -1
  108. package/dist-ksadk/assets/chunk-QZHKN3VN-BNqAy5Tp.js +0 -1
  109. package/dist-ksadk/assets/classDiagram-4FO5ZUOK-kJAwmk1I.js +0 -1
  110. package/dist-ksadk/assets/classDiagram-v2-Q7XG4LA2-kJAwmk1I.js +0 -1
  111. package/dist-ksadk/assets/eventmodeling-FCH6USID-Dyg6WIdS.js +0 -1
  112. package/dist-ksadk/assets/gitGraph-WXDBUCRP-CJDHEJBG.js +0 -1
  113. package/dist-ksadk/assets/index-DAloZguQ.js +0 -165
  114. package/dist-ksadk/assets/info-J43DQDTF-ckVPO-5m.js +0 -1
  115. package/dist-ksadk/assets/packet-YPE3B663-CelVJ5KC.js +0 -1
  116. package/dist-ksadk/assets/pie-LRSECV5Y-BQm2YBEx.js +0 -1
  117. package/dist-ksadk/assets/radar-GUYGQ44K-CiG38998.js +0 -1
  118. package/dist-ksadk/assets/stateDiagram-v2-BHNVJYJU-eUE0VNmH.js +0 -1
  119. package/dist-ksadk/assets/treeView-BLDUP644-BoPwXqJw.js +0 -1
  120. package/dist-ksadk/assets/treemap-LRROVOQU-BPFM7kEk.js +0 -1
  121. package/dist-ksadk/assets/wardley-L42UT6IY-BC_mlbWj.js +0 -1
@@ -1 +1 @@
1
- import{W as e,ct as t,dt as n,ft as r,lt as i,mt as a,pt as o,ut as s,wt as c,xt as l,yt as u}from"./index-DAloZguQ.js";var d=u(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),f=u(`plug-zap`,[[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m18 3-4 4h6l-4 4`,key:`16psg9`}]]),p=c(l(),1),m=`/_ksadk/terminal/sessions`,h=/\x1b\](?:10|11|12);(?:rgb:)?[0-9a-fA-F]{1,4}\/[0-9a-fA-F]{1,4}\/[0-9a-fA-F]{1,4}(?:\x07|\x1b\\)/g,g=/\]1[012];(?:rgb:)?[0-9a-fA-F]{1,4}\/[0-9a-fA-F]{1,4}\/[0-9a-fA-F]{1,4}/g;function _(e,t){let n=Number(e);return Number.isFinite(n)&&n>0?Math.floor(n):t}function v(e){let t=Date.parse(String(e?.updated_at||e?.UpdatedAt||``));return Number.isNaN(t)?0:t}function y(e={}){let t={mode:String(e.mode||`tui`).trim()||`tui`,cols:_(e.cols,80),rows:_(e.rows,24)},n=String(e.sessionId||e.session_id||``).trim();n&&(t.session_id=n);let r=String(e.cwd||``).trim();return r&&(t.cwd=r),e.options&&typeof e.options==`object`&&(t.options=e.options),(e.forceNew===!0||e.force_new===!0)&&(t.force_new=!0),t}function b(e={},t){let n=t||(typeof window<`u`?window.location:{href:`http://localhost/`}),r=new URL(m,n.href||`http://localhost/`),i=String(e.sessionId||e.session_id||``).trim();i&&r.searchParams.set(`session_id`,i);let a=String(e.mode||``).trim();return a&&r.searchParams.set(`mode`,a),r.pathname+r.search}function x(e){return(Array.isArray(e?.sessions)?e.sessions:Array.isArray(e?.Sessions)?e.Sessions:[]).map(e=>({terminal_session_id:String(e?.terminal_session_id||e?.TerminalSessionId||``).trim(),mode:String(e?.mode||e?.Mode||`tui`).trim()||`tui`,status:String(e?.status||e?.Status||`closed`).trim()||`closed`,cols:_(e?.cols??e?.Cols,80),rows:_(e?.rows??e?.Rows,24),session_id:String(e?.session_id||e?.SessionId||``).trim(),cwd:String(e?.cwd||e?.Cwd||``).trim(),created_at:e?.created_at||e?.CreatedAt||``,updated_at:e?.updated_at||e?.UpdatedAt||``,exit_code:e?.exit_code??e?.ExitCode??null})).filter(e=>e.terminal_session_id).filter(e=>e.status!==`closed`&&e.status!==`deleted`).sort((e,t)=>{let n=+(e.status===`running`),r=+(t.status===`running`);return n===r?v(t)-v(e):r-n})}function S(e=`/_ksadk/terminal/ws`,t,n){let r=n||(typeof window<`u`?window.location:{href:`http://localhost/`,protocol:`http:`}),i=new URL(e||`/_ksadk/terminal/ws`,r.href||`http://localhost/`);i.protocol=i.protocol===`https:`?`wss:`:`ws:`;let a=String(t||``).trim();return a&&i.searchParams.set(`terminal_session_id`,a),i.toString()}function C(e){return String(e||``).replace(h,``).replace(g,``)}var w=t(),T=2e4;function E(e){return typeof e==`string`?Promise.resolve(e):e instanceof Blob?e.text():Promise.resolve(new TextDecoder().decode(e))}async function D(e){let t=await e.text();if(!t)return{};try{return JSON.parse(t)}catch{return{}}}function O({capability:t,open:c,onClose:l,sessionId:u,autoCreateWhenEmpty:h=!0}){let[g,_]=(0,p.useState)(`idle`),[v,O]=(0,p.useState)([]),[k,A]=(0,p.useState)(null),[j,M]=(0,p.useState)(!1),N=(0,p.useRef)(null),P=(0,p.useRef)(null),F=(0,p.useRef)(null),I=(0,p.useRef)(null),L=(0,p.useRef)([]),R=(0,p.useRef)(null),z=(0,p.useRef)(!1),B=(0,p.useMemo)(()=>v.find(e=>e.terminal_session_id===k)||null,[k,v]),V=(0,p.useCallback)(async({forceNew:e=!1}={})=>{z.current=!0,_(`connecting`);let n=await fetch(m,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(y({mode:t.Mode||`tui`,sessionId:u,forceNew:e}))});if(!n.ok){_(`error`);return}let r=(await D(n))?.session;if(!r?.terminal_session_id){_(`error`);return}await R.current?.(),A(r.terminal_session_id)},[t.Mode,u]),H=(0,p.useCallback)(async()=>{M(!0);try{let e=await fetch(b({sessionId:u,mode:t.Mode||`tui`}));if(!e.ok)throw Error(`HTTP ${e.status}`);let n=x(await D(e));O(n),A(e=>e&&n.some(t=>t.terminal_session_id===e)?e:n[0]?.terminal_session_id||null),c&&t.Enabled&&h&&n.length===0&&!z.current&&(z.current=!0,await V())}catch{_(`error`)}finally{M(!1)}},[h,t.Enabled,t.Mode,V,c,u]);(0,p.useEffect)(()=>{L.current=v},[v]),(0,p.useEffect)(()=>{R.current=H},[H]),(0,p.useEffect)(()=>{(!c||!t.Enabled)&&(z.current=!1)},[t.Enabled,c]);let U=(0,p.useCallback)(async n=>{if(!N.current)return()=>{};_(`connecting`);let r=!1,i=null,a=null,o=null,s=null,c=null,l=null,u=null,d=null;return P.current?.close(1e3,`switch terminal session`),P.current=null,F.current?.dispose(),F.current=null,I.current=null,N.current.innerHTML=``,Promise.all([e(()=>import(`./xterm-DooSxjI5.js`),[],import.meta.url),e(()=>import(`./addon-fit-DthTIhi3.js`),[],import.meta.url)]).then(([e,f])=>{if(r||!N.current)return;let{Terminal:p}=e,{FitAddon:m}=f;i=new p({cursorBlink:!0,convertEol:!0,fontFamily:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace`,fontSize:14,lineHeight:1.2,scrollback:6e3,allowProposedApi:!0,theme:{background:`#020617`,foreground:`#e5edf5`,cursor:`#34d399`,cursorAccent:`#020617`,selectionBackground:`#1e40af66`,black:`#020617`,red:`#fb7185`,green:`#34d399`,yellow:`#fbbf24`,blue:`#60a5fa`,magenta:`#c084fc`,cyan:`#22d3ee`,white:`#e5edf5`,brightBlack:`#64748b`,brightRed:`#fda4af`,brightGreen:`#86efac`,brightYellow:`#fde68a`,brightBlue:`#93c5fd`,brightMagenta:`#d8b4fe`,brightCyan:`#67e8f9`,brightWhite:`#ffffff`}}),a=new m,i.loadAddon(a),i.open(N.current),F.current=i,I.current=a;let h=()=>{try{a?.fit()}catch{}},g=()=>{c?.readyState!==WebSocket.OPEN||!i||c.send(JSON.stringify({type:`resize`,cols:i.cols||n.cols||80,rows:i.rows||n.rows||24}))},v=()=>{h(),g()},y=()=>{window.requestAnimationFrame(()=>{r||(v(),window.requestAnimationFrame(()=>{r||v()}))})};window.setTimeout(y,0),c=new WebSocket(S(t.Path||`/_ksadk/terminal/ws`,n.terminal_session_id),t.Protocol||`ks-terminal.v1`),P.current=c,c.addEventListener(`open`,()=>{h(),c?.send(JSON.stringify({type:`attach`,terminal_session_id:n.terminal_session_id,cols:i?.cols||n.cols||80,rows:i?.rows||n.rows||24})),y(),_(`connected`),i?.focus()}),c.addEventListener(`message`,e=>{if(typeof e.data==`string`)try{let t=JSON.parse(e.data);if(t?.type===`ready`){_(`connected`);return}if(t?.type===`pong`)return;if(t?.type===`exit`){_(`closed`);return}if(t?.type===`error`){_(`error`),i?.writeln(`\r\n${t.message||`Terminal error`}`);return}}catch{}E(e.data).then(e=>{e&&i?.write(e)})}),c.addEventListener(`close`,()=>{_(e=>e===`error`?e:`closed`),P.current=null}),c.addEventListener(`error`,()=>{_(`error`)});let b=e=>{let t=C(e);t&&c?.readyState===WebSocket.OPEN&&c.send(new TextEncoder().encode(t))};o=i.onData(e=>{b(e)}),s=i.onBinary(e=>{b(e)}),d=window.setInterval(()=>{c?.readyState===WebSocket.OPEN&&c.send(JSON.stringify({type:`ping`}))},T),l=()=>{v()},window.addEventListener(`resize`,l),u=new ResizeObserver(()=>{y()}),u.observe(N.current)}),()=>{r=!0,o?.dispose(),s?.dispose(),l&&window.removeEventListener(`resize`,l),d!==null&&window.clearInterval(d),u?.disconnect(),c&&(c.readyState===WebSocket.OPEN||c.readyState===WebSocket.CONNECTING)&&c.close(1e3,`panel closed`),P.current===c&&(P.current=null),i?.dispose(),F.current=null,I.current=null}},[t.Path,t.Protocol]);(0,p.useEffect)(()=>{!c||!t.Enabled||H()},[t.Enabled,c,H]),(0,p.useEffect)(()=>{let e=L.current.find(e=>e.terminal_session_id===k)||null;if(!c||!e)return;let t=()=>{},n=!1;return U(e).then(e=>{t=e,n&&t()}),()=>{n=!0,t()}},[k,U,c]);let W=async e=>{let t=v.filter(t=>t.terminal_session_id!==e);O(t),k===e&&(A(t[0]?.terminal_session_id||null),t.length===0&&_(`idle`),P.current?.close(1e3,`terminal session deleted`),P.current=null,F.current?.dispose(),F.current=null,I.current=null,N.current&&(N.current.innerHTML=``));let n=await fetch(`${m}/${e}`,{method:`DELETE`});!n.ok&&n.status!==404&&_(`error`),await H()};return c?(0,w.jsxs)(`div`,{className:`fixed inset-0 z-50 overflow-hidden border border-slate-800 bg-slate-950 text-slate-100 shadow-2xl shadow-slate-950/40 sm:inset-3 sm:rounded-3xl`,children:[(0,w.jsxs)(`div`,{className:`flex items-center justify-between border-b border-slate-800 bg-slate-900 px-4 py-3`,children:[(0,w.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,w.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-2xl bg-emerald-500/15 text-emerald-300`,children:(0,w.jsx)(r,{className:`h-4 w-4`})}),(0,w.jsxs)(`div`,{className:`min-w-0`,children:[(0,w.jsx)(`div`,{className:`truncate text-sm font-semibold`,children:`Native TUI`}),(0,w.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs text-slate-400`,children:[(0,w.jsx)(f,{className:`h-3 w-3`}),g]})]})]}),(0,w.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,w.jsx)(`button`,{type:`button`,onClick:()=>void H(),className:`rounded-xl p-2 text-slate-400 transition hover:bg-slate-800 hover:text-slate-100`,"aria-label":`刷新会话列表`,children:(0,w.jsx)(o,{className:i(`h-4 w-4`,j&&`animate-spin`)})}),(0,w.jsx)(`button`,{type:`button`,onClick:()=>void V({forceNew:!0}),className:`rounded-xl p-2 text-slate-400 transition hover:bg-slate-800 hover:text-slate-100`,"aria-label":`新建终端会话`,children:(0,w.jsx)(a,{className:`h-4 w-4`})}),(0,w.jsx)(`button`,{type:`button`,onClick:l,className:`rounded-xl p-2 text-slate-400 transition hover:bg-slate-800 hover:text-slate-100`,"aria-label":`关闭 TUI`,children:(0,w.jsx)(s,{className:`h-4 w-4`})})]})]}),(0,w.jsxs)(`div`,{className:`grid h-[calc(100%-4rem)] min-h-0 grid-cols-[18rem_minmax(0,1fr)] bg-slate-950`,children:[(0,w.jsxs)(`aside`,{className:`flex min-h-0 flex-col border-r border-slate-800 bg-slate-950`,children:[(0,w.jsx)(`div`,{className:`border-b border-slate-800 px-4 py-3 text-xs font-medium uppercase tracking-[0.12em] text-slate-500`,children:`会话`}),(0,w.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-2`,children:[v.length===0?(0,w.jsxs)(`button`,{type:`button`,onClick:()=>void V({forceNew:!0}),className:`flex w-full items-center justify-center gap-2 rounded-2xl border border-dashed border-slate-700 px-3 py-5 text-sm text-slate-400 transition hover:bg-slate-900`,children:[(0,w.jsx)(a,{className:`h-4 w-4`}),`新建终端会话`]}):null,v.map(e=>(0,w.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:()=>A(e.terminal_session_id),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),A(e.terminal_session_id))},className:i(`group mb-2 rounded-2xl border px-3 py-3 text-left transition`,k===e.terminal_session_id?`border-emerald-400/50 bg-emerald-500/10`:`border-slate-800 bg-slate-900/60 hover:bg-slate-900`),children:[(0,w.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,w.jsxs)(`div`,{className:`min-w-0`,children:[(0,w.jsx)(`div`,{className:`truncate text-sm font-medium text-slate-100`,children:e.terminal_session_id}),(0,w.jsx)(`div`,{className:`mt-1 text-[11px] text-slate-400`,children:e.session_id||`未绑定会话`})]}),(0,w.jsxs)(`div`,{className:`flex items-center gap-1`,children:[e.status===`running`?(0,w.jsx)(d,{className:`h-3.5 w-3.5 text-emerald-400`}):null,(0,w.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),W(e.terminal_session_id)},className:`rounded-lg p-1.5 text-slate-500 opacity-0 transition hover:bg-slate-800 hover:text-rose-300 group-hover:opacity-100`,title:`关闭会话`,children:(0,w.jsx)(n,{className:`h-3.5 w-3.5`})})]})]}),(0,w.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 text-[11px] text-slate-500`,children:[(0,w.jsx)(`span`,{className:`rounded-full border border-slate-700 px-2 py-0.5`,children:e.mode}),(0,w.jsxs)(`span`,{className:`rounded-full border border-slate-700 px-2 py-0.5`,children:[e.cols,`x`,e.rows]}),(0,w.jsx)(`span`,{className:`rounded-full border border-slate-700 px-2 py-0.5`,children:e.status})]})]},e.terminal_session_id))]})]}),(0,w.jsx)(`section`,{className:`min-h-0 bg-slate-950 p-2`,children:(0,w.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden rounded-2xl border border-slate-800 bg-slate-950`,children:[(0,w.jsxs)(`div`,{className:`flex items-center justify-between border-b border-slate-800 bg-slate-900/80 px-4 py-2 text-xs text-slate-400`,children:[(0,w.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,w.jsx)(`span`,{className:`rounded-full border border-slate-700 px-2 py-0.5`,children:B?.terminal_session_id||`no session`}),(0,w.jsx)(`span`,{children:B?.status||`idle`})]}),(0,w.jsx)(`div`,{className:`text-slate-500`,children:B?.cwd||B?.session_id||`attach to a terminal session`})]}),(0,w.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[g===`connecting`?(0,w.jsx)(`div`,{className:`absolute left-5 top-5 z-10 rounded-full bg-slate-900/90 px-3 py-1 text-xs text-slate-400`,children:`正在连接原生 TUI...`}):null,(0,w.jsx)(`div`,{ref:N,className:`h-full w-full overflow-hidden bg-slate-950`})]})]})})]})]}):null}export{O as NativeTerminalPanel};
1
+ import{W as e,ct as t,dt as n,ft as r,lt as i,mt as a,pt as o,ut as s,wt as c,xt as l,yt as u}from"./index-CouGNrf0.js";var d=u(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),f=u(`plug-zap`,[[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m18 3-4 4h6l-4 4`,key:`16psg9`}]]),p=c(l(),1),m=`/_ksadk/terminal/sessions`,h=/\x1b\](?:10|11|12);(?:rgb:)?[0-9a-fA-F]{1,4}\/[0-9a-fA-F]{1,4}\/[0-9a-fA-F]{1,4}(?:\x07|\x1b\\)/g,g=/\]1[012];(?:rgb:)?[0-9a-fA-F]{1,4}\/[0-9a-fA-F]{1,4}\/[0-9a-fA-F]{1,4}/g;function _(e,t){let n=Number(e);return Number.isFinite(n)&&n>0?Math.floor(n):t}function v(e){let t=Date.parse(String(e?.updated_at||e?.UpdatedAt||``));return Number.isNaN(t)?0:t}function y(e={}){let t={mode:String(e.mode||`tui`).trim()||`tui`,cols:_(e.cols,80),rows:_(e.rows,24)},n=String(e.sessionId||e.session_id||``).trim();n&&(t.session_id=n);let r=String(e.cwd||``).trim();return r&&(t.cwd=r),e.options&&typeof e.options==`object`&&(t.options=e.options),(e.forceNew===!0||e.force_new===!0)&&(t.force_new=!0),t}function b(e={},t){let n=t||(typeof window<`u`?window.location:{href:`http://localhost/`}),r=new URL(m,n.href||`http://localhost/`),i=String(e.sessionId||e.session_id||``).trim();i&&r.searchParams.set(`session_id`,i);let a=String(e.mode||``).trim();return a&&r.searchParams.set(`mode`,a),r.pathname+r.search}function x(e){return(Array.isArray(e?.sessions)?e.sessions:Array.isArray(e?.Sessions)?e.Sessions:[]).map(e=>({terminal_session_id:String(e?.terminal_session_id||e?.TerminalSessionId||``).trim(),mode:String(e?.mode||e?.Mode||`tui`).trim()||`tui`,status:String(e?.status||e?.Status||`closed`).trim()||`closed`,cols:_(e?.cols??e?.Cols,80),rows:_(e?.rows??e?.Rows,24),session_id:String(e?.session_id||e?.SessionId||``).trim(),cwd:String(e?.cwd||e?.Cwd||``).trim(),created_at:e?.created_at||e?.CreatedAt||``,updated_at:e?.updated_at||e?.UpdatedAt||``,exit_code:e?.exit_code??e?.ExitCode??null})).filter(e=>e.terminal_session_id).filter(e=>e.status!==`closed`&&e.status!==`deleted`).sort((e,t)=>{let n=+(e.status===`running`),r=+(t.status===`running`);return n===r?v(t)-v(e):r-n})}function S(e=`/_ksadk/terminal/ws`,t,n){let r=n||(typeof window<`u`?window.location:{href:`http://localhost/`,protocol:`http:`}),i=new URL(e||`/_ksadk/terminal/ws`,r.href||`http://localhost/`);i.protocol=i.protocol===`https:`?`wss:`:`ws:`;let a=String(t||``).trim();return a&&i.searchParams.set(`terminal_session_id`,a),i.toString()}function C(e){return String(e||``).replace(h,``).replace(g,``)}var w=t(),T=2e4;function E(e){return typeof e==`string`?Promise.resolve(e):e instanceof Blob?e.text():Promise.resolve(new TextDecoder().decode(e))}async function D(e){let t=await e.text();if(!t)return{};try{return JSON.parse(t)}catch{return{}}}function O({capability:t,open:c,onClose:l,sessionId:u,autoCreateWhenEmpty:h=!0}){let[g,_]=(0,p.useState)(`idle`),[v,O]=(0,p.useState)([]),[k,A]=(0,p.useState)(null),[j,M]=(0,p.useState)(!1),N=(0,p.useRef)(null),P=(0,p.useRef)(null),F=(0,p.useRef)(null),I=(0,p.useRef)(null),L=(0,p.useRef)([]),R=(0,p.useRef)(null),z=(0,p.useRef)(!1),B=(0,p.useMemo)(()=>v.find(e=>e.terminal_session_id===k)||null,[k,v]),V=(0,p.useCallback)(async({forceNew:e=!1}={})=>{z.current=!0,_(`connecting`);let n=await fetch(m,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(y({mode:t.Mode||`tui`,sessionId:u,forceNew:e}))});if(!n.ok){_(`error`);return}let r=(await D(n))?.session;if(!r?.terminal_session_id){_(`error`);return}await R.current?.(),A(r.terminal_session_id)},[t.Mode,u]),H=(0,p.useCallback)(async()=>{M(!0);try{let e=await fetch(b({sessionId:u,mode:t.Mode||`tui`}));if(!e.ok)throw Error(`HTTP ${e.status}`);let n=x(await D(e));O(n),A(e=>e&&n.some(t=>t.terminal_session_id===e)?e:n[0]?.terminal_session_id||null),c&&t.Enabled&&h&&n.length===0&&!z.current&&(z.current=!0,await V())}catch{_(`error`)}finally{M(!1)}},[h,t.Enabled,t.Mode,V,c,u]);(0,p.useEffect)(()=>{L.current=v},[v]),(0,p.useEffect)(()=>{R.current=H},[H]),(0,p.useEffect)(()=>{(!c||!t.Enabled)&&(z.current=!1)},[t.Enabled,c]);let U=(0,p.useCallback)(async n=>{if(!N.current)return()=>{};_(`connecting`);let r=!1,i=null,a=null,o=null,s=null,c=null,l=null,u=null,d=null;return P.current?.close(1e3,`switch terminal session`),P.current=null,F.current?.dispose(),F.current=null,I.current=null,N.current.innerHTML=``,Promise.all([e(()=>import(`./xterm-DooSxjI5.js`),[],import.meta.url),e(()=>import(`./addon-fit-DthTIhi3.js`),[],import.meta.url)]).then(([e,f])=>{if(r||!N.current)return;let{Terminal:p}=e,{FitAddon:m}=f;i=new p({cursorBlink:!0,convertEol:!0,fontFamily:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace`,fontSize:14,lineHeight:1.2,scrollback:6e3,allowProposedApi:!0,theme:{background:`#020617`,foreground:`#e5edf5`,cursor:`#34d399`,cursorAccent:`#020617`,selectionBackground:`#1e40af66`,black:`#020617`,red:`#fb7185`,green:`#34d399`,yellow:`#fbbf24`,blue:`#60a5fa`,magenta:`#c084fc`,cyan:`#22d3ee`,white:`#e5edf5`,brightBlack:`#64748b`,brightRed:`#fda4af`,brightGreen:`#86efac`,brightYellow:`#fde68a`,brightBlue:`#93c5fd`,brightMagenta:`#d8b4fe`,brightCyan:`#67e8f9`,brightWhite:`#ffffff`}}),a=new m,i.loadAddon(a),i.open(N.current),F.current=i,I.current=a;let h=()=>{try{a?.fit()}catch{}},g=()=>{c?.readyState!==WebSocket.OPEN||!i||c.send(JSON.stringify({type:`resize`,cols:i.cols||n.cols||80,rows:i.rows||n.rows||24}))},v=()=>{h(),g()},y=()=>{window.requestAnimationFrame(()=>{r||(v(),window.requestAnimationFrame(()=>{r||v()}))})};window.setTimeout(y,0),c=new WebSocket(S(t.Path||`/_ksadk/terminal/ws`,n.terminal_session_id),t.Protocol||`ks-terminal.v1`),P.current=c,c.addEventListener(`open`,()=>{h(),c?.send(JSON.stringify({type:`attach`,terminal_session_id:n.terminal_session_id,cols:i?.cols||n.cols||80,rows:i?.rows||n.rows||24})),y(),_(`connected`),i?.focus()}),c.addEventListener(`message`,e=>{if(typeof e.data==`string`)try{let t=JSON.parse(e.data);if(t?.type===`ready`){_(`connected`);return}if(t?.type===`pong`)return;if(t?.type===`exit`){_(`closed`);return}if(t?.type===`error`){_(`error`),i?.writeln(`\r\n${t.message||`Terminal error`}`);return}}catch{}E(e.data).then(e=>{e&&i?.write(e)})}),c.addEventListener(`close`,()=>{_(e=>e===`error`?e:`closed`),P.current=null}),c.addEventListener(`error`,()=>{_(`error`)});let b=e=>{let t=C(e);t&&c?.readyState===WebSocket.OPEN&&c.send(new TextEncoder().encode(t))};o=i.onData(e=>{b(e)}),s=i.onBinary(e=>{b(e)}),d=window.setInterval(()=>{c?.readyState===WebSocket.OPEN&&c.send(JSON.stringify({type:`ping`}))},T),l=()=>{v()},window.addEventListener(`resize`,l),u=new ResizeObserver(()=>{y()}),u.observe(N.current)}),()=>{r=!0,o?.dispose(),s?.dispose(),l&&window.removeEventListener(`resize`,l),d!==null&&window.clearInterval(d),u?.disconnect(),c&&(c.readyState===WebSocket.OPEN||c.readyState===WebSocket.CONNECTING)&&c.close(1e3,`panel closed`),P.current===c&&(P.current=null),i?.dispose(),F.current=null,I.current=null}},[t.Path,t.Protocol]);(0,p.useEffect)(()=>{!c||!t.Enabled||H()},[t.Enabled,c,H]),(0,p.useEffect)(()=>{let e=L.current.find(e=>e.terminal_session_id===k)||null;if(!c||!e)return;let t=()=>{},n=!1;return U(e).then(e=>{t=e,n&&t()}),()=>{n=!0,t()}},[k,U,c]);let W=async e=>{let t=v.filter(t=>t.terminal_session_id!==e);O(t),k===e&&(A(t[0]?.terminal_session_id||null),t.length===0&&_(`idle`),P.current?.close(1e3,`terminal session deleted`),P.current=null,F.current?.dispose(),F.current=null,I.current=null,N.current&&(N.current.innerHTML=``));let n=await fetch(`${m}/${e}`,{method:`DELETE`});!n.ok&&n.status!==404&&_(`error`),await H()};return c?(0,w.jsxs)(`div`,{className:`fixed inset-0 z-50 overflow-hidden border border-slate-800 bg-slate-950 text-slate-100 shadow-2xl shadow-slate-950/40 sm:inset-3 sm:rounded-3xl`,children:[(0,w.jsxs)(`div`,{className:`flex items-center justify-between border-b border-slate-800 bg-slate-900 px-4 py-3`,children:[(0,w.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,w.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-2xl bg-emerald-500/15 text-emerald-300`,children:(0,w.jsx)(r,{className:`h-4 w-4`})}),(0,w.jsxs)(`div`,{className:`min-w-0`,children:[(0,w.jsx)(`div`,{className:`truncate text-sm font-semibold`,children:`Native TUI`}),(0,w.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs text-slate-400`,children:[(0,w.jsx)(f,{className:`h-3 w-3`}),g]})]})]}),(0,w.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,w.jsx)(`button`,{type:`button`,onClick:()=>void H(),className:`rounded-xl p-2 text-slate-400 transition hover:bg-slate-800 hover:text-slate-100`,"aria-label":`刷新会话列表`,children:(0,w.jsx)(o,{className:i(`h-4 w-4`,j&&`animate-spin`)})}),(0,w.jsx)(`button`,{type:`button`,onClick:()=>void V({forceNew:!0}),className:`rounded-xl p-2 text-slate-400 transition hover:bg-slate-800 hover:text-slate-100`,"aria-label":`新建终端会话`,children:(0,w.jsx)(a,{className:`h-4 w-4`})}),(0,w.jsx)(`button`,{type:`button`,onClick:l,className:`rounded-xl p-2 text-slate-400 transition hover:bg-slate-800 hover:text-slate-100`,"aria-label":`关闭 TUI`,children:(0,w.jsx)(s,{className:`h-4 w-4`})})]})]}),(0,w.jsxs)(`div`,{className:`grid h-[calc(100%-4rem)] min-h-0 grid-cols-[18rem_minmax(0,1fr)] bg-slate-950`,children:[(0,w.jsxs)(`aside`,{className:`flex min-h-0 flex-col border-r border-slate-800 bg-slate-950`,children:[(0,w.jsx)(`div`,{className:`border-b border-slate-800 px-4 py-3 text-xs font-medium uppercase tracking-[0.12em] text-slate-500`,children:`会话`}),(0,w.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-2`,children:[v.length===0?(0,w.jsxs)(`button`,{type:`button`,onClick:()=>void V({forceNew:!0}),className:`flex w-full items-center justify-center gap-2 rounded-2xl border border-dashed border-slate-700 px-3 py-5 text-sm text-slate-400 transition hover:bg-slate-900`,children:[(0,w.jsx)(a,{className:`h-4 w-4`}),`新建终端会话`]}):null,v.map(e=>(0,w.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:()=>A(e.terminal_session_id),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),A(e.terminal_session_id))},className:i(`group mb-2 rounded-2xl border px-3 py-3 text-left transition`,k===e.terminal_session_id?`border-emerald-400/50 bg-emerald-500/10`:`border-slate-800 bg-slate-900/60 hover:bg-slate-900`),children:[(0,w.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,w.jsxs)(`div`,{className:`min-w-0`,children:[(0,w.jsx)(`div`,{className:`truncate text-sm font-medium text-slate-100`,children:e.terminal_session_id}),(0,w.jsx)(`div`,{className:`mt-1 text-[11px] text-slate-400`,children:e.session_id||`未绑定会话`})]}),(0,w.jsxs)(`div`,{className:`flex items-center gap-1`,children:[e.status===`running`?(0,w.jsx)(d,{className:`h-3.5 w-3.5 text-emerald-400`}):null,(0,w.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),W(e.terminal_session_id)},className:`rounded-lg p-1.5 text-slate-500 opacity-0 transition hover:bg-slate-800 hover:text-rose-300 group-hover:opacity-100`,title:`关闭会话`,children:(0,w.jsx)(n,{className:`h-3.5 w-3.5`})})]})]}),(0,w.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 text-[11px] text-slate-500`,children:[(0,w.jsx)(`span`,{className:`rounded-full border border-slate-700 px-2 py-0.5`,children:e.mode}),(0,w.jsxs)(`span`,{className:`rounded-full border border-slate-700 px-2 py-0.5`,children:[e.cols,`x`,e.rows]}),(0,w.jsx)(`span`,{className:`rounded-full border border-slate-700 px-2 py-0.5`,children:e.status})]})]},e.terminal_session_id))]})]}),(0,w.jsx)(`section`,{className:`min-h-0 bg-slate-950 p-2`,children:(0,w.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden rounded-2xl border border-slate-800 bg-slate-950`,children:[(0,w.jsxs)(`div`,{className:`flex items-center justify-between border-b border-slate-800 bg-slate-900/80 px-4 py-2 text-xs text-slate-400`,children:[(0,w.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,w.jsx)(`span`,{className:`rounded-full border border-slate-700 px-2 py-0.5`,children:B?.terminal_session_id||`no session`}),(0,w.jsx)(`span`,{children:B?.status||`idle`})]}),(0,w.jsx)(`div`,{className:`text-slate-500`,children:B?.cwd||B?.session_id||`attach to a terminal session`})]}),(0,w.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[g===`connecting`?(0,w.jsx)(`div`,{className:`absolute left-5 top-5 z-10 rounded-full bg-slate-900/90 px-3 py-1 text-xs text-slate-400`,children:`正在连接原生 TUI...`}):null,(0,w.jsx)(`div`,{ref:N,className:`h-full w-full overflow-hidden bg-slate-950`})]})]})})]})]}):null}export{O as NativeTerminalPanel};
@@ -1 +1 @@
1
- import{At as e,Ct as t,Dt as n,Et as r,Mt as i,Ot as a,St as o,Tt as s,bt as c,jt as l,kt as u,vt as d,xt as f,yt as p}from"./MermaidBlock-DjmCTJrc.js";function m(e){return e.innerRadius}function h(e){return e.outerRadius}function g(e){return e.startAngle}function _(e){return e.endAngle}function v(e){return e&&e.padAngle}function y(e,t,n,r,i,a,o,s){var c=n-e,l=r-t,u=o-i,d=s-a,f=d*c-u*l;if(!(f*f<1e-12))return f=(u*(t-a)-d*(e-i))/f,[e+f*c,t+f*l]}function b(t,n,i,a,o,s,c){var l=t-i,u=n-a,d=(c?s:-s)/e(l*l+u*u),f=d*u,p=-d*l,m=t+f,h=n+p,g=i+f,_=a+p,v=(m+g)/2,y=(h+_)/2,b=g-m,x=_-h,S=b*b+x*x,C=o-s,w=m*_-g*h,T=(x<0?-1:1)*e(r(0,C*C*S-w*w)),E=(w*x-b*T)/S,D=(-w*b-x*T)/S,O=(w*x+b*T)/S,k=(-w*b+x*T)/S,A=E-v,j=D-y,M=O-v,N=k-y;return A*A+j*j>M*M+N*N&&(E=O,D=k),{cx:E,cy:D,x01:-f,y01:-p,x11:E*(o/C-1),y11:D*(o/C-1)}}function x(){var r=m,x=h,S=i(0),C=null,w=g,T=_,E=v,D=null,O=d(k);function k(){var i,d,m=+r.apply(this,arguments),h=+x.apply(this,arguments),g=w.apply(this,arguments)-s,_=T.apply(this,arguments)-s,v=p(_-g),k=_>g;if(D||=i=O(),h<m&&(d=h,h=m,m=d),!(h>1e-12))D.moveTo(0,0);else if(v>l-1e-12)D.moveTo(h*t(g),h*u(g)),D.arc(0,0,h,g,_,!k),m>1e-12&&(D.moveTo(m*t(_),m*u(_)),D.arc(0,0,m,_,g,k));else{var A=g,j=_,M=g,N=_,P=v,F=v,I=E.apply(this,arguments)/2,L=I>1e-12&&(C?+C.apply(this,arguments):e(m*m+h*h)),R=n(p(h-m)/2,+S.apply(this,arguments)),z=R,B=R,V,H;if(L>1e-12){var U=f(L/m*u(I)),W=f(L/h*u(I));(P-=U*2)>1e-12?(U*=k?1:-1,M+=U,N-=U):(P=0,M=N=(g+_)/2),(F-=W*2)>1e-12?(W*=k?1:-1,A+=W,j-=W):(F=0,A=j=(g+_)/2)}var G=h*t(A),K=h*u(A),q=m*t(N),J=m*u(N);if(R>1e-12){var Y=h*t(j),X=h*u(j),Z=m*t(M),Q=m*u(M),$;if(v<a)if($=y(G,K,Z,Q,Y,X,q,J)){var ee=G-$[0],te=K-$[1],ne=Y-$[0],re=X-$[1],ie=1/u(c((ee*ne+te*re)/(e(ee*ee+te*te)*e(ne*ne+re*re)))/2),ae=e($[0]*$[0]+$[1]*$[1]);z=n(R,(m-ae)/(ie-1)),B=n(R,(h-ae)/(ie+1))}else z=B=0}F>1e-12?B>1e-12?(V=b(Z,Q,G,K,h,B,k),H=b(Y,X,q,J,h,B,k),D.moveTo(V.cx+V.x01,V.cy+V.y01),B<R?D.arc(V.cx,V.cy,B,o(V.y01,V.x01),o(H.y01,H.x01),!k):(D.arc(V.cx,V.cy,B,o(V.y01,V.x01),o(V.y11,V.x11),!k),D.arc(0,0,h,o(V.cy+V.y11,V.cx+V.x11),o(H.cy+H.y11,H.cx+H.x11),!k),D.arc(H.cx,H.cy,B,o(H.y11,H.x11),o(H.y01,H.x01),!k))):(D.moveTo(G,K),D.arc(0,0,h,A,j,!k)):D.moveTo(G,K),!(m>1e-12)||!(P>1e-12)?D.lineTo(q,J):z>1e-12?(V=b(q,J,Y,X,m,-z,k),H=b(G,K,Z,Q,m,-z,k),D.lineTo(V.cx+V.x01,V.cy+V.y01),z<R?D.arc(V.cx,V.cy,z,o(V.y01,V.x01),o(H.y01,H.x01),!k):(D.arc(V.cx,V.cy,z,o(V.y01,V.x01),o(V.y11,V.x11),!k),D.arc(0,0,m,o(V.cy+V.y11,V.cx+V.x11),o(H.cy+H.y11,H.cx+H.x11),k),D.arc(H.cx,H.cy,z,o(H.y11,H.x11),o(H.y01,H.x01),!k))):D.arc(0,0,m,N,M,k)}if(D.closePath(),i)return D=null,i+``||null}return k.centroid=function(){var e=(+r.apply(this,arguments)+ +x.apply(this,arguments))/2,n=(+w.apply(this,arguments)+ +T.apply(this,arguments))/2-a/2;return[t(n)*e,u(n)*e]},k.innerRadius=function(e){return arguments.length?(r=typeof e==`function`?e:i(+e),k):r},k.outerRadius=function(e){return arguments.length?(x=typeof e==`function`?e:i(+e),k):x},k.cornerRadius=function(e){return arguments.length?(S=typeof e==`function`?e:i(+e),k):S},k.padRadius=function(e){return arguments.length?(C=e==null?null:typeof e==`function`?e:i(+e),k):C},k.startAngle=function(e){return arguments.length?(w=typeof e==`function`?e:i(+e),k):w},k.endAngle=function(e){return arguments.length?(T=typeof e==`function`?e:i(+e),k):T},k.padAngle=function(e){return arguments.length?(E=typeof e==`function`?e:i(+e),k):E},k.context=function(e){return arguments.length?(D=e??null,k):D},k}export{x as t};
1
+ import{At as e,Ct as t,Dt as n,Et as r,Mt as i,Ot as a,St as o,Tt as s,bt as c,jt as l,kt as u,vt as d,xt as f,yt as p}from"./MermaidBlock-hUd4MS-D.js";function m(e){return e.innerRadius}function h(e){return e.outerRadius}function g(e){return e.startAngle}function _(e){return e.endAngle}function v(e){return e&&e.padAngle}function y(e,t,n,r,i,a,o,s){var c=n-e,l=r-t,u=o-i,d=s-a,f=d*c-u*l;if(!(f*f<1e-12))return f=(u*(t-a)-d*(e-i))/f,[e+f*c,t+f*l]}function b(t,n,i,a,o,s,c){var l=t-i,u=n-a,d=(c?s:-s)/e(l*l+u*u),f=d*u,p=-d*l,m=t+f,h=n+p,g=i+f,_=a+p,v=(m+g)/2,y=(h+_)/2,b=g-m,x=_-h,S=b*b+x*x,C=o-s,w=m*_-g*h,T=(x<0?-1:1)*e(r(0,C*C*S-w*w)),E=(w*x-b*T)/S,D=(-w*b-x*T)/S,O=(w*x+b*T)/S,k=(-w*b+x*T)/S,A=E-v,j=D-y,M=O-v,N=k-y;return A*A+j*j>M*M+N*N&&(E=O,D=k),{cx:E,cy:D,x01:-f,y01:-p,x11:E*(o/C-1),y11:D*(o/C-1)}}function x(){var r=m,x=h,S=i(0),C=null,w=g,T=_,E=v,D=null,O=d(k);function k(){var i,d,m=+r.apply(this,arguments),h=+x.apply(this,arguments),g=w.apply(this,arguments)-s,_=T.apply(this,arguments)-s,v=p(_-g),k=_>g;if(D||=i=O(),h<m&&(d=h,h=m,m=d),!(h>1e-12))D.moveTo(0,0);else if(v>l-1e-12)D.moveTo(h*t(g),h*u(g)),D.arc(0,0,h,g,_,!k),m>1e-12&&(D.moveTo(m*t(_),m*u(_)),D.arc(0,0,m,_,g,k));else{var A=g,j=_,M=g,N=_,P=v,F=v,I=E.apply(this,arguments)/2,L=I>1e-12&&(C?+C.apply(this,arguments):e(m*m+h*h)),R=n(p(h-m)/2,+S.apply(this,arguments)),z=R,B=R,V,H;if(L>1e-12){var U=f(L/m*u(I)),W=f(L/h*u(I));(P-=U*2)>1e-12?(U*=k?1:-1,M+=U,N-=U):(P=0,M=N=(g+_)/2),(F-=W*2)>1e-12?(W*=k?1:-1,A+=W,j-=W):(F=0,A=j=(g+_)/2)}var G=h*t(A),K=h*u(A),q=m*t(N),J=m*u(N);if(R>1e-12){var Y=h*t(j),X=h*u(j),Z=m*t(M),Q=m*u(M),$;if(v<a)if($=y(G,K,Z,Q,Y,X,q,J)){var ee=G-$[0],te=K-$[1],ne=Y-$[0],re=X-$[1],ie=1/u(c((ee*ne+te*re)/(e(ee*ee+te*te)*e(ne*ne+re*re)))/2),ae=e($[0]*$[0]+$[1]*$[1]);z=n(R,(m-ae)/(ie-1)),B=n(R,(h-ae)/(ie+1))}else z=B=0}F>1e-12?B>1e-12?(V=b(Z,Q,G,K,h,B,k),H=b(Y,X,q,J,h,B,k),D.moveTo(V.cx+V.x01,V.cy+V.y01),B<R?D.arc(V.cx,V.cy,B,o(V.y01,V.x01),o(H.y01,H.x01),!k):(D.arc(V.cx,V.cy,B,o(V.y01,V.x01),o(V.y11,V.x11),!k),D.arc(0,0,h,o(V.cy+V.y11,V.cx+V.x11),o(H.cy+H.y11,H.cx+H.x11),!k),D.arc(H.cx,H.cy,B,o(H.y11,H.x11),o(H.y01,H.x01),!k))):(D.moveTo(G,K),D.arc(0,0,h,A,j,!k)):D.moveTo(G,K),!(m>1e-12)||!(P>1e-12)?D.lineTo(q,J):z>1e-12?(V=b(q,J,Y,X,m,-z,k),H=b(G,K,Z,Q,m,-z,k),D.lineTo(V.cx+V.x01,V.cy+V.y01),z<R?D.arc(V.cx,V.cy,z,o(V.y01,V.x01),o(H.y01,H.x01),!k):(D.arc(V.cx,V.cy,z,o(V.y01,V.x01),o(V.y11,V.x11),!k),D.arc(0,0,m,o(V.cy+V.y11,V.cx+V.x11),o(H.cy+H.y11,H.cx+H.x11),k),D.arc(H.cx,H.cy,z,o(H.y11,H.x11),o(H.y01,H.x01),!k))):D.arc(0,0,m,N,M,k)}if(D.closePath(),i)return D=null,i+``||null}return k.centroid=function(){var e=(+r.apply(this,arguments)+ +x.apply(this,arguments))/2,n=(+w.apply(this,arguments)+ +T.apply(this,arguments))/2-a/2;return[t(n)*e,u(n)*e]},k.innerRadius=function(e){return arguments.length?(r=typeof e==`function`?e:i(+e),k):r},k.outerRadius=function(e){return arguments.length?(x=typeof e==`function`?e:i(+e),k):x},k.cornerRadius=function(e){return arguments.length?(S=typeof e==`function`?e:i(+e),k):S},k.padRadius=function(e){return arguments.length?(C=e==null?null:typeof e==`function`?e:i(+e),k):C},k.startAngle=function(e){return arguments.length?(w=typeof e==`function`?e:i(+e),k):w},k.endAngle=function(e){return arguments.length?(T=typeof e==`function`?e:i(+e),k):T},k.padAngle=function(e){return arguments.length?(E=typeof e==`function`?e:i(+e),k):E},k.context=function(e){return arguments.length?(D=e??null,k):D},k}export{x as t};
@@ -0,0 +1 @@
1
+ import{x as e}from"./mermaid-parser.core-CMRjttGv.js";export{e as createArchitectureServices};