@kodax-ai/kodax 0.7.93 → 0.7.95

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 (103) hide show
  1. package/CHANGELOG.md +162 -0
  2. package/README.md +88 -18
  3. package/README_CN.md +51 -0
  4. package/dist/builtin/skill-creator/SKILL.md +5 -0
  5. package/dist/builtin/skill-creator/scripts/init-skill.js +5 -4
  6. package/dist/chunks/agent-XXZMXKKA.js +2 -0
  7. package/dist/chunks/argument-completer-KCYDGTQW.js +2 -0
  8. package/dist/chunks/{chunk-YVG6OKN7.js → chunk-2PEDBGKN.js} +1 -1
  9. package/dist/chunks/{chunk-XTWIGVUL.js → chunk-2TM3W3GK.js} +10 -10
  10. package/dist/chunks/{chunk-3YOZIFSJ.js → chunk-6ABQJUK6.js} +252 -251
  11. package/dist/chunks/chunk-77PNP27P.js +92 -0
  12. package/dist/chunks/{chunk-JTZKC4TV.js → chunk-7JXA3533.js} +232 -233
  13. package/dist/chunks/{chunk-7XSZVOG7.js → chunk-BNVSKIAB.js} +340 -142
  14. package/dist/chunks/chunk-BR2OSB2I.js +722 -0
  15. package/dist/chunks/{chunk-HLZWPB32.js → chunk-C4DTUKTR.js} +2 -2
  16. package/dist/chunks/{chunk-4BY53JTF.js → chunk-DSMONSVB.js} +121 -122
  17. package/dist/chunks/{chunk-PRASABCC.js → chunk-JS452J2F.js} +2 -2
  18. package/dist/chunks/chunk-O743AJ5V.js +323 -0
  19. package/dist/chunks/{chunk-GRWUC6H7.js → chunk-OK4AXDC5.js} +1 -1
  20. package/dist/chunks/chunk-Q5VRWSKG.js +418 -0
  21. package/dist/chunks/{chunk-GH3KBC2H.js → chunk-SRIJX5ZP.js} +1 -1
  22. package/dist/chunks/chunk-XWRPOGJN.js +4 -0
  23. package/dist/chunks/chunk-Y5VIQBT6.js +383 -0
  24. package/dist/chunks/{client-OVYKC3ND.js → client-JDOS3YJR.js} +1 -1
  25. package/dist/chunks/compaction-config-EGS4577X.js +2 -0
  26. package/dist/chunks/{construction-bootstrap-474QPSYB.js → construction-bootstrap-YCWHHUYO.js} +1 -1
  27. package/dist/chunks/dist-KFYN3OKD.js +2 -0
  28. package/dist/chunks/host-VAYADIPW.js +2 -0
  29. package/dist/chunks/run-manager-52IJZMZJ.js +2 -0
  30. package/dist/chunks/utils-P7PBSL3R.js +2 -0
  31. package/dist/index.d.ts +26 -26
  32. package/dist/index.js +2 -2
  33. package/dist/kodax_bootstrap.js +1 -1
  34. package/dist/kodax_cli.js +1869 -1461
  35. package/dist/kodax_resume.js +35 -35
  36. package/dist/runtime-worker.js +1819 -1411
  37. package/dist/sandbox-workspace-session.js +481 -638
  38. package/dist/sdk-a2a.d.ts +18 -18
  39. package/dist/sdk-a2a.js +1 -1
  40. package/dist/sdk-agent.d.ts +47 -26
  41. package/dist/sdk-agent.js +1 -1
  42. package/dist/sdk-coding.d.ts +54 -39
  43. package/dist/sdk-coding.js +1 -1
  44. package/dist/sdk-experimental-memory.d.ts +6 -6
  45. package/dist/sdk-experimental-memory.js +1 -1
  46. package/dist/sdk-llm.d.ts +8 -8
  47. package/dist/sdk-mcp.d.ts +4 -4
  48. package/dist/sdk-mcp.js +1 -1
  49. package/dist/sdk-media.d.ts +1 -1
  50. package/dist/sdk-media.js +1 -1
  51. package/dist/sdk-repl.d.ts +43 -25
  52. package/dist/sdk-repl.js +2 -2
  53. package/dist/sdk-runtime.d.ts +57 -32
  54. package/dist/sdk-runtime.js +1 -1
  55. package/dist/sdk-sandbox.d.ts +10 -1
  56. package/dist/sdk-sandbox.js +1 -1
  57. package/dist/sdk-session.d.ts +10 -10
  58. package/dist/sdk-session.js +1 -1
  59. package/dist/sdk-skills.d.ts +2 -333
  60. package/dist/sdk-skills.js +1 -1
  61. package/dist/semantic-worker.js +279 -81
  62. package/dist/types-chunks/{base.d-JjF6aKsh.d.ts → base.d-vopO1rml.d.ts} +1 -1
  63. package/dist/types-chunks/{bash-prefix-extractor.d-BMi_TJIY.d.ts → bash-prefix-extractor.d-B2rxNI4L.d.ts} +70 -9
  64. package/dist/types-chunks/{capability-learning.d-BAxy0mfx.d.ts → capability-learning.d-CE1tm29C.d.ts} +1 -1
  65. package/dist/types-chunks/{capsule.d-nYbM4MNL.d.ts → capsule.d-Y7QRS4J2.d.ts} +5 -5
  66. package/dist/types-chunks/{config.d-CTPaqsD-.d.ts → config.d-CJy1WENT.d.ts} +1 -1
  67. package/dist/types-chunks/{controller.d-CTvvOy_V.d.ts → controller.d-BR-UVeUR.d.ts} +1 -1
  68. package/dist/types-chunks/{controller.d-Bm1i9RVj.d.ts → controller.d-C5noq5-w.d.ts} +4 -4
  69. package/dist/types-chunks/{cost-tracker.d-MTAt6N7b.d.ts → cost-tracker.d-BeaenODW.d.ts} +1 -1
  70. package/dist/types-chunks/{guardrail.d-CKkoea7y.d.ts → guardrail.d-DqHD-61O.d.ts} +9 -9
  71. package/dist/types-chunks/{history-retrieval.d-D0LNyBED.d.ts → history-retrieval.d-CKU8zmt_.d.ts} +2 -2
  72. package/dist/types-chunks/{integration-config.d-BHoiz-WZ.d.ts → integration-config.d-BNowXE8k.d.ts} +3 -3
  73. package/dist/types-chunks/{manager.d-D_1fqveb.d.ts → manager.d-B67TmPO1.d.ts} +3 -3
  74. package/dist/types-chunks/{oauth-login.d-Cz9OpSmz.d.ts → oauth-login.d-6i-vidxv.d.ts} +3 -3
  75. package/dist/types-chunks/{public-api.d-BsZWOq3P.d.ts → public-api.d-D7fXaWW8.d.ts} +7 -6
  76. package/dist/types-chunks/{repl.d-DxD0Olm0.d.ts → repl.d-BYDb14s6.d.ts} +8 -8
  77. package/dist/types-chunks/{resolver.d-DparsV6Y.d.ts → resolver.d-CwHUwbdE.d.ts} +4 -4
  78. package/dist/types-chunks/{review-inbox.d-dAtGH3g2.d.ts → review-inbox.d-BSgFewyj.d.ts} +3 -3
  79. package/dist/types-chunks/{run-manager.d-BeSEc2OL.d.ts → run-manager.d-BVJSntpS.d.ts} +2 -2
  80. package/dist/types-chunks/{sdk-session-BTzblJTQ.d.ts → sdk-session-CqEG84oP.d.ts} +3 -3
  81. package/dist/types-chunks/sdk-skills-DokfOoJF.d.ts +335 -0
  82. package/dist/types-chunks/{shell-command-sets.d-C2cc9Hwi.d.ts → shell-command-sets.d-DqaaBwhU.d.ts} +1 -1
  83. package/dist/types-chunks/{side-query.d-DNes6rHA.d.ts → side-query.d-iH0P9ASy.d.ts} +3 -3
  84. package/dist/types-chunks/{types-D8OiIEwA.d.ts → types-PHjfwebT.d.ts} +1 -1
  85. package/dist/types-chunks/{types.d-DrtP1ceI.d.ts → types.d-C5xQEFcj.d.ts} +6 -6
  86. package/dist/types-chunks/{types.d-Cv09EdJR.d.ts → types.d-CK9A9rpP.d.ts} +1 -1
  87. package/dist/types-chunks/{types.d-Dc3kwcjC.d.ts → types.d-CaTXAW_Q.d.ts} +14 -3
  88. package/dist/types-chunks/{types.d-BEMcUOng.d.ts → types.d-Cb8RdrjU.d.ts} +5 -4
  89. package/dist/types-chunks/{types.d-EjZTEEVu.d.ts → types.d-rUOjXych.d.ts} +6 -2
  90. package/dist/types-chunks/{utils.d-50Q24Few.d.ts → utils.d-CWUyLiXo.d.ts} +8 -8
  91. package/package.json +2 -2
  92. package/dist/chunks/agent-R7HVNARP.js +0 -2
  93. package/dist/chunks/argument-completer-JHXUJWHC.js +0 -2
  94. package/dist/chunks/chunk-A3ZQE2BX.js +0 -519
  95. package/dist/chunks/chunk-D27EY4XC.js +0 -383
  96. package/dist/chunks/chunk-JJ2YDBSN.js +0 -415
  97. package/dist/chunks/chunk-QFV6YCIH.js +0 -92
  98. package/dist/chunks/chunk-SMVC3Q3U.js +0 -320
  99. package/dist/chunks/compaction-config-2TVSYSB4.js +0 -2
  100. package/dist/chunks/dist-H4PT2QAV.js +0 -2
  101. package/dist/chunks/host-OR3IO2A4.js +0 -2
  102. package/dist/chunks/run-manager-MNOTWIFX.js +0 -2
  103. package/dist/chunks/utils-5J4BHNBV.js +0 -2
@@ -1,12 +1,12 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- var _o=Object.defineProperty;var o=(e,t)=>_o(e,"name",{value:t,configurable:!0});var tt=(e,t)=>()=>(e&&(t=e(e=0)),t);var an,Br,jr=tt(()=>{an=class{static{o(this,"WebSocketStub")}},Br=an});var yt,Hr=tt(()=>{"use strict";jr();yt=global;yt.WebSocket||=Br;yt.window||=global;yt.self||=global;yt.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 $r,cn,Ur=tt(()=>{$r=o(()=>{},"noop"),cn={initialize:$r,connectToDevTools:$r}});var ua={};var zr=tt(()=>{"use strict";Hr();Ur();cn.initialize();cn.connectToDevTools()});import xe from"node:fs/promises";import Tu from"node:os";import U from"node:path";import k from"fs/promises";import Ht from"fs";import T from"path";import Ft from"path";import{createHash as Bo}from"crypto";import{execFile as Po}from"child_process";import Fe from"fs";import P from"path";import{promisify as Fo}from"util";var Lo=Fo(Po);function X(e){if(!(!e||!e.trim()))return P.resolve(e).replace(/\\/g,"/")}o(X,"normalizePath");async function Do(e,t,n=5e3){try{let{stdout:r}=await Lo("git",t,{cwd:e,windowsHide:!0,maxBuffer:1048576,timeout:n}),i=r.trim();return i||void 0}catch{return}}o(Do,"gitStdout");function Qn(e){let t=P.resolve(e);for(;;){let n=P.join(t,".git");try{let i=Fe.statSync(n);if(i.isDirectory()){let s=X(t)??t.replace(/\\/g,"/");return{canonicalRoot:s,workspaceRoot:s}}if(i.isFile()){let s=/^gitdir:\s*(.+)$/im.exec(Fe.readFileSync(n,"utf8"));if(s?.[1]){let a=P.resolve(t,s[1].trim()),c;try{c=P.resolve(a,Fe.readFileSync(P.join(a,"commondir"),"utf8").trim())}catch{}let u=X(t)??t.replace(/\\/g,"/");return{canonicalRoot:tr(c)??u,workspaceRoot:u}}}}catch{}let r=P.dirname(t);if(r===t)return;t=r}}o(Qn,"filesystemWorkspaceIdentity");function Jn(e){let t=P.resolve(e).replace(/\\/g,"/");return process.platform==="win32"||process.platform==="darwin"?t.toLowerCase():t}o(Jn,"comparablePath");function Zn(e){let t=P.join(P.resolve(e),".git","worktrees"),n;try{n=Fe.readdirSync(t,{withFileTypes:!0})}catch(i){if(i.code==="ENOENT")return[];throw i}let r=Jn(e);return n.flatMap(i=>{if(!i.isDirectory())return[];try{let s=P.join(t,i.name),a=Fe.readFileSync(P.join(s,"gitdir"),"utf8").trim();if(!a)return[];let c=P.isAbsolute(a)?a:P.resolve(s,a),u=P.dirname(c),l=Qn(u);return l!==void 0&&Jn(l.canonicalRoot)===r?[l.workspaceRoot]:[]}catch{return[]}})}o(Zn,"discoverLinkedWorkspaceRoots");function Wo(e){let[t,n]=e?.split(/\r?\n/).map(s=>s.trim())??[],r=X(t);if(!r)return;let i=n?X(P.isAbsolute(n)?n:P.resolve(r,n)):void 0;return{canonicalRoot:tr(i)??r,workspaceRoot:r}}o(Wo,"parseProjectIdentityOutput");async function Pt(e={}){let t=X(e.cwd??process.cwd())??process.cwd().replace(/\\/g,"/"),n=Qn(t);return n!==void 0?n:Wo(await Do(t,["rev-parse","--path-format=absolute","--show-toplevel","--git-common-dir"],e.timeoutMs??2e3))??{canonicalRoot:t,workspaceRoot:t}}o(Pt,"resolveWorkspaceProjectIdentity");async function er(e={}){return(await Pt(e)).canonicalRoot}o(er,"resolveCanonicalWorkspaceRoot");function tr(e){let t=X(e);if(t)return P.posix.basename(t)===".git"?P.posix.dirname(t):t}o(tr,"deriveCanonicalRepoRoot");function nr(e){let t=X(e.runtimeInfo?.workspaceRoot??e.gitRoot),n=X(e.runtimeInfo?.executionCwd??t),r=X(e.runtimeInfo?.canonicalRepoRoot??t);if(!(!t&&!n&&!r))return{canonicalRepoRoot:r,workspaceRoot:t,executionCwd:n,branch:e.runtimeInfo?.branch,workspaceKind:e.runtimeInfo?.workspaceKind??"detected"}}o(nr,"resolveSessionRuntimeInfo");var Le="_unknown",rr=80;function jo(e){return process.platform==="win32"||process.platform==="darwin"?e.toLowerCase():e}o(jo,"caseFold");function Ho(e){return jo(Ft.resolve(e).replace(/\\/g,"/"))}o(Ho,"normalizeRoot");function ir(e){return Bo("sha256").update(e).digest("hex").slice(0,10)}o(ir,"shortHash");function $o(e){let t=e.replace(/[^a-z0-9]+/gi,"-").replace(/^-+|-+$/g,"");return t.length>rr?t.slice(t.length-rr):t}o($o,"slugify");function Se(e){if(!e||!e.trim())return{key:Le,canonicalRoot:null,displayName:Le};let t=Ho(e),n=$o(t),r=n?`${n}-${ir(t)}`:ir(t),i=Ft.basename(Ft.resolve(e).replace(/\\/g,"/"))||e;return{key:r,canonicalRoot:t,displayName:i}}o(Se,"deriveProjectKeyFromRoot");function nt(e){let t=nr({gitRoot:e.gitRoot??"",runtimeInfo:e.runtimeInfo}),n=t?.canonicalRepoRoot??t?.executionCwd??(e.gitRoot&&e.gitRoot.trim()?e.gitRoot:void 0);return Se(n)}o(nt,"deriveProjectKeyFromData");function or(e,t){let n=nt(e).canonicalRoot;return n!==null&&t.some(r=>Se(r).canonicalRoot===n)}o(or,"sessionProjectMatchesAnyRoot");import{randomUUID as Uo}from"node:crypto";import De from"node:fs/promises";import rt from"node:path";function sr(e){let t=rt.resolve(e).replace(/\\/g,"/");return process.platform==="win32"||process.platform==="darwin"?t.toLowerCase():t}o(sr,"comparableRoot");async function Lt(e){let t;try{t=await De.readFile(e,"utf8")}catch(r){if(r.code==="ENOENT")return;throw r}let n=JSON.parse(t);if(n===null||typeof n!="object"||typeof n.canonicalRoot!="string")throw new Error(`Invalid project identity manifest at ${e}`);return sr(n.canonicalRoot)}o(Lt,"existingCanonicalRoot");async function ar(e){return await Lt(rt.join(e,"project.json"))!==void 0}o(ar,"projectManifestExists");async function it(e,t){if(t.canonicalRoot===null)return;await De.mkdir(e,{recursive:!0});let n=rt.join(e,"project.json"),r=sr(t.canonicalRoot),i=await Lt(n);if(i!==void 0){if(i!==r)throw new Error(`Conflicting project identity at ${n}`);return}let s=rt.join(e,`.project.${process.pid}.${Uo()}.tmp`),a=await De.open(s,"wx");try{await a.writeFile(JSON.stringify({canonicalRoot:t.canonicalRoot,displayName:t.displayName,lastUsed:new Date().toISOString()})+`
3
- `,"utf8"),await a.sync()}finally{await a.close()}try{await De.link(s,n)}catch(c){if(c.code!=="EEXIST")throw c;if(await Lt(n)!==r)throw new Error(`Conflicting project identity at ${n}`)}finally{await De.rm(s,{force:!0})}}o(it,"publishProjectManifest");import ot from"node:fs/promises";import We from"node:path";var Dt=".conversation-cache.",il=`${Dt}json`,fe=class extends Error{static{o(this,"ConversationPageCacheCleanupError")}directory;cleanupCause;constructor(t,n){super(`Unable to remove recoverable Conversation page caches from ${t}`),this.directory=t,this.cleanupCause=n,this.name="ConversationPageCacheCleanupError"}};function cr(e){let t=e.lastIndexOf(Dt);if(t<=0)return;let n=e.slice(t+Dt.length);if(!(n!=="json"&&!(n.startsWith("json.")&&n.endsWith(".tmp"))&&!n.endsWith(".data")&&!n.endsWith(".index")))return e.slice(0,t)}o(cr,"cacheArtifactSessionId");async function ur(e){let t=We.dirname(e),n=We.basename(e,We.extname(e)),r;try{r=await ot.readdir(t)}catch(i){if(i.code==="ENOENT")return;throw i}await Promise.all(r.filter(i=>cr(i)===n).map(i=>ot.rm(We.join(t,i),{force:!0})))}o(ur,"removeConversationPageCache");async function Wt(e){let t;try{t=await ot.readdir(e,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;throw new fe(e,n)}try{await Promise.all(t.filter(n=>!n.isDirectory()&&cr(n.name)!==void 0).map(n=>ot.rm(We.join(e,n.name),{force:!0})))}catch(n){throw new fe(e,n)}}o(Wt,"removeConversationPageCachesInDirectory");var fr=3,zo=300*1e3,Yo=65536,Bt=o(e=>T.join(e,".layout.json"),"layoutMarkerPath"),$t=o(e=>T.join(e,".migration-lock"),"lockDirPath"),dr=o(e=>T.join($t(e),"owner.json"),"ownerPath"),jt=o(e=>T.join(e,".migration-journal.jsonl"),"journalPath"),st=o(e=>T.join(T.dirname(e),"sessions-archive"),"sessionsArchiveDir");function at(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith(".")}o(at,"isSessionFile");function pr(e){return e.endsWith(".archive.jsonl")||e.endsWith(".islands.jsonl")?e.slice(0,-14):null}o(pr,"sidecarId");async function Ko(e){let t;try{t=await k.open(e,"r");let n=[],r=0,i=0;for(;;){let c=Buffer.allocUnsafe(Yo),{bytesRead:u}=await t.read(c,0,c.length,i);if(u===0)break;let l=c.subarray(0,u),f=l.indexOf(10),d=f>=0?l.subarray(0,f):l;if(n.push(d),r+=d.length,f>=0)break;i+=u}let s=Buffer.concat(n,r).toString("utf8").trim();if(!s)return null;let a=JSON.parse(s);if(a&&typeof a=="object"&&a._type==="meta"){let c=a;return{gitRoot:typeof c.gitRoot=="string"?c.gitRoot:void 0,runtimeInfo:c.runtimeInfo}}return null}catch{return null}finally{await t?.close()}}o(Ko,"readMeta");async function hr(e,t){let n=await Ko(e);if(!n)return nt({});let r=n.runtimeInfo!==null&&typeof n.runtimeInfo=="object"?n.runtimeInfo:void 0,i=n.runtimeInfo,s=typeof r?.workspaceRoot=="string"?r.workspaceRoot:n.gitRoot,a=s??(typeof r?.canonicalRepoRoot=="string"?r.canonicalRepoRoot:void 0);if(a&&Ht.existsSync(a)){let c=T.resolve(a),u=t.get(c);u===void 0&&(u=er({cwd:a,timeoutMs:750}),t.set(c,u)),i={...r,canonicalRepoRoot:await u,...s!==void 0?{workspaceRoot:s}:{}}}return nt({gitRoot:n.gitRoot,runtimeInfo:i})}o(hr,"destIdentityFor");async function Go(e){let t=[],n=o(async(r,i)=>{let s=[];try{s=await k.readdir(r,{withFileTypes:!0})}catch{return}for(let a of s)!a.isFile()||a.name.startsWith(".")||(at(a.name)||i&&pr(a.name)!==null)&&t.push(T.join(r,a.name))},"pushDir");return await n(e,!0),await n(st(e),!0),t}o(Go,"collectMigrationSources");function Vo(e,t){return T.join(e,t)}o(Vo,"targetDirectory");async function Xo(e){let t=await Go(e),n=t.filter(a=>at(T.basename(a))),r=new Set(n.map(a=>`${T.dirname(a)}\0${T.basename(a,".jsonl")}`)),i=[],s=new Map;for(let a of n){let c=T.basename(a,".jsonl"),u=(await hr(a,s)).key,l=Vo(e,u);i.push({from:a,to:T.join(l,`${c}.jsonl`),reason:`session\u2192${u}`});for(let f of[".archive.jsonl",".islands.jsonl"]){let d=T.join(T.dirname(a),`${c}${f}`);Ht.existsSync(d)&&i.push({from:d,to:T.join(l,`${c}.islands.jsonl`),reason:"sidecar\u2192islands"})}}for(let a of t){let c=pr(T.basename(a));c===null||r.has(`${T.dirname(a)}\0${c}`)||i.push({from:a,to:T.join(e,Le,"orphan-islands",`${c}.islands.jsonl`),reason:"orphan-sidecar\u2192_unknown"})}return i}o(Xo,"planMigration");async function qo(e){try{let t=JSON.parse(await k.readFile(Bt(e),"utf8"));return t!==null&&typeof t=="object"&&t.version===fr}catch{return!1}}o(qo,"isMigrated");async function lr(e){await Wt(e),await Wt(st(e))}o(lr,"removeLegacyConversationCaches");async function Jo(e){try{let t=JSON.parse(await k.readFile(dr(e),"utf8"));if(typeof t.pid=="number"&&t.pid!==process.pid)try{process.kill(t.pid,0)}catch(n){if(n.code==="ESRCH")return!0}return typeof t.heartbeatAt=="number"&&Date.now()-t.heartbeatAt>zo}catch{return!0}}o(Jo,"lockIsStale");async function Qo(e){let t=$t(e);for(let n=0;n<2;n+=1)try{return await k.mkdir(t),await k.writeFile(dr(e),JSON.stringify({pid:process.pid,startTime:Date.now(),heartbeatAt:Date.now()})),!0}catch(r){if(r.code!=="EEXIST")return!1;if(n===0&&await Jo(e)){await k.rm(t,{recursive:!0,force:!0}).catch(()=>{});continue}return!1}return!1}o(Qo,"acquireLock");async function Zo(e){await k.rm($t(e),{recursive:!0,force:!0}).catch(()=>{})}o(Zo,"releaseLock");async function es(e){try{if((await k.readdir(T.join(e,".write-locks"),{withFileTypes:!0})).some(n=>n.isFile()&&/^[0-9a-f]{64}\.lock$/.test(n.name)))throw new Error("Session layout migration deferred while a Session writer is active")}catch(t){if(t.code==="ENOENT")return;throw t}}o(es,"assertNoActiveSessionWriters");async function ts(e){let t=new Set;try{let n=await k.readFile(jt(e),"utf8");for(let r of n.split(`
4
- `))if(r.trim())try{let i=JSON.parse(r);i.done&&typeof i.from=="string"&&t.add(i.from)}catch{}}catch{}return t}o(ts,"readJournalDone");async function ns(e,t){if(T.resolve(e.from)===T.resolve(e.to))return!1;if(await k.mkdir(T.dirname(e.to),{recursive:!0}),Ht.existsSync(e.to)){let n=T.dirname(e.from);return n===t||n===st(t)?(await k.unlink(e.from).catch(()=>{}),!0):!1}try{await k.rename(e.from,e.to)}catch(n){let r=n.code;if(r==="EXDEV")await k.copyFile(e.from,e.to),await k.unlink(e.from).catch(()=>{});else if(r!=="ENOENT")throw n}return!0}o(ns,"executeMove");async function rs(e){let t=[],n=o(async r=>{try{for(let i of await k.readdir(r,{withFileTypes:!0}))i.isFile()&&at(i.name)&&t.push(T.join(r,i.name))}catch(i){if(i.code!=="ENOENT")throw i}},"append");return await n(e),await n(T.join(e,"archived")),t}o(rs,"readBucketMainFiles");async function is(e,t){let n=new Map,r=new Set(t.flatMap(i=>i.reason.startsWith("session\u2192")?[T.dirname(i.to)]:[]));for(let i of r){let s=T.basename(i);if(s===Le)continue;let a=await rs(i),c;for(let u of a){let l=await hr(u,n);if(l.canonicalRoot===null||l.key!==s||c!==void 0&&c.canonicalRoot!==l.canonicalRoot)throw new Error(`Cannot certify mixed project identities in ${i}`);c??=l}c!==void 0&&await it(i,c)}}o(is,"publishBucketManifests");async function os(e){await k.mkdir(e,{recursive:!0});let t=`${Bt(e)}.${process.pid}.tmp`,n=JSON.stringify({version:fr,migratedAt:new Date().toISOString(),from:"flat-v1"});await k.writeFile(t,n+`
5
- `,"utf8"),await k.rename(t,Bt(e))}o(os,"writeMarker");async function ss(e){let t=st(e);try{(await k.readdir(t)).length===0&&await k.rmdir(t).catch(()=>{})}catch{}}o(ss,"retireSessionsArchive");async function as(e){if(!await Qo(e))return{moved:0,planned:0};try{await es(e),await lr(e);let t=await Xo(e),n=await ts(e),r=await k.open(jt(e),"a"),i=0;try{for(let s of t){if(at(T.basename(s.from)))try{await ur(s.to)}catch(c){throw new fe(T.dirname(s.to),c)}if(n.has(s.from))continue;let a=await ns(s,e);await r.write(JSON.stringify({from:s.from,to:s.to,done:!0})+`
6
- `),a&&(i+=1)}}finally{await r.close()}return await ss(e),await lr(e),await is(e,t),await os(e),await k.rm(jt(e),{force:!0}).catch(()=>{}),{moved:i,planned:t.length}}finally{await Zo(e)}}o(as,"runMigration");async function mr(e){try{if(await qo(e))return;await as(e)}catch(t){if(t instanceof fe)throw t}}o(mr,"ensureLayoutMigrated");import{createHash as Gt,randomUUID as Vt}from"node:crypto";import v from"node:fs/promises";import H from"node:path";var Ee=7,cs=".resume-index",us="complete.json",ls="publish.lock",Cr=".resume",gr=32,fs=2e3,ft=10,Ut=3e4,Re=40,ct=new Map,Ce=new Map;async function se(e,t){let n=[];for(let r=0;r<e.length;r+=gr){let i=e.slice(r,r+gr);n.push(...await Promise.all(i.map((s,a)=>t(s,r+a))))}return n}o(se,"mapBatches");function J(e){return H.join(e,cs)}o(J,"indexDir");function Xt(e){return H.join(J(e),us)}o(Xt,"manifestPath");function qt(e){return`${Gt("sha256").update(e,"utf8").digest("hex")}${Cr}`}o(qt,"markerName");function ds(e,t){return H.join(J(e),qt(t))}o(ds,"markerPath");function wr(e){try{let t=JSON.parse(e);return!be(t)||typeof t.pid!="number"||!Number.isInteger(t.pid)||t.pid<=0||typeof t.token!="string"||t.token.length===0?void 0:{pid:t.pid,token:t.token}}catch{return}}o(wr,"parseIndexPublishLockOwner");async function yr(e){for(let t=0;t<Re;t+=1)try{return await v.rmdir(e),!0}catch(n){let r=n.code;if(r==="ENOENT")return!0;if(!["EPERM","EACCES","EBUSY"].includes(r??""))return!1;t+1<Re&&await new Promise(i=>setTimeout(i,ft))}return!1}o(yr,"removeEmptyIndexLockDirectory");async function ps(e){let t=`${e}.reclaim`;for(let n=0;n<2;n+=1)try{return await v.mkdir(t),async()=>{await yr(t)||process.emitWarning(`Unable to release resume-index reclaim guard ${t}`,{code:"KODAX_RESUME_INDEX"})}}catch(r){if(r.code!=="EEXIST")throw r;if(n>0)return;try{let i=await v.stat(t);if(Date.now()-i.mtimeMs<Ut)return}catch(i){if(i.code==="ENOENT")continue;throw i}if(!await yr(t))return}}o(ps,"acquireIndexLockReclaimGuard");function xr(e){try{return process.kill(e,0),!1}catch(t){return t.code==="ESRCH"}}o(xr,"processIsDefinitelyDead");async function ut(e){try{let[t,n]=await Promise.all([v.readFile(e,"utf8"),v.stat(e)]);return{content:t,mtimeMs:n.mtimeMs}}catch(t){if(t.code==="ENOENT")return;throw t}}o(ut,"readIndexPublishLock");async function zt(e,t){for(let n=0;n<Re;n+=1){let r=await ut(e);if(r===void 0)return!0;if(r.content!==t)return!1;try{return await v.rm(e),!0}catch(i){let s=i.code;if(s==="ENOENT")return!0;if(!["EPERM","EACCES","EBUSY"].includes(s??""))return!1;n+1<Re&&await new Promise(a=>setTimeout(a,ft))}}return!1}o(zt,"removeObservedIndexPublishLock");async function hs(e){let t=await ut(e);if(t===void 0)return!0;if(Ce.get(e)===t.content){let i=await zt(e,t.content);return i&&Ce.delete(e),i}let n=wr(t.content);if(n!==void 0){if(!xr(n.pid))return!1}else if(Date.now()-t.mtimeMs<Ut)return!1;let r=await ps(e);if(r===void 0)return!1;try{let i=await ut(e);if(i===void 0)return!0;let s=wr(i.content);return Ce.get(e)===i.content||(s!==void 0?xr(s.pid):Date.now()-i.mtimeMs>=Ut)?zt(e,i.content):!1}finally{await r()}}o(hs,"reclaimAbandonedIndexPublishLock");async function ms(e){let t;for(let r=0;r<Re;r+=1)try{await v.rm(e,{force:!0});return}catch(i){t=i;let s=i.code;if(!["EPERM","EACCES","EBUSY"].includes(s??""))break;r+1<Re&&await new Promise(a=>setTimeout(a,ft))}let n=t instanceof Error?t.message:String(t);process.emitWarning(`Unable to remove resume-index lock temp file ${e}: ${n}`,{code:"KODAX_RESUME_INDEX"})}o(ms,"removeIndexPublishLockTemp");async function gs(e,t){await v.mkdir(H.dirname(e),{recursive:!0});let n=`${e}.${process.pid}.${Vt()}.tmp`;await v.writeFile(n,t,{encoding:"utf8",flag:"wx"});let r=Date.now()+fs;try{for(;;)try{await v.link(n,e);return}catch(i){let s=i.code;if(!["EEXIST","EPERM","EACCES","EBUSY"].includes(s??""))throw i;if(await ut(e)!==void 0&&await hs(e))continue;if(Date.now()>=r)throw new Error(`Resume index publish lock timed out: ${e}`,{cause:i});await new Promise(c=>setTimeout(c,ft))}}finally{await ms(n)}}o(gs,"acquireIndexPublishLock");async function ws(e,t){if(!await zt(e,t))throw Ce.set(e,t),new Error(`Resume index publish lock ownership changed: ${e}`);Ce.get(e)===t&&Ce.delete(e)}o(ws,"releaseIndexPublishLock");async function ys(e,t){let n=H.join(J(e),ls),r=ct.get(n)??Promise.resolve(),i,s=new Promise(c=>{i=c});ct.set(n,s),await r.catch(()=>{});let a=JSON.stringify({pid:process.pid,token:Vt()});try{await gs(n,a);try{return await t()}finally{await ws(n,a)}}finally{i(),ct.get(n)===s&&ct.delete(n)}}o(ys,"withIndexPublishLock");function be(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}o(be,"isRecord");function xs(e){if(!(!be(e)||typeof e.id!="string"||e.id.length===0||H.basename(e.id)!==e.id||typeof e.title!="string"||typeof e.msgCount!="number"||!Number.isInteger(e.msgCount)||e.msgCount<=0||e.createdAt!==void 0&&typeof e.createdAt!="string"||e.surface!==void 0&&typeof e.surface!="string"))return{id:e.id,title:e.title,msgCount:e.msgCount,...e.createdAt!==void 0?{createdAt:e.createdAt}:{},...e.surface!==void 0?{surface:e.surface}:{}}}o(xs,"parseEntry");function Ss(e){if(!be(e))return;let t=Array.isArray(e.markerNames)&&e.markerNames.every(i=>typeof i=="string")?[...e.markerNames].sort():void 0,n=Array.isArray(e.sessionNames)&&e.sessionNames.every(i=>typeof i=="string")?[...e.sessionNames].sort():void 0,r=Array.isArray(e.excludedSources)?e.excludedSources.flatMap(i=>!be(i)||typeof i.name!="string"||typeof i.sourceSize!="number"||!Number.isInteger(i.sourceSize)||i.sourceSize<0||typeof i.sourceMtimeMs!="number"||!Number.isFinite(i.sourceMtimeMs)||typeof i.sourceCtimeMs!="number"||!Number.isFinite(i.sourceCtimeMs)||typeof i.sourceDev!="number"||!Number.isInteger(i.sourceDev)||typeof i.sourceIno!="number"||!Number.isInteger(i.sourceIno)?[]:[{name:i.name,sourceSize:i.sourceSize,sourceMtimeMs:i.sourceMtimeMs,sourceCtimeMs:i.sourceCtimeMs,sourceDev:i.sourceDev,sourceIno:i.sourceIno}]):void 0;if(!(e.version!==Ee||t===void 0||typeof e.markerCount!="number"||!Number.isInteger(e.markerCount)||e.markerCount<0||typeof e.markerDigest!="string"||n===void 0||typeof e.sessionFileCount!="number"||!Number.isInteger(e.sessionFileCount)||e.sessionFileCount<0||typeof e.sessionFileDigest!="string"||r===void 0||typeof e.excludedSourceCount!="number"||!Number.isInteger(e.excludedSourceCount)||e.excludedSourceCount<0||typeof e.excludedSourceDigest!="string"||t.length!==e.markerCount||q(t)!==e.markerDigest||n.length!==e.sessionFileCount||q(n)!==e.sessionFileDigest||r.length!==e.excludedSourceCount||Jt(r)!==e.excludedSourceDigest))return{version:Ee,markerNames:t,markerCount:e.markerCount,markerDigest:e.markerDigest,sessionNames:n,sessionFileCount:e.sessionFileCount,sessionFileDigest:e.sessionFileDigest,excludedSources:r,excludedSourceCount:e.excludedSourceCount,excludedSourceDigest:e.excludedSourceDigest}}o(Ss,"parseManifest");function Cs(e,t){if(!be(e)||e.version!==Ee||e.state!=="pending"&&e.state!=="ready")return;let n=xs(e.entry);if(!n||qt(n.id)!==t)return;let r=be(e.source)&&typeof e.source.size=="number"&&Number.isInteger(e.source.size)&&e.source.size>=0&&typeof e.source.mtimeMs=="number"&&Number.isFinite(e.source.mtimeMs)&&typeof e.source.ctimeMs=="number"&&Number.isFinite(e.source.ctimeMs)&&typeof e.source.dev=="number"&&Number.isInteger(e.source.dev)&&typeof e.source.ino=="number"&&Number.isInteger(e.source.ino)?{size:e.source.size,mtimeMs:e.source.mtimeMs,ctimeMs:e.source.ctimeMs,dev:e.source.dev,ino:e.source.ino}:void 0;if(!(e.state==="ready"&&r===void 0))return{version:Ee,state:e.state,entry:n,...r!==void 0?{source:r}:{}}}o(Cs,"parseMarker");function q(e){let t=Gt("sha256");for(let n of[...e].sort())t.update(n),t.update(`
7
- `);return t.digest("hex")}o(q,"digestMarkerNames");function Jt(e){let t=Gt("sha256");for(let n of[...e].sort((r,i)=>r.name.localeCompare(i.name)))t.update(JSON.stringify([n.name,n.sourceSize,n.sourceMtimeMs,n.sourceCtimeMs,n.sourceDev,n.sourceIno])),t.update(`
8
- `);return t.digest("hex")}o(Jt,"digestScannedFiles");async function Yt(e){try{return(await v.readdir(J(e),{withFileTypes:!0})).filter(t=>t.isFile()&&t.name.endsWith(Cr)).map(t=>t.name).sort()}catch(t){if(t.code==="ENOENT")return[];throw t}}o(Yt,"readMarkerNames");async function Kt(e){try{return(await v.readdir(e,{withFileTypes:!0})).filter(t=>t.isFile()&&t.name.endsWith(".jsonl")&&!t.name.endsWith(".archive.jsonl")&&!t.name.endsWith(".islands.jsonl")&&!t.name.startsWith("archived-")&&!t.name.startsWith(".")).map(t=>t.name).sort()}catch(t){if(t.code==="ENOENT")return[];throw t}}o(Kt,"readCanonicalSessionNames");async function lt(e,t){let n;try{n=await v.readFile(H.join(J(e),t),"utf8")}catch(r){if(r.code!=="ENOENT")throw r;return}try{return Cs(JSON.parse(n),t)}catch{return}}o(lt,"readMarker");async function Er(e,t){let n=`${e}.${process.pid}.${Vt()}.tmp`;await v.writeFile(n,t,"utf8");try{await v.rename(n,e)}catch(r){if(!["EEXIST","EPERM"].includes(r.code??""))throw r;await v.rm(e,{force:!0}),await v.rename(n,e)}finally{await v.rm(n,{force:!0})}}o(Er,"replaceDerivedFile");async function Es(e){await v.rm(Xt(e),{force:!0})}o(Es,"invalidateManifest");async function Rs(e,t,n,r,i){let s=J(e),a=ds(e,t.id);if(await v.mkdir(s,{recursive:!0}),!r)try{return await v.access(a),!1}catch(l){if(l.code!=="ENOENT")throw l}let c=r?await lt(e,qt(t.id)):void 0,u={version:Ee,state:n,entry:{...c?.entry,...t},...i!==void 0?{source:i}:{}};return await Er(a,JSON.stringify(u)),!0}o(Rs,"writeMarker");async function Qt(e,t){try{let n=await v.stat(H.join(e,`${t}.jsonl`));return n.isFile()?{size:n.size,mtimeMs:n.mtimeMs,ctimeMs:n.ctimeMs,dev:n.dev,ino:n.ino}:void 0}catch(n){if(n.code==="ENOENT")return;throw n}}o(Qt,"canonicalSource");async function bs(e,t){let n=H.basename(t,".jsonl");if(`${n}.jsonl`!==t)return;let r=await Qt(e,n);return r===void 0?void 0:{name:t,sourceSize:r.size,sourceMtimeMs:r.mtimeMs,sourceCtimeMs:r.ctimeMs,sourceDev:r.dev,sourceIno:r.ino}}o(bs,"currentScannedFile");function Ts(e,t){return e!==void 0&&e.size===t.sourceSize&&e.mtimeMs===t.sourceMtimeMs&&e.ctimeMs===t.sourceCtimeMs&&e.dev===t.sourceDev&&e.ino===t.sourceIno}o(Ts,"sourceMatchesIdentity");async function Sr(e,t){return(await se(t,async r=>{let i=H.basename(r.name,".jsonl");return`${i}.jsonl`!==r.name?!1:Ts(await Qt(e,i),r)})).every(Boolean)}o(Sr,"scannedFilesStillMatch");async function Rr(e,t){if(t.state!=="ready"||t.source===void 0)return!1;let n=await Qt(e,t.entry.id);return n!==void 0&&n.size===t.source.size&&n.mtimeMs===t.source.mtimeMs&&n.ctimeMs===t.source.ctimeMs&&n.dev===t.source.dev&&n.ino===t.source.ino}o(Rr,"markerMatchesCanonical");async function Ms(e,t,n,r){await v.mkdir(J(e),{recursive:!0});let i=[...t].sort(),s=[...n].sort(),a=[...r].sort((u,l)=>u.name.localeCompare(l.name)),c={version:Ee,markerNames:i,markerCount:i.length,markerDigest:q(i),sessionNames:s,sessionFileCount:s.length,sessionFileDigest:q(s),excludedSources:a,excludedSourceCount:a.length,excludedSourceDigest:Jt(a)};await Er(Xt(e),JSON.stringify(c))}o(Ms,"writeManifest");async function br(e){let t;try{t=await v.readFile(Xt(e),"utf8")}catch(f){if(f.code!=="ENOENT")throw f;return}let n;try{n=Ss(JSON.parse(t))}catch{return}if(!n)return;let r=await Yt(e),i=await Kt(e);if(r.length!==n.markerCount||q(r)!==n.markerDigest||i.length!==n.sessionFileCount||q(i)!==n.sessionFileDigest)return;let s=await se(r,f=>lt(e,f));if(s.some(f=>f===void 0||f.state!=="ready")||(await se(s,async f=>f===void 0?!1:Rr(e,f))).some(f=>!f))return;let c=new Set(s.flatMap(f=>f?.state==="ready"?[`${f.entry.id}.jsonl`]:[])),u=i.filter(f=>!c.has(f));if(u.length!==n.excludedSourceCount)return;let l=await se(u,f=>bs(e,f));if(!(l.some(f=>f===void 0)||Jt(l.flatMap(f=>f===void 0?[]:[f]))!==n.excludedSourceDigest))return s.flatMap(f=>f?.state==="ready"?[f.entry]:[])}o(br,"readResumeIndex");async function Tr(e,t,n){await ys(e,()=>Is(e,t,n))}o(Tr,"completeResumeIndex");async function Is(e,t,n){let r=n.map(m=>m.name).sort(),i=q(r),s=await Kt(e);if(s.length!==r.length||q(s)!==i||!await Sr(e,n))return;await Es(e),await v.mkdir(J(e),{recursive:!0});let a=new Set(t.map(m=>m.id)),c=n.filter(m=>!a.has(H.basename(m.name,".jsonl")));for(let m of t)await Rs(e,m,"ready",!0,{size:m.sourceSize,mtimeMs:m.sourceMtimeMs,ctimeMs:m.sourceCtimeMs,dev:m.sourceDev,ino:m.sourceIno});let u=await Yt(e),l=await se(u,m=>lt(e,m));await se(u,async(m,y)=>{let w=l[y];(w===void 0||!a.has(w.entry.id))&&await v.rm(H.join(J(e),m),{force:!0})});let f=await Kt(e);if(f.length!==r.length||q(f)!==i||!await Sr(e,n))return;let d=await Yt(e),g=await se(d,m=>lt(e,m));g.some(m=>m?.state!=="ready")||g.length!==a.size||g.some(m=>m===void 0||!a.has(m.entry.id))||(await se(g,async m=>m===void 0?!1:Rr(e,m))).some(m=>!m)||await Ms(e,d,r,c)}o(Is,"completeResumeIndexWithLock");import{jsx as Je,jsxs as Pe}from"react/jsx-runtime";import{useMemo as yu,useRef as xu,useState as Ln}from"react";import{jsx as po}from"react/jsx-runtime";import{createContext as au,useContext as Pn,useEffect as _e,useMemo as fo,useState as cu,useCallback as ho,useRef as kt}from"react";import{Stream as Wc}from"node:stream";import{openSync as Bc,writeSync as eo}from"node:fs";import{performance as jc}from"node:perf_hooks";import{tmpdir as Hc}from"node:os";import{join as $c}from"node:path";import Zt,{forwardRef as ks,useContext as Os}from"react";import{createContext as vs}from"react";var Te=vs({isScreenReaderEnabled:!1});import{createContext as Ns}from"react";var dt=Ns(void 0);var Mr=ks(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":i,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:u}=Os(Te),l=n?Zt.createElement("ink-text",null,n):void 0;if(u&&r)return null;let f=Zt.createElement("ink-box",{ref:c,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:0,flexShrink:1,...a,backgroundColor:t,overflowX:a.overflowX??a.overflow??"visible",overflowY:a.overflowY??a.overflow??"visible"},internal_accessibility:{role:i,state:s}},u&&l?l:e);return t?Zt.createElement(dt.Provider,{value:t},f):f});Mr.displayName="Box";var $=Mr;import Fs,{useContext as Ir}from"react";import Me from"chalk";import ae from"chalk";var As=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,_s=/^ansi256\(\s?(\d+)\s?\)$/;function Ps(e){return e in ae}o(Ps,"isNamedColor");function z(e,t,n){if(!t)return e;if(Ps(t)){let r=ae;if(n==="foreground")return r[t]?.(e)??e;let i=`bg${t[0].toUpperCase()+t.slice(1)}`;return r[i]?.(e)??e}if(t.startsWith("#"))return n==="foreground"?ae.hex(t)(e):ae.bgHex(t)(e);if(t.startsWith("ansi256")){let r=_s.exec(t);if(!r)return e;let i=Number(r[1]);return n==="foreground"?ae.ansi256(i)(e):ae.bgAnsi256(i)(e)}if(t.startsWith("rgb")){let r=As.exec(t);if(!r)return e;let i=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?ae.rgb(i,s,a)(e):ae.bgRgb(i,s,a)(e)}return e}o(z,"colorize");function W({color:e,backgroundColor:t,dimColor:n=!1,bold:r=!1,italic:i=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:u="wrap",children:l,"aria-label":f,"aria-hidden":d=!1,internal_cursorAnchor:g=!1}){let{isScreenReaderEnabled:h}=Ir(Te),m=Ir(dt),y=h&&f?f:l;if(y==null)return null;let w=o(x=>{let p=x;n&&(p=Me.dim(p)),e&&(p=z(p,e,"foreground"));let S=t??m;return S&&(p=z(p,S,"background")),r&&(p=Me.bold(p)),i&&(p=Me.italic(p)),s&&(p=Me.underline(p)),a&&(p=Me.strikethrough(p)),c&&(p=Me.inverse(p)),p},"transform");return h&&d?null:Fs.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:u},internal_transform:w,...g?{internal_cursorAnchor:!0}:{}},h&&f?f:l)}o(W,"Text");import jl,{useLayoutEffect as Hl,useMemo as $l,useState as Ul}from"react";import we from"node:process";import Ji from"react";import xc from"es-toolkit/compat/throttle";import B from"ansi-escapes";import ie from"is-in-ci";import Sc from"auto-bind";import{onExit as Cc}from"signal-exit";import Ec from"patch-console";import{LegacyRoot as Rc,ConcurrentRoot as bc}from"react-reconciler/constants.js";import Tc from"yoga-layout";import Mc from"wrap-ansi";import Ic from"terminal-size";import Ls from"node:process";var pt=o(()=>Ls.env.DEV==="true","isDev");import la from"react-reconciler";import{DefaultEventPriority as fa,NoEventPriority as Xr}from"react-reconciler/constants.js";import*as ce from"scheduler";import Yr from"yoga-layout";import{createContext as da}from"react";import Js from"yoga-layout";import Ds from"widest-line";var vr=new Map,Ws=o(e=>{if(e.length===0)return{width:0,height:0};let t=vr.get(e);if(t)return t;let n=Ds(e),r=e.split(`
9
- `).length,i={width:n,height:r};return vr.set(e,i),i},"measureText"),en=Ws;import Bs from"wrap-ansi";import js from"cli-truncate";var Nr={},Hs=o((e,t,n)=>{let r=e+String(t)+String(n),i=Nr[r];if(i)return i;let s=e;if(n==="wrap"&&(s=Bs(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=js(e,t,{position:a})}return Nr[r]=s,s},"wrapText"),ht=Hs;var $s=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),Us=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),zs=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),Ar=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),Ys=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),_r=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),kr=o((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!$s(c))break;n++}let r=e.slice(t,n),i=n;for(;n<e.length;){let c=e[n];if(!Us(c))break;n++}let s=e.slice(i,n),a=e[n];if(!(a===void 0||!zs(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),Or=o((e,t,n)=>{for(let r=t;r<e.length;r++){let i=e[r];if(n&&i==="\x07"||i==="\x9C")return r+1;if(i==="\x1B"){let s=e[r+1];if(s==="\x1B"){r++;continue}if(s==="\\")return r+2}}},"findControlStringTerminatorIndex"),Ks=o((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!Ar(s))break;n++}let r=e.slice(t,n),i=e[n];if(!(i===void 0||!Ys(i)))return{endIndex:n+1,intermediateString:r,finalCharacter:i}},"readEscapeSequence"),Gs=o(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"),Vs=o(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"),tn=o(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(_r(t))return!0;return!1},"hasAnsiControlCharacters"),Ie=o((e,t,n,r)=>(r>n&&e.push({type:"text",value:t.slice(n,r)}),e.push({type:"invalid",value:t.slice(r)}),e),"malformedFromIndex"),Pr=o(e=>{if(!tn(e))return[{type:"text",value:e}];let t=[],n=0;for(let r=0;r<e.length;){let i=e[r];if(i===void 0)break;if(i==="\x1B"){let a=e[r+1];if(a===void 0)return Ie(t,e,n,r);if(a==="["){let l=kr(e,r+2);if(l===void 0)return Ie(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"csi",value:e.slice(r,l.endIndex),parameterString:l.parameterString,intermediateString:l.intermediateString,finalCharacter:l.finalCharacter}),r=l.endIndex,n=r;continue}let c=Gs(a);if(c!==void 0){let l=Or(e,r+2,c.allowBellTerminator);if(l===void 0)return Ie(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:c.type,value:e.slice(r,l)}),r=l,n=r;continue}let u=Ks(e,r+1);if(u===void 0){if(Ar(a))return Ie(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),r++,n=r;continue}r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"esc",value:e.slice(r,u.endIndex),intermediateString:u.intermediateString,finalCharacter:u.finalCharacter}),r=u.endIndex,n=r;continue}if(i==="\x9B"){let a=kr(e,r+1);if(a===void 0)return Ie(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"csi",value:e.slice(r,a.endIndex),parameterString:a.parameterString,intermediateString:a.intermediateString,finalCharacter:a.finalCharacter}),r=a.endIndex,n=r;continue}let s=Vs(i);if(s!==void 0){let a=Or(e,r+1,s.allowBellTerminator);if(a===void 0)return Ie(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:s.type,value:e.slice(r,a)}),r=a,n=r;continue}if(i==="\x9C"){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"st",value:i}),r++,n=r;continue}if(_r(i)){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"c1",value:i}),r++,n=r;continue}r++}return n<e.length&&t.push({type:"text",value:e.slice(n)}),t},"tokenizeAnsi");var Xs=/^[\d:;]*$/,qs=o(e=>{if(!tn(e))return e;let t="";for(let n of Pr(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&Xs.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),Fr=qs;var Lr=o(e=>{let t="";for(let n=0;n<e.childNodes.length;n++){let r=e.childNodes[n];if(r===void 0)continue;let i="";r.nodeName==="#text"?i=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(i=Lr(r)),i.length>0&&typeof r.internal_transform=="function"&&(i=r.internal_transform(i,n))),t+=i}return Fr(t)},"squashTextNodes"),Be=Lr;var mt=o(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:Js.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(Qs.bind(null,t)),t},"createNode"),gt=o((e,t)=>{t.parentNode&&je(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")&&wt(e)},"appendChildNode"),nn=o((e,t,n)=>{t.parentNode&&je(t.parentNode,t),t.parentNode=e;let r=e.childNodes.indexOf(n);r>=0?(e.childNodes.splice(r,0,t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,r)):(e.childNodes.push(t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,e.yogaNode.getChildCount())),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&wt(e)},"insertBeforeNode"),je=o((e,t)=>{t.yogaNode&&t.parentNode?.yogaNode?.removeChild(t.yogaNode),t.parentNode=void 0;let n=e.childNodes.indexOf(t);n>=0&&e.childNodes.splice(n,1),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&wt(e)},"removeChildNode"),rn=o((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),on=o((e,t)=>{e.style=t},"setStyle"),Dr=o(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return He(t,e),t},"createTextNode"),Qs=o(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:Be(e),r=en(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let i=e.style?.textWrap??"wrap",s=ht(n,t,i);return en(s)},"measureTextNode"),Wr=o(e=>{if(e?.parentNode)return e.yogaNode??Wr(e.parentNode)},"findClosestYogaNode"),wt=o(e=>{Wr(e)?.markDirty()},"markNodeAsDirty"),He=o((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,wt(e)},"setTextNodeValue");import C from"yoga-layout";var ea=o((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?C.POSITION_TYPE_ABSOLUTE:C.POSITION_TYPE_RELATIVE),"top"in t&&e.setPosition(C.EDGE_TOP,t.top??0),"bottom"in t&&e.setPosition(C.EDGE_BOTTOM,t.bottom??0),"left"in t&&e.setPosition(C.EDGE_LEFT,t.left??0),"right"in t&&e.setPosition(C.EDGE_RIGHT,t.right??0)},"applyPositionStyles"),ta=o((e,t)=>{"margin"in t&&e.setMargin(C.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(C.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(C.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(C.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(C.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(C.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(C.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),na=o((e,t)=>{"padding"in t&&e.setPadding(C.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(C.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(C.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(C.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(C.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(C.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(C.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),ra=o((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(C.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(C.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(C.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(C.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(C.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(C.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(C.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(C.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(C.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(C.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(C.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(C.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(C.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(C.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(C.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(C.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(C.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(C.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(C.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(C.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(C.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),ia=o((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"),oa=o((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?C.DISPLAY_FLEX:C.DISPLAY_NONE)},"applyDisplayStyles"),sa=o((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(C.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(C.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(C.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(C.EDGE_RIGHT,n)}},"applyBorderStyles"),aa=o((e,t)=>{"gap"in t&&e.setGap(C.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(C.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(C.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),ca=o((e,t={})=>{ea(e,t),ta(e,t),na(e,t),ra(e,t),ia(e,t),oa(e,t),sa(e,t),aa(e,t)},"styles"),sn=ca;if(pt())try{await Promise.resolve().then(()=>(zr(),ua))}catch(e){if(e.code==="ERR_MODULE_NOT_FOUND")console.warn(`
2
+ var Po=Object.defineProperty;var o=(e,t)=>Po(e,"name",{value:t,configurable:!0});var tt=(e,t)=>()=>(e&&(t=e(e=0)),t);var sr,Bn,jn=tt(()=>{sr=class{static{o(this,"WebSocketStub")}},Bn=sr});var yt,Hn=tt(()=>{"use strict";jn();yt=global;yt.WebSocket||=Bn;yt.window||=global;yt.self||=global;yt.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 Un,ar,$n=tt(()=>{Un=o(()=>{},"noop"),ar={initialize:Un,connectToDevTools:Un}});var la={};var zn=tt(()=>{"use strict";Hn();$n();ar.initialize();ar.connectToDevTools()});import xe from"node:fs/promises";import Nu from"node:os";import $ from"node:path";import k from"fs/promises";import Ht from"fs";import T from"path";import Ft from"path";import{createHash as jo}from"crypto";import{execFile as Fo}from"child_process";import Fe from"fs";import P from"path";import{promisify as Lo}from"util";var Do=Lo(Fo);function X(e){if(!(!e||!e.trim()))return P.resolve(e).replace(/\\/g,"/")}o(X,"normalizePath");async function Wo(e,t,r=5e3){try{let{stdout:n}=await Do("git",t,{cwd:e,windowsHide:!0,maxBuffer:1048576,timeout:r}),i=n.trim();return i||void 0}catch{return}}o(Wo,"gitStdout");function Jr(e){let t=P.resolve(e);for(;;){let r=P.join(t,".git");try{let i=Fe.statSync(r);if(i.isDirectory()){let s=X(t)??t.replace(/\\/g,"/");return{canonicalRoot:s,workspaceRoot:s}}if(i.isFile()){let s=/^gitdir:\s*(.+)$/im.exec(Fe.readFileSync(r,"utf8"));if(s?.[1]){let a=P.resolve(t,s[1].trim()),c;try{c=P.resolve(a,Fe.readFileSync(P.join(a,"commondir"),"utf8").trim())}catch{}let u=X(t)??t.replace(/\\/g,"/");return{canonicalRoot:en(c)??u,workspaceRoot:u}}}}catch{}let n=P.dirname(t);if(n===t)return;t=n}}o(Jr,"filesystemWorkspaceIdentity");function qr(e){let t=P.resolve(e).replace(/\\/g,"/");return process.platform==="win32"||process.platform==="darwin"?t.toLowerCase():t}o(qr,"comparablePath");function Qr(e){let t=P.join(P.resolve(e),".git","worktrees"),r;try{r=Fe.readdirSync(t,{withFileTypes:!0})}catch(i){if(i.code==="ENOENT")return[];throw i}let n=qr(e);return r.flatMap(i=>{if(!i.isDirectory())return[];try{let s=P.join(t,i.name),a=Fe.readFileSync(P.join(s,"gitdir"),"utf8").trim();if(!a)return[];let c=P.isAbsolute(a)?a:P.resolve(s,a),u=P.dirname(c),l=Jr(u);return l!==void 0&&qr(l.canonicalRoot)===n?[l.workspaceRoot]:[]}catch{return[]}})}o(Qr,"discoverLinkedWorkspaceRoots");function Bo(e){let[t,r]=e?.split(/\r?\n/).map(s=>s.trim())??[],n=X(t);if(!n)return;let i=r?X(P.isAbsolute(r)?r:P.resolve(n,r)):void 0;return{canonicalRoot:en(i)??n,workspaceRoot:n}}o(Bo,"parseProjectIdentityOutput");async function Pt(e={}){let t=X(e.cwd??process.cwd())??process.cwd().replace(/\\/g,"/"),r=Jr(t);return r!==void 0?r:Bo(await Wo(t,["rev-parse","--path-format=absolute","--show-toplevel","--git-common-dir"],e.timeoutMs??2e3))??{canonicalRoot:t,workspaceRoot:t}}o(Pt,"resolveWorkspaceProjectIdentity");async function Zr(e={}){return(await Pt(e)).canonicalRoot}o(Zr,"resolveCanonicalWorkspaceRoot");function en(e){let t=X(e);if(t)return P.posix.basename(t)===".git"?P.posix.dirname(t):t}o(en,"deriveCanonicalRepoRoot");function tn(e){let t=X(e.runtimeInfo?.workspaceRoot??e.gitRoot),r=X(e.runtimeInfo?.executionCwd??t),n=X(e.runtimeInfo?.canonicalRepoRoot??t);if(!(!t&&!r&&!n))return{canonicalRepoRoot:n,workspaceRoot:t,executionCwd:r,branch:e.runtimeInfo?.branch,workspaceKind:e.runtimeInfo?.workspaceKind??"detected"}}o(tn,"resolveSessionRuntimeInfo");var Le="_unknown",rn=80;function Ho(e){return process.platform==="win32"||process.platform==="darwin"?e.toLowerCase():e}o(Ho,"caseFold");function Uo(e){return Ho(Ft.resolve(e).replace(/\\/g,"/"))}o(Uo,"normalizeRoot");function nn(e){return jo("sha256").update(e).digest("hex").slice(0,10)}o(nn,"shortHash");function $o(e){let t=e.replace(/[^a-z0-9]+/gi,"-").replace(/^-+|-+$/g,"");return t.length>rn?t.slice(t.length-rn):t}o($o,"slugify");function Se(e){if(!e||!e.trim())return{key:Le,canonicalRoot:null,displayName:Le};let t=Uo(e),r=$o(t),n=r?`${r}-${nn(t)}`:nn(t),i=Ft.basename(Ft.resolve(e).replace(/\\/g,"/"))||e;return{key:n,canonicalRoot:t,displayName:i}}o(Se,"deriveProjectKeyFromRoot");function rt(e){let t=tn({gitRoot:e.gitRoot??"",runtimeInfo:e.runtimeInfo}),r=t?.canonicalRepoRoot??t?.executionCwd??(e.gitRoot&&e.gitRoot.trim()?e.gitRoot:void 0);return Se(r)}o(rt,"deriveProjectKeyFromData");function on(e,t){let r=rt(e).canonicalRoot;return r!==null&&t.some(n=>Se(n).canonicalRoot===r)}o(on,"sessionProjectMatchesAnyRoot");import{randomUUID as zo}from"node:crypto";import De from"node:fs/promises";import nt from"node:path";function sn(e){let t=nt.resolve(e).replace(/\\/g,"/");return process.platform==="win32"||process.platform==="darwin"?t.toLowerCase():t}o(sn,"comparableRoot");async function Lt(e){let t;try{t=await De.readFile(e,"utf8")}catch(n){if(n.code==="ENOENT")return;throw n}let r=JSON.parse(t);if(r===null||typeof r!="object"||typeof r.canonicalRoot!="string")throw new Error(`Invalid project identity manifest at ${e}`);return sn(r.canonicalRoot)}o(Lt,"existingCanonicalRoot");async function an(e){return await Lt(nt.join(e,"project.json"))!==void 0}o(an,"projectManifestExists");async function it(e,t){if(t.canonicalRoot===null)return;await De.mkdir(e,{recursive:!0});let r=nt.join(e,"project.json"),n=sn(t.canonicalRoot),i=await Lt(r);if(i!==void 0){if(i!==n)throw new Error(`Conflicting project identity at ${r}`);return}let s=nt.join(e,`.project.${process.pid}.${zo()}.tmp`),a=await De.open(s,"wx");try{await a.writeFile(JSON.stringify({canonicalRoot:t.canonicalRoot,displayName:t.displayName,lastUsed:new Date().toISOString()})+`
3
+ `,"utf8"),await a.sync()}finally{await a.close()}try{await De.link(s,r)}catch(c){if(c.code!=="EEXIST")throw c;if(await Lt(r)!==n)throw new Error(`Conflicting project identity at ${r}`)}finally{await De.rm(s,{force:!0})}}o(it,"publishProjectManifest");import ot from"node:fs/promises";import We from"node:path";var Dt=".conversation-cache.",cl=`${Dt}json`,de=class extends Error{static{o(this,"ConversationPageCacheCleanupError")}directory;cleanupCause;constructor(t,r){super(`Unable to remove recoverable Conversation page caches from ${t}`),this.directory=t,this.cleanupCause=r,this.name="ConversationPageCacheCleanupError"}};function cn(e){let t=e.lastIndexOf(Dt);if(t<=0)return;let r=e.slice(t+Dt.length);if(!(r!=="json"&&!(r.startsWith("json.")&&r.endsWith(".tmp"))&&!r.endsWith(".data")&&!r.endsWith(".index")))return e.slice(0,t)}o(cn,"cacheArtifactSessionId");async function un(e){let t=We.dirname(e),r=We.basename(e,We.extname(e)),n;try{n=await ot.readdir(t)}catch(i){if(i.code==="ENOENT")return;throw i}await Promise.all(n.filter(i=>cn(i)===r).map(i=>ot.rm(We.join(t,i),{force:!0})))}o(un,"removeConversationPageCache");async function Wt(e){let t;try{t=await ot.readdir(e,{withFileTypes:!0})}catch(r){if(r.code==="ENOENT")return;throw new de(e,r)}try{await Promise.all(t.filter(r=>!r.isDirectory()&&cn(r.name)!==void 0).map(r=>ot.rm(We.join(e,r.name),{force:!0})))}catch(r){throw new de(e,r)}}o(Wt,"removeConversationPageCachesInDirectory");var dn=3,Go=300*1e3,Ko=65536,Bt=o(e=>T.join(e,".layout.json"),"layoutMarkerPath"),Ut=o(e=>T.join(e,".migration-lock"),"lockDirPath"),fn=o(e=>T.join(Ut(e),"owner.json"),"ownerPath"),jt=o(e=>T.join(e,".migration-journal.jsonl"),"journalPath"),st=o(e=>T.join(T.dirname(e),"sessions-archive"),"sessionsArchiveDir");function at(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith(".")}o(at,"isSessionFile");function pn(e){return e.endsWith(".archive.jsonl")||e.endsWith(".islands.jsonl")?e.slice(0,-14):null}o(pn,"sidecarId");async function Yo(e){let t;try{t=await k.open(e,"r");let r=[],n=0,i=0;for(;;){let c=Buffer.allocUnsafe(Ko),{bytesRead:u}=await t.read(c,0,c.length,i);if(u===0)break;let l=c.subarray(0,u),d=l.indexOf(10),f=d>=0?l.subarray(0,d):l;if(r.push(f),n+=f.length,d>=0)break;i+=u}let s=Buffer.concat(r,n).toString("utf8").trim();if(!s)return null;let a=JSON.parse(s);if(a&&typeof a=="object"&&a._type==="meta"){let c=a;return{gitRoot:typeof c.gitRoot=="string"?c.gitRoot:void 0,runtimeInfo:c.runtimeInfo}}return null}catch{return null}finally{await t?.close()}}o(Yo,"readMeta");async function hn(e,t){let r=await Yo(e);if(!r)return rt({});let n=r.runtimeInfo!==null&&typeof r.runtimeInfo=="object"?r.runtimeInfo:void 0,i=r.runtimeInfo,s=typeof n?.workspaceRoot=="string"?n.workspaceRoot:r.gitRoot,a=s??(typeof n?.canonicalRepoRoot=="string"?n.canonicalRepoRoot:void 0);if(a&&Ht.existsSync(a)){let c=T.resolve(a),u=t.get(c);u===void 0&&(u=Zr({cwd:a,timeoutMs:750}),t.set(c,u)),i={...n,canonicalRepoRoot:await u,...s!==void 0?{workspaceRoot:s}:{}}}return rt({gitRoot:r.gitRoot,runtimeInfo:i})}o(hn,"destIdentityFor");async function Vo(e){let t=[],r=o(async(n,i)=>{let s=[];try{s=await k.readdir(n,{withFileTypes:!0})}catch{return}for(let a of s)!a.isFile()||a.name.startsWith(".")||(at(a.name)||i&&pn(a.name)!==null)&&t.push(T.join(n,a.name))},"pushDir");return await r(e,!0),await r(st(e),!0),t}o(Vo,"collectMigrationSources");function Xo(e,t){return T.join(e,t)}o(Xo,"targetDirectory");async function qo(e){let t=await Vo(e),r=t.filter(a=>at(T.basename(a))),n=new Set(r.map(a=>`${T.dirname(a)}\0${T.basename(a,".jsonl")}`)),i=[],s=new Map;for(let a of r){let c=T.basename(a,".jsonl"),u=(await hn(a,s)).key,l=Xo(e,u);i.push({from:a,to:T.join(l,`${c}.jsonl`),reason:`session\u2192${u}`});for(let d of[".archive.jsonl",".islands.jsonl"]){let f=T.join(T.dirname(a),`${c}${d}`);Ht.existsSync(f)&&i.push({from:f,to:T.join(l,`${c}.islands.jsonl`),reason:"sidecar\u2192islands"})}}for(let a of t){let c=pn(T.basename(a));c===null||n.has(`${T.dirname(a)}\0${c}`)||i.push({from:a,to:T.join(e,Le,"orphan-islands",`${c}.islands.jsonl`),reason:"orphan-sidecar\u2192_unknown"})}return i}o(qo,"planMigration");async function Jo(e){try{let t=JSON.parse(await k.readFile(Bt(e),"utf8"));return t!==null&&typeof t=="object"&&t.version===dn}catch{return!1}}o(Jo,"isMigrated");async function ln(e){await Wt(e),await Wt(st(e))}o(ln,"removeLegacyConversationCaches");async function Qo(e){try{let t=JSON.parse(await k.readFile(fn(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>Go}catch{return!0}}o(Qo,"lockIsStale");async function Zo(e){let t=Ut(e);for(let r=0;r<2;r+=1)try{return await k.mkdir(t),await k.writeFile(fn(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 Qo(e)){await k.rm(t,{recursive:!0,force:!0}).catch(()=>{});continue}return!1}return!1}o(Zo,"acquireLock");async function es(e){await k.rm(Ut(e),{recursive:!0,force:!0}).catch(()=>{})}o(es,"releaseLock");async function ts(e){try{if((await k.readdir(T.join(e,".write-locks"),{withFileTypes:!0})).some(r=>r.isFile()&&/^[0-9a-f]{64}\.lock$/.test(r.name)))throw new Error("Session layout migration deferred while a Session writer is active")}catch(t){if(t.code==="ENOENT")return;throw t}}o(ts,"assertNoActiveSessionWriters");async function rs(e){let t=new Set;try{let r=await k.readFile(jt(e),"utf8");for(let n of r.split(`
4
+ `))if(n.trim())try{let i=JSON.parse(n);i.done&&typeof i.from=="string"&&t.add(i.from)}catch{}}catch{}return t}o(rs,"readJournalDone");async function ns(e,t){if(T.resolve(e.from)===T.resolve(e.to))return!1;if(await k.mkdir(T.dirname(e.to),{recursive:!0}),Ht.existsSync(e.to)){let r=T.dirname(e.from);return r===t||r===st(t)?(await k.unlink(e.from).catch(()=>{}),!0):!1}try{await k.rename(e.from,e.to)}catch(r){let n=r.code;if(n==="EXDEV")await k.copyFile(e.from,e.to),await k.unlink(e.from).catch(()=>{});else if(n!=="ENOENT")throw r}return!0}o(ns,"executeMove");async function is(e){let t=[],r=o(async n=>{try{for(let i of await k.readdir(n,{withFileTypes:!0}))i.isFile()&&at(i.name)&&t.push(T.join(n,i.name))}catch(i){if(i.code!=="ENOENT")throw i}},"append");return await r(e),await r(T.join(e,"archived")),t}o(is,"readBucketMainFiles");async function os(e,t){let r=new Map,n=new Set(t.flatMap(i=>i.reason.startsWith("session\u2192")?[T.dirname(i.to)]:[]));for(let i of n){let s=T.basename(i);if(s===Le)continue;let a=await is(i),c;for(let u of a){let l=await hn(u,r);if(l.canonicalRoot===null||l.key!==s||c!==void 0&&c.canonicalRoot!==l.canonicalRoot)throw new Error(`Cannot certify mixed project identities in ${i}`);c??=l}c!==void 0&&await it(i,c)}}o(os,"publishBucketManifests");async function ss(e){await k.mkdir(e,{recursive:!0});let t=`${Bt(e)}.${process.pid}.tmp`,r=JSON.stringify({version:dn,migratedAt:new Date().toISOString(),from:"flat-v1"});await k.writeFile(t,r+`
5
+ `,"utf8"),await k.rename(t,Bt(e))}o(ss,"writeMarker");async function as(e){let t=st(e);try{(await k.readdir(t)).length===0&&await k.rmdir(t).catch(()=>{})}catch{}}o(as,"retireSessionsArchive");async function cs(e){if(!await Zo(e))return{moved:0,planned:0};try{await ts(e),await ln(e);let t=await qo(e),r=await rs(e),n=await k.open(jt(e),"a"),i=0;try{for(let s of t){if(at(T.basename(s.from)))try{await un(s.to)}catch(c){throw new de(T.dirname(s.to),c)}if(r.has(s.from))continue;let a=await ns(s,e);await n.write(JSON.stringify({from:s.from,to:s.to,done:!0})+`
6
+ `),a&&(i+=1)}}finally{await n.close()}return await as(e),await ln(e),await os(e,t),await ss(e),await k.rm(jt(e),{force:!0}).catch(()=>{}),{moved:i,planned:t.length}}finally{await es(e)}}o(cs,"runMigration");async function mn(e){try{if(await Jo(e))return;await cs(e)}catch(t){if(t instanceof de)throw t}}o(mn,"ensureLayoutMigrated");import{createHash as Yt,randomUUID as Vt}from"node:crypto";import v from"node:fs/promises";import H from"node:path";var Ce=7,us=".resume-index",ls="complete.json",ds="publish.lock",En=".resume",gn=32,fs=2e3,dt=10,$t=3e4,Re=40,ct=new Map,Ee=new Map;async function se(e,t){let r=[];for(let n=0;n<e.length;n+=gn){let i=e.slice(n,n+gn);r.push(...await Promise.all(i.map((s,a)=>t(s,n+a))))}return r}o(se,"mapBatches");function J(e){return H.join(e,us)}o(J,"indexDir");function Xt(e){return H.join(J(e),ls)}o(Xt,"manifestPath");function qt(e){return`${Yt("sha256").update(e,"utf8").digest("hex")}${En}`}o(qt,"markerName");function ps(e,t){return H.join(J(e),qt(t))}o(ps,"markerPath");function wn(e){try{let t=JSON.parse(e);return!be(t)||typeof t.pid!="number"||!Number.isInteger(t.pid)||t.pid<=0||typeof t.token!="string"||t.token.length===0?void 0:{pid:t.pid,token:t.token}}catch{return}}o(wn,"parseIndexPublishLockOwner");async function yn(e){for(let t=0;t<Re;t+=1)try{return await v.rmdir(e),!0}catch(r){let n=r.code;if(n==="ENOENT")return!0;if(!["EPERM","EACCES","EBUSY"].includes(n??""))return!1;t+1<Re&&await new Promise(i=>setTimeout(i,dt))}return!1}o(yn,"removeEmptyIndexLockDirectory");async function hs(e){let t=`${e}.reclaim`;for(let r=0;r<2;r+=1)try{return await v.mkdir(t),async()=>{await yn(t)||process.emitWarning(`Unable to release resume-index reclaim guard ${t}`,{code:"KODAX_RESUME_INDEX"})}}catch(n){if(n.code!=="EEXIST")throw n;if(r>0)return;try{let i=await v.stat(t);if(Date.now()-i.mtimeMs<$t)return}catch(i){if(i.code==="ENOENT")continue;throw i}if(!await yn(t))return}}o(hs,"acquireIndexLockReclaimGuard");function xn(e){try{return process.kill(e,0),!1}catch(t){return t.code==="ESRCH"}}o(xn,"processIsDefinitelyDead");async function ut(e){try{let[t,r]=await Promise.all([v.readFile(e,"utf8"),v.stat(e)]);return{content:t,mtimeMs:r.mtimeMs}}catch(t){if(t.code==="ENOENT")return;throw t}}o(ut,"readIndexPublishLock");async function zt(e,t){for(let r=0;r<Re;r+=1){let n=await ut(e);if(n===void 0)return!0;if(n.content!==t)return!1;try{return await v.rm(e),!0}catch(i){let s=i.code;if(s==="ENOENT")return!0;if(!["EPERM","EACCES","EBUSY"].includes(s??""))return!1;r+1<Re&&await new Promise(a=>setTimeout(a,dt))}}return!1}o(zt,"removeObservedIndexPublishLock");async function ms(e){let t=await ut(e);if(t===void 0)return!0;if(Ee.get(e)===t.content){let i=await zt(e,t.content);return i&&Ee.delete(e),i}let r=wn(t.content);if(r!==void 0){if(!xn(r.pid))return!1}else if(Date.now()-t.mtimeMs<$t)return!1;let n=await hs(e);if(n===void 0)return!1;try{let i=await ut(e);if(i===void 0)return!0;let s=wn(i.content);return Ee.get(e)===i.content||(s!==void 0?xn(s.pid):Date.now()-i.mtimeMs>=$t)?zt(e,i.content):!1}finally{await n()}}o(ms,"reclaimAbandonedIndexPublishLock");async function gs(e){let t;for(let n=0;n<Re;n+=1)try{await v.rm(e,{force:!0});return}catch(i){t=i;let s=i.code;if(!["EPERM","EACCES","EBUSY"].includes(s??""))break;n+1<Re&&await new Promise(a=>setTimeout(a,dt))}let r=t instanceof Error?t.message:String(t);process.emitWarning(`Unable to remove resume-index lock temp file ${e}: ${r}`,{code:"KODAX_RESUME_INDEX"})}o(gs,"removeIndexPublishLockTemp");async function ws(e,t){await v.mkdir(H.dirname(e),{recursive:!0});let r=`${e}.${process.pid}.${Vt()}.tmp`;await v.writeFile(r,t,{encoding:"utf8",flag:"wx"});let n=Date.now()+fs;try{for(;;)try{await v.link(r,e);return}catch(i){let s=i.code;if(!["EEXIST","EPERM","EACCES","EBUSY"].includes(s??""))throw i;if(await ut(e)!==void 0&&await ms(e))continue;if(Date.now()>=n)throw new Error(`Resume index publish lock timed out: ${e}`,{cause:i});await new Promise(c=>setTimeout(c,dt))}}finally{await gs(r)}}o(ws,"acquireIndexPublishLock");async function ys(e,t){if(!await zt(e,t))throw Ee.set(e,t),new Error(`Resume index publish lock ownership changed: ${e}`);Ee.get(e)===t&&Ee.delete(e)}o(ys,"releaseIndexPublishLock");async function xs(e,t){let r=H.join(J(e),ds),n=ct.get(r)??Promise.resolve(),i,s=new Promise(c=>{i=c});ct.set(r,s),await n.catch(()=>{});let a=JSON.stringify({pid:process.pid,token:Vt()});try{await ws(r,a);try{return await t()}finally{await ys(r,a)}}finally{i(),ct.get(r)===s&&ct.delete(r)}}o(xs,"withIndexPublishLock");function be(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}o(be,"isRecord");function Ss(e){if(!(!be(e)||typeof e.id!="string"||e.id.length===0||H.basename(e.id)!==e.id||typeof e.title!="string"||typeof e.msgCount!="number"||!Number.isInteger(e.msgCount)||e.msgCount<=0||e.createdAt!==void 0&&typeof e.createdAt!="string"||e.surface!==void 0&&typeof e.surface!="string"))return{id:e.id,title:e.title,msgCount:e.msgCount,...e.createdAt!==void 0?{createdAt:e.createdAt}:{},...e.surface!==void 0?{surface:e.surface}:{}}}o(Ss,"parseEntry");function Es(e){if(!be(e))return;let t=Array.isArray(e.markerNames)&&e.markerNames.every(i=>typeof i=="string")?[...e.markerNames].sort():void 0,r=Array.isArray(e.sessionNames)&&e.sessionNames.every(i=>typeof i=="string")?[...e.sessionNames].sort():void 0,n=Array.isArray(e.excludedSources)?e.excludedSources.flatMap(i=>!be(i)||typeof i.name!="string"||typeof i.sourceSize!="number"||!Number.isInteger(i.sourceSize)||i.sourceSize<0||typeof i.sourceMtimeMs!="number"||!Number.isFinite(i.sourceMtimeMs)||typeof i.sourceCtimeMs!="number"||!Number.isFinite(i.sourceCtimeMs)||typeof i.sourceDev!="number"||!Number.isInteger(i.sourceDev)||typeof i.sourceIno!="number"||!Number.isInteger(i.sourceIno)?[]:[{name:i.name,sourceSize:i.sourceSize,sourceMtimeMs:i.sourceMtimeMs,sourceCtimeMs:i.sourceCtimeMs,sourceDev:i.sourceDev,sourceIno:i.sourceIno}]):void 0;if(!(e.version!==Ce||t===void 0||typeof e.markerCount!="number"||!Number.isInteger(e.markerCount)||e.markerCount<0||typeof e.markerDigest!="string"||r===void 0||typeof e.sessionFileCount!="number"||!Number.isInteger(e.sessionFileCount)||e.sessionFileCount<0||typeof e.sessionFileDigest!="string"||n===void 0||typeof e.excludedSourceCount!="number"||!Number.isInteger(e.excludedSourceCount)||e.excludedSourceCount<0||typeof e.excludedSourceDigest!="string"||t.length!==e.markerCount||q(t)!==e.markerDigest||r.length!==e.sessionFileCount||q(r)!==e.sessionFileDigest||n.length!==e.excludedSourceCount||Jt(n)!==e.excludedSourceDigest))return{version:Ce,markerNames:t,markerCount:e.markerCount,markerDigest:e.markerDigest,sessionNames:r,sessionFileCount:e.sessionFileCount,sessionFileDigest:e.sessionFileDigest,excludedSources:n,excludedSourceCount:e.excludedSourceCount,excludedSourceDigest:e.excludedSourceDigest}}o(Es,"parseManifest");function Cs(e,t){if(!be(e)||e.version!==Ce||e.state!=="pending"&&e.state!=="ready")return;let r=Ss(e.entry);if(!r||qt(r.id)!==t)return;let n=be(e.source)&&typeof e.source.size=="number"&&Number.isInteger(e.source.size)&&e.source.size>=0&&typeof e.source.mtimeMs=="number"&&Number.isFinite(e.source.mtimeMs)&&typeof e.source.ctimeMs=="number"&&Number.isFinite(e.source.ctimeMs)&&typeof e.source.dev=="number"&&Number.isInteger(e.source.dev)&&typeof e.source.ino=="number"&&Number.isInteger(e.source.ino)?{size:e.source.size,mtimeMs:e.source.mtimeMs,ctimeMs:e.source.ctimeMs,dev:e.source.dev,ino:e.source.ino}:void 0;if(!(e.state==="ready"&&n===void 0))return{version:Ce,state:e.state,entry:r,...n!==void 0?{source:n}:{}}}o(Cs,"parseMarker");function q(e){let t=Yt("sha256");for(let r of[...e].sort())t.update(r),t.update(`
7
+ `);return t.digest("hex")}o(q,"digestMarkerNames");function Jt(e){let t=Yt("sha256");for(let r of[...e].sort((n,i)=>n.name.localeCompare(i.name)))t.update(JSON.stringify([r.name,r.sourceSize,r.sourceMtimeMs,r.sourceCtimeMs,r.sourceDev,r.sourceIno])),t.update(`
8
+ `);return t.digest("hex")}o(Jt,"digestScannedFiles");async function Gt(e){try{return(await v.readdir(J(e),{withFileTypes:!0})).filter(t=>t.isFile()&&t.name.endsWith(En)).map(t=>t.name).sort()}catch(t){if(t.code==="ENOENT")return[];throw t}}o(Gt,"readMarkerNames");async function Kt(e){try{return(await v.readdir(e,{withFileTypes:!0})).filter(t=>t.isFile()&&t.name.endsWith(".jsonl")&&!t.name.endsWith(".archive.jsonl")&&!t.name.endsWith(".islands.jsonl")&&!t.name.startsWith("archived-")&&!t.name.startsWith(".")).map(t=>t.name).sort()}catch(t){if(t.code==="ENOENT")return[];throw t}}o(Kt,"readCanonicalSessionNames");async function lt(e,t){let r;try{r=await v.readFile(H.join(J(e),t),"utf8")}catch(n){if(n.code!=="ENOENT")throw n;return}try{return Cs(JSON.parse(r),t)}catch{return}}o(lt,"readMarker");async function Cn(e,t){let r=`${e}.${process.pid}.${Vt()}.tmp`;await v.writeFile(r,t,"utf8");try{await v.rename(r,e)}catch(n){if(!["EEXIST","EPERM"].includes(n.code??""))throw n;await v.rm(e,{force:!0}),await v.rename(r,e)}finally{await v.rm(r,{force:!0})}}o(Cn,"replaceDerivedFile");async function Rs(e){await v.rm(Xt(e),{force:!0})}o(Rs,"invalidateManifest");async function bs(e,t,r,n,i){let s=J(e),a=ps(e,t.id);if(await v.mkdir(s,{recursive:!0}),!n)try{return await v.access(a),!1}catch(l){if(l.code!=="ENOENT")throw l}let c=n?await lt(e,qt(t.id)):void 0,u={version:Ce,state:r,entry:{...c?.entry,...t},...i!==void 0?{source:i}:{}};return await Cn(a,JSON.stringify(u)),!0}o(bs,"writeMarker");async function Qt(e,t){try{let r=await v.stat(H.join(e,`${t}.jsonl`));return r.isFile()?{size:r.size,mtimeMs:r.mtimeMs,ctimeMs:r.ctimeMs,dev:r.dev,ino:r.ino}:void 0}catch(r){if(r.code==="ENOENT")return;throw r}}o(Qt,"canonicalSource");async function Ts(e,t){let r=H.basename(t,".jsonl");if(`${r}.jsonl`!==t)return;let n=await Qt(e,r);return n===void 0?void 0:{name:t,sourceSize:n.size,sourceMtimeMs:n.mtimeMs,sourceCtimeMs:n.ctimeMs,sourceDev:n.dev,sourceIno:n.ino}}o(Ts,"currentScannedFile");function Ms(e,t){return e!==void 0&&e.size===t.sourceSize&&e.mtimeMs===t.sourceMtimeMs&&e.ctimeMs===t.sourceCtimeMs&&e.dev===t.sourceDev&&e.ino===t.sourceIno}o(Ms,"sourceMatchesIdentity");async function Sn(e,t){return(await se(t,async n=>{let i=H.basename(n.name,".jsonl");return`${i}.jsonl`!==n.name?!1:Ms(await Qt(e,i),n)})).every(Boolean)}o(Sn,"scannedFilesStillMatch");async function Rn(e,t){if(t.state!=="ready"||t.source===void 0)return!1;let r=await Qt(e,t.entry.id);return r!==void 0&&r.size===t.source.size&&r.mtimeMs===t.source.mtimeMs&&r.ctimeMs===t.source.ctimeMs&&r.dev===t.source.dev&&r.ino===t.source.ino}o(Rn,"markerMatchesCanonical");async function Is(e,t,r,n){await v.mkdir(J(e),{recursive:!0});let i=[...t].sort(),s=[...r].sort(),a=[...n].sort((u,l)=>u.name.localeCompare(l.name)),c={version:Ce,markerNames:i,markerCount:i.length,markerDigest:q(i),sessionNames:s,sessionFileCount:s.length,sessionFileDigest:q(s),excludedSources:a,excludedSourceCount:a.length,excludedSourceDigest:Jt(a)};await Cn(Xt(e),JSON.stringify(c))}o(Is,"writeManifest");async function bn(e){let t;try{t=await v.readFile(Xt(e),"utf8")}catch(d){if(d.code!=="ENOENT")throw d;return}let r;try{r=Es(JSON.parse(t))}catch{return}if(!r)return;let n=await Gt(e),i=await Kt(e);if(n.length!==r.markerCount||q(n)!==r.markerDigest||i.length!==r.sessionFileCount||q(i)!==r.sessionFileDigest)return;let s=await se(n,d=>lt(e,d));if(s.some(d=>d===void 0||d.state!=="ready")||(await se(s,async d=>d===void 0?!1:Rn(e,d))).some(d=>!d))return;let c=new Set(s.flatMap(d=>d?.state==="ready"?[`${d.entry.id}.jsonl`]:[])),u=i.filter(d=>!c.has(d));if(u.length!==r.excludedSourceCount)return;let l=await se(u,d=>Ts(e,d));if(!(l.some(d=>d===void 0)||Jt(l.flatMap(d=>d===void 0?[]:[d]))!==r.excludedSourceDigest))return s.flatMap(d=>d?.state==="ready"?[d.entry]:[])}o(bn,"readResumeIndex");async function Tn(e,t,r){await xs(e,()=>vs(e,t,r))}o(Tn,"completeResumeIndex");async function vs(e,t,r){let n=r.map(m=>m.name).sort(),i=q(n),s=await Kt(e);if(s.length!==n.length||q(s)!==i||!await Sn(e,r))return;await Rs(e),await v.mkdir(J(e),{recursive:!0});let a=new Set(t.map(m=>m.id)),c=r.filter(m=>!a.has(H.basename(m.name,".jsonl")));for(let m of t)await bs(e,m,"ready",!0,{size:m.sourceSize,mtimeMs:m.sourceMtimeMs,ctimeMs:m.sourceCtimeMs,dev:m.sourceDev,ino:m.sourceIno});let u=await Gt(e),l=await se(u,m=>lt(e,m));await se(u,async(m,y)=>{let w=l[y];(w===void 0||!a.has(w.entry.id))&&await v.rm(H.join(J(e),m),{force:!0})});let d=await Kt(e);if(d.length!==n.length||q(d)!==i||!await Sn(e,r))return;let f=await Gt(e),g=await se(f,m=>lt(e,m));g.some(m=>m?.state!=="ready")||g.length!==a.size||g.some(m=>m===void 0||!a.has(m.entry.id))||(await se(g,async m=>m===void 0?!1:Rn(e,m))).some(m=>!m)||await Is(e,f,n,c)}o(vs,"completeResumeIndexWithLock");import{jsx as Je,jsxs as Pe}from"react/jsx-runtime";import{useMemo as Cu,useRef as Ru,useState as Fr}from"react";import{jsx as ho}from"react/jsx-runtime";import{createContext as du,useContext as _r,useEffect as _e,useMemo as po,useState as fu,useCallback as mo,useRef as kt}from"react";import{Stream as Uc}from"node:stream";import{openSync as $c,writeSync as to}from"node:fs";import{performance as zc}from"node:perf_hooks";import{tmpdir as Gc}from"node:os";import{join as Kc}from"node:path";import Zt,{forwardRef as Os,useContext as As}from"react";import{createContext as Ns}from"react";var Te=Ns({isScreenReaderEnabled:!1});import{createContext as ks}from"react";var ft=ks(void 0);var Mn=Os(({children:e,backgroundColor:t,"aria-label":r,"aria-hidden":n,"aria-role":i,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:u}=As(Te),l=r?Zt.createElement("ink-text",null,r):void 0;if(u&&n)return null;let d=Zt.createElement("ink-box",{ref:c,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:0,flexShrink:1,...a,backgroundColor:t,overflowX:a.overflowX??a.overflow??"visible",overflowY:a.overflowY??a.overflow??"visible"},internal_accessibility:{role:i,state:s}},u&&l?l:e);return t?Zt.createElement(ft.Provider,{value:t},d):d});Mn.displayName="Box";var U=Mn;import Ls,{useContext as In}from"react";import Me from"chalk";import ae from"chalk";var _s=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,Ps=/^ansi256\(\s?(\d+)\s?\)$/;function Fs(e){return e in ae}o(Fs,"isNamedColor");function z(e,t,r){if(!t)return e;if(Fs(t)){let n=ae;if(r==="foreground")return n[t]?.(e)??e;let i=`bg${t[0].toUpperCase()+t.slice(1)}`;return n[i]?.(e)??e}if(t.startsWith("#"))return r==="foreground"?ae.hex(t)(e):ae.bgHex(t)(e);if(t.startsWith("ansi256")){let n=Ps.exec(t);if(!n)return e;let i=Number(n[1]);return r==="foreground"?ae.ansi256(i)(e):ae.bgAnsi256(i)(e)}if(t.startsWith("rgb")){let n=_s.exec(t);if(!n)return e;let i=Number(n[1]),s=Number(n[2]),a=Number(n[3]);return r==="foreground"?ae.rgb(i,s,a)(e):ae.bgRgb(i,s,a)(e)}return e}o(z,"colorize");function W({color:e,backgroundColor:t,dimColor:r=!1,bold:n=!1,italic:i=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:u="wrap",children:l,"aria-label":d,"aria-hidden":f=!1,internal_cursorAnchor:g=!1}){let{isScreenReaderEnabled:h}=In(Te),m=In(ft),y=h&&d?d:l;if(y==null)return null;let w=o(x=>{let p=x;r&&(p=Me.dim(p)),e&&(p=z(p,e,"foreground"));let S=t??m;return S&&(p=z(p,S,"background")),n&&(p=Me.bold(p)),i&&(p=Me.italic(p)),s&&(p=Me.underline(p)),a&&(p=Me.strikethrough(p)),c&&(p=Me.inverse(p)),p},"transform");return h&&f?null:Ls.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:u},internal_transform:w,...g?{internal_cursorAnchor:!0}:{}},h&&d?d:l)}o(W,"Text");import zl,{useLayoutEffect as Gl,useMemo as Kl,useState as Yl}from"react";import{writeSync as Cc}from"node:fs";import we from"node:process";import Qi from"react";import Rc from"es-toolkit/compat/throttle";import B from"ansi-escapes";import ie from"is-in-ci";import bc from"auto-bind";import{onExit as Tc}from"signal-exit";import Mc from"patch-console";import{LegacyRoot as Ic,ConcurrentRoot as vc}from"react-reconciler/constants.js";import Nc from"yoga-layout";import kc from"wrap-ansi";import Oc from"terminal-size";import Ds from"node:process";var pt=o(()=>Ds.env.DEV==="true","isDev");import da from"react-reconciler";import{DefaultEventPriority as fa,NoEventPriority as Xn}from"react-reconciler/constants.js";import*as ce from"scheduler";import Gn from"yoga-layout";import{createContext as pa}from"react";import Qs from"yoga-layout";import Ws from"widest-line";var vn=new Map,Bs=o(e=>{if(e.length===0)return{width:0,height:0};let t=vn.get(e);if(t)return t;let r=Ws(e),n=e.split(`
9
+ `).length,i={width:r,height:n};return vn.set(e,i),i},"measureText"),er=Bs;import js from"wrap-ansi";import Hs from"cli-truncate";var Nn={},Us=o((e,t,r)=>{let n=e+String(t)+String(r),i=Nn[n];if(i)return i;let s=e;if(r==="wrap"&&(s=js(e,t,{trim:!1,hard:!0})),r.startsWith("truncate")){let a="end";r==="truncate-middle"&&(a="middle"),r==="truncate-start"&&(a="start"),s=Hs(e,t,{position:a})}return Nn[n]=s,s},"wrapText"),ht=Us;var $s=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),zs=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),Gs=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),An=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),Ks=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),_n=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),kn=o((e,t)=>{let r=t;for(;r<e.length;){let c=e[r];if(!$s(c))break;r++}let n=e.slice(t,r),i=r;for(;r<e.length;){let c=e[r];if(!zs(c))break;r++}let s=e.slice(i,r),a=e[r];if(!(a===void 0||!Gs(a)))return{endIndex:r+1,parameterString:n,intermediateString:s,finalCharacter:a}},"readCsiSequence"),On=o((e,t,r)=>{for(let n=t;n<e.length;n++){let i=e[n];if(r&&i==="\x07"||i==="\x9C")return n+1;if(i==="\x1B"){let s=e[n+1];if(s==="\x1B"){n++;continue}if(s==="\\")return n+2}}},"findControlStringTerminatorIndex"),Ys=o((e,t)=>{let r=t;for(;r<e.length;){let s=e[r];if(!An(s))break;r++}let n=e.slice(t,r),i=e[r];if(!(i===void 0||!Ks(i)))return{endIndex:r+1,intermediateString:n,finalCharacter:i}},"readEscapeSequence"),Vs=o(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"),Xs=o(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"),tr=o(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(_n(t))return!0;return!1},"hasAnsiControlCharacters"),Ie=o((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"),Pn=o(e=>{if(!tr(e))return[{type:"text",value:e}];let t=[],r=0;for(let n=0;n<e.length;){let i=e[n];if(i===void 0)break;if(i==="\x1B"){let a=e[n+1];if(a===void 0)return Ie(t,e,r,n);if(a==="["){let l=kn(e,n+2);if(l===void 0)return Ie(t,e,r,n);n>r&&t.push({type:"text",value:e.slice(r,n)}),t.push({type:"csi",value:e.slice(n,l.endIndex),parameterString:l.parameterString,intermediateString:l.intermediateString,finalCharacter:l.finalCharacter}),n=l.endIndex,r=n;continue}let c=Vs(a);if(c!==void 0){let l=On(e,n+2,c.allowBellTerminator);if(l===void 0)return Ie(t,e,r,n);n>r&&t.push({type:"text",value:e.slice(r,n)}),t.push({type:c.type,value:e.slice(n,l)}),n=l,r=n;continue}let u=Ys(e,n+1);if(u===void 0){if(An(a))return Ie(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,u.endIndex),intermediateString:u.intermediateString,finalCharacter:u.finalCharacter}),n=u.endIndex,r=n;continue}if(i==="\x9B"){let a=kn(e,n+1);if(a===void 0)return Ie(t,e,r,n);n>r&&t.push({type:"text",value:e.slice(r,n)}),t.push({type:"csi",value:e.slice(n,a.endIndex),parameterString:a.parameterString,intermediateString:a.intermediateString,finalCharacter:a.finalCharacter}),n=a.endIndex,r=n;continue}let s=Xs(i);if(s!==void 0){let a=On(e,n+1,s.allowBellTerminator);if(a===void 0)return Ie(t,e,r,n);n>r&&t.push({type:"text",value:e.slice(r,n)}),t.push({type:s.type,value:e.slice(n,a)}),n=a,r=n;continue}if(i==="\x9C"){n>r&&t.push({type:"text",value:e.slice(r,n)}),t.push({type:"st",value:i}),n++,r=n;continue}if(_n(i)){n>r&&t.push({type:"text",value:e.slice(r,n)}),t.push({type:"c1",value:i}),n++,r=n;continue}n++}return r<e.length&&t.push({type:"text",value:e.slice(r)}),t},"tokenizeAnsi");var qs=/^[\d:;]*$/,Js=o(e=>{if(!tr(e))return e;let t="";for(let r of Pn(e)){if(r.type==="text"||r.type==="osc"){t+=r.value;continue}r.type==="csi"&&r.finalCharacter==="m"&&r.intermediateString===""&&qs.test(r.parameterString)&&(t+=r.value)}return t},"sanitizeAnsi"),Fn=Js;var Ln=o(e=>{let t="";for(let r=0;r<e.childNodes.length;r++){let n=e.childNodes[r];if(n===void 0)continue;let i="";n.nodeName==="#text"?i=n.nodeValue:((n.nodeName==="ink-text"||n.nodeName==="ink-virtual-text")&&(i=Ln(n)),i.length>0&&typeof n.internal_transform=="function"&&(i=n.internal_transform(i,r))),t+=i}return Fn(t)},"squashTextNodes"),Be=Ln;var mt=o(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:Qs.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(Zs.bind(null,t)),t},"createNode"),gt=o((e,t)=>{t.parentNode&&je(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")&&wt(e)},"appendChildNode"),rr=o((e,t,r)=>{t.parentNode&&je(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")&&wt(e)},"insertBeforeNode"),je=o((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")&&wt(e)},"removeChildNode"),nr=o((e,t,r)=>{if(t==="internal_accessibility"){e.internal_accessibility=r;return}e.attributes[t]=r},"setAttribute"),ir=o((e,t)=>{e.style=t},"setStyle"),Dn=o(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return He(t,e),t},"createTextNode"),Zs=o(function(e,t){let r=e.nodeName==="#text"?e.nodeValue:Be(e),n=er(r);if(n.width<=t||n.width>=1&&t>0&&t<1)return n;let i=e.style?.textWrap??"wrap",s=ht(r,t,i);return er(s)},"measureTextNode"),Wn=o(e=>{if(e?.parentNode)return e.yogaNode??Wn(e.parentNode)},"findClosestYogaNode"),wt=o(e=>{Wn(e)?.markDirty()},"markNodeAsDirty"),He=o((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,wt(e)},"setTextNodeValue");import E from"yoga-layout";var ta=o((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?E.POSITION_TYPE_ABSOLUTE:E.POSITION_TYPE_RELATIVE),"top"in t&&e.setPosition(E.EDGE_TOP,t.top??0),"bottom"in t&&e.setPosition(E.EDGE_BOTTOM,t.bottom??0),"left"in t&&e.setPosition(E.EDGE_LEFT,t.left??0),"right"in t&&e.setPosition(E.EDGE_RIGHT,t.right??0)},"applyPositionStyles"),ra=o((e,t)=>{"margin"in t&&e.setMargin(E.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(E.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(E.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(E.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(E.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(E.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(E.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),na=o((e,t)=>{"padding"in t&&e.setPadding(E.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(E.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(E.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(E.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(E.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(E.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(E.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),ia=o((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(E.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(E.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(E.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(E.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(E.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(E.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(E.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(E.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(E.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(E.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(E.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(E.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(E.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(E.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(E.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(E.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(E.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(E.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(E.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(E.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(E.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),oa=o((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"),sa=o((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?E.DISPLAY_FLEX:E.DISPLAY_NONE)},"applyDisplayStyles"),aa=o((e,t)=>{if("borderStyle"in t){let r=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(E.EDGE_TOP,r),t.borderBottom!==!1&&e.setBorder(E.EDGE_BOTTOM,r),t.borderLeft!==!1&&e.setBorder(E.EDGE_LEFT,r),t.borderRight!==!1&&e.setBorder(E.EDGE_RIGHT,r)}},"applyBorderStyles"),ca=o((e,t)=>{"gap"in t&&e.setGap(E.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(E.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(E.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),ua=o((e,t={})=>{ta(e,t),ra(e,t),na(e,t),ia(e,t),oa(e,t),sa(e,t),aa(e,t),ca(e,t)},"styles"),or=ua;if(pt())try{await Promise.resolve().then(()=>(zn(),la))}catch(e){if(e.code==="ERR_MODULE_NOT_FOUND")console.warn(`
10
10
  The environment variable DEV is set to true, so Ink tried to import \`react-devtools-core\`,
11
11
  but this failed as it was not installed. Debugging with React Devtools requires it.
12
12
 
@@ -14,32 +14,32 @@ To install use this command:
14
14
 
15
15
  $ npm install --save-dev react-devtools-core
16
16
  `.trim()+`
17
- `);else throw e}var Kr=o((e,t)=>{if(e===t)return;if(!e)return t;let n={},r=!1;for(let i of Object.keys(e))(!t||!Object.hasOwn(t,i))&&(n[i]=void 0,r=!0);if(t)for(let i of Object.keys(t))t[i]!==e[i]&&(n[i]=t[i],r=!0);return r?n:void 0},"diff"),Gr=o(e=>{e?.unsetMeasureFunc(),e?.freeRecursive()},"cleanupYogaNode"),xt=Xr,un,Vr={name:void 0,version:void 0},Q=la({getRootHostContext:o(()=>({isInsideText:!1}),"getRootHostContext"),prepareForCommit:o(()=>null,"prepareForCommit"),preparePortalMount:o(()=>null,"preparePortalMount"),clearContainer:o(()=>!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 n=e.isInsideText,r=t==="ink-text"||t==="ink-virtual-text";return n===r?e:{isInsideText:r}},shouldSetTextContent:o(()=>!1,"shouldSetTextContent"),createInstance(e,t,n,r){if(r.isInsideText&&e==="ink-box")throw new Error("<Box> can\u2019t be nested inside <Text> component");let i=e==="ink-text"&&r.isInsideText?"ink-virtual-text":e,s=mt(i);for(let[a,c]of Object.entries(t))if(a!=="children"){if(a==="style"){on(s,c),s.yogaNode&&sn(s.yogaNode,c);continue}if(a==="internal_transform"){s.internal_transform=c;continue}if(a==="internal_cursorAnchor"){s.internal_cursorAnchor=c;continue}if(a==="internal_static"){un=n,s.internal_static=!0,n.isStaticDirty=!0,n.staticNode=s;continue}rn(s,a,c)}return s},createTextInstance(e,t,n){if(!n.isInsideText)throw new Error(`Text string "${e}" must be rendered inside <Text> component`);return Dr(e)},resetTextContent(){},hideTextInstance(e){He(e,"")},unhideTextInstance(e,t){He(e,t)},getPublicInstance:o(e=>e,"getPublicInstance"),hideInstance(e){e.yogaNode?.setDisplay(Yr.DISPLAY_NONE)},unhideInstance(e){e.yogaNode?.setDisplay(Yr.DISPLAY_FLEX)},appendInitialChild:gt,appendChild:gt,insertBefore:nn,finalizeInitialChildren(){return!1},isPrimaryRenderer:!0,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,supportsMicrotasks:!0,scheduleMicrotask:queueMicrotask,scheduleCallback:ce.unstable_scheduleCallback,cancelCallback:ce.unstable_cancelCallback,shouldYield:ce.unstable_shouldYield,now:ce.unstable_now,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:o(()=>null,"getInstanceFromNode"),prepareScopeUpdate(){},getInstanceFromScope:o(()=>null,"getInstanceFromScope"),appendChildToContainer:gt,insertInContainerBefore:nn,removeChildFromContainer(e,t){je(e,t),Gr(t.yogaNode)},commitUpdate(e,t,n,r){un&&e.internal_static&&(un.isStaticDirty=!0);let i=Kr(n,r),s=Kr(n.style,r.style);if(!(!i&&!s)){if(i)for(let[a,c]of Object.entries(i)){if(a==="style"){on(e,c);continue}if(a==="internal_transform"){e.internal_transform=c;continue}if(a==="internal_cursorAnchor"){e.internal_cursorAnchor=c;continue}if(a==="internal_static"){e.internal_static=!0;continue}rn(e,a,c)}s&&e.yogaNode&&sn(e.yogaNode,s)}},commitTextUpdate(e,t,n){He(e,n)},removeChild(e,t){je(e,t),Gr(t.yogaNode)},setCurrentUpdatePriority(e){xt=e},getCurrentUpdatePriority:o(()=>xt,"getCurrentUpdatePriority"),resolveUpdatePriority(){return xt!==Xr?xt:fa},maySuspendCommit(){return!0},NotPendingTransition:void 0,HostTransitionContext:da(null),resetFormInstance(){},requestPostPaintCallback(){},shouldAttemptEagerTransition(){return!1},trackSchedulerEvent(){},resolveEventType(){return null},resolveEventTimeStamp(){return-1.1},preloadInstance(){return!0},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},rendererPackageName:Vr.name,rendererVersion:Vr.version});import wa from"widest-line";import ya from"indent-string";import ue from"yoga-layout";import St from"yoga-layout";var pa=o(e=>e.getComputedWidth()-e.getComputedPadding(St.EDGE_LEFT)-e.getComputedPadding(St.EDGE_RIGHT)-e.getComputedBorder(St.EDGE_LEFT)-e.getComputedBorder(St.EDGE_RIGHT),"getMaxWidth"),qr=pa;import ha from"cli-boxes";import Ct from"chalk";var ma=o((e,t,n,r)=>{if(n.style.borderStyle){let i=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=typeof n.style.borderStyle=="string"?ha[n.style.borderStyle]:n.style.borderStyle,c=n.style.borderTopColor??n.style.borderColor,u=n.style.borderBottomColor??n.style.borderColor,l=n.style.borderLeftColor??n.style.borderColor,f=n.style.borderRightColor??n.style.borderColor,d=n.style.borderTopDimColor??n.style.borderDimColor,g=n.style.borderBottomDimColor??n.style.borderDimColor,h=n.style.borderLeftDimColor??n.style.borderDimColor,m=n.style.borderRightDimColor??n.style.borderDimColor,y=n.style.borderTop!==!1,w=n.style.borderBottom!==!1,x=n.style.borderLeft!==!1,p=n.style.borderRight!==!1,S=i-(x?1:0)-(p?1:0),M=y?z((x?a.topLeft:"")+a.top.repeat(S)+(p?a.topRight:""),c,"foreground"):void 0;y&&d&&(M=Ct.dim(M));let R=s;y&&(R-=1),w&&(R-=1);let A=(z(a.left,l,"foreground")+`
18
- `).repeat(R);h&&(A=Ct.dim(A));let D=(z(a.right,f,"foreground")+`
19
- `).repeat(R);m&&(D=Ct.dim(D));let N=w?z((x?a.bottomLeft:"")+a.bottom.repeat(S)+(p?a.bottomRight:""),u,"foreground"):void 0;w&&g&&(N=Ct.dim(N));let O=y?1:0;M&&r.write(e,t,M,{transformers:[]}),x&&r.write(e,t+O,A,{transformers:[]}),p&&r.write(e+i-1,t+O,D,{transformers:[]}),N&&r.write(e,t+s-1,N,{transformers:[]})}},"renderBorder"),Jr=ma;var ga=o((e,t,n,r)=>{if(!n.style.backgroundColor)return;let i=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=n.style.borderStyle&&n.style.borderLeft!==!1?1:0,c=n.style.borderStyle&&n.style.borderRight!==!1?1:0,u=n.style.borderStyle&&n.style.borderTop!==!1?1:0,l=n.style.borderStyle&&n.style.borderBottom!==!1?1:0,f=i-a-c,d=s-u-l;if(!(f>0&&d>0))return;let g=z(" ".repeat(f),n.style.backgroundColor,"background");for(let h=0;h<d;h++)r.write(e+a,t+u+h,g,{transformers:[]})},"renderBackground"),Qr=ga;function Zr(e){let{rawScrollTop:t,contentHeight:n,viewportHeight:r,previousScrollHeight:i,stickyScroll:s,clampMin:a,clampMax:c,virtualScrollWindowed:u,inWindowScrollTop:l,previousAppliedScrollTop:f,regionTop:d}=e,g=Math.max(0,n-r),h=Math.max(0,Math.min(Math.floor(t),g)),y=s&&n>=i?g:h,w=a!==void 0||c!==void 0?Math.max(a??0,Math.min(y,Math.min(g,c??g))):y,x=u&&l!==void 0,p=Math.max(0,Math.floor(l??0)),S=u?x?p:0:w,M=x?S:w,R=null;if(f!==void 0&&f!==M&&r>0){let A=d+r-1;A>=d&&(R={top:d,bottom:A,delta:M-f})}return{scrollHeight:n,viewportTop:w,appliedScrollTop:M,scrollTop:w,scrollOffsetY:S,scrollHint:R}}o(Zr,"computeScrollState");var xa=o((e,t)=>{let n=e.childNodes[0]?.yogaNode;if(n){let r=n.getComputedLeft(),i=n.getComputedTop();t=`
20
- `.repeat(i)+ya(t,r)}return t},"applyPaddingToText"),Et=o((e,t={})=>{if(t.skipStaticElements&&e.internal_static||e.yogaNode?.getDisplay()===ue.DISPLAY_NONE)return"";let n="";if(e.nodeName==="ink-text")n=Be(e);else if(e.nodeName==="ink-box"||e.nodeName==="ink-root"){let r=e.style.flexDirection==="row"||e.style.flexDirection==="row-reverse"?" ":`
21
- `;n=(e.style.flexDirection==="row-reverse"||e.style.flexDirection==="column-reverse"?[...e.childNodes].reverse():[...e.childNodes]).map(s=>Et(s,{parentRole:e.internal_accessibility?.role,skipStaticElements:t.skipStaticElements})).filter(Boolean).join(r)}if(e.internal_accessibility){let{role:r,state:i}=e.internal_accessibility;if(i){let a=Object.keys(i).filter(c=>i[c]).join(", ");a&&(n=`(${a}) ${n}`)}r&&r!==t.parentRole&&(n=`${r}: ${n}`)}return n},"renderNodeToScreenReaderOutput"),ln=null,fn=null;function ei(){ln=null,fn=null}o(ei,"resetScrollHint");function ti(){return ln}o(ti,"getScrollHint");function ni(){return fn}o(ni,"getScrollRepaint");var ri=o((e,t,n)=>{let{offsetX:r=0,offsetY:i=0,transformers:s=[],skipStaticElements:a}=n;if(a&&e.internal_static)return;let{yogaNode:c}=e;if(c){if(c.getDisplay()===ue.DISPLAY_NONE)return;let u=r+c.getComputedLeft(),l=i+c.getComputedTop();e.internal_cursorAnchor&&(t.cursorPosition={x:u,y:l});let f=s;if(typeof e.internal_transform=="function"&&(f=[e.internal_transform,...s]),e.nodeName==="ink-text"){let h=Be(e);if(h.length>0){let m=wa(h),y=qr(c);if(m>y){let w=e.style.textWrap??"wrap";h=ht(h,y,w)}h=xa(e,h),t.write(u,l,h,{transformers:f})}return}let d=!1,g=0;if(e.nodeName==="ink-box"){Qr(u,l,e,t),Jr(u,l,e,t);let h=e.style.overflowX??e.style.overflow,m=e.style.overflowY??e.style.overflow,y=h==="hidden"||h==="scroll",w=m==="hidden"||m==="scroll";if(m==="scroll"){let x=c.getComputedBorder(ue.EDGE_TOP),p=c.getComputedBorder(ue.EDGE_BOTTOM),S=Math.max(0,c.getComputedHeight()-x-p),M=e.attributes?.virtualScrollWindowed===!0,R=e.childNodes[0],A=Math.max(0,Math.floor(M?e.attributes?.scrollHeight??0:R?.yogaNode?.getComputedHeight()??e.attributes?.scrollHeight??0)),D=typeof e.scrollHeight=="number"?e.scrollHeight:A,N=Zr({rawScrollTop:e.scrollTop??e.attributes?.scrollTop??0,contentHeight:A,viewportHeight:S,previousScrollHeight:D,stickyScroll:e.stickyScroll??!!e.attributes?.stickyScroll,clampMin:e.attributes?.scrollClampMin,clampMax:e.attributes?.scrollClampMax,virtualScrollWindowed:M,inWindowScrollTop:e.attributes?.inWindowScrollTop,previousAppliedScrollTop:e.appliedScrollTop,regionTop:l+x});e.scrollHeight=N.scrollHeight,e.scrollViewportHeight=S,e.scrollViewportTop=N.viewportTop,e.appliedScrollTop=N.appliedScrollTop,N.scrollHint&&(ln=N.scrollHint,Math.trunc(Number(e.attributes?.pendingScrollDelta??0))!==0&&(fn={top:N.scrollHint.top,bottom:N.scrollHint.bottom})),e.attributes&&e.attributes.pendingScrollDelta&&(e.attributes.pendingScrollDelta=0),e.scrollTop=N.scrollTop,g=N.scrollOffsetY}if(y||w){let x=y?u+c.getComputedBorder(ue.EDGE_LEFT):void 0,p=y?u+c.getComputedWidth()-c.getComputedBorder(ue.EDGE_RIGHT):void 0,S=w?l+c.getComputedBorder(ue.EDGE_TOP):void 0,M=w?l+c.getComputedHeight()-c.getComputedBorder(ue.EDGE_BOTTOM):void 0;t.clip({x1:x,x2:p,y1:S,y2:M}),d=!0}}if(e.nodeName==="ink-root"||e.nodeName==="ink-box"){for(let h of e.childNodes)ri(h,t,{offsetX:u,offsetY:l-g,transformers:f,skipStaticElements:a});d&&t.unclip()}}},"renderNodeToOutput"),dn=ri;import Sa from"slice-ansi";import Ca from"string-width";import{styledCharsFromTokens as Ea,styledCharsToString as Ra,tokenize as ba}from"@alcalzone/ansi-tokenize";var pn=class{static{o(this,"OutputCaches")}widths=new Map;blockWidths=new Map;styledChars=new Map;getStyledChars(t){let n=this.styledChars.get(t);return n===void 0&&(n=Ea(ba(t)),this.styledChars.set(t,n)),n}getStringWidth(t){let n=this.widths.get(t);return n===void 0&&(n=Ca(t),this.widths.set(t,n)),n}getWidestLine(t){let n=this.blockWidths.get(t);if(n===void 0){let r=0;for(let i of t.split(`
22
- `))r=Math.max(r,this.getStringWidth(i));n=r,this.blockWidths.set(t,n)}return n}},ve=class{static{o(this,"Output")}width;height;operations=[];caches=new pn;constructor(t){let{width:n,height:r}=t;this.width=n,this.height=r}write(t,n,r,i){let{transformers:s}=i;r&&this.operations.push({type:"write",x:t,y:n,text:r,transformers:s})}clip(t){this.operations.push({type:"clip",clip:t})}unclip(){this.operations.push({type:"unclip"})}getGrid(){let t=[];for(let r=0;r<this.height;r++){let i=[];for(let s=0;s<this.width;s++)i.push({type:"char",value:" ",fullWidth:!1,styles:[]});t.push(i)}let n=[];for(let r of this.operations)if(r.type==="clip"&&n.push(r.clip),r.type==="unclip"&&n.pop(),r.type==="write"){let{text:i,transformers:s}=r,{x:a,y:c}=r,u=i.split(`
23
- `),l=n.at(-1);if(l){let d=typeof l?.x1=="number"&&typeof l?.x2=="number",g=typeof l?.y1=="number"&&typeof l?.y2=="number";if(d){let h=this.caches.getWidestLine(i);if(a+h<l.x1||a>l.x2)continue}if(g){let h=u.length;if(c+h<l.y1||c>l.y2)continue}if(d&&(u=u.map(h=>{let m=a<l.x1?l.x1-a:0,y=this.caches.getStringWidth(h),w=a+y>l.x2?l.x2-a:y;return Sa(h,m,w)}),a<l.x1&&(a=l.x1)),g){let h=c<l.y1?l.y1-c:0,m=u.length,y=c+m>l.y2?l.y2-c:m;u=u.slice(h,y),c<l.y1&&(c=l.y1)}}let f=0;for(let[d,g]of u.entries()){let h=t[c+f];if(!h)continue;for(let w of s)g=w(g,d);let m=this.caches.getStyledChars(g),y=a;for(let w of m){h[y]=w;let x=Math.max(1,this.caches.getStringWidth(w.value));if(x>1)for(let p=1;p<x;p++)h[y+p]={type:"char",value:"",fullWidth:!1,styles:w.styles};y+=x}f++}}return t}get(){let t=this.getGrid();return{output:t.map(r=>{let i=r.filter(s=>s!==void 0);return Ra(i).trimEnd()}).join(`
24
- `),height:t.length}}};var K={Single:0,Wide:1,SpacerTail:2},Y={char:" ",width:K.Single,style:"",hyperlink:void 0};function ii(e,t){if(e<0||t<0)throw new RangeError(`Screen dimensions must be non-negative (got width=${e}, height=${t})`);let n=new Array(e*t).fill(Y);return{width:e,height:t,cells:n}}o(ii,"createScreen");function de(e,t,n){if(!(t<0||n<0||t>=e.width||n>=e.height))return e.cells[n*e.width+t]}o(de,"cellAt");function oi(e,t){if(e<0||t<0)throw new RangeError(`Screen dimensions must be non-negative (got width=${e}, height=${t})`);let n=new Array(e*t).fill(Y),r=!1;return{width:e,height:t,setCellAt(i,s,a){if(r)throw new Error("ScreenBuilder.setCellAt called after build()");if(i<0||s<0||i>=e||s>=t)throw new RangeError(`ScreenBuilder.setCellAt out of bounds: (${i}, ${s}) on ${e}x${t}`);n[s*e+i]=a},build(){if(r)throw new Error("ScreenBuilder.build called twice");return r=!0,{width:e,height:t,cells:n}}}}o(oi,"createScreenBuilder");function*Rt(e,t){let n=Math.max(e.width,t.width),r=Math.max(e.height,t.height);for(let i=0;i<r;i++)for(let s=0;s<n;s++){let a=de(e,s,i),c=de(t,s,i);Ta(a,c)||(yield{x:s,y:i,prev:a,next:c})}}o(Rt,"diffEach");function si(e,t,n,r){if(r===0||e.height===0)return e;let i=Math.max(0,t),s=Math.min(e.height-1,n);if(i>s)return e;let a=e.width,c=e.cells.slice(),u=s-i+1,l=o(f=>{for(let d=0;d<a;d++)c[f*a+d]=Y},"blankRow");if(Math.abs(r)>=u){for(let f=i;f<=s;f++)l(f);return{...e,cells:c}}if(r>0){for(let f=i;f<=s-r;f++)for(let d=0;d<a;d++)c[f*a+d]=e.cells[(f+r)*a+d]??Y;for(let f=s-r+1;f<=s;f++)l(f)}else{let f=-r;for(let d=s;d>=i+f;d--)for(let g=0;g<a;g++)c[d*a+g]=e.cells[(d-f)*a+g]??Y;for(let d=i;d<=i+f-1;d++)l(d)}return{...e,cells:c}}o(si,"shiftRowsRegion");function Ta(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}o(Ta,"cellsEqual");var hn="\x1B]8;";function Ma(e){return e.endsWith("\x07")?e.slice(0,-1):e}o(Ma,"stripOsc8Terminator");function Ia(e){if(!e.startsWith(hn))return;let t=e.slice(hn.length),n=t.indexOf(";");if(n<0)return;let r=t.slice(n+1),i=Ma(r);return i.length>0?i:void 0}o(Ia,"parseOsc8Url");function va(e){if(e.value==="")return{char:"",width:K.SpacerTail,style:"",hyperlink:void 0};let t="",n;for(let r of e.styles)if(r.code.startsWith(hn)){let i=Ia(r.code);i!==void 0&&(n=i)}else t+=r.code;return{char:e.value,width:e.fullWidth?K.Wide:K.Single,style:t,hyperlink:n}}o(va,"styledCharToCell");function ai(e){let t=e.getGrid(),n=e.width,r=e.height,i=oi(n,r),s=Math.min(t.length,r);for(let a=0;a<s;a++){let c=t[a];if(!c)continue;let u=Math.min(c.length,n);for(let l=0;l<u;l++){let f=c[l];if(!f)continue;let d=va(f);d.char===Y.char&&d.width===Y.width&&d.style===Y.style&&d.hyperlink===Y.hyperlink||i.setCellAt(l,a,d)}}return i.build()}o(ai,"outputToScreen");var Na=o((e,t,n)=>{if(e.yogaNode){if(t){let g=Et(e,{skipStaticElements:!0}),h=g===""?0:g.split(`
25
- `).length,m="";return e.staticNode&&(m=Et(e.staticNode,{skipStaticElements:!1})),{output:g,outputHeight:h,staticOutput:m?`${m}
26
- `:"",frame:void 0}}let r=new ve({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});ei(),dn(e,r,{skipStaticElements:!0});let i;e.staticNode?.yogaNode&&(i=new ve({width:e.staticNode.yogaNode.getComputedWidth(),height:e.staticNode.yogaNode.getComputedHeight()}),dn(e.staticNode,i,{skipStaticElements:!1}));let{output:s,height:a}=r.get(),c=ai(r),u=n?.columns??e.yogaNode.getComputedWidth(),l=n?.rows??e.yogaNode.getComputedHeight(),f=r.cursorPosition,d={screen:c,viewport:{width:u,height:l},cursor:{x:0,y:c.height,visible:!1},scrollHint:ti(),scrollRepaint:ni(),...f?{inputCursor:{x:f.x,y:f.y}}:{}};return{output:s,outputHeight:a,staticOutput:i?`${i.get().output}
27
- `:"",frame:d}}return{output:"",outputHeight:0,staticOutput:"",frame:void 0}},"renderer"),mn=Na;function j(...e){if(e.length===0)return"\x1B[";if(e.length===1)return`\x1B[${e[0]}`;let t=e.slice(0,-1),n=e[e.length-1];return`\x1B[${t.join(";")}${n}`}o(j,"csi");function ci(e=1){return e===0?"":j(e,"A")}o(ci,"cursorUp");function ka(e=1){return e===0?"":j(e,"B")}o(ka,"cursorDown");function Oa(e=1){return e===0?"":j(e,"C")}o(Oa,"cursorForward");function Aa(e=1){return e===0?"":j(e,"D")}o(Aa,"cursorBack");function ui(e){return j(e,"G")}o(ui,"cursorTo");var _a=j("G"),li=j("H");function fi(e,t){let n="";return e<0?n+=Aa(-e):e>0&&(n+=Oa(e)),t<0?n+=ci(-t):t>0&&(n+=ka(t)),n}o(fi,"cursorMove");var gn=j(2,"K");function di(e){if(e<=0)return"";let t="";for(let n=0;n<e;n++)t+=gn,n<e-1&&(t+=ci(1));return t+=_a,t}o(di,"eraseLines");var pi=j("r"),hi="\x1B7",mi="\x1B8";function gi(e,t){return j(e,t,"r")}o(gi,"setScrollRegion");function wi(e=1){return j(e,"S")}o(wi,"scrollUp");function yi(e=1){return j(e,"T")}o(yi,"scrollDown");var $e=j(0,"m");function xi(e){return`\x1B]${e.join(";")}\x07`}o(xi,"osc");function Pa(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(t>>>0).toString(36)}o(Pa,"osc8Id");function Ue(e,t){if(!e)return Ne;let n={id:Pa(e),...t??{}},r=Object.entries(n).map(([i,s])=>`${i}=${s}`).join(":");return xi(["8",r,e])}o(Ue,"link");var Ne=xi(["8","",""]);function wn(e){let{screen:t}=e;if(t.width===0||t.height===0)return[];let n=[],r="",i;for(let s=0;s<t.height;s++){let a="";for(let c=0;c<t.width;c++){let u=de(t,c,s);!u||u.width===K.SpacerTail||(u.hyperlink!==i&&(i!==void 0&&(a+=Ne),u.hyperlink!==void 0&&(a+=Ue(u.hyperlink)),i=u.hyperlink),u.style!==r&&(r!==""&&(a+=$e),u.style!==""&&(a+=u.style),r=u.style),a+=u.char)}i!==void 0&&(a+=Ne,i=void 0),r!==""&&(a+=$e,r=""),n.push(a.trimEnd())}return[{type:"stdout",content:n.join(`
28
- `)}]}o(wn,"renderFullFrame");var Fa=Object.freeze([]),La=Object.freeze([]);function pe(e,t){if(e===t)return{patches:Fa,current:e};let n=[];return e!==""&&n.push({type:"stdout",content:$e}),t!==""&&n.push({type:"stdout",content:t}),{patches:n,current:t}}o(pe,"transitionStyle");function Ye(e,t){let n=pe(e,t),r="";for(let i of n.patches)i.type==="stdout"&&(r+=i.content);return{str:r,current:n.current}}o(Ye,"transitionStyleStr");function Z(e,t){if(e===t)return{patches:La,current:e};let n=[];return e!==void 0&&n.push({type:"stdout",content:Ne}),t!==void 0&&n.push({type:"stdout",content:Ue(t)}),{patches:n,current:t}}o(Z,"transitionHyperlink");function Si(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 n=0;n<e.length;n++)if(e.charCodeAt(n)===65039)return!0}return!1}o(Si,"needsWidthCompensation");var he=class{static{o(this,"VirtualScreen")}viewportWidth;cursor;diff;_cursorMut;_diffMut=[];constructor(t,n){this.viewportWidth=n,this._cursorMut={x:t.x,y:t.y},this.cursor=this._cursorMut,this.diff=this._diffMut}txn(t){let[n,r]=t(this.cursor);for(let i of n)this._diffMut.push(i);this._cursorMut.x+=r.dx,this._cursorMut.y+=r.dy}},ee={type:"carriageReturn"},ze={type:"stdout",content:`
29
- `};function Ke(e,t,n){let r=t.width===K.Wide?2:1,i=e.viewportWidth,s=!1;return e.txn(a=>{let c=a.x;if(r===2&&c<i){let f=t.char.length>2?i:i+1;if(c+2>=f)return[[],{dx:0,dy:0}]}let u=[];n.length>0&&u.push({type:"stdout",content:n});let l=r===2&&Si(t.char);return l&&c+1<i&&(u.push({type:"cursorTo",col:c+2}),u.push({type:"stdout",content:" "}),u.push({type:"cursorTo",col:c+1})),u.push({type:"stdout",content:t.char}),l&&u.push({type:"cursorTo",col:c+r+1}),s=!0,c>=i?[u,{dx:r-c,dy:1}]:[u,{dx:r,dy:0}]}),s}o(Ke,"writeCellWithStyleStr");function me(e,t,n){e.txn(r=>{let i=t-r.x,s=n-r.y;return r.x>=e.viewportWidth?[[ee,{type:"cursorMove",x:t,y:s}],{dx:i,dy:s}]:s!==0?[[ee,{type:"cursorMove",x:t,y:s}],{dx:i,dy:s}]:[[{type:"cursorMove",x:i,y:s}],{dx:i,dy:s}]})}o(me,"moveCursorTo");function Ge(e,t,n,r,i=!1){let s="",a;for(let c=n;c<r;c++){if(e.cursor.y<c){let d=c-e.cursor.y;e.txn(g=>{let h=new Array(1+d);h[0]=ee;for(let m=0;m<d;m++)h[1+m]=ze;return[h,{dx:-g.x,dy:d}]})}for(let d=0;d<t.screen.width;d++){let g=de(t.screen,d,c);if(!g||g.width===K.SpacerTail||g.char===" "&&g.style===""&&g.hyperlink===void 0)continue;me(e,d,c);let h=Z(a,g.hyperlink);for(let y of h.patches)e.txn(()=>[[y],{dx:0,dy:0}]);a=h.current;let m=Ye(s,g.style);Ke(e,g,m.str)&&(s=m.current)}let u=pe(s,"");for(let d of u.patches)e.txn(()=>[[d],{dx:0,dy:0}]);s=u.current;let l=Z(a,void 0);for(let d of l.patches)e.txn(()=>[[d],{dx:0,dy:0}]);a=l.current;let f=c===r-1&&t.screen.height<=t.viewport.height&&(c+1>=t.viewport.height||i);e.txn(d=>f?[[ee],{dx:-d.x,dy:0}]:[[ee,ze],{dx:-d.x,dy:1}])}if(s!==""||a!==void 0){let c=pe(s,"");for(let l of c.patches)e.txn(()=>[[l],{dx:0,dy:0}]);let u=Z(a,void 0);for(let l of u.patches)e.txn(()=>[[l],{dx:0,dy:0}])}}o(Ge,"renderFrameSlice");function yn(e,t,n,r){let i=Math.max(0,Math.floor(n)),s=Math.min(t.screen.height-1,t.viewport.height-1,Math.floor(r));for(let a=i;a<=s;a++)Da(e,t,a)}o(yn,"repaintFrameRows");function Da(e,t,n){let r="",i;me(e,0,n),e.txn(()=>[[{type:"stdout",content:Ne+$e},{type:"eraseLine"}],{dx:0,dy:0}]);for(let s=0;s<t.screen.width;s++){let a=de(t.screen,s,n);if(!a||a.width===K.SpacerTail||a.char===" "&&a.style===""&&a.hyperlink===void 0)continue;me(e,s,n);let c=Z(i,a.hyperlink);for(let l of c.patches)e.txn(()=>[[l],{dx:0,dy:0}]);i=c.current;let u=Ye(r,a.style);Ke(e,a,u.str)&&(r=u.current)}for(let s of pe(r,"").patches)e.txn(()=>[[s],{dx:0,dy:0}]);for(let s of Z(i,void 0).patches)e.txn(()=>[[s],{dx:0,dy:0}])}o(Da,"repaintFrameRow");function xn(e,t){let n="";for(let r=0;r<e.width;r++){let i=de(e,r,t);n+=i?.char??" "}return n.trimEnd()}o(xn,"readLine");function ke(e,t,n=!1){let r=new he({x:0,y:0},e.viewport.width);Ge(r,e,0,e.screen.height,n);let i=[{type:"clearTerminal",reason:t}];for(let s of r.diff)i.push(s);return i}o(ke,"fullResetSequence_CAUSES_FLICKER");function bt(e,t){let n=e.cursor.y>=e.screen.height,r=t.screen.height>e.screen.height,i=t.screen.height<e.screen.height,s=n&&e.screen.height>=e.viewport.height,a=t.screen.height<=e.viewport.height,c=s?1:0;return{viewportY:r?Math.max(0,e.screen.height-e.viewport.height+c):Math.max(e.screen.height,t.screen.height)-t.viewport.height+c,cursorAtBottom:n,growing:r,shrinking:i,prevHadScrollback:s,nextFitsViewport:a}}o(bt,"computeViewportState");function Ci(e,t,n){if(t.viewport.height<e.viewport.height||e.viewport.width!==0&&t.viewport.width!==e.viewport.width)return{reset:!0,reason:"resize"};let r=bt(e,t);if(r.prevHadScrollback&&r.nextFitsViewport&&r.shrinking)return{reset:!0,reason:"offscreen"};if(e.screen.height>=e.viewport.height&&e.screen.height>0&&r.cursorAtBottom&&!r.growing){let s=e.screen.height-e.viewport.height+1;for(let a of Rt(e.screen,t.screen))if(a.y<s)return{reset:!0,reason:"offscreen",trigger:{y:a.y,prevLine:n(e.screen,a.y),nextLine:n(t.screen,a.y)}}}return r.shrinking&&e.screen.height-t.screen.height>e.viewport.height?{reset:!0,reason:"offscreen"}:{reset:!1}}o(Ci,"shouldFullReset");function Ei(e,t,n){return!!(t&&t.width===2||e&&e.width===2&&!t||t&&n&&!e)}o(Ei,"shouldSkipDiff");var Tt=class{static{o(this,"LogUpdate")}options;constructor(t){this.options=t}render(t,n,r={}){if(!this.options.isTTY)return wn(n);let i=r.inlineBottomAnchored??!1,s=Ri(t,i),a=Ri(n,i);if(r.altScreen===!0&&t.screen.height===0&&a.screen.height>0)return ke(a,"clear",i);let c=Ci(s,a,xn);if(c.reset)return ke(a,c.reason,i);if(a.scrollRepaint&&r.altScreen===!0)return Wa(s,a,a.scrollRepaint);let u=a.scrollHint;if(u&&r.altScreen&&r.decstbmSafe&&process.env.KODAX_SCROLL_DECSTBM==="1"&&u.delta!==0&&u.top>=0&&u.bottom<s.screen.height&&u.bottom<a.screen.height&&Math.abs(u.delta)<=u.bottom-u.top){let l={type:"scrollRegion",top:u.top,bottom:u.bottom,delta:u.delta},f={...s,screen:si(s.screen,u.top,u.bottom,u.delta)};return[l,...bi(f,a,i)]}return bi(s,a,i)}reset(){}};function Sn(e,t){for(let n of t)e.txn(()=>[[n],{dx:0,dy:0}])}o(Sn,"emitPatches");function Cn(e,t,n){if(t!==""){let r=pe(t,"");Sn(e,r.patches)}if(n!==void 0){let r=Z(n,void 0);Sn(e,r.patches)}return{style:"",hyperlink:void 0}}o(Cn,"resetStyleAndHyperlink");function Wa(e,t,n){let r=bt(e,t),i=new he(e.cursor,t.viewport.width);r.shrinking&&Ti(i,e,t);let s=Math.max(0,Math.floor(n.top)),a=Math.min(t.screen.height-1,t.viewport.height-1,Math.floor(n.bottom)),c=a>=s?{top:s,bottom:a}:void 0;c&&yn(i,t,c.top,c.bottom);let u=Mi(i,e,t,{...r,skipRows:c});return u.needsFullReset?ke(t,"offscreen"):(Cn(i,u.currentStyle,u.currentHyperlink),r.growing&&Ge(i,t,e.screen.height,t.screen.height),Ii(i,t),i.diff)}o(Wa,"renderScrollRepaint");function Ti(e,t,n){let r=t.screen.height-n.screen.height;e.txn(i=>[[{type:"clear",count:r},{type:"cursorMove",x:0,y:-1}],{dx:-i.x,dy:-r}])}o(Ti,"applyShrink");function Mi(e,t,n,r){let i="",s,a=!1;for(let c of Rt(t.screen,n.screen)){let{x:u,y:l,prev:f,next:d}=c;if(r.growing&&l>=t.screen.height||r.skipRows&&l>=r.skipRows.top&&l<=r.skipRows.bottom)continue;let g=!!(d&&d.char===" "&&d.style===""&&d.hyperlink===void 0);if(!Ei(f,d,g)){if(l<r.viewportY){a=!0;break}if(me(e,u,l),d){let h=Z(s,d.hyperlink);Sn(e,h.patches),s=h.current;let m=Ye(i,d.style);Ke(e,d,m.str)&&(i=m.current)}else if(f){let h=Cn(e,i,s);i=h.style,s=h.hyperlink,e.txn(()=>[[{type:"stdout",content:" "}],{dx:1,dy:0}])}}}return{currentStyle:i,currentHyperlink:s,needsFullReset:a}}o(Mi,"diffPass");function Ri(e,t){let n=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<=n?e:{...e,cursor:{...e.cursor,y:n}}}o(Ri,"clampRestingCursor");function Ii(e,t){t.cursor.y>=t.screen.height?e.txn(n=>{let r=t.cursor.y-n.y;if(r>0){let s=new Array(1+r);s[0]=ee;for(let a=0;a<r;a++)s[1+a]=ze;return[s,{dx:-n.x,dy:r}]}let i=t.cursor.y-n.y;return i!==0||n.x!==t.cursor.x?[[ee,{type:"cursorMove",x:t.cursor.x,y:i}],{dx:t.cursor.x-n.x,dy:i}]:[[],{dx:0,dy:0}]}):me(e,t.cursor.x,t.cursor.y)}o(Ii,"restoreCursor");function bi(e,t,n=!1){let r=bt(e,t),i=new he(e.cursor,t.viewport.width);r.shrinking&&Ti(i,e,t);let s=Mi(i,e,t,r);return s.needsFullReset?ke(t,"offscreen",n):(Cn(i,s.currentStyle,s.currentHyperlink),r.growing&&Ge(i,t,e.screen.height,t.screen.height,n),Ii(i,t),i.diff)}o(bi,"renderIncremental");var Ba="\x1B[?25l",ja="\x1B[?25h",Ha=`\x1B[2J${li}`,$a="\x1B[?2026h",Ua="\x1B[?2026l";function za(e){switch(e.type){case"stdout":return e.content;case"carriageReturn":return"\r";case"cursorHide":return Ba;case"cursorShow":return ja;case"cursorMove":return fi(e.x,e.y);case"cursorTo":return ui(e.col);case"eraseLine":return gn;case"clear":return di(e.count);case"clearTerminal":return Ha;case"hyperlink":return Ue(e.uri);case"scrollRegion":{let t=e.top+1,n=e.bottom+1,r=Math.abs(e.delta),i=e.delta>0?wi(r):yi(r);return hi+gi(t,n)+i+pi+mi}}}o(za,"patchToBytes");function Mt(e,t,n=!1){let r="",i=!1;for(let s of t)s.type==="clearTerminal"&&(i=!0),r+=za(s);if(r.length!==0){if(n&&i){e.write($a+r+Ua);return}e.write(r)}}o(Mt,"applyDiff");function vi(e,t,n={}){if(t===void 0)return!1;let r=e.cellLogUpdate.render(e.prevFrame,t,n);return Mt(e.stdout,r,n.synchronized??!1),e.prevFrame=t,!0}o(vi,"applyCellFrame");function Ve(e,t){return{screen:ii(0,0),viewport:{width:t,height:e},cursor:{x:0,y:0,visible:!0}}}o(Ve,"emptyFrame");import Ya from"is-in-ci";var te="\x1B[?2026h",G="\x1B[?2026l";function ne(e){return"isTTY"in e&&e.isTTY===!0&&!Ya}o(ne,"shouldSynchronize");var Ka=new WeakMap,Ni=Ka;import{EventEmitter as dc}from"node:events";import pc from"node:process";import ge,{useState as bn,useRef as Oe,useCallback as _,useMemo as Ae,useEffect as Gi}from"react";import hc from"cli-cursor";var Ga=o(e=>e>=48&&e<=63,"isCsiParameterByte"),Va=o(e=>e>=32&&e<=47,"isCsiIntermediateByte"),Oi=o(e=>e>=64&&e<=126,"isCsiFinalByte");function Xa(e,t,n){let r=t+n+1,i=r;for(;i<e.length;i+=1){let s=e.codePointAt(i);if(s===void 0)return"pending";if(!(Ga(s)||Va(s))&&!(s===91&&i===r))return Oi(s)?{sequence:e.slice(t,i+1),nextIndex:i+1}:void 0}return"pending"}o(Xa,"parseCsiSequence");function qa(e,t,n){let r=t+n+2;if(r>e.length)return"pending";let i=e.codePointAt(r-1);if(!(i===void 0||!Oi(i)))return{sequence:e.slice(t,r),nextIndex:r}}o(qa,"parseSs3Sequence");function ki(e,t,n){let r=e[t+n];if(r===void 0)return"pending";if(r==="[")return Xa(e,t,n);if(r==="O")return qa(e,t,n)}o(ki,"parseControlSequence");function Ja(e,t){let n=e.codePointAt(t+1),r=n!==void 0&&n>65535?2:1,i=t+1+r;return{sequence:e.slice(t,i),nextIndex:i}}o(Ja,"parseEscapedCodePoint");function Qa(e){let t=[],n=0,r=o(i=>({events:t,pending:e.slice(i)}),"pendingFrom");for(;n<e.length;){let i=e.indexOf("\x1B",n);if(i===-1)return t.push(e.slice(n)),{events:t,pending:""};if(i>n&&t.push(e.slice(n,i)),i===e.length-1)return r(i);let s=ki(e,i,1);if(s==="pending")return r(i);if(s){t.push(s.sequence),n=s.nextIndex;continue}if(e[i+1]==="\x1B"){if(i+2>=e.length)return r(i);let u=ki(e,i,2);if(u==="pending")return r(i);if(u){t.push(u.sequence),n=u.nextIndex;continue}t.push(e.slice(i,i+2)),n=i+2;continue}let c=Ja(e,i);t.push(c.sequence),n=c.nextIndex}return{events:t,pending:""}}o(Qa,"parseKeypresses");function It(){let e="";return{push(t){let n=Qa(e+t);return e=n.pending,n.events},hasPendingEscape(){return e.startsWith("\x1B")},flushPendingEscape(){if(!e.startsWith("\x1B"))return;let t=e;return e="",t},reset(){e=""}}}o(It,"createInputParser");import{createContext as Za}from"react";var Ai=Za({exit(){}});Ai.displayName="InternalAppContext";var _i=Ai;import{EventEmitter as ec}from"node:events";import{createContext as tc}from"react";var nc={isTTY:!1,isRaw:!1,on(){},off(){},pause(){},resume(){},setRawMode(){}},Pi=tc({stdin:nc,internal_eventEmitter:new ec,setRawMode(){},isRawModeSupported:!1,internal_exitOnCtrlC:!0});Pi.displayName="InternalStdinContext";var Fi=Pi;import{createContext as rc}from"react";var ic={isTTY:!1,columns:80,rows:24,write(){return!0},on(){},off(){}},Li=rc({stdout:ic,write(){}});Li.displayName="InternalStdoutContext";var Di=Li;import{createContext as oc}from"react";var sc={isTTY:!1,write(){return!0},on(){},off(){}},Wi=oc({stderr:sc,write(){}});Wi.displayName="InternalStderrContext";var Bi=Wi;import{createContext as ac}from"react";var ji=ac({activeId:void 0,add(){},remove(){},activate(){},deactivate(){},enableFocus(){},disableFocus(){},focusNext(){},focusPrevious(){},focus(){}});ji.displayName="InternalFocusContext";var Hi=ji;import{createContext as cc}from"react";var $i=cc({setCursorPosition(){}});$i.displayName="InternalCursorContext";var Ui=$i;import lc,{PureComponent as fc}from"react";import*as vt from"node:fs";import{cwd as Ki}from"node:process";import F from"react";import zi from"stack-utils";import uc from"code-excerpt";var En=o(e=>e?.replace(`file://${Ki()}/`,""),"cleanupPath"),Yi=new zi({cwd:Ki(),internals:zi.nodeInternals()});function Rn({error:e}){let t=e.stack?e.stack.split(`
30
- `).slice(1):void 0,n=t?Yi.parseLine(t[0]):void 0,r=En(n?.file),i,s=0;if(r&&n?.line&&vt.existsSync(r)){let a=vt.readFileSync(r,"utf8");if(i=uc(a,n.line),i)for(let{line:c}of i)s=Math.max(s,String(c).length)}return F.createElement($,{flexDirection:"column",padding:1},F.createElement($,null,F.createElement(W,{backgroundColor:"red",color:"white"}," ","ERROR"," "),F.createElement(W,null," ",e.message)),n&&r&&F.createElement($,{marginTop:1},F.createElement(W,{dimColor:!0},r,":",n.line,":",n.column)),n&&i&&F.createElement($,{marginTop:1,flexDirection:"column"},i.map(({line:a,value:c})=>F.createElement($,{key:a},F.createElement($,{width:s+1},F.createElement(W,{dimColor:a!==n.line,backgroundColor:a===n.line?"red":void 0,color:a===n.line?"white":void 0,"aria-label":a===n.line?`Line ${a}, error`:`Line ${a}`},String(a).padStart(s," "),":")),F.createElement(W,{key:a,backgroundColor:a===n.line?"red":void 0,color:a===n.line?"white":void 0}," "+c)))),e.stack&&F.createElement($,{marginTop:1,flexDirection:"column"},e.stack.split(`
31
- `).slice(1).map(a=>{let c=Yi.parseLine(a);return c?F.createElement($,{key:a},F.createElement(W,{dimColor:!0},"- "),F.createElement(W,{dimColor:!0,bold:!0},c.function),F.createElement(W,{dimColor:!0,color:"gray","aria-label":`at ${En(c.file)??""} line ${c.line} column ${c.column}`}," ","(",En(c.file)??"",":",c.line,":",c.column,")")):F.createElement($,{key:a},F.createElement(W,{dimColor:!0},"- "),F.createElement(W,{dimColor:!0,bold:!0},a,"\\t"," "))})))}o(Rn,"ErrorOverview");var Xe=class extends fc{static{o(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?lc.createElement(Rn,{error:this.state.error}):this.props.children}};var mc=" ",gc="\x1B[Z",wc="\x1B";function Vi({children:e,stdin:t,stdout:n,stderr:r,writeToStdout:i,writeToStderr:s,exitOnCtrlC:a,onExit:c,setCursorPosition:u}){let[l,f]=bn(!0),[d,g]=bn(void 0),[,h]=bn([]),m=Oe(0),y=Oe(0),w=Oe(new dc);w.current.setMaxListeners(1/0);let x=Oe(void 0),p=Oe(It()),S=Oe(void 0),M=_(()=>{S.current&&(clearImmediate(S.current),S.current=void 0)},[]),R=t.isTTY,A=_(()=>{x.current&&(t.removeListener("readable",x.current),x.current=void 0)},[t]),D=_(()=>{t.setRawMode(!1),A(),t.unref(),y.current=0,p.current.reset(),M()},[t,A,M]),N=_(E=>{R&&y.current>0&&D(),c(E)},[R,D,c]),O=_(E=>{if(E===""&&a){N();return}E===wc&&g(b=>b&&void 0)},[a,N]),Qe=_(E=>{O(E),w.current.emit("input",E)},[O]),jn=_(()=>{M(),S.current=setImmediate(()=>{S.current=void 0;let E=p.current.flushPendingEscape();E&&Qe(E)})},[M,Qe]),_t=_(()=>{M();let E;for(;(E=t.read())!==null;){let b=p.current.push(E);for(let I of b)Qe(I)}p.current.hasPendingEscape()&&jn()},[t,Qe,M,jn]),Hn=_(E=>{if(!R)throw t===pc.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default.
17
+ `);else throw e}var Kn=o((e,t)=>{if(e===t)return;if(!e)return t;let r={},n=!1;for(let i of Object.keys(e))(!t||!Object.hasOwn(t,i))&&(r[i]=void 0,n=!0);if(t)for(let i of Object.keys(t))t[i]!==e[i]&&(r[i]=t[i],n=!0);return n?r:void 0},"diff"),Yn=o(e=>{e?.unsetMeasureFunc(),e?.freeRecursive()},"cleanupYogaNode"),xt=Xn,cr,Vn={name:void 0,version:void 0},Q=da({getRootHostContext:o(()=>({isInsideText:!1}),"getRootHostContext"),prepareForCommit:o(()=>null,"prepareForCommit"),preparePortalMount:o(()=>null,"preparePortalMount"),clearContainer:o(()=>!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:o(()=>!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 i=e==="ink-text"&&n.isInsideText?"ink-virtual-text":e,s=mt(i);for(let[a,c]of Object.entries(t))if(a!=="children"){if(a==="style"){ir(s,c),s.yogaNode&&or(s.yogaNode,c);continue}if(a==="internal_transform"){s.internal_transform=c;continue}if(a==="internal_cursorAnchor"){s.internal_cursorAnchor=c;continue}if(a==="internal_static"){cr=r,s.internal_static=!0,r.isStaticDirty=!0,r.staticNode=s;continue}nr(s,a,c)}return s},createTextInstance(e,t,r){if(!r.isInsideText)throw new Error(`Text string "${e}" must be rendered inside <Text> component`);return Dn(e)},resetTextContent(){},hideTextInstance(e){He(e,"")},unhideTextInstance(e,t){He(e,t)},getPublicInstance:o(e=>e,"getPublicInstance"),hideInstance(e){e.yogaNode?.setDisplay(Gn.DISPLAY_NONE)},unhideInstance(e){e.yogaNode?.setDisplay(Gn.DISPLAY_FLEX)},appendInitialChild:gt,appendChild:gt,insertBefore:rr,finalizeInitialChildren(){return!1},isPrimaryRenderer:!0,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,supportsMicrotasks:!0,scheduleMicrotask:queueMicrotask,scheduleCallback:ce.unstable_scheduleCallback,cancelCallback:ce.unstable_cancelCallback,shouldYield:ce.unstable_shouldYield,now:ce.unstable_now,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:o(()=>null,"getInstanceFromNode"),prepareScopeUpdate(){},getInstanceFromScope:o(()=>null,"getInstanceFromScope"),appendChildToContainer:gt,insertInContainerBefore:rr,removeChildFromContainer(e,t){je(e,t),Yn(t.yogaNode)},commitUpdate(e,t,r,n){cr&&e.internal_static&&(cr.isStaticDirty=!0);let i=Kn(r,n),s=Kn(r.style,n.style);if(!(!i&&!s)){if(i)for(let[a,c]of Object.entries(i)){if(a==="style"){ir(e,c);continue}if(a==="internal_transform"){e.internal_transform=c;continue}if(a==="internal_cursorAnchor"){e.internal_cursorAnchor=c;continue}if(a==="internal_static"){e.internal_static=!0;continue}nr(e,a,c)}s&&e.yogaNode&&or(e.yogaNode,s)}},commitTextUpdate(e,t,r){He(e,r)},removeChild(e,t){je(e,t),Yn(t.yogaNode)},setCurrentUpdatePriority(e){xt=e},getCurrentUpdatePriority:o(()=>xt,"getCurrentUpdatePriority"),resolveUpdatePriority(){return xt!==Xn?xt:fa},maySuspendCommit(){return!0},NotPendingTransition:void 0,HostTransitionContext:pa(null),resetFormInstance(){},requestPostPaintCallback(){},shouldAttemptEagerTransition(){return!1},trackSchedulerEvent(){},resolveEventType(){return null},resolveEventTimeStamp(){return-1.1},preloadInstance(){return!0},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},rendererPackageName:Vn.name,rendererVersion:Vn.version});import ya from"widest-line";import xa from"indent-string";import ue from"yoga-layout";import St from"yoga-layout";var ha=o(e=>e.getComputedWidth()-e.getComputedPadding(St.EDGE_LEFT)-e.getComputedPadding(St.EDGE_RIGHT)-e.getComputedBorder(St.EDGE_LEFT)-e.getComputedBorder(St.EDGE_RIGHT),"getMaxWidth"),qn=ha;import ma from"cli-boxes";import Et from"chalk";var ga=o((e,t,r,n)=>{if(r.style.borderStyle){let i=r.yogaNode.getComputedWidth(),s=r.yogaNode.getComputedHeight(),a=typeof r.style.borderStyle=="string"?ma[r.style.borderStyle]:r.style.borderStyle,c=r.style.borderTopColor??r.style.borderColor,u=r.style.borderBottomColor??r.style.borderColor,l=r.style.borderLeftColor??r.style.borderColor,d=r.style.borderRightColor??r.style.borderColor,f=r.style.borderTopDimColor??r.style.borderDimColor,g=r.style.borderBottomDimColor??r.style.borderDimColor,h=r.style.borderLeftDimColor??r.style.borderDimColor,m=r.style.borderRightDimColor??r.style.borderDimColor,y=r.style.borderTop!==!1,w=r.style.borderBottom!==!1,x=r.style.borderLeft!==!1,p=r.style.borderRight!==!1,S=i-(x?1:0)-(p?1:0),M=y?z((x?a.topLeft:"")+a.top.repeat(S)+(p?a.topRight:""),c,"foreground"):void 0;y&&f&&(M=Et.dim(M));let R=s;y&&(R-=1),w&&(R-=1);let A=(z(a.left,l,"foreground")+`
18
+ `).repeat(R);h&&(A=Et.dim(A));let D=(z(a.right,d,"foreground")+`
19
+ `).repeat(R);m&&(D=Et.dim(D));let N=w?z((x?a.bottomLeft:"")+a.bottom.repeat(S)+(p?a.bottomRight:""),u,"foreground"):void 0;w&&g&&(N=Et.dim(N));let O=y?1:0;M&&n.write(e,t,M,{transformers:[]}),x&&n.write(e,t+O,A,{transformers:[]}),p&&n.write(e+i-1,t+O,D,{transformers:[]}),N&&n.write(e,t+s-1,N,{transformers:[]})}},"renderBorder"),Jn=ga;var wa=o((e,t,r,n)=>{if(!r.style.backgroundColor)return;let i=r.yogaNode.getComputedWidth(),s=r.yogaNode.getComputedHeight(),a=r.style.borderStyle&&r.style.borderLeft!==!1?1:0,c=r.style.borderStyle&&r.style.borderRight!==!1?1:0,u=r.style.borderStyle&&r.style.borderTop!==!1?1:0,l=r.style.borderStyle&&r.style.borderBottom!==!1?1:0,d=i-a-c,f=s-u-l;if(!(d>0&&f>0))return;let g=z(" ".repeat(d),r.style.backgroundColor,"background");for(let h=0;h<f;h++)n.write(e+a,t+u+h,g,{transformers:[]})},"renderBackground"),Qn=wa;function Zn(e){let{rawScrollTop:t,contentHeight:r,viewportHeight:n,previousScrollHeight:i,stickyScroll:s,clampMin:a,clampMax:c,virtualScrollWindowed:u,inWindowScrollTop:l,previousAppliedScrollTop:d,regionTop:f}=e,g=Math.max(0,r-n),h=Math.max(0,Math.min(Math.floor(t),g)),y=s&&r>=i?g:h,w=a!==void 0||c!==void 0?Math.max(a??0,Math.min(y,Math.min(g,c??g))):y,x=u&&l!==void 0,p=Math.max(0,Math.floor(l??0)),S=u?x?p:0:w,M=x?S:w,R=null;if(d!==void 0&&d!==M&&n>0){let A=f+n-1;A>=f&&(R={top:f,bottom:A,delta:M-d})}return{scrollHeight:r,viewportTop:w,appliedScrollTop:M,scrollTop:w,scrollOffsetY:S,scrollHint:R}}o(Zn,"computeScrollState");var Sa=o((e,t)=>{let r=e.childNodes[0]?.yogaNode;if(r){let n=r.getComputedLeft(),i=r.getComputedTop();t=`
20
+ `.repeat(i)+xa(t,n)}return t},"applyPaddingToText"),Ct=o((e,t={})=>{if(t.skipStaticElements&&e.internal_static||e.yogaNode?.getDisplay()===ue.DISPLAY_NONE)return"";let r="";if(e.nodeName==="ink-text")r=Be(e);else if(e.nodeName==="ink-box"||e.nodeName==="ink-root"){let n=e.style.flexDirection==="row"||e.style.flexDirection==="row-reverse"?" ":`
21
+ `;r=(e.style.flexDirection==="row-reverse"||e.style.flexDirection==="column-reverse"?[...e.childNodes].reverse():[...e.childNodes]).map(s=>Ct(s,{parentRole:e.internal_accessibility?.role,skipStaticElements:t.skipStaticElements})).filter(Boolean).join(n)}if(e.internal_accessibility){let{role:n,state:i}=e.internal_accessibility;if(i){let a=Object.keys(i).filter(c=>i[c]).join(", ");a&&(r=`(${a}) ${r}`)}n&&n!==t.parentRole&&(r=`${n}: ${r}`)}return r},"renderNodeToScreenReaderOutput"),ur=null,lr=null;function ei(){ur=null,lr=null}o(ei,"resetScrollHint");function ti(){return ur}o(ti,"getScrollHint");function ri(){return lr}o(ri,"getScrollRepaint");var ni=o((e,t,r)=>{let{offsetX:n=0,offsetY:i=0,transformers:s=[],skipStaticElements:a}=r;if(a&&e.internal_static)return;let{yogaNode:c}=e;if(c){if(c.getDisplay()===ue.DISPLAY_NONE)return;let u=n+c.getComputedLeft(),l=i+c.getComputedTop();e.internal_cursorAnchor&&(t.cursorPosition={x:u,y:l});let d=s;if(typeof e.internal_transform=="function"&&(d=[e.internal_transform,...s]),e.nodeName==="ink-text"){let h=Be(e);if(h.length>0){let m=ya(h),y=qn(c);if(m>y){let w=e.style.textWrap??"wrap";h=ht(h,y,w)}h=Sa(e,h),t.write(u,l,h,{transformers:d})}return}let f=!1,g=0;if(e.nodeName==="ink-box"){Qn(u,l,e,t),Jn(u,l,e,t);let h=e.style.overflowX??e.style.overflow,m=e.style.overflowY??e.style.overflow,y=h==="hidden"||h==="scroll",w=m==="hidden"||m==="scroll";if(m==="scroll"){let x=c.getComputedBorder(ue.EDGE_TOP),p=c.getComputedBorder(ue.EDGE_BOTTOM),S=Math.max(0,c.getComputedHeight()-x-p),M=e.attributes?.virtualScrollWindowed===!0,R=e.childNodes[0],A=Math.max(0,Math.floor(M?e.attributes?.scrollHeight??0:R?.yogaNode?.getComputedHeight()??e.attributes?.scrollHeight??0)),D=typeof e.scrollHeight=="number"?e.scrollHeight:A,N=Zn({rawScrollTop:e.scrollTop??e.attributes?.scrollTop??0,contentHeight:A,viewportHeight:S,previousScrollHeight:D,stickyScroll:e.stickyScroll??!!e.attributes?.stickyScroll,clampMin:e.attributes?.scrollClampMin,clampMax:e.attributes?.scrollClampMax,virtualScrollWindowed:M,inWindowScrollTop:e.attributes?.inWindowScrollTop,previousAppliedScrollTop:e.appliedScrollTop,regionTop:l+x});e.scrollHeight=N.scrollHeight,e.scrollViewportHeight=S,e.scrollViewportTop=N.viewportTop,e.appliedScrollTop=N.appliedScrollTop,N.scrollHint&&(ur=N.scrollHint,Math.trunc(Number(e.attributes?.pendingScrollDelta??0))!==0&&(lr={top:N.scrollHint.top,bottom:N.scrollHint.bottom})),e.attributes&&e.attributes.pendingScrollDelta&&(e.attributes.pendingScrollDelta=0),e.scrollTop=N.scrollTop,g=N.scrollOffsetY}if(y||w){let x=y?u+c.getComputedBorder(ue.EDGE_LEFT):void 0,p=y?u+c.getComputedWidth()-c.getComputedBorder(ue.EDGE_RIGHT):void 0,S=w?l+c.getComputedBorder(ue.EDGE_TOP):void 0,M=w?l+c.getComputedHeight()-c.getComputedBorder(ue.EDGE_BOTTOM):void 0;t.clip({x1:x,x2:p,y1:S,y2:M}),f=!0}}if(e.nodeName==="ink-root"||e.nodeName==="ink-box"){for(let h of e.childNodes)ni(h,t,{offsetX:u,offsetY:l-g,transformers:d,skipStaticElements:a});f&&t.unclip()}}},"renderNodeToOutput"),dr=ni;import Ea from"slice-ansi";import Ca from"string-width";import{styledCharsFromTokens as Ra,styledCharsToString as ba,tokenize as Ta}from"@alcalzone/ansi-tokenize";var fr=class{static{o(this,"OutputCaches")}widths=new Map;blockWidths=new Map;styledChars=new Map;getStyledChars(t){let r=this.styledChars.get(t);return r===void 0&&(r=Ra(Ta(t)),this.styledChars.set(t,r)),r}getStringWidth(t){let r=this.widths.get(t);return r===void 0&&(r=Ca(t),this.widths.set(t,r)),r}getWidestLine(t){let r=this.blockWidths.get(t);if(r===void 0){let n=0;for(let i of t.split(`
22
+ `))n=Math.max(n,this.getStringWidth(i));r=n,this.blockWidths.set(t,r)}return r}},ve=class{static{o(this,"Output")}width;height;operations=[];caches=new fr;constructor(t){let{width:r,height:n}=t;this.width=r,this.height=n}write(t,r,n,i){let{transformers:s}=i;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 i=[];for(let s=0;s<this.width;s++)i.push({type:"char",value:" ",fullWidth:!1,styles:[]});t.push(i)}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:i,transformers:s}=n,{x:a,y:c}=n,u=i.split(`
23
+ `),l=r.at(-1);if(l){let f=typeof l?.x1=="number"&&typeof l?.x2=="number",g=typeof l?.y1=="number"&&typeof l?.y2=="number";if(f){let h=this.caches.getWidestLine(i);if(a+h<l.x1||a>l.x2)continue}if(g){let h=u.length;if(c+h<l.y1||c>l.y2)continue}if(f&&(u=u.map(h=>{let m=a<l.x1?l.x1-a:0,y=this.caches.getStringWidth(h),w=a+y>l.x2?l.x2-a:y;return Ea(h,m,w)}),a<l.x1&&(a=l.x1)),g){let h=c<l.y1?l.y1-c:0,m=u.length,y=c+m>l.y2?l.y2-c:m;u=u.slice(h,y),c<l.y1&&(c=l.y1)}}let d=0;for(let[f,g]of u.entries()){let h=t[c+d];if(!h)continue;for(let w of s)g=w(g,f);let m=this.caches.getStyledChars(g),y=a;for(let w of m){h[y]=w;let x=Math.max(1,this.caches.getStringWidth(w.value));if(x>1)for(let p=1;p<x;p++)h[y+p]={type:"char",value:"",fullWidth:!1,styles:w.styles};y+=x}d++}}return t}get(){let t=this.getGrid();return{output:t.map(n=>{let i=n.filter(s=>s!==void 0);return ba(i).trimEnd()}).join(`
24
+ `),height:t.length}}};var K={Single:0,Wide:1,SpacerTail:2},G={char:" ",width:K.Single,style:"",hyperlink:void 0};function ii(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(G);return{width:e,height:t,cells:r}}o(ii,"createScreen");function fe(e,t,r){if(!(t<0||r<0||t>=e.width||r>=e.height))return e.cells[r*e.width+t]}o(fe,"cellAt");function oi(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(G),n=!1;return{width:e,height:t,setCellAt(i,s,a){if(n)throw new Error("ScreenBuilder.setCellAt called after build()");if(i<0||s<0||i>=e||s>=t)throw new RangeError(`ScreenBuilder.setCellAt out of bounds: (${i}, ${s}) on ${e}x${t}`);r[s*e+i]=a},build(){if(n)throw new Error("ScreenBuilder.build called twice");return n=!0,{width:e,height:t,cells:r}}}}o(oi,"createScreenBuilder");function*Rt(e,t){let r=Math.max(e.width,t.width),n=Math.max(e.height,t.height);for(let i=0;i<n;i++)for(let s=0;s<r;s++){let a=fe(e,s,i),c=fe(t,s,i);Ma(a,c)||(yield{x:s,y:i,prev:a,next:c})}}o(Rt,"diffEach");function si(e,t,r,n){if(n===0||e.height===0)return e;let i=Math.max(0,t),s=Math.min(e.height-1,r);if(i>s)return e;let a=e.width,c=e.cells.slice(),u=s-i+1,l=o(d=>{for(let f=0;f<a;f++)c[d*a+f]=G},"blankRow");if(Math.abs(n)>=u){for(let d=i;d<=s;d++)l(d);return{...e,cells:c}}if(n>0){for(let d=i;d<=s-n;d++)for(let f=0;f<a;f++)c[d*a+f]=e.cells[(d+n)*a+f]??G;for(let d=s-n+1;d<=s;d++)l(d)}else{let d=-n;for(let f=s;f>=i+d;f--)for(let g=0;g<a;g++)c[f*a+g]=e.cells[(f-d)*a+g]??G;for(let f=i;f<=i+d-1;f++)l(f)}return{...e,cells:c}}o(si,"shiftRowsRegion");function Ma(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}o(Ma,"cellsEqual");var pr="\x1B]8;";function Ia(e){return e.endsWith("\x07")?e.slice(0,-1):e}o(Ia,"stripOsc8Terminator");function va(e){if(!e.startsWith(pr))return;let t=e.slice(pr.length),r=t.indexOf(";");if(r<0)return;let n=t.slice(r+1),i=Ia(n);return i.length>0?i:void 0}o(va,"parseOsc8Url");function Na(e){if(e.value==="")return{char:"",width:K.SpacerTail,style:"",hyperlink:void 0};let t="",r;for(let n of e.styles)if(n.code.startsWith(pr)){let i=va(n.code);i!==void 0&&(r=i)}else t+=n.code;return{char:e.value,width:e.fullWidth?K.Wide:K.Single,style:t,hyperlink:r}}o(Na,"styledCharToCell");function ai(e){let t=e.getGrid(),r=e.width,n=e.height,i=oi(r,n),s=Math.min(t.length,n);for(let a=0;a<s;a++){let c=t[a];if(!c)continue;let u=Math.min(c.length,r);for(let l=0;l<u;l++){let d=c[l];if(!d)continue;let f=Na(d);f.char===G.char&&f.width===G.width&&f.style===G.style&&f.hyperlink===G.hyperlink||i.setCellAt(l,a,f)}}return i.build()}o(ai,"outputToScreen");var ka=o((e,t,r)=>{if(e.yogaNode){if(t){let g=Ct(e,{skipStaticElements:!0}),h=g===""?0:g.split(`
25
+ `).length,m="";return e.staticNode&&(m=Ct(e.staticNode,{skipStaticElements:!1})),{output:g,outputHeight:h,staticOutput:m?`${m}
26
+ `:"",frame:void 0}}let n=new ve({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});ei(),dr(e,n,{skipStaticElements:!0});let i;e.staticNode?.yogaNode&&(i=new ve({width:e.staticNode.yogaNode.getComputedWidth(),height:e.staticNode.yogaNode.getComputedHeight()}),dr(e.staticNode,i,{skipStaticElements:!1}));let{output:s,height:a}=n.get(),c=ai(n),u=r?.columns??e.yogaNode.getComputedWidth(),l=r?.rows??e.yogaNode.getComputedHeight(),d=n.cursorPosition,f={screen:c,viewport:{width:u,height:l},cursor:{x:0,y:c.height,visible:!1},scrollHint:ti(),scrollRepaint:ri(),...d?{inputCursor:{x:d.x,y:d.y}}:{}};return{output:s,outputHeight:a,staticOutput:i?`${i.get().output}
27
+ `:"",frame:f}}return{output:"",outputHeight:0,staticOutput:"",frame:void 0}},"renderer"),hr=ka;function j(...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}`}o(j,"csi");function ci(e=1){return e===0?"":j(e,"A")}o(ci,"cursorUp");function Oa(e=1){return e===0?"":j(e,"B")}o(Oa,"cursorDown");function Aa(e=1){return e===0?"":j(e,"C")}o(Aa,"cursorForward");function _a(e=1){return e===0?"":j(e,"D")}o(_a,"cursorBack");function ui(e){return j(e,"G")}o(ui,"cursorTo");var Pa=j("G"),li=j("H");function di(e,t){let r="";return e<0?r+=_a(-e):e>0&&(r+=Aa(e)),t<0?r+=ci(-t):t>0&&(r+=Oa(t)),r}o(di,"cursorMove");var mr=j(2,"K");function fi(e){if(e<=0)return"";let t="";for(let r=0;r<e;r++)t+=mr,r<e-1&&(t+=ci(1));return t+=Pa,t}o(fi,"eraseLines");var pi=j("r"),hi="\x1B7",mi="\x1B8";function gi(e,t){return j(e,t,"r")}o(gi,"setScrollRegion");function wi(e=1){return j(e,"S")}o(wi,"scrollUp");function yi(e=1){return j(e,"T")}o(yi,"scrollDown");var Ue=j(0,"m");function xi(e){return`\x1B]${e.join(";")}\x07`}o(xi,"osc");function Fa(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)}o(Fa,"osc8Id");function $e(e,t){if(!e)return Ne;let r={id:Fa(e),...t??{}},n=Object.entries(r).map(([i,s])=>`${i}=${s}`).join(":");return xi(["8",n,e])}o($e,"link");var Ne=xi(["8","",""]);function gr(e){let{screen:t}=e;if(t.width===0||t.height===0)return[];let r=[],n="",i;for(let s=0;s<t.height;s++){let a="";for(let c=0;c<t.width;c++){let u=fe(t,c,s);!u||u.width===K.SpacerTail||(u.hyperlink!==i&&(i!==void 0&&(a+=Ne),u.hyperlink!==void 0&&(a+=$e(u.hyperlink)),i=u.hyperlink),u.style!==n&&(n!==""&&(a+=Ue),u.style!==""&&(a+=u.style),n=u.style),a+=u.char)}i!==void 0&&(a+=Ne,i=void 0),n!==""&&(a+=Ue,n=""),r.push(a.trimEnd())}return[{type:"stdout",content:r.join(`
28
+ `)}]}o(gr,"renderFullFrame");var La=Object.freeze([]),Da=Object.freeze([]);function pe(e,t){if(e===t)return{patches:La,current:e};let r=[];return e!==""&&r.push({type:"stdout",content:Ue}),t!==""&&r.push({type:"stdout",content:t}),{patches:r,current:t}}o(pe,"transitionStyle");function Ge(e,t){let r=pe(e,t),n="";for(let i of r.patches)i.type==="stdout"&&(n+=i.content);return{str:n,current:r.current}}o(Ge,"transitionStyleStr");function Z(e,t){if(e===t)return{patches:Da,current:e};let r=[];return e!==void 0&&r.push({type:"stdout",content:Ne}),t!==void 0&&r.push({type:"stdout",content:$e(t)}),{patches:r,current:t}}o(Z,"transitionHyperlink");function Si(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}o(Si,"needsWidthCompensation");var he=class{static{o(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 i of r)this._diffMut.push(i);this._cursorMut.x+=n.dx,this._cursorMut.y+=n.dy}},ee={type:"carriageReturn"},ze={type:"stdout",content:`
29
+ `};function Ke(e,t,r){let n=t.width===K.Wide?2:1,i=e.viewportWidth,s=!1;return e.txn(a=>{let c=a.x;if(n===2&&c<i){let d=t.char.length>2?i:i+1;if(c+2>=d)return[[],{dx:0,dy:0}]}let u=[];r.length>0&&u.push({type:"stdout",content:r});let l=n===2&&Si(t.char);return l&&c+1<i&&(u.push({type:"cursorTo",col:c+2}),u.push({type:"stdout",content:" "}),u.push({type:"cursorTo",col:c+1})),u.push({type:"stdout",content:t.char}),l&&u.push({type:"cursorTo",col:c+n+1}),s=!0,c>=i?[u,{dx:n-c,dy:1}]:[u,{dx:n,dy:0}]}),s}o(Ke,"writeCellWithStyleStr");function me(e,t,r){e.txn(n=>{let i=t-n.x,s=r-n.y;return n.x>=e.viewportWidth?[[ee,{type:"cursorMove",x:t,y:s}],{dx:i,dy:s}]:s!==0?[[ee,{type:"cursorMove",x:t,y:s}],{dx:i,dy:s}]:[[{type:"cursorMove",x:i,y:s}],{dx:i,dy:s}]})}o(me,"moveCursorTo");function Ye(e,t,r,n,i=!1){let s="",a;for(let c=r;c<n;c++){if(e.cursor.y<c){let f=c-e.cursor.y;e.txn(g=>{let h=new Array(1+f);h[0]=ee;for(let m=0;m<f;m++)h[1+m]=ze;return[h,{dx:-g.x,dy:f}]})}for(let f=0;f<t.screen.width;f++){let g=fe(t.screen,f,c);if(!g||g.width===K.SpacerTail||g.char===" "&&g.style===""&&g.hyperlink===void 0)continue;me(e,f,c);let h=Z(a,g.hyperlink);for(let y of h.patches)e.txn(()=>[[y],{dx:0,dy:0}]);a=h.current;let m=Ge(s,g.style);Ke(e,g,m.str)&&(s=m.current)}let u=pe(s,"");for(let f of u.patches)e.txn(()=>[[f],{dx:0,dy:0}]);s=u.current;let l=Z(a,void 0);for(let f of l.patches)e.txn(()=>[[f],{dx:0,dy:0}]);a=l.current;let d=c===n-1&&t.screen.height<=t.viewport.height&&(c+1>=t.viewport.height||i);e.txn(f=>d?[[ee],{dx:-f.x,dy:0}]:[[ee,ze],{dx:-f.x,dy:1}])}if(s!==""||a!==void 0){let c=pe(s,"");for(let l of c.patches)e.txn(()=>[[l],{dx:0,dy:0}]);let u=Z(a,void 0);for(let l of u.patches)e.txn(()=>[[l],{dx:0,dy:0}])}}o(Ye,"renderFrameSlice");function wr(e,t,r,n){let i=Math.max(0,Math.floor(r)),s=Math.min(t.screen.height-1,t.viewport.height-1,Math.floor(n));for(let a=i;a<=s;a++)Wa(e,t,a)}o(wr,"repaintFrameRows");function Wa(e,t,r){let n="",i;me(e,0,r),e.txn(()=>[[{type:"stdout",content:Ne+Ue},{type:"eraseLine"}],{dx:0,dy:0}]);for(let s=0;s<t.screen.width;s++){let a=fe(t.screen,s,r);if(!a||a.width===K.SpacerTail||a.char===" "&&a.style===""&&a.hyperlink===void 0)continue;me(e,s,r);let c=Z(i,a.hyperlink);for(let l of c.patches)e.txn(()=>[[l],{dx:0,dy:0}]);i=c.current;let u=Ge(n,a.style);Ke(e,a,u.str)&&(n=u.current)}for(let s of pe(n,"").patches)e.txn(()=>[[s],{dx:0,dy:0}]);for(let s of Z(i,void 0).patches)e.txn(()=>[[s],{dx:0,dy:0}])}o(Wa,"repaintFrameRow");function yr(e,t){let r="";for(let n=0;n<e.width;n++){let i=fe(e,n,t);r+=i?.char??" "}return r.trimEnd()}o(yr,"readLine");function ke(e,t,r=!1){let n=new he({x:0,y:0},e.viewport.width);Ye(n,e,0,e.screen.height,r);let i=[{type:"clearTerminal",reason:t}];for(let s of n.diff)i.push(s);return i}o(ke,"fullResetSequence_CAUSES_FLICKER");function bt(e,t){let r=e.cursor.y>=e.screen.height,n=t.screen.height>e.screen.height,i=t.screen.height<e.screen.height,s=r&&e.screen.height>=e.viewport.height,a=t.screen.height<=e.viewport.height,c=s?1:0;return{viewportY:n?Math.max(0,e.screen.height-e.viewport.height+c):Math.max(e.screen.height,t.screen.height)-t.viewport.height+c,cursorAtBottom:r,growing:n,shrinking:i,prevHadScrollback:s,nextFitsViewport:a}}o(bt,"computeViewportState");function Ei(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=bt(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 a of Rt(e.screen,t.screen))if(a.y<s)return{reset:!0,reason:"offscreen",trigger:{y:a.y,prevLine:r(e.screen,a.y),nextLine:r(t.screen,a.y)}}}return n.shrinking&&e.screen.height-t.screen.height>e.viewport.height?{reset:!0,reason:"offscreen"}:{reset:!1}}o(Ei,"shouldFullReset");function Ci(e,t,r){return!!(t&&t.width===2||e&&e.width===2&&!t||t&&r&&!e)}o(Ci,"shouldSkipDiff");var Tt=class{static{o(this,"LogUpdate")}options;constructor(t){this.options=t}render(t,r,n={}){if(!this.options.isTTY)return gr(r);let i=n.inlineBottomAnchored??!1,s=Ri(t,i),a=Ri(r,i);if(n.altScreen===!0&&t.screen.height===0&&a.screen.height>0)return ke(a,"clear",i);let c=Ei(s,a,yr);if(c.reset)return ke(a,c.reason,i);if(a.scrollRepaint&&n.altScreen===!0)return Ba(s,a,a.scrollRepaint);let u=a.scrollHint;if(u&&n.altScreen&&n.decstbmSafe&&process.env.KODAX_SCROLL_DECSTBM==="1"&&u.delta!==0&&u.top>=0&&u.bottom<s.screen.height&&u.bottom<a.screen.height&&Math.abs(u.delta)<=u.bottom-u.top){let l={type:"scrollRegion",top:u.top,bottom:u.bottom,delta:u.delta},d={...s,screen:si(s.screen,u.top,u.bottom,u.delta)};return[l,...bi(d,a,i)]}return bi(s,a,i)}reset(){}};function xr(e,t){for(let r of t)e.txn(()=>[[r],{dx:0,dy:0}])}o(xr,"emitPatches");function Sr(e,t,r){if(t!==""){let n=pe(t,"");xr(e,n.patches)}if(r!==void 0){let n=Z(r,void 0);xr(e,n.patches)}return{style:"",hyperlink:void 0}}o(Sr,"resetStyleAndHyperlink");function Ba(e,t,r){let n=bt(e,t),i=new he(e.cursor,t.viewport.width);n.shrinking&&Ti(i,e,t);let s=Math.max(0,Math.floor(r.top)),a=Math.min(t.screen.height-1,t.viewport.height-1,Math.floor(r.bottom)),c=a>=s?{top:s,bottom:a}:void 0;c&&wr(i,t,c.top,c.bottom);let u=Mi(i,e,t,{...n,skipRows:c});return u.needsFullReset?ke(t,"offscreen"):(Sr(i,u.currentStyle,u.currentHyperlink),n.growing&&Ye(i,t,e.screen.height,t.screen.height),Ii(i,t),i.diff)}o(Ba,"renderScrollRepaint");function Ti(e,t,r){let n=t.screen.height-r.screen.height;e.txn(i=>[[{type:"clear",count:n},{type:"cursorMove",x:0,y:-1}],{dx:-i.x,dy:-n}])}o(Ti,"applyShrink");function Mi(e,t,r,n){let i="",s,a=!1;for(let c of Rt(t.screen,r.screen)){let{x:u,y:l,prev:d,next:f}=c;if(n.growing&&l>=t.screen.height||n.skipRows&&l>=n.skipRows.top&&l<=n.skipRows.bottom)continue;let g=!!(f&&f.char===" "&&f.style===""&&f.hyperlink===void 0);if(!Ci(d,f,g)){if(l<n.viewportY){a=!0;break}if(me(e,u,l),f){let h=Z(s,f.hyperlink);xr(e,h.patches),s=h.current;let m=Ge(i,f.style);Ke(e,f,m.str)&&(i=m.current)}else if(d){let h=Sr(e,i,s);i=h.style,s=h.hyperlink,e.txn(()=>[[{type:"stdout",content:" "}],{dx:1,dy:0}])}}}return{currentStyle:i,currentHyperlink:s,needsFullReset:a}}o(Mi,"diffPass");function Ri(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}}}o(Ri,"clampRestingCursor");function Ii(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]=ee;for(let a=0;a<n;a++)s[1+a]=ze;return[s,{dx:-r.x,dy:n}]}let i=t.cursor.y-r.y;return i!==0||r.x!==t.cursor.x?[[ee,{type:"cursorMove",x:t.cursor.x,y:i}],{dx:t.cursor.x-r.x,dy:i}]:[[],{dx:0,dy:0}]}):me(e,t.cursor.x,t.cursor.y)}o(Ii,"restoreCursor");function bi(e,t,r=!1){let n=bt(e,t),i=new he(e.cursor,t.viewport.width);n.shrinking&&Ti(i,e,t);let s=Mi(i,e,t,n);return s.needsFullReset?ke(t,"offscreen",r):(Sr(i,s.currentStyle,s.currentHyperlink),n.growing&&Ye(i,t,e.screen.height,t.screen.height,r),Ii(i,t),i.diff)}o(bi,"renderIncremental");var ja="\x1B[?25l",Ha="\x1B[?25h",Ua=`\x1B[2J${li}`,$a="\x1B[?2026h",za="\x1B[?2026l";function Ga(e){switch(e.type){case"stdout":return e.content;case"carriageReturn":return"\r";case"cursorHide":return ja;case"cursorShow":return Ha;case"cursorMove":return di(e.x,e.y);case"cursorTo":return ui(e.col);case"eraseLine":return mr;case"clear":return fi(e.count);case"clearTerminal":return Ua;case"hyperlink":return $e(e.uri);case"scrollRegion":{let t=e.top+1,r=e.bottom+1,n=Math.abs(e.delta),i=e.delta>0?wi(n):yi(n);return hi+gi(t,r)+i+pi+mi}}}o(Ga,"patchToBytes");function Mt(e,t,r=!1){let n="",i=!1;for(let s of t)s.type==="clearTerminal"&&(i=!0),n+=Ga(s);if(n.length!==0){if(r&&i){e.write($a+n+za);return}e.write(n)}}o(Mt,"applyDiff");function vi(e,t,r={}){if(t===void 0)return!1;let n=e.cellLogUpdate.render(e.prevFrame,t,r);return Mt(e.stdout,n,r.synchronized??!1),e.prevFrame=t,!0}o(vi,"applyCellFrame");function Ve(e,t){return{screen:ii(0,0),viewport:{width:t,height:e},cursor:{x:0,y:0,visible:!0}}}o(Ve,"emptyFrame");import Ka from"is-in-ci";var te="\x1B[?2026h",Y="\x1B[?2026l";function re(e){return"isTTY"in e&&e.isTTY===!0&&!Ka}o(re,"shouldSynchronize");var Ya="\x1B[?1049l";var Va="\x1B[?1006l\x1B[?1002l\x1B[?1000l";function Ni(e={}){return(e.mouseTracking!==!1?Va:"")+Ya}o(Ni,"buildAlternateScreenExitSequence");var Xa=new WeakMap,ki=Xa;import{EventEmitter as mc}from"node:events";import gc from"node:process";import ge,{useState as Rr,useRef as Oe,useCallback as _,useMemo as Ae,useEffect as Vi}from"react";import wc from"cli-cursor";var qa=o(e=>e>=48&&e<=63,"isCsiParameterByte"),Ja=o(e=>e>=32&&e<=47,"isCsiIntermediateByte"),Ai=o(e=>e>=64&&e<=126,"isCsiFinalByte");function Qa(e,t,r){let n=t+r+1,i=n;for(;i<e.length;i+=1){let s=e.codePointAt(i);if(s===void 0)return"pending";if(!(qa(s)||Ja(s))&&!(s===91&&i===n))return Ai(s)?{sequence:e.slice(t,i+1),nextIndex:i+1}:void 0}return"pending"}o(Qa,"parseCsiSequence");function Za(e,t,r){let n=t+r+2;if(n>e.length)return"pending";let i=e.codePointAt(n-1);if(!(i===void 0||!Ai(i)))return{sequence:e.slice(t,n),nextIndex:n}}o(Za,"parseSs3Sequence");function Oi(e,t,r){let n=e[t+r];if(n===void 0)return"pending";if(n==="[")return Qa(e,t,r);if(n==="O")return Za(e,t,r)}o(Oi,"parseControlSequence");function ec(e,t){let r=e.codePointAt(t+1),n=r!==void 0&&r>65535?2:1,i=t+1+n;return{sequence:e.slice(t,i),nextIndex:i}}o(ec,"parseEscapedCodePoint");function tc(e){let t=[],r=0,n=o(i=>({events:t,pending:e.slice(i)}),"pendingFrom");for(;r<e.length;){let i=e.indexOf("\x1B",r);if(i===-1)return t.push(e.slice(r)),{events:t,pending:""};if(i>r&&t.push(e.slice(r,i)),i===e.length-1)return n(i);let s=Oi(e,i,1);if(s==="pending")return n(i);if(s){t.push(s.sequence),r=s.nextIndex;continue}if(e[i+1]==="\x1B"){if(i+2>=e.length)return n(i);let u=Oi(e,i,2);if(u==="pending")return n(i);if(u){t.push(u.sequence),r=u.nextIndex;continue}t.push(e.slice(i,i+2)),r=i+2;continue}let c=ec(e,i);t.push(c.sequence),r=c.nextIndex}return{events:t,pending:""}}o(tc,"parseKeypresses");function It(){let e="";return{push(t){let r=tc(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=""}}}o(It,"createInputParser");import{createContext as rc}from"react";var _i=rc({exit(){}});_i.displayName="InternalAppContext";var Pi=_i;import{EventEmitter as nc}from"node:events";import{createContext as ic}from"react";var oc={isTTY:!1,isRaw:!1,on(){},off(){},pause(){},resume(){},setRawMode(){}},Fi=ic({stdin:oc,internal_eventEmitter:new nc,setRawMode(){},isRawModeSupported:!1,internal_exitOnCtrlC:!0});Fi.displayName="InternalStdinContext";var Li=Fi;import{createContext as sc}from"react";var ac={isTTY:!1,columns:80,rows:24,write(){return!0},on(){},off(){}},Di=sc({stdout:ac,write(){}});Di.displayName="InternalStdoutContext";var Wi=Di;import{createContext as cc}from"react";var uc={isTTY:!1,write(){return!0},on(){},off(){}},Bi=cc({stderr:uc,write(){}});Bi.displayName="InternalStderrContext";var ji=Bi;import{createContext as lc}from"react";var Hi=lc({activeId:void 0,add(){},remove(){},activate(){},deactivate(){},enableFocus(){},disableFocus(){},focusNext(){},focusPrevious(){},focus(){}});Hi.displayName="InternalFocusContext";var Ui=Hi;import{createContext as dc}from"react";var $i=dc({setCursorPosition(){}});$i.displayName="InternalCursorContext";var zi=$i;import pc,{PureComponent as hc}from"react";import*as vt from"node:fs";import{cwd as Yi}from"node:process";import F from"react";import Gi from"stack-utils";import fc from"code-excerpt";var Er=o(e=>e?.replace(`file://${Yi()}/`,""),"cleanupPath"),Ki=new Gi({cwd:Yi(),internals:Gi.nodeInternals()});function Cr({error:e}){let t=e.stack?e.stack.split(`
30
+ `).slice(1):void 0,r=t?Ki.parseLine(t[0]):void 0,n=Er(r?.file),i,s=0;if(n&&r?.line&&vt.existsSync(n)){let a=vt.readFileSync(n,"utf8");if(i=fc(a,r.line),i)for(let{line:c}of i)s=Math.max(s,String(c).length)}return F.createElement(U,{flexDirection:"column",padding:1},F.createElement(U,null,F.createElement(W,{backgroundColor:"red",color:"white"}," ","ERROR"," "),F.createElement(W,null," ",e.message)),r&&n&&F.createElement(U,{marginTop:1},F.createElement(W,{dimColor:!0},n,":",r.line,":",r.column)),r&&i&&F.createElement(U,{marginTop:1,flexDirection:"column"},i.map(({line:a,value:c})=>F.createElement(U,{key:a},F.createElement(U,{width:s+1},F.createElement(W,{dimColor:a!==r.line,backgroundColor:a===r.line?"red":void 0,color:a===r.line?"white":void 0,"aria-label":a===r.line?`Line ${a}, error`:`Line ${a}`},String(a).padStart(s," "),":")),F.createElement(W,{key:a,backgroundColor:a===r.line?"red":void 0,color:a===r.line?"white":void 0}," "+c)))),e.stack&&F.createElement(U,{marginTop:1,flexDirection:"column"},e.stack.split(`
31
+ `).slice(1).map(a=>{let c=Ki.parseLine(a);return c?F.createElement(U,{key:a},F.createElement(W,{dimColor:!0},"- "),F.createElement(W,{dimColor:!0,bold:!0},c.function),F.createElement(W,{dimColor:!0,color:"gray","aria-label":`at ${Er(c.file)??""} line ${c.line} column ${c.column}`}," ","(",Er(c.file)??"",":",c.line,":",c.column,")")):F.createElement(U,{key:a},F.createElement(W,{dimColor:!0},"- "),F.createElement(W,{dimColor:!0,bold:!0},a,"\\t"," "))})))}o(Cr,"ErrorOverview");var Xe=class extends hc{static{o(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?pc.createElement(Cr,{error:this.state.error}):this.props.children}};var yc=" ",xc="\x1B[Z",Sc="\x1B";function Xi({children:e,stdin:t,stdout:r,stderr:n,writeToStdout:i,writeToStderr:s,exitOnCtrlC:a,onExit:c,setCursorPosition:u}){let[l,d]=Rr(!0),[f,g]=Rr(void 0),[,h]=Rr([]),m=Oe(0),y=Oe(0),w=Oe(new mc);w.current.setMaxListeners(1/0);let x=Oe(void 0),p=Oe(It()),S=Oe(void 0),M=_(()=>{S.current&&(clearImmediate(S.current),S.current=void 0)},[]),R=t.isTTY,A=_(()=>{x.current&&(t.removeListener("readable",x.current),x.current=void 0)},[t]),D=_(()=>{t.setRawMode(!1),A(),t.unref(),y.current=0,p.current.reset(),M()},[t,A,M]),N=_(C=>{R&&y.current>0&&D(),c(C)},[R,D,c]),O=_(C=>{if(C===""&&a){N();return}C===Sc&&g(b=>b&&void 0)},[a,N]),Qe=_(C=>{O(C),w.current.emit("input",C)},[O]),Br=_(()=>{M(),S.current=setImmediate(()=>{S.current=void 0;let C=p.current.flushPendingEscape();C&&Qe(C)})},[M,Qe]),_t=_(()=>{M();let C;for(;(C=t.read())!==null;){let b=p.current.push(C);for(let I of b)Qe(I)}p.current.hasPendingEscape()&&Br()},[t,Qe,M,Br]),jr=_(C=>{if(!R)throw t===gc.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default.
32
32
  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.
33
- Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(t.setEncoding("utf8"),E){y.current===0&&(t.ref(),t.setRawMode(!0),x.current=_t,t.addListener("readable",_t)),y.current++;return}y.current!==0&&--y.current===0&&D()},[R,t,_t,D]),$n=_((E,b)=>{let I=E.findIndex(L=>L.id===b);for(let L=I+1;L<E.length;L++){let V=E[L];if(V?.isActive)return V.id}},[]),Un=_((E,b)=>{let I=E.findIndex(L=>L.id===b);for(let L=I-1;L>=0;L--){let V=E[L];if(V?.isActive)return V.id}},[]),Ze=_(()=>{h(E=>(g(b=>{let I=E.find(V=>V.isActive)?.id;return $n(E,b)??I}),E))},[$n]),et=_(()=>{h(E=>(g(b=>{let I=E.findLast(V=>V.isActive)?.id;return Un(E,b)??I}),E))},[Un]);Gi(()=>{let E=o(I=>{!l||m.current===0||(I===mc&&Ze(),I===gc&&et())},"handleTabNavigation");w.current.on("input",E);let b=w.current;return()=>{b.off("input",E)}},[l,Ze,et]);let zn=_(()=>{f(!0)},[]),Yn=_(()=>{f(!1)},[]),Kn=_(E=>{h(b=>(b.some(L=>L?.id===E)&&g(E),b))},[]),Gn=_((E,{autoFocus:b})=>{h(I=>(m.current=I.length+1,[...I,{id:E,isActive:!0}])),b&&g(I=>I??E)},[]),Vn=_(E=>{g(b=>b===E?void 0:b),h(b=>{let I=b.filter(L=>L.id!==E);return m.current=I.length,I})},[]),Xn=_(E=>{h(b=>b.map(I=>I.id!==E?I:{id:E,isActive:!0}))},[]),qn=_(E=>{g(b=>b===E?void 0:b),h(b=>b.map(I=>I.id!==E?I:{id:E,isActive:!1}))},[]);Gi(()=>()=>{hc.show(n),R&&y.current>0&&D()},[n,R,D]);let Io=Ae(()=>({exit:N}),[N]),vo=Ae(()=>({stdin:t,setRawMode:Hn,isRawModeSupported:R,internal_exitOnCtrlC:a,internal_eventEmitter:w.current}),[t,Hn,R,a]),No=Ae(()=>({stdout:n,write:i}),[n,i]),ko=Ae(()=>({stderr:r,write:s}),[r,s]),Oo=Ae(()=>({setCursorPosition:u}),[u]),Ao=Ae(()=>({activeId:d,add:Gn,remove:Vn,activate:Xn,deactivate:qn,enableFocus:zn,disableFocus:Yn,focusNext:Ze,focusPrevious:et,focus:Kn}),[d,Gn,Vn,Xn,qn,zn,Yn,Ze,et,Kn]);return ge.createElement(_i.Provider,{value:Io},ge.createElement(Fi.Provider,{value:vo},ge.createElement(Di.Provider,{value:No},ge.createElement(Bi.Provider,{value:ko},ge.createElement(Hi.Provider,{value:Ao},ge.createElement(Ui.Provider,{value:Oo},ge.createElement(Xe,{onError:N},e)))))))}o(Vi,"App");Vi.displayName="InternalApp";var Xi=Vi;var yc={disambiguateEscapeCodes:1,reportEventTypes:2,reportAlternateKeys:4,reportAllKeysAsEscapeCodes:8,reportAssociatedText:16};function qi(e){let t=0;for(let n of e)t|=yc[n];return t}o(qi,"resolveFlags");var re={shift:1,alt:2,ctrl:4,super:8,hyper:16,meta:32,capsLock:64,numLock:128};var Tn=o((e,t)=>(t<0?B.cursorUp(-t):t>0?B.cursorDown(t):"")+(e<0?B.cursorBackward(-e):e>0?B.cursorForward(e):""),"cursorMoveSeq"),Mn=o((e,t=!1)=>{let n=Math.max(0,e.screen.height-e.viewport.height),r=t?Math.max(0,Math.min(e.viewport.height-1,e.screen.height-1)):Math.max(0,e.viewport.height-1);return i=>({x:i.x,y:Math.min(Math.max(i.y-n,0),r)})},"toVisibleCursor"),Nt=o(()=>{},"noop"),vc=27,Nc=91,kc=63,Oc=117,Ac=48,_c=57,Pc=o(e=>e>=Ac&&e<=_c,"isDigitByte"),Qi=o((e,t)=>{if(e[t]!==vc||e[t+1]!==Nc||e[t+2]!==kc)return;let n=t+3,r=n;for(;n<e.length&&Pc(e[n]);)n++;if(n!==r){if(n===e.length)return{state:"partial"};if(e[n]===Oc)return{state:"complete",endIndex:n}}},"matchKittyQueryResponse"),Fc=o(e=>{for(let t=0;t<e.length;t++)if(Qi(e,t)?.state==="complete")return!0;return!1},"hasCompleteKittyQueryResponse"),Lc=o(e=>{let t=[],n=0;for(;n<e.length;){let r=Qi(e,n);if(r?.state==="complete"){n=r.endIndex+1;continue}if(r?.state==="partial")break;t.push(e[n]),n++}return t},"stripKittyQueryResponsesAndTrailingPartial"),In=o(e=>e instanceof Error||Object.prototype.toString.call(e)==="[object Error]","isErrorInput"),Dc=class{static{o(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){Sc(this),this.options=t,this.rawStdoutWrite=t.stdout.write.bind(t.stdout),this.rawStderrWrite=t.stderr.write.bind(t.stderr),this.rootNode=mt("ink-root"),this.rootNode.onComputeLayout=this.calculateLayout,this.isScreenReaderEnabled=t.isScreenReaderEnabled??we.env.INK_SCREEN_READER==="true";let n=t.debug||this.isScreenReaderEnabled,r=t.maxFps??30,i=r>0?Math.max(1,Math.ceil(1e3/r)):0;if(n)this.rootNode.onRender=this.onRender,this.throttledOnRender=void 0;else{let a=xc(this.onRender,i,{leading:!0,trailing:!0});this.rootNode.onRender=()=>{this.hasPendingThrottledRender=!0,a()},this.throttledOnRender=a}this.rootNode.onImmediateRender=this.onRender,this.cellLogUpdate=new Tt({isTTY:!!t.stdout.isTTY}),this.prevFrame=Ve(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?bc:Rc;this.container=Q.createContainer(this.rootNode,s,null,!1,null,"id",()=>{},()=>{},()=>{},()=>{}),this.unsubscribeExit=Cc(this.unmount,{alwaysLast:!1}),pt()&&Q.injectIntoDevTools(),t.patchConsole&&this.patchConsole(),ie||(t.stdout.on("resize",this.resized),this.unsubscribeResize=()=>{t.stdout.off("resize",this.resized)}),this.initKittyKeyboard()}getTerminalWidth=o(()=>this.options.stdout.columns?this.options.stdout.columns:Ic()?.columns??80,"getTerminalWidth");resized=o(()=>{let t=this.getTerminalWidth();if(t<this.lastTerminalWidth){this.returnCursorToRest();let n=this.altScreenActive?this.lastOutputHeight>0?B.eraseLines(this.lastOutputHeight):"":this.eraseInlineLiveBlock();n.length>0&&this.writeStdout(n),this.lastOutput="",this.lastOutputToRender="",this.cellLogUpdate.reset(),this.prevFrame=Ve(this.options.stdout.rows??24,t)}this.calculateLayout(),this.onRender(),this.lastTerminalWidth=t},"resized");resolveExitPromise=o(()=>{},"resolveExitPromise");rejectExitPromise=o(()=>{},"rejectExitPromise");unsubscribeExit=o(()=>{},"unsubscribeExit");handleAppExit=o(t=>{if(!(this.isUnmounted||this.isUnmounting)){if(In(t)){this.unmount(t);return}this.exitResult=t,this.unmount()}},"handleAppExit");setCursorPosition=o(t=>{if(t===void 0){this.cursorPosition=void 0;return}let n=this.getTerminalWidth(),r=this.options.stdout.rows??24;if(n<=0||r<=0){this.cursorPosition=void 0;return}let i=Math.max(0,Math.min(t.x|0,n-1)),s=Math.max(0,Math.min(t.y|0,r-1));this.cursorPosition={x:i,y:s}},"setCursorPosition");resetOutputTracking=o(()=>{this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.cursorPosition=void 0,this.invalidateCellFrame()},"resetOutputTracking");usesVirtualShellOwnership=o((t={})=>t.altScreenActive??this.altScreenActive,"usesVirtualShellOwnership");beginShellTransition(t){this.shellTransitionPhase=t}setShellMode(t,n){let r=this.shellMode,i=this.mouseTrackingActive,s=this.usesVirtualShellOwnership(),a=n??!1;this.shellMode=t,this.mouseTrackingActive=a;let c=this.usesVirtualShellOwnership();(r!==t&&(s||c)||i!==a&&c)&&this.resetOutputTracking()}setAltScreenActive(t,n){let r=this.altScreenActive,i=this.mouseTrackingActive,s=this.usesVirtualShellOwnership(),a=n??!1;this.altScreenActive=t,this.mouseTrackingActive=a,this.shellTransitionPhase=void 0;let c=this.usesVirtualShellOwnership();(r!==t||i!==a&&(s||c))&&this.resetOutputTracking()}clearTextSelection(){}installExternalStreamWriteGuard(){if(this.options.debug||ie)return;let t=this.options.stdout,n=this.options.stderr,r=t.write,i=n.write,s=o((...c)=>{let u=this.rawStdoutWrite(...c);return this.internalStreamWriteDepth===0&&this.handleExternalStreamWrite(),u},"guardedStdoutWrite"),a=o((...c)=>{let u=this.rawStderrWrite(...c);return this.internalStreamWriteDepth===0&&this.handleExternalStreamWrite(),u},"guardedStderrWrite");t.write=s,n.write=a,this.restoreStreamWriteGuard=()=>{t.write===s&&(t.write=r),n.write===a&&(n.write=i)}}handleExternalStreamWrite(){this.isUnmounted||this.invalidateCellFrame()}withInternalStreamWrite(t){this.internalStreamWriteDepth+=1;try{return t()}finally{this.internalStreamWriteDepth-=1}}writeStdout(t,...n){return this.withInternalStreamWrite(()=>this.rawStdoutWrite(t,...n))}writeStderr(t,...n){return this.withInternalStreamWrite(()=>this.rawStderrWrite(t,...n))}restoreLastOutput=o(()=>{if(this.prevFrame.screen.height===0)return;let t=Ve(this.options.stdout.rows??24,this.getTerminalWidth()),n=this.cellLogUpdate.render(t,this.prevFrame);this.withInternalStreamWrite(()=>Mt(this.options.stdout,n))},"restoreLastOutput");shouldRestoreManagedShellAfterExternalWrite=o(()=>this.altScreenActive,"shouldRestoreManagedShellAfterExternalWrite");calculateLayout=o(()=>{let t=this.getTerminalWidth();this.rootNode.yogaNode.setWidth(t),this.rootNode.yogaNode.calculateLayout(void 0,void 0,Tc.DIRECTION_LTR)},"calculateLayout");onRender=o(()=>{if(this.hasPendingThrottledRender=!1,this.isUnmounted)return;let t=performance.now(),n={rows:this.options.stdout.rows??24,columns:this.getTerminalWidth()},{output:r,outputHeight:i,staticOutput:s,frame:a}=mn(this.rootNode,this.isScreenReaderEnabled,n);this.options.onRender?.({renderTime:performance.now()-t}),!ie&&!this.options.debug&&!this.isScreenReaderEnabled&&!this.cursorHidden&&(this.writeStdout(B.cursorHide),this.cursorHidden=!0);let c=s&&s!==`
34
- `;if(this.options.debug){c&&(this.fullStaticOutput+=s),this.writeStdout(this.fullStaticOutput+r);return}if(ie){c&&this.writeStdout(s),this.lastOutput=r,this.lastOutputToRender=r+`
35
- `,this.lastOutputHeight=i;return}if(this.isScreenReaderEnabled){let w=ne(this.options.stdout);if(w&&this.writeStdout(te),c){let S=this.lastOutputHeight>0?B.eraseLines(this.lastOutputHeight):"";this.writeStdout(S+s),this.lastOutputHeight=0}if(r===this.lastOutput&&!c){w&&this.writeStdout(G);return}let x=this.getTerminalWidth(),p=Mc(r,x,{trim:!1,hard:!0});if(c)this.writeStdout(p);else{let S=this.lastOutputHeight>0?B.eraseLines(this.lastOutputHeight):"";this.writeStdout(S+p)}this.lastOutput=r,this.lastOutputToRender=p,this.lastOutputHeight=p===""?0:p.split(`
36
- `).length,w&&this.writeStdout(G);return}c&&(this.fullStaticOutput+=s);let l=!this.altScreenActive&&!!(a&&a.inputCursor)?[]:null,f=o(w=>{w&&(l?l.push(w):this.writeStdout(w))},"emit"),d=l?{write:f}:null;f(this.computeReturnToRestSeq());let g=this.altScreenActive,m=this.options.stdout.isTTY&&i>=this.options.stdout.rows&&g?r:r+`
37
- `;if(this.lastOutputHeight>=this.options.stdout.rows&&g){if(we.env.KODAX_FULLSCREEN_CELLDIFF!=="0"&&this.altScreenActive&&this.fullStaticOutput===""){let p=ne(this.options.stdout);p&&this.writeStdout(te),this.applyCellFrame(a),p&&this.writeStdout(G),this.lastOutput=r,this.lastOutputToRender=m,this.lastOutputHeight=i;return}let w=ne(this.options.stdout);w&&this.writeStdout(te);let x=this.fullStaticOutput+m;if(this.altScreenActive){let p=this.lastOutputHeight>0?B.eraseLines(this.lastOutputHeight):"";this.writeStdout(p+x)}else this.writeStdout(B.clearTerminal+this.fullStaticOutput+r);this.lastOutput=r,this.lastOutputToRender=this.altScreenActive?x:m,this.lastOutputHeight=i,this.invalidateCellFrame(),w&&this.writeStdout(G);return}let y=!l&&ne(this.options.stdout);try{if(c?(y&&f(te),f(this.eraseInlineLiveBlock()+s),this.invalidateCellFrame(),this.applyCellFrame(a,d),y&&f(G)):!this.altScreenActive&&this.prevFrame&&this.prevFrame.screen.height!==a.screen.height&&this.lastOutputHeight>0&&i<=this.options.stdout.rows&&this.lastOutputHeight<this.options.stdout.rows?(y&&f(te),f(this.eraseInlineLiveBlock()),this.invalidateCellFrame(),this.applyCellFrame(a,d),y&&f(G)):this.applyCellFrame(a,d),a?.inputCursor){let w=Mn(a,!this.altScreenActive),x=w(a.cursor),p=w(a.inputCursor),S=Tn(p.x-x.x,p.y-x.y);f(S),this.displayCursor=p}}finally{l&&this.flushCursorTxn(l)}this.lastOutput=r,this.lastOutputToRender=m,this.lastOutputHeight=i},"onRender");applyCellFrame=o((t,n=null)=>{let r={cellLogUpdate:this.cellLogUpdate,prevFrame:this.prevFrame,stdout:n??this.options.stdout},i=ne(this.options.stdout),s={altScreen:this.altScreenActive,decstbmSafe:i,synchronized:n?!1:i,inlineBottomAnchored:!this.altScreenActive},a=this.withInternalStreamWrite(()=>vi(r,t,s));return this.prevFrame=r.prevFrame,a},"applyCellFrame");invalidateCellFrame=o(()=>{this.cellLogUpdate.reset(),this.prevFrame=Ve(this.options.stdout.rows??24,this.getTerminalWidth())},"invalidateCellFrame");eraseInlineLiveBlock=o(()=>this.lastOutputHeight>0?B.eraseLines(this.lastOutputHeight):"","eraseInlineLiveBlock");commitInlineScrollback=o(({mode:t,text:n})=>{if(this.altScreenActive||this.isUnmounted)return;let r=[],i=o(c=>{c&&r.push(c)},"emit"),s={write:i};i(this.computeReturnToRestSeq());let a=t==="rebuild"?"\x1B[2J\x1B[3J\x1B[H":this.eraseInlineLiveBlock();i(a+(n??"")),this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.fullStaticOutput="",this.invalidateCellFrame();try{this.calculateLayout();let c={rows:this.options.stdout.rows??24,columns:this.getTerminalWidth()},{output:u,outputHeight:l,frame:f}=mn(this.rootNode,this.isScreenReaderEnabled,c);if(this.applyCellFrame(f,s),f?.inputCursor){let d=Mn(f,!this.altScreenActive),g=d(f.cursor),h=d(f.inputCursor),m=Tn(h.x-g.x,h.y-g.y);i(m),this.displayCursor=h}this.lastOutput=u,this.lastOutputToRender=u,this.lastOutputHeight=l}finally{this.flushCursorTxn(r)}},"commitInlineScrollback");flushCursorTxn(t){let n=t.join("");if(!n)return;let r=ne(this.options.stdout);this.writeStdout(r?te+n+G:n)}render(t){let n=Ji.createElement(Te.Provider,{value:{isScreenReaderEnabled:this.isScreenReaderEnabled}},Ji.createElement(Xi,{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?Q.updateContainer(n,this.container,null,Nt):(Q.updateContainerSync(n,this.container,null,Nt),Q.flushSyncWork())}computeReturnToRestSeq(){if(this.displayCursor&&this.prevFrame){let t=Mn(this.prevFrame,!this.altScreenActive)(this.prevFrame.cursor),n=Tn(t.x-this.displayCursor.x,t.y-this.displayCursor.y);return this.displayCursor=null,n}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(ie){this.writeStdout(t);return}if(!this.shouldRestoreManagedShellAfterExternalWrite()){this.returnCursorToRest(),this.writeStdout(t),this.invalidateCellFrame();return}let n=ne(this.options.stdout);n&&this.writeStdout(te),this.returnCursorToRest();let r=this.lastOutputHeight>0?B.eraseLines(this.lastOutputHeight):"";this.writeStdout(r+t),this.restoreLastOutput(),this.invalidateCellFrame(),n&&this.writeStdout(G)}writeToStderr(t){if(this.isUnmounted)return;if(this.options.debug){this.writeStderr(t),this.writeStdout(this.fullStaticOutput+this.lastOutput);return}if(ie){this.writeStderr(t);return}if(!this.shouldRestoreManagedShellAfterExternalWrite()){this.returnCursorToRest(),this.writeStderr(t),this.invalidateCellFrame();return}let n=ne(this.options.stdout);n&&this.writeStdout(te),this.returnCursorToRest();let r=this.lastOutputHeight>0?B.eraseLines(this.lastOutputHeight):"";r.length>0&&this.writeStdout(r),this.writeStderr(t),this.restoreLastOutput(),this.invalidateCellFrame(),n&&this.writeStdout(G)}unmount(t){if(this.isUnmounted||this.isUnmounting)return;this.isUnmounting=!0,this.beforeExitHandler&&(we.off("beforeExit",this.beforeExitHandler),this.beforeExitHandler=void 0);let n=this.options.stdout,r=!n.destroyed&&!n.writableEnded&&(n.writable??!0);if(o(l=>{typeof l.flush=="function"&&(r?l.flush():typeof l.cancel=="function"&&l.cancel())},"settleThrottle")(this.throttledOnRender??{}),r&&(!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(),r){if(this.kittyProtocolEnabled)try{this.writeStdout("\x1B[<u")}catch{}ie&&this.writeStdout(this.lastOutput+`
38
- `)}this.kittyProtocolEnabled=!1,this.shellTransitionPhase=void 0,this.options.concurrent?Q.updateContainer(null,this.container,null,Nt):(Q.updateContainerSync(null,this.container,null,Nt),Q.flushSyncWork()),Ni.delete(this.options.stdout);let{exitResult:s}=this,a=o(()=>{In(t)?this.rejectExitPromise(t):this.resolveExitPromise(s)},"resolveOrReject"),c=t!==void 0&&!In(t),u=n._writableState!==void 0||n.writableLength!==void 0;c?a():r&&u?this.writeStdout("",a):setImmediate(a)}async waitUntilExit(){return this.exitPromise||=new Promise((t,n)=>{this.resolveExitPromise=t,this.rejectExitPromise=n}),this.beforeExitHandler||(this.beforeExitHandler=()=>{this.unmount()},we.once("beforeExit",this.beforeExitHandler)),this.exitPromise}clear(){if(!ie&&!this.options.debug){this.returnCursorToRest();let t=this.altScreenActive?this.lastOutputHeight>0?B.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=Ec((t,n)=>{t==="stdout"&&this.writeToStdout(n),t==="stderr"&&(n.startsWith("The above error occurred")||this.writeToStderr(n))}))}initKittyKeyboard(){if(!this.options.kittyKeyboard)return;let t=this.options.kittyKeyboard,n=t.mode??"auto";if(n==="disabled"||!this.options.stdin.isTTY||!this.options.stdout.isTTY)return;let r=t.flags??["disambiguateEscapeCodes"];if(n==="enabled"){this.enableKittyProtocol(r);return}let i=we.env.TERM??"",s=we.env.TERM_PROGRAM??"",a="KITTY_WINDOW_ID"in we.env||i==="xterm-kitty"||s==="WezTerm"||s==="ghostty";!ie&&a&&this.confirmKittySupport(r)}confirmKittySupport(t){let{stdin:n}=this.options,r=[],i=o(()=>{this.cancelKittyDetection=void 0,clearTimeout(a),n.removeListener("data",s);let c=Lc(r);r=[],c.length>0&&n.unshift(Buffer.from(c))},"cleanup"),s=o(c=>{let u=typeof c=="string"?Buffer.from(c):c;for(let l of u)r.push(l);Fc(r)&&(i(),this.isUnmounted||this.enableKittyProtocol(t))},"onData");n.on("data",s);let a=setTimeout(i,200);this.cancelKittyDetection=i,this.writeStdout("\x1B[?u")}enableKittyProtocol(t){this.writeStdout(`\x1B[>${qi(t)}u`),this.kittyProtocolEnabled=!0}},Zi=Dc;var qe=class{static{o(this,"KodaXRenderer")}engineInstance;isConcurrent;constructor(t){this.engineInstance=new Zi(t),this.isConcurrent=this.engineInstance.isConcurrent}render=o(t=>{this.engineInstance.render(t)},"render");unmount=o(t=>{this.engineInstance.unmount(t)},"unmount");waitUntilExit=o(()=>this.engineInstance.waitUntilExit(),"waitUntilExit");clear=o(()=>{this.engineInstance.clear()},"clear");setAltScreenActive=o((t,n)=>{this.engineInstance.setAltScreenActive?.(t,n)},"setAltScreenActive");setShellMode=o((t,n)=>{this.engineInstance.setShellMode?.(t,n)},"setShellMode");beginShellTransition=o(t=>{this.engineInstance.beginShellTransition?.(t)},"beginShellTransition");clearTextSelection=o(()=>{this.engineInstance.clearTextSelection?.()},"clearTextSelection");commitInlineScrollback=o(t=>{this.engineInstance.commitInlineScrollback?.(t)},"commitInlineScrollback")};var le=null;function to(){if(le===-1)return null;if(le!==null)return le;let e=process.env.KODAX_RENDER_TRACE;if(!e||e==="0"||e==="false")return le=-1,null;let t=e==="1"||e==="true"?$c(Hc(),`kodax-render-trace-${process.pid}.log`):e;try{return le=Bc(t,"a"),eo(le,`=== KODAX render trace pid=${process.pid} ${new Date().toISOString()} platform=${process.platform} node=${process.version} ===
39
- `),le}catch{return le=-1,null}}o(to,"resolveTraceFd");function Uc(e){let t=to();if(t!==null)try{eo(t,e)}catch{}}o(Uc,"traceLine");var vn=new WeakMap,zc={isTTY:!1,columns:80,rows:24,write:o(()=>!0,"write"),on:o(()=>{},"on"),off:o(()=>{},"off")},Yc={isTTY:!1,write:o(()=>!0,"write"),on:o(()=>{},"on"),off:o(()=>{},"off")},Kc={isTTY:!1,isRaw:!1,on:o(()=>{},"on"),off:o(()=>{},"off"),pause:o(()=>{},"pause"),resume:o(()=>{},"resume"),setRawMode:o(()=>{},"setRawMode")};function Gc(e={}){return e instanceof Wc?{stdout:e}:e}o(Gc,"getOptions");function Vc(e,t,n){let r=vn.get(e);return r?r.isConcurrent!==n&&console.warn(`Warning: render() was called with concurrent: ${n}, but the existing renderer for this stdout uses concurrent: ${r.isConcurrent}. The concurrent option only takes effect on the first render. Call unmount() first if you need to change the rendering mode.`):(r=t(),vn.set(e,r)),r}o(Vc,"getInstance");function Nn(e,t){let n={stdout:zc,stdin:Kc,stderr:Yc,debug:!1,exitOnCtrlC:!0,patchConsole:!1,maxFps:30,concurrent:!1,...Gc(t)};if(to()!==null){let s=n.stdout,a=s.write.bind(s),c=0,u=0;s.write=((g,...h)=>(c+=1,u+=typeof g=="string"?Buffer.byteLength(g,"utf8"):g?.length??0,a(g,...h)));let l=0,f=0,d=n.onRender;n.onRender=g=>{let h=jc.now(),m=l===0?0:h-l,y=s,w=y.columns??0,x=y.rows??0;return Uc(`frame=${f} renderTime=${g.renderTime.toFixed(2)}ms interval=${m.toFixed(2)}ms writes=${c} bytes=${u} viewport=${w}x${x}
40
- `),c=0,u=0,l=h,f+=1,d?.(g)}}let i=Vc(n.stdout,()=>new qe(n),n.concurrent??!1);return i.render(e),{rerender:i.render,unmount(){i.unmount()},waitUntilExit:i.waitUntilExit,cleanup:o(()=>{vn.delete(n.stdout)},"cleanup"),clear:i.clear}}o(Nn,"render");var no=$,ro=W;import{Buffer as Xc}from"node:buffer";var qc=/^(?:\x1b)([a-zA-Z0-9])$/,Jc=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,oo={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(oo),"backspace"],Qc=o(e=>["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(e),"isShiftKey"),Zc=o(e=>["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(e),"isCtrlKey"),ao=/^\x1b\[(\d+)(?:;(\d+)(?::(\d+))?(?:;([\d:]+))?)?u$/,eu=/^\x1b\[(\d+);(\d+):(\d+)([A-Za-z~])$/,tu={A:"up",B:"down",C:"right",D:"left",E:"clear",F:"end",H:"home",P:"f1",Q:"f2",R:"f3",S:"f4"},nu={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"},io={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"},co=o(e=>e>=0&&e<=1114111&&!(e>=55296&&e<=57343),"isValidCodepoint"),kn=o(e=>co(e)?String.fromCodePoint(e):"?","safeFromCodePoint");function uo(e){return e===3?"release":e===2?"repeat":"press"}o(uo,"resolveEventType");function lo(e){return{ctrl:!!(e&re.ctrl),shift:!!(e&re.shift),meta:!!(e&re.meta),option:!!(e&re.alt),super:!!(e&re.super),hyper:!!(e&re.hyper),capsLock:!!(e&re.capsLock),numLock:!!(e&re.numLock)}}o(lo,"parseKittyModifiers");function ru(e){let t=ao.exec(e);if(!t)return null;let n=Number.parseInt(t[1],10),r=t[2]?Math.max(0,Number.parseInt(t[2],10)-1):0,i=t[3]?Number.parseInt(t[3],10):1,s=t[4];if(!co(n))return null;let a;s&&(a=s.split(":").map(l=>kn(Number.parseInt(l,10))).join(""));let c,u;return n===32?(c="space",u=!0):n===13?(c="return",u=!0):io[n]?(c=io[n],u=!1):n>=1&&n<=26?(c=String.fromCodePoint(n+96),u=!1):(c=kn(n).toLowerCase(),u=!0),u&&!a&&(a=kn(n)),{name:c,...lo(r),eventType:uo(i),sequence:e,raw:e,isKittyProtocol:!0,isPrintable:u,text:a}}o(ru,"parseKittyKeypress");function iu(e){let t=eu.exec(e);if(!t)return null;let n=Number.parseInt(t[1],10),r=Math.max(0,Number.parseInt(t[2],10)-1),i=Number.parseInt(t[3],10),s=t[4],a=s==="~"?nu[n]:tu[s];return a?{name:a,...lo(r),eventType:uo(i),sequence:e,raw:e,isKittyProtocol:!0,isPrintable:!1}:null}o(iu,"parseKittySpecialKey");var On="\x1B[200~",ou="\x1B[201~";function su(e){if(!e.startsWith(On))return null;let t=e.indexOf(ou,On.length);return t===-1?null:e.slice(On.length,t)}o(su,"extractBracketedPaste");function An(e=""){let t=e,n;if(Xc.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 a=su(t);if(a!==null)return{name:"paste",ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,isPaste:!0,isPrintable:!1,text:a}}let r=ru(t);if(r)return r;let i=iu(t);if(i)return i;if(ao.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===`
41
- `)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(n=qc.exec(t))s.meta=!0,s.shift=/^[A-Z]$/.test(n[1]??"");else if(n=Jc.exec(t)){let a=[...t];a[0]==="\x1B"&&a[1]==="\x1B"&&(s.option=!0);let c=[n[1],n[2],n[4],n[6]].filter(Boolean).join(""),u=Number(n[3]||n[5]||1)-1;s.ctrl=!!(u&4),s.meta=!!(u&10),s.shift=!!(u&1),s.code=c,s.name=oo[c]??"",s.shift=Qc(c)||s.shift,s.ctrl=Zc(c)||s.ctrl}return s}o(An,"parseKeypress");var uu=50;function _n(e){return{columns:e?.columns??80,rows:e?.rows??24}}o(_n,"resolveTerminalSize");var Ot=au(null),lu={isTTY:!1,columns:80,rows:24,write:o(()=>!0,"write"),on:o(()=>{},"on"),off:o(()=>{},"off")};var mo={isTTY:!1,isRaw:!1,on:o(()=>{},"on"),off:o(()=>{},"off"),pause:o(()=>{},"pause"),resume:o(()=>{},"resume"),setRawMode:o(()=>{},"setRawMode")};function fu(e){for(let t of e)if(t.rawMode)return!0;return!1}o(fu,"hasRawModeSubscribers");function du({stdin:e,setRawMode:t,isRawModeSupported:n}){let r=new Set,i,s=!1,a=!1,c=o(d=>{for(let g of r)g.listener(d)},"handleData"),u=o(()=>{if(a){try{t(!1)}catch{}a=!1}},"disableRawModeIfOwned"),l=o(()=>{let d=i;d?.off?.("data",c),u(),s&&(d?.unref?.(),s=!1),i=void 0},"detachInput"),f=o(()=>{if(i&&i!==e&&l(),!e||r.size===0){l();return}if(i!==e&&(e.hasRef?.()!==!0&&typeof e.ref=="function"&&(e.ref(),s=!0),e.on?.("data",c),e.resume?.(),i=e),!(n&&fu(r))){u();return}if(e.isRaw===!1&&!a)try{t(!0),a=!0}catch{a=!1}},"syncInputOwnership");return{subscribe(d,g={}){let h={listener:d,rawMode:g.rawMode!==!1};return r.add(h),f(),()=>{r.delete(h),f()}},dispose(){r.clear(),l()}}}o(du,"createTerminalInputController");var pu=o(({children:e,runtime:t})=>{let[n,r]=cu(()=>t.terminalSize);_e(()=>{if(r(_n(t.stdout)),typeof t.stdout?.on!="function"||typeof t.stdout?.off!="function")return;let c=o(()=>{r(_n(t.stdout))},"handleResize");return t.stdout.on("resize",c),()=>{t.stdout.off?.("resize",c)}},[t.stdout]);let i=ho(c=>typeof t.stdout?.write!="function"?!1:(t.stdout.write(c),!0),[t.stdout]),s=fo(()=>du({stdin:t.stdin,setRawMode:t.setRawMode,isRawModeSupported:t.isRawModeSupported}),[t.stdin,t.isRawModeSupported,t.setRawMode]);_e(()=>()=>{s.dispose()},[s]);let a=fo(()=>({stdout:t.stdout,stdin:t.stdin,setRawMode:t.setRawMode,isRawModeSupported:t.isRawModeSupported,exit:t.exit,terminalSize:n,isTTY:t.stdout?.isTTY===!0,writeRaw:i,subscribeInput:s.subscribe}),[s.subscribe,t.exit,t.isRawModeSupported,t.setRawMode,t.stdin,t.stdout,s.subscribe,n,i]);return po(Ot.Provider,{value:a,children:e})},"TuiRuntimeProvider");function hu(e){let t=e?.stdout??lu,n=e?.stdin??mo,r=o(s=>{typeof n?.setRawMode=="function"&&n.setRawMode(s)},"setRawMode"),i;return{stdout:t,stdin:n,setRawMode:r,isRawModeSupported:typeof n?.setRawMode=="function",exit:o(()=>{i?.()},"exit"),terminalSize:_n(t),isTTY:t?.isTTY===!0,writeRaw:o(s=>typeof t?.write!="function"?!1:(t.write(s),!0),"writeRaw"),subscribeInput:o(()=>()=>{},"subscribeInput"),attachExit(s){i=s}}}o(hu,"createRuntimeValue");function go(e,t){let n=hu(t),r=Nn(po(pu,{runtime:n,children:e}),t);return n.attachExit(r.unmount),r}o(go,"render");var Fn=no,oe=ro;function mu(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},n="";return e.isKittyProtocol?e.isPrintable?n=e.text??e.name:e.ctrl&&e.name.length===1&&(n=e.name):e.ctrl?n=e.name:n=e.sequence,!e.isKittyProtocol&&so.includes(e.name)&&(n=""),n.startsWith("\x1B")&&(n=n.slice(1)),n.length===1&&typeof n[0]=="string"&&/[A-Z]/.test(n[0])&&(t.shift=!0),{input:n,key:t}}o(mu,"createCompatKeypress");function wo(e,t={}){let{isActive:n=!0}=t,r=kt(e),i=kt(null),s=kt(null);_e(()=>{r.current=e},[e]),_e(()=>{if(!n){i.current=null,s.current&&(clearTimeout(s.current),s.current=null);return}return i.current=It(),()=>{i.current?.reset(),i.current=null,s.current&&(clearTimeout(s.current),s.current=null)}},[n]);let a=ho(c=>{let{input:u,key:l}=mu(An(c));r.current(u,l)},[]);wu(c=>{if(!n)return;s.current&&(clearTimeout(s.current),s.current=null);let u=i.current,l=typeof c=="string"?c:c.toString("utf8"),f=u?.push(l)??[l];for(let d of f)a(d);l.length>0&&(s.current=setTimeout(()=>{let d=i.current?.flushPendingEscape();d&&a(d)},uu))},{isActive:n,rawMode:!0})}o(wo,"useInput");function gu(){let e=Pn(Ot),t=e?.stdin??mo,n=e?.setRawMode??(r=>{typeof t?.setRawMode=="function"&&t.setRawMode(r)});return{stdin:t,setRawMode:n,isRawModeSupported:e?.isRawModeSupported??typeof t?.setRawMode=="function"}}o(gu,"useStdin");function yo(){return{exit:Pn(Ot)?.exit??(()=>{})}}o(yo,"useApp");function wu(e,t={}){let{isActive:n=!0,rawMode:r=!0}=t,i=Pn(Ot),{stdin:s,setRawMode:a,isRawModeSupported:c}=gu(),u=kt(e);_e(()=>{u.current=e},[e]),_e(()=>{if(!n||!s)return;if(i)return i.subscribeInput(g=>{u.current(g)},{rawMode:r});let l=s,f=l.isRaw;r&&c&&f===!1&&a(!0);let d=o(g=>{u.current(g)},"handleData");return l.on?.("data",d),()=>{if(l.off?.("data",d),r&&c&&f===!1)try{a(!1)}catch{}}},[i,s,n,r,c,a])}o(wu,"useTerminalInput");var Su=40;function Cu(e,t){let n=t.trim().toLocaleLowerCase().split(/\s+/).filter(Boolean);return n.length===0?[...e]:e.filter(r=>{let i=[r.title,r.id,r.surface??"",r.createdAt??"",String(r.msgCount)].join(" ").toLocaleLowerCase();return n.every(s=>i.includes(s))})}o(Cu,"filterSessionPickerItems");function Eu(e,t,n){let r=Math.max(1,n),i=e.length===0?0:Math.max(0,Math.min(t,e.length-1)),s=Math.floor(i/r)*r;return{items:e.slice(s,s+r),selectedIndex:i,pageStart:s,pageIndex:Math.floor(s/r),pageCount:Math.max(1,Math.ceil(e.length/r))}}o(Eu,"buildSessionPickerPage");function Ru(e){if(!e)return"unknown time";let t=new Date(e);if(Number.isNaN(t.getTime()))return e;let n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),i=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0");return`${n}-${r}-${i} ${s}:${a}`}o(Ru,"formatTimestamp");function bu({sessions:e,onSelect:t,onSelectionError:n,onCancel:r,pageSize:i=8}){let{exit:s}=yo(),[a,c]=Ln(""),[u,l]=Ln(0),[f,d]=Ln(!1),g=xu(!1),h=yu(()=>Cu(e,a),[e,a]),m=Eu(h,u,i),y=h[m.selectedIndex];return wo((w,x)=>{if(!g.current){if(x.escape||x.ctrl&&w==="c"){r(),s();return}if(x.return){let p=h[m.selectedIndex];p&&(g.current=!0,d(!0),(async()=>{await new Promise(S=>setTimeout(S,Su));try{await t(p)}catch(S){n(S)}finally{s()}})());return}if(x.upArrow)l(p=>Math.max(0,p-1));else if(x.downArrow)l(p=>Math.min(Math.max(0,h.length-1),p+1));else if(x.pageUp)l(p=>Math.max(0,p-i));else if(x.pageDown)l(p=>Math.min(Math.max(0,h.length-1),p+i));else if(x.home)l(0);else if(x.end)l(Math.max(0,h.length-1));else if(x.tab){let p=h[m.selectedIndex];p&&(c(p.title),l(0))}else x.backspace||x.delete?(c(p=>p.slice(0,-1)),l(0)):w&&!x.ctrl&&!x.meta&&!x.super&&(c(p=>p+w),l(0))}}),Pe(Fn,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[Je(oe,{bold:!0,color:"cyan",children:"Resume a session"}),Pe(oe,{children:["Search: ",Je(oe,{color:"yellow",children:a||"type to filter"})]}),Je(oe,{dimColor:!0,children:f?"Loading selected session...":"\u2191/\u2193 select \xB7 PgUp/PgDn page \xB7 Tab complete \xB7 Enter resume \xB7 Esc cancel"}),Pe(Fn,{flexDirection:"column",marginTop:1,children:[m.items.length===0?Je(oe,{color:"yellow",children:"No matching sessions."}):null,m.items.map((w,x)=>{let S=m.pageStart+x===m.selectedIndex,M=w.title.trim()||"Untitled session",R=w.surface?` \xB7 ${w.surface}`:"";return Pe(oe,{color:S?"cyan":void 0,bold:S,children:[S?"\u276F":" "," ",M," \xB7 ",w.msgCount," msgs",R," \xB7 ",Ru(w.createdAt)," \xB7 ",w.id.slice(0,8)]},w.id)})]}),Pe(oe,{dimColor:!0,children:[h.length," matches \xB7 Page ",m.pageIndex+1,"/",m.pageCount]}),Pe(oe,{dimColor:!0,children:["Selected ID: ",y?.id??"none"]})]})}o(bu,"SessionPicker");async function xo(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 n,r=!1,i=!1,s,a=Math.max(4,Math.min(12,(process.stdout.rows??24)-8)),c=go(Je(bu,{sessions:e,pageSize:a,onSelect:o(async u=>{n=u,await t.prepareSelection?.(u)},"onSelect"),onSelectionError:o(u=>{i=!0,s=u},"onSelectionError"),onCancel:o(()=>{r=!0},"onCancel")}),{stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,exitOnCtrlC:!1,patchConsole:!1});try{await c.waitUntilExit()}finally{c.unmount(),c.cleanup()}if(i)throw s;if(!n&&!r)throw new Error("Session picker exited unexpectedly before selection or cancellation.");return n}o(xo,"runSessionPicker");var Ro=65536,At=48;function Mu(){let e=process.env.KODAX_HOME,t=e&&e.length>0?e:U.join(Tu.homedir(),".kodax");return U.join(t,"sessions")}o(Mu,"defaultSessionsDir");function bo(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith("archived-")&&!e.startsWith(".")}o(bo,"isSessionFile");async function Bn(e){try{return(await xe.readdir(e,{withFileTypes:!0})).filter(t=>t.isFile()&&bo(t.name)).map(t=>U.join(e,t.name))}catch(t){if(t.code==="ENOENT")return[];throw t}}o(Bn,"readProjectSessionFiles");async function Iu(e){try{return await Bn(e)}catch(t){return Wn(`read ${e}`,t),[]}}o(Iu,"readOptionalProjectSessionFiles");async function vu(e,t,n,r,i){let s=n?[]:await Bn(t),a=(await Promise.all(i.map(u=>Iu(u)))).flat(),c=(await xe.readdir(e,{withFileTypes:!0})).filter(u=>u.isFile()&&bo(u.name)).map(u=>U.join(e,u.name));return[...s.map(u=>({filePath:u,trustedProjectDir:r})),...a.map(u=>({filePath:u,trustedProjectDir:!1})),...c.map(u=>({filePath:u,trustedProjectDir:!1}))]}o(vu,"collectActiveSessionFiles");async function Nu(e,t){try{let n=JSON.parse(await xe.readFile(U.join(e,"project.json"),"utf8"));if(n===null||typeof n!="object")return!1;let r=n.canonicalRoot;return typeof r=="string"&&ye(r)===ye(t)}catch{return!1}}o(Nu,"isTrustedProjectDir");function ku(e){return{...e,...e.createdAt!==void 0?{createdAtMs:Date.parse(e.createdAt)}:{}}}o(ku,"indexedCandidate");function Dn(e,t){let n=t instanceof Error?t.message:String(t);process.emitWarning(`Resume index ${e} failed; using canonical sessions instead: ${n}`,{code:"KODAX_RESUME_INDEX"})}o(Dn,"reportResumeIndexFailure");function Wn(e,t){let n=t instanceof Error?t.message:String(t);process.emitWarning(`Resume compatibility ${e} failed; continuing with the current project: ${n}`,{code:"KODAX_RESUME_COMPATIBILITY"})}o(Wn,"reportResumeCompatibilityFailure");function ye(e){if(!e?.trim())return;let t=U.resolve(e).replace(/\\/g,"/");return process.platform==="win32"||process.platform==="darwin"?t.toLowerCase():t}o(ye,"normalizeComparableRoot");function Ou(e,t){if(t.length===0)return!0;let n=e.runtimeInfo!==null&&typeof e.runtimeInfo=="object"?e.runtimeInfo:void 0;return or({...typeof e.gitRoot=="string"?{gitRoot:e.gitRoot}:{},...n===void 0?{}:{runtimeInfo:{...typeof n.canonicalRepoRoot=="string"?{canonicalRepoRoot:n.canonicalRepoRoot}:{},...typeof n.workspaceRoot=="string"?{workspaceRoot:n.workspaceRoot}:{},...typeof n.executionCwd=="string"?{executionCwd:n.executionCwd}:{}}}},t)}o(Ou,"matchesProjectRoot");function Au(e,t){return e.sourceSize===t.size&&e.sourceMtimeMs===t.mtimeMs&&e.sourceCtimeMs===t.ctimeMs&&e.sourceDev===t.dev&&e.sourceIno===t.ino}o(Au,"sameSource");async function _u(e,t){let n=[],r=t,i=!1;for(;r>0;){let s=Math.max(0,r-Ro),a=Buffer.allocUnsafe(r-s),{bytesRead:c}=await e.read(a,0,a.length,s);if(c===0)break;let u=c;if(!i){for(;u>0&&(a[u-1]===10||a[u-1]===13);)u-=1;if(u===0){r=s;continue}i=!0}let l=a.lastIndexOf(10,u-1);if(n.unshift(a.subarray(l+1,u)),l>=0)break;r=s}return Buffer.concat(n).toString("utf8").trim()}o(_u,"readLastNonEmptyLine");async function Pu(e){let t;try{t=await xe.open(e,"r");let n=await t.stat(),r=[],i=0,s=0,a=n.size;for(;;){let d=n.size-s;if(d<=0)break;let g=Buffer.allocUnsafe(Math.min(Ro,d)),{bytesRead:h}=await t.read(g,0,g.length,s);if(h===0)break;let m=g.subarray(0,h),y=m.indexOf(10),w=y>=0?m.subarray(0,y):m;if(r.push(w),i+=w.length,y>=0){a=s+y;break}s+=h}if(i===0)return;let c=Buffer.concat(r,i).toString("utf8").trim(),u=n.size<=a+1?c:await _u(t,n.size),l={sourceSize:n.size,sourceMtimeMs:n.mtimeMs,sourceCtimeMs:n.ctimeMs,sourceDev:n.dev,sourceIno:n.ino},f=await t.stat();return Au(l,f)?{line:c,tailLine:u,...l}:void 0}catch{return}finally{await t?.close()}}o(Pu,"readSessionEnvelope");function So(e,t){return t._type!=="meta_update"?e:{...e,...typeof t.title=="string"?{title:t.title}:{},...typeof t.activeMessageCount=="number"&&t.activeMessageCount>=0?{activeMessageCount:t.activeMessageCount}:{},...typeof t.scope=="string"?{scope:t.scope}:{}}}o(So,"applyMetaUpdate");function Co(e){try{let t=JSON.parse(e);return t!==null&&typeof t=="object"?{valid:!0,value:t}:{valid:!0}}catch{return{valid:!1}}}o(Co,"parseJsonRecord");async function Fu(e,t,n){let r=Co(n);if(r.valid)return r.value===void 0?t:So(t,r.value);let i=(await xe.readFile(e,"utf8")).split(`
42
- `);for(let s=i.length-1;s>=0;s-=1){let a=i[s]?.trim();if(!a)continue;let c=Co(a);if(c.valid&&c.value?._type==="meta_update")return So(t,c.value)}return t}o(Fu,"applyEffectiveTailMetadata");async function Lu(e,t){if(typeof t.activeMessageCount=="number"&&t.activeMessageCount>=0)return t.activeMessageCount;let n=(await xe.readFile(e,"utf8")).trim();if(!n)return 0;let r=typeof t.extensionRecordCount=="number"&&t.extensionRecordCount>0?t.extensionRecordCount:0;return Math.max(0,n.split(`
43
- `).length-1-r)}o(Lu,"readMessageCount");function Du(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}:{}}}o(Du,"runtimeSummary");async function Eo(e,t,n){let r=await Pu(e);if(!r?.line)return{};let i={name:U.basename(e),sourceSize:r.sourceSize,sourceMtimeMs:r.sourceMtimeMs,sourceCtimeMs:r.sourceCtimeMs,sourceDev:r.sourceDev,sourceIno:r.sourceIno};try{let s=JSON.parse(r.line);if(s===null||typeof s!="object")return{source:i};let a=await Fu(e,s,r.tailLine);if(a._type!=="meta")return{source:i,matchesProject:!1};let c=n||Ou(a,t);if(!c||a.scope==="managed-task-worker")return{source:i,matchesProject:c};let u=await Lu(e,a);if(u<=0)return{source:i,matchesProject:c};let l=typeof a.createdAt=="string"?a.createdAt:void 0,f=Du(a);return{source:i,matchesProject:c,candidate:{id:U.basename(e,".jsonl"),title:typeof a.title=="string"?a.title:"",msgCount:u,...l!==void 0?{createdAt:l}:{},...f?.surface!==void 0?{surface:f.surface}:{},...l!==void 0?{createdAtMs:Date.parse(l)}:{},sourceSize:r.sourceSize,sourceMtimeMs:r.sourceMtimeMs,sourceCtimeMs:r.sourceCtimeMs,sourceDev:r.sourceDev,sourceIno:r.sourceIno}}}catch{return{source:i}}}o(Eo,"readResumeCandidate");async function To(e){let t=e.sessionsDir??Mu();await mr(t),await xe.mkdir(t,{recursive:!0});let n=await Pt({cwd:e.projectRoot}),r=n.canonicalRoot,i=U.join(t,Se(r).key),s=[];try{s=Zn(r)}catch(p){Wn("linked-worktree discovery",p)}let a=[n.workspaceRoot,...s].filter((p,S,M)=>{let R=ye(p);return R!==ye(r)&&M.findIndex(A=>ye(A)===R)===S}),c=a.map(p=>U.join(t,Se(p).key)),u=await Nu(i,r),l=!1;if(!u)try{l=!await ar(i)}catch{}let f;if(u)try{f=await br(i)}catch(p){Dn("read",p)}let d=await vu(t,i,f!==void 0,u&&f!==void 0,c),g=f?.map(ku)??[],h=[],m=[],y=!0,w=new Set(g.map(p=>p.id));for(let p=0;p<d.length;p+=At){let S=d.slice(p,p+At),M=await Promise.all(S.map(R=>Eo(R.filePath,[r,...a],R.trustedProjectDir)));for(let R=0;R<M.length;R+=1){let A=M[R],D=S[R],N=D!==void 0&&ye(U.dirname(D.filePath))===ye(i);N&&(A?.source&&m.push(A.source),(A?.source===void 0||A.matchesProject!==!0)&&(y=!1));let O=A?.candidate;f===void 0&&N&&O?.sourceSize!==void 0&&O.sourceMtimeMs!==void 0&&O.sourceCtimeMs!==void 0&&O.sourceDev!==void 0&&O.sourceIno!==void 0&&h.push({...O,sourceSize:O.sourceSize,sourceMtimeMs:O.sourceMtimeMs,sourceCtimeMs:O.sourceCtimeMs,sourceDev:O.sourceDev,sourceIno:O.sourceIno}),O&&!w.has(O.id)&&(w.add(O.id),g.push(O))}}if(l&&y){let p=[];try{p=await Bn(U.join(i,"archived"))}catch(S){y=!1,Wn("legacy archived-session certification",S)}for(let S=0;S<p.length;S+=At)if((await Promise.all(p.slice(S,S+At).map(R=>Eo(R,[r,...a],!1)))).some(R=>R.source===void 0||R.matchesProject!==!0)){y=!1;break}}let x=u;if(l&&y)try{await it(i,Se(r)),x=!0}catch(p){Dn("project identity publication",p)}if(f===void 0&&x)try{await Tr(i,h,m)}catch(p){Dn("rebuild",p)}return g.sort((p,S)=>Number.isFinite(p.createdAtMs)&&Number.isFinite(S.createdAtMs)&&p.createdAtMs!==S.createdAtMs?S.createdAtMs-p.createdAtMs:Number.isFinite(S.createdAtMs)&&!Number.isFinite(p.createdAtMs)?1:Number.isFinite(p.createdAtMs)&&!Number.isFinite(S.createdAtMs)?-1:S.id.localeCompare(p.id)),g.slice(0,e.limit??1e3).map(({createdAtMs:p,sourceSize:S,sourceMtimeMs:M,sourceCtimeMs:R,sourceDev:A,sourceIno:D,...N})=>N)}o(To,"listCliResumeSessions");async function Mo(e,t={}){return xo(e,t)}o(Mo,"runCliResumePicker");async function Wu(e){let{default:t}=await import("chalk");if(e==="empty"){process.stdout.write(`${t.yellow("No resumable sessions found. Starting a new session...")}
33
+ Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(t.setEncoding("utf8"),C){y.current===0&&(t.ref(),t.setRawMode(!0),x.current=_t,t.addListener("readable",_t)),y.current++;return}y.current!==0&&--y.current===0&&D()},[R,t,_t,D]),Hr=_((C,b)=>{let I=C.findIndex(L=>L.id===b);for(let L=I+1;L<C.length;L++){let V=C[L];if(V?.isActive)return V.id}},[]),Ur=_((C,b)=>{let I=C.findIndex(L=>L.id===b);for(let L=I-1;L>=0;L--){let V=C[L];if(V?.isActive)return V.id}},[]),Ze=_(()=>{h(C=>(g(b=>{let I=C.find(V=>V.isActive)?.id;return Hr(C,b)??I}),C))},[Hr]),et=_(()=>{h(C=>(g(b=>{let I=C.findLast(V=>V.isActive)?.id;return Ur(C,b)??I}),C))},[Ur]);Vi(()=>{let C=o(I=>{!l||m.current===0||(I===yc&&Ze(),I===xc&&et())},"handleTabNavigation");w.current.on("input",C);let b=w.current;return()=>{b.off("input",C)}},[l,Ze,et]);let $r=_(()=>{d(!0)},[]),zr=_(()=>{d(!1)},[]),Gr=_(C=>{h(b=>(b.some(L=>L?.id===C)&&g(C),b))},[]),Kr=_((C,{autoFocus:b})=>{h(I=>(m.current=I.length+1,[...I,{id:C,isActive:!0}])),b&&g(I=>I??C)},[]),Yr=_(C=>{g(b=>b===C?void 0:b),h(b=>{let I=b.filter(L=>L.id!==C);return m.current=I.length,I})},[]),Vr=_(C=>{h(b=>b.map(I=>I.id!==C?I:{id:C,isActive:!0}))},[]),Xr=_(C=>{g(b=>b===C?void 0:b),h(b=>b.map(I=>I.id!==C?I:{id:C,isActive:!1}))},[]);Vi(()=>()=>{wc.show(r),R&&y.current>0&&D()},[r,R,D]);let vo=Ae(()=>({exit:N}),[N]),No=Ae(()=>({stdin:t,setRawMode:jr,isRawModeSupported:R,internal_exitOnCtrlC:a,internal_eventEmitter:w.current}),[t,jr,R,a]),ko=Ae(()=>({stdout:r,write:i}),[r,i]),Oo=Ae(()=>({stderr:n,write:s}),[n,s]),Ao=Ae(()=>({setCursorPosition:u}),[u]),_o=Ae(()=>({activeId:f,add:Kr,remove:Yr,activate:Vr,deactivate:Xr,enableFocus:$r,disableFocus:zr,focusNext:Ze,focusPrevious:et,focus:Gr}),[f,Kr,Yr,Vr,Xr,$r,zr,Ze,et,Gr]);return ge.createElement(Pi.Provider,{value:vo},ge.createElement(Li.Provider,{value:No},ge.createElement(Wi.Provider,{value:ko},ge.createElement(ji.Provider,{value:Oo},ge.createElement(Ui.Provider,{value:_o},ge.createElement(zi.Provider,{value:Ao},ge.createElement(Xe,{onError:N},e)))))))}o(Xi,"App");Xi.displayName="InternalApp";var qi=Xi;var Ec={disambiguateEscapeCodes:1,reportEventTypes:2,reportAlternateKeys:4,reportAllKeysAsEscapeCodes:8,reportAssociatedText:16};function Ji(e){let t=0;for(let r of e)t|=Ec[r];return t}o(Ji,"resolveFlags");var ne={shift:1,alt:2,ctrl:4,super:8,hyper:16,meta:32,capsLock:64,numLock:128};var br=o((e,t)=>(t<0?B.cursorUp(-t):t>0?B.cursorDown(t):"")+(e<0?B.cursorBackward(-e):e>0?B.cursorForward(e):""),"cursorMoveSeq"),Tr=o((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 i=>({x:i.x,y:Math.min(Math.max(i.y-r,0),n)})},"toVisibleCursor"),Nt=o(()=>{},"noop"),Ac=27,_c=91,Pc=63,Fc=117,Lc=48,Dc=57,Wc=o(e=>e>=Lc&&e<=Dc,"isDigitByte"),Zi=o((e,t)=>{if(e[t]!==Ac||e[t+1]!==_c||e[t+2]!==Pc)return;let r=t+3,n=r;for(;r<e.length&&Wc(e[r]);)r++;if(r!==n){if(r===e.length)return{state:"partial"};if(e[r]===Fc)return{state:"complete",endIndex:r}}},"matchKittyQueryResponse"),Bc=o(e=>{for(let t=0;t<e.length;t++)if(Zi(e,t)?.state==="complete")return!0;return!1},"hasCompleteKittyQueryResponse"),jc=o(e=>{let t=[],r=0;for(;r<e.length;){let n=Zi(e,r);if(n?.state==="complete"){r=n.endIndex+1;continue}if(n?.state==="partial")break;t.push(e[r]),r++}return t},"stripKittyQueryResponsesAndTrailingPartial"),Mr=o(e=>e instanceof Error||Object.prototype.toString.call(e)==="[object Error]","isErrorInput"),Hc=class{static{o(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;terminalExitGuard;altScreenActive=!1;shellMode;mouseTrackingActive=!1;shellTransitionPhase=void 0;cursorHidden=!1;constructor(t){bc(this),this.options=t,this.rawStdoutWrite=t.stdout.write.bind(t.stdout),this.rawStderrWrite=t.stderr.write.bind(t.stderr),this.rootNode=mt("ink-root"),this.rootNode.onComputeLayout=this.calculateLayout,this.isScreenReaderEnabled=t.isScreenReaderEnabled??we.env.INK_SCREEN_READER==="true";let r=t.debug||this.isScreenReaderEnabled,n=t.maxFps??30,i=n>0?Math.max(1,Math.ceil(1e3/n)):0;if(r)this.rootNode.onRender=this.onRender,this.throttledOnRender=void 0;else{let a=Rc(this.onRender,i,{leading:!0,trailing:!0});this.rootNode.onRender=()=>{this.hasPendingThrottledRender=!0,a()},this.throttledOnRender=a}this.rootNode.onImmediateRender=this.onRender,this.cellLogUpdate=new Tt({isTTY:!!t.stdout.isTTY}),this.prevFrame=Ve(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?vc:Ic;this.container=Q.createContainer(this.rootNode,s,null,!1,null,"id",()=>{},()=>{},()=>{},()=>{}),this.unsubscribeExit=Tc(this.unmount,{alwaysLast:!1}),pt()&&Q.injectIntoDevTools(),t.patchConsole&&this.patchConsole(),ie||(t.stdout.on("resize",this.resized),this.unsubscribeResize=()=>{t.stdout.off("resize",this.resized)}),this.initKittyKeyboard()}getTerminalWidth=o(()=>this.options.stdout.columns?this.options.stdout.columns:Oc()?.columns??80,"getTerminalWidth");resized=o(()=>{let t=this.getTerminalWidth();if(t<this.lastTerminalWidth){this.returnCursorToRest();let r=this.altScreenActive?this.lastOutputHeight>0?B.eraseLines(this.lastOutputHeight):"":this.eraseInlineLiveBlock();r.length>0&&this.writeStdout(r),this.lastOutput="",this.lastOutputToRender="",this.cellLogUpdate.reset(),this.prevFrame=Ve(this.options.stdout.rows??24,t)}this.calculateLayout(),this.onRender(),this.lastTerminalWidth=t},"resized");resolveExitPromise=o(()=>{},"resolveExitPromise");rejectExitPromise=o(()=>{},"rejectExitPromise");unsubscribeExit=o(()=>{},"unsubscribeExit");handleAppExit=o(t=>{if(!(this.isUnmounted||this.isUnmounting)){if(Mr(t)){this.unmount(t);return}this.exitResult=t,this.unmount()}},"handleAppExit");setCursorPosition=o(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 i=Math.max(0,Math.min(t.x|0,r-1)),s=Math.max(0,Math.min(t.y|0,n-1));this.cursorPosition={x:i,y:s}},"setCursorPosition");resetOutputTracking=o(()=>{this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.cursorPosition=void 0,this.invalidateCellFrame()},"resetOutputTracking");usesVirtualShellOwnership=o((t={})=>t.altScreenActive??this.altScreenActive,"usesVirtualShellOwnership");beginShellTransition(t){this.shellTransitionPhase=t}setShellMode(t,r){let n=this.shellMode,i=this.mouseTrackingActive,s=this.usesVirtualShellOwnership(),a=r??!1;this.shellMode=t,this.mouseTrackingActive=a;let c=this.usesVirtualShellOwnership();(n!==t&&(s||c)||i!==a&&c)&&this.resetOutputTracking()}setAltScreenActive(t,r){let n=this.altScreenActive,i=this.mouseTrackingActive,s=this.usesVirtualShellOwnership(),a=r??!1;this.altScreenActive=t,this.mouseTrackingActive=a,this.shellTransitionPhase=void 0;let c=this.usesVirtualShellOwnership();(n!==t||i!==a&&(s||c))&&this.resetOutputTracking()}clearTextSelection(){}registerTerminalExitGuard(t){return this.terminalExitGuard=t,()=>{this.terminalExitGuard===t&&(this.terminalExitGuard=void 0)}}installExternalStreamWriteGuard(){if(this.options.debug||ie)return;let t=this.options.stdout,r=this.options.stderr,n=t.write,i=r.write,s=o((...c)=>{let u=this.rawStdoutWrite(...c);return this.internalStreamWriteDepth===0&&this.handleExternalStreamWrite(),u},"guardedStdoutWrite"),a=o((...c)=>{let u=this.rawStderrWrite(...c);return this.internalStreamWriteDepth===0&&this.handleExternalStreamWrite(),u},"guardedStderrWrite");t.write=s,r.write=a,this.restoreStreamWriteGuard=()=>{t.write===s&&(t.write=n),r.write===a&&(r.write=i)}}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=o(()=>{if(this.prevFrame.screen.height===0)return;let t=Ve(this.options.stdout.rows??24,this.getTerminalWidth()),r=this.cellLogUpdate.render(t,this.prevFrame);this.withInternalStreamWrite(()=>Mt(this.options.stdout,r))},"restoreLastOutput");shouldRestoreManagedShellAfterExternalWrite=o(()=>this.altScreenActive,"shouldRestoreManagedShellAfterExternalWrite");calculateLayout=o(()=>{let t=this.getTerminalWidth();this.rootNode.yogaNode.setWidth(t),this.rootNode.yogaNode.calculateLayout(void 0,void 0,Nc.DIRECTION_LTR)},"calculateLayout");onRender=o(()=>{if(this.hasPendingThrottledRender=!1,this.isUnmounted)return;let t=performance.now(),r={rows:this.options.stdout.rows??24,columns:this.getTerminalWidth()},{output:n,outputHeight:i,staticOutput:s,frame:a}=hr(this.rootNode,this.isScreenReaderEnabled,r);this.options.onRender?.({renderTime:performance.now()-t}),!ie&&!this.options.debug&&!this.isScreenReaderEnabled&&!this.cursorHidden&&(this.writeStdout(B.cursorHide),this.cursorHidden=!0);let c=s&&s!==`
34
+ `;if(this.options.debug){c&&(this.fullStaticOutput+=s),this.writeStdout(this.fullStaticOutput+n);return}if(ie){c&&this.writeStdout(s),this.lastOutput=n,this.lastOutputToRender=n+`
35
+ `,this.lastOutputHeight=i;return}if(this.isScreenReaderEnabled){let w=re(this.options.stdout);if(w&&this.writeStdout(te),c){let S=this.lastOutputHeight>0?B.eraseLines(this.lastOutputHeight):"";this.writeStdout(S+s),this.lastOutputHeight=0}if(n===this.lastOutput&&!c){w&&this.writeStdout(Y);return}let x=this.getTerminalWidth(),p=kc(n,x,{trim:!1,hard:!0});if(c)this.writeStdout(p);else{let S=this.lastOutputHeight>0?B.eraseLines(this.lastOutputHeight):"";this.writeStdout(S+p)}this.lastOutput=n,this.lastOutputToRender=p,this.lastOutputHeight=p===""?0:p.split(`
36
+ `).length,w&&this.writeStdout(Y);return}c&&(this.fullStaticOutput+=s);let l=!this.altScreenActive&&!!(a&&a.inputCursor)?[]:null,d=o(w=>{w&&(l?l.push(w):this.writeStdout(w))},"emit"),f=l?{write:d}:null;d(this.computeReturnToRestSeq());let g=this.altScreenActive,m=this.options.stdout.isTTY&&i>=this.options.stdout.rows&&g?n:n+`
37
+ `;if(this.lastOutputHeight>=this.options.stdout.rows&&g){if(we.env.KODAX_FULLSCREEN_CELLDIFF!=="0"&&this.altScreenActive&&this.fullStaticOutput===""){let p=re(this.options.stdout);p&&this.writeStdout(te),this.applyCellFrame(a),p&&this.writeStdout(Y),this.lastOutput=n,this.lastOutputToRender=m,this.lastOutputHeight=i;return}let w=re(this.options.stdout);w&&this.writeStdout(te);let x=this.fullStaticOutput+m;if(this.altScreenActive){let p=this.lastOutputHeight>0?B.eraseLines(this.lastOutputHeight):"";this.writeStdout(p+x)}else this.writeStdout(B.clearTerminal+this.fullStaticOutput+n);this.lastOutput=n,this.lastOutputToRender=this.altScreenActive?x:m,this.lastOutputHeight=i,this.invalidateCellFrame(),w&&this.writeStdout(Y);return}let y=!l&&re(this.options.stdout);try{if(c?(y&&d(te),d(this.eraseInlineLiveBlock()+s),this.invalidateCellFrame(),this.applyCellFrame(a,f),y&&d(Y)):!this.altScreenActive&&this.prevFrame&&this.prevFrame.screen.height!==a.screen.height&&this.lastOutputHeight>0&&i<=this.options.stdout.rows&&this.lastOutputHeight<this.options.stdout.rows?(y&&d(te),d(this.eraseInlineLiveBlock()),this.invalidateCellFrame(),this.applyCellFrame(a,f),y&&d(Y)):this.applyCellFrame(a,f),a?.inputCursor){let w=Tr(a,!this.altScreenActive),x=w(a.cursor),p=w(a.inputCursor),S=br(p.x-x.x,p.y-x.y);d(S),this.displayCursor=p}}finally{l&&this.flushCursorTxn(l)}this.lastOutput=n,this.lastOutputToRender=m,this.lastOutputHeight=i},"onRender");applyCellFrame=o((t,r=null)=>{let n={cellLogUpdate:this.cellLogUpdate,prevFrame:this.prevFrame,stdout:r??this.options.stdout},i=re(this.options.stdout),s={altScreen:this.altScreenActive,decstbmSafe:i,synchronized:r?!1:i,inlineBottomAnchored:!this.altScreenActive},a=this.withInternalStreamWrite(()=>vi(n,t,s));return this.prevFrame=n.prevFrame,a},"applyCellFrame");invalidateCellFrame=o(()=>{this.cellLogUpdate.reset(),this.prevFrame=Ve(this.options.stdout.rows??24,this.getTerminalWidth())},"invalidateCellFrame");eraseInlineLiveBlock=o(()=>this.lastOutputHeight>0?B.eraseLines(this.lastOutputHeight):"","eraseInlineLiveBlock");commitInlineScrollback=o(({mode:t,text:r})=>{if(this.altScreenActive||this.isUnmounted)return;let n=[],i=o(c=>{c&&n.push(c)},"emit"),s={write:i};i(this.computeReturnToRestSeq());let a=t==="rebuild"?"\x1B[2J\x1B[3J\x1B[H":this.eraseInlineLiveBlock();i(a+(r??"")),this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.fullStaticOutput="",this.invalidateCellFrame();try{this.calculateLayout();let c={rows:this.options.stdout.rows??24,columns:this.getTerminalWidth()},{output:u,outputHeight:l,frame:d}=hr(this.rootNode,this.isScreenReaderEnabled,c);if(this.applyCellFrame(d,s),d?.inputCursor){let f=Tr(d,!this.altScreenActive),g=f(d.cursor),h=f(d.inputCursor),m=br(h.x-g.x,h.y-g.y);i(m),this.displayCursor=h}this.lastOutput=u,this.lastOutputToRender=u,this.lastOutputHeight=l}finally{this.flushCursorTxn(n)}},"commitInlineScrollback");flushCursorTxn(t){let r=t.join("");if(!r)return;let n=re(this.options.stdout);this.writeStdout(n?te+r+Y:r)}render(t){let r=Qi.createElement(Te.Provider,{value:{isScreenReaderEnabled:this.isScreenReaderEnabled}},Qi.createElement(qi,{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?Q.updateContainer(r,this.container,null,Nt):(Q.updateContainerSync(r,this.container,null,Nt),Q.flushSyncWork())}computeReturnToRestSeq(){if(this.displayCursor&&this.prevFrame){let t=Tr(this.prevFrame,!this.altScreenActive)(this.prevFrame.cursor),r=br(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(ie){this.writeStdout(t);return}if(!this.shouldRestoreManagedShellAfterExternalWrite()){this.returnCursorToRest(),this.writeStdout(t),this.invalidateCellFrame();return}let r=re(this.options.stdout);r&&this.writeStdout(te),this.returnCursorToRest();let n=this.lastOutputHeight>0?B.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(ie){this.writeStderr(t);return}if(!this.shouldRestoreManagedShellAfterExternalWrite()){this.returnCursorToRest(),this.writeStderr(t),this.invalidateCellFrame();return}let r=re(this.options.stdout);r&&this.writeStdout(te),this.returnCursorToRest();let n=this.lastOutputHeight>0?B.eraseLines(this.lastOutputHeight):"";n.length>0&&this.writeStdout(n),this.writeStderr(t),this.restoreLastOutput(),this.invalidateCellFrame(),r&&this.writeStdout(Y)}restoreTrackedTerminalMode(){if(!this.altScreenActive)return;let t=Ni({mouseTracking:this.mouseTrackingActive});try{typeof this.options.stdout.fd=="number"?Cc(this.options.stdout.fd,t):this.rawStdoutWrite(t)}finally{this.altScreenActive=!1,this.mouseTrackingActive=!1,this.shellTransitionPhase=void 0}}restoreManagedTerminal(){let t=[],r=this.terminalExitGuard;this.terminalExitGuard=void 0;try{r?.()}catch(n){t.push(n)}try{this.restoreTrackedTerminalMode()}catch(n){t.push(n)}if(t.length===1)throw t[0];if(t.length>1)throw new AggregateError(t,"Terminal restoration failed")}fenceRendererAfterUnmountFailure(){this.isUnmounted=!0,this.hasPendingThrottledRender=!1,typeof this.throttledOnRender?.cancel=="function"&&this.throttledOnRender.cancel()}unmount(t){try{this.unmountUnsafe(t)}catch(r){this.fenceRendererAfterUnmountFailure();try{this.restoreManagedTerminal()}catch(n){throw new AggregateError([r,n],"Renderer unmount and terminal restoration both failed")}throw r}this.restoreManagedTerminal()}unmountUnsafe(t){if(this.isUnmounted||this.isUnmounting)return;this.isUnmounting=!0,this.beforeExitHandler&&(we.off("beforeExit",this.beforeExitHandler),this.beforeExitHandler=void 0);let r=this.options.stdout,n=!r.destroyed&&!r.writableEnded&&(r.writable??!0);if(o(l=>{typeof l.flush=="function"&&(n?l.flush():typeof l.cancel=="function"&&l.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{}ie&&this.writeStdout(this.lastOutput+`
38
+ `)}this.kittyProtocolEnabled=!1,this.shellTransitionPhase=void 0,this.options.concurrent?Q.updateContainer(null,this.container,null,Nt):(Q.updateContainerSync(null,this.container,null,Nt),Q.flushSyncWork()),ki.delete(this.options.stdout);let{exitResult:s}=this,a=o(()=>{Mr(t)?this.rejectExitPromise(t):this.resolveExitPromise(s)},"resolveOrReject"),c=t!==void 0&&!Mr(t),u=r._writableState!==void 0||r.writableLength!==void 0;c?a():n&&u?this.writeStdout("",a):setImmediate(a)}async waitUntilExit(){return this.exitPromise||=new Promise((t,r)=>{this.resolveExitPromise=t,this.rejectExitPromise=r}),this.beforeExitHandler||(this.beforeExitHandler=()=>{this.unmount()},we.once("beforeExit",this.beforeExitHandler)),this.exitPromise}clear(){if(!ie&&!this.options.debug){this.returnCursorToRest();let t=this.altScreenActive?this.lastOutputHeight>0?B.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=Mc((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 i=we.env.TERM??"",s=we.env.TERM_PROGRAM??"",a="KITTY_WINDOW_ID"in we.env||i==="xterm-kitty"||s==="WezTerm"||s==="ghostty";!ie&&a&&this.confirmKittySupport(n)}confirmKittySupport(t){let{stdin:r}=this.options,n=[],i=o(()=>{this.cancelKittyDetection=void 0,clearTimeout(a),r.removeListener("data",s);let c=jc(n);n=[],c.length>0&&r.unshift(Buffer.from(c))},"cleanup"),s=o(c=>{let u=typeof c=="string"?Buffer.from(c):c;for(let l of u)n.push(l);Bc(n)&&(i(),this.isUnmounted||this.enableKittyProtocol(t))},"onData");r.on("data",s);let a=setTimeout(i,200);this.cancelKittyDetection=i,this.writeStdout("\x1B[?u")}enableKittyProtocol(t){this.writeStdout(`\x1B[>${Ji(t)}u`),this.kittyProtocolEnabled=!0}},eo=Hc;var qe=class{static{o(this,"KodaXRenderer")}engineInstance;isConcurrent;constructor(t){this.engineInstance=new eo(t),this.isConcurrent=this.engineInstance.isConcurrent}render=o(t=>{this.engineInstance.render(t)},"render");unmount=o(t=>{this.engineInstance.unmount(t)},"unmount");waitUntilExit=o(()=>this.engineInstance.waitUntilExit(),"waitUntilExit");clear=o(()=>{this.engineInstance.clear()},"clear");setAltScreenActive=o((t,r)=>{this.engineInstance.setAltScreenActive?.(t,r)},"setAltScreenActive");setShellMode=o((t,r)=>{this.engineInstance.setShellMode?.(t,r)},"setShellMode");beginShellTransition=o(t=>{this.engineInstance.beginShellTransition?.(t)},"beginShellTransition");clearTextSelection=o(()=>{this.engineInstance.clearTextSelection?.()},"clearTextSelection");registerTerminalExitGuard=o(t=>this.engineInstance.registerTerminalExitGuard?.(t)??(()=>{}),"registerTerminalExitGuard");commitInlineScrollback=o(t=>{this.engineInstance.commitInlineScrollback?.(t)},"commitInlineScrollback")};var le=null;function ro(){if(le===-1)return null;if(le!==null)return le;let e=process.env.KODAX_RENDER_TRACE;if(!e||e==="0"||e==="false")return le=-1,null;let t=e==="1"||e==="true"?Kc(Gc(),`kodax-render-trace-${process.pid}.log`):e;try{return le=$c(t,"a"),to(le,`=== KODAX render trace pid=${process.pid} ${new Date().toISOString()} platform=${process.platform} node=${process.version} ===
39
+ `),le}catch{return le=-1,null}}o(ro,"resolveTraceFd");function Yc(e){let t=ro();if(t!==null)try{to(t,e)}catch{}}o(Yc,"traceLine");var Ir=new WeakMap,Vc={isTTY:!1,columns:80,rows:24,write:o(()=>!0,"write"),on:o(()=>{},"on"),off:o(()=>{},"off")},Xc={isTTY:!1,write:o(()=>!0,"write"),on:o(()=>{},"on"),off:o(()=>{},"off")},qc={isTTY:!1,isRaw:!1,on:o(()=>{},"on"),off:o(()=>{},"off"),pause:o(()=>{},"pause"),resume:o(()=>{},"resume"),setRawMode:o(()=>{},"setRawMode")};function Jc(e={}){return e instanceof Uc?{stdout:e}:e}o(Jc,"getOptions");function Qc(e,t,r){let n=Ir.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(),Ir.set(e,n)),n}o(Qc,"getInstance");function vr(e,t){let r={stdout:Vc,stdin:qc,stderr:Xc,debug:!1,exitOnCtrlC:!0,patchConsole:!1,maxFps:30,concurrent:!1,...Jc(t)};if(ro()!==null){let s=r.stdout,a=s.write.bind(s),c=0,u=0;s.write=((g,...h)=>(c+=1,u+=typeof g=="string"?Buffer.byteLength(g,"utf8"):g?.length??0,a(g,...h)));let l=0,d=0,f=r.onRender;r.onRender=g=>{let h=zc.now(),m=l===0?0:h-l,y=s,w=y.columns??0,x=y.rows??0;return Yc(`frame=${d} renderTime=${g.renderTime.toFixed(2)}ms interval=${m.toFixed(2)}ms writes=${c} bytes=${u} viewport=${w}x${x}
40
+ `),c=0,u=0,l=h,d+=1,f?.(g)}}let i=Qc(r.stdout,()=>new qe(r),r.concurrent??!1);return i.render(e),{rerender:i.render,unmount(){i.unmount()},waitUntilExit:i.waitUntilExit,cleanup:o(()=>{Ir.delete(r.stdout)},"cleanup"),clear:i.clear}}o(vr,"render");var no=U,io=W;import{Buffer as Zc}from"node:buffer";var eu=/^(?:\x1b)([a-zA-Z0-9])$/,tu=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,so={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"},ao=[...Object.values(so),"backspace"],ru=o(e=>["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(e),"isShiftKey"),nu=o(e=>["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(e),"isCtrlKey"),co=/^\x1b\[(\d+)(?:;(\d+)(?::(\d+))?(?:;([\d:]+))?)?u$/,iu=/^\x1b\[(\d+);(\d+):(\d+)([A-Za-z~])$/,ou={A:"up",B:"down",C:"right",D:"left",E:"clear",F:"end",H:"home",P:"f1",Q:"f2",R:"f3",S:"f4"},su={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"},uo=o(e=>e>=0&&e<=1114111&&!(e>=55296&&e<=57343),"isValidCodepoint"),Nr=o(e=>uo(e)?String.fromCodePoint(e):"?","safeFromCodePoint");function lo(e){return e===3?"release":e===2?"repeat":"press"}o(lo,"resolveEventType");function fo(e){return{ctrl:!!(e&ne.ctrl),shift:!!(e&ne.shift),meta:!!(e&ne.meta),option:!!(e&ne.alt),super:!!(e&ne.super),hyper:!!(e&ne.hyper),capsLock:!!(e&ne.capsLock),numLock:!!(e&ne.numLock)}}o(fo,"parseKittyModifiers");function au(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,i=t[3]?Number.parseInt(t[3],10):1,s=t[4];if(!uo(r))return null;let a;s&&(a=s.split(":").map(l=>Nr(Number.parseInt(l,10))).join(""));let c,u;return r===32?(c="space",u=!0):r===13?(c="return",u=!0):oo[r]?(c=oo[r],u=!1):r>=1&&r<=26?(c=String.fromCodePoint(r+96),u=!1):(c=Nr(r).toLowerCase(),u=!0),u&&!a&&(a=Nr(r)),{name:c,...fo(n),eventType:lo(i),sequence:e,raw:e,isKittyProtocol:!0,isPrintable:u,text:a}}o(au,"parseKittyKeypress");function cu(e){let t=iu.exec(e);if(!t)return null;let r=Number.parseInt(t[1],10),n=Math.max(0,Number.parseInt(t[2],10)-1),i=Number.parseInt(t[3],10),s=t[4],a=s==="~"?su[r]:ou[s];return a?{name:a,...fo(n),eventType:lo(i),sequence:e,raw:e,isKittyProtocol:!0,isPrintable:!1}:null}o(cu,"parseKittySpecialKey");var kr="\x1B[200~",uu="\x1B[201~";function lu(e){if(!e.startsWith(kr))return null;let t=e.indexOf(uu,kr.length);return t===-1?null:e.slice(kr.length,t)}o(lu,"extractBracketedPaste");function Or(e=""){let t=e,r;if(Zc.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 a=lu(t);if(a!==null)return{name:"paste",ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,isPaste:!0,isPrintable:!1,text:a}}let n=au(t);if(n)return n;let i=cu(t);if(i)return i;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===`
41
+ `)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=eu.exec(t))s.meta=!0,s.shift=/^[A-Z]$/.test(r[1]??"");else if(r=tu.exec(t)){let a=[...t];a[0]==="\x1B"&&a[1]==="\x1B"&&(s.option=!0);let c=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),u=Number(r[3]||r[5]||1)-1;s.ctrl=!!(u&4),s.meta=!!(u&10),s.shift=!!(u&1),s.code=c,s.name=so[c]??"",s.shift=ru(c)||s.shift,s.ctrl=nu(c)||s.ctrl}return s}o(Or,"parseKeypress");var pu=50;function Ar(e){return{columns:e?.columns??80,rows:e?.rows??24}}o(Ar,"resolveTerminalSize");var Ot=du(null),hu={isTTY:!1,columns:80,rows:24,write:o(()=>!0,"write"),on:o(()=>{},"on"),off:o(()=>{},"off")};var go={isTTY:!1,isRaw:!1,on:o(()=>{},"on"),off:o(()=>{},"off"),pause:o(()=>{},"pause"),resume:o(()=>{},"resume"),setRawMode:o(()=>{},"setRawMode")};function mu(e){for(let t of e)if(t.rawMode)return!0;return!1}o(mu,"hasRawModeSubscribers");function gu({stdin:e,setRawMode:t,isRawModeSupported:r}){let n=new Set,i,s=!1,a=!1,c=o(f=>{for(let g of n)g.listener(f)},"handleData"),u=o(()=>{if(a){try{t(!1)}catch{}a=!1}},"disableRawModeIfOwned"),l=o(()=>{let f=i;f?.off?.("data",c),u(),s&&(f?.unref?.(),s=!1),i=void 0},"detachInput"),d=o(()=>{if(i&&i!==e&&l(),!e||n.size===0){l();return}if(i!==e&&(e.hasRef?.()!==!0&&typeof e.ref=="function"&&(e.ref(),s=!0),e.on?.("data",c),e.resume?.(),i=e),!(r&&mu(n))){u();return}if(e.isRaw===!1&&!a)try{t(!0),a=!0}catch{a=!1}},"syncInputOwnership");return{subscribe(f,g={}){let h={listener:f,rawMode:g.rawMode!==!1};return n.add(h),d(),()=>{n.delete(h),d()}},dispose(){n.clear(),l()}}}o(gu,"createTerminalInputController");var wu=o(({children:e,runtime:t})=>{let[r,n]=fu(()=>t.terminalSize);_e(()=>{if(n(Ar(t.stdout)),typeof t.stdout?.on!="function"||typeof t.stdout?.off!="function")return;let c=o(()=>{n(Ar(t.stdout))},"handleResize");return t.stdout.on("resize",c),()=>{t.stdout.off?.("resize",c)}},[t.stdout]);let i=mo(c=>typeof t.stdout?.write!="function"?!1:(t.stdout.write(c),!0),[t.stdout]),s=po(()=>gu({stdin:t.stdin,setRawMode:t.setRawMode,isRawModeSupported:t.isRawModeSupported}),[t.stdin,t.isRawModeSupported,t.setRawMode]);_e(()=>()=>{s.dispose()},[s]);let a=po(()=>({stdout:t.stdout,stdin:t.stdin,setRawMode:t.setRawMode,isRawModeSupported:t.isRawModeSupported,exit:t.exit,terminalSize:r,isTTY:t.stdout?.isTTY===!0,writeRaw:i,subscribeInput:s.subscribe}),[s.subscribe,t.exit,t.isRawModeSupported,t.setRawMode,t.stdin,t.stdout,s.subscribe,r,i]);return ho(Ot.Provider,{value:a,children:e})},"TuiRuntimeProvider");function yu(e){let t=e?.stdout??hu,r=e?.stdin??go,n=o(s=>{typeof r?.setRawMode=="function"&&r.setRawMode(s)},"setRawMode"),i;return{stdout:t,stdin:r,setRawMode:n,isRawModeSupported:typeof r?.setRawMode=="function",exit:o(()=>{i?.()},"exit"),terminalSize:Ar(t),isTTY:t?.isTTY===!0,writeRaw:o(s=>typeof t?.write!="function"?!1:(t.write(s),!0),"writeRaw"),subscribeInput:o(()=>()=>{},"subscribeInput"),attachExit(s){i=s}}}o(yu,"createRuntimeValue");function wo(e,t){let r=yu(t),n=vr(ho(wu,{runtime:r,children:e}),t);return r.attachExit(n.unmount),n}o(wo,"render");var Pr=no,oe=io;function xu(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&&ao.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}}o(xu,"createCompatKeypress");function yo(e,t={}){let{isActive:r=!0}=t,n=kt(e),i=kt(null),s=kt(null);_e(()=>{n.current=e},[e]),_e(()=>{if(!r){i.current=null,s.current&&(clearTimeout(s.current),s.current=null);return}return i.current=It(),()=>{i.current?.reset(),i.current=null,s.current&&(clearTimeout(s.current),s.current=null)}},[r]);let a=mo(c=>{let{input:u,key:l}=xu(Or(c));n.current(u,l)},[]);Eu(c=>{if(!r)return;s.current&&(clearTimeout(s.current),s.current=null);let u=i.current,l=typeof c=="string"?c:c.toString("utf8"),d=u?.push(l)??[l];for(let f of d)a(f);l.length>0&&(s.current=setTimeout(()=>{let f=i.current?.flushPendingEscape();f&&a(f)},pu))},{isActive:r,rawMode:!0})}o(yo,"useInput");function Su(){let e=_r(Ot),t=e?.stdin??go,r=e?.setRawMode??(n=>{typeof t?.setRawMode=="function"&&t.setRawMode(n)});return{stdin:t,setRawMode:r,isRawModeSupported:e?.isRawModeSupported??typeof t?.setRawMode=="function"}}o(Su,"useStdin");function xo(){return{exit:_r(Ot)?.exit??(()=>{})}}o(xo,"useApp");function Eu(e,t={}){let{isActive:r=!0,rawMode:n=!0}=t,i=_r(Ot),{stdin:s,setRawMode:a,isRawModeSupported:c}=Su(),u=kt(e);_e(()=>{u.current=e},[e]),_e(()=>{if(!r||!s)return;if(i)return i.subscribeInput(g=>{u.current(g)},{rawMode:n});let l=s,d=l.isRaw;n&&c&&d===!1&&a(!0);let f=o(g=>{u.current(g)},"handleData");return l.on?.("data",f),()=>{if(l.off?.("data",f),n&&c&&d===!1)try{a(!1)}catch{}}},[i,s,r,n,c,a])}o(Eu,"useTerminalInput");var bu=40;function Tu(e,t){let r=t.trim().toLocaleLowerCase().split(/\s+/).filter(Boolean);return r.length===0?[...e]:e.filter(n=>{let i=[n.title,n.id,n.surface??"",n.createdAt??"",String(n.msgCount)].join(" ").toLocaleLowerCase();return r.every(s=>i.includes(s))})}o(Tu,"filterSessionPickerItems");function Mu(e,t,r){let n=Math.max(1,r),i=e.length===0?0:Math.max(0,Math.min(t,e.length-1)),s=Math.floor(i/n)*n;return{items:e.slice(s,s+n),selectedIndex:i,pageStart:s,pageIndex:Math.floor(s/n),pageCount:Math.max(1,Math.ceil(e.length/n))}}o(Mu,"buildSessionPickerPage");function Iu(e){if(!e)return"unknown time";let t=new Date(e);if(Number.isNaN(t.getTime()))return e;let r=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),i=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0");return`${r}-${n}-${i} ${s}:${a}`}o(Iu,"formatTimestamp");function vu({sessions:e,onSelect:t,onSelectionError:r,onCancel:n,pageSize:i=8}){let{exit:s}=xo(),[a,c]=Fr(""),[u,l]=Fr(0),[d,f]=Fr(!1),g=Ru(!1),h=Cu(()=>Tu(e,a),[e,a]),m=Mu(h,u,i),y=h[m.selectedIndex];return yo((w,x)=>{if(!g.current){if(x.escape||x.ctrl&&w==="c"){n(),s();return}if(x.return){let p=h[m.selectedIndex];p&&(g.current=!0,f(!0),(async()=>{await new Promise(S=>setTimeout(S,bu));try{await t(p)}catch(S){r(S)}finally{s()}})());return}if(x.upArrow)l(p=>Math.max(0,p-1));else if(x.downArrow)l(p=>Math.min(Math.max(0,h.length-1),p+1));else if(x.pageUp)l(p=>Math.max(0,p-i));else if(x.pageDown)l(p=>Math.min(Math.max(0,h.length-1),p+i));else if(x.home)l(0);else if(x.end)l(Math.max(0,h.length-1));else if(x.tab){let p=h[m.selectedIndex];p&&(c(p.title),l(0))}else x.backspace||x.delete?(c(p=>p.slice(0,-1)),l(0)):w&&!x.ctrl&&!x.meta&&!x.super&&(c(p=>p+w),l(0))}}),Pe(Pr,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[Je(oe,{bold:!0,color:"cyan",children:"Resume a session"}),Pe(oe,{children:["Search: ",Je(oe,{color:"yellow",children:a||"type to filter"})]}),Je(oe,{dimColor:!0,children:d?"Loading selected session...":"\u2191/\u2193 select \xB7 PgUp/PgDn page \xB7 Tab complete \xB7 Enter resume \xB7 Esc cancel"}),Pe(Pr,{flexDirection:"column",marginTop:1,children:[m.items.length===0?Je(oe,{color:"yellow",children:"No matching sessions."}):null,m.items.map((w,x)=>{let S=m.pageStart+x===m.selectedIndex,M=w.title.trim()||"Untitled session",R=w.surface?` \xB7 ${w.surface}`:"";return Pe(oe,{color:S?"cyan":void 0,bold:S,children:[S?"\u276F":" "," ",M," \xB7 ",w.msgCount," msgs",R," \xB7 ",Iu(w.createdAt)," \xB7 ",w.id.slice(0,8)]},w.id)})]}),Pe(oe,{dimColor:!0,children:[h.length," matches \xB7 Page ",m.pageIndex+1,"/",m.pageCount]}),Pe(oe,{dimColor:!0,children:["Selected ID: ",y?.id??"none"]})]})}o(vu,"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,i=!1,s,a=Math.max(4,Math.min(12,(process.stdout.rows??24)-8)),c=wo(Je(vu,{sessions:e,pageSize:a,onSelect:o(async u=>{r=u,await t.prepareSelection?.(u)},"onSelect"),onSelectionError:o(u=>{i=!0,s=u},"onSelectionError"),onCancel:o(()=>{n=!0},"onCancel")}),{stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,exitOnCtrlC:!1,patchConsole:!1});try{await c.waitUntilExit()}finally{c.unmount(),c.cleanup()}if(i)throw s;if(!r&&!n)throw new Error("Session picker exited unexpectedly before selection or cancellation.");return r}o(So,"runSessionPicker");var bo=65536,At=48;function ku(){let e=process.env.KODAX_HOME,t=e&&e.length>0?e:$.join(Nu.homedir(),".kodax");return $.join(t,"sessions")}o(ku,"defaultSessionsDir");function To(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith("archived-")&&!e.startsWith(".")}o(To,"isSessionFile");async function Wr(e){try{return(await xe.readdir(e,{withFileTypes:!0})).filter(t=>t.isFile()&&To(t.name)).map(t=>$.join(e,t.name))}catch(t){if(t.code==="ENOENT")return[];throw t}}o(Wr,"readProjectSessionFiles");async function Ou(e){try{return await Wr(e)}catch(t){return Dr(`read ${e}`,t),[]}}o(Ou,"readOptionalProjectSessionFiles");async function Au(e,t,r,n,i){let s=r?[]:await Wr(t),a=(await Promise.all(i.map(u=>Ou(u)))).flat(),c=(await xe.readdir(e,{withFileTypes:!0})).filter(u=>u.isFile()&&To(u.name)).map(u=>$.join(e,u.name));return[...s.map(u=>({filePath:u,trustedProjectDir:n})),...a.map(u=>({filePath:u,trustedProjectDir:!1})),...c.map(u=>({filePath:u,trustedProjectDir:!1}))]}o(Au,"collectActiveSessionFiles");async function _u(e,t){try{let r=JSON.parse(await xe.readFile($.join(e,"project.json"),"utf8"));if(r===null||typeof r!="object")return!1;let n=r.canonicalRoot;return typeof n=="string"&&ye(n)===ye(t)}catch{return!1}}o(_u,"isTrustedProjectDir");function Pu(e){return{...e,...e.createdAt!==void 0?{createdAtMs:Date.parse(e.createdAt)}:{}}}o(Pu,"indexedCandidate");function Lr(e,t){let r=t instanceof Error?t.message:String(t);process.emitWarning(`Resume index ${e} failed; using canonical sessions instead: ${r}`,{code:"KODAX_RESUME_INDEX"})}o(Lr,"reportResumeIndexFailure");function Dr(e,t){let r=t instanceof Error?t.message:String(t);process.emitWarning(`Resume compatibility ${e} failed; continuing with the current project: ${r}`,{code:"KODAX_RESUME_COMPATIBILITY"})}o(Dr,"reportResumeCompatibilityFailure");function ye(e){if(!e?.trim())return;let t=$.resolve(e).replace(/\\/g,"/");return process.platform==="win32"||process.platform==="darwin"?t.toLowerCase():t}o(ye,"normalizeComparableRoot");function Fu(e,t){if(t.length===0)return!0;let r=e.runtimeInfo!==null&&typeof e.runtimeInfo=="object"?e.runtimeInfo:void 0;return on({...typeof e.gitRoot=="string"?{gitRoot:e.gitRoot}:{},...r===void 0?{}:{runtimeInfo:{...typeof r.canonicalRepoRoot=="string"?{canonicalRepoRoot:r.canonicalRepoRoot}:{},...typeof r.workspaceRoot=="string"?{workspaceRoot:r.workspaceRoot}:{},...typeof r.executionCwd=="string"?{executionCwd:r.executionCwd}:{}}}},t)}o(Fu,"matchesProjectRoot");function Lu(e,t){return e.sourceSize===t.size&&e.sourceMtimeMs===t.mtimeMs&&e.sourceCtimeMs===t.ctimeMs&&e.sourceDev===t.dev&&e.sourceIno===t.ino}o(Lu,"sameSource");async function Du(e,t){let r=[],n=t,i=!1;for(;n>0;){let s=Math.max(0,n-bo),a=Buffer.allocUnsafe(n-s),{bytesRead:c}=await e.read(a,0,a.length,s);if(c===0)break;let u=c;if(!i){for(;u>0&&(a[u-1]===10||a[u-1]===13);)u-=1;if(u===0){n=s;continue}i=!0}let l=a.lastIndexOf(10,u-1);if(r.unshift(a.subarray(l+1,u)),l>=0)break;n=s}return Buffer.concat(r).toString("utf8").trim()}o(Du,"readLastNonEmptyLine");async function Wu(e){let t;try{t=await xe.open(e,"r");let r=await t.stat(),n=[],i=0,s=0,a=r.size;for(;;){let f=r.size-s;if(f<=0)break;let g=Buffer.allocUnsafe(Math.min(bo,f)),{bytesRead:h}=await t.read(g,0,g.length,s);if(h===0)break;let m=g.subarray(0,h),y=m.indexOf(10),w=y>=0?m.subarray(0,y):m;if(n.push(w),i+=w.length,y>=0){a=s+y;break}s+=h}if(i===0)return;let c=Buffer.concat(n,i).toString("utf8").trim(),u=r.size<=a+1?c:await Du(t,r.size),l={sourceSize:r.size,sourceMtimeMs:r.mtimeMs,sourceCtimeMs:r.ctimeMs,sourceDev:r.dev,sourceIno:r.ino},d=await t.stat();return Lu(l,d)?{line:c,tailLine:u,...l}:void 0}catch{return}finally{await t?.close()}}o(Wu,"readSessionEnvelope");function Eo(e,t){return t._type!=="meta_update"?e:{...e,...typeof t.title=="string"?{title:t.title}:{},...typeof t.activeMessageCount=="number"&&t.activeMessageCount>=0?{activeMessageCount:t.activeMessageCount}:{},...typeof t.scope=="string"?{scope:t.scope}:{}}}o(Eo,"applyMetaUpdate");function Co(e){try{let t=JSON.parse(e);return t!==null&&typeof t=="object"?{valid:!0,value:t}:{valid:!0}}catch{return{valid:!1}}}o(Co,"parseJsonRecord");async function Bu(e,t,r){let n=Co(r);if(n.valid)return n.value===void 0?t:Eo(t,n.value);let i=(await xe.readFile(e,"utf8")).split(`
42
+ `);for(let s=i.length-1;s>=0;s-=1){let a=i[s]?.trim();if(!a)continue;let c=Co(a);if(c.valid&&c.value?._type==="meta_update")return Eo(t,c.value)}return t}o(Bu,"applyEffectiveTailMetadata");async function ju(e,t){if(typeof t.activeMessageCount=="number"&&t.activeMessageCount>=0)return t.activeMessageCount;let r=(await xe.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(`
43
+ `).length-1-n)}o(ju,"readMessageCount");function Hu(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}:{}}}o(Hu,"runtimeSummary");async function Ro(e,t,r){let n=await Wu(e);if(!n?.line)return{};let i={name:$.basename(e),sourceSize:n.sourceSize,sourceMtimeMs:n.sourceMtimeMs,sourceCtimeMs:n.sourceCtimeMs,sourceDev:n.sourceDev,sourceIno:n.sourceIno};try{let s=JSON.parse(n.line);if(s===null||typeof s!="object")return{source:i};let a=await Bu(e,s,n.tailLine);if(a._type!=="meta")return{source:i,matchesProject:!1};let c=r||Fu(a,t);if(!c||a.scope==="managed-task-worker")return{source:i,matchesProject:c};let u=await ju(e,a);if(u<=0)return{source:i,matchesProject:c};let l=typeof a.createdAt=="string"?a.createdAt:void 0,d=Hu(a);return{source:i,matchesProject:c,candidate:{id:$.basename(e,".jsonl"),title:typeof a.title=="string"?a.title:"",msgCount:u,...l!==void 0?{createdAt:l}:{},...d?.surface!==void 0?{surface:d.surface}:{},...l!==void 0?{createdAtMs:Date.parse(l)}:{},sourceSize:n.sourceSize,sourceMtimeMs:n.sourceMtimeMs,sourceCtimeMs:n.sourceCtimeMs,sourceDev:n.sourceDev,sourceIno:n.sourceIno}}}catch{return{source:i}}}o(Ro,"readResumeCandidate");async function Mo(e){let t=e.sessionsDir??ku();await mn(t),await xe.mkdir(t,{recursive:!0});let r=await Pt({cwd:e.projectRoot}),n=r.canonicalRoot,i=$.join(t,Se(n).key),s=[];try{s=Qr(n)}catch(p){Dr("linked-worktree discovery",p)}let a=[r.workspaceRoot,...s].filter((p,S,M)=>{let R=ye(p);return R!==ye(n)&&M.findIndex(A=>ye(A)===R)===S}),c=a.map(p=>$.join(t,Se(p).key)),u=await _u(i,n),l=!1;if(!u)try{l=!await an(i)}catch{}let d;if(u)try{d=await bn(i)}catch(p){Lr("read",p)}let f=await Au(t,i,d!==void 0,u&&d!==void 0,c),g=d?.map(Pu)??[],h=[],m=[],y=!0,w=new Set(g.map(p=>p.id));for(let p=0;p<f.length;p+=At){let S=f.slice(p,p+At),M=await Promise.all(S.map(R=>Ro(R.filePath,[n,...a],R.trustedProjectDir)));for(let R=0;R<M.length;R+=1){let A=M[R],D=S[R],N=D!==void 0&&ye($.dirname(D.filePath))===ye(i);N&&(A?.source&&m.push(A.source),(A?.source===void 0||A.matchesProject!==!0)&&(y=!1));let O=A?.candidate;d===void 0&&N&&O?.sourceSize!==void 0&&O.sourceMtimeMs!==void 0&&O.sourceCtimeMs!==void 0&&O.sourceDev!==void 0&&O.sourceIno!==void 0&&h.push({...O,sourceSize:O.sourceSize,sourceMtimeMs:O.sourceMtimeMs,sourceCtimeMs:O.sourceCtimeMs,sourceDev:O.sourceDev,sourceIno:O.sourceIno}),O&&!w.has(O.id)&&(w.add(O.id),g.push(O))}}if(l&&y){let p=[];try{p=await Wr($.join(i,"archived"))}catch(S){y=!1,Dr("legacy archived-session certification",S)}for(let S=0;S<p.length;S+=At)if((await Promise.all(p.slice(S,S+At).map(R=>Ro(R,[n,...a],!1)))).some(R=>R.source===void 0||R.matchesProject!==!0)){y=!1;break}}let x=u;if(l&&y)try{await it(i,Se(n)),x=!0}catch(p){Lr("project identity publication",p)}if(d===void 0&&x)try{await Tn(i,h,m)}catch(p){Lr("rebuild",p)}return g.sort((p,S)=>Number.isFinite(p.createdAtMs)&&Number.isFinite(S.createdAtMs)&&p.createdAtMs!==S.createdAtMs?S.createdAtMs-p.createdAtMs:Number.isFinite(S.createdAtMs)&&!Number.isFinite(p.createdAtMs)?1:Number.isFinite(p.createdAtMs)&&!Number.isFinite(S.createdAtMs)?-1:S.id.localeCompare(p.id)),g.slice(0,e.limit??1e3).map(({createdAtMs:p,sourceSize:S,sourceMtimeMs:M,sourceCtimeMs:R,sourceDev:A,sourceIno:D,...N})=>N)}o(Mo,"listCliResumeSessions");async function Io(e,t={}){return So(e,t)}o(Io,"runCliResumePicker");async function Uu(e){let{default:t}=await import("chalk");if(e==="empty"){process.stdout.write(`${t.yellow("No resumable sessions found. Starting a new session...")}
44
44
  `);return}process.stdout.write(`${t.dim("Session resume cancelled.")}
45
- `)}o(Wu,"printResumeNotice");async function cm(e={}){let t=e.listSessions??To,n=e.pickSession??Mo,r=e.notify??Wu,i=await t({projectRoot:e.cwd??process.cwd(),limit:1e3});if(i.length===0)return await r("empty"),{kind:"continue",argv:[]};let s=await n(i,{prepareSelection:e.beforeSelect});return s?{kind:"continue",argv:["-r",s.id]}:(await r("cancelled"),{kind:"exit"})}o(cm,"resolveBareResume");export{cm as resolveBareResume};
45
+ `)}o(Uu,"printResumeNotice");async function gm(e={}){let t=e.listSessions??Mo,r=e.pickSession??Io,n=e.notify??Uu,i=await t({projectRoot:e.cwd??process.cwd(),limit:1e3});if(i.length===0)return await n("empty"),{kind:"continue",argv:[]};let s=await r(i,{prepareSelection:e.beforeSelect});return s?{kind:"continue",argv:["-r",s.id]}:(await n("cancelled"),{kind:"exit"})}o(gm,"resolveBareResume");export{gm as resolveBareResume};