@qitqode/qitqode-android-arm64 0.1.31 → 0.1.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/{chunk-c14s0kxq.js → chunk-02jtpxe0.js} +1 -1
- package/bundle/{chunk-6t1ehq36.js → chunk-096pd6c4.js} +1 -1
- package/bundle/{chunk-jcjbr3q7.js → chunk-0c2p3a6v.js} +1 -1
- package/bundle/{chunk-53w4zqps.js → chunk-0c5rxty9.js} +1 -1
- package/bundle/{chunk-9mjz6e27.js → chunk-0e86gt9r.js} +1 -1
- package/bundle/{chunk-6bpe215q.js → chunk-15j5cn4t.js} +1 -1
- package/bundle/{chunk-0w0ctb90.js → chunk-1r95p0tp.js} +1 -1
- package/bundle/{chunk-mh0j6dzy.js → chunk-20702epe.js} +1 -1
- package/bundle/{chunk-04n2ycg5.js → chunk-257me4z3.js} +4 -4
- package/bundle/{chunk-83gqkmth.js → chunk-2phz0bn9.js} +1 -1
- package/bundle/{chunk-1fswr17z.js → chunk-2wajs9xv.js} +1 -1
- package/bundle/{chunk-3ytjm3az.js → chunk-3nx7112w.js} +1 -1
- package/bundle/{chunk-drvkj3xg.js → chunk-3wetyrjs.js} +1 -1
- package/bundle/{chunk-20f83ca0.js → chunk-4sc82a27.js} +1 -1
- package/bundle/{chunk-4gkk28xk.js → chunk-56z7x7h4.js} +1 -1
- package/bundle/{chunk-hnctaq8s.js → chunk-59yqvk48.js} +1 -1
- package/bundle/{chunk-0yt5njh7.js → chunk-5jx0yadh.js} +2 -2
- package/bundle/{chunk-6bphjajd.js → chunk-5pb551dx.js} +1 -1
- package/bundle/{chunk-anwnwfjf.js → chunk-634pnryq.js} +1 -1
- package/bundle/{chunk-cnmq5xtq.js → chunk-6aqyhfag.js} +2 -2
- package/bundle/{chunk-gcw4rn10.js → chunk-764fksh3.js} +1 -1
- package/bundle/{chunk-cmbh77cs.js → chunk-7tr9ejyk.js} +1 -1
- package/bundle/{chunk-ssajqv72.js → chunk-7z777y9k.js} +1 -1
- package/bundle/{chunk-qvnb3j71.js → chunk-85wcc1tp.js} +1 -1
- package/bundle/{chunk-csz0dgyp.js → chunk-89w3yhf8.js} +1 -1
- package/bundle/chunk-8dwq41q1.js +28 -0
- package/bundle/{chunk-11x3t2tt.js → chunk-8r6ht39z.js} +1 -1
- package/bundle/{chunk-d68fzyw7.js → chunk-9gazyynx.js} +1 -1
- package/bundle/{chunk-ehhas0ew.js → chunk-ad72gb5f.js} +1 -1
- package/bundle/{chunk-gbrnn2dk.js → chunk-avf8v3hb.js} +1 -1
- package/bundle/{chunk-fq0x3esz.js → chunk-caj1b9y7.js} +2 -2
- package/bundle/chunk-d0damw6y.js +2 -0
- package/bundle/{chunk-qbc36nbb.js → chunk-d3ermm6d.js} +1 -1
- package/bundle/{chunk-c1bdzxbx.js → chunk-d9hbhkbq.js} +1 -1
- package/bundle/{chunk-bgw4fvg2.js → chunk-e5mv5wnt.js} +1 -1
- package/bundle/{chunk-31mnd3ph.js → chunk-ew9pdrp9.js} +1 -1
- package/bundle/{chunk-redjxn13.js → chunk-ezfy0b6q.js} +1 -1
- package/bundle/{chunk-takew94z.js → chunk-gz8sz7z1.js} +1 -1
- package/bundle/{chunk-abd1cfpg.js → chunk-h6f3kbz2.js} +1 -1
- package/bundle/{chunk-r4ndwym0.js → chunk-hnvn2c25.js} +1 -1
- package/bundle/{chunk-pxvk3syj.js → chunk-jdynx7m6.js} +1 -1
- package/bundle/{chunk-ez8vkgfz.js → chunk-k1txw65h.js} +1 -1
- package/bundle/{chunk-mxzceza9.js → chunk-k5atbdbm.js} +1 -1
- package/bundle/{chunk-4d87mhwn.js → chunk-k75jqg60.js} +1 -1
- package/bundle/{chunk-pctt1qv8.js → chunk-k7aenxan.js} +1 -1
- package/bundle/{chunk-s9ntkjz3.js → chunk-m2q317gh.js} +1 -1
- package/bundle/{chunk-1f7ajq8s.js → chunk-mahgmbt9.js} +1 -1
- package/bundle/{chunk-68yw2hk9.js → chunk-mqd1jsg2.js} +1 -1
- package/bundle/{chunk-8ymffyep.js → chunk-nkkch4h7.js} +1 -1
- package/bundle/{chunk-z6pwkwdr.js → chunk-pje60pj2.js} +1 -1
- package/bundle/{chunk-c1vnp55z.js → chunk-pv67gwce.js} +1 -1
- package/bundle/{chunk-50sv6y2e.js → chunk-q7vasbxn.js} +1 -1
- package/bundle/chunk-qadw6j20.js +2 -0
- package/bundle/{chunk-n0dy98h2.js → chunk-qggcszs2.js} +1 -1
- package/bundle/{chunk-873skv7w.js → chunk-r7sqdfad.js} +1 -1
- package/bundle/{chunk-50tb3g5x.js → chunk-r8m7rtfc.js} +1 -1
- package/bundle/{chunk-7pfj4x1a.js → chunk-rkyf0cp8.js} +1 -1
- package/bundle/{chunk-f8eter69.js → chunk-rza530gm.js} +1 -1
- package/bundle/{chunk-mcg24gkb.js → chunk-s3mnrhbx.js} +1 -1
- package/bundle/{chunk-f2btnww9.js → chunk-s6ktx2sx.js} +1 -1
- package/bundle/{chunk-eh7e49k4.js → chunk-w7vh8cxt.js} +1 -1
- package/bundle/{chunk-pf9g671w.js → chunk-w8saweey.js} +1 -1
- package/bundle/{chunk-r78czx4d.js → chunk-we9cv8we.js} +1 -1
- package/bundle/{chunk-3h9rq2wq.js → chunk-wezarrvy.js} +1 -1
- package/bundle/{chunk-g9cjsfvg.js → chunk-whe7h2mj.js} +1 -1
- package/bundle/{chunk-phv9kdq6.js → chunk-wmqsdt2c.js} +1 -1
- package/bundle/{chunk-fjq3a347.js → chunk-wqj0xasg.js} +1 -1
- package/bundle/{chunk-vb286b31.js → chunk-wr42tphe.js} +1 -1
- package/bundle/{chunk-fyqjm5fv.js → chunk-x25zkrz7.js} +1 -1
- package/bundle/{chunk-m5m448mg.js → chunk-xj765svc.js} +1 -1
- package/bundle/{chunk-d65qs4d0.js → chunk-xrs18kzn.js} +1 -1
- package/bundle/{chunk-5v0xjs3x.js → chunk-y6123zvq.js} +1 -1
- package/bundle/{chunk-fxdtq2ed.js → chunk-y7sy3w6z.js} +1 -1
- package/bundle/{chunk-44a82dg0.js → chunk-ygs5pzk7.js} +2 -2
- package/bundle/{chunk-jxswwvr3.js → chunk-za7mwbye.js} +1 -1
- package/bundle/{chunk-vbeb74ny.js → chunk-zaks8cae.js} +1 -1
- package/bundle/{chunk-9x5232dw.js → chunk-zcsgqk9f.js} +1 -1
- package/bundle/{chunk-5eq1fft9.js → chunk-zqqx96jx.js} +1 -1
- package/bundle/index.js +3 -3
- package/bundle/worker.js +1 -1
- package/package.json +1 -1
- package/bundle/chunk-excnptfy.js +0 -2
- package/bundle/chunk-nsk8dkwp.js +0 -28
- package/bundle/chunk-ppjnqexm.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Ed as j}from"./chunk-
|
|
2
|
+
import{Ed as j}from"./chunk-x25zkrz7.js";import{Rd as Q}from"./chunk-yajd975f.js";import{Vf as M}from"./chunk-rbk8seme.js";import{og as N}from"./chunk-8r6ht39z.js";import{gh as $}from"./chunk-caj1b9y7.js";import"./chunk-ygs5pzk7.js";import"./chunk-vxyy2dp3.js";import"./chunk-yp5bypsp.js";import"./chunk-7hm0c2yg.js";import"./chunk-gj0wt0cy.js";import"./chunk-5hw6xa49.js";import"./chunk-326p5b10.js";import{Cl as X,kk as J}from"./chunk-257me4z3.js";import"./chunk-nkkch4h7.js";import"./chunk-s3mnrhbx.js";import"./chunk-ezfy0b6q.js";import"./chunk-bn0h9dny.js";import"./chunk-hnvn2c25.js";import"./chunk-3nx7112w.js";import"./chunk-htz93dsd.js";import"./chunk-vcw00k0n.js";import"./chunk-we9cv8we.js";import"./chunk-2hc5z7b5.js";import{Do as _}from"./chunk-9gazyynx.js";import"./chunk-4jtxtkj7.js";import"./chunk-ay8emwym.js";import"./chunk-2maqde7w.js";import"./chunk-kj20f048.js";import"./chunk-cqtkxwd8.js";import"./chunk-x9rbv6p6.js";import"./chunk-g5rabwre.js";import"./chunk-jbx3s7nw.js";import"./chunk-15hw2z9t.js";import"./chunk-48ge2ryx.js";import"./chunk-n9xns8by.js";import"./chunk-y9q0hb7b.js";import"./chunk-d9hbhkbq.js";import"./chunk-ad72gb5f.js";import"./chunk-d6ry9418.js";import"./chunk-0dt0bxz6.js";import"./chunk-10bjs581.js";import"./chunk-4cnwn1rh.js";import"./chunk-764fksh3.js";import{Hs as Y,Rs as Z}from"./chunk-xj765svc.js";import{ht as E,st as V}from"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import"./chunk-zs8kqdsf.js";import"./chunk-dxpj0cxh.js";import"./chunk-zw815d68.js";import"./chunk-7xm75w1e.js";import{EOL as L}from"os";import k from"path";function P(){let q=["-R","-S"];if(process.platform!=="win32")return["less",...q];let z=_("less");if(z){if(V.stat(z)?.size)return[z,...q]}if(Z.QITQODE_GIT_BASH_PATH){let G=k.join(Z.QITQODE_GIT_BASH_PATH,"..","..","usr","bin","less.exe");if(V.stat(G)?.size)return[G,...q]}let B=_("git");if(B){let G=k.join(B,"..","..","usr","bin","less.exe");if(V.stat(G)?.size)return[G,...q]}return["cmd","/c","more"]}var g=Q({command:"session",describe:"manage sessions",builder:(q)=>q.command(T).command(D).command(v).demandCommand(),async handler(){}}),v=Q({command:"import-claude",describe:"import Claude Code sessions (~/.claude/projects) into qitqode",builder:(q)=>q.option("force",{describe:"re-sync every session, ignoring the mtime cache",type:"boolean",default:!1}),handler:async(q)=>{let z=await N.run({force:q.force});M.println(`Claude import: scanned ${z.scanned}, imported ${z.imported}, resynced ${z.resynced}, skipped ${z.skipped}`+(z.errors.length?`, errors ${z.errors.length}`:""));for(let B of z.errors)M.error(B)}}),D=Q({command:"delete <sessionID>",describe:"delete a session",builder:(q)=>{return q.positional("sessionID",{describe:"session ID to delete",type:"string",demandOption:!0})},handler:async(q)=>{await j(process.cwd(),async()=>{let z=J.make(q.sessionID);try{await $.runPromise(X.Service.use((B)=>B.get(z)))}catch{M.error(`Session not found: ${q.sessionID}`),process.exit(1)}await $.runPromise(X.Service.use((B)=>B.remove(z))),M.println(M.Style.TEXT_SUCCESS_BOLD+`Session ${q.sessionID} deleted`+M.Style.TEXT_NORMAL)})}}),T=Q({command:"list",describe:"list sessions",builder:(q)=>{return q.option("max-count",{alias:"n",describe:"limit to N most recent sessions",type:"number"}).option("format",{describe:"output format",type:"string",choices:["table","json"],default:"table"})},handler:async(q)=>{await j(process.cwd(),async()=>{let z=[...X.list({roots:!0,limit:q.maxCount})];if(z.length===0)return;let B;if(q.format==="json")B=f(z);else B=b(z);if(process.stdout.isTTY&&!q.maxCount&&q.format==="table"){let H=E.spawn(P(),{stdin:"pipe",stdout:"inherit",stderr:"inherit"});if(!H.stdin){console.log(B);return}H.stdin.write(B),H.stdin.end(),await H.exited}else console.log(B)})}});function b(q){let z=[],B=Math.max(20,...q.map((K)=>K.id.length)),G=Math.max(25,...q.map((K)=>K.title.length)),H=`Session ID${" ".repeat(B-10)} Title${" ".repeat(G-5)} Updated`;z.push(H),z.push("\u2500".repeat(H.length));for(let K of q){let A=Y.truncate(K.title,G),R=Y.todayTimeOrDateTime(K.time.updated),w=`${K.id.padEnd(B)} ${A.padEnd(G)} ${R}`;z.push(w)}return z.join(L)}function f(q){let z=q.map((B)=>({id:B.id,title:B.title,updated:B.time.updated,created:B.time.created,projectId:B.projectID,directory:B.directory}));return JSON.stringify(z,null,2)}export{T as SessionListCommand,v as SessionImportClaudeCommand,D as SessionDeleteCommand,g as SessionCommand};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{zo as q}from"./chunk-
|
|
2
|
+
import{zo as q}from"./chunk-we9cv8we.js";class z extends Error{cause;constructor(j,x){super(j);this.name="QreditChargeError",this.cause=x}}async function B(j){return q(j)}function C(j){return Number.isInteger(j)?String(j):j.toFixed(2)}
|
|
3
3
|
export{z as F,B as G,C as H};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Rd as a}from"./chunk-yajd975f.js";import{Sf as d}from"./chunk-
|
|
2
|
+
import{Rd as a}from"./chunk-yajd975f.js";import{Sf as d}from"./chunk-pv67gwce.js";import{Vf as i}from"./chunk-rbk8seme.js";import{$l as p,bm as n}from"./chunk-s3mnrhbx.js";import"./chunk-ezfy0b6q.js";import{Dn as f}from"./chunk-bn0h9dny.js";import"./chunk-vcw00k0n.js";import"./chunk-2hc5z7b5.js";import"./chunk-9gazyynx.js";import"./chunk-d9hbhkbq.js";import"./chunk-ad72gb5f.js";import"./chunk-d6ry9418.js";import"./chunk-10bjs581.js";import"./chunk-4cnwn1rh.js";import"./chunk-xj765svc.js";import{bt as m}from"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import"./chunk-zs8kqdsf.js";import"./chunk-7xm75w1e.js";import{spawn as y}from"child_process";import{Database as g}from"bun:sqlite";import{EOL as l}from"os";var b=a({command:"$0 [query]",describe:"open an interactive sqlite3 shell or run a query",builder:(t)=>{return t.positional("query",{type:"string",describe:"SQL query to execute"}).option("format",{type:"string",choices:["json","tsv"],default:"tsv",describe:"Output format"})},handler:async(t)=>{let o=t.query;if(o){let r=new g(n.Path,{readonly:!0});try{let e=r.query(o).all();if(t.format==="json")console.log(JSON.stringify(e,null,2));else if(e.length>0){let s=Object.keys(e[0]);console.log(s.join("\t"));for(let u of e)console.log(s.map((h)=>u[h]).join("\t"))}}catch(e){i.error(m(e)),process.exit(1)}r.close();return}let c=y("sqlite3",[n.Path],{stdio:"inherit"});await new Promise((r)=>c.on("close",r))}}),w=a({command:"path",describe:"print the database path",handler:()=>{console.log(n.Path)}}),q=a({command:"migrate",describe:"migrate JSON data to SQLite (merges with existing data)",handler:async()=>{let t=new g(n.Path),o=process.stderr.isTTY,c=-1;if(o)process.stderr.write("\x1B[?25l");try{let r=await p.run(f({client:t}),{progress:(e)=>{let s=Math.floor(e.current/e.total*100);if(s===c)return;if(c=s,o)process.stderr.write(d(s,`${e.current}/${e.total}`)+" ");else process.stderr.write(`sqlite-migration:${s}${l}`)}});if(o)process.stderr.write(`
|
|
3
3
|
`);if(o)process.stderr.write("\x1B[?25h");else process.stderr.write(`sqlite-migration:done${l}`);if(i.println(`Migration complete: ${r.projects} projects, ${r.sessions} sessions, ${r.messages} messages`),r.errors.length>0)i.println(`${r.errors.length} errors occurred during migration`)}catch(r){if(o)process.stderr.write("\x1B[?25h");i.error(`Migration failed: ${m(r)}`),process.exit(1)}finally{t.close()}}}),v=a({command:"db",describe:"database tools",builder:(t)=>{return t.command(b).command(w).command(q).demandCommand()},handler:()=>{}});export{v as DbCommand};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Cd as H,Dd as I}from"./chunk-
|
|
2
|
+
import{Cd as H,Dd as I}from"./chunk-m2q317gh.js";import{Rd as G}from"./chunk-yajd975f.js";import{Of as B}from"./chunk-pv67gwce.js";import{ag as E}from"./chunk-k7aenxan.js";import"./chunk-8r6ht39z.js";import"./chunk-mqd1jsg2.js";import"./chunk-gz8sz7z1.js";import"./chunk-cjww2jmv.js";import"./chunk-nfg7nt13.js";import"./chunk-xvwvd4kq.js";import"./chunk-d3ermm6d.js";import"./chunk-caj1b9y7.js";import"./chunk-ygs5pzk7.js";import"./chunk-vxyy2dp3.js";import"./chunk-yp5bypsp.js";import"./chunk-7hm0c2yg.js";import"./chunk-gj0wt0cy.js";import"./chunk-5hw6xa49.js";import"./chunk-326p5b10.js";import"./chunk-257me4z3.js";import"./chunk-nkkch4h7.js";import"./chunk-s3mnrhbx.js";import"./chunk-ezfy0b6q.js";import"./chunk-bn0h9dny.js";import"./chunk-hnvn2c25.js";import"./chunk-3nx7112w.js";import"./chunk-htz93dsd.js";import"./chunk-vcw00k0n.js";import{qo as D}from"./chunk-we9cv8we.js";import"./chunk-2hc5z7b5.js";import"./chunk-9gazyynx.js";import"./chunk-4jtxtkj7.js";import"./chunk-ay8emwym.js";import"./chunk-2maqde7w.js";import"./chunk-kj20f048.js";import"./chunk-cqtkxwd8.js";import"./chunk-x9rbv6p6.js";import"./chunk-g5rabwre.js";import"./chunk-jbx3s7nw.js";import"./chunk-15hw2z9t.js";import"./chunk-48ge2ryx.js";import"./chunk-n9xns8by.js";import"./chunk-y9q0hb7b.js";import"./chunk-d9hbhkbq.js";import"./chunk-ad72gb5f.js";import"./chunk-d6ry9418.js";import"./chunk-0dt0bxz6.js";import"./chunk-10bjs581.js";import"./chunk-4cnwn1rh.js";import"./chunk-764fksh3.js";import{Rs as f}from"./chunk-xj765svc.js";import"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import"./chunk-zs8kqdsf.js";import"./chunk-dxpj0cxh.js";import"./chunk-zw815d68.js";import"./chunk-7xm75w1e.js";var T=G({command:"serve",builder:(b)=>B(b).option("auto-password",{type:"boolean",default:!1,describe:"generate a random ephemeral QITQODE_SERVER_PASSWORD for this run and print it"}),describe:"starts a headless qitqode server",handler:async(b)=>{let A=await H(b);if(b["auto-password"]&&!f.QITQODE_SERVER_PASSWORD){let z=crypto.randomUUID();process.env.QITQODE_SERVER_PASSWORD=z,console.log('Generated ephemeral server password (basic auth, username "qitqode"):'),console.log(` ${z}`)}if(I(A,f.QITQODE_SERVER_PASSWORD))console.error("ERROR: Binding to non-loopback address without QITQODE_SERVER_PASSWORD is not allowed."),console.error("Set QITQODE_SERVER_PASSWORD, pass --auto-password, or pass --no-auth to override (DANGEROUS)."),process.exit(1);if(!f.QITQODE_SERVER_PASSWORD)console.error(""),console.error("\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557"),console.error("\u2551 WARNING: server is running WITHOUT authentication. \u2551"),console.error("\u2551 \u2551"),console.error("\u2551 Any process or browser page that can reach this address can read \u2551"),console.error("\u2551 project files, run shell commands, and open terminals as you. \u2551"),console.error("\u2551 \u2551"),console.error("\u2551 Set QITQODE_SERVER_PASSWORD, or restart with --auto-password to \u2551"),console.error("\u2551 generate an ephemeral password for this run. \u2551"),console.error("\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D"),console.error("");if(process.env.QITQODE_KEY)console.log("Using QITQODE_KEY for authentication.");else if(!await D())console.error("Warning: no QitQode credential found. AI features will not work until you sign in (`qitqode auth login`) or set QITQODE_KEY.");let j=await E.listen(A);console.log(`qitqode server listening on http://${j.hostname}:${j.port}`),await new Promise(()=>{}),await j.stop()}});export{T as ServeCommand};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{A as g,u as a,v as b,w as c,x as d,y as e,z as f}from"./chunk-
|
|
2
|
+
import{A as g,u as a,v as b,w as c,x as d,y as e,z as f}from"./chunk-2phz0bn9.js";import"./chunk-hnvn2c25.js";import"./chunk-3nx7112w.js";import"./chunk-htz93dsd.js";import"./chunk-vcw00k0n.js";import"./chunk-ad72gb5f.js";import"./chunk-d6ry9418.js";import"./chunk-0dt0bxz6.js";import"./chunk-4cnwn1rh.js";import"./chunk-xj765svc.js";import"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import"./chunk-zs8kqdsf.js";import"./chunk-7xm75w1e.js";export{e as waitForDependencies,c as layer,f as get,d as defaultLayer,g as TuiConfig,b as Service,a as Info};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Wg as D,gh as x}from"./chunk-
|
|
2
|
+
import{Wg as D,gh as x}from"./chunk-caj1b9y7.js";import{Lh as E}from"./chunk-ygs5pzk7.js";import{lm as w}from"./chunk-s3mnrhbx.js";import{_s as z}from"./chunk-xj765svc.js";var H=z.create({service:"cli.bootstrap"});async function P(F,G){return w.provide({directory:F,init:()=>x.runPromise(D),fn:async()=>{try{return await G()}finally{await x.runPromise(E.Service.use((q)=>q.drainWriters())).catch((q)=>H.warn("checkpoint drain failed",{error:String(q)})),await w.dispose()}}})}
|
|
3
3
|
export{P as Ed};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{ft as L,st as Y}from"./chunk-tqj69nh6.js";import{ut as Hr}from"./chunk-5tray1fw.js";import{OE as mr,iE as go,lO as oo,pH as W,zC as rr}from"./chunk-zs8kqdsf.js";import{DO as J,GO as ho,HO as vo}from"./chunk-7xm75w1e.js";var Po={};J(Po,{validateArchiveMetadata:()=>Uo,validateArchiveEntries:()=>Ko,replaceDirectoryAtomically:()=>Xo,extractZip:()=>Pr,assertArchiveDestinationSafe:()=>no});import I from"path";import Q from"fs/promises";function Ko(o,r){let m=I.resolve(r);for(let a of o){let f=a.trim().replaceAll("\\","/");if(!f)continue;if(f.includes("\x00")||I.posix.isAbsolute(f)||/^[a-z]:\//i.test(f))throw Error(`Unsafe archive entry: ${a}`);if(f.split("/").includes(".."))throw Error(`Unsafe archive entry: ${a}`);let n=I.resolve(m,...f.split("/"));if(n!==m&&!n.startsWith(`${m}${I.sep}`))throw Error(`Unsafe archive entry: ${a}`)}}function Uo(o){for(let r of o.split(/\r?\n/))if(/^[bclps]/.test(r))throw Error("Archive contains an unsafe special entry")}async function Yo(o){let r=await Q.readdir(o,{withFileTypes:!0});await Promise.all(r.map(async(m)=>{let a=I.join(o,m.name);if(m.isSymbolicLink())throw Error(`Archive contains a symbolic link: ${m.name}`);if(m.isDirectory())await Yo(a)}))}async function qo(o){return Q.lstat(o).catch((r)=>{if(r.code==="ENOENT")return;throw r})}async function no(o){let r=I.resolve(o),m=I.parse(r),a=m.root;for(let f of r.slice(m.root.length).split(I.sep).filter(Boolean)){a=I.join(a,f);let n=await qo(a);if(!n)return;if(n.isSymbolicLink())throw Error(`Archive destination contains a symbolic link: ${a}`)}}async function Xo(o,r){let m=I.resolve(r);await no(m);let a=await qo(m);if(a&&!a.isDirectory())throw Error("Archive destination must be a directory");let f=I.join(I.dirname(m),`.qitqode-backup-${crypto.randomUUID()}`);if(a)await Q.rename(m,f);try{await Q.rename(o,m)}catch(n){if(a)await Q.rename(f,m);throw n}if(a)await Q.rm(f,{recursive:!0,force:!0})}async function Pr(o,r){let m=I.resolve(o),a=I.resolve(r),f=await L(process.platform==="win32"?["tar","-tf",m]:["unzip","-Z1",m]);Ko(f.stdout.toString().split(/\r?\n/),a);let n=await L(process.platform==="win32"?["tar","-tvf",m]:["unzip","-Z","-l",m]);Uo(n.stdout.toString()),await no(I.dirname(a)),await Q.mkdir(I.dirname(a),{recursive:!0}),await no(I.dirname(a));let s=await Q.mkdtemp(I.join(I.dirname(a),".qitqode-extract-"));try{if(process.platform==="win32"){let t=m.replace(/'/g,"''"),x=s.replace(/'/g,"''"),N=`$global:ProgressPreference = 'SilentlyContinue'; Expand-Archive -Path '${t}' -DestinationPath '${x}' -Force`;await L(["powershell","-NoProfile","-NonInteractive","-Command",N])}else await L(["unzip","-o","-q",m,"-d",s]);await Yo(s),await Xo(s,a)}finally{await Q.rm(s,{recursive:!0,force:!0})}}var Eo={};J(Eo,{isValidHex:()=>Ao,hexToRgb:()=>Zo,hexToAnsiBold:()=>Ar});function Ao(o){if(!o)return!1;return/^#[0-9a-fA-F]{6}$/.test(o)}function Zo(o){let r=parseInt(o.slice(1,3),16),m=parseInt(o.slice(3,5),16),a=parseInt(o.slice(5,7),16);return{r,g:m,b:a}}function Ar(o){if(!Ao(o))return;let{r,g:m,b:a}=Zo(o);return`\x1B[38;2;${r};${m};${a}m\x1B[1m`}var Lo={};J(Lo,{awaitDeferred:()=>Zr});function Zr(o,r){return W.ensuring(go.await(o),W.sync(r))}import V from"os";var _={};J(_,{Path:()=>H,Global:()=>_});import U from"fs/promises";import xo from"path";import mm from"os";import so from"path";import dr from"os";import{randomBytes as gr,randomUUID as Lr}from"crypto";import{mkdir as to,readFile as Dr,rm as E,stat as er,utimes as hr,writeFile as Do}from"fs/promises";import{createHash as Er}from"crypto";var bo;((ya)=>{function o(r){return Er("sha1").update(r).digest("hex")}ya.fast=o})(bo||={});var io;((eo)=>{let o;function r(u){o=u}eo.setGlobal=r;let m=()=>{if(!o)throw Error("Flock global not set");return so.join(o.state,"locks")},a={staleMs:60000,timeoutMs:300000,baseDelayMs:100,maxDelayMs:2000};function f(u){if(typeof u!=="object"||u===null||!("code"in u))return;let i=u.code;if(typeof i!=="string")return;return i}function n(u,i){return new Promise((c,M)=>{if(i?.aborted){M(i.reason??Error("Aborted"));return}let R,b=()=>{i?.removeEventListener("abort",j),c()},j=()=>{if(R)clearTimeout(R);i?.removeEventListener("abort",j),M(i?.reason??Error("Aborted"))};if(i?.addEventListener("abort",j,{once:!0}),R=setTimeout(b,u),i?.aborted)j()})}function s(u){let i=Math.floor(u*0.3),c=Math.floor(Math.random()*(2*i+1))-i;return Math.max(0,u+c)}function t(){return performance.now()}function x(){return performance.timeOrigin+t()}async function N(u){try{return await er(u)}catch(i){let c=f(i);if(c==="ENOENT"||c==="ENOTDIR")return;throw i}}async function T(u,i,c,M){let R=x(),b=await N(i);if(b)return R-b.mtimeMs>M;let j=await N(c);if(j)return R-j.mtimeMs>M;let C=await N(u);if(!C)return!1;return R-C.mtimeMs>M}async function P(u,i){let c=Lr?.()??gr(16).toString("hex"),M=so.join(u,"meta.json"),R=so.join(u,"heartbeat");try{await to(u,{mode:448})}catch(g){if(f(g)!=="EEXIST")throw g;if(!await T(u,R,M,i.staleMs))return{acquired:!1};let S=u+".breaker";try{await to(S,{mode:448})}catch(B){let Z=f(B);if(Z==="EEXIST"){let Fo=await N(S);if(Fo&&x()-Fo.mtimeMs>i.staleMs)await E(S,{recursive:!0,force:!0}).catch(()=>{return});return{acquired:!1}}if(Z==="ENOENT"||Z==="ENOTDIR")return{acquired:!1};throw B}try{if(!await T(u,R,M,i.staleMs))return{acquired:!1};await E(u,{recursive:!0,force:!0});try{await to(u,{mode:448})}catch(B){let Z=f(B);if(Z==="EEXIST"||Z==="ENOTEMPTY")return{acquired:!1};throw B}}finally{await E(S,{recursive:!0,force:!0}).catch(()=>{return})}}let b={token:c,pid:process.pid,hostname:dr.hostname(),createdAt:new Date().toISOString()};await Do(R,"",{flag:"wx"}).catch(async()=>{throw await E(u,{recursive:!0,force:!0}),Error("Lock acquired but heartbeat already existed (possible compromise).")}),await Do(M,JSON.stringify(b,null,2),{flag:"wx"}).catch(async()=>{throw await E(u,{recursive:!0,force:!0}),Error("Lock acquired but meta.json already existed (possible compromise).")});let j;return{acquired:!0,startHeartbeat:(g=Math.max(100,Math.floor(i.staleMs/3)))=>{if(j)return;j=setInterval(()=>{let S=new Date;hr(R,S,S).catch(()=>{return})},g),j.unref?.()},release:async()=>{if(j)clearInterval(j),j=void 0;if((await Dr(M,"utf8").then((S)=>{let B=JSON.parse(S);if(!B||typeof B!=="object")return{};return{token:"token"in B&&typeof B.token==="string"?B.token:void 0}}).catch((S)=>{let B=f(S);if(B==="ENOENT"||B==="ENOTDIR")throw Error("Refusing to release: lock is compromised (metadata missing).");if(S instanceof SyntaxError)throw Error("Refusing to release: lock is compromised (metadata invalid).");throw S})).token!==c)throw Error("Refusing to release: lock token mismatch (not the owner).");await E(u,{recursive:!0,force:!0})}}}async function fo(u,i,c){let M=t()+c.timeoutMs,R=0,b=0,j=c.baseDelayMs;while(!0){i.signal?.throwIfAborted();let C=await P(u,c);if(C.acquired)return C;if(t()>M)throw Error(`Timed out waiting for lock: ${i.key}`);R+=1;let A=s(j);await i.onWait?.({key:i.key,attempt:R,delay:A,waited:b}),await n(A,i.signal),b+=A,j=Math.min(c.maxDelayMs,Math.floor(j*1.7))}}async function qr(u,i={}){i.signal?.throwIfAborted();let c={staleMs:i.staleMs??a.staleMs,timeoutMs:i.timeoutMs??a.timeoutMs,baseDelayMs:i.baseDelayMs??a.baseDelayMs,maxDelayMs:i.maxDelayMs??a.maxDelayMs},M=i.dir??m();await to(M,{recursive:!0});let R=so.join(M,bo.fast(u)+".lock"),b=await fo(R,{key:u,onWait:i.onWait,signal:i.signal},c);b.startHeartbeat();let j,C=()=>{return j??=b.release()};return{release:C,[Symbol.asyncDispose](){return C()}}}eo.acquire=qr;async function Ca(u,i,c={}){let R=[];try{const M=ho(R,await qr(u,c),1);c.signal?.throwIfAborted();return await i()}catch(b){var j=b,C=1}finally{var A=vo(R,j,C);A&&await A}}eo.withLock=Ca,eo.effect=W.fn("Flock.effect")(function*(u,i={}){return yield*W.acquireRelease(W.promise((c)=>io.acquire(u,{...i,signal:c})).pipe(W.withSpan("Flock.acquire",{attributes:{key:u}})),(c)=>W.promise(()=>c.release()).pipe(W.withSpan("Flock.release"))).pipe(W.asVoid)})})(io||={});import w from"path";import vr from"os";import uo from"path";var G=vr.homedir(),{env:K}=process,D=K.XDG_DATA_HOME||(G?uo.join(G,".local","share"):void 0),po=K.XDG_CONFIG_HOME||(G?uo.join(G,".config"):void 0),lo=K.XDG_STATE_HOME||(G?uo.join(G,".local","state"):void 0),ko=K.XDG_CACHE_HOME||(G?uo.join(G,".cache"):void 0),ga=K.XDG_RUNTIME_DIR||void 0,lr=(K.XDG_DATA_DIRS||"/usr/local/share/:/usr/share/").split(":");if(D)lr.unshift(D);var kr=(K.XDG_CONFIG_DIRS||"/etc/xdg").split(":");if(po)kr.unshift(po);import om from"os";var e="qitqode";function Bo(o=process.env){let r=o.QITQODE_HOME;if(r){if(!w.isAbsolute(r))throw Error(`QITQODE_HOME must be an absolute path, got: ${JSON.stringify(r)}`);return{mode:"qitqode_home",root:r,data:w.join(r,"data"),cache:w.join(r,"cache"),config:w.join(r,"config"),state:w.join(r,"state")}}return{mode:"xdg",data:w.join(D,e),cache:w.join(ko,e),config:w.join(po,e),state:w.join(lo,e)}}function So(o=process.env){let r=o.QITQODE_LOG_DIR;if(r){if(!w.isAbsolute(r))throw Error(`QITQODE_LOG_DIR must be an absolute path, got: ${JSON.stringify(r)}`);return r}return w.join(D,e,"log")}var rm;((or)=>{class o extends rr.Service()("@qitqode/Global"){}or.Service=o,or.layer=mr.effect(o,W.gen(function*(){let m=process.env.HOME||process.env.USERPROFILE||om.homedir(),{data:a,cache:f,config:n,state:s}=yield*W.sync(()=>Bo()),t=w.join(f,"bin"),x=yield*W.sync(()=>So());return o.of({home:m,data:a,cache:f,config:n,state:s,bin:t,log:x})}))})(rm||={});var{data:am,cache:ar,config:fm,state:nr}=Bo(),H={get home(){return process.env.HOME||process.env.USERPROFILE||mm.homedir()},data:am,bin:xo.join(ar,"bin"),log:So(),cache:ar,config:fm,state:nr};io.setGlobal({state:nr});await Promise.all([U.mkdir(H.data,{recursive:!0}),U.mkdir(H.config,{recursive:!0}),U.mkdir(H.state,{recursive:!0}),U.mkdir(H.log,{recursive:!0}),U.mkdir(H.bin,{recursive:!0})]);var fr="21",nm=await Y.readText(xo.join(H.cache,"version")).catch(()=>"0");if(nm!==fr){try{let o=await U.readdir(H.cache);await Promise.all(o.map((r)=>U.rm(xo.join(H.cache,r),{recursive:!0,force:!0})))}catch{}await Y.write(xo.join(H.cache,"version"),fr)}var sr="0.1.31",tr="latest",nf="b8ff6c506da9047bc9d86c8747cd290b0c603b5c",sf=!1;import sm from"path";var q;async function ir(){if(q)return q;let o=sm.join(_.Path.data,"installation_id"),r=await Y.readText(o).catch(()=>{return});if(r&&r.trim())return q=r.trim(),q;return q=crypto.randomUUID(),await Y.write(o,q),q}var pr="QITQODE_RUN_ID",ur="QITQODE_PROCESS_ROLE";function tm(){return process.env.QITQODE_RUN_ID??=crypto.randomUUID()}function im(o){return process.env.QITQODE_PROCESS_ROLE??=o}function Of(o){return{runID:tm(),processRole:im(o)}}function Nf(o){let r=Object.fromEntries(Object.entries(process.env).filter((m)=>m[1]!==void 0));return o?Object.assign(r,o):r}function pm(){if(process.env.USER)return process.env.USER;if(process.env.USERNAME)return process.env.USERNAME;return V.userInfo().username}function um(){return Intl.DateTimeFormat().resolvedOptions().locale}function xm(){return Intl.DateTimeFormat().resolvedOptions().timeZone}async function cm(){let o=V.cpus();return{os:{platform:V.platform(),arch:V.arch(),release:V.release(),hostname:V.hostname()},cpu:{model:o[0]?.model??"unknown",count:o.length},memory:{total_bytes:V.totalmem()},user:{username:pm(),homedir:V.homedir()},runtime:{bun_version:Bun.version,node_version:process.versions.node,pid:process.pid,timezone:xm(),locale:um()},paths:{cwd:process.cwd(),data:_.Path.data,config:_.Path.config},qitqode:{version:sr,channel:tr,installation_id:await ir(),run_id:pr,process_role:ur}}}var Rr={};J(Rr,{toString:()=>em,parse:()=>hm,match:()=>Lm,fromParsedKey:()=>Dm});var y={done:!1,hasNext:!1};function X(o,...r){let m=o,a=r.map((n)=>("lazy"in n)?Om(n):void 0),f=0;for(;f<r.length;){if(a[f]===void 0||!Nm(m)){let x=r[f];m=x(m),f+=1;continue}let n=[];for(let x=f;x<r.length;x++){let N=a[x];if(N===void 0||(n.push(N),N.isSingle))break}let s=[];for(let x of m)if(xr(x,s,n))break;let{isSingle:t}=n.at(-1);m=t?s[0]:s,f+=n.length}return m}function xr(o,r,m){if(m.length===0)return r.push(o),!1;let a=o,f=y,n=!1;for(let[s,t]of m.entries()){let{index:x,items:N}=t;if(N.push(a),f=t(a,x,N),t.index+=1,f.hasNext){if(f.hasMany??!1){for(let T of f.next)if(xr(T,r,m.slice(s+1)))return!0;return n}a=f.next}if(!f.hasNext)break;f.done&&(n=!0)}return f.hasNext&&r.push(a),n}function Om(o){let{lazy:r,lazyArgs:m}=o,a=r(...m);return Object.assign(a,{isSingle:r.single??!1,index:0,items:[]})}function Nm(o){return typeof o=="string"||typeof o=="object"&&o!==null&&Symbol.iterator in o}function co(o,r){let m=r.length-o.length;if(m===1){let[a,...f]=r;return X(a,{lazy:o,lazyArgs:f})}if(m===0){let a={lazy:o,lazyArgs:r};return Object.assign((f)=>X(f,a),a)}throw Error("Wrong number of arguments")}function jm(...o){return co(Rm,o)}function Rm(){let o=new Set;return(r)=>o.has(r)?y:(o.add(r),{done:!1,hasNext:!0,next:r})}function Tm(...o){return co(Im,o)}function Im(o){let r=o,m=new Set;return(a,f,n)=>{let s=r(a,f,n);return m.has(s)?y:(m.add(s),{done:!1,hasNext:!0,next:a})}}function cr(o,r,m){let a=(f)=>o(f,...r);return m===void 0?a:Object.assign(a,{lazy:m,lazyArgs:r})}function O(o,r,m){let a=o.length-r.length;if(a===0)return o(...r);if(a===1)return cr(o,r,m);throw Error("Wrong number of arguments")}function Mm(...o){return O(Object.values,o)}var Nr={asc:(o,r)=>o>r,desc:(o,r)=>o<r};function Oo(o,r){let[m,...a]=r;if(!Wm(m)){let n=Jo(...a);return o(m,n)}let f=Jo(m,...a);return(n)=>o(n,f)}function Jo(o,r,...m){let a=typeof o=="function"?o:o[0],f=typeof o=="function"?"asc":o[1],{[f]:n}=Nr,s=r===void 0?void 0:Jo(r,...m);return(t,x)=>{let N=a(t),T=a(x);return n(N,T)?1:n(T,N)?-1:s?.(t,x)??0}}function Wm(o){if(Or(o))return!0;if(typeof o!="object"||!Array.isArray(o))return!1;let[r,m,...a]=o;return Or(r)&&typeof m=="string"&&m in Nr&&a.length===0}var Or=(o)=>typeof o=="function"&&o.length===1;function No(...o){return Oo(bm,o)}var bm=(o,r)=>[...o].sort(r);function Bm(...o){return O(Sm,o)}function Sm(o,r){let m={};for(let[a,f]of Object.entries(o))r(f,a,o)&&(m[a]=f);return m}function wo(o){if(typeof o!="object"||o===null)return!1;let r=Object.getPrototypeOf(o);return r===null||r===Object.prototype}function Jm(...o){return O(jr,o)}function jr(o,r){let m={...o,...r};for(let a in r){if(!(a in o))continue;let{[a]:f}=o;if(!wo(f))continue;let{[a]:n}=r;wo(n)&&(m[a]=jr(f,n))}return m}function h(...o){return O(wm,o)}var wm=(o,r)=>o.length>=r;function _m(...o){return O(zm,o)}function zm(o,r){if(!h(r,1))return{...o};if(!h(r,2)){let{[r[0]]:a,...f}=o;return f}let m={...o};for(let a of r)delete m[a];return m}function Cm(...o){return O(Hm,o)}function Hm(o,r){let m={};for(let[a,f]of Object.entries(o)){let n=r(f,a,o);m[a]=n}return m}function Qm(...o){return O($m,o,Gm)}var $m=(o,r)=>o.map(r),Gm=(o)=>(r,m,a)=>({done:!1,hasNext:!0,next:o(r,m,a)});function Vm(...o){return O(ym,o)}var ym=(o,r)=>{let m=Object.create(null);for(let a=0;a<o.length;a++){let f=o[a],n=r(f,a,o);if(n!==void 0){let s=m[n];s===void 0?m[n]=[f]:s.push(f)}}return Object.setPrototypeOf(m,Object.prototype),m};function _o(...o){return O(v,o)}function v(o,r){if(o===r||Object.is(o,r))return!0;if(typeof o!="object"||typeof r!="object"||o===null||r===null||Object.getPrototypeOf(o)!==Object.getPrototypeOf(r))return!1;if(Array.isArray(o))return Fm(o,r);if(o instanceof Map)return Km(o,r);if(o instanceof Set)return Um(o,r);if(o instanceof Date)return o.getTime()===r.getTime();if(o instanceof RegExp)return o.toString()===r.toString();if(Object.keys(o).length!==Object.keys(r).length)return!1;for(let[m,a]of Object.entries(o))if(!(m in r)||!v(a,r[m]))return!1;return!0}function Fm(o,r){if(o.length!==r.length)return!1;for(let[m,a]of o.entries())if(!v(a,r[m]))return!1;return!0}function Km(o,r){if(o.size!==r.size)return!1;for(let[m,a]of o.entries())if(!r.has(m)||!v(a,r.get(m)))return!1;return!0}function Um(o,r){if(o.size!==r.size)return!1;let m=[...r];for(let a of o){let f=!1;for(let[n,s]of m.entries())if(v(a,s)){f=!0,m.splice(n,1);break}if(!f)return!1}return!0}function Ym(...o){return Oo(qm,o)}function qm(o,r){if(!h(o,2))return o[0];let[m]=o,[,...a]=o;for(let f of a)r(f,m)<0&&(m=f);return m}function Xm(...o){return O(Pm,o,Am)}var Pm=(o,r)=>o.flatMap(r),Am=(o)=>(r,m,a)=>{let f=o(r,m,a);return Array.isArray(f)?{done:!1,hasNext:!0,hasMany:!0,next:f}:{done:!1,hasNext:!0,next:f}};function Zm(...o){return O(Object.entries,o)}function Em(...o){return O(dm,o,gm)}var dm=(o,r)=>o.filter(r),gm=(o)=>(r,m,a)=>o(r,m,a)?{done:!1,hasNext:!0,next:r}:y;function Lm(o,r){if(!o)return!1;let m={...o,super:o.super??!1},a={...r,super:r.super??!1};return _o(m,a)}function Dm(o,r=!1){return{name:o.name===" "?"space":o.name,ctrl:o.ctrl,meta:o.meta,shift:o.shift,super:o.super??!1,leader:r}}function em(o){if(!o)return"";let r=[];if(o.ctrl)r.push("ctrl");if(o.meta)r.push("alt");if(o.super)r.push("super");if(o.shift)r.push("shift");if(o.name)if(o.name==="delete")r.push("del");else r.push(o.name);let m=r.join("+");if(o.leader)m=m?`<leader> ${m}`:"<leader>";return m}function hm(o){if(o==="none")return[];return o.split(",").map((r)=>{let a=r.replace(/<leader>/g,"leader+").toLowerCase().split("+"),f={ctrl:!1,meta:!1,shift:!1,leader:!1,name:""};for(let n of a)switch(n){case"ctrl":f.ctrl=!0;break;case"alt":case"meta":case"option":f.meta=!0;break;case"super":f.super=!0;break;case"shift":f.shift=!0;break;case"leader":f.leader=!0;break;case"esc":f.name="escape";break;default:f.name=n;break}return f})}var Tr={};J(Tr,{create:()=>lm,NotFound:()=>zo});import{AsyncLocalStorage as vm}from"async_hooks";class zo extends Error{name;constructor(o){super(`No context found for ${o}`);this.name=o}}function lm(o){let r=new vm;return{use(){let m=r.getStore();if(!m)throw new zo(o);return m},provide(m,a){return r.run(m,a)}}}var Mr={};J(Mr,{truncateMiddle:()=>fa,truncate:()=>aa,todayTimeOrDateTime:()=>oa,titlecase:()=>km,time:()=>Co,pluralize:()=>na,number:()=>ra,duration:()=>ma,datetime:()=>Ir});function km(o){return o.replace(/\b\w/g,(r)=>r.toUpperCase())}function Co(o){return new Date(o).toLocaleTimeString(void 0,{timeStyle:"short"})}function Ir(o){let r=new Date(o),m=Co(o),a=r.toLocaleDateString();return`${m} \xB7 ${a}`}function oa(o){let r=new Date(o),m=new Date;if(r.getFullYear()===m.getFullYear()&&r.getMonth()===m.getMonth()&&r.getDate()===m.getDate())return Co(o);else return Ir(o)}function ra(o){if(o>=1e6)return(o/1e6).toFixed(1)+"M";else if(o>=1000)return(o/1000).toFixed(1)+"K";return o.toString()}function ma(o){if(o<1000)return`${o}ms`;if(o<60000)return`${(o/1000).toFixed(1)}s`;if(o<3600000){let a=Math.floor(o/60000),f=Math.floor(o%60000/1000);return`${a}m ${f}s`}if(o<86400000){let a=Math.floor(o/3600000),f=Math.floor(o%3600000/60000);return`${a}h ${f}m`}let r=Math.floor(o%86400000/3600000);return`${Math.floor(o/86400000)}d ${r}h`}function aa(o,r){if(r<=0)return"";if(o.length<=r)return o;return o.slice(0,r-1)+"\u2026"}function fa(o,r=35){if(r<=0)return"";if(o.length<=r)return o;let m="\u2026",a=Math.ceil((r-m.length)/2),f=Math.floor((r-m.length)/2);return o.slice(0,a)+m+(f>0?o.slice(-f):"")}function na(o,r,m){return(o===1?r:m).replace("{}",o.toString())}var Br={};J(Br,{write:()=>ia,read:()=>ta});var l=new Map;function Wr(o){if(!l.has(o))l.set(o,{readers:0,writer:!1,waitingReaders:[],waitingWriters:[]});return l.get(o)}function sa(o){let r=l.get(o);if(!r||r.writer||r.readers>0)return;if(r.waitingWriters.length>0){r.waitingWriters.shift()();return}while(r.waitingReaders.length>0)r.waitingReaders.shift()();if(r.readers===0&&!r.writer&&r.waitingReaders.length===0&&r.waitingWriters.length===0)l.delete(o)}function br(o){return new Promise((r)=>{let m=()=>{o.acquire();let a=!1;r({[Symbol.dispose]:()=>{if(a)return;a=!0,o.release(),sa(o.key)}})};if(o.available())m();else o.waiting.push(m)})}async function ta(o){let r=Wr(o);return br({key:o,available:()=>!r.writer&&r.waitingWriters.length===0,acquire:()=>r.readers++,release:()=>r.readers--,waiting:r.waitingReaders})}async function ia(o){let r=Wr(o);return br({key:o,available:()=>!r.writer&&r.readers===0,acquire:()=>{r.writer=!0},release:()=>{r.writer=!1},waiting:r.waitingWriters})}var yr={};J(yr,{redactValue:()=>Go,init:()=>Ia,flush:()=>Ma,file:()=>Ta,enabled:()=>ja,create:()=>Vo,Level:()=>xa,Default:()=>Ra});import Io from"path";import F from"fs/promises";import{createWriteStream as Qr}from"fs";var lu="https://qortex.forgewise.tech/api/v1/qortex/streamTier",ku=new URL("https://qortex.forgewise.tech/api/v1/qortex/streamTier").origin,Sr="https://qortex.forgewise.tech/api/v1/qortex/streamTier".replace(/\/streamTier$/,""),ox={name:"QitQode",family:"qlex",npm:"@qitqode/qlex-provider",limit:{context:200000,output:16384},capabilities:{temperature:!0,reasoning:!1,attachment:!0,toolcall:!0,input:{text:!0,audio:!1,image:!0,video:!1,pdf:!1},output:{text:!0,audio:!1,image:!1,video:!1,pdf:!1},interleaved:!1},release_date:"2025-07-06"};function k(o){return o.replace(/provider\s+'[^']*'\s*(?:stream\s+)?(?:failed|error)?\s*:?\s*/gi,"").replace(/\b(?:anthropic|openai|google|vertex\s*ai|bedrock|azure|x\.?ai|mistral|deepseek|cohere|groq|together(?:\.ai)?|openrouter|fireworks|perplexity|meta)\b/gi,"").replace(/\b(?:gpt|claude|gemini|grok|llama|qwen|sonnet|opus|haiku|o[0-9])[-\w.]*/gi,"").replace(/\s+/g," ").replace(/^[\s:;,.\-]+/,"").replace(/[\s.]+$/,"").trim()}var rx={notLoggedIn:"Not logged in to QitQode. Run `qitqode auth login` to sign in with your Forgewise account.",rateLimit:"Rate limit exceeded. Please wait a moment before sending more requests.",insufficientBalance:(o)=>{let r=o?k(o):"";return`Insufficient qredits${r?`: ${r}`:""}. Add qredits at qitqode.com to continue.`},invalidCredentials:(o)=>{let r=o?k(o):"";return`QitQode sign-in was rejected by the server${r?` (${r})`:""}. Please sign in again with your Forgewise account or a valid API key.`},accountNotLinked:(o)=>{let r=o?k(o):"";return`This credential isn't linked to a QitQode account${r?` (${r})`:""}, so there is no wallet to read. Sign in with your Forgewise account, or use a key issued to that account.`},gatewayUnavailable:(o)=>{let r=o?k(o):"";return`The QitQode model gateway is unavailable${r?` (${r})`:""}. Your sign-in is still valid \u2014 the model backend isn't reachable through its trusted gateway yet. This is a server-side configuration issue, not a login problem.`},streamFailed:(o)=>{let r=o?k(o):"";return`The QitQode model stream failed${r?`: ${r}`:""}.`},insufficientBalanceFallback:"Insufficient qredits.",insufficientBalanceCliSuffix:" Visit qitqode.com to add qredits.",invalidCredentialsFallback:"QitQode sign-in was rejected by the server. Please sign in again.",apiKeyPrompt:"Paste your Qortex API key:",apiKeyPlaceholder:"qortex-...",loginMenuForgewise:"Sign in with Forgewise account",loginMenuApiKey:"Paste a Qortex API key",waitingForgewise:"\u23F3 Waiting for Forgewise sign-in in your browser\u2026"};function p(o){let r=process.env[o]?.toLowerCase();return r==="true"||r==="1"}function Ho(o){let r=process.env[o]?.toLowerCase();return r==="false"||r==="0"}function $(o){let r=process.env[o];if(!r)return;let m=Number(r);return Number.isInteger(m)&&m>0?m:void 0}var d=p("QITQODE_EXPERIMENTAL"),jo=p("QITQODE_DISABLE_CLAUDE_CODE"),Ro=p("QITQODE_DISABLE_EXTERNAL_SKILLS"),pa=Ro||jo||p("QITQODE_DISABLE_CLAUDE_CODE_SKILLS"),ua=process.env.QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT,Jr={OTEL_EXPORTER_OTLP_ENDPOINT:process.env.OTEL_EXPORTER_OTLP_ENDPOINT,OTEL_EXPORTER_OTLP_HEADERS:process.env.OTEL_EXPORTER_OTLP_HEADERS,QITQODE_AUTO_SHARE:p("QITQODE_AUTO_SHARE"),QITQODE_AUTO_HEAP_SNAPSHOT:p("QITQODE_AUTO_HEAP_SNAPSHOT"),QITQODE_GIT_BASH_PATH:process.env.QITQODE_GIT_BASH_PATH,QITQODE_CONFIG:process.env.QITQODE_CONFIG,QITQODE_CONFIG_CONTENT:process.env.QITQODE_CONFIG_CONTENT,get QITQODE_BACKEND_URL(){return process.env.QITQODE_BACKEND_URL??Sr},QITQODE_DISABLE_AUTOUPDATE:p("QITQODE_DISABLE_AUTOUPDATE"),QITQODE_DISABLE_LOG_ROTATION:p("QITQODE_DISABLE_LOG_ROTATION"),QITQODE_ALWAYS_NOTIFY_UPDATE:p("QITQODE_ALWAYS_NOTIFY_UPDATE"),QITQODE_DISABLE_PRUNE:p("QITQODE_DISABLE_PRUNE"),QITQODE_DISABLE_TERMINAL_TITLE:p("QITQODE_DISABLE_TERMINAL_TITLE"),QITQODE_SHOW_TTFD:p("QITQODE_SHOW_TTFD"),QITQODE_PERMISSION:process.env.QITQODE_PERMISSION,QITQODE_DISABLE_DEFAULT_PLUGINS:p("QITQODE_DISABLE_DEFAULT_PLUGINS"),QITQODE_DISABLE_LSP_DOWNLOAD:!0,QITQODE_ENABLE_EXPERIMENTAL_MODELS:p("QITQODE_ENABLE_EXPERIMENTAL_MODELS"),QITQODE_DISABLE_AUTOCOMPACT:p("QITQODE_DISABLE_AUTOCOMPACT"),QITQODE_DISABLE_MODELS_FETCH:p("QITQODE_DISABLE_MODELS_FETCH"),QITQODE_DISABLE_MOUSE:p("QITQODE_DISABLE_MOUSE"),QITQODE_OUTPUT_LENGTH_CONTINUATION_LIMIT:$("QITQODE_OUTPUT_LENGTH_CONTINUATION_LIMIT")??3,QITQODE_INVALID_OUTPUT_CONTINUATION_LIMIT:$("QITQODE_INVALID_OUTPUT_CONTINUATION_LIMIT")??2,QITQODE_TEXT_NGRAM_N:$("QITQODE_TEXT_NGRAM_N")??6,QITQODE_TEXT_REPEAT_THRESHOLD:$("QITQODE_TEXT_REPEAT_THRESHOLD")??3,QITQODE_TEXT_WINDOW_TOKENS:$("QITQODE_TEXT_WINDOW_TOKENS")??500,QITQODE_MAX_PROMPT_IMAGES:$("QITQODE_MAX_PROMPT_IMAGES")??4,QITQODE_MAX_PROMPT_IMAGE_SIZE:$("QITQODE_MAX_PROMPT_IMAGE_SIZE")??393216,QITQODE_DISABLE_PROVIDER_ENV:p("QITQODE_DISABLE_PROVIDER_ENV"),QITQODE_DISABLE_CLAUDE_CODE:jo,get QITQODE_DISABLE_CLAUDE_CODE_MCP(){return jo||p("QITQODE_DISABLE_CLAUDE_CODE_MCP")},QITQODE_DISABLE_CLAUDE_CODE_PROMPT:jo||p("QITQODE_DISABLE_CLAUDE_CODE_PROMPT"),QITQODE_DISABLE_CLAUDE_CODE_COMMANDS:p("QITQODE_DISABLE_CLAUDE_CODE_COMMANDS"),QITQODE_DISABLE_CLAUDE_CODE_SKILLS:pa,QITQODE_DISABLE_EXTERNAL_SKILLS:Ro,QITQODE_DISABLE_CODEX_SKILLS:Ro||p("QITQODE_DISABLE_CODEX_SKILLS"),QITQODE_DISABLE_OPENCODE_SKILLS:Ro||p("QITQODE_DISABLE_OPENCODE_SKILLS"),QITQODE_FAKE_VCS:process.env.QITQODE_FAKE_VCS,QITQODE_DISABLE_GIT:p("QITQODE_DISABLE_GIT"),get QITQODE_SERVER_PASSWORD(){return process.env.QITQODE_SERVER_PASSWORD},get QITQODE_SERVER_USERNAME(){return process.env.QITQODE_SERVER_USERNAME},QITQODE_ENABLE_QUESTION_TOOL:p("QITQODE_ENABLE_QUESTION_TOOL"),QITQODE_EXPERIMENTAL:d,QITQODE_EXPERIMENTAL_FILEWATCHER:oo.boolean("QITQODE_EXPERIMENTAL_FILEWATCHER").pipe(oo.withDefault(!1)),QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER:oo.boolean("QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER").pipe(oo.withDefault(!1)),QITQODE_EXPERIMENTAL_ICON_DISCOVERY:d||p("QITQODE_EXPERIMENTAL_ICON_DISCOVERY"),QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT:ua===void 0?process.platform==="win32":p("QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT"),QITQODE_ENABLE_EXA:p("QITQODE_ENABLE_EXA")||d||p("QITQODE_EXPERIMENTAL_EXA"),QITQODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS:$("QITQODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS"),QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX:$("QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX"),QITQODE_EXPERIMENTAL_OXFMT:d||p("QITQODE_EXPERIMENTAL_OXFMT"),QITQODE_EXPERIMENTAL_LSP_TY:p("QITQODE_EXPERIMENTAL_LSP_TY"),QITQODE_EXPERIMENTAL_LSP_TOOL:d||p("QITQODE_EXPERIMENTAL_LSP_TOOL"),QITQODE_EXPERIMENTAL_WORKFLOW_TOOL:!Ho("QITQODE_EXPERIMENTAL_WORKFLOW_TOOL"),QITQODE_EXPERIMENTAL_MARKDOWN:!Ho("QITQODE_EXPERIMENTAL_MARKDOWN"),QITQODE_MODELS_URL:process.env.QITQODE_MODELS_URL,QITQODE_MODELS_PATH:process.env.QITQODE_MODELS_PATH,QITQODE_DB:process.env.QITQODE_DB,QITQODE_DISABLE_CHANNEL_DB:!Ho("QITQODE_DISABLE_CHANNEL_DB"),QITQODE_SKIP_MIGRATIONS:p("QITQODE_SKIP_MIGRATIONS"),QITQODE_STRICT_CONFIG_DEPS:p("QITQODE_STRICT_CONFIG_DEPS"),QITQODE_WORKSPACE_ID:process.env.QITQODE_WORKSPACE_ID,QITQODE_EXPERIMENTAL_HTTPAPI:p("QITQODE_EXPERIMENTAL_HTTPAPI"),QITQODE_EXPERIMENTAL_WORKSPACES:d||p("QITQODE_EXPERIMENTAL_WORKSPACES"),get QITQODE_DISABLE_COMPOSE_SKILLS(){return p("QITQODE_DISABLE_COMPOSE_SKILLS")},get QITQODE_DISABLE_BUILTIN_SKILLS(){return p("QITQODE_DISABLE_BUILTIN_SKILLS")},get QITQODE_DISABLE_PROJECT_CONFIG(){return p("QITQODE_DISABLE_PROJECT_CONFIG")},get QITQODE_TUI_CONFIG(){return process.env.QITQODE_TUI_CONFIG},get QITQODE_CONFIG_DIR(){return process.env.QITQODE_CONFIG_DIR},get QITQODE_HOME(){return process.env.QITQODE_HOME},get QITQODE_PURE(){return p("QITQODE_PURE")},get QITQODE_PLUGIN_META_FILE(){return process.env.QITQODE_PLUGIN_META_FILE},get QITQODE_CLIENT(){return process.env.QITQODE_CLIENT??"cli"}};var xa=Hr.enum(["DEBUG","INFO","WARN","ERROR"]).meta({ref:"LogLevel",description:"Log level"}),wr={DEBUG:0,INFO:1,WARN:2,ERROR:3},ca=10,Oa=52428800,Na=209715200,$r="INFO";function ro(o){return wr[o]>=wr[$r]}function ja(o){return ro(o)}var _r=new Map,Ra=Vo({service:"default"}),z="";function Ta(){return z}var ao,To=0,zr=!0,mo=(o)=>{return process.stderr.write(o),o.length};function Mo(){return new Date().toISOString().split(".")[0].replace(/:/g,"")}async function Ia(o){if(o.level)$r=o.level;if(zr=o.rotate??!Jr.QITQODE_DISABLE_LOG_ROTATION,Gr(_.Path.log),o.print)return;if(z=Io.join(_.Path.log,o.dev?"dev.log":Mo()+".log"),o.dev){let r=await F.stat(z).catch(()=>null);if(r&&r.size>0)await F.rename(z,`${z}.${Mo()}`).catch(()=>{})}else await F.truncate(z).catch(()=>{});ao=Qr(z,{flags:"a"}),To=0,mo=(r)=>{return $o=$o.then(async()=>{if(To+=Buffer.byteLength(r),zr&&To>=Oa)To=Buffer.byteLength(r),await Wa();await new Promise((m)=>{if(!ao){m();return}ao.write(r,()=>m())})}).catch(()=>{}),r.length}}var $o=Promise.resolve();async function Ma(){await $o}async function Wa(){let o=ao,r=`${z}.${Mo()}`;for(let m=2;await F.stat(r).then(()=>!0,()=>!1);m++)r=`${z}.${Mo()}.${m}`;if(await F.rename(z,r).catch(()=>{}),ao=Qr(z,{flags:"a"}),o)o.end();Gr(_.Path.log)}async function Gr(o){let r=await F.readdir(o).catch(()=>[]),a=(await Promise.all(r.filter((t)=>t.includes(".log")&&Io.join(o,t)!==z).map(async(t)=>{let x=await F.stat(Io.join(o,t)).catch(()=>null);return x?.isFile()?{name:t,size:x.size}:null}))).flatMap((t)=>t?[t]:[]).sort((t,x)=>t.name<x.name?-1:t.name>x.name?1:0),f=a.reduce((t,x)=>t+x.size,0),n=a.length,s=a.filter((t)=>{if(n<=ca&&f<=Na)return!1;return f-=t.size,n-=1,!0});await Promise.all(s.map((t)=>F.unlink(Io.join(o,t.name)).catch(()=>{})))}var ba=/token|secret|password|passwd|credential|api[_-]?key|authorization|cookie|set-cookie/i;function Go(o,r){if(ba.test(o)&&r!==void 0&&r!==null)return"[REDACTED]";return r}var Qo=10240;function Ba(o){try{let r=JSON.stringify(o,function(m,a){return m?Go(m,a):a});if(typeof r==="string"&&r.length>Qo)return r.slice(0,Qo)+`\u2026[truncated ${r.length-Qo} chars]`;return r}catch{return"[unserializable]"}}function Vr(o,r=0){let m=o.message;return o.cause instanceof Error&&r<10?m+" Caused by: "+Vr(o.cause,r+1):m}var Cr=Date.now();function Vo(o){o=o||{};let r=o.service;if(r&&typeof r==="string"){let f=_r.get(r);if(f)return f}function m(f,n){let s=Object.entries({...o,...n}).filter(([N,T])=>T!==void 0&&T!==null).map(([N,T])=>{let P=`${N}=`;if(T instanceof Error)return P+Vr(T);let fo=Go(N,T);if(fo!==T)return P+fo;if(typeof T==="object"&&T!==null)return P+Ba(T);return P+T}).join(" "),t=new Date,x=t.getTime()-Cr;return Cr=t.getTime(),[t.toISOString().split(".")[0],"+"+x+"ms",s,f].filter(Boolean).join(" ")+`
|
|
2
|
+
import{ft as L,st as Y}from"./chunk-tqj69nh6.js";import{ut as Hr}from"./chunk-5tray1fw.js";import{OE as mr,iE as go,lO as oo,pH as W,zC as rr}from"./chunk-zs8kqdsf.js";import{DO as J,GO as ho,HO as vo}from"./chunk-7xm75w1e.js";var Po={};J(Po,{validateArchiveMetadata:()=>Uo,validateArchiveEntries:()=>Ko,replaceDirectoryAtomically:()=>Xo,extractZip:()=>Pr,assertArchiveDestinationSafe:()=>no});import I from"path";import Q from"fs/promises";function Ko(o,r){let m=I.resolve(r);for(let a of o){let f=a.trim().replaceAll("\\","/");if(!f)continue;if(f.includes("\x00")||I.posix.isAbsolute(f)||/^[a-z]:\//i.test(f))throw Error(`Unsafe archive entry: ${a}`);if(f.split("/").includes(".."))throw Error(`Unsafe archive entry: ${a}`);let n=I.resolve(m,...f.split("/"));if(n!==m&&!n.startsWith(`${m}${I.sep}`))throw Error(`Unsafe archive entry: ${a}`)}}function Uo(o){for(let r of o.split(/\r?\n/))if(/^[bclps]/.test(r))throw Error("Archive contains an unsafe special entry")}async function Yo(o){let r=await Q.readdir(o,{withFileTypes:!0});await Promise.all(r.map(async(m)=>{let a=I.join(o,m.name);if(m.isSymbolicLink())throw Error(`Archive contains a symbolic link: ${m.name}`);if(m.isDirectory())await Yo(a)}))}async function qo(o){return Q.lstat(o).catch((r)=>{if(r.code==="ENOENT")return;throw r})}async function no(o){let r=I.resolve(o),m=I.parse(r),a=m.root;for(let f of r.slice(m.root.length).split(I.sep).filter(Boolean)){a=I.join(a,f);let n=await qo(a);if(!n)return;if(n.isSymbolicLink())throw Error(`Archive destination contains a symbolic link: ${a}`)}}async function Xo(o,r){let m=I.resolve(r);await no(m);let a=await qo(m);if(a&&!a.isDirectory())throw Error("Archive destination must be a directory");let f=I.join(I.dirname(m),`.qitqode-backup-${crypto.randomUUID()}`);if(a)await Q.rename(m,f);try{await Q.rename(o,m)}catch(n){if(a)await Q.rename(f,m);throw n}if(a)await Q.rm(f,{recursive:!0,force:!0})}async function Pr(o,r){let m=I.resolve(o),a=I.resolve(r),f=await L(process.platform==="win32"?["tar","-tf",m]:["unzip","-Z1",m]);Ko(f.stdout.toString().split(/\r?\n/),a);let n=await L(process.platform==="win32"?["tar","-tvf",m]:["unzip","-Z","-l",m]);Uo(n.stdout.toString()),await no(I.dirname(a)),await Q.mkdir(I.dirname(a),{recursive:!0}),await no(I.dirname(a));let s=await Q.mkdtemp(I.join(I.dirname(a),".qitqode-extract-"));try{if(process.platform==="win32"){let t=m.replace(/'/g,"''"),x=s.replace(/'/g,"''"),N=`$global:ProgressPreference = 'SilentlyContinue'; Expand-Archive -Path '${t}' -DestinationPath '${x}' -Force`;await L(["powershell","-NoProfile","-NonInteractive","-Command",N])}else await L(["unzip","-o","-q",m,"-d",s]);await Yo(s),await Xo(s,a)}finally{await Q.rm(s,{recursive:!0,force:!0})}}var Eo={};J(Eo,{isValidHex:()=>Ao,hexToRgb:()=>Zo,hexToAnsiBold:()=>Ar});function Ao(o){if(!o)return!1;return/^#[0-9a-fA-F]{6}$/.test(o)}function Zo(o){let r=parseInt(o.slice(1,3),16),m=parseInt(o.slice(3,5),16),a=parseInt(o.slice(5,7),16);return{r,g:m,b:a}}function Ar(o){if(!Ao(o))return;let{r,g:m,b:a}=Zo(o);return`\x1B[38;2;${r};${m};${a}m\x1B[1m`}var Lo={};J(Lo,{awaitDeferred:()=>Zr});function Zr(o,r){return W.ensuring(go.await(o),W.sync(r))}import V from"os";var _={};J(_,{Path:()=>H,Global:()=>_});import U from"fs/promises";import xo from"path";import mm from"os";import so from"path";import dr from"os";import{randomBytes as gr,randomUUID as Lr}from"crypto";import{mkdir as to,readFile as Dr,rm as E,stat as er,utimes as hr,writeFile as Do}from"fs/promises";import{createHash as Er}from"crypto";var bo;((ya)=>{function o(r){return Er("sha1").update(r).digest("hex")}ya.fast=o})(bo||={});var io;((eo)=>{let o;function r(u){o=u}eo.setGlobal=r;let m=()=>{if(!o)throw Error("Flock global not set");return so.join(o.state,"locks")},a={staleMs:60000,timeoutMs:300000,baseDelayMs:100,maxDelayMs:2000};function f(u){if(typeof u!=="object"||u===null||!("code"in u))return;let i=u.code;if(typeof i!=="string")return;return i}function n(u,i){return new Promise((c,M)=>{if(i?.aborted){M(i.reason??Error("Aborted"));return}let R,b=()=>{i?.removeEventListener("abort",j),c()},j=()=>{if(R)clearTimeout(R);i?.removeEventListener("abort",j),M(i?.reason??Error("Aborted"))};if(i?.addEventListener("abort",j,{once:!0}),R=setTimeout(b,u),i?.aborted)j()})}function s(u){let i=Math.floor(u*0.3),c=Math.floor(Math.random()*(2*i+1))-i;return Math.max(0,u+c)}function t(){return performance.now()}function x(){return performance.timeOrigin+t()}async function N(u){try{return await er(u)}catch(i){let c=f(i);if(c==="ENOENT"||c==="ENOTDIR")return;throw i}}async function T(u,i,c,M){let R=x(),b=await N(i);if(b)return R-b.mtimeMs>M;let j=await N(c);if(j)return R-j.mtimeMs>M;let C=await N(u);if(!C)return!1;return R-C.mtimeMs>M}async function P(u,i){let c=Lr?.()??gr(16).toString("hex"),M=so.join(u,"meta.json"),R=so.join(u,"heartbeat");try{await to(u,{mode:448})}catch(g){if(f(g)!=="EEXIST")throw g;if(!await T(u,R,M,i.staleMs))return{acquired:!1};let S=u+".breaker";try{await to(S,{mode:448})}catch(B){let Z=f(B);if(Z==="EEXIST"){let Fo=await N(S);if(Fo&&x()-Fo.mtimeMs>i.staleMs)await E(S,{recursive:!0,force:!0}).catch(()=>{return});return{acquired:!1}}if(Z==="ENOENT"||Z==="ENOTDIR")return{acquired:!1};throw B}try{if(!await T(u,R,M,i.staleMs))return{acquired:!1};await E(u,{recursive:!0,force:!0});try{await to(u,{mode:448})}catch(B){let Z=f(B);if(Z==="EEXIST"||Z==="ENOTEMPTY")return{acquired:!1};throw B}}finally{await E(S,{recursive:!0,force:!0}).catch(()=>{return})}}let b={token:c,pid:process.pid,hostname:dr.hostname(),createdAt:new Date().toISOString()};await Do(R,"",{flag:"wx"}).catch(async()=>{throw await E(u,{recursive:!0,force:!0}),Error("Lock acquired but heartbeat already existed (possible compromise).")}),await Do(M,JSON.stringify(b,null,2),{flag:"wx"}).catch(async()=>{throw await E(u,{recursive:!0,force:!0}),Error("Lock acquired but meta.json already existed (possible compromise).")});let j;return{acquired:!0,startHeartbeat:(g=Math.max(100,Math.floor(i.staleMs/3)))=>{if(j)return;j=setInterval(()=>{let S=new Date;hr(R,S,S).catch(()=>{return})},g),j.unref?.()},release:async()=>{if(j)clearInterval(j),j=void 0;if((await Dr(M,"utf8").then((S)=>{let B=JSON.parse(S);if(!B||typeof B!=="object")return{};return{token:"token"in B&&typeof B.token==="string"?B.token:void 0}}).catch((S)=>{let B=f(S);if(B==="ENOENT"||B==="ENOTDIR")throw Error("Refusing to release: lock is compromised (metadata missing).");if(S instanceof SyntaxError)throw Error("Refusing to release: lock is compromised (metadata invalid).");throw S})).token!==c)throw Error("Refusing to release: lock token mismatch (not the owner).");await E(u,{recursive:!0,force:!0})}}}async function fo(u,i,c){let M=t()+c.timeoutMs,R=0,b=0,j=c.baseDelayMs;while(!0){i.signal?.throwIfAborted();let C=await P(u,c);if(C.acquired)return C;if(t()>M)throw Error(`Timed out waiting for lock: ${i.key}`);R+=1;let A=s(j);await i.onWait?.({key:i.key,attempt:R,delay:A,waited:b}),await n(A,i.signal),b+=A,j=Math.min(c.maxDelayMs,Math.floor(j*1.7))}}async function qr(u,i={}){i.signal?.throwIfAborted();let c={staleMs:i.staleMs??a.staleMs,timeoutMs:i.timeoutMs??a.timeoutMs,baseDelayMs:i.baseDelayMs??a.baseDelayMs,maxDelayMs:i.maxDelayMs??a.maxDelayMs},M=i.dir??m();await to(M,{recursive:!0});let R=so.join(M,bo.fast(u)+".lock"),b=await fo(R,{key:u,onWait:i.onWait,signal:i.signal},c);b.startHeartbeat();let j,C=()=>{return j??=b.release()};return{release:C,[Symbol.asyncDispose](){return C()}}}eo.acquire=qr;async function Ca(u,i,c={}){let R=[];try{const M=ho(R,await qr(u,c),1);c.signal?.throwIfAborted();return await i()}catch(b){var j=b,C=1}finally{var A=vo(R,j,C);A&&await A}}eo.withLock=Ca,eo.effect=W.fn("Flock.effect")(function*(u,i={}){return yield*W.acquireRelease(W.promise((c)=>io.acquire(u,{...i,signal:c})).pipe(W.withSpan("Flock.acquire",{attributes:{key:u}})),(c)=>W.promise(()=>c.release()).pipe(W.withSpan("Flock.release"))).pipe(W.asVoid)})})(io||={});import w from"path";import vr from"os";import uo from"path";var G=vr.homedir(),{env:K}=process,D=K.XDG_DATA_HOME||(G?uo.join(G,".local","share"):void 0),po=K.XDG_CONFIG_HOME||(G?uo.join(G,".config"):void 0),lo=K.XDG_STATE_HOME||(G?uo.join(G,".local","state"):void 0),ko=K.XDG_CACHE_HOME||(G?uo.join(G,".cache"):void 0),ga=K.XDG_RUNTIME_DIR||void 0,lr=(K.XDG_DATA_DIRS||"/usr/local/share/:/usr/share/").split(":");if(D)lr.unshift(D);var kr=(K.XDG_CONFIG_DIRS||"/etc/xdg").split(":");if(po)kr.unshift(po);import om from"os";var e="qitqode";function Bo(o=process.env){let r=o.QITQODE_HOME;if(r){if(!w.isAbsolute(r))throw Error(`QITQODE_HOME must be an absolute path, got: ${JSON.stringify(r)}`);return{mode:"qitqode_home",root:r,data:w.join(r,"data"),cache:w.join(r,"cache"),config:w.join(r,"config"),state:w.join(r,"state")}}return{mode:"xdg",data:w.join(D,e),cache:w.join(ko,e),config:w.join(po,e),state:w.join(lo,e)}}function So(o=process.env){let r=o.QITQODE_LOG_DIR;if(r){if(!w.isAbsolute(r))throw Error(`QITQODE_LOG_DIR must be an absolute path, got: ${JSON.stringify(r)}`);return r}return w.join(D,e,"log")}var rm;((or)=>{class o extends rr.Service()("@qitqode/Global"){}or.Service=o,or.layer=mr.effect(o,W.gen(function*(){let m=process.env.HOME||process.env.USERPROFILE||om.homedir(),{data:a,cache:f,config:n,state:s}=yield*W.sync(()=>Bo()),t=w.join(f,"bin"),x=yield*W.sync(()=>So());return o.of({home:m,data:a,cache:f,config:n,state:s,bin:t,log:x})}))})(rm||={});var{data:am,cache:ar,config:fm,state:nr}=Bo(),H={get home(){return process.env.HOME||process.env.USERPROFILE||mm.homedir()},data:am,bin:xo.join(ar,"bin"),log:So(),cache:ar,config:fm,state:nr};io.setGlobal({state:nr});await Promise.all([U.mkdir(H.data,{recursive:!0}),U.mkdir(H.config,{recursive:!0}),U.mkdir(H.state,{recursive:!0}),U.mkdir(H.log,{recursive:!0}),U.mkdir(H.bin,{recursive:!0})]);var fr="21",nm=await Y.readText(xo.join(H.cache,"version")).catch(()=>"0");if(nm!==fr){try{let o=await U.readdir(H.cache);await Promise.all(o.map((r)=>U.rm(xo.join(H.cache,r),{recursive:!0,force:!0})))}catch{}await Y.write(xo.join(H.cache,"version"),fr)}var sr="0.1.32",tr="latest",nf="1ca9e69f2a078499c8177161c6437a234cd8ef5a",sf=!1;import sm from"path";var q;async function ir(){if(q)return q;let o=sm.join(_.Path.data,"installation_id"),r=await Y.readText(o).catch(()=>{return});if(r&&r.trim())return q=r.trim(),q;return q=crypto.randomUUID(),await Y.write(o,q),q}var pr="QITQODE_RUN_ID",ur="QITQODE_PROCESS_ROLE";function tm(){return process.env.QITQODE_RUN_ID??=crypto.randomUUID()}function im(o){return process.env.QITQODE_PROCESS_ROLE??=o}function Of(o){return{runID:tm(),processRole:im(o)}}function Nf(o){let r=Object.fromEntries(Object.entries(process.env).filter((m)=>m[1]!==void 0));return o?Object.assign(r,o):r}function pm(){if(process.env.USER)return process.env.USER;if(process.env.USERNAME)return process.env.USERNAME;return V.userInfo().username}function um(){return Intl.DateTimeFormat().resolvedOptions().locale}function xm(){return Intl.DateTimeFormat().resolvedOptions().timeZone}async function cm(){let o=V.cpus();return{os:{platform:V.platform(),arch:V.arch(),release:V.release(),hostname:V.hostname()},cpu:{model:o[0]?.model??"unknown",count:o.length},memory:{total_bytes:V.totalmem()},user:{username:pm(),homedir:V.homedir()},runtime:{bun_version:Bun.version,node_version:process.versions.node,pid:process.pid,timezone:xm(),locale:um()},paths:{cwd:process.cwd(),data:_.Path.data,config:_.Path.config},qitqode:{version:sr,channel:tr,installation_id:await ir(),run_id:pr,process_role:ur}}}var Rr={};J(Rr,{toString:()=>em,parse:()=>hm,match:()=>Lm,fromParsedKey:()=>Dm});var y={done:!1,hasNext:!1};function X(o,...r){let m=o,a=r.map((n)=>("lazy"in n)?Om(n):void 0),f=0;for(;f<r.length;){if(a[f]===void 0||!Nm(m)){let x=r[f];m=x(m),f+=1;continue}let n=[];for(let x=f;x<r.length;x++){let N=a[x];if(N===void 0||(n.push(N),N.isSingle))break}let s=[];for(let x of m)if(xr(x,s,n))break;let{isSingle:t}=n.at(-1);m=t?s[0]:s,f+=n.length}return m}function xr(o,r,m){if(m.length===0)return r.push(o),!1;let a=o,f=y,n=!1;for(let[s,t]of m.entries()){let{index:x,items:N}=t;if(N.push(a),f=t(a,x,N),t.index+=1,f.hasNext){if(f.hasMany??!1){for(let T of f.next)if(xr(T,r,m.slice(s+1)))return!0;return n}a=f.next}if(!f.hasNext)break;f.done&&(n=!0)}return f.hasNext&&r.push(a),n}function Om(o){let{lazy:r,lazyArgs:m}=o,a=r(...m);return Object.assign(a,{isSingle:r.single??!1,index:0,items:[]})}function Nm(o){return typeof o=="string"||typeof o=="object"&&o!==null&&Symbol.iterator in o}function co(o,r){let m=r.length-o.length;if(m===1){let[a,...f]=r;return X(a,{lazy:o,lazyArgs:f})}if(m===0){let a={lazy:o,lazyArgs:r};return Object.assign((f)=>X(f,a),a)}throw Error("Wrong number of arguments")}function jm(...o){return co(Rm,o)}function Rm(){let o=new Set;return(r)=>o.has(r)?y:(o.add(r),{done:!1,hasNext:!0,next:r})}function Tm(...o){return co(Im,o)}function Im(o){let r=o,m=new Set;return(a,f,n)=>{let s=r(a,f,n);return m.has(s)?y:(m.add(s),{done:!1,hasNext:!0,next:a})}}function cr(o,r,m){let a=(f)=>o(f,...r);return m===void 0?a:Object.assign(a,{lazy:m,lazyArgs:r})}function O(o,r,m){let a=o.length-r.length;if(a===0)return o(...r);if(a===1)return cr(o,r,m);throw Error("Wrong number of arguments")}function Mm(...o){return O(Object.values,o)}var Nr={asc:(o,r)=>o>r,desc:(o,r)=>o<r};function Oo(o,r){let[m,...a]=r;if(!Wm(m)){let n=Jo(...a);return o(m,n)}let f=Jo(m,...a);return(n)=>o(n,f)}function Jo(o,r,...m){let a=typeof o=="function"?o:o[0],f=typeof o=="function"?"asc":o[1],{[f]:n}=Nr,s=r===void 0?void 0:Jo(r,...m);return(t,x)=>{let N=a(t),T=a(x);return n(N,T)?1:n(T,N)?-1:s?.(t,x)??0}}function Wm(o){if(Or(o))return!0;if(typeof o!="object"||!Array.isArray(o))return!1;let[r,m,...a]=o;return Or(r)&&typeof m=="string"&&m in Nr&&a.length===0}var Or=(o)=>typeof o=="function"&&o.length===1;function No(...o){return Oo(bm,o)}var bm=(o,r)=>[...o].sort(r);function Bm(...o){return O(Sm,o)}function Sm(o,r){let m={};for(let[a,f]of Object.entries(o))r(f,a,o)&&(m[a]=f);return m}function wo(o){if(typeof o!="object"||o===null)return!1;let r=Object.getPrototypeOf(o);return r===null||r===Object.prototype}function Jm(...o){return O(jr,o)}function jr(o,r){let m={...o,...r};for(let a in r){if(!(a in o))continue;let{[a]:f}=o;if(!wo(f))continue;let{[a]:n}=r;wo(n)&&(m[a]=jr(f,n))}return m}function h(...o){return O(wm,o)}var wm=(o,r)=>o.length>=r;function _m(...o){return O(zm,o)}function zm(o,r){if(!h(r,1))return{...o};if(!h(r,2)){let{[r[0]]:a,...f}=o;return f}let m={...o};for(let a of r)delete m[a];return m}function Cm(...o){return O(Hm,o)}function Hm(o,r){let m={};for(let[a,f]of Object.entries(o)){let n=r(f,a,o);m[a]=n}return m}function Qm(...o){return O($m,o,Gm)}var $m=(o,r)=>o.map(r),Gm=(o)=>(r,m,a)=>({done:!1,hasNext:!0,next:o(r,m,a)});function Vm(...o){return O(ym,o)}var ym=(o,r)=>{let m=Object.create(null);for(let a=0;a<o.length;a++){let f=o[a],n=r(f,a,o);if(n!==void 0){let s=m[n];s===void 0?m[n]=[f]:s.push(f)}}return Object.setPrototypeOf(m,Object.prototype),m};function _o(...o){return O(v,o)}function v(o,r){if(o===r||Object.is(o,r))return!0;if(typeof o!="object"||typeof r!="object"||o===null||r===null||Object.getPrototypeOf(o)!==Object.getPrototypeOf(r))return!1;if(Array.isArray(o))return Fm(o,r);if(o instanceof Map)return Km(o,r);if(o instanceof Set)return Um(o,r);if(o instanceof Date)return o.getTime()===r.getTime();if(o instanceof RegExp)return o.toString()===r.toString();if(Object.keys(o).length!==Object.keys(r).length)return!1;for(let[m,a]of Object.entries(o))if(!(m in r)||!v(a,r[m]))return!1;return!0}function Fm(o,r){if(o.length!==r.length)return!1;for(let[m,a]of o.entries())if(!v(a,r[m]))return!1;return!0}function Km(o,r){if(o.size!==r.size)return!1;for(let[m,a]of o.entries())if(!r.has(m)||!v(a,r.get(m)))return!1;return!0}function Um(o,r){if(o.size!==r.size)return!1;let m=[...r];for(let a of o){let f=!1;for(let[n,s]of m.entries())if(v(a,s)){f=!0,m.splice(n,1);break}if(!f)return!1}return!0}function Ym(...o){return Oo(qm,o)}function qm(o,r){if(!h(o,2))return o[0];let[m]=o,[,...a]=o;for(let f of a)r(f,m)<0&&(m=f);return m}function Xm(...o){return O(Pm,o,Am)}var Pm=(o,r)=>o.flatMap(r),Am=(o)=>(r,m,a)=>{let f=o(r,m,a);return Array.isArray(f)?{done:!1,hasNext:!0,hasMany:!0,next:f}:{done:!1,hasNext:!0,next:f}};function Zm(...o){return O(Object.entries,o)}function Em(...o){return O(dm,o,gm)}var dm=(o,r)=>o.filter(r),gm=(o)=>(r,m,a)=>o(r,m,a)?{done:!1,hasNext:!0,next:r}:y;function Lm(o,r){if(!o)return!1;let m={...o,super:o.super??!1},a={...r,super:r.super??!1};return _o(m,a)}function Dm(o,r=!1){return{name:o.name===" "?"space":o.name,ctrl:o.ctrl,meta:o.meta,shift:o.shift,super:o.super??!1,leader:r}}function em(o){if(!o)return"";let r=[];if(o.ctrl)r.push("ctrl");if(o.meta)r.push("alt");if(o.super)r.push("super");if(o.shift)r.push("shift");if(o.name)if(o.name==="delete")r.push("del");else r.push(o.name);let m=r.join("+");if(o.leader)m=m?`<leader> ${m}`:"<leader>";return m}function hm(o){if(o==="none")return[];return o.split(",").map((r)=>{let a=r.replace(/<leader>/g,"leader+").toLowerCase().split("+"),f={ctrl:!1,meta:!1,shift:!1,leader:!1,name:""};for(let n of a)switch(n){case"ctrl":f.ctrl=!0;break;case"alt":case"meta":case"option":f.meta=!0;break;case"super":f.super=!0;break;case"shift":f.shift=!0;break;case"leader":f.leader=!0;break;case"esc":f.name="escape";break;default:f.name=n;break}return f})}var Tr={};J(Tr,{create:()=>lm,NotFound:()=>zo});import{AsyncLocalStorage as vm}from"async_hooks";class zo extends Error{name;constructor(o){super(`No context found for ${o}`);this.name=o}}function lm(o){let r=new vm;return{use(){let m=r.getStore();if(!m)throw new zo(o);return m},provide(m,a){return r.run(m,a)}}}var Mr={};J(Mr,{truncateMiddle:()=>fa,truncate:()=>aa,todayTimeOrDateTime:()=>oa,titlecase:()=>km,time:()=>Co,pluralize:()=>na,number:()=>ra,duration:()=>ma,datetime:()=>Ir});function km(o){return o.replace(/\b\w/g,(r)=>r.toUpperCase())}function Co(o){return new Date(o).toLocaleTimeString(void 0,{timeStyle:"short"})}function Ir(o){let r=new Date(o),m=Co(o),a=r.toLocaleDateString();return`${m} \xB7 ${a}`}function oa(o){let r=new Date(o),m=new Date;if(r.getFullYear()===m.getFullYear()&&r.getMonth()===m.getMonth()&&r.getDate()===m.getDate())return Co(o);else return Ir(o)}function ra(o){if(o>=1e6)return(o/1e6).toFixed(1)+"M";else if(o>=1000)return(o/1000).toFixed(1)+"K";return o.toString()}function ma(o){if(o<1000)return`${o}ms`;if(o<60000)return`${(o/1000).toFixed(1)}s`;if(o<3600000){let a=Math.floor(o/60000),f=Math.floor(o%60000/1000);return`${a}m ${f}s`}if(o<86400000){let a=Math.floor(o/3600000),f=Math.floor(o%3600000/60000);return`${a}h ${f}m`}let r=Math.floor(o%86400000/3600000);return`${Math.floor(o/86400000)}d ${r}h`}function aa(o,r){if(r<=0)return"";if(o.length<=r)return o;return o.slice(0,r-1)+"\u2026"}function fa(o,r=35){if(r<=0)return"";if(o.length<=r)return o;let m="\u2026",a=Math.ceil((r-m.length)/2),f=Math.floor((r-m.length)/2);return o.slice(0,a)+m+(f>0?o.slice(-f):"")}function na(o,r,m){return(o===1?r:m).replace("{}",o.toString())}var Br={};J(Br,{write:()=>ia,read:()=>ta});var l=new Map;function Wr(o){if(!l.has(o))l.set(o,{readers:0,writer:!1,waitingReaders:[],waitingWriters:[]});return l.get(o)}function sa(o){let r=l.get(o);if(!r||r.writer||r.readers>0)return;if(r.waitingWriters.length>0){r.waitingWriters.shift()();return}while(r.waitingReaders.length>0)r.waitingReaders.shift()();if(r.readers===0&&!r.writer&&r.waitingReaders.length===0&&r.waitingWriters.length===0)l.delete(o)}function br(o){return new Promise((r)=>{let m=()=>{o.acquire();let a=!1;r({[Symbol.dispose]:()=>{if(a)return;a=!0,o.release(),sa(o.key)}})};if(o.available())m();else o.waiting.push(m)})}async function ta(o){let r=Wr(o);return br({key:o,available:()=>!r.writer&&r.waitingWriters.length===0,acquire:()=>r.readers++,release:()=>r.readers--,waiting:r.waitingReaders})}async function ia(o){let r=Wr(o);return br({key:o,available:()=>!r.writer&&r.readers===0,acquire:()=>{r.writer=!0},release:()=>{r.writer=!1},waiting:r.waitingWriters})}var yr={};J(yr,{redactValue:()=>Go,init:()=>Ia,flush:()=>Ma,file:()=>Ta,enabled:()=>ja,create:()=>Vo,Level:()=>xa,Default:()=>Ra});import Io from"path";import F from"fs/promises";import{createWriteStream as Qr}from"fs";var lu="https://qortex.forgewise.tech/api/v1/qortex/streamTier",ku=new URL("https://qortex.forgewise.tech/api/v1/qortex/streamTier").origin,Sr="https://qortex.forgewise.tech/api/v1/qortex/streamTier".replace(/\/streamTier$/,""),ox={name:"QitQode",family:"qlex",npm:"@qitqode/qlex-provider",limit:{context:200000,output:16384},capabilities:{temperature:!0,reasoning:!1,attachment:!0,toolcall:!0,input:{text:!0,audio:!1,image:!0,video:!1,pdf:!1},output:{text:!0,audio:!1,image:!1,video:!1,pdf:!1},interleaved:!1},release_date:"2025-07-06"};function k(o){return o.replace(/provider\s+'[^']*'\s*(?:stream\s+)?(?:failed|error)?\s*:?\s*/gi,"").replace(/\b(?:anthropic|openai|google|vertex\s*ai|bedrock|azure|x\.?ai|mistral|deepseek|cohere|groq|together(?:\.ai)?|openrouter|fireworks|perplexity|meta)\b/gi,"").replace(/\b(?:gpt|claude|gemini|grok|llama|qwen|sonnet|opus|haiku|o[0-9])[-\w.]*/gi,"").replace(/\s+/g," ").replace(/^[\s:;,.\-]+/,"").replace(/[\s.]+$/,"").trim()}var rx={notLoggedIn:"Not logged in to QitQode. Run `qitqode auth login` to sign in with your Forgewise account.",rateLimit:"Rate limit exceeded. Please wait a moment before sending more requests.",insufficientBalance:(o)=>{let r=o?k(o):"";return`Insufficient qredits${r?`: ${r}`:""}. Add qredits at qitqode.com to continue.`},invalidCredentials:(o)=>{let r=o?k(o):"";return`QitQode sign-in was rejected by the server${r?` (${r})`:""}. Please sign in again with your Forgewise account or a valid API key.`},accountNotLinked:(o)=>{let r=o?k(o):"";return`This credential isn't linked to a QitQode account${r?` (${r})`:""}, so there is no wallet to read. Sign in with your Forgewise account, or use a key issued to that account.`},gatewayUnavailable:(o)=>{let r=o?k(o):"";return`The QitQode model gateway is unavailable${r?` (${r})`:""}. Your sign-in is still valid \u2014 the model backend isn't reachable through its trusted gateway yet. This is a server-side configuration issue, not a login problem.`},streamFailed:(o)=>{let r=o?k(o):"";return`The QitQode model stream failed${r?`: ${r}`:""}.`},insufficientBalanceFallback:"Insufficient qredits.",insufficientBalanceCliSuffix:" Visit qitqode.com to add qredits.",invalidCredentialsFallback:"QitQode sign-in was rejected by the server. Please sign in again.",apiKeyPrompt:"Paste your Qortex API key:",apiKeyPlaceholder:"qortex-...",loginMenuForgewise:"Sign in with Forgewise account",loginMenuApiKey:"Paste a Qortex API key",waitingForgewise:"\u23F3 Waiting for Forgewise sign-in in your browser\u2026"};function p(o){let r=process.env[o]?.toLowerCase();return r==="true"||r==="1"}function Ho(o){let r=process.env[o]?.toLowerCase();return r==="false"||r==="0"}function $(o){let r=process.env[o];if(!r)return;let m=Number(r);return Number.isInteger(m)&&m>0?m:void 0}var d=p("QITQODE_EXPERIMENTAL"),jo=p("QITQODE_DISABLE_CLAUDE_CODE"),Ro=p("QITQODE_DISABLE_EXTERNAL_SKILLS"),pa=Ro||jo||p("QITQODE_DISABLE_CLAUDE_CODE_SKILLS"),ua=process.env.QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT,Jr={OTEL_EXPORTER_OTLP_ENDPOINT:process.env.OTEL_EXPORTER_OTLP_ENDPOINT,OTEL_EXPORTER_OTLP_HEADERS:process.env.OTEL_EXPORTER_OTLP_HEADERS,QITQODE_AUTO_SHARE:p("QITQODE_AUTO_SHARE"),QITQODE_AUTO_HEAP_SNAPSHOT:p("QITQODE_AUTO_HEAP_SNAPSHOT"),QITQODE_GIT_BASH_PATH:process.env.QITQODE_GIT_BASH_PATH,QITQODE_CONFIG:process.env.QITQODE_CONFIG,QITQODE_CONFIG_CONTENT:process.env.QITQODE_CONFIG_CONTENT,get QITQODE_BACKEND_URL(){return process.env.QITQODE_BACKEND_URL??Sr},QITQODE_DISABLE_AUTOUPDATE:p("QITQODE_DISABLE_AUTOUPDATE"),QITQODE_DISABLE_LOG_ROTATION:p("QITQODE_DISABLE_LOG_ROTATION"),QITQODE_ALWAYS_NOTIFY_UPDATE:p("QITQODE_ALWAYS_NOTIFY_UPDATE"),QITQODE_DISABLE_PRUNE:p("QITQODE_DISABLE_PRUNE"),QITQODE_DISABLE_TERMINAL_TITLE:p("QITQODE_DISABLE_TERMINAL_TITLE"),QITQODE_SHOW_TTFD:p("QITQODE_SHOW_TTFD"),QITQODE_PERMISSION:process.env.QITQODE_PERMISSION,QITQODE_DISABLE_DEFAULT_PLUGINS:p("QITQODE_DISABLE_DEFAULT_PLUGINS"),QITQODE_DISABLE_LSP_DOWNLOAD:!0,QITQODE_ENABLE_EXPERIMENTAL_MODELS:p("QITQODE_ENABLE_EXPERIMENTAL_MODELS"),QITQODE_DISABLE_AUTOCOMPACT:p("QITQODE_DISABLE_AUTOCOMPACT"),QITQODE_DISABLE_MODELS_FETCH:p("QITQODE_DISABLE_MODELS_FETCH"),QITQODE_DISABLE_MOUSE:p("QITQODE_DISABLE_MOUSE"),QITQODE_OUTPUT_LENGTH_CONTINUATION_LIMIT:$("QITQODE_OUTPUT_LENGTH_CONTINUATION_LIMIT")??3,QITQODE_INVALID_OUTPUT_CONTINUATION_LIMIT:$("QITQODE_INVALID_OUTPUT_CONTINUATION_LIMIT")??2,QITQODE_TEXT_NGRAM_N:$("QITQODE_TEXT_NGRAM_N")??6,QITQODE_TEXT_REPEAT_THRESHOLD:$("QITQODE_TEXT_REPEAT_THRESHOLD")??3,QITQODE_TEXT_WINDOW_TOKENS:$("QITQODE_TEXT_WINDOW_TOKENS")??500,QITQODE_MAX_PROMPT_IMAGES:$("QITQODE_MAX_PROMPT_IMAGES")??4,QITQODE_MAX_PROMPT_IMAGE_SIZE:$("QITQODE_MAX_PROMPT_IMAGE_SIZE")??393216,QITQODE_DISABLE_PROVIDER_ENV:p("QITQODE_DISABLE_PROVIDER_ENV"),QITQODE_DISABLE_CLAUDE_CODE:jo,get QITQODE_DISABLE_CLAUDE_CODE_MCP(){return jo||p("QITQODE_DISABLE_CLAUDE_CODE_MCP")},QITQODE_DISABLE_CLAUDE_CODE_PROMPT:jo||p("QITQODE_DISABLE_CLAUDE_CODE_PROMPT"),QITQODE_DISABLE_CLAUDE_CODE_COMMANDS:p("QITQODE_DISABLE_CLAUDE_CODE_COMMANDS"),QITQODE_DISABLE_CLAUDE_CODE_SKILLS:pa,QITQODE_DISABLE_EXTERNAL_SKILLS:Ro,QITQODE_DISABLE_CODEX_SKILLS:Ro||p("QITQODE_DISABLE_CODEX_SKILLS"),QITQODE_DISABLE_OPENCODE_SKILLS:Ro||p("QITQODE_DISABLE_OPENCODE_SKILLS"),QITQODE_FAKE_VCS:process.env.QITQODE_FAKE_VCS,QITQODE_DISABLE_GIT:p("QITQODE_DISABLE_GIT"),get QITQODE_SERVER_PASSWORD(){return process.env.QITQODE_SERVER_PASSWORD},get QITQODE_SERVER_USERNAME(){return process.env.QITQODE_SERVER_USERNAME},QITQODE_ENABLE_QUESTION_TOOL:p("QITQODE_ENABLE_QUESTION_TOOL"),QITQODE_EXPERIMENTAL:d,QITQODE_EXPERIMENTAL_FILEWATCHER:oo.boolean("QITQODE_EXPERIMENTAL_FILEWATCHER").pipe(oo.withDefault(!1)),QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER:oo.boolean("QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER").pipe(oo.withDefault(!1)),QITQODE_EXPERIMENTAL_ICON_DISCOVERY:d||p("QITQODE_EXPERIMENTAL_ICON_DISCOVERY"),QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT:ua===void 0?process.platform==="win32":p("QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT"),QITQODE_ENABLE_EXA:p("QITQODE_ENABLE_EXA")||d||p("QITQODE_EXPERIMENTAL_EXA"),QITQODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS:$("QITQODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS"),QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX:$("QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX"),QITQODE_EXPERIMENTAL_OXFMT:d||p("QITQODE_EXPERIMENTAL_OXFMT"),QITQODE_EXPERIMENTAL_LSP_TY:p("QITQODE_EXPERIMENTAL_LSP_TY"),QITQODE_EXPERIMENTAL_LSP_TOOL:d||p("QITQODE_EXPERIMENTAL_LSP_TOOL"),QITQODE_EXPERIMENTAL_WORKFLOW_TOOL:!Ho("QITQODE_EXPERIMENTAL_WORKFLOW_TOOL"),QITQODE_EXPERIMENTAL_MARKDOWN:!Ho("QITQODE_EXPERIMENTAL_MARKDOWN"),QITQODE_MODELS_URL:process.env.QITQODE_MODELS_URL,QITQODE_MODELS_PATH:process.env.QITQODE_MODELS_PATH,QITQODE_DB:process.env.QITQODE_DB,QITQODE_DISABLE_CHANNEL_DB:!Ho("QITQODE_DISABLE_CHANNEL_DB"),QITQODE_SKIP_MIGRATIONS:p("QITQODE_SKIP_MIGRATIONS"),QITQODE_STRICT_CONFIG_DEPS:p("QITQODE_STRICT_CONFIG_DEPS"),QITQODE_WORKSPACE_ID:process.env.QITQODE_WORKSPACE_ID,QITQODE_EXPERIMENTAL_HTTPAPI:p("QITQODE_EXPERIMENTAL_HTTPAPI"),QITQODE_EXPERIMENTAL_WORKSPACES:d||p("QITQODE_EXPERIMENTAL_WORKSPACES"),get QITQODE_DISABLE_COMPOSE_SKILLS(){return p("QITQODE_DISABLE_COMPOSE_SKILLS")},get QITQODE_DISABLE_BUILTIN_SKILLS(){return p("QITQODE_DISABLE_BUILTIN_SKILLS")},get QITQODE_DISABLE_PROJECT_CONFIG(){return p("QITQODE_DISABLE_PROJECT_CONFIG")},get QITQODE_TUI_CONFIG(){return process.env.QITQODE_TUI_CONFIG},get QITQODE_CONFIG_DIR(){return process.env.QITQODE_CONFIG_DIR},get QITQODE_HOME(){return process.env.QITQODE_HOME},get QITQODE_PURE(){return p("QITQODE_PURE")},get QITQODE_PLUGIN_META_FILE(){return process.env.QITQODE_PLUGIN_META_FILE},get QITQODE_CLIENT(){return process.env.QITQODE_CLIENT??"cli"}};var xa=Hr.enum(["DEBUG","INFO","WARN","ERROR"]).meta({ref:"LogLevel",description:"Log level"}),wr={DEBUG:0,INFO:1,WARN:2,ERROR:3},ca=10,Oa=52428800,Na=209715200,$r="INFO";function ro(o){return wr[o]>=wr[$r]}function ja(o){return ro(o)}var _r=new Map,Ra=Vo({service:"default"}),z="";function Ta(){return z}var ao,To=0,zr=!0,mo=(o)=>{return process.stderr.write(o),o.length};function Mo(){return new Date().toISOString().split(".")[0].replace(/:/g,"")}async function Ia(o){if(o.level)$r=o.level;if(zr=o.rotate??!Jr.QITQODE_DISABLE_LOG_ROTATION,Gr(_.Path.log),o.print)return;if(z=Io.join(_.Path.log,o.dev?"dev.log":Mo()+".log"),o.dev){let r=await F.stat(z).catch(()=>null);if(r&&r.size>0)await F.rename(z,`${z}.${Mo()}`).catch(()=>{})}else await F.truncate(z).catch(()=>{});ao=Qr(z,{flags:"a"}),To=0,mo=(r)=>{return $o=$o.then(async()=>{if(To+=Buffer.byteLength(r),zr&&To>=Oa)To=Buffer.byteLength(r),await Wa();await new Promise((m)=>{if(!ao){m();return}ao.write(r,()=>m())})}).catch(()=>{}),r.length}}var $o=Promise.resolve();async function Ma(){await $o}async function Wa(){let o=ao,r=`${z}.${Mo()}`;for(let m=2;await F.stat(r).then(()=>!0,()=>!1);m++)r=`${z}.${Mo()}.${m}`;if(await F.rename(z,r).catch(()=>{}),ao=Qr(z,{flags:"a"}),o)o.end();Gr(_.Path.log)}async function Gr(o){let r=await F.readdir(o).catch(()=>[]),a=(await Promise.all(r.filter((t)=>t.includes(".log")&&Io.join(o,t)!==z).map(async(t)=>{let x=await F.stat(Io.join(o,t)).catch(()=>null);return x?.isFile()?{name:t,size:x.size}:null}))).flatMap((t)=>t?[t]:[]).sort((t,x)=>t.name<x.name?-1:t.name>x.name?1:0),f=a.reduce((t,x)=>t+x.size,0),n=a.length,s=a.filter((t)=>{if(n<=ca&&f<=Na)return!1;return f-=t.size,n-=1,!0});await Promise.all(s.map((t)=>F.unlink(Io.join(o,t.name)).catch(()=>{})))}var ba=/token|secret|password|passwd|credential|api[_-]?key|authorization|cookie|set-cookie/i;function Go(o,r){if(ba.test(o)&&r!==void 0&&r!==null)return"[REDACTED]";return r}var Qo=10240;function Ba(o){try{let r=JSON.stringify(o,function(m,a){return m?Go(m,a):a});if(typeof r==="string"&&r.length>Qo)return r.slice(0,Qo)+`\u2026[truncated ${r.length-Qo} chars]`;return r}catch{return"[unserializable]"}}function Vr(o,r=0){let m=o.message;return o.cause instanceof Error&&r<10?m+" Caused by: "+Vr(o.cause,r+1):m}var Cr=Date.now();function Vo(o){o=o||{};let r=o.service;if(r&&typeof r==="string"){let f=_r.get(r);if(f)return f}function m(f,n){let s=Object.entries({...o,...n}).filter(([N,T])=>T!==void 0&&T!==null).map(([N,T])=>{let P=`${N}=`;if(T instanceof Error)return P+Vr(T);let fo=Go(N,T);if(fo!==T)return P+fo;if(typeof T==="object"&&T!==null)return P+Ba(T);return P+T}).join(" "),t=new Date,x=t.getTime()-Cr;return Cr=t.getTime(),[t.toISOString().split(".")[0],"+"+x+"ms",s,f].filter(Boolean).join(" ")+`
|
|
3
3
|
`}let a={debug(f,n){if(ro("DEBUG"))mo("DEBUG "+m(f,n))},info(f,n){if(ro("INFO"))mo("INFO "+m(f,n))},error(f,n){if(ro("ERROR"))mo("ERROR "+m(f,n))},warn(f,n){if(ro("WARN"))mo("WARN "+m(f,n))},tag(f,n){if(o)o[f]=n;return a},clone(){return Vo({...o})},time(f,n){let s=Date.now();a.info(f,{status:"started",...n});function t(){a.info(f,{status:"completed",duration:Date.now()-s,...n})}return{stop:t,[Symbol.dispose](){t()}}}};if(r&&typeof r==="string")_r.set(r,a);return a}var Fr={};J(Fr,{listen:()=>Sa,emit:()=>Ja,client:()=>wa});function Sa(o){onmessage=async(r)=>{let m=JSON.parse(r.data);if(m.type==="rpc.request")try{let a=await o[m.method](m.input);postMessage(JSON.stringify({type:"rpc.result",result:a,id:m.id}))}catch(a){postMessage(JSON.stringify({type:"rpc.result",error:a instanceof Error?a.message:String(a),id:m.id}))}}}function Ja(o,r){postMessage(JSON.stringify({type:"rpc.event",event:o,data:r}))}function wa(o){let r=new Map,m=new Map,a=0;return o.onmessage=async(f)=>{let n=JSON.parse(f.data);if(n.type==="rpc.result"){let s=r.get(n.id);if(s)if(r.delete(n.id),"error"in n)s.reject(Error(typeof n.error==="string"?n.error:"RPC call failed"));else s.resolve(n.result)}if(n.type==="rpc.event"){let s=m.get(n.event);if(s)for(let t of s)t(n.data)}},{call(f,n){let s=a++;return new Promise((t,x)=>{r.set(s,{resolve:t,reject:x});try{o.postMessage(JSON.stringify({type:"rpc.request",method:f,input:n,id:s}))}catch(N){r.delete(s),x(N)}})},on(f,n){let s=m.get(f);if(!s)s=new Set,m.set(f,s);return s.add(n),()=>{s.delete(n)}}}}var Ur={};J(Ur,{estimate:()=>Kr});function Kr(o){return Math.max(0,Math.round((o||"").length/4))}var Yr={};J(Yr,{match:()=>Wo,allStructured:()=>za,all:()=>_a});function Wo(o,r){if(o)o=o.replaceAll("\\","/");if(r)r=r.replaceAll("\\","/");let m=r.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");if(m.endsWith(" .*"))m=m.slice(0,-3)+"( .*)?";let a=process.platform==="win32"?"si":"s";return new RegExp("^"+m+"$",a).test(o)}function _a(o,r){let m=X(r,Object.entries,No([([f])=>f.length,"asc"],[([f])=>f,"asc"])),a=void 0;for(let[f,n]of m)if(Wo(o,f)){a=n;continue}return a}function za(o,r){let m=X(r,Object.entries,No([([f])=>f.length,"asc"],[([f])=>f,"asc"])),a=void 0;for(let[f,n]of m){let s=f.split(/\s+/);if(!Wo(o.head,s[0]))continue;if(s.length===1||yo(o.tail,s.slice(1))){a=n;continue}}return a}function yo(o,r){if(r.length===0)return!0;let[m,...a]=r;if(m==="*")return yo(o,a);for(let f=0;f<o.length;f++)if(Wo(o[f],m)&&yo(o.slice(f+1),a))return!0;return!1}export{sr as Vr,tr as Wr,nf as Xr,sf as Yr,X as Zr,jm as _r,Tm as $r,Mm as as,No as bs,Bm as cs,Jm as ds,_m as es,Cm as fs,Qm as gs,Vm as hs,_o as is,Ym as js,Xm as ks,Zm as ls,Em as ms,Wo as ns,Yr as os,lu as ps,ku as qs,Sr as rs,ox as ss,k as ts,rx as us,pr as vs,ur as ws,tm as xs,Of as ys,Nf as zs,Po as As,Eo as Bs,Lo as Cs,ir as Ds,cm as Es,Rr as Fs,Tr as Gs,Mr as Hs,Br as Is,wa as Js,Fr as Ks,Ur as Ls,bo as Ms,io as Ns,rm as Os,H as Ps,_ as Qs,Jr as Rs,xa as Ss,ja as Ts,Ra as Us,Ta as Vs,Ia as Ws,Ma as Xs,Go as Ys,Vo as Zs,yr as _s};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{In as j,Jn as R,Kn as O,Ln as A,Rn as y,Wn as q,Xn as M,Zn as C,do as K}from"./chunk-
|
|
2
|
+
import{In as j,Jn as R,Kn as O,Ln as A,Rn as y,Wn as q,Xn as M,Zn as C,do as K}from"./chunk-3nx7112w.js";import{Ns as v,Qs as D}from"./chunk-xj765svc.js";import{$s as m,bt as b,ht as I,st as d}from"./chunk-tqj69nh6.js";import{GO as T,HO as _}from"./chunk-7xm75w1e.js";import P from"path";function pt(t){let e=t&&typeof t==="object"&&"cause"in t?t.cause??t:t;if(!(e instanceof I.RunFailedError))return{error:e,detail:b(e),missing:!1};let r=e.stderr.toString().split(/\r?\n/).map((o)=>o.trim()).filter(Boolean),n=r.filter((o)=>o.startsWith("error:")).map((o)=>o.replace(/^error:\s*/,""));return{error:e,detail:n[0]??r.at(-1),missing:r.some((o)=>o.includes("No version matching"))}}var $={resolve:(t)=>q(t)},z={readText:(t)=>d.readText(t),write:async(t,e)=>{await d.write(t,e)},exists:(t)=>d.exists(t),files:(t,e)=>K(t,e)},G=z;function V(t){if(typeof t==="string")return t;if(!Array.isArray(t))return;if(typeof t[0]!=="string")return;return t[0]}function H(t){if(!t||typeof t!=="object"||Array.isArray(t))return;let e=t;if(!Array.isArray(e.plugin))return;return e.plugin}function Q(t){if(typeof t==="string"){let e=t.trim();if(e)return e;return}if(!m(t))return;for(let e of["import","default"]){let r=t[e];if(typeof r!=="string")continue;let n=r.trim();if(!n)continue;return n}}function U(t){if(!m(t))return;let e=t.config;if(!m(e))return;return e}function E(t,e){let r=t.exports;if(!m(r))return;let n=r[`./${e}`];if(!Q(n))return;return{opts:U(n)}}function X(t){let e=t.main;if(typeof e!=="string")return!1;return Boolean(e.trim())}function Y(t){let e=typeof t.json.name==="string"&&t.json.name.trim().length>0?t.json.name.trim():P.basename(t.dir),r=[],n=E(t.json,"server");if(n)r.push({kind:"server",opts:n.opts});else if(X(t.json))r.push({kind:"server"});let o=E(t.json,"tui");if(o)r.push({kind:"tui",opts:o.opts});if(!r.some((c)=>c.kind==="tui")&&C(e,t).length)r.push({kind:"tui"});return r}function g(t,e,r,n=!1){return A(t,O(t,e,r,{formattingOptions:{tabSize:2,insertSpaces:!0},isArrayInsertion:n}))}function Z(t,e,r,n,o=!1){let c=y(r).pkg,u=(e??[]).map((i,p)=>({item:i,i:p,spec:V(i)})).filter((i)=>{if(!i.spec)return!1;if(i.spec===r)return!0;if(i.spec.startsWith("file://"))return!1;return y(i.spec).pkg===c});if(!u.length){if(!e)return{mode:"add",text:g(t,["plugin"],[n])};return{mode:"add",text:g(t,["plugin",e.length],n,!0)}}if(!o)return{mode:"noop",text:t};let s=u[0];if(!s)return{mode:"noop",text:t};if(u.length===1&&s.spec===r)return{mode:"noop",text:t};let a=t;if(typeof s.item==="string")a=g(a,["plugin",s.i],n);if(Array.isArray(s.item)&&typeof s.item[0]==="string")a=g(a,["plugin",s.i,0],r);let l=u.map((i)=>i.i).filter((i)=>i!==s.i).sort((i,p)=>p-i);for(let i of l)a=g(a,["plugin",i],void 0);return{mode:"replace",text:a}}async function gt(t,e=$){let r=await e.resolve(t).then((n)=>({ok:!0,item:n}),(n)=>({ok:!1,error:n}));if(!r.ok)return{ok:!1,code:"install_failed",error:r.error};return{ok:!0,target:r.item}}async function dt(t){let e=await M(t).then((n)=>({ok:!0,item:n}),(n)=>({ok:!1,error:n}));if(!e.ok)return{ok:!1,code:"manifest_read_failed",file:t,error:e.error};let r=await Promise.resolve().then(()=>Y(e.item)).then((n)=>({ok:!0,item:n}),(n)=>({ok:!1,error:n}));if(!r.ok)return{ok:!1,code:"manifest_read_failed",file:e.item.pkg,error:r.error};if(!r.item.length)return{ok:!1,code:"manifest_no_targets",file:e.item.pkg};return{ok:!0,targets:r.item}}function tt(t){if(t.global)return t.config??D.Path.config;let r=t.vcs==="git"&&t.worktree!=="/"?t.worktree:t.directory;return P.join(r,".qitqode")}function et(t){if(t==="server")return"qitqode";return"tui"}async function rt(t,e,r,n,o){let x=[];try{let c=et(e.kind);const S=T(x,await v.acquire(`plug-config:${d.resolve(P.join(t,c))}`),1);let u=o.files(t,c);let s=u[0];for(let f of u){if(!await o.exists(f))continue;s=f;break}let a=await o.readText(s).catch((f)=>{if(f.code==="ENOENT")return"{}";return f});if(a instanceof Error)return{ok:!1,code:"patch_failed",kind:e.kind,error:a};let l=a.trim()?a:"{}";let i=[];let p=j(l,i,{allowTrailingComma:!0});if(i.length){let f=i[0],h=l.substring(0,f.offset).split(`
|
|
3
3
|
`);return{ok:!1,code:"invalid_json",kind:e.kind,file:s,line:h.length,col:h[h.length-1].length+1,parse:R(f.error)}}let N=H(p);let F=e.opts?[r,e.opts]:r;let k=Z(l,N,r,F,n);if(k.mode==="noop")return{ok:!0,item:{kind:e.kind,mode:k.mode,file:s}};let w=await o.write(s,k.text).catch((f)=>f);if(w instanceof Error)return{ok:!1,code:"patch_failed",kind:e.kind,error:w};return{ok:!0,item:{kind:e.kind,mode:k.mode,file:s}}}catch(J){var B=J,L=1}finally{var W=_(x,B,L);W&&await W}}async function mt(t,e=G){let r=tt(t),n=[];for(let o of t.targets){let c=await rt(r,o,t.spec,Boolean(t.force),e);if(!c.ok)return{...c,dir:r};n.push(c.item)}return{ok:!0,dir:r,items:n}}
|
|
4
4
|
export{pt as p,z as q,gt as r,dt as s,mt as t};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Qs as p,Rs as f,_s as m}from"./chunk-
|
|
2
|
+
import{Qs as p,Rs as f,_s as m}from"./chunk-xj765svc.js";import{DO as l}from"./chunk-7xm75w1e.js";var n={};l(n,{start:()=>I,Heap:()=>n});import h from"path";import{writeHeapSnapshot as u}from"v8";var i=m.create({service:"heap"}),g=60000,d=2147483648,o,s=!1,a=!0;function I(){if(!f.QITQODE_AUTO_HEAP_SNAPSHOT)return;if(o)return;let c=async()=>{if(s)return;let e=process.memoryUsage();if(e.rss<=d){a=!0;return}if(!a)return;s=!0,a=!1;let r=h.join(p.Path.log,`heap-${process.pid}-${new Date().toISOString().replace(/[:.]/g,"")}.heapsnapshot`);i.warn("heap usage exceeded limit",{rss:e.rss,heap:e.heapUsed,file:r}),await Promise.resolve().then(()=>u(r)).catch((t)=>{i.error("failed to write heap snapshot",{error:t instanceof Error?t.message:String(t),file:r})}),s=!1};o=setInterval(()=>{c()},g),o.unref?.()}
|
|
3
3
|
export{I as Wf,n as Xf};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{a,b,c,d,e,f,g}from"./chunk-
|
|
2
|
+
import{a,b,c,d,e,f,g}from"./chunk-zaks8cae.js";import"./chunk-zqqx96jx.js";import"./chunk-rvkrgkeq.js";import"./chunk-whe7h2mj.js";import"./chunk-t9mz17gb.js";import"./chunk-p62gb4wj.js";import"./chunk-x4sp99g6.js";import"./chunk-yajd975f.js";import"./chunk-rbk8seme.js";import"./chunk-gz8sz7z1.js";import"./chunk-caj1b9y7.js";import"./chunk-ygs5pzk7.js";import"./chunk-vxyy2dp3.js";import"./chunk-yp5bypsp.js";import"./chunk-7hm0c2yg.js";import"./chunk-gj0wt0cy.js";import"./chunk-5hw6xa49.js";import"./chunk-326p5b10.js";import"./chunk-257me4z3.js";import"./chunk-nkkch4h7.js";import"./chunk-s3mnrhbx.js";import"./chunk-ezfy0b6q.js";import"./chunk-bn0h9dny.js";import"./chunk-hnvn2c25.js";import"./chunk-3nx7112w.js";import"./chunk-htz93dsd.js";import"./chunk-vcw00k0n.js";import"./chunk-we9cv8we.js";import"./chunk-2hc5z7b5.js";import"./chunk-9gazyynx.js";import"./chunk-4jtxtkj7.js";import"./chunk-ay8emwym.js";import"./chunk-2maqde7w.js";import"./chunk-kj20f048.js";import"./chunk-cqtkxwd8.js";import"./chunk-x9rbv6p6.js";import"./chunk-g5rabwre.js";import"./chunk-jbx3s7nw.js";import"./chunk-15hw2z9t.js";import"./chunk-48ge2ryx.js";import"./chunk-n9xns8by.js";import"./chunk-y9q0hb7b.js";import"./chunk-d9hbhkbq.js";import"./chunk-ad72gb5f.js";import"./chunk-d6ry9418.js";import"./chunk-0dt0bxz6.js";import"./chunk-10bjs581.js";import"./chunk-4cnwn1rh.js";import"./chunk-764fksh3.js";import"./chunk-xj765svc.js";import"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import"./chunk-zs8kqdsf.js";import"./chunk-dxpj0cxh.js";import"./chunk-zw815d68.js";import"./chunk-7xm75w1e.js";export{f as statusEffect,a as resolveApiKeyFlag,e as logoutEffect,d as loginEffect,c as interactiveLogin,b as apiKeyLoginEffect,g as AuthCommand};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{$k as yJ,Al as uX,Bk as KH,Bl as dX,Ck as QH,Cl as Y1,Dl as R$,Ek as qZ,Fk as FZ,Gk as pG,Jk as RZ,Kk as Q1,Lk as M8,Mk as d7,Nk as LZ,Ok as NZ,Pk as FX,Qk as IX,Rk as AX,Sk as SX,Tk as wX,Uk as fV,Vk as xV,Wj as P$,Xj as r8,Xk as E$,Yk as VH,Zk as GH,al as TX,bl as kX,ck as Xq,cl as EX,dk as GV,ek as H7,el as a_,ik as J1,il as VX,jl as xX,kk as F0,lk as IJ,mk as f2,ml as L1,ol as z2,pk as b0,pl as WH,qk as z8,rl as B1,tk as kK,tl as k0,uk as EK,vk as R1,wk as EV,yk as D6,zk as YH}from"./chunk-
|
|
2
|
+
import{$k as yJ,Al as uX,Bk as KH,Bl as dX,Ck as QH,Cl as Y1,Dl as R$,Ek as qZ,Fk as FZ,Gk as pG,Jk as RZ,Kk as Q1,Lk as M8,Mk as d7,Nk as LZ,Ok as NZ,Pk as FX,Qk as IX,Rk as AX,Sk as SX,Tk as wX,Uk as fV,Vk as xV,Wj as P$,Xj as r8,Xk as E$,Yk as VH,Zk as GH,al as TX,bl as kX,ck as Xq,cl as EX,dk as GV,ek as H7,el as a_,ik as J1,il as VX,jl as xX,kk as F0,lk as IJ,mk as f2,ml as L1,ol as z2,pk as b0,pl as WH,qk as z8,rl as B1,tk as kK,tl as k0,uk as EK,vk as R1,wk as EV,yk as D6,zk as YH}from"./chunk-257me4z3.js";import{El as g9}from"./chunk-nkkch4h7.js";import{Rl as PG,Sl as bH,Vl as V0,Wl as e$,Xl as $1,Yl as JJ,bm as z$,cm as BJ,fm as U2,lm as H$,mm as i,om as O1}from"./chunk-s3mnrhbx.js";import{qm as C9,rm as f6,sm as S1,tm as XJ,xm as Z0}from"./chunk-ezfy0b6q.js";import{Am as XX,Nm as f1,Um as t0,Vm as i$,Wm as e0,Xm as b2,Ym as WX,_m as G$,an as _0,bn as NJ,dn as $Z,jn as h7,wn as m1,xn as O8}from"./chunk-bn0h9dny.js";import{Pn as g6}from"./chunk-3nx7112w.js";import{ho as ZZ,io as vV,jo as YZ,lo as U1}from"./chunk-vcw00k0n.js";import{Bo as e}from"./chunk-we9cv8we.js";import{Co as T2}from"./chunk-2hc5z7b5.js";import{Do as x$}from"./chunk-9gazyynx.js";import{Bq as ZH}from"./chunk-n9xns8by.js";import{Lq as HZ}from"./chunk-d9hbhkbq.js";import{br as G2,cr as $V,ir as v1,jr as X2}from"./chunk-d6ry9418.js";import{Sr as l9}from"./chunk-4cnwn1rh.js";import{Ur as BH}from"./chunk-764fksh3.js";import{Cs as WZ,Ls as D0,Ps as H8,Qs as f$,Rs as k$,Vr as E2,Yr as d9,Zr as tU,_s as O$,as as eU,bs as $H,ds as q9,zs as jK}from"./chunk-xj765svc.js";import{$s as qG,dt as MH,ht as B9,kt as h9,nt as y2,ot as $$,st as O0}from"./chunk-tqj69nh6.js";import{ut as F}from"./chunk-5tray1fw.js";import{EI as Z8,IN as HJ,LC as h2,OE as f,QN as l$,RM as F$,VE as EH,WD as n0,YI as b1,_I as kG,aO as eQ,hF as xH,iE as H0,pH as G,rB as JH,rN as IU,sN as EG,uB as p1,vN as AU,xN as _Z,yE as UJ,zC as D$}from"./chunk-zs8kqdsf.js";import{vO as k3}from"./chunk-dxpj0cxh.js";import{BO as A9,CO as p,DO as o$,FO as u0,GO as S9,HO as w9}from"./chunk-7xm75w1e.js";var wK=p((pS,P9)=>{function FK($){return Array.isArray($)?$:[$]}var w_=void 0,d6="",OK=" ",u6="\\",R_=/^\s+$/,L_=/(?:[^\\]|^)\\$/,N_=/^\\!/,y_=/^\\#/,T_=/\r?\n/g,k_=/^\.{0,2}\/|^\.{1,2}$/,E_=/\/$/,WJ="/",zK="node-ignore";if(typeof Symbol<"u")zK=Symbol.for("node-ignore");var CK=zK,jJ=($,J,Z)=>{return Object.defineProperty($,J,{value:Z}),Z},x_=/([0-z])-([0-z])/g,MK=()=>!1,b_=($)=>$.replace(x_,(J,Z,Y)=>Z.charCodeAt(0)<=Y.charCodeAt(0)?J:d6),v_=($)=>{let{length:J}=$;return $.slice(0,J-J%2)},h_=[[/^\uFEFF/,()=>d6],[/((?:\\\\)*?)(\\?\s+)$/,($,J,Z)=>J+(Z.indexOf("\\")===0?OK:d6)],[/(\\+?)\s/g,($,J)=>{let{length:Z}=J;return J.slice(0,Z-Z%2)+OK}],[/[\\$.|*+(){^]/g,($)=>`\\${$}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return!/\/(?!$)/.test(this)?"(?:^|\\/)":"^"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,($,J,Z)=>J+6<Z.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,($,J,Z)=>{let Y=Z.replace(/\\\*/g,"[^\\/]*");return J+Y}],[/\\\\\\(?=[$.|*+(){^])/g,()=>u6],[/\\\\/g,()=>u6],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,($,J,Z,Y,K)=>J===u6?`\\[${Z}${v_(Y)}${K}`:K==="]"?Y.length%2===0?`[${b_(Z)}${Y}]`:"[]":"[]"],[/(?:[^*])$/,($)=>/\/$/.test($)?`${$}$`:`${$}(?=$|\\/$)`]],g_=/(^|\\\/)?\\\*$/,Y8="regex",M9="checkRegex",qK="_",f_={[Y8]($,J){return`${J?`${J}[^/]+`:"[^/]*"}(?=$|\\/$)`},[M9]($,J){return`${J?`${J}[^/]*`:"[^/]*"}(?=$|\\/$)`}},m_=($)=>h_.reduce((J,[Z,Y])=>J.replace(Z,Y.bind($)),$),D9=($)=>typeof $==="string",u_=($)=>$&&D9($)&&!R_.test($)&&!L_.test($)&&$.indexOf("#")!==0,d_=($)=>$.split(T_).filter(Boolean);class DK{constructor($,J,Z,Y,K,Q){this.pattern=$,this.mark=J,this.negative=K,jJ(this,"body",Z),jJ(this,"ignoreCase",Y),jJ(this,"regexPrefix",Q)}get regex(){let $=qK+Y8;if(this[$])return this[$];return this._make(Y8,$)}get checkRegex(){let $=qK+M9;if(this[$])return this[$];return this._make(M9,$)}_make($,J){let Z=this.regexPrefix.replace(g_,f_[$]),Y=this.ignoreCase?new RegExp(Z,"i"):new RegExp(Z);return jJ(this,J,Y)}}var p_=({pattern:$,mark:J},Z)=>{let Y=!1,K=$;if(K.indexOf("!")===0)Y=!0,K=K.substr(1);K=K.replace(N_,"!").replace(y_,"#");let Q=m_(K);return new DK($,J,K,Z,Y,Q)};class PK{constructor($){this._ignoreCase=$,this._rules=[]}_add($){if($&&$[CK]){this._rules=this._rules.concat($._rules._rules),this._added=!0;return}if(D9($))$={pattern:$};if(u_($.pattern)){let J=p_($,this._ignoreCase);this._added=!0,this._rules.push(J)}}add($){return this._added=!1,FK(D9($)?d_($):$).forEach(this._add,this),this._added}test($,J,Z){let Y=!1,K=!1,Q;this._rules.forEach((X)=>{let{negative:W}=X;if(K===W&&Y!==K||W&&!Y&&!K&&!J)return;if(!X[Z].test($))return;Y=!W,K=W,Q=W?w_:X});let V={ignored:Y,unignored:K};if(Q)V.rule=Q;return V}}var c_=($,J)=>{throw new J($)},h1=($,J,Z)=>{if(!D9($))return Z(`path must be a string, but got \`${J}\``,TypeError);if(!$)return Z("path must not be empty",TypeError);if(h1.isNotRelative($))return Z(`path should be a \`path.relative()\`d string, but got "${J}"`,RangeError);return!0},IK=($)=>k_.test($);h1.isNotRelative=IK;h1.convert=($)=>$;class AK{constructor({ignorecase:$=!0,ignoreCase:J=$,allowRelativePaths:Z=!1}={}){jJ(this,CK,!0),this._rules=new PK(J),this._strictPathCheck=!Z,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add($){if(this._rules.add($))this._initCache();return this}addPattern($){return this.add($)}_test($,J,Z,Y){let K=$&&h1.convert($);return h1(K,$,this._strictPathCheck?c_:MK),this._t(K,J,Z,Y)}checkIgnore($){if(!E_.test($))return this.test($);let J=$.split(WJ).filter(Boolean);if(J.pop(),J.length){let Z=this._t(J.join(WJ)+WJ,this._testCache,!0,J);if(Z.ignored)return Z}return this._rules.test($,!1,M9)}_t($,J,Z,Y){if($ in J)return J[$];if(!Y)Y=$.split(WJ).filter(Boolean);if(Y.pop(),!Y.length)return J[$]=this._rules.test($,Z,Y8);let K=this._t(Y.join(WJ)+WJ,J,Z,Y);return J[$]=K.ignored?K:this._rules.test($,Z,Y8)}ignores($){return this._test($,this._ignoreCache,!1).ignored}createFilter(){return($)=>!this.ignores($)}filter($){return FK($).filter(this.createFilter())}test($){return this._test($,this._testCache,!0)}}var p6=($)=>new AK($),l_=($)=>h1($&&h1.convert($),$,MK),SK=()=>{let $=(Z)=>/^\\\\\?\\/.test(Z)||/["<>|\u0000-\u001F]+/u.test(Z)?Z:Z.replace(/\\/g,"/");h1.convert=$;let J=/^[a-z]:\//i;h1.isNotRelative=(Z)=>J.test(Z)||IK(Z)};if(typeof process<"u"&&process.platform==="win32")SK();P9.exports=p6;p6.default=p6;P9.exports.isPathValid=l_;jJ(P9.exports,Symbol.for("setupWindows"),SK)});var R9=p((q4)=>{q4.isInteger=($)=>{if(typeof $==="number")return Number.isInteger($);if(typeof $==="string"&&$.trim()!=="")return Number.isInteger(Number($));return!1};q4.find=($,J)=>$.nodes.find((Z)=>Z.type===J);q4.exceedsLimit=($,J,Z=1,Y)=>{if(Y===!1)return!1;if(!q4.isInteger($)||!q4.isInteger(J))return!1;return(Number(J)-Number($))/Number(Z)>=Y};q4.escapeNode=($,J=0,Z)=>{let Y=$.nodes[J];if(!Y)return;if(Z&&Y.type===Z||Y.type==="open"||Y.type==="close"){if(Y.escaped!==!0)Y.value="\\"+Y.value,Y.escaped=!0}};q4.encloseBrace=($)=>{if($.type!=="brace")return!1;if($.commas>>0+$.ranges>>0===0)return $.invalid=!0,!0;return!1};q4.isInvalidBrace=($)=>{if($.type!=="brace")return!1;if($.invalid===!0||$.dollar)return!0;if($.commas>>0+$.ranges>>0===0)return $.invalid=!0,!0;if($.open!==!0||$.close!==!0)return $.invalid=!0,!0;return!1};q4.isOpenOrClose=($)=>{if($.type==="open"||$.type==="close")return!0;return $.open===!0||$.close===!0};q4.reduce=($)=>$.reduce((J,Z)=>{if(Z.type==="text")J.push(Z.value);if(Z.type==="range")Z.type="text";return J},[]);q4.flatten=(...$)=>{let J=[],Z=(Y)=>{for(let K=0;K<Y.length;K++){let Q=Y[K];if(Array.isArray(Q)){Z(Q);continue}if(Q!==void 0)J.push(Q)}return J};return Z($),J}});var L9=p((Gw,gK)=>{var hK=R9();gK.exports=($,J={})=>{let Z=(Y,K={})=>{let Q=J.escapeInvalid&&hK.isInvalidBrace(K),V=Y.invalid===!0&&J.escapeInvalid===!0,X="";if(Y.value){if((Q||V)&&hK.isOpenOrClose(Y))return"\\"+Y.value;return Y.value}if(Y.value)return Y.value;if(Y.nodes)for(let W of Y.nodes)X+=Z(W);return X};return Z($)}});var mK=p((Xw,fK)=>{/*!
|
|
3
3
|
* is-number <https://github.com/jonschlinkert/is-number>
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2014-present, Jon Schlinkert.
|
|
@@ -7204,7 +7204,7 @@ For full type signatures, all available fields, and more examples:
|
|
|
7204
7204
|
- Cannot modify the permission system
|
|
7205
7205
|
- Tool output truncated at 50KB / 2000 lines
|
|
7206
7206
|
- Prefer small, composable extensions over monolithic ones
|
|
7207
|
-
`}}}catch($){if($ instanceof ReferenceError)return jV();throw $}}var Oq=_q(),qq=O$.create({service:"skill.builtin"}),HV=G.fn("Skill.extractBuiltinBundle")(function*($){let J=UV.join(H8.data,"builtin_skills",E2),Z=UV.join(J,".extracted");return yield*m9({fsys:$,bundle:Oq,root:J,marker:Z,markerContent:E2,skipIfPresent:!d9,onExtracted:(Y)=>qq.info("extracted builtin skills",{root:Y})})});var B8=O$.create({service:"skill"}),Cq=[".claude",".agents",".codex",".opencode"],BV="skills/**/SKILL.md",Mq="{skill,skills}/**/SKILL.md",p9="**/SKILL.md",_V=F.object({name:F.string(),description:F.string(),location:F.string(),content:F.string(),hidden:F.boolean().optional()}),Dq=l9.create("SkillInvalidError",F.object({path:F.string(),message:F.string().optional(),issues:F.custom().optional()})),Pq=l9.create("SkillNameMismatchError",F.object({path:F.string(),expected:F.string(),actual:F.string()})),Iq=G.fnUntraced(function*($,J,Z){let Y=yield*G.tryPromise({try:()=>H7.parse(J),catch:(Q)=>Q}).pipe(G.catch(G.fnUntraced(function*(Q){let V=H7.FrontmatterError.isInstance(Q)?Q.data.message:`Failed to parse skill ${J}`,{Session:X}=yield*G.promise(()=>import("./chunk-
|
|
7207
|
+
`}}}catch($){if($ instanceof ReferenceError)return jV();throw $}}var Oq=_q(),qq=O$.create({service:"skill.builtin"}),HV=G.fn("Skill.extractBuiltinBundle")(function*($){let J=UV.join(H8.data,"builtin_skills",E2),Z=UV.join(J,".extracted");return yield*m9({fsys:$,bundle:Oq,root:J,marker:Z,markerContent:E2,skipIfPresent:!d9,onExtracted:(Y)=>qq.info("extracted builtin skills",{root:Y})})});var B8=O$.create({service:"skill"}),Cq=[".claude",".agents",".codex",".opencode"],BV="skills/**/SKILL.md",Mq="{skill,skills}/**/SKILL.md",p9="**/SKILL.md",_V=F.object({name:F.string(),description:F.string(),location:F.string(),content:F.string(),hidden:F.boolean().optional()}),Dq=l9.create("SkillInvalidError",F.object({path:F.string(),message:F.string().optional(),issues:F.custom().optional()})),Pq=l9.create("SkillNameMismatchError",F.object({path:F.string(),expected:F.string(),actual:F.string()})),Iq=G.fnUntraced(function*($,J,Z){let Y=yield*G.tryPromise({try:()=>H7.parse(J),catch:(Q)=>Q}).pipe(G.catch(G.fnUntraced(function*(Q){let V=H7.FrontmatterError.isInstance(Q)?Q.data.message:`Failed to parse skill ${J}`,{Session:X}=yield*G.promise(()=>import("./chunk-qadw6j20.js"));yield*Z.publish(X.Event.Error,{error:new l9.Unknown({message:V}).toObject()}),B8.error("failed to load skill",{skill:J,err:Q});return})));if(!Y)return;let K=_V.pick({name:!0,description:!0,hidden:!0}).safeParse(Y.data);if(!K.success)return;if($.skills[K.data.name])B8.warn("duplicate skill name",{name:K.data.name,existing:$.skills[K.data.name].location,duplicate:J});$.dirs.add(zJ.dirname(J)),$.skills[K.data.name]={name:K.data.name,description:K.data.description,location:J,content:Y.content,hidden:K.data.hidden}}),x2=G.fnUntraced(function*($,J,Z,Y){let K=yield*G.tryPromise({try:()=>y2.scan(Z,{cwd:J,absolute:!0,include:"file",symlink:!0,dot:Y?.dot}),catch:(Q)=>Q}).pipe(G.catch((Q)=>{if(!Y?.scope)return G.die(Q);return B8.error(`failed to scan ${Y.scope} skills`,{dir:J,error:Q}),G.succeed([])}));for(let Q of K)$.matches.add(Q),$.dirs.add(zJ.dirname(Q))}),Aq=G.fnUntraced(function*($,J,Z,Y,K){let Q={matches:new Set,dirs:new Set};if(!k$.QITQODE_DISABLE_BUILTIN_SKILLS){let W=yield*HV(Z).pipe(G.catch(()=>G.succeed(void 0)));if(W&&(yield*Z.isDir(W)))yield*x2(Q,W,p9,{scope:"builtin"})}if(!k$.QITQODE_DISABLE_COMPOSE_SKILLS){let W=yield*WV(Z).pipe(G.catch(()=>G.succeed(void 0)));if(W&&(yield*Z.isDir(W)))yield*x2(Q,W,p9,{scope:"compose"})}if(!k$.QITQODE_DISABLE_EXTERNAL_SKILLS){let W=Cq.filter((j)=>{if(j===".claude"&&k$.QITQODE_DISABLE_CLAUDE_CODE_SKILLS)return!1;if(j===".codex"&&k$.QITQODE_DISABLE_CODEX_SKILLS)return!1;if(j===".opencode"&&k$.QITQODE_DISABLE_OPENCODE_SKILLS)return!1;return!0});for(let j of W){let _=zJ.join(f$.Path.home,j);if(!(yield*Z.isDir(_)))continue;yield*x2(Q,_,BV,{dot:!0,scope:"global"})}let B=yield*Z.up({targets:W,start:Y,stop:K}).pipe(G.catch(()=>G.succeed([])));for(let j of B)yield*x2(Q,j,BV,{dot:!0,scope:"project"})}let V=yield*$.directories();for(let W of V)yield*x2(Q,W,Mq);let X=yield*$.get();for(let W of X.skills?.paths??[]){let B=W.startsWith("~/")?zJ.join(Fq.homedir(),W.slice(2)):W,j=zJ.isAbsolute(B)?B:zJ.join(Y,B);if(!(yield*Z.isDir(j))){B8.warn("skill path not found",{path:j});continue}yield*x2(Q,j,p9)}for(let W of X.skills?.urls??[]){let B=yield*J.pull(W);for(let j of B)yield*x2(Q,j,p9)}return{matches:Array.from(Q.matches),dirs:Array.from(Q.dirs)}}),Sq=G.fnUntraced(function*($,J,Z){yield*G.forEach(J.matches,(Y)=>Iq($,Y,Z),{concurrency:16,discard:!0}),B8.info("init",{count:Object.keys($.skills).length})});class c9 extends D$.Service()("@qitqode/Skill"){}var OV=f.effect(c9,G.gen(function*(){let $=yield*FJ.Service,J=yield*R$.Service,Z=yield*P$.Service,Y=yield*$$.Service,K=yield*i.make(G.fn("Skill.discovery")(function*(_){return yield*Aq(J,$,Y,_.directory,_.worktree)})),Q=yield*i.make(G.fn("Skill.state")(function*(_){let q={skills:{},dirs:new Set};return yield*Sq(q,yield*i.get(K),Z),q})),V=G.fn("Skill.get")(function*(_){return(yield*i.get(Q)).skills[_]}),X=G.fn("Skill.all")(function*(){let _=yield*i.get(Q);return Object.values(_.skills)}),W=G.fn("Skill.dirs")(function*(){return(yield*i.get(K)).dirs}),B=G.fn("Skill.available")(function*(_){let q=yield*i.get(Q),H=Object.values(q.skills).filter((C)=>!C.hidden);if(H=H.toSorted((C,M)=>C.name.localeCompare(M.name)),!_)return H;return H.filter((C)=>E$.evaluate("skill",C.name,_.permission).action!=="deny")}),j=G.fn("Skill.reload")(function*(){yield*i.invalidate(K),yield*i.invalidate(Q)});return c9.of({get:V,all:X,dirs:W,available:B,reload:j})})),wq=OV.pipe(f.provide(FJ.defaultLayer),f.provide(R$.defaultLayer),f.provide(P$.layer),f.provide($$.defaultLayer));function Rq($,J){if($.length===0)return"No skills are currently available.";if(J.verbose)return["<available_skills>",...$.sort((Z,Y)=>Z.name.localeCompare(Y.name)).flatMap((Z)=>[" <skill>",` <name>${Z.name}</name>`,` <description>${Z.description}</description>`,` <location>${zq(Z.location).href}</location>`," </skill>"]),"</available_skills>"].join(`
|
|
7208
7208
|
`);return["## Available Skills",...$.toSorted((Z,Y)=>Z.name.localeCompare(Y.name)).map((Z)=>`- **${Z.name}**: ${Z.description}`)].join(`
|
|
7209
7209
|
`)}var g1={};o$(g1,{layer:()=>SV,defaultLayer:()=>gq,Service:()=>s9});import AV from"path";import hq from"os";import*as CJ from"fs/promises";import DV from"path";var q0=b2("memory_fts",{id:t0().primaryKey({autoIncrement:!0}),path:i$().notNull().unique(),scope:i$().notNull(),scope_id:i$().notNull().default(""),type:i$().notNull(),body:i$().notNull(),fingerprint:i$().notNull(),last_indexed_at:t0().notNull()},($)=>[e0("memory_fts_scope_idx").on($.scope,$.scope_id),e0("memory_fts_type_idx").on($.type)]);var Lq=["feedback","project","reference","user"],Nq=[{match:/^memory$/i,type:"memory"},{match:/^memory-/i,type:"memory"},{match:/^checkpoint$/,type:"checkpoint"},{match:/^checkpoint-/,type:"checkpoint"},{match:/^tasks\/[^/]+\/progress$/,type:"progress"},{match:/^tasks\/[^/]+\/notes$/,type:"notes"}];function yq($){for(let J of Nq)if(J.match.test($))return J.type;return"free"}function qV($){let Z=$.replaceAll("\\","/").match(/\/memory\/(global|projects|sessions)(?:\/([^/]+))?\/(.+)\.md$/);if(!Z)return null;let[,Y,K,Q]=Z,V=Y==="global"?"":K??"",X=Q;return{scope:Y,scope_id:V,type:yq(X),key:X}}var Tq=/\/\.claude\/projects\/([^/]+)\/memory\/(.+)\.md$/;function FV($){let J=$.replaceAll("\\","/").match(Tq);if(!J)return null;let[,Z,Y]=J;return{scope:"cc",scope_id:Z,type:"free",key:Y}}var kq=/^---\n([\s\S]*?)\n---\n/,Eq=/^[ \t]+type:[ \t]*(\w+)[ \t]*$/m;function zV($){let J=$.match(kq);if(!J)return null;let Y=J[1].match(Eq);if(!Y)return null;let K=Y[1];return Lq.includes(K)?K:null}var CV=O$.create({service:"memory.reconcile"});async function PV($){let J=[];async function Z(Y){let K=await CJ.readdir(Y,{withFileTypes:!0}).catch((Q)=>{if(Q.code==="ENOENT")return[];throw Q});for(let Q of K){let V=DV.join(Y,Q.name);if(Q.isDirectory())await Z(V);else if(Q.isFile()&&V.endsWith(".md"))J.push(V)}}return await Z($),J}async function xq($){let J=await CJ.readdir($,{withFileTypes:!0}).catch((Y)=>{if(Y.code==="ENOENT")return[];throw Y}),Z=[];for(let Y of J){if(!Y.isDirectory())continue;let K=DV.join($,Y.name,"memory");if(!await CJ.stat(K).then(()=>!0).catch(()=>!1))continue;let V=await PV(K);for(let X of V)Z.push(X)}return Z}async function MV($,J,Z,Y){let K=await CJ.stat($).catch((W)=>{if(W.code==="ENOENT")return null;throw W});if(!K)return"skipped";let Q=`${K.size}-${K.mtimeMs}`;if(Y===Q)return"hit";let V=await Bun.file($).text(),X=Z==="cc"?zV(V)??"free":J.type;return z$.use((W)=>W.insert(q0).values({path:$,scope:J.scope,scope_id:J.scope_id,type:X,body:V,fingerprint:Q,last_indexed_at:Date.now()}).onConflictDoUpdate({target:q0.path,set:{scope:J.scope,scope_id:J.scope_id,type:X,body:V,fingerprint:Q,last_indexed_at:Date.now()}}).run()),"updated"}async function B7($){let J=new Set(await PV($.qode)),Z=$.cc?new Set(await xq($.cc)):new Set,Y=new Set([...J,...Z]),K=new Map(z$.use((X)=>X.select({path:q0.path,fingerprint:q0.fingerprint}).from(q0).all()).map((X)=>[X.path,X.fingerprint])),Q=0;for(let X of K.keys())if(!Y.has(X))z$.use((W)=>W.delete(q0).where(G$(q0.path,X)).run()),Q++;let V=0;for(let X of J){let W=qV(X);if(!W){CV.warn("path outside memory layout, skipping",{path:X});continue}if(await MV(X,W,"qode",K.get(X))==="updated")V++}for(let X of Z){let W=FV(X);if(!W){CV.warn("CC path failed to parse, skipping",{path:X});continue}if(await MV(X,W,"cc",K.get(X))==="updated")V++}return{indexed:V,pruned:Q}}function o9($,J){let Z=$.match(/[\p{L}\p{N}_]+/gu)?.map((K)=>K.trim()).filter(Boolean)??[];if(Z.length===0)return null;return Z.map((K)=>`"${K.replaceAll('"',"")}"`).join(` ${J} `)}function IV($){return o9($,"OR")}var bq=64,vq=8,r9=4096;function i9($){let J=z$.Client().$client,Z=$.conditions.length>0?`WHERE ${$.conditions.join(" AND ")}`:"",Y=`
|
|
7210
7210
|
WITH matched(fts_rowid, fts_score) AS (
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Ed as d}from"./chunk-
|
|
2
|
+
import{Ed as d}from"./chunk-x25zkrz7.js";import{Rd as f}from"./chunk-yajd975f.js";import{Vf as e}from"./chunk-rbk8seme.js";import{gh as l}from"./chunk-caj1b9y7.js";import"./chunk-ygs5pzk7.js";import"./chunk-vxyy2dp3.js";import"./chunk-yp5bypsp.js";import"./chunk-7hm0c2yg.js";import"./chunk-gj0wt0cy.js";import"./chunk-5hw6xa49.js";import"./chunk-326p5b10.js";import{Cl as u,kk as m}from"./chunk-257me4z3.js";import"./chunk-nkkch4h7.js";import"./chunk-s3mnrhbx.js";import"./chunk-ezfy0b6q.js";import"./chunk-bn0h9dny.js";import"./chunk-hnvn2c25.js";import"./chunk-3nx7112w.js";import"./chunk-htz93dsd.js";import"./chunk-vcw00k0n.js";import"./chunk-we9cv8we.js";import"./chunk-2hc5z7b5.js";import"./chunk-9gazyynx.js";import"./chunk-4jtxtkj7.js";import"./chunk-ay8emwym.js";import"./chunk-2maqde7w.js";import"./chunk-kj20f048.js";import"./chunk-cqtkxwd8.js";import"./chunk-x9rbv6p6.js";import"./chunk-g5rabwre.js";import"./chunk-jbx3s7nw.js";import"./chunk-15hw2z9t.js";import"./chunk-48ge2ryx.js";import"./chunk-n9xns8by.js";import"./chunk-y9q0hb7b.js";import"./chunk-d9hbhkbq.js";import"./chunk-ad72gb5f.js";import"./chunk-d6ry9418.js";import"./chunk-0dt0bxz6.js";import"./chunk-10bjs581.js";import"./chunk-4cnwn1rh.js";import"./chunk-764fksh3.js";import"./chunk-xj765svc.js";import"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import"./chunk-zs8kqdsf.js";import"./chunk-dxpj0cxh.js";import"./chunk-zw815d68.js";import"./chunk-7xm75w1e.js";var v=f({command:"usage [sessionID]",describe:"show per-turn token/cost breakdown for a session (debug/verification tool)",builder:(o)=>{return o.positional("sessionID",{describe:"session ID to inspect (default: most recently updated session)",type:"string"}).option("format",{describe:"output format",type:"string",choices:["table","json"],default:"table"}).option("limit",{describe:"number of most recent turns to show (default: all)",type:"number"})},handler:async(o)=>{await d(process.cwd(),async()=>{let a=o.sessionID?m.make(o.sessionID):[...u.list({roots:!1,limit:1})][0]?.id;if(!a)e.error("No sessions found"),process.exit(1);let p=(await l.runPromise(u.Service.use((s)=>s.messages({sessionID:a,agentID:"*"})))).filter((s)=>s.info.role==="assistant").map((s)=>{let t=s.info,c=s.parts.filter((n)=>n.type==="step-finish");return{messageID:t.id,provider:t.providerID,model:t.modelID,finish:t.finish,cost:t.cost??0,tokens:t.tokens??{input:0,output:0,reasoning:0,cache:{read:0,write:0}},steps:c.map((n)=>({cost:n.cost,tokens:n.tokens}))}}),r=o.limit?p.slice(-o.limit):p;if(r.length===0){e.println("No assistant turns found for this session");return}if(o.format==="json"){console.log(JSON.stringify({sessionID:a,turns:r},null,2));return}e.println(`Session ${a} \u2014 ${r.length} turn(s)`),e.println("");for(let s of r){let t=s.tokens,c=t.input+t.cache.read+t.cache.write,n=t.output+t.reasoning;if(e.println(`${s.messageID} ${s.provider}/${s.model} finish=${s.finish??"-"}`),e.println(` tokens input=${t.input} cache.read=${t.cache.read} cache.write=${t.cache.write} output=${t.output} reasoning=${t.reasoning} (in=${c} out=${n})`),e.println(` cost $${s.cost.toFixed(6)}`),s.steps.length>1)e.println(` steps ${s.steps.length}`),s.steps.forEach((i,g)=>{e.println(` [${g}] input=${i.tokens.input} output=${i.tokens.output} cache.read=${i.tokens.cache.read} cache.write=${i.tokens.cache.write} reasoning=${i.tokens.reasoning} cost=$${i.cost.toFixed(6)}`)});e.println("")}let h=r.reduce((s,t)=>s+t.cost,0);e.println(`Total cost for shown turns: $${h.toFixed(6)}`),e.println("(source: Session.getUsage(), same numbers persisted to the message record \u2014 see session.usage log tag)")})}});export{v as UsageCommand};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{h as x}from"./chunk-
|
|
2
|
+
import{h as x}from"./chunk-zqqx96jx.js";import{j as N}from"./chunk-rvkrgkeq.js";import{H as S}from"./chunk-whe7h2mj.js";import{I as k,J as A}from"./chunk-t9mz17gb.js";import{Rd as P}from"./chunk-yajd975f.js";import{Vf as j}from"./chunk-rbk8seme.js";import{Cg as K,Dg as F,Fg as R,sg as Y,tg as _,ug as O,vg as b,zg as v}from"./chunk-gz8sz7z1.js";import{gh as $}from"./chunk-caj1b9y7.js";import{Xj as D}from"./chunk-257me4z3.js";import{qo as G,vo as W}from"./chunk-we9cv8we.js";import{pH as H}from"./chunk-zs8kqdsf.js";var X="forgewise",p=(J,z=process.env)=>J.trim()||z.QLEX_API_KEY?.trim()||"",U=(J)=>H.gen(function*(){let z=J.trim();if(!z)yield*H.sync(()=>{j.println(j.Style.TEXT_DANGER+"Error: API key cannot be empty."+j.Style.TEXT_NORMAL)}),process.exit(1);yield*(yield*D.Service).set(X,{type:"api",key:z,metadata:{method:"api-key"}}),yield*N(j.Style.TEXT_SUCCESS+"Signed in with API key."+j.Style.TEXT_NORMAL)}).pipe(H.withSpan("forgewise.login.apikey"));async function u(){let J=!O();try{return await K({tryOpen:J,onCode:(z)=>{if(process.stdout.write(`
|
|
3
3
|
`),process.stdout.write(" To sign in, open: "+z.verificationUri+`
|
|
4
4
|
`),process.stdout.write(" and enter code: "+z.userCode+`
|
|
5
5
|
`),z.verificationUriComplete)process.stdout.write(`
|