agentroam 0.2.0-preview.1 → 0.2.0-preview.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +4 -4
  2. package/dist/cli.js +15 -4
  3. package/dist/cloudflared/installer.js +19 -4
  4. package/dist/cloudflared/installer.test.js +15 -0
  5. package/dist/native-runtime.js +15 -0
  6. package/dist/native-runtime.test.js +19 -0
  7. package/dist/network.js +17 -0
  8. package/dist/network.test.js +20 -0
  9. package/dist/runtime-manager.js +2 -1
  10. package/package.json +2 -2
  11. package/runtime/.next/BUILD_ID +1 -1
  12. package/runtime/.next/app-build-manifest.json +3 -3
  13. package/runtime/.next/app-path-routes-manifest.json +1 -1
  14. package/runtime/.next/build-manifest.json +5 -5
  15. package/runtime/.next/prerender-manifest.json +1 -1
  16. package/runtime/.next/react-loadable-manifest.json +1 -1
  17. package/runtime/.next/server/app/_not-found.html +1 -1
  18. package/runtime/.next/server/app/_not-found.rsc +1 -1
  19. package/runtime/.next/server/app/web.html +1 -1
  20. package/runtime/.next/server/app/web.rsc +1 -1
  21. package/runtime/.next/server/app-paths-manifest.json +2 -2
  22. package/runtime/.next/server/chunks/322.js +31 -31
  23. package/runtime/.next/server/middleware-build-manifest.js +1 -1
  24. package/runtime/.next/server/middleware-react-loadable-manifest.js +1 -1
  25. package/runtime/.next/server/pages/404.html +1 -1
  26. package/runtime/.next/server/pages/500.html +1 -1
  27. package/runtime/.next/server/server-reference-manifest.json +1 -1
  28. package/runtime/.next/static/chunks/804.0e20fa702013ffef.js +1 -0
  29. package/runtime/.next/static/chunks/{webpack-3a28d671c5a42bf1.js → webpack-e56f3a1950168597.js} +1 -1
  30. package/runtime/node_modules/@agent/core/dist/domain/agent/AgentBuilder.d.ts +3 -0
  31. package/runtime/node_modules/@agent/core/dist/domain/agent/AgentBuilder.d.ts.map +1 -1
  32. package/runtime/node_modules/@agent/core/dist/domain/context/ContextLoader.d.ts +1 -0
  33. package/runtime/node_modules/@agent/core/dist/domain/context/ContextLoader.d.ts.map +1 -1
  34. package/runtime/node_modules/@agent/core/dist/domain/skill/SkillRegistry.d.ts +4 -0
  35. package/runtime/node_modules/@agent/core/dist/domain/skill/SkillRegistry.d.ts.map +1 -1
  36. package/runtime/node_modules/@agent/core/dist/domain/tool/builtin/WebSearchTool.d.ts +5 -2
  37. package/runtime/node_modules/@agent/core/dist/domain/tool/builtin/WebSearchTool.d.ts.map +1 -1
  38. package/runtime/node_modules/@agent/core/dist/index.js +206 -67
  39. package/runtime/node_modules/@agent/core/dist/index.js.map +8 -8
  40. package/runtime/node_modules/@agent/core/dist/infrastructure/SQLiteSessionStore.d.ts +4 -0
  41. package/runtime/node_modules/@agent/core/dist/infrastructure/SQLiteSessionStore.d.ts.map +1 -1
  42. package/runtime/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
  43. package/runtime/.next/static/chunks/804.33d400571801aa9e.js +0 -1
  44. /package/runtime/.next/static/{DmJe8rRLl3EQW0weZvItS → 47UkTmBGxP5qz2mnMbNEp}/_buildManifest.js +0 -0
  45. /package/runtime/.next/static/{DmJe8rRLl3EQW0weZvItS → 47UkTmBGxP5qz2mnMbNEp}/_ssgManifest.js +0 -0
@@ -5,6 +5,10 @@ export declare class SQLiteSessionStore implements ISessionStore {
5
5
  private readonly baseDir;
6
6
  constructor(baseDir: string);
7
7
  create(session: Session): Promise<Session>;
8
+ /** Returns projectId if the referenced project exists, otherwise null (FK-safe). */
9
+ private resolveProjectId;
10
+ /** Returns parentSessionId if the referenced session exists, otherwise null (FK-safe). */
11
+ private resolveParentId;
8
12
  get(id: string): Promise<Session | null>;
9
13
  update(id: string, update: Partial<Session>): Promise<Session>;
10
14
  delete(id: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"SQLiteSessionStore.d.ts","sourceRoot":"","sources":["../../src/infrastructure/SQLiteSessionStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAG9D,qBAAa,kBAAmB,YAAW,aAAa;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,MAAM;IAKrB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAW1C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAOxC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAU9D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAW5C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAMlD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAY9D,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7D,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB5E,OAAO,CAAC,YAAY;CAwBrB"}
1
+ {"version":3,"file":"SQLiteSessionStore.d.ts","sourceRoot":"","sources":["../../src/infrastructure/SQLiteSessionStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAG9D,qBAAa,kBAAmB,YAAW,aAAa;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,MAAM;IAKrB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAchD,oFAAoF;IACpF,OAAO,CAAC,gBAAgB;IASxB,0FAA0F;IAC1F,OAAO,CAAC,eAAe;IASjB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAOxC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAU9D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAW5C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAMlD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAY9D,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7D,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB5E,OAAO,CAAC,YAAY;CAwBrB"}
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[804],{6584:function(e,t,r){"use strict";var n,l;e.exports=(null==(n=r.g.process)?void 0:n.env)&&"object"==typeof(null==(l=r.g.process)?void 0:l.env)?r.g.process:r(3307)},3307:function(e){!function(){var t={229:function(e){var t,r,n,l=e.exports={};function i(){throw Error("setTimeout has not been defined")}function o(){throw Error("clearTimeout has not been defined")}function u(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var c=[],a=!1,s=-1;function d(){a&&n&&(a=!1,n.length?c=n.concat(c):s=-1,c.length&&f())}function f(){if(!a){var e=u(d);a=!0;for(var t=c.length;t;){for(n=c,c=[];++s<t;)n&&n[s].run();s=-1,t=c.length}n=null,a=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function v(){}l.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new p(e,t)),1!==c.length||a||u(f)},p.prototype.run=function(){this.fun.apply(null,this.array)},l.title="browser",l.browser=!0,l.env={},l.argv=[],l.version="",l.versions={},l.on=v,l.addListener=v,l.once=v,l.off=v,l.removeListener=v,l.removeAllListeners=v,l.emit=v,l.prependListener=v,l.prependOnceListener=v,l.listeners=function(e){return[]},l.binding=function(e){throw Error("process.binding is not supported")},l.cwd=function(){return"/"},l.chdir=function(e){throw Error("process.chdir is not supported")},l.umask=function(){return 0}}},r={};function n(e){var l=r[e];if(void 0!==l)return l.exports;var i=r[e]={exports:{}},o=!0;try{t[e](i,i.exports,n),o=!1}finally{o&&delete r[e]}return i.exports}n.ab="//";var l=n(229);e.exports=l}()},1587:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return s}});var n=r(1996),l=r(6121),i=r(8918),o=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(0===e.css.cell.width||0===e.css.cell.height)return;let t=0===this._terminal.options.scrollback?0:this._terminal.options.overviewRuler?.width||14,r=window.getComputedStyle(this._terminal.element.parentElement),n=parseInt(r.getPropertyValue("height")),l=Math.max(0,parseInt(r.getPropertyValue("width"))),i=window.getComputedStyle(this._terminal.element),o={top:parseInt(i.getPropertyValue("padding-top")),bottom:parseInt(i.getPropertyValue("padding-bottom")),right:parseInt(i.getPropertyValue("padding-right")),left:parseInt(i.getPropertyValue("padding-left"))},u=o.top+o.bottom;return{cols:Math.max(2,Math.floor((l-(o.right+o.left)-t)/e.css.cell.width)),rows:Math.max(1,Math.floor((n-u)/e.css.cell.height))}}};r(8810);let u={minWidth:34,height:30,borderRadius:7,fontSize:11.5,padding:"0 7px",touchAction:"none",userSelect:"none",flexShrink:0},c=["ctrl","esc","tab","up","down","left","right","pgup","pgdown","end","enter","pipe","tilde","dash","slash","ctrlc","ctrld","ctrll","hide"],a={ctrl:"Ctrl",esc:"Esc",tab:"Tab",up:"↑",down:"↓",left:"←",right:"→",pgup:"Pg↑",pgdown:"Pg↓",end:"End",enter:"↵",pipe:"|",tilde:"~",dash:"-",slash:"/",ctrlc:"^C",ctrld:"^D",ctrll:"^L",hide:"隐藏"};function s(e){let{terminalId:t,title:r,visible:s,state:d,rpc:f,onEvent:p,onTerminalData:v,sendTerminalInput:m,keyOrder:h,keybarHidden:y,onKeyOrderChange:b,onKeybarHiddenChange:g,onCwdChange:w,initialScrollLine:x,onScrollLineChange:k,onRegisterFill:E,terminalTheme:T}=e,L=(0,l.useRef)(null),M=(0,l.useRef)(null),C=(0,l.useRef)(null),[R,Y]=(0,l.useState)(!1),[D,P]=(0,l.useState)(!1),S=(0,l.useRef)(!1),[I,A]=(0,l.useState)(!1),_=(0,l.useRef)(t),X=(0,l.useRef)(null),z=(0,l.useRef)(null),B=(0,l.useRef)(()=>{}),H=(0,l.useRef)(null),W=(0,l.useRef)(!0),j=(0,l.useRef)(0),O=(0,l.useRef)(null),q=(0,l.useRef)(null),N=(0,l.useRef)(!1),U=(0,l.useRef)(null),V=(0,l.useRef)(0),K=(0,l.useRef)(null),F=(0,l.useRef)(!1),Z=(0,l.useRef)(!1),[G,J]=(0,l.useState)(null),Q=(0,l.useCallback)(e=>{null!=X.current&&m(X.current,e)||f("term:input",{id:_.current,data:e}).catch(()=>{})},[f,m]);(0,l.useRef)(Q).current=Q;let $=(0,l.useRef)(()=>{}),ee=(0,l.useRef)(T);ee.current=T;let et={...u,border:"1px solid ".concat(T.keybar.keyBorder),background:T.keybar.keyBg,color:T.keybar.keyText},er=(0,l.useRef)(E);er.current=E;let en=(0,l.useCallback)(e=>{(async()=>{var t,r;W.current=!0,null===(t=M.current)||void 0===t||t.scrollToBottom();try{await f("term:focus",{id:_.current}),P(!1)}catch(e){if((null==e?void 0:e.code)==="EWRITELOCK"){P(!0);return}}null===(r=M.current)||void 0===r||r.focus(),Q("\x15"),window.setTimeout(()=>{let t=M.current;t&&("function"==typeof t.paste?t.paste(e):Q(e))},20)})()},[f,Q]);$.current=en;let el=(0,l.useCallback)(()=>{let e=M.current;e&&k&&k(W.current?e.buffer.active.baseY:e.buffer.active.viewportY)},[k]),ei=(0,l.useRef)(el);ei.current=el;let eo=(0,l.useRef)(e=>{let t=M.current;t&&"alternate"!==t.buffer.active.type&&0!==e&&(W.current=!1,t.scrollLines(e),j.current=t.buffer.active.viewportY,W.current=t.buffer.active.viewportY>=t.buffer.active.baseY,ei.current())}),eu=(0,l.useRef)(e=>{let t=M.current;t&&"alternate"!==t.buffer.active.type&&0!==e&&(e<0&&(W.current=!1),t.scrollPages(e),j.current=t.buffer.active.viewportY,W.current=t.buffer.active.viewportY>=t.buffer.active.baseY,ei.current())}),ec=(0,l.useCallback)(()=>{let e=M.current;if(e&&null!=x){if(x>=e.buffer.active.baseY){W.current=!0,e.scrollToBottom();return}W.current=!1,j.current=x,e.scrollToLine(x)}},[x]);(0,l.useEffect)(()=>{var e;let t;let r=new i.o({fontFamily:'"SF Mono", Menlo, Consolas, monospace',fontSize:window.innerWidth<=768?11:12,lineHeight:1.12,letterSpacing:0,cursorBlink:!0,allowProposedApi:!0,scrollback:5e3,scrollOnUserInput:!1,smoothScrollDuration:0,scrollSensitivity:1,theme:ee.current.xterm}),n=new o;r.loadAddon(n),r.open(L.current),M.current=r,C.current=n;try{n.fit()}catch(e){}let l=r.parser.registerOscHandler(7,e=>{try{let t=e.startsWith("file://")?e:"file://".concat(e),r=new URL(t);if("file:"!==r.protocol)return!1;let n=decodeURIComponent(r.pathname);return/^\/[A-Za-z]:\//.test(n)&&(n=n.slice(1)),(n.startsWith("/")||/^[A-Za-z]:\//.test(n))&&(null==w||w(n),f("term:set-cwd",{id:_.current,cwd:n}).catch(()=>{})),!0}catch(e){return!1}});B.current=e=>{r.write(e,()=>{var e;if("alternate"===r.buffer.active.type)return;let t=null===(e=L.current)||void 0===e?void 0:e.querySelector(".xterm");(null==t?void 0:t.style.transform)&&(t.style.transform="",t.style.willChange=""),W.current?r.scrollToBottom():r.scrollToLine(Math.min(j.current,r.buffer.active.baseY))})},r.onData(e=>{if(!d.connected||Z.current&&("\x1b[A"===e||"\x1b[B"===e||"\x1b[5~"===e||"\x1b[6~"===e))return;let t=Date.now(),n=K.current;if(!n||n.text!==e||!(t-n.at<500)){if(K.current={text:e,at:t},W.current=!0,"alternate"!==r.buffer.active.type&&r.scrollToBottom(),el(),S.current&&1===e.length){let t=e.toLowerCase().charCodeAt(0);t>=97&&t<=122?e=String.fromCharCode(t-96):" "===e?e="\0":"["===e?e="\x1b":"\\"===e?e="\x1c":"]"===e&&(e="\x1d"),ea()}Q(e)}}),r.onResize(e=>{let{cols:r,rows:n}=e;clearTimeout(t),t=setTimeout(()=>{f("term:resize",{id:_.current,cols:r,rows:n}).catch(()=>{})},120)});let u=r.onScroll(e=>{let t=e>=r.buffer.active.baseY;W.current=t,t||(j.current=e),ei.current()});r.attachCustomKeyEventHandler(e=>{if("alternate"===r.buffer.active.type||"keydown"!==e.type)return!0;let t=r.buffer.active.viewportY>=r.buffer.active.baseY;return"ArrowUp"!==e.key&&"ArrowDown"!==e.key&&"PageUp"!==e.key&&"PageDown"!==e.key||!!t&&!Z.current||("ArrowUp"===e.key?(eo.current(-1),e.preventDefault(),!1):"ArrowDown"===e.key?(eo.current(1),e.preventDefault(),!1):"PageUp"===e.key?(eu.current(-1),e.preventDefault(),!1):"PageDown"!==e.key||(eu.current(1),e.preventDefault(),!1))}),r.attachCustomWheelEventHandler(e=>{var t,n;if("alternate"===r.buffer.active.type||!e.deltaY)return!0;let l=Math.max(8,(null!==(n=null===(t=L.current)||void 0===t?void 0:t.clientHeight)&&void 0!==n?n:14*r.rows)/Math.max(r.rows,1)),i=Math.trunc(e.deltaY/l)||(e.deltaY>0?1:-1);return eo.current(i),!1});let c=null,a=0,s=0,p=0,v=0,m=!1,h="pending",y=0,b=null!==(e=r.element)&&void 0!==e?e:L.current,g=e=>{if("touch"===e.pointerType&&e.isPrimary){c=e.pointerId,a=e.clientX,s=e.clientY,p=e.clientY,v=0,h="pending",m=!0,Z.current=!0,"alternate"!==r.buffer.active.type&&(W.current=!1);try{null==b||b.setPointerCapture(e.pointerId)}catch(e){}}},x=e=>{var t;if(!m||e.pointerId!==c)return;let n=e.clientX-a,l=e.clientY-s;if("pending"===h&&Math.max(Math.abs(n),Math.abs(l))>8&&(h=Math.abs(n)>1.2*Math.abs(l)?"horizontal":"vertical"),"vertical"!==h)return;let i=p-e.clientY;if(p=e.clientY,v+=i,"alternate"===r.buffer.active.type){let t=null==b?void 0:b.getBoundingClientRect(),n=t?Math.max(1,Math.min(r.cols,Math.floor((e.clientX-t.left)/Math.max(t.width,1)*r.cols)+1)):1,l=t?Math.max(1,Math.min(r.rows,Math.floor((e.clientY-t.top)/Math.max(t.height,1)*r.rows)+1)):1;if("none"!==r.modes.mouseTrackingMode){let e=Math.trunc(v/18),t=performance.now();if(0!==e&&t-y>=32){let r=Math.sign(e)*Math.min(2,Math.abs(e));v-=18*r,y=t,Q("\x1b[<".concat(e<0?64:65,";").concat(n,";").concat(l,"M").repeat(Math.abs(r)))}}else{let e=Math.trunc(v/64),t=performance.now();if(0!==e&&t-y>=80){let r=Math.sign(e);v-=64*r,y=t,Q(r<0?"\x1b[5~":"\x1b[6~")}}e.preventDefault(),F.current=!0;return}let o=Math.max(8,(null!==(t=null==b?void 0:b.clientHeight)&&void 0!==t?t:14*r.rows)/Math.max(r.rows,1)|0),u=Math.trunc(v/o);0!==u&&(v-=u*o,eo.current(u),e.preventDefault(),F.current=!0)},k=e=>{if(e.pointerId===c){try{null==b||b.releasePointerCapture(e.pointerId)}catch(e){}Math.abs(v)>8&&window.setTimeout(()=>{F.current=!1},400),m=!1,c=null,h="pending",window.setTimeout(()=>{Z.current=!1},450)}};return null==b||b.addEventListener("pointerdown",g,{capture:!0}),null==b||b.addEventListener("pointermove",x,{capture:!0,passive:!1}),null==b||b.addEventListener("pointerup",k,{capture:!0}),null==b||b.addEventListener("pointercancel",k,{capture:!0}),()=>{var e;clearTimeout(t),u.dispose(),r.attachCustomKeyEventHandler(()=>!0),r.attachCustomWheelEventHandler(()=>!0),null==b||b.removeEventListener("pointerdown",g,{capture:!0}),null==b||b.removeEventListener("pointermove",x,{capture:!0}),null==b||b.removeEventListener("pointerup",k,{capture:!0}),null==b||b.removeEventListener("pointercancel",k,{capture:!0}),l.dispose(),null===(e=z.current)||void 0===e||e.call(z),null==w||w(null),r.dispose(),M.current=null}},[]),(0,l.useEffect)(()=>{let e=M.current;e&&(e.options.theme=T.xterm,e.refresh(0,e.rows-1))},[T]);let ea=()=>{S.current=!1,A(!1)},es=(0,l.useCallback)(()=>{var e;let t=C.current,r=M.current;if(!t||!r||!(null===(e=L.current)||void 0===e?void 0:e.isConnected))return!1;try{let e=t.proposeDimensions();if(!e||e.cols===r.cols&&e.rows===r.rows)return!1;return t.fit(),!0}catch(e){return!1}},[]),ed=(0,l.useCallback)(e=>{var t,r;let n=null!==(t=null==e?void 0:e.restoreScroll)&&void 0!==t&&t,l=null!==(r=null==e?void 0:e.forceLive)&&void 0!==r&&r;es();let i=M.current;if(!i)return;let o="alternate"===i.buffer.active.type;n&&null!=x&&!o?ec():!o&&(l||W.current)&&(l&&(W.current=!0),i.scrollToBottom()),i.focus(),el(),f("term:focus",{id:_.current}).then(()=>P(!1)).catch(e=>{(null==e?void 0:e.code)==="EWRITELOCK"&&P(!0)})},[ec,es,x,el,f]);(0,l.useEffect)(()=>{var e,n,l,i,o,u;if(!d.connected){H.current=null,X.current=null,null===(l=z.current)||void 0===l||l.call(z),z.current=null,Y(!1),V.current=0;return}let c=!1;return es(),requestAnimationFrame(es),(null!==(u=H.current)&&void 0!==u?u:H.current=f("term:start",{id:t,title:r,cols:null!==(i=null===(e=M.current)||void 0===e?void 0:e.cols)&&void 0!==i?i:80,rows:null!==(o=null===(n=M.current)||void 0===n?void 0:n.rows)&&void 0!==o?o:24})).then(e=>{var t,r;c||(_.current=e.sessionId,X.current=e.channelId,null===(t=z.current)||void 0===t||t.call(z),z.current=v(e.channelId,e=>B.current(e)),Y(!0),null==w||w(null!==(r=e.cwd)&&void 0!==r?r:null),window.setTimeout(()=>es(),80),window.setTimeout(()=>{let e=M.current;e&&f("term:resize",{id:_.current,cols:e.cols,rows:e.rows}).catch(()=>{})},400))}).catch(()=>{}),()=>{c=!0}},[d.connected,t,r,v]),(0,l.useEffect)(()=>{if(!E)return;let e=er.current;if(e)return e(e=>$.current(e))},[t]),(0,l.useEffect)(()=>{if(!s||!R)return;V.current+=1;let e=V.current>1,t=window.setTimeout(()=>{var t;let r=(null===(t=M.current)||void 0===t?void 0:t.buffer.active.type)==="alternate";ed({restoreScroll:e,forceLive:!e&&!r})},350);return()=>window.clearTimeout(t)},[s,R,ed]),(0,l.useEffect)(()=>p("term:cwd",e=>{e.id===_.current&&e.cwd&&(null==w||w(e.cwd))}),[p]),(0,l.useEffect)(()=>{var e;let t=window.visualViewport,r=null,n=()=>{var e;let t=M.current,r=L.current,n=null==r?void 0:r.querySelector(".xterm"),l=null==r?void 0:r.querySelector(".xterm-screen");if(!t||!r||!n)return!1;if("alternate"!==t.buffer.active.type)return n.style.transform&&(n.style.transform=""),!1;let i=Math.max(0,(null!==(e=null==l?void 0:l.getBoundingClientRect().height)&&void 0!==e?e:r.clientHeight)-r.clientHeight);return n.style.transform=i>0?"translate3d(0,-".concat(Math.round(i),"px,0)"):"",n.style.willChange=i>0?"transform":"",!0},l=()=>{r=null,requestAnimationFrame(()=>{if(n()||!es())return;let e=M.current;e&&"alternate"!==e.buffer.active.type&&(W.current?e.buffer.active.viewportY<e.buffer.active.baseY&&e.scrollToBottom():e.buffer.active.viewportY!==j.current&&e.scrollToLine(Math.min(j.current,e.buffer.active.baseY)))})},i=()=>{var e,i;let o=null!==(e=null==t?void 0:t.height)&&void 0!==e?e:window.innerHeight,u=null!==(i=null==t?void 0:t.offsetTop)&&void 0!==i?i:0;document.documentElement.style.setProperty("--vv-height","".concat(Math.round(o),"px")),document.documentElement.style.setProperty("--vv-top","".concat(Math.round(u),"px")),requestAnimationFrame(n),r&&clearTimeout(r),r=setTimeout(l,180)};i(),null==t||t.addEventListener("resize",i),null==t||t.addEventListener("scroll",i),window.addEventListener("orientationchange",i),window.addEventListener("resize",i);let o=new ResizeObserver(i);return(null===(e=L.current)||void 0===e?void 0:e.parentElement)&&o.observe(L.current.parentElement),()=>{null==t||t.removeEventListener("resize",i),null==t||t.removeEventListener("scroll",i),window.removeEventListener("orientationchange",i),window.removeEventListener("resize",i),r&&clearTimeout(r),o.disconnect(),document.documentElement.style.removeProperty("--vv-height"),document.documentElement.style.removeProperty("--vv-top")}},[es]),(0,l.useEffect)(()=>{let e=L.current;if(!e)return;e.style.display="flex",e.style.flexDirection="column",e.style.minHeight="0",e.style.overflow="hidden";let t=e.querySelector(".xterm");null==t||t.style.setProperty("flex","1"),null==t||t.style.setProperty("height","100%");let r=e.querySelector(".xterm-scrollable-element, .xterm-viewport");null==r||r.style.setProperty("touch-action","pan-y"),null==r||r.style.setProperty("-webkit-overflow-scrolling","touch")},[R]),(0,l.useEffect)(()=>{let e=O.current;if(!e||y)return;let t=0,r=!1,n=null,l=null,i=e=>e instanceof Element?e.closest("button[data-key]"):null,o=e=>{if("touch"!==e.pointerType||!e.isPrimary)return;let l=i(e.target);if(l){e.preventDefault();try{l.setPointerCapture(e.pointerId)}catch(e){}let t=l.dataset.key;U.current={key:t,dragged:!1};let r={key:t,timer:null,active:!1,startX:e.clientX,startY:e.clientY,lastX:e.clientX,scrolling:!1};r.timer=setTimeout(()=>{var e,n;r.scrolling||(r.active=!0,U.current&&(U.current.dragged=!0),J(t),null===(e=(n=navigator).vibrate)||void 0===e||e.call(n,20))},280),q.current=r;return}n=e.pointerId,t=e.clientX,r=!0},u=l=>{var i;let o=q.current;if(o){if(!o.active){let e=l.clientX-o.startX,t=l.clientY-o.startY;if(!o.scrolling&&Math.abs(e)>10&&Math.abs(e)>1.2*Math.abs(t))o.timer&&clearTimeout(o.timer),o.timer=null,o.scrolling=!0,U.current&&(U.current.dragged=!0);else if(!o.scrolling)return}if(o.scrolling){l.preventDefault();let t=o.lastX-l.clientX;o.lastX=l.clientX,e.scrollLeft+=t;return}l.preventDefault();let t=Array.from(e.querySelectorAll("button[data-key]")).find(e=>{let t=e.getBoundingClientRect();return l.clientX>=t.left&&l.clientX<=t.right}),r=null==t?void 0:t.dataset.key;if(!r||r===o.key)return;let n=[...ep],i=n.indexOf(o.key),u=n.indexOf(r);if(i<0||u<0)return;n.splice(i,1),n.splice(u,0,o.key),b(n);return}if(!r||l.pointerId!==n||(null===(i=q.current)||void 0===i?void 0:i.active))return;let u=t-l.clientX;t=l.clientX,Math.abs(u)>1&&(e.scrollLeft+=u,l.preventDefault())},c=e=>{let t=q.current;if("touch"===e.pointerType&&t){t.timer&&clearTimeout(t.timer),(t.active||t.scrolling)&&(N.current=!0,setTimeout(()=>{N.current=!1},0)),q.current=null,U.current=null,J(null);return}e.pointerId===n&&(r=!1,n=null)},a=e=>{"touch"===e.pointerType&&eh(),r=!1,n=null},s=e=>{let t=i(e.target),r=null==t?void 0:t.dataset.key;r&&!N.current&&(e.preventDefault(),ef(()=>ev(r)))},d=e=>{let t=l;if(l=null,!t)return;let r=performance.now()-t.startedAt;t.moved||r>=280||(e.preventDefault(),N.current=!0,ef(()=>ev(t.key)),setTimeout(()=>{N.current=!1},0))},f=e=>{let t=i(e.target),r=e.touches[0];t&&r&&(l={key:t.dataset.key,startedAt:performance.now(),x:r.clientX,y:r.clientY,moved:!1})},p=e=>{let t=e.touches[0];l&&t&&(Math.abs(t.clientX-l.x)>8||Math.abs(t.clientY-l.y)>8)&&(l.moved=!0)};return e.addEventListener("pointerdown",o,{passive:!1}),e.addEventListener("pointermove",u,{passive:!1}),e.addEventListener("pointerup",c,{passive:!0}),e.addEventListener("pointercancel",a,{passive:!0}),e.addEventListener("click",s),e.addEventListener("touchstart",f,{passive:!0}),e.addEventListener("touchmove",p,{passive:!0}),e.addEventListener("touchend",d,{passive:!1}),()=>{e.removeEventListener("pointerdown",o),e.removeEventListener("pointermove",u),e.removeEventListener("pointerup",c),e.removeEventListener("pointercancel",a),e.removeEventListener("click",s),e.removeEventListener("touchstart",f),e.removeEventListener("touchmove",p),e.removeEventListener("touchend",d)}},[y,h.join("|")]);let ef=e=>{e()},ep=[...h.filter(e=>c.includes(e)),...c.filter(e=>!h.includes(e))],ev=e=>{let t={esc:"\x1b",tab:" ",enter:"\r",pipe:"|",tilde:"~",dash:"-",slash:"/",ctrlc:"\x03",ctrld:"\x04",ctrll:"\f"},r=M.current,n=e=>(null==r?void 0:r.modes.applicationCursorKeysMode)?"\x1bO".concat(e):"\x1b[".concat(e);if("up"===e){if(!r)return;"alternate"===r.buffer.active.type?Q(n("A")):eo.current(-1);return}if("down"===e){if(!r)return;"alternate"===r.buffer.active.type?Q(n("B")):eo.current(1);return}if("right"===e){r&&Q(n("C"));return}if("left"===e){r&&Q(n("D"));return}if(t[e])return Q(t[e]);if("ctrl"===e){S.current=!S.current,A(S.current);return}if("hide"===e){g(!0);return}r&&("pgup"===e&&("alternate"===r.buffer.active.type?Q("\x1b[5~"):eu.current(-1)),"pgdown"===e&&("alternate"===r.buffer.active.type?Q("\x1b[6~"):eu.current(1)),"end"===e&&(W.current=!0,r.scrollToBottom(),el()))},em=e=>{let t=q.current;t&&(t.timer&&clearTimeout(t.timer),N.current=!0,"touch"!==e.pointerType||t.active||t.scrolling||ef(()=>ev(t.key)),setTimeout(()=>{N.current=!1},0),q.current=null,U.current=null,J(null))},eh=()=>{let e=q.current;(null==e?void 0:e.timer)&&clearTimeout(e.timer),q.current=null,J(null)},ey=async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];try{var t;await f(e?"term:request-write":"term:focus",{id:_.current,force:e}),P(!1),null===(t=M.current)||void 0===t||t.focus()}catch(e){(null==e?void 0:e.code)==="EWRITELOCK"&&P(!0)}};return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",minHeight:0,position:"relative"},children:[(0,n.jsx)("div",{ref:L,className:"terminal-screen",onClick:()=>{var e;null===(e=M.current)||void 0===e||e.focus(),!F.current&&W.current&&ed({forceLive:!0}),ey(!1)},style:{flex:1,minHeight:90,padding:"3px 5px 3px 9px",background:T.termHostBg,touchAction:"none",overflow:"hidden"}}),D&&s&&(0,n.jsxs)("div",{style:{position:"absolute",top:10,right:10,zIndex:48,display:"flex",alignItems:"center",gap:7,padding:"7px 9px",border:"1px solid #6b5634",borderRadius:8,background:"rgba(39,32,22,.95)",color:"#d9b56c",fontSize:11},children:["其他设备正在输入 ",(0,n.jsx)("button",{style:{border:0,borderRadius:5,padding:"4px 7px",background:"#e0af68",color:"#17120a",fontSize:10},onClick:()=>ey(!0),children:"接管输入"})]}),y?(0,n.jsx)("div",{className:"keybar",style:{display:"flex",justifyContent:"center",padding:"5px 7px calc(env(safe-area-inset-bottom) + 5px)",borderTop:"1px solid ".concat(T.keybar.border),background:T.keybar.bg,flexShrink:0},children:(0,n.jsx)("button",{className:"keybar-restore",style:{...et,minWidth:80},onPointerDown:e=>e.preventDefault(),onClick:()=>g(!1),children:"⌨ 显示快捷键"})}):(0,n.jsx)("div",{ref:O,className:"keybar keybar-scroll",style:{background:T.keybar.bg,display:"flex",gap:5,overflowX:"auto",padding:"5px calc(env(safe-area-inset-right) + 7px) calc(env(safe-area-inset-bottom) + 5px)",borderTop:"1px solid ".concat(T.keybar.border),flexShrink:0,WebkitOverflowScrolling:"touch",scrollbarWidth:"none",touchAction:"pan-x"},children:ep.map(e=>(0,n.jsx)("button",{"data-key":e,"data-dragging":G===e?"1":void 0,tabIndex:-1,style:{...et,minWidth:"enter"===e?44:et.minWidth,background:G===e?T.keybar.drag:"ctrl"===e&&I?T.keybar.accent:et.background,color:G===e||"ctrl"===e&&I?T.keybar.accentText:et.color,cursor:G===e?"grabbing":"grab",transform:G===e?"scale(1.08)":"none",transition:"transform .12s, background .12s"},onPointerUpCapture:em,onPointerCancel:eh,onContextMenu:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault(),children:a[e]},e))})]})}},8810:function(){}}]);