@qitqode/qitqode-android-arm64 0.1.27 → 0.1.28

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 (84) hide show
  1. package/bundle/{chunk-exh6cg1r.js → chunk-04h4afhf.js} +1 -1
  2. package/bundle/{chunk-r1616dce.js → chunk-066eeq5q.js} +1 -1
  3. package/bundle/{chunk-h7yya9pv.js → chunk-0nj8axbw.js} +2 -2
  4. package/bundle/{chunk-cpmmvwgw.js → chunk-13hz1kvh.js} +1 -1
  5. package/bundle/{chunk-r08957sm.js → chunk-1etdhr36.js} +1 -1
  6. package/bundle/{chunk-dzxzcb2e.js → chunk-1m2e2w1q.js} +1 -1
  7. package/bundle/{chunk-m2x9xhha.js → chunk-1t6bvbgy.js} +1 -1
  8. package/bundle/{chunk-k9b1jcqw.js → chunk-24xc0dvv.js} +1 -1
  9. package/bundle/{chunk-nxbkh4k9.js → chunk-288hw03f.js} +1 -1
  10. package/bundle/{chunk-kavhpdvb.js → chunk-2abdrqrx.js} +1 -1
  11. package/bundle/{chunk-0srrmwqs.js → chunk-37s5hwtc.js} +1 -1
  12. package/bundle/{chunk-vkskqhag.js → chunk-3dvd1bb6.js} +1 -1
  13. package/bundle/{chunk-14n6rvh2.js → chunk-3fx5jda0.js} +1 -1
  14. package/bundle/{chunk-brpx707p.js → chunk-3j9hedmx.js} +1 -1
  15. package/bundle/{chunk-6gz9cthq.js → chunk-457y2816.js} +1 -1
  16. package/bundle/{chunk-vfdhqf4h.js → chunk-4sk0rmw3.js} +1 -1
  17. package/bundle/{chunk-zrc54vc4.js → chunk-4yawrap2.js} +1 -1
  18. package/bundle/{chunk-jg7s9rqz.js → chunk-5g8108nf.js} +1 -1
  19. package/bundle/{chunk-17psxhve.js → chunk-5syxjhg3.js} +1 -1
  20. package/bundle/{chunk-wrw22v0a.js → chunk-612f97vv.js} +2 -2
  21. package/bundle/{chunk-dqed63ek.js → chunk-61zpnwv6.js} +1 -1
  22. package/bundle/{chunk-55b9699f.js → chunk-8815p61h.js} +1 -1
  23. package/bundle/{chunk-gsvdt4kq.js → chunk-8tc8x27z.js} +4 -4
  24. package/bundle/{chunk-0zkejr6k.js → chunk-92d9469t.js} +1 -1
  25. package/bundle/chunk-a7cxf56j.js +2 -0
  26. package/bundle/{chunk-b2z0kjss.js → chunk-anjg3mwn.js} +1 -1
  27. package/bundle/{chunk-02y04bsz.js → chunk-bkbngcvc.js} +1 -1
  28. package/bundle/{chunk-2wcv3sq5.js → chunk-cmbxrgyx.js} +1 -1
  29. package/bundle/{chunk-vsjyr170.js → chunk-cwqd48xt.js} +1 -1
  30. package/bundle/{chunk-8cdm8gh2.js → chunk-cydewa1c.js} +1 -1
  31. package/bundle/{chunk-jh6yvzee.js → chunk-d7qscj5p.js} +1 -1
  32. package/bundle/{chunk-47b084yv.js → chunk-dafbntks.js} +2 -2
  33. package/bundle/{chunk-baet4zev.js → chunk-df6a167w.js} +1 -1
  34. package/bundle/{chunk-3c7d3dqt.js → chunk-dpkynwgm.js} +1 -1
  35. package/bundle/{chunk-crx18k6g.js → chunk-e0152ayv.js} +1 -1
  36. package/bundle/{chunk-fddsgvjy.js → chunk-ebcv65e3.js} +1 -1
  37. package/bundle/{chunk-zxaaxb99.js → chunk-ebrt1me3.js} +1 -1
  38. package/bundle/{chunk-4z4p492c.js → chunk-emtebxvs.js} +1 -1
  39. package/bundle/{chunk-0eqwm9a8.js → chunk-f2tdfry8.js} +1 -1
  40. package/bundle/{chunk-c0796v8j.js → chunk-fzna6jdj.js} +1 -1
  41. package/bundle/{chunk-xn2ds2s4.js → chunk-g16zb3y1.js} +1 -1
  42. package/bundle/{chunk-ksyh6h3a.js → chunk-gj7y56y6.js} +1 -1
  43. package/bundle/{chunk-c7yy1km8.js → chunk-h602h2gx.js} +1 -1
  44. package/bundle/{chunk-ak5ngp50.js → chunk-hk698g9e.js} +1 -1
  45. package/bundle/{chunk-jh3nw7fd.js → chunk-hnb8v476.js} +1 -1
  46. package/bundle/{chunk-1fja3j80.js → chunk-hxgs0d4t.js} +1 -1
  47. package/bundle/{chunk-nx90tvwg.js → chunk-jr907144.js} +1 -1
  48. package/bundle/{chunk-0x3sbyny.js → chunk-jx27xrk1.js} +1 -1
  49. package/bundle/{chunk-stezw26z.js → chunk-k2tamnfv.js} +1 -1
  50. package/bundle/{chunk-gbyy8sh5.js → chunk-k3epfxmq.js} +1 -1
  51. package/bundle/chunk-k5q52wdq.js +2 -0
  52. package/bundle/{chunk-b7mg883n.js → chunk-k7g3h9tn.js} +1 -1
  53. package/bundle/{chunk-deae0y1j.js → chunk-kb6w3wbd.js} +1 -1
  54. package/bundle/{chunk-wajmd3r7.js → chunk-kfsn9c7m.js} +1 -1
  55. package/bundle/{chunk-dtv1vp0d.js → chunk-krhkrca9.js} +1 -1
  56. package/bundle/chunk-my7mn79h.js +9 -0
  57. package/bundle/{chunk-463f9wre.js → chunk-n0mygdfp.js} +1 -1
  58. package/bundle/{chunk-qt1wffbh.js → chunk-pdzpfkt0.js} +1 -1
  59. package/bundle/{chunk-cvwa142e.js → chunk-pxtqqmkc.js} +1 -1
  60. package/bundle/{chunk-qt2c4bty.js → chunk-qc1w4b12.js} +1 -1
  61. package/bundle/{chunk-jnabd9gn.js → chunk-qvxvc2c2.js} +1 -1
  62. package/bundle/{chunk-90zd5rss.js → chunk-rmr38x2f.js} +1 -1
  63. package/bundle/{chunk-ct6dv8st.js → chunk-s1cnzvb2.js} +1 -1
  64. package/bundle/{chunk-b75gpv0q.js → chunk-scsf8r98.js} +1 -1
  65. package/bundle/{chunk-j5y10dn6.js → chunk-smt14yjb.js} +1 -1
  66. package/bundle/{chunk-pget15wc.js → chunk-t22jbw8x.js} +1 -1
  67. package/bundle/{chunk-9t84mh6t.js → chunk-t2tgz0rc.js} +1 -1
  68. package/bundle/{chunk-zs2a1f20.js → chunk-w9vh7rhg.js} +1 -1
  69. package/bundle/{chunk-4k7kbhps.js → chunk-wrfvqp2w.js} +1 -1
  70. package/bundle/{chunk-njnwdgvd.js → chunk-x1rx6fm7.js} +1 -1
  71. package/bundle/{chunk-apbgb4h0.js → chunk-x7ers083.js} +1 -1
  72. package/bundle/{chunk-4ypcf4tg.js → chunk-x9s04nze.js} +1 -1
  73. package/bundle/{chunk-m2ekhbdp.js → chunk-xvfpzmrf.js} +1 -1
  74. package/bundle/{chunk-ad46r434.js → chunk-y88xh6w3.js} +2 -2
  75. package/bundle/{chunk-y9p87bfd.js → chunk-yc1jk3rm.js} +1 -1
  76. package/bundle/{chunk-j94bdaav.js → chunk-z37aqajx.js} +1 -1
  77. package/bundle/{chunk-mdck9s88.js → chunk-z6dnv8g5.js} +1 -1
  78. package/bundle/{chunk-hgxdg1y5.js → chunk-zw0yh3dv.js} +1 -1
  79. package/bundle/index.js +3 -3
  80. package/bundle/worker.js +1 -1
  81. package/package.json +1 -1
  82. package/bundle/chunk-ew51rwdp.js +0 -9
  83. package/bundle/chunk-smtvgr3w.js +0 -2
  84. package/bundle/chunk-yhwx62yf.js +0 -2
@@ -1,6 +1,6 @@
1
1
  // @bun
2
- import{a as XB,b as YB}from"./chunk-r08957sm.js";import"./chunk-vsjyr170.js";import"./chunk-c01z3cvg.js";import{B as JB}from"./chunk-gsez13bg.js";import{C as r,E as e}from"./chunk-c8k32724.js";import"./chunk-0eqwm9a8.js";import{I as BB}from"./chunk-s6bar2f9.js";import{O as VB}from"./chunk-6p7yg5sr.js";import"./chunk-jje0srjq.js";import"./chunk-27yxgy03.js";import{Rd as t}from"./chunk-yajd975f.js";import{Of as p,Pf as T,Qf as R,Rf as g}from"./chunk-xn2ds2s4.js";import{Vf as H}from"./chunk-7ppd2phw.js";import{Dg as a}from"./chunk-ew51rwdp.js";import{hh as y}from"./chunk-wrw22v0a.js";import"./chunk-h7yya9pv.js";import"./chunk-p68rwmhc.js";import"./chunk-0a0vat1h.js";import"./chunk-z8v2tsz2.js";import"./chunk-j8efst22.js";import"./chunk-a1pw9r6f.js";import"./chunk-d5bxan80.js";import{ok as n,rl as s}from"./chunk-gsvdt4kq.js";import"./chunk-b7mg883n.js";import{km as h}from"./chunk-90zd5rss.js";import"./chunk-17psxhve.js";import"./chunk-nj4d554m.js";import"./chunk-m2x9xhha.js";import"./chunk-2wcv3sq5.js";import"./chunk-a1p2f16h.js";import"./chunk-nt4e3em9.js";import{Jp as L,Lp as i,Op as o}from"./chunk-ak5ngp50.js";import"./chunk-v965rsr8.js";import"./chunk-1sgby720.js";import"./chunk-jg7s9rqz.js";import"./chunk-4tbwha3m.js";import"./chunk-m612agnk.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import"./chunk-zyhdxggp.js";import"./chunk-q6ztpfcs.js";import"./chunk-jm1ptn8n.js";import"./chunk-c5e6sk9c.js";import"./chunk-m02zt1a3.js";import"./chunk-vg2fmyje.js";import"./chunk-c0796v8j.js";import"./chunk-njnwdgvd.js";import"./chunk-4qqkqrn9.js";import"./chunk-j6emx6jn.js";import"./chunk-be216spx.js";import"./chunk-12bssxd4.js";import{rt as I}from"./chunk-k9b1jcqw.js";import{Vt as v,Wt as d,Xt as f,Zt as c,hu as l,su as F}from"./chunk-zxaaxb99.js";import{Bu as D,Pu as u,Ru as N}from"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import{PI as C}from"./chunk-snm5q21k.js";import"./chunk-xpc2zgj7.js";import"./chunk-qjjch1zt.js";import{dQ as E}from"./chunk-aztre27e.js";import O from"path";import{fileURLToPath as zB}from"url";import{writeHeapSnapshot as WB}from"v8";import HB,{EOL as K}from"os";var ZB={free:"free",default:"default",fast:"fast",economy:"economical",power:"power",orchestrated:"orchestrated"};function GB(B){for(let[V,X]of Object.entries(ZB))if(B[V]){let Z=I[X];if(Z)return`${Z.providerID}/${Z.modelID}`}return}function KB(B){return async(X,Z)=>{let Y=new Request(X,Z),W=Y.body?await Y.text():void 0,$=await B.call("fetch",{url:Y.url,method:Y.method,headers:Object.fromEntries(Y.headers.entries()),body:W});return new Response($.body,{status:$.status,headers:$.headers})}}function MB(B){return{subscribe:async(V)=>{return B.on("global.event",(X)=>{V(X)})}}}async function jB(){if(typeof globalThis.QITQODE_WORKER_PATH<"u")return globalThis.QITQODE_WORKER_PATH;let B=new URL("./cli/cmd/tui/worker.js",import.meta.url);if(await u(zB(B)))return B;return new URL("./worker.ts",import.meta.url)}async function QB(B){let V=process.stdin.isTTY?void 0:await Bun.stdin.text();if(!B)return V;if(!V)return B;return V+`
3
- `+B}async function k(B){let V=i({baseUrl:B.url,fetch:B.fetch,directory:B.directory}),X=[{permission:"question",action:"deny",pattern:"*"},{permission:"plan_enter",action:"deny",pattern:"*"},{permission:"plan_exit",action:"deny",pattern:"*"}],Y=(await V.session.create({permission:X})).data?.id;if(!Y){H.error("headless: failed to create session");return}let W=await V.event.subscribe(),$=VB({sessionID:Y,query:async()=>{return(await V.session.status()).data?.[Y]}}),U=W.stream[Symbol.asyncIterator](),b=$.completion.then(()=>"DONE");(async()=>{try{while(!0){let z=await Promise.race([U.next(),b]);if(z==="DONE")break;let q=z;if(q.done)break;let M=q.value;$.onEvent(M);let G=M.properties;if(M.type==="message.part.updated"){let J=G?.part;if(!J||J.sessionID!==Y)continue;if(J.type==="text"&&J.time?.end){let P=String(J.text??"").trim();if(P)process.stdout.write(P+K)}}if(M.type==="permission.asked"){if(!G||G.sessionID!==Y)continue;await V.permission.reply({requestID:String(G.id),reply:"once"})}if(M.type==="session.error"){if(!G||G.sessionID!==Y||!G.error)continue;let J=G.error,P=J?.data!==null&&typeof J?.data==="object"&&"message"in J.data?String(J.data.message):String(J?.name??J);H.error(P)}}}finally{$.stop(),await U.return?.(void 0).catch(()=>{})}})().catch((z)=>{console.error(z),process.exit(1)});let S=B.model?s.parseModel(B.model):void 0;await V.session.prompt({sessionID:Y,agent:B.agent,model:S,parts:[{type:"text",text:B.prompt}]}),$.markStarted(),await $.completion}var pB=t({command:"$0 [project]",describe:"start qitqode tui",builder:(B)=>p(B).positional("project",{type:"string",describe:"path to start qitqode in"}).options(g).option("never-ask",{type:"boolean",describe:"start in never-ask mode \u2014 auto-decide without asking (permissions excluded), toggle at runtime with /never-ask",default:!1}).check((V)=>{if(V.dark&&V.light)throw Error("--dark and --light are mutually exclusive");if(V.sso&&!V.headless)throw Error("--sso requires --headless");if(V.sso&&V["api-key"]!==void 0)throw Error("--sso and --api-key are mutually exclusive");let X=Object.keys(ZB).filter((Z)=>V[Z]);if(X.length>1)throw Error(`${X.map((Z)=>`--${Z}`).join(" and ")} are mutually exclusive \u2014 choose one tier flag`);if(X.length===1&&V.model)throw Error(`--${X[0]} and --model are mutually exclusive \u2014 use one or the other`);return!0}),handler:async(B)=>{if(B.monochrome)process.env.QITQODE_TUI_ACCESSIBLE="1",process.env.NO_COLOR="1";let V=e();try{r();let X=JB(B);if(X){H.error(X),process.exitCode=1;return}let Z=GB(B)??B.model,Y=N(process.env.PWD??process.cwd()),W=B.project?N(O.isAbsolute(B.project)?B.project:O.join(Y,B.project)):N(process.cwd()),$=h(W);if($){if(B.project){H.error("Cannot start in "+W+": "+$),process.exitCode=1;return}let J=N(HB.homedir());if(h(J)){H.error("Cannot start in "+W+": "+$),process.exitCode=1;return}F.warn("unsafe start directory, falling back to home",{requested:W,home:J}),W=J}let U=await jB();try{process.chdir(W)}catch{H.error("Failed to change directory to "+W);return}let b=N(process.cwd()),w=c({[d]:"worker",[v]:f()}),S=new Worker(U,{env:w});S.onerror=(J)=>{F.error("thread error",{message:J.message,filename:J.filename,lineno:J.lineno,colno:J.colno,error:J.error})};let z=l(S),q=()=>{z.call("reload",void 0).catch((J)=>{F.warn("worker reload failed",{error:D(J)})})};process.on("SIGUSR2",q);let M=!1,G=async()=>{if(M)return;M=!0,process.off("SIGUSR2",q),await n(z.call("shutdown",void 0),5000).catch((J)=>{F.warn("worker shutdown failed",{error:D(J)})}),S.terminate()};try{let J=import("./chunk-yhwx62yf.js"),P=import("./chunk-dtv1vp0d.js").then(({TuiConfig:A})=>A.get()),x=await QB(B.prompt),$B=await P;if(B.headless&&T(R(B))){H.error("--headless cannot be combined with network-listener flags (--port, --hostname, --mdns)"),process.exitCode=1;return}let m=R(B),_=T(m)?{url:(await z.call("server",m)).url,fetch:void 0,events:void 0}:{url:"http://qitqode.internal",fetch:KB(z),events:MB(z)};if(setTimeout(()=>{z.call("checkUpgrade",{directory:b}).catch(()=>{})},1000).unref?.(),B.headless){if(!x){H.error("--headless requires a prompt: pass --prompt or pipe input via stdin"),process.exitCode=1;return}if(B.sso){try{let j=await a({tryOpen:!1,onCode:(Q)=>{if(process.stdout.write(K),process.stdout.write(" To sign in, open: "+Q.verificationUri+K),process.stdout.write(" and enter code: "+Q.userCode+K),Q.verificationUriComplete)process.stdout.write(K+" Or open this link directly:"+K+" "+Q.verificationUriComplete+K);process.stdout.write(K+" Waiting for approval... (ctrl+c to cancel)"+K)}});await y.runPromise(C.gen(function*(){yield*(yield*L.Service).set("forgewise",BB(j,{rotateRefreshToken:!0}))})),process.stdout.write(" Signed in as "+(j.name||j.email)+K)}catch(j){H.error("SSO sign-in failed: "+D(j)),process.exitCode=1;return}await k({url:_.url,fetch:_.fetch,prompt:x,model:Z,agent:B.agent??"build",directory:b});return}let A=XB(typeof B["api-key"]==="string"?String(B["api-key"]):"");if(A)await y.runPromise(YB(A));else if(!await y.runPromise(C.gen(function*(){if(yield*C.promise(()=>o()))return!0;return!!(yield*(yield*L.Service).get("forgewise"))}))){H.error(`Not signed in. Use one of:
2
+ import{a as XB,b as YB}from"./chunk-1etdhr36.js";import"./chunk-cwqd48xt.js";import"./chunk-c01z3cvg.js";import{B as JB}from"./chunk-gsez13bg.js";import{C as r,E as e}from"./chunk-c8k32724.js";import"./chunk-f2tdfry8.js";import{I as BB}from"./chunk-s6bar2f9.js";import{O as VB}from"./chunk-6p7yg5sr.js";import"./chunk-jje0srjq.js";import"./chunk-27yxgy03.js";import{Rd as t}from"./chunk-yajd975f.js";import{Of as p,Pf as T,Qf as R,Rf as g}from"./chunk-g16zb3y1.js";import{Vf as H}from"./chunk-7ppd2phw.js";import{Dg as a}from"./chunk-my7mn79h.js";import{hh as y}from"./chunk-612f97vv.js";import"./chunk-0nj8axbw.js";import"./chunk-p68rwmhc.js";import"./chunk-0a0vat1h.js";import"./chunk-z8v2tsz2.js";import"./chunk-j8efst22.js";import"./chunk-a1pw9r6f.js";import"./chunk-d5bxan80.js";import{ok as n,rl as s}from"./chunk-8tc8x27z.js";import"./chunk-k7g3h9tn.js";import{km as h}from"./chunk-rmr38x2f.js";import"./chunk-5syxjhg3.js";import"./chunk-nj4d554m.js";import"./chunk-1t6bvbgy.js";import"./chunk-cmbxrgyx.js";import"./chunk-a1p2f16h.js";import"./chunk-nt4e3em9.js";import{Jp as L,Lp as i,Op as o}from"./chunk-hk698g9e.js";import"./chunk-v965rsr8.js";import"./chunk-1sgby720.js";import"./chunk-5g8108nf.js";import"./chunk-4tbwha3m.js";import"./chunk-m612agnk.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import"./chunk-zyhdxggp.js";import"./chunk-q6ztpfcs.js";import"./chunk-jm1ptn8n.js";import"./chunk-c5e6sk9c.js";import"./chunk-m02zt1a3.js";import"./chunk-vg2fmyje.js";import"./chunk-fzna6jdj.js";import"./chunk-x1rx6fm7.js";import"./chunk-4qqkqrn9.js";import"./chunk-j6emx6jn.js";import"./chunk-be216spx.js";import"./chunk-12bssxd4.js";import{rt as I}from"./chunk-24xc0dvv.js";import{Vt as v,Wt as d,Xt as f,Zt as c,hu as l,su as F}from"./chunk-ebrt1me3.js";import{Bu as D,Pu as u,Ru as N}from"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import{PI as C}from"./chunk-snm5q21k.js";import"./chunk-xpc2zgj7.js";import"./chunk-qjjch1zt.js";import{dQ as E}from"./chunk-aztre27e.js";import O from"path";import{fileURLToPath as zB}from"url";import{writeHeapSnapshot as WB}from"v8";import HB,{EOL as K}from"os";var ZB={free:"free",default:"default",fast:"fast",economy:"economical",power:"power",orchestrated:"orchestrated"};function GB(B){for(let[V,X]of Object.entries(ZB))if(B[V]){let Z=I[X];if(Z)return`${Z.providerID}/${Z.modelID}`}return}function KB(B){return async(X,Z)=>{let Y=new Request(X,Z),W=Y.body?await Y.text():void 0,$=await B.call("fetch",{url:Y.url,method:Y.method,headers:Object.fromEntries(Y.headers.entries()),body:W});return new Response($.body,{status:$.status,headers:$.headers})}}function MB(B){return{subscribe:async(V)=>{return B.on("global.event",(X)=>{V(X)})}}}async function jB(){if(typeof globalThis.QITQODE_WORKER_PATH<"u")return globalThis.QITQODE_WORKER_PATH;let B=new URL("./cli/cmd/tui/worker.js",import.meta.url);if(await u(zB(B)))return B;return new URL("./worker.ts",import.meta.url)}async function QB(B){let V=process.stdin.isTTY?void 0:await Bun.stdin.text();if(!B)return V;if(!V)return B;return V+`
3
+ `+B}async function k(B){let V=i({baseUrl:B.url,fetch:B.fetch,directory:B.directory}),X=[{permission:"question",action:"deny",pattern:"*"},{permission:"plan_enter",action:"deny",pattern:"*"},{permission:"plan_exit",action:"deny",pattern:"*"}],Y=(await V.session.create({permission:X})).data?.id;if(!Y){H.error("headless: failed to create session");return}let W=await V.event.subscribe(),$=VB({sessionID:Y,query:async()=>{return(await V.session.status()).data?.[Y]}}),U=W.stream[Symbol.asyncIterator](),b=$.completion.then(()=>"DONE");(async()=>{try{while(!0){let z=await Promise.race([U.next(),b]);if(z==="DONE")break;let q=z;if(q.done)break;let M=q.value;$.onEvent(M);let G=M.properties;if(M.type==="message.part.updated"){let J=G?.part;if(!J||J.sessionID!==Y)continue;if(J.type==="text"&&J.time?.end){let P=String(J.text??"").trim();if(P)process.stdout.write(P+K)}}if(M.type==="permission.asked"){if(!G||G.sessionID!==Y)continue;await V.permission.reply({requestID:String(G.id),reply:"once"})}if(M.type==="session.error"){if(!G||G.sessionID!==Y||!G.error)continue;let J=G.error,P=J?.data!==null&&typeof J?.data==="object"&&"message"in J.data?String(J.data.message):String(J?.name??J);H.error(P)}}}finally{$.stop(),await U.return?.(void 0).catch(()=>{})}})().catch((z)=>{console.error(z),process.exit(1)});let S=B.model?s.parseModel(B.model):void 0;await V.session.prompt({sessionID:Y,agent:B.agent,model:S,parts:[{type:"text",text:B.prompt}]}),$.markStarted(),await $.completion}var pB=t({command:"$0 [project]",describe:"start qitqode tui",builder:(B)=>p(B).positional("project",{type:"string",describe:"path to start qitqode in"}).options(g).option("never-ask",{type:"boolean",describe:"start in never-ask mode \u2014 auto-decide without asking (permissions excluded), toggle at runtime with /never-ask",default:!1}).check((V)=>{if(V.dark&&V.light)throw Error("--dark and --light are mutually exclusive");if(V.sso&&!V.headless)throw Error("--sso requires --headless");if(V.sso&&V["api-key"]!==void 0)throw Error("--sso and --api-key are mutually exclusive");let X=Object.keys(ZB).filter((Z)=>V[Z]);if(X.length>1)throw Error(`${X.map((Z)=>`--${Z}`).join(" and ")} are mutually exclusive \u2014 choose one tier flag`);if(X.length===1&&V.model)throw Error(`--${X[0]} and --model are mutually exclusive \u2014 use one or the other`);return!0}),handler:async(B)=>{if(B.monochrome)process.env.QITQODE_TUI_ACCESSIBLE="1",process.env.NO_COLOR="1";let V=e();try{r();let X=JB(B);if(X){H.error(X),process.exitCode=1;return}let Z=GB(B)??B.model,Y=N(process.env.PWD??process.cwd()),W=B.project?N(O.isAbsolute(B.project)?B.project:O.join(Y,B.project)):N(process.cwd()),$=h(W);if($){if(B.project){H.error("Cannot start in "+W+": "+$),process.exitCode=1;return}let J=N(HB.homedir());if(h(J)){H.error("Cannot start in "+W+": "+$),process.exitCode=1;return}F.warn("unsafe start directory, falling back to home",{requested:W,home:J}),W=J}let U=await jB();try{process.chdir(W)}catch{H.error("Failed to change directory to "+W);return}let b=N(process.cwd()),w=c({[d]:"worker",[v]:f()}),S=new Worker(U,{env:w});S.onerror=(J)=>{F.error("thread error",{message:J.message,filename:J.filename,lineno:J.lineno,colno:J.colno,error:J.error})};let z=l(S),q=()=>{z.call("reload",void 0).catch((J)=>{F.warn("worker reload failed",{error:D(J)})})};process.on("SIGUSR2",q);let M=!1,G=async()=>{if(M)return;M=!0,process.off("SIGUSR2",q),await n(z.call("shutdown",void 0),5000).catch((J)=>{F.warn("worker shutdown failed",{error:D(J)})}),S.terminate()};try{let J=import("./chunk-k5q52wdq.js"),P=import("./chunk-krhkrca9.js").then(({TuiConfig:A})=>A.get()),x=await QB(B.prompt),$B=await P;if(B.headless&&T(R(B))){H.error("--headless cannot be combined with network-listener flags (--port, --hostname, --mdns)"),process.exitCode=1;return}let m=R(B),_=T(m)?{url:(await z.call("server",m)).url,fetch:void 0,events:void 0}:{url:"http://qitqode.internal",fetch:KB(z),events:MB(z)};if(setTimeout(()=>{z.call("checkUpgrade",{directory:b}).catch(()=>{})},1000).unref?.(),B.headless){if(!x){H.error("--headless requires a prompt: pass --prompt or pipe input via stdin"),process.exitCode=1;return}if(B.sso){try{let j=await a({tryOpen:!1,onCode:(Q)=>{if(process.stdout.write(K),process.stdout.write(" To sign in, open: "+Q.verificationUri+K),process.stdout.write(" and enter code: "+Q.userCode+K),Q.verificationUriComplete)process.stdout.write(K+" Or open this link directly:"+K+" "+Q.verificationUriComplete+K);process.stdout.write(K+" Waiting for approval... (ctrl+c to cancel)"+K)}});await y.runPromise(C.gen(function*(){yield*(yield*L.Service).set("forgewise",BB(j,{rotateRefreshToken:!0}))})),process.stdout.write(" Signed in as "+(j.name||j.email)+K)}catch(j){H.error("SSO sign-in failed: "+D(j)),process.exitCode=1;return}await k({url:_.url,fetch:_.fetch,prompt:x,model:Z,agent:B.agent??"build",directory:b});return}let A=XB(typeof B["api-key"]==="string"?String(B["api-key"]):"");if(A)await y.runPromise(YB(A));else if(!await y.runPromise(C.gen(function*(){if(yield*C.promise(()=>o()))return!0;return!!(yield*(yield*L.Service).get("forgewise"))}))){H.error(`Not signed in. Use one of:
4
4
  qode auth login (browser / device-code flow)
5
5
  qode auth login --api-key (paste a Qortex API key)
6
6
  --api-key <key> (inline for this run)
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{$t as d,Ot as a,_t as c,au as e,cu as f,du as h,eu as i,fu as j,gu as k,iu as l,ju as m,yu as n}from"./chunk-zxaaxb99.js";import{Hu as b,Su as g}from"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-aztre27e.js";export{f as getEnvInfo,a as Wildcard,m as Token,l as Rpc,b as Process,n as Log,k as Lock,j as Locale,i as LocalContext,h as Keybind,g as Filesystem,e as EffectUtil,d as Color,c as Archive};
2
+ import{$t as d,Ot as a,_t as c,au as e,cu as f,du as h,eu as i,fu as j,gu as k,iu as l,ju as m,yu as n}from"./chunk-ebrt1me3.js";import{Hu as b,Su as g}from"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-aztre27e.js";export{f as getEnvInfo,a as Wildcard,m as Token,l as Rpc,b as Process,n as Log,k as Lock,j as Locale,i as LocalContext,h as Keybind,g as Filesystem,e as EffectUtil,d as Color,c as Archive};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{aq as J}from"./chunk-1sgby720.js";import{Eu as H,Fu as I,Gu as N,Qu as Q}from"./chunk-whxjkz9a.js";import{dQ as L}from"./chunk-aztre27e.js";import{platform as R,release as U}from"os";import{tmpdir as V}from"os";import X from"path";import Y from"fs/promises";var Z=J(async()=>{let{which:D}=await import("./chunk-1fja3j80.js");return D}),T=J(async()=>{let{default:D}=await import("./chunk-h0rpmne5.js");return D});function _(D){if(!process.stdout.isTTY)return;let A=`\x1B]52;c;${Buffer.from(D).toString("base64")}\x07`,E=process.env.TMUX||process.env.STY?`\x1BPtmux;\x1B${A}\x1B\\`:A;process.stdout.write(E)}async function $(){let D=R();if(D==="darwin"){let k=X.join(V(),"qitqode-clipboard.png");try{return await I(["osascript","-e",'set imageData to the clipboard as "PNGf"',"-e",`set fileRef to open for access POSIX file "${k}" with write permission`,"-e","set eof fileRef to 0","-e","write imageData to fileRef","-e","close access fileRef"],{nothrow:!0}),{data:(await Q(k)).toString("base64"),mime:"image/png"}}catch{}finally{await Y.rm(k,{force:!0}).catch(()=>{})}}if(D==="win32"||U().includes("WSL")){let E=await N(["powershell.exe","-NonInteractive","-NoProfile","-command","Add-Type -AssemblyName System.Windows.Forms; $img = [System.Windows.Forms.Clipboard]::GetImage(); if ($img) { $ms = New-Object System.IO.MemoryStream; $img.Save($ms, [System.Drawing.Imaging.ImageFormat]::Png); [System.Convert]::ToBase64String($ms.ToArray()) }"],{nothrow:!0});if(E.text){let K=Buffer.from(E.text.trim(),"base64");if(K.length>0)return{data:K.toString("base64"),mime:"image/png"}}}if(D==="linux"){let k=await I(["wl-paste","-t","image/png"],{nothrow:!0});if(k.stdout.byteLength>0)return{data:Buffer.from(k.stdout).toString("base64"),mime:"image/png"};let E=await I(["xclip","-selection","clipboard","-t","image/png","-o"],{nothrow:!0});if(E.stdout.byteLength>0)return{data:Buffer.from(E.stdout).toString("base64"),mime:"image/png"}}let A=await(await T()).read().catch(()=>{});if(A)return{data:A,mime:"text/plain"}}var j=J(async()=>{let D=R(),G=await Z();if(D==="darwin"&&G("osascript"))return console.log("clipboard: using osascript"),async(A)=>{let k=A.replace(/\\/g,"\\\\").replace(/"/g,"\\\"");await I(["osascript","-e",`set the clipboard to "${k}"`],{nothrow:!0})};if(D==="linux"){if(process.env.WAYLAND_DISPLAY&&G("wl-copy"))return console.log("clipboard: using wl-copy"),async(A)=>{let k=H(["wl-copy"],{stdin:"pipe",stdout:"ignore",stderr:"ignore"});if(!k.stdin)return;k.stdin.write(A),k.stdin.end(),await k.exited.catch(()=>{})};if(G("xclip"))return console.log("clipboard: using xclip"),async(A)=>{let k=H(["xclip","-selection","clipboard"],{stdin:"pipe",stdout:"ignore",stderr:"ignore"});if(!k.stdin)return;k.stdin.write(A),k.stdin.end(),await k.exited.catch(()=>{})};if(G("xsel"))return console.log("clipboard: using xsel"),async(A)=>{let k=H(["xsel","--clipboard","--input"],{stdin:"pipe",stdout:"ignore",stderr:"ignore"});if(!k.stdin)return;k.stdin.write(A),k.stdin.end(),await k.exited.catch(()=>{})}}if(D==="win32")return console.log("clipboard: using powershell"),async(A)=>{let k=H(["powershell.exe","-NonInteractive","-NoProfile","-Command","[Console]::InputEncoding = [System.Text.Encoding]::UTF8; Set-Clipboard -Value ([Console]::In.ReadToEnd())"],{stdin:"pipe",stdout:"ignore",stderr:"ignore"});if(!k.stdin)return;k.stdin.write(A),k.stdin.end(),await k.exited.catch(()=>{})};return console.log("clipboard: no native support"),async(A)=>{await(await T()).write(A).catch(()=>{})}});async function v(D){_(D),await(await j())(D)}
2
+ import{aq as J}from"./chunk-1sgby720.js";import{Eu as H,Fu as I,Gu as N,Qu as Q}from"./chunk-whxjkz9a.js";import{dQ as L}from"./chunk-aztre27e.js";import{platform as R,release as U}from"os";import{tmpdir as V}from"os";import X from"path";import Y from"fs/promises";var Z=J(async()=>{let{which:D}=await import("./chunk-hxgs0d4t.js");return D}),T=J(async()=>{let{default:D}=await import("./chunk-h0rpmne5.js");return D});function _(D){if(!process.stdout.isTTY)return;let A=`\x1B]52;c;${Buffer.from(D).toString("base64")}\x07`,E=process.env.TMUX||process.env.STY?`\x1BPtmux;\x1B${A}\x1B\\`:A;process.stdout.write(E)}async function $(){let D=R();if(D==="darwin"){let k=X.join(V(),"qitqode-clipboard.png");try{return await I(["osascript","-e",'set imageData to the clipboard as "PNGf"',"-e",`set fileRef to open for access POSIX file "${k}" with write permission`,"-e","set eof fileRef to 0","-e","write imageData to fileRef","-e","close access fileRef"],{nothrow:!0}),{data:(await Q(k)).toString("base64"),mime:"image/png"}}catch{}finally{await Y.rm(k,{force:!0}).catch(()=>{})}}if(D==="win32"||U().includes("WSL")){let E=await N(["powershell.exe","-NonInteractive","-NoProfile","-command","Add-Type -AssemblyName System.Windows.Forms; $img = [System.Windows.Forms.Clipboard]::GetImage(); if ($img) { $ms = New-Object System.IO.MemoryStream; $img.Save($ms, [System.Drawing.Imaging.ImageFormat]::Png); [System.Convert]::ToBase64String($ms.ToArray()) }"],{nothrow:!0});if(E.text){let K=Buffer.from(E.text.trim(),"base64");if(K.length>0)return{data:K.toString("base64"),mime:"image/png"}}}if(D==="linux"){let k=await I(["wl-paste","-t","image/png"],{nothrow:!0});if(k.stdout.byteLength>0)return{data:Buffer.from(k.stdout).toString("base64"),mime:"image/png"};let E=await I(["xclip","-selection","clipboard","-t","image/png","-o"],{nothrow:!0});if(E.stdout.byteLength>0)return{data:Buffer.from(E.stdout).toString("base64"),mime:"image/png"}}let A=await(await T()).read().catch(()=>{});if(A)return{data:A,mime:"text/plain"}}var j=J(async()=>{let D=R(),G=await Z();if(D==="darwin"&&G("osascript"))return console.log("clipboard: using osascript"),async(A)=>{let k=A.replace(/\\/g,"\\\\").replace(/"/g,"\\\"");await I(["osascript","-e",`set the clipboard to "${k}"`],{nothrow:!0})};if(D==="linux"){if(process.env.WAYLAND_DISPLAY&&G("wl-copy"))return console.log("clipboard: using wl-copy"),async(A)=>{let k=H(["wl-copy"],{stdin:"pipe",stdout:"ignore",stderr:"ignore"});if(!k.stdin)return;k.stdin.write(A),k.stdin.end(),await k.exited.catch(()=>{})};if(G("xclip"))return console.log("clipboard: using xclip"),async(A)=>{let k=H(["xclip","-selection","clipboard"],{stdin:"pipe",stdout:"ignore",stderr:"ignore"});if(!k.stdin)return;k.stdin.write(A),k.stdin.end(),await k.exited.catch(()=>{})};if(G("xsel"))return console.log("clipboard: using xsel"),async(A)=>{let k=H(["xsel","--clipboard","--input"],{stdin:"pipe",stdout:"ignore",stderr:"ignore"});if(!k.stdin)return;k.stdin.write(A),k.stdin.end(),await k.exited.catch(()=>{})}}if(D==="win32")return console.log("clipboard: using powershell"),async(A)=>{let k=H(["powershell.exe","-NonInteractive","-NoProfile","-Command","[Console]::InputEncoding = [System.Text.Encoding]::UTF8; Set-Clipboard -Value ([Console]::In.ReadToEnd())"],{stdin:"pipe",stdout:"ignore",stderr:"ignore"});if(!k.stdin)return;k.stdin.write(A),k.stdin.end(),await k.exited.catch(()=>{})};return console.log("clipboard: no native support"),async(A)=>{await(await T()).write(A).catch(()=>{})}});async function v(D){_(D),await(await j())(D)}
3
3
  export{$ as ud,v as vd};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Ed as p}from"./chunk-qt1wffbh.js";import{Fd as x,Gd as b,Id as w,Jd as v,Kd as c}from"./chunk-jje0srjq.js";import"./chunk-27yxgy03.js";import{Rd as g}from"./chunk-yajd975f.js";import{Vf as r}from"./chunk-7ppd2phw.js";import{hh as m}from"./chunk-wrw22v0a.js";import"./chunk-h7yya9pv.js";import"./chunk-p68rwmhc.js";import"./chunk-0a0vat1h.js";import"./chunk-z8v2tsz2.js";import"./chunk-j8efst22.js";import"./chunk-a1pw9r6f.js";import"./chunk-d5bxan80.js";import{Cl as f,kk as y}from"./chunk-gsvdt4kq.js";import"./chunk-b7mg883n.js";import"./chunk-90zd5rss.js";import"./chunk-17psxhve.js";import"./chunk-nj4d554m.js";import"./chunk-m2x9xhha.js";import"./chunk-2wcv3sq5.js";import"./chunk-a1p2f16h.js";import"./chunk-nt4e3em9.js";import"./chunk-ak5ngp50.js";import"./chunk-v965rsr8.js";import"./chunk-1sgby720.js";import"./chunk-jg7s9rqz.js";import"./chunk-4tbwha3m.js";import"./chunk-m612agnk.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import"./chunk-zyhdxggp.js";import"./chunk-q6ztpfcs.js";import"./chunk-jm1ptn8n.js";import"./chunk-c5e6sk9c.js";import"./chunk-m02zt1a3.js";import"./chunk-vg2fmyje.js";import"./chunk-c0796v8j.js";import"./chunk-njnwdgvd.js";import"./chunk-4qqkqrn9.js";import"./chunk-j6emx6jn.js";import"./chunk-be216spx.js";import"./chunk-12bssxd4.js";import"./chunk-k9b1jcqw.js";import"./chunk-zxaaxb99.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-xpc2zgj7.js";import"./chunk-qjjch1zt.js";import"./chunk-aztre27e.js";import{EOL as S}from"os";function s(e,t,i){return i.trim()?`[redacted:${e}:${t}]`:i}function o(e,t,i){if(!i)return i;return Object.keys(i).length?{redacted:`${e}:${t}`}:i}function a(e,t){return{...t,value:s("file-text",e,t.value)}}function l(e,t){return t?.map((i,u)=>({...i,file:s(`${e}-file`,String(u),i.file),patch:s(`${e}-patch`,String(u),i.patch)}))}function I(e){if(!e.source)return e.source;if(e.source.type==="symbol")return{...e.source,path:s("file-path",e.id,e.source.path),name:s("file-symbol",e.id,e.source.name),text:a(e.id,e.source.text)};if(e.source.type==="resource")return{...e.source,clientName:s("file-client",e.id,e.source.clientName),uri:s("file-uri",e.id,e.source.uri),text:a(e.id,e.source.text)};return{...e.source,path:s("file-path",e.id,e.source.path),text:a(e.id,e.source.text)}}function h(e){return{...e,url:s("file-url",e.id,e.url),filename:e.filename===void 0?void 0:s("file-name",e.id,e.filename),source:I(e)}}function $(e){switch(e.type){case"text":return{...e,text:s("text",e.id,e.text),metadata:o("text-metadata",e.id,e.metadata)};case"reasoning":return{...e,text:s("reasoning",e.id,e.text),metadata:o("reasoning-metadata",e.id,e.metadata)};case"file":return h(e);case"subtask":return{...e,prompt:s("subtask-prompt",e.id,e.prompt),description:s("subtask-description",e.id,e.description),command:e.command===void 0?void 0:s("subtask-command",e.id,e.command)};case"tool":return{...e,metadata:o("tool-metadata",e.id,e.metadata),state:e.state.status==="pending"?{...e.state,input:o("tool-input",e.id,e.state.input)??e.state.input,raw:s("tool-raw",e.id,e.state.raw)}:e.state.status==="running"?{...e.state,input:o("tool-input",e.id,e.state.input)??e.state.input,title:e.state.title===void 0?void 0:s("tool-title",e.id,e.state.title),metadata:o("tool-state-metadata",e.id,e.state.metadata)}:e.state.status==="completed"?{...e.state,input:o("tool-input",e.id,e.state.input)??e.state.input,output:s("tool-output",e.id,e.state.output),title:s("tool-title",e.id,e.state.title),metadata:o("tool-state-metadata",e.id,e.state.metadata)??e.state.metadata,attachments:e.state.attachments?.map(h)}:{...e.state,input:o("tool-input",e.id,e.state.input)??e.state.input,metadata:o("tool-state-metadata",e.id,e.state.metadata)}};case"patch":return{...e,hash:s("patch",e.id,e.hash),files:e.files.map((t,i)=>s("patch-file",`${e.id}-${i}`,t))};case"snapshot":return{...e,snapshot:s("snapshot",e.id,e.snapshot)};case"step-start":return{...e,snapshot:e.snapshot===void 0?void 0:s("snapshot",e.id,e.snapshot)};case"step-finish":return{...e,snapshot:e.snapshot===void 0?void 0:s("snapshot",e.id,e.snapshot)};case"agent":return{...e,source:!e.source?e.source:{...e.source,value:s("agent-source",e.id,e.source.value)}};default:return e}}var D=$;function P(e){return{info:{...e.info,title:s("session-title",e.info.id,e.info.title),directory:s("session-directory",e.info.id,e.info.directory),summary:!e.info.summary?e.info.summary:{...e.info.summary,diffs:l("session-diff",e.info.summary.diffs)},revert:!e.info.revert?e.info.revert:{...e.info.revert,snapshot:e.info.revert.snapshot===void 0?void 0:s("revert-snapshot",e.info.id,e.info.revert.snapshot),diff:e.info.revert.diff===void 0?void 0:s("revert-diff",e.info.id,e.info.revert.diff)}},messages:e.messages.map((t)=>({info:t.info.role==="user"?{...t.info,system:t.info.system===void 0?void 0:s("system",t.info.id,t.info.system),summary:!t.info.summary?t.info.summary:{...t.info.summary,title:t.info.summary.title===void 0?void 0:s("summary-title",t.info.id,t.info.summary.title),body:t.info.summary.body===void 0?void 0:s("summary-body",t.info.id,t.info.summary.body),diffs:l("message-diff",t.info.summary.diffs)}}:{...t.info,path:{cwd:s("cwd",t.info.id,t.info.path.cwd),root:s("root",t.info.id,t.info.path.root)}},parts:t.parts.map(D)}))}}var A=g({command:"export [sessionID]",describe:"export session data as JSON",builder:(e)=>{return e.positional("sessionID",{describe:"session id to export",type:"string"}).option("sanitize",{describe:"redact sensitive transcript and file data",type:"boolean"})},handler:async(e)=>{await p(process.cwd(),async()=>{let t=e.sessionID?y.make(e.sessionID):void 0;if(process.stderr.write(`Exporting session: ${t??"latest"}
2
+ import{Ed as p}from"./chunk-pdzpfkt0.js";import{Fd as x,Gd as b,Id as w,Jd as v,Kd as c}from"./chunk-jje0srjq.js";import"./chunk-27yxgy03.js";import{Rd as g}from"./chunk-yajd975f.js";import{Vf as r}from"./chunk-7ppd2phw.js";import{hh as m}from"./chunk-612f97vv.js";import"./chunk-0nj8axbw.js";import"./chunk-p68rwmhc.js";import"./chunk-0a0vat1h.js";import"./chunk-z8v2tsz2.js";import"./chunk-j8efst22.js";import"./chunk-a1pw9r6f.js";import"./chunk-d5bxan80.js";import{Cl as f,kk as y}from"./chunk-8tc8x27z.js";import"./chunk-k7g3h9tn.js";import"./chunk-rmr38x2f.js";import"./chunk-5syxjhg3.js";import"./chunk-nj4d554m.js";import"./chunk-1t6bvbgy.js";import"./chunk-cmbxrgyx.js";import"./chunk-a1p2f16h.js";import"./chunk-nt4e3em9.js";import"./chunk-hk698g9e.js";import"./chunk-v965rsr8.js";import"./chunk-1sgby720.js";import"./chunk-5g8108nf.js";import"./chunk-4tbwha3m.js";import"./chunk-m612agnk.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import"./chunk-zyhdxggp.js";import"./chunk-q6ztpfcs.js";import"./chunk-jm1ptn8n.js";import"./chunk-c5e6sk9c.js";import"./chunk-m02zt1a3.js";import"./chunk-vg2fmyje.js";import"./chunk-fzna6jdj.js";import"./chunk-x1rx6fm7.js";import"./chunk-4qqkqrn9.js";import"./chunk-j6emx6jn.js";import"./chunk-be216spx.js";import"./chunk-12bssxd4.js";import"./chunk-24xc0dvv.js";import"./chunk-ebrt1me3.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-xpc2zgj7.js";import"./chunk-qjjch1zt.js";import"./chunk-aztre27e.js";import{EOL as S}from"os";function s(e,t,i){return i.trim()?`[redacted:${e}:${t}]`:i}function o(e,t,i){if(!i)return i;return Object.keys(i).length?{redacted:`${e}:${t}`}:i}function a(e,t){return{...t,value:s("file-text",e,t.value)}}function l(e,t){return t?.map((i,u)=>({...i,file:s(`${e}-file`,String(u),i.file),patch:s(`${e}-patch`,String(u),i.patch)}))}function I(e){if(!e.source)return e.source;if(e.source.type==="symbol")return{...e.source,path:s("file-path",e.id,e.source.path),name:s("file-symbol",e.id,e.source.name),text:a(e.id,e.source.text)};if(e.source.type==="resource")return{...e.source,clientName:s("file-client",e.id,e.source.clientName),uri:s("file-uri",e.id,e.source.uri),text:a(e.id,e.source.text)};return{...e.source,path:s("file-path",e.id,e.source.path),text:a(e.id,e.source.text)}}function h(e){return{...e,url:s("file-url",e.id,e.url),filename:e.filename===void 0?void 0:s("file-name",e.id,e.filename),source:I(e)}}function $(e){switch(e.type){case"text":return{...e,text:s("text",e.id,e.text),metadata:o("text-metadata",e.id,e.metadata)};case"reasoning":return{...e,text:s("reasoning",e.id,e.text),metadata:o("reasoning-metadata",e.id,e.metadata)};case"file":return h(e);case"subtask":return{...e,prompt:s("subtask-prompt",e.id,e.prompt),description:s("subtask-description",e.id,e.description),command:e.command===void 0?void 0:s("subtask-command",e.id,e.command)};case"tool":return{...e,metadata:o("tool-metadata",e.id,e.metadata),state:e.state.status==="pending"?{...e.state,input:o("tool-input",e.id,e.state.input)??e.state.input,raw:s("tool-raw",e.id,e.state.raw)}:e.state.status==="running"?{...e.state,input:o("tool-input",e.id,e.state.input)??e.state.input,title:e.state.title===void 0?void 0:s("tool-title",e.id,e.state.title),metadata:o("tool-state-metadata",e.id,e.state.metadata)}:e.state.status==="completed"?{...e.state,input:o("tool-input",e.id,e.state.input)??e.state.input,output:s("tool-output",e.id,e.state.output),title:s("tool-title",e.id,e.state.title),metadata:o("tool-state-metadata",e.id,e.state.metadata)??e.state.metadata,attachments:e.state.attachments?.map(h)}:{...e.state,input:o("tool-input",e.id,e.state.input)??e.state.input,metadata:o("tool-state-metadata",e.id,e.state.metadata)}};case"patch":return{...e,hash:s("patch",e.id,e.hash),files:e.files.map((t,i)=>s("patch-file",`${e.id}-${i}`,t))};case"snapshot":return{...e,snapshot:s("snapshot",e.id,e.snapshot)};case"step-start":return{...e,snapshot:e.snapshot===void 0?void 0:s("snapshot",e.id,e.snapshot)};case"step-finish":return{...e,snapshot:e.snapshot===void 0?void 0:s("snapshot",e.id,e.snapshot)};case"agent":return{...e,source:!e.source?e.source:{...e.source,value:s("agent-source",e.id,e.source.value)}};default:return e}}var D=$;function P(e){return{info:{...e.info,title:s("session-title",e.info.id,e.info.title),directory:s("session-directory",e.info.id,e.info.directory),summary:!e.info.summary?e.info.summary:{...e.info.summary,diffs:l("session-diff",e.info.summary.diffs)},revert:!e.info.revert?e.info.revert:{...e.info.revert,snapshot:e.info.revert.snapshot===void 0?void 0:s("revert-snapshot",e.info.id,e.info.revert.snapshot),diff:e.info.revert.diff===void 0?void 0:s("revert-diff",e.info.id,e.info.revert.diff)}},messages:e.messages.map((t)=>({info:t.info.role==="user"?{...t.info,system:t.info.system===void 0?void 0:s("system",t.info.id,t.info.system),summary:!t.info.summary?t.info.summary:{...t.info.summary,title:t.info.summary.title===void 0?void 0:s("summary-title",t.info.id,t.info.summary.title),body:t.info.summary.body===void 0?void 0:s("summary-body",t.info.id,t.info.summary.body),diffs:l("message-diff",t.info.summary.diffs)}}:{...t.info,path:{cwd:s("cwd",t.info.id,t.info.path.cwd),root:s("root",t.info.id,t.info.path.root)}},parts:t.parts.map(D)}))}}var A=g({command:"export [sessionID]",describe:"export session data as JSON",builder:(e)=>{return e.positional("sessionID",{describe:"session id to export",type:"string"}).option("sanitize",{describe:"redact sensitive transcript and file data",type:"boolean"})},handler:async(e)=>{await p(process.cwd(),async()=>{let t=e.sessionID?y.make(e.sessionID):void 0;if(process.stderr.write(`Exporting session: ${t??"latest"}
3
3
  `),!t){r.empty(),v("Export session",{output:process.stderr});let i=[];for await(let n of f.list())i.push(n);if(i.length===0){w.error("No sessions found",{output:process.stderr}),c("Done",{output:process.stderr});return}i.sort((n,d)=>d.time.updated-n.time.updated);let u=await b({message:"Select session to export",maxItems:10,options:i.map((n)=>({label:n.title,value:n.id,hint:`${new Date(n.time.updated).toLocaleString()} \u2022 ${n.id.slice(-8)}`})),output:process.stderr});if(x(u))throw new r.CancelledError;t=u,c("Exporting session...",{output:process.stderr})}try{let i=await m.runPromise(f.Service.use((d)=>d.get(t))),u=await m.runPromise(f.Service.use((d)=>d.messages({sessionID:i.id,agentID:"*"}))),n={info:i,messages:u};process.stdout.write(JSON.stringify(e.sanitize?P(n):n,null,2)),process.stdout.write(S)}catch{r.error(`Session not found: ${t}`),process.exit(1)}})}});export{A as ExportCommand};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Wf as a,Xf as b}from"./chunk-zrc54vc4.js";import"./chunk-zxaaxb99.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-aztre27e.js";export{a as start,b as Heap};
2
+ import{Wf as a,Xf as b}from"./chunk-4yawrap2.js";import"./chunk-ebrt1me3.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-aztre27e.js";export{a as start,b as Heap};
package/bundle/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{Jf as eD,Kf as k0}from"./chunk-463f9wre.js";import{Mf as y0,Nf as s0,Rf as r0,Sf as a0}from"./chunk-xn2ds2s4.js";import{Vf as Ku}from"./chunk-7ppd2phw.js";import{pt as l0}from"./chunk-9t84mh6t.js";import{qt as i0}from"./chunk-12bssxd4.js";import"./chunk-k9b1jcqw.js";import{Yt as g0,tt as Lu,ut as d0,vt as o0,wt as hF}from"./chunk-zxaaxb99.js";import{Bu as GF}from"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import{$P as p2,aQ as c2,dQ as p}from"./chunk-aztre27e.js";var eF=c2((R3,aF)=>{aF.exports=function(u){if(u===void 0)u=2;if(u>=Error.stackTraceLimit)throw TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+u+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");var F=Error.prepareStackTrace;Error.prepareStackTrace=function(C,f){return f};var E=Error().stack;if(Error.prepareStackTrace=F,E!==null&&typeof E==="object")return E[u]?E[u].getFileName():void 0}});import{notStrictEqual as v2,strictEqual as m2}from"assert";var F2={right:B2,center:f2};class ZF{constructor(D){var u;this.width=D.width,this.wrap=(u=D.wrap)!==null&&u!==void 0?u:!0,this.rows=[]}span(...D){let u=this.div(...D);u.span=!0}resetOutput(){this.rows=[]}div(...D){if(D.length===0)this.div("");if(this.wrap&&this.shouldApplyLayoutDSL(...D)&&typeof D[0]==="string")return this.applyLayoutDSL(D[0]);let u=D.map((F)=>{if(typeof F==="string")return this.colFromString(F);return F});return this.rows.push(u),u}shouldApplyLayoutDSL(...D){return D.length===1&&typeof D[0]==="string"&&/[\t\n]/.test(D[0])}applyLayoutDSL(D){let u=D.split(`
2
+ import{Jf as eD,Kf as k0}from"./chunk-n0mygdfp.js";import{Mf as y0,Nf as s0,Rf as r0,Sf as a0}from"./chunk-g16zb3y1.js";import{Vf as Ku}from"./chunk-7ppd2phw.js";import{pt as l0}from"./chunk-t2tgz0rc.js";import{qt as i0}from"./chunk-12bssxd4.js";import"./chunk-24xc0dvv.js";import{Yt as g0,tt as Lu,ut as d0,vt as o0,wt as hF}from"./chunk-ebrt1me3.js";import{Bu as GF}from"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import{$P as p2,aQ as c2,dQ as p}from"./chunk-aztre27e.js";var eF=c2((R3,aF)=>{aF.exports=function(u){if(u===void 0)u=2;if(u>=Error.stackTraceLimit)throw TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+u+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");var F=Error.prepareStackTrace;Error.prepareStackTrace=function(C,f){return f};var E=Error().stack;if(Error.prepareStackTrace=F,E!==null&&typeof E==="object")return E[u]?E[u].getFileName():void 0}});import{notStrictEqual as v2,strictEqual as m2}from"assert";var F2={right:B2,center:f2};class ZF{constructor(D){var u;this.width=D.width,this.wrap=(u=D.wrap)!==null&&u!==void 0?u:!0,this.rows=[]}span(...D){let u=this.div(...D);u.span=!0}resetOutput(){this.rows=[]}div(...D){if(D.length===0)this.div("");if(this.wrap&&this.shouldApplyLayoutDSL(...D)&&typeof D[0]==="string")return this.applyLayoutDSL(D[0]);let u=D.map((F)=>{if(typeof F==="string")return this.colFromString(F);return F});return this.rows.push(u),u}shouldApplyLayoutDSL(...D){return D.length===1&&typeof D[0]==="string"&&/[\t\n]/.test(D[0])}applyLayoutDSL(D){let u=D.split(`
3
3
  `).map((E)=>E.split("\t")),F=0;return u.forEach((E)=>{if(E.length>1&&JD.stringWidth(E[0])>F)F=Math.min(Math.floor(this.width*0.5),JD.stringWidth(E[0]))}),u.forEach((E)=>{this.div(...E.map((C,f)=>{return{text:C.trim(),padding:this.measurePadding(C),width:f===0&&E.length>1?F:void 0}}))}),this.rows[this.rows.length-1]}colFromString(D){return{text:D,padding:this.measurePadding(D)}}measurePadding(D){let u=JD.stripAnsi(D);return[0,u.match(/\s*$/)[0].length,0,u.match(/^\s*/)[0].length]}toString(){let D=[];return this.rows.forEach((u)=>{this.rowToString(u,D)}),D.filter((u)=>!u.hidden).map((u)=>u.text).join(`
4
4
  `)}rowToString(D,u){return this.rasterize(D).forEach((F,E)=>{let C="";F.forEach((f,$)=>{let{width:G}=D[$],J=this.negatePadding(D[$]),Y=f;if(J>JD.stringWidth(f))Y+=" ".repeat(J-JD.stringWidth(f));if(D[$].align&&D[$].align!=="left"&&this.wrap){let Q=F2[D[$].align];if(Y=Q(Y,J),JD.stringWidth(Y)<J)Y+=" ".repeat((G||0)-JD.stringWidth(Y)-1)}let U=D[$].padding||[0,0,0,0];if(U[3])C+=" ".repeat(U[3]);if(C+=XF(D[$],Y,"| "),C+=Y,C+=XF(D[$],Y," |"),U[1])C+=" ".repeat(U[1]);if(E===0&&u.length>0)C=this.renderInline(C,u[u.length-1])}),u.push({text:C.replace(/ +$/,""),span:D.span})}),u}renderInline(D,u){let F=D.match(/^ */),E=F?F[0].length:0,C=u.text,f=JD.stringWidth(C.trimRight());if(!u.span)return D;if(!this.wrap)return u.hidden=!0,C+D;if(E<f)return D;return u.hidden=!0,C.trimRight()+" ".repeat(E-f)+D.trimLeft()}rasterize(D){let u=[],F=this.columnWidths(D),E;return D.forEach((C,f)=>{if(C.width=F[f],this.wrap)E=JD.wrap(C.text,this.negatePadding(C),{hard:!0}).split(`
5
5
  `);else E=C.text.split(`
@@ -77,5 +77,5 @@ ${W.join(`
77
77
  `;X.forEach((W)=>{O+=W}),u.fail(O)}};let J={};f.conflicts=function(Q,X){if(q("<string|object> [array|string]",[Q,X],arguments.length),typeof Q==="object")Object.keys(Q).forEach((O)=>{f.conflicts(O,Q[O])});else{if(D.global(Q),!J[Q])J[Q]=[];if(Array.isArray(X))X.forEach((O)=>f.conflicts(Q,O));else J[Q].push(X)}},f.getConflicting=()=>J,f.conflicting=function(Q){if(Object.keys(Q).forEach((X)=>{if(J[X])J[X].forEach((O)=>{if(O&&Q[X]!==void 0&&Q[O]!==void 0)u.fail(E("Arguments %s and %s are mutually exclusive",X,O))})}),D.getInternalMethods().getParserConfiguration()["strip-dashed"])Object.keys(J).forEach((X)=>{J[X].forEach((O)=>{if(O&&Q[F.Parser.camelCase(X)]!==void 0&&Q[F.Parser.camelCase(O)]!==void 0)u.fail(E("Arguments %s and %s are mutually exclusive",X,O))})})},f.recommendCommands=function(Q,X){X=X.sort((A,v)=>v.length-A.length);let W=null,Z=1/0;for(let A=0,v;(v=X[A])!==void 0;A++){let n=O0(Q,v);if(n<=3&&n<Z)Z=n,W=v}if(W)u.fail(E("Did you mean %s?",W))},f.reset=function(Q){return $=xD($,(X)=>!Q[X]),J=xD(J,(X)=>!Q[X]),f};let Y=[];return f.freeze=function(){Y.push({implied:$,conflicting:J})},f.unfreeze=function(){let Q=Y.pop();XD(Q,void 0,F),{implied:$,conflicting:J}=Q},f}var su=[],$u;function hu(D,u,F,E){$u=E;let C={};if(Object.prototype.hasOwnProperty.call(D,"extends")){if(typeof D.extends!=="string")return C;let f=/\.json|\..*rc$/.test(D.extends),$=null;if(!f)try{$=import.meta.resolve(D.extends)}catch(G){return D}else $=M8(u,D.extends);G8($),su.push($),C=f?JSON.parse($u.readFileSync($,"utf8")):E.require(D.extends),delete D.extends,C=hu(C,$u.path.dirname($),F,$u)}return su=[],F?W0(C,D):Object.assign({},C,D)}function G8(D){if(su.indexOf(D)>-1)throw new DD(`Circular extended configurations: '${D}'.`)}function M8(D,u){return $u.path.resolve(D,u)}function W0(D,u){let F={};function E(C){return C&&typeof C==="object"&&!Array.isArray(C)}Object.assign(F,D);for(let C of Object.keys(u))if(E(u[C])&&E(F[C]))F[C]=W0(D[C],u[C]);else F[C]=u[C];return F}var H=function(D,u,F,E,C){if(E==="m")throw TypeError("Private method is not writable");if(E==="a"&&!C)throw TypeError("Private accessor was defined without a setter");if(typeof u==="function"?D!==u||!C:!u.has(D))throw TypeError("Cannot write private member to an object whose class did not declare it");return E==="a"?C.call(D,F):C?C.value=F:u.set(D,F),F},B=function(D,u,F,E){if(F==="a"&&!E)throw TypeError("Private accessor was defined without a getter");if(typeof u==="function"?D!==u||!E:!u.has(D))throw TypeError("Cannot read private member from an object whose class did not declare it");return F==="m"?E:F==="a"?E.call(D):E?E.value:u.get(D)},uD,vD,zu,ZD,QD,Wu,wD,mD,Uu,WD,Nu,UD,VD,OD,ND,Ru,iD,hD,K,ju,qu,TD,dD,Fu,oD,bD,Hu,P,kD,gD,lD,b,Iu,_D,r;function c0(D){return(u=[],F=D.process.cwd(),E)=>{let C=new p0(u,F,E,D);return Object.defineProperty(C,"argv",{get:()=>{return C.parse()},enumerable:!0}),C.help(),C.version(),C}}var U0=Symbol("copyDoubleDash"),N0=Symbol("copyDoubleDash"),ru=Symbol("deleteFromParserHintObject"),R0=Symbol("emitWarning"),j0=Symbol("freeze"),q0=Symbol("getDollarZero"),yD=Symbol("getParserConfiguration"),H0=Symbol("getUsageConfiguration"),au=Symbol("guessLocale"),I0=Symbol("guessVersion"),V0=Symbol("parsePositionalNumbers"),eu=Symbol("pkgUp"),tD=Symbol("populateParserHintArray"),Eu=Symbol("populateParserHintSingleValueDictionary"),DF=Symbol("populateParserHintArrayDictionary"),uF=Symbol("populateParserHintDictionary"),FF=Symbol("sanitizeKey"),EF=Symbol("setKey"),CF=Symbol("unfreeze"),_0=Symbol("validateAsync"),K0=Symbol("getCommandInstance"),L0=Symbol("getContext"),A0=Symbol("getHasOutput"),S0=Symbol("getLoggerInstance"),x0=Symbol("getParseContext"),P0=Symbol("getUsageInstance"),w0=Symbol("getValidationInstance"),Vu=Symbol("hasParseCallback"),b0=Symbol("isGlobalContext"),sD=Symbol("postProcess"),t0=Symbol("rebase"),BF=Symbol("reset"),Gu=Symbol("runYargsParserAndExecuteCommands"),fF=Symbol("runValidation"),n0=Symbol("setHasOutput"),rD=Symbol("kTrackManuallySetKeys"),X8="en_US";class p0{constructor(D=[],u,F,E){this.customScriptName=!1,this.parsed=!1,uD.set(this,void 0),vD.set(this,void 0),zu.set(this,{commands:[],fullCommands:[]}),ZD.set(this,null),QD.set(this,null),Wu.set(this,"show-hidden"),wD.set(this,null),mD.set(this,!0),Uu.set(this,{}),WD.set(this,!0),Nu.set(this,[]),UD.set(this,void 0),VD.set(this,{}),OD.set(this,!1),ND.set(this,null),Ru.set(this,!0),iD.set(this,void 0),hD.set(this,""),K.set(this,void 0),ju.set(this,void 0),qu.set(this,{}),TD.set(this,null),dD.set(this,null),Fu.set(this,{}),oD.set(this,{}),bD.set(this,void 0),Hu.set(this,!1),P.set(this,void 0),kD.set(this,!1),gD.set(this,!1),lD.set(this,!1),b.set(this,void 0),Iu.set(this,{}),_D.set(this,null),r.set(this,void 0),H(this,P,E,"f"),H(this,bD,D,"f"),H(this,vD,u,"f"),H(this,ju,F,"f"),H(this,UD,new lu(this),"f"),this.$0=this[q0](),this[BF](),H(this,uD,B(this,uD,"f"),"f"),H(this,b,B(this,b,"f"),"f"),H(this,r,B(this,r,"f"),"f"),H(this,K,B(this,K,"f"),"f"),B(this,K,"f").showHiddenOpt=B(this,Wu,"f"),H(this,iD,this[N0](),"f"),B(this,P,"f").y18n.setLocale(X8)}addHelpOpt(D,u){if(q("[string|boolean] [string]",[D,u],arguments.length),B(this,ND,"f"))this[ru](B(this,ND,"f")),H(this,ND,null,"f");if(D===!1&&u===void 0)return this;return H(this,ND,typeof D==="string"?D:"help","f"),this.boolean(B(this,ND,"f")),this.describe(B(this,ND,"f"),u||B(this,b,"f").deferY18nLookup("Show help")),this}help(D,u){return this.addHelpOpt(D,u)}addShowHiddenOpt(D,u){if(q("[string|boolean] [string]",[D,u],arguments.length),D===!1&&u===void 0)return this;let F=typeof D==="string"?D:B(this,Wu,"f");return this.boolean(F),this.describe(F,u||B(this,b,"f").deferY18nLookup("Show hidden options")),B(this,K,"f").showHiddenOpt=F,this}showHidden(D,u){return this.addShowHiddenOpt(D,u)}alias(D,u){return q("<object|string|array> [string|array]",[D,u],arguments.length),this[DF](this.alias.bind(this),"alias",D,u),this}array(D){return q("<array|string>",[D],arguments.length),this[tD]("array",D),this[rD](D),this}boolean(D){return q("<array|string>",[D],arguments.length),this[tD]("boolean",D),this[rD](D),this}check(D,u){return q("<function> [boolean]",[D,u],arguments.length),this.middleware((F,E)=>{return pD(()=>{return D(F,E.getOptions())},(C)=>{if(!C)B(this,b,"f").fail(B(this,P,"f").y18n.__("Argument check failed: %s",D.toString()));else if(typeof C==="string"||C instanceof Error)B(this,b,"f").fail(C.toString(),C);return F},(C)=>{return B(this,b,"f").fail(C.message?C.message:C.toString(),C),F})},!1,u),this}choices(D,u){return q("<object|string|array> [string|array]",[D,u],arguments.length),this[DF](this.choices.bind(this),"choices",D,u),this}coerce(D,u){if(q("<object|string|array> [function]",[D,u],arguments.length),Array.isArray(D)){if(!u)throw new DD("coerce callback must be provided");for(let E of D)this.coerce(E,u);return this}else if(typeof D==="object"){for(let E of Object.keys(D))this.coerce(E,D[E]);return this}if(!u)throw new DD("coerce callback must be provided");let F=D;return B(this,K,"f").key[F]=!0,B(this,UD,"f").addCoerceMiddleware((E,C)=>{var f;let $=(f=C.getAliases()[F])!==null&&f!==void 0?f:[],G=[F,...$].filter((J)=>Object.prototype.hasOwnProperty.call(E,J));if(G.length===0)return E;return pD(()=>{return u(E[G[0]])},(J)=>{return G.forEach((Y)=>{E[Y]=J}),E},(J)=>{throw new DD(J.message)})},F),this}conflicts(D,u){return q("<string|object> [string|array]",[D,u],arguments.length),B(this,r,"f").conflicts(D,u),this}config(D="config",u,F){if(q("[object|string] [string|function] [function]",[D,u,F],arguments.length),typeof D==="object"&&!Array.isArray(D))return D=hu(D,B(this,vD,"f"),this[yD]()["deep-merge-config"]||!1,B(this,P,"f")),B(this,K,"f").configObjects=(B(this,K,"f").configObjects||[]).concat(D),this;if(typeof u==="function")F=u,u=void 0;return this.describe(D,u||B(this,b,"f").deferY18nLookup("Path to JSON config file")),(Array.isArray(D)?D:[D]).forEach((E)=>{B(this,K,"f").config[E]=F||!0}),this}completion(D,u,F){if(q("[string] [string|boolean|function] [function]",[D,u,F],arguments.length),typeof u==="function")F=u,u=void 0;if(H(this,QD,D||B(this,QD,"f")||"completion","f"),!u&&u!==!1)u="generate completion script";if(this.command(B(this,QD,"f"),u),F)B(this,ZD,"f").registerFunction(F);return this}command(D,u,F,E,C,f){return q("<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]",[D,u,F,E,C,f],arguments.length),B(this,uD,"f").addHandler(D,u,F,E,C,f),this}commands(D,u,F,E,C,f){return this.command(D,u,F,E,C,f)}commandDir(D,u){q("<string> [object]",[D,u],arguments.length);let F=B(this,ju,"f")||B(this,P,"f").require;return B(this,uD,"f").addDirectory(D,F,B(this,P,"f").getCallerFile(),u),this}count(D){return q("<array|string>",[D],arguments.length),this[tD]("count",D),this[rD](D),this}default(D,u,F){if(q("<object|string|array> [*] [string]",[D,u,F],arguments.length),F)gu(D,B(this,P,"f")),B(this,K,"f").defaultDescription[D]=F;if(typeof u==="function"){if(gu(D,B(this,P,"f")),!B(this,K,"f").defaultDescription[D])B(this,K,"f").defaultDescription[D]=B(this,b,"f").functionDescription(u);u=u.call()}return this[Eu](this.default.bind(this),"default",D,u),this}defaults(D,u,F){return this.default(D,u,F)}demandCommand(D=1,u,F,E){if(q("[number] [number|string] [string|null|undefined] [string|null|undefined]",[D,u,F,E],arguments.length),typeof u!=="number")F=u,u=1/0;return this.global("_",!1),B(this,K,"f").demandedCommands._={min:D,max:u,minMsg:F,maxMsg:E},this}demand(D,u,F){if(Array.isArray(u))u.forEach((E)=>{XD(F,!0,B(this,P,"f")),this.demandOption(E,F)}),u=1/0;else if(typeof u!=="number")F=u,u=1/0;if(typeof D==="number")XD(F,!0,B(this,P,"f")),this.demandCommand(D,u,F,F);else if(Array.isArray(D))D.forEach((E)=>{XD(F,!0,B(this,P,"f")),this.demandOption(E,F)});else if(typeof F==="string")this.demandOption(D,F);else if(F===!0||typeof F>"u")this.demandOption(D);return this}demandOption(D,u){return q("<object|string|array> [string]",[D,u],arguments.length),this[Eu](this.demandOption.bind(this),"demandedOptions",D,u),this}deprecateOption(D,u){return q("<string> [string|boolean]",[D,u],arguments.length),B(this,K,"f").deprecatedOptions[D]=u,this}describe(D,u){return q("<object|string|array> [string]",[D,u],arguments.length),this[EF](D,!0),B(this,b,"f").describe(D,u),this}detectLocale(D){return q("<boolean>",[D],arguments.length),H(this,mD,D,"f"),this}env(D){if(q("[string|boolean]",[D],arguments.length),D===!1)delete B(this,K,"f").envPrefix;else B(this,K,"f").envPrefix=D||"";return this}epilogue(D){return q("<string>",[D],arguments.length),B(this,b,"f").epilog(D),this}epilog(D){return this.epilogue(D)}example(D,u){if(q("<string|array> [string]",[D,u],arguments.length),Array.isArray(D))D.forEach((F)=>this.example(...F));else B(this,b,"f").example(D,u);return this}exit(D,u){if(H(this,OD,!0,"f"),H(this,wD,u,"f"),B(this,WD,"f"))B(this,P,"f").process.exit(D)}exitProcess(D=!0){return q("[boolean]",[D],arguments.length),H(this,WD,D,"f"),this}fail(D){if(q("<function|boolean>",[D],arguments.length),typeof D==="boolean"&&D!==!1)throw new DD("Invalid first argument. Expected function or boolean 'false'");return B(this,b,"f").failFn(D),this}getAliases(){return this.parsed?this.parsed.aliases:{}}async getCompletion(D,u){if(q("<array> [function]",[D,u],arguments.length),!u)return new Promise((F,E)=>{B(this,ZD,"f").getCompletion(D,(C,f)=>{if(C)E(C);else F(f)})});else return B(this,ZD,"f").getCompletion(D,u)}getDemandedOptions(){return q([],0),B(this,K,"f").demandedOptions}getDemandedCommands(){return q([],0),B(this,K,"f").demandedCommands}getDeprecatedOptions(){return q([],0),B(this,K,"f").deprecatedOptions}getDetectLocale(){return B(this,mD,"f")}getExitProcess(){return B(this,WD,"f")}getGroups(){return Object.assign({},B(this,VD,"f"),B(this,oD,"f"))}getHelp(){if(H(this,OD,!0,"f"),!B(this,b,"f").hasCachedHelpMessage()){if(!this.parsed){let u=this[Gu](B(this,bD,"f"),void 0,void 0,0,!0);if(l(u))return u.then(()=>{return B(this,b,"f").help()})}let D=B(this,uD,"f").runDefaultBuilderOn(this);if(l(D))return D.then(()=>{return B(this,b,"f").help()})}return Promise.resolve(B(this,b,"f").help())}getOptions(){return B(this,K,"f")}getStrict(){return B(this,kD,"f")}getStrictCommands(){return B(this,gD,"f")}getStrictOptions(){return B(this,lD,"f")}global(D,u){if(q("<string|array> [boolean]",[D,u],arguments.length),D=[].concat(D),u!==!1)B(this,K,"f").local=B(this,K,"f").local.filter((F)=>D.indexOf(F)===-1);else D.forEach((F)=>{if(!B(this,K,"f").local.includes(F))B(this,K,"f").local.push(F)});return this}group(D,u){q("<string|array> <string>",[D,u],arguments.length);let F=B(this,oD,"f")[u]||B(this,VD,"f")[u];if(B(this,oD,"f")[u])delete B(this,oD,"f")[u];let E={};return B(this,VD,"f")[u]=(F||[]).concat(D).filter((C)=>{if(E[C])return!1;return E[C]=!0}),this}hide(D){return q("<string>",[D],arguments.length),B(this,K,"f").hiddenOptions.push(D),this}implies(D,u){return q("<string|object> [number|string|array]",[D,u],arguments.length),B(this,r,"f").implies(D,u),this}locale(D){if(q("[string]",[D],arguments.length),D===void 0)return this[au](),B(this,P,"f").y18n.getLocale();return H(this,mD,!1,"f"),B(this,P,"f").y18n.setLocale(D),this}middleware(D,u,F){return B(this,UD,"f").addMiddleware(D,!!u,F)}nargs(D,u){return q("<string|object|array> [number]",[D,u],arguments.length),this[Eu](this.nargs.bind(this),"narg",D,u),this}normalize(D){return q("<array|string>",[D],arguments.length),this[tD]("normalize",D),this}number(D){return q("<array|string>",[D],arguments.length),this[tD]("number",D),this[rD](D),this}option(D,u){if(q("<string|object> [object]",[D,u],arguments.length),typeof D==="object")Object.keys(D).forEach((F)=>{this.options(F,D[F])});else{if(typeof u!=="object")u={};if(this[rD](D),B(this,_D,"f")&&(D==="version"||(u===null||u===void 0?void 0:u.alias)==="version"))this[R0](['"version" is a reserved word.',"Please do one of the following:",'- Disable version with `yargs.version(false)` if using "version" as an option',"- Use the built-in `yargs.version` method instead (if applicable)","- Use a different option key","https://yargs.js.org/docs/#api-reference-version"].join(`
78
78
  `),void 0,"versionWarning");if(B(this,K,"f").key[D]=!0,u.alias)this.alias(D,u.alias);let F=u.deprecate||u.deprecated;if(F)this.deprecateOption(D,F);let E=u.demand||u.required||u.require;if(E)this.demand(D,E);if(u.demandOption)this.demandOption(D,typeof u.demandOption==="string"?u.demandOption:void 0);if(u.conflicts)this.conflicts(D,u.conflicts);if("default"in u)this.default(D,u.default);if(u.implies!==void 0)this.implies(D,u.implies);if(u.nargs!==void 0)this.nargs(D,u.nargs);if(u.config)this.config(D,u.configParser);if(u.normalize)this.normalize(D);if(u.choices)this.choices(D,u.choices);if(u.coerce)this.coerce(D,u.coerce);if(u.group)this.group(D,u.group);if(u.boolean||u.type==="boolean"){if(this.boolean(D),u.alias)this.boolean(u.alias)}if(u.array||u.type==="array"){if(this.array(D),u.alias)this.array(u.alias)}if(u.number||u.type==="number"){if(this.number(D),u.alias)this.number(u.alias)}if(u.string||u.type==="string"){if(this.string(D),u.alias)this.string(u.alias)}if(u.count||u.type==="count")this.count(D);if(typeof u.global==="boolean")this.global(D,u.global);if(u.defaultDescription)B(this,K,"f").defaultDescription[D]=u.defaultDescription;if(u.skipValidation)this.skipValidation(D);let C=u.describe||u.description||u.desc,f=B(this,b,"f").getDescriptions();if(!Object.prototype.hasOwnProperty.call(f,D)||typeof C==="string")this.describe(D,C);if(u.hidden)this.hide(D);if(u.requiresArg)this.requiresArg(D)}return this}options(D,u){return this.option(D,u)}parse(D,u,F){if(q("[string|array] [function|boolean|object] [function]",[D,u,F],arguments.length),this[j0](),typeof D>"u")D=B(this,bD,"f");if(typeof u==="object")H(this,dD,u,"f"),u=F;if(typeof u==="function")H(this,TD,u,"f"),u=!1;if(!u)H(this,bD,D,"f");if(B(this,TD,"f"))H(this,WD,!1,"f");let E=this[Gu](D,!!u),C=this.parsed;if(B(this,ZD,"f").setParsed(this.parsed),l(E))return E.then((f)=>{if(B(this,TD,"f"))B(this,TD,"f").call(this,B(this,wD,"f"),f,B(this,hD,"f"));return f}).catch((f)=>{if(B(this,TD,"f"))B(this,TD,"f")(f,this.parsed.argv,B(this,hD,"f"));throw f}).finally(()=>{this[CF](),this.parsed=C});else{if(B(this,TD,"f"))B(this,TD,"f").call(this,B(this,wD,"f"),E,B(this,hD,"f"));this[CF](),this.parsed=C}return E}parseAsync(D,u,F){let E=this.parse(D,u,F);return!l(E)?Promise.resolve(E):E}parseSync(D,u,F){let E=this.parse(D,u,F);if(l(E))throw new DD(".parseSync() must not be used with asynchronous builders, handlers, or middleware");return E}parserConfiguration(D){return q("<object>",[D],arguments.length),H(this,qu,D,"f"),this}pkgConf(D,u){q("<string> [string]",[D,u],arguments.length);let F=null,E=this[eu](u||B(this,vD,"f"));if(E[D]&&typeof E[D]==="object")F=hu(E[D],u||B(this,vD,"f"),this[yD]()["deep-merge-config"]||!1,B(this,P,"f")),B(this,K,"f").configObjects=(B(this,K,"f").configObjects||[]).concat(F);return this}positional(D,u){q("<string> <object>",[D,u],arguments.length);let F=["default","defaultDescription","implies","normalize","choices","conflicts","coerce","type","describe","desc","description","alias"];u=xD(u,(f,$)=>{if(f==="type"&&!["string","number","boolean"].includes($))return!1;return F.includes(f)});let E=B(this,zu,"f").fullCommands[B(this,zu,"f").fullCommands.length-1],C=E?B(this,uD,"f").cmdToParseOptions(E):{array:[],alias:{},default:{},demand:{}};return Du(C).forEach((f)=>{let $=C[f];if(Array.isArray($)){if($.indexOf(D)!==-1)u[f]=!0}else if($[D]&&!(f in u))u[f]=$[D]}),this.group(D,B(this,b,"f").getPositionalGroupName()),this.option(D,u)}recommendCommands(D=!0){return q("[boolean]",[D],arguments.length),H(this,Hu,D,"f"),this}required(D,u,F){return this.demand(D,u,F)}require(D,u,F){return this.demand(D,u,F)}requiresArg(D){if(q("<array|string|object> [number]",[D],arguments.length),typeof D==="string"&&B(this,K,"f").narg[D])return this;else this[Eu](this.requiresArg.bind(this),"narg",D,NaN);return this}showCompletionScript(D,u){return q("[string] [string]",[D,u],arguments.length),D=D||this.$0,B(this,iD,"f").log(B(this,ZD,"f").generateCompletionScript(D,u||B(this,QD,"f")||"completion")),this}showHelp(D){if(q("[string|function]",[D],arguments.length),H(this,OD,!0,"f"),!B(this,b,"f").hasCachedHelpMessage()){if(!this.parsed){let F=this[Gu](B(this,bD,"f"),void 0,void 0,0,!0);if(l(F))return F.then(()=>{B(this,b,"f").showHelp(D)}),this}let u=B(this,uD,"f").runDefaultBuilderOn(this);if(l(u))return u.then(()=>{B(this,b,"f").showHelp(D)}),this}return B(this,b,"f").showHelp(D),this}scriptName(D){return this.customScriptName=!0,this.$0=D,this}showHelpOnFail(D,u){return q("[boolean|string] [string]",[D,u],arguments.length),B(this,b,"f").showHelpOnFail(D,u),this}showVersion(D){return q("[string|function]",[D],arguments.length),B(this,b,"f").showVersion(D),this}skipValidation(D){return q("<array|string>",[D],arguments.length),this[tD]("skipValidation",D),this}strict(D){return q("[boolean]",[D],arguments.length),H(this,kD,D!==!1,"f"),this}strictCommands(D){return q("[boolean]",[D],arguments.length),H(this,gD,D!==!1,"f"),this}strictOptions(D){return q("[boolean]",[D],arguments.length),H(this,lD,D!==!1,"f"),this}string(D){return q("<array|string>",[D],arguments.length),this[tD]("string",D),this[rD](D),this}terminalWidth(){return q([],0),B(this,P,"f").process.stdColumns}updateLocale(D){return this.updateStrings(D)}updateStrings(D){return q("<object>",[D],arguments.length),H(this,mD,!1,"f"),B(this,P,"f").y18n.updateLocale(D),this}usage(D,u,F,E){if(q("<string|null|undefined> [string|boolean] [function|object] [function]",[D,u,F,E],arguments.length),u!==void 0)if(XD(D,null,B(this,P,"f")),(D||"").match(/^\$0( |$)/))return this.command(D,u,F,E);else throw new DD(".usage() description must start with $0 if being used as alias for .command()");else return B(this,b,"f").usage(D),this}usageConfiguration(D){return q("<object>",[D],arguments.length),H(this,Iu,D,"f"),this}version(D,u,F){if(q("[boolean|string] [string] [string]",[D,u,F],arguments.length),B(this,_D,"f"))this[ru](B(this,_D,"f")),B(this,b,"f").version(void 0),H(this,_D,null,"f");if(arguments.length===0)F=this[I0](),D="version";else if(arguments.length===1){if(D===!1)return this;F=D,D="version"}else if(arguments.length===2)F=u,u=void 0;return H(this,_D,typeof D==="string"?D:"version","f"),u=u||B(this,b,"f").deferY18nLookup("Show version number"),B(this,b,"f").version(F||void 0),this.boolean(B(this,_D,"f")),this.describe(B(this,_D,"f"),u),this}wrap(D){return q("<number|null|undefined>",[D],arguments.length),B(this,b,"f").wrap(D),this}[(uD=new WeakMap,vD=new WeakMap,zu=new WeakMap,ZD=new WeakMap,QD=new WeakMap,Wu=new WeakMap,wD=new WeakMap,mD=new WeakMap,Uu=new WeakMap,WD=new WeakMap,Nu=new WeakMap,UD=new WeakMap,VD=new WeakMap,OD=new WeakMap,ND=new WeakMap,Ru=new WeakMap,iD=new WeakMap,hD=new WeakMap,K=new WeakMap,ju=new WeakMap,qu=new WeakMap,TD=new WeakMap,dD=new WeakMap,Fu=new WeakMap,oD=new WeakMap,bD=new WeakMap,Hu=new WeakMap,P=new WeakMap,kD=new WeakMap,gD=new WeakMap,lD=new WeakMap,b=new WeakMap,Iu=new WeakMap,_D=new WeakMap,r=new WeakMap,U0)](D){if(!D._||!D["--"])return D;D._.push.apply(D._,D["--"]);try{delete D["--"]}catch(u){}return D}[N0](){return{log:(...D)=>{if(!this[Vu]())console.log(...D);if(H(this,OD,!0,"f"),B(this,hD,"f").length)H(this,hD,B(this,hD,"f")+`
79
79
  `,"f");H(this,hD,B(this,hD,"f")+D.join(" "),"f")},error:(...D)=>{if(!this[Vu]())console.error(...D);if(H(this,OD,!0,"f"),B(this,hD,"f").length)H(this,hD,B(this,hD,"f")+`
80
- `,"f");H(this,hD,B(this,hD,"f")+D.join(" "),"f")}}}[ru](D){Du(B(this,K,"f")).forEach((u)=>{if(((E)=>E==="configObjects")(u))return;let F=B(this,K,"f")[u];if(Array.isArray(F)){if(F.includes(D))F.splice(F.indexOf(D),1)}else if(typeof F==="object")delete F[D]}),delete B(this,b,"f").getDescriptions()[D]}[R0](D,u,F){if(!B(this,Uu,"f")[F])B(this,P,"f").process.emitWarning(D,u),B(this,Uu,"f")[F]=!0}[j0](){B(this,Nu,"f").push({options:B(this,K,"f"),configObjects:B(this,K,"f").configObjects.slice(0),exitProcess:B(this,WD,"f"),groups:B(this,VD,"f"),strict:B(this,kD,"f"),strictCommands:B(this,gD,"f"),strictOptions:B(this,lD,"f"),completionCommand:B(this,QD,"f"),output:B(this,hD,"f"),exitError:B(this,wD,"f"),hasOutput:B(this,OD,"f"),parsed:this.parsed,parseFn:B(this,TD,"f"),parseContext:B(this,dD,"f")}),B(this,b,"f").freeze(),B(this,r,"f").freeze(),B(this,uD,"f").freeze(),B(this,UD,"f").freeze()}[q0](){let D="",u;if(/\b(node|iojs|electron)(\.exe)?$/.test(B(this,P,"f").process.argv()[0]))u=B(this,P,"f").process.argv().slice(1,2);else u=B(this,P,"f").process.argv().slice(0,1);if(D=u.map((F)=>{let E=this[t0](B(this,vD,"f"),F);return F.match(/^(\/|([a-zA-Z]:)?\\)/)&&E.length<F.length?E:F}).join(" ").trim(),B(this,P,"f").getEnv("_")&&B(this,P,"f").getProcessArgvBin()===B(this,P,"f").getEnv("_"))D=B(this,P,"f").getEnv("_").replace(`${B(this,P,"f").path.dirname(B(this,P,"f").process.execPath())}/`,"");return D}[yD](){return B(this,qu,"f")}[H0](){return B(this,Iu,"f")}[au](){if(!B(this,mD,"f"))return;let D=B(this,P,"f").getEnv("LC_ALL")||B(this,P,"f").getEnv("LC_MESSAGES")||B(this,P,"f").getEnv("LANG")||B(this,P,"f").getEnv("LANGUAGE")||"en_US";this.locale(D.replace(/[.:].*/,""))}[I0](){return this[eu]().version||"unknown"}[V0](D){let u=D["--"]?D["--"]:D._;for(let F=0,E;(E=u[F])!==void 0;F++)if(B(this,P,"f").Parser.looksLikeNumber(E)&&Number.isSafeInteger(Math.floor(parseFloat(`${E}`))))u[F]=Number(E);return D}[eu](D){let u=D||"*";if(B(this,Fu,"f")[u])return B(this,Fu,"f")[u];let F={};try{let E=D||B(this,P,"f").mainFilename;if(B(this,P,"f").path.extname(E))E=B(this,P,"f").path.dirname(E);let C=B(this,P,"f").findUp(E,(f,$)=>{if($.includes("package.json"))return"package.json";else return});XD(C,void 0,B(this,P,"f")),F=JSON.parse(B(this,P,"f").readFileSync(C,"utf8"))}catch(E){}return B(this,Fu,"f")[u]=F||{},B(this,Fu,"f")[u]}[tD](D,u){u=[].concat(u),u.forEach((F)=>{F=this[FF](F),B(this,K,"f")[D].push(F)})}[Eu](D,u,F,E){this[uF](D,u,F,E,(C,f,$)=>{B(this,K,"f")[C][f]=$})}[DF](D,u,F,E){this[uF](D,u,F,E,(C,f,$)=>{B(this,K,"f")[C][f]=(B(this,K,"f")[C][f]||[]).concat($)})}[uF](D,u,F,E,C){if(Array.isArray(F))F.forEach((f)=>{D(f,E)});else if(((f)=>typeof f==="object")(F))for(let f of Du(F))D(f,F[f]);else C(u,this[FF](F),E)}[FF](D){if(D==="__proto__")return"___proto___";return D}[EF](D,u){return this[Eu](this[EF].bind(this),"key",D,u),this}[CF](){var D,u,F,E,C,f,$,G,J,Y,U,Q;let X=B(this,Nu,"f").pop();XD(X,void 0,B(this,P,"f"));let O;D=this,u=this,F=this,E=this,C=this,f=this,$=this,G=this,J=this,Y=this,U=this,Q=this,{options:{set value(W){H(D,K,W,"f")}}.value,configObjects:O,exitProcess:{set value(W){H(u,WD,W,"f")}}.value,groups:{set value(W){H(F,VD,W,"f")}}.value,output:{set value(W){H(E,hD,W,"f")}}.value,exitError:{set value(W){H(C,wD,W,"f")}}.value,hasOutput:{set value(W){H(f,OD,W,"f")}}.value,parsed:this.parsed,strict:{set value(W){H($,kD,W,"f")}}.value,strictCommands:{set value(W){H(G,gD,W,"f")}}.value,strictOptions:{set value(W){H(J,lD,W,"f")}}.value,completionCommand:{set value(W){H(Y,QD,W,"f")}}.value,parseFn:{set value(W){H(U,TD,W,"f")}}.value,parseContext:{set value(W){H(Q,dD,W,"f")}}.value}=X,B(this,K,"f").configObjects=O,B(this,b,"f").unfreeze(),B(this,r,"f").unfreeze(),B(this,uD,"f").unfreeze(),B(this,UD,"f").unfreeze()}[_0](D,u){return pD(u,(F)=>{return D(F),F})}getInternalMethods(){return{getCommandInstance:this[K0].bind(this),getContext:this[L0].bind(this),getHasOutput:this[A0].bind(this),getLoggerInstance:this[S0].bind(this),getParseContext:this[x0].bind(this),getParserConfiguration:this[yD].bind(this),getUsageConfiguration:this[H0].bind(this),getUsageInstance:this[P0].bind(this),getValidationInstance:this[w0].bind(this),hasParseCallback:this[Vu].bind(this),isGlobalContext:this[b0].bind(this),postProcess:this[sD].bind(this),reset:this[BF].bind(this),runValidation:this[fF].bind(this),runYargsParserAndExecuteCommands:this[Gu].bind(this),setHasOutput:this[n0].bind(this)}}[K0](){return B(this,uD,"f")}[L0](){return B(this,zu,"f")}[A0](){return B(this,OD,"f")}[S0](){return B(this,iD,"f")}[x0](){return B(this,dD,"f")||{}}[P0](){return B(this,b,"f")}[w0](){return B(this,r,"f")}[Vu](){return!!B(this,TD,"f")}[b0](){return B(this,Ru,"f")}[sD](D,u,F,E){if(F)return D;if(l(D))return D;if(!u)D=this[U0](D);if(this[yD]()["parse-positional-numbers"]||this[yD]()["parse-positional-numbers"]===void 0)D=this[V0](D);if(E)D=cD(D,this,B(this,UD,"f").getMiddleware(),!1);return D}[BF](D={}){H(this,K,B(this,K,"f")||{},"f");let u={};u.local=B(this,K,"f").local||[],u.configObjects=B(this,K,"f").configObjects||[];let F={};u.local.forEach((f)=>{F[f]=!0,(D[f]||[]).forEach(($)=>{F[$]=!0})}),Object.assign(B(this,oD,"f"),Object.keys(B(this,VD,"f")).reduce((f,$)=>{let G=B(this,VD,"f")[$].filter((J)=>!(J in F));if(G.length>0)f[$]=G;return f},{})),H(this,VD,{},"f");let E=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],C=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];if(E.forEach((f)=>{u[f]=(B(this,K,"f")[f]||[]).filter(($)=>!F[$])}),C.forEach((f)=>{u[f]=xD(B(this,K,"f")[f],($)=>!F[$])}),u.envPrefix=B(this,K,"f").envPrefix,H(this,K,u,"f"),H(this,b,B(this,b,"f")?B(this,b,"f").reset(F):M0(this,B(this,P,"f")),"f"),H(this,r,B(this,r,"f")?B(this,r,"f").reset(F):Y0(this,B(this,b,"f"),B(this,P,"f")),"f"),H(this,uD,B(this,uD,"f")?B(this,uD,"f").reset():h0(B(this,b,"f"),B(this,r,"f"),B(this,UD,"f"),B(this,P,"f")),"f"),!B(this,ZD,"f"))H(this,ZD,Q0(this,B(this,b,"f"),B(this,uD,"f"),B(this,P,"f")),"f");return B(this,UD,"f").reset(),H(this,QD,null,"f"),H(this,hD,"","f"),H(this,wD,null,"f"),H(this,OD,!1,"f"),this.parsed=!1,this}[t0](D,u){return B(this,P,"f").path.relative(D,u)}[Gu](D,u,F,E=0,C=!1){var f,$,G,J;let Y=!!F||C;D=D||B(this,bD,"f"),B(this,K,"f").__=B(this,P,"f").y18n.__,B(this,K,"f").configuration=this[yD]();let U=!!B(this,K,"f").configuration["populate--"],Q=Object.assign({},B(this,K,"f").configuration,{"populate--":!0}),X=B(this,P,"f").Parser.detailed(D,Object.assign({},B(this,K,"f"),{configuration:{"parse-positional-numbers":!1,...Q}})),O=Object.assign(X.argv,B(this,dD,"f")),W=void 0,Z=X.aliases,A=!1,v=!1;if(Object.keys(O).forEach((n)=>{if(n===B(this,ND,"f")&&O[n])A=!0;else if(n===B(this,_D,"f")&&O[n])v=!0}),O.$0=this.$0,this.parsed=X,E===0)B(this,b,"f").clearCachedHelpMessage();try{if(this[au](),u)return this[sD](O,U,!!F,!1);if(B(this,ND,"f")){if([B(this,ND,"f")].concat(Z[B(this,ND,"f")]||[]).filter((ED)=>ED.length>1).includes(""+O._[O._.length-1]))O._.pop(),A=!0}H(this,Ru,!1,"f");let n=B(this,uD,"f").getCommands(),GD=((f=B(this,ZD,"f"))===null||f===void 0?void 0:f.completionKey)?[($=B(this,ZD,"f"))===null||$===void 0?void 0:$.completionKey,...(J=this.getAliases()[(G=B(this,ZD,"f"))===null||G===void 0?void 0:G.completionKey])!==null&&J!==void 0?J:[]].some((g)=>Object.prototype.hasOwnProperty.call(O,g)):!1,t=A||GD||C;if(O._.length){if(n.length){let g;for(let ED=E||0,a;O._[ED]!==void 0;ED++)if(a=String(O._[ED]),n.includes(a)&&a!==B(this,QD,"f")){let ID=B(this,uD,"f").runCommand(a,this,X,ED+1,C,A||v||C);return this[sD](ID,U,!!F,!1)}else if(!g&&a!==B(this,QD,"f")){g=a;break}if(!B(this,uD,"f").hasDefaultCommand()&&B(this,Hu,"f")&&g&&!t)B(this,r,"f").recommendCommands(g,n)}if(B(this,QD,"f")&&O._.includes(B(this,QD,"f"))&&!GD){if(B(this,WD,"f"))PD(!0);this.showCompletionScript(),this.exit(0)}}if(B(this,uD,"f").hasDefaultCommand()&&!t){let g=B(this,uD,"f").runCommand(null,this,X,0,C,A||v||C);return this[sD](g,U,!!F,!1)}if(GD){if(B(this,WD,"f"))PD(!0);D=[].concat(D);let g=D.slice(D.indexOf(`--${B(this,ZD,"f").completionKey}`)+1);return B(this,ZD,"f").getCompletion(g,(ED,a)=>{if(ED)throw new DD(ED.message);(a||[]).forEach((ID)=>{B(this,iD,"f").log(ID)}),this.exit(0)}),this[sD](O,!U,!!F,!1)}if(!B(this,OD,"f")){if(A){if(B(this,WD,"f"))PD(!0);Y=!0,this.showHelp((g)=>{B(this,iD,"f").log(g),this.exit(0)})}else if(v){if(B(this,WD,"f"))PD(!0);Y=!0,B(this,b,"f").showVersion("log"),this.exit(0)}}if(!Y&&B(this,K,"f").skipValidation.length>0)Y=Object.keys(O).some((g)=>B(this,K,"f").skipValidation.indexOf(g)>=0&&O[g]===!0);if(!Y){if(X.error)throw new DD(X.error.message);if(!GD){let g=this[fF](Z,{},X.error);if(!F)W=cD(O,this,B(this,UD,"f").getMiddleware(),!0);if(W=this[_0](g,W!==null&&W!==void 0?W:O),l(W)&&!F)W=W.then(()=>{return cD(O,this,B(this,UD,"f").getMiddleware(),!1)})}}}catch(n){if(n instanceof DD)B(this,b,"f").fail(n.message,n);else throw n}return this[sD](W!==null&&W!==void 0?W:O,U,!!F,!0)}[fF](D,u,F,E){let C={...this.getDemandedOptions()};return(f)=>{if(F)throw new DD(F.message);B(this,r,"f").nonOptionCount(f),B(this,r,"f").requiredArguments(f,C);let $=!1;if(B(this,gD,"f"))$=B(this,r,"f").unknownCommands(f);if(B(this,kD,"f")&&!$)B(this,r,"f").unknownArguments(f,D,u,!!E);else if(B(this,lD,"f"))B(this,r,"f").unknownArguments(f,D,{},!1,!1);B(this,r,"f").limitedChoices(f),B(this,r,"f").implications(f),B(this,r,"f").conflicting(f)}}[n0](){H(this,OD,!0,"f")}[rD](D){if(typeof D==="string")B(this,K,"f").key[D]=!0;else for(let u of D)B(this,K,"f").key[u]=!0}}function z0(D){return!!D&&typeof D.getInternalMethods==="function"}var Z8=c0(ku),v0=Z8;import{EOL as HD}from"os";import e0 from"path";import J8 from"fs";var m0=g0("main");l0("main");var RD=du(process.argv),D2=new Set(["--version","-v"]);if(RD.length===1&&D2.has(RD[0]))process.stdout.write(Lu+HD),process.exit();if(RD.length===2&&RD.some((D)=>D2.has(D))&&RD.includes("--verbose")){let D=process.argv[1],u=(()=>{if(!D||D.startsWith("-"))return;if(D.startsWith("/$bunfs/")||/^B:[\\/]~BUN[\\/]/.test(D))return;let E=e0.resolve(D);if(E===process.execPath)return;try{if(!J8.statSync(E).isFile())return}catch{return}return E})(),F=[`version: ${Lu}`,`channel: ${d0}`,`commit: ${o0}`,`binary: ${process.execPath}`,...u?[`bundle: ${u}`]:[]];process.stdout.write(F.join(HD)+HD),process.exit()}var _u={acp:()=>import("./chunk-brpx707p.js").then((D)=>D.AcpCommand),mcp:()=>import("./chunk-cvwa142e.js").then((D)=>D.McpCommand),attach:()=>import("./chunk-ct6dv8st.js").then((D)=>D.AttachCommand),run:()=>import("./chunk-4z4p492c.js").then((D)=>D.RunCommand),generate:()=>import("./chunk-3c7d3dqt.js").then((D)=>D.GenerateCommand),debug:()=>import("./chunk-jh6yvzee.js").then((D)=>D.DebugCommand),console:()=>import("./chunk-cpmmvwgw.js").then((D)=>D.ConsoleCommand),providers:()=>import("./chunk-pget15wc.js").then((D)=>D.ProvidersCommand),agent:()=>import("./chunk-14n6rvh2.js").then((D)=>D.AgentCommand),upgrade:()=>import("./chunk-jh3nw7fd.js").then((D)=>D.UpgradeCommand),uninstall:()=>import("./chunk-b75gpv0q.js").then((D)=>D.UninstallCommand),serve:()=>import("./chunk-dqed63ek.js").then((D)=>D.ServeCommand),models:()=>import("./chunk-nx90tvwg.js").then((D)=>D.ModelsCommand),stats:()=>import("./chunk-fddsgvjy.js").then((D)=>D.StatsCommand),usage:()=>import("./chunk-m2ekhbdp.js").then((D)=>D.UsageCommand),export:()=>import("./chunk-mdck9s88.js").then((D)=>D.ExportCommand),import:()=>import("./chunk-jnabd9gn.js").then((D)=>D.ImportCommand),github:()=>import("./chunk-apbgb4h0.js").then((D)=>D.GithubCommand),pr:()=>import("./chunk-kavhpdvb.js").then((D)=>D.PrCommand),session:()=>import("./chunk-deae0y1j.js").then((D)=>D.SessionCommand),plugin:()=>import("./chunk-4ypcf4tg.js").then((D)=>D.PluginCommand),plug:()=>import("./chunk-4ypcf4tg.js").then((D)=>D.PluginCommand),auth:()=>import("./chunk-02y04bsz.js").then((D)=>D.AuthCommand),qredits:()=>import("./chunk-stezw26z.js").then((D)=>D.QreditsCommand),batch:()=>import("./chunk-qt2c4bty.js").then((D)=>D.BatchCommand),db:()=>import("./chunk-dzxzcb2e.js").then((D)=>D.DbCommand),default:()=>import("./chunk-ad46r434.js").then((D)=>D.TuiThreadCommand)};function y(D,u,F){return{command:D,describe:u,aliases:F,handler:async()=>{}}}function $F(){return[y("acp","start ACP (Agent Client Protocol) server"),y("mcp","manage MCP (Model Context Protocol) servers"),{command:"$0 [project]",describe:"start qitqode tui",builder:(D)=>D.positional("project",{type:"string",describe:"path to start qitqode in"}).options(s0).options(r0).option("never-ask",{type:"boolean",describe:"start in never-ask mode, auto-decide without asking (permissions excluded)",default:!1}).option("trust",{type:"boolean",describe:"skip workspace trust prompt and trust the directory",default:!1}),handler:async()=>{}},y("attach <url>","attach to a running qitqode server"),y("run [message..]","run qitqode with a message"),y("generate","generate files"),y("debug","debugging and troubleshooting tools"),y("console","manage qitqode accounts"),y("providers","manage AI providers and credentials",["auth"]),y("agent","manage agents"),y("upgrade [target]","upgrade qitqode to the latest or a specific version"),y("uninstall","uninstall qitqode and remove all related files"),y("serve","starts a headless qitqode server"),y("models [provider]","list all available models"),y("stats","show token usage and cost statistics"),y("usage [sessionID]","show per-turn token usage and cost"),y("export [sessionID]","export session data as JSON"),y("import <file>","import session data from JSON file or URL"),y("github","manage GitHub agent"),y("pr <number>","fetch and checkout a GitHub PR branch, then run qitqode"),y("session","manage sessions"),y("plugin <module>","install plugin and update config",["plug"]),y("auth <command>","Sign in or out of Forgewise"),y("qredits <command>","Check Qredits balance and spend history"),y("batch <command>","Submit and poll async batch LLM jobs"),y("db","database tools")]}function zF(D){let u=new Set(["--log-level","--model","-m","--session","-s","--prompt","--agent","--port","--hostname","--mdns-domain","--cors"]);for(let F=0;F<D.length;F++){let E=D[F];if(E==="--")return;if(E.startsWith("-")){if(u.has(E))F++;continue}return E}}function Q8(D){return D.length>0&&D.every((u)=>u==="--help"||u==="-h")}function O8(D){return D.includes("--help")||D.includes("-h")}async function T8(D){let u=zF(D);if(D.includes("--get-yargs-completions")||u==="completion")return $F();if(Q8(D))return $F();else if(u&&u in _u)return[await _u[u]()];else if(O8(D))return $F();else return[await _u.default()]}function u2(D){let u=D.trimStart();if(!u.startsWith("qitqode ")){process.stderr.write(Ku.logo()+HD+HD),process.stderr.write(u);return}process.stderr.write(D)}var Mu=y0(v0(RD)).middleware(async(D)=>{if(D.pure)process.env.QITQODE_PURE="1";let u=await import("./chunk-c7yy1km8.js"),{Filesystem:F}=await import("./chunk-y9p87bfd.js"),{Heap:E}=await import("./chunk-hgxdg1y5.js"),{Global:C}=await import("./chunk-gbyy8sh5.js");await u.init({print:process.argv.includes("--print-logs"),dev:hF,level:(()=>{if(D.logLevel)return D.logLevel;if(hF)return"DEBUG";return"INFO"})()}),E.start(),(await import("./chunk-55b9699f.js")).startRefresh(),process.env.AGENT="1",process.env.QITQODE="1",process.env.QITQODE_PID=String(process.pid),u.Default.info("qitqode",{version:Lu,command:zF(RD)??"tui",process_role:m0.processRole,run_id:m0.runID});let $=e0.join(C.Path.data,"qitqode.db");if(!await F.exists($)){let{JsonMigration:G,Database:J}=await import("./chunk-0srrmwqs.js"),{drizzle:Y}=await import("./chunk-qjgm3e2p.js"),U=process.stderr.isTTY;process.stderr.write("Performing one time database migration, may take a few minutes..."+HD);let Q=-1;if(U)process.stderr.write("\x1B[?25l");try{await G.run(Y({client:J.Client().$client}),{progress:(X)=>{let O=Math.floor(X.current/X.total*100);if(O===Q&&X.current!==X.total)return;if(Q=O,U){if(process.stderr.write(a0(O,`${X.label.padEnd(12)} ${X.current}/${X.total}`)),X.current===X.total)process.stderr.write(`
81
- `)}else process.stderr.write(`sqlite-migration:${O}${HD}`)}})}finally{if(U)process.stderr.write("\x1B[?25h");else process.stderr.write(`sqlite-migration:done${HD}`)}process.stderr.write("Database migration complete."+HD)}if(!process.env.QITQODE_DISABLE_CLAUDE_IMPORT&&!process.env.QITQODE_CLAUDE_IMPORTED){process.env.QITQODE_CLAUDE_IMPORTED="1";let G=async()=>{try{let{ClaudeImport:U}=await import("./chunk-wajmd3r7.js");await U.run()}catch(U){u.Default.warn("claude-import failed",{e:GF(U)})}},J=zF(RD);if(!J||!(J in _u))G();else await G()}}).usage("").completion("completion","generate shell completion script");for(let D of await T8(RD))Mu.command(D);Mu.fail((D,u)=>{if(D?.startsWith("Unknown argument")||D?.startsWith("Not enough non-option arguments")||D?.startsWith("Invalid values:")){if(u)throw u;Mu.showHelp(u2)}if(u)throw u;process.exit(1)}).strict();try{if(RD.includes("-h")||RD.includes("--help"))await Mu.parse(RD,(D,u,F)=>{if(D)throw D;if(!F)return;u2(F)});else await Mu.parse()}catch(D){let u={};if(D instanceof i0){let C=D.toObject();Object.assign(u,{...C.data})}if(D instanceof Error)Object.assign(u,{name:D.name,message:D.message,cause:D.cause?.toString(),stack:D.stack});if(D instanceof ResolveMessage)Object.assign(u,{name:D.name,message:D.message,code:D.code,specifier:D.specifier,referrer:D.referrer,position:D.position,importKind:D.importKind});let F=await import("./chunk-c7yy1km8.js");F.Default.error("fatal",u);let E=k0(D);if(E)Ku.error(E);if(E===void 0)Ku.error("Unexpected error, check log file at "+F.file()+" for more details"+HD),process.stderr.write(GF(D)+HD);process.exitCode=1}finally{process.exit()}
80
+ `,"f");H(this,hD,B(this,hD,"f")+D.join(" "),"f")}}}[ru](D){Du(B(this,K,"f")).forEach((u)=>{if(((E)=>E==="configObjects")(u))return;let F=B(this,K,"f")[u];if(Array.isArray(F)){if(F.includes(D))F.splice(F.indexOf(D),1)}else if(typeof F==="object")delete F[D]}),delete B(this,b,"f").getDescriptions()[D]}[R0](D,u,F){if(!B(this,Uu,"f")[F])B(this,P,"f").process.emitWarning(D,u),B(this,Uu,"f")[F]=!0}[j0](){B(this,Nu,"f").push({options:B(this,K,"f"),configObjects:B(this,K,"f").configObjects.slice(0),exitProcess:B(this,WD,"f"),groups:B(this,VD,"f"),strict:B(this,kD,"f"),strictCommands:B(this,gD,"f"),strictOptions:B(this,lD,"f"),completionCommand:B(this,QD,"f"),output:B(this,hD,"f"),exitError:B(this,wD,"f"),hasOutput:B(this,OD,"f"),parsed:this.parsed,parseFn:B(this,TD,"f"),parseContext:B(this,dD,"f")}),B(this,b,"f").freeze(),B(this,r,"f").freeze(),B(this,uD,"f").freeze(),B(this,UD,"f").freeze()}[q0](){let D="",u;if(/\b(node|iojs|electron)(\.exe)?$/.test(B(this,P,"f").process.argv()[0]))u=B(this,P,"f").process.argv().slice(1,2);else u=B(this,P,"f").process.argv().slice(0,1);if(D=u.map((F)=>{let E=this[t0](B(this,vD,"f"),F);return F.match(/^(\/|([a-zA-Z]:)?\\)/)&&E.length<F.length?E:F}).join(" ").trim(),B(this,P,"f").getEnv("_")&&B(this,P,"f").getProcessArgvBin()===B(this,P,"f").getEnv("_"))D=B(this,P,"f").getEnv("_").replace(`${B(this,P,"f").path.dirname(B(this,P,"f").process.execPath())}/`,"");return D}[yD](){return B(this,qu,"f")}[H0](){return B(this,Iu,"f")}[au](){if(!B(this,mD,"f"))return;let D=B(this,P,"f").getEnv("LC_ALL")||B(this,P,"f").getEnv("LC_MESSAGES")||B(this,P,"f").getEnv("LANG")||B(this,P,"f").getEnv("LANGUAGE")||"en_US";this.locale(D.replace(/[.:].*/,""))}[I0](){return this[eu]().version||"unknown"}[V0](D){let u=D["--"]?D["--"]:D._;for(let F=0,E;(E=u[F])!==void 0;F++)if(B(this,P,"f").Parser.looksLikeNumber(E)&&Number.isSafeInteger(Math.floor(parseFloat(`${E}`))))u[F]=Number(E);return D}[eu](D){let u=D||"*";if(B(this,Fu,"f")[u])return B(this,Fu,"f")[u];let F={};try{let E=D||B(this,P,"f").mainFilename;if(B(this,P,"f").path.extname(E))E=B(this,P,"f").path.dirname(E);let C=B(this,P,"f").findUp(E,(f,$)=>{if($.includes("package.json"))return"package.json";else return});XD(C,void 0,B(this,P,"f")),F=JSON.parse(B(this,P,"f").readFileSync(C,"utf8"))}catch(E){}return B(this,Fu,"f")[u]=F||{},B(this,Fu,"f")[u]}[tD](D,u){u=[].concat(u),u.forEach((F)=>{F=this[FF](F),B(this,K,"f")[D].push(F)})}[Eu](D,u,F,E){this[uF](D,u,F,E,(C,f,$)=>{B(this,K,"f")[C][f]=$})}[DF](D,u,F,E){this[uF](D,u,F,E,(C,f,$)=>{B(this,K,"f")[C][f]=(B(this,K,"f")[C][f]||[]).concat($)})}[uF](D,u,F,E,C){if(Array.isArray(F))F.forEach((f)=>{D(f,E)});else if(((f)=>typeof f==="object")(F))for(let f of Du(F))D(f,F[f]);else C(u,this[FF](F),E)}[FF](D){if(D==="__proto__")return"___proto___";return D}[EF](D,u){return this[Eu](this[EF].bind(this),"key",D,u),this}[CF](){var D,u,F,E,C,f,$,G,J,Y,U,Q;let X=B(this,Nu,"f").pop();XD(X,void 0,B(this,P,"f"));let O;D=this,u=this,F=this,E=this,C=this,f=this,$=this,G=this,J=this,Y=this,U=this,Q=this,{options:{set value(W){H(D,K,W,"f")}}.value,configObjects:O,exitProcess:{set value(W){H(u,WD,W,"f")}}.value,groups:{set value(W){H(F,VD,W,"f")}}.value,output:{set value(W){H(E,hD,W,"f")}}.value,exitError:{set value(W){H(C,wD,W,"f")}}.value,hasOutput:{set value(W){H(f,OD,W,"f")}}.value,parsed:this.parsed,strict:{set value(W){H($,kD,W,"f")}}.value,strictCommands:{set value(W){H(G,gD,W,"f")}}.value,strictOptions:{set value(W){H(J,lD,W,"f")}}.value,completionCommand:{set value(W){H(Y,QD,W,"f")}}.value,parseFn:{set value(W){H(U,TD,W,"f")}}.value,parseContext:{set value(W){H(Q,dD,W,"f")}}.value}=X,B(this,K,"f").configObjects=O,B(this,b,"f").unfreeze(),B(this,r,"f").unfreeze(),B(this,uD,"f").unfreeze(),B(this,UD,"f").unfreeze()}[_0](D,u){return pD(u,(F)=>{return D(F),F})}getInternalMethods(){return{getCommandInstance:this[K0].bind(this),getContext:this[L0].bind(this),getHasOutput:this[A0].bind(this),getLoggerInstance:this[S0].bind(this),getParseContext:this[x0].bind(this),getParserConfiguration:this[yD].bind(this),getUsageConfiguration:this[H0].bind(this),getUsageInstance:this[P0].bind(this),getValidationInstance:this[w0].bind(this),hasParseCallback:this[Vu].bind(this),isGlobalContext:this[b0].bind(this),postProcess:this[sD].bind(this),reset:this[BF].bind(this),runValidation:this[fF].bind(this),runYargsParserAndExecuteCommands:this[Gu].bind(this),setHasOutput:this[n0].bind(this)}}[K0](){return B(this,uD,"f")}[L0](){return B(this,zu,"f")}[A0](){return B(this,OD,"f")}[S0](){return B(this,iD,"f")}[x0](){return B(this,dD,"f")||{}}[P0](){return B(this,b,"f")}[w0](){return B(this,r,"f")}[Vu](){return!!B(this,TD,"f")}[b0](){return B(this,Ru,"f")}[sD](D,u,F,E){if(F)return D;if(l(D))return D;if(!u)D=this[U0](D);if(this[yD]()["parse-positional-numbers"]||this[yD]()["parse-positional-numbers"]===void 0)D=this[V0](D);if(E)D=cD(D,this,B(this,UD,"f").getMiddleware(),!1);return D}[BF](D={}){H(this,K,B(this,K,"f")||{},"f");let u={};u.local=B(this,K,"f").local||[],u.configObjects=B(this,K,"f").configObjects||[];let F={};u.local.forEach((f)=>{F[f]=!0,(D[f]||[]).forEach(($)=>{F[$]=!0})}),Object.assign(B(this,oD,"f"),Object.keys(B(this,VD,"f")).reduce((f,$)=>{let G=B(this,VD,"f")[$].filter((J)=>!(J in F));if(G.length>0)f[$]=G;return f},{})),H(this,VD,{},"f");let E=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],C=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];if(E.forEach((f)=>{u[f]=(B(this,K,"f")[f]||[]).filter(($)=>!F[$])}),C.forEach((f)=>{u[f]=xD(B(this,K,"f")[f],($)=>!F[$])}),u.envPrefix=B(this,K,"f").envPrefix,H(this,K,u,"f"),H(this,b,B(this,b,"f")?B(this,b,"f").reset(F):M0(this,B(this,P,"f")),"f"),H(this,r,B(this,r,"f")?B(this,r,"f").reset(F):Y0(this,B(this,b,"f"),B(this,P,"f")),"f"),H(this,uD,B(this,uD,"f")?B(this,uD,"f").reset():h0(B(this,b,"f"),B(this,r,"f"),B(this,UD,"f"),B(this,P,"f")),"f"),!B(this,ZD,"f"))H(this,ZD,Q0(this,B(this,b,"f"),B(this,uD,"f"),B(this,P,"f")),"f");return B(this,UD,"f").reset(),H(this,QD,null,"f"),H(this,hD,"","f"),H(this,wD,null,"f"),H(this,OD,!1,"f"),this.parsed=!1,this}[t0](D,u){return B(this,P,"f").path.relative(D,u)}[Gu](D,u,F,E=0,C=!1){var f,$,G,J;let Y=!!F||C;D=D||B(this,bD,"f"),B(this,K,"f").__=B(this,P,"f").y18n.__,B(this,K,"f").configuration=this[yD]();let U=!!B(this,K,"f").configuration["populate--"],Q=Object.assign({},B(this,K,"f").configuration,{"populate--":!0}),X=B(this,P,"f").Parser.detailed(D,Object.assign({},B(this,K,"f"),{configuration:{"parse-positional-numbers":!1,...Q}})),O=Object.assign(X.argv,B(this,dD,"f")),W=void 0,Z=X.aliases,A=!1,v=!1;if(Object.keys(O).forEach((n)=>{if(n===B(this,ND,"f")&&O[n])A=!0;else if(n===B(this,_D,"f")&&O[n])v=!0}),O.$0=this.$0,this.parsed=X,E===0)B(this,b,"f").clearCachedHelpMessage();try{if(this[au](),u)return this[sD](O,U,!!F,!1);if(B(this,ND,"f")){if([B(this,ND,"f")].concat(Z[B(this,ND,"f")]||[]).filter((ED)=>ED.length>1).includes(""+O._[O._.length-1]))O._.pop(),A=!0}H(this,Ru,!1,"f");let n=B(this,uD,"f").getCommands(),GD=((f=B(this,ZD,"f"))===null||f===void 0?void 0:f.completionKey)?[($=B(this,ZD,"f"))===null||$===void 0?void 0:$.completionKey,...(J=this.getAliases()[(G=B(this,ZD,"f"))===null||G===void 0?void 0:G.completionKey])!==null&&J!==void 0?J:[]].some((g)=>Object.prototype.hasOwnProperty.call(O,g)):!1,t=A||GD||C;if(O._.length){if(n.length){let g;for(let ED=E||0,a;O._[ED]!==void 0;ED++)if(a=String(O._[ED]),n.includes(a)&&a!==B(this,QD,"f")){let ID=B(this,uD,"f").runCommand(a,this,X,ED+1,C,A||v||C);return this[sD](ID,U,!!F,!1)}else if(!g&&a!==B(this,QD,"f")){g=a;break}if(!B(this,uD,"f").hasDefaultCommand()&&B(this,Hu,"f")&&g&&!t)B(this,r,"f").recommendCommands(g,n)}if(B(this,QD,"f")&&O._.includes(B(this,QD,"f"))&&!GD){if(B(this,WD,"f"))PD(!0);this.showCompletionScript(),this.exit(0)}}if(B(this,uD,"f").hasDefaultCommand()&&!t){let g=B(this,uD,"f").runCommand(null,this,X,0,C,A||v||C);return this[sD](g,U,!!F,!1)}if(GD){if(B(this,WD,"f"))PD(!0);D=[].concat(D);let g=D.slice(D.indexOf(`--${B(this,ZD,"f").completionKey}`)+1);return B(this,ZD,"f").getCompletion(g,(ED,a)=>{if(ED)throw new DD(ED.message);(a||[]).forEach((ID)=>{B(this,iD,"f").log(ID)}),this.exit(0)}),this[sD](O,!U,!!F,!1)}if(!B(this,OD,"f")){if(A){if(B(this,WD,"f"))PD(!0);Y=!0,this.showHelp((g)=>{B(this,iD,"f").log(g),this.exit(0)})}else if(v){if(B(this,WD,"f"))PD(!0);Y=!0,B(this,b,"f").showVersion("log"),this.exit(0)}}if(!Y&&B(this,K,"f").skipValidation.length>0)Y=Object.keys(O).some((g)=>B(this,K,"f").skipValidation.indexOf(g)>=0&&O[g]===!0);if(!Y){if(X.error)throw new DD(X.error.message);if(!GD){let g=this[fF](Z,{},X.error);if(!F)W=cD(O,this,B(this,UD,"f").getMiddleware(),!0);if(W=this[_0](g,W!==null&&W!==void 0?W:O),l(W)&&!F)W=W.then(()=>{return cD(O,this,B(this,UD,"f").getMiddleware(),!1)})}}}catch(n){if(n instanceof DD)B(this,b,"f").fail(n.message,n);else throw n}return this[sD](W!==null&&W!==void 0?W:O,U,!!F,!0)}[fF](D,u,F,E){let C={...this.getDemandedOptions()};return(f)=>{if(F)throw new DD(F.message);B(this,r,"f").nonOptionCount(f),B(this,r,"f").requiredArguments(f,C);let $=!1;if(B(this,gD,"f"))$=B(this,r,"f").unknownCommands(f);if(B(this,kD,"f")&&!$)B(this,r,"f").unknownArguments(f,D,u,!!E);else if(B(this,lD,"f"))B(this,r,"f").unknownArguments(f,D,{},!1,!1);B(this,r,"f").limitedChoices(f),B(this,r,"f").implications(f),B(this,r,"f").conflicting(f)}}[n0](){H(this,OD,!0,"f")}[rD](D){if(typeof D==="string")B(this,K,"f").key[D]=!0;else for(let u of D)B(this,K,"f").key[u]=!0}}function z0(D){return!!D&&typeof D.getInternalMethods==="function"}var Z8=c0(ku),v0=Z8;import{EOL as HD}from"os";import e0 from"path";import J8 from"fs";var m0=g0("main");l0("main");var RD=du(process.argv),D2=new Set(["--version","-v"]);if(RD.length===1&&D2.has(RD[0]))process.stdout.write(Lu+HD),process.exit();if(RD.length===2&&RD.some((D)=>D2.has(D))&&RD.includes("--verbose")){let D=process.argv[1],u=(()=>{if(!D||D.startsWith("-"))return;if(D.startsWith("/$bunfs/")||/^B:[\\/]~BUN[\\/]/.test(D))return;let E=e0.resolve(D);if(E===process.execPath)return;try{if(!J8.statSync(E).isFile())return}catch{return}return E})(),F=[`version: ${Lu}`,`channel: ${d0}`,`commit: ${o0}`,`binary: ${process.execPath}`,...u?[`bundle: ${u}`]:[]];process.stdout.write(F.join(HD)+HD),process.exit()}var _u={acp:()=>import("./chunk-3j9hedmx.js").then((D)=>D.AcpCommand),mcp:()=>import("./chunk-pxtqqmkc.js").then((D)=>D.McpCommand),attach:()=>import("./chunk-s1cnzvb2.js").then((D)=>D.AttachCommand),run:()=>import("./chunk-emtebxvs.js").then((D)=>D.RunCommand),generate:()=>import("./chunk-dpkynwgm.js").then((D)=>D.GenerateCommand),debug:()=>import("./chunk-d7qscj5p.js").then((D)=>D.DebugCommand),console:()=>import("./chunk-13hz1kvh.js").then((D)=>D.ConsoleCommand),providers:()=>import("./chunk-t22jbw8x.js").then((D)=>D.ProvidersCommand),agent:()=>import("./chunk-3fx5jda0.js").then((D)=>D.AgentCommand),upgrade:()=>import("./chunk-hnb8v476.js").then((D)=>D.UpgradeCommand),uninstall:()=>import("./chunk-scsf8r98.js").then((D)=>D.UninstallCommand),serve:()=>import("./chunk-61zpnwv6.js").then((D)=>D.ServeCommand),models:()=>import("./chunk-jr907144.js").then((D)=>D.ModelsCommand),stats:()=>import("./chunk-ebcv65e3.js").then((D)=>D.StatsCommand),usage:()=>import("./chunk-xvfpzmrf.js").then((D)=>D.UsageCommand),export:()=>import("./chunk-z6dnv8g5.js").then((D)=>D.ExportCommand),import:()=>import("./chunk-qvxvc2c2.js").then((D)=>D.ImportCommand),github:()=>import("./chunk-x7ers083.js").then((D)=>D.GithubCommand),pr:()=>import("./chunk-2abdrqrx.js").then((D)=>D.PrCommand),session:()=>import("./chunk-kb6w3wbd.js").then((D)=>D.SessionCommand),plugin:()=>import("./chunk-x9s04nze.js").then((D)=>D.PluginCommand),plug:()=>import("./chunk-x9s04nze.js").then((D)=>D.PluginCommand),auth:()=>import("./chunk-bkbngcvc.js").then((D)=>D.AuthCommand),qredits:()=>import("./chunk-k2tamnfv.js").then((D)=>D.QreditsCommand),batch:()=>import("./chunk-qc1w4b12.js").then((D)=>D.BatchCommand),db:()=>import("./chunk-1m2e2w1q.js").then((D)=>D.DbCommand),default:()=>import("./chunk-y88xh6w3.js").then((D)=>D.TuiThreadCommand)};function y(D,u,F){return{command:D,describe:u,aliases:F,handler:async()=>{}}}function $F(){return[y("acp","start ACP (Agent Client Protocol) server"),y("mcp","manage MCP (Model Context Protocol) servers"),{command:"$0 [project]",describe:"start qitqode tui",builder:(D)=>D.positional("project",{type:"string",describe:"path to start qitqode in"}).options(s0).options(r0).option("never-ask",{type:"boolean",describe:"start in never-ask mode, auto-decide without asking (permissions excluded)",default:!1}).option("trust",{type:"boolean",describe:"skip workspace trust prompt and trust the directory",default:!1}),handler:async()=>{}},y("attach <url>","attach to a running qitqode server"),y("run [message..]","run qitqode with a message"),y("generate","generate files"),y("debug","debugging and troubleshooting tools"),y("console","manage qitqode accounts"),y("providers","manage AI providers and credentials",["auth"]),y("agent","manage agents"),y("upgrade [target]","upgrade qitqode to the latest or a specific version"),y("uninstall","uninstall qitqode and remove all related files"),y("serve","starts a headless qitqode server"),y("models [provider]","list all available models"),y("stats","show token usage and cost statistics"),y("usage [sessionID]","show per-turn token usage and cost"),y("export [sessionID]","export session data as JSON"),y("import <file>","import session data from JSON file or URL"),y("github","manage GitHub agent"),y("pr <number>","fetch and checkout a GitHub PR branch, then run qitqode"),y("session","manage sessions"),y("plugin <module>","install plugin and update config",["plug"]),y("auth <command>","Sign in or out of Forgewise"),y("qredits <command>","Check Qredits balance and spend history"),y("batch <command>","Submit and poll async batch LLM jobs"),y("db","database tools")]}function zF(D){let u=new Set(["--log-level","--model","-m","--session","-s","--prompt","--agent","--port","--hostname","--mdns-domain","--cors"]);for(let F=0;F<D.length;F++){let E=D[F];if(E==="--")return;if(E.startsWith("-")){if(u.has(E))F++;continue}return E}}function Q8(D){return D.length>0&&D.every((u)=>u==="--help"||u==="-h")}function O8(D){return D.includes("--help")||D.includes("-h")}async function T8(D){let u=zF(D);if(D.includes("--get-yargs-completions")||u==="completion")return $F();if(Q8(D))return $F();else if(u&&u in _u)return[await _u[u]()];else if(O8(D))return $F();else return[await _u.default()]}function u2(D){let u=D.trimStart();if(!u.startsWith("qitqode ")){process.stderr.write(Ku.logo()+HD+HD),process.stderr.write(u);return}process.stderr.write(D)}var Mu=y0(v0(RD)).middleware(async(D)=>{if(D.pure)process.env.QITQODE_PURE="1";let u=await import("./chunk-h602h2gx.js"),{Filesystem:F}=await import("./chunk-yc1jk3rm.js"),{Heap:E}=await import("./chunk-zw0yh3dv.js"),{Global:C}=await import("./chunk-k3epfxmq.js");await u.init({print:process.argv.includes("--print-logs"),dev:hF,level:(()=>{if(D.logLevel)return D.logLevel;if(hF)return"DEBUG";return"INFO"})()}),E.start(),(await import("./chunk-8815p61h.js")).startRefresh(),process.env.AGENT="1",process.env.QITQODE="1",process.env.QITQODE_PID=String(process.pid),u.Default.info("qitqode",{version:Lu,command:zF(RD)??"tui",process_role:m0.processRole,run_id:m0.runID});let $=e0.join(C.Path.data,"qitqode.db");if(!await F.exists($)){let{JsonMigration:G,Database:J}=await import("./chunk-37s5hwtc.js"),{drizzle:Y}=await import("./chunk-qjgm3e2p.js"),U=process.stderr.isTTY;process.stderr.write("Performing one time database migration, may take a few minutes..."+HD);let Q=-1;if(U)process.stderr.write("\x1B[?25l");try{await G.run(Y({client:J.Client().$client}),{progress:(X)=>{let O=Math.floor(X.current/X.total*100);if(O===Q&&X.current!==X.total)return;if(Q=O,U){if(process.stderr.write(a0(O,`${X.label.padEnd(12)} ${X.current}/${X.total}`)),X.current===X.total)process.stderr.write(`
81
+ `)}else process.stderr.write(`sqlite-migration:${O}${HD}`)}})}finally{if(U)process.stderr.write("\x1B[?25h");else process.stderr.write(`sqlite-migration:done${HD}`)}process.stderr.write("Database migration complete."+HD)}if(!process.env.QITQODE_DISABLE_CLAUDE_IMPORT&&!process.env.QITQODE_CLAUDE_IMPORTED){process.env.QITQODE_CLAUDE_IMPORTED="1";let G=async()=>{try{let{ClaudeImport:U}=await import("./chunk-kfsn9c7m.js");await U.run()}catch(U){u.Default.warn("claude-import failed",{e:GF(U)})}},J=zF(RD);if(!J||!(J in _u))G();else await G()}}).usage("").completion("completion","generate shell completion script");for(let D of await T8(RD))Mu.command(D);Mu.fail((D,u)=>{if(D?.startsWith("Unknown argument")||D?.startsWith("Not enough non-option arguments")||D?.startsWith("Invalid values:")){if(u)throw u;Mu.showHelp(u2)}if(u)throw u;process.exit(1)}).strict();try{if(RD.includes("-h")||RD.includes("--help"))await Mu.parse(RD,(D,u,F)=>{if(D)throw D;if(!F)return;u2(F)});else await Mu.parse()}catch(D){let u={};if(D instanceof i0){let C=D.toObject();Object.assign(u,{...C.data})}if(D instanceof Error)Object.assign(u,{name:D.name,message:D.message,cause:D.cause?.toString(),stack:D.stack});if(D instanceof ResolveMessage)Object.assign(u,{name:D.name,message:D.message,code:D.code,specifier:D.specifier,referrer:D.referrer,position:D.position,importKind:D.importKind});let F=await import("./chunk-h602h2gx.js");F.Default.error("fatal",u);let E=k0(D);if(E)Ku.error(E);if(E===void 0)Ku.error("Unexpected error, check log file at "+F.file()+" for more details"+HD),process.stderr.write(GF(D)+HD);process.exitCode=1}finally{process.exit()}
package/bundle/worker.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Xf as H}from"./chunk-zrc54vc4.js";import{ag as x}from"./chunk-nxbkh4k9.js";import"./chunk-baet4zev.js";import"./chunk-exh6cg1r.js";import"./chunk-ew51rwdp.js";import"./chunk-4amgp4yd.js";import"./chunk-nfg7nt13.js";import"./chunk-scnz207s.js";import"./chunk-b2z0kjss.js";import{Xg as V,hh as O}from"./chunk-wrw22v0a.js";import"./chunk-h7yya9pv.js";import"./chunk-p68rwmhc.js";import"./chunk-0a0vat1h.js";import"./chunk-z8v2tsz2.js";import"./chunk-j8efst22.js";import"./chunk-a1pw9r6f.js";import"./chunk-d5bxan80.js";import{Dl as Z,Xj as Y}from"./chunk-gsvdt4kq.js";import{Fl as N}from"./chunk-b7mg883n.js";import{Ql as C,lm as q}from"./chunk-90zd5rss.js";import"./chunk-17psxhve.js";import"./chunk-nj4d554m.js";import"./chunk-m2x9xhha.js";import"./chunk-2wcv3sq5.js";import"./chunk-a1p2f16h.js";import"./chunk-nt4e3em9.js";import"./chunk-ak5ngp50.js";import"./chunk-v965rsr8.js";import"./chunk-1sgby720.js";import"./chunk-jg7s9rqz.js";import"./chunk-4tbwha3m.js";import"./chunk-m612agnk.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import"./chunk-zyhdxggp.js";import"./chunk-q6ztpfcs.js";import"./chunk-jm1ptn8n.js";import"./chunk-c5e6sk9c.js";import"./chunk-m02zt1a3.js";import"./chunk-vg2fmyje.js";import"./chunk-c0796v8j.js";import"./chunk-njnwdgvd.js";import"./chunk-4qqkqrn9.js";import"./chunk-j6emx6jn.js";import"./chunk-be216spx.js";import{pt as k}from"./chunk-9t84mh6t.js";import"./chunk-12bssxd4.js";import"./chunk-k9b1jcqw.js";import{Yt as j,iu as z,pu as T,tt as X,wt as G,yu as W}from"./chunk-zxaaxb99.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-xpc2zgj7.js";import"./chunk-qjjch1zt.js";import"./chunk-aztre27e.js";var $=W.create({service:"upgrade"});function L(D,E){if(D===!1)return"disabled";if(D===!0&&E==="patch")return"install";return"notify"}async function M(){if(G)return;let D=await O.runPromise(Z.Service.use((J)=>J.getGlobal())),E=await O.runPromise(N.Service.use((J)=>J.method())),K=await O.runPromise(N.Service.use((J)=>J.latest(E))).catch((J)=>{$.warn("failed to check for updates",{method:E,error:String(J)})});if(!K)return;if(!N.isNewerVersion(X,K)){$.warn("ignoring non-newer update version",{current:X,latest:K});return}if(T.QITQODE_ALWAYS_NOTIFY_UPDATE){await Y.publish(N.Event.UpdateAvailable,{version:K});return}if(T.QITQODE_DISABLE_AUTOUPDATE)return;let _=N.getReleaseType(X,K),Q=L(D.autoupdate,_);if(Q==="disabled")return;if(Q==="notify"){await Y.publish(N.Event.UpdateAvailable,{version:K});return}if(E==="unknown")return;await O.runPromise(N.Service.use((J)=>J.upgrade(E,K))).then(()=>Y.publish(N.Event.Updated,{version:K})).catch((J)=>{$.warn("auto-upgrade failed",{method:E,target:K,error:String(J)})})}import{writeHeapSnapshot as P}from"v8";j("worker");await W.init({print:process.argv.includes("--print-logs"),dev:N.isLocal(),level:(()=>{if(N.isLocal())return"DEBUG";return"INFO"})()});H.start();k("worker");C.on("event",(D)=>{z.emit("global.event",D)});var U,S={async fetch(D){let E={...D.headers},K=w();if(K&&!E.authorization&&!E.Authorization)E.Authorization=K;let _=new Request(D.url,{method:D.method,headers:E,body:D.body}),Q=await x.Default().app.fetch(_),J=await Q.text();return{status:Q.status,headers:Object.fromEntries(Q.headers.entries()),body:J}},snapshot(){return P("server.heapsnapshot")},async server(D){if(U)await U.stop(!0);return U=await x.listen(D),{url:U.url.toString()}},async checkUpgrade(D){await q.provide({directory:D.directory,init:()=>O.runPromise(V),fn:async()=>{await M().catch(()=>{})}})},async reload(){await O.runPromise(Z.Service.use((D)=>D.invalidate(!0)))},async shutdown(){if(W.Default.info("worker shutting down"),await q.disposeAll(),U)await U.stop(!0)}};z.listen(S);function w(){let D=T.QITQODE_SERVER_PASSWORD;if(!D)return;let E=T.QITQODE_SERVER_USERNAME??"qitqode";return`Basic ${btoa(`${E}:${D}`)}`}export{S as rpc};
2
+ import{Xf as H}from"./chunk-4yawrap2.js";import{ag as x}from"./chunk-288hw03f.js";import"./chunk-df6a167w.js";import"./chunk-04h4afhf.js";import"./chunk-my7mn79h.js";import"./chunk-4amgp4yd.js";import"./chunk-nfg7nt13.js";import"./chunk-scnz207s.js";import"./chunk-anjg3mwn.js";import{Xg as V,hh as O}from"./chunk-612f97vv.js";import"./chunk-0nj8axbw.js";import"./chunk-p68rwmhc.js";import"./chunk-0a0vat1h.js";import"./chunk-z8v2tsz2.js";import"./chunk-j8efst22.js";import"./chunk-a1pw9r6f.js";import"./chunk-d5bxan80.js";import{Dl as Z,Xj as Y}from"./chunk-8tc8x27z.js";import{Fl as N}from"./chunk-k7g3h9tn.js";import{Ql as C,lm as q}from"./chunk-rmr38x2f.js";import"./chunk-5syxjhg3.js";import"./chunk-nj4d554m.js";import"./chunk-1t6bvbgy.js";import"./chunk-cmbxrgyx.js";import"./chunk-a1p2f16h.js";import"./chunk-nt4e3em9.js";import"./chunk-hk698g9e.js";import"./chunk-v965rsr8.js";import"./chunk-1sgby720.js";import"./chunk-5g8108nf.js";import"./chunk-4tbwha3m.js";import"./chunk-m612agnk.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import"./chunk-zyhdxggp.js";import"./chunk-q6ztpfcs.js";import"./chunk-jm1ptn8n.js";import"./chunk-c5e6sk9c.js";import"./chunk-m02zt1a3.js";import"./chunk-vg2fmyje.js";import"./chunk-fzna6jdj.js";import"./chunk-x1rx6fm7.js";import"./chunk-4qqkqrn9.js";import"./chunk-j6emx6jn.js";import"./chunk-be216spx.js";import{pt as k}from"./chunk-t2tgz0rc.js";import"./chunk-12bssxd4.js";import"./chunk-24xc0dvv.js";import{Yt as j,iu as z,pu as T,tt as X,wt as G,yu as W}from"./chunk-ebrt1me3.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-xpc2zgj7.js";import"./chunk-qjjch1zt.js";import"./chunk-aztre27e.js";var $=W.create({service:"upgrade"});function L(D,E){if(D===!1)return"disabled";if(D===!0&&E==="patch")return"install";return"notify"}async function M(){if(G)return;let D=await O.runPromise(Z.Service.use((J)=>J.getGlobal())),E=await O.runPromise(N.Service.use((J)=>J.method())),K=await O.runPromise(N.Service.use((J)=>J.latest(E))).catch((J)=>{$.warn("failed to check for updates",{method:E,error:String(J)})});if(!K)return;if(!N.isNewerVersion(X,K)){$.warn("ignoring non-newer update version",{current:X,latest:K});return}if(T.QITQODE_ALWAYS_NOTIFY_UPDATE){await Y.publish(N.Event.UpdateAvailable,{version:K});return}if(T.QITQODE_DISABLE_AUTOUPDATE)return;let _=N.getReleaseType(X,K),Q=L(D.autoupdate,_);if(Q==="disabled")return;if(Q==="notify"){await Y.publish(N.Event.UpdateAvailable,{version:K});return}if(E==="unknown")return;await O.runPromise(N.Service.use((J)=>J.upgrade(E,K))).then(()=>Y.publish(N.Event.Updated,{version:K})).catch((J)=>{$.warn("auto-upgrade failed",{method:E,target:K,error:String(J)})})}import{writeHeapSnapshot as P}from"v8";j("worker");await W.init({print:process.argv.includes("--print-logs"),dev:N.isLocal(),level:(()=>{if(N.isLocal())return"DEBUG";return"INFO"})()});H.start();k("worker");C.on("event",(D)=>{z.emit("global.event",D)});var U,S={async fetch(D){let E={...D.headers},K=w();if(K&&!E.authorization&&!E.Authorization)E.Authorization=K;let _=new Request(D.url,{method:D.method,headers:E,body:D.body}),Q=await x.Default().app.fetch(_),J=await Q.text();return{status:Q.status,headers:Object.fromEntries(Q.headers.entries()),body:J}},snapshot(){return P("server.heapsnapshot")},async server(D){if(U)await U.stop(!0);return U=await x.listen(D),{url:U.url.toString()}},async checkUpgrade(D){await q.provide({directory:D.directory,init:()=>O.runPromise(V),fn:async()=>{await M().catch(()=>{})}})},async reload(){await O.runPromise(Z.Service.use((D)=>D.invalidate(!0)))},async shutdown(){if(W.Default.info("worker shutting down"),await q.disposeAll(),U)await U.stop(!0)}};z.listen(S);function w(){let D=T.QITQODE_SERVER_PASSWORD;if(!D)return;let E=T.QITQODE_SERVER_USERNAME??"qitqode";return`Basic ${btoa(`${E}:${D}`)}`}export{S as rpc};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qitqode/qitqode-android-arm64",
3
- "version": "0.1.27",
3
+ "version": "0.1.28",
4
4
  "description": "Android arm64 runtime for @qitqode/cli.",
5
5
  "license": "MIT",
6
6
  "author": "QitQode",
@@ -1,9 +0,0 @@
1
- // @bun
2
- import{bi as P}from"./chunk-p68rwmhc.js";import{Jp as o,Tp as k,Xp as u}from"./chunk-ak5ngp50.js";import{pu as t,yu as L}from"./chunk-zxaaxb99.js";import{PI as j}from"./chunk-snm5q21k.js";class Q extends Error{cause;constructor(J,Z){super(J);this.name="ForgewiseError",this.cause=Z}}class K extends Q{constructor(J="Device flow is not supported by this issuer."){super(J);this.name="DeviceFlowUnsupportedError"}}var e=L.create({service:"forgewise.config"}),J1="https://app.forgewise.tech",Z1="forgewise-cli",b=!1,$1={defaultFallbacks:0};function D(...J){return J.find((Z)=>Z!==void 0&&Z.trim().length>0)}function X1(){return!!process.env.REPLIT_DEV_DOMAIN}async function H(){let J=process.env.ACCOUNTS_ISSUER,Z=process.env.FORGEWISE_CLIENT_ID;if(J&&Z)return{issuer:J.replace(/\/+$/,""),clientId:Z};let $,X;try{$=await k()}catch(N){$=void 0,X=N}let Y=D(J,$?.issuer,J1).replace(/\/+$/,""),V=D(Z,$?.clientId,Z1),x=D(J,$?.issuer)===void 0,G=D(Z,$?.clientId)===void 0;if((x||G)&&!b)b=!0,$1.defaultFallbacks++,e.warn("remote Forgewise coordinate lookup unavailable; falling back to baked-in defaults",{issuer:Y,clientId:V,usedDefaultIssuer:x,usedDefaultClientId:G,remoteError:X instanceof Error?X.message:X?String(X):void 0});return{issuer:Y,clientId:V}}function C(J,Z,$){if(J>=200&&J<300)return{kind:"success"};let X=Z?.error??"";if(X==="authorization_pending")return{kind:"wait",intervalMs:$};if(X==="slow_down")return{kind:"wait",intervalMs:$+5000};if(X==="access_denied")return{kind:"fatal",message:"Sign-in was denied in the browser."};if(X==="expired_token")return{kind:"fatal",message:"The sign-in code expired before it was approved. Try again."};return{kind:"fatal",message:`Device sign-in failed: ${Z?.error_description||X||`HTTP ${J}`}`}}import v from"http";var g="/callback",E=[51737,51738],_=new Set;function h(J){return J.replace(/[&<>\"']/g,(Z)=>{switch(Z){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";default:return"&#39;"}})}function R(J){return`http://127.0.0.1:${J}${g}`}async function V1(J){return new Promise((Z,$)=>{let X=v.createServer();X.listen(J,"127.0.0.1",()=>{X.close(()=>Z(J))}),X.on("error",$)})}async function d(){for(let J of E){if(_.has(J))continue;_.add(J);try{return await V1(J)}catch{_.delete(J)}}throw new Q(`Could not bind to any loopback port (tried ${E.join(", ")}). Free one of those ports and retry.`)}function m(J,Z,$,X){return new Promise((Y,V)=>{let x=()=>_.delete(J),G=v.createServer((q,W)=>{try{let z=new URL(q.url??"/",`http://localhost:${J}`);if(z.pathname!==g){W.writeHead(404),W.end();return}let B=z.searchParams.get("code"),M=z.searchParams.get("state"),O=z.searchParams.get("error"),U=z.searchParams.get("error_description");if(O){let r=`${h(O)}${U?": "+h(U):""}`;W.writeHead(200,{"Content-Type":"text/html"}),W.end(`<html><body style="font-family:sans-serif;padding:2rem"><h2>Authorization failed</h2><p>${r}</p><p>You can close this tab.</p></body></html>`),G.close(),V(new Q(`Authorization error: ${O}${U?" \u2014 "+U:""}`));return}if(!B||M!==Z){W.writeHead(400),W.end("Invalid request");return}W.writeHead(200,{"Content-Type":"text/html"}),W.end('<html><body style="font-family:sans-serif;padding:2rem"><h2>Signed in! You can close this tab.</h2><p>Return to your terminal to continue.</p></body></html>'),G.close(),Y({code:B})}catch(z){G.close(),V(z)}});if($?.aborted){x(),V(new Q("Login cancelled"));return}let N=()=>{x(),G.close(()=>V(new Q("Login cancelled")))};if($?.addEventListener("abort",N,{once:!0}),$?.aborted){N();return}G.listen(J,"127.0.0.1",()=>{x(),X?.()}),G.on("error",(q)=>{x(),V(q)})})}function p(J,Z){return new Promise(($,X)=>{if(Z?.aborted){X(new Q("Login cancelled"));return}let Y,V=()=>{clearTimeout(Y),Z?.removeEventListener("abort",V),X(new Q("Login cancelled"))};if(Y=setTimeout(()=>{Z?.removeEventListener("abort",V),$()},J),Z?.addEventListener("abort",V,{once:!0}),Z?.aborted)V()})}function T(J,Z=300000){if(!J)return!1;return Date.now()>=J-Z}async function Y1(J){let{issuer:Z}=await H();return u({issuer:Z,...J.accessToken?{accessToken:J.accessToken}:{}})}import F from"crypto";var c="openid profile email",w=(J)=>J.toString("base64url");function i(){let J=w(F.randomBytes(32)),Z=w(F.createHash("sha256").update(J).digest()),$=w(F.randomBytes(16));return{verifier:J,challenge:Z,state:$}}function l(J){let Z=new URL(`${J.issuer}/api/oauth/authorize`);return Z.searchParams.set("response_type","code"),Z.searchParams.set("client_id",J.clientId),Z.searchParams.set("redirect_uri",J.redirectUri),Z.searchParams.set("scope",c),Z.searchParams.set("state",J.state),Z.searchParams.set("code_challenge",J.challenge),Z.searchParams.set("code_challenge_method","S256"),Z.toString()}async function A(J,Z){let $=await fetch(`${J}/api/oauth/userinfo`,{headers:{Authorization:`Bearer ${Z.access_token}`}});if(!$.ok)throw new Q(`Failed to fetch user profile (${$.status})`);let X=await $.json();if(!X.sub)throw new Q("Userinfo response is missing required 'sub' field \u2014 the server returned an invalid user profile.");return{sub:X.sub,name:X.name??"",email:X.email??"",access_token:Z.access_token,expires_at:Date.now()+(Z.expires_in??3600)*1000,...Z.refresh_token?{refresh_token:Z.refresh_token}:{}}}async function y(J){let Z=await fetch(`${J.issuer}/api/oauth/token`,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"authorization_code",code:J.code,redirect_uri:J.redirectUri,client_id:J.clientId,code_verifier:J.verifier}).toString(),signal:J.signal??null});if(!Z.ok){let X=await Z.text().catch(()=>"");throw new Q(`Token exchange failed (${Z.status}): ${X}`)}let $=await Z.json();return A(J.issuer,$)}async function x1(J,Z,$=5000){let X=new AbortController,Y=setTimeout(()=>X.abort(),$);try{let V=await fetch(`${J}/api/oauth/userinfo`,{headers:{Authorization:`Bearer ${Z}`},signal:X.signal});if(V.status===401||V.status===403)return!1;if(!V.ok)return null;return!0}catch{return null}finally{clearTimeout(Y)}}async function f(J){let{issuer:Z,clientId:$}=await H(),X;try{X=await fetch(`${Z}/api/oauth/token`,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",client_id:$,refresh_token:J}).toString()})}catch(V){throw new Q(`Could not reach the sign-in server to refresh the session: ${V instanceof Error?V.message:String(V)}`,V)}if(!X.ok){let V=await X.json().catch(()=>{return});if(V?.error==="invalid_grant")return"invalid_grant";throw new Q(`Token refresh failed (${X.status}): ${V?.error??""}`)}let Y=await X.json();return A(Z,Y)}async function a(J){let Z;try{Z=await fetch(`${J.issuer}/api/oauth/device_authorization`,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:J.clientId,scope:c}).toString(),signal:J.signal??null})}catch{if(J.signal?.aborted)throw new Q("Login cancelled");throw new K}if(Z.status===404||Z.status===405||Z.status===501)throw new K;if(!Z.ok){let X=await Z.text().catch(()=>"");throw new Q(`Device authorization failed (${Z.status}): ${X}`)}let $;try{$=await Z.json()}catch{throw new K}if(!$.device_code||!$.user_code||!$.verification_uri)throw new K;return{deviceCode:$.device_code,info:{userCode:$.user_code,verificationUri:$.verification_uri,verificationUriComplete:$.verification_uri_complete,expiresAt:Date.now()+($.expires_in??900)*1000},intervalMs:Math.max(1,$.interval??5)*1000}}async function n(J){let Z;try{Z=await fetch(`${J.issuer}/api/oauth/token`,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:J.deviceCode,client_id:J.clientId}).toString(),signal:J.signal??null})}catch{if(J.signal?.aborted)throw new Q("Login cancelled");return{kind:"wait",intervalMs:J.currentIntervalMs}}let $;try{$=await Z.json()}catch{$=void 0}let X=C(Z.status,$,J.currentIntervalMs);if(X.kind==="success"){if(!$?.access_token)throw new Q("Token endpoint returned success without an access_token.");return{kind:"success",profile:await A(J.issuer,{access_token:$.access_token,expires_in:$.expires_in})}}if(X.kind==="fatal")throw new Q(X.message);return{kind:"wait",intervalMs:X.intervalMs}}var I="forgewise",G1=()=>j.gen(function*(){let J=yield*o.Service,Z=yield*J.get(I);if(!Z||Z.type!=="api")return;let $=Z.metadata??{},X=$.access_token;if(!X)return;let Y=Number($.access_token_expires_at??0);if(!T(Y))return X;let V=$.refresh_token;if(!V)return;let x=yield*j.promise(()=>f(V).catch(()=>null));if(!x||x==="invalid_grant")return;let G=yield*J.get(I);if(!G||G.type!=="api"||G.key!==Z.key)return x.access_token;let N={...G,metadata:{...G.metadata??{},access_token:x.access_token,access_token_expires_at:String(x.expires_at),...x.refresh_token?{refresh_token:x.refresh_token}:{}}};return yield*j.orElseSucceed(J.set(I,N),()=>{return}),x.access_token}),Q1=(J)=>j.gen(function*(){if(J.method==="sso")return{key:J.key,method:"sso",accessToken:J.key};let Z=yield*G1();return{key:J.key,method:"api-key",accessToken:Z}});var W1=300000;async function s(){let{issuer:J,clientId:Z}=await H(),{verifier:$,challenge:X,state:Y}=i(),V=await d(),x=R(V),G=l({issuer:J,clientId:Z,redirectUri:x,challenge:X,state:Y});return{issuer:J,clientId:Z,verifier:$,port:V,redirectUri:x,authorizeStr:G,state:Y}}async function z1(J){let{issuer:Z,clientId:$}=await H(),{deviceCode:X,info:Y,intervalMs:V}=await a({issuer:Z,clientId:$,signal:J.signal});if(J.onCode(Y),J.tryOpen){let G=Y.verificationUriComplete??Y.verificationUri;P(G)}let x=V;while(Date.now()<Y.expiresAt){await p(x,J.signal);let G=await n({issuer:Z,clientId:$,deviceCode:X,currentIntervalMs:x,signal:J.signal});if(G.kind==="success")return G.profile;x=G.intervalMs}throw new Q("The sign-in code expired before it was approved. Try again.")}async function N1(){let{issuer:J,clientId:Z,verifier:$,port:X,redirectUri:Y,authorizeStr:V,state:x}=await s();process.stdout.write(`
3
- `),process.stdout.write(` Opening Forgewise sign-in in your browser...
4
- `),process.stdout.write(" Sign-in URL: "+V+`
5
- `),process.stdout.write(`
6
- `),process.stdout.write(` Waiting for the browser to complete sign-in... (ctrl+c to cancel)
7
- `);let{code:G}=await m(X,x,void 0,()=>{P(V)});return process.stdout.write(`
8
- Exchanging authorization code...
9
- `),y({issuer:J,clientId:Z,code:G,redirectUri:Y,verifier:$})}async function q1(J={}){if(J.signal?.aborted)throw new Q("Login cancelled");let{issuer:Z,clientId:$,verifier:X,port:Y,redirectUri:V,authorizeStr:x,state:G}=await s(),N=()=>{if(J.onUrl?.(x),J.tryOpen!==!1)P(x)},q=new AbortController,W=()=>q.abort();J.signal?.addEventListener("abort",W,{once:!0});let z=!1,B=setTimeout(()=>{z=!0,q.abort()},W1);try{let{code:M}=await m(Y,G,q.signal,N);return await y({issuer:Z,clientId:$,code:M,redirectUri:V,verifier:X,signal:q.signal})}catch(M){if(z)throw new Q("Sign-in timed out. Run login again to retry.");throw M}finally{clearTimeout(B),J.signal?.removeEventListener("abort",W)}}var S=L.create({service:"auth.forgewise.checkout"}),K1="qitqode",H1=5000;async function M1(J){let $=`${new URL(t.QITQODE_BACKEND_URL).origin}/auth/keys/checkout`;try{let X=await fetch($,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${J}`},body:JSON.stringify({app:K1}),signal:AbortSignal.timeout(H1)});if(!X.ok)return S.warn("API key checkout returned non-200; falling back to Bearer credential",{status:X.status,url:$}),null;let Y=await X.json();if(typeof Y?.key!=="string"||!Y.key)return S.warn("API key checkout response missing key field; falling back to Bearer credential",{url:$}),null;return S.info("API key checkout succeeded; credential upgraded to api-key method",{url:$}),Y.key}catch(X){return S.warn("API key checkout failed; falling back to Bearer credential",{url:$,error:X instanceof Error?X.message:String(X)}),null}}export{Q as sg,K as tg,X1 as ug,H as vg,C as wg,R as xg,T as yg,Y1 as zg,x1 as Ag,f as Bg,Q1 as Cg,z1 as Dg,N1 as Eg,q1 as Fg,M1 as Gg};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{$f as d,Yf as a,Zf as b,_f as c,ag as e}from"./chunk-nxbkh4k9.js";import"./chunk-baet4zev.js";import"./chunk-exh6cg1r.js";import"./chunk-ew51rwdp.js";import"./chunk-4amgp4yd.js";import"./chunk-nfg7nt13.js";import"./chunk-scnz207s.js";import"./chunk-b2z0kjss.js";import"./chunk-wrw22v0a.js";import"./chunk-h7yya9pv.js";import"./chunk-p68rwmhc.js";import"./chunk-0a0vat1h.js";import"./chunk-z8v2tsz2.js";import"./chunk-j8efst22.js";import"./chunk-a1pw9r6f.js";import"./chunk-d5bxan80.js";import"./chunk-gsvdt4kq.js";import"./chunk-b7mg883n.js";import"./chunk-90zd5rss.js";import"./chunk-17psxhve.js";import"./chunk-nj4d554m.js";import"./chunk-m2x9xhha.js";import"./chunk-2wcv3sq5.js";import"./chunk-a1p2f16h.js";import"./chunk-nt4e3em9.js";import"./chunk-ak5ngp50.js";import"./chunk-v965rsr8.js";import"./chunk-1sgby720.js";import"./chunk-jg7s9rqz.js";import"./chunk-4tbwha3m.js";import"./chunk-m612agnk.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import"./chunk-zyhdxggp.js";import"./chunk-q6ztpfcs.js";import"./chunk-jm1ptn8n.js";import"./chunk-c5e6sk9c.js";import"./chunk-m02zt1a3.js";import"./chunk-vg2fmyje.js";import"./chunk-c0796v8j.js";import"./chunk-njnwdgvd.js";import"./chunk-4qqkqrn9.js";import"./chunk-j6emx6jn.js";import"./chunk-be216spx.js";import"./chunk-12bssxd4.js";import"./chunk-k9b1jcqw.js";import"./chunk-zxaaxb99.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-xpc2zgj7.js";import"./chunk-qjjch1zt.js";import"./chunk-aztre27e.js";export{c as url,b as openapi,d as listen,e as Server,a as Default};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{n as a,o as b}from"./chunk-47b084yv.js";import"./chunk-0x3sbyny.js";import"./chunk-ksyh6h3a.js";import"./chunk-c8k32724.js";import"./chunk-0eqwm9a8.js";import"./chunk-s6bar2f9.js";import"./chunk-yt3f3j35.js";import"./chunk-vkskqhag.js";import"./chunk-d6r4xwtg.js";import"./chunk-j94bdaav.js";import"./chunk-xrxyrr00.js";import"./chunk-kdcnder5.js";import"./chunk-27yxgy03.js";import"./chunk-ngchsw2g.js";import"./chunk-2vepzgek.js";import"./chunk-463f9wre.js";import"./chunk-7ppd2phw.js";import"./chunk-exh6cg1r.js";import"./chunk-ew51rwdp.js";import"./chunk-h7yya9pv.js";import"./chunk-p68rwmhc.js";import"./chunk-gsvdt4kq.js";import"./chunk-b7mg883n.js";import"./chunk-90zd5rss.js";import"./chunk-17psxhve.js";import"./chunk-nj4d554m.js";import"./chunk-m2x9xhha.js";import"./chunk-2wcv3sq5.js";import"./chunk-a1p2f16h.js";import"./chunk-nt4e3em9.js";import"./chunk-ak5ngp50.js";import"./chunk-v965rsr8.js";import"./chunk-1sgby720.js";import"./chunk-jg7s9rqz.js";import"./chunk-4tbwha3m.js";import"./chunk-m612agnk.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import"./chunk-zyhdxggp.js";import"./chunk-q6ztpfcs.js";import"./chunk-jm1ptn8n.js";import"./chunk-c5e6sk9c.js";import"./chunk-m02zt1a3.js";import"./chunk-vg2fmyje.js";import"./chunk-c0796v8j.js";import"./chunk-njnwdgvd.js";import"./chunk-4qqkqrn9.js";import"./chunk-j6emx6jn.js";import"./chunk-be216spx.js";import"./chunk-12bssxd4.js";import"./chunk-k9b1jcqw.js";import"./chunk-zxaaxb99.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-xpc2zgj7.js";import"./chunk-qjjch1zt.js";import"./chunk-aztre27e.js";export{b as tui,a as rendererConfig};