@kodax-ai/kodax 0.7.71 → 0.7.72

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 (86) hide show
  1. package/CHANGELOG.md +602 -487
  2. package/README.md +46 -27
  3. package/README_CN.md +30 -13
  4. package/dist/chunks/agent-YKGU4USA.js +2 -0
  5. package/dist/chunks/argument-completer-QZETLNAB.js +2 -0
  6. package/dist/chunks/{chunk-SX2WFHIS.js → chunk-2RI252RN.js} +1 -1
  7. package/dist/chunks/chunk-CLFP6UGU.js +71 -0
  8. package/dist/chunks/chunk-E27LHEIP.js +37 -0
  9. package/dist/chunks/chunk-EDZ5KJFT.js +5 -0
  10. package/dist/chunks/chunk-GIK4SGAT.js +364 -0
  11. package/dist/chunks/chunk-GVWPHE23.js +310 -0
  12. package/dist/chunks/{chunk-A2TFSV5M.js → chunk-IR5KIK7E.js} +1 -1
  13. package/dist/chunks/chunk-JSDLBXME.js +755 -0
  14. package/dist/chunks/chunk-MVARIMQV.js +22 -0
  15. package/dist/chunks/chunk-PKQOEDHJ.js +628 -0
  16. package/dist/chunks/{chunk-64NQBOSN.js → chunk-SQODXBLX.js} +1 -1
  17. package/dist/chunks/chunk-VDGCGOQH.js +328 -0
  18. package/dist/chunks/chunk-VVE3UM4F.js +410 -0
  19. package/dist/chunks/chunk-WIBLZK4G.js +151 -0
  20. package/dist/chunks/{compaction-config-5KKKXYFT.js → compaction-config-TWCDFLX6.js} +1 -1
  21. package/dist/chunks/{construction-bootstrap-OXDDDW6O.js → construction-bootstrap-ZJPXUPXQ.js} +1 -1
  22. package/dist/chunks/dist-JT4ATXVM.js +2 -0
  23. package/dist/chunks/host-SVEDZUC5.js +2 -0
  24. package/dist/chunks/{run-manager-Z3W6MDO7.js → run-manager-RX42UNEM.js} +1 -1
  25. package/dist/chunks/{utils-CFOXDCB5.js → utils-OTT5CG5J.js} +1 -1
  26. package/dist/index.d.ts +13 -13
  27. package/dist/index.js +4 -4
  28. package/dist/kodax_bootstrap.js +28 -0
  29. package/dist/kodax_cli.js +1325 -1333
  30. package/dist/kodax_resume.js +44 -0
  31. package/dist/provider-capabilities.json +50 -48
  32. package/dist/runtime-worker.js +1322 -1330
  33. package/dist/sdk-a2a.d.ts +10 -9
  34. package/dist/sdk-a2a.js +1 -1
  35. package/dist/sdk-agent.d.ts +382 -206
  36. package/dist/sdk-agent.js +1 -1
  37. package/dist/sdk-coding.d.ts +80 -128
  38. package/dist/sdk-coding.js +1 -1
  39. package/dist/sdk-experimental-memory.js +1 -1
  40. package/dist/sdk-mcp.js +1 -1
  41. package/dist/sdk-media.d.ts +3 -0
  42. package/dist/sdk-media.js +1 -1
  43. package/dist/sdk-repl.d.ts +71 -23
  44. package/dist/sdk-repl.js +2 -2
  45. package/dist/sdk-runtime.d.ts +143 -31
  46. package/dist/sdk-runtime.js +1 -1
  47. package/dist/sdk-session.d.ts +6 -5
  48. package/dist/sdk-session.js +1 -1
  49. package/dist/sdk-skills.d.ts +5 -5
  50. package/dist/sdk-skills.js +1 -1
  51. package/dist/semantic-worker.js +14 -14
  52. package/dist/types-chunks/{bash-prefix-extractor.d-YoiZl5yt.d.ts → bash-prefix-extractor.d-CHJO5y94.d.ts} +107 -248
  53. package/dist/types-chunks/{capsule.d-CK5Pfz1k.d.ts → capsule.d-DxtdE-GD.d.ts} +24 -95
  54. package/dist/types-chunks/center-types.d-BBT122uJ.d.ts +91 -0
  55. package/dist/types-chunks/{commands.d-D6g2jq8V.d.ts → commands.d-DZxHzH5-.d.ts} +6 -4
  56. package/dist/types-chunks/{guardrail.d-DilYC1dh.d.ts → guardrail.d-DlpMnd-Y.d.ts} +1 -1
  57. package/dist/types-chunks/{guardrail.d-DdeDWnVu.d.ts → guardrail.d-auV61_h5.d.ts} +83 -10
  58. package/dist/types-chunks/public-api.d--IDNJsu1.d.ts +1342 -0
  59. package/dist/types-chunks/{run-manager.d-DxU3SSGR.d.ts → run-manager.d-Bh50OdVl.d.ts} +1 -1
  60. package/dist/types-chunks/sdk-session-Cfw6NFu-.d.ts +82 -0
  61. package/dist/types-chunks/{types.d-CEZZSY9s.d.ts → types.d-CNZgY52F.d.ts} +2 -2
  62. package/dist/types-chunks/{types.d-vJExiRje.d.ts → types.d-DCQVBqVn.d.ts} +10 -5
  63. package/dist/types-chunks/{types.d-CRCaLt_s.d.ts → types.d-DH1mvdcl.d.ts} +284 -164
  64. package/dist/types-chunks/{types.d-CzsLFqmf.d.ts → types.d-EqQmHztg.d.ts} +9 -10
  65. package/dist/types-chunks/{utils.d-Cb6vdvFM.d.ts → utils.d-gmn3c5U4.d.ts} +9 -12
  66. package/docs/SDK_EMBEDDER_GUIDE.md +171 -26
  67. package/package.json +4 -4
  68. package/scripts/kodax-bin.cjs +4 -2
  69. package/scripts/production-env.cjs +9 -0
  70. package/dist/chunks/agent-X2EWQADL.js +0 -2
  71. package/dist/chunks/argument-completer-BLNXDO2F.js +0 -2
  72. package/dist/chunks/chunk-4DY756KL.js +0 -70
  73. package/dist/chunks/chunk-52JSZ77P.js +0 -37
  74. package/dist/chunks/chunk-A574DBTV.js +0 -422
  75. package/dist/chunks/chunk-F7KGYHJ3.js +0 -624
  76. package/dist/chunks/chunk-GVTM4Z6O.js +0 -151
  77. package/dist/chunks/chunk-PHH4TRGF.js +0 -22
  78. package/dist/chunks/chunk-PVUXONQB.js +0 -366
  79. package/dist/chunks/chunk-T7LYK53M.js +0 -329
  80. package/dist/chunks/chunk-VRSVNU2Y.js +0 -7
  81. package/dist/chunks/chunk-Y5XKAN7C.js +0 -755
  82. package/dist/chunks/chunk-Z535BARK.js +0 -306
  83. package/dist/chunks/dist-IXJRJ27U.js +0 -2
  84. package/dist/chunks/host-VRKDAN26.js +0 -2
  85. package/dist/types-chunks/public-api.d-BvCp5VkW.d.ts +0 -601
  86. package/dist/types-chunks/sdk-session-wGpa7X_U.d.ts +0 -796
@@ -0,0 +1,44 @@
1
+ // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
+ var Ao=Object.defineProperty;var i=(e,t)=>Ao(e,"name",{value:t,configurable:!0});var He=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ct,Dr,Hr=He(()=>{Ct=class{static{i(this,"WebSocketStub")}},Dr=Ct});var Ke,Br=He(()=>{"use strict";Hr();Ke=global;Ke.WebSocket||=Dr;Ke.window||=global;Ke.self||=global;Ke.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:2,value:"InternalApp",isEnabled:!0,isValid:!0},{type:2,value:"InternalAppContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdoutContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStderrContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdinContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalFocusContext",isEnabled:!0,isValid:!0}]});var Ur,Rt,jr=He(()=>{Ur=i(()=>{},"noop"),Rt={initialize:Ur,connectToDevTools:Ur}});var Li={};var Yr=He(()=>{"use strict";Br();jr();Rt.initialize();Rt.connectToDevTools()});import ye from"node:fs/promises";import ea from"node:os";import Te from"node:path";import v from"fs/promises";import gr from"fs";import A from"path";import ft from"path";import{createHash as Wo}from"crypto";import{execFile as No}from"child_process";import Po from"path";import{promisify as Lo}from"util";var pa=Lo(No);function ut(e){if(!(!e||!e.trim()))return Po.resolve(e).replace(/\\/g,"/")}i(ut,"normalizePath");function fr(e){let t=ut(e.runtimeInfo?.workspaceRoot??e.gitRoot),r=ut(e.runtimeInfo?.executionCwd??t),n=ut(e.runtimeInfo?.canonicalRepoRoot??t);if(!(!t&&!r&&!n))return{canonicalRepoRoot:n,workspaceRoot:t,executionCwd:r,branch:e.runtimeInfo?.branch,workspaceKind:e.runtimeInfo?.workspaceKind??"detected"}}i(fr,"resolveSessionRuntimeInfo");var Ce="_unknown",dr=80;function Fo(e){return process.platform==="win32"||process.platform==="darwin"?e.toLowerCase():e}i(Fo,"caseFold");function Do(e){return Fo(ft.resolve(e).replace(/\\/g,"/"))}i(Do,"normalizeRoot");function pr(e){return Wo("sha256").update(e).digest("hex").slice(0,10)}i(pr,"shortHash");function Ho(e){let t=e.replace(/[^a-z0-9]+/gi,"-").replace(/^-+|-+$/g,"");return t.length>dr?t.slice(t.length-dr):t}i(Ho,"slugify");function Bo(e){if(!e||!e.trim())return{key:Ce,canonicalRoot:null,displayName:Ce};let t=Do(e),r=Ho(t),n=r?`${r}-${pr(t)}`:pr(t),o=ft.basename(ft.resolve(e).replace(/\\/g,"/"))||e;return{key:n,canonicalRoot:t,displayName:o}}i(Bo,"deriveProjectKeyFromRoot");function hr(e){let t=fr({gitRoot:e.gitRoot??"",runtimeInfo:e.runtimeInfo}),r=t?.canonicalRepoRoot??t?.executionCwd??(e.gitRoot&&e.gitRoot.trim()?e.gitRoot:void 0);return Bo(r)}i(hr,"deriveProjectKeyFromData");var Uo=2,jo=300*1e3,mr=65536,dt=i(e=>A.join(e,".layout.json"),"layoutMarkerPath"),ht=i(e=>A.join(e,".migration-lock"),"lockDirPath"),xr=i(e=>A.join(ht(e),"owner.json"),"ownerPath"),pt=i(e=>A.join(e,".migration-journal.jsonl"),"journalPath"),wr=i(e=>A.join(A.dirname(e),"sessions-archive"),"sessionsArchiveDir");function Sr(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith(".")}i(Sr,"isSessionFile");function yr(e){return e.endsWith(".archive.jsonl")||e.endsWith(".islands.jsonl")?e.slice(0,-14):null}i(yr,"sidecarId");async function Yo(e){let t;try{t=await v.open(e,"r");let r=Buffer.allocUnsafe(mr),{bytesRead:n}=await t.read(r,0,mr,0);if(n===0)return null;let o=r.toString("utf8",0,n),s=o.indexOf(`
3
+ `),c=(s>=0?o.slice(0,s):o).trim();if(!c)return null;let a=JSON.parse(c);if(a&&typeof a=="object"&&a._type==="meta"){let l=a;return{gitRoot:typeof l.gitRoot=="string"?l.gitRoot:void 0,runtimeInfo:l.runtimeInfo}}return null}catch{return null}finally{await t?.close()}}i(Yo,"readMeta");async function Go(e){let t=await Yo(e);return t?hr({gitRoot:t.gitRoot,runtimeInfo:t.runtimeInfo}).key:Ce}i(Go,"destKeyFor");async function Tr(e){let t=[],r=i(async(n,o)=>{let s=[];try{s=await v.readdir(n,{withFileTypes:!0})}catch{return}for(let c of s)!c.isFile()||c.name.startsWith(".")||(Sr(c.name)||o&&yr(c.name)!==null)&&t.push(A.join(n,c.name))},"pushDir");return await r(e,!0),await r(wr(e),!0),t}i(Tr,"collectFlatSources");async function Vo(e){let t=await Tr(e),r=t.filter(s=>Sr(A.basename(s))),n=new Set(r.map(s=>A.basename(s,".jsonl"))),o=[];for(let s of r){let c=A.basename(s,".jsonl"),a=await Go(s);o.push({from:s,to:A.join(e,a,`${c}.jsonl`),reason:`session\u2192${a}`});for(let l of[".archive.jsonl",".islands.jsonl"]){let u=A.join(A.dirname(s),`${c}${l}`);gr.existsSync(u)&&o.push({from:u,to:A.join(e,a,`${c}.islands.jsonl`),reason:"sidecar\u2192islands"})}}for(let s of t){let c=yr(A.basename(s));c===null||n.has(c)||o.push({from:s,to:A.join(e,Ce,"orphan-islands",`${c}.islands.jsonl`),reason:"orphan-sidecar\u2192_unknown"})}return o}i(Vo,"planMigration");async function Cr(e){try{return await v.access(dt(e)),!0}catch{return!1}}i(Cr,"isMigrated");async function Ko(e){return await Cr(e)?!1:(await Tr(e)).length>0}i(Ko,"needsMigration");async function $o(e){try{let t=JSON.parse(await v.readFile(xr(e),"utf8"));if(typeof t.pid=="number"&&t.pid!==process.pid)try{process.kill(t.pid,0)}catch(r){if(r.code==="ESRCH")return!0}return typeof t.heartbeatAt=="number"&&Date.now()-t.heartbeatAt>jo}catch{return!0}}i($o,"lockIsStale");async function zo(e){let t=ht(e);for(let r=0;r<2;r+=1)try{return await v.mkdir(t),await v.writeFile(xr(e),JSON.stringify({pid:process.pid,startTime:Date.now(),heartbeatAt:Date.now()})),!0}catch(n){if(n.code!=="EEXIST")return!1;if(r===0&&await $o(e)){await v.rm(t,{recursive:!0,force:!0}).catch(()=>{});continue}return!1}return!1}i(zo,"acquireLock");async function Xo(e){await v.rm(ht(e),{recursive:!0,force:!0}).catch(()=>{})}i(Xo,"releaseLock");async function qo(e){let t=new Set;try{let r=await v.readFile(pt(e),"utf8");for(let n of r.split(`
4
+ `))if(n.trim())try{let o=JSON.parse(n);o.done&&typeof o.from=="string"&&t.add(o.from)}catch{}}catch{}return t}i(qo,"readJournalDone");async function Jo(e){if(await v.mkdir(A.dirname(e.to),{recursive:!0}),gr.existsSync(e.to)){await v.unlink(e.from).catch(()=>{});return}try{await v.rename(e.from,e.to)}catch(t){let r=t.code;if(r==="EXDEV")await v.copyFile(e.from,e.to),await v.unlink(e.from).catch(()=>{});else if(r!=="ENOENT")throw t}}i(Jo,"executeMove");async function Rr(e){await v.mkdir(e,{recursive:!0});let t=`${dt(e)}.${process.pid}.tmp`,r=JSON.stringify({version:Uo,migratedAt:new Date().toISOString(),from:"flat-v1"});await v.writeFile(t,r+`
5
+ `,"utf8"),await v.rename(t,dt(e))}i(Rr,"writeMarker");async function Qo(e){let t=wr(e);try{(await v.readdir(t)).length===0&&await v.rmdir(t).catch(()=>{})}catch{}}i(Qo,"retireSessionsArchive");async function Zo(e){if(!await zo(e))return{moved:0,planned:0};try{let t=await Vo(e),r=await qo(e),n=await v.open(pt(e),"a"),o=0;try{for(let s of t)r.has(s.from)||(await Jo(s),await n.write(JSON.stringify({from:s.from,to:s.to,done:!0})+`
6
+ `),o+=1)}finally{await n.close()}return await Qo(e),await Rr(e),await v.rm(pt(e),{force:!0}).catch(()=>{}),{moved:o,planned:t.length}}finally{await Xo(e)}}i(Zo,"runMigration");async function br(e){try{if(await Cr(e))return;if(!await Ko(e)){await Rr(e).catch(()=>{});return}await Zo(e)}catch{}}i(br,"ensureLayoutMigrated");import{jsx as Le,jsxs as Se}from"react/jsx-runtime";import{useMemo as $c,useRef as zc,useState as Zt}from"react";import{jsx as po}from"react/jsx-runtime";import{createContext as Pc,useContext as Xt,useEffect as we,useMemo as fo,useState as Lc,useCallback as ho,useRef as ot}from"react";import{Stream as uc}from"node:stream";import{openSync as fc,writeSync as eo}from"node:fs";import{performance as dc}from"node:perf_hooks";import{tmpdir as pc}from"node:os";import{join as hc}from"node:path";import mt,{forwardRef as ri,useContext as ni}from"react";import{createContext as ei}from"react";var ue=ei({isScreenReaderEnabled:!1});import{createContext as ti}from"react";var Be=ti(void 0);var Er=ri(({children:e,backgroundColor:t,"aria-label":r,"aria-hidden":n,"aria-role":o,"aria-state":s,...c},a)=>{let{isScreenReaderEnabled:l}=ni(ue),u=r?mt.createElement("ink-text",null,r):void 0;if(l&&n)return null;let d=mt.createElement("ink-box",{ref:a,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:0,flexShrink:1,...c,backgroundColor:t,overflowX:c.overflowX??c.overflow??"visible",overflowY:c.overflowY??c.overflow??"visible"},internal_accessibility:{role:o,state:s}},l&&u?u:e);return t?mt.createElement(Be.Provider,{value:t},d):d});Er.displayName="Box";var D=Er;import ci,{useContext as vr}from"react";import fe from"chalk";import Q from"chalk";var oi=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,ii=/^ansi256\(\s?(\d+)\s?\)$/;function si(e){return e in Q}i(si,"isNamedColor");function B(e,t,r){if(!t)return e;if(si(t)){let n=Q;if(r==="foreground")return n[t]?.(e)??e;let o=`bg${t[0].toUpperCase()+t.slice(1)}`;return n[o]?.(e)??e}if(t.startsWith("#"))return r==="foreground"?Q.hex(t)(e):Q.bgHex(t)(e);if(t.startsWith("ansi256")){let n=ii.exec(t);if(!n)return e;let o=Number(n[1]);return r==="foreground"?Q.ansi256(o)(e):Q.bgAnsi256(o)(e)}if(t.startsWith("rgb")){let n=oi.exec(t);if(!n)return e;let o=Number(n[1]),s=Number(n[2]),c=Number(n[3]);return r==="foreground"?Q.rgb(o,s,c)(e):Q.bgRgb(o,s,c)(e)}return e}i(B,"colorize");function N({color:e,backgroundColor:t,dimColor:r=!1,bold:n=!1,italic:o=!1,underline:s=!1,strikethrough:c=!1,inverse:a=!1,wrap:l="wrap",children:u,"aria-label":d,"aria-hidden":f=!1,internal_cursorAnchor:h=!1}){let{isScreenReaderEnabled:p}=vr(ue),x=vr(Be),T=p&&d?d:u;if(T==null)return null;let g=i(w=>{let m=w;r&&(m=fe.dim(m)),e&&(m=B(m,e,"foreground"));let C=t??x;return C&&(m=B(m,C,"background")),n&&(m=fe.bold(m)),o&&(m=fe.italic(m)),s&&(m=fe.underline(m)),c&&(m=fe.strikethrough(m)),a&&(m=fe.inverse(m)),m},"transform");return p&&f?null:ci.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:g,...h?{internal_cursorAnchor:!0}:{}},p&&d?d:u)}i(N,"Text");import Ka,{useLayoutEffect as $a,useMemo as za,useState as Xa}from"react";import ae from"node:process";import Jn from"react";import{throttle as Vs}from"es-toolkit/compat";import P from"ansi-escapes";import J from"is-in-ci";import Ks from"auto-bind";import{onExit as $s}from"signal-exit";import zs from"patch-console";import{LegacyRoot as Xs,ConcurrentRoot as qs}from"react-reconciler/constants.js";import Js from"yoga-layout";import Qs from"wrap-ansi";import Zs from"terminal-size";import ai from"node:process";var Ue=i(()=>ai.env.DEV==="true","isDev");import Wi from"react-reconciler";import{DefaultEventPriority as Fi,NoEventPriority as zr}from"react-reconciler/constants.js";import*as Z from"scheduler";import Gr from"yoga-layout";import{createContext as Di}from"react";import Ri from"yoga-layout";import li from"widest-line";var Mr=new Map,ui=i(e=>{if(e.length===0)return{width:0,height:0};let t=Mr.get(e);if(t)return t;let r=li(e),n=e.split(`
7
+ `).length,o={width:r,height:n};return Mr.set(e,o),o},"measureText"),gt=ui;import fi from"wrap-ansi";import di from"cli-truncate";var Ir={},pi=i((e,t,r)=>{let n=e+String(t)+String(r),o=Ir[n];if(o)return o;let s=e;if(r==="wrap"&&(s=fi(e,t,{trim:!1,hard:!0})),r.startsWith("truncate")){let c="end";r==="truncate-middle"&&(c="middle"),r==="truncate-start"&&(c="start"),s=di(e,t,{position:c})}return Ir[n]=s,s},"wrapText"),je=pi;var hi=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),mi=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),gi=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),kr=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),xi=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),Ar=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),Or=i((e,t)=>{let r=t;for(;r<e.length;){let a=e[r];if(!hi(a))break;r++}let n=e.slice(t,r),o=r;for(;r<e.length;){let a=e[r];if(!mi(a))break;r++}let s=e.slice(o,r),c=e[r];if(!(c===void 0||!gi(c)))return{endIndex:r+1,parameterString:n,intermediateString:s,finalCharacter:c}},"readCsiSequence"),_r=i((e,t,r)=>{for(let n=t;n<e.length;n++){let o=e[n];if(r&&o==="\x07"||o==="\x9C")return n+1;if(o==="\x1B"){let s=e[n+1];if(s==="\x1B"){n++;continue}if(s==="\\")return n+2}}},"findControlStringTerminatorIndex"),wi=i((e,t)=>{let r=t;for(;r<e.length;){let s=e[r];if(!kr(s))break;r++}let n=e.slice(t,r),o=e[r];if(!(o===void 0||!xi(o)))return{endIndex:r+1,intermediateString:n,finalCharacter:o}},"readEscapeSequence"),Si=i(e=>{switch(e){case"]":return{type:"osc",allowBellTerminator:!0};case"P":return{type:"dcs",allowBellTerminator:!1};case"^":return{type:"pm",allowBellTerminator:!1};case"_":return{type:"apc",allowBellTerminator:!1};case"X":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromEscapeIntroducer"),yi=i(e=>{switch(e){case"\x9D":return{type:"osc",allowBellTerminator:!0};case"\x90":return{type:"dcs",allowBellTerminator:!1};case"\x9E":return{type:"pm",allowBellTerminator:!1};case"\x9F":return{type:"apc",allowBellTerminator:!1};case"\x98":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromC1Introducer"),xt=i(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(Ar(t))return!0;return!1},"hasAnsiControlCharacters"),de=i((e,t,r,n)=>(n>r&&e.push({type:"text",value:t.slice(r,n)}),e.push({type:"invalid",value:t.slice(n)}),e),"malformedFromIndex"),Nr=i(e=>{if(!xt(e))return[{type:"text",value:e}];let t=[],r=0;for(let n=0;n<e.length;){let o=e[n];if(o===void 0)break;if(o==="\x1B"){let c=e[n+1];if(c===void 0)return de(t,e,r,n);if(c==="["){let u=Or(e,n+2);if(u===void 0)return de(t,e,r,n);n>r&&t.push({type:"text",value:e.slice(r,n)}),t.push({type:"csi",value:e.slice(n,u.endIndex),parameterString:u.parameterString,intermediateString:u.intermediateString,finalCharacter:u.finalCharacter}),n=u.endIndex,r=n;continue}let a=Si(c);if(a!==void 0){let u=_r(e,n+2,a.allowBellTerminator);if(u===void 0)return de(t,e,r,n);n>r&&t.push({type:"text",value:e.slice(r,n)}),t.push({type:a.type,value:e.slice(n,u)}),n=u,r=n;continue}let l=wi(e,n+1);if(l===void 0){if(kr(c))return de(t,e,r,n);n>r&&t.push({type:"text",value:e.slice(r,n)}),n++,r=n;continue}n>r&&t.push({type:"text",value:e.slice(r,n)}),t.push({type:"esc",value:e.slice(n,l.endIndex),intermediateString:l.intermediateString,finalCharacter:l.finalCharacter}),n=l.endIndex,r=n;continue}if(o==="\x9B"){let c=Or(e,n+1);if(c===void 0)return de(t,e,r,n);n>r&&t.push({type:"text",value:e.slice(r,n)}),t.push({type:"csi",value:e.slice(n,c.endIndex),parameterString:c.parameterString,intermediateString:c.intermediateString,finalCharacter:c.finalCharacter}),n=c.endIndex,r=n;continue}let s=yi(o);if(s!==void 0){let c=_r(e,n+1,s.allowBellTerminator);if(c===void 0)return de(t,e,r,n);n>r&&t.push({type:"text",value:e.slice(r,n)}),t.push({type:s.type,value:e.slice(n,c)}),n=c,r=n;continue}if(o==="\x9C"){n>r&&t.push({type:"text",value:e.slice(r,n)}),t.push({type:"st",value:o}),n++,r=n;continue}if(Ar(o)){n>r&&t.push({type:"text",value:e.slice(r,n)}),t.push({type:"c1",value:o}),n++,r=n;continue}n++}return r<e.length&&t.push({type:"text",value:e.slice(r)}),t},"tokenizeAnsi");var Ti=/^[\d:;]*$/,Ci=i(e=>{if(!xt(e))return e;let t="";for(let r of Nr(e)){if(r.type==="text"||r.type==="osc"){t+=r.value;continue}r.type==="csi"&&r.finalCharacter==="m"&&r.intermediateString===""&&Ti.test(r.parameterString)&&(t+=r.value)}return t},"sanitizeAnsi"),Pr=Ci;var Lr=i(e=>{let t="";for(let r=0;r<e.childNodes.length;r++){let n=e.childNodes[r];if(n===void 0)continue;let o="";n.nodeName==="#text"?o=n.nodeValue:((n.nodeName==="ink-text"||n.nodeName==="ink-virtual-text")&&(o=Lr(n)),o.length>0&&typeof n.internal_transform=="function"&&(o=n.internal_transform(o,r))),t+=o}return Pr(t)},"squashTextNodes"),Re=Lr;var Ye=i(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:Ri.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(bi.bind(null,t)),t},"createNode"),Ge=i((e,t)=>{t.parentNode&&be(t.parentNode,t),t.parentNode=e,e.childNodes.push(t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,e.yogaNode.getChildCount()),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&Ve(e)},"appendChildNode"),wt=i((e,t,r)=>{t.parentNode&&be(t.parentNode,t),t.parentNode=e;let n=e.childNodes.indexOf(r);n>=0?(e.childNodes.splice(n,0,t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,n)):(e.childNodes.push(t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,e.yogaNode.getChildCount())),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&Ve(e)},"insertBeforeNode"),be=i((e,t)=>{t.yogaNode&&t.parentNode?.yogaNode?.removeChild(t.yogaNode),t.parentNode=void 0;let r=e.childNodes.indexOf(t);r>=0&&e.childNodes.splice(r,1),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&Ve(e)},"removeChildNode"),St=i((e,t,r)=>{if(t==="internal_accessibility"){e.internal_accessibility=r;return}e.attributes[t]=r},"setAttribute"),yt=i((e,t)=>{e.style=t},"setStyle"),Wr=i(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return Ee(t,e),t},"createTextNode"),bi=i(function(e,t){let r=e.nodeName==="#text"?e.nodeValue:Re(e),n=gt(r);if(n.width<=t||n.width>=1&&t>0&&t<1)return n;let o=e.style?.textWrap??"wrap",s=je(r,t,o);return gt(s)},"measureTextNode"),Fr=i(e=>{if(e?.parentNode)return e.yogaNode??Fr(e.parentNode)},"findClosestYogaNode"),Ve=i(e=>{Fr(e)?.markDirty()},"markNodeAsDirty"),Ee=i((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,Ve(e)},"setTextNodeValue");import S from"yoga-layout";var vi=i((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?S.POSITION_TYPE_ABSOLUTE:S.POSITION_TYPE_RELATIVE),"top"in t&&e.setPosition(S.EDGE_TOP,t.top??0),"bottom"in t&&e.setPosition(S.EDGE_BOTTOM,t.bottom??0),"left"in t&&e.setPosition(S.EDGE_LEFT,t.left??0),"right"in t&&e.setPosition(S.EDGE_RIGHT,t.right??0)},"applyPositionStyles"),Mi=i((e,t)=>{"margin"in t&&e.setMargin(S.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(S.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(S.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(S.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(S.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(S.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(S.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),Ii=i((e,t)=>{"padding"in t&&e.setPadding(S.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(S.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(S.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(S.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(S.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(S.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(S.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),Oi=i((e,t)=>{"flexGrow"in t&&e.setFlexGrow(t.flexGrow??0),"flexShrink"in t&&e.setFlexShrink(typeof t.flexShrink=="number"?t.flexShrink:1),"flexWrap"in t&&(t.flexWrap==="nowrap"&&e.setFlexWrap(S.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(S.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(S.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(S.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(S.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(S.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(S.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in t&&(typeof t.flexBasis=="number"?e.setFlexBasis(t.flexBasis):typeof t.flexBasis=="string"?e.setFlexBasisPercent(Number.parseInt(t.flexBasis,10)):e.setFlexBasis(Number.NaN)),"alignItems"in t&&((t.alignItems==="stretch"||!t.alignItems)&&e.setAlignItems(S.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(S.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(S.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(S.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(S.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(S.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(S.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(S.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(S.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(S.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(S.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(S.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(S.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(S.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),_i=i((e,t)=>{"width"in t&&(typeof t.width=="number"?e.setWidth(t.width):typeof t.width=="string"?e.setWidthPercent(Number.parseInt(t.width,10)):e.setWidthAuto()),"height"in t&&(typeof t.height=="number"?e.setHeight(t.height):typeof t.height=="string"?e.setHeightPercent(Number.parseInt(t.height,10)):e.setHeightAuto()),"minWidth"in t&&(typeof t.minWidth=="string"?e.setMinWidthPercent(Number.parseInt(t.minWidth,10)):e.setMinWidth(t.minWidth??0)),"minHeight"in t&&(typeof t.minHeight=="string"?e.setMinHeightPercent(Number.parseInt(t.minHeight,10)):e.setMinHeight(t.minHeight??0))},"applyDimensionStyles"),ki=i((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?S.DISPLAY_FLEX:S.DISPLAY_NONE)},"applyDisplayStyles"),Ai=i((e,t)=>{if("borderStyle"in t){let r=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(S.EDGE_TOP,r),t.borderBottom!==!1&&e.setBorder(S.EDGE_BOTTOM,r),t.borderLeft!==!1&&e.setBorder(S.EDGE_LEFT,r),t.borderRight!==!1&&e.setBorder(S.EDGE_RIGHT,r)}},"applyBorderStyles"),Ni=i((e,t)=>{"gap"in t&&e.setGap(S.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(S.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(S.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),Pi=i((e,t={})=>{vi(e,t),Mi(e,t),Ii(e,t),Oi(e,t),_i(e,t),ki(e,t),Ai(e,t),Ni(e,t)},"styles"),Tt=Pi;if(Ue())try{await Promise.resolve().then(()=>(Yr(),Li))}catch(e){if(e.code==="ERR_MODULE_NOT_FOUND")console.warn(`
8
+ The environment variable DEV is set to true, so Ink tried to import \`react-devtools-core\`,
9
+ but this failed as it was not installed. Debugging with React Devtools requires it.
10
+
11
+ To install use this command:
12
+
13
+ $ npm install --save-dev react-devtools-core
14
+ `.trim()+`
15
+ `);else throw e}var Vr=i((e,t)=>{if(e===t)return;if(!e)return t;let r={},n=!1;for(let o of Object.keys(e))(!t||!Object.hasOwn(t,o))&&(r[o]=void 0,n=!0);if(t)for(let o of Object.keys(t))t[o]!==e[o]&&(r[o]=t[o],n=!0);return n?r:void 0},"diff"),Kr=i(e=>{e?.unsetMeasureFunc(),e?.freeRecursive()},"cleanupYogaNode"),$e=zr,bt,$r={name:void 0,version:void 0},V=Wi({getRootHostContext:i(()=>({isInsideText:!1}),"getRootHostContext"),prepareForCommit:i(()=>null,"prepareForCommit"),preparePortalMount:i(()=>null,"preparePortalMount"),clearContainer:i(()=>!1,"clearContainer"),resetAfterCommit(e){if(typeof e.onComputeLayout=="function"&&e.onComputeLayout(),e.isStaticDirty){e.isStaticDirty=!1,typeof e.onImmediateRender=="function"&&e.onImmediateRender();return}typeof e.onRender=="function"&&e.onRender()},getChildHostContext(e,t){let r=e.isInsideText,n=t==="ink-text"||t==="ink-virtual-text";return r===n?e:{isInsideText:n}},shouldSetTextContent:i(()=>!1,"shouldSetTextContent"),createInstance(e,t,r,n){if(n.isInsideText&&e==="ink-box")throw new Error("<Box> can\u2019t be nested inside <Text> component");let o=e==="ink-text"&&n.isInsideText?"ink-virtual-text":e,s=Ye(o);for(let[c,a]of Object.entries(t))if(c!=="children"){if(c==="style"){yt(s,a),s.yogaNode&&Tt(s.yogaNode,a);continue}if(c==="internal_transform"){s.internal_transform=a;continue}if(c==="internal_cursorAnchor"){s.internal_cursorAnchor=a;continue}if(c==="internal_static"){bt=r,s.internal_static=!0,r.isStaticDirty=!0,r.staticNode=s;continue}St(s,c,a)}return s},createTextInstance(e,t,r){if(!r.isInsideText)throw new Error(`Text string "${e}" must be rendered inside <Text> component`);return Wr(e)},resetTextContent(){},hideTextInstance(e){Ee(e,"")},unhideTextInstance(e,t){Ee(e,t)},getPublicInstance:i(e=>e,"getPublicInstance"),hideInstance(e){e.yogaNode?.setDisplay(Gr.DISPLAY_NONE)},unhideInstance(e){e.yogaNode?.setDisplay(Gr.DISPLAY_FLEX)},appendInitialChild:Ge,appendChild:Ge,insertBefore:wt,finalizeInitialChildren(){return!1},isPrimaryRenderer:!0,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,supportsMicrotasks:!0,scheduleMicrotask:queueMicrotask,scheduleCallback:Z.unstable_scheduleCallback,cancelCallback:Z.unstable_cancelCallback,shouldYield:Z.unstable_shouldYield,now:Z.unstable_now,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:i(()=>null,"getInstanceFromNode"),prepareScopeUpdate(){},getInstanceFromScope:i(()=>null,"getInstanceFromScope"),appendChildToContainer:Ge,insertInContainerBefore:wt,removeChildFromContainer(e,t){be(e,t),Kr(t.yogaNode)},commitUpdate(e,t,r,n){bt&&e.internal_static&&(bt.isStaticDirty=!0);let o=Vr(r,n),s=Vr(r.style,n.style);if(!(!o&&!s)){if(o)for(let[c,a]of Object.entries(o)){if(c==="style"){yt(e,a);continue}if(c==="internal_transform"){e.internal_transform=a;continue}if(c==="internal_cursorAnchor"){e.internal_cursorAnchor=a;continue}if(c==="internal_static"){e.internal_static=!0;continue}St(e,c,a)}s&&e.yogaNode&&Tt(e.yogaNode,s)}},commitTextUpdate(e,t,r){Ee(e,r)},removeChild(e,t){be(e,t),Kr(t.yogaNode)},setCurrentUpdatePriority(e){$e=e},getCurrentUpdatePriority:i(()=>$e,"getCurrentUpdatePriority"),resolveUpdatePriority(){return $e!==zr?$e:Fi},maySuspendCommit(){return!0},NotPendingTransition:void 0,HostTransitionContext:Di(null),resetFormInstance(){},requestPostPaintCallback(){},shouldAttemptEagerTransition(){return!1},trackSchedulerEvent(){},resolveEventType(){return null},resolveEventTimeStamp(){return-1.1},preloadInstance(){return!0},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},rendererPackageName:$r.name,rendererVersion:$r.version});import Yi from"widest-line";import Gi from"indent-string";import ee from"yoga-layout";import ze from"yoga-layout";var Hi=i(e=>e.getComputedWidth()-e.getComputedPadding(ze.EDGE_LEFT)-e.getComputedPadding(ze.EDGE_RIGHT)-e.getComputedBorder(ze.EDGE_LEFT)-e.getComputedBorder(ze.EDGE_RIGHT),"getMaxWidth"),Xr=Hi;import Bi from"cli-boxes";import Xe from"chalk";var Ui=i((e,t,r,n)=>{if(r.style.borderStyle){let o=r.yogaNode.getComputedWidth(),s=r.yogaNode.getComputedHeight(),c=typeof r.style.borderStyle=="string"?Bi[r.style.borderStyle]:r.style.borderStyle,a=r.style.borderTopColor??r.style.borderColor,l=r.style.borderBottomColor??r.style.borderColor,u=r.style.borderLeftColor??r.style.borderColor,d=r.style.borderRightColor??r.style.borderColor,f=r.style.borderTopDimColor??r.style.borderDimColor,h=r.style.borderBottomDimColor??r.style.borderDimColor,p=r.style.borderLeftDimColor??r.style.borderDimColor,x=r.style.borderRightDimColor??r.style.borderDimColor,T=r.style.borderTop!==!1,g=r.style.borderBottom!==!1,w=r.style.borderLeft!==!1,m=r.style.borderRight!==!1,C=o-(w?1:0)-(m?1:0),E=T?B((w?c.topLeft:"")+c.top.repeat(C)+(m?c.topRight:""),a,"foreground"):void 0;T&&f&&(E=Xe.dim(E));let M=s;T&&(M-=1),g&&(M-=1);let W=(B(c.left,u,"foreground")+`
16
+ `).repeat(M);p&&(W=Xe.dim(W));let F=(B(c.right,d,"foreground")+`
17
+ `).repeat(M);x&&(F=Xe.dim(F));let I=g?B((w?c.bottomLeft:"")+c.bottom.repeat(C)+(m?c.bottomRight:""),l,"foreground"):void 0;g&&h&&(I=Xe.dim(I));let le=T?1:0;E&&n.write(e,t,E,{transformers:[]}),w&&n.write(e,t+le,W,{transformers:[]}),m&&n.write(e+o-1,t+le,F,{transformers:[]}),I&&n.write(e,t+s-1,I,{transformers:[]})}},"renderBorder"),qr=Ui;var ji=i((e,t,r,n)=>{if(!r.style.backgroundColor)return;let o=r.yogaNode.getComputedWidth(),s=r.yogaNode.getComputedHeight(),c=r.style.borderStyle&&r.style.borderLeft!==!1?1:0,a=r.style.borderStyle&&r.style.borderRight!==!1?1:0,l=r.style.borderStyle&&r.style.borderTop!==!1?1:0,u=r.style.borderStyle&&r.style.borderBottom!==!1?1:0,d=o-c-a,f=s-l-u;if(!(d>0&&f>0))return;let h=B(" ".repeat(d),r.style.backgroundColor,"background");for(let p=0;p<f;p++)n.write(e+c,t+l+p,h,{transformers:[]})},"renderBackground"),Jr=ji;function Qr(e){let{rawScrollTop:t,contentHeight:r,viewportHeight:n,previousScrollHeight:o,stickyScroll:s,clampMin:c,clampMax:a,virtualScrollWindowed:l,inWindowScrollTop:u,previousAppliedScrollTop:d,regionTop:f}=e,h=Math.max(0,r-n),p=Math.max(0,Math.min(Math.floor(t),h)),T=s&&r>=o?h:p,g=c!==void 0||a!==void 0?Math.max(c??0,Math.min(T,Math.min(h,a??h))):T,w=l&&u!==void 0,m=Math.max(0,Math.floor(u??0)),C=l?w?m:0:g,E=w?C:g,M=null;if(d!==void 0&&d!==E&&n>0){let W=f+n-1;W>=f&&(M={top:f,bottom:W,delta:E-d})}return{scrollHeight:r,viewportTop:g,appliedScrollTop:E,scrollTop:g,scrollOffsetY:C,scrollHint:M}}i(Qr,"computeScrollState");var Vi=i((e,t)=>{let r=e.childNodes[0]?.yogaNode;if(r){let n=r.getComputedLeft(),o=r.getComputedTop();t=`
18
+ `.repeat(o)+Gi(t,n)}return t},"applyPaddingToText"),qe=i((e,t={})=>{if(t.skipStaticElements&&e.internal_static||e.yogaNode?.getDisplay()===ee.DISPLAY_NONE)return"";let r="";if(e.nodeName==="ink-text")r=Re(e);else if(e.nodeName==="ink-box"||e.nodeName==="ink-root"){let n=e.style.flexDirection==="row"||e.style.flexDirection==="row-reverse"?" ":`
19
+ `;r=(e.style.flexDirection==="row-reverse"||e.style.flexDirection==="column-reverse"?[...e.childNodes].reverse():[...e.childNodes]).map(s=>qe(s,{parentRole:e.internal_accessibility?.role,skipStaticElements:t.skipStaticElements})).filter(Boolean).join(n)}if(e.internal_accessibility){let{role:n,state:o}=e.internal_accessibility;if(o){let c=Object.keys(o).filter(a=>o[a]).join(", ");c&&(r=`(${c}) ${r}`)}n&&n!==t.parentRole&&(r=`${n}: ${r}`)}return r},"renderNodeToScreenReaderOutput"),Et=null,vt=null;function Zr(){Et=null,vt=null}i(Zr,"resetScrollHint");function en(){return Et}i(en,"getScrollHint");function tn(){return vt}i(tn,"getScrollRepaint");var rn=i((e,t,r)=>{let{offsetX:n=0,offsetY:o=0,transformers:s=[],skipStaticElements:c}=r;if(c&&e.internal_static)return;let{yogaNode:a}=e;if(a){if(a.getDisplay()===ee.DISPLAY_NONE)return;let l=n+a.getComputedLeft(),u=o+a.getComputedTop();e.internal_cursorAnchor&&(t.cursorPosition={x:l,y:u});let d=s;if(typeof e.internal_transform=="function"&&(d=[e.internal_transform,...s]),e.nodeName==="ink-text"){let p=Re(e);if(p.length>0){let x=Yi(p),T=Xr(a);if(x>T){let g=e.style.textWrap??"wrap";p=je(p,T,g)}p=Vi(e,p),t.write(l,u,p,{transformers:d})}return}let f=!1,h=0;if(e.nodeName==="ink-box"){Jr(l,u,e,t),qr(l,u,e,t);let p=e.style.overflowX??e.style.overflow,x=e.style.overflowY??e.style.overflow,T=p==="hidden"||p==="scroll",g=x==="hidden"||x==="scroll";if(x==="scroll"){let w=a.getComputedBorder(ee.EDGE_TOP),m=a.getComputedBorder(ee.EDGE_BOTTOM),C=Math.max(0,a.getComputedHeight()-w-m),E=e.attributes?.virtualScrollWindowed===!0,M=e.childNodes[0],W=Math.max(0,Math.floor(E?e.attributes?.scrollHeight??0:M?.yogaNode?.getComputedHeight()??e.attributes?.scrollHeight??0)),F=typeof e.scrollHeight=="number"?e.scrollHeight:W,I=Qr({rawScrollTop:e.scrollTop??e.attributes?.scrollTop??0,contentHeight:W,viewportHeight:C,previousScrollHeight:F,stickyScroll:e.stickyScroll??!!e.attributes?.stickyScroll,clampMin:e.attributes?.scrollClampMin,clampMax:e.attributes?.scrollClampMax,virtualScrollWindowed:E,inWindowScrollTop:e.attributes?.inWindowScrollTop,previousAppliedScrollTop:e.appliedScrollTop,regionTop:u+w});e.scrollHeight=I.scrollHeight,e.scrollViewportHeight=C,e.scrollViewportTop=I.viewportTop,e.appliedScrollTop=I.appliedScrollTop,I.scrollHint&&(Et=I.scrollHint,Math.trunc(Number(e.attributes?.pendingScrollDelta??0))!==0&&(vt={top:I.scrollHint.top,bottom:I.scrollHint.bottom})),e.attributes&&e.attributes.pendingScrollDelta&&(e.attributes.pendingScrollDelta=0),e.scrollTop=I.scrollTop,h=I.scrollOffsetY}if(T||g){let w=T?l+a.getComputedBorder(ee.EDGE_LEFT):void 0,m=T?l+a.getComputedWidth()-a.getComputedBorder(ee.EDGE_RIGHT):void 0,C=g?u+a.getComputedBorder(ee.EDGE_TOP):void 0,E=g?u+a.getComputedHeight()-a.getComputedBorder(ee.EDGE_BOTTOM):void 0;t.clip({x1:w,x2:m,y1:C,y2:E}),f=!0}}if(e.nodeName==="ink-root"||e.nodeName==="ink-box"){for(let p of e.childNodes)rn(p,t,{offsetX:l,offsetY:u-h,transformers:d,skipStaticElements:c});f&&t.unclip()}}},"renderNodeToOutput"),Mt=rn;import Ki from"slice-ansi";import $i from"string-width";import{styledCharsFromTokens as zi,styledCharsToString as Xi,tokenize as qi}from"@alcalzone/ansi-tokenize";var It=class{static{i(this,"OutputCaches")}widths=new Map;blockWidths=new Map;styledChars=new Map;getStyledChars(t){let r=this.styledChars.get(t);return r===void 0&&(r=zi(qi(t)),this.styledChars.set(t,r)),r}getStringWidth(t){let r=this.widths.get(t);return r===void 0&&(r=$i(t),this.widths.set(t,r)),r}getWidestLine(t){let r=this.blockWidths.get(t);if(r===void 0){let n=0;for(let o of t.split(`
20
+ `))n=Math.max(n,this.getStringWidth(o));r=n,this.blockWidths.set(t,r)}return r}},pe=class{static{i(this,"Output")}width;height;operations=[];caches=new It;constructor(t){let{width:r,height:n}=t;this.width=r,this.height=n}write(t,r,n,o){let{transformers:s}=o;n&&this.operations.push({type:"write",x:t,y:r,text:n,transformers:s})}clip(t){this.operations.push({type:"clip",clip:t})}unclip(){this.operations.push({type:"unclip"})}getGrid(){let t=[];for(let n=0;n<this.height;n++){let o=[];for(let s=0;s<this.width;s++)o.push({type:"char",value:" ",fullWidth:!1,styles:[]});t.push(o)}let r=[];for(let n of this.operations)if(n.type==="clip"&&r.push(n.clip),n.type==="unclip"&&r.pop(),n.type==="write"){let{text:o,transformers:s}=n,{x:c,y:a}=n,l=o.split(`
21
+ `),u=r.at(-1);if(u){let f=typeof u?.x1=="number"&&typeof u?.x2=="number",h=typeof u?.y1=="number"&&typeof u?.y2=="number";if(f){let p=this.caches.getWidestLine(o);if(c+p<u.x1||c>u.x2)continue}if(h){let p=l.length;if(a+p<u.y1||a>u.y2)continue}if(f&&(l=l.map(p=>{let x=c<u.x1?u.x1-c:0,T=this.caches.getStringWidth(p),g=c+T>u.x2?u.x2-c:T;return Ki(p,x,g)}),c<u.x1&&(c=u.x1)),h){let p=a<u.y1?u.y1-a:0,x=l.length,T=a+x>u.y2?u.y2-a:x;l=l.slice(p,T),a<u.y1&&(a=u.y1)}}let d=0;for(let[f,h]of l.entries()){let p=t[a+d];if(!p)continue;for(let g of s)h=g(h,f);let x=this.caches.getStyledChars(h),T=c;for(let g of x){p[T]=g;let w=Math.max(1,this.caches.getStringWidth(g.value));if(w>1)for(let m=1;m<w;m++)p[T+m]={type:"char",value:"",fullWidth:!1,styles:g.styles};T+=w}d++}}return t}get(){let t=this.getGrid();return{output:t.map(n=>{let o=n.filter(s=>s!==void 0);return Xi(o).trimEnd()}).join(`
22
+ `),height:t.length}}};var j={Single:0,Wide:1,SpacerTail:2},U={char:" ",width:j.Single,style:"",hyperlink:void 0};function nn(e,t){if(e<0||t<0)throw new RangeError(`Screen dimensions must be non-negative (got width=${e}, height=${t})`);let r=new Array(e*t).fill(U);return{width:e,height:t,cells:r}}i(nn,"createScreen");function ne(e,t,r){if(!(t<0||r<0||t>=e.width||r>=e.height))return e.cells[r*e.width+t]}i(ne,"cellAt");function on(e,t){if(e<0||t<0)throw new RangeError(`Screen dimensions must be non-negative (got width=${e}, height=${t})`);let r=new Array(e*t).fill(U),n=!1;return{width:e,height:t,setCellAt(o,s,c){if(n)throw new Error("ScreenBuilder.setCellAt called after build()");if(o<0||s<0||o>=e||s>=t)throw new RangeError(`ScreenBuilder.setCellAt out of bounds: (${o}, ${s}) on ${e}x${t}`);r[s*e+o]=c},build(){if(n)throw new Error("ScreenBuilder.build called twice");return n=!0,{width:e,height:t,cells:r}}}}i(on,"createScreenBuilder");function*Je(e,t){let r=Math.max(e.width,t.width),n=Math.max(e.height,t.height);for(let o=0;o<n;o++)for(let s=0;s<r;s++){let c=ne(e,s,o),a=ne(t,s,o);Ji(c,a)||(yield{x:s,y:o,prev:c,next:a})}}i(Je,"diffEach");function sn(e,t,r,n){if(n===0||e.height===0)return e;let o=Math.max(0,t),s=Math.min(e.height-1,r);if(o>s)return e;let c=e.width,a=e.cells.slice(),l=s-o+1,u=i(d=>{for(let f=0;f<c;f++)a[d*c+f]=U},"blankRow");if(Math.abs(n)>=l){for(let d=o;d<=s;d++)u(d);return{...e,cells:a}}if(n>0){for(let d=o;d<=s-n;d++)for(let f=0;f<c;f++)a[d*c+f]=e.cells[(d+n)*c+f]??U;for(let d=s-n+1;d<=s;d++)u(d)}else{let d=-n;for(let f=s;f>=o+d;f--)for(let h=0;h<c;h++)a[f*c+h]=e.cells[(f-d)*c+h]??U;for(let f=o;f<=o+d-1;f++)u(f)}return{...e,cells:a}}i(sn,"shiftRowsRegion");function Ji(e,t){return e===t?!0:e===void 0||t===void 0?!1:e.char===t.char&&e.width===t.width&&e.style===t.style&&e.hyperlink===t.hyperlink}i(Ji,"cellsEqual");var Ot="\x1B]8;";function Qi(e){return e.endsWith("\x07")?e.slice(0,-1):e}i(Qi,"stripOsc8Terminator");function Zi(e){if(!e.startsWith(Ot))return;let t=e.slice(Ot.length),r=t.indexOf(";");if(r<0)return;let n=t.slice(r+1),o=Qi(n);return o.length>0?o:void 0}i(Zi,"parseOsc8Url");function es(e){if(e.value==="")return{char:"",width:j.SpacerTail,style:"",hyperlink:void 0};let t="",r;for(let n of e.styles)if(n.code.startsWith(Ot)){let o=Zi(n.code);o!==void 0&&(r=o)}else t+=n.code;return{char:e.value,width:e.fullWidth?j.Wide:j.Single,style:t,hyperlink:r}}i(es,"styledCharToCell");function cn(e){let t=e.getGrid(),r=e.width,n=e.height,o=on(r,n),s=Math.min(t.length,n);for(let c=0;c<s;c++){let a=t[c];if(!a)continue;let l=Math.min(a.length,r);for(let u=0;u<l;u++){let d=a[u];if(!d)continue;let f=es(d);f.char===U.char&&f.width===U.width&&f.style===U.style&&f.hyperlink===U.hyperlink||o.setCellAt(u,c,f)}}return o.build()}i(cn,"outputToScreen");var ts=i((e,t,r)=>{if(e.yogaNode){if(t){let h=qe(e,{skipStaticElements:!0}),p=h===""?0:h.split(`
23
+ `).length,x="";return e.staticNode&&(x=qe(e.staticNode,{skipStaticElements:!1})),{output:h,outputHeight:p,staticOutput:x?`${x}
24
+ `:"",frame:void 0}}let n=new pe({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});Zr(),Mt(e,n,{skipStaticElements:!0});let o;e.staticNode?.yogaNode&&(o=new pe({width:e.staticNode.yogaNode.getComputedWidth(),height:e.staticNode.yogaNode.getComputedHeight()}),Mt(e.staticNode,o,{skipStaticElements:!1}));let{output:s,height:c}=n.get(),a=cn(n),l=r?.columns??e.yogaNode.getComputedWidth(),u=r?.rows??e.yogaNode.getComputedHeight(),d=n.cursorPosition,f={screen:a,viewport:{width:l,height:u},cursor:{x:0,y:a.height,visible:!1},scrollHint:en(),scrollRepaint:tn(),...d?{inputCursor:{x:d.x,y:d.y}}:{}};return{output:s,outputHeight:c,staticOutput:o?`${o.get().output}
25
+ `:"",frame:f}}return{output:"",outputHeight:0,staticOutput:"",frame:void 0}},"renderer"),_t=ts;function L(...e){if(e.length===0)return"\x1B[";if(e.length===1)return`\x1B[${e[0]}`;let t=e.slice(0,-1),r=e[e.length-1];return`\x1B[${t.join(";")}${r}`}i(L,"csi");function an(e=1){return e===0?"":L(e,"A")}i(an,"cursorUp");function rs(e=1){return e===0?"":L(e,"B")}i(rs,"cursorDown");function ns(e=1){return e===0?"":L(e,"C")}i(ns,"cursorForward");function os(e=1){return e===0?"":L(e,"D")}i(os,"cursorBack");function ln(e){return L(e,"G")}i(ln,"cursorTo");var is=L("G"),un=L("H");function fn(e,t){let r="";return e<0?r+=os(-e):e>0&&(r+=ns(e)),t<0?r+=an(-t):t>0&&(r+=rs(t)),r}i(fn,"cursorMove");var kt=L(2,"K");function dn(e){if(e<=0)return"";let t="";for(let r=0;r<e;r++)t+=kt,r<e-1&&(t+=an(1));return t+=is,t}i(dn,"eraseLines");var pn=L("r"),hn="\x1B7",mn="\x1B8";function gn(e,t){return L(e,t,"r")}i(gn,"setScrollRegion");function xn(e=1){return L(e,"S")}i(xn,"scrollUp");function wn(e=1){return L(e,"T")}i(wn,"scrollDown");var ve=L(0,"m");function Sn(e){return`\x1B]${e.join(";")}\x07`}i(Sn,"osc");function ss(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r)|0;return(t>>>0).toString(36)}i(ss,"osc8Id");function Me(e,t){if(!e)return he;let r={id:ss(e),...t??{}},n=Object.entries(r).map(([o,s])=>`${o}=${s}`).join(":");return Sn(["8",n,e])}i(Me,"link");var he=Sn(["8","",""]);function At(e){let{screen:t}=e;if(t.width===0||t.height===0)return[];let r=[],n="",o;for(let s=0;s<t.height;s++){let c="";for(let a=0;a<t.width;a++){let l=ne(t,a,s);!l||l.width===j.SpacerTail||(l.hyperlink!==o&&(o!==void 0&&(c+=he),l.hyperlink!==void 0&&(c+=Me(l.hyperlink)),o=l.hyperlink),l.style!==n&&(n!==""&&(c+=ve),l.style!==""&&(c+=l.style),n=l.style),c+=l.char)}o!==void 0&&(c+=he,o=void 0),n!==""&&(c+=ve,n=""),r.push(c.trimEnd())}return[{type:"stdout",content:r.join(`
26
+ `)}]}i(At,"renderFullFrame");var cs=Object.freeze([]),as=Object.freeze([]);function oe(e,t){if(e===t)return{patches:cs,current:e};let r=[];return e!==""&&r.push({type:"stdout",content:ve}),t!==""&&r.push({type:"stdout",content:t}),{patches:r,current:t}}i(oe,"transitionStyle");function Oe(e,t){let r=oe(e,t),n="";for(let o of r.patches)o.type==="stdout"&&(n+=o.content);return{str:n,current:r.current}}i(Oe,"transitionStyleStr");function K(e,t){if(e===t)return{patches:as,current:e};let r=[];return e!==void 0&&r.push({type:"stdout",content:he}),t!==void 0&&r.push({type:"stdout",content:Me(t)}),{patches:r,current:t}}i(K,"transitionHyperlink");function yn(e){let t=e.codePointAt(0);if(t===void 0)return!1;if(t>=129648&&t<=129791||t>=129792&&t<=130047)return!0;if(e.length>=2){for(let r=0;r<e.length;r++)if(e.charCodeAt(r)===65039)return!0}return!1}i(yn,"needsWidthCompensation");var ie=class{static{i(this,"VirtualScreen")}viewportWidth;cursor;diff;_cursorMut;_diffMut=[];constructor(t,r){this.viewportWidth=r,this._cursorMut={x:t.x,y:t.y},this.cursor=this._cursorMut,this.diff=this._diffMut}txn(t){let[r,n]=t(this.cursor);for(let o of r)this._diffMut.push(o);this._cursorMut.x+=n.dx,this._cursorMut.y+=n.dy}},$={type:"carriageReturn"},Ie={type:"stdout",content:`
27
+ `};function _e(e,t,r){let n=t.width===j.Wide?2:1,o=e.viewportWidth,s=!1;return e.txn(c=>{let a=c.x;if(n===2&&a<o){let d=t.char.length>2?o:o+1;if(a+2>=d)return[[],{dx:0,dy:0}]}let l=[];r.length>0&&l.push({type:"stdout",content:r});let u=n===2&&yn(t.char);return u&&a+1<o&&(l.push({type:"cursorTo",col:a+2}),l.push({type:"stdout",content:" "}),l.push({type:"cursorTo",col:a+1})),l.push({type:"stdout",content:t.char}),u&&l.push({type:"cursorTo",col:a+n+1}),s=!0,a>=o?[l,{dx:n-a,dy:1}]:[l,{dx:n,dy:0}]}),s}i(_e,"writeCellWithStyleStr");function se(e,t,r){e.txn(n=>{let o=t-n.x,s=r-n.y;return n.x>=e.viewportWidth?[[$,{type:"cursorMove",x:t,y:s}],{dx:o,dy:s}]:s!==0?[[$,{type:"cursorMove",x:t,y:s}],{dx:o,dy:s}]:[[{type:"cursorMove",x:o,y:s}],{dx:o,dy:s}]})}i(se,"moveCursorTo");function ke(e,t,r,n,o=!1){let s="",c;for(let a=r;a<n;a++){if(e.cursor.y<a){let f=a-e.cursor.y;e.txn(h=>{let p=new Array(1+f);p[0]=$;for(let x=0;x<f;x++)p[1+x]=Ie;return[p,{dx:-h.x,dy:f}]})}for(let f=0;f<t.screen.width;f++){let h=ne(t.screen,f,a);if(!h||h.width===j.SpacerTail||h.char===" "&&h.style===""&&h.hyperlink===void 0)continue;se(e,f,a);let p=K(c,h.hyperlink);for(let T of p.patches)e.txn(()=>[[T],{dx:0,dy:0}]);c=p.current;let x=Oe(s,h.style);_e(e,h,x.str)&&(s=x.current)}let l=oe(s,"");for(let f of l.patches)e.txn(()=>[[f],{dx:0,dy:0}]);s=l.current;let u=K(c,void 0);for(let f of u.patches)e.txn(()=>[[f],{dx:0,dy:0}]);c=u.current;let d=a===n-1&&t.screen.height<=t.viewport.height&&(a+1>=t.viewport.height||o);e.txn(f=>d?[[$],{dx:-f.x,dy:0}]:[[$,Ie],{dx:-f.x,dy:1}])}if(s!==""||c!==void 0){let a=oe(s,"");for(let u of a.patches)e.txn(()=>[[u],{dx:0,dy:0}]);let l=K(c,void 0);for(let u of l.patches)e.txn(()=>[[u],{dx:0,dy:0}])}}i(ke,"renderFrameSlice");function Nt(e,t,r,n){let o=Math.max(0,Math.floor(r)),s=Math.min(t.screen.height-1,t.viewport.height-1,Math.floor(n));for(let c=o;c<=s;c++)ls(e,t,c)}i(Nt,"repaintFrameRows");function ls(e,t,r){let n="",o;se(e,0,r),e.txn(()=>[[{type:"stdout",content:he+ve},{type:"eraseLine"}],{dx:0,dy:0}]);for(let s=0;s<t.screen.width;s++){let c=ne(t.screen,s,r);if(!c||c.width===j.SpacerTail||c.char===" "&&c.style===""&&c.hyperlink===void 0)continue;se(e,s,r);let a=K(o,c.hyperlink);for(let u of a.patches)e.txn(()=>[[u],{dx:0,dy:0}]);o=a.current;let l=Oe(n,c.style);_e(e,c,l.str)&&(n=l.current)}for(let s of oe(n,"").patches)e.txn(()=>[[s],{dx:0,dy:0}]);for(let s of K(o,void 0).patches)e.txn(()=>[[s],{dx:0,dy:0}])}i(ls,"repaintFrameRow");function Pt(e,t){let r="";for(let n=0;n<e.width;n++){let o=ne(e,n,t);r+=o?.char??" "}return r.trimEnd()}i(Pt,"readLine");function me(e,t,r=!1){let n=new ie({x:0,y:0},e.viewport.width);ke(n,e,0,e.screen.height,r);let o=[{type:"clearTerminal",reason:t}];for(let s of n.diff)o.push(s);return o}i(me,"fullResetSequence_CAUSES_FLICKER");function Qe(e,t){let r=e.cursor.y>=e.screen.height,n=t.screen.height>e.screen.height,o=t.screen.height<e.screen.height,s=r&&e.screen.height>=e.viewport.height,c=t.screen.height<=e.viewport.height,a=s?1:0;return{viewportY:n?Math.max(0,e.screen.height-e.viewport.height+a):Math.max(e.screen.height,t.screen.height)-t.viewport.height+a,cursorAtBottom:r,growing:n,shrinking:o,prevHadScrollback:s,nextFitsViewport:c}}i(Qe,"computeViewportState");function Tn(e,t,r){if(t.viewport.height<e.viewport.height||e.viewport.width!==0&&t.viewport.width!==e.viewport.width)return{reset:!0,reason:"resize"};let n=Qe(e,t);if(n.prevHadScrollback&&n.nextFitsViewport&&n.shrinking)return{reset:!0,reason:"offscreen"};if(e.screen.height>=e.viewport.height&&e.screen.height>0&&n.cursorAtBottom&&!n.growing){let s=e.screen.height-e.viewport.height+1;for(let c of Je(e.screen,t.screen))if(c.y<s)return{reset:!0,reason:"offscreen",trigger:{y:c.y,prevLine:r(e.screen,c.y),nextLine:r(t.screen,c.y)}}}return n.shrinking&&e.screen.height-t.screen.height>e.viewport.height?{reset:!0,reason:"offscreen"}:{reset:!1}}i(Tn,"shouldFullReset");function Cn(e,t,r){return!!(t&&t.width===2||e&&e.width===2&&!t||t&&r&&!e)}i(Cn,"shouldSkipDiff");var Ze=class{static{i(this,"LogUpdate")}options;constructor(t){this.options=t}render(t,r,n={}){if(!this.options.isTTY)return At(r);let o=n.inlineBottomAnchored??!1,s=Rn(t,o),c=Rn(r,o);if(n.altScreen===!0&&t.screen.height===0&&c.screen.height>0)return me(c,"clear",o);let a=Tn(s,c,Pt);if(a.reset)return me(c,a.reason,o);if(c.scrollRepaint&&n.altScreen===!0)return us(s,c,c.scrollRepaint);let l=c.scrollHint;if(l&&n.altScreen&&n.decstbmSafe&&process.env.KODAX_SCROLL_DECSTBM==="1"&&l.delta!==0&&l.top>=0&&l.bottom<s.screen.height&&l.bottom<c.screen.height&&Math.abs(l.delta)<=l.bottom-l.top){let u={type:"scrollRegion",top:l.top,bottom:l.bottom,delta:l.delta},d={...s,screen:sn(s.screen,l.top,l.bottom,l.delta)};return[u,...bn(d,c,o)]}return bn(s,c,o)}reset(){}};function Lt(e,t){for(let r of t)e.txn(()=>[[r],{dx:0,dy:0}])}i(Lt,"emitPatches");function Wt(e,t,r){if(t!==""){let n=oe(t,"");Lt(e,n.patches)}if(r!==void 0){let n=K(r,void 0);Lt(e,n.patches)}return{style:"",hyperlink:void 0}}i(Wt,"resetStyleAndHyperlink");function us(e,t,r){let n=Qe(e,t),o=new ie(e.cursor,t.viewport.width);n.shrinking&&En(o,e,t);let s=Math.max(0,Math.floor(r.top)),c=Math.min(t.screen.height-1,t.viewport.height-1,Math.floor(r.bottom)),a=c>=s?{top:s,bottom:c}:void 0;a&&Nt(o,t,a.top,a.bottom);let l=vn(o,e,t,{...n,skipRows:a});return l.needsFullReset?me(t,"offscreen"):(Wt(o,l.currentStyle,l.currentHyperlink),n.growing&&ke(o,t,e.screen.height,t.screen.height),Mn(o,t),o.diff)}i(us,"renderScrollRepaint");function En(e,t,r){let n=t.screen.height-r.screen.height;e.txn(o=>[[{type:"clear",count:n},{type:"cursorMove",x:0,y:-1}],{dx:-o.x,dy:-n}])}i(En,"applyShrink");function vn(e,t,r,n){let o="",s,c=!1;for(let a of Je(t.screen,r.screen)){let{x:l,y:u,prev:d,next:f}=a;if(n.growing&&u>=t.screen.height||n.skipRows&&u>=n.skipRows.top&&u<=n.skipRows.bottom)continue;let h=!!(f&&f.char===" "&&f.style===""&&f.hyperlink===void 0);if(!Cn(d,f,h)){if(u<n.viewportY){c=!0;break}if(se(e,l,u),f){let p=K(s,f.hyperlink);Lt(e,p.patches),s=p.current;let x=Oe(o,f.style);_e(e,f,x.str)&&(o=x.current)}else if(d){let p=Wt(e,o,s);o=p.style,s=p.hyperlink,e.txn(()=>[[{type:"stdout",content:" "}],{dx:1,dy:0}])}}}return{currentStyle:o,currentHyperlink:s,needsFullReset:c}}i(vn,"diffPass");function Rn(e,t){let r=t?Math.max(0,Math.min(e.viewport.height-1,e.screen.height-1)):Math.max(0,e.viewport.height-1);return e.cursor.y<=r?e:{...e,cursor:{...e.cursor,y:r}}}i(Rn,"clampRestingCursor");function Mn(e,t){t.cursor.y>=t.screen.height?e.txn(r=>{let n=t.cursor.y-r.y;if(n>0){let s=new Array(1+n);s[0]=$;for(let c=0;c<n;c++)s[1+c]=Ie;return[s,{dx:-r.x,dy:n}]}let o=t.cursor.y-r.y;return o!==0||r.x!==t.cursor.x?[[$,{type:"cursorMove",x:t.cursor.x,y:o}],{dx:t.cursor.x-r.x,dy:o}]:[[],{dx:0,dy:0}]}):se(e,t.cursor.x,t.cursor.y)}i(Mn,"restoreCursor");function bn(e,t,r=!1){let n=Qe(e,t),o=new ie(e.cursor,t.viewport.width);n.shrinking&&En(o,e,t);let s=vn(o,e,t,n);return s.needsFullReset?me(t,"offscreen",r):(Wt(o,s.currentStyle,s.currentHyperlink),n.growing&&ke(o,t,e.screen.height,t.screen.height,r),Mn(o,t),o.diff)}i(bn,"renderIncremental");var fs="\x1B[?25l",ds="\x1B[?25h",ps=`\x1B[2J${un}`,hs="\x1B[?2026h",ms="\x1B[?2026l";function gs(e){switch(e.type){case"stdout":return e.content;case"carriageReturn":return"\r";case"cursorHide":return fs;case"cursorShow":return ds;case"cursorMove":return fn(e.x,e.y);case"cursorTo":return ln(e.col);case"eraseLine":return kt;case"clear":return dn(e.count);case"clearTerminal":return ps;case"hyperlink":return Me(e.uri);case"scrollRegion":{let t=e.top+1,r=e.bottom+1,n=Math.abs(e.delta),o=e.delta>0?xn(n):wn(n);return hn+gn(t,r)+o+pn+mn}}}i(gs,"patchToBytes");function et(e,t,r=!1){let n="",o=!1;for(let s of t)s.type==="clearTerminal"&&(o=!0),n+=gs(s);if(n.length!==0){if(r&&o){e.write(hs+n+ms);return}e.write(n)}}i(et,"applyDiff");function In(e,t,r={}){if(t===void 0)return!1;let n=e.cellLogUpdate.render(e.prevFrame,t,r);return et(e.stdout,n,r.synchronized??!1),e.prevFrame=t,!0}i(In,"applyCellFrame");function Ae(e,t){return{screen:nn(0,0),viewport:{width:t,height:e},cursor:{x:0,y:0,visible:!0}}}i(Ae,"emptyFrame");import xs from"is-in-ci";var z="\x1B[?2026h",Y="\x1B[?2026l";function X(e){return"isTTY"in e&&e.isTTY===!0&&!xs}i(X,"shouldSynchronize");var ws=new WeakMap,On=ws;import{EventEmitter as Ds}from"node:events";import Hs from"node:process";import ce,{useState as Ht,useRef as ge,useCallback as O,useMemo as xe,useEffect as $n}from"react";import Bs from"cli-cursor";var Ss=i(e=>e>=48&&e<=63,"isCsiParameterByte"),ys=i(e=>e>=32&&e<=47,"isCsiIntermediateByte"),kn=i(e=>e>=64&&e<=126,"isCsiFinalByte");function Ts(e,t,r){let n=t+r+1,o=n;for(;o<e.length;o+=1){let s=e.codePointAt(o);if(s===void 0)return"pending";if(!(Ss(s)||ys(s))&&!(s===91&&o===n))return kn(s)?{sequence:e.slice(t,o+1),nextIndex:o+1}:void 0}return"pending"}i(Ts,"parseCsiSequence");function Cs(e,t,r){let n=t+r+2;if(n>e.length)return"pending";let o=e.codePointAt(n-1);if(!(o===void 0||!kn(o)))return{sequence:e.slice(t,n),nextIndex:n}}i(Cs,"parseSs3Sequence");function _n(e,t,r){let n=e[t+r];if(n===void 0)return"pending";if(n==="[")return Ts(e,t,r);if(n==="O")return Cs(e,t,r)}i(_n,"parseControlSequence");function Rs(e,t){let r=e.codePointAt(t+1),n=r!==void 0&&r>65535?2:1,o=t+1+n;return{sequence:e.slice(t,o),nextIndex:o}}i(Rs,"parseEscapedCodePoint");function bs(e){let t=[],r=0,n=i(o=>({events:t,pending:e.slice(o)}),"pendingFrom");for(;r<e.length;){let o=e.indexOf("\x1B",r);if(o===-1)return t.push(e.slice(r)),{events:t,pending:""};if(o>r&&t.push(e.slice(r,o)),o===e.length-1)return n(o);let s=_n(e,o,1);if(s==="pending")return n(o);if(s){t.push(s.sequence),r=s.nextIndex;continue}if(e[o+1]==="\x1B"){if(o+2>=e.length)return n(o);let l=_n(e,o,2);if(l==="pending")return n(o);if(l){t.push(l.sequence),r=l.nextIndex;continue}t.push(e.slice(o,o+2)),r=o+2;continue}let a=Rs(e,o);t.push(a.sequence),r=a.nextIndex}return{events:t,pending:""}}i(bs,"parseKeypresses");function tt(){let e="";return{push(t){let r=bs(e+t);return e=r.pending,r.events},hasPendingEscape(){return e.startsWith("\x1B")},flushPendingEscape(){if(!e.startsWith("\x1B"))return;let t=e;return e="",t},reset(){e=""}}}i(tt,"createInputParser");import{createContext as Es}from"react";var An=Es({exit(){}});An.displayName="InternalAppContext";var Nn=An;import{EventEmitter as vs}from"node:events";import{createContext as Ms}from"react";var Is={isTTY:!1,isRaw:!1,on(){},off(){},pause(){},resume(){},setRawMode(){}},Pn=Ms({stdin:Is,internal_eventEmitter:new vs,setRawMode(){},isRawModeSupported:!1,internal_exitOnCtrlC:!0});Pn.displayName="InternalStdinContext";var Ln=Pn;import{createContext as Os}from"react";var _s={isTTY:!1,columns:80,rows:24,write(){return!0},on(){},off(){}},Wn=Os({stdout:_s,write(){}});Wn.displayName="InternalStdoutContext";var Fn=Wn;import{createContext as ks}from"react";var As={isTTY:!1,write(){return!0},on(){},off(){}},Dn=ks({stderr:As,write(){}});Dn.displayName="InternalStderrContext";var Hn=Dn;import{createContext as Ns}from"react";var Bn=Ns({activeId:void 0,add(){},remove(){},activate(){},deactivate(){},enableFocus(){},disableFocus(){},focusNext(){},focusPrevious(){},focus(){}});Bn.displayName="InternalFocusContext";var Un=Bn;import{createContext as Ps}from"react";var jn=Ps({setCursorPosition(){}});jn.displayName="InternalCursorContext";var Yn=jn;import Ws,{PureComponent as Fs}from"react";import*as rt from"node:fs";import{cwd as Kn}from"node:process";import _ from"react";import Gn from"stack-utils";import Ls from"code-excerpt";var Ft=i(e=>e?.replace(`file://${Kn()}/`,""),"cleanupPath"),Vn=new Gn({cwd:Kn(),internals:Gn.nodeInternals()});function Dt({error:e}){let t=e.stack?e.stack.split(`
28
+ `).slice(1):void 0,r=t?Vn.parseLine(t[0]):void 0,n=Ft(r?.file),o,s=0;if(n&&r?.line&&rt.existsSync(n)){let c=rt.readFileSync(n,"utf8");if(o=Ls(c,r.line),o)for(let{line:a}of o)s=Math.max(s,String(a).length)}return _.createElement(D,{flexDirection:"column",padding:1},_.createElement(D,null,_.createElement(N,{backgroundColor:"red",color:"white"}," ","ERROR"," "),_.createElement(N,null," ",e.message)),r&&n&&_.createElement(D,{marginTop:1},_.createElement(N,{dimColor:!0},n,":",r.line,":",r.column)),r&&o&&_.createElement(D,{marginTop:1,flexDirection:"column"},o.map(({line:c,value:a})=>_.createElement(D,{key:c},_.createElement(D,{width:s+1},_.createElement(N,{dimColor:c!==r.line,backgroundColor:c===r.line?"red":void 0,color:c===r.line?"white":void 0,"aria-label":c===r.line?`Line ${c}, error`:`Line ${c}`},String(c).padStart(s," "),":")),_.createElement(N,{key:c,backgroundColor:c===r.line?"red":void 0,color:c===r.line?"white":void 0}," "+a)))),e.stack&&_.createElement(D,{marginTop:1,flexDirection:"column"},e.stack.split(`
29
+ `).slice(1).map(c=>{let a=Vn.parseLine(c);return a?_.createElement(D,{key:c},_.createElement(N,{dimColor:!0},"- "),_.createElement(N,{dimColor:!0,bold:!0},a.function),_.createElement(N,{dimColor:!0,color:"gray","aria-label":`at ${Ft(a.file)??""} line ${a.line} column ${a.column}`}," ","(",Ft(a.file)??"",":",a.line,":",a.column,")")):_.createElement(D,{key:c},_.createElement(N,{dimColor:!0},"- "),_.createElement(N,{dimColor:!0,bold:!0},c,"\\t"," "))})))}i(Dt,"ErrorOverview");var Ne=class extends Fs{static{i(this,"ErrorBoundary")}static displayName="InternalErrorBoundary";static getDerivedStateFromError(t){return{error:t}}state={error:void 0};componentDidCatch(t){this.props.onError(t)}render(){return this.state.error?Ws.createElement(Dt,{error:this.state.error}):this.props.children}};var Us=" ",js="\x1B[Z",Ys="\x1B";function zn({children:e,stdin:t,stdout:r,stderr:n,writeToStdout:o,writeToStderr:s,exitOnCtrlC:c,onExit:a,setCursorPosition:l}){let[u,d]=Ht(!0),[f,h]=Ht(void 0),[,p]=Ht([]),x=ge(0),T=ge(0),g=ge(new Ds);g.current.setMaxListeners(1/0);let w=ge(void 0),m=ge(tt()),C=ge(void 0),E=O(()=>{C.current&&(clearImmediate(C.current),C.current=void 0)},[]),M=t.isTTY,W=O(()=>{w.current&&(t.removeListener("readable",w.current),w.current=void 0)},[t]),F=O(()=>{t.setRawMode(!1),W(),t.unref(),T.current=0,m.current.reset(),E()},[t,W,E]),I=O(y=>{M&&T.current>0&&F(),a(y)},[M,F,a]),le=O(y=>{if(y===""&&c){I();return}y===Ys&&h(R=>R&&void 0)},[c,I]),We=O(y=>{le(y),g.current.emit("input",y)},[le]),er=O(()=>{E(),C.current=setImmediate(()=>{C.current=void 0;let y=m.current.flushPendingEscape();y&&We(y)})},[E,We]),lt=O(()=>{E();let y;for(;(y=t.read())!==null;){let R=m.current.push(y);for(let b of R)We(b)}m.current.hasPendingEscape()&&er()},[t,We,E,er]),tr=O(y=>{if(!M)throw t===Hs.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default.
30
+ Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink.
31
+ Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(t.setEncoding("utf8"),y){T.current===0&&(t.ref(),t.setRawMode(!0),w.current=lt,t.addListener("readable",lt)),T.current++;return}T.current!==0&&--T.current===0&&F()},[M,t,lt,F]),rr=O((y,R)=>{let b=y.findIndex(k=>k.id===R);for(let k=b+1;k<y.length;k++){let G=y[k];if(G?.isActive)return G.id}},[]),nr=O((y,R)=>{let b=y.findIndex(k=>k.id===R);for(let k=b-1;k>=0;k--){let G=y[k];if(G?.isActive)return G.id}},[]),Fe=O(()=>{p(y=>(h(R=>{let b=y.find(G=>G.isActive)?.id;return rr(y,R)??b}),y))},[rr]),De=O(()=>{p(y=>(h(R=>{let b=y.findLast(G=>G.isActive)?.id;return nr(y,R)??b}),y))},[nr]);$n(()=>{let y=i(b=>{!u||x.current===0||(b===Us&&Fe(),b===js&&De())},"handleTabNavigation");g.current.on("input",y);let R=g.current;return()=>{R.off("input",y)}},[u,Fe,De]);let or=O(()=>{d(!0)},[]),ir=O(()=>{d(!1)},[]),sr=O(y=>{p(R=>(R.some(k=>k?.id===y)&&h(y),R))},[]),cr=O((y,{autoFocus:R})=>{p(b=>(x.current=b.length+1,[...b,{id:y,isActive:!0}])),R&&h(b=>b??y)},[]),ar=O(y=>{h(R=>R===y?void 0:R),p(R=>{let b=R.filter(k=>k.id!==y);return x.current=b.length,b})},[]),lr=O(y=>{p(R=>R.map(b=>b.id!==y?b:{id:y,isActive:!0}))},[]),ur=O(y=>{h(R=>R===y?void 0:R),p(R=>R.map(b=>b.id!==y?b:{id:y,isActive:!1}))},[]);$n(()=>()=>{Bs.show(r),M&&T.current>0&&F()},[r,M,F]);let vo=xe(()=>({exit:I}),[I]),Mo=xe(()=>({stdin:t,setRawMode:tr,isRawModeSupported:M,internal_exitOnCtrlC:c,internal_eventEmitter:g.current}),[t,tr,M,c]),Io=xe(()=>({stdout:r,write:o}),[r,o]),Oo=xe(()=>({stderr:n,write:s}),[n,s]),_o=xe(()=>({setCursorPosition:l}),[l]),ko=xe(()=>({activeId:f,add:cr,remove:ar,activate:lr,deactivate:ur,enableFocus:or,disableFocus:ir,focusNext:Fe,focusPrevious:De,focus:sr}),[f,cr,ar,lr,ur,or,ir,Fe,De,sr]);return ce.createElement(Nn.Provider,{value:vo},ce.createElement(Ln.Provider,{value:Mo},ce.createElement(Fn.Provider,{value:Io},ce.createElement(Hn.Provider,{value:Oo},ce.createElement(Un.Provider,{value:ko},ce.createElement(Yn.Provider,{value:_o},ce.createElement(Ne,{onError:I},e)))))))}i(zn,"App");zn.displayName="InternalApp";var Xn=zn;var Gs={disambiguateEscapeCodes:1,reportEventTypes:2,reportAlternateKeys:4,reportAllKeysAsEscapeCodes:8,reportAssociatedText:16};function qn(e){let t=0;for(let r of e)t|=Gs[r];return t}i(qn,"resolveFlags");var q={shift:1,alt:2,ctrl:4,super:8,hyper:16,meta:32,capsLock:64,numLock:128};var Bt=i((e,t)=>(t<0?P.cursorUp(-t):t>0?P.cursorDown(t):"")+(e<0?P.cursorBackward(-e):e>0?P.cursorForward(e):""),"cursorMoveSeq"),Ut=i((e,t=!1)=>{let r=Math.max(0,e.screen.height-e.viewport.height),n=t?Math.max(0,Math.min(e.viewport.height-1,e.screen.height-1)):Math.max(0,e.viewport.height-1);return o=>({x:o.x,y:Math.min(Math.max(o.y-r,0),n)})},"toVisibleCursor"),nt=i(()=>{},"noop"),ec=27,tc=91,rc=63,nc=117,oc=48,ic=57,sc=i(e=>e>=oc&&e<=ic,"isDigitByte"),Qn=i((e,t)=>{if(e[t]!==ec||e[t+1]!==tc||e[t+2]!==rc)return;let r=t+3,n=r;for(;r<e.length&&sc(e[r]);)r++;if(r!==n){if(r===e.length)return{state:"partial"};if(e[r]===nc)return{state:"complete",endIndex:r}}},"matchKittyQueryResponse"),cc=i(e=>{for(let t=0;t<e.length;t++)if(Qn(e,t)?.state==="complete")return!0;return!1},"hasCompleteKittyQueryResponse"),ac=i(e=>{let t=[],r=0;for(;r<e.length;){let n=Qn(e,r);if(n?.state==="complete"){r=n.endIndex+1;continue}if(n?.state==="partial")break;t.push(e[r]),r++}return t},"stripKittyQueryResponsesAndTrailingPartial"),jt=i(e=>e instanceof Error||Object.prototype.toString.call(e)==="[object Error]","isErrorInput"),lc=class{static{i(this,"Ink")}isConcurrent;options;cursorPosition;isScreenReaderEnabled;isUnmounted;isUnmounting;lastOutput;lastOutputToRender;lastOutputHeight;lastTerminalWidth;container;rootNode;fullStaticOutput;exitPromise;exitResult;beforeExitHandler;restoreConsole;restoreStreamWriteGuard;rawStdoutWrite;rawStderrWrite;internalStreamWriteDepth=0;unsubscribeResize;throttledOnRender;hasPendingThrottledRender=!1;kittyProtocolEnabled=!1;cancelKittyDetection;altScreenActive=!1;shellMode;mouseTrackingActive=!1;shellTransitionPhase=void 0;cursorHidden=!1;constructor(t){Ks(this),this.options=t,this.rawStdoutWrite=t.stdout.write.bind(t.stdout),this.rawStderrWrite=t.stderr.write.bind(t.stderr),this.rootNode=Ye("ink-root"),this.rootNode.onComputeLayout=this.calculateLayout,this.isScreenReaderEnabled=t.isScreenReaderEnabled??ae.env.INK_SCREEN_READER==="true";let r=t.debug||this.isScreenReaderEnabled,n=t.maxFps??30,o=n>0?Math.max(1,Math.ceil(1e3/n)):0;if(r)this.rootNode.onRender=this.onRender,this.throttledOnRender=void 0;else{let c=Vs(this.onRender,o,{leading:!0,trailing:!0});this.rootNode.onRender=()=>{this.hasPendingThrottledRender=!0,c()},this.throttledOnRender=c}this.rootNode.onImmediateRender=this.onRender,this.cellLogUpdate=new Ze({isTTY:!!t.stdout.isTTY}),this.prevFrame=Ae(t.stdout.rows??24,t.stdout.columns??80),this.cursorPosition=void 0,this.isUnmounted=!1,this.isUnmounting=!1,this.installExternalStreamWriteGuard(),this.isConcurrent=t.concurrent??!1,this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.lastTerminalWidth=this.getTerminalWidth(),this.fullStaticOutput="",this.shellMode=t.shellMode??"virtual";let s=t.concurrent?qs:Xs;this.container=V.createContainer(this.rootNode,s,null,!1,null,"id",()=>{},()=>{},()=>{},()=>{}),this.unsubscribeExit=$s(this.unmount,{alwaysLast:!1}),Ue()&&V.injectIntoDevTools(),t.patchConsole&&this.patchConsole(),J||(t.stdout.on("resize",this.resized),this.unsubscribeResize=()=>{t.stdout.off("resize",this.resized)}),this.initKittyKeyboard()}getTerminalWidth=i(()=>this.options.stdout.columns?this.options.stdout.columns:Zs()?.columns??80,"getTerminalWidth");resized=i(()=>{let t=this.getTerminalWidth();if(t<this.lastTerminalWidth){this.returnCursorToRest();let r=this.altScreenActive?this.lastOutputHeight>0?P.eraseLines(this.lastOutputHeight):"":this.eraseInlineLiveBlock();r.length>0&&this.writeStdout(r),this.lastOutput="",this.lastOutputToRender="",this.cellLogUpdate.reset(),this.prevFrame=Ae(this.options.stdout.rows??24,t)}this.calculateLayout(),this.onRender(),this.lastTerminalWidth=t},"resized");resolveExitPromise=i(()=>{},"resolveExitPromise");rejectExitPromise=i(()=>{},"rejectExitPromise");unsubscribeExit=i(()=>{},"unsubscribeExit");handleAppExit=i(t=>{if(!(this.isUnmounted||this.isUnmounting)){if(jt(t)){this.unmount(t);return}this.exitResult=t,this.unmount()}},"handleAppExit");setCursorPosition=i(t=>{if(t===void 0){this.cursorPosition=void 0;return}let r=this.getTerminalWidth(),n=this.options.stdout.rows??24;if(r<=0||n<=0){this.cursorPosition=void 0;return}let o=Math.max(0,Math.min(t.x|0,r-1)),s=Math.max(0,Math.min(t.y|0,n-1));this.cursorPosition={x:o,y:s}},"setCursorPosition");resetOutputTracking=i(()=>{this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.cursorPosition=void 0,this.invalidateCellFrame()},"resetOutputTracking");usesVirtualShellOwnership=i((t={})=>t.altScreenActive??this.altScreenActive,"usesVirtualShellOwnership");beginShellTransition(t){this.shellTransitionPhase=t}setShellMode(t,r){let n=this.shellMode,o=this.mouseTrackingActive,s=this.usesVirtualShellOwnership(),c=r??!1;this.shellMode=t,this.mouseTrackingActive=c;let a=this.usesVirtualShellOwnership();(n!==t&&(s||a)||o!==c&&a)&&this.resetOutputTracking()}setAltScreenActive(t,r){let n=this.altScreenActive,o=this.mouseTrackingActive,s=this.usesVirtualShellOwnership(),c=r??!1;this.altScreenActive=t,this.mouseTrackingActive=c,this.shellTransitionPhase=void 0;let a=this.usesVirtualShellOwnership();(n!==t||o!==c&&(s||a))&&this.resetOutputTracking()}clearTextSelection(){}installExternalStreamWriteGuard(){if(this.options.debug||J)return;let t=this.options.stdout,r=this.options.stderr,n=t.write,o=r.write,s=i((...a)=>{let l=this.rawStdoutWrite(...a);return this.internalStreamWriteDepth===0&&this.handleExternalStreamWrite(),l},"guardedStdoutWrite"),c=i((...a)=>{let l=this.rawStderrWrite(...a);return this.internalStreamWriteDepth===0&&this.handleExternalStreamWrite(),l},"guardedStderrWrite");t.write=s,r.write=c,this.restoreStreamWriteGuard=()=>{t.write===s&&(t.write=n),r.write===c&&(r.write=o)}}handleExternalStreamWrite(){this.isUnmounted||this.invalidateCellFrame()}withInternalStreamWrite(t){this.internalStreamWriteDepth+=1;try{return t()}finally{this.internalStreamWriteDepth-=1}}writeStdout(t,...r){return this.withInternalStreamWrite(()=>this.rawStdoutWrite(t,...r))}writeStderr(t,...r){return this.withInternalStreamWrite(()=>this.rawStderrWrite(t,...r))}restoreLastOutput=i(()=>{if(this.prevFrame.screen.height===0)return;let t=Ae(this.options.stdout.rows??24,this.getTerminalWidth()),r=this.cellLogUpdate.render(t,this.prevFrame);this.withInternalStreamWrite(()=>et(this.options.stdout,r))},"restoreLastOutput");shouldRestoreManagedShellAfterExternalWrite=i(()=>this.altScreenActive,"shouldRestoreManagedShellAfterExternalWrite");calculateLayout=i(()=>{let t=this.getTerminalWidth();this.rootNode.yogaNode.setWidth(t),this.rootNode.yogaNode.calculateLayout(void 0,void 0,Js.DIRECTION_LTR)},"calculateLayout");onRender=i(()=>{if(this.hasPendingThrottledRender=!1,this.isUnmounted)return;let t=performance.now(),r={rows:this.options.stdout.rows??24,columns:this.getTerminalWidth()},{output:n,outputHeight:o,staticOutput:s,frame:c}=_t(this.rootNode,this.isScreenReaderEnabled,r);this.options.onRender?.({renderTime:performance.now()-t}),!J&&!this.options.debug&&!this.isScreenReaderEnabled&&!this.cursorHidden&&(this.writeStdout(P.cursorHide),this.cursorHidden=!0);let a=s&&s!==`
32
+ `;if(this.options.debug){a&&(this.fullStaticOutput+=s),this.writeStdout(this.fullStaticOutput+n);return}if(J){a&&this.writeStdout(s),this.lastOutput=n,this.lastOutputToRender=n+`
33
+ `,this.lastOutputHeight=o;return}if(this.isScreenReaderEnabled){let g=X(this.options.stdout);if(g&&this.writeStdout(z),a){let C=this.lastOutputHeight>0?P.eraseLines(this.lastOutputHeight):"";this.writeStdout(C+s),this.lastOutputHeight=0}if(n===this.lastOutput&&!a){g&&this.writeStdout(Y);return}let w=this.getTerminalWidth(),m=Qs(n,w,{trim:!1,hard:!0});if(a)this.writeStdout(m);else{let C=this.lastOutputHeight>0?P.eraseLines(this.lastOutputHeight):"";this.writeStdout(C+m)}this.lastOutput=n,this.lastOutputToRender=m,this.lastOutputHeight=m===""?0:m.split(`
34
+ `).length,g&&this.writeStdout(Y);return}a&&(this.fullStaticOutput+=s);let u=!this.altScreenActive&&!!(c&&c.inputCursor)?[]:null,d=i(g=>{g&&(u?u.push(g):this.writeStdout(g))},"emit"),f=u?{write:d}:null;d(this.computeReturnToRestSeq());let h=this.altScreenActive,x=this.options.stdout.isTTY&&o>=this.options.stdout.rows&&h?n:n+`
35
+ `;if(this.lastOutputHeight>=this.options.stdout.rows&&h){if(ae.env.KODAX_FULLSCREEN_CELLDIFF!=="0"&&this.altScreenActive&&this.fullStaticOutput===""){let m=X(this.options.stdout);m&&this.writeStdout(z),this.applyCellFrame(c),m&&this.writeStdout(Y),this.lastOutput=n,this.lastOutputToRender=x,this.lastOutputHeight=o;return}let g=X(this.options.stdout);g&&this.writeStdout(z);let w=this.fullStaticOutput+x;if(this.altScreenActive){let m=this.lastOutputHeight>0?P.eraseLines(this.lastOutputHeight):"";this.writeStdout(m+w)}else this.writeStdout(P.clearTerminal+this.fullStaticOutput+n);this.lastOutput=n,this.lastOutputToRender=this.altScreenActive?w:x,this.lastOutputHeight=o,this.invalidateCellFrame(),g&&this.writeStdout(Y);return}let T=!u&&X(this.options.stdout);try{if(a?(T&&d(z),d(this.eraseInlineLiveBlock()+s),this.invalidateCellFrame(),this.applyCellFrame(c,f),T&&d(Y)):!this.altScreenActive&&this.prevFrame&&this.prevFrame.screen.height!==c.screen.height&&this.lastOutputHeight>0&&o<=this.options.stdout.rows&&this.lastOutputHeight<this.options.stdout.rows?(T&&d(z),d(this.eraseInlineLiveBlock()),this.invalidateCellFrame(),this.applyCellFrame(c,f),T&&d(Y)):this.applyCellFrame(c,f),c?.inputCursor){let g=Ut(c,!this.altScreenActive),w=g(c.cursor),m=g(c.inputCursor),C=Bt(m.x-w.x,m.y-w.y);d(C),this.displayCursor=m}}finally{u&&this.flushCursorTxn(u)}this.lastOutput=n,this.lastOutputToRender=x,this.lastOutputHeight=o},"onRender");applyCellFrame=i((t,r=null)=>{let n={cellLogUpdate:this.cellLogUpdate,prevFrame:this.prevFrame,stdout:r??this.options.stdout},o=X(this.options.stdout),s={altScreen:this.altScreenActive,decstbmSafe:o,synchronized:r?!1:o,inlineBottomAnchored:!this.altScreenActive},c=this.withInternalStreamWrite(()=>In(n,t,s));return this.prevFrame=n.prevFrame,c},"applyCellFrame");invalidateCellFrame=i(()=>{this.cellLogUpdate.reset(),this.prevFrame=Ae(this.options.stdout.rows??24,this.getTerminalWidth())},"invalidateCellFrame");eraseInlineLiveBlock=i(()=>this.lastOutputHeight>0?P.eraseLines(this.lastOutputHeight):"","eraseInlineLiveBlock");commitInlineScrollback=i(({mode:t,text:r})=>{if(this.altScreenActive||this.isUnmounted)return;let n=[],o=i(a=>{a&&n.push(a)},"emit"),s={write:o};o(this.computeReturnToRestSeq());let c=t==="rebuild"?"\x1B[2J\x1B[3J\x1B[H":this.eraseInlineLiveBlock();o(c+(r??"")),this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.fullStaticOutput="",this.invalidateCellFrame();try{this.calculateLayout();let a={rows:this.options.stdout.rows??24,columns:this.getTerminalWidth()},{output:l,outputHeight:u,frame:d}=_t(this.rootNode,this.isScreenReaderEnabled,a);if(this.applyCellFrame(d,s),d?.inputCursor){let f=Ut(d,!this.altScreenActive),h=f(d.cursor),p=f(d.inputCursor),x=Bt(p.x-h.x,p.y-h.y);o(x),this.displayCursor=p}this.lastOutput=l,this.lastOutputToRender=l,this.lastOutputHeight=u}finally{this.flushCursorTxn(n)}},"commitInlineScrollback");flushCursorTxn(t){let r=t.join("");if(!r)return;let n=X(this.options.stdout);this.writeStdout(n?z+r+Y:r)}render(t){let r=Jn.createElement(ue.Provider,{value:{isScreenReaderEnabled:this.isScreenReaderEnabled}},Jn.createElement(Xn,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,exitOnCtrlC:this.options.exitOnCtrlC,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,setCursorPosition:this.setCursorPosition,onExit:this.handleAppExit},t));this.options.concurrent?V.updateContainer(r,this.container,null,nt):(V.updateContainerSync(r,this.container,null,nt),V.flushSyncWork())}computeReturnToRestSeq(){if(this.displayCursor&&this.prevFrame){let t=Ut(this.prevFrame,!this.altScreenActive)(this.prevFrame.cursor),r=Bt(t.x-this.displayCursor.x,t.y-this.displayCursor.y);return this.displayCursor=null,r}return""}returnCursorToRest(){let t=this.computeReturnToRestSeq();t&&this.writeStdout(t)}writeToStdout(t){if(this.isUnmounted)return;if(this.options.debug){this.writeStdout(t+this.fullStaticOutput+this.lastOutput);return}if(J){this.writeStdout(t);return}if(!this.shouldRestoreManagedShellAfterExternalWrite()){this.returnCursorToRest(),this.writeStdout(t),this.invalidateCellFrame();return}let r=X(this.options.stdout);r&&this.writeStdout(z),this.returnCursorToRest();let n=this.lastOutputHeight>0?P.eraseLines(this.lastOutputHeight):"";this.writeStdout(n+t),this.restoreLastOutput(),this.invalidateCellFrame(),r&&this.writeStdout(Y)}writeToStderr(t){if(this.isUnmounted)return;if(this.options.debug){this.writeStderr(t),this.writeStdout(this.fullStaticOutput+this.lastOutput);return}if(J){this.writeStderr(t);return}if(!this.shouldRestoreManagedShellAfterExternalWrite()){this.returnCursorToRest(),this.writeStderr(t),this.invalidateCellFrame();return}let r=X(this.options.stdout);r&&this.writeStdout(z),this.returnCursorToRest();let n=this.lastOutputHeight>0?P.eraseLines(this.lastOutputHeight):"";n.length>0&&this.writeStdout(n),this.writeStderr(t),this.restoreLastOutput(),this.invalidateCellFrame(),r&&this.writeStdout(Y)}unmount(t){if(this.isUnmounted||this.isUnmounting)return;this.isUnmounting=!0,this.beforeExitHandler&&(ae.off("beforeExit",this.beforeExitHandler),this.beforeExitHandler=void 0);let r=this.options.stdout,n=!r.destroyed&&!r.writableEnded&&(r.writable??!0);if(i(u=>{typeof u.flush=="function"&&(n?u.flush():typeof u.cancel=="function"&&u.cancel())},"settleThrottle")(this.throttledOnRender??{}),n&&(!this.throttledOnRender||!this.hasPendingThrottledRender&&this.fullStaticOutput==="")&&(this.calculateLayout(),this.onRender()),this.isUnmounted=!0,this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.restoreStreamWriteGuard=="function"&&(this.restoreStreamWriteGuard(),this.restoreStreamWriteGuard=void 0),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),this.cancelKittyDetection&&this.cancelKittyDetection(),n){if(this.kittyProtocolEnabled)try{this.writeStdout("\x1B[<u")}catch{}J&&this.writeStdout(this.lastOutput+`
36
+ `)}this.kittyProtocolEnabled=!1,this.shellTransitionPhase=void 0,this.options.concurrent?V.updateContainer(null,this.container,null,nt):(V.updateContainerSync(null,this.container,null,nt),V.flushSyncWork()),On.delete(this.options.stdout);let{exitResult:s}=this,c=i(()=>{jt(t)?this.rejectExitPromise(t):this.resolveExitPromise(s)},"resolveOrReject"),a=t!==void 0&&!jt(t),l=r._writableState!==void 0||r.writableLength!==void 0;a?c():n&&l?this.writeStdout("",c):setImmediate(c)}async waitUntilExit(){return this.exitPromise||=new Promise((t,r)=>{this.resolveExitPromise=t,this.rejectExitPromise=r}),this.beforeExitHandler||(this.beforeExitHandler=()=>{this.unmount()},ae.once("beforeExit",this.beforeExitHandler)),this.exitPromise}clear(){if(!J&&!this.options.debug){this.returnCursorToRest();let t=this.altScreenActive?this.lastOutputHeight>0?P.eraseLines(this.lastOutputHeight):"":this.eraseInlineLiveBlock();t.length>0&&this.writeStdout(t),this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.invalidateCellFrame()}}patchConsole(){this.options.debug||(this.restoreConsole=zs((t,r)=>{t==="stdout"&&this.writeToStdout(r),t==="stderr"&&(r.startsWith("The above error occurred")||this.writeToStderr(r))}))}initKittyKeyboard(){if(!this.options.kittyKeyboard)return;let t=this.options.kittyKeyboard,r=t.mode??"auto";if(r==="disabled"||!this.options.stdin.isTTY||!this.options.stdout.isTTY)return;let n=t.flags??["disambiguateEscapeCodes"];if(r==="enabled"){this.enableKittyProtocol(n);return}let o=ae.env.TERM??"",s=ae.env.TERM_PROGRAM??"",c="KITTY_WINDOW_ID"in ae.env||o==="xterm-kitty"||s==="WezTerm"||s==="ghostty";!J&&c&&this.confirmKittySupport(n)}confirmKittySupport(t){let{stdin:r}=this.options,n=[],o=i(()=>{this.cancelKittyDetection=void 0,clearTimeout(c),r.removeListener("data",s);let a=ac(n);n=[],a.length>0&&r.unshift(Buffer.from(a))},"cleanup"),s=i(a=>{let l=typeof a=="string"?Buffer.from(a):a;for(let u of l)n.push(u);cc(n)&&(o(),this.isUnmounted||this.enableKittyProtocol(t))},"onData");r.on("data",s);let c=setTimeout(o,200);this.cancelKittyDetection=o,this.writeStdout("\x1B[?u")}enableKittyProtocol(t){this.writeStdout(`\x1B[>${qn(t)}u`),this.kittyProtocolEnabled=!0}},Zn=lc;var Pe=class{static{i(this,"KodaXRenderer")}engineInstance;isConcurrent;constructor(t){this.engineInstance=new Zn(t),this.isConcurrent=this.engineInstance.isConcurrent}render=i(t=>{this.engineInstance.render(t)},"render");unmount=i(t=>{this.engineInstance.unmount(t)},"unmount");waitUntilExit=i(()=>this.engineInstance.waitUntilExit(),"waitUntilExit");clear=i(()=>{this.engineInstance.clear()},"clear");setAltScreenActive=i((t,r)=>{this.engineInstance.setAltScreenActive?.(t,r)},"setAltScreenActive");setShellMode=i((t,r)=>{this.engineInstance.setShellMode?.(t,r)},"setShellMode");beginShellTransition=i(t=>{this.engineInstance.beginShellTransition?.(t)},"beginShellTransition");clearTextSelection=i(()=>{this.engineInstance.clearTextSelection?.()},"clearTextSelection");commitInlineScrollback=i(t=>{this.engineInstance.commitInlineScrollback?.(t)},"commitInlineScrollback")};var te=null;function to(){if(te===-1)return null;if(te!==null)return te;let e=process.env.KODAX_RENDER_TRACE;if(!e||e==="0"||e==="false")return te=-1,null;let t=e==="1"||e==="true"?hc(pc(),`kodax-render-trace-${process.pid}.log`):e;try{return te=fc(t,"a"),eo(te,`=== KODAX render trace pid=${process.pid} ${new Date().toISOString()} platform=${process.platform} node=${process.version} ===
37
+ `),te}catch{return te=-1,null}}i(to,"resolveTraceFd");function mc(e){let t=to();if(t!==null)try{eo(t,e)}catch{}}i(mc,"traceLine");var Yt=new WeakMap,gc={isTTY:!1,columns:80,rows:24,write:i(()=>!0,"write"),on:i(()=>{},"on"),off:i(()=>{},"off")},xc={isTTY:!1,write:i(()=>!0,"write"),on:i(()=>{},"on"),off:i(()=>{},"off")},wc={isTTY:!1,isRaw:!1,on:i(()=>{},"on"),off:i(()=>{},"off"),pause:i(()=>{},"pause"),resume:i(()=>{},"resume"),setRawMode:i(()=>{},"setRawMode")};function Sc(e={}){return e instanceof uc?{stdout:e}:e}i(Sc,"getOptions");function yc(e,t,r){let n=Yt.get(e);return n?n.isConcurrent!==r&&console.warn(`Warning: render() was called with concurrent: ${r}, but the existing renderer for this stdout uses concurrent: ${n.isConcurrent}. The concurrent option only takes effect on the first render. Call unmount() first if you need to change the rendering mode.`):(n=t(),Yt.set(e,n)),n}i(yc,"getInstance");function Gt(e,t){let r={stdout:gc,stdin:wc,stderr:xc,debug:!1,exitOnCtrlC:!0,patchConsole:!1,maxFps:30,concurrent:!1,...Sc(t)};if(to()!==null){let s=r.stdout,c=s.write.bind(s),a=0,l=0;s.write=((h,...p)=>(a+=1,l+=typeof h=="string"?Buffer.byteLength(h,"utf8"):h?.length??0,c(h,...p)));let u=0,d=0,f=r.onRender;r.onRender=h=>{let p=dc.now(),x=u===0?0:p-u,T=s,g=T.columns??0,w=T.rows??0;return mc(`frame=${d} renderTime=${h.renderTime.toFixed(2)}ms interval=${x.toFixed(2)}ms writes=${a} bytes=${l} viewport=${g}x${w}
38
+ `),a=0,l=0,u=p,d+=1,f?.(h)}}let o=yc(r.stdout,()=>new Pe(r),r.concurrent??!1);return o.render(e),{rerender:o.render,unmount(){o.unmount()},waitUntilExit:o.waitUntilExit,cleanup:i(()=>{Yt.delete(r.stdout)},"cleanup"),clear:o.clear}}i(Gt,"render");var ro=D,no=N;import{Buffer as Cc}from"node:buffer";var Rc=/^(?:\x1b)([a-zA-Z0-9])$/,bc=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,io={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"},so=[...Object.values(io),"backspace"],Ec=i(e=>["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(e),"isShiftKey"),vc=i(e=>["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(e),"isCtrlKey"),co=/^\x1b\[(\d+)(?:;(\d+)(?::(\d+))?(?:;([\d:]+))?)?u$/,Mc=/^\x1b\[(\d+);(\d+):(\d+)([A-Za-z~])$/,Ic={A:"up",B:"down",C:"right",D:"left",E:"clear",F:"end",H:"home",P:"f1",Q:"f2",R:"f3",S:"f4"},Oc={2:"insert",3:"delete",5:"pageup",6:"pagedown",7:"home",8:"end",11:"f1",12:"f2",13:"f3",14:"f4",15:"f5",17:"f6",18:"f7",19:"f8",20:"f9",21:"f10",23:"f11",24:"f12"},oo={27:"escape",9:"tab",127:"delete",8:"backspace",57358:"capslock",57359:"scrolllock",57360:"numlock",57361:"printscreen",57362:"pause",57363:"menu",57376:"f13",57377:"f14",57378:"f15",57379:"f16",57380:"f17",57381:"f18",57382:"f19",57383:"f20",57384:"f21",57385:"f22",57386:"f23",57387:"f24"},ao=i(e=>e>=0&&e<=1114111&&!(e>=55296&&e<=57343),"isValidCodepoint"),Vt=i(e=>ao(e)?String.fromCodePoint(e):"?","safeFromCodePoint");function lo(e){return e===3?"release":e===2?"repeat":"press"}i(lo,"resolveEventType");function uo(e){return{ctrl:!!(e&q.ctrl),shift:!!(e&q.shift),meta:!!(e&q.meta),option:!!(e&q.alt),super:!!(e&q.super),hyper:!!(e&q.hyper),capsLock:!!(e&q.capsLock),numLock:!!(e&q.numLock)}}i(uo,"parseKittyModifiers");function _c(e){let t=co.exec(e);if(!t)return null;let r=Number.parseInt(t[1],10),n=t[2]?Math.max(0,Number.parseInt(t[2],10)-1):0,o=t[3]?Number.parseInt(t[3],10):1,s=t[4];if(!ao(r))return null;let c;s&&(c=s.split(":").map(u=>Vt(Number.parseInt(u,10))).join(""));let a,l;return r===32?(a="space",l=!0):r===13?(a="return",l=!0):oo[r]?(a=oo[r],l=!1):r>=1&&r<=26?(a=String.fromCodePoint(r+96),l=!1):(a=Vt(r).toLowerCase(),l=!0),l&&!c&&(c=Vt(r)),{name:a,...uo(n),eventType:lo(o),sequence:e,raw:e,isKittyProtocol:!0,isPrintable:l,text:c}}i(_c,"parseKittyKeypress");function kc(e){let t=Mc.exec(e);if(!t)return null;let r=Number.parseInt(t[1],10),n=Math.max(0,Number.parseInt(t[2],10)-1),o=Number.parseInt(t[3],10),s=t[4],c=s==="~"?Oc[r]:Ic[s];return c?{name:c,...uo(n),eventType:lo(o),sequence:e,raw:e,isKittyProtocol:!0,isPrintable:!1}:null}i(kc,"parseKittySpecialKey");var Kt="\x1B[200~",Ac="\x1B[201~";function Nc(e){if(!e.startsWith(Kt))return null;let t=e.indexOf(Ac,Kt.length);return t===-1?null:e.slice(Kt.length,t)}i(Nc,"extractBracketedPaste");function $t(e=""){let t=e,r;if(Cc.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t="\x1B"+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=""),typeof t=="string"){let c=Nc(t);if(c!==null)return{name:"paste",ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,isPaste:!0,isPrintable:!1,text:c}}let n=_c(t);if(n)return n;let o=kc(t);if(o)return o;if(co.test(t))return{name:"",ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,isKittyProtocol:!0,isPrintable:!1};let s={name:"",ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t};if(s.sequence=s.sequence||t||s.name,t==="\r"||t==="\x1B\r")s.raw=void 0,s.name="return",s.option=t.length===2;else if(t===`
39
+ `)s.name="enter";else if(t===" ")s.name="tab";else if(t==="\b"||t==="\x1B\b")s.name="backspace",s.meta=t.charAt(0)==="\x1B";else if(t==="\x7F"||t==="\x1B\x7F")s.name="delete",s.meta=t.charAt(0)==="\x1B";else if(t==="\x1B"||t==="\x1B\x1B")s.name="escape",s.meta=t.length===2;else if(t===" "||t==="\x1B ")s.name="space",s.meta=t.length===2;else if(t.length===1&&t<="")s.name=String.fromCharCode(t.charCodeAt(0)+97-1),s.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")s.name="number";else if(t.length===1&&t>="a"&&t<="z")s.name=t;else if(t.length===1&&t>="A"&&t<="Z")s.name=t.toLowerCase(),s.shift=!0;else if(r=Rc.exec(t))s.meta=!0,s.shift=/^[A-Z]$/.test(r[1]??"");else if(r=bc.exec(t)){let c=[...t];c[0]==="\x1B"&&c[1]==="\x1B"&&(s.option=!0);let a=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),l=Number(r[3]||r[5]||1)-1;s.ctrl=!!(l&4),s.meta=!!(l&10),s.shift=!!(l&1),s.code=a,s.name=io[a]??"",s.shift=Ec(a)||s.shift,s.ctrl=vc(a)||s.ctrl}return s}i($t,"parseKeypress");var Wc=50;function zt(e){return{columns:e?.columns??80,rows:e?.rows??24}}i(zt,"resolveTerminalSize");var it=Pc(null),Fc={isTTY:!1,columns:80,rows:24,write:i(()=>!0,"write"),on:i(()=>{},"on"),off:i(()=>{},"off")};var mo={isTTY:!1,isRaw:!1,on:i(()=>{},"on"),off:i(()=>{},"off"),pause:i(()=>{},"pause"),resume:i(()=>{},"resume"),setRawMode:i(()=>{},"setRawMode")};function Dc(e){for(let t of e)if(t.rawMode)return!0;return!1}i(Dc,"hasRawModeSubscribers");function Hc({stdin:e,setRawMode:t,isRawModeSupported:r}){let n=new Set,o,s=!1,c=!1,a=i(f=>{for(let h of n)h.listener(f)},"handleData"),l=i(()=>{if(c){try{t(!1)}catch{}c=!1}},"disableRawModeIfOwned"),u=i(()=>{let f=o;f?.off?.("data",a),l(),s&&(f?.unref?.(),s=!1),o=void 0},"detachInput"),d=i(()=>{if(o&&o!==e&&u(),!e||n.size===0){u();return}if(o!==e&&(e.hasRef?.()!==!0&&typeof e.ref=="function"&&(e.ref(),s=!0),e.on?.("data",a),e.resume?.(),o=e),!(r&&Dc(n))){l();return}if(e.isRaw===!1&&!c)try{t(!0),c=!0}catch{c=!1}},"syncInputOwnership");return{subscribe(f,h={}){let p={listener:f,rawMode:h.rawMode!==!1};return n.add(p),d(),()=>{n.delete(p),d()}},dispose(){n.clear(),u()}}}i(Hc,"createTerminalInputController");var Bc=i(({children:e,runtime:t})=>{let[r,n]=Lc(()=>t.terminalSize);we(()=>{if(n(zt(t.stdout)),typeof t.stdout?.on!="function"||typeof t.stdout?.off!="function")return;let a=i(()=>{n(zt(t.stdout))},"handleResize");return t.stdout.on("resize",a),()=>{t.stdout.off?.("resize",a)}},[t.stdout]);let o=ho(a=>typeof t.stdout?.write!="function"?!1:(t.stdout.write(a),!0),[t.stdout]),s=fo(()=>Hc({stdin:t.stdin,setRawMode:t.setRawMode,isRawModeSupported:t.isRawModeSupported}),[t.stdin,t.isRawModeSupported,t.setRawMode]);we(()=>()=>{s.dispose()},[s]);let c=fo(()=>({stdout:t.stdout,stdin:t.stdin,setRawMode:t.setRawMode,isRawModeSupported:t.isRawModeSupported,exit:t.exit,terminalSize:r,isTTY:t.stdout?.isTTY===!0,writeRaw:o,subscribeInput:s.subscribe}),[s.subscribe,t.exit,t.isRawModeSupported,t.setRawMode,t.stdin,t.stdout,s.subscribe,r,o]);return po(it.Provider,{value:c,children:e})},"TuiRuntimeProvider");function Uc(e){let t=e?.stdout??Fc,r=e?.stdin??mo,n=i(s=>{typeof r?.setRawMode=="function"&&r.setRawMode(s)},"setRawMode"),o;return{stdout:t,stdin:r,setRawMode:n,isRawModeSupported:typeof r?.setRawMode=="function",exit:i(()=>{o?.()},"exit"),terminalSize:zt(t),isTTY:t?.isTTY===!0,writeRaw:i(s=>typeof t?.write!="function"?!1:(t.write(s),!0),"writeRaw"),subscribeInput:i(()=>()=>{},"subscribeInput"),attachExit(s){o=s}}}i(Uc,"createRuntimeValue");function st(e,t){let r=Uc(t),n=Gt(po(Bc,{runtime:r,children:e}),t);return r.attachExit(n.unmount),n}i(st,"render");var re=ro,H=no;function jc(e){let t={upArrow:e.name==="up",downArrow:e.name==="down",leftArrow:e.name==="left",rightArrow:e.name==="right",pageDown:e.name==="pagedown",pageUp:e.name==="pageup",home:e.name==="home",end:e.name==="end",return:e.name==="return",escape:e.name==="escape",ctrl:e.ctrl,shift:e.shift,tab:e.name==="tab",backspace:e.name==="backspace",delete:e.name==="delete",meta:e.meta||e.name==="escape"||e.option===!0,super:e.super??!1,hyper:e.hyper??!1,capsLock:e.capsLock??!1,numLock:e.numLock??!1,eventType:e.eventType},r="";return e.isKittyProtocol?e.isPrintable?r=e.text??e.name:e.ctrl&&e.name.length===1&&(r=e.name):e.ctrl?r=e.name:r=e.sequence,!e.isKittyProtocol&&so.includes(e.name)&&(r=""),r.startsWith("\x1B")&&(r=r.slice(1)),r.length===1&&typeof r[0]=="string"&&/[A-Z]/.test(r[0])&&(t.shift=!0),{input:r,key:t}}i(jc,"createCompatKeypress");function ct(e,t={}){let{isActive:r=!0}=t,n=ot(e),o=ot(null),s=ot(null);we(()=>{n.current=e},[e]),we(()=>{if(!r){o.current=null,s.current&&(clearTimeout(s.current),s.current=null);return}return o.current=tt(),()=>{o.current?.reset(),o.current=null,s.current&&(clearTimeout(s.current),s.current=null)}},[r]);let c=ho(a=>{let{input:l,key:u}=jc($t(a));n.current(l,u)},[]);Jt(a=>{if(!r)return;s.current&&(clearTimeout(s.current),s.current=null);let l=o.current,u=typeof a=="string"?a:a.toString("utf8"),d=l?.push(u)??[u];for(let f of d)c(f);u.length>0&&(s.current=setTimeout(()=>{let f=o.current?.flushPendingEscape();f&&c(f)},Wc))},{isActive:r,rawMode:!0})}i(ct,"useInput");function qt(){let e=Xt(it),t=e?.stdin??mo,r=e?.setRawMode??(n=>{typeof t?.setRawMode=="function"&&t.setRawMode(n)});return{stdin:t,setRawMode:r,isRawModeSupported:e?.isRawModeSupported??typeof t?.setRawMode=="function"}}i(qt,"useStdin");function at(){return{exit:Xt(it)?.exit??(()=>{})}}i(at,"useApp");function Jt(e,t={}){let{isActive:r=!0,rawMode:n=!0}=t,o=Xt(it),{stdin:s,setRawMode:c,isRawModeSupported:a}=qt(),l=ot(e);we(()=>{l.current=e},[e]),we(()=>{if(!r||!s)return;if(o)return o.subscribeInput(h=>{l.current(h)},{rawMode:n});let u=s,d=u.isRaw;n&&a&&d===!1&&c(!0);let f=i(h=>{l.current(h)},"handleData");return u.on?.("data",f),()=>{if(u.off?.("data",f),n&&a&&d===!1)try{c(!1)}catch{}}},[o,s,r,n,a,c])}i(Jt,"useTerminalInput");import{jsx as op}from"react/jsx-runtime";import{useInsertionEffect as sp,useMemo as cp}from"react";import{jsx as Vp,jsxs as Kp}from"react/jsx-runtime";import{jsx as Tp}from"react/jsx-runtime";import Rp,{useEffect as bp,useImperativeHandle as Ep,useMemo as vp,useRef as Mp,useCallback as Ip,useState as Op}from"react";var Qt=class{static{i(this,"LRUCache")}capacity;cache;constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let r=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,r),r}set(t,r){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.capacity){let n=this.cache.keys().next().value;n!==void 0&&this.cache.delete(n)}this.cache.set(t,r)}has(t){return this.cache.has(t)}delete(t){return this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}};var Yc=1e3;var Lp=new Qt(Yc);var Xc=40;function qc(e,t){let r=t.trim().toLocaleLowerCase().split(/\s+/).filter(Boolean);return r.length===0?[...e]:e.filter(n=>{let o=[n.title,n.id,n.surface??"",n.createdAt??"",String(n.msgCount)].join(" ").toLocaleLowerCase();return r.every(s=>o.includes(s))})}i(qc,"filterSessionPickerItems");function Jc(e,t,r){let n=Math.max(1,r),o=e.length===0?0:Math.max(0,Math.min(t,e.length-1)),s=Math.floor(o/n)*n;return{items:e.slice(s,s+n),selectedIndex:o,pageStart:s,pageIndex:Math.floor(s/n),pageCount:Math.max(1,Math.ceil(e.length/n))}}i(Jc,"buildSessionPickerPage");function Qc(e){if(!e)return"unknown time";let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toISOString().slice(0,16).replace("T"," ")}i(Qc,"formatTimestamp");function Zc({sessions:e,onSelect:t,onSelectionError:r,onCancel:n,pageSize:o=8}){let{exit:s}=at(),[c,a]=Zt(""),[l,u]=Zt(0),[d,f]=Zt(!1),h=zc(!1),p=$c(()=>qc(e,c),[e,c]),x=Jc(p,l,o),T=p[x.selectedIndex];return ct((g,w)=>{if(!h.current){if(w.escape||w.ctrl&&g==="c"){n(),s();return}if(w.return){let m=p[x.selectedIndex];m&&(h.current=!0,f(!0),(async()=>{await new Promise(C=>setTimeout(C,Xc));try{await t(m)}catch(C){r(C)}finally{s()}})());return}if(w.upArrow)u(m=>Math.max(0,m-1));else if(w.downArrow)u(m=>Math.min(Math.max(0,p.length-1),m+1));else if(w.pageUp)u(m=>Math.max(0,m-o));else if(w.pageDown)u(m=>Math.min(Math.max(0,p.length-1),m+o));else if(w.home)u(0);else if(w.end)u(Math.max(0,p.length-1));else if(w.tab){let m=p[x.selectedIndex];m&&(a(m.title),u(0))}else w.backspace||w.delete?(a(m=>m.slice(0,-1)),u(0)):g&&!w.ctrl&&!w.meta&&!w.super&&(a(m=>m+g),u(0))}}),Se(re,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[Le(H,{bold:!0,color:"cyan",children:"Resume a session"}),Se(H,{children:["Search: ",Le(H,{color:"yellow",children:c||"type to filter"})]}),Le(H,{dimColor:!0,children:d?"Loading selected session...":"\u2191/\u2193 select \xB7 PgUp/PgDn page \xB7 Tab complete \xB7 Enter resume \xB7 Esc cancel"}),Se(re,{flexDirection:"column",marginTop:1,children:[x.items.length===0?Le(H,{color:"yellow",children:"No matching sessions."}):null,x.items.map((g,w)=>{let C=x.pageStart+w===x.selectedIndex,E=g.title.trim()||"Untitled session",M=g.surface?` \xB7 ${g.surface}`:"";return Se(H,{color:C?"cyan":void 0,bold:C,children:[C?"\u276F":" "," ",E," \xB7 ",g.msgCount," msgs",M," \xB7 ",Qc(g.createdAt)," \xB7 ",g.id.slice(0,8)]},g.id)})]}),Se(H,{dimColor:!0,children:[p.length," matches \xB7 Page ",x.pageIndex+1,"/",x.pageCount]}),Se(H,{dimColor:!0,children:["Selected ID: ",T?.id??"none"]})]})}i(Zc,"SessionPicker");async function So(e,t={}){if(process.stdin.isTTY!==!0||process.stdout.isTTY!==!0)throw new Error("Searchable session resume requires an interactive terminal. Pass an exact session ID or title to -r/--resume instead.");let r,n=!1,o=!1,s,c=Math.max(4,Math.min(12,(process.stdout.rows??24)-8)),a=st(Le(Zc,{sessions:e,pageSize:c,onSelect:i(async l=>{r=l,await t.prepareSelection?.(l)},"onSelect"),onSelectionError:i(l=>{o=!0,s=l},"onSelectionError"),onCancel:i(()=>{n=!0},"onCancel")}),{stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,exitOnCtrlC:!1,patchConsole:!1});try{await a.waitUntilExit()}finally{a.unmount(),a.cleanup()}if(o)throw s;if(!r&&!n)throw new Error("Session picker exited unexpectedly before selection or cancellation.");return r}i(So,"runSessionPicker");var yo=65536,To=48;function ta(){let e=process.env.KODAX_HOME,t=e&&e.length>0?e:Te.join(ea.homedir(),".kodax");return Te.join(t,"sessions")}i(ta,"defaultSessionsDir");function Co(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith(".")}i(Co,"isSessionFile");async function ra(e){let t=[],r;try{r=await ye.readdir(e,{withFileTypes:!0})}catch{return t}for(let n of r){let o=Te.join(e,n.name);if(n.isFile()&&Co(n.name)&&!n.name.startsWith("archived-")){t.push(o);continue}if(!(!n.isDirectory()||n.name.startsWith(".")||n.name==="archived"))try{for(let s of await ye.readdir(o,{withFileTypes:!0}))s.isFile()&&Co(s.name)&&t.push(Te.join(o,s.name))}catch{}}return t}i(ra,"collectActiveSessionFiles");function Ro(e){if(!e?.trim())return;let t=Te.resolve(e).replace(/\\/g,"/");return process.platform==="win32"||process.platform==="darwin"?t.toLowerCase():t}i(Ro,"normalizeComparableRoot");function na(e,t){let r=Ro(t);if(!r)return!0;let n=e.runtimeInfo!==null&&typeof e.runtimeInfo=="object"?e.runtimeInfo:void 0;return[typeof n?.canonicalRepoRoot=="string"?n.canonicalRepoRoot:void 0,typeof n?.workspaceRoot=="string"?n.workspaceRoot:void 0,typeof e.gitRoot=="string"?e.gitRoot:void 0].some(s=>Ro(s)===r)}i(na,"matchesProjectRoot");async function oa(e){let t;try{t=await ye.open(e,"r");let r=Buffer.allocUnsafe(yo),{bytesRead:n}=await t.read(r,0,yo,0);if(n===0)return;let o=r.toString("utf8",0,n),s=o.indexOf(`
40
+ `);if(s>=0)return o.slice(0,s).trim();let c=await ye.readFile(e,"utf8"),a=c.indexOf(`
41
+ `);return(a>=0?c.slice(0,a):c).trim()}catch{return}finally{await t?.close()}}i(oa,"readFirstLine");async function ia(e,t){if(typeof t.activeMessageCount=="number"&&t.activeMessageCount>=0)return t.activeMessageCount;let r=(await ye.readFile(e,"utf8")).trim();if(!r)return 0;let n=typeof t.extensionRecordCount=="number"&&t.extensionRecordCount>0?t.extensionRecordCount:0;return Math.max(0,r.split(`
42
+ `).length-1-n)}i(ia,"readMessageCount");function sa(e){if(e.runtimeInfo===null||typeof e.runtimeInfo!="object")return;let t=e.runtimeInfo;return{...typeof t.canonicalRepoRoot=="string"?{canonicalRepoRoot:t.canonicalRepoRoot}:{},...typeof t.workspaceRoot=="string"?{workspaceRoot:t.workspaceRoot}:{},...typeof t.surface=="string"?{surface:t.surface}:{}}}i(sa,"runtimeSummary");async function ca(e,t){try{let r=await oa(e);if(!r)return;let n=JSON.parse(r);if(n===null||typeof n!="object")return;let o=n;if(o._type!=="meta"||o.scope==="managed-task-worker"||!na(o,t))return;let s=await ia(e,o);if(s<=0)return;let c=typeof o.createdAt=="string"?o.createdAt:void 0,a=sa(o);return{id:Te.basename(e,".jsonl"),title:typeof o.title=="string"?o.title:"",msgCount:s,...c!==void 0?{createdAt:c}:{},...a?.surface!==void 0?{surface:a.surface}:{},...c!==void 0?{createdAtMs:Date.parse(c)}:{}}}catch{return}}i(ca,"readResumeCandidate");async function bo(e){try{let t=e.sessionsDir??ta();await br(t),await ye.mkdir(t,{recursive:!0});let r=await ra(t),n=[],o=new Set;for(let s=0;s<r.length;s+=To){let c=await Promise.all(r.slice(s,s+To).map(a=>ca(a,e.projectRoot)));for(let a of c)a&&!o.has(a.id)&&(o.add(a.id),n.push(a))}return n.sort((s,c)=>Number.isFinite(s.createdAtMs)&&Number.isFinite(c.createdAtMs)&&s.createdAtMs!==c.createdAtMs?c.createdAtMs-s.createdAtMs:Number.isFinite(c.createdAtMs)&&!Number.isFinite(s.createdAtMs)?1:Number.isFinite(s.createdAtMs)&&!Number.isFinite(c.createdAtMs)?-1:c.id.localeCompare(s.id)),n.slice(0,e.limit??1e3).map(({createdAtMs:s,...c})=>c)}catch{return[]}}i(bo,"listCliResumeSessions");async function Eo(e,t={}){return So(e,t)}i(Eo,"runCliResumePicker");async function aa(e){let{default:t}=await import("chalk");if(e==="empty"){process.stdout.write(`${t.yellow("No resumable sessions found. Starting a new session...")}
43
+ `);return}process.stdout.write(`${t.dim("Session resume cancelled.")}
44
+ `)}i(aa,"printResumeNotice");async function Fh(e={}){let t=e.listSessions??bo,r=e.pickSession??Eo,n=e.notify??aa,o=await t({projectRoot:e.cwd??process.cwd(),limit:1e3});if(o.length===0)return await n("empty"),{kind:"continue",argv:[]};let s=await r(o,{prepareSelection:e.beforeSelect});return s?{kind:"continue",argv:["-r",s.id]}:(await n("cancelled"),{kind:"exit"})}i(Fh,"resolveBareResume");export{Fh as resolveBareResume};
@@ -634,36 +634,15 @@
634
634
  "verifyStrategy": "count-tokens"
635
635
  },
636
636
  "minimax-coding": {
637
- "apiKeyEnv": "MINIMAX_CODING_API_KEY",
638
- "model": "MiniMax-M2.7",
639
- "models": [
640
- {
641
- "id": "MiniMax-M3",
642
- "displayName": "MiniMax M3 (Frontier Coding, 1M ctx)",
643
- "contextWindow": 1000000,
644
- "reasoningCapability": "native-adaptive",
645
- "reasoningProfile": {
646
- "reasoningPreset": "minimax-m3",
647
- "effortStrategy": "provider-toggle",
648
- "thinkingStrategy": "anthropic-adaptive",
649
- "supportedEfforts": [
650
- { "value": "none", "description": "Disable thinking" },
651
- { "value": "minimal", "description": "Disable thinking", "isUserVisible": false },
652
- { "value": "low", "description": "Adaptive thinking" },
653
- { "value": "medium", "description": "Adaptive thinking", "isDefault": true },
654
- { "value": "high", "description": "Adaptive thinking" },
655
- { "value": "xhigh", "description": "Adaptive thinking" },
656
- { "value": "max", "description": "Adaptive thinking" }
657
- ],
658
- "disabledEfforts": ["none", "minimal"],
659
- "supportsAdaptiveThinking": true,
660
- "supportsDisabledThinking": true
661
- }
662
- },
663
- {
664
- "id": "MiniMax-M2.7-highspeed",
665
- "displayName": "MiniMax M2.7 Highspeed (higher-tier plan)",
666
- "reasoningProfile": {
637
+ "apiKeyEnv": "MINIMAX_CODING_API_KEY",
638
+ "model": "MiniMax-M3",
639
+ "models": [
640
+ {
641
+ "id": "MiniMax-M2.7-highspeed",
642
+ "displayName": "MiniMax M2.7 Highspeed (higher-tier plan)",
643
+ "contextWindow": 204800,
644
+ "reasoningCapability": "native-toggle",
645
+ "reasoningProfile": {
667
646
  "reasoningPreset": "minimax-m2-always",
668
647
  "effortStrategy": "prompt-only",
669
648
  "supportedEfforts": [
@@ -673,26 +652,49 @@
673
652
  { "value": "xhigh", "description": "Thinking is always on" },
674
653
  { "value": "max", "description": "Thinking is always on" }
675
654
  ],
676
- "localRejectEfforts": ["none", "minimal"]
677
- }
678
- }
679
- ],
680
- "reasoningCapability": "native-toggle",
681
- "reasoningProfile": {
682
- "reasoningPreset": "minimax-m2-always",
683
- "effortStrategy": "prompt-only",
684
- "supportedEfforts": [
685
- { "value": "low", "description": "Thinking is always on" },
686
- { "value": "medium", "description": "Thinking is always on", "isDefault": true },
687
- { "value": "high", "description": "Thinking is always on" },
688
- { "value": "xhigh", "description": "Thinking is always on" },
689
- { "value": "max", "description": "Thinking is always on" }
690
- ],
691
- "localRejectEfforts": ["none", "minimal"]
692
- },
655
+ "localRejectEfforts": ["none", "minimal"]
656
+ }
657
+ },
658
+ {
659
+ "id": "MiniMax-M2.7",
660
+ "displayName": "MiniMax M2.7 (legacy explicit selection, 204K ctx)",
661
+ "contextWindow": 204800,
662
+ "reasoningCapability": "native-toggle",
663
+ "reasoningProfile": {
664
+ "reasoningPreset": "minimax-m2-always",
665
+ "effortStrategy": "prompt-only",
666
+ "supportedEfforts": [
667
+ { "value": "low", "description": "Thinking is always on" },
668
+ { "value": "medium", "description": "Thinking is always on", "isDefault": true },
669
+ { "value": "high", "description": "Thinking is always on" },
670
+ { "value": "xhigh", "description": "Thinking is always on" },
671
+ { "value": "max", "description": "Thinking is always on" }
672
+ ],
673
+ "localRejectEfforts": ["none", "minimal"]
674
+ }
675
+ }
676
+ ],
677
+ "reasoningCapability": "native-adaptive",
678
+ "reasoningProfile": {
679
+ "reasoningPreset": "minimax-m3",
680
+ "effortStrategy": "provider-toggle",
681
+ "thinkingStrategy": "anthropic-adaptive",
682
+ "supportedEfforts": [
683
+ { "value": "none", "description": "Disable thinking" },
684
+ { "value": "minimal", "description": "Disable thinking", "isUserVisible": false },
685
+ { "value": "low", "description": "Adaptive thinking" },
686
+ { "value": "medium", "description": "Adaptive thinking", "isDefault": true },
687
+ { "value": "high", "description": "Adaptive thinking" },
688
+ { "value": "xhigh", "description": "Adaptive thinking" },
689
+ { "value": "max", "description": "Adaptive thinking" }
690
+ ],
691
+ "disabledEfforts": ["none", "minimal"],
692
+ "supportsAdaptiveThinking": true,
693
+ "supportsDisabledThinking": true
694
+ },
693
695
  "capabilityProfile": "image-input-native",
694
696
  "supportsThinking": true,
695
- "contextWindow": 204800,
697
+ "contextWindow": 1000000,
696
698
  "maxOutputTokens": 32000,
697
699
  "verifyStrategy": "count-tokens"
698
700
  },