@qitqode/qitqode-android-arm64 0.1.20 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/bundle/{chunk-xb031er5.js → chunk-0942095s.js} +1 -1
  2. package/bundle/{chunk-0x0a51w3.js → chunk-0czxqcg7.js} +1 -1
  3. package/bundle/{chunk-9a5nck3f.js → chunk-1b9ey3yh.js} +1 -1
  4. package/bundle/{chunk-gspdrdyq.js → chunk-21q96fet.js} +1 -1
  5. package/bundle/{chunk-wnjg8mmh.js → chunk-21t254fq.js} +1 -1
  6. package/bundle/{chunk-zfvk6zjj.js → chunk-2db8pn5k.js} +1 -1
  7. package/bundle/{chunk-r2waj5n2.js → chunk-3gxhdy0c.js} +1 -1
  8. package/bundle/{chunk-471yj527.js → chunk-3m0t96kb.js} +1 -1
  9. package/bundle/{chunk-dp3hqm2m.js → chunk-4tk4wppp.js} +1 -1
  10. package/bundle/{chunk-p77m937s.js → chunk-5k1eyz7y.js} +1 -1
  11. package/bundle/{chunk-c4mxtqyq.js → chunk-5rcnwm9j.js} +1 -1
  12. package/bundle/{chunk-k728fzrr.js → chunk-5yghd32r.js} +1 -1
  13. package/bundle/{chunk-q39h31te.js → chunk-651fyxmn.js} +3 -3
  14. package/bundle/{chunk-7myavy3p.js → chunk-6ba9fc92.js} +1 -1
  15. package/bundle/{chunk-w0fg8n1f.js → chunk-6dznrhs4.js} +1 -1
  16. package/bundle/{chunk-knwayz0m.js → chunk-6t70j1wg.js} +1 -1
  17. package/bundle/{chunk-3makpbng.js → chunk-767vf2ha.js} +1 -1
  18. package/bundle/{chunk-k6z419yx.js → chunk-76p9v2jf.js} +1 -1
  19. package/bundle/{chunk-1brsnwhv.js → chunk-7hxksr4h.js} +1 -1
  20. package/bundle/{chunk-2w154wad.js → chunk-7jefvta3.js} +1 -1
  21. package/bundle/{chunk-fegrrsfj.js → chunk-7skp0dmg.js} +1 -1
  22. package/bundle/{chunk-1qw3yh13.js → chunk-88ckmmdr.js} +3 -3
  23. package/bundle/{chunk-0pbpzty2.js → chunk-8fn883z8.js} +1 -1
  24. package/bundle/{chunk-c422awkv.js → chunk-9gfe4wtk.js} +1 -1
  25. package/bundle/{chunk-rdsae6k4.js → chunk-9hwsz356.js} +1 -1
  26. package/bundle/{chunk-3fzgbam3.js → chunk-9vvvyk10.js} +1 -1
  27. package/bundle/{chunk-n0y1ea17.js → chunk-atg7cn5r.js} +1 -1
  28. package/bundle/{chunk-qq48ffjc.js → chunk-b3721b7c.js} +1 -1
  29. package/bundle/{chunk-nt07vncv.js → chunk-b4r19v4g.js} +1 -1
  30. package/bundle/{chunk-b2ky15zx.js → chunk-bsg92mw7.js} +1 -1
  31. package/bundle/{chunk-skjge2wh.js → chunk-bzj7yxw6.js} +1 -1
  32. package/bundle/{chunk-1gj0m10e.js → chunk-c1dwcsax.js} +1 -1
  33. package/bundle/{chunk-ysxmk1z1.js → chunk-c4vfxy1e.js} +1 -1
  34. package/bundle/{chunk-v7yvnnmr.js → chunk-esjs9s9g.js} +1 -1
  35. package/bundle/chunk-f2q7cbah.js +2 -0
  36. package/bundle/{chunk-mpn5qm9j.js → chunk-fssswy6j.js} +1 -1
  37. package/bundle/{chunk-4pedvzse.js → chunk-ghtm9598.js} +1 -1
  38. package/bundle/{chunk-p41h8naw.js → chunk-gkz68a5s.js} +1 -1
  39. package/bundle/{chunk-gfm4vad7.js → chunk-gp6nvjb8.js} +153 -153
  40. package/bundle/{chunk-6tjghyx6.js → chunk-hkydp4m3.js} +1 -1
  41. package/bundle/{chunk-hjvje9xj.js → chunk-htdpkk8v.js} +1 -1
  42. package/bundle/{chunk-ghmctw8s.js → chunk-hvnhkrd3.js} +1 -1
  43. package/bundle/{chunk-fgqrcjsm.js → chunk-hvqgvsa5.js} +1 -1
  44. package/bundle/{chunk-dgbvsnqb.js → chunk-js7becx7.js} +1 -1
  45. package/bundle/{chunk-5549c7mb.js → chunk-jwgqpntf.js} +1 -1
  46. package/bundle/{chunk-7nas10jx.js → chunk-k44dj66f.js} +1 -1
  47. package/bundle/{chunk-9g4hz1st.js → chunk-kvs7qbga.js} +1 -1
  48. package/bundle/{chunk-1q2vhe78.js → chunk-m7q12naw.js} +1 -1
  49. package/bundle/{chunk-pskkmca2.js → chunk-mc1m6dxk.js} +1 -1
  50. package/bundle/{chunk-anse7bd0.js → chunk-myjbd0vk.js} +1 -1
  51. package/bundle/{chunk-b49rxw15.js → chunk-n499tbz0.js} +1 -1
  52. package/bundle/{chunk-y36ggefa.js → chunk-n5k2c708.js} +1 -1
  53. package/bundle/{chunk-zafrxr1q.js → chunk-n6fh34xx.js} +1 -1
  54. package/bundle/{chunk-6bq7rx7m.js → chunk-n7a4wpjj.js} +1 -1
  55. package/bundle/{chunk-vh8w0ea8.js → chunk-ns0hezdf.js} +1 -1
  56. package/bundle/{chunk-pn77fh9b.js → chunk-q2zk0z41.js} +1 -1
  57. package/bundle/{chunk-s2g5989e.js → chunk-qh76pgsk.js} +1 -1
  58. package/bundle/{chunk-tp7sfreh.js → chunk-qxtz0tfd.js} +1 -1
  59. package/bundle/{chunk-3gdqmave.js → chunk-qy1s81tv.js} +2 -2
  60. package/bundle/{chunk-28knamc9.js → chunk-r03jc8xm.js} +1 -1
  61. package/bundle/{chunk-wmqcz5rb.js → chunk-rkb592nb.js} +1 -1
  62. package/bundle/{chunk-w8rvjbgr.js → chunk-s811ht10.js} +1 -1
  63. package/bundle/{chunk-8k1q3g8s.js → chunk-sj8py6vk.js} +1 -1
  64. package/bundle/{chunk-dvn528qs.js → chunk-t6dymkmx.js} +1 -1
  65. package/bundle/{chunk-jc0wbpjq.js → chunk-th5z0zx7.js} +1 -1
  66. package/bundle/chunk-tnn7hm4v.js +2 -0
  67. package/bundle/{chunk-aej69zjj.js → chunk-v0jnnpsz.js} +1 -1
  68. package/bundle/{chunk-f57rqsby.js → chunk-vdt8dvqs.js} +1 -1
  69. package/bundle/{chunk-0fwz5r1k.js → chunk-w2f8sjc4.js} +1 -1
  70. package/bundle/{chunk-rmmrnx95.js → chunk-w5nwkb0s.js} +1 -1
  71. package/bundle/{chunk-ckhhm2m8.js → chunk-w9mdrb90.js} +1 -1
  72. package/bundle/{chunk-xbxgrwvy.js → chunk-y7hkykkj.js} +1 -1
  73. package/bundle/{chunk-ej3gmaba.js → chunk-yja3y138.js} +1 -1
  74. package/bundle/{chunk-k5vwx1nv.js → chunk-yt6cfsdh.js} +1 -1
  75. package/bundle/index.js +3 -3
  76. package/bundle/worker.js +1 -1
  77. package/package.json +1 -1
  78. package/bundle/chunk-7pqevqry.js +0 -2
  79. package/bundle/chunk-p4pc1zdd.js +0 -2
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Jk as e}from"./chunk-q39h31te.js";import{Jl as r}from"./chunk-7myavy3p.js";import{It as o}from"./chunk-tk6gjy9d.js";var s=o.object({id:e.zod,type:o.string(),name:o.string(),branch:o.string().nullable(),directory:o.string().nullable(),extra:o.unknown().nullable(),projectID:r.zod});
2
+ import{Jk as e}from"./chunk-651fyxmn.js";import{Jl as r}from"./chunk-6ba9fc92.js";import{It as o}from"./chunk-tk6gjy9d.js";var s=o.object({id:e.zod,type:o.string(),name:o.string(),branch:o.string().nullable(),directory:o.string().nullable(),extra:o.unknown().nullable(),projectID:r.zod});
3
3
  export{s as Gg};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{$l as M,Vl as A,Wl as e,Xl as oo,Yl as io}from"./chunk-fegrrsfj.js";import{hp as Oo}from"./chunk-w8xaw2dv.js";import{rp as Qo}from"./chunk-jfy6bfvv.js";import{Or as F,Pr as s,Vr as q,Wr as t}from"./chunk-3nc9wy1m.js";import{$s as E,Gs as m,Hs as k,_s as Zo,ct as _o,dt as y,mt as T}from"./chunk-v7yvnnmr.js";import{Gt as P}from"./chunk-b5x3zghc.js";import{It as o}from"./chunk-tk6gjy9d.js";import{$H as V,AO as v,BN as U,TF as I,jD as r,yF as B}from"./chunk-meaa7wrs.js";import{lP as Yo,nP as a,pP as zo}from"./chunk-fa03gsff.js";var Fo={};a(Fo,{stopRefresh:()=>vo,startRefresh:()=>Io,refresh:()=>u,readModelCatalogResponse:()=>yo,get:()=>So,Provider:()=>Lo,Model:()=>Bo,MODEL_CATALOG_MAX_BYTES:()=>$o,Data:()=>D});import Do from"path";var z={};a(z,{layer:()=>bo,isPreview:()=>qo,isNewerVersion:()=>no,isLocal:()=>Go,getReleaseType:()=>wo,defaultLayer:()=>Uo,UpgradeFailedError:()=>N,USER_AGENT:()=>Ko,Service:()=>L,Installation:()=>z,Info:()=>Ho,Event:()=>Ro});var f=(i)=>i.pipe(q.retryTransient({retryOn:"errors-and-responses",times:2,schedule:I.exponential(200).pipe(I.jittered)}));import c from"path";var x=Yo(Oo(),1);var l=T.create({service:"installation"}),G="@qitqode/cli";function no(i,n){if(!x.default.valid(i)||!x.default.valid(n))return!1;return x.default.gt(n,i)}var Ro={Updated:M.define("installation.updated",o.object({version:o.string()})),UpdateAvailable:M.define("installation.update-available",o.object({version:o.string()}))};function wo(i,n){if(!no(i,n))throw Error(`Version ${n} is not newer than ${i}`);let j=x.default.major(i),Z=x.default.minor(i),$=x.default.major(n),_=x.default.minor(n);if($>j)return"major";if(_>Z)return"minor";return"patch"}var Ho=o.object({version:o.string(),latest:o.string()}).meta({ref:"InstallationInfo"}),Ko=`qitqode/${k}/${m}/${y.QITQODE_CLIENT}`;function qo(){return k!=="latest"}function Go(){return k==="local"}class N extends U.TaggedErrorClass()("UpgradeFailedError",{stderr:U.String}){}var No=U.Struct({version:U.String});class L extends r.Service()("@qitqode/Installation"){}var bo=B.effect(L,V.gen(function*(){let i=yield*q.HttpClient,n=q.filterStatusOk(f(i)),j=yield*A.ChildProcessSpawner,Z=(J,b)=>e.make(J[0],J.slice(1),{cwd:b?.cwd,env:b?.env,extendEnv:!0}),$=V.fnUntraced(function*(J){let b=yield*io(j,J);return{code:b.code,stdout:b.text,stderr:b.stderr}},V.scoped),_=V.fnUntraced(function*(J,b){let Q=yield*j.spawn(Z(J,b)),W=yield*v.mkString(v.decodeText(Q.stdout));return yield*Q.exitCode,W},V.scoped,V.catch(()=>V.succeed(""))),O=V.fnUntraced(function*(J,b){return yield*$(Z(J,b))},V.catch(()=>V.succeed({code:A.ExitCode(1),stdout:"",stderr:""}))),K=V.fn("Installation.method")(function*(){if(process.execPath.includes(c.join(".qitqode","bin")))return"curl";if(process.execPath.includes(c.join(".local","bin")))return"curl";let J=process.execPath.toLowerCase(),b=[{name:"npm",command:()=>_(["npm","list","-g","--depth=0"])},{name:"pnpm",command:()=>_(["pnpm","list","-g","--depth=0"])},{name:"bun",command:()=>_(["bun","pm","ls","-g"])}];b.sort((Q,W)=>{let w=J.includes(Q.name),p=J.includes(W.name);if(w&&!p)return-1;if(!w&&p)return 1;return 0});for(let Q of b)if((yield*Q.command()).includes(G))return Q.name;return"unknown"}),X=V.fn("Installation.latest")(function*(J){let b=J||(yield*K());if(b==="curl"){let W=(yield*_(["curl","-sI","https://github.com/qitqode/qitqode/releases/latest"])).match(/^location:.*\/tag\/v([0-9][^\s/]*)/im);if(W)return W[1];return yield*V.die(Error("failed to resolve latest version from GitHub releases redirect"))}if(b==="npm"||b==="bun"||b==="pnpm"){let W=(yield*_(["npm","config","get","registry"])).trim()||"https://registry.npmjs.org",w=W.endsWith("/")?W.slice(0,-1):W,p=yield*n.execute(F.get(`${w}/${encodeURIComponent(G)}/${k}`).pipe(F.acceptJson));return(yield*s.schemaBodyJson(No)(p)).version}return l.warn("unsupported update channel, skipping",{method:b}),yield*V.die(Error(`unsupported update channel: ${b}`))},V.orDie),R=V.fn("Installation.upgrade")(function*(J,b){let W=yield*(()=>{if(J==="npm")return O(["npm","install","-g",`${G}@${b}`]);if(J==="pnpm")return O(["pnpm","install","-g",`${G}@${b}`]);if(J==="bun")return O(["bun","install","-g",`${G}@${b}`]);if(J==="curl")return new N({stderr:"Self-update is unavailable for script installations; reinstall QitQode from a trusted package."});return new N({stderr:`Unknown method: ${J}`})})();if(W.code!==0){let w=W.stderr||"";yield*new N({stderr:w})}l.info("upgraded",{method:J,target:b,stdout:W.stdout,stderr:W.stderr}),yield*_([process.execPath,"--version"])});return L.of({info:V.fn("Installation.info")(function*(){return{version:m,latest:yield*X()}}),method:K,latest:X,upgrade:R})})),Uo=bo.pipe(B.provide(t.layer),B.provide(oo));var C=o.lazy(()=>o.union([o.string(),o.number(),o.boolean(),o.null(),o.array(C),o.record(o.string(),C)])),jo=o.object({input:o.number(),output:o.number(),cache_read:o.number().optional(),cache_write:o.number().optional(),context_over_200k:o.object({input:o.number(),output:o.number(),cache_read:o.number().optional(),cache_write:o.number().optional()}).optional()}),d=o.object({id:o.string(),name:o.string(),family:o.string().optional(),release_date:o.string(),attachment:o.boolean(),reasoning:o.boolean(),temperature:o.boolean().optional(),tool_call:o.boolean(),interleaved:o.union([o.literal(!0),o.object({field:o.enum(["reasoning_content","reasoning_details"])}).strict()]).optional(),cost:jo.optional(),limit:o.object({context:o.number(),input:o.number().optional(),output:o.number()}),modalities:o.object({input:o.array(o.enum(["text","audio","image","video","pdf"])),output:o.array(o.enum(["text","audio","image","video","pdf"]))}).optional(),experimental:o.object({modes:o.record(o.string(),o.object({cost:jo.optional(),provider:o.object({body:o.record(o.string(),C).optional(),headers:o.record(o.string(),o.string()).optional()}).optional()})).optional()}).optional(),status:o.enum(["alpha","beta","deprecated"]).optional(),provider:o.object({npm:o.string().optional(),api:o.string().optional()}).optional()}),g=o.object({api:o.string().optional(),name:o.string(),env:o.array(o.string()),id:o.string(),npm:o.string().optional(),models:o.record(o.string(),d)});var h=T.create({service:"models.dev"}),Jo=xo(),Y=Do.join(_o.Path.cache,Jo==="https://models.dev"?"models.json":`models-${Zo.fast(Jo)}.json`),Po=300000,$o=8388608,H,po=o.record(o.string(),g),Bo=d,Lo=g;function xo(){return y.QITQODE_MODELS_URL||"https://models.dev"}function To(){return Date.now()-Number(P.stat(Y)?.mtimeMs??0)<Po}function Vo(i){return!i&&To()}function S(i){let n=po.parse(typeof i==="string"?JSON.parse(i):i);for(let[j,Z]of Object.entries(n))if(Z.id!==j)throw Error(`Invalid model provider: ${j}`);return n}async function Wo(i){let n=await P.readJson(i).catch(()=>{return});if(!n)return;try{return S(n)}catch(j){h.warn("Ignoring invalid model catalog cache",{file:i,error:j});return}}async function yo(i,n,j=$o){let Z=i.headers.get("content-type")?.split(";")[0]?.trim().toLowerCase();if(Z!=="application/json"&&!Z?.endsWith("+json"))throw Error(`Invalid model catalog content type: ${Z||"missing"}`);let $=Number(i.headers.get("content-length"));if(Number.isFinite($)&&$>j)throw Error("Model catalog response is too large");if(!i.body)return"";let _=i.body.getReader(),O=()=>void _.cancel(n.reason);n.addEventListener("abort",O,{once:!0});let K=new Uint8Array(j),X=0;try{for(;;){let R=await _.read();if(R.done)break;if(X+=R.value.byteLength,X>j)throw await _.cancel(),Error("Model catalog response is too large");K.set(R.value,X-R.value.byteLength)}}finally{n.removeEventListener("abort",O)}return new TextDecoder().decode(K.subarray(0,X))}var Xo=async()=>{let i=AbortSignal.timeout(1e4),n=await fetch(`${xo()}/api.json`,{headers:{"User-Agent":z.USER_AGENT},signal:i});if(!n.ok)return;let j=S(await yo(n,i));return JSON.stringify(j)},D=Qo(async()=>{let i=await Wo(y.QITQODE_MODELS_PATH??Y);if(i)return i;let n=await import("./chunk-zt8kghd2.js").then((j)=>S(j.snapshot)).catch(()=>{return});if(n)return n;if(y.QITQODE_DISABLE_MODELS_FETCH)return{};return E.withLock(`models-dev:${Y}`,async()=>{let j=await Wo(y.QITQODE_MODELS_PATH??Y);if(j)return j;let Z=await Xo();if(Z)return await P.write(Y,Z).catch(($)=>{h.error("Failed to write models cache",{error:$})}),S(Z);return{}})});async function So(){return D()}async function u(i=!1){if(Vo(i))return D.reset();await E.withLock(`models-dev:${Y}`,async()=>{if(Vo(i))return D.reset();let n=await Xo();if(!n)return;await P.write(Y,n),D.reset()}).catch((n)=>{h.error("Failed to fetch models.dev",{error:n})})}function Io(){if(H||y.QITQODE_DISABLE_MODELS_FETCH||process.argv.includes("--get-yargs-completions"))return;u(),H=setInterval(async()=>{await u()},3600000),H.unref()}function vo(){if(!H)return;clearInterval(H),H=void 0}
2
+ import{$l as M,Vl as A,Wl as e,Xl as oo,Yl as io}from"./chunk-7skp0dmg.js";import{hp as Oo}from"./chunk-w8xaw2dv.js";import{rp as Qo}from"./chunk-jfy6bfvv.js";import{Or as F,Pr as s,Vr as q,Wr as t}from"./chunk-3nc9wy1m.js";import{$s as E,Gs as m,Hs as k,_s as Zo,ct as _o,dt as y,mt as T}from"./chunk-esjs9s9g.js";import{Gt as P}from"./chunk-b5x3zghc.js";import{It as o}from"./chunk-tk6gjy9d.js";import{$H as V,AO as v,BN as U,TF as I,jD as r,yF as B}from"./chunk-meaa7wrs.js";import{lP as Yo,nP as a,pP as zo}from"./chunk-fa03gsff.js";var Fo={};a(Fo,{stopRefresh:()=>vo,startRefresh:()=>Io,refresh:()=>u,readModelCatalogResponse:()=>yo,get:()=>So,Provider:()=>Lo,Model:()=>Bo,MODEL_CATALOG_MAX_BYTES:()=>$o,Data:()=>D});import Do from"path";var z={};a(z,{layer:()=>bo,isPreview:()=>qo,isNewerVersion:()=>no,isLocal:()=>Go,getReleaseType:()=>wo,defaultLayer:()=>Uo,UpgradeFailedError:()=>N,USER_AGENT:()=>Ko,Service:()=>L,Installation:()=>z,Info:()=>Ho,Event:()=>Ro});var f=(i)=>i.pipe(q.retryTransient({retryOn:"errors-and-responses",times:2,schedule:I.exponential(200).pipe(I.jittered)}));import c from"path";var x=Yo(Oo(),1);var l=T.create({service:"installation"}),G="@qitqode/cli";function no(i,n){if(!x.default.valid(i)||!x.default.valid(n))return!1;return x.default.gt(n,i)}var Ro={Updated:M.define("installation.updated",o.object({version:o.string()})),UpdateAvailable:M.define("installation.update-available",o.object({version:o.string()}))};function wo(i,n){if(!no(i,n))throw Error(`Version ${n} is not newer than ${i}`);let j=x.default.major(i),Z=x.default.minor(i),$=x.default.major(n),_=x.default.minor(n);if($>j)return"major";if(_>Z)return"minor";return"patch"}var Ho=o.object({version:o.string(),latest:o.string()}).meta({ref:"InstallationInfo"}),Ko=`qitqode/${k}/${m}/${y.QITQODE_CLIENT}`;function qo(){return k!=="latest"}function Go(){return k==="local"}class N extends U.TaggedErrorClass()("UpgradeFailedError",{stderr:U.String}){}var No=U.Struct({version:U.String});class L extends r.Service()("@qitqode/Installation"){}var bo=B.effect(L,V.gen(function*(){let i=yield*q.HttpClient,n=q.filterStatusOk(f(i)),j=yield*A.ChildProcessSpawner,Z=(J,b)=>e.make(J[0],J.slice(1),{cwd:b?.cwd,env:b?.env,extendEnv:!0}),$=V.fnUntraced(function*(J){let b=yield*io(j,J);return{code:b.code,stdout:b.text,stderr:b.stderr}},V.scoped),_=V.fnUntraced(function*(J,b){let Q=yield*j.spawn(Z(J,b)),W=yield*v.mkString(v.decodeText(Q.stdout));return yield*Q.exitCode,W},V.scoped,V.catch(()=>V.succeed(""))),O=V.fnUntraced(function*(J,b){return yield*$(Z(J,b))},V.catch(()=>V.succeed({code:A.ExitCode(1),stdout:"",stderr:""}))),K=V.fn("Installation.method")(function*(){if(process.execPath.includes(c.join(".qitqode","bin")))return"curl";if(process.execPath.includes(c.join(".local","bin")))return"curl";let J=process.execPath.toLowerCase(),b=[{name:"npm",command:()=>_(["npm","list","-g","--depth=0"])},{name:"pnpm",command:()=>_(["pnpm","list","-g","--depth=0"])},{name:"bun",command:()=>_(["bun","pm","ls","-g"])}];b.sort((Q,W)=>{let w=J.includes(Q.name),p=J.includes(W.name);if(w&&!p)return-1;if(!w&&p)return 1;return 0});for(let Q of b)if((yield*Q.command()).includes(G))return Q.name;return"unknown"}),X=V.fn("Installation.latest")(function*(J){let b=J||(yield*K());if(b==="curl"){let W=(yield*_(["curl","-sI","https://github.com/qitqode/qitqode/releases/latest"])).match(/^location:.*\/tag\/v([0-9][^\s/]*)/im);if(W)return W[1];return yield*V.die(Error("failed to resolve latest version from GitHub releases redirect"))}if(b==="npm"||b==="bun"||b==="pnpm"){let W=(yield*_(["npm","config","get","registry"])).trim()||"https://registry.npmjs.org",w=W.endsWith("/")?W.slice(0,-1):W,p=yield*n.execute(F.get(`${w}/${encodeURIComponent(G)}/${k}`).pipe(F.acceptJson));return(yield*s.schemaBodyJson(No)(p)).version}return l.warn("unsupported update channel, skipping",{method:b}),yield*V.die(Error(`unsupported update channel: ${b}`))},V.orDie),R=V.fn("Installation.upgrade")(function*(J,b){let W=yield*(()=>{if(J==="npm")return O(["npm","install","-g",`${G}@${b}`]);if(J==="pnpm")return O(["pnpm","install","-g",`${G}@${b}`]);if(J==="bun")return O(["bun","install","-g",`${G}@${b}`]);if(J==="curl")return new N({stderr:"Self-update is unavailable for script installations; reinstall QitQode from a trusted package."});return new N({stderr:`Unknown method: ${J}`})})();if(W.code!==0){let w=W.stderr||"";yield*new N({stderr:w})}l.info("upgraded",{method:J,target:b,stdout:W.stdout,stderr:W.stderr}),yield*_([process.execPath,"--version"])});return L.of({info:V.fn("Installation.info")(function*(){return{version:m,latest:yield*X()}}),method:K,latest:X,upgrade:R})})),Uo=bo.pipe(B.provide(t.layer),B.provide(oo));var C=o.lazy(()=>o.union([o.string(),o.number(),o.boolean(),o.null(),o.array(C),o.record(o.string(),C)])),jo=o.object({input:o.number(),output:o.number(),cache_read:o.number().optional(),cache_write:o.number().optional(),context_over_200k:o.object({input:o.number(),output:o.number(),cache_read:o.number().optional(),cache_write:o.number().optional()}).optional()}),d=o.object({id:o.string(),name:o.string(),family:o.string().optional(),release_date:o.string(),attachment:o.boolean(),reasoning:o.boolean(),temperature:o.boolean().optional(),tool_call:o.boolean(),interleaved:o.union([o.literal(!0),o.object({field:o.enum(["reasoning_content","reasoning_details"])}).strict()]).optional(),cost:jo.optional(),limit:o.object({context:o.number(),input:o.number().optional(),output:o.number()}),modalities:o.object({input:o.array(o.enum(["text","audio","image","video","pdf"])),output:o.array(o.enum(["text","audio","image","video","pdf"]))}).optional(),experimental:o.object({modes:o.record(o.string(),o.object({cost:jo.optional(),provider:o.object({body:o.record(o.string(),C).optional(),headers:o.record(o.string(),o.string()).optional()}).optional()})).optional()}).optional(),status:o.enum(["alpha","beta","deprecated"]).optional(),provider:o.object({npm:o.string().optional(),api:o.string().optional()}).optional()}),g=o.object({api:o.string().optional(),name:o.string(),env:o.array(o.string()),id:o.string(),npm:o.string().optional(),models:o.record(o.string(),d)});var h=T.create({service:"models.dev"}),Jo=xo(),Y=Do.join(_o.Path.cache,Jo==="https://models.dev"?"models.json":`models-${Zo.fast(Jo)}.json`),Po=300000,$o=8388608,H,po=o.record(o.string(),g),Bo=d,Lo=g;function xo(){return y.QITQODE_MODELS_URL||"https://models.dev"}function To(){return Date.now()-Number(P.stat(Y)?.mtimeMs??0)<Po}function Vo(i){return!i&&To()}function S(i){let n=po.parse(typeof i==="string"?JSON.parse(i):i);for(let[j,Z]of Object.entries(n))if(Z.id!==j)throw Error(`Invalid model provider: ${j}`);return n}async function Wo(i){let n=await P.readJson(i).catch(()=>{return});if(!n)return;try{return S(n)}catch(j){h.warn("Ignoring invalid model catalog cache",{file:i,error:j});return}}async function yo(i,n,j=$o){let Z=i.headers.get("content-type")?.split(";")[0]?.trim().toLowerCase();if(Z!=="application/json"&&!Z?.endsWith("+json"))throw Error(`Invalid model catalog content type: ${Z||"missing"}`);let $=Number(i.headers.get("content-length"));if(Number.isFinite($)&&$>j)throw Error("Model catalog response is too large");if(!i.body)return"";let _=i.body.getReader(),O=()=>void _.cancel(n.reason);n.addEventListener("abort",O,{once:!0});let K=new Uint8Array(j),X=0;try{for(;;){let R=await _.read();if(R.done)break;if(X+=R.value.byteLength,X>j)throw await _.cancel(),Error("Model catalog response is too large");K.set(R.value,X-R.value.byteLength)}}finally{n.removeEventListener("abort",O)}return new TextDecoder().decode(K.subarray(0,X))}var Xo=async()=>{let i=AbortSignal.timeout(1e4),n=await fetch(`${xo()}/api.json`,{headers:{"User-Agent":z.USER_AGENT},signal:i});if(!n.ok)return;let j=S(await yo(n,i));return JSON.stringify(j)},D=Qo(async()=>{let i=await Wo(y.QITQODE_MODELS_PATH??Y);if(i)return i;let n=await import("./chunk-zt8kghd2.js").then((j)=>S(j.snapshot)).catch(()=>{return});if(n)return n;if(y.QITQODE_DISABLE_MODELS_FETCH)return{};return E.withLock(`models-dev:${Y}`,async()=>{let j=await Wo(y.QITQODE_MODELS_PATH??Y);if(j)return j;let Z=await Xo();if(Z)return await P.write(Y,Z).catch(($)=>{h.error("Failed to write models cache",{error:$})}),S(Z);return{}})});async function So(){return D()}async function u(i=!1){if(Vo(i))return D.reset();await E.withLock(`models-dev:${Y}`,async()=>{if(Vo(i))return D.reset();let n=await Xo();if(!n)return;await P.write(Y,n),D.reset()}).catch((n)=>{h.error("Failed to fetch models.dev",{error:n})})}function Io(){if(H||y.QITQODE_DISABLE_MODELS_FETCH||process.argv.includes("--get-yargs-completions"))return;u(),H=setInterval(async()=>{await u()},3600000),H.unref()}function vo(){if(!H)return;clearInterval(H),H=void 0}
3
3
  export{f as gl,z as hl,$o as il,Bo as jl,Lo as kl,yo as ll,D as ml,So as nl,u as ol,Io as pl,vo as ql,Fo as rl};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{g as K}from"./chunk-knwayz0m.js";import{i as $}from"./chunk-f72j5yx8.js";import{F as O,G as v}from"./chunk-wnjg8mmh.js";import{Od as V}from"./chunk-wmmck56g.js";import{Sf as j}from"./chunk-ntmn6epc.js";import{Ag as w,pg as D,qg as L,rg as G,sg as W,wg as Y,zg as _}from"./chunk-pn77fh9b.js";import{qh as T}from"./chunk-1qw3yh13.js";import{Dj as Z}from"./chunk-q39h31te.js";import{$H as H}from"./chunk-meaa7wrs.js";var X="forgewise",S=(J,z=process.env)=>J.trim()||z.QLEX_API_KEY?.trim()||"",A=(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*Z.Service).set(X,{type:"api",key:z,metadata:{method:"api-key"}}),yield*$(j.Style.TEXT_SUCCESS+"Signed in with API key."+j.Style.TEXT_NORMAL)}).pipe(H.withSpan("forgewise.login.apikey"));async function R(){let J=!G();try{return await _({tryOpen:J,onCode:(z)=>{if(process.stdout.write(`
2
+ import{g as K}from"./chunk-6t70j1wg.js";import{i as $}from"./chunk-f72j5yx8.js";import{F as O,G as v}from"./chunk-21t254fq.js";import{Od as V}from"./chunk-wmmck56g.js";import{Sf as j}from"./chunk-ntmn6epc.js";import{Ag as w,pg as D,qg as L,rg as G,sg as W,wg as Y,zg as _}from"./chunk-q2zk0z41.js";import{qh as T}from"./chunk-88ckmmdr.js";import{Dj as Z}from"./chunk-651fyxmn.js";import{$H as H}from"./chunk-meaa7wrs.js";var X="forgewise",S=(J,z=process.env)=>J.trim()||z.QLEX_API_KEY?.trim()||"",A=(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*Z.Service).set(X,{type:"api",key:z,metadata:{method:"api-key"}}),yield*$(j.Style.TEXT_SUCCESS+"Signed in with API key."+j.Style.TEXT_NORMAL)}).pipe(H.withSpan("forgewise.login.apikey"));async function R(){let J=!G();try{return await _({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(`
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{g as G}from"./chunk-knwayz0m.js";import{D as x,E as F,F as Z}from"./chunk-wnjg8mmh.js";import{Od as P}from"./chunk-wmmck56g.js";import{Sf as j}from"./chunk-ntmn6epc.js";import{wg as v}from"./chunk-pn77fh9b.js";import{qh as X}from"./chunk-1qw3yh13.js";import"./chunk-ckhhm2m8.js";import"./chunk-tp7sfreh.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import{Dj as $}from"./chunk-q39h31te.js";import"./chunk-0x0a51w3.js";import"./chunk-7myavy3p.js";import"./chunk-fegrrsfj.js";import"./chunk-c4x99ayd.js";import"./chunk-w0fg8n1f.js";import"./chunk-0pbpzty2.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-jc0wbpjq.js";import"./chunk-jfy6bfvv.js";import"./chunk-aej69zjj.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-k5vwx1nv.js";import"./chunk-ej3gmaba.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import"./chunk-v7yvnnmr.js";import"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import{$H as D}from"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import"./chunk-fa03gsff.js";var Y="forgewise";function _(J){return D.gen(function*(){let z=yield*J.get(Y);if(!z||z.type!=="api")return null;let M=(z.metadata??{}).sub,V=z.key;if(!M)return null;return{sub:M,accessToken:V}})}var H=()=>D.gen(function*(){if((yield*G())==="revoked")return null;let J=yield*$.Service,z=yield*_(J);if(!z)return yield*D.sync(()=>j.println(j.Style.TEXT_DANGER+"Not signed in to Forgewise. Run `qitqode auth login` first."+j.Style.TEXT_NORMAL)),null;return z}),k=()=>D.gen(function*(){let J=yield*H();if(!J)return;let z=yield*D.tryPromise({try:()=>v(J.accessToken),catch:()=>null}).pipe(D.orElseSucceed(()=>null));if(!z){yield*D.sync(()=>j.println(j.Style.TEXT_DANGER+"Could not fetch balance."+j.Style.TEXT_NORMAL));return}yield*D.sync(()=>j.println(j.Style.TEXT_SUCCESS+"Qredits balance: "+j.Style.TEXT_NORMAL+j.Style.TEXT_HIGHLIGHT_BOLD+Z(z.balance)+j.Style.TEXT_NORMAL))}).pipe(D.withSpan("qredits.balance")),w=()=>D.gen(function*(){let J=yield*H();if(!J)return;let z=yield*D.tryPromise({try:()=>F({userId:J.sub,accessToken:J.accessToken,limit:20}),catch:(L)=>L});if(z instanceof Error){let L=z instanceof x?z.message:String(z);yield*D.sync(()=>j.println(j.Style.TEXT_DANGER+"Could not fetch history: "+L+j.Style.TEXT_NORMAL));return}if(z.length===0){yield*D.sync(()=>j.println("No spend history yet."));return}let N=j.Style.TEXT_DIM,M=j.Style.TEXT_NORMAL,V=j.Style.TEXT_DANGER;yield*D.sync(()=>{j.println(N+" Date Description Amount"+M),j.println(N+" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500"+M);for(let L of z){let K=(L.date||"").slice(0,10).padEnd(18),O=(L.description||"").slice(0,32).padEnd(32),T=(L.amount<0?"-":" ")+Z(Math.abs(L.amount)),W=L.amount<0?V:M;j.println(` ${N}${K}${M} ${O} ${W}${T}${M}`)}})}).pipe(D.withSpan("qredits.history")),g=P({command:"qredits <command>",describe:"Check Qredits balance and spend history",builder:(J)=>J.command(P({command:"balance",describe:"Show current Qredits balance",builder:(z)=>z,async handler(){j.empty(),await X.runPromise(k())}})).command(P({command:"history",describe:"Show recent Qredit spend history",builder:(z)=>z,async handler(){j.empty(),await X.runPromise(w())}})).demandCommand(),async handler(){}});export{w as historyEffect,k as balanceEffect,g as QreditsCommand};
2
+ import{g as G}from"./chunk-6t70j1wg.js";import{D as x,E as F,F as Z}from"./chunk-21t254fq.js";import{Od as P}from"./chunk-wmmck56g.js";import{Sf as j}from"./chunk-ntmn6epc.js";import{wg as v}from"./chunk-q2zk0z41.js";import{qh as X}from"./chunk-88ckmmdr.js";import"./chunk-w9mdrb90.js";import"./chunk-qxtz0tfd.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import{Dj as $}from"./chunk-651fyxmn.js";import"./chunk-0czxqcg7.js";import"./chunk-6ba9fc92.js";import"./chunk-7skp0dmg.js";import"./chunk-c4x99ayd.js";import"./chunk-6dznrhs4.js";import"./chunk-8fn883z8.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-th5z0zx7.js";import"./chunk-jfy6bfvv.js";import"./chunk-v0jnnpsz.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-yt6cfsdh.js";import"./chunk-yja3y138.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import"./chunk-esjs9s9g.js";import"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import{$H as D}from"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import"./chunk-fa03gsff.js";var Y="forgewise";function _(J){return D.gen(function*(){let z=yield*J.get(Y);if(!z||z.type!=="api")return null;let M=(z.metadata??{}).sub,V=z.key;if(!M)return null;return{sub:M,accessToken:V}})}var H=()=>D.gen(function*(){if((yield*G())==="revoked")return null;let J=yield*$.Service,z=yield*_(J);if(!z)return yield*D.sync(()=>j.println(j.Style.TEXT_DANGER+"Not signed in to Forgewise. Run `qitqode auth login` first."+j.Style.TEXT_NORMAL)),null;return z}),k=()=>D.gen(function*(){let J=yield*H();if(!J)return;let z=yield*D.tryPromise({try:()=>v(J.accessToken),catch:()=>null}).pipe(D.orElseSucceed(()=>null));if(!z){yield*D.sync(()=>j.println(j.Style.TEXT_DANGER+"Could not fetch balance."+j.Style.TEXT_NORMAL));return}yield*D.sync(()=>j.println(j.Style.TEXT_SUCCESS+"Qredits balance: "+j.Style.TEXT_NORMAL+j.Style.TEXT_HIGHLIGHT_BOLD+Z(z.balance)+j.Style.TEXT_NORMAL))}).pipe(D.withSpan("qredits.balance")),w=()=>D.gen(function*(){let J=yield*H();if(!J)return;let z=yield*D.tryPromise({try:()=>F({userId:J.sub,accessToken:J.accessToken,limit:20}),catch:(L)=>L});if(z instanceof Error){let L=z instanceof x?z.message:String(z);yield*D.sync(()=>j.println(j.Style.TEXT_DANGER+"Could not fetch history: "+L+j.Style.TEXT_NORMAL));return}if(z.length===0){yield*D.sync(()=>j.println("No spend history yet."));return}let N=j.Style.TEXT_DIM,M=j.Style.TEXT_NORMAL,V=j.Style.TEXT_DANGER;yield*D.sync(()=>{j.println(N+" Date Description Amount"+M),j.println(N+" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500"+M);for(let L of z){let K=(L.date||"").slice(0,10).padEnd(18),O=(L.description||"").slice(0,32).padEnd(32),T=(L.amount<0?"-":" ")+Z(Math.abs(L.amount)),W=L.amount<0?V:M;j.println(` ${N}${K}${M} ${O} ${W}${T}${M}`)}})}).pipe(D.withSpan("qredits.history")),g=P({command:"qredits <command>",describe:"Check Qredits balance and spend history",builder:(J)=>J.command(P({command:"balance",describe:"Show current Qredits balance",builder:(z)=>z,async handler(){j.empty(),await X.runPromise(k())}})).command(P({command:"history",describe:"Show recent Qredit spend history",builder:(z)=>z,async handler(){j.empty(),await X.runPromise(w())}})).demandCommand(),async handler(){}});export{w as historyEffect,k as balanceEffect,g as QreditsCommand};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Dh as t}from"./chunk-tp7sfreh.js";class k extends Error{cause;constructor(r,e){super(r);this.name="QreditChargeError",this.cause=e}}async function d(r){return t(r)}function x(r){return Number.isInteger(r)?String(r):r.toFixed(2)}function R(r,e){let i={sub:r.sub,name:r.name,email:r.email,expires_at:String(r.expires_at),...e.rotateRefreshToken&&r.refresh_token?{refresh_token:r.refresh_token}:{}};return{type:"api",key:r.access_token,metadata:i}}
2
+ import{Dh as t}from"./chunk-qxtz0tfd.js";class k extends Error{cause;constructor(r,e){super(r);this.name="QreditChargeError",this.cause=e}}async function d(r){return t(r)}function x(r){return Number.isInteger(r)?String(r):r.toFixed(2)}function R(r,e){let i={sub:r.sub,name:r.name,email:r.email,expires_at:String(r.expires_at),...e.rotateRefreshToken&&r.refresh_token?{refresh_token:r.refresh_token}:{}};return{type:"api",key:r.access_token,metadata:i}}
3
3
  export{k as D,d as E,x as F,R as G};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Ag as l,Bg as m,pg as a,qg as b,rg as c,sg as d,tg as e,ug as f,vg as g,wg as h,xg as i,yg as j,zg as k}from"./chunk-pn77fh9b.js";import"./chunk-tp7sfreh.js";import"./chunk-tz8qhbk9.js";import"./chunk-jc0wbpjq.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-thbjhgw0.js";import"./chunk-v7yvnnmr.js";import"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-fa03gsff.js";export{e as resolveDevicePoll,j as refreshAccessToken,i as probeToken,k as loginDevice,m as loginBrowser,l as login,c as isReplitEnv,g as isNearExpiry,d as getConfig,f as getCallbackUri,h as fetchQreditsBalance,a as ForgewiseError,b as DeviceFlowUnsupportedError};
2
+ import{Ag as l,Bg as m,pg as a,qg as b,rg as c,sg as d,tg as e,ug as f,vg as g,wg as h,xg as i,yg as j,zg as k}from"./chunk-q2zk0z41.js";import"./chunk-qxtz0tfd.js";import"./chunk-tz8qhbk9.js";import"./chunk-th5z0zx7.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-thbjhgw0.js";import"./chunk-esjs9s9g.js";import"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-fa03gsff.js";export{e as resolveDevicePoll,j as refreshAccessToken,i as probeToken,k as loginDevice,m as loginBrowser,l as login,c as isReplitEnv,g as isNearExpiry,d as getConfig,f as getCallbackUri,h as fetchQreditsBalance,a as ForgewiseError,b as DeviceFlowUnsupportedError};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Od as a}from"./chunk-wmmck56g.js";import{Pf as d}from"./chunk-6tjghyx6.js";import{Sf as i}from"./chunk-ntmn6epc.js";import{Dl as p,Fl as n}from"./chunk-7myavy3p.js";import"./chunk-fegrrsfj.js";import{Eo as f}from"./chunk-c4x99ayd.js";import"./chunk-tq258v8s.js";import"./chunk-jfy6bfvv.js";import"./chunk-aej69zjj.js";import"./chunk-k5vwx1nv.js";import"./chunk-ej3gmaba.js";import"./chunk-3nc9wy1m.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-v7yvnnmr.js";import{pt as m}from"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-fa03gsff.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(`
2
+ import{Od as a}from"./chunk-wmmck56g.js";import{Pf as d}from"./chunk-hkydp4m3.js";import{Sf as i}from"./chunk-ntmn6epc.js";import{Dl as p,Fl as n}from"./chunk-6ba9fc92.js";import"./chunk-7skp0dmg.js";import{Eo as f}from"./chunk-c4x99ayd.js";import"./chunk-tq258v8s.js";import"./chunk-jfy6bfvv.js";import"./chunk-v0jnnpsz.js";import"./chunk-yt6cfsdh.js";import"./chunk-yja3y138.js";import"./chunk-3nc9wy1m.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-esjs9s9g.js";import{pt as m}from"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-fa03gsff.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{Gg as a}from"./chunk-xb031er5.js";import{Xg as t,qh as c}from"./chunk-1qw3yh13.js";import"./chunk-ckhhm2m8.js";import"./chunk-tp7sfreh.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import"./chunk-q39h31te.js";import"./chunk-0x0a51w3.js";import"./chunk-7myavy3p.js";import"./chunk-fegrrsfj.js";import"./chunk-c4x99ayd.js";import"./chunk-w0fg8n1f.js";import"./chunk-0pbpzty2.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-jc0wbpjq.js";import"./chunk-jfy6bfvv.js";import"./chunk-aej69zjj.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-k5vwx1nv.js";import"./chunk-ej3gmaba.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import"./chunk-v7yvnnmr.js";import"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import{It as i}from"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import"./chunk-fa03gsff.js";var n=i.object({name:a.shape.name,branch:a.shape.branch.unwrap(),directory:a.shape.directory.unwrap()}),d={name:"Worktree",description:"Create a git worktree",async configure(e){let r=await c.runPromise(t.Service.use((o)=>o.makeWorktreeInfo()));return{...e,name:r.name,branch:r.branch,directory:r.directory}},async create(e){let r=n.parse(e);await c.runPromise(t.Service.use((o)=>o.createFromInfo({name:r.name,directory:r.directory,branch:r.branch})))},async remove(e){let r=n.parse(e);await c.runPromise(t.Service.use((o)=>o.remove({directory:r.directory})))},target(e){return{type:"local",directory:n.parse(e).directory}}};export{d as WorktreeAdaptor};
2
+ import{Gg as a}from"./chunk-0942095s.js";import{Xg as t,qh as c}from"./chunk-88ckmmdr.js";import"./chunk-w9mdrb90.js";import"./chunk-qxtz0tfd.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import"./chunk-651fyxmn.js";import"./chunk-0czxqcg7.js";import"./chunk-6ba9fc92.js";import"./chunk-7skp0dmg.js";import"./chunk-c4x99ayd.js";import"./chunk-6dznrhs4.js";import"./chunk-8fn883z8.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-th5z0zx7.js";import"./chunk-jfy6bfvv.js";import"./chunk-v0jnnpsz.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-yt6cfsdh.js";import"./chunk-yja3y138.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import"./chunk-esjs9s9g.js";import"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import{It as i}from"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import"./chunk-fa03gsff.js";var n=i.object({name:a.shape.name,branch:a.shape.branch.unwrap(),directory:a.shape.directory.unwrap()}),d={name:"Worktree",description:"Create a git worktree",async configure(e){let r=await c.runPromise(t.Service.use((o)=>o.makeWorktreeInfo()));return{...e,name:r.name,branch:r.branch,directory:r.directory}},async create(e){let r=n.parse(e);await c.runPromise(t.Service.use((o)=>o.createFromInfo({name:r.name,directory:r.directory,branch:r.branch})))},async remove(e){let r=n.parse(e);await c.runPromise(t.Service.use((o)=>o.remove({directory:r.directory})))},target(e){return{type:"local",directory:n.parse(e).directory}}};export{d as WorktreeAdaptor};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{K as R9}from"./chunk-43xq4p51.js";import{Bd as E9}from"./chunk-wmqcz5rb.js";import{Cd as P6,Fd as p$,Gd as S9,Hd as U9,Kd as H9,Ld as q6}from"./chunk-9g05wsae.js";import"./chunk-x1dfc7qd.js";import{Od as T0}from"./chunk-wmmck56g.js";import{Sf as O}from"./chunk-ntmn6epc.js";import{Vg as j9,mh as I9,qh as E$}from"./chunk-1qw3yh13.js";import"./chunk-ckhhm2m8.js";import"./chunk-tp7sfreh.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import{Cj as T9,Tj as O6,Uj as M0,Vk as w9,Xk as D9,el as b9}from"./chunk-q39h31te.js";import{rl as N9}from"./chunk-0x0a51w3.js";import{Gl as A0,Pl as T$}from"./chunk-7myavy3p.js";import"./chunk-fegrrsfj.js";import"./chunk-c4x99ayd.js";import"./chunk-w0fg8n1f.js";import"./chunk-0pbpzty2.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-jc0wbpjq.js";import"./chunk-jfy6bfvv.js";import"./chunk-aej69zjj.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-k5vwx1nv.js";import"./chunk-ej3gmaba.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import"./chunk-v7yvnnmr.js";import{Gt as A9,vt as C6}from"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import{Jt as V9,Mt as R6,Nt as L9,St as F9}from"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import{$H as M9}from"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import{lP as q0,mP as D,pP as E}from"./chunk-fa03gsff.js";var JZ=D((zZ)=>{/*!
2
+ import{K as R9}from"./chunk-43xq4p51.js";import{Bd as E9}from"./chunk-rkb592nb.js";import{Cd as P6,Fd as p$,Gd as S9,Hd as U9,Kd as H9,Ld as q6}from"./chunk-9g05wsae.js";import"./chunk-x1dfc7qd.js";import{Od as T0}from"./chunk-wmmck56g.js";import{Sf as O}from"./chunk-ntmn6epc.js";import{Vg as j9,mh as I9,qh as E$}from"./chunk-88ckmmdr.js";import"./chunk-w9mdrb90.js";import"./chunk-qxtz0tfd.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import{Cj as T9,Tj as O6,Uj as M0,Vk as w9,Xk as D9,el as b9}from"./chunk-651fyxmn.js";import{rl as N9}from"./chunk-0czxqcg7.js";import{Gl as A0,Pl as T$}from"./chunk-6ba9fc92.js";import"./chunk-7skp0dmg.js";import"./chunk-c4x99ayd.js";import"./chunk-6dznrhs4.js";import"./chunk-8fn883z8.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-th5z0zx7.js";import"./chunk-jfy6bfvv.js";import"./chunk-v0jnnpsz.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-yt6cfsdh.js";import"./chunk-yja3y138.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import"./chunk-esjs9s9g.js";import{Gt as A9,vt as C6}from"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import{Jt as V9,Mt as R6,Nt as L9,St as F9}from"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import{$H as M9}from"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import{lP as q0,mP as D,pP as E}from"./chunk-fa03gsff.js";var JZ=D((zZ)=>{/*!
3
3
  * content-type
4
4
  * Copyright(c) 2015 Douglas Christopher Wilson
5
5
  * MIT Licensed
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{m as L}from"./chunk-gfm4vad7.js";import"./chunk-3makpbng.js";import{y as K}from"./chunk-8k1q3g8s.js";import{z as N}from"./chunk-39h565hz.js";import{A as F,C as J}from"./chunk-3w60y2x5.js";import"./chunk-wnjg8mmh.js";import"./chunk-jj7wrfty.js";import"./chunk-43xq4p51.js";import{M}from"./chunk-ghmctw8s.js";import"./chunk-3degq6rv.js";import"./chunk-fgqrcjsm.js";import"./chunk-fd1vbz1f.js";import"./chunk-7b69jj5g.js";import"./chunk-x1dfc7qd.js";import{Od as B}from"./chunk-wmmck56g.js";import"./chunk-en7nxqvn.js";import"./chunk-v9sfzkg5.js";import"./chunk-djcsvcby.js";import{Sf as z}from"./chunk-ntmn6epc.js";import"./chunk-5549c7mb.js";import"./chunk-pn77fh9b.js";import"./chunk-ckhhm2m8.js";import"./chunk-tp7sfreh.js";import"./chunk-tz8qhbk9.js";import"./chunk-q39h31te.js";import"./chunk-0x0a51w3.js";import"./chunk-7myavy3p.js";import"./chunk-fegrrsfj.js";import"./chunk-c4x99ayd.js";import"./chunk-w0fg8n1f.js";import"./chunk-0pbpzty2.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-jc0wbpjq.js";import"./chunk-jfy6bfvv.js";import"./chunk-aej69zjj.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-k5vwx1nv.js";import"./chunk-ej3gmaba.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import"./chunk-v7yvnnmr.js";import"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-gvj8qg7x.js";import"./chunk-fa03gsff.js";var x=B({command:"attach <url>",describe:"attach to a running qitqode server",builder:(j)=>j.positional("url",{type:"string",describe:"http://localhost:4096",demandOption:!0}).option("dir",{type:"string",description:"directory to run in"}).option("continue",{alias:["c"],describe:"continue the last session",type:"boolean"}).option("session",{alias:["s"],type:"string",describe:"session id to continue"}).option("fork",{type:"boolean",describe:"fork the session when continuing (use with --continue or --session)"}).option("password",{alias:["p"],type:"string",describe:"basic auth password (defaults to QITQODE_SERVER_PASSWORD)"}),handler:async(j)=>{let Q=J();try{F();let q=N(j);if(q){z.error(q),process.exitCode=1;return}let R=(()=>{if(!j.dir)return;try{return process.chdir(j.dir),process.cwd()}catch{return j.dir}})(),S=M({password:j.password}),V=await K.get();await L({url:j.url,config:V,args:{continue:j.continue,sessionID:j.session,fork:j.fork},directory:R,headers:S})}finally{Q?.()}}});export{x as AttachCommand};
2
+ import{m as L}from"./chunk-gp6nvjb8.js";import"./chunk-767vf2ha.js";import{y as K}from"./chunk-sj8py6vk.js";import{z as N}from"./chunk-39h565hz.js";import{A as F,C as J}from"./chunk-3w60y2x5.js";import"./chunk-21t254fq.js";import"./chunk-jj7wrfty.js";import"./chunk-43xq4p51.js";import{M}from"./chunk-hvnhkrd3.js";import"./chunk-3degq6rv.js";import"./chunk-hvqgvsa5.js";import"./chunk-fd1vbz1f.js";import"./chunk-7b69jj5g.js";import"./chunk-x1dfc7qd.js";import{Od as B}from"./chunk-wmmck56g.js";import"./chunk-en7nxqvn.js";import"./chunk-v9sfzkg5.js";import"./chunk-djcsvcby.js";import{Sf as z}from"./chunk-ntmn6epc.js";import"./chunk-jwgqpntf.js";import"./chunk-q2zk0z41.js";import"./chunk-w9mdrb90.js";import"./chunk-qxtz0tfd.js";import"./chunk-tz8qhbk9.js";import"./chunk-651fyxmn.js";import"./chunk-0czxqcg7.js";import"./chunk-6ba9fc92.js";import"./chunk-7skp0dmg.js";import"./chunk-c4x99ayd.js";import"./chunk-6dznrhs4.js";import"./chunk-8fn883z8.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-th5z0zx7.js";import"./chunk-jfy6bfvv.js";import"./chunk-v0jnnpsz.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-yt6cfsdh.js";import"./chunk-yja3y138.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import"./chunk-esjs9s9g.js";import"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-gvj8qg7x.js";import"./chunk-fa03gsff.js";var x=B({command:"attach <url>",describe:"attach to a running qitqode server",builder:(j)=>j.positional("url",{type:"string",describe:"http://localhost:4096",demandOption:!0}).option("dir",{type:"string",description:"directory to run in"}).option("continue",{alias:["c"],describe:"continue the last session",type:"boolean"}).option("session",{alias:["s"],type:"string",describe:"session id to continue"}).option("fork",{type:"boolean",describe:"fork the session when continuing (use with --continue or --session)"}).option("password",{alias:["p"],type:"string",describe:"basic auth password (defaults to QITQODE_SERVER_PASSWORD)"}),handler:async(j)=>{let Q=J();try{F();let q=N(j);if(q){z.error(q),process.exitCode=1;return}let R=(()=>{if(!j.dir)return;try{return process.chdir(j.dir),process.cwd()}catch{return j.dir}})(),S=M({password:j.password}),V=await K.get();await L({url:j.url,config:V,args:{continue:j.continue,sessionID:j.session,fork:j.fork},directory:R,headers:S})}finally{Q?.()}}});export{x as AttachCommand};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{ct as p,dt as f,mt as m}from"./chunk-v7yvnnmr.js";import{nP as l}from"./chunk-fa03gsff.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?.()}
2
+ import{ct as p,dt as f,mt as m}from"./chunk-esjs9s9g.js";import{nP as l}from"./chunk-fa03gsff.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 Tf,n as Uf};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Bd as j}from"./chunk-wmqcz5rb.js";import{Od as Q}from"./chunk-wmmck56g.js";import{Sf as M}from"./chunk-ntmn6epc.js";import{lg as N}from"./chunk-rmmrnx95.js";import{qh as $}from"./chunk-1qw3yh13.js";import"./chunk-ckhhm2m8.js";import"./chunk-tp7sfreh.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import{Sj as J,el as X}from"./chunk-q39h31te.js";import"./chunk-0x0a51w3.js";import"./chunk-7myavy3p.js";import"./chunk-fegrrsfj.js";import"./chunk-c4x99ayd.js";import"./chunk-w0fg8n1f.js";import"./chunk-0pbpzty2.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-jc0wbpjq.js";import"./chunk-jfy6bfvv.js";import{sp as _}from"./chunk-aej69zjj.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-k5vwx1nv.js";import"./chunk-ej3gmaba.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import{Vs as Y,dt as Z}from"./chunk-v7yvnnmr.js";import{Gt as V,vt as E}from"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import"./chunk-fa03gsff.js";import{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};
2
+ import{Bd as j}from"./chunk-rkb592nb.js";import{Od as Q}from"./chunk-wmmck56g.js";import{Sf as M}from"./chunk-ntmn6epc.js";import{lg as N}from"./chunk-w5nwkb0s.js";import{qh as $}from"./chunk-88ckmmdr.js";import"./chunk-w9mdrb90.js";import"./chunk-qxtz0tfd.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import{Sj as J,el as X}from"./chunk-651fyxmn.js";import"./chunk-0czxqcg7.js";import"./chunk-6ba9fc92.js";import"./chunk-7skp0dmg.js";import"./chunk-c4x99ayd.js";import"./chunk-6dznrhs4.js";import"./chunk-8fn883z8.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-th5z0zx7.js";import"./chunk-jfy6bfvv.js";import{sp as _}from"./chunk-v0jnnpsz.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-yt6cfsdh.js";import"./chunk-yja3y138.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import{Vs as Y,dt as Z}from"./chunk-esjs9s9g.js";import{Gt as V,vt as E}from"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import"./chunk-fa03gsff.js";import{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};