@linzumi/cli 1.0.222 → 1.0.223
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.
- package/README.md +1 -1
- package/dist/impl-res/index.js +1 -1
- package/dist/impl-ts/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
package/dist/impl-res/index.js
CHANGED
|
@@ -500,7 +500,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
500
500
|
`),process.exit(1))}function sA(e,t,r,n,i,o,a){let s=new Date().toISOString(),l=s+"-pid-"+process.pid.toString()+"-runner-"+t,d=c=>mD(c,e.contentMode,0,void 0),u=Object.fromEntries([["pid",process.pid],["argv",OAe(process.argv).map(d)],["runnerId",d(t)],["cwd",d(r)],["kandanUrl",d(n)],["workspaceSlug",rt(i,null,d)],["threadProcess",rt(o,null,d)],["fast",a],["startedAt",d(s)]]);return PAe(e,l,u)}import*as IH from"node:fs";import*as DH from"node:url";import*as ts from"node:path";import*as MH from"node:module";var GAe=[["linux","x64",{triple:"x86_64-unknown-linux-musl",packageName:"@openai/codex-linux-x64"}],["linux","arm64",{triple:"aarch64-unknown-linux-musl",packageName:"@openai/codex-linux-arm64"}],["android","x64",{triple:"x86_64-unknown-linux-musl",packageName:"@openai/codex-linux-x64"}],["android","arm64",{triple:"aarch64-unknown-linux-musl",packageName:"@openai/codex-linux-arm64"}],["darwin","x64",{triple:"x86_64-apple-darwin",packageName:"@openai/codex-darwin-x64"}],["darwin","arm64",{triple:"aarch64-apple-darwin",packageName:"@openai/codex-darwin-arm64"}],["win32","x64",{triple:"x86_64-pc-windows-msvc",packageName:"@openai/codex-win32-x64"}],["win32","arm64",{triple:"aarch64-pc-windows-msvc",packageName:"@openai/codex-win32-arm64"}]];function _D(e,t){return z(GAe.find(r=>r[0]===e?r[1]===t:!1),r=>r[2])}function RAe(e){try{return MH.createRequire(import.meta.url).resolve(e)}catch{return}}function IAe(e){let t=qo(e);return t.TAG==="Ok"?t._0:[]}function lA(){return{platform:process.platform,arch:process.arch,fileExists:e=>IH.existsSync(e),listDirectory:IAe,resolveModulePath:RAe,moduleDir:ts.dirname(DH.fileURLToPath(import.meta.url))}}function gD(e,t,r){let n=t;for(;;){let i=n,o=ts.join(...[i,"node_modules"].concat(e.split("/")));if(r(ts.join(o,"package.json")))return o;let a=ts.dirname(i);if(a===i)return;n=a}}function hD(e,t){let r=t.resolveModulePath(e+"/package.json");return r!==void 0?ts.dirname(r):gD(e,t.moduleDir,t.fileExists)}function DAe(e,t,r){let i=r.platform==="win32"?"codex.exe":"codex",o=ts.join(e,t),s=[ts.join(o,"codex",i),ts.join(o,"bin",i),ts.join(o,i)].find(l=>r.fileExists(l));return s!==void 0?s:r.listDirectory(o).map(l=>ts.join(o,l,i)).find(l=>r.fileExists(l))}function MAe(e){let t=_D(e.platform,e.arch);if(t===void 0)return;let r=[],n=hD(t.packageName,e);n!==void 0&&r.push(ts.join(n,"vendor"));let i=hD("@openai/codex",e);return i!==void 0&&r.push(ts.join(i,"vendor")),nt(r,void 0,(o,a)=>o!==void 0?o:DAe(a,t.triple,e))}function $Ae(e){let t=hD("@openai/codex",e);if(t===void 0)return;let r=$t(ts.join(t,"package.json"));if(r.TAG!=="Ok")return;let n;try{n=JSON.parse(r._0)}catch{n=void 0}if(n===void 0||typeof n!="object"||n===null||Array.isArray(n))return;let i=n.version;if(i!==void 0&&typeof i=="string"&&i.trim()!=="")return i.trim()}var jAe=new RegExp("(\\d+\\.\\d+\\.\\d+)");function dA(e){let t=js(e,["--version"],1e4,1048576);if(t.TAG!=="Ok")return;let r=jAe.exec(t._0);if(r!=null)return E(r.slice(1)[0],n=>n)}function FAe(e,t){return e!==void 0&&t!==void 0?e===t?{TAG:"Match",version:e}:{TAG:"Mismatch",pathVersion:e,pinnedVersion:t}:{TAG:"Unverified",pathVersion:e,pinnedVersion:t}}function NAe(e){switch(e.TAG){case"Match":return"match";case"Mismatch":return"mismatch";case"Unverified":return"unverified"}}var bD="LINZUMI_ALLOW_HARNESS_MISMATCH",GH={contents:!1};var qAe="Warning: the Codex engine bundled with @linzumi/cli could not be located in its install (@openai/codex platform binary missing). Falling back to `codex` from PATH - the engine version may not match this CLI release. Pass --codex-bin <path> to pin an engine explicitly.\n";function zAe(e){if(!GH.contents)return GH.contents=!0,e(qAe)}function RH(e,t){return"the codex engine bundled with @linzumi/cli is missing from this install and the `codex` on PATH is version "+e+", but this CLI release pins engine "+t+". "+("Running a mismatched engine breaks the wire protocol (codex "+t+" vocabulary), so refusing to start. ")+("Fix: reinstall the CLI (a fresh `npx -y @linzumi/cli@latest` restores the bundled engine), pass --codex-bin <path> to pin an engine deliberately, or set "+bD+"=1 to accept the skew.")}function LAe(e,t){return"Warning: proceeding with the PATH codex "+e+" despite the CLI pinning engine "+t+" ("+bD+`=1). Engine/CLI version skew can break the wire protocol.
|
|
501
501
|
`}function UAe(e,t){}function uA(e,t,r,n,i,o){let a=o!==void 0?o:UAe;if(e!==void 0)return{TAG:"Ok",_0:{codexBin:e,source:"ExplicitFlag"}};let s=MAe(t);if(s!==void 0){let f={};return f.codex_bin_path=s,f.codex_bin_source="bundled",a("codex.binary.resolved",f),{TAG:"Ok",_0:{codexBin:s,source:"Bundled"}}}zAe(r);let l=$Ae(t),d=l!==void 0?n("codex"):void 0,u=FAe(d,l),c={};switch(c.codex_bin_path="codex",c.codex_bin_source="path-fallback",c.harness_version_check=NAe(u),u.TAG){case"Match":c.harness_version=u.version;break;case"Mismatch":c.path_harness_version=u.pathVersion,c.pinned_harness_version=u.pinnedVersion;break;case"Unverified":c.path_harness_version=rt(u.pathVersion,null,f=>f),c.pinned_harness_version=rt(u.pinnedVersion,null,f=>f);break}switch(a("codex.binary.resolved",c),u.TAG){case"Mismatch":let f=u.pinnedVersion,h=u.pathVersion,m=i[bD];return m===void 0?{TAG:"Error",_0:RH(h,f)}:m!=="1"?{TAG:"Error",_0:RH(h,f)}:(r(LAe(h,f)),{TAG:"Ok",_0:{codexBin:"codex",source:"PathFallback"}});case"Match":case"Unverified":return{TAG:"Ok",_0:{codexBin:"codex",source:"PathFallback"}}}}var BAe="invalid --agent-replay-provider. Use auto, codex, or claude-code",xD="invalid --agent-replay-speed. Use immediate, realtime, <number>x, or <number>ms";function WAe(e){if(e===void 0)return{TAG:"Ok",_0:"Auto"};switch(e){case"":case"auto":return{TAG:"Ok",_0:"Auto"};case"claude-code":return{TAG:"Ok",_0:{TAG:"Selected",_0:"ClaudeCode"}};case"codex":return{TAG:"Ok",_0:{TAG:"Selected",_0:"Codex"}};default:return{TAG:"Error",_0:BAe}}}var HAe=new RegExp("^([0-9]+(?:\\.[0-9]+)?)x$"),VAe=new RegExp("^([0-9]+)ms$");function $H(e,t){return E(e[t],r=>r)}function KAe(e){if(e===void 0)return{TAG:"Ok",_0:"Immediate"};switch(e){case"":case"immediate":return{TAG:"Ok",_0:"Immediate"};case"realtime":return{TAG:"Ok",_0:"Realtime"};default:let t=HAe.exec(e);if(t==null){let n=VAe.exec(e);if(n==null)return{TAG:"Error",_0:xD};let i=E($H(n,1),ei);return i!==void 0&&Number.isSafeInteger(i)&&i>=0?{TAG:"Ok",_0:{TAG:"FixedDelayMs",_0:i}}:{TAG:"Error",_0:xD}}let r=E($H(t,1),ei);return r!==void 0&&isFinite(r)&&r>0?{TAG:"Ok",_0:{TAG:"SpeedMultiplier",_0:r}}:{TAG:"Error",_0:xD}}}function jH(e,t,r){if(e===void 0)return{TAG:"Ok",_0:void 0};let n=WAe(t),i=KAe(r);return n.TAG==="Ok"?i.TAG==="Ok"?{TAG:"Ok",_0:{fixturePath:e,provider:n._0,clockMode:i._0}}:{TAG:"Error",_0:i._0}:{TAG:"Error",_0:n._0}}function cA(e,t){let r=e[t];if(typeof r=="string")return r}function SD(e,t){let r=e[t];if(r!==void 0&&typeof r=="number"&&isFinite(r)&&Math.trunc(r)===r&&r>=0)return r|0}var JAe=["incoming","outgoing","notification","request","response","sdk-message","commander-push","session-marker"],ZAe=new RegExp("(^|[_-])(token|secret|api[_-]?key|authorization|cookie|private[_-]?key|login[_-]?url)([_-]|$)","iu");function vD(e){if(e===null)return!0;if(Array.isArray(e))return e.every(vD);switch(typeof e){case"string":switch(e){case"$REDACTED":case"<REDACTED>":case"[REDACTED]":return!0;default:return!1}case"boolean":case"number":return!1;case"object":return Object.entries(e).every(t=>vD(t[1]))}}function wD(e,t){if(Array.isArray(e))return zo(e.map((r,n)=>[r,t+"["+n.toString()+"]"]),r=>wD(r[0],r[1]));if(e!==null&&typeof e==="object")return zo(Object.entries(e),r=>{let n=r[1],i=r[0],o=t+"."+i;return ZAe.test(i)&&!vD(n)?o:wD(n,o)})}function QAe(e,t,r){if(typeof r=="object"&&r!==null&&!Array.isArray(r)){let n=SD(r,"schemaVersion"),i=cA(r,"provider"),o=cA(r,"captureKind"),a=SD(r,"ordinal"),s=SD(r,"offsetMs"),l=0;if(n===1&&i!==void 0&&o!==void 0&&a!==void 0&&s!==void 0){let d=r.captureMetadata,u=typeof d=="object"&&d!==null&&!Array.isArray(d)?d:void 0,c=E(u,h=>cA(h,"direction")),f=E(u,h=>cA(h,"requestMethod"));if(!JAe.includes(o))return{TAG:"Error",_0:e+":"+t.toString()+" captureKind is not supported"};switch(i){case"claude-code-sdk":return{TAG:"Ok",_0:{provider:"ClaudeCode",captureKind:o,ordinal:a,offsetMs:s,captureDirection:c,requestMethod:f,rawValue:r.rawValue}};case"codex-app-server":return{TAG:"Ok",_0:{provider:"Codex",captureKind:o,ordinal:a,offsetMs:s,captureDirection:c,requestMethod:f,rawValue:r.rawValue}};default:return{TAG:"Error",_0:e+":"+t.toString()+" provider is not supported"}}}else l=2;if(l===2)return{TAG:"Error",_0:e+":"+t.toString()+" replay record is invalid"}}return{TAG:"Error",_0:e+":"+t.toString()+" record must be a JSON object"}}function YAe(e,t){let r=[],n={contents:void 0};Fe(t.split(new RegExp("\\r?\\n")),o=>o).forEach((o,a)=>{let s=n.contents,l=o.trim();if(s!==void 0||l==="")return;let d;try{d={TAG:"Ok",_0:JSON.parse(o)}}catch(h){let m=N(h);d={TAG:"Error",_0:ke(m).message}}if(d.TAG!=="Ok"){n.contents=e+":"+(a+1|0).toString()+" "+d._0;return}let u=d._0,c=wD(u,"$");if(c!==void 0){n.contents=e+":"+(a+1|0).toString()+" contains credential-like field "+c;return}let f=QAe(e,a+1|0,u);if(f.TAG!=="Ok"){n.contents=f._0;return}r.push(f._0)});let i=n.contents;return i!==void 0?{TAG:"Error",_0:i}:{TAG:"Ok",_0:{path:e,records:r}}}function FH(e){let t=$t(e);return t.TAG==="Ok"?YAe(e,t._0):{TAG:"Error",_0:e+": "+t._0.message}}function NH(e,t){if(typeof t=="object")return{TAG:"Ok",_0:t._0};let r=e.records.some(i=>i.provider==="Codex"),n=e.records.some(i=>i.provider==="ClaudeCode");return r?n?{TAG:"Error",_0:"replay fixture contains both Codex and Claude records; pass --agent-replay-provider"}:{TAG:"Ok",_0:"Codex"}:n?{TAG:"Ok",_0:"ClaudeCode"}:{TAG:"Error",_0:"replay fixture contains no provider records"}}function TD(e){return e<=0?Promise.resolve():new Promise((t,r)=>{setTimeout(()=>t(),e)})}function qH(e){let t={contents:0};return{waitUntil:async n=>{let i=n-t.contents|0,o=i>0?i:0;if(t.contents=n>t.contents?n:t.contents,typeof e!="object")return e==="Immediate"?void 0:await TD(o);if(e.TAG!=="SpeedMultiplier")return await TD(e._0);let a=e._0;return await TD(Math.round(o/(a>.001?a:.001)))}}}import*as cK from"node:path";import*as fK from"node:child_process";import*as sf from"node:path";function AD(e){return e?"true":"false"}import*as vs from"node:fs";import*as Tr from"node:path";import*as BH from"node:child_process";function WH(e,t){}function HH(e){return e.entryPath}var eke=new RegExp("[\\\\/]");function tke(e){let t=e.split(eke),r=n=>t.some(i=>i!==void 0?n(i):!1);return r(n=>n==="_npx")||r(n=>n.startsWith("dlx-"))?!0:e.includes(".bun"+Tr.sep+"install"+Tr.sep+"cache")}var CD="cannot fork thread runner without current CLI script path";function rke(e,t){return e!==void 0&&e.trim()!==""?{TAG:"Ok",_0:Tr.isAbsolute(e)?e:Tr.resolve(t,e)}:{TAG:"Error",_0:CD}}function nke(e){let t=$t(Tr.join(e,"package.json"));if(t.TAG!=="Ok")return;let r;try{r=JSON.parse(t._0)}catch{r=void 0}if(r===void 0||typeof r!="object"||r===null||Array.isArray(r))return;let n=a=>{let s=r[a];return typeof s=="string"?s.trim():""},i=n("name"),o=n("version");if(!(i===""||o===""))return{name:i,version:o}}function ike(e){let t=e;for(;;){let r=t,n=nke(r);if(n!==void 0)return{dir:r,name:n.name,version:n.version};let i=Tr.dirname(r);if(i===r)return;t=i}}function fA(e,t){return gD(e,t,r=>vs.existsSync(r))}function kD(e,t){let r=$t(Tr.join(e,"package.json"));if(r.TAG!=="Ok")return[];let n;try{n=JSON.parse(r._0)}catch{n=void 0}if(n===void 0)return[];if(typeof n!="object"||n===null||Array.isArray(n))return[];let i=n[t];return i!==void 0?typeof i=="object"&&i!==null&&!Array.isArray(i)?Object.keys(i):[]:[]}function VH(e){let t=Tr.join(e,"node_modules"),r=qo(t);if(r.TAG!=="Ok")return[];let n=[];return r._0.forEach(i=>{if(!i.startsWith(".")){if(i.startsWith("@")){let o=qo(Tr.join(t,i));if(o.TAG!=="Ok")return;o._0.forEach(a=>{if(!a.startsWith(".")){n.push(Tr.join(t,i,a));return}});return}n.push(Tr.join(t,i))}}),n.filter(i=>vs.existsSync(Tr.join(i,"package.json")))}function oke(e,t,r,n){let i=[],o=new Set,a=new Set,s=d=>{if(!o.has(d)){o.add(d),kD(d,"dependencies").forEach(u=>{i.push(u)}),VH(d).forEach(s);return}};return s(e),(()=>{for(;;){let d=i.shift();if(d===void 0)return{TAG:"Ok",_0:void 0};if(a.has(d))continue;a.add(d);let u=fA(d,t);if(u!==void 0){let c=Tr.join(...[r].concat(d.split("/"))),f=Ae(We(Nt(Tr.dirname(c)),h=>h.message),()=>We(JS(u,c),h=>h.message));if(f.TAG!=="Ok")return{TAG:"Error",_0:f._0};s(u);continue}n.push(d)}})()}function LH(e){switch(e){case"HarnessMirrored":return"mirrored";case"HarnessAlreadyPresent":return"already-present";case"HarnessSourceMissing":return"source-missing";case"HarnessUnsupportedPlatform":return"unsupported-platform"}}function OD(){return".building-"+process.pid.toString()+"-"+Date.now().toString()}function KH(e,t,r){let n=Tr.join(...[r].concat(e.split("/")));if(vs.existsSync(Tr.join(n,"package.json")))return{TAG:"Ok",_0:"HarnessAlreadyPresent"};let i=fA(e,t);if(i===void 0)return{TAG:"Ok",_0:"HarnessSourceMissing"};let o=n+OD(),a=Ae(Ae(We(Nt(Tr.dirname(n)),s=>s.message),()=>We(JS(i,o),s=>s.message)),()=>{let s=Jn(o,n);return s.TAG==="Ok"?{TAG:"Ok",_0:"HarnessMirrored"}:vs.existsSync(Tr.join(n,"package.json"))?(ds(o),{TAG:"Ok",_0:"HarnessAlreadyPresent"}):{TAG:"Error",_0:s._0.message}});return a.TAG==="Ok"?{TAG:"Ok",_0:a._0}:(ds(o),{TAG:"Error",_0:a._0})}function JH(e,t,r,n){let i=_D(v(r,process.platform),v(n,process.arch));return i!==void 0?KH(i.packageName,e,t):{TAG:"Ok",_0:"HarnessUnsupportedPlatform"}}function ake(e,t){let r=[],n=[],i=new Set,o=new Set,a=new Set,s=d=>{if(!i.has(d)){i.add(d),kD(d,"dependencies").forEach(u=>{n.push(u)}),kD(d,"optionalDependencies").forEach(u=>{if(a.has(u))return;if(a.add(u),fA(u,t)!==void 0){r.push(u);return}}),VH(d).forEach(s);return}};return s(e),(()=>{for(;;){let d=n.shift();if(d===void 0)return;if(!o.has(d)){o.add(d);let u=fA(d,t);u!==void 0&&s(u)}}})(),r.toSorted(vc)}function ZH(e,t,r){let n=[],i=[],o=ake(e,t),a=0;for(;;){let s=a,l=o[s];if(l===void 0)return{TAG:"Ok",_0:{present:n,mirrored:i}};let d=KH(l,t,r);if(d.TAG!=="Ok")return{TAG:"Error",_0:d._0};switch(d._0){case"HarnessMirrored":n.push(l),i.push(l),a=s+1|0;continue;case"HarnessAlreadyPresent":n.push(l),a=s+1|0;continue;case"HarnessSourceMissing":case"HarnessUnsupportedPlatform":a=s+1|0;continue}}}function W_(e,t,r){let n=r!==void 0?r:5,i=qo(e);if(i.TAG!=="Ok")return;let o=i._0.filter(d=>d!==t).map(d=>{let u=Z4(Tr.join(e,d)),c;return c=u.TAG==="Ok"?u._0:0,[d,c]}).toSorted((d,u)=>u[1]-d[1]),a=o.filter(d=>d[0].includes(".building-")),s=o.filter(d=>!d[0].includes(".building-"));a.concat(s.slice(Math.max(0,n-1|0),s.length)).forEach(d=>{ds(Tr.join(e,d[0]))})}function Py(e){let t=e;for(;;){let r=t,n=Tr.dirname(r);if(n===r)return e;if(Tr.basename(n)==="node_modules")return Tr.dirname(n);t=n}}function ske(e,t,r,n){let i=JH(Py(e),Tr.join(r,"node_modules"),void 0,void 0);if(i.TAG==="Ok")switch(i._0){case"HarnessMirrored":let o={};return o.version=t,o.healedIntoReusedMirror=!0,n("worker_entry_harness_mirrored",o);case"HarnessSourceMissing":let a={};return a.version=t,a.reusedMirror=!0,n("worker_entry_harness_missing",a);case"HarnessAlreadyPresent":case"HarnessUnsupportedPlatform":return}else{let o={};return o.version=t,o.reusedMirror=!0,o.message=i._0,n("worker_entry_harness_missing",o)}}function lke(e,t,r,n){let i=ZH(e,Py(e),Tr.join(r,"node_modules"));if(i.TAG==="Ok"){i._0.mirrored.forEach(a=>{let s={};s.version=t,s.package=a,s.healedIntoReusedMirror=!0,n("worker_entry_sibling_mirrored",s)});return}let o={};o.version=t,o.reusedMirror=!0,o.message=i._0,n("worker_entry_sibling_mirror_failed",o)}function dke(e,t,r,n){let i=We(mo(e),S=>S.message);if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0};let o=i._0,a=ike(Tr.dirname(o));if(a===void 0)return{TAG:"Error",_0:"could not locate a package.json above the entry script at "+o};let s=xz(t),l=QE(a.version),d=Tr.join(s,l),u=Tr.relative(a.dir,o),c=Tr.join(...[d,"node_modules"].concat(a.name.split("/"))),f=Tr.join(c,u),h=Tr.join(d,Hg),m=S=>{let T={};T.entryPath=f,T.version=a.version,S&&(T.lostBuildRace=!0),r("worker_entry_mirror_reused",T)};if(vs.existsSync(h)&&vs.existsSync(f))return AE(d),ske(a.dir,a.version,d,r),lke(a.dir,a.version,d,r),m(!1),W_(s,l,void 0),{TAG:"Ok",_0:{TAG:"MirroredEntry",entryPath:f,originalEntryPath:e}};let p=d+OD(),_=Date.now(),g=[],b=Tr.join(...[p,"node_modules"].concat(a.name.split("/"))),y=Ae(Ae(Ae(Ae(Ae(Ae(We(Nt(Tr.dirname(b)),S=>S.message),()=>We(JS(a.dir,b),S=>S.message)),()=>oke(a.dir,Py(a.dir),Tr.join(p,"node_modules"),g)),()=>JH(Py(a.dir),Tr.join(p,"node_modules"),void 0,void 0)),S=>{if(S==="HarnessSourceMissing"){let T={};T.version=a.version,T.reusedMirror=!1,r("worker_entry_harness_missing",T)}return Ze(ZH(a.dir,Py(a.dir),Tr.join(p,"node_modules")),T=>[S,T.present])}),S=>{let T=S[1],w=S[0];return Ze(We(Wn(Tr.join(p,Hg),Tz({name:a.name,version:a.version,mirroredFrom:a.dir,mirroredAt:new Date().toISOString(),codexHarnessMirror:LH(w)})),A=>A.message),()=>[w,T])}),S=>{n!==void 0&&n();let T=Jn(p,d);return T.TAG==="Ok"?{TAG:"Ok",_0:[S[0],S[1]]}:vs.existsSync(h)&&vs.existsSync(f)?(ds(p),m(!0),W_(s,l,void 0),{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:T._0.message}});if(y.TAG==="Ok"){let S=y._0;if(S===void 0)return{TAG:"Ok",_0:{TAG:"MirroredEntry",entryPath:f,originalEntryPath:e}};let T={};return T.entryPath=f,T.from=a.dir,T.version=a.version,T.durationMs=Date.now()-_,T.skippedDependencies=g.map(w=>w),T.codexHarnessMirror=LH(S[0]),T.platformSiblings=S[1].map(w=>w),r("worker_entry_mirrored",T),W_(s,l,void 0),{TAG:"Ok",_0:{TAG:"MirroredEntry",entryPath:f,originalEntryPath:e}}}return ds(p),{TAG:"Error",_0:y._0}}function QH(e,t,r,n,i){let o=n!==void 0?n:WH;if(e===void 0||e.trim()==="")return;let a=rke(e,t);if(a.TAG!=="Ok")return;let s=a._0;if(!tke(s))return{TAG:"OriginalEntry",entryPath:s};let l=dke(s,r,o,i);if(l.TAG==="Ok")return l._0;let d={};return d.originalEntryPath=s,d.message=l._0,o("worker_entry_mirror_failed",d),{TAG:"OriginalEntry",entryPath:s}}var UH=["node_modules","@linzumi","cli","bin","linzumi.js"];function YH(e){return t=>{let r=t.packageSpec,n=t.prefixDir;return new Promise((i,o)=>{let a=BH.spawn("npm",["install",r,"--prefix",n,"--no-audit","--no-fund","--loglevel","error"],{stdio:["ignore","ignore","pipe"]}),s={contents:""},l={contents:!1},d={contents:void 0},u=m=>{if(l.contents)return;l.contents=!0;let p=d.contents;p!==void 0&&clearTimeout(ce(p)),i(m)},c=setTimeout(()=>{ra(a,"SIGKILL"),u({TAG:"Error",_0:"npm install "+r+" timed out after "+e.toString()+"ms"})},e);c.unref(),d.contents=ve(c);let f=a.stderr;f?.on("data",m=>{s.contents=s.contents+m.toString("utf8")}),a.on("error",m=>u({TAG:"Error",_0:m.message}));let h=()=>{let m=s.contents;return m.slice(Math.max(0,m.length-2e3|0),m.length)};a.once("close",(m,p)=>m==null?u({TAG:"Error",_0:"npm install "+r+" exited null: "+h()}):u(m!==0?{TAG:"Error",_0:"npm install "+r+" exited "+m.toString()+": "+h()}:{TAG:"Ok",_0:void 0}))})}}async function XH(e,t,r,n){let i=r!==void 0?r:WH,o=Sz(t),a=QE(e),s=Tr.join(o,a),l=Tr.join(...[s].concat(UH)),d=Tr.join(s,Hg),u=T=>{let w={};w.entryPath=l,w.version=e,T&&(w.lostBuildRace=!0),i("version_install_reused",w)};if(vs.existsSync(d)&&vs.existsSync(l))return AE(s),u(!1),W_(o,a,3),{TAG:"Ok",_0:{entryPath:l,reused:!0}};let c=s+OD(),f=Date.now(),h={};h.version=e,h.stagingRoot=c,i("version_install_started",h);let m=T=>{ds(c);let w={};return w.version=e,w.message=T,i("version_install_failed",w),{TAG:"Error",_0:T}},p=Nt(c);if(p.TAG!=="Ok")return m(p._0.message);let _=await n({prefixDir:c,packageSpec:"@linzumi/cli@"+e});if(_.TAG!=="Ok")return m(_._0);let g=Tr.join(...[c].concat(UH));if(!vs.existsSync(g))return m("installed @linzumi/cli@"+e+" but its entry script is missing at "+g);let b=Wn(Tr.join(c,Hg),vz({name:"@linzumi/cli",version:e,installedAt:new Date().toISOString()}));if(b.TAG!=="Ok")return m(b._0.message);let y=Jn(c,s);if(y.TAG!=="Ok")return vs.existsSync(d)&&vs.existsSync(l)?(ds(c),u(!0),W_(o,a,3),{TAG:"Ok",_0:{entryPath:l,reused:!0}}):m(y._0.message);let S={};return S.entryPath=l,S.version=e,S.durationMs=Date.now()-f,i("version_installed",S),W_(o,a,3),{TAG:"Ok",_0:{entryPath:l,reused:!1}}}var uke={armDeadline:(e,t)=>{setTimeout(e,t).unref()}};function cke(e,t){process.on(e,t)}function fke(e,t){process.off(e,t)}var mke={registerSignal:cke,unregisterSignal:fke};async function pke(e){let t,r=0;for(;t===void 0&&r<e.length;){let i=e[r];if(i!==void 0){let o=await i();o.TAG==="Ok"?r=r+1|0:t=o._0}else r=r+1|0}let n=t;return n!==void 0?{TAG:"OrderedFailed",_0:n}:"OrderedDone"}async function tV(e,t,r,n){let i=n!==void 0?n:uke,o=new Promise((l,d)=>i.armDeadline(()=>l("DeadlineFired"),t)),a=pke(Fe([e.stopAccepting,e.interruptInFlightTurns,e.checkpointCurrentTurn,e.flushInboundQueues,e.flushOutbox],l=>l)),s=await Promise.race([a,o]);return typeof s=="object"?{TAG:"Error",_0:s._0}:s==="OrderedDone"?(r("runner.drain_complete",Object.fromEntries([])),{TAG:"Ok",_0:{drained:!0,timedOut:!1}}):(r("runner.drain_timed_out",Object.fromEntries([["deadlineMs",t]])),{TAG:"Ok",_0:{drained:!1,timedOut:!0}})}var hke="SIGUSR2",_ke=15*6e4,gke=120*6e4,bke=1440*6e4,ED=2*6e4;function mA(e,t){if(e===void 0)return t;let r=e.trim();if(r==="")return t;let n=Number(r);return isFinite(n)&&n>0?Math.max(Math.floor(n),1e3):t}function PD(e){return mA(e.LINZUMI_UPDATE_RESTART_DRAIN_MAX_WAIT_MS,_ke)}function rV(e,t,r){let n=r!==void 0?r:!1,i=t!==void 0?t:PD(e),o=n?mA(e.LINZUMI_UPDATE_RESTART_DRAIN_OVERLAP_HARD_CAP_MS,bke):mA(e.LINZUMI_UPDATE_RESTART_DRAIN_HARD_CAP_MS,gke);return Math.max(o,i)}function nV(e){return mA(e.LINZUMI_UPDATE_RESTART_DRAIN_ACTIVITY_IDLE_MS,ED)}var yke="this computer is updating its Linzumi runner",xVe=yke+" to a new version - nothing was started. Retry in a few minutes once the update finishes.";var SVe=15*6e4;var iV="this computer restarted its Linzumi runner for an update",TVe=iV+" after waiting for this job past the drain timeout - the job was interrupted. Send your message again to continue.",vVe=iV+" while this job was waiting on your approval - the approval prompt was interrupted. Send your message again and answer the approval prompt to continue.";function oV(e,t,r){return e==="SIGTERM"&&t?r!=="win32":!1}function xke(e,t){return setInterval(e,t)}function Ske(e){clearInterval(e)}var Tke={scheduleRepeating:xke,cancelRepeating:Ske};function vke(e,t,r,n,i,o){if(e>=r)return{TAG:"ForceExit",cause:"absolute_cap",idleMs:z(i,s=>Math.max(0,n-s))};if(e<t)return"KeepWaiting";if(i===void 0)return{TAG:"ForceExit",cause:"no_liveness_signal",idleMs:void 0};let a=n-i;return a>=v(o,ED)?{TAG:"ForceExit",cause:"silence",idleMs:a}:"KeepWaiting"}function wke(e){let t=v(e.scheduler,Tke),r=v(e.now,()=>Date.now()),n=v(e.pollMs,2e3),i=Math.max(v(e.hardCapMs,e.maxWaitMs),e.maxWaitMs),o=v(e.waitingLogIntervalMs,3e4),a={contents:!1},s={contents:!1},l={contents:void 0},d=()=>{let m=l.contents;if(m!==void 0){t.cancelRepeating(ce(m)),l.contents=void 0;return}},u=()=>{let m=e.hooks.inFlightTurns;return m!==void 0?m():[]},c=m=>m.harness+":"+m.threadId+":"+v(m.turnId,""),f=m=>m.map(p=>p.threadId);return{requestDrain:m=>{if(a.contents)return e.log("runner.update_restart_drain_request_ignored",Object.fromEntries([["trigger",m]]));a.contents=!0;let p=r(),_=e.hooks.isWaitEligible,g=_!==void 0?_():!0;e.log("runner.update_restart_drain_started",Object.fromEntries([["trigger",m],["maxWaitMs",e.maxWaitMs],["hardCapMs",i],["activityIdleMs",v(e.activityIdleMs,ED)],["waitEligible",g]])),e.hooks.beginDraining();let b=T=>{s.contents=!0,d();let w=r()-p;T||e.log("runner.drain_completed",Object.fromEntries([["duration_ms",w]])),e.hooks.exitViaDrain(T,w)};if(!g||e.hooks.isQuiescent())return b(!1);let y={contents:u()},S={contents:p};e.log("runner.drain_waiting",Object.fromEntries([["in_flight_turn_count",y.contents.length],["thread_ids",f(y.contents)],["waited_ms",0]])),l.contents=ve(t.scheduleRepeating(()=>{let T=r()-p,w=u(),A=new Set(w.map(c));if(y.contents.forEach(k=>{if(A.has(c(k)))return;e.log("runner.drain_turn_completed",Object.fromEntries([["thread_id",k.threadId],["turn_id",v(z(k.turnId,V=>V),null)],["engine",k.harness],["remaining",w.length],["waited_ms",T]]));let $=e.hooks.onTurnCompleted;if($!==void 0)return $(k)}),y.contents=w,e.hooks.isQuiescent())return e.log("runner.update_restart_drain_quiesced",Object.fromEntries([["waitedMs",T]])),b(!1);let P=e.hooks.lastActivityAtMs,C=vke(T,e.maxWaitMs,i,r(),P!==void 0?P():void 0,e.activityIdleMs);if(typeof C!="object")return r()-S.contents>=o?(S.contents=r(),e.log("runner.drain_waiting",Object.fromEntries([["in_flight_turn_count",w.length],["thread_ids",f(w)],["waited_ms",T],["past_soft_cap",T>=e.maxWaitMs]]))):void 0;{let k=C.cause,$=C.idleMs;s.contents=!0,d();let V=u();e.log("runner.drain_timeout_forced_kill",Object.fromEntries([["waited_ms",T],["max_wait_ms",e.maxWaitMs],["hard_cap_ms",i],["cause",k],["idle_ms",v(z($,q=>q),null)],["turn_ids",V.map(q=>v(z(q.turnId,te=>te),null))],["thread_ids",f(V)]])),e.log("runner.update_restart_drain_max_wait_forced",Object.fromEntries([["maxWaitMs",e.maxWaitMs],["waitedMs",T]]));let j=e.hooks.publishForcedKillTerminalStates;(j!==void 0?j(V):Promise.resolve({TAG:"Ok",_0:void 0})).then(q=>{q.TAG!=="Ok"&&e.log("runner.drain_forced_kill_state_publish_failed",Object.fromEntries([["message",q._0]])),e.hooks.exitViaDrain(!0,T)});return}},n))},cancelDrain:m=>!a.contents||s.contents?!1:(d(),a.contents=!1,e.log("runner.update_restart_drain_cancelled",Object.fromEntries([["reason",m]])),!0),stop:()=>d()}}function aV(e){let t=e.signals,r=t!==void 0?t:[v(e.signal,hke)],n=v(e.signalSeam,mke),i=wke(e.drain),o=r.map(a=>{let s=()=>i.requestDrain(a);return n.registerSignal(a,s),[a,s]});return{uninstall:()=>{o.forEach(a=>n.unregisterSignal(a[0],a[1])),i.stop()},requestDrain:a=>i.requestDrain(a),cancelDrain:a=>i.cancelDrain(a)}}var sV="runner.thread_worker_sigterm_deferred_to_drain";function H_(e){return e!==void 0?ce(e):null}function af(e){return e==="Default"?"default":"plan"}function V_(e){if(e===void 0)return{TAG:"Ok",_0:void 0};switch(e){case"default":return{TAG:"Ok",_0:"Default"};case"plan":return{TAG:"Ok",_0:"Plan"};default:return{TAG:"Error",_0:"unsupported Codex collaboration mode: "+e}}}function lV(e,t){return t!==void 0?t:e}function Cke(e,t){if(e.TAG!=="Ok")return{TAG:"Error",_0:e._0};let r=e._0;if(r.TAG!=="ResultReply")return{TAG:"Error",_0:t+" failed: "+r.message};let n=r._0;return typeof n=="object"&&n!==null&&!Array.isArray(n)?{TAG:"Ok",_0:n}:{TAG:"Error",_0:t+" response did not include an object result"}}function dV(e){try{let t=JSON.stringify(e);if(t===void 0)return{TAG:"Error",_0:"collaboration-mode payload was not JSON serializable"};try{return{TAG:"Ok",_0:JSON.parse(t)}}catch{return{TAG:"Error",_0:"collaboration-mode payload was not JSON serializable"}}}catch{return{TAG:"Error",_0:"collaboration-mode payload was not JSON serializable"}}}var Oke={};async function uV(e,t){let r=dV(Oke);return r.TAG==="Ok"?Cke(await e.request(t,r._0),t):{TAG:"Error",_0:r._0}}async function Eke(e,t){let r=await uV(e,"collaborationMode/list");if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=r._0.data;if(n===void 0)return{TAG:"Error",_0:"collaborationMode/list response did not include data"};if(!Array.isArray(n))return{TAG:"Error",_0:"collaborationMode/list response did not include data"};let i=af(t),o=zo(n,s=>{if(typeof s!="object"||s===null||Array.isArray(s))return;let l=s.mode;if(typeof l=="string"&&l===i)return s});if(o===void 0)return{TAG:"Error",_0:"Codex app-server does not advertise "+i+" mode"};let a=o.reasoning_effort;return a!==void 0?a===null?{TAG:"Ok",_0:void 0}:typeof a=="string"?{TAG:"Ok",_0:a}:{TAG:"Error",_0:"collaborationMode/list "+i+" mode included invalid reasoning_effort"}:{TAG:"Error",_0:"collaborationMode/list "+i+" mode included invalid reasoning_effort"}}async function Pke(e,t){if(t!==void 0){let l=t.trim();return l===""?{TAG:"Error",_0:"known Codex model must be a non-empty string"}:{TAG:"Ok",_0:l}}let r=await uV(e,"model/list");if(r.TAG!=="Ok")return{TAG:"Error",_0:r._0};let n=r._0.data;if(n===void 0)return{TAG:"Error",_0:"model/list response did not include data"};if(!Array.isArray(n))return{TAG:"Error",_0:"model/list response did not include data"};let i=Fe(n,l=>{if(typeof l!="object"||l===null||Array.isArray(l))return;if(l.isDefault===!0)return l});if(i.length!==1)return{TAG:"Error",_0:"model/list did not advertise exactly one valid default model"};let a=i[0].model;if(a===void 0)return{TAG:"Error",_0:"model/list did not advertise exactly one valid default model"};if(typeof a!="string")return{TAG:"Error",_0:"model/list did not advertise exactly one valid default model"};let s=a.trim();return s===""?{TAG:"Error",_0:"model/list did not advertise exactly one valid default model"}:{TAG:"Ok",_0:s}}async function cV(e,t,r,n){let i=await Eke(e,t);if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0};let o=await Pke(e,n);if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=H_(cn(i._0,r));return dV({mode:af(t),settings:{model:o._0,reasoning_effort:a,developer_instructions:null}})}function Gke(e,t){}var RD="linzumi.thread_runner";function fV(e,t){return e!==void 0&&e.trim()!==""?{TAG:"Ok",_0:sf.isAbsolute(e)?e:sf.resolve(t,e)}:{TAG:"Error",_0:CD}}function Rke(e){return["--require","-r","--import","--loader","--experimental-loader"].includes(e)}function Ike(e){return["--require=","-r=","--import=","--loader=","--experimental-loader="].some(t=>e.startsWith(t))}function Dke(e){let t=[],r=0;for(;r<e.length;){let n=e[r];if(n!==void 0){let i=Rke(n),o=Ike(n);if(i){let a=e[r+1|0];a!==void 0&&(t.push(n),t.push(a)),r=r+2|0}else o&&t.push(n),r=r+1|0}else r=r+1|0}return t}function ID(e,t,r){return Dke(r).concat([e].concat(t))}function Oa(e,t){return t!==void 0?t!==""?[e,t]:[]:[]}function mV(e){let t=e.codingJob;if(t===void 0||typeof t!="object"||t===null||Array.isArray(t))return;let r=t.mcpToken;if(r===void 0||typeof r!="string")return;let n=r.trim();if(n!=="")return n}function pV(e){let t=i=>{let o=i.join(",");if(o!=="")return o},r=e.codexModelProvider,n=e.runtimeDefaults;return[["--api-url",e.kandanUrl],["--cwd",e.cwd],["--codex-bin",e.codexBin],Oa("--workspace",e.workspaceSlug),Oa("--log-file",e.logFile),Oa("--debug-trace-dir",z(e.debugTrace,i=>i.dir)),Oa("--debug-trace-content",E(e.debugTrace,i=>i.contentMode)),e.fast?["--fast"]:[],Oa("--allowed-cwd",t(e.allowedCwds)),Oa("--forward-port",t(e.allowedForwardPorts.map(i=>i.toString()))),Oa("--code-server-bin",e.codeServerBin),Oa("--model",E(e.runtimeDefaults,i=>i.model)),Oa("--reasoning-effort",E(e.runtimeDefaults,i=>i.reasoningEffort)),Oa("--collaboration-mode",E(e.runtimeDefaults,i=>z(i.collaborationMode,af))),Oa("--sandbox",E(e.runtimeDefaults,i=>i.sandbox)),Oa("--approval-policy",E(e.runtimeDefaults,i=>i.approvalPolicy)),r!==void 0?["--model-provider",r.provider,"--llm-proxy-base-url",r.llmProxyBaseUrl]:[],e.vmExecution?["--vm-execution"]:[],Oa("--execution-mode",e.executionMode),Oa("--egress-mode",e.egressMode),Oa("--project-public-id",e.projectPublicId),Oa("--golden-image-id",e.goldenImagePublicId),["--multi-agent-jobs-eligible",AD(e.multiAgentJobsEligible)],["--multi-agent-jobs-enabled",AD(e.multiAgentJobs)],n!==void 0?n.allowPortForwardingByDefault?["--allow-port-forwarding-by-default"]:["--no-allow-port-forwarding-by-default"]:[]].flat()}function hV(e){let t=[],r=0;for(;r<e.length;){let n=e[r];n!==void 0?n==="--token"?(t.push("--token"),t.push("<redacted>"),r=r+2|0):(t.push(n),r=r+1|0):r=r+1|0}return t}function _V(e,t,r){let n=e.mcpAuthority,i;i=typeof n!="object"?n==="WorkerManagedRunner"?["managed-runner","",""]:["static-runner","",""]:n.TAG==="WorkerPersonalAgent"?["personal-agent",n._0,""]:["coding-job","",n._0];let o=[["LINZUMI_THREAD_RUNNER_ROLE","thread"],["LINZUMI_THREAD_RUNNER_KANDAN_THREAD_ID",e.kandanThreadId],["LINZUMI_THREAD_RUNNER_TOKEN",e.token],["LINZUMI_THREAD_RUNNER_MCP_AUTHORITY",i[0]],["LINZUMI_DEV_SERVICES_PARENT_PID",t.toString()]],a=e.codexModelProvider;return a!==void 0&&o.push(["LINZUMI_LLM_PROXY_TOKEN",a.llmProxyToken]),o.push(["LINZUMI_THREAD_RUNNER_AGENT_MCP_TOKEN",i[1]]),o.push(["LINZUMI_THREAD_RUNNER_CODING_JOB_MCP_TOKEN",i[2]]),r!==void 0&&o.push(["OPENAI_API_KEY",r]),o}function up(e){let t=e.length;return t>12e3?e.slice(t-12e3|0,t):e}function hA(e){let t=rt(e.code,"null",o=>o.toString()),r=v(e.signal,"null"),n="thread Codex worker exited before ready: code="+t+" signal="+r,i=e.capturedOutput.trim();return i===""?n:n+`
|
|
502
502
|
worker output: `+i}function gV(e,t){return"thread Codex worker did not report ready within "+t.toString()+"ms for Kandan thread "+e}var Mke="thread runner ready timeout must be a non-negative number";function bV(e){let t=v(e,3e4);return isFinite(t)&&t>=0?{TAG:"Ok",_0:t}:{TAG:"Error",_0:Mke}}var _A="thread worker start preflight failed";function $ke(e){return sf.isAbsolute(e)||new RegExp("^[A-Za-z]:[\\\\/]").test(e)?!0:e.startsWith("\\\\")}function DD(e){return e===""?!0:!$ke(e)&&e!==".."&&!e.startsWith("../")&&!e.startsWith("..\\")&&!e.includes("/../")?!e.includes("\\..\\"):!1}function gA(e,t,r){if(e===void 0)return{TAG:"CwdRefused",reason:"missing_cwd"};if(e.trim()==="")return{TAG:"CwdRefused",reason:"missing_cwd"};if(t.length===0)return{TAG:"CwdRefused",reason:"no_allowed_cwd"};let i=mo(sf.resolve(e));if(i.TAG!=="Ok")return{TAG:"CwdRefused",reason:"cwd_not_found"};let o=i._0,a=t.find(s=>DD(sf.relative(s,o)));return a!==void 0?r(o)?{TAG:"CwdRefused",reason:"cwd_dangerous"}:{TAG:"CwdAllowed",cwd:o,matchedRoot:a}:{TAG:"CwdRefused",reason:"cwd_not_allowed"}}function yV(e,t,r){if(r.TAG==="CwdAllowed")return;let n=r.reason,o=t.length!==0?t.join(", "):"none";return{reason:n,message:_A+" ("+n+"): working directory "+e+" cannot start a coding session on this runner (allowed roots: "+o+")"}}function jke(e){return e.split(`
|
|
503
|
-
`).map(t=>t.trim()).find(t=>t.startsWith(_A))}var AVe=new RegExp("worker exited before ready|worker did not report ready within","i");function Zn(e,t){let r=e.trim(),n=r.length,i=" ... ",o=i.length,a=n<=t,s=t<(o+2|0);if(a)return r;if(s)return r.slice(n-Math.max(1,t)|0,n);let l=Math.max(1,Math.floor((t-o|0)/3)|0),d=Math.max(1,(t-o|0)-l|0);return r.slice(0,l)+i+r.slice(n-d|0,n)}function Fke(e){return new Promise((t,r)=>{setTimeout(()=>t(),e)})}async function xV(e,t,r,n,i,o){let a=o!==void 0?o:Gke,s=Math.max(1,v(t,2)),l=v(r,250),d=v(n,Fke),u,c,f=1;for(;Bn(u)&&f<=s;){let m=f,p=await e(m);if(p.TAG==="Ready")u={TAG:"Ok",_0:p._0};else{let _=p._0;c=_;let g=jke(_.capturedOutput),b=m<s&&Bn(g),y={};y.purpose=RD,y.attempt=m,y.maxAttempts=s,y.code=rt(_.code,null,S=>S),y.signal=rt(_.signal,null,S=>S),y.capturedOutput=_.capturedOutput,y.willRespawn=b,g!==void 0&&(y.deterministicPreflightFailure=g),a("runner.thread_runner_exited_before_ready",y),g!==void 0?u={TAG:"Error",_0:g}:(b&&(i!==void 0&&i({attemptNumber:m+1|0,previous:_}),l>0&&await d(l)),f=m+1|0)}}let h=u;return h!==void 0?h:{TAG:"Error",_0:hA(v(c,{code:void 0,signal:void 0,capturedOutput:""}))}}function SV(e){return typeof e!="object"?e==="WorkerManagedRunner":!1}var TV=3e4;import*as Z_ from"node:fs";import*as $V from"node:os";import*as Vi from"node:path";var Gy="KANDAN_EDITOR_COLLABORATION_",vV=Gy+"DEPLOYMENT_SHAPE",wV=Gy+"ENTRY_MODE",AV=Gy+"ROOM_ID",kV=Gy+"SERVER_URL",CV=Gy+"AUTO_HOST_CLAIM_PATH",bA="Kandan",OV="kandan-local-editor-",EV="oct.kandanEditorSessionId",PV="oct.kandanCollaborationStateUrl",GV="kandan_auto_host_or_join",RV="kandan-oct-auto-host.lock",IV="_kandan-collaboration",DV="/local-codex-runners/",MV="/api/v2/local-codex-runner/editor-runtime/",lf="kandan",J_="kandan.document-state-telemetry";function xA(e){return e.message}function jV(){return{tmpdir:()=>$V.tmpdir(),mkdtemp:e=>We(Cc(e),xA),mkdirRecursive:e=>We(Nt(e),xA),writeFileUtf8:(e,t)=>We(Wn(e,t),xA),existsSync:e=>Z_.existsSync(e),copyFile:(e,t)=>{try{return{TAG:"Ok",_0:(Z_.copyFileSync(e,t),void 0)}}catch(r){let n=N(r);return{TAG:"Error",_0:ke(n).message}}},copyTree:(e,t)=>{try{return{TAG:"Ok",_0:(Z_.cpSync(e,t,{recursive:!0}),void 0)}}catch(r){let n=N(r);return{TAG:"Error",_0:ke(n).message}}},readFileUtf8:e=>We($t(e),xA)}}function MD(e,t,r,n){return["--bind-addr","127.0.0.1:"+e.toString(),"--auth","none","--disable-telemetry","--disable-update-check","--disable-workspace-trust","--disable-getting-started-override","--app-name",bA,"--user-data-dir",r].concat((n!==void 0?["--extensions-dir",n]:[]).concat([t]))}function Nke(e){let t={};return t["extensions.autoCheckUpdates"]=!1,t["extensions.autoUpdate"]=!1,t["extensions.ignoreRecommendations"]=!0,t["extensions.showRecommendationsOnlyOnDemand"]=!0,t["oct.alwaysAskToOverrideServerUrl"]=!1,t["oct.joinAcceptMode"]="auto",e!==void 0&&(t[EV]=e.control.editorSessionId,t[PV]=e.collaborationStateUrl,t["oct.serverUrl"]=e.bootstrapServerUrl),t["security.workspace.trust.enabled"]=!1,t["telemetry.telemetryLevel"]="off",t["workbench.secondarySideBar.defaultVisibility"]="hidden",t["workbench.startupEditor"]="none",t["workbench.welcomePage.walkthroughs.openOnInstall"]=!1,t}var qke=new RegExp(`exec\\s+(?:"([^"]+)"|'([^']+)'|([^\\s]+))\\s+"\\$@"`,"u");function zke(e,t){let r=t.readFileUtf8(e);if(r.TAG!=="Ok")return[];let n=qke.exec(r._0);if(n==null)return[];let i=n.slice(1),o=l=>E(i[l],d=>d),a=cn(cn(o(0),o(1)),o(2));return a===void 0?[]:a.trim()===""?[]:[a]}function $D(e){let t={},r=[];return e.forEach(n=>{let i=n.length>0,o=t[n];if(i&&o===void 0){t[n]=!0,r.push(n);return}}),r}function Lke(e){return[Vi.join(e,"extensions","git-base","dist","extension.js"),Vi.join(e,"extensions","merge-conflict","dist","mergeConflictMain.js")]}var Uke="code-server runtime did not include a VS Code root candidate";function Bke(e,t){let r=a=>Vi.join(Vi.dirname(Vi.dirname(a)),"lib","vscode"),n=$D([Vi.join(e.root,"lib","vscode"),r(e.codeServerBin)].concat(zke(e.codeServerBin,t).map(r))),i=n.find(a=>Lke(a).every(s=>t.existsSync(s))),o=n[0];return i!==void 0?{TAG:"Ok",_0:i}:o!==void 0?{TAG:"Ok",_0:o}:{TAG:"Error",_0:Uke}}function Wke(e){let t=(n,i)=>Vi.join(e,"extensions",n,"dist",i),r=(n,i)=>Vi.join(e,"extensions",n,"dist","browser",i);return[{source:t("git-base","extension.js"),target:r("git-base","extension.js"),required:!0},{source:t("git-base","extension.js.map"),target:r("git-base","extension.js.map"),required:!1},{source:t("merge-conflict","mergeConflictMain.js"),target:r("merge-conflict","mergeConflictMain.js"),required:!0},{source:t("merge-conflict","mergeConflictMain.js.map"),target:r("merge-conflict","mergeConflictMain.js.map"),required:!1}]}function Hke(e,t){return Ae(Bke(e,t),r=>nt(Wke(r),{TAG:"Ok",_0:void 0},(n,i)=>Ae(n,()=>{let o=t.existsSync(i.target),a=!i.required&&!t.existsSync(i.source);return o||a?{TAG:"Ok",_0:void 0}:Ae(t.mkdirRecursive(Vi.dirname(i.target)),()=>t.copyFile(i.source,i.target))})))}function FV(e,t,r){return Ae(r.mkdtemp(Vi.join(r.tmpdir(),OV)),n=>{let i=Vi.join(n,"extensions"),o=Vi.join(n,"collaboration-server"),a=Vi.join(n,"tmp"),s=Vi.join(n,"User");return Ze(Ae(Ae(Ae(Ae(Ae(r.mkdirRecursive(s),()=>r.mkdirRecursive(i)),()=>r.mkdirRecursive(o)),()=>r.mkdirRecursive(a)),()=>t!==void 0?Ae(Hke(t,r),()=>{let l=Vi.join(i,J_);return Ae(r.mkdirRecursive(Vi.dirname(l)),()=>r.copyTree(t.assets.documentStateExtensionDir,l))}):{TAG:"Ok",_0:void 0}),()=>r.writeFileUtf8(Vi.join(s,"settings.json"),JSON.stringify(Nke(e),void 0,2))),()=>({userDataDir:n,extensionsDir:i,collaborationServerDir:o}))})}function NV(e,t,r,n){let i={};return Object.entries(e).forEach(o=>{let a=o[0];a!=="PORT"&&(i[a]=o[1])}),i.PWD=t,n!==void 0&&(i[vV]="local_runner_sidecar",i[wV]=GV,i[AV]=n.control.roomId,i[kV]=n.bootstrapServerUrl,i[CV]=Vi.join(r,RV)),i}function qV(e,t){let r=z(e.LINZUMI_NODE_BIN,n=>n.trim());return r!==void 0&&r!==""?r:Vi.basename(t).toLowerCase().includes("bun")?"node":t}import*as Y_ from"node:fs";import*as HV from"node:os";import*as ki from"node:path";import*as VV from"node:crypto";import*as KV from"node:child_process";function Vke(e){switch(e){case"UnsupportedPlatform":return"unsupported_platform";case"AuthExpired":return"auth_expired";case"AuthUnauthorized":return"auth_unauthorized";case"ManifestUnavailable":return"manifest_unavailable";case"DownloadFailed":return"download_failed";case"ChecksumMismatch":return"checksum_mismatch";case"ArchiveExtractFailed":return"archive_extract_failed";case"InvalidArchive":return"invalid_archive";case"InstallFailed":return"install_failed"}}var LV="server_managed",Kke="custom";function JV(e){let t={};switch(e.TAG){case"RuntimeReady":t.status="ready",t.mode=LV,t.version=e.version,t.platform=e.platform,t.archiveSha256=e.archiveSha256,t.codeServerVersion=e.codeServerVersion,t.updated=e.updated;break;case"RuntimeCustom":t.status="custom",t.mode=Kke,t.codeServerBin=e.codeServerBin;break;case"RuntimeUnavailable":t.status="unavailable",t.mode=LV,t.reason=Vke(e.reason);break}return t}function Jke(e,t){switch(e+"-"+t){case"darwin-arm64":return"darwin-arm64";case"darwin-x64":return"darwin-x64";case"linux-x64":return"linux-x64";default:return}}function Wd(e){if(e===void 0||typeof e!="string")return;let t=e.trim();if(t!=="")return t}var Zke=new RegExp("^[a-f0-9]{64}$","i");function ZV(e){return E(Wd(e),t=>{if(Zke.test(t))return t.toLowerCase()})}var FD="bin/code-server",Qke="linzumi-editor-runtime.json";function Yke(e){if(Array.isArray(e))return nt(e,[],(t,r)=>E(t,n=>{if(typeof r!="object"||r===null||Array.isArray(r))return;let i=Wd(r.path),o=ZV(r.sha256),a=Wd(r.url),s=Wd(r.contentBase64);if(i!==void 0&&o!==void 0)return n.push({path:i,sha256:o,url:a,contentBase64:s}),n}))}function Xke(e){let t=Wd(e.version),r=Wd(e.platform),n=Wd(e.archiveUrl),i=ZV(e.archiveSha256),o=Wd(e.codeServerVersion),a=v(Wd(e.codeServerBinPath),FD),s=v(Wd(e.manifestPath),Qke),l=Yke(e.assets);return t!==void 0&&r!==void 0&&n!==void 0&&i!==void 0&&o!==void 0&&l!==void 0?{TAG:"Ok",_0:{version:t,platform:r,archiveUrl:n,archiveSha256:i,codeServerVersion:o,codeServerBinPath:a,manifestPath:s,assets:l}}:{TAG:"Error",_0:"ManifestUnavailable"}}function QV(e,t){return ki.resolve(e,t.platform,t.archiveSha256)}var UV="/"+FD;function SA(e){let t=e.replaceAll("\\","/");if(t===FD)return".";if(!t.endsWith(UV))return ki.dirname(t);let r=t.slice(0,t.length-UV.length|0);return r===""?".":r}function eCe(e){let t={};return e.forEach(r=>{t[r.path]=r.sha256}),t}function tCe(e,t){return e.protocol===t.protocol?e.host===t.host:!1}function rCe(e){return ki.join(e,".linzumi","editor-runtimes")}var nCe=".install-",iCe="runtime.tar.gz",oCe="runtime";function YV(e){return{collaborationExtensionTarball:ki.join(...[e].concat([lf,"editor_extensions","typefox.open-collaboration-tools.tar.gz"])),collaborationServerTarball:ki.join(...[e].concat([lf,"editor_servers","open-collaboration-server.tar.gz"])),documentStateExtensionDir:ki.join(...[e].concat([lf,"editor_extensions",J_]))}}function aCe(e){try{return{TAG:"Ok",_0:VV.createHash("sha256").update(Y_.readFileSync(e)).digest("hex")}}catch(t){let r=N(t);return{TAG:"Error",_0:ke(r).message}}}function sCe(e,t){try{return{TAG:"Ok",_0:(Y_.writeFileSync(e,t),void 0)}}catch(r){let n=N(r);return{TAG:"Error",_0:ke(n).message}}}function lCe(e){return MV+encodeURIComponent(e)+"/manifest"}async function dCe(e){let t=await e.bodyJson();if(t.TAG!=="Ok")return"AuthUnauthorized";let r=t._0;return typeof r!="object"||r===null||Array.isArray(r)?"AuthUnauthorized":r.error==="token_expired"?"AuthExpired":"AuthUnauthorized"}async function uCe(e,t,r,n){let i=mi(e);if(i.TAG!=="Ok")return{TAG:"Error",_0:"ManifestUnavailable"};let o=Hi(lCe(r),i._0);if(o.TAG!=="Ok")return{TAG:"Error",_0:"ManifestUnavailable"};let a=await n.fetchUrl(o._0.toString(),t);if(a.TAG!=="Ok")return{TAG:"Error",_0:"ManifestUnavailable"};let s=a._0,l=s.status;if(l!==200)return l!==401?{TAG:"Error",_0:"ManifestUnavailable"}:{TAG:"Error",_0:await dCe(s)};let d=await s.bodyJson();if(d.TAG!=="Ok")return{TAG:"Error",_0:"ManifestUnavailable"};let u=d._0;if(typeof u!="object"||u===null||Array.isArray(u))return{TAG:"Error",_0:"ManifestUnavailable"};let c=u.ok,f=u.runtime;return c===!0&&typeof f=="object"&&f!==null&&!Array.isArray(f)?Xke(f):{TAG:"Error",_0:"ManifestUnavailable"}}function cCe(e){let t=SA(e.codeServerBinPath),r=["lib","vscode","node_modules","vsda","rust","web"];return[e.codeServerBinPath,ki.join(...[t].concat(r.concat(["vsda.js"]))),ki.join(...[t].concat(r.concat(["vsda_bg.wasm"]))),[lf,"editor_extensions","typefox.open-collaboration-tools.tar.gz"].join("/"),[lf,"editor_servers","open-collaboration-server.tar.gz"].join("/"),[lf,"editor_extensions",J_].join("/")+"/package.json",[lf,"editor_extensions",J_].join("/")+"/out/extension.js"]}function XV(e,t,r){let n=eCe(t.assets),i=cCe(t).every(s=>{let l=n[s],d=s===t.codeServerBinPath;if(l===void 0)return d?r.existsSync(ki.join(e,s)):!1;let u=ki.join(e,s);if(!r.existsSync(u))return!1;let c=r.fileSha256(u);return c.TAG==="Ok"?c._0===l:!1}),o=YV(e),a=r.existsSync(o.collaborationExtensionTarball)&&r.existsSync(o.collaborationServerTarball);if(i&&a)return o}function fCe(e,t,r){let n=QV(e,t),i=ki.join(n,t.manifestPath),o=ki.join(n,t.codeServerBinPath),a=r.existsSync(i)&&r.existsSync(o),s=XV(n,t,r);if(!a||s===void 0)return;let l=r.readFileUtf8(i);if(l.TAG!=="Ok")return;let d;try{d=JSON.parse(l._0)}catch{d=void 0}if(d===void 0||typeof d!="object"||d===null||Array.isArray(d))return;let u=Z(d.version,t.version),c=Z(d.platform,t.platform),f=d.archiveSha256,h=f!==void 0?typeof f=="string"?f===t.archiveSha256:!1:!0;if(u&&c&&h)return{root:n,codeServerBin:o,assets:s}}async function mCe(e,t,r,n,i){let o=mi(e);if(o.TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};let a=o._0,s=Hi(r.archiveUrl,a),l=ho(a);if(s.TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};if(l===void 0)return{TAG:"Error",_0:"DownloadFailed"};let d=s._0,u=tCe(d,ce(l))?t:void 0,c=await i.fetchUrl(d.toString(),u);if(c.TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};let f=c._0;if(f.status!==200)return{TAG:"Error",_0:"DownloadFailed"};let m=await f.bodyBytes();if(m.TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};if(i.writeBytes(n,m._0).TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};let _=i.fileSha256(n);return _.TAG==="Ok"?_._0===r.archiveSha256?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"ChecksumMismatch"}:{TAG:"Error",_0:"DownloadFailed"}}async function pCe(e,t,r){let n=t.contentBase64,i=t.url;if(n!==void 0)try{return{TAG:"Ok",_0:ve(Buffer.from(n,"base64"))}}catch(o){let a=N(o);return{TAG:"Error",_0:ke(a).message}}else{if(i===void 0)return{TAG:"Ok",_0:void 0};let o=mi(e);if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=Hi(i,o._0);if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let s=await r.fetchUrl(a._0.toString(),void 0);if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let l=s._0;if(l.status!==200)return{TAG:"Ok",_0:void 0};let u=await l.bodyBytes();return u.TAG==="Ok"?{TAG:"Ok",_0:ve(u._0)}:{TAG:"Error",_0:u._0}}}async function hCe(e,t,r,n){let i=0,o=!1;for(;!o&&i<t.assets.length;){let a=t.assets[i];if(a!==void 0){let s=ki.join(r,a.path),l=await pCe(e,a,n);if(l.TAG==="Ok"){let d=l._0;if(d!==void 0){let u=ce(d);Ae(n.mkdirRecursive(ki.dirname(s)),()=>n.writeBytes(s,u)).TAG==="Ok"?i=i+1|0:o=!0}else i=i+1|0}else o=!0}else i=i+1|0}return!o}function _Ce(e){let t={};return t.version=e.version,t.platform=e.platform,t.archiveSha256=e.archiveSha256,t.codeServerVersion=e.codeServerVersion,t.codeServerBinPath=e.codeServerBinPath,t.manifestPath=e.manifestPath,t.assets=e.assets.map(r=>{let n={};n.path=r.path,n.sha256=r.sha256;let i=r.url;i!==void 0&&(n.url=i);let o=r.contentBase64;return o!==void 0&&(n.contentBase64=o),n}),JSON.stringify(t,void 0,2)}async function gCe(e,t,r,n,i,o){let a=ki.join(i,iCe),s=ki.join(i,oCe),l=await mCe(e,t,r,a,o);if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};if(o.mkdirRecursive(s).TAG!=="Ok")return{TAG:"Error",_0:"InstallFailed"};if(!await o.extractArchive(a,s))return{TAG:"Error",_0:"ArchiveExtractFailed"};if(!await hCe(e,r,s,o))return{TAG:"Error",_0:"InstallFailed"};let u=ki.join(s,r.manifestPath),c=ki.join(s,r.codeServerBinPath),f=o.existsSync(c),h=XV(s,r,o);if(!f)return{TAG:"Error",_0:"InvalidArchive"};if(h===void 0)return{TAG:"Error",_0:"InvalidArchive"};let m=QV(n,r);return Ae(Ae(Ae(Ae(o.mkdirRecursive(ki.dirname(u)),()=>o.writeFileUtf8(u,_Ce(r))),()=>o.rmRecursiveForce(m)),()=>o.mkdirRecursive(ki.dirname(m))),()=>o.rename(s,m)).TAG==="Ok"?{TAG:"Ok",_0:{root:m,codeServerBin:ki.join(m,r.codeServerBinPath),assets:YV(m)}}:{TAG:"Error",_0:"InstallFailed"}}async function bCe(e,t,r,n,i){if(i.mkdirRecursive(n).TAG!=="Ok")return{TAG:"Error",_0:"InstallFailed"};let a=i.mkdtemp(ki.join(n,nCe));if(a.TAG!=="Ok")return{TAG:"Error",_0:"InstallFailed"};let s=a._0,l=await gCe(e,t,r,n,s,i);return i.rmRecursiveForce(s),l}function BV(e){return{status:{TAG:"RuntimeUnavailable",reason:e},codeServerBin:void 0,runtime:void 0}}function WV(e,t,r){return{status:{TAG:"RuntimeReady",version:e.version,platform:e.platform,archiveSha256:e.archiveSha256,codeServerVersion:e.codeServerVersion,updated:r},codeServerBin:t.codeServerBin,runtime:t}}async function ND(e,t){let r=e.customCodeServerBin;if(r!==void 0)return{status:{TAG:"RuntimeCustom",codeServerBin:r},codeServerBin:r,runtime:void 0};let n=Jke(t.platform,t.arch);if(n===void 0)return{status:{TAG:"RuntimeUnavailable",reason:"UnsupportedPlatform"},codeServerBin:void 0,runtime:void 0};let i=await uCe(e.serviceUrl,e.token,n,t);if(i.TAG!=="Ok")return BV(i._0);let o=i._0,a=v(e.cacheRoot,rCe(t.homeDir())),s=fCe(a,o,t);if(s!==void 0)return WV(o,s,!1);let l=await bCe(e.serviceUrl,e.token,o,a,t);return l.TAG==="Ok"?WV(o,l._0,!0):BV(l._0)}var jD="editor_runtime.extract";function yCe(e,t,r){return new Promise((n,i)=>{let o="tar",a=["-xzf",e,"-C",t],s=a.map(f=>f);r("process.spawn",Object.fromEntries([["command",o],["args",s],["purpose",jD]]));let l=KV.spawn(o,a,{stdio:["ignore","ignore","ignore"]}),d=l.pid,u=d??null;r("process.spawned",Object.fromEntries([["command",o],["args",s],["pid",u],["purpose",jD]]));let c={contents:!1};l.on("error",f=>{if(!c.contents)return c.contents=!0,n(!1)}),l.once("exit",(f,h)=>{if(r("process.exit",Object.fromEntries([["command",o],["args",s],["pid",u],["code",f??null],["signal",h??null],["purpose",jD]])),!c.contents)return c.contents=!0,n(Z(f==null?void 0:ve(f),0))})})}function Q_(e){return e.message}function qD(e){return{fetchUrl:async(t,r)=>{let n=r!==void 0?{headers:Object.fromEntries([["authorization","Bearer "+r]])}:{},i=await ms(t,n);if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0.message};let o=i._0;return{TAG:"Ok",_0:{status:o.status,bodyJson:async()=>{let a=await Gd(o);return a.TAG==="Ok"?{TAG:"Ok",_0:a._0}:{TAG:"Error",_0:a._0.message}},bodyBytes:async()=>{try{return{TAG:"Ok",_0:Buffer.from(await o.arrayBuffer())}}catch(a){let s=N(a);return{TAG:"Error",_0:ke(s).message}}}}}},extractArchive:(t,r)=>yCe(t,r,e),platform:process.platform,arch:process.arch,homeDir:()=>HV.homedir(),existsSync:t=>Y_.existsSync(t),readFileUtf8:t=>We($t(t),Q_),writeFileUtf8:(t,r)=>We(Wn(t,r),Q_),writeBytes:sCe,mkdirRecursive:t=>We(Nt(t),Q_),mkdtemp:t=>We(Cc(t),Q_),rmRecursiveForce:t=>We(ds(t),Q_),rename:(t,r)=>We(Jn(t,r),Q_),fileSha256:aCe}}import*as eK from"node:fs";import*as Hd from"node:path";function tK(){return{existsSync:e=>eK.existsSync(e),realpath:e=>We(mo(e),t=>t.message)}}function xCe(e){return e.includes("/")?!0:e.includes("\\")}function SCe(e,t){let r=t.realpath(e);if(r.TAG==="Ok"){let i=Hd.dirname(r._0);return i==="/"?void 0:i}let n=Hd.dirname(e);switch(n){case".":case"/":return;default:return n}}function vA(e,t,r){return xCe(e)?z(SCe(e,r),n=>({command:e,directory:n})):nt(t.split(Hd.delimiter),void 0,(n,i)=>{let o=i.trim();if(n!==void 0)return n;if(o==="")return;let a=Hd.join(i,e);if(!r.existsSync(a))return;let s=r.realpath(a);if(s.TAG!=="Ok")return;let l=s._0;return{command:l,directory:Hd.dirname(l)}})}function rK(e,t,r){return z(vA(e,t,r),n=>SA(n.command))}function TCe(e,t){let r=t.realpath(e);return r.TAG==="Ok"?[e,r._0]:[e]}var vCe=["/usr","/bin","/sbin","/lib","/lib64","/etc","/nix","/opt"];function wCe(e,t){let r=vA(v(e.bubblewrapBin,"bwrap"),e.envPath,t),n=vA(e.codeServerBin,e.envPath,t);if(r===void 0||n===void 0)return"SandboxUnavailable";let i=e.codeServerRuntimeRoot,o=$D(vCe.concat((i!==void 0?TCe(i,t):[]).concat([n.directory]))),a=e.extensionsDir,s=["--die-with-parent","--proc","/proc","--dev-bind","/dev","/dev","--tmpfs","/tmp","--setenv","HOME",e.cwd,"--setenv","PWD",e.cwd,"--setenv","XDG_DATA_HOME",Hd.join(e.userDataDir,"data"),"--setenv","XDG_CONFIG_HOME",Hd.join(e.userDataDir,"config")].concat(o.flatMap(l=>["--ro-bind-try",l,l]).concat(["--bind",e.cwd,e.cwd,"--bind",e.userDataDir,e.userDataDir].concat(a!==void 0?["--bind",a,a]:[]).concat(["--chdir",e.cwd,"--",n.command].concat(MD(e.port,e.cwd,e.userDataDir,e.extensionsDir)))));return{TAG:"LaunchReady",command:r.command,args:s}}function nK(e,t){switch(e.platform){case"darwin":let n=vA(e.codeServerBin,e.envPath,t);return n!==void 0?{TAG:"LaunchReady",command:n.command,args:MD(e.port,e.cwd,e.userDataDir,e.extensionsDir)}:"SandboxUnavailable";case"linux":return wCe(e,t);default:return"SandboxUnavailable"}}var kCe=new RegExp("/+$");function iK(e){if(e===void 0)return;let t=e.trim();if(t!=="")return t.replace(kCe,"")}function CCe(e,t){return DV+encodeURIComponent(e)+"/forwards/"+t.toString()+"/preview-target"}function OCe(e){return"/api/v2/editor/sessions/"+e.toString()+"/collaboration-state"}function oK(e,t,r,n){if(e===void 0)return{TAG:"Ok",_0:void 0};if(r===void 0)return{TAG:"Ok",_0:void 0};let i=CCe(t,r),o=OCe(e.editorSessionId),a=e.bootstrapToken,s=a!==void 0&&a!==""?i+"/"+IV+"/"+encodeURIComponent(a):void 0,l=d=>Ze(Hi(d,n+"/"),u=>u.toString());return Ae(l(i),d=>s!==void 0?Ze(l(s),u=>({control:e,serverPort:r,serverUrl:d,bootstrapServerUrl:u,collaborationStateUrl:s+o})):{TAG:"Ok",_0:{control:e,serverPort:r,serverUrl:d,bootstrapServerUrl:d,collaborationStateUrl:o}})}function wA(e){return{provider:e.control.provider,editorSessionId:e.control.editorSessionId,runtimeSessionId:e.control.runtimeSessionId,roomId:e.control.roomId,serverPort:e.serverPort,serverUrl:e.serverUrl}}function aK(e,t){return e!==void 0?t!==void 0&&e.control.editorSessionId===t.editorSessionId&&e.control.runtimeSessionId===t.runtimeSessionId?e.control.roomId===t.roomId:!1:t===void 0}function sK(e){let t={};return t.provider=e.provider,t.editorSessionId=e.editorSessionId,t.runtimeSessionId=e.runtimeSessionId,t.roomId=e.roomId,t.serverPort=e.serverPort,t.serverUrl=e.serverUrl,t}var PCe="local_editor_disabled",GCe="missing_browser_base_url",df="code_server_spawn_failed",RCe="local_editor_filesystem_sandbox_unavailable";function mK(e,t){if(t!==void 0)return{TAG:"CustomRuntime",_0:{codeServerBin:e,editorRuntime:t}}}function ICe(e){return typeof e!="object"?"disabled":"running"}function pK(e,t,r){let n={};if(n.localEditor=It(e)&&t.length!==0,n.localEditorStatus=ICe(r),typeof r=="object"){let i=r.collaboration;n.localEditorPort=r.port,n.localEditorCwd=r.cwd,i!==void 0&&(n.localEditorCollaboration=sK(wA(i.prepared)))}return n}function DCe(e){return e.map(t=>t)}function lK(e,t){if(t!==void 0){e.pid=t;return}}function MCe(e){return e!==void 0?e:null}function $Ce(e){return e!==void 0?e:null}var jCe="local_editor.code_server",FCe="local_editor.collaboration_sidecar",NCe="local_editor.install_process";function hK(e){return new Promise((t,r)=>{let n={contents:!1},i=()=>{if(!n.contents)return n.contents=!0,t()};if(e.onExitOnce((o,a)=>i()),e.onCloseOnce(i),e.hasExited())return i()})}function _K(e,t){return new Promise((r,n)=>{let i={contents:!1},o=a=>{if(!i.contents)return i.contents=!0,r(a)};e.onSpawnOnce(()=>o("ProcessSpawned")),e.onErrorOnce(a=>o("ProcessSpawnFailed")),t.scheduleImmediate(()=>{let a=i.contents,s=e.pid();if(!(a||s===void 0))return o("ProcessSpawned")})})}function gK(e,t,r,n){let i=n.nowMs()+1e4;return new Promise((o,a)=>{let s={contents:!1},l={contents:void 0},d=f=>{if(s.contents)return;s.contents=!0;let h=l.contents;h!==void 0&&h(),o(f)},u=()=>{l.contents=n.scheduleTimeout(()=>{c()},50)},c=async()=>{if(n.nowMs()>i)return d("ProbeFailed");let f=await n.probeUrlStatus(e,t);return f.TAG==="Ok"&&f._0<500?d("ProbeReady"):u()};r.then(()=>(d("ProbeFailed"),Promise.resolve())),c()})}function zD(e,t,r,n,i,o){let a=()=>{let u={};return u.command=e.command,u.args=DCe(e.args),r.forEach(c=>{u[c[0]]=c[1]}),u},s=a();s.purpose=t,n.forEach(u=>{s[u[0]]=u[1]}),o.audit("process.spawn",s,i);let l=o.spawnProcess(e),d=a();return lK(d,l.pid()),d.purpose=t,n.forEach(u=>{d[u[0]]=u[1]}),o.audit("process.spawned",d,i),l.onExitOnce((u,c)=>{let f=a();lK(f,l.pid()),f.code=MCe(u),f.signal=$Ce(c),f.purpose=t,n.forEach(h=>{f[h[0]]=h[1]}),o.audit("process.exit",f,i)}),l}function qCe(e,t,r){return new Promise((n,i)=>{let o=zD({command:e,args:t,cwd:void 0,env:void 0,stdio:"StderrOnly"},NCe,[],[],void 0,r),a={contents:!1},s=l=>{if(!a.contents)return a.contents=!0,n(l)};o.onErrorOnce(l=>s({TAG:"Error",_0:l})),o.onExitOnce((l,d)=>s(l!==void 0?l!==0?{TAG:"Error",_0:e+" exited with "+l.toString()}:{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:e+" exited with unknown"}))})}async function dK(e,t,r){let n=r.profile.mkdirRecursive(t);return n.TAG==="Ok"?await qCe("tar",["-xzf",e,"-C",t],r):{TAG:"Error",_0:n._0}}async function zCe(e,t,r,n,i){if(e===void 0)return{TAG:"SidecarStarted",collaboration:void 0,ready:Promise.resolve("ProbeReady")};if(!(await Promise.all([dK(r.assets.collaborationExtensionTarball,t.extensionsDir,i),dK(r.assets.collaborationServerTarball,t.collaborationServerDir,i)])).every(rq))return"SidecarFailed";let a=qV(i.env,i.execPath),s=[cK.join(t.collaborationServerDir,"open-collaboration-server","bundle","app.js"),"--hostname","127.0.0.1","--port",e.serverPort.toString()],l={};Object.entries(i.env).forEach(m=>{l[m[0]]=m[1]}),l.OCT_ACTIVATE_SIMPLE_LOGIN="true",l.OCT_SERVER_OWNER=bA;let d=[["editorSessionId",e.control.editorSessionId],["runtimeSessionId",e.control.runtimeSessionId]],u=zD({command:a,args:s,cwd:void 0,env:l,stdio:"InheritOutput"},FCe,[],d,n,i),c=hK(u);if(await _K(u,i)!=="ProcessSpawned")return"SidecarFailed";let h=gK("http://127.0.0.1:"+e.serverPort.toString()+"/api/login/initial",!0,c,i);return{TAG:"SidecarStarted",collaboration:{prepared:e,process:u,exited:c},ready:h}}function uK(e){if(typeof e!="object")return;let t=e.collaboration;if(t!==void 0)return t.prepared}function Ry(e){if(typeof e!="object")return;let t=e.collaboration;if(e.process.kill("SIGINT"),t!==void 0)return t.process.kill("SIGINT")}async function bK(e,t,r){let n=t.editorRuntime;if(n===void 0)return{TAG:"StartRefused",state:t.currentState,reason:PCe};let i=v(Ei(r.env,"PATH"),""),o;if(n.TAG==="CustomRuntime"){let p=n._0,_=p.codeServerBin;o=[_,p.editorRuntime,rK(_,i,r.sandboxFs)]}else{let p=n._0;o=[p.codeServerBin,p,p.root]}let a=o[1],s=gA(e.cwd,t.allowedCwds,r.isDangerousCwd);if(s.TAG!=="CwdAllowed")return{TAG:"StartRefused",state:t.currentState,reason:s.reason};let l=s.cwd,d=t.currentState,u;if(u=typeof d!="object"||d.cwd!==l?!1:aK(uK(t.currentState),e.collaboration),u){let p=t.currentState;return typeof p!="object"?{TAG:"StartRefused",state:t.currentState,reason:df}:{TAG:"Started",state:t.currentState,event:{cwd:p.cwd,port:p.port,startedAt:r.nowIso(),collaboration:z(uK(t.currentState),wA)}}}let c=e.browserBaseUrl,f=iK(c!==void 0?c:t.browserBaseUrl),h=e.collaboration,m=0;if(h!==void 0){if(f===void 0)return{TAG:"StartRefused",state:t.currentState,reason:GCe};m=1}else m=1;if(m===1){let p=await r.choosePort(),_=e.collaboration,g;if(_!==void 0){let q=await r.choosePort();g=q.TAG==="Ok"?{TAG:"Ok",_0:q._0}:{TAG:"Error",_0:q._0}}else g={TAG:"Ok",_0:void 0};if(p.TAG!=="Ok")return{TAG:"StartRefused",state:t.currentState,reason:df};let b=p._0;if(g.TAG!=="Ok")return{TAG:"StartRefused",state:t.currentState,reason:df};let y=f!==void 0?oK(e.collaboration,v(t.runnerId,"local-runner"),g._0,f):{TAG:"Ok",_0:void 0};if(y.TAG!=="Ok")return{TAG:"StartRefused",state:t.currentState,reason:df};let S=y._0,T=FV(S,a,r.profile);if(T.TAG!=="Ok")return{TAG:"StartRefused",state:t.currentState,reason:df};let w=T._0,A=nK({codeServerBin:o[0],codeServerRuntimeRoot:o[2],port:b,cwd:l,userDataDir:w.userDataDir,extensionsDir:w.extensionsDir,platform:r.platform,bubblewrapBin:void 0,envPath:i},r.sandboxFs);if(typeof A!="object")return{TAG:"StartRefused",state:t.currentState,reason:RCe};let P,C=0;S!==void 0?a!==void 0?C=2:P=Promise.resolve("SidecarFailed"):a!==void 0?C=2:P=Promise.resolve({TAG:"SidecarStarted",collaboration:void 0,ready:Promise.resolve("ProbeReady")}),C===2&&(P=zCe(S,w,a,t.runnerId,r));let k=await P;if(typeof k!="object")return{TAG:"StartRefused",state:t.currentState,reason:df};let $=k.collaboration,V=zD({command:A.command,args:A.args,cwd:l,env:NV(r.env,l,w.userDataDir,z($,q=>q.prepared)),stdio:"InheritOutput"},jCe,[["cwd",l]],[],t.runnerId,r),j=hK(V);return await _K(V,r)==="ProcessSpawned"?(await Promise.all([gK("http://127.0.0.1:"+b.toString()+"/",!1,j,r),k.ready])).every(te=>te==="ProbeReady")?(Ry(t.currentState),{TAG:"Started",state:{TAG:"Running",cwd:l,port:b,process:V,collaboration:$,exited:j},event:{cwd:l,port:b,startedAt:r.nowIso(),collaboration:z($,te=>wA(te.prepared))}}):(V.kill("SIGINT"),$!==void 0&&$.process.kill("SIGINT"),{TAG:"StartRefused",state:t.currentState,reason:df}):($!==void 0&&$.process.kill("SIGINT"),{TAG:"StartRefused",state:t.currentState,reason:df})}}function AA(e){return e==="InheritOutput"?["ignore","inherit","inherit"]:["ignore","ignore","inherit"]}function LCe(e){let t=e.cwd,r=e.env,n=fK.spawn(e.command,e.args,t!==void 0?r!==void 0?{cwd:t,env:r,stdio:AA(e.stdio)}:{cwd:t,stdio:AA(e.stdio)}:r!==void 0?{env:r,stdio:AA(e.stdio)}:{stdio:AA(e.stdio)});return{pid:()=>z(st(n.pid),i=>i),kill:i=>{ra(n,i)},onExitOnce:i=>{n.once("exit",(o,a)=>i(z(o==null?void 0:ve(o),s=>s),a==null?void 0:ve(a)))},onCloseOnce:i=>{n.once("close",i)},onSpawnOnce:i=>{n.once("spawn",i)},onErrorOnce:i=>{n.once("error",o=>i(o.message))},hasExited:()=>It(st(n.exitCode))?!0:It(st(n.signalCode))}}async function UCe(e,t){let n=await ms(e,t?{method:"POST"}:{});return n.TAG==="Ok"?{TAG:"Ok",_0:n._0.status}:{TAG:"Error",_0:n._0.message}}function yK(e,t){return{spawnProcess:LCe,choosePort:_T,probeUrlStatus:UCe,nowIso:()=>new Date().toISOString(),nowMs:()=>Date.now(),scheduleTimeout:(r,n)=>{let i=setTimeout(r,n);return()=>{clearTimeout(i)}},scheduleImmediate:r=>{setImmediate(r)},env:process.env,execPath:process.execPath,platform:process.platform,audit:e,isDangerousCwd:t,profile:jV(),sandboxFs:tK()}}function Vd(){return v("1.0.222","0.0.0-unbundled")}function LD(){return"linzumi "+v("1.0.222","0.0.0-unbundled")}import*as Pa from"node:os";import*as Ga from"node:path";import*as zF from"node:crypto";function SK(e){return"local_runner:"+e}var BCe="kandan-local-codex-runner",WCe="rescript";function TK(e){let t={};t.clientName=BCe,t.clientId=e.clientId;let r=e.machineFingerprint;t.machineFingerprint=r!==void 0?r:null,Object.entries(E8(e.machineFingerprintV2)).forEach(a=>{t[a[0]]=a[1]}),t.runnerPid=e.runnerPid,t.version=e.version,t.hostname=e.hostname,t.cwd=e.cwd;let n=e.workspace;t.workspace=n!==void 0?n:null;let i=e.channel;t.channel=i!==void 0?i:null,t.capabilities=e.capabilities;let o=e.generationOverlapEpoch;if(o!==void 0){let a={};a.epoch=o,a.overlap=!0,t.generation=a}return t.commander_impl=WCe,t}function vK(e,t,r){let n={};return n.last_seq=r,t!==void 0&&(n.runner_id=e,n.thread_id=t),n}function Fr(e,t){return e.catch(r=>t(N(r)))}var UD=Va(e=>({baseUrl:e.m(Q(B)),token:e.m(Q(B))})),AK=Va(e=>({mcpToken:e.m(Q(B))})),kK=Va(e=>({mcpToken:e.m(Q(B))})),Iy=mb(B),HCe=mb(Cr),VCe=Va(e=>({instanceId:e.m(Q(B)),requestId:e.m(Q(B)),workspace:e.m(Q(B)),channel:e.m(Q(B)),threadId:e.m(Q(B)),rootSeq:e.m(Q(Cr)),sourceSeq:e.m(Q(Cr)),cwd:e.m(Q(B)),workDescription:e.m(Q(B)),attachments:e.m(Q(Vo(Ti))),developerPrompt:e.m(Q(B)),agentProvider:e.m(Q(B)),modelProvider:e.m(go(B)),modelTransportCatalogStatus:e.m(Q(B)),llmProxy:e.m(Q(UD)),resumeSessionId:e.m(go(B)),linzumiContext:e.m(Q(fb(Ti))),launchTui:e.m(Q(Ho)),model:e.m(go(B)),reasoningEffort:e.m(go(B)),approvalPolicy:e.m(go(B)),sandbox:e.m(go(B)),codingJobToolScope:e.m(Q(B)),sandboxedApprovalNeverDefault:e.m(Q(Ho)),fast:e.m(go(Ho)),allowPortForwardingByDefault:e.m(go(Ho)),executionMode:e.m(Q(B)),egressMode:e.m(Q(B)),projectId:e.m(Q(Cr)),projectPublicId:e.m(Q(B)),goldenImagePublicId:e.m(Q(B)),projectSharedInstructions:e.m(Q(B)),projectPersonalInstructions:e.m(Q(B)),projectMemory:e.m(Q(B)),linzumiAgent:e.m(Q(AK)),codingJob:e.m(Q(kK)),adtStream:e.m(Q(Ti))})),KCe=Va(e=>({instanceId:e.m(Q(B)),requestId:e.m(Q(B)),workspace:e.m(Q(B)),channel:e.m(Q(B)),threadId:e.m(Q(B)),rootSeq:e.m(Q(Cr)),sourceSeq:e.m(Q(Cr)),transportCeilingRecoveryRequestId:e.m(Q(B)),cwd:e.m(Q(B)),workDescription:e.m(Q(B)),attachments:e.m(Q(Vo(Ti))),traceparent:e.m(Q(B)),developerPrompt:e.m(Q(B)),codexThreadId:e.m(Q(B)),sessionRehydrate:e.m(Q(Ho)),agentProvider:e.m(Q(B)),modelProvider:e.m(go(B)),modelTransportCatalogStatus:e.m(Q(B)),llmProxy:e.m(Q(UD)),linzumiContext:e.m(Q(fb(Ti))),model:e.m(go(B)),reasoningEffort:e.m(go(B)),approvalPolicy:e.m(go(B)),sandbox:e.m(go(B)),codingJobToolScope:e.m(Q(B)),sandboxedApprovalNeverDefault:e.m(Q(Ho)),fast:e.m(go(Ho)),allowPortForwardingByDefault:e.m(go(Ho)),projectSharedInstructions:e.m(Q(B)),projectPersonalInstructions:e.m(Q(B)),projectMemory:e.m(Q(B)),linzumiAgent:e.m(Q(AK)),codingJob:e.m(Q(kK)),adtStream:e.m(Q(Ti))})),CK=Pt(e=>({questionId:e.f("questionId",B),selectedLabels:e.f("selectedLabels",Q(Vo(B))),freeText:e.f("freeText",Q(B))})),JCe=Va(e=>({instanceId:e.m(Q(B)),kandanThreadId:e.m(B),threadId:e.m(B),model:e.m(Q(Iy)),modelProvider:e.m(Q(Iy)),modelTransportCatalogStatus:e.m(Q(B)),reasoningEffort:e.m(Q(Iy)),approvalPolicy:e.m(Q(Iy)),sandbox:e.m(Q(Iy)),fast:e.m(go(Ho)),allowPortForwardingByDefault:e.m(go(Ho)),actorUserId:e.m(Q(Cr)),actorSlug:e.m(Q(B))})),kVe=Va(e=>({defaultMs:e.m(HCe),version:e.m(Cr)})),ZCe=Va(e=>({defaultMs:e.m(Q(Ti)),version:e.m(Q(Ti))})),QCe=Pt(e=>({provider:e.f("provider",B),editorSessionId:e.f("editorSessionId",Cr),runtimeSessionId:e.f("runtimeSessionId",B),roomId:e.f("roomId",B),extensionAssetPath:e.f("extensionAssetPath",B),serverAssetPath:e.f("serverAssetPath",B),bootstrapToken:e.f("bootstrapToken",Q(B))})),YCe=Pt(e=>(e.tag("type","start_instance"),{TAG:"StartInstance",_0:e.flatten(VCe)})),XCe=Pt(e=>(e.tag("type","reconnect_thread"),{TAG:"ReconnectThread",_0:e.flatten(KCe)})),eOe=Pt(e=>(e.tag("type","list_claude_code_sessions"),{TAG:"ListClaudeCodeSessions",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),cwd:e.f("cwd",Q(B)),limit:e.f("limit",Q(Cr)),messagesPerSession:e.f("messagesPerSession",Q(Cr))}})),tOe=Pt(e=>(e.tag("type","list_agent_slash_commands"),{TAG:"ListAgentSlashCommands",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),threadId:e.f("threadId",Q(B)),cwd:e.f("cwd",Q(B)),harness:e.f("agentProvider",Q(B)),harnessSessionKey:e.f("providerSessionKey",Q(B))}})),rOe=Pt(e=>(e.tag("type","browse_directory"),{TAG:"BrowseDirectory",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),path:e.f("path",Q(B))}})),nOe=Pt(e=>(e.tag("type","create_project"),{TAG:"CreateProject",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),name:e.f("name",Q(B)),description:e.f("description",Q(B)),template:e.f("template",Q(B))}})),iOe=Pt(e=>(e.tag("type","clone_repository"),{TAG:"CloneRepository",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),url:e.f("url",Q(B)),destinationPath:e.f("destinationPath",Q(B)),directoryName:e.f("directoryName",Q(B)),branch:e.f("branch",Q(B))}})),oOe=Pt(e=>(e.tag("type","suggest_tasks"),{TAG:"SuggestTasks",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),workspace:e.f("workspace",Q(B)),cwd:e.f("cwd",Q(B)),modelProvider:e.f("modelProvider",Q(B)),model:e.f("model",Q(B)),llmProxy:e.f("llmProxy",Q(UD))}})),aOe=Pt(e=>(e.tag("type","set_workspace_viewport"),{TAG:"SetWorkspaceViewport",_0:{instanceId:e.f("instanceId",Q(B)),url:e.f("url",B),workspace:e.f("workspace",Q(B)),layout:e.f("layout",Q(B)),targetCount:e.f("targetCount",Q(Cr)),reason:e.f("reason",Q(B))}})),sOe=Pt(e=>(e.tag("type","import_onboarding_conversations"),{TAG:"ImportOnboardingConversations",_0:{instanceId:e.f("instanceId",Q(B)),workspace:e.f("workspace",Q(B)),sources:e.f("sources",Q(Vo(Ti)))}})),lOe=Pt(e=>(e.tag("type","scan_onboarding_projects"),{TAG:"ScanOnboardingProjects",_0:{instanceId:e.f("instanceId",Q(B)),workspace:e.f("workspace",Q(B)),paths:e.f("paths",Q(Vo(Ti)))}})),dOe=Pt(e=>(e.tag("type","remote_codex_exec"),{TAG:"RemoteCodexExec",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),threadId:e.f("threadId",Q(B)),cwd:e.f("cwd",Q(B)),command:e.f("command",Q(B)),args:e.f("args",Q(Vo(Ti))),env:e.f("env",Q(fb(Ti))),stdin:e.f("stdin",Q(B)),timeoutMs:e.f("timeoutMs",Q(Cr))}})),uOe=Pt(e=>(e.tag("type","remote_codex_exec_cancel"),{TAG:"RemoteCodexExecCancel",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),threadId:e.f("threadId",Q(B))}})),cOe=Pt(e=>(e.tag("type","stop_instance"),{TAG:"StopInstance",_0:{instanceId:e.f("instanceId",B)}})),fOe=Pt(e=>(e.tag("type","kill_instance"),{TAG:"KillInstance",_0:{instanceId:e.f("instanceId",B)}})),mOe=Pt(e=>(e.tag("type","replace_runner"),{TAG:"ReplaceCommander",_0:{reason:e.f("reason",Q(B)),replacementRunnerId:e.f("replacementRunnerId",Q(B)),replacementVersion:e.f("replacementVersion",Q(B))}})),pOe=Pt(e=>(e.tag("type","update_available"),{TAG:"UpdateAvailable",_0:{latestVersion:e.f("latestVersion",Q(B)),currentVersion:e.f("currentVersion",Q(B)),reason:e.f("reason",Q(B))}})),hOe=Pt(e=>(e.tag("type","start_turn"),{TAG:"StartTurn",_0:{instanceId:e.f("instanceId",B),threadId:e.f("threadId",B),input:e.f("input",Vo(Ti))}})),_Oe=Pt(e=>(e.tag("type","steer_turn"),{TAG:"SteerTurn",_0:{instanceId:e.f("instanceId",B),threadId:e.f("threadId",B),turnId:e.f("turnId",Q(B)),harnessSessionKey:e.f("providerSessionKey",Q(B)),harness:e.f("agentProvider",Q(B)),input:e.f("input",Ti),sourceSeq:e.f("sourceSeq",Q(Cr)),rootSeq:e.f("rootSeq",Q(Cr)),workspace:e.f("workspace",Q(B)),channel:e.f("channel",Q(B)),cwd:e.f("cwd",Q(B)),workDescription:e.f("workDescription",Q(B)),attachments:e.f("attachments",Q(Vo(Ti))),linzumiContext:e.f("linzumiContext",Q(Ti)),traceparent:e.f("traceparent",Q(B))}})),gOe=Pt(e=>(e.tag("type","steer_child_thread"),{TAG:"SteerChildThread",_0:{instanceId:e.f("instanceId",B),threadId:e.f("threadId",B),harnessSessionKey:e.f("providerSessionKey",B),harness:e.f("agentProvider",Q(B)),providerChildThreadId:e.f("providerChildThreadId",B),input:e.f("input",Ti)}})),bOe=Pt(e=>(e.tag("type","interrupt_turn"),{TAG:"InterruptTurn",_0:{instanceId:e.f("instanceId",B),threadId:e.f("threadId",B),turnId:e.f("turnId",Q(B))}})),yOe=Pt(e=>(e.tag("type","stop_turn"),{TAG:"StopTurn",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",B),turnId:e.f("turnId",Q(B)),harnessSessionKey:e.f("providerSessionKey",Q(B)),harness:e.f("agentProvider",Q(B)),targetSourceSeq:e.f("targetSourceSeq",Q(Cr))}})),xOe=Pt(e=>(e.tag("type","compact_thread"),{TAG:"CompactThread",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",B),workspace:e.f("workspace",B),channel:e.f("channel",B),threadId:e.f("threadId",B),harnessSessionKey:e.f("providerSessionKey",B),harness:e.f("agentProvider",B),sourceSeq:e.f("sourceSeq",Cr)}})),SOe=Pt(e=>(e.tag("type","rewind_thread"),{TAG:"RewindThread",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",B),requestId:e.f("requestId",Q(B)),harness:e.f("agentProvider",Q(B)),checkpointId:e.f("checkpointId",Q(B))}})),TOe=Pt(e=>(e.tag("type","interrupt_queued_messages"),{TAG:"InterruptQueuedMessages",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",B),harness:e.f("agentProvider",Q(B)),throughSeq:e.f("throughSeq",Q(Cr))}})),vOe=Pt(e=>(e.tag("type","resolve_codex_approval_request"),{TAG:"ResolveApprovalRequest",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",B),sourceSeq:e.f("sourceSeq",Cr),requestId:e.f("requestId",B),decision:e.f("decision",B),harness:e.f("agentProvider",Q(B))}})),wOe=Pt(e=>(e.tag("type","resolve_claude_user_input_request"),{TAG:"ResolveClaudeUserInputRequest",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",B),sessionId:e.f("sessionId",Q(B)),requestId:e.f("requestId",B),answers:e.f("answers",Vo(CK)),actorUserId:e.f("actorUserId",Q(Cr)),actorSlug:e.f("actorSlug",Q(B)),harness:e.f("agentProvider",Q(B))}})),AOe=Pt(e=>(e.tag("type","deny_claude_user_input_request"),{TAG:"DenyClaudeUserInputRequest",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",B),sessionId:e.f("sessionId",Q(B)),requestId:e.f("requestId",B),reason:e.f("reason",Q(B)),actorUserId:e.f("actorUserId",Q(Cr)),actorSlug:e.f("actorSlug",Q(B)),harness:e.f("agentProvider",Q(B))}})),kOe=Pt(e=>(e.tag("type","resolve_codex_user_input_request"),{TAG:"ResolveCodexUserInputRequest",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",B),sessionId:e.f("sessionId",Q(B)),requestId:e.f("requestId",B),answers:e.f("answers",Vo(CK)),actorUserId:e.f("actorUserId",Q(Cr)),actorSlug:e.f("actorSlug",Q(B)),harness:e.f("agentProvider",Q(B))}})),COe=Pt(e=>(e.tag("type","deny_codex_user_input_request"),{TAG:"DenyCodexUserInputRequest",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",B),sessionId:e.f("sessionId",Q(B)),requestId:e.f("requestId",B),reason:e.f("reason",Q(B)),actorUserId:e.f("actorUserId",Q(Cr)),actorSlug:e.f("actorSlug",Q(B)),harness:e.f("agentProvider",Q(B))}})),OOe=Pt(e=>(e.tag("type","update_session_settings"),{TAG:"UpdateSessionSettings",_0:e.flatten(JCe)})),EOe=Pt(e=>(e.tag("type","stream_idle_timeout_default"),{TAG:"StreamIdleTimeoutDefault",_0:e.flatten(ZCe)})),POe=Pt(e=>(e.tag("type","resolve_port_forward_request"),{TAG:"ResolvePortForwardRequest",_0:{instanceId:e.f("instanceId",B),threadId:e.f("threadId",Q(B)),requestId:e.f("requestId",B),decision:e.f("decision",B),actorUserId:e.f("actorUserId",Q(Cr)),actorSlug:e.f("actorSlug",Q(B))}})),GOe=Pt(e=>(e.tag("type","update_thread_interaction_access"),{TAG:"UpdateThreadInteractionAccess",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",B),requesterUserId:e.f("requesterUserId",Q(Cr)),requesterSlug:e.f("requesterSlug",Q(B)),grant:e.f("grant",Ho)}})),ROe=Pt(e=>(e.tag("type","set_port_forward_enabled"),{TAG:"SetPortForwardEnabled",_0:{instanceId:e.f("instanceId",Q(B)),port:e.f("port",Cr),enabled:e.f("enabled",Ho)}})),IOe=Pt(e=>(e.tag("type","read_thread"),{TAG:"ReadThread",_0:{instanceId:e.f("instanceId",B),threadId:e.f("threadId",B),includeTurns:e.f("includeTurns",Q(Ho))}})),DOe=Pt(e=>(e.tag("type","forward_http_request"),{TAG:"ForwardHttpRequest",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",Q(B)),requestId:e.f("requestId",B),port:e.f("port",Cr),method:e.f("method",B),path:e.f("path",B),queryString:e.f("queryString",Q(B)),headers:e.f("headers",Q(Ti)),bodyBase64:e.f("bodyBase64",Q(B))}})),MOe=Pt(e=>(e.tag("type","forward_websocket_open"),{TAG:"ForwardWebSocketOpen",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",Q(B)),socketId:e.f("socketId",B),port:e.f("port",Cr),path:e.f("path",B),queryString:e.f("queryString",Q(B)),headers:e.f("headers",Q(Ti))}})),$Oe=Pt(e=>(e.tag("type","forward_websocket_send"),{TAG:"ForwardWebSocketSend",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",Q(B)),socketId:e.f("socketId",B),opcode:e.f("opcode",B),bodyBase64:e.f("bodyBase64",B)}})),jOe=Pt(e=>(e.tag("type","forward_websocket_close"),{TAG:"ForwardWebSocketClose",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",Q(B)),socketId:e.f("socketId",B)}})),FOe=Pt(e=>(e.tag("type","forward_tcp_open"),{TAG:"ForwardTcpOpen",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",Q(B)),socketId:e.f("socketId",B),port:e.f("port",Cr)}})),NOe=Pt(e=>(e.tag("type","forward_tcp_send"),{TAG:"ForwardTcpSend",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",Q(B)),socketId:e.f("socketId",B),bodyBase64:e.f("bodyBase64",B)}})),qOe=Pt(e=>(e.tag("type","forward_tcp_close"),{TAG:"ForwardTcpClose",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",Q(B)),socketId:e.f("socketId",B)}})),zOe=Pt(e=>(e.tag("type","update_runner_config"),{TAG:"UpdateCommanderConfig",_0:{instanceId:e.f("instanceId",Q(B)),allowedCwds:e.f("allowedCwds",Vo(B)),configVersion:e.f("configVersion",Q(Cr))}})),LOe=Pt(e=>(e.tag("type","multi_agent_jobs_state"),{TAG:"MultiAgentJobsState",_0:{workspace:e.f("workspace",Q(B)),enabled:e.f("enabled",Q(Ho))}})),UOe=Pt(e=>(e.tag("type","fleet_breaker_state"),{TAG:"FleetBreakerState",_0:{state:e.f("state",Q(B)),fate:e.f("fate",Q(B)),openedAt:e.f("openedAt",Q(mb(B))),probeIntervalSeconds:e.f("probeIntervalSeconds",Q(Cr)),detectionRule:e.f("detectionRule",Q(mb(B))),monitorOnly:e.f("monitorOnly",Q(Ho)),version:e.f("version",Q(Cr))}})),BOe=Pt(e=>(e.tag("type","start_local_editor"),{TAG:"StartLocalEditor",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),cwd:e.f("cwd",B),browserBaseUrl:e.f("browserBaseUrl",Q(B)),collaboration:e.f("collaboration",Q(QCe))}})),WOe=Pt(e=>(e.tag("type","set_commander_impl"),{TAG:"SetCommanderImpl",_0:{impl:e.f("impl",Q(B))}})),HOe=Pt(e=>(e.tag("type","invoke_cross_harness_switch"),{TAG:"InvokeCrossHarnessSwitch",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),threadId:e.f("threadId",Q(B)),harnessSessionId:e.f("harnessSessionId",Q(B)),sourceSeq:e.f("sourceSeq",Q(Cr)),targetHarness:e.f("targetHarness",Q(B)),model:e.f("model",Q(B)),targetSessionId:e.f("targetSessionId",Q(B))}})),VOe=Jh([YCe,XCe,eOe,tOe,rOe,nOe,iOe,oOe,aOe,sOe,lOe,dOe,uOe,cOe,fOe,mOe,pOe,hOe,_Oe,gOe,bOe,yOe,xOe,SOe,TOe,vOe,wOe,AOe,kOe,COe,OOe,EOe,POe,GOe,ROe,IOe,DOe,MOe,$Oe,jOe,FOe,NOe,qOe,zOe,LOe,UOe,BOe,WOe,HOe]),KOe=["start_instance","reconnect_thread","list_claude_code_sessions","list_agent_slash_commands","browse_directory","create_project","clone_repository","suggest_tasks","set_workspace_viewport","import_onboarding_conversations","scan_onboarding_projects","remote_codex_exec","remote_codex_exec_cancel","stop_instance","kill_instance","replace_runner","update_available","start_turn","steer_turn","steer_child_thread","interrupt_turn","stop_turn","compact_thread","rewind_thread","interrupt_queued_messages","resolve_codex_approval_request","resolve_claude_user_input_request","deny_claude_user_input_request","resolve_codex_user_input_request","deny_codex_user_input_request","update_session_settings","stream_idle_timeout_default","resolve_port_forward_request","update_thread_interaction_access","set_port_forward_enabled","read_thread","forward_http_request","forward_websocket_open","forward_websocket_send","forward_websocket_close","forward_tcp_open","forward_tcp_send","forward_tcp_close","update_runner_config","multi_agent_jobs_state","fleet_breaker_state","start_local_editor","set_commander_impl","invoke_cross_harness_switch"];function Dy(e){let t=ct(e);if(t===void 0)return{TAG:"Error",_0:at("expected a control object")};let r=t.control_seq,n=typeof r=="number"?r:void 0,i=t.type,o=typeof i=="string"?i:void 0;return o!==void 0?KOe.includes(o)?Ze(Kl(e,VOe),a=>({controlSeq:n,control:a})):{TAG:"Ok",_0:{controlSeq:n,control:{TAG:"Unknown",_0:{controlType:o,raw:t}}}}:{TAG:"Error",_0:at("control is missing a string `type`")}}var CVe=Pt(e=>({controlSeq:e.f("control_seq",Q(Cr)),event:e.f("event",B),payload:e.f("payload",fb(Ti))}));var JOe=10*6e4;function ZOe(e,t){let r=setTimeout(e,t);return r.unref(),r}function QOe(e){clearTimeout(e)}var Ku={setTimer:ZOe,clearTimer:QOe};function EK(e){if(e.windowMs<=0)return{TAG:"Error",_0:"dispatch liveness window must be > 0"};let t=v(e.now,()=>Date.now()),r=v(e.timers,Ku),n=t(),i={contents:e.lastActivityMs()},o={contents:void 0},a={contents:!1},s={contents:!1},l=()=>{let f=o.contents;if(f!==void 0){r.clearTimer(ce(f)),o.contents=void 0;return}},d=f=>{s.contents=!0,l(),e.onWedged({waitedMs:t()-n,cause:f})},u=()=>{if(!a.contents&&!s.contents){l(),o.contents=ve(r.setTimer(c,e.windowMs));return}},c=()=>{if(o.contents=void 0,a.contents||s.contents)return;if(e.isDelivered()){a.contents=!0;return}if(e.isSessionClosed())return d("session_closed");let f=e.lastActivityMs();return f>i.contents||e.hasPendingBlockingRequest()?(i.contents=f,u()):d("silent")};return u(),{TAG:"Ok",_0:{stopDispatchWatchdog:()=>{a.contents=!0,l()}}}}var PK=9e4;function RK(e){return JSON.parse(JSON.stringify(e))}function OA(e){return{type:"user",message:{role:"user",content:e},parent_tool_use_id:null}}function BD(e){return{TAG:"TurnKey",_0:e}}var EA=Z;function WD(e){if(e.TAG!=="InitialReleaseLease")return e._1}function HD(e){return e.TAG==="InitialReleaseLease"?e._1:e._2}function X_(e,t){return e.TAG==="InitialReleaseLease"?t.TAG==="InitialReleaseLease"&&e._0===t._0?Z(e._1,t._1):!1:t.TAG==="InitialReleaseLease"||!(e._0===t._0&&Z(e._1,t._1))?!1:Z(e._2,t._2)}var GK="Claude Code streaming input is closed";function YOe(e,t){let r={contents:0},n=()=>(r.contents=r.contents+1|0,{TAG:"Reader",_0:r.contents}),i={contents:0},o=()=>(i.contents=i.contents+1|0,{TAG:"TurnKey",_0:"legacy-turn-"+i.contents.toString()}),a=e.initialTurnKey,s=a!==void 0?a:o(),l=OA(e.content),d=t?[]:[l],u=t?[]:[{turnKey:s,sourceSeq:e.sourceSeq}],c=[],f=new Set,h=new Map;t||(f.add(s),h.set(l,s));let m=()=>{for(;;){let oe=o();if(!f.has(oe))return oe}},p={contents:0},_={contents:void 0},g={contents:void 0},b=new Set,y=[],S=new Map,T=[],w={contents:!1},A=oe=>new Promise((Te,qe)=>{S.set(oe,Te)}),P=(oe,Te)=>{let qe=S.get(oe);if(qe!==void 0)return S.delete(oe),qe(Te)},C=oe=>{P(oe,!0);let Te=h.get(oe);if(Te===void 0)return;h.delete(oe);let qe=e.onTurnPulled;if(qe!==void 0){Promise.resolve().then(()=>(qe(Te),Promise.resolve()));return}},k=oe=>{T.forEach(Te=>{if(!Z(Te.turnKey,oe))return;let qe=d.findIndex(Ne=>Z(Ne,Te.message));if(qe>=0)return d.splice(qe,1),P(Te.message,!1)})},$=()=>{let oe=w.contents;for(;oe;){let Te=y.shift();Te!==void 0?Te.settle("Done"):oe=!1}},V=(oe,Te,qe)=>{u.push({turnKey:qe,sourceSeq:Te}),h.set(oe,qe);let Ne=e.onInputDelivered;Ne!==void 0&&Ne();let ae=e.onSourceSeqDelivered;Te!==void 0&&ae!==void 0&&!b.has(Te)&&(b.add(Te),ae(Te));let Ue=y.shift();if(Ue!==void 0)return C(oe),Ue.settle({TAG:"Next",_0:oe});if(d.push(oe),t){g.contents={followUpMessage:oe,followUpSourceSeq:Te,followUpTurnKey:qe};return}else return},j=(oe,Te,qe)=>{let Ne=u.length!==0;return!t&&!Ne?(V(oe,Te,qe),"Delivered"):(c.push({followUpMessage:oe,followUpSourceSeq:Te,followUpTurnKey:qe}),{TAG:"Parked",queuePosition:c.length})},M=(oe,Te,qe)=>{let Ne=w.contents,ae=f.has(oe);return Ne?{TAG:"Error",_0:"QueueClosed"}:ae?{TAG:"Error",_0:{TAG:"DuplicateTurnKey",_0:oe}}:(f.add(oe),{TAG:"Ok",_0:j(OA(Te),qe,oe)})},q=(oe,Te)=>{let qe=m(),Ne=M(qe,oe,Te);if(Ne.TAG==="Ok")return{TAG:"Ok",_0:Ne._0};let ae=Ne._0;return typeof ae!="object"&&ae==="QueueClosed"?{TAG:"Error",_0:GK}:{TAG:"Error",_0:"Dispatch input queue rejected an internally generated turn key"}},te=oe=>{if(w.contents)return{TAG:"Error",_0:GK};let Te=OA(oe),qe=A(Te),Ne=rt(e.isLiveSteerAllowed,!1,Re=>Re()===!1);if(u.length===0){let Re=m();return f.add(Re),j(Te,void 0,Re),{TAG:"Ok",_0:{steered:"steered_queued",pulledImmediately:!1,applied:qe}}}if(Ne){let Re=m();return f.add(Re),j(Te,void 0,Re),{TAG:"Ok",_0:{steered:"steered_queued",pulledImmediately:!1,applied:qe}}}let Ue=y.shift();return{TAG:"Ok",_0:{steered:"steered_live",pulledImmediately:Ue!==void 0?(P(Te,!0),Ue.settle({TAG:"Next",_0:Te}),!0):(d.push(Te),!1),applied:qe}}},re=(oe,Te,qe)=>{let Ne=OA(qe),ae=T.find(qt=>qt.ticketId===Te);if(ae!==void 0){let qt=Z(ae.turnKey,oe),ge=Z(ae.message,Ne);return qt&&ge?{TAG:"Ok",_0:ae.outcome}:{TAG:"Error",_0:{TAG:"DuplicateSteerTicket",_0:Te}}}let Ue=w.contents,Oe=u[0];if(Ue)return{TAG:"Error",_0:"QueueClosed"};if(Oe===void 0)return{TAG:"Error",_0:"NoCurrentTurn"};if(!Z(Oe.turnKey,oe))return{TAG:"Error",_0:{TAG:"SteerTargetMismatch",_0:Oe.turnKey,_1:oe}};if(rt(e.isLiveSteerAllowed,!1,qt=>qt()===!1))return{TAG:"Error",_0:{TAG:"SteerTargetClosed",_0:oe}};let He=A(Ne),Je=y.shift(),Gt={steered:"steered_live",pulledImmediately:Je!==void 0?(P(Ne,!0),Je.settle({TAG:"Next",_0:Ne}),!0):(d.push(Ne),!1),applied:He};return T.push({turnKey:oe,ticketId:Te,message:Ne,outcome:Gt}),{TAG:"Ok",_0:Gt}},W=oe=>{let Te=d.shift();if(Te!==void 0){let Ne=g.contents;return Ne!==void 0&&Z(Ne.followUpMessage,Te)&&(g.contents=void 0),C(Te),Promise.resolve({TAG:"Next",_0:Te})}if(w.contents)return Promise.resolve("Done");let qe=e.onInputWait;return qe!==void 0&&qe(E(u[0],Ne=>Ne.sourceSeq)),new Promise((Ne,ae)=>{y.push({reader:oe,settle:Ne})})},F=()=>W(void 0),ee=oe=>W(oe),I=oe=>{let Te=Fe(y,qe=>{let Ne=qe.reader;if(Ne!==void 0&&Z(Ne,oe)){qe.settle("Done");return}else return qe});return y.splice(0,y.length,...Te),Promise.resolve()},R=()=>{let oe=g.contents;t&&oe!==void 0&&(h.delete(oe.followUpMessage),d.shift(),u.shift(),c.splice(0,0,oe),g.contents=void 0),t&&(d.splice(0,d.length),u.splice(0,u.length));let Te=u.length===0;if(!t&&Te){let qe=!0;for(;qe;){let Ne=c.shift();Ne!==void 0?V(Ne.followUpMessage,Ne.followUpSourceSeq,Ne.followUpTurnKey):qe=!1}}w.contents=!0,$(),S.forEach((qe,Ne)=>P(Ne,!1))},K=()=>{let oe=c.slice();return c.splice(0,c.length),oe},H=oe=>{let Te=w.contents,qe=_.contents,Ne=u[0];if(Te)return{TAG:"Error",_0:"QueueClosed"};if(qe!==void 0)return{TAG:"Error",_0:"ReleaseAlreadyPending"};if(Ne===void 0)return{TAG:"Error",_0:"NoCurrentTurn"};if(!Z(Ne.turnKey,oe))return{TAG:"Error",_0:{TAG:"PredecessorMismatch",_0:Ne.turnKey,_1:oe}};p.contents=p.contents+1|0;let ae=p.contents,Ue=z(c[0],Re=>Re.followUpTurnKey),Oe={TAG:"SuccessorReleaseLease",_0:ae,_1:oe,_2:Ue};return _.contents=Oe,{TAG:"Ok",_0:Oe}},ie=()=>{let oe=w.contents,Te=_.contents,qe=u[0],Ne=c[0];if(oe)return{TAG:"Error",_0:"QueueClosed"};if(Te!==void 0)return{TAG:"Error",_0:"ReleaseAlreadyPending"};if(qe!==void 0)return{TAG:"Error",_0:"ReleaseAlreadyPending"};if(Ne===void 0)return{TAG:"Error",_0:"NoCurrentTurn"};p.contents=p.contents+1|0;let ae=p.contents,Ue=Ne.followUpTurnKey,Oe={TAG:"InitialReleaseLease",_0:ae,_1:Ue};return _.contents=Oe,{TAG:"Ok",_0:Oe}},se=oe=>{let Te=w.contents,qe=_.contents;if(Te)return{TAG:"Error",_0:"QueueClosed"};if(qe===void 0)return{TAG:"Error",_0:"StaleReleaseLease"};if(!X_(qe,oe))return{TAG:"Error",_0:"StaleReleaseLease"};let Ne=u[0];if(oe.TAG==="InitialReleaseLease"){if(Ne!==void 0)return{TAG:"Error",_0:"ReleaseSuccessorChanged"};let He=c[0];return He!==void 0&&Z(He.followUpTurnKey,oe._1)?(_.contents=void 0,c.shift(),V(He.followUpMessage,He.followUpSourceSeq,He.followUpTurnKey),{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:"ReleaseSuccessorChanged"}}if(Ne===void 0)return{TAG:"Error",_0:"NoCurrentTurn"};let ae=oe._1;if(!Z(Ne.turnKey,ae))return{TAG:"Error",_0:{TAG:"PredecessorMismatch",_0:Ne.turnKey,_1:ae}};let Ue=z(c[0],He=>He.followUpTurnKey);if(!Z(Ue,oe._2))return{TAG:"Error",_0:"ReleaseSuccessorChanged"};k(ae);let Oe=g.contents;if(t&&Oe!==void 0&&Z(Oe.followUpTurnKey,ae)){let He=d.findIndex(Je=>Z(Je,Oe.followUpMessage));He>=0&&d.splice(He,1),h.delete(Oe.followUpMessage),g.contents=void 0}u.shift(),_.contents=void 0;let Re=c.shift();return Re!==void 0&&V(Re.followUpMessage,Re.followUpSourceSeq,Re.followUpTurnKey),{TAG:"Ok",_0:Ne.sourceSeq}};return{next:F,openReader:n,nextFor:ee,cancelReader:I,close:R,enqueue:q,enqueueTurn:M,enqueueSteer:te,enqueueSteerFor:re,drainUndeliveredFollowUps:K,beginRelease:H,beginInitialRelease:ie,commitRelease:se,cancelRelease:oe=>{let Te=w.contents,qe=_.contents;return Te?{TAG:"Error",_0:"QueueClosed"}:qe!==void 0&&X_(qe,oe)?(_.contents=void 0,{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:"StaleReleaseLease"}},retract:oe=>{let Te=c.findIndex(ae=>Z(ae.followUpTurnKey,oe)),qe=w.contents,Ne=Te>=0;return qe?{TAG:"Error",_0:"QueueClosed"}:Ne?(c.splice(Te,1),{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:{TAG:"TurnNotDeferred",_0:oe}}},completeTurn:()=>{let oe=w.contents,Te=u[0];if(Te===void 0)return;if(oe)return E(u.shift(),ae=>ae.sourceSeq);let qe=H(Te.turnKey);if(qe.TAG!=="Ok")return;let Ne=se(qe._0);if(Ne.TAG==="Ok")return Ne._0},currentSourceSeq:()=>E(u[0],oe=>oe.sourceSeq),currentTurnKey:()=>z(u[0],oe=>oe.turnKey)}}function IK(e){let t=YOe({content:null,sourceSeq:void 0,initialTurnKey:{TAG:"TurnKey",_0:"empty-staged-queue-placeholder"},onInputDelivered:e.onInputDelivered,onTurnPulled:e.onTurnPulled,isLiveSteerAllowed:e.isLiveSteerAllowed,onInputWait:e.onInputWait,onSourceSeqDelivered:e.onSourceSeqDelivered},!0);return{openReader:t.openReader,nextFor:t.nextFor,cancelReader:t.cancelReader,close:t.close,enqueueTurn:t.enqueueTurn,enqueueSteerFor:t.enqueueSteerFor,drainUndeliveredFollowUps:t.drainUndeliveredFollowUps,beginRelease:t.beginRelease,beginInitialRelease:t.beginInitialRelease,commitRelease:t.commitRelease,cancelRelease:t.cancelRelease,retract:t.retract,currentSourceSeq:t.currentSourceSeq,currentTurnKey:t.currentTurnKey}}function KD(e,t){let r=async()=>{let o=await e.nextFor(t);return typeof o!="object"?{done:!0}:{done:!1,value:RK(o._0)}},n=()=>e.cancelReader(t).then(()=>({done:!0})),i={};return i[Symbol.asyncIterator]=()=>({next:r,return:n}),i}function JD(e){return import(e)}var MK="@anthropic-ai/claude-agent-sdk";function XOe(e){return{next:()=>e.next(),close:()=>{e.close()},interrupt:()=>e.interrupt(),setModel:t=>e.setModel(t),setPermissionMode:t=>e.setPermissionMode(t),applyFlagSettings:t=>e.applyFlagSettings(t),supportedCommands:()=>e.supportedCommands()}}async function $K(){let e=await JD(MK);return{query:t=>XOe(e.query(t)),getSessionInfo:(t,r)=>e.getSessionInfo(t,r),listSessions:t=>e.listSessions(t),getSessionMessages:(t,r)=>e.getSessionMessages(t,r)}}async function eEe(e,t){try{let r=await e();return t(r),{TAG:"Ok",_0:void 0}}catch(r){let n=N(r);return{TAG:"Error",_0:v(E(St(n),At),"unknown Claude authentication probe failure")}}}function tEe(e,t){return{options:{cwd:e,pathToClaudeCodeExecutable:t,persistSession:!1,settingSources:["user","project","local"],tools:[]},initializeTimeoutMs:15e3}}async function ZD(e,t){return await eEe(async()=>await(await JD(MK)).startup(tEe(e,t)),r=>{r.close()})}var QD=["codex","claude-code","pi","opencode"];function fp(e){return e}function PA(e){switch(e.TAG){case"SessionStarted":return"session_started";case"TurnStarted":return"turn_started";case"ItemStarted":return"item_started";case"ItemDelta":return"item_delta";case"ItemCompleted":return"item_completed";case"ApprovalRequested":return"approval_requested";case"UsageUpdated":return"usage_updated";case"RateLimitUpdated":return"rate_limit_updated";case"ActivityPulse":return"activity_pulse";case"TurnCompleted":return"turn_completed";case"TurnFailed":return"turn_failed";case"TurnInterrupted":return"turn_interrupted";case"HarnessDied":return"harness_died"}}import*as FK from"node:child_process";var nEe=/^(\d+)\s+(\d+)\s+(.*)$/;function XD(e,t){return v(v(e.slice(1)[t],void 0),"")}function iEe(e){return Fe(e.split(`
|
|
503
|
+
`).map(t=>t.trim()).find(t=>t.startsWith(_A))}var AVe=new RegExp("worker exited before ready|worker did not report ready within","i");function Zn(e,t){let r=e.trim(),n=r.length,i=" ... ",o=i.length,a=n<=t,s=t<(o+2|0);if(a)return r;if(s)return r.slice(n-Math.max(1,t)|0,n);let l=Math.max(1,Math.floor((t-o|0)/3)|0),d=Math.max(1,(t-o|0)-l|0);return r.slice(0,l)+i+r.slice(n-d|0,n)}function Fke(e){return new Promise((t,r)=>{setTimeout(()=>t(),e)})}async function xV(e,t,r,n,i,o){let a=o!==void 0?o:Gke,s=Math.max(1,v(t,2)),l=v(r,250),d=v(n,Fke),u,c,f=1;for(;Bn(u)&&f<=s;){let m=f,p=await e(m);if(p.TAG==="Ready")u={TAG:"Ok",_0:p._0};else{let _=p._0;c=_;let g=jke(_.capturedOutput),b=m<s&&Bn(g),y={};y.purpose=RD,y.attempt=m,y.maxAttempts=s,y.code=rt(_.code,null,S=>S),y.signal=rt(_.signal,null,S=>S),y.capturedOutput=_.capturedOutput,y.willRespawn=b,g!==void 0&&(y.deterministicPreflightFailure=g),a("runner.thread_runner_exited_before_ready",y),g!==void 0?u={TAG:"Error",_0:g}:(b&&(i!==void 0&&i({attemptNumber:m+1|0,previous:_}),l>0&&await d(l)),f=m+1|0)}}let h=u;return h!==void 0?h:{TAG:"Error",_0:hA(v(c,{code:void 0,signal:void 0,capturedOutput:""}))}}function SV(e){return typeof e!="object"?e==="WorkerManagedRunner":!1}var TV=3e4;import*as Z_ from"node:fs";import*as $V from"node:os";import*as Vi from"node:path";var Gy="KANDAN_EDITOR_COLLABORATION_",vV=Gy+"DEPLOYMENT_SHAPE",wV=Gy+"ENTRY_MODE",AV=Gy+"ROOM_ID",kV=Gy+"SERVER_URL",CV=Gy+"AUTO_HOST_CLAIM_PATH",bA="Kandan",OV="kandan-local-editor-",EV="oct.kandanEditorSessionId",PV="oct.kandanCollaborationStateUrl",GV="kandan_auto_host_or_join",RV="kandan-oct-auto-host.lock",IV="_kandan-collaboration",DV="/local-codex-runners/",MV="/api/v2/local-codex-runner/editor-runtime/",lf="kandan",J_="kandan.document-state-telemetry";function xA(e){return e.message}function jV(){return{tmpdir:()=>$V.tmpdir(),mkdtemp:e=>We(Cc(e),xA),mkdirRecursive:e=>We(Nt(e),xA),writeFileUtf8:(e,t)=>We(Wn(e,t),xA),existsSync:e=>Z_.existsSync(e),copyFile:(e,t)=>{try{return{TAG:"Ok",_0:(Z_.copyFileSync(e,t),void 0)}}catch(r){let n=N(r);return{TAG:"Error",_0:ke(n).message}}},copyTree:(e,t)=>{try{return{TAG:"Ok",_0:(Z_.cpSync(e,t,{recursive:!0}),void 0)}}catch(r){let n=N(r);return{TAG:"Error",_0:ke(n).message}}},readFileUtf8:e=>We($t(e),xA)}}function MD(e,t,r,n){return["--bind-addr","127.0.0.1:"+e.toString(),"--auth","none","--disable-telemetry","--disable-update-check","--disable-workspace-trust","--disable-getting-started-override","--app-name",bA,"--user-data-dir",r].concat((n!==void 0?["--extensions-dir",n]:[]).concat([t]))}function Nke(e){let t={};return t["extensions.autoCheckUpdates"]=!1,t["extensions.autoUpdate"]=!1,t["extensions.ignoreRecommendations"]=!0,t["extensions.showRecommendationsOnlyOnDemand"]=!0,t["oct.alwaysAskToOverrideServerUrl"]=!1,t["oct.joinAcceptMode"]="auto",e!==void 0&&(t[EV]=e.control.editorSessionId,t[PV]=e.collaborationStateUrl,t["oct.serverUrl"]=e.bootstrapServerUrl),t["security.workspace.trust.enabled"]=!1,t["telemetry.telemetryLevel"]="off",t["workbench.secondarySideBar.defaultVisibility"]="hidden",t["workbench.startupEditor"]="none",t["workbench.welcomePage.walkthroughs.openOnInstall"]=!1,t}var qke=new RegExp(`exec\\s+(?:"([^"]+)"|'([^']+)'|([^\\s]+))\\s+"\\$@"`,"u");function zke(e,t){let r=t.readFileUtf8(e);if(r.TAG!=="Ok")return[];let n=qke.exec(r._0);if(n==null)return[];let i=n.slice(1),o=l=>E(i[l],d=>d),a=cn(cn(o(0),o(1)),o(2));return a===void 0?[]:a.trim()===""?[]:[a]}function $D(e){let t={},r=[];return e.forEach(n=>{let i=n.length>0,o=t[n];if(i&&o===void 0){t[n]=!0,r.push(n);return}}),r}function Lke(e){return[Vi.join(e,"extensions","git-base","dist","extension.js"),Vi.join(e,"extensions","merge-conflict","dist","mergeConflictMain.js")]}var Uke="code-server runtime did not include a VS Code root candidate";function Bke(e,t){let r=a=>Vi.join(Vi.dirname(Vi.dirname(a)),"lib","vscode"),n=$D([Vi.join(e.root,"lib","vscode"),r(e.codeServerBin)].concat(zke(e.codeServerBin,t).map(r))),i=n.find(a=>Lke(a).every(s=>t.existsSync(s))),o=n[0];return i!==void 0?{TAG:"Ok",_0:i}:o!==void 0?{TAG:"Ok",_0:o}:{TAG:"Error",_0:Uke}}function Wke(e){let t=(n,i)=>Vi.join(e,"extensions",n,"dist",i),r=(n,i)=>Vi.join(e,"extensions",n,"dist","browser",i);return[{source:t("git-base","extension.js"),target:r("git-base","extension.js"),required:!0},{source:t("git-base","extension.js.map"),target:r("git-base","extension.js.map"),required:!1},{source:t("merge-conflict","mergeConflictMain.js"),target:r("merge-conflict","mergeConflictMain.js"),required:!0},{source:t("merge-conflict","mergeConflictMain.js.map"),target:r("merge-conflict","mergeConflictMain.js.map"),required:!1}]}function Hke(e,t){return Ae(Bke(e,t),r=>nt(Wke(r),{TAG:"Ok",_0:void 0},(n,i)=>Ae(n,()=>{let o=t.existsSync(i.target),a=!i.required&&!t.existsSync(i.source);return o||a?{TAG:"Ok",_0:void 0}:Ae(t.mkdirRecursive(Vi.dirname(i.target)),()=>t.copyFile(i.source,i.target))})))}function FV(e,t,r){return Ae(r.mkdtemp(Vi.join(r.tmpdir(),OV)),n=>{let i=Vi.join(n,"extensions"),o=Vi.join(n,"collaboration-server"),a=Vi.join(n,"tmp"),s=Vi.join(n,"User");return Ze(Ae(Ae(Ae(Ae(Ae(r.mkdirRecursive(s),()=>r.mkdirRecursive(i)),()=>r.mkdirRecursive(o)),()=>r.mkdirRecursive(a)),()=>t!==void 0?Ae(Hke(t,r),()=>{let l=Vi.join(i,J_);return Ae(r.mkdirRecursive(Vi.dirname(l)),()=>r.copyTree(t.assets.documentStateExtensionDir,l))}):{TAG:"Ok",_0:void 0}),()=>r.writeFileUtf8(Vi.join(s,"settings.json"),JSON.stringify(Nke(e),void 0,2))),()=>({userDataDir:n,extensionsDir:i,collaborationServerDir:o}))})}function NV(e,t,r,n){let i={};return Object.entries(e).forEach(o=>{let a=o[0];a!=="PORT"&&(i[a]=o[1])}),i.PWD=t,n!==void 0&&(i[vV]="local_runner_sidecar",i[wV]=GV,i[AV]=n.control.roomId,i[kV]=n.bootstrapServerUrl,i[CV]=Vi.join(r,RV)),i}function qV(e,t){let r=z(e.LINZUMI_NODE_BIN,n=>n.trim());return r!==void 0&&r!==""?r:Vi.basename(t).toLowerCase().includes("bun")?"node":t}import*as Y_ from"node:fs";import*as HV from"node:os";import*as ki from"node:path";import*as VV from"node:crypto";import*as KV from"node:child_process";function Vke(e){switch(e){case"UnsupportedPlatform":return"unsupported_platform";case"AuthExpired":return"auth_expired";case"AuthUnauthorized":return"auth_unauthorized";case"ManifestUnavailable":return"manifest_unavailable";case"DownloadFailed":return"download_failed";case"ChecksumMismatch":return"checksum_mismatch";case"ArchiveExtractFailed":return"archive_extract_failed";case"InvalidArchive":return"invalid_archive";case"InstallFailed":return"install_failed"}}var LV="server_managed",Kke="custom";function JV(e){let t={};switch(e.TAG){case"RuntimeReady":t.status="ready",t.mode=LV,t.version=e.version,t.platform=e.platform,t.archiveSha256=e.archiveSha256,t.codeServerVersion=e.codeServerVersion,t.updated=e.updated;break;case"RuntimeCustom":t.status="custom",t.mode=Kke,t.codeServerBin=e.codeServerBin;break;case"RuntimeUnavailable":t.status="unavailable",t.mode=LV,t.reason=Vke(e.reason);break}return t}function Jke(e,t){switch(e+"-"+t){case"darwin-arm64":return"darwin-arm64";case"darwin-x64":return"darwin-x64";case"linux-x64":return"linux-x64";default:return}}function Wd(e){if(e===void 0||typeof e!="string")return;let t=e.trim();if(t!=="")return t}var Zke=new RegExp("^[a-f0-9]{64}$","i");function ZV(e){return E(Wd(e),t=>{if(Zke.test(t))return t.toLowerCase()})}var FD="bin/code-server",Qke="linzumi-editor-runtime.json";function Yke(e){if(Array.isArray(e))return nt(e,[],(t,r)=>E(t,n=>{if(typeof r!="object"||r===null||Array.isArray(r))return;let i=Wd(r.path),o=ZV(r.sha256),a=Wd(r.url),s=Wd(r.contentBase64);if(i!==void 0&&o!==void 0)return n.push({path:i,sha256:o,url:a,contentBase64:s}),n}))}function Xke(e){let t=Wd(e.version),r=Wd(e.platform),n=Wd(e.archiveUrl),i=ZV(e.archiveSha256),o=Wd(e.codeServerVersion),a=v(Wd(e.codeServerBinPath),FD),s=v(Wd(e.manifestPath),Qke),l=Yke(e.assets);return t!==void 0&&r!==void 0&&n!==void 0&&i!==void 0&&o!==void 0&&l!==void 0?{TAG:"Ok",_0:{version:t,platform:r,archiveUrl:n,archiveSha256:i,codeServerVersion:o,codeServerBinPath:a,manifestPath:s,assets:l}}:{TAG:"Error",_0:"ManifestUnavailable"}}function QV(e,t){return ki.resolve(e,t.platform,t.archiveSha256)}var UV="/"+FD;function SA(e){let t=e.replaceAll("\\","/");if(t===FD)return".";if(!t.endsWith(UV))return ki.dirname(t);let r=t.slice(0,t.length-UV.length|0);return r===""?".":r}function eCe(e){let t={};return e.forEach(r=>{t[r.path]=r.sha256}),t}function tCe(e,t){return e.protocol===t.protocol?e.host===t.host:!1}function rCe(e){return ki.join(e,".linzumi","editor-runtimes")}var nCe=".install-",iCe="runtime.tar.gz",oCe="runtime";function YV(e){return{collaborationExtensionTarball:ki.join(...[e].concat([lf,"editor_extensions","typefox.open-collaboration-tools.tar.gz"])),collaborationServerTarball:ki.join(...[e].concat([lf,"editor_servers","open-collaboration-server.tar.gz"])),documentStateExtensionDir:ki.join(...[e].concat([lf,"editor_extensions",J_]))}}function aCe(e){try{return{TAG:"Ok",_0:VV.createHash("sha256").update(Y_.readFileSync(e)).digest("hex")}}catch(t){let r=N(t);return{TAG:"Error",_0:ke(r).message}}}function sCe(e,t){try{return{TAG:"Ok",_0:(Y_.writeFileSync(e,t),void 0)}}catch(r){let n=N(r);return{TAG:"Error",_0:ke(n).message}}}function lCe(e){return MV+encodeURIComponent(e)+"/manifest"}async function dCe(e){let t=await e.bodyJson();if(t.TAG!=="Ok")return"AuthUnauthorized";let r=t._0;return typeof r!="object"||r===null||Array.isArray(r)?"AuthUnauthorized":r.error==="token_expired"?"AuthExpired":"AuthUnauthorized"}async function uCe(e,t,r,n){let i=mi(e);if(i.TAG!=="Ok")return{TAG:"Error",_0:"ManifestUnavailable"};let o=Hi(lCe(r),i._0);if(o.TAG!=="Ok")return{TAG:"Error",_0:"ManifestUnavailable"};let a=await n.fetchUrl(o._0.toString(),t);if(a.TAG!=="Ok")return{TAG:"Error",_0:"ManifestUnavailable"};let s=a._0,l=s.status;if(l!==200)return l!==401?{TAG:"Error",_0:"ManifestUnavailable"}:{TAG:"Error",_0:await dCe(s)};let d=await s.bodyJson();if(d.TAG!=="Ok")return{TAG:"Error",_0:"ManifestUnavailable"};let u=d._0;if(typeof u!="object"||u===null||Array.isArray(u))return{TAG:"Error",_0:"ManifestUnavailable"};let c=u.ok,f=u.runtime;return c===!0&&typeof f=="object"&&f!==null&&!Array.isArray(f)?Xke(f):{TAG:"Error",_0:"ManifestUnavailable"}}function cCe(e){let t=SA(e.codeServerBinPath),r=["lib","vscode","node_modules","vsda","rust","web"];return[e.codeServerBinPath,ki.join(...[t].concat(r.concat(["vsda.js"]))),ki.join(...[t].concat(r.concat(["vsda_bg.wasm"]))),[lf,"editor_extensions","typefox.open-collaboration-tools.tar.gz"].join("/"),[lf,"editor_servers","open-collaboration-server.tar.gz"].join("/"),[lf,"editor_extensions",J_].join("/")+"/package.json",[lf,"editor_extensions",J_].join("/")+"/out/extension.js"]}function XV(e,t,r){let n=eCe(t.assets),i=cCe(t).every(s=>{let l=n[s],d=s===t.codeServerBinPath;if(l===void 0)return d?r.existsSync(ki.join(e,s)):!1;let u=ki.join(e,s);if(!r.existsSync(u))return!1;let c=r.fileSha256(u);return c.TAG==="Ok"?c._0===l:!1}),o=YV(e),a=r.existsSync(o.collaborationExtensionTarball)&&r.existsSync(o.collaborationServerTarball);if(i&&a)return o}function fCe(e,t,r){let n=QV(e,t),i=ki.join(n,t.manifestPath),o=ki.join(n,t.codeServerBinPath),a=r.existsSync(i)&&r.existsSync(o),s=XV(n,t,r);if(!a||s===void 0)return;let l=r.readFileUtf8(i);if(l.TAG!=="Ok")return;let d;try{d=JSON.parse(l._0)}catch{d=void 0}if(d===void 0||typeof d!="object"||d===null||Array.isArray(d))return;let u=Z(d.version,t.version),c=Z(d.platform,t.platform),f=d.archiveSha256,h=f!==void 0?typeof f=="string"?f===t.archiveSha256:!1:!0;if(u&&c&&h)return{root:n,codeServerBin:o,assets:s}}async function mCe(e,t,r,n,i){let o=mi(e);if(o.TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};let a=o._0,s=Hi(r.archiveUrl,a),l=ho(a);if(s.TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};if(l===void 0)return{TAG:"Error",_0:"DownloadFailed"};let d=s._0,u=tCe(d,ce(l))?t:void 0,c=await i.fetchUrl(d.toString(),u);if(c.TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};let f=c._0;if(f.status!==200)return{TAG:"Error",_0:"DownloadFailed"};let m=await f.bodyBytes();if(m.TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};if(i.writeBytes(n,m._0).TAG!=="Ok")return{TAG:"Error",_0:"DownloadFailed"};let _=i.fileSha256(n);return _.TAG==="Ok"?_._0===r.archiveSha256?{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:"ChecksumMismatch"}:{TAG:"Error",_0:"DownloadFailed"}}async function pCe(e,t,r){let n=t.contentBase64,i=t.url;if(n!==void 0)try{return{TAG:"Ok",_0:ve(Buffer.from(n,"base64"))}}catch(o){let a=N(o);return{TAG:"Error",_0:ke(a).message}}else{if(i===void 0)return{TAG:"Ok",_0:void 0};let o=mi(e);if(o.TAG!=="Ok")return{TAG:"Error",_0:o._0};let a=Hi(i,o._0);if(a.TAG!=="Ok")return{TAG:"Error",_0:a._0};let s=await r.fetchUrl(a._0.toString(),void 0);if(s.TAG!=="Ok")return{TAG:"Error",_0:s._0};let l=s._0;if(l.status!==200)return{TAG:"Ok",_0:void 0};let u=await l.bodyBytes();return u.TAG==="Ok"?{TAG:"Ok",_0:ve(u._0)}:{TAG:"Error",_0:u._0}}}async function hCe(e,t,r,n){let i=0,o=!1;for(;!o&&i<t.assets.length;){let a=t.assets[i];if(a!==void 0){let s=ki.join(r,a.path),l=await pCe(e,a,n);if(l.TAG==="Ok"){let d=l._0;if(d!==void 0){let u=ce(d);Ae(n.mkdirRecursive(ki.dirname(s)),()=>n.writeBytes(s,u)).TAG==="Ok"?i=i+1|0:o=!0}else i=i+1|0}else o=!0}else i=i+1|0}return!o}function _Ce(e){let t={};return t.version=e.version,t.platform=e.platform,t.archiveSha256=e.archiveSha256,t.codeServerVersion=e.codeServerVersion,t.codeServerBinPath=e.codeServerBinPath,t.manifestPath=e.manifestPath,t.assets=e.assets.map(r=>{let n={};n.path=r.path,n.sha256=r.sha256;let i=r.url;i!==void 0&&(n.url=i);let o=r.contentBase64;return o!==void 0&&(n.contentBase64=o),n}),JSON.stringify(t,void 0,2)}async function gCe(e,t,r,n,i,o){let a=ki.join(i,iCe),s=ki.join(i,oCe),l=await mCe(e,t,r,a,o);if(l.TAG!=="Ok")return{TAG:"Error",_0:l._0};if(o.mkdirRecursive(s).TAG!=="Ok")return{TAG:"Error",_0:"InstallFailed"};if(!await o.extractArchive(a,s))return{TAG:"Error",_0:"ArchiveExtractFailed"};if(!await hCe(e,r,s,o))return{TAG:"Error",_0:"InstallFailed"};let u=ki.join(s,r.manifestPath),c=ki.join(s,r.codeServerBinPath),f=o.existsSync(c),h=XV(s,r,o);if(!f)return{TAG:"Error",_0:"InvalidArchive"};if(h===void 0)return{TAG:"Error",_0:"InvalidArchive"};let m=QV(n,r);return Ae(Ae(Ae(Ae(o.mkdirRecursive(ki.dirname(u)),()=>o.writeFileUtf8(u,_Ce(r))),()=>o.rmRecursiveForce(m)),()=>o.mkdirRecursive(ki.dirname(m))),()=>o.rename(s,m)).TAG==="Ok"?{TAG:"Ok",_0:{root:m,codeServerBin:ki.join(m,r.codeServerBinPath),assets:YV(m)}}:{TAG:"Error",_0:"InstallFailed"}}async function bCe(e,t,r,n,i){if(i.mkdirRecursive(n).TAG!=="Ok")return{TAG:"Error",_0:"InstallFailed"};let a=i.mkdtemp(ki.join(n,nCe));if(a.TAG!=="Ok")return{TAG:"Error",_0:"InstallFailed"};let s=a._0,l=await gCe(e,t,r,n,s,i);return i.rmRecursiveForce(s),l}function BV(e){return{status:{TAG:"RuntimeUnavailable",reason:e},codeServerBin:void 0,runtime:void 0}}function WV(e,t,r){return{status:{TAG:"RuntimeReady",version:e.version,platform:e.platform,archiveSha256:e.archiveSha256,codeServerVersion:e.codeServerVersion,updated:r},codeServerBin:t.codeServerBin,runtime:t}}async function ND(e,t){let r=e.customCodeServerBin;if(r!==void 0)return{status:{TAG:"RuntimeCustom",codeServerBin:r},codeServerBin:r,runtime:void 0};let n=Jke(t.platform,t.arch);if(n===void 0)return{status:{TAG:"RuntimeUnavailable",reason:"UnsupportedPlatform"},codeServerBin:void 0,runtime:void 0};let i=await uCe(e.serviceUrl,e.token,n,t);if(i.TAG!=="Ok")return BV(i._0);let o=i._0,a=v(e.cacheRoot,rCe(t.homeDir())),s=fCe(a,o,t);if(s!==void 0)return WV(o,s,!1);let l=await bCe(e.serviceUrl,e.token,o,a,t);return l.TAG==="Ok"?WV(o,l._0,!0):BV(l._0)}var jD="editor_runtime.extract";function yCe(e,t,r){return new Promise((n,i)=>{let o="tar",a=["-xzf",e,"-C",t],s=a.map(f=>f);r("process.spawn",Object.fromEntries([["command",o],["args",s],["purpose",jD]]));let l=KV.spawn(o,a,{stdio:["ignore","ignore","ignore"]}),d=l.pid,u=d??null;r("process.spawned",Object.fromEntries([["command",o],["args",s],["pid",u],["purpose",jD]]));let c={contents:!1};l.on("error",f=>{if(!c.contents)return c.contents=!0,n(!1)}),l.once("exit",(f,h)=>{if(r("process.exit",Object.fromEntries([["command",o],["args",s],["pid",u],["code",f??null],["signal",h??null],["purpose",jD]])),!c.contents)return c.contents=!0,n(Z(f==null?void 0:ve(f),0))})})}function Q_(e){return e.message}function qD(e){return{fetchUrl:async(t,r)=>{let n=r!==void 0?{headers:Object.fromEntries([["authorization","Bearer "+r]])}:{},i=await ms(t,n);if(i.TAG!=="Ok")return{TAG:"Error",_0:i._0.message};let o=i._0;return{TAG:"Ok",_0:{status:o.status,bodyJson:async()=>{let a=await Gd(o);return a.TAG==="Ok"?{TAG:"Ok",_0:a._0}:{TAG:"Error",_0:a._0.message}},bodyBytes:async()=>{try{return{TAG:"Ok",_0:Buffer.from(await o.arrayBuffer())}}catch(a){let s=N(a);return{TAG:"Error",_0:ke(s).message}}}}}},extractArchive:(t,r)=>yCe(t,r,e),platform:process.platform,arch:process.arch,homeDir:()=>HV.homedir(),existsSync:t=>Y_.existsSync(t),readFileUtf8:t=>We($t(t),Q_),writeFileUtf8:(t,r)=>We(Wn(t,r),Q_),writeBytes:sCe,mkdirRecursive:t=>We(Nt(t),Q_),mkdtemp:t=>We(Cc(t),Q_),rmRecursiveForce:t=>We(ds(t),Q_),rename:(t,r)=>We(Jn(t,r),Q_),fileSha256:aCe}}import*as eK from"node:fs";import*as Hd from"node:path";function tK(){return{existsSync:e=>eK.existsSync(e),realpath:e=>We(mo(e),t=>t.message)}}function xCe(e){return e.includes("/")?!0:e.includes("\\")}function SCe(e,t){let r=t.realpath(e);if(r.TAG==="Ok"){let i=Hd.dirname(r._0);return i==="/"?void 0:i}let n=Hd.dirname(e);switch(n){case".":case"/":return;default:return n}}function vA(e,t,r){return xCe(e)?z(SCe(e,r),n=>({command:e,directory:n})):nt(t.split(Hd.delimiter),void 0,(n,i)=>{let o=i.trim();if(n!==void 0)return n;if(o==="")return;let a=Hd.join(i,e);if(!r.existsSync(a))return;let s=r.realpath(a);if(s.TAG!=="Ok")return;let l=s._0;return{command:l,directory:Hd.dirname(l)}})}function rK(e,t,r){return z(vA(e,t,r),n=>SA(n.command))}function TCe(e,t){let r=t.realpath(e);return r.TAG==="Ok"?[e,r._0]:[e]}var vCe=["/usr","/bin","/sbin","/lib","/lib64","/etc","/nix","/opt"];function wCe(e,t){let r=vA(v(e.bubblewrapBin,"bwrap"),e.envPath,t),n=vA(e.codeServerBin,e.envPath,t);if(r===void 0||n===void 0)return"SandboxUnavailable";let i=e.codeServerRuntimeRoot,o=$D(vCe.concat((i!==void 0?TCe(i,t):[]).concat([n.directory]))),a=e.extensionsDir,s=["--die-with-parent","--proc","/proc","--dev-bind","/dev","/dev","--tmpfs","/tmp","--setenv","HOME",e.cwd,"--setenv","PWD",e.cwd,"--setenv","XDG_DATA_HOME",Hd.join(e.userDataDir,"data"),"--setenv","XDG_CONFIG_HOME",Hd.join(e.userDataDir,"config")].concat(o.flatMap(l=>["--ro-bind-try",l,l]).concat(["--bind",e.cwd,e.cwd,"--bind",e.userDataDir,e.userDataDir].concat(a!==void 0?["--bind",a,a]:[]).concat(["--chdir",e.cwd,"--",n.command].concat(MD(e.port,e.cwd,e.userDataDir,e.extensionsDir)))));return{TAG:"LaunchReady",command:r.command,args:s}}function nK(e,t){switch(e.platform){case"darwin":let n=vA(e.codeServerBin,e.envPath,t);return n!==void 0?{TAG:"LaunchReady",command:n.command,args:MD(e.port,e.cwd,e.userDataDir,e.extensionsDir)}:"SandboxUnavailable";case"linux":return wCe(e,t);default:return"SandboxUnavailable"}}var kCe=new RegExp("/+$");function iK(e){if(e===void 0)return;let t=e.trim();if(t!=="")return t.replace(kCe,"")}function CCe(e,t){return DV+encodeURIComponent(e)+"/forwards/"+t.toString()+"/preview-target"}function OCe(e){return"/api/v2/editor/sessions/"+e.toString()+"/collaboration-state"}function oK(e,t,r,n){if(e===void 0)return{TAG:"Ok",_0:void 0};if(r===void 0)return{TAG:"Ok",_0:void 0};let i=CCe(t,r),o=OCe(e.editorSessionId),a=e.bootstrapToken,s=a!==void 0&&a!==""?i+"/"+IV+"/"+encodeURIComponent(a):void 0,l=d=>Ze(Hi(d,n+"/"),u=>u.toString());return Ae(l(i),d=>s!==void 0?Ze(l(s),u=>({control:e,serverPort:r,serverUrl:d,bootstrapServerUrl:u,collaborationStateUrl:s+o})):{TAG:"Ok",_0:{control:e,serverPort:r,serverUrl:d,bootstrapServerUrl:d,collaborationStateUrl:o}})}function wA(e){return{provider:e.control.provider,editorSessionId:e.control.editorSessionId,runtimeSessionId:e.control.runtimeSessionId,roomId:e.control.roomId,serverPort:e.serverPort,serverUrl:e.serverUrl}}function aK(e,t){return e!==void 0?t!==void 0&&e.control.editorSessionId===t.editorSessionId&&e.control.runtimeSessionId===t.runtimeSessionId?e.control.roomId===t.roomId:!1:t===void 0}function sK(e){let t={};return t.provider=e.provider,t.editorSessionId=e.editorSessionId,t.runtimeSessionId=e.runtimeSessionId,t.roomId=e.roomId,t.serverPort=e.serverPort,t.serverUrl=e.serverUrl,t}var PCe="local_editor_disabled",GCe="missing_browser_base_url",df="code_server_spawn_failed",RCe="local_editor_filesystem_sandbox_unavailable";function mK(e,t){if(t!==void 0)return{TAG:"CustomRuntime",_0:{codeServerBin:e,editorRuntime:t}}}function ICe(e){return typeof e!="object"?"disabled":"running"}function pK(e,t,r){let n={};if(n.localEditor=It(e)&&t.length!==0,n.localEditorStatus=ICe(r),typeof r=="object"){let i=r.collaboration;n.localEditorPort=r.port,n.localEditorCwd=r.cwd,i!==void 0&&(n.localEditorCollaboration=sK(wA(i.prepared)))}return n}function DCe(e){return e.map(t=>t)}function lK(e,t){if(t!==void 0){e.pid=t;return}}function MCe(e){return e!==void 0?e:null}function $Ce(e){return e!==void 0?e:null}var jCe="local_editor.code_server",FCe="local_editor.collaboration_sidecar",NCe="local_editor.install_process";function hK(e){return new Promise((t,r)=>{let n={contents:!1},i=()=>{if(!n.contents)return n.contents=!0,t()};if(e.onExitOnce((o,a)=>i()),e.onCloseOnce(i),e.hasExited())return i()})}function _K(e,t){return new Promise((r,n)=>{let i={contents:!1},o=a=>{if(!i.contents)return i.contents=!0,r(a)};e.onSpawnOnce(()=>o("ProcessSpawned")),e.onErrorOnce(a=>o("ProcessSpawnFailed")),t.scheduleImmediate(()=>{let a=i.contents,s=e.pid();if(!(a||s===void 0))return o("ProcessSpawned")})})}function gK(e,t,r,n){let i=n.nowMs()+1e4;return new Promise((o,a)=>{let s={contents:!1},l={contents:void 0},d=f=>{if(s.contents)return;s.contents=!0;let h=l.contents;h!==void 0&&h(),o(f)},u=()=>{l.contents=n.scheduleTimeout(()=>{c()},50)},c=async()=>{if(n.nowMs()>i)return d("ProbeFailed");let f=await n.probeUrlStatus(e,t);return f.TAG==="Ok"&&f._0<500?d("ProbeReady"):u()};r.then(()=>(d("ProbeFailed"),Promise.resolve())),c()})}function zD(e,t,r,n,i,o){let a=()=>{let u={};return u.command=e.command,u.args=DCe(e.args),r.forEach(c=>{u[c[0]]=c[1]}),u},s=a();s.purpose=t,n.forEach(u=>{s[u[0]]=u[1]}),o.audit("process.spawn",s,i);let l=o.spawnProcess(e),d=a();return lK(d,l.pid()),d.purpose=t,n.forEach(u=>{d[u[0]]=u[1]}),o.audit("process.spawned",d,i),l.onExitOnce((u,c)=>{let f=a();lK(f,l.pid()),f.code=MCe(u),f.signal=$Ce(c),f.purpose=t,n.forEach(h=>{f[h[0]]=h[1]}),o.audit("process.exit",f,i)}),l}function qCe(e,t,r){return new Promise((n,i)=>{let o=zD({command:e,args:t,cwd:void 0,env:void 0,stdio:"StderrOnly"},NCe,[],[],void 0,r),a={contents:!1},s=l=>{if(!a.contents)return a.contents=!0,n(l)};o.onErrorOnce(l=>s({TAG:"Error",_0:l})),o.onExitOnce((l,d)=>s(l!==void 0?l!==0?{TAG:"Error",_0:e+" exited with "+l.toString()}:{TAG:"Ok",_0:void 0}:{TAG:"Error",_0:e+" exited with unknown"}))})}async function dK(e,t,r){let n=r.profile.mkdirRecursive(t);return n.TAG==="Ok"?await qCe("tar",["-xzf",e,"-C",t],r):{TAG:"Error",_0:n._0}}async function zCe(e,t,r,n,i){if(e===void 0)return{TAG:"SidecarStarted",collaboration:void 0,ready:Promise.resolve("ProbeReady")};if(!(await Promise.all([dK(r.assets.collaborationExtensionTarball,t.extensionsDir,i),dK(r.assets.collaborationServerTarball,t.collaborationServerDir,i)])).every(rq))return"SidecarFailed";let a=qV(i.env,i.execPath),s=[cK.join(t.collaborationServerDir,"open-collaboration-server","bundle","app.js"),"--hostname","127.0.0.1","--port",e.serverPort.toString()],l={};Object.entries(i.env).forEach(m=>{l[m[0]]=m[1]}),l.OCT_ACTIVATE_SIMPLE_LOGIN="true",l.OCT_SERVER_OWNER=bA;let d=[["editorSessionId",e.control.editorSessionId],["runtimeSessionId",e.control.runtimeSessionId]],u=zD({command:a,args:s,cwd:void 0,env:l,stdio:"InheritOutput"},FCe,[],d,n,i),c=hK(u);if(await _K(u,i)!=="ProcessSpawned")return"SidecarFailed";let h=gK("http://127.0.0.1:"+e.serverPort.toString()+"/api/login/initial",!0,c,i);return{TAG:"SidecarStarted",collaboration:{prepared:e,process:u,exited:c},ready:h}}function uK(e){if(typeof e!="object")return;let t=e.collaboration;if(t!==void 0)return t.prepared}function Ry(e){if(typeof e!="object")return;let t=e.collaboration;if(e.process.kill("SIGINT"),t!==void 0)return t.process.kill("SIGINT")}async function bK(e,t,r){let n=t.editorRuntime;if(n===void 0)return{TAG:"StartRefused",state:t.currentState,reason:PCe};let i=v(Ei(r.env,"PATH"),""),o;if(n.TAG==="CustomRuntime"){let p=n._0,_=p.codeServerBin;o=[_,p.editorRuntime,rK(_,i,r.sandboxFs)]}else{let p=n._0;o=[p.codeServerBin,p,p.root]}let a=o[1],s=gA(e.cwd,t.allowedCwds,r.isDangerousCwd);if(s.TAG!=="CwdAllowed")return{TAG:"StartRefused",state:t.currentState,reason:s.reason};let l=s.cwd,d=t.currentState,u;if(u=typeof d!="object"||d.cwd!==l?!1:aK(uK(t.currentState),e.collaboration),u){let p=t.currentState;return typeof p!="object"?{TAG:"StartRefused",state:t.currentState,reason:df}:{TAG:"Started",state:t.currentState,event:{cwd:p.cwd,port:p.port,startedAt:r.nowIso(),collaboration:z(uK(t.currentState),wA)}}}let c=e.browserBaseUrl,f=iK(c!==void 0?c:t.browserBaseUrl),h=e.collaboration,m=0;if(h!==void 0){if(f===void 0)return{TAG:"StartRefused",state:t.currentState,reason:GCe};m=1}else m=1;if(m===1){let p=await r.choosePort(),_=e.collaboration,g;if(_!==void 0){let q=await r.choosePort();g=q.TAG==="Ok"?{TAG:"Ok",_0:q._0}:{TAG:"Error",_0:q._0}}else g={TAG:"Ok",_0:void 0};if(p.TAG!=="Ok")return{TAG:"StartRefused",state:t.currentState,reason:df};let b=p._0;if(g.TAG!=="Ok")return{TAG:"StartRefused",state:t.currentState,reason:df};let y=f!==void 0?oK(e.collaboration,v(t.runnerId,"local-runner"),g._0,f):{TAG:"Ok",_0:void 0};if(y.TAG!=="Ok")return{TAG:"StartRefused",state:t.currentState,reason:df};let S=y._0,T=FV(S,a,r.profile);if(T.TAG!=="Ok")return{TAG:"StartRefused",state:t.currentState,reason:df};let w=T._0,A=nK({codeServerBin:o[0],codeServerRuntimeRoot:o[2],port:b,cwd:l,userDataDir:w.userDataDir,extensionsDir:w.extensionsDir,platform:r.platform,bubblewrapBin:void 0,envPath:i},r.sandboxFs);if(typeof A!="object")return{TAG:"StartRefused",state:t.currentState,reason:RCe};let P,C=0;S!==void 0?a!==void 0?C=2:P=Promise.resolve("SidecarFailed"):a!==void 0?C=2:P=Promise.resolve({TAG:"SidecarStarted",collaboration:void 0,ready:Promise.resolve("ProbeReady")}),C===2&&(P=zCe(S,w,a,t.runnerId,r));let k=await P;if(typeof k!="object")return{TAG:"StartRefused",state:t.currentState,reason:df};let $=k.collaboration,V=zD({command:A.command,args:A.args,cwd:l,env:NV(r.env,l,w.userDataDir,z($,q=>q.prepared)),stdio:"InheritOutput"},jCe,[["cwd",l]],[],t.runnerId,r),j=hK(V);return await _K(V,r)==="ProcessSpawned"?(await Promise.all([gK("http://127.0.0.1:"+b.toString()+"/",!1,j,r),k.ready])).every(te=>te==="ProbeReady")?(Ry(t.currentState),{TAG:"Started",state:{TAG:"Running",cwd:l,port:b,process:V,collaboration:$,exited:j},event:{cwd:l,port:b,startedAt:r.nowIso(),collaboration:z($,te=>wA(te.prepared))}}):(V.kill("SIGINT"),$!==void 0&&$.process.kill("SIGINT"),{TAG:"StartRefused",state:t.currentState,reason:df}):($!==void 0&&$.process.kill("SIGINT"),{TAG:"StartRefused",state:t.currentState,reason:df})}}function AA(e){return e==="InheritOutput"?["ignore","inherit","inherit"]:["ignore","ignore","inherit"]}function LCe(e){let t=e.cwd,r=e.env,n=fK.spawn(e.command,e.args,t!==void 0?r!==void 0?{cwd:t,env:r,stdio:AA(e.stdio)}:{cwd:t,stdio:AA(e.stdio)}:r!==void 0?{env:r,stdio:AA(e.stdio)}:{stdio:AA(e.stdio)});return{pid:()=>z(st(n.pid),i=>i),kill:i=>{ra(n,i)},onExitOnce:i=>{n.once("exit",(o,a)=>i(z(o==null?void 0:ve(o),s=>s),a==null?void 0:ve(a)))},onCloseOnce:i=>{n.once("close",i)},onSpawnOnce:i=>{n.once("spawn",i)},onErrorOnce:i=>{n.once("error",o=>i(o.message))},hasExited:()=>It(st(n.exitCode))?!0:It(st(n.signalCode))}}async function UCe(e,t){let n=await ms(e,t?{method:"POST"}:{});return n.TAG==="Ok"?{TAG:"Ok",_0:n._0.status}:{TAG:"Error",_0:n._0.message}}function yK(e,t){return{spawnProcess:LCe,choosePort:_T,probeUrlStatus:UCe,nowIso:()=>new Date().toISOString(),nowMs:()=>Date.now(),scheduleTimeout:(r,n)=>{let i=setTimeout(r,n);return()=>{clearTimeout(i)}},scheduleImmediate:r=>{setImmediate(r)},env:process.env,execPath:process.execPath,platform:process.platform,audit:e,isDangerousCwd:t,profile:jV(),sandboxFs:tK()}}function Vd(){return v("1.0.223","0.0.0-unbundled")}function LD(){return"linzumi "+v("1.0.223","0.0.0-unbundled")}import*as Pa from"node:os";import*as Ga from"node:path";import*as zF from"node:crypto";function SK(e){return"local_runner:"+e}var BCe="kandan-local-codex-runner",WCe="rescript";function TK(e){let t={};t.clientName=BCe,t.clientId=e.clientId;let r=e.machineFingerprint;t.machineFingerprint=r!==void 0?r:null,Object.entries(E8(e.machineFingerprintV2)).forEach(a=>{t[a[0]]=a[1]}),t.runnerPid=e.runnerPid,t.version=e.version,t.hostname=e.hostname,t.cwd=e.cwd;let n=e.workspace;t.workspace=n!==void 0?n:null;let i=e.channel;t.channel=i!==void 0?i:null,t.capabilities=e.capabilities;let o=e.generationOverlapEpoch;if(o!==void 0){let a={};a.epoch=o,a.overlap=!0,t.generation=a}return t.commander_impl=WCe,t}function vK(e,t,r){let n={};return n.last_seq=r,t!==void 0&&(n.runner_id=e,n.thread_id=t),n}function Fr(e,t){return e.catch(r=>t(N(r)))}var UD=Va(e=>({baseUrl:e.m(Q(B)),token:e.m(Q(B))})),AK=Va(e=>({mcpToken:e.m(Q(B))})),kK=Va(e=>({mcpToken:e.m(Q(B))})),Iy=mb(B),HCe=mb(Cr),VCe=Va(e=>({instanceId:e.m(Q(B)),requestId:e.m(Q(B)),workspace:e.m(Q(B)),channel:e.m(Q(B)),threadId:e.m(Q(B)),rootSeq:e.m(Q(Cr)),sourceSeq:e.m(Q(Cr)),cwd:e.m(Q(B)),workDescription:e.m(Q(B)),attachments:e.m(Q(Vo(Ti))),developerPrompt:e.m(Q(B)),agentProvider:e.m(Q(B)),modelProvider:e.m(go(B)),modelTransportCatalogStatus:e.m(Q(B)),llmProxy:e.m(Q(UD)),resumeSessionId:e.m(go(B)),linzumiContext:e.m(Q(fb(Ti))),launchTui:e.m(Q(Ho)),model:e.m(go(B)),reasoningEffort:e.m(go(B)),approvalPolicy:e.m(go(B)),sandbox:e.m(go(B)),codingJobToolScope:e.m(Q(B)),sandboxedApprovalNeverDefault:e.m(Q(Ho)),fast:e.m(go(Ho)),allowPortForwardingByDefault:e.m(go(Ho)),executionMode:e.m(Q(B)),egressMode:e.m(Q(B)),projectId:e.m(Q(Cr)),projectPublicId:e.m(Q(B)),goldenImagePublicId:e.m(Q(B)),projectSharedInstructions:e.m(Q(B)),projectPersonalInstructions:e.m(Q(B)),projectMemory:e.m(Q(B)),linzumiAgent:e.m(Q(AK)),codingJob:e.m(Q(kK)),adtStream:e.m(Q(Ti))})),KCe=Va(e=>({instanceId:e.m(Q(B)),requestId:e.m(Q(B)),workspace:e.m(Q(B)),channel:e.m(Q(B)),threadId:e.m(Q(B)),rootSeq:e.m(Q(Cr)),sourceSeq:e.m(Q(Cr)),transportCeilingRecoveryRequestId:e.m(Q(B)),cwd:e.m(Q(B)),workDescription:e.m(Q(B)),attachments:e.m(Q(Vo(Ti))),traceparent:e.m(Q(B)),developerPrompt:e.m(Q(B)),codexThreadId:e.m(Q(B)),sessionRehydrate:e.m(Q(Ho)),agentProvider:e.m(Q(B)),modelProvider:e.m(go(B)),modelTransportCatalogStatus:e.m(Q(B)),llmProxy:e.m(Q(UD)),linzumiContext:e.m(Q(fb(Ti))),model:e.m(go(B)),reasoningEffort:e.m(go(B)),approvalPolicy:e.m(go(B)),sandbox:e.m(go(B)),codingJobToolScope:e.m(Q(B)),sandboxedApprovalNeverDefault:e.m(Q(Ho)),fast:e.m(go(Ho)),allowPortForwardingByDefault:e.m(go(Ho)),projectSharedInstructions:e.m(Q(B)),projectPersonalInstructions:e.m(Q(B)),projectMemory:e.m(Q(B)),linzumiAgent:e.m(Q(AK)),codingJob:e.m(Q(kK)),adtStream:e.m(Q(Ti))})),CK=Pt(e=>({questionId:e.f("questionId",B),selectedLabels:e.f("selectedLabels",Q(Vo(B))),freeText:e.f("freeText",Q(B))})),JCe=Va(e=>({instanceId:e.m(Q(B)),kandanThreadId:e.m(B),threadId:e.m(B),model:e.m(Q(Iy)),modelProvider:e.m(Q(Iy)),modelTransportCatalogStatus:e.m(Q(B)),reasoningEffort:e.m(Q(Iy)),approvalPolicy:e.m(Q(Iy)),sandbox:e.m(Q(Iy)),fast:e.m(go(Ho)),allowPortForwardingByDefault:e.m(go(Ho)),actorUserId:e.m(Q(Cr)),actorSlug:e.m(Q(B))})),kVe=Va(e=>({defaultMs:e.m(HCe),version:e.m(Cr)})),ZCe=Va(e=>({defaultMs:e.m(Q(Ti)),version:e.m(Q(Ti))})),QCe=Pt(e=>({provider:e.f("provider",B),editorSessionId:e.f("editorSessionId",Cr),runtimeSessionId:e.f("runtimeSessionId",B),roomId:e.f("roomId",B),extensionAssetPath:e.f("extensionAssetPath",B),serverAssetPath:e.f("serverAssetPath",B),bootstrapToken:e.f("bootstrapToken",Q(B))})),YCe=Pt(e=>(e.tag("type","start_instance"),{TAG:"StartInstance",_0:e.flatten(VCe)})),XCe=Pt(e=>(e.tag("type","reconnect_thread"),{TAG:"ReconnectThread",_0:e.flatten(KCe)})),eOe=Pt(e=>(e.tag("type","list_claude_code_sessions"),{TAG:"ListClaudeCodeSessions",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),cwd:e.f("cwd",Q(B)),limit:e.f("limit",Q(Cr)),messagesPerSession:e.f("messagesPerSession",Q(Cr))}})),tOe=Pt(e=>(e.tag("type","list_agent_slash_commands"),{TAG:"ListAgentSlashCommands",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),threadId:e.f("threadId",Q(B)),cwd:e.f("cwd",Q(B)),harness:e.f("agentProvider",Q(B)),harnessSessionKey:e.f("providerSessionKey",Q(B))}})),rOe=Pt(e=>(e.tag("type","browse_directory"),{TAG:"BrowseDirectory",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),path:e.f("path",Q(B))}})),nOe=Pt(e=>(e.tag("type","create_project"),{TAG:"CreateProject",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),name:e.f("name",Q(B)),description:e.f("description",Q(B)),template:e.f("template",Q(B))}})),iOe=Pt(e=>(e.tag("type","clone_repository"),{TAG:"CloneRepository",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),url:e.f("url",Q(B)),destinationPath:e.f("destinationPath",Q(B)),directoryName:e.f("directoryName",Q(B)),branch:e.f("branch",Q(B))}})),oOe=Pt(e=>(e.tag("type","suggest_tasks"),{TAG:"SuggestTasks",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),workspace:e.f("workspace",Q(B)),cwd:e.f("cwd",Q(B)),modelProvider:e.f("modelProvider",Q(B)),model:e.f("model",Q(B)),llmProxy:e.f("llmProxy",Q(UD))}})),aOe=Pt(e=>(e.tag("type","set_workspace_viewport"),{TAG:"SetWorkspaceViewport",_0:{instanceId:e.f("instanceId",Q(B)),url:e.f("url",B),workspace:e.f("workspace",Q(B)),layout:e.f("layout",Q(B)),targetCount:e.f("targetCount",Q(Cr)),reason:e.f("reason",Q(B))}})),sOe=Pt(e=>(e.tag("type","import_onboarding_conversations"),{TAG:"ImportOnboardingConversations",_0:{instanceId:e.f("instanceId",Q(B)),workspace:e.f("workspace",Q(B)),sources:e.f("sources",Q(Vo(Ti)))}})),lOe=Pt(e=>(e.tag("type","scan_onboarding_projects"),{TAG:"ScanOnboardingProjects",_0:{instanceId:e.f("instanceId",Q(B)),workspace:e.f("workspace",Q(B)),paths:e.f("paths",Q(Vo(Ti)))}})),dOe=Pt(e=>(e.tag("type","remote_codex_exec"),{TAG:"RemoteCodexExec",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),threadId:e.f("threadId",Q(B)),cwd:e.f("cwd",Q(B)),command:e.f("command",Q(B)),args:e.f("args",Q(Vo(Ti))),env:e.f("env",Q(fb(Ti))),stdin:e.f("stdin",Q(B)),timeoutMs:e.f("timeoutMs",Q(Cr))}})),uOe=Pt(e=>(e.tag("type","remote_codex_exec_cancel"),{TAG:"RemoteCodexExecCancel",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),threadId:e.f("threadId",Q(B))}})),cOe=Pt(e=>(e.tag("type","stop_instance"),{TAG:"StopInstance",_0:{instanceId:e.f("instanceId",B)}})),fOe=Pt(e=>(e.tag("type","kill_instance"),{TAG:"KillInstance",_0:{instanceId:e.f("instanceId",B)}})),mOe=Pt(e=>(e.tag("type","replace_runner"),{TAG:"ReplaceCommander",_0:{reason:e.f("reason",Q(B)),replacementRunnerId:e.f("replacementRunnerId",Q(B)),replacementVersion:e.f("replacementVersion",Q(B))}})),pOe=Pt(e=>(e.tag("type","update_available"),{TAG:"UpdateAvailable",_0:{latestVersion:e.f("latestVersion",Q(B)),currentVersion:e.f("currentVersion",Q(B)),reason:e.f("reason",Q(B))}})),hOe=Pt(e=>(e.tag("type","start_turn"),{TAG:"StartTurn",_0:{instanceId:e.f("instanceId",B),threadId:e.f("threadId",B),input:e.f("input",Vo(Ti))}})),_Oe=Pt(e=>(e.tag("type","steer_turn"),{TAG:"SteerTurn",_0:{instanceId:e.f("instanceId",B),threadId:e.f("threadId",B),turnId:e.f("turnId",Q(B)),harnessSessionKey:e.f("providerSessionKey",Q(B)),harness:e.f("agentProvider",Q(B)),input:e.f("input",Ti),sourceSeq:e.f("sourceSeq",Q(Cr)),rootSeq:e.f("rootSeq",Q(Cr)),workspace:e.f("workspace",Q(B)),channel:e.f("channel",Q(B)),cwd:e.f("cwd",Q(B)),workDescription:e.f("workDescription",Q(B)),attachments:e.f("attachments",Q(Vo(Ti))),linzumiContext:e.f("linzumiContext",Q(Ti)),traceparent:e.f("traceparent",Q(B))}})),gOe=Pt(e=>(e.tag("type","steer_child_thread"),{TAG:"SteerChildThread",_0:{instanceId:e.f("instanceId",B),threadId:e.f("threadId",B),harnessSessionKey:e.f("providerSessionKey",B),harness:e.f("agentProvider",Q(B)),providerChildThreadId:e.f("providerChildThreadId",B),input:e.f("input",Ti)}})),bOe=Pt(e=>(e.tag("type","interrupt_turn"),{TAG:"InterruptTurn",_0:{instanceId:e.f("instanceId",B),threadId:e.f("threadId",B),turnId:e.f("turnId",Q(B))}})),yOe=Pt(e=>(e.tag("type","stop_turn"),{TAG:"StopTurn",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",B),turnId:e.f("turnId",Q(B)),harnessSessionKey:e.f("providerSessionKey",Q(B)),harness:e.f("agentProvider",Q(B)),targetSourceSeq:e.f("targetSourceSeq",Q(Cr))}})),xOe=Pt(e=>(e.tag("type","compact_thread"),{TAG:"CompactThread",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",B),workspace:e.f("workspace",B),channel:e.f("channel",B),threadId:e.f("threadId",B),harnessSessionKey:e.f("providerSessionKey",B),harness:e.f("agentProvider",B),sourceSeq:e.f("sourceSeq",Cr)}})),SOe=Pt(e=>(e.tag("type","rewind_thread"),{TAG:"RewindThread",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",B),requestId:e.f("requestId",Q(B)),harness:e.f("agentProvider",Q(B)),checkpointId:e.f("checkpointId",Q(B))}})),TOe=Pt(e=>(e.tag("type","interrupt_queued_messages"),{TAG:"InterruptQueuedMessages",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",B),harness:e.f("agentProvider",Q(B)),throughSeq:e.f("throughSeq",Q(Cr))}})),vOe=Pt(e=>(e.tag("type","resolve_codex_approval_request"),{TAG:"ResolveApprovalRequest",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",B),sourceSeq:e.f("sourceSeq",Cr),requestId:e.f("requestId",B),decision:e.f("decision",B),harness:e.f("agentProvider",Q(B))}})),wOe=Pt(e=>(e.tag("type","resolve_claude_user_input_request"),{TAG:"ResolveClaudeUserInputRequest",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",B),sessionId:e.f("sessionId",Q(B)),requestId:e.f("requestId",B),answers:e.f("answers",Vo(CK)),actorUserId:e.f("actorUserId",Q(Cr)),actorSlug:e.f("actorSlug",Q(B)),harness:e.f("agentProvider",Q(B))}})),AOe=Pt(e=>(e.tag("type","deny_claude_user_input_request"),{TAG:"DenyClaudeUserInputRequest",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",B),sessionId:e.f("sessionId",Q(B)),requestId:e.f("requestId",B),reason:e.f("reason",Q(B)),actorUserId:e.f("actorUserId",Q(Cr)),actorSlug:e.f("actorSlug",Q(B)),harness:e.f("agentProvider",Q(B))}})),kOe=Pt(e=>(e.tag("type","resolve_codex_user_input_request"),{TAG:"ResolveCodexUserInputRequest",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",B),sessionId:e.f("sessionId",Q(B)),requestId:e.f("requestId",B),answers:e.f("answers",Vo(CK)),actorUserId:e.f("actorUserId",Q(Cr)),actorSlug:e.f("actorSlug",Q(B)),harness:e.f("agentProvider",Q(B))}})),COe=Pt(e=>(e.tag("type","deny_codex_user_input_request"),{TAG:"DenyCodexUserInputRequest",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",B),sessionId:e.f("sessionId",Q(B)),requestId:e.f("requestId",B),reason:e.f("reason",Q(B)),actorUserId:e.f("actorUserId",Q(Cr)),actorSlug:e.f("actorSlug",Q(B)),harness:e.f("agentProvider",Q(B))}})),OOe=Pt(e=>(e.tag("type","update_session_settings"),{TAG:"UpdateSessionSettings",_0:e.flatten(JCe)})),EOe=Pt(e=>(e.tag("type","stream_idle_timeout_default"),{TAG:"StreamIdleTimeoutDefault",_0:e.flatten(ZCe)})),POe=Pt(e=>(e.tag("type","resolve_port_forward_request"),{TAG:"ResolvePortForwardRequest",_0:{instanceId:e.f("instanceId",B),threadId:e.f("threadId",Q(B)),requestId:e.f("requestId",B),decision:e.f("decision",B),actorUserId:e.f("actorUserId",Q(Cr)),actorSlug:e.f("actorSlug",Q(B))}})),GOe=Pt(e=>(e.tag("type","update_thread_interaction_access"),{TAG:"UpdateThreadInteractionAccess",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",B),requesterUserId:e.f("requesterUserId",Q(Cr)),requesterSlug:e.f("requesterSlug",Q(B)),grant:e.f("grant",Ho)}})),ROe=Pt(e=>(e.tag("type","set_port_forward_enabled"),{TAG:"SetPortForwardEnabled",_0:{instanceId:e.f("instanceId",Q(B)),port:e.f("port",Cr),enabled:e.f("enabled",Ho)}})),IOe=Pt(e=>(e.tag("type","read_thread"),{TAG:"ReadThread",_0:{instanceId:e.f("instanceId",B),threadId:e.f("threadId",B),includeTurns:e.f("includeTurns",Q(Ho))}})),DOe=Pt(e=>(e.tag("type","forward_http_request"),{TAG:"ForwardHttpRequest",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",Q(B)),requestId:e.f("requestId",B),port:e.f("port",Cr),method:e.f("method",B),path:e.f("path",B),queryString:e.f("queryString",Q(B)),headers:e.f("headers",Q(Ti)),bodyBase64:e.f("bodyBase64",Q(B))}})),MOe=Pt(e=>(e.tag("type","forward_websocket_open"),{TAG:"ForwardWebSocketOpen",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",Q(B)),socketId:e.f("socketId",B),port:e.f("port",Cr),path:e.f("path",B),queryString:e.f("queryString",Q(B)),headers:e.f("headers",Q(Ti))}})),$Oe=Pt(e=>(e.tag("type","forward_websocket_send"),{TAG:"ForwardWebSocketSend",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",Q(B)),socketId:e.f("socketId",B),opcode:e.f("opcode",B),bodyBase64:e.f("bodyBase64",B)}})),jOe=Pt(e=>(e.tag("type","forward_websocket_close"),{TAG:"ForwardWebSocketClose",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",Q(B)),socketId:e.f("socketId",B)}})),FOe=Pt(e=>(e.tag("type","forward_tcp_open"),{TAG:"ForwardTcpOpen",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",Q(B)),socketId:e.f("socketId",B),port:e.f("port",Cr)}})),NOe=Pt(e=>(e.tag("type","forward_tcp_send"),{TAG:"ForwardTcpSend",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",Q(B)),socketId:e.f("socketId",B),bodyBase64:e.f("bodyBase64",B)}})),qOe=Pt(e=>(e.tag("type","forward_tcp_close"),{TAG:"ForwardTcpClose",_0:{instanceId:e.f("instanceId",Q(B)),threadId:e.f("threadId",Q(B)),socketId:e.f("socketId",B)}})),zOe=Pt(e=>(e.tag("type","update_runner_config"),{TAG:"UpdateCommanderConfig",_0:{instanceId:e.f("instanceId",Q(B)),allowedCwds:e.f("allowedCwds",Vo(B)),configVersion:e.f("configVersion",Q(Cr))}})),LOe=Pt(e=>(e.tag("type","multi_agent_jobs_state"),{TAG:"MultiAgentJobsState",_0:{workspace:e.f("workspace",Q(B)),enabled:e.f("enabled",Q(Ho))}})),UOe=Pt(e=>(e.tag("type","fleet_breaker_state"),{TAG:"FleetBreakerState",_0:{state:e.f("state",Q(B)),fate:e.f("fate",Q(B)),openedAt:e.f("openedAt",Q(mb(B))),probeIntervalSeconds:e.f("probeIntervalSeconds",Q(Cr)),detectionRule:e.f("detectionRule",Q(mb(B))),monitorOnly:e.f("monitorOnly",Q(Ho)),version:e.f("version",Q(Cr))}})),BOe=Pt(e=>(e.tag("type","start_local_editor"),{TAG:"StartLocalEditor",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),cwd:e.f("cwd",B),browserBaseUrl:e.f("browserBaseUrl",Q(B)),collaboration:e.f("collaboration",Q(QCe))}})),WOe=Pt(e=>(e.tag("type","set_commander_impl"),{TAG:"SetCommanderImpl",_0:{impl:e.f("impl",Q(B))}})),HOe=Pt(e=>(e.tag("type","invoke_cross_harness_switch"),{TAG:"InvokeCrossHarnessSwitch",_0:{instanceId:e.f("instanceId",Q(B)),requestId:e.f("requestId",Q(B)),threadId:e.f("threadId",Q(B)),harnessSessionId:e.f("harnessSessionId",Q(B)),sourceSeq:e.f("sourceSeq",Q(Cr)),targetHarness:e.f("targetHarness",Q(B)),model:e.f("model",Q(B)),targetSessionId:e.f("targetSessionId",Q(B))}})),VOe=Jh([YCe,XCe,eOe,tOe,rOe,nOe,iOe,oOe,aOe,sOe,lOe,dOe,uOe,cOe,fOe,mOe,pOe,hOe,_Oe,gOe,bOe,yOe,xOe,SOe,TOe,vOe,wOe,AOe,kOe,COe,OOe,EOe,POe,GOe,ROe,IOe,DOe,MOe,$Oe,jOe,FOe,NOe,qOe,zOe,LOe,UOe,BOe,WOe,HOe]),KOe=["start_instance","reconnect_thread","list_claude_code_sessions","list_agent_slash_commands","browse_directory","create_project","clone_repository","suggest_tasks","set_workspace_viewport","import_onboarding_conversations","scan_onboarding_projects","remote_codex_exec","remote_codex_exec_cancel","stop_instance","kill_instance","replace_runner","update_available","start_turn","steer_turn","steer_child_thread","interrupt_turn","stop_turn","compact_thread","rewind_thread","interrupt_queued_messages","resolve_codex_approval_request","resolve_claude_user_input_request","deny_claude_user_input_request","resolve_codex_user_input_request","deny_codex_user_input_request","update_session_settings","stream_idle_timeout_default","resolve_port_forward_request","update_thread_interaction_access","set_port_forward_enabled","read_thread","forward_http_request","forward_websocket_open","forward_websocket_send","forward_websocket_close","forward_tcp_open","forward_tcp_send","forward_tcp_close","update_runner_config","multi_agent_jobs_state","fleet_breaker_state","start_local_editor","set_commander_impl","invoke_cross_harness_switch"];function Dy(e){let t=ct(e);if(t===void 0)return{TAG:"Error",_0:at("expected a control object")};let r=t.control_seq,n=typeof r=="number"?r:void 0,i=t.type,o=typeof i=="string"?i:void 0;return o!==void 0?KOe.includes(o)?Ze(Kl(e,VOe),a=>({controlSeq:n,control:a})):{TAG:"Ok",_0:{controlSeq:n,control:{TAG:"Unknown",_0:{controlType:o,raw:t}}}}:{TAG:"Error",_0:at("control is missing a string `type`")}}var CVe=Pt(e=>({controlSeq:e.f("control_seq",Q(Cr)),event:e.f("event",B),payload:e.f("payload",fb(Ti))}));var JOe=10*6e4;function ZOe(e,t){let r=setTimeout(e,t);return r.unref(),r}function QOe(e){clearTimeout(e)}var Ku={setTimer:ZOe,clearTimer:QOe};function EK(e){if(e.windowMs<=0)return{TAG:"Error",_0:"dispatch liveness window must be > 0"};let t=v(e.now,()=>Date.now()),r=v(e.timers,Ku),n=t(),i={contents:e.lastActivityMs()},o={contents:void 0},a={contents:!1},s={contents:!1},l=()=>{let f=o.contents;if(f!==void 0){r.clearTimer(ce(f)),o.contents=void 0;return}},d=f=>{s.contents=!0,l(),e.onWedged({waitedMs:t()-n,cause:f})},u=()=>{if(!a.contents&&!s.contents){l(),o.contents=ve(r.setTimer(c,e.windowMs));return}},c=()=>{if(o.contents=void 0,a.contents||s.contents)return;if(e.isDelivered()){a.contents=!0;return}if(e.isSessionClosed())return d("session_closed");let f=e.lastActivityMs();return f>i.contents||e.hasPendingBlockingRequest()?(i.contents=f,u()):d("silent")};return u(),{TAG:"Ok",_0:{stopDispatchWatchdog:()=>{a.contents=!0,l()}}}}var PK=9e4;function RK(e){return JSON.parse(JSON.stringify(e))}function OA(e){return{type:"user",message:{role:"user",content:e},parent_tool_use_id:null}}function BD(e){return{TAG:"TurnKey",_0:e}}var EA=Z;function WD(e){if(e.TAG!=="InitialReleaseLease")return e._1}function HD(e){return e.TAG==="InitialReleaseLease"?e._1:e._2}function X_(e,t){return e.TAG==="InitialReleaseLease"?t.TAG==="InitialReleaseLease"&&e._0===t._0?Z(e._1,t._1):!1:t.TAG==="InitialReleaseLease"||!(e._0===t._0&&Z(e._1,t._1))?!1:Z(e._2,t._2)}var GK="Claude Code streaming input is closed";function YOe(e,t){let r={contents:0},n=()=>(r.contents=r.contents+1|0,{TAG:"Reader",_0:r.contents}),i={contents:0},o=()=>(i.contents=i.contents+1|0,{TAG:"TurnKey",_0:"legacy-turn-"+i.contents.toString()}),a=e.initialTurnKey,s=a!==void 0?a:o(),l=OA(e.content),d=t?[]:[l],u=t?[]:[{turnKey:s,sourceSeq:e.sourceSeq}],c=[],f=new Set,h=new Map;t||(f.add(s),h.set(l,s));let m=()=>{for(;;){let oe=o();if(!f.has(oe))return oe}},p={contents:0},_={contents:void 0},g={contents:void 0},b=new Set,y=[],S=new Map,T=[],w={contents:!1},A=oe=>new Promise((Te,qe)=>{S.set(oe,Te)}),P=(oe,Te)=>{let qe=S.get(oe);if(qe!==void 0)return S.delete(oe),qe(Te)},C=oe=>{P(oe,!0);let Te=h.get(oe);if(Te===void 0)return;h.delete(oe);let qe=e.onTurnPulled;if(qe!==void 0){Promise.resolve().then(()=>(qe(Te),Promise.resolve()));return}},k=oe=>{T.forEach(Te=>{if(!Z(Te.turnKey,oe))return;let qe=d.findIndex(Ne=>Z(Ne,Te.message));if(qe>=0)return d.splice(qe,1),P(Te.message,!1)})},$=()=>{let oe=w.contents;for(;oe;){let Te=y.shift();Te!==void 0?Te.settle("Done"):oe=!1}},V=(oe,Te,qe)=>{u.push({turnKey:qe,sourceSeq:Te}),h.set(oe,qe);let Ne=e.onInputDelivered;Ne!==void 0&&Ne();let ae=e.onSourceSeqDelivered;Te!==void 0&&ae!==void 0&&!b.has(Te)&&(b.add(Te),ae(Te));let Ue=y.shift();if(Ue!==void 0)return C(oe),Ue.settle({TAG:"Next",_0:oe});if(d.push(oe),t){g.contents={followUpMessage:oe,followUpSourceSeq:Te,followUpTurnKey:qe};return}else return},j=(oe,Te,qe)=>{let Ne=u.length!==0;return!t&&!Ne?(V(oe,Te,qe),"Delivered"):(c.push({followUpMessage:oe,followUpSourceSeq:Te,followUpTurnKey:qe}),{TAG:"Parked",queuePosition:c.length})},M=(oe,Te,qe)=>{let Ne=w.contents,ae=f.has(oe);return Ne?{TAG:"Error",_0:"QueueClosed"}:ae?{TAG:"Error",_0:{TAG:"DuplicateTurnKey",_0:oe}}:(f.add(oe),{TAG:"Ok",_0:j(OA(Te),qe,oe)})},q=(oe,Te)=>{let qe=m(),Ne=M(qe,oe,Te);if(Ne.TAG==="Ok")return{TAG:"Ok",_0:Ne._0};let ae=Ne._0;return typeof ae!="object"&&ae==="QueueClosed"?{TAG:"Error",_0:GK}:{TAG:"Error",_0:"Dispatch input queue rejected an internally generated turn key"}},te=oe=>{if(w.contents)return{TAG:"Error",_0:GK};let Te=OA(oe),qe=A(Te),Ne=rt(e.isLiveSteerAllowed,!1,Re=>Re()===!1);if(u.length===0){let Re=m();return f.add(Re),j(Te,void 0,Re),{TAG:"Ok",_0:{steered:"steered_queued",pulledImmediately:!1,applied:qe}}}if(Ne){let Re=m();return f.add(Re),j(Te,void 0,Re),{TAG:"Ok",_0:{steered:"steered_queued",pulledImmediately:!1,applied:qe}}}let Ue=y.shift();return{TAG:"Ok",_0:{steered:"steered_live",pulledImmediately:Ue!==void 0?(P(Te,!0),Ue.settle({TAG:"Next",_0:Te}),!0):(d.push(Te),!1),applied:qe}}},re=(oe,Te,qe)=>{let Ne=OA(qe),ae=T.find(qt=>qt.ticketId===Te);if(ae!==void 0){let qt=Z(ae.turnKey,oe),ge=Z(ae.message,Ne);return qt&&ge?{TAG:"Ok",_0:ae.outcome}:{TAG:"Error",_0:{TAG:"DuplicateSteerTicket",_0:Te}}}let Ue=w.contents,Oe=u[0];if(Ue)return{TAG:"Error",_0:"QueueClosed"};if(Oe===void 0)return{TAG:"Error",_0:"NoCurrentTurn"};if(!Z(Oe.turnKey,oe))return{TAG:"Error",_0:{TAG:"SteerTargetMismatch",_0:Oe.turnKey,_1:oe}};if(rt(e.isLiveSteerAllowed,!1,qt=>qt()===!1))return{TAG:"Error",_0:{TAG:"SteerTargetClosed",_0:oe}};let He=A(Ne),Je=y.shift(),Gt={steered:"steered_live",pulledImmediately:Je!==void 0?(P(Ne,!0),Je.settle({TAG:"Next",_0:Ne}),!0):(d.push(Ne),!1),applied:He};return T.push({turnKey:oe,ticketId:Te,message:Ne,outcome:Gt}),{TAG:"Ok",_0:Gt}},W=oe=>{let Te=d.shift();if(Te!==void 0){let Ne=g.contents;return Ne!==void 0&&Z(Ne.followUpMessage,Te)&&(g.contents=void 0),C(Te),Promise.resolve({TAG:"Next",_0:Te})}if(w.contents)return Promise.resolve("Done");let qe=e.onInputWait;return qe!==void 0&&qe(E(u[0],Ne=>Ne.sourceSeq)),new Promise((Ne,ae)=>{y.push({reader:oe,settle:Ne})})},F=()=>W(void 0),ee=oe=>W(oe),I=oe=>{let Te=Fe(y,qe=>{let Ne=qe.reader;if(Ne!==void 0&&Z(Ne,oe)){qe.settle("Done");return}else return qe});return y.splice(0,y.length,...Te),Promise.resolve()},R=()=>{let oe=g.contents;t&&oe!==void 0&&(h.delete(oe.followUpMessage),d.shift(),u.shift(),c.splice(0,0,oe),g.contents=void 0),t&&(d.splice(0,d.length),u.splice(0,u.length));let Te=u.length===0;if(!t&&Te){let qe=!0;for(;qe;){let Ne=c.shift();Ne!==void 0?V(Ne.followUpMessage,Ne.followUpSourceSeq,Ne.followUpTurnKey):qe=!1}}w.contents=!0,$(),S.forEach((qe,Ne)=>P(Ne,!1))},K=()=>{let oe=c.slice();return c.splice(0,c.length),oe},H=oe=>{let Te=w.contents,qe=_.contents,Ne=u[0];if(Te)return{TAG:"Error",_0:"QueueClosed"};if(qe!==void 0)return{TAG:"Error",_0:"ReleaseAlreadyPending"};if(Ne===void 0)return{TAG:"Error",_0:"NoCurrentTurn"};if(!Z(Ne.turnKey,oe))return{TAG:"Error",_0:{TAG:"PredecessorMismatch",_0:Ne.turnKey,_1:oe}};p.contents=p.contents+1|0;let ae=p.contents,Ue=z(c[0],Re=>Re.followUpTurnKey),Oe={TAG:"SuccessorReleaseLease",_0:ae,_1:oe,_2:Ue};return _.contents=Oe,{TAG:"Ok",_0:Oe}},ie=()=>{let oe=w.contents,Te=_.contents,qe=u[0],Ne=c[0];if(oe)return{TAG:"Error",_0:"QueueClosed"};if(Te!==void 0)return{TAG:"Error",_0:"ReleaseAlreadyPending"};if(qe!==void 0)return{TAG:"Error",_0:"ReleaseAlreadyPending"};if(Ne===void 0)return{TAG:"Error",_0:"NoCurrentTurn"};p.contents=p.contents+1|0;let ae=p.contents,Ue=Ne.followUpTurnKey,Oe={TAG:"InitialReleaseLease",_0:ae,_1:Ue};return _.contents=Oe,{TAG:"Ok",_0:Oe}},se=oe=>{let Te=w.contents,qe=_.contents;if(Te)return{TAG:"Error",_0:"QueueClosed"};if(qe===void 0)return{TAG:"Error",_0:"StaleReleaseLease"};if(!X_(qe,oe))return{TAG:"Error",_0:"StaleReleaseLease"};let Ne=u[0];if(oe.TAG==="InitialReleaseLease"){if(Ne!==void 0)return{TAG:"Error",_0:"ReleaseSuccessorChanged"};let He=c[0];return He!==void 0&&Z(He.followUpTurnKey,oe._1)?(_.contents=void 0,c.shift(),V(He.followUpMessage,He.followUpSourceSeq,He.followUpTurnKey),{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:"ReleaseSuccessorChanged"}}if(Ne===void 0)return{TAG:"Error",_0:"NoCurrentTurn"};let ae=oe._1;if(!Z(Ne.turnKey,ae))return{TAG:"Error",_0:{TAG:"PredecessorMismatch",_0:Ne.turnKey,_1:ae}};let Ue=z(c[0],He=>He.followUpTurnKey);if(!Z(Ue,oe._2))return{TAG:"Error",_0:"ReleaseSuccessorChanged"};k(ae);let Oe=g.contents;if(t&&Oe!==void 0&&Z(Oe.followUpTurnKey,ae)){let He=d.findIndex(Je=>Z(Je,Oe.followUpMessage));He>=0&&d.splice(He,1),h.delete(Oe.followUpMessage),g.contents=void 0}u.shift(),_.contents=void 0;let Re=c.shift();return Re!==void 0&&V(Re.followUpMessage,Re.followUpSourceSeq,Re.followUpTurnKey),{TAG:"Ok",_0:Ne.sourceSeq}};return{next:F,openReader:n,nextFor:ee,cancelReader:I,close:R,enqueue:q,enqueueTurn:M,enqueueSteer:te,enqueueSteerFor:re,drainUndeliveredFollowUps:K,beginRelease:H,beginInitialRelease:ie,commitRelease:se,cancelRelease:oe=>{let Te=w.contents,qe=_.contents;return Te?{TAG:"Error",_0:"QueueClosed"}:qe!==void 0&&X_(qe,oe)?(_.contents=void 0,{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:"StaleReleaseLease"}},retract:oe=>{let Te=c.findIndex(ae=>Z(ae.followUpTurnKey,oe)),qe=w.contents,Ne=Te>=0;return qe?{TAG:"Error",_0:"QueueClosed"}:Ne?(c.splice(Te,1),{TAG:"Ok",_0:void 0}):{TAG:"Error",_0:{TAG:"TurnNotDeferred",_0:oe}}},completeTurn:()=>{let oe=w.contents,Te=u[0];if(Te===void 0)return;if(oe)return E(u.shift(),ae=>ae.sourceSeq);let qe=H(Te.turnKey);if(qe.TAG!=="Ok")return;let Ne=se(qe._0);if(Ne.TAG==="Ok")return Ne._0},currentSourceSeq:()=>E(u[0],oe=>oe.sourceSeq),currentTurnKey:()=>z(u[0],oe=>oe.turnKey)}}function IK(e){let t=YOe({content:null,sourceSeq:void 0,initialTurnKey:{TAG:"TurnKey",_0:"empty-staged-queue-placeholder"},onInputDelivered:e.onInputDelivered,onTurnPulled:e.onTurnPulled,isLiveSteerAllowed:e.isLiveSteerAllowed,onInputWait:e.onInputWait,onSourceSeqDelivered:e.onSourceSeqDelivered},!0);return{openReader:t.openReader,nextFor:t.nextFor,cancelReader:t.cancelReader,close:t.close,enqueueTurn:t.enqueueTurn,enqueueSteerFor:t.enqueueSteerFor,drainUndeliveredFollowUps:t.drainUndeliveredFollowUps,beginRelease:t.beginRelease,beginInitialRelease:t.beginInitialRelease,commitRelease:t.commitRelease,cancelRelease:t.cancelRelease,retract:t.retract,currentSourceSeq:t.currentSourceSeq,currentTurnKey:t.currentTurnKey}}function KD(e,t){let r=async()=>{let o=await e.nextFor(t);return typeof o!="object"?{done:!0}:{done:!1,value:RK(o._0)}},n=()=>e.cancelReader(t).then(()=>({done:!0})),i={};return i[Symbol.asyncIterator]=()=>({next:r,return:n}),i}function JD(e){return import(e)}var MK="@anthropic-ai/claude-agent-sdk";function XOe(e){return{next:()=>e.next(),close:()=>{e.close()},interrupt:()=>e.interrupt(),setModel:t=>e.setModel(t),setPermissionMode:t=>e.setPermissionMode(t),applyFlagSettings:t=>e.applyFlagSettings(t),supportedCommands:()=>e.supportedCommands()}}async function $K(){let e=await JD(MK);return{query:t=>XOe(e.query(t)),getSessionInfo:(t,r)=>e.getSessionInfo(t,r),listSessions:t=>e.listSessions(t),getSessionMessages:(t,r)=>e.getSessionMessages(t,r)}}async function eEe(e,t){try{let r=await e();return t(r),{TAG:"Ok",_0:void 0}}catch(r){let n=N(r);return{TAG:"Error",_0:v(E(St(n),At),"unknown Claude authentication probe failure")}}}function tEe(e,t){return{options:{cwd:e,pathToClaudeCodeExecutable:t,persistSession:!1,settingSources:["user","project","local"],tools:[]},initializeTimeoutMs:15e3}}async function ZD(e,t){return await eEe(async()=>await(await JD(MK)).startup(tEe(e,t)),r=>{r.close()})}var QD=["codex","claude-code","pi","opencode"];function fp(e){return e}function PA(e){switch(e.TAG){case"SessionStarted":return"session_started";case"TurnStarted":return"turn_started";case"ItemStarted":return"item_started";case"ItemDelta":return"item_delta";case"ItemCompleted":return"item_completed";case"ApprovalRequested":return"approval_requested";case"UsageUpdated":return"usage_updated";case"RateLimitUpdated":return"rate_limit_updated";case"ActivityPulse":return"activity_pulse";case"TurnCompleted":return"turn_completed";case"TurnFailed":return"turn_failed";case"TurnInterrupted":return"turn_interrupted";case"HarnessDied":return"harness_died"}}import*as FK from"node:child_process";var nEe=/^(\d+)\s+(\d+)\s+(.*)$/;function XD(e,t){return v(v(e.slice(1)[t],void 0),"")}function iEe(e){return Fe(e.split(`
|
|
504
504
|
`).map(t=>t.trim()).filter(t=>t!==""),t=>{let r=nEe.exec(t);if(r==null)return;let n=i=>{let o=ei(XD(r,i));return o!==void 0?o:0};return{pid:n(0),ppid:n(1),command:XD(r,2)}})}var oEe=/:(\d+)(?:\s|\(|$)/;function aEe(e){let t=oEe.exec(e);if(t!=null)return ei(XD(t,0))}function sEe(e){let t=[],r={currentPid:void 0,currentCommand:void 0};return e.split(`
|
|
505
505
|
`).forEach(n=>{let i=n.trim();if(i.startsWith("p")){r.currentPid=Number(i.slice(1)),r.currentCommand=void 0;return}if(i.startsWith("c")){r.currentCommand=i.slice(1);return}let o=i.startsWith("n"),a=r.currentPid;if(!o||a===void 0)return;let s=aEe(i.slice(1));if(s!==void 0){t.push({pid:a,port:s,command:v(r.currentCommand,"unknown")});return}}),t}function lEe(e){let t={},r={contents:void 0};return e.split(`
|
|
506
506
|
`).forEach(n=>{let i=n.trim();if(i.startsWith("p")){r.contents=Number(i.slice(1));return}let o=i.startsWith("n"),a=r.contents;if(!o||a===void 0)return;let s=i.slice(1).trim();if(s!==""){t[a.toString()]=s;return}}),t}function eM(e){let t=St(e);if(t===void 0)return"unknown scan failure";let r=ce(t),n=At(r);return n!==void 0?n:String(r)}var dEe=[5e3,3e4];async function uEe(e,t){let r={contents:void 0},i=Fr((async()=>(await e(),"BudgetOk"))(),l=>Promise.resolve({TAG:"BudgetError",_0:eM(l)})),o=new Promise((l,d)=>{r.contents=ve(setTimeout(()=>l({TAG:"BudgetError",_0:"port scan exceeded its "+t.toString()+"ms budget (probe never settled)"}),t))}),a=await Promise.race([i,o]),s=r.contents;return s!==void 0&&clearTimeout(ce(s)),a}function cEe(e,t,r,n,i){let o=[e].concat(t),a=v(r,2e4),s=[],l={timer:void 0,running:!1,scanning:!1,promptScanRequested:!1,tickEpoch:0,consecutiveFailures:0,notifiedIntervalMs:e,cwdCache:void 0},d=()=>v(o[Math.min(l.consecutiveFailures,o.length-1|0)],e),u=()=>s.filter(_=>!_.closed),c=_=>{let g=d();if(g===l.notifiedIntervalMs)return;l.notifiedIntervalMs=g;let y={consecutiveFailures:l.consecutiveFailures,intervalMs:g,errorMessage:_};u().forEach(S=>{let T=S.subscriber.onBackoff;if(T!==void 0)try{return T(y)}catch{return}})},f=_=>{l.notifiedIntervalMs=e,u().forEach(g=>{let b=g.subscriber.onRecovered;if(b!==void 0)try{return b(_)}catch{return}})},h=async _=>{let g=await Promise.all([n.scanProcesses(),n.scanListenSockets()]);if(_!==l.tickEpoch||!l.running)return;let b=g[1],y=g[0],S=[];u().forEach(j=>{let M;try{M=j.subscriber.candidatePids(y,b)}catch{M=void 0}if(M!==void 0){M.forEach(q=>{if(Number.isInteger(q)&&q>0&&!S.includes(q)){S.push(q);return}});return}});let T=S.toSorted((j,M)=>j-M),w=T.map(j=>j.toString()).join(","),A=i(),P=l.cwdCache,C,k=0;if(P!==void 0&&P.cacheKey===w&&A-P.cachedAtMs<3e4?C=P.cacheValue:k=1,k===1){let j=await n.scanProcessCwds(T);l.cwdCache={cacheKey:w,cacheValue:j,cachedAtMs:A},C=j}if(_!==l.tickEpoch||!l.running)return;let $=i(),V={processRows:y,listenSockets:b,processCwds:C,scannedAtMs:$};s.slice().forEach(j=>{if(j.closed||j.delivering)return;j.delivering=!0,Fr((async()=>{if(!j.closed)return await j.subscriber.deliver(V)})(),q=>{let te=j.subscriber.onError;if(te!==void 0)try{te(eM(q))}catch{}return Promise.resolve()}).finally(()=>{j.delivering=!1})})},m=_=>{if(!l.running)return;let g=l.timer;g!==void 0&&clearTimeout(ce(g)),l.timer=ve(setTimeout(p,_))},p=()=>{if(l.timer=void 0,!l.running||l.scanning)return;l.scanning=!0,l.tickEpoch=l.tickEpoch+1|0;let _=l.tickEpoch;(async()=>{let b=await uEe(()=>h(_),a);if(typeof b!="object"){if(l.consecutiveFailures>0){let S=l.consecutiveFailures;l.consecutiveFailures=0,f(S)}}else l.consecutiveFailures=l.consecutiveFailures+1|0,l.cwdCache=void 0,c(b._0);l.scanning=!1;let y=l.promptScanRequested&&l.consecutiveFailures===0?0:d();return l.promptScanRequested=!1,m(y)})()};return{subscribe:_=>{let g={subscriber:_,delivering:!1,closed:!1};return s.push(g),l.running?l.consecutiveFailures===0&&(l.scanning?l.promptScanRequested=!0:m(0)):(l.running=!0,p()),{unsubscribe:()=>{if(g.closed)return;g.closed=!0;let b=Td(s,g);if(b!==void 0&&s.splice(b,1),s.length!==0)return;l.running=!1,l.tickEpoch=l.tickEpoch+1|0,l.consecutiveFailures=0,l.notifiedIntervalMs=e,l.promptScanRequested=!1,l.cwdCache=void 0;let y=l.timer;if(y!==void 0){clearTimeout(ce(y)),l.timer=void 0;return}}}},subscriberCount:()=>s.length,isRunning:()=>l.running}}function jK(e,t,r,n){let i=t!==void 0?t:vo;return new Promise((o,a)=>{try{let s=FK.spawn(r,n,{stdio:["ignore","pipe","pipe"],detached:!0}),l={contents:""},d={contents:""},u={contents:!1},c={contents:void 0},f={contents:void 0},h=S=>{if(!u.contents)return u.contents=!0,Nl(f.contents,T=>{clearTimeout(T)}),o(S)},m=S=>{if(c.contents!==void 0)return;c.contents=S;let w=s.pid;if(w==null)return;let A=i(-w|0,"SIGKILL");if(A.TAG==="Ok")return;let P=A._0;if(P.code==="ESRCH")return;let k=S+"; probe process-group kill failed: "+P.message;c.contents=k,h({error:k,exitCode:void 0,stdout:l.contents,stderr:d.contents})},p=S=>{try{return process.kill(-S,0),!0}catch{return!1}},_=(S,T,w)=>{if(!p(T)||Date.now()>=w)return h(S);setImmediate(()=>_(S,T,w))},g=(S,T)=>{let w=S.contents+T.toString("utf8");if(w.length>16e6)return m(e+" exceeded its 16000000 byte output budget; process group killed");S.contents=w},b=s.stdout;b?.on("data",S=>g(l,S));let y=s.stderr;y?.on("data",S=>g(d,S)),s.once("error",S=>h({error:v(At(S),e+" probe failed"),exitCode:void 0,stdout:l.contents,stderr:d.contents})),s.once("close",(S,T)=>{let w=z(S==null?void 0:ve(S),M=>M),A=c.contents,P=A!==void 0?A:w!==void 0?w!==0?e+" failed with status "+w.toString():void 0:T==null?e+" exited without a status":e+" exited from signal "+T,C=l.contents,k=d.contents,$={error:P,exitCode:w,stdout:C,stderr:k},V=c.contents,j=s.pid;return V!==void 0&&j!=null?_($,j,Date.now()+5e3):h($)}),f.contents=ve(setTimeout(()=>s.pid==null?h({error:e+" timed out before spawn produced a process id",exitCode:void 0,stdout:l.contents,stderr:d.contents}):m(e+" timed out after 5000ms; process group killed"),5e3));return}catch(s){let l=N(s);return o({error:eM(l),exitCode:void 0,stdout:"",stderr:""})}})}function YD(e,t){let r=t.stderr.trim();return r===""?v(t.error,e+" probe failed"):e+" probe failed: "+r}function fEe(){let e=t=>jK("lsof",void 0,"/bin/sh",["-c","ulimit -n 1024 2>/dev/null; exec lsof "+t]);return{scanProcesses:async()=>{let t=await jK("ps",void 0,"ps",["-axo","pid=,ppid=,command="]);return t.error!==void 0?await Promise.reject(YD("ps",t)):iEe(t.stdout)},scanListenSockets:async()=>{let t=await e("-nP -iTCP -sTCP:LISTEN -FpPcn"),r=t.error,n=t.exitCode,i=t.stdout.trim(),o=t.stderr.trim();return r===void 0?sEe(t.stdout):n===1&&i===""&&o===""?[]:await Promise.reject(YD("lsof",t))},scanProcessCwds:async t=>{let r=[];if(t.forEach(d=>{if(Number.isInteger(d)&&d>0&&!r.includes(d)){r.push(d);return}}),r.length===0)return{};let n=r.map(d=>d.toString()).join(","),i=await e("-a -p "+n+" -d cwd -Fn"),o=i.error,a=i.exitCode,s=i.stdout.trim(),l=i.stderr.trim();return o===void 0?lEe(i.stdout):a===1&&s===""&&l===""?{}:await Promise.reject(YD("lsof cwd",i))}}}function NK(){return cEe(1e3,dEe,void 0,fEe(),e=>Date.now())}function nM(e){switch(e){case"BindingNotObject":return"binding_not_object";case"SessionIdInvalid":return"session_id_invalid";case"LeaseEpochInvalid":return"lease_epoch_invalid";case"NextFrameIndexInvalid":return"next_frame_index_invalid";case"CheckpointConfigMissing":return"checkpoint_config_missing";case"CheckpointConfigInvalid":return"checkpoint_config_invalid";case"SourceSeqInvalid":return"source_seq_invalid"}}function tM(e){return"adt_stream_v1 dispatch refused: "+nM(e)+"; the commander refuses to stream unconfigured (no baked fallback thresholds exist by law - plan doc 2.4/MF9)"}function zK(e){switch(e){case"Checkpoint":return"checkpoint";case"Delta":return"delta";case"Terminal":return"terminal"}}function RA(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function mp(e){if(e!==void 0&&typeof e=="number"&&e>=1&&Math.trunc(e)===e)return e}function pEe(e){let t=RA(e);if(t===void 0)return;let r=mp(t.version),n=E(t.thresholds,RA);if(r===void 0||n===void 0)return;let i=mp(n.max_bytes),o=mp(n.max_deltas),a=mp(n.max_interval_ms);if(i!==void 0&&o!==void 0&&a!==void 0)return{version:r,thresholds:{maxBytes:i,maxDeltas:o,maxIntervalMs:a}}}function hEe(e){let t=RA(e);if(t===void 0)return{TAG:"ParseRefused",_0:"BindingNotObject"};let r=mp(t.session_id);if(r===void 0)return{TAG:"ParseRefused",_0:"SessionIdInvalid"};let n=mp(t.lease_epoch);if(n===void 0)return{TAG:"ParseRefused",_0:"LeaseEpochInvalid"};let i=mp(t.next_frame_index);if(i===void 0)return{TAG:"ParseRefused",_0:"NextFrameIndexInvalid"};let o=t.checkpoint_config;if(o===void 0)return{TAG:"ParseRefused",_0:"CheckpointConfigMissing"};let a=pEe(o);return a!==void 0?{TAG:"Parsed",_0:{sessionId:r,leaseEpoch:n,nextFrameIndex:i,checkpointConfig:a}}:{TAG:"ParseRefused",_0:"CheckpointConfigInvalid"}}function _Ee(e){return po(zK(e.frameKind)+`
|
package/dist/impl-ts/index.js
CHANGED
|
@@ -1556,7 +1556,7 @@ To kick the agent off:
|
|
|
1556
1556
|
`,M=Buffer.byteLength(P,"utf8");if(M>s)return l("runner_diagnostics.spool_entry_dropped",{reason:"entry_too_large",entry_bytes:M,max_entry_bytes:s}),!1;z1e(n,{recursive:!0}),f(u)+M>i&&h(),_(M);let E=b()?`
|
|
1557
1557
|
`:"";return L1e(u,`${E}${P}`,"utf8"),!0}catch(S){return l("runner_diagnostics.spool_failed",{error:S instanceof Error?S.message:String(S)}),!1}},v=k=>{let S=[],P=B1e(k,"utf8");for(let M of P.split(`
|
|
1558
1558
|
`))if(M.trim()!=="")try{let E=JSON.parse(M);E!==null&&typeof E=="object"&&S.push({parsed:E,raw:M})}catch{}return S};return{append:w,drain:async k=>{if(c)return{uploadedBatches:0,uploadedEntries:0,remainingBatches:p().length,skipped:!0};c=!0;let S=0,P=0;try{h(),_(0);let M=a()-o;for(let E of p()){let O;try{O=v(E)}catch(V){l("runner_diagnostics.spool_batch_unreadable",{file:E,error:V instanceof Error?V.message:String(V)}),m(E,"unreadable");continue}let K=O.filter(V=>{let H=s2e(V.parsed);return H===void 0||H>=M});if(K.length===0){m(E,"empty_or_expired");continue}let W=DA(E,".jsonl"),Z=K.map(V=>V.raw).join(`
|
|
1559
|
-
`),Y=K.map(V=>V.parsed.spooled_at).filter(V=>typeof V=="string"),$={bundle_name:"runner-diagnostics-spool",exported_at:new Date(a()).toISOString(),idempotency_key:W,diagnostics:{kind:"runner_diagnostic_log",spool_batch:!0,idempotency_key:W,entry_count:K.length,...Y.length===0?{}:{first_spooled_at:Y[0],last_spooled_at:Y[Y.length-1]}},telemetry_ndjson:Z};try{await k($)}catch(V){l("runner_diagnostics.spool_upload_failed",{file:E,remaining_batches:p().length,error:V instanceof Error?V.message:String(V)});break}S+=1,P+=K.length;try{MW(E)}catch(V){l("runner_diagnostics.spool_delete_failed",{file:E,error:V instanceof Error?V.message:String(V)})}}}catch(M){l("runner_diagnostics.spool_drain_failed",{error:M instanceof Error?M.message:String(M)})}finally{c=!1}return{uploadedBatches:S,uploadedEntries:P,remainingBatches:p().length,skipped:!1}},pendingBatchFiles:p}}var H1e,Z1e,Q1e,X1e,Y1e,DW,n2e,t2e,$W=z(()=>{"use strict";nv();H1e=32*1024*1024,Z1e=10080*60*1e3,Q1e=4*1024*1024,X1e=1024*1024,Y1e="spool.jsonl",DW=/^batch-(\d{1,16})-[0-9a-f-]+\.jsonl$/;n2e=/\b([A-Z][A-Z0-9_]{1,})=("[^"\n]*"|'[^'\n]*'|[^\s"'`;,)\]}]+)/g,t2e=/(?:\/(?:[A-Za-z0-9._@~+-]|%[0-9A-Fa-f]{2})+){2,}/g});var sr,$A,sd=z(()=>{"use strict";sr="1.0.
|
|
1559
|
+
`),Y=K.map(V=>V.parsed.spooled_at).filter(V=>typeof V=="string"),$={bundle_name:"runner-diagnostics-spool",exported_at:new Date(a()).toISOString(),idempotency_key:W,diagnostics:{kind:"runner_diagnostic_log",spool_batch:!0,idempotency_key:W,entry_count:K.length,...Y.length===0?{}:{first_spooled_at:Y[0],last_spooled_at:Y[Y.length-1]}},telemetry_ndjson:Z};try{await k($)}catch(V){l("runner_diagnostics.spool_upload_failed",{file:E,remaining_batches:p().length,error:V instanceof Error?V.message:String(V)});break}S+=1,P+=K.length;try{MW(E)}catch(V){l("runner_diagnostics.spool_delete_failed",{file:E,error:V instanceof Error?V.message:String(V)})}}}catch(M){l("runner_diagnostics.spool_drain_failed",{error:M instanceof Error?M.message:String(M)})}finally{c=!1}return{uploadedBatches:S,uploadedEntries:P,remainingBatches:p().length,skipped:!1}},pendingBatchFiles:p}}var H1e,Z1e,Q1e,X1e,Y1e,DW,n2e,t2e,$W=z(()=>{"use strict";nv();H1e=32*1024*1024,Z1e=10080*60*1e3,Q1e=4*1024*1024,X1e=1024*1024,Y1e="spool.jsonl",DW=/^batch-(\d{1,16})-[0-9a-f-]+\.jsonl$/;n2e=/\b([A-Z][A-Z0-9_]{1,})=("[^"\n]*"|'[^'\n]*'|[^\s"'`;,)\]}]+)/g,t2e=/(?:\/(?:[A-Za-z0-9._@~+-]|%[0-9A-Fa-f]{2})+){2,}/g});var sr,$A,sd=z(()=>{"use strict";sr="1.0.223",$A=`linzumi ${sr}`});import{closeSync as jW,existsSync as jA,mkdirSync as a2e,openSync as LW,readFileSync as FW,renameSync as d2e,unlinkSync as Fu,writeFileSync as u2e,writeSync as NW}from"node:fs";import{dirname as zW,join as c2e}from"node:path";function LA(e){return e instanceof ca||e instanceof Error&&e.name===BW&&"lockPath"in e&&"heldBy"in e}function FA(e,n=pt(),t){let r=t===void 0?encodeURIComponent(e):Eu(t);return c2e(zW(n),"runners",`${r}.lock`)}function _w(e){let n=FA(e.machineId,e.configPath,e.linzumiUrl),t=e.isPidAlive??ZW,r=e.now??(()=>new Date),o=e.killPid??S2e,i=r().toISOString(),s={version:1,machineId:e.machineId,runnerId:e.runnerId,pid:e.pid??process.pid,cwd:e.cwd,workspace:e.workspace,...e.linzumiUrl===void 0?{}:{linzumiUrl:tt(e.linzumiUrl)},...e.launchSource===void 0?{}:{launchSource:e.launchSource},startedAt:i,heartbeatAt:i,cliVersion:e.cliVersion??sr,...e.gracefulUpdateDrain===!0?{gracefulUpdateDrain:!0}:{}};m2e(e.machineId,e.configPath,e.linzumiUrl,t,r,o,e.onTakeover),h2e(n,s,t,r,o,e.onTakeover,e.beforeReadExistingLock,e.beforeReplaceStaleLock);let a=()=>JW(n,s,r),d=setInterval(a,UW);return d.unref(),{path:n,record:s,heartbeat:a,release:()=>{clearInterval(d),GW(n,s)}}}function JW(e,n,t){try{let r=bw(e);if(r===void 0||r.machineId!==n.machineId||r.runnerId!==n.runnerId||r.pid!==n.pid||r.startedAt!==n.startedAt)return;let o={...r,heartbeatAt:t().toISOString()},i=`${e}.tmp`;u2e(i,`${JSON.stringify(o,null,2)}
|
|
1560
1560
|
`,"utf8"),d2e(i,e)}catch{}}function Nu(e,n,t){if(!n(e.pid))return{state:"dead"};let r=e.heartbeatAt??e.startedAt,o=Date.parse(r);return Number.isNaN(o)||t().getTime()-o>l2e?{state:"wedged",reason:e.heartbeatAt===void 0?"missing_heartbeat":"stale_heartbeat"}:{state:"live"}}function KW(e,n,t,r){return t!==xw||e.launchSource!==xw?!1:r.state!=="live"?!0:p2e(n,e.cliVersion)>0}function p2e(e,n){let t=qW(e),r=qW(n);for(let o=0;o<3;o++){let i=t.core[o],s=r.core[o];if(i===void 0||s===void 0)throw new Error(`compareCliVersions: unexpected undefined at core index ${o}`);if(i!==s)return i>s?1:-1}return t.prerelease.length===0&&r.prerelease.length===0?0:t.prerelease.length===0?1:r.prerelease.length===0?-1:f2e(t.prerelease,r.prerelease)}function qW(e){let n=e.trim().replace(/^v/i,"").split("+",1)[0]??"",t=n.indexOf("-"),r=t===-1?n:n.slice(0,t),o=t===-1?"":n.slice(t+1),i=r.split("."),s=[qA(i[0]),qA(i[1]),qA(i[2])],a=o===""?[]:o.split(".").filter(d=>d!=="");return{core:s,prerelease:a}}function qA(e){let n=Number.parseInt(e??"",10);return Number.isInteger(n)&&n>=0?n:0}function f2e(e,n){let t=Math.max(e.length,n.length);for(let r=0;r<t;r++){let o=e[r],i=n[r];if(o===void 0)return-1;if(i===void 0)return 1;let s=Number.parseInt(o,10),a=Number.parseInt(i,10),d=s.toString()===o,u=a.toString()===i;if(d&&u){if(s!==a)return s>a?1:-1}else{if(d!==u)return d?-1:1;if(o!==i)return o>i?1:-1}}return 0}function VW(e,n,t,r,o){try{r(n.pid)}catch(i){let s=i!==null&&typeof i=="object"&&"code"in i?i.code:void 0;if(s!=="ESRCH")throw s==="EPERM"||s==="EACCES"?new Error(`Cannot take over the runner lock at ${e}: its holder process (pid ${n.pid}) is owned by another user and cannot be stopped. Stop that process, or remove the lock file, then retry.`):i}o?.({lockPath:e,holderPid:n.pid,holderRunnerId:n.runnerId,reason:t})}function m2e(e,n,t,r,o,i,s){if(t===void 0||zr(t)!==zr(yr))return;let a=FA(e,n),d=bw(a);if(d!==void 0){if(Nu(d,r,o).state==="live")throw new ca(a,d);WW(a,r,()=>{let u=jA(a)?NA(a):void 0;if(u===void 0)return;let c=Nu(u,r,o);if(c.state==="live")throw new ca(a,u);c.state==="wedged"&&VW(a,u,c.reason,i,s),Fu(a)})}}function h2e(e,n,t,r,o,i,s,a){if(yw(e,n))return;s?.();let d=bw(e);if(d===void 0){if(yw(e,n))return;throw new Error(`another Linzumi runner lock appeared while starting: ${e}`)}if(Nu(d,t,r).state==="live")throw new ca(e,d);a?.(),WW(e,t,()=>{let u=jA(e)?NA(e):void 0;if(u!==void 0){let c=Nu(u,t,r);if(c.state==="live")throw new ca(e,u);c.state==="wedged"&&VW(e,u,c.reason,o,i),Fu(e)}if(!yw(e,n))throw new Error(`another Linzumi runner lock appeared while starting: ${e}`)})}function yw(e,n){a2e(zW(e),{recursive:!0});try{let t=LW(e,"wx");try{NW(t,`${JSON.stringify(n,null,2)}
|
|
1561
1561
|
`)}finally{jW(t)}return!0}catch(t){if(Pp(t,"EEXIST"))return!1;throw t}}function WW(e,n,t){let r=`${e}.replace`;for(;;)try{let o=LW(r,"wx");try{NW(o,`${process.pid}
|
|
1562
1562
|
`),t()}finally{jW(o),Fu(r)}return}catch(o){if(Pp(o,"EEXIST")){let i=g2e(r);if(i===void 0)continue;if(n(i))throw new Error(["another Linzumi runner is already replacing a stale runner lock",`lock: ${e}`,"Wait for that startup to finish, then retry."].join(`
|
package/package.json
CHANGED