@qitqode/qitqode-android-arm64 0.1.20 → 0.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/bundle/{chunk-rdsae6k4.js → chunk-04ezvjjf.js} +1 -1
  2. package/bundle/{chunk-wmqcz5rb.js → chunk-07b36w5g.js} +1 -1
  3. package/bundle/{chunk-1qw3yh13.js → chunk-0jv8r99k.js} +3 -3
  4. package/bundle/chunk-0qrpg3n8.js +2 -0
  5. package/bundle/{chunk-6tjghyx6.js → chunk-18xhxdsh.js} +1 -1
  6. package/bundle/{chunk-5549c7mb.js → chunk-1zb95qfx.js} +1 -1
  7. package/bundle/{chunk-knwayz0m.js → chunk-2bbvvh0d.js} +1 -1
  8. package/bundle/{chunk-k5vwx1nv.js → chunk-2bxy8zm1.js} +1 -1
  9. package/bundle/{chunk-b2ky15zx.js → chunk-2epf5806.js} +1 -1
  10. package/bundle/{chunk-aej69zjj.js → chunk-2p6w3w8f.js} +1 -1
  11. package/bundle/{chunk-q39h31te.js → chunk-3f6t3wde.js} +3 -3
  12. package/bundle/{chunk-8k1q3g8s.js → chunk-40vz0fhv.js} +1 -1
  13. package/bundle/{chunk-fegrrsfj.js → chunk-50aznc8e.js} +1 -1
  14. package/bundle/{chunk-dvn528qs.js → chunk-5a80qybt.js} +1 -1
  15. package/bundle/{chunk-r2waj5n2.js → chunk-6hkv9411.js} +1 -1
  16. package/bundle/{chunk-9a5nck3f.js → chunk-6pe3xzkk.js} +1 -1
  17. package/bundle/{chunk-w0fg8n1f.js → chunk-73d0dy03.js} +1 -1
  18. package/bundle/{chunk-b49rxw15.js → chunk-7az1bpy8.js} +1 -1
  19. package/bundle/{chunk-c4mxtqyq.js → chunk-8r4xs1q9.js} +1 -1
  20. package/bundle/{chunk-xb031er5.js → chunk-8x6x3g16.js} +1 -1
  21. package/bundle/{chunk-w8rvjbgr.js → chunk-9ac4h2d9.js} +1 -1
  22. package/bundle/{chunk-3makpbng.js → chunk-a3a9bbk7.js} +1 -1
  23. package/bundle/{chunk-1q2vhe78.js → chunk-anqjy235.js} +1 -1
  24. package/bundle/{chunk-0x0a51w3.js → chunk-b5h8vd5n.js} +1 -1
  25. package/bundle/{chunk-3gdqmave.js → chunk-bn6mg34g.js} +2 -2
  26. package/bundle/{chunk-k728fzrr.js → chunk-btjcs9ee.js} +1 -1
  27. package/bundle/{chunk-p77m937s.js → chunk-c6wrjyep.js} +1 -1
  28. package/bundle/{chunk-pn77fh9b.js → chunk-cckshvkb.js} +1 -1
  29. package/bundle/{chunk-gspdrdyq.js → chunk-dcyzpkww.js} +1 -1
  30. package/bundle/{chunk-k6z419yx.js → chunk-dgsg31vm.js} +1 -1
  31. package/bundle/{chunk-jc0wbpjq.js → chunk-ds162xgb.js} +1 -1
  32. package/bundle/{chunk-hjvje9xj.js → chunk-eb0ksh4x.js} +1 -1
  33. package/bundle/{chunk-4pedvzse.js → chunk-f03yje8k.js} +1 -1
  34. package/bundle/{chunk-anse7bd0.js → chunk-fssgbz70.js} +1 -1
  35. package/bundle/{chunk-mpn5qm9j.js → chunk-fyd31m33.js} +1 -1
  36. package/bundle/{chunk-0fwz5r1k.js → chunk-fydd2nmw.js} +1 -1
  37. package/bundle/{chunk-9g4hz1st.js → chunk-g2bw2qf5.js} +1 -1
  38. package/bundle/{chunk-qq48ffjc.js → chunk-h5wh2d49.js} +1 -1
  39. package/bundle/{chunk-0pbpzty2.js → chunk-ha5qct06.js} +1 -1
  40. package/bundle/{chunk-fgqrcjsm.js → chunk-hf0gny5t.js} +1 -1
  41. package/bundle/{chunk-n0y1ea17.js → chunk-ht1hqsaa.js} +1 -1
  42. package/bundle/{chunk-7myavy3p.js → chunk-jee9y4t0.js} +1 -1
  43. package/bundle/{chunk-tp7sfreh.js → chunk-k6eyc1wv.js} +1 -1
  44. package/bundle/{chunk-p41h8naw.js → chunk-k9m536te.js} +1 -1
  45. package/bundle/{chunk-7nas10jx.js → chunk-kv58j3yk.js} +1 -1
  46. package/bundle/{chunk-dp3hqm2m.js → chunk-mbkw9s6e.js} +1 -1
  47. package/bundle/{chunk-1gj0m10e.js → chunk-msqx5bb0.js} +1 -1
  48. package/bundle/{chunk-s2g5989e.js → chunk-n39gqxkz.js} +1 -1
  49. package/bundle/{chunk-vh8w0ea8.js → chunk-nk42gy65.js} +1 -1
  50. package/bundle/{chunk-v7yvnnmr.js → chunk-p20ft5mj.js} +1 -1
  51. package/bundle/{chunk-ej3gmaba.js → chunk-qq9pvscd.js} +1 -1
  52. package/bundle/{chunk-2w154wad.js → chunk-qwf258sw.js} +1 -1
  53. package/bundle/{chunk-zafrxr1q.js → chunk-qy9s3nmy.js} +1 -1
  54. package/bundle/{chunk-dgbvsnqb.js → chunk-r0zsgad8.js} +1 -1
  55. package/bundle/{chunk-1brsnwhv.js → chunk-r4hkkcj4.js} +1 -1
  56. package/bundle/{chunk-28knamc9.js → chunk-rbrkvj3x.js} +1 -1
  57. package/bundle/{chunk-zfvk6zjj.js → chunk-rhgfyvth.js} +1 -1
  58. package/bundle/{chunk-ysxmk1z1.js → chunk-rpy4rgmm.js} +1 -1
  59. package/bundle/{chunk-skjge2wh.js → chunk-rry321tn.js} +1 -1
  60. package/bundle/{chunk-y36ggefa.js → chunk-t8365msg.js} +1 -1
  61. package/bundle/{chunk-ghmctw8s.js → chunk-tcp31yv0.js} +1 -1
  62. package/bundle/{chunk-ckhhm2m8.js → chunk-th189x63.js} +1 -1
  63. package/bundle/{chunk-3fzgbam3.js → chunk-v07wtbmt.js} +1 -1
  64. package/bundle/{chunk-xbxgrwvy.js → chunk-v6kenrks.js} +1 -1
  65. package/bundle/{chunk-471yj527.js → chunk-vmhq6cyz.js} +1 -1
  66. package/bundle/{chunk-gfm4vad7.js → chunk-vpp88hhd.js} +173 -173
  67. package/bundle/{chunk-6bq7rx7m.js → chunk-vvs87e61.js} +1 -1
  68. package/bundle/chunk-wg0849tq.js +2 -0
  69. package/bundle/{chunk-nt07vncv.js → chunk-x4b0ywbs.js} +1 -1
  70. package/bundle/{chunk-c422awkv.js → chunk-x8w2xgx6.js} +1 -1
  71. package/bundle/{chunk-pskkmca2.js → chunk-xj0ba60b.js} +1 -1
  72. package/bundle/{chunk-rmmrnx95.js → chunk-xjdxyeja.js} +1 -1
  73. package/bundle/{chunk-f57rqsby.js → chunk-xtfcdgwe.js} +1 -1
  74. package/bundle/{chunk-wnjg8mmh.js → chunk-zbvf09bm.js} +1 -1
  75. package/bundle/index.js +3 -3
  76. package/bundle/worker.js +1 -1
  77. package/package.json +1 -1
  78. package/bundle/chunk-7pqevqry.js +0 -2
  79. package/bundle/chunk-p4pc1zdd.js +0 -2
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Gt as o,tt as h}from"./chunk-b5x3zghc.js";import{It as UR}from"./chunk-tk6gjy9d.js";import{Ut as tn,bu as xR}from"./chunk-pkdk0ppc.js";import{$H as Y,UE as En,XO as s,jD as dn,yF as un}from"./chunk-meaa7wrs.js";import{nP as B,qP as Ln,rP as on}from"./chunk-fa03gsff.js";var Bn={};B(Bn,{validateArchiveMetadata:()=>qn,validateArchiveEntries:()=>Xn,replaceDirectoryAtomically:()=>zn,extractZip:()=>XR,assertArchiveDestinationSafe:()=>e});import j from"path";import f from"fs/promises";function Xn(n,R){let N=j.resolve(R);for(let O of n){let T=O.trim().replaceAll("\\","/");if(!T)continue;if(T.includes("\x00")||j.posix.isAbsolute(T)||/^[a-z]:\//i.test(T))throw Error(`Unsafe archive entry: ${O}`);if(T.split("/").includes(".."))throw Error(`Unsafe archive entry: ${O}`);let x=j.resolve(N,...T.split("/"));if(x!==N&&!x.startsWith(`${N}${j.sep}`))throw Error(`Unsafe archive entry: ${O}`)}}function qn(n){for(let R of n.split(/\r?\n/))if(/^[bclps]/.test(R))throw Error("Archive contains an unsafe special entry")}async function Cn(n){let R=await f.readdir(n,{withFileTypes:!0});await Promise.all(R.map(async(N)=>{let O=j.join(n,N.name);if(N.isSymbolicLink())throw Error(`Archive contains a symbolic link: ${N.name}`);if(N.isDirectory())await Cn(O)}))}async function Sn(n){return f.lstat(n).catch((R)=>{if(R.code==="ENOENT")return;throw R})}async function e(n){let R=j.resolve(n),N=j.parse(R),O=N.root;for(let T of R.slice(N.root.length).split(j.sep).filter(Boolean)){O=j.join(O,T);let x=await Sn(O);if(!x)return;if(x.isSymbolicLink())throw Error(`Archive destination contains a symbolic link: ${O}`)}}async function zn(n,R){let N=j.resolve(R);await e(N);let O=await Sn(N);if(O&&!O.isDirectory())throw Error("Archive destination must be a directory");let T=j.join(j.dirname(N),`.qitqode-backup-${crypto.randomUUID()}`);if(O)await f.rename(N,T);try{await f.rename(n,N)}catch(x){if(O)await f.rename(T,N);throw x}if(O)await f.rm(T,{recursive:!0,force:!0})}async function XR(n,R){let N=j.resolve(n),O=j.resolve(R),T=await h(process.platform==="win32"?["tar","-tf",N]:["unzip","-Z1",N]);Xn(T.stdout.toString().split(/\r?\n/),O);let x=await h(process.platform==="win32"?["tar","-tvf",N]:["unzip","-Z","-l",N]);qn(x.stdout.toString()),await e(j.dirname(O)),await f.mkdir(j.dirname(O),{recursive:!0}),await e(j.dirname(O));let H=await f.mkdtemp(j.join(j.dirname(O),".qitqode-extract-"));try{if(process.platform==="win32"){let $=N.replace(/'/g,"''"),V=H.replace(/'/g,"''"),X=`$global:ProgressPreference = 'SilentlyContinue'; Expand-Archive -Path '${$}' -DestinationPath '${V}' -Force`;await h(["powershell","-NoProfile","-NonInteractive","-Command",X])}else await h(["unzip","-o","-q",N,"-d",H]);await Cn(H),await zn(H,O)}finally{await f.rm(H,{recursive:!0,force:!0})}}var Pn={};B(Pn,{isValidHex:()=>Zn,hexToRgb:()=>fn,hexToAnsiBold:()=>qR});function Zn(n){if(!n)return!1;return/^#[0-9a-fA-F]{6}$/.test(n)}function fn(n){let R=parseInt(n.slice(1,3),16),N=parseInt(n.slice(3,5),16),O=parseInt(n.slice(5,7),16);return{r:R,g:N,b:O}}function qR(n){if(!Zn(n))return;let{r:R,g:N,b:O}=fn(n);return`\x1B[38;2;${R};${N};${O}m\x1B[1m`}var cn={};B(cn,{awaitDeferred:()=>CR});function CR(n,R){return Y.ensuring(En.await(n),Y.sync(R))}import c from"os";var C={};B(C,{Path:()=>Z,Global:()=>C});import L from"fs/promises";import xn from"path";import DR from"os";import nn from"path";import zR from"os";import{randomBytes as BR,randomUUID as ZR}from"crypto";import{mkdir as Rn,readFile as fR,rm as u,stat as PR,utimes as ER,writeFile as An}from"fs/promises";import{createHash as SR}from"crypto";var Un;((AN)=>{function n(R){return SR("sha1").update(R).digest("hex")}AN.fast=n})(Un||={});var Nn;((bn)=>{let n;function R(I){n=I}bn.setGlobal=R;let N=()=>{if(!n)throw Error("Flock global not set");return nn.join(n.state,"locks")},O={staleMs:60000,timeoutMs:300000,baseDelayMs:100,maxDelayMs:2000};function T(I){if(typeof I!=="object"||I===null||!("code"in I))return;let J=I.code;if(typeof J!=="string")return;return J}function x(I,J){return new Promise((U,W)=>{if(J?.aborted){W(J.reason??Error("Aborted"));return}let _,K=()=>{J?.removeEventListener("abort",G),U()},G=()=>{if(_)clearTimeout(_);J?.removeEventListener("abort",G),W(J?.reason??Error("Aborted"))};if(J?.addEventListener("abort",G,{once:!0}),_=setTimeout(K,I),J?.aborted)G()})}function H(I){let J=Math.floor(I*0.3),U=Math.floor(Math.random()*(2*J+1))-J;return Math.max(0,I+U)}function $(){return performance.now()}function V(){return performance.timeOrigin+$()}async function X(I){try{return await PR(I)}catch(J){let U=T(J);if(U==="ENOENT"||U==="ENOTDIR")return;throw J}}async function w(I,J,U,W){let _=V(),K=await X(J);if(K)return _-K.mtimeMs>W;let G=await X(U);if(G)return _-G.mtimeMs>W;let z=await X(I);if(!z)return!1;return _-z.mtimeMs>W}async function y(I,J){let U=ZR?.()??BR(16).toString("hex"),W=nn.join(I,"meta.json"),_=nn.join(I,"heartbeat");try{await Rn(I,{mode:448})}catch(g){if(T(g)!=="EEXIST")throw g;if(!await w(I,_,W,J.staleMs))return{acquired:!1};let Q=I+".breaker";try{await Rn(Q,{mode:448})}catch(F){let d=T(F);if(d==="EEXIST"){let Qn=await X(Q);if(Qn&&V()-Qn.mtimeMs>J.staleMs)await u(Q,{recursive:!0,force:!0}).catch(()=>{return});return{acquired:!1}}if(d==="ENOENT"||d==="ENOTDIR")return{acquired:!1};throw F}try{if(!await w(I,_,W,J.staleMs))return{acquired:!1};await u(I,{recursive:!0,force:!0});try{await Rn(I,{mode:448})}catch(F){let d=T(F);if(d==="EEXIST"||d==="ENOTEMPTY")return{acquired:!1};throw F}}finally{await u(Q,{recursive:!0,force:!0}).catch(()=>{return})}}let K={token:U,pid:process.pid,hostname:zR.hostname(),createdAt:new Date().toISOString()};await An(_,"",{flag:"wx"}).catch(async()=>{throw await u(I,{recursive:!0,force:!0}),Error("Lock acquired but heartbeat already existed (possible compromise).")}),await An(W,JSON.stringify(K,null,2),{flag:"wx"}).catch(async()=>{throw await u(I,{recursive:!0,force:!0}),Error("Lock acquired but meta.json already existed (possible compromise).")});let G;return{acquired:!0,startHeartbeat:(g=Math.max(100,Math.floor(J.staleMs/3)))=>{if(G)return;G=setInterval(()=>{let Q=new Date;ER(_,Q,Q).catch(()=>{return})},g),G.unref?.()},release:async()=>{if(G)clearInterval(G),G=void 0;if((await fR(W,"utf8").then((Q)=>{let F=JSON.parse(Q);if(!F||typeof F!=="object")return{};return{token:"token"in F&&typeof F.token==="string"?F.token:void 0}}).catch((Q)=>{let F=T(Q);if(F==="ENOENT"||F==="ENOTDIR")throw Error("Refusing to release: lock is compromised (metadata missing).");if(Q instanceof SyntaxError)throw Error("Refusing to release: lock is compromised (metadata invalid).");throw Q})).token!==U)throw Error("Refusing to release: lock token mismatch (not the owner).");await u(I,{recursive:!0,force:!0})}}}async function a(I,J,U){let W=$()+U.timeoutMs,_=0,K=0,G=U.baseDelayMs;while(!0){J.signal?.throwIfAborted();let z=await y(I,U);if(z.acquired)return z;if($()>W)throw Error(`Timed out waiting for lock: ${J.key}`);_+=1;let m=H(G);await J.onWait?.({key:J.key,attempt:_,delay:m,waited:K}),await x(m,J.signal),K+=m,G=Math.min(U.maxDelayMs,Math.floor(G*1.7))}}async function FR(I,J={}){J.signal?.throwIfAborted();let U={staleMs:J.staleMs??O.staleMs,timeoutMs:J.timeoutMs??O.timeoutMs,baseDelayMs:J.baseDelayMs??O.baseDelayMs,maxDelayMs:J.maxDelayMs??O.maxDelayMs},W=J.dir??N();await Rn(W,{recursive:!0});let _=nn.join(W,Un.fast(I)+".lock"),K=await a(_,{key:I,onWait:J.onWait,signal:J.signal},U);K.startHeartbeat();let G,z=()=>{return G??=K.release()};return{release:z,[Symbol.asyncDispose](){return z()}}}bn.acquire=FR;async function BN(I,J,U={}){let _=[];try{const W=Ln(_,await FR(I,U),1);U.signal?.throwIfAborted();return await J()}catch(K){var G=K,z=1}finally{var m=on(_,G,z);m&&await m}}bn.withLock=BN,bn.effect=Y.fn("Flock.effect")(function*(I,J={}){return yield*Y.acquireRelease(Y.promise((U)=>Nn.acquire(I,{...J,signal:U})).pipe(Y.withSpan("Flock.acquire",{attributes:{key:I}})),(U)=>Y.promise(()=>U.release()).pipe(Y.withSpan("Flock.release"))).pipe(Y.asVoid)})})(Nn||={});import q from"path";import cR from"os";import Tn from"path";var E=cR.homedir(),{env:b}=process,k=b.XDG_DATA_HOME||(E?Tn.join(E,".local","share"):void 0),On=b.XDG_CONFIG_HOME||(E?Tn.join(E,".config"):void 0),Dn=b.XDG_STATE_HOME||(E?Tn.join(E,".local","state"):void 0),yn=b.XDG_CACHE_HOME||(E?Tn.join(E,".cache"):void 0),kN=b.XDG_RUNTIME_DIR||void 0,AR=(b.XDG_DATA_DIRS||"/usr/local/share/:/usr/share/").split(":");if(k)AR.unshift(k);var bR=(b.XDG_CONFIG_DIRS||"/etc/xdg").split(":");if(On)bR.unshift(On);import LR from"os";var p="qitqode";function Gn(n=process.env){let R=n.QITQODE_HOME;if(R){if(!q.isAbsolute(R))throw Error(`QITQODE_HOME must be an absolute path, got: ${JSON.stringify(R)}`);return{mode:"qitqode_home",root:R,data:q.join(R,"data"),cache:q.join(R,"cache"),config:q.join(R,"config"),state:q.join(R,"state")}}return{mode:"xdg",data:q.join(k,p),cache:q.join(yn,p),config:q.join(On,p),state:q.join(Dn,p)}}function _n(n=process.env){let R=n.QITQODE_LOG_DIR;if(R){if(!q.isAbsolute(R))throw Error(`QITQODE_LOG_DIR must be an absolute path, got: ${JSON.stringify(R)}`);return R}return q.join(k,p,"log")}var oR;((mn)=>{class n extends dn.Service()("@qitqode/Global"){}mn.Service=n,mn.layer=un.effect(n,Y.gen(function*(){let N=process.env.HOME||process.env.USERPROFILE||LR.homedir(),{data:O,cache:T,config:x,state:H}=yield*Y.sync(()=>Gn()),$=q.join(T,"bin"),V=yield*Y.sync(()=>_n());return n.of({home:N,data:O,cache:T,config:x,state:H,bin:$,log:V})}))})(oR||={});var{data:yR,cache:vn,config:mR,state:hn}=Gn(),Z={get home(){return process.env.HOME||process.env.USERPROFILE||DR.homedir()},data:yR,bin:xn.join(vn,"bin"),log:_n(),cache:vn,config:mR,state:hn};Nn.setGlobal({state:hn});await Promise.all([L.mkdir(Z.data,{recursive:!0}),L.mkdir(Z.config,{recursive:!0}),L.mkdir(Z.state,{recursive:!0}),L.mkdir(Z.log,{recursive:!0}),L.mkdir(Z.bin,{recursive:!0})]);var gn="21",dR=await o.readText(xn.join(Z.cache,"version")).catch(()=>"0");if(dR!==gn){try{let n=await L.readdir(Z.cache);await Promise.all(n.map((R)=>L.rm(xn.join(Z.cache,R),{recursive:!0,force:!0})))}catch{}await o.write(xn.join(Z.cache,"version"),gn)}var kn="0.1.20",pn="latest",TO=!1;import uR from"path";var D;async function rn(){if(D)return D;let n=uR.join(C.Path.data,"installation_id"),R=await o.readText(n).catch(()=>{return});if(R&&R.trim())return D=R.trim(),D;return D=crypto.randomUUID(),await o.write(n,D),D}var sn="QITQODE_RUN_ID",ln="QITQODE_PROCESS_ROLE";function vR(){return process.env.QITQODE_RUN_ID??=crypto.randomUUID()}function gR(n){return process.env.QITQODE_PROCESS_ROLE??=n}function HO(n){return{runID:vR(),processRole:gR(n)}}function UO(n){let R=Object.fromEntries(Object.entries(process.env).filter((N)=>N[1]!==void 0));return n?Object.assign(R,n):R}function hR(){if(process.env.USER)return process.env.USER;if(process.env.USERNAME)return process.env.USERNAME;return c.userInfo().username}function kR(){return Intl.DateTimeFormat().resolvedOptions().locale}function pR(){return Intl.DateTimeFormat().resolvedOptions().timeZone}async function rR(){let n=c.cpus();return{os:{platform:c.platform(),arch:c.arch(),release:c.release(),hostname:c.hostname()},cpu:{model:n[0]?.model??"unknown",count:n.length},memory:{total_bytes:c.totalmem()},user:{username:hR(),homedir:c.homedir()},runtime:{bun_version:Bun.version,node_version:process.versions.node,pid:process.pid,timezone:pR(),locale:kR()},paths:{cwd:process.cwd(),data:C.Path.data,config:C.Path.config},qitqode:{version:kn,channel:pn,installation_id:await rn(),run_id:sn,process_role:ln}}}var an={};B(an,{toString:()=>lR,parse:()=>tR,match:()=>sR,fromParsedKey:()=>iR});function sR(n,R){if(!n)return!1;let N={...n,super:n.super??!1},O={...R,super:R.super??!1};return tn(N,O)}function iR(n,R=!1){return{name:n.name===" "?"space":n.name,ctrl:n.ctrl,meta:n.meta,shift:n.shift,super:n.super??!1,leader:R}}function lR(n){if(!n)return"";let R=[];if(n.ctrl)R.push("ctrl");if(n.meta)R.push("alt");if(n.super)R.push("super");if(n.shift)R.push("shift");if(n.name)if(n.name==="delete")R.push("del");else R.push(n.name);let N=R.join("+");if(n.leader)N=N?`<leader> ${N}`:"<leader>";return N}function tR(n){if(n==="none")return[];return n.split(",").map((R)=>{let O=R.replace(/<leader>/g,"leader+").toLowerCase().split("+"),T={ctrl:!1,meta:!1,shift:!1,leader:!1,name:""};for(let x of O)switch(x){case"ctrl":T.ctrl=!0;break;case"alt":case"meta":case"option":T.meta=!0;break;case"super":T.super=!0;break;case"shift":T.shift=!0;break;case"leader":T.leader=!0;break;case"esc":T.name="escape";break;default:T.name=x;break}return T})}var en={};B(en,{create:()=>eR,NotFound:()=>Vn});import{AsyncLocalStorage as aR}from"async_hooks";class Vn extends Error{name;constructor(n){super(`No context found for ${n}`);this.name=n}}function eR(n){let R=new aR;return{use(){let N=R.getStore();if(!N)throw new Vn(n);return N},provide(N,O){return R.run(N,O)}}}var RR={};B(RR,{truncateMiddle:()=>xN,truncate:()=>TN,todayTimeOrDateTime:()=>RN,titlecase:()=>nN,time:()=>jn,pluralize:()=>JN,number:()=>NN,duration:()=>ON,datetime:()=>nR});function nN(n){return n.replace(/\b\w/g,(R)=>R.toUpperCase())}function jn(n){return new Date(n).toLocaleTimeString(void 0,{timeStyle:"short"})}function nR(n){let R=new Date(n),N=jn(n),O=R.toLocaleDateString();return`${N} \xB7 ${O}`}function RN(n){let R=new Date(n),N=new Date;if(R.getFullYear()===N.getFullYear()&&R.getMonth()===N.getMonth()&&R.getDate()===N.getDate())return jn(n);else return nR(n)}function NN(n){if(n>=1e6)return(n/1e6).toFixed(1)+"M";else if(n>=1000)return(n/1000).toFixed(1)+"K";return n.toString()}function ON(n){if(n<1000)return`${n}ms`;if(n<60000)return`${(n/1000).toFixed(1)}s`;if(n<3600000){let O=Math.floor(n/60000),T=Math.floor(n%60000/1000);return`${O}m ${T}s`}if(n<86400000){let O=Math.floor(n/3600000),T=Math.floor(n%3600000/60000);return`${O}h ${T}m`}let R=Math.floor(n%86400000/3600000);return`${Math.floor(n/86400000)}d ${R}h`}function TN(n,R){if(R<=0)return"";if(n.length<=R)return n;return n.slice(0,R-1)+"\u2026"}function xN(n,R=35){if(R<=0)return"";if(n.length<=R)return n;let N="\u2026",O=Math.ceil((R-N.length)/2),T=Math.floor((R-N.length)/2);return n.slice(0,O)+N+(T>0?n.slice(-T):"")}function JN(n,R,N){return(n===1?R:N).replace("{}",n.toString())}var TR={};B(TR,{write:()=>$N,read:()=>IN});var r=new Map;function NR(n){if(!r.has(n))r.set(n,{readers:0,writer:!1,waitingReaders:[],waitingWriters:[]});return r.get(n)}function MN(n){let R=r.get(n);if(!R||R.writer||R.readers>0)return;if(R.waitingWriters.length>0){R.waitingWriters.shift()();return}while(R.waitingReaders.length>0)R.waitingReaders.shift()();if(R.readers===0&&!R.writer&&R.waitingReaders.length===0&&R.waitingWriters.length===0)r.delete(n)}function OR(n){return new Promise((R)=>{let N=()=>{n.acquire();let O=!1;R({[Symbol.dispose]:()=>{if(O)return;O=!0,n.release(),MN(n.key)}})};if(n.available())N();else n.waiting.push(N)})}async function IN(n){let R=NR(n);return OR({key:n,available:()=>!R.writer&&R.waitingWriters.length===0,acquire:()=>R.readers++,release:()=>R.readers--,waiting:R.waitingReaders})}async function $N(n){let R=NR(n);return OR({key:n,available:()=>!R.writer&&R.readers===0,acquire:()=>{R.writer=!0},release:()=>{R.writer=!1},waiting:R.waitingWriters})}var WR={};B(WR,{redactValue:()=>Kn,init:()=>KN,flush:()=>FN,file:()=>wN,enabled:()=>WN,create:()=>Fn,Level:()=>GN,Default:()=>YN});import $n from"path";import A from"fs/promises";import{createWriteStream as GR}from"fs";function M(n){let R=process.env[n]?.toLowerCase();return R==="true"||R==="1"}function Wn(n){let R=process.env[n]?.toLowerCase();return R==="false"||R==="0"}function P(n){let R=process.env[n];if(!R)return;let N=Number(R);return Number.isInteger(N)&&N>0?N:void 0}var v=M("QITQODE_EXPERIMENTAL"),Jn=M("QITQODE_DISABLE_CLAUDE_CODE"),Mn=M("QITQODE_DISABLE_EXTERNAL_SKILLS"),HN=Mn||Jn||M("QITQODE_DISABLE_CLAUDE_CODE_SKILLS"),UN=process.env.QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT,JR={OTEL_EXPORTER_OTLP_ENDPOINT:process.env.OTEL_EXPORTER_OTLP_ENDPOINT,OTEL_EXPORTER_OTLP_HEADERS:process.env.OTEL_EXPORTER_OTLP_HEADERS,QITQODE_AUTO_SHARE:M("QITQODE_AUTO_SHARE"),QITQODE_AUTO_HEAP_SNAPSHOT:M("QITQODE_AUTO_HEAP_SNAPSHOT"),QITQODE_GIT_BASH_PATH:process.env.QITQODE_GIT_BASH_PATH,QITQODE_CONFIG:process.env.QITQODE_CONFIG,QITQODE_CONFIG_CONTENT:process.env.QITQODE_CONFIG_CONTENT,get QITQODE_BACKEND_URL(){return process.env.QITQODE_BACKEND_URL??xR},QITQODE_DISABLE_AUTOUPDATE:M("QITQODE_DISABLE_AUTOUPDATE"),QITQODE_DISABLE_LOG_ROTATION:M("QITQODE_DISABLE_LOG_ROTATION"),QITQODE_ALWAYS_NOTIFY_UPDATE:M("QITQODE_ALWAYS_NOTIFY_UPDATE"),QITQODE_DISABLE_PRUNE:M("QITQODE_DISABLE_PRUNE"),QITQODE_DISABLE_TERMINAL_TITLE:M("QITQODE_DISABLE_TERMINAL_TITLE"),QITQODE_SHOW_TTFD:M("QITQODE_SHOW_TTFD"),QITQODE_PERMISSION:process.env.QITQODE_PERMISSION,QITQODE_DISABLE_DEFAULT_PLUGINS:M("QITQODE_DISABLE_DEFAULT_PLUGINS"),QITQODE_DISABLE_LSP_DOWNLOAD:!0,QITQODE_ENABLE_EXPERIMENTAL_MODELS:M("QITQODE_ENABLE_EXPERIMENTAL_MODELS"),QITQODE_DISABLE_AUTOCOMPACT:M("QITQODE_DISABLE_AUTOCOMPACT"),QITQODE_DISABLE_MODELS_FETCH:M("QITQODE_DISABLE_MODELS_FETCH"),QITQODE_DISABLE_MOUSE:M("QITQODE_DISABLE_MOUSE"),QITQODE_OUTPUT_LENGTH_CONTINUATION_LIMIT:P("QITQODE_OUTPUT_LENGTH_CONTINUATION_LIMIT")??3,QITQODE_INVALID_OUTPUT_CONTINUATION_LIMIT:P("QITQODE_INVALID_OUTPUT_CONTINUATION_LIMIT")??2,QITQODE_TEXT_NGRAM_N:P("QITQODE_TEXT_NGRAM_N")??6,QITQODE_TEXT_REPEAT_THRESHOLD:P("QITQODE_TEXT_REPEAT_THRESHOLD")??3,QITQODE_TEXT_WINDOW_TOKENS:P("QITQODE_TEXT_WINDOW_TOKENS")??500,QITQODE_MAX_PROMPT_IMAGES:P("QITQODE_MAX_PROMPT_IMAGES")??4,QITQODE_MAX_PROMPT_IMAGE_SIZE:P("QITQODE_MAX_PROMPT_IMAGE_SIZE")??393216,QITQODE_DISABLE_PROVIDER_ENV:M("QITQODE_DISABLE_PROVIDER_ENV"),QITQODE_DISABLE_CLAUDE_CODE:Jn,get QITQODE_DISABLE_CLAUDE_CODE_MCP(){return Jn||M("QITQODE_DISABLE_CLAUDE_CODE_MCP")},QITQODE_DISABLE_CLAUDE_CODE_PROMPT:Jn||M("QITQODE_DISABLE_CLAUDE_CODE_PROMPT"),QITQODE_DISABLE_CLAUDE_CODE_COMMANDS:M("QITQODE_DISABLE_CLAUDE_CODE_COMMANDS"),QITQODE_DISABLE_CLAUDE_CODE_SKILLS:HN,QITQODE_DISABLE_EXTERNAL_SKILLS:Mn,QITQODE_DISABLE_CODEX_SKILLS:Mn||M("QITQODE_DISABLE_CODEX_SKILLS"),QITQODE_DISABLE_OPENCODE_SKILLS:Mn||M("QITQODE_DISABLE_OPENCODE_SKILLS"),QITQODE_FAKE_VCS:process.env.QITQODE_FAKE_VCS,QITQODE_DISABLE_GIT:M("QITQODE_DISABLE_GIT"),get QITQODE_SERVER_PASSWORD(){return process.env.QITQODE_SERVER_PASSWORD},get QITQODE_SERVER_USERNAME(){return process.env.QITQODE_SERVER_USERNAME},QITQODE_ENABLE_QUESTION_TOOL:M("QITQODE_ENABLE_QUESTION_TOOL"),QITQODE_EXPERIMENTAL:v,QITQODE_EXPERIMENTAL_FILEWATCHER:s.boolean("QITQODE_EXPERIMENTAL_FILEWATCHER").pipe(s.withDefault(!1)),QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER:s.boolean("QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER").pipe(s.withDefault(!1)),QITQODE_EXPERIMENTAL_ICON_DISCOVERY:v||M("QITQODE_EXPERIMENTAL_ICON_DISCOVERY"),QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT:UN===void 0?process.platform==="win32":M("QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT"),QITQODE_ENABLE_EXA:M("QITQODE_ENABLE_EXA")||v||M("QITQODE_EXPERIMENTAL_EXA"),QITQODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS:P("QITQODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS"),QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX:P("QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX"),QITQODE_EXPERIMENTAL_OXFMT:v||M("QITQODE_EXPERIMENTAL_OXFMT"),QITQODE_EXPERIMENTAL_LSP_TY:M("QITQODE_EXPERIMENTAL_LSP_TY"),QITQODE_EXPERIMENTAL_LSP_TOOL:v||M("QITQODE_EXPERIMENTAL_LSP_TOOL"),QITQODE_EXPERIMENTAL_WORKFLOW_TOOL:!Wn("QITQODE_EXPERIMENTAL_WORKFLOW_TOOL"),QITQODE_EXPERIMENTAL_MARKDOWN:!Wn("QITQODE_EXPERIMENTAL_MARKDOWN"),QITQODE_MODELS_URL:process.env.QITQODE_MODELS_URL,QITQODE_MODELS_PATH:process.env.QITQODE_MODELS_PATH,QITQODE_DB:process.env.QITQODE_DB,QITQODE_DISABLE_CHANNEL_DB:!Wn("QITQODE_DISABLE_CHANNEL_DB"),QITQODE_SKIP_MIGRATIONS:M("QITQODE_SKIP_MIGRATIONS"),QITQODE_STRICT_CONFIG_DEPS:M("QITQODE_STRICT_CONFIG_DEPS"),QITQODE_WORKSPACE_ID:process.env.QITQODE_WORKSPACE_ID,QITQODE_EXPERIMENTAL_HTTPAPI:M("QITQODE_EXPERIMENTAL_HTTPAPI"),QITQODE_EXPERIMENTAL_WORKSPACES:v||M("QITQODE_EXPERIMENTAL_WORKSPACES"),get QITQODE_DISABLE_COMPOSE_SKILLS(){return M("QITQODE_DISABLE_COMPOSE_SKILLS")},get QITQODE_DISABLE_BUILTIN_SKILLS(){return M("QITQODE_DISABLE_BUILTIN_SKILLS")},get QITQODE_DISABLE_PROJECT_CONFIG(){return M("QITQODE_DISABLE_PROJECT_CONFIG")},get QITQODE_TUI_CONFIG(){return process.env.QITQODE_TUI_CONFIG},get QITQODE_CONFIG_DIR(){return process.env.QITQODE_CONFIG_DIR},get QITQODE_HOME(){return process.env.QITQODE_HOME},get QITQODE_PURE(){return M("QITQODE_PURE")},get QITQODE_PLUGIN_META_FILE(){return process.env.QITQODE_PLUGIN_META_FILE},get QITQODE_CLIENT(){return process.env.QITQODE_CLIENT??"cli"}};var GN=UR.enum(["DEBUG","INFO","WARN","ERROR"]).meta({ref:"LogLevel",description:"Log level"}),MR={DEBUG:0,INFO:1,WARN:2,ERROR:3},_N=10,VN=52428800,jN=209715200,_R="INFO";function i(n){return MR[n]>=MR[_R]}function WN(n){return i(n)}var IR=new Map,YN=Fn({service:"default"}),S="";function wN(){return S}var t,In=0,$R=!0,l=(n)=>{return process.stderr.write(n),n.length};function Hn(){return new Date().toISOString().split(".")[0].replace(/:/g,"")}async function KN(n){if(n.level)_R=n.level;if($R=n.rotate??!JR.QITQODE_DISABLE_LOG_ROTATION,VR(C.Path.log),n.print)return;if(S=$n.join(C.Path.log,n.dev?"dev.log":Hn()+".log"),n.dev){let R=await A.stat(S).catch(()=>null);if(R&&R.size>0)await A.rename(S,`${S}.${Hn()}`).catch(()=>{})}else await A.truncate(S).catch(()=>{});t=GR(S,{flags:"a"}),In=0,l=(R)=>{return wn=wn.then(async()=>{if(In+=Buffer.byteLength(R),$R&&In>=VN)In=Buffer.byteLength(R),await QN();await new Promise((N)=>{if(!t){N();return}t.write(R,()=>N())})}).catch(()=>{}),R.length}}var wn=Promise.resolve();async function FN(){await wn}async function QN(){let n=t,R=`${S}.${Hn()}`;for(let N=2;await A.stat(R).then(()=>!0,()=>!1);N++)R=`${S}.${Hn()}.${N}`;if(await A.rename(S,R).catch(()=>{}),t=GR(S,{flags:"a"}),n)n.end();VR(C.Path.log)}async function VR(n){let R=await A.readdir(n).catch(()=>[]),O=(await Promise.all(R.filter(($)=>$.includes(".log")&&$n.join(n,$)!==S).map(async($)=>{let V=await A.stat($n.join(n,$)).catch(()=>null);return V?.isFile()?{name:$,size:V.size}:null}))).flatMap(($)=>$?[$]:[]).sort(($,V)=>$.name<V.name?-1:$.name>V.name?1:0),T=O.reduce(($,V)=>$+V.size,0),x=O.length,H=O.filter(($)=>{if(x<=_N&&T<=jN)return!1;return T-=$.size,x-=1,!0});await Promise.all(H.map(($)=>A.unlink($n.join(n,$.name)).catch(()=>{})))}var XN=/token|secret|password|passwd|credential|api[_-]?key|authorization|cookie|set-cookie/i;function Kn(n,R){if(XN.test(n)&&R!==void 0&&R!==null)return"[REDACTED]";return R}var Yn=10240;function qN(n){try{let R=JSON.stringify(n,function(N,O){return N?Kn(N,O):O});if(typeof R==="string"&&R.length>Yn)return R.slice(0,Yn)+`\u2026[truncated ${R.length-Yn} chars]`;return R}catch{return"[unserializable]"}}function jR(n,R=0){let N=n.message;return n.cause instanceof Error&&R<10?N+" Caused by: "+jR(n.cause,R+1):N}var HR=Date.now();function Fn(n){n=n||{};let R=n.service;if(R&&typeof R==="string"){let T=IR.get(R);if(T)return T}function N(T,x){let H=Object.entries({...n,...x}).filter(([X,w])=>w!==void 0&&w!==null).map(([X,w])=>{let y=`${X}=`;if(w instanceof Error)return y+jR(w);let a=Kn(X,w);if(a!==w)return y+a;if(typeof w==="object"&&w!==null)return y+qN(w);return y+w}).join(" "),$=new Date,V=$.getTime()-HR;return HR=$.getTime(),[$.toISOString().split(".")[0],"+"+V+"ms",H,T].filter(Boolean).join(" ")+`
2
+ import{Gt as o,tt as h}from"./chunk-b5x3zghc.js";import{It as UR}from"./chunk-tk6gjy9d.js";import{Ut as tn,bu as xR}from"./chunk-pkdk0ppc.js";import{$H as Y,UE as En,XO as s,jD as dn,yF as un}from"./chunk-meaa7wrs.js";import{nP as B,qP as Ln,rP as on}from"./chunk-fa03gsff.js";var Bn={};B(Bn,{validateArchiveMetadata:()=>qn,validateArchiveEntries:()=>Xn,replaceDirectoryAtomically:()=>zn,extractZip:()=>XR,assertArchiveDestinationSafe:()=>e});import j from"path";import f from"fs/promises";function Xn(n,R){let N=j.resolve(R);for(let O of n){let T=O.trim().replaceAll("\\","/");if(!T)continue;if(T.includes("\x00")||j.posix.isAbsolute(T)||/^[a-z]:\//i.test(T))throw Error(`Unsafe archive entry: ${O}`);if(T.split("/").includes(".."))throw Error(`Unsafe archive entry: ${O}`);let x=j.resolve(N,...T.split("/"));if(x!==N&&!x.startsWith(`${N}${j.sep}`))throw Error(`Unsafe archive entry: ${O}`)}}function qn(n){for(let R of n.split(/\r?\n/))if(/^[bclps]/.test(R))throw Error("Archive contains an unsafe special entry")}async function Cn(n){let R=await f.readdir(n,{withFileTypes:!0});await Promise.all(R.map(async(N)=>{let O=j.join(n,N.name);if(N.isSymbolicLink())throw Error(`Archive contains a symbolic link: ${N.name}`);if(N.isDirectory())await Cn(O)}))}async function Sn(n){return f.lstat(n).catch((R)=>{if(R.code==="ENOENT")return;throw R})}async function e(n){let R=j.resolve(n),N=j.parse(R),O=N.root;for(let T of R.slice(N.root.length).split(j.sep).filter(Boolean)){O=j.join(O,T);let x=await Sn(O);if(!x)return;if(x.isSymbolicLink())throw Error(`Archive destination contains a symbolic link: ${O}`)}}async function zn(n,R){let N=j.resolve(R);await e(N);let O=await Sn(N);if(O&&!O.isDirectory())throw Error("Archive destination must be a directory");let T=j.join(j.dirname(N),`.qitqode-backup-${crypto.randomUUID()}`);if(O)await f.rename(N,T);try{await f.rename(n,N)}catch(x){if(O)await f.rename(T,N);throw x}if(O)await f.rm(T,{recursive:!0,force:!0})}async function XR(n,R){let N=j.resolve(n),O=j.resolve(R),T=await h(process.platform==="win32"?["tar","-tf",N]:["unzip","-Z1",N]);Xn(T.stdout.toString().split(/\r?\n/),O);let x=await h(process.platform==="win32"?["tar","-tvf",N]:["unzip","-Z","-l",N]);qn(x.stdout.toString()),await e(j.dirname(O)),await f.mkdir(j.dirname(O),{recursive:!0}),await e(j.dirname(O));let H=await f.mkdtemp(j.join(j.dirname(O),".qitqode-extract-"));try{if(process.platform==="win32"){let $=N.replace(/'/g,"''"),V=H.replace(/'/g,"''"),X=`$global:ProgressPreference = 'SilentlyContinue'; Expand-Archive -Path '${$}' -DestinationPath '${V}' -Force`;await h(["powershell","-NoProfile","-NonInteractive","-Command",X])}else await h(["unzip","-o","-q",N,"-d",H]);await Cn(H),await zn(H,O)}finally{await f.rm(H,{recursive:!0,force:!0})}}var Pn={};B(Pn,{isValidHex:()=>Zn,hexToRgb:()=>fn,hexToAnsiBold:()=>qR});function Zn(n){if(!n)return!1;return/^#[0-9a-fA-F]{6}$/.test(n)}function fn(n){let R=parseInt(n.slice(1,3),16),N=parseInt(n.slice(3,5),16),O=parseInt(n.slice(5,7),16);return{r:R,g:N,b:O}}function qR(n){if(!Zn(n))return;let{r:R,g:N,b:O}=fn(n);return`\x1B[38;2;${R};${N};${O}m\x1B[1m`}var cn={};B(cn,{awaitDeferred:()=>CR});function CR(n,R){return Y.ensuring(En.await(n),Y.sync(R))}import c from"os";var C={};B(C,{Path:()=>Z,Global:()=>C});import L from"fs/promises";import xn from"path";import DR from"os";import nn from"path";import zR from"os";import{randomBytes as BR,randomUUID as ZR}from"crypto";import{mkdir as Rn,readFile as fR,rm as u,stat as PR,utimes as ER,writeFile as An}from"fs/promises";import{createHash as SR}from"crypto";var Un;((AN)=>{function n(R){return SR("sha1").update(R).digest("hex")}AN.fast=n})(Un||={});var Nn;((bn)=>{let n;function R(I){n=I}bn.setGlobal=R;let N=()=>{if(!n)throw Error("Flock global not set");return nn.join(n.state,"locks")},O={staleMs:60000,timeoutMs:300000,baseDelayMs:100,maxDelayMs:2000};function T(I){if(typeof I!=="object"||I===null||!("code"in I))return;let J=I.code;if(typeof J!=="string")return;return J}function x(I,J){return new Promise((U,W)=>{if(J?.aborted){W(J.reason??Error("Aborted"));return}let _,K=()=>{J?.removeEventListener("abort",G),U()},G=()=>{if(_)clearTimeout(_);J?.removeEventListener("abort",G),W(J?.reason??Error("Aborted"))};if(J?.addEventListener("abort",G,{once:!0}),_=setTimeout(K,I),J?.aborted)G()})}function H(I){let J=Math.floor(I*0.3),U=Math.floor(Math.random()*(2*J+1))-J;return Math.max(0,I+U)}function $(){return performance.now()}function V(){return performance.timeOrigin+$()}async function X(I){try{return await PR(I)}catch(J){let U=T(J);if(U==="ENOENT"||U==="ENOTDIR")return;throw J}}async function w(I,J,U,W){let _=V(),K=await X(J);if(K)return _-K.mtimeMs>W;let G=await X(U);if(G)return _-G.mtimeMs>W;let z=await X(I);if(!z)return!1;return _-z.mtimeMs>W}async function y(I,J){let U=ZR?.()??BR(16).toString("hex"),W=nn.join(I,"meta.json"),_=nn.join(I,"heartbeat");try{await Rn(I,{mode:448})}catch(g){if(T(g)!=="EEXIST")throw g;if(!await w(I,_,W,J.staleMs))return{acquired:!1};let Q=I+".breaker";try{await Rn(Q,{mode:448})}catch(F){let d=T(F);if(d==="EEXIST"){let Qn=await X(Q);if(Qn&&V()-Qn.mtimeMs>J.staleMs)await u(Q,{recursive:!0,force:!0}).catch(()=>{return});return{acquired:!1}}if(d==="ENOENT"||d==="ENOTDIR")return{acquired:!1};throw F}try{if(!await w(I,_,W,J.staleMs))return{acquired:!1};await u(I,{recursive:!0,force:!0});try{await Rn(I,{mode:448})}catch(F){let d=T(F);if(d==="EEXIST"||d==="ENOTEMPTY")return{acquired:!1};throw F}}finally{await u(Q,{recursive:!0,force:!0}).catch(()=>{return})}}let K={token:U,pid:process.pid,hostname:zR.hostname(),createdAt:new Date().toISOString()};await An(_,"",{flag:"wx"}).catch(async()=>{throw await u(I,{recursive:!0,force:!0}),Error("Lock acquired but heartbeat already existed (possible compromise).")}),await An(W,JSON.stringify(K,null,2),{flag:"wx"}).catch(async()=>{throw await u(I,{recursive:!0,force:!0}),Error("Lock acquired but meta.json already existed (possible compromise).")});let G;return{acquired:!0,startHeartbeat:(g=Math.max(100,Math.floor(J.staleMs/3)))=>{if(G)return;G=setInterval(()=>{let Q=new Date;ER(_,Q,Q).catch(()=>{return})},g),G.unref?.()},release:async()=>{if(G)clearInterval(G),G=void 0;if((await fR(W,"utf8").then((Q)=>{let F=JSON.parse(Q);if(!F||typeof F!=="object")return{};return{token:"token"in F&&typeof F.token==="string"?F.token:void 0}}).catch((Q)=>{let F=T(Q);if(F==="ENOENT"||F==="ENOTDIR")throw Error("Refusing to release: lock is compromised (metadata missing).");if(Q instanceof SyntaxError)throw Error("Refusing to release: lock is compromised (metadata invalid).");throw Q})).token!==U)throw Error("Refusing to release: lock token mismatch (not the owner).");await u(I,{recursive:!0,force:!0})}}}async function a(I,J,U){let W=$()+U.timeoutMs,_=0,K=0,G=U.baseDelayMs;while(!0){J.signal?.throwIfAborted();let z=await y(I,U);if(z.acquired)return z;if($()>W)throw Error(`Timed out waiting for lock: ${J.key}`);_+=1;let m=H(G);await J.onWait?.({key:J.key,attempt:_,delay:m,waited:K}),await x(m,J.signal),K+=m,G=Math.min(U.maxDelayMs,Math.floor(G*1.7))}}async function FR(I,J={}){J.signal?.throwIfAborted();let U={staleMs:J.staleMs??O.staleMs,timeoutMs:J.timeoutMs??O.timeoutMs,baseDelayMs:J.baseDelayMs??O.baseDelayMs,maxDelayMs:J.maxDelayMs??O.maxDelayMs},W=J.dir??N();await Rn(W,{recursive:!0});let _=nn.join(W,Un.fast(I)+".lock"),K=await a(_,{key:I,onWait:J.onWait,signal:J.signal},U);K.startHeartbeat();let G,z=()=>{return G??=K.release()};return{release:z,[Symbol.asyncDispose](){return z()}}}bn.acquire=FR;async function BN(I,J,U={}){let _=[];try{const W=Ln(_,await FR(I,U),1);U.signal?.throwIfAborted();return await J()}catch(K){var G=K,z=1}finally{var m=on(_,G,z);m&&await m}}bn.withLock=BN,bn.effect=Y.fn("Flock.effect")(function*(I,J={}){return yield*Y.acquireRelease(Y.promise((U)=>Nn.acquire(I,{...J,signal:U})).pipe(Y.withSpan("Flock.acquire",{attributes:{key:I}})),(U)=>Y.promise(()=>U.release()).pipe(Y.withSpan("Flock.release"))).pipe(Y.asVoid)})})(Nn||={});import q from"path";import cR from"os";import Tn from"path";var E=cR.homedir(),{env:b}=process,k=b.XDG_DATA_HOME||(E?Tn.join(E,".local","share"):void 0),On=b.XDG_CONFIG_HOME||(E?Tn.join(E,".config"):void 0),Dn=b.XDG_STATE_HOME||(E?Tn.join(E,".local","state"):void 0),yn=b.XDG_CACHE_HOME||(E?Tn.join(E,".cache"):void 0),kN=b.XDG_RUNTIME_DIR||void 0,AR=(b.XDG_DATA_DIRS||"/usr/local/share/:/usr/share/").split(":");if(k)AR.unshift(k);var bR=(b.XDG_CONFIG_DIRS||"/etc/xdg").split(":");if(On)bR.unshift(On);import LR from"os";var p="qitqode";function Gn(n=process.env){let R=n.QITQODE_HOME;if(R){if(!q.isAbsolute(R))throw Error(`QITQODE_HOME must be an absolute path, got: ${JSON.stringify(R)}`);return{mode:"qitqode_home",root:R,data:q.join(R,"data"),cache:q.join(R,"cache"),config:q.join(R,"config"),state:q.join(R,"state")}}return{mode:"xdg",data:q.join(k,p),cache:q.join(yn,p),config:q.join(On,p),state:q.join(Dn,p)}}function _n(n=process.env){let R=n.QITQODE_LOG_DIR;if(R){if(!q.isAbsolute(R))throw Error(`QITQODE_LOG_DIR must be an absolute path, got: ${JSON.stringify(R)}`);return R}return q.join(k,p,"log")}var oR;((mn)=>{class n extends dn.Service()("@qitqode/Global"){}mn.Service=n,mn.layer=un.effect(n,Y.gen(function*(){let N=process.env.HOME||process.env.USERPROFILE||LR.homedir(),{data:O,cache:T,config:x,state:H}=yield*Y.sync(()=>Gn()),$=q.join(T,"bin"),V=yield*Y.sync(()=>_n());return n.of({home:N,data:O,cache:T,config:x,state:H,bin:$,log:V})}))})(oR||={});var{data:yR,cache:vn,config:mR,state:hn}=Gn(),Z={get home(){return process.env.HOME||process.env.USERPROFILE||DR.homedir()},data:yR,bin:xn.join(vn,"bin"),log:_n(),cache:vn,config:mR,state:hn};Nn.setGlobal({state:hn});await Promise.all([L.mkdir(Z.data,{recursive:!0}),L.mkdir(Z.config,{recursive:!0}),L.mkdir(Z.state,{recursive:!0}),L.mkdir(Z.log,{recursive:!0}),L.mkdir(Z.bin,{recursive:!0})]);var gn="21",dR=await o.readText(xn.join(Z.cache,"version")).catch(()=>"0");if(dR!==gn){try{let n=await L.readdir(Z.cache);await Promise.all(n.map((R)=>L.rm(xn.join(Z.cache,R),{recursive:!0,force:!0})))}catch{}await o.write(xn.join(Z.cache,"version"),gn)}var kn="0.1.22",pn="latest",TO=!1;import uR from"path";var D;async function rn(){if(D)return D;let n=uR.join(C.Path.data,"installation_id"),R=await o.readText(n).catch(()=>{return});if(R&&R.trim())return D=R.trim(),D;return D=crypto.randomUUID(),await o.write(n,D),D}var sn="QITQODE_RUN_ID",ln="QITQODE_PROCESS_ROLE";function vR(){return process.env.QITQODE_RUN_ID??=crypto.randomUUID()}function gR(n){return process.env.QITQODE_PROCESS_ROLE??=n}function HO(n){return{runID:vR(),processRole:gR(n)}}function UO(n){let R=Object.fromEntries(Object.entries(process.env).filter((N)=>N[1]!==void 0));return n?Object.assign(R,n):R}function hR(){if(process.env.USER)return process.env.USER;if(process.env.USERNAME)return process.env.USERNAME;return c.userInfo().username}function kR(){return Intl.DateTimeFormat().resolvedOptions().locale}function pR(){return Intl.DateTimeFormat().resolvedOptions().timeZone}async function rR(){let n=c.cpus();return{os:{platform:c.platform(),arch:c.arch(),release:c.release(),hostname:c.hostname()},cpu:{model:n[0]?.model??"unknown",count:n.length},memory:{total_bytes:c.totalmem()},user:{username:hR(),homedir:c.homedir()},runtime:{bun_version:Bun.version,node_version:process.versions.node,pid:process.pid,timezone:pR(),locale:kR()},paths:{cwd:process.cwd(),data:C.Path.data,config:C.Path.config},qitqode:{version:kn,channel:pn,installation_id:await rn(),run_id:sn,process_role:ln}}}var an={};B(an,{toString:()=>lR,parse:()=>tR,match:()=>sR,fromParsedKey:()=>iR});function sR(n,R){if(!n)return!1;let N={...n,super:n.super??!1},O={...R,super:R.super??!1};return tn(N,O)}function iR(n,R=!1){return{name:n.name===" "?"space":n.name,ctrl:n.ctrl,meta:n.meta,shift:n.shift,super:n.super??!1,leader:R}}function lR(n){if(!n)return"";let R=[];if(n.ctrl)R.push("ctrl");if(n.meta)R.push("alt");if(n.super)R.push("super");if(n.shift)R.push("shift");if(n.name)if(n.name==="delete")R.push("del");else R.push(n.name);let N=R.join("+");if(n.leader)N=N?`<leader> ${N}`:"<leader>";return N}function tR(n){if(n==="none")return[];return n.split(",").map((R)=>{let O=R.replace(/<leader>/g,"leader+").toLowerCase().split("+"),T={ctrl:!1,meta:!1,shift:!1,leader:!1,name:""};for(let x of O)switch(x){case"ctrl":T.ctrl=!0;break;case"alt":case"meta":case"option":T.meta=!0;break;case"super":T.super=!0;break;case"shift":T.shift=!0;break;case"leader":T.leader=!0;break;case"esc":T.name="escape";break;default:T.name=x;break}return T})}var en={};B(en,{create:()=>eR,NotFound:()=>Vn});import{AsyncLocalStorage as aR}from"async_hooks";class Vn extends Error{name;constructor(n){super(`No context found for ${n}`);this.name=n}}function eR(n){let R=new aR;return{use(){let N=R.getStore();if(!N)throw new Vn(n);return N},provide(N,O){return R.run(N,O)}}}var RR={};B(RR,{truncateMiddle:()=>xN,truncate:()=>TN,todayTimeOrDateTime:()=>RN,titlecase:()=>nN,time:()=>jn,pluralize:()=>JN,number:()=>NN,duration:()=>ON,datetime:()=>nR});function nN(n){return n.replace(/\b\w/g,(R)=>R.toUpperCase())}function jn(n){return new Date(n).toLocaleTimeString(void 0,{timeStyle:"short"})}function nR(n){let R=new Date(n),N=jn(n),O=R.toLocaleDateString();return`${N} \xB7 ${O}`}function RN(n){let R=new Date(n),N=new Date;if(R.getFullYear()===N.getFullYear()&&R.getMonth()===N.getMonth()&&R.getDate()===N.getDate())return jn(n);else return nR(n)}function NN(n){if(n>=1e6)return(n/1e6).toFixed(1)+"M";else if(n>=1000)return(n/1000).toFixed(1)+"K";return n.toString()}function ON(n){if(n<1000)return`${n}ms`;if(n<60000)return`${(n/1000).toFixed(1)}s`;if(n<3600000){let O=Math.floor(n/60000),T=Math.floor(n%60000/1000);return`${O}m ${T}s`}if(n<86400000){let O=Math.floor(n/3600000),T=Math.floor(n%3600000/60000);return`${O}h ${T}m`}let R=Math.floor(n%86400000/3600000);return`${Math.floor(n/86400000)}d ${R}h`}function TN(n,R){if(R<=0)return"";if(n.length<=R)return n;return n.slice(0,R-1)+"\u2026"}function xN(n,R=35){if(R<=0)return"";if(n.length<=R)return n;let N="\u2026",O=Math.ceil((R-N.length)/2),T=Math.floor((R-N.length)/2);return n.slice(0,O)+N+(T>0?n.slice(-T):"")}function JN(n,R,N){return(n===1?R:N).replace("{}",n.toString())}var TR={};B(TR,{write:()=>$N,read:()=>IN});var r=new Map;function NR(n){if(!r.has(n))r.set(n,{readers:0,writer:!1,waitingReaders:[],waitingWriters:[]});return r.get(n)}function MN(n){let R=r.get(n);if(!R||R.writer||R.readers>0)return;if(R.waitingWriters.length>0){R.waitingWriters.shift()();return}while(R.waitingReaders.length>0)R.waitingReaders.shift()();if(R.readers===0&&!R.writer&&R.waitingReaders.length===0&&R.waitingWriters.length===0)r.delete(n)}function OR(n){return new Promise((R)=>{let N=()=>{n.acquire();let O=!1;R({[Symbol.dispose]:()=>{if(O)return;O=!0,n.release(),MN(n.key)}})};if(n.available())N();else n.waiting.push(N)})}async function IN(n){let R=NR(n);return OR({key:n,available:()=>!R.writer&&R.waitingWriters.length===0,acquire:()=>R.readers++,release:()=>R.readers--,waiting:R.waitingReaders})}async function $N(n){let R=NR(n);return OR({key:n,available:()=>!R.writer&&R.readers===0,acquire:()=>{R.writer=!0},release:()=>{R.writer=!1},waiting:R.waitingWriters})}var WR={};B(WR,{redactValue:()=>Kn,init:()=>KN,flush:()=>FN,file:()=>wN,enabled:()=>WN,create:()=>Fn,Level:()=>GN,Default:()=>YN});import $n from"path";import A from"fs/promises";import{createWriteStream as GR}from"fs";function M(n){let R=process.env[n]?.toLowerCase();return R==="true"||R==="1"}function Wn(n){let R=process.env[n]?.toLowerCase();return R==="false"||R==="0"}function P(n){let R=process.env[n];if(!R)return;let N=Number(R);return Number.isInteger(N)&&N>0?N:void 0}var v=M("QITQODE_EXPERIMENTAL"),Jn=M("QITQODE_DISABLE_CLAUDE_CODE"),Mn=M("QITQODE_DISABLE_EXTERNAL_SKILLS"),HN=Mn||Jn||M("QITQODE_DISABLE_CLAUDE_CODE_SKILLS"),UN=process.env.QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT,JR={OTEL_EXPORTER_OTLP_ENDPOINT:process.env.OTEL_EXPORTER_OTLP_ENDPOINT,OTEL_EXPORTER_OTLP_HEADERS:process.env.OTEL_EXPORTER_OTLP_HEADERS,QITQODE_AUTO_SHARE:M("QITQODE_AUTO_SHARE"),QITQODE_AUTO_HEAP_SNAPSHOT:M("QITQODE_AUTO_HEAP_SNAPSHOT"),QITQODE_GIT_BASH_PATH:process.env.QITQODE_GIT_BASH_PATH,QITQODE_CONFIG:process.env.QITQODE_CONFIG,QITQODE_CONFIG_CONTENT:process.env.QITQODE_CONFIG_CONTENT,get QITQODE_BACKEND_URL(){return process.env.QITQODE_BACKEND_URL??xR},QITQODE_DISABLE_AUTOUPDATE:M("QITQODE_DISABLE_AUTOUPDATE"),QITQODE_DISABLE_LOG_ROTATION:M("QITQODE_DISABLE_LOG_ROTATION"),QITQODE_ALWAYS_NOTIFY_UPDATE:M("QITQODE_ALWAYS_NOTIFY_UPDATE"),QITQODE_DISABLE_PRUNE:M("QITQODE_DISABLE_PRUNE"),QITQODE_DISABLE_TERMINAL_TITLE:M("QITQODE_DISABLE_TERMINAL_TITLE"),QITQODE_SHOW_TTFD:M("QITQODE_SHOW_TTFD"),QITQODE_PERMISSION:process.env.QITQODE_PERMISSION,QITQODE_DISABLE_DEFAULT_PLUGINS:M("QITQODE_DISABLE_DEFAULT_PLUGINS"),QITQODE_DISABLE_LSP_DOWNLOAD:!0,QITQODE_ENABLE_EXPERIMENTAL_MODELS:M("QITQODE_ENABLE_EXPERIMENTAL_MODELS"),QITQODE_DISABLE_AUTOCOMPACT:M("QITQODE_DISABLE_AUTOCOMPACT"),QITQODE_DISABLE_MODELS_FETCH:M("QITQODE_DISABLE_MODELS_FETCH"),QITQODE_DISABLE_MOUSE:M("QITQODE_DISABLE_MOUSE"),QITQODE_OUTPUT_LENGTH_CONTINUATION_LIMIT:P("QITQODE_OUTPUT_LENGTH_CONTINUATION_LIMIT")??3,QITQODE_INVALID_OUTPUT_CONTINUATION_LIMIT:P("QITQODE_INVALID_OUTPUT_CONTINUATION_LIMIT")??2,QITQODE_TEXT_NGRAM_N:P("QITQODE_TEXT_NGRAM_N")??6,QITQODE_TEXT_REPEAT_THRESHOLD:P("QITQODE_TEXT_REPEAT_THRESHOLD")??3,QITQODE_TEXT_WINDOW_TOKENS:P("QITQODE_TEXT_WINDOW_TOKENS")??500,QITQODE_MAX_PROMPT_IMAGES:P("QITQODE_MAX_PROMPT_IMAGES")??4,QITQODE_MAX_PROMPT_IMAGE_SIZE:P("QITQODE_MAX_PROMPT_IMAGE_SIZE")??393216,QITQODE_DISABLE_PROVIDER_ENV:M("QITQODE_DISABLE_PROVIDER_ENV"),QITQODE_DISABLE_CLAUDE_CODE:Jn,get QITQODE_DISABLE_CLAUDE_CODE_MCP(){return Jn||M("QITQODE_DISABLE_CLAUDE_CODE_MCP")},QITQODE_DISABLE_CLAUDE_CODE_PROMPT:Jn||M("QITQODE_DISABLE_CLAUDE_CODE_PROMPT"),QITQODE_DISABLE_CLAUDE_CODE_COMMANDS:M("QITQODE_DISABLE_CLAUDE_CODE_COMMANDS"),QITQODE_DISABLE_CLAUDE_CODE_SKILLS:HN,QITQODE_DISABLE_EXTERNAL_SKILLS:Mn,QITQODE_DISABLE_CODEX_SKILLS:Mn||M("QITQODE_DISABLE_CODEX_SKILLS"),QITQODE_DISABLE_OPENCODE_SKILLS:Mn||M("QITQODE_DISABLE_OPENCODE_SKILLS"),QITQODE_FAKE_VCS:process.env.QITQODE_FAKE_VCS,QITQODE_DISABLE_GIT:M("QITQODE_DISABLE_GIT"),get QITQODE_SERVER_PASSWORD(){return process.env.QITQODE_SERVER_PASSWORD},get QITQODE_SERVER_USERNAME(){return process.env.QITQODE_SERVER_USERNAME},QITQODE_ENABLE_QUESTION_TOOL:M("QITQODE_ENABLE_QUESTION_TOOL"),QITQODE_EXPERIMENTAL:v,QITQODE_EXPERIMENTAL_FILEWATCHER:s.boolean("QITQODE_EXPERIMENTAL_FILEWATCHER").pipe(s.withDefault(!1)),QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER:s.boolean("QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER").pipe(s.withDefault(!1)),QITQODE_EXPERIMENTAL_ICON_DISCOVERY:v||M("QITQODE_EXPERIMENTAL_ICON_DISCOVERY"),QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT:UN===void 0?process.platform==="win32":M("QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT"),QITQODE_ENABLE_EXA:M("QITQODE_ENABLE_EXA")||v||M("QITQODE_EXPERIMENTAL_EXA"),QITQODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS:P("QITQODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS"),QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX:P("QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX"),QITQODE_EXPERIMENTAL_OXFMT:v||M("QITQODE_EXPERIMENTAL_OXFMT"),QITQODE_EXPERIMENTAL_LSP_TY:M("QITQODE_EXPERIMENTAL_LSP_TY"),QITQODE_EXPERIMENTAL_LSP_TOOL:v||M("QITQODE_EXPERIMENTAL_LSP_TOOL"),QITQODE_EXPERIMENTAL_WORKFLOW_TOOL:!Wn("QITQODE_EXPERIMENTAL_WORKFLOW_TOOL"),QITQODE_EXPERIMENTAL_MARKDOWN:!Wn("QITQODE_EXPERIMENTAL_MARKDOWN"),QITQODE_MODELS_URL:process.env.QITQODE_MODELS_URL,QITQODE_MODELS_PATH:process.env.QITQODE_MODELS_PATH,QITQODE_DB:process.env.QITQODE_DB,QITQODE_DISABLE_CHANNEL_DB:!Wn("QITQODE_DISABLE_CHANNEL_DB"),QITQODE_SKIP_MIGRATIONS:M("QITQODE_SKIP_MIGRATIONS"),QITQODE_STRICT_CONFIG_DEPS:M("QITQODE_STRICT_CONFIG_DEPS"),QITQODE_WORKSPACE_ID:process.env.QITQODE_WORKSPACE_ID,QITQODE_EXPERIMENTAL_HTTPAPI:M("QITQODE_EXPERIMENTAL_HTTPAPI"),QITQODE_EXPERIMENTAL_WORKSPACES:v||M("QITQODE_EXPERIMENTAL_WORKSPACES"),get QITQODE_DISABLE_COMPOSE_SKILLS(){return M("QITQODE_DISABLE_COMPOSE_SKILLS")},get QITQODE_DISABLE_BUILTIN_SKILLS(){return M("QITQODE_DISABLE_BUILTIN_SKILLS")},get QITQODE_DISABLE_PROJECT_CONFIG(){return M("QITQODE_DISABLE_PROJECT_CONFIG")},get QITQODE_TUI_CONFIG(){return process.env.QITQODE_TUI_CONFIG},get QITQODE_CONFIG_DIR(){return process.env.QITQODE_CONFIG_DIR},get QITQODE_HOME(){return process.env.QITQODE_HOME},get QITQODE_PURE(){return M("QITQODE_PURE")},get QITQODE_PLUGIN_META_FILE(){return process.env.QITQODE_PLUGIN_META_FILE},get QITQODE_CLIENT(){return process.env.QITQODE_CLIENT??"cli"}};var GN=UR.enum(["DEBUG","INFO","WARN","ERROR"]).meta({ref:"LogLevel",description:"Log level"}),MR={DEBUG:0,INFO:1,WARN:2,ERROR:3},_N=10,VN=52428800,jN=209715200,_R="INFO";function i(n){return MR[n]>=MR[_R]}function WN(n){return i(n)}var IR=new Map,YN=Fn({service:"default"}),S="";function wN(){return S}var t,In=0,$R=!0,l=(n)=>{return process.stderr.write(n),n.length};function Hn(){return new Date().toISOString().split(".")[0].replace(/:/g,"")}async function KN(n){if(n.level)_R=n.level;if($R=n.rotate??!JR.QITQODE_DISABLE_LOG_ROTATION,VR(C.Path.log),n.print)return;if(S=$n.join(C.Path.log,n.dev?"dev.log":Hn()+".log"),n.dev){let R=await A.stat(S).catch(()=>null);if(R&&R.size>0)await A.rename(S,`${S}.${Hn()}`).catch(()=>{})}else await A.truncate(S).catch(()=>{});t=GR(S,{flags:"a"}),In=0,l=(R)=>{return wn=wn.then(async()=>{if(In+=Buffer.byteLength(R),$R&&In>=VN)In=Buffer.byteLength(R),await QN();await new Promise((N)=>{if(!t){N();return}t.write(R,()=>N())})}).catch(()=>{}),R.length}}var wn=Promise.resolve();async function FN(){await wn}async function QN(){let n=t,R=`${S}.${Hn()}`;for(let N=2;await A.stat(R).then(()=>!0,()=>!1);N++)R=`${S}.${Hn()}.${N}`;if(await A.rename(S,R).catch(()=>{}),t=GR(S,{flags:"a"}),n)n.end();VR(C.Path.log)}async function VR(n){let R=await A.readdir(n).catch(()=>[]),O=(await Promise.all(R.filter(($)=>$.includes(".log")&&$n.join(n,$)!==S).map(async($)=>{let V=await A.stat($n.join(n,$)).catch(()=>null);return V?.isFile()?{name:$,size:V.size}:null}))).flatMap(($)=>$?[$]:[]).sort(($,V)=>$.name<V.name?-1:$.name>V.name?1:0),T=O.reduce(($,V)=>$+V.size,0),x=O.length,H=O.filter(($)=>{if(x<=_N&&T<=jN)return!1;return T-=$.size,x-=1,!0});await Promise.all(H.map(($)=>A.unlink($n.join(n,$.name)).catch(()=>{})))}var XN=/token|secret|password|passwd|credential|api[_-]?key|authorization|cookie|set-cookie/i;function Kn(n,R){if(XN.test(n)&&R!==void 0&&R!==null)return"[REDACTED]";return R}var Yn=10240;function qN(n){try{let R=JSON.stringify(n,function(N,O){return N?Kn(N,O):O});if(typeof R==="string"&&R.length>Yn)return R.slice(0,Yn)+`\u2026[truncated ${R.length-Yn} chars]`;return R}catch{return"[unserializable]"}}function jR(n,R=0){let N=n.message;return n.cause instanceof Error&&R<10?N+" Caused by: "+jR(n.cause,R+1):N}var HR=Date.now();function Fn(n){n=n||{};let R=n.service;if(R&&typeof R==="string"){let T=IR.get(R);if(T)return T}function N(T,x){let H=Object.entries({...n,...x}).filter(([X,w])=>w!==void 0&&w!==null).map(([X,w])=>{let y=`${X}=`;if(w instanceof Error)return y+jR(w);let a=Kn(X,w);if(a!==w)return y+a;if(typeof w==="object"&&w!==null)return y+qN(w);return y+w}).join(" "),$=new Date,V=$.getTime()-HR;return HR=$.getTime(),[$.toISOString().split(".")[0],"+"+V+"ms",H,T].filter(Boolean).join(" ")+`
3
3
  `}let O={debug(T,x){if(i("DEBUG"))l("DEBUG "+N(T,x))},info(T,x){if(i("INFO"))l("INFO "+N(T,x))},error(T,x){if(i("ERROR"))l("ERROR "+N(T,x))},warn(T,x){if(i("WARN"))l("WARN "+N(T,x))},tag(T,x){if(n)n[T]=x;return O},clone(){return Fn({...n})},time(T,x){let H=Date.now();O.info(T,{status:"started",...x});function $(){O.info(T,{status:"completed",duration:Date.now()-H,...x})}return{stop:$,[Symbol.dispose](){$()}}}};if(R&&typeof R==="string")IR.set(R,O);return O}var YR={};B(YR,{listen:()=>CN,emit:()=>SN,client:()=>zN});function CN(n){onmessage=async(R)=>{let N=JSON.parse(R.data);if(N.type==="rpc.request")try{let O=await n[N.method](N.input);postMessage(JSON.stringify({type:"rpc.result",result:O,id:N.id}))}catch(O){postMessage(JSON.stringify({type:"rpc.result",error:O instanceof Error?O.message:String(O),id:N.id}))}}}function SN(n,R){postMessage(JSON.stringify({type:"rpc.event",event:n,data:R}))}function zN(n){let R=new Map,N=new Map,O=0;return n.onmessage=async(T)=>{let x=JSON.parse(T.data);if(x.type==="rpc.result"){let H=R.get(x.id);if(H)if(R.delete(x.id),"error"in x)H.reject(Error(typeof x.error==="string"?x.error:"RPC call failed"));else H.resolve(x.result)}if(x.type==="rpc.event"){let H=N.get(x.event);if(H)for(let $ of H)$(x.data)}},{call(T,x){let H=O++;return new Promise(($,V)=>{R.set(H,{resolve:$,reject:V});try{n.postMessage(JSON.stringify({type:"rpc.request",method:T,input:x,id:H}))}catch(X){R.delete(H),V(X)}})},on(T,x){let H=N.get(T);if(!H)H=new Set,N.set(T,H);return H.add(x),()=>{H.delete(x)}}}}var KR={};B(KR,{estimate:()=>wR});function wR(n){return Math.max(0,Math.round((n||"").length/4))}export{kn as Gs,pn as Hs,TO as Is,sn as Js,ln as Ks,vR as Ls,HO as Ms,UO as Ns,Bn as Os,Pn as Ps,cn as Qs,rn as Rs,rR as Ss,an as Ts,en as Us,RR as Vs,TR as Ws,zN as Xs,YR as Ys,KR as Zs,Un as _s,Nn as $s,oR as at,Z as bt,C as ct,JR as dt,GN as et,WN as ft,YN as gt,wN as ht,KN as it,FN as jt,Kn as kt,Fn as lt,WR as mt};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Dr as mJ,Er as vJ,Fr as dJ,Gr as lJ,Jr as d,Kr as l,Mr as uJ,Nr as cJ,Qr as pJ,Rr as iJ,Sr as nJ,Tr as aJ,Ur as rJ,Wr as AQ}from"./chunk-3nc9wy1m.js";import{Gs as CQ,Hs as DQ,Ms as FQ,dt as x,mt as GJ}from"./chunk-v7yvnnmr.js";import{$H as I,CH as fJ,DG as MJ,EF as b,GE as _J,GF as CJ,GG as oJ,IC as GQ,KG as RJ,MG as VJ,NH as E,PG as hJ,PL as o,QF as DJ,RF as FJ,SF as AJ,SH as yJ,TH as bJ,UO as g,VE as BQ,VO as eJ,WE as wQ,YC as $Q,YG as jJ,YO as HQ,ZB as wJ,ZE as $J,ZO as WQ,_E as UJ,_O as R,aC as HJ,cG as t,cH as NJ,dC as WJ,dF as zJ,dG as OJ,eD as f,fG as y,kD as IJ,nD as PJ,nH as kJ,nJ as gJ,oF as ZJ,qD as T,rH as LJ,sG as TJ,tB as tJ,tD as KJ,uH as SJ,yF as z,yH as xJ,yL as j,zE as qQ,zG as EJ}from"./chunk-meaa7wrs.js";import{lP as zQ,nP as u,pP as S}from"./chunk-fa03gsff.js";var IX={};u(IX,{resource:()=>BJ,layer:()=>EQ,enabled:()=>OQ,Observability:()=>WX});var p={};u(p,{make:()=>IQ,layer:()=>ZX});var VQ=AJ.pipe(FJ,DJ((J)=>{if(lJ(J)&&J.reason._tag==="StatusCodeError"&&J.reason.response.status===429){let Q=HJ(J.reason.response.headers["retry-after"]).pipe(WJ(CJ),wJ(()=>5));return t(T(Q))}return t(T(1))})),sJ=E(function*(J){let Q=yield*jJ(),X=f(Q,b),Y=f(Q,UJ),$=fJ(Q),G=KJ(IJ(J.exportInterval),PJ),B=void 0,C=nJ(f(Q,pJ)).pipe(iJ(NJ(rJ,!1)),aJ({schedule:VQ,times:3})),V=vJ({"user-agent":`effect-opentelemetry-${J.label}/0.0.0`});if(J.headers)V=dJ(mJ(J.headers),V);let r=uJ(J.url,{headers:V}),O=[],s=OJ(()=>{if(B!==void 0&&X.currentTimeMillisUnsafe()<B)return y;else if(B!==void 0)B=void 0;let h=O;if(J.maxBatchSize!=="disabled"){if(O.length===0)return y;O=[]}return C.execute(cJ(r,J.body(h))).pipe(EJ,SJ(!1))}).pipe(MJ((h)=>{if(B!==void 0)return y;return B=X.currentTimeMillisUnsafe()+60000,O=[],yJ("Disabling exporter for 60 seconds",h)}),bJ({package:"@effect/opentelemetry",module:J.label}));return yield*zJ(Y,s.pipe(RJ,kJ,VJ(J.shutdownTimeout))),yield*hJ(G).pipe(TJ(s),LJ,xJ(Y)),{push(h){if(B!==void 0)return;if(O.push(h),J.maxBatchSize!=="disabled"&&O.length>=J.maxBatchSize)gJ($(s),Y)}}});var jQ=(J)=>{let Q=J.attributes?e(Object.entries(J.attributes)):[];if(Q.push({key:"service.name",value:{stringValue:J.serviceName}}),J.serviceVersion)Q.push({key:"service.version",value:{stringValue:J.serviceVersion}});return{attributes:Q,droppedAttributesCount:0}},JQ=E(function*(J){let Q={...yield*g(o(eJ(j,j)),"OTEL_RESOURCE_ATTRIBUTES"),...J?.attributes},X=J?.serviceName??Q["service.name"]??(yield*g(j,"OTEL_SERVICE_NAME"));delete Q["service.name"];let Y=J?.serviceVersion??Q["service.version"]??(yield*g(o(j),"OTEL_SERVICE_VERSION"));return delete Q["service.version"],jQ({serviceName:X,serviceVersion:Y,attributes:Q})},oJ),QQ=(J)=>{let Q=J.attributes.find((X)=>X.key==="service.name");if(!Q||!Q.value.stringValue)throw Error("Resource does not contain a service name");return Q.value.stringValue},e=(J)=>{let Q=[];for(let[X,Y]of J)Q.push({key:X,value:m(Y)});return Q},m=(J)=>{if(Array.isArray(J))return{arrayValue:{values:J.map(m)}};switch(typeof J){case"string":return{stringValue:J};case"bigint":return{intValue:Number(J)};case"number":return Number.isInteger(J)?{intValue:J}:{doubleValue:J};case"boolean":return{boolValue:J};default:return{stringValue:tJ(J)}}};var c={};u(c,{layerProtobuf:()=>YX,layerJson:()=>XX,OtlpSerialization:()=>M});var N={Varint:0,Fixed64:1,LengthDelimited:2,Fixed32:5},k=(J,Q)=>J<<3|Q,D=(J)=>{let Q=[],X=typeof J==="bigint"?J:BigInt(J);while(X>0x7fn)Q.push(Number(X&0x7fn)|128),X>>=7n;return Q.push(Number(X)),new Uint8Array(Q)};var kQ=(J)=>{let Q=new Uint8Array(8);return new DataView(Q.buffer).setBigUint64(0,J,!0),Q},LQ=(J)=>{let Q=new Uint8Array(4);return new DataView(Q.buffer).setUint32(0,J,!0),Q},SQ=(J)=>{let Q=new Uint8Array(8);return new DataView(Q.buffer).setFloat64(0,J,!0),Q},xQ=(J)=>new TextEncoder().encode(J),fQ=(J)=>{let Q=new Uint8Array(J.length/2);for(let X=0;X<J.length;X+=2)Q[X/2]=parseInt(J.slice(X,X+2),16);return Q},Z=(...J)=>{let Q=J.reduce(($,G)=>$+G.length,0),X=new Uint8Array(Q),Y=0;for(let $ of J)X.set($,Y),Y+=$.length;return X},q=(J,Q)=>Z(D(k(J,N.Varint)),D(Q));var JJ=(J,Q)=>q(J,Q?1:0),W=(J,Q)=>Z(D(k(J,N.Fixed64)),kQ(Q)),v=(J,Q)=>Z(D(k(J,N.Fixed32)),LQ(Q)),F=(J,Q)=>Z(D(k(J,N.Fixed64)),SQ(Q)),L=(J,Q)=>Z(D(k(J,N.LengthDelimited)),D(Q.length),Q),K=(J,Q)=>L(J,xQ(Q)),U=(J,Q)=>L(J,fQ(Q)),w=(J,Q)=>L(J,Q),_=(J,Q,X)=>Z(...Q.map((Y)=>w(J,X(Y))));var H=(J,Q)=>Q!==void 0&&Q!==""?K(J,Q):new Uint8Array(0);var QJ=(J)=>{if(J.stringValue!==void 0&&J.stringValue!==null)return K(1,J.stringValue);if(J.boolValue!==void 0&&J.boolValue!==null)return JJ(2,J.boolValue);if(J.intValue!==void 0&&J.intValue!==null)return q(3,BigInt(J.intValue));if(J.doubleValue!==void 0&&J.doubleValue!==null)return F(4,J.doubleValue);if(J.arrayValue!==void 0)return w(5,bQ(J.arrayValue));if(J.kvlistValue!==void 0)return w(6,gQ(J.kvlistValue));if(J.bytesValue!==void 0)return L(7,J.bytesValue);return new Uint8Array(0)},bQ=(J)=>_(1,J.values,QJ),gQ=(J)=>_(1,J.values,P),P=(J)=>Z(K(1,J.key),w(2,QJ(J.value))),XJ=(J)=>Z(K(1,J.name),H(2,J.version),J.attributes?_(3,J.attributes,P):new Uint8Array(0),J.droppedAttributesCount?q(4,J.droppedAttributesCount):new Uint8Array(0)),YJ=(J)=>Z(_(1,J.attributes,P),J.droppedAttributesCount>0?q(2,J.droppedAttributesCount):new Uint8Array(0));var mQ=(J)=>Z(H(2,J.message),q(3,J.code)),vQ=(J)=>Z(W(1,BigInt(J.timeUnixNano)),K(2,J.name),_(3,J.attributes,P),J.droppedAttributesCount>0?q(4,J.droppedAttributesCount):new Uint8Array(0)),dQ=(J)=>Z(U(1,J.traceId),U(2,J.spanId),H(3,J.traceState),_(4,J.attributes,P),J.droppedAttributesCount>0?q(5,J.droppedAttributesCount):new Uint8Array(0),J.flags!==void 0?v(6,J.flags):new Uint8Array(0)),lQ=(J)=>Z(U(1,J.traceId),U(2,J.spanId),H(3,J.traceState),J.parentSpanId!==void 0?U(4,J.parentSpanId):new Uint8Array(0),K(5,J.name),q(6,J.kind),W(7,BigInt(J.startTimeUnixNano)),W(8,BigInt(J.endTimeUnixNano)),_(9,J.attributes,P),J.droppedAttributesCount>0?q(10,J.droppedAttributesCount):new Uint8Array(0),_(11,J.events,vQ),J.droppedEventsCount>0?q(12,J.droppedEventsCount):new Uint8Array(0),_(13,J.links,dQ),J.droppedLinksCount>0?q(14,J.droppedLinksCount):new Uint8Array(0),w(15,mQ(J.status)),J.flags!==void 0?v(16,J.flags):new Uint8Array(0)),uQ=(J)=>Z(w(1,XJ(J.scope)),_(2,J.spans,lQ),H(3,J.schemaUrl)),cQ=(J)=>Z(w(1,YJ(J.resource)),_(2,J.scopeSpans,uQ),H(3,J.schemaUrl)),XQ=(J)=>_(1,J.resourceSpans,cQ);var YQ=(J)=>Z(W(2,BigInt(J.startTimeUnixNano)),W(3,BigInt(J.timeUnixNano)),J.asDouble!==void 0?F(4,J.asDouble):new Uint8Array(0),J.asInt!==void 0?W(6,BigInt(J.asInt)):new Uint8Array(0),_(7,J.attributes,P),J.flags!==void 0?q(8,J.flags):new Uint8Array(0)),pQ=(J)=>{let Q=Z(...J.bucketCounts.map((Y)=>W(6,BigInt(Y)))),X=Z(...J.explicitBounds.map((Y)=>F(7,Y)));return Z(W(2,BigInt(J.startTimeUnixNano)),W(3,BigInt(J.timeUnixNano)),W(4,BigInt(J.count)),J.sum!==void 0?F(5,J.sum):new Uint8Array(0),Q,X,_(9,J.attributes,P),J.flags!==void 0?q(10,J.flags):new Uint8Array(0),J.min!==void 0?F(11,J.min):new Uint8Array(0),J.max!==void 0?F(12,J.max):new Uint8Array(0))},iQ=(J)=>_(1,J.dataPoints,YQ),nQ=(J)=>Z(_(1,J.dataPoints,YQ),q(2,J.aggregationTemporality),JJ(3,J.isMonotonic)),aQ=(J)=>Z(_(1,J.dataPoints,pQ),q(2,J.aggregationTemporality)),rQ=(J)=>Z(K(1,J.name),H(2,J.description),H(3,J.unit),J.gauge!==void 0?w(5,iQ(J.gauge)):new Uint8Array(0),J.sum!==void 0?w(7,nQ(J.sum)):new Uint8Array(0),J.histogram!==void 0?w(9,aQ(J.histogram)):new Uint8Array(0)),sQ=(J)=>Z(w(1,XJ(J.scope)),_(2,J.metrics,rQ),H(3,J.schemaUrl)),tQ=(J)=>Z(w(1,YJ(J.resource)),_(2,J.scopeMetrics,sQ),H(3,J.schemaUrl)),ZQ=(J)=>_(1,J.resourceMetrics,tQ);var oQ=(J)=>Z(W(1,BigInt(J.timeUnixNano)),J.severityNumber!==void 0?q(2,J.severityNumber):new Uint8Array(0),H(3,J.severityText),J.body!==void 0?w(5,QJ(J.body)):new Uint8Array(0),_(6,J.attributes,P),J.droppedAttributesCount!==void 0&&J.droppedAttributesCount>0?q(7,J.droppedAttributesCount):new Uint8Array(0),J.flags!==void 0?v(8,J.flags):new Uint8Array(0),J.traceId!==void 0&&J.traceId!==""?U(9,J.traceId):new Uint8Array(0),J.spanId!==void 0&&J.spanId!==""?U(10,J.spanId):new Uint8Array(0),J.observedTimeUnixNano!==void 0?W(11,BigInt(J.observedTimeUnixNano)):new Uint8Array(0)),eQ=(J)=>Z(w(1,XJ(J.scope)),_(2,J.logRecords,oQ),H(3,J.schemaUrl)),JX=(J)=>Z(w(1,YJ(J.resource)),_(2,J.scopeLogs,eQ),H(3,J.schemaUrl)),_Q=(J)=>_(1,J.resourceLogs,JX);class M extends $Q()("effect/observability/OtlpSerialization"){}var XX=ZJ(M,{traces:(J)=>l(J),metrics:(J)=>l(J),logs:(J)=>l(J)}),YX=ZJ(M,{traces:(J)=>d(XQ(J),"application/x-protobuf"),metrics:(J)=>d(ZQ(J),"application/x-protobuf"),logs:(J)=>d(_Q(J),"application/x-protobuf")});var IQ=E(function*(J){let Q=yield*M,X=yield*JQ(J.resource),Y={name:QQ(X)},$=yield*sJ({label:"OtlpLogger",url:J.url,headers:J.headers,maxBatchSize:J.maxBatchSize??1000,exportInterval:J.exportInterval??T(1),body:(B)=>Q.logs({resourceLogs:[{resource:X,scopeLogs:[{scope:Y,logRecords:B}]}]}),shutdownTimeout:J.shutdownTimeout??T(3)}),G={excludeLogSpans:J.excludeLogSpans??!1,clock:yield*b};return HQ((B)=>{$.push(_X(B,G))})}),ZX=(J)=>WQ([IQ(J)],{mergeWithExisting:J.mergeWithExisting??!0}),_X=(J,Q)=>{let Y=Q.clock.currentTimeNanosUnsafe().toString(),$=J.date.getTime(),G=e(Object.entries(J.fiber.getRef(BQ)));if(G.push({key:"fiberId",value:{intValue:J.fiber.id}}),!Q.excludeLogSpans)for(let[V,r]of J.fiber.getRef(wQ))G.push({key:`logSpan.${V}`,value:{stringValue:`${$-r}ms`}});if(J.cause.reasons.length>0)G.push({key:"log.error",value:{stringValue:qQ(J.cause)}});let B=GQ(J.message),C={severityNumber:$X(J.logLevel),severityText:J.logLevel,timeUnixNano:Y,observedTimeUnixNano:Y,attributes:G,body:m(B.length===1?B[0]:B),droppedAttributesCount:0};if(J.fiber.currentSpan)C.traceId=J.fiber.currentSpan.traceId,C.spanId=J.fiber.currentSpan.spanId;return C},$X=(J)=>{switch(J){case"Trace":return A.SEVERITY_NUMBER_TRACE;case"Debug":return A.SEVERITY_NUMBER_DEBUG;case"Info":return A.SEVERITY_NUMBER_INFO;case"Warn":return A.SEVERITY_NUMBER_WARN;case"Error":return A.SEVERITY_NUMBER_ERROR;case"Fatal":return A.SEVERITY_NUMBER_FATAL;default:return A.SEVERITY_NUMBER_UNSPECIFIED}},A={SEVERITY_NUMBER_UNSPECIFIED:0,SEVERITY_NUMBER_TRACE:1,SEVERITY_NUMBER_TRACE2:2,SEVERITY_NUMBER_TRACE3:3,SEVERITY_NUMBER_TRACE4:4,SEVERITY_NUMBER_DEBUG:5,SEVERITY_NUMBER_DEBUG2:6,SEVERITY_NUMBER_DEBUG3:7,SEVERITY_NUMBER_DEBUG4:8,SEVERITY_NUMBER_INFO:9,SEVERITY_NUMBER_INFO2:10,SEVERITY_NUMBER_INFO3:11,SEVERITY_NUMBER_INFO4:12,SEVERITY_NUMBER_WARN:13,SEVERITY_NUMBER_WARN2:14,SEVERITY_NUMBER_WARN3:15,SEVERITY_NUMBER_WARN4:16,SEVERITY_NUMBER_ERROR:17,SEVERITY_NUMBER_ERROR2:18,SEVERITY_NUMBER_ERROR3:19,SEVERITY_NUMBER_ERROR4:20,SEVERITY_NUMBER_FATAL:21,SEVERITY_NUMBER_FATAL2:22,SEVERITY_NUMBER_FATAL3:23,SEVERITY_NUMBER_FATAL4:24};var UQ={};u(UQ,{logger:()=>n,layer:()=>qJ,create:()=>KQ});var GX=(J)=>J==="sessionID"?"session.id":J,PQ=(J)=>Object.fromEntries(Object.entries(J??{}).filter((Q)=>Q[1]!==void 0&&Q[1]!==null).map(([Q,X])=>[GX(Q),X])),qX=(J)=>{if(Array.isArray(J))return J.map((Q)=>String(Q)).join(" ");return J===void 0?"":String(J)},i=(J,Q,X,Y)=>{let $=PQ({...Q,...Y}),G=J(X);return Object.keys($).length?I.annotateLogs(G,$):G},n=R.make((J)=>{let Q=PQ(J.fiber.getRef($J.CurrentLogAnnotations)),X=J.date.getTime();for(let[B,C]of J.fiber.getRef($J.CurrentLogSpans))Q[`logSpan.${B}`]=`${X-C}ms`;if(J.cause.reasons.length>0)Q.cause=_J.pretty(J.cause);let Y=typeof Q.service==="string"?Q.service:void 0;if(Y)delete Q.service;let $=Y?GJ.create({service:Y}):GJ.Default,G=qX(J.message);switch(J.logLevel){case"Trace":case"Debug":return $.debug(G,Q);case"Warn":return $.warn(G,Q);case"Error":case"Fatal":return $.error(G,Q);default:return $.info(G,Q)}}),qJ=R.layer([n],{mergeWithExisting:!1}),KQ=(J={})=>({debug:(Q,X)=>i((Y)=>I.logDebug(Y),J,Q,X),info:(Q,X)=>i((Y)=>I.logInfo(Y),J,Q,X),warn:(Q,X)=>i((Y)=>I.logWarning(Y),J,Q,X),error:(Q,X)=>i((Y)=>I.logError(Y),J,Q,X),with:(Q)=>KQ({...J,...Q})});var a=x.OTEL_EXPORTER_OTLP_ENDPOINT,OQ=!!a,BX=crypto.randomUUID(),TQ=x.OTEL_EXPORTER_OTLP_HEADERS?x.OTEL_EXPORTER_OTLP_HEADERS.split(",").reduce((J,Q)=>{let[X,...Y]=Q.split("=");return J[X]=Y.join("="),J},{}):void 0;function BJ(){let J=FQ("main"),Q=(()=>{let X=process.env.OTEL_RESOURCE_ATTRIBUTES;if(!X)return{};try{return Object.fromEntries(X.split(",").map((Y)=>{let $=Y.indexOf("=");if($<1)throw Error("Invalid OTEL_RESOURCE_ATTRIBUTES entry");return[decodeURIComponent(Y.slice(0,$)),decodeURIComponent(Y.slice($+1))]}))}catch{return{}}})();return{serviceName:"qitqode",serviceVersion:CQ,attributes:{...Q,"deployment.environment.name":DQ,"qitqode.client":x.QITQODE_CLIENT,"qitqode.process_role":J.processRole,"qitqode.run_id":J.runID,"service.instance.id":BX}}}function wX(){return R.layer([n,p.make({url:`${a}/v1/logs`,resource:BJ(),headers:TQ})],{mergeWithExisting:!1}).pipe(z.provide(c.layerJson),z.provide(AQ.layer))}var HX=async()=>{let J=await import("./chunk-jatba8z8.js"),Q=await import("./chunk-j1kqhxnq.js"),X=await import("./chunk-fkdbba26.js"),{AsyncLocalStorageContextManager:Y}=await import("./chunk-1eqcgkyq.js").then((m)=>zQ(m.default,1)),{context:$}=await import("./chunk-7bm1t462.js").then((m)=>zQ(m.default,1)),G=new Y;return G.enable(),$.setGlobalContextManager(G),J.layer(()=>({resource:BJ(),spanProcessor:new X.BatchSpanProcessor(new Q.OTLPTraceExporter({url:`${a}/v1/traces`,headers:TQ}))}))},EQ=!a?qJ:z.unwrap(I.gen(function*(){let J=yield*I.promise(HX);return z.mergeAll(J,wX())})),WX={enabled:OQ,layer:EQ};var aX=z.makeMemoMapUnsafe();
2
+ import{Dr as mJ,Er as vJ,Fr as dJ,Gr as lJ,Jr as d,Kr as l,Mr as uJ,Nr as cJ,Qr as pJ,Rr as iJ,Sr as nJ,Tr as aJ,Ur as rJ,Wr as AQ}from"./chunk-3nc9wy1m.js";import{Gs as CQ,Hs as DQ,Ms as FQ,dt as x,mt as GJ}from"./chunk-p20ft5mj.js";import{$H as I,CH as fJ,DG as MJ,EF as b,GE as _J,GF as CJ,GG as oJ,IC as GQ,KG as RJ,MG as VJ,NH as E,PG as hJ,PL as o,QF as DJ,RF as FJ,SF as AJ,SH as yJ,TH as bJ,UO as g,VE as BQ,VO as eJ,WE as wQ,YC as $Q,YG as jJ,YO as HQ,ZB as wJ,ZE as $J,ZO as WQ,_E as UJ,_O as R,aC as HJ,cG as t,cH as NJ,dC as WJ,dF as zJ,dG as OJ,eD as f,fG as y,kD as IJ,nD as PJ,nH as kJ,nJ as gJ,oF as ZJ,qD as T,rH as LJ,sG as TJ,tB as tJ,tD as KJ,uH as SJ,yF as z,yH as xJ,yL as j,zE as qQ,zG as EJ}from"./chunk-meaa7wrs.js";import{lP as zQ,nP as u,pP as S}from"./chunk-fa03gsff.js";var IX={};u(IX,{resource:()=>BJ,layer:()=>EQ,enabled:()=>OQ,Observability:()=>WX});var p={};u(p,{make:()=>IQ,layer:()=>ZX});var VQ=AJ.pipe(FJ,DJ((J)=>{if(lJ(J)&&J.reason._tag==="StatusCodeError"&&J.reason.response.status===429){let Q=HJ(J.reason.response.headers["retry-after"]).pipe(WJ(CJ),wJ(()=>5));return t(T(Q))}return t(T(1))})),sJ=E(function*(J){let Q=yield*jJ(),X=f(Q,b),Y=f(Q,UJ),$=fJ(Q),G=KJ(IJ(J.exportInterval),PJ),B=void 0,C=nJ(f(Q,pJ)).pipe(iJ(NJ(rJ,!1)),aJ({schedule:VQ,times:3})),V=vJ({"user-agent":`effect-opentelemetry-${J.label}/0.0.0`});if(J.headers)V=dJ(mJ(J.headers),V);let r=uJ(J.url,{headers:V}),O=[],s=OJ(()=>{if(B!==void 0&&X.currentTimeMillisUnsafe()<B)return y;else if(B!==void 0)B=void 0;let h=O;if(J.maxBatchSize!=="disabled"){if(O.length===0)return y;O=[]}return C.execute(cJ(r,J.body(h))).pipe(EJ,SJ(!1))}).pipe(MJ((h)=>{if(B!==void 0)return y;return B=X.currentTimeMillisUnsafe()+60000,O=[],yJ("Disabling exporter for 60 seconds",h)}),bJ({package:"@effect/opentelemetry",module:J.label}));return yield*zJ(Y,s.pipe(RJ,kJ,VJ(J.shutdownTimeout))),yield*hJ(G).pipe(TJ(s),LJ,xJ(Y)),{push(h){if(B!==void 0)return;if(O.push(h),J.maxBatchSize!=="disabled"&&O.length>=J.maxBatchSize)gJ($(s),Y)}}});var jQ=(J)=>{let Q=J.attributes?e(Object.entries(J.attributes)):[];if(Q.push({key:"service.name",value:{stringValue:J.serviceName}}),J.serviceVersion)Q.push({key:"service.version",value:{stringValue:J.serviceVersion}});return{attributes:Q,droppedAttributesCount:0}},JQ=E(function*(J){let Q={...yield*g(o(eJ(j,j)),"OTEL_RESOURCE_ATTRIBUTES"),...J?.attributes},X=J?.serviceName??Q["service.name"]??(yield*g(j,"OTEL_SERVICE_NAME"));delete Q["service.name"];let Y=J?.serviceVersion??Q["service.version"]??(yield*g(o(j),"OTEL_SERVICE_VERSION"));return delete Q["service.version"],jQ({serviceName:X,serviceVersion:Y,attributes:Q})},oJ),QQ=(J)=>{let Q=J.attributes.find((X)=>X.key==="service.name");if(!Q||!Q.value.stringValue)throw Error("Resource does not contain a service name");return Q.value.stringValue},e=(J)=>{let Q=[];for(let[X,Y]of J)Q.push({key:X,value:m(Y)});return Q},m=(J)=>{if(Array.isArray(J))return{arrayValue:{values:J.map(m)}};switch(typeof J){case"string":return{stringValue:J};case"bigint":return{intValue:Number(J)};case"number":return Number.isInteger(J)?{intValue:J}:{doubleValue:J};case"boolean":return{boolValue:J};default:return{stringValue:tJ(J)}}};var c={};u(c,{layerProtobuf:()=>YX,layerJson:()=>XX,OtlpSerialization:()=>M});var N={Varint:0,Fixed64:1,LengthDelimited:2,Fixed32:5},k=(J,Q)=>J<<3|Q,D=(J)=>{let Q=[],X=typeof J==="bigint"?J:BigInt(J);while(X>0x7fn)Q.push(Number(X&0x7fn)|128),X>>=7n;return Q.push(Number(X)),new Uint8Array(Q)};var kQ=(J)=>{let Q=new Uint8Array(8);return new DataView(Q.buffer).setBigUint64(0,J,!0),Q},LQ=(J)=>{let Q=new Uint8Array(4);return new DataView(Q.buffer).setUint32(0,J,!0),Q},SQ=(J)=>{let Q=new Uint8Array(8);return new DataView(Q.buffer).setFloat64(0,J,!0),Q},xQ=(J)=>new TextEncoder().encode(J),fQ=(J)=>{let Q=new Uint8Array(J.length/2);for(let X=0;X<J.length;X+=2)Q[X/2]=parseInt(J.slice(X,X+2),16);return Q},Z=(...J)=>{let Q=J.reduce(($,G)=>$+G.length,0),X=new Uint8Array(Q),Y=0;for(let $ of J)X.set($,Y),Y+=$.length;return X},q=(J,Q)=>Z(D(k(J,N.Varint)),D(Q));var JJ=(J,Q)=>q(J,Q?1:0),W=(J,Q)=>Z(D(k(J,N.Fixed64)),kQ(Q)),v=(J,Q)=>Z(D(k(J,N.Fixed32)),LQ(Q)),F=(J,Q)=>Z(D(k(J,N.Fixed64)),SQ(Q)),L=(J,Q)=>Z(D(k(J,N.LengthDelimited)),D(Q.length),Q),K=(J,Q)=>L(J,xQ(Q)),U=(J,Q)=>L(J,fQ(Q)),w=(J,Q)=>L(J,Q),_=(J,Q,X)=>Z(...Q.map((Y)=>w(J,X(Y))));var H=(J,Q)=>Q!==void 0&&Q!==""?K(J,Q):new Uint8Array(0);var QJ=(J)=>{if(J.stringValue!==void 0&&J.stringValue!==null)return K(1,J.stringValue);if(J.boolValue!==void 0&&J.boolValue!==null)return JJ(2,J.boolValue);if(J.intValue!==void 0&&J.intValue!==null)return q(3,BigInt(J.intValue));if(J.doubleValue!==void 0&&J.doubleValue!==null)return F(4,J.doubleValue);if(J.arrayValue!==void 0)return w(5,bQ(J.arrayValue));if(J.kvlistValue!==void 0)return w(6,gQ(J.kvlistValue));if(J.bytesValue!==void 0)return L(7,J.bytesValue);return new Uint8Array(0)},bQ=(J)=>_(1,J.values,QJ),gQ=(J)=>_(1,J.values,P),P=(J)=>Z(K(1,J.key),w(2,QJ(J.value))),XJ=(J)=>Z(K(1,J.name),H(2,J.version),J.attributes?_(3,J.attributes,P):new Uint8Array(0),J.droppedAttributesCount?q(4,J.droppedAttributesCount):new Uint8Array(0)),YJ=(J)=>Z(_(1,J.attributes,P),J.droppedAttributesCount>0?q(2,J.droppedAttributesCount):new Uint8Array(0));var mQ=(J)=>Z(H(2,J.message),q(3,J.code)),vQ=(J)=>Z(W(1,BigInt(J.timeUnixNano)),K(2,J.name),_(3,J.attributes,P),J.droppedAttributesCount>0?q(4,J.droppedAttributesCount):new Uint8Array(0)),dQ=(J)=>Z(U(1,J.traceId),U(2,J.spanId),H(3,J.traceState),_(4,J.attributes,P),J.droppedAttributesCount>0?q(5,J.droppedAttributesCount):new Uint8Array(0),J.flags!==void 0?v(6,J.flags):new Uint8Array(0)),lQ=(J)=>Z(U(1,J.traceId),U(2,J.spanId),H(3,J.traceState),J.parentSpanId!==void 0?U(4,J.parentSpanId):new Uint8Array(0),K(5,J.name),q(6,J.kind),W(7,BigInt(J.startTimeUnixNano)),W(8,BigInt(J.endTimeUnixNano)),_(9,J.attributes,P),J.droppedAttributesCount>0?q(10,J.droppedAttributesCount):new Uint8Array(0),_(11,J.events,vQ),J.droppedEventsCount>0?q(12,J.droppedEventsCount):new Uint8Array(0),_(13,J.links,dQ),J.droppedLinksCount>0?q(14,J.droppedLinksCount):new Uint8Array(0),w(15,mQ(J.status)),J.flags!==void 0?v(16,J.flags):new Uint8Array(0)),uQ=(J)=>Z(w(1,XJ(J.scope)),_(2,J.spans,lQ),H(3,J.schemaUrl)),cQ=(J)=>Z(w(1,YJ(J.resource)),_(2,J.scopeSpans,uQ),H(3,J.schemaUrl)),XQ=(J)=>_(1,J.resourceSpans,cQ);var YQ=(J)=>Z(W(2,BigInt(J.startTimeUnixNano)),W(3,BigInt(J.timeUnixNano)),J.asDouble!==void 0?F(4,J.asDouble):new Uint8Array(0),J.asInt!==void 0?W(6,BigInt(J.asInt)):new Uint8Array(0),_(7,J.attributes,P),J.flags!==void 0?q(8,J.flags):new Uint8Array(0)),pQ=(J)=>{let Q=Z(...J.bucketCounts.map((Y)=>W(6,BigInt(Y)))),X=Z(...J.explicitBounds.map((Y)=>F(7,Y)));return Z(W(2,BigInt(J.startTimeUnixNano)),W(3,BigInt(J.timeUnixNano)),W(4,BigInt(J.count)),J.sum!==void 0?F(5,J.sum):new Uint8Array(0),Q,X,_(9,J.attributes,P),J.flags!==void 0?q(10,J.flags):new Uint8Array(0),J.min!==void 0?F(11,J.min):new Uint8Array(0),J.max!==void 0?F(12,J.max):new Uint8Array(0))},iQ=(J)=>_(1,J.dataPoints,YQ),nQ=(J)=>Z(_(1,J.dataPoints,YQ),q(2,J.aggregationTemporality),JJ(3,J.isMonotonic)),aQ=(J)=>Z(_(1,J.dataPoints,pQ),q(2,J.aggregationTemporality)),rQ=(J)=>Z(K(1,J.name),H(2,J.description),H(3,J.unit),J.gauge!==void 0?w(5,iQ(J.gauge)):new Uint8Array(0),J.sum!==void 0?w(7,nQ(J.sum)):new Uint8Array(0),J.histogram!==void 0?w(9,aQ(J.histogram)):new Uint8Array(0)),sQ=(J)=>Z(w(1,XJ(J.scope)),_(2,J.metrics,rQ),H(3,J.schemaUrl)),tQ=(J)=>Z(w(1,YJ(J.resource)),_(2,J.scopeMetrics,sQ),H(3,J.schemaUrl)),ZQ=(J)=>_(1,J.resourceMetrics,tQ);var oQ=(J)=>Z(W(1,BigInt(J.timeUnixNano)),J.severityNumber!==void 0?q(2,J.severityNumber):new Uint8Array(0),H(3,J.severityText),J.body!==void 0?w(5,QJ(J.body)):new Uint8Array(0),_(6,J.attributes,P),J.droppedAttributesCount!==void 0&&J.droppedAttributesCount>0?q(7,J.droppedAttributesCount):new Uint8Array(0),J.flags!==void 0?v(8,J.flags):new Uint8Array(0),J.traceId!==void 0&&J.traceId!==""?U(9,J.traceId):new Uint8Array(0),J.spanId!==void 0&&J.spanId!==""?U(10,J.spanId):new Uint8Array(0),J.observedTimeUnixNano!==void 0?W(11,BigInt(J.observedTimeUnixNano)):new Uint8Array(0)),eQ=(J)=>Z(w(1,XJ(J.scope)),_(2,J.logRecords,oQ),H(3,J.schemaUrl)),JX=(J)=>Z(w(1,YJ(J.resource)),_(2,J.scopeLogs,eQ),H(3,J.schemaUrl)),_Q=(J)=>_(1,J.resourceLogs,JX);class M extends $Q()("effect/observability/OtlpSerialization"){}var XX=ZJ(M,{traces:(J)=>l(J),metrics:(J)=>l(J),logs:(J)=>l(J)}),YX=ZJ(M,{traces:(J)=>d(XQ(J),"application/x-protobuf"),metrics:(J)=>d(ZQ(J),"application/x-protobuf"),logs:(J)=>d(_Q(J),"application/x-protobuf")});var IQ=E(function*(J){let Q=yield*M,X=yield*JQ(J.resource),Y={name:QQ(X)},$=yield*sJ({label:"OtlpLogger",url:J.url,headers:J.headers,maxBatchSize:J.maxBatchSize??1000,exportInterval:J.exportInterval??T(1),body:(B)=>Q.logs({resourceLogs:[{resource:X,scopeLogs:[{scope:Y,logRecords:B}]}]}),shutdownTimeout:J.shutdownTimeout??T(3)}),G={excludeLogSpans:J.excludeLogSpans??!1,clock:yield*b};return HQ((B)=>{$.push(_X(B,G))})}),ZX=(J)=>WQ([IQ(J)],{mergeWithExisting:J.mergeWithExisting??!0}),_X=(J,Q)=>{let Y=Q.clock.currentTimeNanosUnsafe().toString(),$=J.date.getTime(),G=e(Object.entries(J.fiber.getRef(BQ)));if(G.push({key:"fiberId",value:{intValue:J.fiber.id}}),!Q.excludeLogSpans)for(let[V,r]of J.fiber.getRef(wQ))G.push({key:`logSpan.${V}`,value:{stringValue:`${$-r}ms`}});if(J.cause.reasons.length>0)G.push({key:"log.error",value:{stringValue:qQ(J.cause)}});let B=GQ(J.message),C={severityNumber:$X(J.logLevel),severityText:J.logLevel,timeUnixNano:Y,observedTimeUnixNano:Y,attributes:G,body:m(B.length===1?B[0]:B),droppedAttributesCount:0};if(J.fiber.currentSpan)C.traceId=J.fiber.currentSpan.traceId,C.spanId=J.fiber.currentSpan.spanId;return C},$X=(J)=>{switch(J){case"Trace":return A.SEVERITY_NUMBER_TRACE;case"Debug":return A.SEVERITY_NUMBER_DEBUG;case"Info":return A.SEVERITY_NUMBER_INFO;case"Warn":return A.SEVERITY_NUMBER_WARN;case"Error":return A.SEVERITY_NUMBER_ERROR;case"Fatal":return A.SEVERITY_NUMBER_FATAL;default:return A.SEVERITY_NUMBER_UNSPECIFIED}},A={SEVERITY_NUMBER_UNSPECIFIED:0,SEVERITY_NUMBER_TRACE:1,SEVERITY_NUMBER_TRACE2:2,SEVERITY_NUMBER_TRACE3:3,SEVERITY_NUMBER_TRACE4:4,SEVERITY_NUMBER_DEBUG:5,SEVERITY_NUMBER_DEBUG2:6,SEVERITY_NUMBER_DEBUG3:7,SEVERITY_NUMBER_DEBUG4:8,SEVERITY_NUMBER_INFO:9,SEVERITY_NUMBER_INFO2:10,SEVERITY_NUMBER_INFO3:11,SEVERITY_NUMBER_INFO4:12,SEVERITY_NUMBER_WARN:13,SEVERITY_NUMBER_WARN2:14,SEVERITY_NUMBER_WARN3:15,SEVERITY_NUMBER_WARN4:16,SEVERITY_NUMBER_ERROR:17,SEVERITY_NUMBER_ERROR2:18,SEVERITY_NUMBER_ERROR3:19,SEVERITY_NUMBER_ERROR4:20,SEVERITY_NUMBER_FATAL:21,SEVERITY_NUMBER_FATAL2:22,SEVERITY_NUMBER_FATAL3:23,SEVERITY_NUMBER_FATAL4:24};var UQ={};u(UQ,{logger:()=>n,layer:()=>qJ,create:()=>KQ});var GX=(J)=>J==="sessionID"?"session.id":J,PQ=(J)=>Object.fromEntries(Object.entries(J??{}).filter((Q)=>Q[1]!==void 0&&Q[1]!==null).map(([Q,X])=>[GX(Q),X])),qX=(J)=>{if(Array.isArray(J))return J.map((Q)=>String(Q)).join(" ");return J===void 0?"":String(J)},i=(J,Q,X,Y)=>{let $=PQ({...Q,...Y}),G=J(X);return Object.keys($).length?I.annotateLogs(G,$):G},n=R.make((J)=>{let Q=PQ(J.fiber.getRef($J.CurrentLogAnnotations)),X=J.date.getTime();for(let[B,C]of J.fiber.getRef($J.CurrentLogSpans))Q[`logSpan.${B}`]=`${X-C}ms`;if(J.cause.reasons.length>0)Q.cause=_J.pretty(J.cause);let Y=typeof Q.service==="string"?Q.service:void 0;if(Y)delete Q.service;let $=Y?GJ.create({service:Y}):GJ.Default,G=qX(J.message);switch(J.logLevel){case"Trace":case"Debug":return $.debug(G,Q);case"Warn":return $.warn(G,Q);case"Error":case"Fatal":return $.error(G,Q);default:return $.info(G,Q)}}),qJ=R.layer([n],{mergeWithExisting:!1}),KQ=(J={})=>({debug:(Q,X)=>i((Y)=>I.logDebug(Y),J,Q,X),info:(Q,X)=>i((Y)=>I.logInfo(Y),J,Q,X),warn:(Q,X)=>i((Y)=>I.logWarning(Y),J,Q,X),error:(Q,X)=>i((Y)=>I.logError(Y),J,Q,X),with:(Q)=>KQ({...J,...Q})});var a=x.OTEL_EXPORTER_OTLP_ENDPOINT,OQ=!!a,BX=crypto.randomUUID(),TQ=x.OTEL_EXPORTER_OTLP_HEADERS?x.OTEL_EXPORTER_OTLP_HEADERS.split(",").reduce((J,Q)=>{let[X,...Y]=Q.split("=");return J[X]=Y.join("="),J},{}):void 0;function BJ(){let J=FQ("main"),Q=(()=>{let X=process.env.OTEL_RESOURCE_ATTRIBUTES;if(!X)return{};try{return Object.fromEntries(X.split(",").map((Y)=>{let $=Y.indexOf("=");if($<1)throw Error("Invalid OTEL_RESOURCE_ATTRIBUTES entry");return[decodeURIComponent(Y.slice(0,$)),decodeURIComponent(Y.slice($+1))]}))}catch{return{}}})();return{serviceName:"qitqode",serviceVersion:CQ,attributes:{...Q,"deployment.environment.name":DQ,"qitqode.client":x.QITQODE_CLIENT,"qitqode.process_role":J.processRole,"qitqode.run_id":J.runID,"service.instance.id":BX}}}function wX(){return R.layer([n,p.make({url:`${a}/v1/logs`,resource:BJ(),headers:TQ})],{mergeWithExisting:!1}).pipe(z.provide(c.layerJson),z.provide(AQ.layer))}var HX=async()=>{let J=await import("./chunk-jatba8z8.js"),Q=await import("./chunk-j1kqhxnq.js"),X=await import("./chunk-fkdbba26.js"),{AsyncLocalStorageContextManager:Y}=await import("./chunk-1eqcgkyq.js").then((m)=>zQ(m.default,1)),{context:$}=await import("./chunk-7bm1t462.js").then((m)=>zQ(m.default,1)),G=new Y;return G.enable(),$.setGlobalContextManager(G),J.layer(()=>({resource:BJ(),spanProcessor:new X.BatchSpanProcessor(new Q.OTLPTraceExporter({url:`${a}/v1/traces`,headers:TQ}))}))},EQ=!a?qJ:z.unwrap(I.gen(function*(){let J=yield*I.promise(HX);return z.mergeAll(J,wX())})),WX={enabled:OQ,layer:EQ};var aX=z.makeMemoMapUnsafe();
3
3
  export{qJ as xr,UQ as yr,EQ as zr,WX as Ar,IX as Br,aX as Cr};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{L as o}from"./chunk-hnzs3ywg.js";import{M as i}from"./chunk-ghmctw8s.js";import{Bd as p}from"./chunk-wmqcz5rb.js";import{Od as n}from"./chunk-wmmck56g.js";import{Sf as B}from"./chunk-ntmn6epc.js";import{Zf as l}from"./chunk-qq48ffjc.js";import"./chunk-rmmrnx95.js";import"./chunk-5549c7mb.js";import"./chunk-pn77fh9b.js";import"./chunk-hkqcpdmt.js";import"./chunk-nfg7nt13.js";import"./chunk-awdpkgxf.js";import"./chunk-xb031er5.js";import{gh as d,qh as g}from"./chunk-1qw3yh13.js";import"./chunk-ckhhm2m8.js";import{Bh as D}from"./chunk-tp7sfreh.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import{Vk as f}from"./chunk-q39h31te.js";import"./chunk-0x0a51w3.js";import"./chunk-7myavy3p.js";import"./chunk-fegrrsfj.js";import"./chunk-c4x99ayd.js";import"./chunk-w0fg8n1f.js";import"./chunk-0pbpzty2.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-jc0wbpjq.js";import"./chunk-jfy6bfvv.js";import"./chunk-aej69zjj.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-k5vwx1nv.js";import"./chunk-ej3gmaba.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import{Vs as u,dt as I,mt as x}from"./chunk-v7yvnnmr.js";import{Gt as y}from"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import"./chunk-fa03gsff.js";import Q from"path";import{pathToFileURL as a}from"url";import{EOL as O}from"os";function $(j){let K=j.state;return{input:K.input,metadata:"metadata"in K?K.metadata:{},part:j}}function C(j){let K=j.description?B.Style.TEXT_DIM+` ${j.description}`+B.Style.TEXT_NORMAL:"";B.println(B.Style.TEXT_NORMAL+j.icon,B.Style.TEXT_NORMAL+j.title+K)}function b(j,K){if(B.empty(),C(j),!K?.trim())return;B.println(K),B.empty()}function c(j){let K=j.state,V="input"in K?K.input:void 0,Y=("title"in K&&K.title?K.title:void 0)||(V&&typeof V==="object"&&Object.keys(V).length>0?JSON.stringify(V):"Unknown");C({icon:"\u2699",title:`${j.tool} ${Y}`})}function t(j){let K=j.path??"",V=`${j.kind} "${j.pattern}"`,Y=K?`in ${T(K)}`:"",H=j.count===void 0?Y:`${Y}${Y?" \xB7 ":""}${j.count} ${j.count===1?"match":"matches"}`;C({icon:"\u2731",title:V,...H&&{description:H}})}function r(j){t({kind:"Glob",pattern:j.input.pattern,path:j.input.path,count:j.metadata.count})}function jj(j){t({kind:"Grep",pattern:j.input.pattern,path:j.input.path,count:j.metadata.matches})}function Bj(j){let K=T(j.input.filePath),V=Object.entries(j.input).filter(([H,S])=>{if(H==="filePath")return!1;return typeof S==="string"||typeof S==="number"||typeof S==="boolean"}),Y=V.length?`[${V.map(([H,S])=>`${H}=${S}`).join(", ")}]`:void 0;C({icon:"\u2192",title:`Read ${K}`,...Y&&{description:Y}})}function Gj(j){b({icon:"\u2190",title:`Write ${T(j.input.filePath)}`},j.part.state.status==="completed"?j.part.state.output:void 0)}function Jj(j){C({icon:"%",title:`WebFetch ${j.input.url}`})}function Kj(j){let K=T(j.input.filePath),V=j.metadata.diff;b({icon:"\u2190",title:`Edit ${K}`},V)}function Mj(j){C({icon:"\u25C7",title:`Exa Code Search "${j.input.query}"`})}function Nj(j){C({icon:"\u25C8",title:`Web Search "${j.input.query}"`})}function k(j){let K=j.part.state.input?.operation??j.part.state.input,V=j.part.state.status,Y=typeof K?.subagent_type==="string"&&K.subagent_type.trim().length>0?K.subagent_type:"unknown",H=u.titlecase(Y),S=typeof K?.description==="string"&&K.description.trim().length>0?K.description:void 0,w=V==="error"?"\u2717":V==="running"?"\u2022":"\u2713",L=S??`${H} Task`;C({icon:w,title:L,description:S?`${H} Agent`:void 0})}function Vj(j){C({icon:"\u2192",title:`Skill "${j.input.name}"`})}function Xj(j){let K=j.part.state.status==="completed"?j.part.state.output?.trim():void 0;b({icon:"$",title:`${j.input.command}`},K)}function T(j){if(!j)return"";if(Q.isAbsolute(j))return Q.relative(process.cwd(),j)||".";return j}var Tj=n({command:"run [message..]",describe:"run qitqode with a message",builder:(j)=>{return j.positional("message",{describe:"message to send",type:"string",array:!0,default:[]}).option("command",{describe:"the command to run, use message for args",type:"string"}).option("continue",{alias:["c"],describe:"continue the last session",type:"boolean"}).option("session",{alias:["s"],describe:"session id to continue",type:"string"}).option("fork",{describe:"fork the session before continuing (requires --continue or --session)",type:"boolean"}).option("share",{type:"boolean",describe:"share the session"}).option("model",{type:"string",alias:["m"],describe:"model to use in the format of provider/model"}).option("agent",{type:"string",describe:"agent to use"}).option("format",{type:"string",choices:["default","json"],default:"default",describe:"format: default (formatted) or json (raw JSON events)"}).option("file",{alias:["f"],type:"string",array:!0,describe:"file(s) to attach to message"}).option("title",{type:"string",describe:"title for the session (uses truncated prompt if no value provided)"}).option("attach",{type:"string",describe:"attach to a running qitqode server (e.g., http://localhost:4096)"}).option("password",{alias:["p"],type:"string",describe:"basic auth password (defaults to QITQODE_SERVER_PASSWORD)"}).option("dir",{type:"string",describe:"directory to run in, path on remote server if attaching"}).option("port",{type:"number",describe:"port for the local server (defaults to random port if no value provided)"}).option("variant",{type:"string",describe:"model variant (provider-specific reasoning effort, e.g., high, max, minimal)"}).option("thinking",{type:"boolean",describe:"show thinking blocks",default:!1}).option("dangerously-skip-permissions",{type:"boolean",describe:"auto-approve permissions that are not explicitly denied (dangerous!)",default:!1})},handler:async(j)=>{let K=[...j.message,...j["--"]||[]].join(" "),V=(()=>{if(!j.dir)return;if(j.attach)return j.dir;try{return process.chdir(j.dir),process.cwd()}catch{B.error("Failed to change directory to "+j.dir),process.exit(1)}})(),Y=[];if(j.file){let M=Array.isArray(j.file)?j.file:[j.file];for(let X of M){let N=Q.resolve(process.cwd(),X);if(!await y.exists(N))B.error(`File not found: ${X}`),process.exit(1);let W=await y.isDir(N)?"application/x-directory":"text/plain";Y.push({type:"file",url:a(N).href,filename:Q.basename(N),mime:W})}}if(!process.stdin.isTTY)K+=`
2
+ import{L as o}from"./chunk-hnzs3ywg.js";import{M as i}from"./chunk-tcp31yv0.js";import{Bd as p}from"./chunk-07b36w5g.js";import{Od as n}from"./chunk-wmmck56g.js";import{Sf as B}from"./chunk-ntmn6epc.js";import{Zf as l}from"./chunk-h5wh2d49.js";import"./chunk-xjdxyeja.js";import"./chunk-1zb95qfx.js";import"./chunk-cckshvkb.js";import"./chunk-hkqcpdmt.js";import"./chunk-nfg7nt13.js";import"./chunk-awdpkgxf.js";import"./chunk-8x6x3g16.js";import{gh as d,qh as g}from"./chunk-0jv8r99k.js";import"./chunk-th189x63.js";import{Bh as D}from"./chunk-k6eyc1wv.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import{Vk as f}from"./chunk-3f6t3wde.js";import"./chunk-b5h8vd5n.js";import"./chunk-jee9y4t0.js";import"./chunk-50aznc8e.js";import"./chunk-c4x99ayd.js";import"./chunk-73d0dy03.js";import"./chunk-ha5qct06.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-ds162xgb.js";import"./chunk-jfy6bfvv.js";import"./chunk-2p6w3w8f.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-2bxy8zm1.js";import"./chunk-qq9pvscd.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import{Vs as u,dt as I,mt as x}from"./chunk-p20ft5mj.js";import{Gt as y}from"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import"./chunk-fa03gsff.js";import Q from"path";import{pathToFileURL as a}from"url";import{EOL as O}from"os";function $(j){let K=j.state;return{input:K.input,metadata:"metadata"in K?K.metadata:{},part:j}}function C(j){let K=j.description?B.Style.TEXT_DIM+` ${j.description}`+B.Style.TEXT_NORMAL:"";B.println(B.Style.TEXT_NORMAL+j.icon,B.Style.TEXT_NORMAL+j.title+K)}function b(j,K){if(B.empty(),C(j),!K?.trim())return;B.println(K),B.empty()}function c(j){let K=j.state,V="input"in K?K.input:void 0,Y=("title"in K&&K.title?K.title:void 0)||(V&&typeof V==="object"&&Object.keys(V).length>0?JSON.stringify(V):"Unknown");C({icon:"\u2699",title:`${j.tool} ${Y}`})}function t(j){let K=j.path??"",V=`${j.kind} "${j.pattern}"`,Y=K?`in ${T(K)}`:"",H=j.count===void 0?Y:`${Y}${Y?" \xB7 ":""}${j.count} ${j.count===1?"match":"matches"}`;C({icon:"\u2731",title:V,...H&&{description:H}})}function r(j){t({kind:"Glob",pattern:j.input.pattern,path:j.input.path,count:j.metadata.count})}function jj(j){t({kind:"Grep",pattern:j.input.pattern,path:j.input.path,count:j.metadata.matches})}function Bj(j){let K=T(j.input.filePath),V=Object.entries(j.input).filter(([H,S])=>{if(H==="filePath")return!1;return typeof S==="string"||typeof S==="number"||typeof S==="boolean"}),Y=V.length?`[${V.map(([H,S])=>`${H}=${S}`).join(", ")}]`:void 0;C({icon:"\u2192",title:`Read ${K}`,...Y&&{description:Y}})}function Gj(j){b({icon:"\u2190",title:`Write ${T(j.input.filePath)}`},j.part.state.status==="completed"?j.part.state.output:void 0)}function Jj(j){C({icon:"%",title:`WebFetch ${j.input.url}`})}function Kj(j){let K=T(j.input.filePath),V=j.metadata.diff;b({icon:"\u2190",title:`Edit ${K}`},V)}function Mj(j){C({icon:"\u25C7",title:`Exa Code Search "${j.input.query}"`})}function Nj(j){C({icon:"\u25C8",title:`Web Search "${j.input.query}"`})}function k(j){let K=j.part.state.input?.operation??j.part.state.input,V=j.part.state.status,Y=typeof K?.subagent_type==="string"&&K.subagent_type.trim().length>0?K.subagent_type:"unknown",H=u.titlecase(Y),S=typeof K?.description==="string"&&K.description.trim().length>0?K.description:void 0,w=V==="error"?"\u2717":V==="running"?"\u2022":"\u2713",L=S??`${H} Task`;C({icon:w,title:L,description:S?`${H} Agent`:void 0})}function Vj(j){C({icon:"\u2192",title:`Skill "${j.input.name}"`})}function Xj(j){let K=j.part.state.status==="completed"?j.part.state.output?.trim():void 0;b({icon:"$",title:`${j.input.command}`},K)}function T(j){if(!j)return"";if(Q.isAbsolute(j))return Q.relative(process.cwd(),j)||".";return j}var Tj=n({command:"run [message..]",describe:"run qitqode with a message",builder:(j)=>{return j.positional("message",{describe:"message to send",type:"string",array:!0,default:[]}).option("command",{describe:"the command to run, use message for args",type:"string"}).option("continue",{alias:["c"],describe:"continue the last session",type:"boolean"}).option("session",{alias:["s"],describe:"session id to continue",type:"string"}).option("fork",{describe:"fork the session before continuing (requires --continue or --session)",type:"boolean"}).option("share",{type:"boolean",describe:"share the session"}).option("model",{type:"string",alias:["m"],describe:"model to use in the format of provider/model"}).option("agent",{type:"string",describe:"agent to use"}).option("format",{type:"string",choices:["default","json"],default:"default",describe:"format: default (formatted) or json (raw JSON events)"}).option("file",{alias:["f"],type:"string",array:!0,describe:"file(s) to attach to message"}).option("title",{type:"string",describe:"title for the session (uses truncated prompt if no value provided)"}).option("attach",{type:"string",describe:"attach to a running qitqode server (e.g., http://localhost:4096)"}).option("password",{alias:["p"],type:"string",describe:"basic auth password (defaults to QITQODE_SERVER_PASSWORD)"}).option("dir",{type:"string",describe:"directory to run in, path on remote server if attaching"}).option("port",{type:"number",describe:"port for the local server (defaults to random port if no value provided)"}).option("variant",{type:"string",describe:"model variant (provider-specific reasoning effort, e.g., high, max, minimal)"}).option("thinking",{type:"boolean",describe:"show thinking blocks",default:!1}).option("dangerously-skip-permissions",{type:"boolean",describe:"auto-approve permissions that are not explicitly denied (dangerous!)",default:!1})},handler:async(j)=>{let K=[...j.message,...j["--"]||[]].join(" "),V=(()=>{if(!j.dir)return;if(j.attach)return j.dir;try{return process.chdir(j.dir),process.cwd()}catch{B.error("Failed to change directory to "+j.dir),process.exit(1)}})(),Y=[];if(j.file){let M=Array.isArray(j.file)?j.file:[j.file];for(let X of M){let N=Q.resolve(process.cwd(),X);if(!await y.exists(N))B.error(`File not found: ${X}`),process.exit(1);let W=await y.isDir(N)?"application/x-directory":"text/plain";Y.push({type:"file",url:a(N).href,filename:Q.basename(N),mime:W})}}if(!process.stdin.isTTY)K+=`
3
3
  `+await Bun.stdin.text();if(K.trim().length===0&&!j.command)B.error("You must provide a message or a command"),process.exit(1);if(j.fork&&!j.continue&&!j.session)B.error("--fork requires --continue or --session"),process.exit(1);let H=[{permission:"question",action:"deny",pattern:"*"},{permission:"plan_enter",action:"deny",pattern:"*"},{permission:"plan_exit",action:"deny",pattern:"*"}];function S(){if(j.title===void 0)return;if(j.title!=="")return j.title;return K.slice(0,50)+(K.length>50?"...":"")}async function w(M){let X=j.continue?(await M.session.list()).data?.find((Z)=>!Z.parentID)?.id:j.session;if(X&&j.fork)return(await M.session.fork({sessionID:X})).data?.id;if(X)return X;let N=S();return(await M.session.create({title:N,permission:H})).data?.id}async function L(M,X){let N=await M.config.get();if(!N.data)return;if(N.data.share!=="auto"&&!I.QITQODE_AUTO_SHARE&&!j.share)return;let W=await M.session.share({sessionID:X}).catch((Z)=>{if(Z instanceof Error&&Z.message.includes("disabled"))B.println(B.Style.TEXT_DANGER_BOLD+"! "+Z.message);return{error:Z}});if(!W.error&&"data"in W&&W.data?.share?.url)B.println(B.Style.TEXT_INFO_BOLD+"~ "+W.data.share.url)}async function h(M){function X(G){try{if(G.tool==="bash")return Xj($(G));if(G.tool==="glob")return r($(G));if(G.tool==="grep")return jj($(G));if(G.tool==="read")return Bj($(G));if(G.tool==="write")return Gj($(G));if(G.tool==="webfetch")return Jj($(G));if(G.tool==="edit")return Kj($(G));if(G.tool==="codesearch")return Mj($(G));if(G.tool==="websearch")return Nj($(G));if(G.tool==="actor")return k($(G));if(G.tool==="skill")return Vj($(G));return c(G)}catch{return c(G)}}function N(G,q){if(j.format==="json")return process.stdout.write(JSON.stringify({type:G,timestamp:Date.now(),sessionID:A,...q})+O),!0;return!1}let W=await M.event.subscribe(),Z;async function e(G){let q=new Map,z=x.create({service:"cli.run"}),E=W.stream[Symbol.asyncIterator](),F=G.completion.then(()=>"DONE");try{while(!0){let P=await Promise.race([E.next(),F]);if(P==="DONE")break;if(P.done)break;let _=P.value;if(G.onEvent(_),z.debug("event received",{type:_.type}),_.type==="message.updated"&&_.properties.info.role==="assistant"&&j.format!=="json"&&q.get("start")!==!0)B.empty(),B.println(`> ${_.properties.info.agent} \xB7 ${_.properties.info.modelID}`),B.empty(),q.set("start",!0);if(_.type==="message.part.updated"){let J=_.properties.part;if(J.sessionID!==A)continue;if(J.type==="tool"&&(J.state.status==="completed"||J.state.status==="error")){if(N("tool_use",{part:J}))continue;if(J.state.status==="completed"){X(J);continue}C({icon:"\u2717",title:`${J.tool} failed`}),B.error(J.state.error)}if(J.type==="tool"&&J.tool==="actor"&&J.state.status==="running"&&j.format!=="json"){if(q.get(J.id)===!0)continue;k($(J)),q.set(J.id,!0)}if(J.type==="step-start"){if(N("step_start",{part:J}))continue}if(J.type==="step-finish"){if(N("step_finish",{part:J}))continue}if(J.type==="text"&&J.time?.end){if(N("text",{part:J}))continue;let R=J.text.trim();if(!R)continue;if(!process.stdout.isTTY){process.stdout.write(R+O);continue}B.empty(),B.println(R),B.empty()}if(J.type==="reasoning"&&J.time?.end&&j.thinking){if(N("reasoning",{part:J}))continue;let R=J.text.trim();if(!R)continue;let U=`Thinking: ${R}`;if(process.stdout.isTTY){B.empty(),B.println(`${B.Style.TEXT_DIM}\x1B[3m${U}\x1B[0m${B.Style.TEXT_NORMAL}`),B.empty();continue}process.stdout.write(U+O)}}if(_.type==="session.error"){let J=_.properties;if(J.sessionID!==A||!J.error)continue;let R=String(J.error.name);if("data"in J.error&&J.error.data&&"message"in J.error.data)R=String(J.error.data.message);if(Z=Z?Z+O+R:R,N("error",{error:J.error}))continue;B.error(R)}if(_.type==="permission.asked"){let J=_.properties;if(J.sessionID!==A)continue;if(j["dangerously-skip-permissions"])await M.permission.reply({requestID:J.id,reply:"once"});else B.println(B.Style.TEXT_WARNING_BOLD+"!",B.Style.TEXT_NORMAL+`permission requested: ${J.permission} (${J.patterns.join(", ")}); auto-rejecting`),await M.permission.reply({requestID:J.id,reply:"reject"})}}}finally{G.stop(),await E.return?.(void 0).catch(()=>{})}}let v=await(async()=>{if(!j.agent)return;let G=j.agent;if(j.attach){let z=await M.app.agents(void 0,{throwOnError:!0}).then((F)=>F.data??[]).catch(()=>{return});if(!z){B.println(B.Style.TEXT_WARNING_BOLD+"!",B.Style.TEXT_NORMAL,`failed to list agents from ${j.attach}. Falling back to default agent`);return}let E=z.find((F)=>F.name===G);if(!E){B.println(B.Style.TEXT_WARNING_BOLD+"!",B.Style.TEXT_NORMAL,`agent "${G}" not found. Falling back to default agent`);return}if(E.mode==="subagent"){B.println(B.Style.TEXT_WARNING_BOLD+"!",B.Style.TEXT_NORMAL,`agent "${G}" is a subagent, not a primary agent. Falling back to default agent`);return}return G}let q=await g.runPromise(d.Service.use((z)=>z.get(G)));if(!q){B.println(B.Style.TEXT_WARNING_BOLD+"!",B.Style.TEXT_NORMAL,`agent "${G}" not found. Falling back to default agent`);return}if(q.mode==="subagent"){B.println(B.Style.TEXT_WARNING_BOLD+"!",B.Style.TEXT_NORMAL,`agent "${G}" is a subagent, not a primary agent. Falling back to default agent`);return}return G})(),A=await w(M);if(!A)B.error("Session not found"),process.exit(1);await L(M,A);let s=x.create({service:"cli.run.poll"}),m=o({sessionID:A,query:async()=>{try{return(await M.session.status()).data?.[A]}catch(G){throw s.debug("session.status query failed",{error:G}),G}}});if(e(m).catch((G)=>{console.error(G),process.exit(1)}),j.command)await M.session.command({sessionID:A,agent:v,model:j.model,command:j.command,arguments:K,variant:j.variant});else{let G=j.model?f.parseModel(j.model):void 0;await M.session.prompt({sessionID:A,agent:v,model:G,variant:j.variant,parts:[...Y,{type:"text",text:K}]})}m.markStarted()}if(j.attach){let M=i({password:j.password}),X=D({baseUrl:j.attach,directory:V,headers:M});return await h(X)}await p(process.cwd(),async()=>{let X=D({baseUrl:"http://qitqode.internal",fetch:async(N,W)=>{let Z=new Request(N,W);return l.Default().app.fetch(Z)}});await h(X)})}});export{Tj as RunCommand};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{ph as a,qh as b}from"./chunk-1qw3yh13.js";import"./chunk-ckhhm2m8.js";import"./chunk-tp7sfreh.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import"./chunk-q39h31te.js";import"./chunk-0x0a51w3.js";import"./chunk-7myavy3p.js";import"./chunk-fegrrsfj.js";import"./chunk-c4x99ayd.js";import"./chunk-w0fg8n1f.js";import"./chunk-0pbpzty2.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-jc0wbpjq.js";import"./chunk-jfy6bfvv.js";import"./chunk-aej69zjj.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-k5vwx1nv.js";import"./chunk-ej3gmaba.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import"./chunk-v7yvnnmr.js";import"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import"./chunk-fa03gsff.js";export{b as AppRuntime,a as AppLayer};
2
+ import{ph as a,qh as b}from"./chunk-0jv8r99k.js";import"./chunk-th189x63.js";import"./chunk-k6eyc1wv.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import"./chunk-3f6t3wde.js";import"./chunk-b5h8vd5n.js";import"./chunk-jee9y4t0.js";import"./chunk-50aznc8e.js";import"./chunk-c4x99ayd.js";import"./chunk-73d0dy03.js";import"./chunk-ha5qct06.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-ds162xgb.js";import"./chunk-jfy6bfvv.js";import"./chunk-2p6w3w8f.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-2bxy8zm1.js";import"./chunk-qq9pvscd.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import"./chunk-p20ft5mj.js";import"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import"./chunk-fa03gsff.js";export{b as AppRuntime,a as AppLayer};
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{zd as Xf}from"./chunk-b2ky15zx.js";import{Bd as Jf}from"./chunk-wmqcz5rb.js";import{Od as Gf}from"./chunk-wmmck56g.js";import{Lf as Af}from"./chunk-6tjghyx6.js";import{Zf as jf}from"./chunk-qq48ffjc.js";import"./chunk-rmmrnx95.js";import"./chunk-5549c7mb.js";import"./chunk-pn77fh9b.js";import"./chunk-hkqcpdmt.js";import"./chunk-nfg7nt13.js";import"./chunk-awdpkgxf.js";import"./chunk-xb031er5.js";import{gh as Uw,qh as Cw}from"./chunk-1qw3yh13.js";import"./chunk-ckhhm2m8.js";import{Bh as yf}from"./chunk-tp7sfreh.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import{Uk as Qf,Vk as h,Xk as _f,_j as zw,ek as H,fk as P}from"./chunk-q39h31te.js";import"./chunk-0x0a51w3.js";import"./chunk-7myavy3p.js";import"./chunk-fegrrsfj.js";import"./chunk-c4x99ayd.js";import"./chunk-w0fg8n1f.js";import"./chunk-0pbpzty2.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-jc0wbpjq.js";import"./chunk-jfy6bfvv.js";import"./chunk-aej69zjj.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import{Lq as $f}from"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-k5vwx1nv.js";import"./chunk-ej3gmaba.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import{Gs as Df,_s as ff,mt as V}from"./chunk-v7yvnnmr.js";import{Gt as Hw}from"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import{Cu as w}from"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import{nP as mD}from"./chunk-fa03gsff.js";var B={authenticate:"authenticate",initialize:"initialize",session_cancel:"session/cancel",session_close:"session/close",session_fork:"session/fork",session_list:"session/list",session_load:"session/load",session_new:"session/new",session_prompt:"session/prompt",session_resume:"session/resume",session_set_config_option:"session/set_config_option",session_set_mode:"session/set_mode",session_set_model:"session/set_model"},L={fs_read_text_file:"fs/read_text_file",fs_write_text_file:"fs/write_text_file",session_request_permission:"session/request_permission",session_update:"session/update",terminal_create:"terminal/create",terminal_kill:"terminal/kill",terminal_output:"terminal/output",terminal_release:"terminal/release",terminal_wait_for_exit:"terminal/wait_for_exit"};var Zf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),terminal:w.boolean().optional().default(!1)}),Of=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),label:w.string().nullish(),name:w.string(),optional:w.boolean().optional().default(!1),secret:w.boolean().optional().default(!0)}),Nf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),description:w.string().nullish(),id:w.string(),name:w.string()}),Wf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),description:w.string().nullish(),id:w.string(),link:w.string().nullish(),name:w.string(),vars:w.array(Of)}),Bf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),args:w.array(w.string()).optional(),description:w.string().nullish(),env:w.record(w.string(),w.string()).optional(),id:w.string(),name:w.string()}),Kf=w.union([Wf.and(w.object({type:w.literal("env_var")})),Bf.and(w.object({type:w.literal("terminal")})),Nf]),p=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),methodId:w.string()}),Lf=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),Ff=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),blob:w.string(),mimeType:w.string().nullish(),uri:w.string()}),kf=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),xf=w.object({amount:w.number(),currency:w.string()}),Vf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),terminalId:w.string()}),Pf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),newText:w.string(),oldText:w.string().nullish(),path:w.string()}),Mw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),name:w.string(),value:w.string()}),Hf=w.union([w.literal(-32700),w.literal(-32600),w.literal(-32601),w.literal(-32602),w.literal(-32603),w.literal(-32800),w.literal(-32000),w.literal(-32002),w.number().int().min(-2147483648,{message:"Invalid value: Expected int32 to be >= -2147483648"}).max(2147483647,{message:"Invalid value: Expected int32 to be <= 2147483647"})]),Ew=w.object({code:Hf,data:w.unknown().optional(),message:w.string()}),Iw=w.unknown(),qw=w.unknown(),Sw=w.unknown(),Tf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),readTextFile:w.boolean().optional().default(!1),writeTextFile:w.boolean().optional().default(!1)}),hf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),auth:Zf.optional().default({terminal:!1}),fs:Tf.optional().default({readTextFile:!1,writeTextFile:!1}),terminal:w.boolean().optional().default(!1)}),cw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),name:w.string(),value:w.string()}),Rw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),name:w.string(),title:w.string().nullish(),version:w.string()}),bf=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),m=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),cursor:w.string().nullish(),cwd:w.string().nullish()}),Uf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),http:w.boolean().optional().default(!1),sse:w.boolean().optional().default(!1)}),Cf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),headers:w.array(cw),name:w.string(),url:w.string()}),vf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),headers:w.array(cw),name:w.string(),url:w.string()}),Mf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),args:w.array(w.string()),command:w.string(),env:w.array(Mw),name:w.string()}),I=w.union([Cf.and(w.object({type:w.literal("http")})),vf.and(w.object({type:w.literal("sse")})),Mf]),o=w.string(),Ef=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),description:w.string().nullish(),modelId:o,name:w.string()}),r=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),cwd:w.string(),mcpServers:w.array(I)}),uw=w.string(),If=w.union([w.literal("allow_once"),w.literal("allow_always"),w.literal("reject_once"),w.literal("reject_always")]),qf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),kind:If,name:w.string(),optionId:uw}),Sf=w.union([w.literal("high"),w.literal("medium"),w.literal("low")]),cf=w.union([w.literal("pending"),w.literal("in_progress"),w.literal("completed")]),Rf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),content:w.string(),priority:Sf,status:cf}),uf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),entries:w.array(Rf)}),gf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),audio:w.boolean().optional().default(!1),embeddedContext:w.boolean().optional().default(!1),image:w.boolean().optional().default(!1)}),gw=w.number().int().gte(0).lte(65535),a=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),clientCapabilities:hf.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:Rw.nullish(),protocolVersion:gw}),lf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),content:w.string()}),tf=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),T=w.union([w.number(),w.string()]).nullable(),sD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),requestId:T}),df=w.enum(["assistant","user"]),M=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),audience:w.array(df).nullish(),lastModified:w.string().nullish(),priority:w.number().nullish()}),nf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),annotations:M.nullish(),data:w.string(),mimeType:w.string()}),pf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),annotations:M.nullish(),data:w.string(),mimeType:w.string(),uri:w.string().nullish()}),mf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),annotations:M.nullish(),description:w.string().nullish(),mimeType:w.string().nullish(),name:w.string(),size:w.number().nullish(),title:w.string().nullish(),uri:w.string()}),of=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),optionId:uw}),rf=w.union([w.object({outcome:w.literal("cancelled")}),of.and(w.object({outcome:w.literal("selected")}))]),af=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),outcome:rf}),zf=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),sf=w.object({currentValue:w.boolean()}),ef=w.string(),lw=w.string(),wD=w.union([w.literal("mode"),w.literal("model"),w.literal("thought_level"),w.string()]),z=w.string(),iw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),description:w.string().nullish(),name:w.string(),value:z}),fD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),group:ef,name:w.string(),options:w.array(iw)}),DD=w.union([w.array(iw),w.array(fD)]),$D=w.object({currentValue:z,options:DD}),C=w.intersection(w.union([$D.and(w.object({type:w.literal("select")})),sf.and(w.object({type:w.literal("boolean")}))]),w.object({_meta:w.record(w.string(),w.unknown()).nullish(),category:wD.nullish(),description:w.string().nullish(),id:lw,name:w.string()})),QD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),configOptions:w.array(C)}),_D=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),K=w.string(),s=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),sessionId:K}),eD=w.object({method:w.string(),params:w.union([s,Iw]).nullish()}),e=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),sessionId:K}),ww=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),args:w.array(w.string()).optional(),command:w.string(),cwd:w.string().nullish(),env:w.array(Mw).optional(),outputByteLimit:w.number().nullish(),sessionId:K}),fw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),cwd:w.string(),mcpServers:w.array(I).optional(),sessionId:K}),Dw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),sessionId:K,terminalId:w.string()}),$w=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),cwd:w.string(),mcpServers:w.array(I),sessionId:K}),Qw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),limit:w.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),line:w.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),path:w.string(),sessionId:K}),_w=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),sessionId:K,terminalId:w.string()}),Aw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),cwd:w.string(),mcpServers:w.array(I).optional(),sessionId:K}),AD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),cwd:w.string(),sessionId:K,title:w.string().nullish(),updatedAt:w.string().nullish()}),yD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),nextCursor:w.string().nullish(),sessions:w.array(AD)}),jD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),title:w.string().nullish(),updatedAt:w.string().nullish()}),JD=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),q=w.string(),GD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),currentModeId:q}),XD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),description:w.string().nullish(),id:q,name:w.string()}),S=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),availableModes:w.array(XD),currentModeId:q}),c=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),availableModels:w.array(Ef),currentModelId:o}),YD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),configOptions:w.array(C).nullish(),models:c.nullish(),modes:S.nullish(),sessionId:K}),ZD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),configOptions:w.array(C).nullish(),models:c.nullish(),modes:S.nullish()}),OD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),configOptions:w.array(C).nullish(),models:c.nullish(),modes:S.nullish(),sessionId:K}),ND=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),configOptions:w.array(C).nullish(),models:c.nullish(),modes:S.nullish()}),WD=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),BD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),close:zf.nullish(),fork:_D.nullish(),list:JD.nullish(),resume:WD.nullish()}),KD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),loadSession:w.boolean().optional().default(!1),mcpCapabilities:Uf.optional().default({http:!1,sse:!1}),promptCapabilities:gf.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:BD.optional().default({})}),LD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),agentCapabilities:KD.optional().default({loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:Rw.nullish(),authMethods:w.array(Kf).optional().default([]),protocolVersion:gw}),yw=w.intersection(w.union([w.object({type:w.literal("boolean"),value:w.boolean()}),w.object({value:z})]),w.object({_meta:w.record(w.string(),w.unknown()).nullish(),configId:lw,sessionId:K})),FD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),configOptions:w.array(C)}),jw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),modeId:q,sessionId:K}),kD=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),Jw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),modelId:o,sessionId:K}),xD=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),VD=w.union([w.literal("end_turn"),w.literal("max_tokens"),w.literal("max_turn_requests"),w.literal("refusal"),w.literal("cancelled")]),PD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),terminalId:w.string()}),HD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),exitCode:w.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),signal:w.string().nullish()}),Gw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),sessionId:K,terminalId:w.string()}),TD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),exitStatus:HD.nullish(),output:w.string(),truncated:w.boolean()}),hD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),annotations:M.nullish(),text:w.string()}),bD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),mimeType:w.string().nullish(),text:w.string(),uri:w.string()}),UD=w.union([bD,Ff]),CD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),annotations:M.nullish(),resource:UD}),Xw=w.union([hD.and(w.object({type:w.literal("text")})),pf.and(w.object({type:w.literal("image")})),nf.and(w.object({type:w.literal("audio")})),mf.and(w.object({type:w.literal("resource_link")})),CD.and(w.object({type:w.literal("resource")}))]),vD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),content:Xw}),n=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),content:Xw,messageId:w.string().nullish()}),Yw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),messageId:w.string().nullish(),prompt:w.array(Xw),sessionId:K}),w$=w.object({id:T,method:w.string(),params:w.union([a,p,r,$w,m,fw,Aw,e,jw,yw,Yw,Jw,qw]).nullish()}),tw=w.union([vD.and(w.object({type:w.literal("content")})),Pf.and(w.object({type:w.literal("diff")})),PD.and(w.object({type:w.literal("terminal")}))]),dw=w.string(),nw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),line:w.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),path:w.string()}),pw=w.union([w.literal("pending"),w.literal("in_progress"),w.literal("completed"),w.literal("failed")]),mw=w.union([w.literal("read"),w.literal("edit"),w.literal("delete"),w.literal("move"),w.literal("search"),w.literal("execute"),w.literal("think"),w.literal("fetch"),w.literal("switch_mode"),w.literal("other")]),MD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),content:w.array(tw).optional(),kind:mw.optional(),locations:w.array(nw).optional(),rawInput:w.unknown().optional(),rawOutput:w.unknown().optional(),status:pw.optional(),title:w.string(),toolCallId:dw}),ow=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),content:w.array(tw).nullish(),kind:mw.nullish(),locations:w.array(nw).nullish(),rawInput:w.unknown().optional(),rawOutput:w.unknown().optional(),status:pw.nullish(),title:w.string().nullish(),toolCallId:dw}),Zw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),options:w.array(qf),sessionId:K,toolCall:ow}),ED=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),hint:w.string()}),ID=ED,qD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),description:w.string(),input:ID.nullish(),name:w.string()}),SD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),availableCommands:w.array(qD)}),cD=w.object({cachedReadTokens:w.number().nullish(),cachedWriteTokens:w.number().nullish(),inputTokens:w.number(),outputTokens:w.number(),thoughtTokens:w.number().nullish(),totalTokens:w.number()}),RD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),stopReason:VD,usage:cD.nullish(),userMessageId:w.string().nullish()}),f$=w.union([w.object({id:T,result:w.union([LD,Lf,OD,ZD,yD,YD,ND,kf,kD,FD,RD,xD,Sw])}),w.object({error:Ew,id:T})]),uD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),cost:xf.nullish(),size:w.number(),used:w.number()}),gD=w.union([n.and(w.object({sessionUpdate:w.literal("user_message_chunk")})),n.and(w.object({sessionUpdate:w.literal("agent_message_chunk")})),n.and(w.object({sessionUpdate:w.literal("agent_thought_chunk")})),MD.and(w.object({sessionUpdate:w.literal("tool_call")})),ow.and(w.object({sessionUpdate:w.literal("tool_call_update")})),uf.and(w.object({sessionUpdate:w.literal("plan")})),SD.and(w.object({sessionUpdate:w.literal("available_commands_update")})),GD.and(w.object({sessionUpdate:w.literal("current_mode_update")})),QD.and(w.object({sessionUpdate:w.literal("config_option_update")})),jD.and(w.object({sessionUpdate:w.literal("session_info_update")})),uD.and(w.object({sessionUpdate:w.literal("usage_update")}))]),Ow=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),sessionId:K,update:gD}),D$=w.object({method:w.string(),params:w.union([Ow,Iw]).nullish()}),Nw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),sessionId:K,terminalId:w.string()}),lD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),exitCode:w.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),signal:w.string().nullish()}),Ww=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),content:w.string(),path:w.string(),sessionId:K}),$$=w.object({id:T,method:w.string(),params:w.union([Ww,Qw,Zw,ww,Gw,_w,Nw,Dw,qw]).nullish()}),iD=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),Q$=w.union([w.object({id:T,result:w.union([iD,lf,af,Vf,TD,tf,lD,bf,Sw])}),w.object({error:Ew,id:T})]);function rw(f,$){let D=new TextEncoder,Q=new TextDecoder,j=new ReadableStream({async start(_){let y="",X=$.getReader();try{while(!0){let{value:W,done:J}=await X.read();if(J)break;if(!W)continue;y+=Q.decode(W,{stream:!0});let G=y.split(`
2
+ import{zd as Xf}from"./chunk-2epf5806.js";import{Bd as Jf}from"./chunk-07b36w5g.js";import{Od as Gf}from"./chunk-wmmck56g.js";import{Lf as Af}from"./chunk-18xhxdsh.js";import{Zf as jf}from"./chunk-h5wh2d49.js";import"./chunk-xjdxyeja.js";import"./chunk-1zb95qfx.js";import"./chunk-cckshvkb.js";import"./chunk-hkqcpdmt.js";import"./chunk-nfg7nt13.js";import"./chunk-awdpkgxf.js";import"./chunk-8x6x3g16.js";import{gh as Uw,qh as Cw}from"./chunk-0jv8r99k.js";import"./chunk-th189x63.js";import{Bh as yf}from"./chunk-k6eyc1wv.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import{Uk as Qf,Vk as h,Xk as _f,_j as zw,ek as H,fk as P}from"./chunk-3f6t3wde.js";import"./chunk-b5h8vd5n.js";import"./chunk-jee9y4t0.js";import"./chunk-50aznc8e.js";import"./chunk-c4x99ayd.js";import"./chunk-73d0dy03.js";import"./chunk-ha5qct06.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-ds162xgb.js";import"./chunk-jfy6bfvv.js";import"./chunk-2p6w3w8f.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import{Lq as $f}from"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-2bxy8zm1.js";import"./chunk-qq9pvscd.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import{Gs as Df,_s as ff,mt as V}from"./chunk-p20ft5mj.js";import{Gt as Hw}from"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import{Cu as w}from"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import{nP as mD}from"./chunk-fa03gsff.js";var B={authenticate:"authenticate",initialize:"initialize",session_cancel:"session/cancel",session_close:"session/close",session_fork:"session/fork",session_list:"session/list",session_load:"session/load",session_new:"session/new",session_prompt:"session/prompt",session_resume:"session/resume",session_set_config_option:"session/set_config_option",session_set_mode:"session/set_mode",session_set_model:"session/set_model"},L={fs_read_text_file:"fs/read_text_file",fs_write_text_file:"fs/write_text_file",session_request_permission:"session/request_permission",session_update:"session/update",terminal_create:"terminal/create",terminal_kill:"terminal/kill",terminal_output:"terminal/output",terminal_release:"terminal/release",terminal_wait_for_exit:"terminal/wait_for_exit"};var Zf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),terminal:w.boolean().optional().default(!1)}),Of=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),label:w.string().nullish(),name:w.string(),optional:w.boolean().optional().default(!1),secret:w.boolean().optional().default(!0)}),Nf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),description:w.string().nullish(),id:w.string(),name:w.string()}),Wf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),description:w.string().nullish(),id:w.string(),link:w.string().nullish(),name:w.string(),vars:w.array(Of)}),Bf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),args:w.array(w.string()).optional(),description:w.string().nullish(),env:w.record(w.string(),w.string()).optional(),id:w.string(),name:w.string()}),Kf=w.union([Wf.and(w.object({type:w.literal("env_var")})),Bf.and(w.object({type:w.literal("terminal")})),Nf]),p=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),methodId:w.string()}),Lf=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),Ff=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),blob:w.string(),mimeType:w.string().nullish(),uri:w.string()}),kf=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),xf=w.object({amount:w.number(),currency:w.string()}),Vf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),terminalId:w.string()}),Pf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),newText:w.string(),oldText:w.string().nullish(),path:w.string()}),Mw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),name:w.string(),value:w.string()}),Hf=w.union([w.literal(-32700),w.literal(-32600),w.literal(-32601),w.literal(-32602),w.literal(-32603),w.literal(-32800),w.literal(-32000),w.literal(-32002),w.number().int().min(-2147483648,{message:"Invalid value: Expected int32 to be >= -2147483648"}).max(2147483647,{message:"Invalid value: Expected int32 to be <= 2147483647"})]),Ew=w.object({code:Hf,data:w.unknown().optional(),message:w.string()}),Iw=w.unknown(),qw=w.unknown(),Sw=w.unknown(),Tf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),readTextFile:w.boolean().optional().default(!1),writeTextFile:w.boolean().optional().default(!1)}),hf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),auth:Zf.optional().default({terminal:!1}),fs:Tf.optional().default({readTextFile:!1,writeTextFile:!1}),terminal:w.boolean().optional().default(!1)}),cw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),name:w.string(),value:w.string()}),Rw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),name:w.string(),title:w.string().nullish(),version:w.string()}),bf=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),m=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),cursor:w.string().nullish(),cwd:w.string().nullish()}),Uf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),http:w.boolean().optional().default(!1),sse:w.boolean().optional().default(!1)}),Cf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),headers:w.array(cw),name:w.string(),url:w.string()}),vf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),headers:w.array(cw),name:w.string(),url:w.string()}),Mf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),args:w.array(w.string()),command:w.string(),env:w.array(Mw),name:w.string()}),I=w.union([Cf.and(w.object({type:w.literal("http")})),vf.and(w.object({type:w.literal("sse")})),Mf]),o=w.string(),Ef=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),description:w.string().nullish(),modelId:o,name:w.string()}),r=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),cwd:w.string(),mcpServers:w.array(I)}),uw=w.string(),If=w.union([w.literal("allow_once"),w.literal("allow_always"),w.literal("reject_once"),w.literal("reject_always")]),qf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),kind:If,name:w.string(),optionId:uw}),Sf=w.union([w.literal("high"),w.literal("medium"),w.literal("low")]),cf=w.union([w.literal("pending"),w.literal("in_progress"),w.literal("completed")]),Rf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),content:w.string(),priority:Sf,status:cf}),uf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),entries:w.array(Rf)}),gf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),audio:w.boolean().optional().default(!1),embeddedContext:w.boolean().optional().default(!1),image:w.boolean().optional().default(!1)}),gw=w.number().int().gte(0).lte(65535),a=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),clientCapabilities:hf.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:Rw.nullish(),protocolVersion:gw}),lf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),content:w.string()}),tf=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),T=w.union([w.number(),w.string()]).nullable(),sD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),requestId:T}),df=w.enum(["assistant","user"]),M=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),audience:w.array(df).nullish(),lastModified:w.string().nullish(),priority:w.number().nullish()}),nf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),annotations:M.nullish(),data:w.string(),mimeType:w.string()}),pf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),annotations:M.nullish(),data:w.string(),mimeType:w.string(),uri:w.string().nullish()}),mf=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),annotations:M.nullish(),description:w.string().nullish(),mimeType:w.string().nullish(),name:w.string(),size:w.number().nullish(),title:w.string().nullish(),uri:w.string()}),of=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),optionId:uw}),rf=w.union([w.object({outcome:w.literal("cancelled")}),of.and(w.object({outcome:w.literal("selected")}))]),af=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),outcome:rf}),zf=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),sf=w.object({currentValue:w.boolean()}),ef=w.string(),lw=w.string(),wD=w.union([w.literal("mode"),w.literal("model"),w.literal("thought_level"),w.string()]),z=w.string(),iw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),description:w.string().nullish(),name:w.string(),value:z}),fD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),group:ef,name:w.string(),options:w.array(iw)}),DD=w.union([w.array(iw),w.array(fD)]),$D=w.object({currentValue:z,options:DD}),C=w.intersection(w.union([$D.and(w.object({type:w.literal("select")})),sf.and(w.object({type:w.literal("boolean")}))]),w.object({_meta:w.record(w.string(),w.unknown()).nullish(),category:wD.nullish(),description:w.string().nullish(),id:lw,name:w.string()})),QD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),configOptions:w.array(C)}),_D=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),K=w.string(),s=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),sessionId:K}),eD=w.object({method:w.string(),params:w.union([s,Iw]).nullish()}),e=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),sessionId:K}),ww=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),args:w.array(w.string()).optional(),command:w.string(),cwd:w.string().nullish(),env:w.array(Mw).optional(),outputByteLimit:w.number().nullish(),sessionId:K}),fw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),cwd:w.string(),mcpServers:w.array(I).optional(),sessionId:K}),Dw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),sessionId:K,terminalId:w.string()}),$w=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),cwd:w.string(),mcpServers:w.array(I),sessionId:K}),Qw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),limit:w.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),line:w.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),path:w.string(),sessionId:K}),_w=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),sessionId:K,terminalId:w.string()}),Aw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),cwd:w.string(),mcpServers:w.array(I).optional(),sessionId:K}),AD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),cwd:w.string(),sessionId:K,title:w.string().nullish(),updatedAt:w.string().nullish()}),yD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),nextCursor:w.string().nullish(),sessions:w.array(AD)}),jD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),title:w.string().nullish(),updatedAt:w.string().nullish()}),JD=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),q=w.string(),GD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),currentModeId:q}),XD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),description:w.string().nullish(),id:q,name:w.string()}),S=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),availableModes:w.array(XD),currentModeId:q}),c=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),availableModels:w.array(Ef),currentModelId:o}),YD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),configOptions:w.array(C).nullish(),models:c.nullish(),modes:S.nullish(),sessionId:K}),ZD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),configOptions:w.array(C).nullish(),models:c.nullish(),modes:S.nullish()}),OD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),configOptions:w.array(C).nullish(),models:c.nullish(),modes:S.nullish(),sessionId:K}),ND=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),configOptions:w.array(C).nullish(),models:c.nullish(),modes:S.nullish()}),WD=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),BD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),close:zf.nullish(),fork:_D.nullish(),list:JD.nullish(),resume:WD.nullish()}),KD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),loadSession:w.boolean().optional().default(!1),mcpCapabilities:Uf.optional().default({http:!1,sse:!1}),promptCapabilities:gf.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:BD.optional().default({})}),LD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),agentCapabilities:KD.optional().default({loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:Rw.nullish(),authMethods:w.array(Kf).optional().default([]),protocolVersion:gw}),yw=w.intersection(w.union([w.object({type:w.literal("boolean"),value:w.boolean()}),w.object({value:z})]),w.object({_meta:w.record(w.string(),w.unknown()).nullish(),configId:lw,sessionId:K})),FD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),configOptions:w.array(C)}),jw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),modeId:q,sessionId:K}),kD=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),Jw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),modelId:o,sessionId:K}),xD=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),VD=w.union([w.literal("end_turn"),w.literal("max_tokens"),w.literal("max_turn_requests"),w.literal("refusal"),w.literal("cancelled")]),PD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),terminalId:w.string()}),HD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),exitCode:w.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),signal:w.string().nullish()}),Gw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),sessionId:K,terminalId:w.string()}),TD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),exitStatus:HD.nullish(),output:w.string(),truncated:w.boolean()}),hD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),annotations:M.nullish(),text:w.string()}),bD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),mimeType:w.string().nullish(),text:w.string(),uri:w.string()}),UD=w.union([bD,Ff]),CD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),annotations:M.nullish(),resource:UD}),Xw=w.union([hD.and(w.object({type:w.literal("text")})),pf.and(w.object({type:w.literal("image")})),nf.and(w.object({type:w.literal("audio")})),mf.and(w.object({type:w.literal("resource_link")})),CD.and(w.object({type:w.literal("resource")}))]),vD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),content:Xw}),n=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),content:Xw,messageId:w.string().nullish()}),Yw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),messageId:w.string().nullish(),prompt:w.array(Xw),sessionId:K}),w$=w.object({id:T,method:w.string(),params:w.union([a,p,r,$w,m,fw,Aw,e,jw,yw,Yw,Jw,qw]).nullish()}),tw=w.union([vD.and(w.object({type:w.literal("content")})),Pf.and(w.object({type:w.literal("diff")})),PD.and(w.object({type:w.literal("terminal")}))]),dw=w.string(),nw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),line:w.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),path:w.string()}),pw=w.union([w.literal("pending"),w.literal("in_progress"),w.literal("completed"),w.literal("failed")]),mw=w.union([w.literal("read"),w.literal("edit"),w.literal("delete"),w.literal("move"),w.literal("search"),w.literal("execute"),w.literal("think"),w.literal("fetch"),w.literal("switch_mode"),w.literal("other")]),MD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),content:w.array(tw).optional(),kind:mw.optional(),locations:w.array(nw).optional(),rawInput:w.unknown().optional(),rawOutput:w.unknown().optional(),status:pw.optional(),title:w.string(),toolCallId:dw}),ow=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),content:w.array(tw).nullish(),kind:mw.nullish(),locations:w.array(nw).nullish(),rawInput:w.unknown().optional(),rawOutput:w.unknown().optional(),status:pw.nullish(),title:w.string().nullish(),toolCallId:dw}),Zw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),options:w.array(qf),sessionId:K,toolCall:ow}),ED=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),hint:w.string()}),ID=ED,qD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),description:w.string(),input:ID.nullish(),name:w.string()}),SD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),availableCommands:w.array(qD)}),cD=w.object({cachedReadTokens:w.number().nullish(),cachedWriteTokens:w.number().nullish(),inputTokens:w.number(),outputTokens:w.number(),thoughtTokens:w.number().nullish(),totalTokens:w.number()}),RD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),stopReason:VD,usage:cD.nullish(),userMessageId:w.string().nullish()}),f$=w.union([w.object({id:T,result:w.union([LD,Lf,OD,ZD,yD,YD,ND,kf,kD,FD,RD,xD,Sw])}),w.object({error:Ew,id:T})]),uD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),cost:xf.nullish(),size:w.number(),used:w.number()}),gD=w.union([n.and(w.object({sessionUpdate:w.literal("user_message_chunk")})),n.and(w.object({sessionUpdate:w.literal("agent_message_chunk")})),n.and(w.object({sessionUpdate:w.literal("agent_thought_chunk")})),MD.and(w.object({sessionUpdate:w.literal("tool_call")})),ow.and(w.object({sessionUpdate:w.literal("tool_call_update")})),uf.and(w.object({sessionUpdate:w.literal("plan")})),SD.and(w.object({sessionUpdate:w.literal("available_commands_update")})),GD.and(w.object({sessionUpdate:w.literal("current_mode_update")})),QD.and(w.object({sessionUpdate:w.literal("config_option_update")})),jD.and(w.object({sessionUpdate:w.literal("session_info_update")})),uD.and(w.object({sessionUpdate:w.literal("usage_update")}))]),Ow=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),sessionId:K,update:gD}),D$=w.object({method:w.string(),params:w.union([Ow,Iw]).nullish()}),Nw=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),sessionId:K,terminalId:w.string()}),lD=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),exitCode:w.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),signal:w.string().nullish()}),Ww=w.object({_meta:w.record(w.string(),w.unknown()).nullish(),content:w.string(),path:w.string(),sessionId:K}),$$=w.object({id:T,method:w.string(),params:w.union([Ww,Qw,Zw,ww,Gw,_w,Nw,Dw,qw]).nullish()}),iD=w.object({_meta:w.record(w.string(),w.unknown()).nullish()}),Q$=w.union([w.object({id:T,result:w.union([iD,lf,af,Vf,TD,tf,lD,bf,Sw])}),w.object({error:Ew,id:T})]);function rw(f,$){let D=new TextEncoder,Q=new TextDecoder,j=new ReadableStream({async start(_){let y="",X=$.getReader();try{while(!0){let{value:W,done:J}=await X.read();if(J)break;if(!W)continue;y+=Q.decode(W,{stream:!0});let G=y.split(`
3
3
  `);y=G.pop()||"";for(let Y of G){let O=Y.trim();if(O)try{let Z=JSON.parse(O);_.enqueue(Z)}catch(Z){console.error("Failed to parse JSON message:",O,Z)}}}}finally{X.releaseLock(),_.close()}}}),A=new WritableStream({async write(_){let y=JSON.stringify(_)+`
4
4
  `,X=f.getWriter();try{await X.write(D.encode(y))}finally{X.releaseLock()}}});return{readable:j,writable:A}}class Bw{#w;constructor(f,$){let D=f(this),Q=async(A,_)=>{switch(A){case B.initialize:{let y=a.parse(_);return D.initialize(y)}case B.session_new:{let y=r.parse(_);return D.newSession(y)}case B.session_load:{if(!D.loadSession)throw N.methodNotFound(A);let y=$w.parse(_);return D.loadSession(y)}case B.session_list:{if(!D.listSessions)throw N.methodNotFound(A);let y=m.parse(_);return D.listSessions(y)}case B.session_fork:{if(!D.unstable_forkSession)throw N.methodNotFound(A);let y=fw.parse(_);return D.unstable_forkSession(y)}case B.session_resume:{if(!D.unstable_resumeSession)throw N.methodNotFound(A);let y=Aw.parse(_);return D.unstable_resumeSession(y)}case B.session_close:{if(!D.unstable_closeSession)throw N.methodNotFound(A);let y=e.parse(_);return D.unstable_closeSession(y)}case B.session_set_mode:{if(!D.setSessionMode)throw N.methodNotFound(A);let y=jw.parse(_);return await D.setSessionMode(y)??{}}case B.authenticate:{let y=p.parse(_);return await D.authenticate(y)??{}}case B.session_prompt:{let y=Yw.parse(_);return D.prompt(y)}case B.session_set_model:{if(!D.unstable_setSessionModel)throw N.methodNotFound(A);let y=Jw.parse(_);return await D.unstable_setSessionModel(y)??{}}case B.session_set_config_option:{if(!D.setSessionConfigOption)throw N.methodNotFound(A);let y=yw.parse(_);return D.setSessionConfigOption(y)}default:if(D.extMethod)return D.extMethod(A,_);throw N.methodNotFound(A)}},j=async(A,_)=>{switch(A){case B.session_cancel:{let y=s.parse(_);return D.cancel(y)}default:if(D.extNotification)return D.extNotification(A,_);throw N.methodNotFound(A)}};this.#w=new Kw(Q,j,$)}async sessionUpdate(f){return await this.#w.sendNotification(L.session_update,f)}async requestPermission(f){return await this.#w.sendRequest(L.session_request_permission,f)}async readTextFile(f){return await this.#w.sendRequest(L.fs_read_text_file,f)}async writeTextFile(f){return await this.#w.sendRequest(L.fs_write_text_file,f)??{}}async createTerminal(f){let $=await this.#w.sendRequest(L.terminal_create,f);return new aw($.terminalId,f.sessionId,this.#w)}async extMethod(f,$){return await this.#w.sendRequest(f,$)}async extNotification(f,$){return await this.#w.sendNotification(f,$)}get signal(){return this.#w.signal}get closed(){return this.#w.closed}}class aw{id;#w;#f;constructor(f,$,D){this.id=f,this.#w=$,this.#f=D}async currentOutput(){return await this.#f.sendRequest(L.terminal_output,{sessionId:this.#w,terminalId:this.id})}async waitForExit(){return await this.#f.sendRequest(L.terminal_wait_for_exit,{sessionId:this.#w,terminalId:this.id})}async kill(){return await this.#f.sendRequest(L.terminal_kill,{sessionId:this.#w,terminalId:this.id})??{}}async release(){return await this.#f.sendRequest(L.terminal_release,{sessionId:this.#w,terminalId:this.id})??{}}async[Symbol.asyncDispose](){await this.release()}}class dD{#w;constructor(f,$){let D=f(this),Q=async(A,_)=>{switch(A){case L.fs_write_text_file:{let y=Ww.parse(_);return D.writeTextFile?.(y)}case L.fs_read_text_file:{let y=Qw.parse(_);return D.readTextFile?.(y)}case L.session_request_permission:{let y=Zw.parse(_);return D.requestPermission(y)}case L.terminal_create:{let y=ww.parse(_);return D.createTerminal?.(y)}case L.terminal_output:{let y=Gw.parse(_);return D.terminalOutput?.(y)}case L.terminal_release:{let y=_w.parse(_);return await D.releaseTerminal?.(y)??{}}case L.terminal_wait_for_exit:{let y=Nw.parse(_);return D.waitForTerminalExit?.(y)}case L.terminal_kill:{let y=Dw.parse(_);return await D.killTerminal?.(y)??{}}default:if(D.extMethod)return D.extMethod(A,_);throw N.methodNotFound(A)}},j=async(A,_)=>{switch(A){case L.session_update:{let y=Ow.parse(_);return D.sessionUpdate(y)}default:if(D.extNotification)return D.extNotification(A,_);throw N.methodNotFound(A)}};this.#w=new Kw(Q,j,$)}async initialize(f){return await this.#w.sendRequest(B.initialize,f)}async newSession(f){return await this.#w.sendRequest(B.session_new,f)}async loadSession(f){return await this.#w.sendRequest(B.session_load,f)??{}}async unstable_forkSession(f){return await this.#w.sendRequest(B.session_fork,f)}async listSessions(f){return await this.#w.sendRequest(B.session_list,f)}async unstable_resumeSession(f){return await this.#w.sendRequest(B.session_resume,f)}async unstable_closeSession(f){return await this.#w.sendRequest(B.session_close,f)}async setSessionMode(f){return await this.#w.sendRequest(B.session_set_mode,f)??{}}async unstable_setSessionModel(f){return await this.#w.sendRequest(B.session_set_model,f)??{}}async setSessionConfigOption(f){return await this.#w.sendRequest(B.session_set_config_option,f)}async authenticate(f){return await this.#w.sendRequest(B.authenticate,f)??{}}async prompt(f){return await this.#w.sendRequest(B.session_prompt,f)}async cancel(f){return await this.#w.sendNotification(B.session_cancel,f)}async extMethod(f,$){return await this.#w.sendRequest(f,$)}async extNotification(f,$){return await this.#w.sendNotification(f,$)}get signal(){return this.#w.signal}get closed(){return this.#w.closed}}class Kw{#w=new Map;#f=0;#A;#y;#$;#Q=Promise.resolve();#_=new AbortController;#j;constructor(f,$,D){this.#A=f,this.#y=$,this.#$=D,this.#j=new Promise((Q)=>{this.#_.signal.addEventListener("abort",()=>Q())}),this.#J()}get signal(){return this.#_.signal}get closed(){return this.#j}async#J(){let f=this.#$.readable.getReader();try{while(!0){let{value:$,done:D}=await f.read();if(D)break;if(!$)continue;try{this.#G($)}catch(Q){if(console.error("Unexpected error during message processing:",$,Q),"id"in $&&$.id!==void 0)this.#D({jsonrpc:"2.0",id:$.id,error:{code:-32700,message:"Parse error"}})}}}finally{f.releaseLock(),this.#_.abort()}}async#G(f){if("method"in f&&"id"in f){let $=await this.#X(f.method,f.params);if("error"in $)console.error("Error handling request",f,$.error);await this.#D({jsonrpc:"2.0",id:f.id,...$})}else if("method"in f){let $=await this.#Y(f.method,f.params);if("error"in $)console.error("Error handling notification",f,$.error)}else if("id"in f)this.#Z(f);else console.error("Invalid message",{message:f})}async#X(f,$){try{return{result:await this.#A(f,$)??null}}catch(D){if(D instanceof N)return D.toResult();if(D instanceof w.ZodError)return N.invalidParams(D.format()).toResult();let Q;if(D instanceof Error)Q=D.message;else if(typeof D==="object"&&D!=null&&"message"in D&&typeof D.message==="string")Q=D.message;try{return N.internalError(Q?JSON.parse(Q):{}).toResult()}catch{return N.internalError({details:Q}).toResult()}}}async#Y(f,$){try{return await this.#y(f,$),{result:null}}catch(D){if(D instanceof N)return D.toResult();if(D instanceof w.ZodError)return N.invalidParams(D.format()).toResult();let Q;if(D instanceof Error)Q=D.message;else if(typeof D==="object"&&D!=null&&"message"in D&&typeof D.message==="string")Q=D.message;try{return N.internalError(Q?JSON.parse(Q):{}).toResult()}catch{return N.internalError({details:Q}).toResult()}}}#Z(f){let $=this.#w.get(f.id);if($){if("result"in f)$.resolve(f.result);else if("error"in f)$.reject(f.error);this.#w.delete(f.id)}else console.error("Got response to unknown request",f.id)}async sendRequest(f,$){let D=this.#f++,Q=new Promise((j,A)=>{this.#w.set(D,{resolve:j,reject:A})});return await this.#D({jsonrpc:"2.0",id:D,method:f,params:$}),Q}async sendNotification(f,$){await this.#D({jsonrpc:"2.0",method:f,params:$})}async#D(f){return this.#Q=this.#Q.then(async()=>{let $=this.#$.writable.getWriter();try{await $.write(f)}finally{$.releaseLock()}}).catch(($)=>{console.error("ACP write error:",$)}),this.#Q}}class N extends Error{code;data;constructor(f,$,D){super($);this.code=f,this.name="RequestError",this.data=D}static parseError(f,$){return new N(-32700,`Parse error${$?`: ${$}`:""}`,f)}static invalidRequest(f,$){return new N(-32600,`Invalid request${$?`: ${$}`:""}`,f)}static methodNotFound(f){return new N(-32601,`"Method not found": ${f}`,{method:f})}static invalidParams(f,$){return new N(-32602,`Invalid params${$?`: ${$}`:""}`,f)}static internalError(f,$){return new N(-32603,`Internal error${$?`: ${$}`:""}`,f)}static authRequired(f,$){return new N(-32000,`Authentication required${$?`: ${$}`:""}`,f)}static resourceNotFound(f){return new N(-32002,`Resource not found${f?`: ${f}`:""}`,f&&{uri:f})}toResult(){return{error:{code:this.code,message:this.message,data:this.data}}}toErrorResponse(){return{code:this.code,message:this.message,data:this.data}}}var E={};mD(E,{init:()=>rD,Agent:()=>vw,ACP:()=>E});var Lw=V.create({service:"acp-session-manager"});class Fw{sessions=new Map;sdk;constructor(f){this.sdk=f}tryGet(f){return this.sessions.get(f)}async create(f,$,D){let j=(await this.sdk.session.create({directory:f},{throwOnError:!0}).then((y)=>y.data)).id,_={id:j,cwd:f,mcpServers:$,createdAt:new Date,model:D};return Lw.info("creating_session",{state:_}),this.sessions.set(j,_),_}async load(f,$,D,Q){let j=await this.sdk.session.get({sessionID:f,directory:$},{throwOnError:!0}).then((y)=>y.data),A=Q,_={id:f,cwd:$,mcpServers:D,createdAt:new Date(j.time.created),model:A};return Lw.info("loading_session",{state:_}),this.sessions.set(f,_),_}get(f){let $=this.sessions.get(f);if(!$)throw Lw.error("session not found",{sessionId:f}),N.invalidParams(JSON.stringify({error:`Session not found: ${f}`}));return $}getModel(f){return this.get(f).model}setModel(f,$){let D=this.get(f);return D.model=$,this.sessions.set(f,D),D}getVariant(f){return this.get(f).variant}setVariant(f,$){let D=this.get(f);return D.variant=$,this.sessions.set(f,D),D}setMode(f,$){let D=this.get(f);return D.modeId=$,this.sessions.set(f,D),D}}import{pathToFileURL as R}from"url";var nD=V.create({service:"acp-message-translator"}),pD="default";function b(f){switch(f.toLocaleLowerCase()){case"bash":return"execute";case"webfetch":return"fetch";case"edit":case"patch":case"write":return"edit";case"grep":case"glob":case"context7_resolve_library_id":case"context7_get_library_docs":return"search";case"read":return"read";default:return"other"}}function u(f,$){switch(f.toLocaleLowerCase()){case"read":case"edit":case"write":return $.filePath?[{path:$.filePath}]:[];case"glob":case"grep":return $.path?[{path:$.path}]:[];case"bash":return[];default:return[]}}function g(f){try{if(f.startsWith("file://")){let $=f.slice(7),D=$.split("/").pop()||$;return{type:"file",url:f,filename:D,mime:"text/plain"}}if(f.startsWith("zed://")){let D=new URL(f).searchParams.get("path");if(D){let Q=D.split("/").pop()||D;return{type:"file",url:R(D).href,filename:Q,mime:"text/plain"}}}return{type:"text",text:f}}catch{return{type:"text",text:f}}}function sw(f,$){let D=zw(f,$);if(D===!1){nD.error("Failed to apply unified diff (context mismatch)");return}return D}function kw(f){if(f.tool!=="bash")return;if(!("metadata"in f.state)||!f.state.metadata||typeof f.state.metadata!=="object")return;let $=f.state.metadata.output;if(typeof $!=="string")return;return $}function l(f){return[...f].sort(($,D)=>{let Q=$.name.toLowerCase(),j=D.name.toLowerCase();if(Q<j)return-1;if(Q>j)return 1;return 0})}function xw(f,$){let D=f.find((j)=>j.id===$.providerID);if(!D)return[];let Q=D.models[$.modelID];if(!Q?.variants)return[];return Object.keys(Q.variants)}function ew(f,$={}){let D=$.includeVariants??!1;return f.flatMap((Q)=>{let j=Object.values(Q.models);return h.sort(j).flatMap((_)=>{let y={modelId:`${Q.id}/${_.id}`,name:`${Q.name}/${_.name}`};if(!D||!_.variants)return[y];let W=Object.keys(_.variants).filter((J)=>J!==pD).map((J)=>({modelId:`${Q.id}/${_.id}/${J}`,name:`${Q.name}/${_.name} (${J})`}));return[y,...W]})})}function i(f,$,D,Q){let j=`${f.providerID}/${f.modelID}`;if(!Q||!$||!D.includes($))return j;return`${j}/${$}`}function Vw(f){return{opencode:{modelId:`${f.model.providerID}/${f.model.modelID}`,variant:f.variant??null,availableVariants:f.availableVariants}}}function Pw(f,$){let D=h.parseModel(f),Q=$.find((A)=>A.id===D.providerID);if(!Q)return{model:D,variant:void 0};if(Q.models[D.modelID])return{model:D,variant:void 0};let j=D.modelID.split("/");if(j.length>1){let A=j[j.length-1],_=j.slice(0,-1).join("/"),y=Q.models[_];if(y?.variants&&A in y.variants)return{model:{providerID:D.providerID,modelID:P.make(_)},variant:A}}return{model:D,variant:void 0}}function t(f){let $=[{id:"model",name:"Model",category:"model",type:"select",currentValue:f.currentModelId,options:f.availableModels.map((D)=>({value:D.modelId,name:D.name}))}];if(f.modes)$.push({id:"mode",name:"Session Mode",category:"mode",type:"select",currentValue:f.modes.currentModeId,options:f.modes.availableModes.map((D)=>({value:D.id,name:D.name,...D.description?{description:D.description}:{}}))});return $}var wf=V.create({service:"acp-permissions"});class Tw{connection;sdk;sessionManager;permissionQueues=new Map;permissionOptions=[{optionId:"once",kind:"allow_once",name:"Allow once"},{optionId:"always",kind:"allow_always",name:"Always allow"},{optionId:"reject",kind:"reject_once",name:"Reject"}];constructor(f,$,D){this.connection=f;this.sdk=$;this.sessionManager=D}handle(f){let $=this.sessionManager.tryGet(f.sessionID);if(!$)return;let Q=(this.permissionQueues.get(f.sessionID)??Promise.resolve()).then(async()=>{let j=$.cwd,A=await this.connection.requestPermission({sessionId:f.sessionID,toolCall:{toolCallId:f.tool?.callID??f.id,status:"pending",title:f.permission,rawInput:f.metadata,kind:b(f.permission),locations:u(f.permission,f.metadata??{})},options:this.permissionOptions}).catch(async(_)=>{wf.error("failed to request permission from ACP",{error:_,permissionID:f.id,sessionID:f.sessionID}),await this.sdk.permission.reply({requestID:f.id,reply:"reject",directory:j});return});if(!A)return;if(A.outcome.outcome!=="selected"){await this.sdk.permission.reply({requestID:f.id,reply:"reject",directory:j});return}if(A.outcome.optionId!=="reject"&&f.permission=="edit"){let _=f.metadata||{},y=typeof _.filepath==="string"?_.filepath:"",X=typeof _.diff==="string"?_.diff:"",W=await Hw.exists(y)?await Hw.readText(y):"",J=sw(W,X);if(J)this.connection.writeTextFile({sessionId:$.id,path:y,content:J})}await this.sdk.permission.reply({requestID:f.id,reply:A.outcome.optionId,directory:j})}).catch((j)=>{wf.error("failed to handle permission",{error:j,permissionID:f.id})}).finally(()=>{if(this.permissionQueues.get(f.sessionID)===Q)this.permissionQueues.delete(f.sessionID)});this.permissionQueues.set(f.sessionID,Q)}}var F=V.create({service:"acp-event-bridge"});class hw{connection;sdk;sessionManager;eventAbort=new AbortController;eventStarted=!1;bashSnapshots=new Map;toolStarts=new Set;permissionHandler;constructor(f,$,D){this.connection=f;this.sdk=$;this.sessionManager=D;this.permissionHandler=new Tw(f,$,D)}start(){if(this.eventStarted)return;this.eventStarted=!0,this.runEventSubscription().catch((f)=>{if(this.eventAbort.signal.aborted)return;F.error("event subscription failed",{error:f})})}stop(){this.eventAbort.abort()}async runEventSubscription(){while(!0){if(this.eventAbort.signal.aborted)return;let f=await this.sdk.global.event({signal:this.eventAbort.signal,sseMaxRetryAttempts:0});for await(let $ of f.stream){if(this.eventAbort.signal.aborted)return;let D=$?.payload;if(!D)continue;await this.handleEvent(D).catch((Q)=>{F.error("failed to handle event",{error:Q,type:D.type})})}if(this.eventAbort.signal.aborted)return;await new Promise(($)=>{let D=()=>{clearTimeout(Q),this.eventAbort.signal.removeEventListener("abort",D),$()},Q=setTimeout(D,1000);if(this.eventAbort.signal.addEventListener("abort",D,{once:!0}),this.eventAbort.signal.aborted)D()})}}async handleEvent(f){switch(f.type){case"permission.asked":{this.permissionHandler.handle(f.properties);return}case"message.part.updated":{F.info("message part updated",{event:f.properties});let D=f.properties.part,Q=this.sessionManager.tryGet(D.sessionID);if(!Q)return;let j=Q.id;if(D.type==="tool")switch(await this.toolStart(j,D),D.state.status){case"pending":this.bashSnapshots.delete(D.callID);return;case"running":{let A=kw(D),_=[];if(A){let y=ff.fast(A);if(D.tool==="bash"){if(this.bashSnapshots.get(D.callID)===y){await this.sendToolInProgress(j,D,D.state,[]);return}this.bashSnapshots.set(D.callID,y)}_.push({type:"content",content:{type:"text",text:A}})}await this.sendToolInProgress(j,D,D.state,_);return}case"completed":await this.sendToolCompleted(j,D,D.state);return;case"error":await this.sendToolError(j,D,D.state);return}if(D.type!=="text"&&D.type!=="file")return;return}case"message.part.delta":{let $=f.properties,D=this.sessionManager.tryGet($.sessionID);if(!D)return;let Q=D.id,j=await this.sdk.session.message({sessionID:$.sessionID,messageID:$.messageID,directory:D.cwd},{throwOnError:!0}).then((_)=>_.data).catch((_)=>{F.error("unexpected error when fetching message",{error:_});return});if(!j||j.info.role!=="assistant")return;let A=j.parts.find((_)=>_.id===$.partID);if(!A)return;if(A.type==="text"&&$.field==="text"&&A.ignored!==!0){await this.connection.sessionUpdate({sessionId:Q,update:{sessionUpdate:"agent_message_chunk",messageId:$.messageID,content:{type:"text",text:$.delta}}}).catch((_)=>{F.error("failed to send text delta to ACP",{error:_})});return}if(A.type==="reasoning"&&$.field==="text")await this.connection.sessionUpdate({sessionId:Q,update:{sessionUpdate:"agent_thought_chunk",messageId:$.messageID,content:{type:"text",text:$.delta}}}).catch((_)=>{F.error("failed to send reasoning delta to ACP",{error:_})});return}}}async sendToolInProgress(f,$,D,Q){await this.connection.sessionUpdate({sessionId:f,update:{sessionUpdate:"tool_call_update",toolCallId:$.callID,status:"in_progress",kind:b($.tool),title:$.tool,locations:u($.tool,D.input),rawInput:D.input,...Q.length>0&&{content:Q}}}).catch((j)=>{F.error("failed to send tool in_progress to ACP",{error:j})})}async sendToolCompleted(f,$,D){this.toolStarts.delete($.callID),this.bashSnapshots.delete($.callID);let Q=b($.tool),j=[{type:"content",content:{type:"text",text:D.output}}];if(Q==="edit"){let A=D.input,_=typeof A.filePath==="string"?A.filePath:"",y=typeof A.oldString==="string"?A.oldString:"",X=typeof A.newString==="string"?A.newString:typeof A.content==="string"?A.content:"";j.push({type:"diff",path:_,oldText:y,newText:X})}await this.connection.sessionUpdate({sessionId:f,update:{sessionUpdate:"tool_call_update",toolCallId:$.callID,status:"completed",kind:Q,content:j,title:D.title,rawInput:D.input,rawOutput:{output:D.output,metadata:D.metadata}}}).catch((A)=>{F.error("failed to send tool completed to ACP",{error:A})})}async sendToolError(f,$,D){this.toolStarts.delete($.callID),this.bashSnapshots.delete($.callID),await this.connection.sessionUpdate({sessionId:f,update:{sessionUpdate:"tool_call_update",toolCallId:$.callID,status:"failed",kind:b($.tool),title:$.tool,rawInput:D.input,content:[{type:"content",content:{type:"text",text:D.error}}],rawOutput:{error:D.error,metadata:D.metadata}}}).catch((Q)=>{F.error("failed to send tool error to ACP",{error:Q})})}async toolStart(f,$){if(this.toolStarts.has($.callID))return;this.toolStarts.add($.callID),await this.connection.sessionUpdate({sessionId:f,update:{sessionUpdate:"tool_call",toolCallId:$.callID,title:$.tool,kind:b($.tool),status:"pending",locations:[],rawInput:{}}}).catch((D)=>{F.error("failed to send tool pending to ACP",{error:D})})}async processMessage(f){if(F.debug("process message",f),f.info.role!=="assistant"&&f.info.role!=="user")return;let $=f.info.sessionID;for(let D of f.parts)if(D.type==="tool")switch(await this.toolStart($,D),D.state.status){case"pending":this.bashSnapshots.delete(D.callID);break;case"running":{let Q=kw(D),j=[];if(Q)j.push({type:"content",content:{type:"text",text:Q}});await this.sendToolInProgress($,D,D.state,j);break}case"completed":await this.sendToolCompleted($,D,D.state);break;case"error":await this.sendToolError($,D,D.state);break}else if(D.type==="text"){if(D.text){let Q=D.synthetic?["assistant"]:D.ignored?["user"]:void 0;await this.connection.sessionUpdate({sessionId:$,update:{sessionUpdate:f.info.role==="user"?"user_message_chunk":"agent_message_chunk",messageId:f.info.id,content:{type:"text",text:D.text,...Q&&{annotations:{audience:Q}}}}}).catch((j)=>{F.error("failed to send text to ACP",{error:j})})}}else if(D.type==="file"){let Q=D.url,j=D.filename??"file",A=D.mime||"application/octet-stream",_=f.info.role==="user"?"user_message_chunk":"agent_message_chunk";if(Q.startsWith("file://"))await this.connection.sessionUpdate({sessionId:$,update:{sessionUpdate:_,messageId:f.info.id,content:{type:"resource_link",uri:Q,name:j,mimeType:A}}}).catch((y)=>{F.error("failed to send resource_link to ACP",{error:y})});else if(Q.startsWith("data:")){let y=Q.match(/^data:([^;]+);base64,(.*)$/),X=y?.[1],W=y?.[2]??"",J=X||A;if(J.startsWith("image/"))await this.connection.sessionUpdate({sessionId:$,update:{sessionUpdate:_,messageId:f.info.id,content:{type:"image",mimeType:J,data:W,uri:R(j).href}}}).catch((G)=>{F.error("failed to send image to ACP",{error:G})});else{let G=J.startsWith("text/")||J==="application/json",Y=R(j).href,O=G?{uri:Y,mimeType:J,text:Buffer.from(W,"base64").toString("utf-8")}:{uri:Y,mimeType:J,blob:W};await this.connection.sessionUpdate({sessionId:$,update:{sessionUpdate:_,messageId:f.info.id,content:{type:"resource",resource:O}}}).catch((Z)=>{F.error("failed to send resource to ACP",{error:Z})})}}}else if(D.type==="reasoning"){if(D.text)await this.connection.sessionUpdate({sessionId:$,update:{sessionUpdate:"agent_thought_chunk",messageId:f.info.id,content:{type:"text",text:D.text}}}).catch((Q)=>{F.error("failed to send reasoning to ACP",{error:Q})})}}}var x=V.create({service:"acp-agent"});async function oD(f,$,D,Q){return(await f.config.providers({directory:Q}).then((y)=>y.data?.providers??[]).catch((y)=>{return x.error("failed to get providers for context limit",{error:y}),[]})).find((y)=>y.id===$)?.models[D]?.limit.context??null}async function bw(f,$,D,Q){let j=await $.session.messages({sessionID:D,directory:Q,agent_id:"main"},{throwOnError:!0}).then((G)=>G.data).catch((G)=>{x.error("failed to fetch messages for usage update",{error:G});return});if(!j)return;let A=j.filter((G)=>G.info.role==="assistant"),_=A[A.length-1];if(!_)return;let y=_.info;if(!y.providerID||!y.modelID)return;let X=await oD($,H.make(y.providerID),P.make(y.modelID),Q);if(!X)return;let W=y.tokens.input+(y.tokens.cache?.read??0),J=A.reduce((G,Y)=>G+Y.info.cost,0);await f.sessionUpdate({sessionId:D,update:{sessionUpdate:"usage_update",used:W,size:X,cost:{amount:J,currency:"USD"}}}).catch((G)=>{x.error("failed to send usage update",{error:G})})}async function rD({sdk:f}){return{create:($,D)=>{return new vw($,D)}}}class vw{connection;config;sdk;sessionManager;eventBridge;constructor(f,$){this.connection=f,this.config=$,this.sdk=$.sdk,this.sessionManager=new Fw(this.sdk),this.eventBridge=new hw(f,this.sdk,this.sessionManager),this.eventBridge.start()}async initialize(f){x.info("initialize",{protocolVersion:f.protocolVersion});let $={description:"Run `qitqode auth login` in the terminal",name:"Login with qitqode",id:"qitqode-login"};if(f.clientCapabilities?._meta?.["terminal-auth"]===!0)$._meta={"terminal-auth":{command:"qitqode",args:["auth","login"],label:"QitQode Login"}};return{protocolVersion:1,agentCapabilities:{loadSession:!0,mcpCapabilities:{http:!0,sse:!0},promptCapabilities:{embeddedContext:!0,image:!0},sessionCapabilities:{fork:{},list:{},resume:{}}},authMethods:[$],agentInfo:{name:"QitQode",version:Df}}}async authenticate(f){throw Error("Authentication not implemented")}rethrowSessionError(f){let $=_f.fromError(f,{providerID:H.make(this.config.defaultModel?.providerID??"unknown")});if($f.isInstance($))throw N.authRequired();throw f}fetchSessionMessages(f,$){return this.sdk.session.messages({sessionID:f,directory:$,agent_id:"main"},{throwOnError:!0}).then((D)=>D.data).catch((D)=>{x.error("unexpected error when fetching message",{error:D});return})}loadSessionProviders(f){return this.sdk.config.providers({directory:f},{throwOnError:!0}).then(($)=>$.data.providers)}async newSession(f){let $=f.cwd;try{let D=await U(this.config,$),j=(await this.sessionManager.create(f.cwd,f.mcpServers,D)).id;x.info("creating_session",{sessionId:j,mcpServers:f.mcpServers.length});let A=await this.loadSessionMode({cwd:$,mcpServers:f.mcpServers,sessionId:j});return{sessionId:j,configOptions:A.configOptions,models:A.models,modes:A.modes,_meta:A._meta}}catch(D){this.rethrowSessionError(D)}}async loadSession(f){let{cwd:$,sessionId:D}=f;try{let Q=await U(this.config,$);await this.sessionManager.load(D,f.cwd,f.mcpServers,Q),x.info("load_session",{sessionId:D,mcpServers:f.mcpServers.length});let j=await this.loadSessionMode({cwd:$,mcpServers:f.mcpServers,sessionId:D}),A=await this.fetchSessionMessages(D,$),_=A?.findLast((y)=>y.info.role==="user")?.info;if(_?.role==="user"){if(j.models.currentModelId=`${_.model.providerID}/${_.model.modelID}`,this.sessionManager.setModel(D,{providerID:H.make(_.model.providerID),modelID:P.make(_.model.modelID)}),j.modes?.availableModes.some((y)=>y.id===_.agent))j.modes.currentModeId=_.agent,this.sessionManager.setMode(D,_.agent);j.configOptions=t({currentModelId:j.models.currentModelId,availableModels:j.models.availableModels,modes:j.modes})}return await this.replayMessagesAndSendUsage(A,D,$),j}catch(Q){this.rethrowSessionError(Q)}}async listSessions(f){try{let D=await this.sdk.session.list({directory:f.cwd??void 0,roots:!0},{throwOnError:!0}).then((G)=>G.data??[]),Q=f.cursor?Number(f.cursor):void 0,j=D.toSorted((G,Y)=>Y.time.updated-G.time.updated),A=Q?j.filter((G)=>G.time.updated<Q):j,_=A.slice(0,100),y=_.map((G)=>({sessionId:G.id,cwd:G.directory,title:G.title,updatedAt:new Date(G.time.updated).toISOString()})),X=_[_.length-1],W=A.length>100&&X?String(X.time.updated):void 0,J={sessions:y};if(W)J.nextCursor=W;return J}catch($){this.rethrowSessionError($)}}async unstable_forkSession(f){let $=f.cwd,D=f.mcpServers??[];try{let Q=await U(this.config,$),j=await this.sdk.session.fork({sessionID:f.sessionId,directory:$},{throwOnError:!0}).then((X)=>X.data);if(!j)throw Error("Fork session returned no data");let A=j.id;await this.sessionManager.load(A,$,D,Q),x.info("fork_session",{sessionId:A,mcpServers:D.length});let _=await this.loadSessionMode({cwd:$,mcpServers:D,sessionId:A}),y=await this.fetchSessionMessages(A,$);return await this.replayMessagesAndSendUsage(y,A,$),_}catch(Q){this.rethrowSessionError(Q)}}async unstable_resumeSession(f){let{cwd:$,sessionId:D}=f,Q=f.mcpServers??[];try{let j=await U(this.config,$);await this.sessionManager.load(D,$,Q,j),x.info("resume_session",{sessionId:D,mcpServers:Q.length});let A=await this.loadSessionMode({cwd:$,mcpServers:Q,sessionId:D});return await bw(this.connection,this.sdk,D,$),A}catch(j){this.rethrowSessionError(j)}}async loadAvailableModes(f){return(await this.config.sdk.app.agents({directory:f},{throwOnError:!0}).then((D)=>D.data)).filter((D)=>D.mode!=="subagent"&&!D.hidden).map((D)=>({id:D.name,name:D.name,description:D.description}))}async resolveModeState(f,$){let D=await this.loadAvailableModes(f),Q=this.sessionManager.get($).modeId||await(async()=>{if(!D.length)return;let j=await Cw.runPromise(Uw.Service.use((_)=>_.defaultAgent())),A=D.find((_)=>_.name===j)?.id??D[0].id;return this.sessionManager.setMode($,A),A})();return{availableModes:D,currentModeId:Q}}async replayMessagesAndSendUsage(f,$,D){for(let Q of f??[])x.debug("replay message",Q),await this.eventBridge.processMessage(Q);await bw(this.connection,this.sdk,$,D)}async resolveModelsAndModes(f){let $=xw(f.entries,f.model);f.onVariants?.($);let D=ew(f.entries,{includeVariants:!0}),Q=await this.resolveModeState(f.directory,f.sessionId),j=Q.currentModeId?{availableModes:Q.availableModes,currentModeId:Q.currentModeId}:void 0;return{availableVariants:$,availableModels:D,modes:j}}async loadSessionMode(f){let $=f.cwd,D=await U(this.config,$),Q=f.sessionId,j=await this.sdk.config.providers({directory:$}).then((Z)=>Z.data.providers),A=l(j),_=this.sessionManager.getVariant(Q),{availableVariants:y,availableModels:X,modes:W}=await this.resolveModelsAndModes({entries:A,model:D,directory:$,sessionId:Q,onVariants:(Z)=>{if(_&&!Z.includes(_))this.sessionManager.setVariant(Q,void 0)}}),G=(await this.config.sdk.command.list({directory:$},{throwOnError:!0}).then((Z)=>Z.data)).map((Z)=>({name:Z.name,description:Z.description??""}));if(!new Set(G.map((Z)=>Z.name)).has("compact"))G.push({name:"compact",description:"summarize the session to reduce context"});let O={};for(let Z of f.mcpServers)if("type"in Z)O[Z.name]={url:Z.url,headers:Z.headers.reduce((k,{name:v,value:d})=>{return k[v]=d,k},{}),type:"remote"};else O[Z.name]={type:"local",command:[Z.command,...Z.args],environment:Z.env.reduce((k,{name:v,value:d})=>{return k[v]=d,k},{})};return await Promise.all(Object.entries(O).map(async([Z,k])=>{await this.sdk.mcp.add({directory:$,name:Z,config:k},{throwOnError:!0}).catch((v)=>{x.error("failed to add mcp server",{name:Z,error:v})})})),setTimeout(()=>{this.connection.sessionUpdate({sessionId:Q,update:{sessionUpdate:"available_commands_update",availableCommands:G}})},0),{sessionId:Q,models:{currentModelId:i(D,_,y,!0),availableModels:X},modes:W,configOptions:t({currentModelId:i(D,_,y,!0),availableModels:X,modes:W}),_meta:Vw({model:D,variant:this.sessionManager.getVariant(Q),availableVariants:y})}}async unstable_setSessionModel(f){let $=this.sessionManager.get(f.sessionId),D=await this.loadSessionProviders($.cwd),Q=Pw(f.modelId,D);this.sessionManager.setModel($.id,Q.model),this.sessionManager.setVariant($.id,Q.variant);let j=l(D),A=xw(j,Q.model);return{_meta:Vw({model:Q.model,variant:Q.variant,availableVariants:A})}}async setSessionMode(f){let $=this.sessionManager.get(f.sessionId);if(!(await this.loadAvailableModes($.cwd)).some((Q)=>Q.id===f.modeId))throw Error(`Agent not found: ${f.modeId}`);this.sessionManager.setMode(f.sessionId,f.modeId)}async setSessionConfigOption(f){let $=this.sessionManager.get(f.sessionId),D=await this.loadSessionProviders($.cwd),Q=l(D);if(f.configId==="model"){if(typeof f.value!=="string")throw N.invalidParams("model value must be a string");let J=Pw(f.value,D);this.sessionManager.setModel($.id,J.model),this.sessionManager.setVariant($.id,J.variant)}else if(f.configId==="mode"){if(typeof f.value!=="string")throw N.invalidParams("mode value must be a string");if(!(await this.loadAvailableModes($.cwd)).some((G)=>G.id===f.value))throw N.invalidParams(JSON.stringify({error:`Mode not found: ${f.value}`}));this.sessionManager.setMode($.id,f.value)}else throw N.invalidParams(JSON.stringify({error:`Unknown config option: ${f.configId}`}));let j=this.sessionManager.get($.id),A=j.model??await U(this.config,$.cwd),{availableVariants:_,availableModels:y,modes:X}=await this.resolveModelsAndModes({entries:Q,model:A,directory:$.cwd,sessionId:$.id}),W=i(A,j.variant,_,!0);return{configOptions:t({currentModelId:W,availableModels:y,modes:X})}}async prompt(f){let $=f.sessionId,D=this.sessionManager.get($),Q=D.cwd,j=D.model,A=j??await U(this.config,Q);if(!j)this.sessionManager.setModel(D.id,A);let _=D.modeId??await Cw.runPromise(Uw.Service.use((Y)=>Y.defaultAgent())),y=[];for(let Y of f.prompt)switch(Y.type){case"text":{let O=Y.annotations?.audience,Z=O?.length===1&&O[0]==="assistant",k=O?.length===1&&O[0]==="user";y.push({type:"text",text:Y.text,...Z&&{synthetic:!0},...k&&{ignored:!0}});break}case"image":{let O=g(Y.uri??""),Z=O.type==="file"?O.filename:"image";if(Y.data)y.push({type:"file",url:`data:${Y.mimeType};base64,${Y.data}`,filename:Z,mime:Y.mimeType});else if(Y.uri&&Y.uri.startsWith("http:"))y.push({type:"file",url:Y.uri,filename:Z,mime:Y.mimeType});break}case"resource_link":{let O=g(Y.uri);if(Y.name&&O.type==="file")O.filename=Y.name;y.push(O);break}case"resource":{let O=Y.resource;if("text"in O&&O.text)y.push({type:"text",text:O.text});else if("blob"in O&&O.blob&&O.mimeType){let Z=g(O.uri??""),k=Z.type==="file"?Z.filename:"file";y.push({type:"file",url:`data:${O.mimeType};base64,${O.blob}`,filename:k,mime:O.mimeType})}break}default:break}x.info("parts",{parts:y});let X=(()=>{let Y=y.filter((k)=>k.type==="text").map((k)=>k.text).join("").trim();if(!Y.startsWith("/"))return;let[O,...Z]=Y.slice(1).split(/\s+/);return{name:O,args:Z.join(" ").trim()}})(),W=(Y)=>({totalTokens:Y.tokens.input+Y.tokens.output+Y.tokens.reasoning+(Y.tokens.cache?.read??0)+(Y.tokens.cache?.write??0),inputTokens:Y.tokens.input,outputTokens:Y.tokens.output,thoughtTokens:Y.tokens.reasoning||void 0,cachedReadTokens:Y.tokens.cache?.read||void 0,cachedWriteTokens:Y.tokens.cache?.write||void 0}),J,G=!1;if(!X)G=!0,J=(await this.sdk.session.prompt({sessionID:$,model:{providerID:A.providerID,modelID:A.modelID},variant:this.sessionManager.getVariant($),parts:y,agent:_,directory:Q})).data?.info;else{let Y=await this.config.sdk.command.list({directory:Q},{throwOnError:!0}).then((O)=>O.data.find((Z)=>Z.name===X.name));if(Y)G=!0,J=(await this.sdk.session.command({sessionID:$,command:Y.name,arguments:X.args,model:A.providerID+"/"+A.modelID,agent:_,directory:Q})).data?.info;else switch(X.name){case"compact":await this.config.sdk.session.summarize({sessionID:$,directory:Q,providerID:A.providerID,modelID:A.modelID},{throwOnError:!0});break}}return await bw(this.connection,this.sdk,$,Q),{stopReason:"end_turn",...G?{usage:J?W(J):void 0}:{},_meta:{}}}async cancel(f){let $=this.sessionManager.get(f.sessionId);await this.config.sdk.session.abort({sessionID:f.sessionId,directory:$.cwd},{throwOnError:!0})}}async function U(f,$){let{sdk:D,defaultModel:Q}=f;if(Q)return Q;let j=$??process.cwd(),A=await D.config.get({directory:j},{throwOnError:!0}).then((J)=>{let G=J.data;if(!G||!G.model)return;return h.parseModel(G.model)}).catch((J)=>{x.error("failed to load user config for default model",{error:J});return}),_=await D.config.providers({directory:j},{throwOnError:!0}).then((J)=>J.data?.providers??[]).catch((J)=>{return x.error("failed to list providers for default model",{error:J}),[]});if(A&&_.length){let J=_.find((G)=>G.id===A.providerID);if(J&&J.models[A.modelID])return A}if(A&&!_.length)return A;let y=_.find((J)=>J.id==="opencode");if(y){if(y.models["big-pickle"])return{providerID:H.opencode,modelID:P.make("big-pickle")};let[J]=h.sort(Object.values(y.models));if(J)return{providerID:H.make(J.providerID),modelID:P.make(J.id)}}for(let J of["default","fast","economical","power"]){let G=Qf[J];if(!G)continue;if(_.find((O)=>O.id===G.providerID)?.models[G.modelID])return{providerID:H.make(G.providerID),modelID:P.make(G.modelID)}}let X=_.flatMap((J)=>Object.values(J.models)),[W]=h.sort(X);if(W)return{providerID:H.make(W.providerID),modelID:P.make(W.id)};if(A)return A;return{providerID:H.opencode,modelID:P.make("big-pickle")}}var aD=V.create({service:"acp-command"}),z$=Gf({command:"acp",describe:"start ACP (Agent Client Protocol) server",builder:(f)=>{return Af(f).option("cwd",{describe:"working directory",type:"string",default:process.cwd()})},handler:async(f)=>{process.env.QITQODE_CLIENT="acp",await Jf(process.cwd(),async()=>{let $=await Xf(f),D=await jf.listen($),Q=yf({baseUrl:`http://${D.hostname}:${D.port}`}),j=new WritableStream({write(X){return new Promise((W,J)=>{process.stdout.write(X,(G)=>{if(G)J(G);else W()})})}}),A=new ReadableStream({start(X){process.stdin.on("data",(W)=>{X.enqueue(new Uint8Array(W))}),process.stdin.on("end",()=>X.close()),process.stdin.on("error",(W)=>X.error(W))}}),_=rw(j,A),y=await E.init({sdk:Q});new Bw((X)=>{return y.create(X,{sdk:Q})},_),aD.info("setup connection"),process.stdin.resume(),await new Promise((X,W)=>{process.stdin.on("end",X),process.stdin.on("error",W)})})}});export{z$ as AcpCommand};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Od as b}from"./chunk-wmmck56g.js";import{Sf as t}from"./chunk-ntmn6epc.js";import{qh as u}from"./chunk-1qw3yh13.js";import"./chunk-ckhhm2m8.js";import"./chunk-tp7sfreh.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import{Vk as y,ek as m}from"./chunk-q39h31te.js";import{rl as v}from"./chunk-0x0a51w3.js";import{Pl as a}from"./chunk-7myavy3p.js";import"./chunk-fegrrsfj.js";import"./chunk-c4x99ayd.js";import"./chunk-w0fg8n1f.js";import"./chunk-0pbpzty2.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-jc0wbpjq.js";import"./chunk-jfy6bfvv.js";import"./chunk-aej69zjj.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-k5vwx1nv.js";import"./chunk-ej3gmaba.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import"./chunk-v7yvnnmr.js";import"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import{$H as s}from"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import"./chunk-fa03gsff.js";import{EOL as f}from"os";var M=b({command:"models [provider]",describe:"list all available models",builder:(r)=>{return r.positional("provider",{describe:"provider ID to filter models by",type:"string",array:!1}).option("verbose",{describe:"use more verbose model output (includes metadata like costs)",type:"boolean"}).option("refresh",{describe:"refresh the models cache from models.dev",type:"boolean"})},handler:async(r)=>{if(r.refresh)await v.refresh(!0),t.println(t.Style.TEXT_SUCCESS_BOLD+"Models cache refreshed"+t.Style.TEXT_NORMAL);await a.provide({directory:process.cwd(),async fn(){await u.runPromise(s.gen(function*(){let n=yield*(yield*y.Service).list(),l=(e,o)=>{let i=n[e],d=Object.entries(i.models).sort(([c],[p])=>c.localeCompare(p));for(let[c,p]of d)if(process.stdout.write(`${e}/${c}`),process.stdout.write(f),o)process.stdout.write(JSON.stringify(p,null,2)),process.stdout.write(f)};if(r.provider){let e=m.make(r.provider);if(!n[e]){yield*s.sync(()=>t.error(`Provider not found: ${r.provider}`));return}yield*s.sync(()=>l(e,r.verbose));return}let h=Object.keys(n).sort((e,o)=>{let i=e.startsWith("opencode"),d=o.startsWith("opencode");if(i&&!d)return-1;if(!i&&d)return 1;return e.localeCompare(o)});yield*s.sync(()=>{for(let e of h)l(m.make(e),r.verbose)})}))}})}});export{M as ModelsCommand};
2
+ import{Od as b}from"./chunk-wmmck56g.js";import{Sf as t}from"./chunk-ntmn6epc.js";import{qh as u}from"./chunk-0jv8r99k.js";import"./chunk-th189x63.js";import"./chunk-k6eyc1wv.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import{Vk as y,ek as m}from"./chunk-3f6t3wde.js";import{rl as v}from"./chunk-b5h8vd5n.js";import{Pl as a}from"./chunk-jee9y4t0.js";import"./chunk-50aznc8e.js";import"./chunk-c4x99ayd.js";import"./chunk-73d0dy03.js";import"./chunk-ha5qct06.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-ds162xgb.js";import"./chunk-jfy6bfvv.js";import"./chunk-2p6w3w8f.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-2bxy8zm1.js";import"./chunk-qq9pvscd.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import"./chunk-p20ft5mj.js";import"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import{$H as s}from"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import"./chunk-fa03gsff.js";import{EOL as f}from"os";var M=b({command:"models [provider]",describe:"list all available models",builder:(r)=>{return r.positional("provider",{describe:"provider ID to filter models by",type:"string",array:!1}).option("verbose",{describe:"use more verbose model output (includes metadata like costs)",type:"boolean"}).option("refresh",{describe:"refresh the models cache from models.dev",type:"boolean"})},handler:async(r)=>{if(r.refresh)await v.refresh(!0),t.println(t.Style.TEXT_SUCCESS_BOLD+"Models cache refreshed"+t.Style.TEXT_NORMAL);await a.provide({directory:process.cwd(),async fn(){await u.runPromise(s.gen(function*(){let n=yield*(yield*y.Service).list(),l=(e,o)=>{let i=n[e],d=Object.entries(i.models).sort(([c],[p])=>c.localeCompare(p));for(let[c,p]of d)if(process.stdout.write(`${e}/${c}`),process.stdout.write(f),o)process.stdout.write(JSON.stringify(p,null,2)),process.stdout.write(f)};if(r.provider){let e=m.make(r.provider);if(!n[e]){yield*s.sync(()=>t.error(`Provider not found: ${r.provider}`));return}yield*s.sync(()=>l(e,r.verbose));return}let h=Object.keys(n).sort((e,o)=>{let i=e.startsWith("opencode"),d=o.startsWith("opencode");if(i&&!d)return-1;if(!i&&d)return 1;return e.localeCompare(o)});yield*s.sync(()=>{for(let e of h)l(m.make(e),r.verbose)})}))}})}});export{M as ModelsCommand};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Ad as c,zd as l}from"./chunk-b2ky15zx.js";import{Od as i}from"./chunk-wmmck56g.js";import{Lf as a}from"./chunk-6tjghyx6.js";import{Zf as n}from"./chunk-qq48ffjc.js";import"./chunk-rmmrnx95.js";import"./chunk-5549c7mb.js";import"./chunk-pn77fh9b.js";import"./chunk-hkqcpdmt.js";import"./chunk-nfg7nt13.js";import"./chunk-awdpkgxf.js";import"./chunk-xb031er5.js";import"./chunk-1qw3yh13.js";import"./chunk-ckhhm2m8.js";import"./chunk-tp7sfreh.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import"./chunk-q39h31te.js";import"./chunk-0x0a51w3.js";import"./chunk-7myavy3p.js";import"./chunk-fegrrsfj.js";import"./chunk-c4x99ayd.js";import"./chunk-w0fg8n1f.js";import"./chunk-0pbpzty2.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-jc0wbpjq.js";import"./chunk-jfy6bfvv.js";import"./chunk-aej69zjj.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-k5vwx1nv.js";import"./chunk-ej3gmaba.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import{dt as r}from"./chunk-v7yvnnmr.js";import"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import"./chunk-fa03gsff.js";var E=i({command:"serve",builder:(o)=>a(o).option("auto-password",{type:"boolean",default:!1,describe:"generate a random ephemeral QITQODE_SERVER_PASSWORD for this run and print it"}),describe:"starts a headless qitqode server",handler:async(o)=>{let s=await l(o);if(o["auto-password"]&&!r.QITQODE_SERVER_PASSWORD){let t=crypto.randomUUID();process.env.QITQODE_SERVER_PASSWORD=t,console.log('Generated ephemeral server password (basic auth, username "qitqode"):'),console.log(` ${t}`)}if(c(s,r.QITQODE_SERVER_PASSWORD))console.error("ERROR: Binding to non-loopback address without QITQODE_SERVER_PASSWORD is not allowed."),console.error("Set QITQODE_SERVER_PASSWORD, pass --auto-password, or pass --no-auth to override (DANGEROUS)."),process.exit(1);if(!r.QITQODE_SERVER_PASSWORD)console.error(""),console.error("\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557"),console.error("\u2551 WARNING: server is running WITHOUT authentication. \u2551"),console.error("\u2551 \u2551"),console.error("\u2551 Any process or browser page that can reach this address can read \u2551"),console.error("\u2551 project files, run shell commands, and open terminals as you. \u2551"),console.error("\u2551 \u2551"),console.error("\u2551 Set QITQODE_SERVER_PASSWORD, or restart with --auto-password to \u2551"),console.error("\u2551 generate an ephemeral password for this run. \u2551"),console.error("\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D"),console.error("");let e=await n.listen(s);console.log(`qitqode server listening on http://${e.hostname}:${e.port}`),await new Promise(()=>{}),await e.stop()}});export{E as ServeCommand};
2
+ import{Ad as c,zd as l}from"./chunk-2epf5806.js";import{Od as i}from"./chunk-wmmck56g.js";import{Lf as a}from"./chunk-18xhxdsh.js";import{Zf as n}from"./chunk-h5wh2d49.js";import"./chunk-xjdxyeja.js";import"./chunk-1zb95qfx.js";import"./chunk-cckshvkb.js";import"./chunk-hkqcpdmt.js";import"./chunk-nfg7nt13.js";import"./chunk-awdpkgxf.js";import"./chunk-8x6x3g16.js";import"./chunk-0jv8r99k.js";import"./chunk-th189x63.js";import"./chunk-k6eyc1wv.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import"./chunk-3f6t3wde.js";import"./chunk-b5h8vd5n.js";import"./chunk-jee9y4t0.js";import"./chunk-50aznc8e.js";import"./chunk-c4x99ayd.js";import"./chunk-73d0dy03.js";import"./chunk-ha5qct06.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-ds162xgb.js";import"./chunk-jfy6bfvv.js";import"./chunk-2p6w3w8f.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-2bxy8zm1.js";import"./chunk-qq9pvscd.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import{dt as r}from"./chunk-p20ft5mj.js";import"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import"./chunk-fa03gsff.js";var E=i({command:"serve",builder:(o)=>a(o).option("auto-password",{type:"boolean",default:!1,describe:"generate a random ephemeral QITQODE_SERVER_PASSWORD for this run and print it"}),describe:"starts a headless qitqode server",handler:async(o)=>{let s=await l(o);if(o["auto-password"]&&!r.QITQODE_SERVER_PASSWORD){let t=crypto.randomUUID();process.env.QITQODE_SERVER_PASSWORD=t,console.log('Generated ephemeral server password (basic auth, username "qitqode"):'),console.log(` ${t}`)}if(c(s,r.QITQODE_SERVER_PASSWORD))console.error("ERROR: Binding to non-loopback address without QITQODE_SERVER_PASSWORD is not allowed."),console.error("Set QITQODE_SERVER_PASSWORD, pass --auto-password, or pass --no-auth to override (DANGEROUS)."),process.exit(1);if(!r.QITQODE_SERVER_PASSWORD)console.error(""),console.error("\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557"),console.error("\u2551 WARNING: server is running WITHOUT authentication. \u2551"),console.error("\u2551 \u2551"),console.error("\u2551 Any process or browser page that can reach this address can read \u2551"),console.error("\u2551 project files, run shell commands, and open terminals as you. \u2551"),console.error("\u2551 \u2551"),console.error("\u2551 Set QITQODE_SERVER_PASSWORD, or restart with --auto-password to \u2551"),console.error("\u2551 generate an ephemeral password for this run. \u2551"),console.error("\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D"),console.error("");let e=await n.listen(s);console.log(`qitqode server listening on http://${e.hostname}:${e.port}`),await new Promise(()=>{}),await e.stop()}});export{E as ServeCommand};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Ag as l,Bg as m,pg as a,qg as b,rg as c,sg as d,tg as e,ug as f,vg as g,wg as h,xg as i,yg as j,zg as k}from"./chunk-pn77fh9b.js";import"./chunk-tp7sfreh.js";import"./chunk-tz8qhbk9.js";import"./chunk-jc0wbpjq.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-thbjhgw0.js";import"./chunk-v7yvnnmr.js";import"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-fa03gsff.js";export{e as resolveDevicePoll,j as refreshAccessToken,i as probeToken,k as loginDevice,m as loginBrowser,l as login,c as isReplitEnv,g as isNearExpiry,d as getConfig,f as getCallbackUri,h as fetchQreditsBalance,a as ForgewiseError,b as DeviceFlowUnsupportedError};
2
+ import{Ag as l,Bg as m,pg as a,qg as b,rg as c,sg as d,tg as e,ug as f,vg as g,wg as h,xg as i,yg as j,zg as k}from"./chunk-cckshvkb.js";import"./chunk-k6eyc1wv.js";import"./chunk-tz8qhbk9.js";import"./chunk-ds162xgb.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-thbjhgw0.js";import"./chunk-p20ft5mj.js";import"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-fa03gsff.js";export{e as resolveDevicePoll,j as refreshAccessToken,i as probeToken,k as loginDevice,m as loginBrowser,l as login,c as isReplitEnv,g as isNearExpiry,d as getConfig,f as getCallbackUri,h as fetchQreditsBalance,a as ForgewiseError,b as DeviceFlowUnsupportedError};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Cd as m,Fd as P,Gd as R,Hd as k,Id as O,Kd as q,Ld as $,Md as I}from"./chunk-9g05wsae.js";import"./chunk-x1dfc7qd.js";import{Od as h}from"./chunk-wmmck56g.js";import{Sf as r}from"./chunk-ntmn6epc.js";import{gh as E,qh as L}from"./chunk-1qw3yh13.js";import"./chunk-ckhhm2m8.js";import"./chunk-tp7sfreh.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import{Kj as N,Vk as x}from"./chunk-q39h31te.js";import"./chunk-0x0a51w3.js";import{Pl as i}from"./chunk-7myavy3p.js";import"./chunk-fegrrsfj.js";import"./chunk-c4x99ayd.js";import"./chunk-w0fg8n1f.js";import"./chunk-0pbpzty2.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-jc0wbpjq.js";import"./chunk-jfy6bfvv.js";import"./chunk-aej69zjj.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-k5vwx1nv.js";import"./chunk-ej3gmaba.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import{ct as j}from"./chunk-v7yvnnmr.js";import{Gt as C}from"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import{lP as F}from"./chunk-fa03gsff.js";import u from"path";import U from"fs/promises";var T=F(N(),1);import{EOL as S}from"os";var c=["bash","read","write","edit","glob","grep","webfetch","actor","task"],B=h({command:"create",describe:"create a new agent",builder:(o)=>o.option("path",{type:"string",describe:"directory path to generate the agent file"}).option("description",{type:"string",describe:"what the agent should do"}).option("mode",{type:"string",describe:"agent mode",choices:["all","primary","subagent"]}).option("tools",{type:"string",describe:`comma-separated list of tools to enable (default: all). Available: "${c.join(", ")}"`}).option("model",{type:"string",alias:["m"],describe:"model to use in the format of provider/model"}),async handler(o){await i.provide({directory:process.cwd(),async fn(){let{path:l,description:t,mode:s,tools:p}=o,d=l&&t&&s&&p!==void 0;if(!d)r.empty(),R("Create agent");let D=i.project,g;if(l)g=u.join(l,"agent");else{let e="global";if(D.vcs==="git"){let n=await $({message:"Location",options:[{label:"Current project",value:"project",hint:i.worktree},{label:"Global",value:"global",hint:j.Path.config}]});if(m(n))throw new r.CancelledError;e=n}g=u.join(e==="global"?j.Path.config:u.join(i.worktree,".qitqode"),"agent")}let b;if(t)b=t;else{let e=await I({message:"Description",placeholder:"What should this agent do?",validate:(n)=>n&&n.length>0?void 0:"Required"});if(m(e))throw new r.CancelledError;b=e}let w=q();w.start("Generating agent configuration...");let G=o.model?x.parseModel(o.model):void 0,f=await L.runPromise(E.Service.use((e)=>e.generate({description:b,model:G}))).catch((e)=>{if(w.stop(`LLM failed to generate agent: ${e.message}`,1),d)process.exit(1);throw new r.CancelledError});w.stop(`Agent ${f.identifier} generated`);let y;if(p!==void 0)y=p?p.split(",").map((e)=>e.trim()):c;else{let e=await O({message:"Select tools to enable (Space to toggle)",options:c.map((n)=>({label:n,value:n})),initialValues:c});if(m(e))throw new r.CancelledError;y=e}let v;if(s)v=s;else{let e=await $({message:"Agent mode",options:[{label:"All",value:"all",hint:"Can function in both primary and subagent roles"},{label:"Primary",value:"primary",hint:"Acts as a primary/main agent"},{label:"Subagent",value:"subagent",hint:"Can be used as a subagent by other agents"}],initialValue:"all"});if(m(e))throw new r.CancelledError;v=e}let A={};for(let e of c)if(!y.includes(e))A[e]=!1;let M={description:f.whenToUse,mode:v};if(Object.keys(A).length>0)M.tools=A;let V=T.default.stringify(f.systemPrompt,M),a=u.join(g,`${f.identifier}.md`);if(await U.mkdir(g,{recursive:!0}),await C.exists(a)){if(d)console.error(`Error: Agent file already exists: ${a}`),process.exit(1);throw P.error(`Agent file already exists: ${a}`),new r.CancelledError}if(await C.write(a,V),d)console.log(a);else P.success(`Agent created: ${a}`),k("Done")}})}}),J=h({command:"list",describe:"list all available agents",async handler(){await i.provide({directory:process.cwd(),async fn(){let l=(await L.runPromise(E.Service.use((t)=>t.list()))).sort((t,s)=>{if(t.native!==s.native)return t.native?-1:1;return t.name.localeCompare(s.name)});for(let t of l)process.stdout.write(`${t.name} (${t.mode})`+S),process.stdout.write(` ${JSON.stringify(t.permission,null,2)}`+S)}})}}),ne=h({command:"agent",describe:"manage agents",builder:(o)=>o.command(B).command(J).demandCommand(),async handler(){}});export{ne as AgentCommand};
2
+ import{Cd as m,Fd as P,Gd as R,Hd as k,Id as O,Kd as q,Ld as $,Md as I}from"./chunk-9g05wsae.js";import"./chunk-x1dfc7qd.js";import{Od as h}from"./chunk-wmmck56g.js";import{Sf as r}from"./chunk-ntmn6epc.js";import{gh as E,qh as L}from"./chunk-0jv8r99k.js";import"./chunk-th189x63.js";import"./chunk-k6eyc1wv.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import{Kj as N,Vk as x}from"./chunk-3f6t3wde.js";import"./chunk-b5h8vd5n.js";import{Pl as i}from"./chunk-jee9y4t0.js";import"./chunk-50aznc8e.js";import"./chunk-c4x99ayd.js";import"./chunk-73d0dy03.js";import"./chunk-ha5qct06.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-ds162xgb.js";import"./chunk-jfy6bfvv.js";import"./chunk-2p6w3w8f.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-2bxy8zm1.js";import"./chunk-qq9pvscd.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import{ct as j}from"./chunk-p20ft5mj.js";import{Gt as C}from"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import{lP as F}from"./chunk-fa03gsff.js";import u from"path";import U from"fs/promises";var T=F(N(),1);import{EOL as S}from"os";var c=["bash","read","write","edit","glob","grep","webfetch","actor","task"],B=h({command:"create",describe:"create a new agent",builder:(o)=>o.option("path",{type:"string",describe:"directory path to generate the agent file"}).option("description",{type:"string",describe:"what the agent should do"}).option("mode",{type:"string",describe:"agent mode",choices:["all","primary","subagent"]}).option("tools",{type:"string",describe:`comma-separated list of tools to enable (default: all). Available: "${c.join(", ")}"`}).option("model",{type:"string",alias:["m"],describe:"model to use in the format of provider/model"}),async handler(o){await i.provide({directory:process.cwd(),async fn(){let{path:l,description:t,mode:s,tools:p}=o,d=l&&t&&s&&p!==void 0;if(!d)r.empty(),R("Create agent");let D=i.project,g;if(l)g=u.join(l,"agent");else{let e="global";if(D.vcs==="git"){let n=await $({message:"Location",options:[{label:"Current project",value:"project",hint:i.worktree},{label:"Global",value:"global",hint:j.Path.config}]});if(m(n))throw new r.CancelledError;e=n}g=u.join(e==="global"?j.Path.config:u.join(i.worktree,".qitqode"),"agent")}let b;if(t)b=t;else{let e=await I({message:"Description",placeholder:"What should this agent do?",validate:(n)=>n&&n.length>0?void 0:"Required"});if(m(e))throw new r.CancelledError;b=e}let w=q();w.start("Generating agent configuration...");let G=o.model?x.parseModel(o.model):void 0,f=await L.runPromise(E.Service.use((e)=>e.generate({description:b,model:G}))).catch((e)=>{if(w.stop(`LLM failed to generate agent: ${e.message}`,1),d)process.exit(1);throw new r.CancelledError});w.stop(`Agent ${f.identifier} generated`);let y;if(p!==void 0)y=p?p.split(",").map((e)=>e.trim()):c;else{let e=await O({message:"Select tools to enable (Space to toggle)",options:c.map((n)=>({label:n,value:n})),initialValues:c});if(m(e))throw new r.CancelledError;y=e}let v;if(s)v=s;else{let e=await $({message:"Agent mode",options:[{label:"All",value:"all",hint:"Can function in both primary and subagent roles"},{label:"Primary",value:"primary",hint:"Acts as a primary/main agent"},{label:"Subagent",value:"subagent",hint:"Can be used as a subagent by other agents"}],initialValue:"all"});if(m(e))throw new r.CancelledError;v=e}let A={};for(let e of c)if(!y.includes(e))A[e]=!1;let M={description:f.whenToUse,mode:v};if(Object.keys(A).length>0)M.tools=A;let V=T.default.stringify(f.systemPrompt,M),a=u.join(g,`${f.identifier}.md`);if(await U.mkdir(g,{recursive:!0}),await C.exists(a)){if(d)console.error(`Error: Agent file already exists: ${a}`),process.exit(1);throw P.error(`Agent file already exists: ${a}`),new r.CancelledError}if(await C.write(a,V),d)console.log(a);else P.success(`Agent created: ${a}`),k("Done")}})}}),J=h({command:"list",describe:"list all available agents",async handler(){await i.provide({directory:process.cwd(),async fn(){let l=(await L.runPromise(E.Service.use((t)=>t.list()))).sort((t,s)=>{if(t.native!==s.native)return t.native?-1:1;return t.name.localeCompare(s.name)});for(let t of l)process.stdout.write(`${t.name} (${t.mode})`+S),process.stdout.write(` ${JSON.stringify(t.permission,null,2)}`+S)}})}}),ne=h({command:"agent",describe:"manage agents",builder:(o)=>o.command(B).command(J).demandCommand(),async handler(){}});export{ne as AgentCommand};