@qitqode/qitqode-android-arm64 0.1.28 → 0.1.30

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 (104) hide show
  1. package/bundle/{chunk-pdzpfkt0.js → chunk-07g7cybt.js} +1 -1
  2. package/bundle/{chunk-emtebxvs.js → chunk-0ch32p4c.js} +1 -1
  3. package/bundle/{chunk-yhk7d1j0.js → chunk-0df4kede.js} +1 -1
  4. package/bundle/{chunk-3j9hedmx.js → chunk-0fmbz83g.js} +1 -1
  5. package/bundle/chunk-0jgsp4c2.js +2 -0
  6. package/bundle/chunk-1ngtxja9.js +2 -0
  7. package/bundle/{chunk-61zpnwv6.js → chunk-27dgtm8r.js} +1 -1
  8. package/bundle/{chunk-rmr38x2f.js → chunk-2ec6ps8r.js} +1 -1
  9. package/bundle/{chunk-1t6bvbgy.js → chunk-2gerf08b.js} +1 -1
  10. package/bundle/{chunk-04h4afhf.js → chunk-2y90ad1v.js} +1 -1
  11. package/bundle/{chunk-hxgs0d4t.js → chunk-3f4zht9e.js} +1 -1
  12. package/bundle/{chunk-f2tdfry8.js → chunk-3g1yz39h.js} +1 -1
  13. package/bundle/chunk-3n1324bt.js +2 -0
  14. package/bundle/{chunk-xvfpzmrf.js → chunk-3pxnp6jb.js} +1 -1
  15. package/bundle/{chunk-ebrt1me3.js → chunk-3szwfy7w.js} +1 -1
  16. package/bundle/{chunk-37s5hwtc.js → chunk-426dt7be.js} +1 -1
  17. package/bundle/{chunk-x1rx6fm7.js → chunk-42f7p0hq.js} +1 -1
  18. package/bundle/{chunk-4sk0rmw3.js → chunk-4p5e5tsz.js} +1 -1
  19. package/bundle/{chunk-13hz1kvh.js → chunk-4pjm21a5.js} +1 -1
  20. package/bundle/chunk-4xh1qm90.js +2 -0
  21. package/bundle/{chunk-ebcv65e3.js → chunk-58x5seqn.js} +1 -1
  22. package/bundle/{chunk-smt14yjb.js → chunk-5v4py9p2.js} +1 -1
  23. package/bundle/{chunk-qvxvc2c2.js → chunk-5xe6x2rt.js} +1 -1
  24. package/bundle/{chunk-h602h2gx.js → chunk-618tmyx9.js} +1 -1
  25. package/bundle/{chunk-k2tamnfv.js → chunk-76wrw0cs.js} +1 -1
  26. package/bundle/chunk-8qkhddq3.js +8 -0
  27. package/bundle/{chunk-zw0yh3dv.js → chunk-9amwe0ed.js} +1 -1
  28. package/bundle/{chunk-hk698g9e.js → chunk-a0v55ywn.js} +1 -1
  29. package/bundle/{chunk-3dvd1bb6.js → chunk-b3rpzkcb.js} +1 -1
  30. package/bundle/{chunk-anjg3mwn.js → chunk-b8bytvka.js} +1 -1
  31. package/bundle/{chunk-x9s04nze.js → chunk-bn15mzd7.js} +1 -1
  32. package/bundle/{chunk-df6a167w.js → chunk-bpbptx89.js} +1 -1
  33. package/bundle/{chunk-066eeq5q.js → chunk-bt6yw07v.js} +1 -1
  34. package/bundle/{chunk-xrxyrr00.js → chunk-bzgj60w4.js} +1 -1
  35. package/bundle/{chunk-92d9469t.js → chunk-d0nkvp57.js} +1 -1
  36. package/bundle/{chunk-5g8108nf.js → chunk-dcvatax2.js} +1 -1
  37. package/bundle/{chunk-612f97vv.js → chunk-ddnpx1yx.js} +2 -2
  38. package/bundle/chunk-dxe29jj6.js +2 -0
  39. package/bundle/{chunk-jr907144.js → chunk-eercqt72.js} +1 -1
  40. package/bundle/{chunk-kb6w3wbd.js → chunk-efxd6b2k.js} +1 -1
  41. package/bundle/{chunk-qc1w4b12.js → chunk-ejjea8hh.js} +1 -1
  42. package/bundle/{chunk-hnb8v476.js → chunk-eneawsj8.js} +1 -1
  43. package/bundle/{chunk-g16zb3y1.js → chunk-ezja6njs.js} +1 -1
  44. package/bundle/{chunk-bkbngcvc.js → chunk-feyphhxd.js} +1 -1
  45. package/bundle/{chunk-z37aqajx.js → chunk-fjgyrsbw.js} +1 -1
  46. package/bundle/chunk-fnnch1e9.js +2 -0
  47. package/bundle/{chunk-cmbxrgyx.js → chunk-fqw4y7x0.js} +1 -1
  48. package/bundle/{chunk-2abdrqrx.js → chunk-ft93f33g.js} +1 -1
  49. package/bundle/{chunk-5syxjhg3.js → chunk-gj3hzx3d.js} +1 -1
  50. package/bundle/{chunk-457y2816.js → chunk-h6rv626m.js} +1 -1
  51. package/bundle/chunk-hw1dmx28.js +2 -0
  52. package/bundle/{chunk-t2tgz0rc.js → chunk-hwbyqezq.js} +1 -1
  53. package/bundle/{chunk-scsf8r98.js → chunk-hxpgs78j.js} +1 -1
  54. package/bundle/{chunk-n0mygdfp.js → chunk-hxz2rdjq.js} +1 -1
  55. package/bundle/{chunk-48fvrggx.js → chunk-j5ymkhry.js} +1 -1
  56. package/bundle/{chunk-1etdhr36.js → chunk-jvqbvgjy.js} +1 -1
  57. package/bundle/{chunk-dafbntks.js → chunk-k8ss3135.js} +130 -130
  58. package/bundle/{chunk-3fx5jda0.js → chunk-mj4bepvj.js} +1 -1
  59. package/bundle/{chunk-gj7y56y6.js → chunk-mrw279k3.js} +1 -1
  60. package/bundle/chunk-my6sz5d6.js +2 -0
  61. package/bundle/{chunk-e0152ayv.js → chunk-n26yf3he.js} +1 -1
  62. package/bundle/{chunk-z6dnv8g5.js → chunk-ngytjdg2.js} +1 -1
  63. package/bundle/{chunk-k3epfxmq.js → chunk-nrc3bj9p.js} +1 -1
  64. package/bundle/{chunk-8tc8x27z.js → chunk-pvpy9kq1.js} +4 -4
  65. package/bundle/{chunk-krhkrca9.js → chunk-qt80mhdn.js} +1 -1
  66. package/bundle/{chunk-s1cnzvb2.js → chunk-qtw5nrr4.js} +1 -1
  67. package/bundle/{chunk-w9vh7rhg.js → chunk-rc9ex3vt.js} +1 -1
  68. package/bundle/{chunk-kfsn9c7m.js → chunk-s9672vvv.js} +1 -1
  69. package/bundle/{chunk-dpkynwgm.js → chunk-shpq6es1.js} +1 -1
  70. package/bundle/{chunk-fzna6jdj.js → chunk-sn4nez18.js} +1 -1
  71. package/bundle/{chunk-4yawrap2.js → chunk-svvgv1s0.js} +1 -1
  72. package/bundle/{chunk-yc1jk3rm.js → chunk-ta3k9syc.js} +1 -1
  73. package/bundle/chunk-tge53d52.js +3 -0
  74. package/bundle/{chunk-cydewa1c.js → chunk-tk5afan4.js} +1 -1
  75. package/bundle/{chunk-cwqd48xt.js → chunk-vcmrrt8b.js} +1 -1
  76. package/bundle/{chunk-wrfvqp2w.js → chunk-vcrn3v70.js} +1 -1
  77. package/bundle/{chunk-0nj8axbw.js → chunk-wfs4pcwa.js} +2 -2
  78. package/bundle/{chunk-t22jbw8x.js → chunk-wgpsmxqx.js} +1 -1
  79. package/bundle/{chunk-jx27xrk1.js → chunk-whcg14sc.js} +1 -1
  80. package/bundle/{chunk-k7g3h9tn.js → chunk-wpajh5s5.js} +1 -1
  81. package/bundle/chunk-xd3xc1vv.js +3 -0
  82. package/bundle/{chunk-1m2e2w1q.js → chunk-xm08fc2q.js} +1 -1
  83. package/bundle/{chunk-288hw03f.js → chunk-yn6sbycg.js} +1 -1
  84. package/bundle/{chunk-x7ers083.js → chunk-yy526n9c.js} +1 -1
  85. package/bundle/{chunk-8815p61h.js → chunk-yzc53n88.js} +1 -1
  86. package/bundle/{chunk-my7mn79h.js → chunk-yzjc15vp.js} +1 -1
  87. package/bundle/{chunk-24xc0dvv.js → chunk-z8r65yw3.js} +1 -1
  88. package/bundle/{chunk-va316nee.js → chunk-zfd70p01.js} +1 -1
  89. package/bundle/{chunk-pxtqqmkc.js → chunk-zv6pjtz1.js} +1 -1
  90. package/bundle/{chunk-d7qscj5p.js → chunk-zz36xg2n.js} +1 -1
  91. package/bundle/index.js +3 -3
  92. package/bundle/worker.js +1 -1
  93. package/package.json +1 -1
  94. package/bundle/chunk-6q87abbr.js +0 -2
  95. package/bundle/chunk-a7cxf56j.js +0 -2
  96. package/bundle/chunk-btneef3z.js +0 -2
  97. package/bundle/chunk-erg0ske8.js +0 -2
  98. package/bundle/chunk-fff3151r.js +0 -2
  99. package/bundle/chunk-k5q52wdq.js +0 -2
  100. package/bundle/chunk-m8yv4sd2.js +0 -3
  101. package/bundle/chunk-xxbqhg9n.js +0 -3
  102. package/bundle/chunk-y88xh6w3.js +0 -8
  103. package/bundle/chunk-z4z8hk7e.js +0 -2
  104. package/bundle/chunk-zqv7fx25.js +0 -2
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{rm as no,sm as Vi,tm as oo,um as ci,wm as $i,xm as Qi}from"./chunk-5syxjhg3.js";import{$m as Ur,$n as At,Am as En,An as a,Ao as Yt,Bm as Wn,Bn as Q,Bo as zt,Cm as Nr,Cn as fn,Co as kt,Dm as Tr,Dn as yn,Do as Vt,Em as lr,En as Yo,Eo as ct,Fn as ut,Fo as wt,Gm as Ar,Gn as X,Go as qt,Hm as Or,Hn as so,Ho as Ft,Im as dr,In as Pn,Io as at,Jm as $r,Jn as po,Jo as jt,Km as Qr,Kn as _o,Ko as bt,Lm as Br,Ln as No,Lo as ht,Mm as Dr,Mn as To,Mo as ni,Nm as Ir,Nn as lo,No as oi,Om as Lr,On as Ao,Oo as ri,Pm as Gr,Pn as Oo,Po as ti,Qm as Mr,Qn as st,Qo as ii,Rm as xr,Rn as $o,Ro as ei,Sm as Cr,Sn as Qo,So as mi,Tm as Jr,Tn as Bo,To as yi,Um as Hr,Un as pt,Uo as ao,Vm as Kr,Vn as Do,Vo as fi,Wm as Rr,Wn as _t,Wo as gi,Xm as Sr,Xn as Io,Xo as ui,Ym as Er,Yn as Nt,Zm as Wr,Zn as Tt,_m as Pr,_n as lt,an as Zr,ao as Ot,ap as Zi,bn as vr,bo as dt,cn as Xr,co as Lo,dn as Yr,do as Go,en as H,eo as $t,fn as zr,fo as Qt,gn as kr,go as Bt,hn as Vr,ho as Dt,in as cr,io as It,jn as wr,jo as Lt,kn as qr,ko as Gt,ln as Fr,lo as Mt,mn as ar,mo as xt,nn as jr,no as Ct,on as br,oo as Jt,pn as hr,po as Ht,qn as nt,qo as Kt,rn as ot,ro as Rt,sn as rt,so as St,tn as tt,to as Et,un as it,uo as Wt,vn as et,vo as Pt,wn as mt,wo as Ut,xn as yt,xo as Zt,ym as pr,yn as ft,yo as vt,zm as _r,zn as gt,zo as Xt}from"./chunk-nj4d554m.js";import{Gp as bn}from"./chunk-nt4e3em9.js";import{$p as hn}from"./chunk-v965rsr8.js";import{aq as Yi}from"./chunk-1sgby720.js";import{bq as Jo}from"./chunk-5g8108nf.js";import{ds as Xn,es as ro,fs as Nn,gs as Hi,hs as Wi,js as Ki}from"./chunk-fzna6jdj.js";import{ks as Si}from"./chunk-x1rx6fm7.js";import{qt as eo}from"./chunk-12bssxd4.js";import{eu as un,ou as dn,pu as nn,ut as Wo,yu as V}from"./chunk-ebrt1me3.js";import{Ku as di,Nu as wo,Ou as c,Su as go}from"./chunk-whxjkz9a.js";import{Uu as j}from"./chunk-k309zez0.js";import{JA as Tn,RA as Cn,dB as Kn}from"./chunk-phxrg7aw.js";import{AP as Oi,BF as kn,BO as vo,IF as sn,PI as r,UC as wn,YF as Ai,ZD as Qn,cK as Ln,mG as h,pO as N,uF as Eo}from"./chunk-snm5q21k.js";import{bQ as On}from"./chunk-aztre27e.js";var qo={};On(qo,{run:()=>ji});var mn={time_created:a().notNull().$default(()=>Date.now()),time_updated:a().notNull().$onUpdate(()=>Date.now())};var x=yn("project",{id:Q().$type().primaryKey(),worktree:Q().notNull(),vcs:Q(),name:Q(),icon_url:Q(),icon_color:Q(),...mn,time_initialized:a(),sandboxes:Q({mode:"json"}).notNull().$type(),commands:Q({mode:"json"}).$type()});var gn=yn("session",{id:Q().$type().primaryKey(),project_id:Q().$type().notNull().references(()=>x.id,{onDelete:"cascade"}),workspace_id:Q().$type(),parent_id:Q().$type(),context_from:Q().$type(),context_watermark:Q().$type(),slug:Q().notNull(),directory:Q().notNull(),title:Q().notNull(),version:Q().notNull(),share_url:Q(),summary_additions:a(),summary_deletions:a(),summary_files:a(),summary_diffs:Q({mode:"json"}).$type(),revert:Q({mode:"json"}).$type(),permission:Q({mode:"json"}).$type(),...mn,time_compacting:a(),time_archived:a(),last_checkpoint_message_id:Q().$type()},(n)=>[fn("session_project_idx").on(n.project_id),fn("session_workspace_idx").on(n.workspace_id),fn("session_parent_idx").on(n.parent_id),fn("session_context_from_idx").on(n.context_from)]),fo=yn("message",{id:Q().$type().primaryKey(),session_id:Q().$type().notNull().references(()=>gn.id,{onDelete:"cascade"}),agent_id:Q().notNull().default("main"),...mn,data:Q({mode:"json"}).notNull().$type()},(n)=>[fn("message_session_time_created_id_idx").on(n.session_id,n.time_created,n.id),fn("message_session_agent_idx").on(n.session_id,n.agent_id,n.id)]),zo=yn("part",{id:Q().$type().primaryKey(),message_id:Q().$type().notNull().references(()=>fo.id,{onDelete:"cascade"}),session_id:Q().$type().notNull(),...mn,data:Q({mode:"json"}).notNull().$type()},(n)=>[fn("part_message_id_id_idx").on(n.message_id,n.id),fn("part_session_idx").on(n.session_id)]),ko=yn("todo",{session_id:Q().$type().notNull().references(()=>gn.id,{onDelete:"cascade"}),content:Q().notNull(),status:Q().notNull(),position:a().notNull(),...mn},(n)=>[Yo({columns:[n.session_id,n.position]}),fn("todo_session_idx").on(n.session_id)]),Vo=yn("permission",{project_id:Q().primaryKey().references(()=>x.id,{onDelete:"cascade"}),...mn,data:Q({mode:"json"}).notNull().$type()});var co=yn("session_share",{session_id:Q().primaryKey().references(()=>gn.id,{onDelete:"cascade"}),id:Q().notNull(),secret:Q().notNull(),url:Q().notNull(),...mn});import k from"path";var v=V.create({service:"json-migration"});async function ji(n,o){let t=k.join(dn.Path.data,"storage");if(!await go.exists(t))return v.info("storage directory does not exist, skipping migration"),{projects:0,sessions:0,messages:0,parts:0,todos:0,permissions:0,shares:0,errors:[]};v.info("starting json to sqlite migration",{storageDir:t});let s=performance.now();n.run("PRAGMA journal_mode = WAL"),n.run("PRAGMA synchronous = OFF"),n.run("PRAGMA cache_size = 10000"),n.run("PRAGMA temp_store = MEMORY");let e={projects:0,sessions:0,messages:0,parts:0,todos:0,permissions:0,shares:0,errors:[]},l={sessions:0,todos:0,permissions:0,shares:0},_=e.errors,A=1000,C=Date.now();async function S(g){return wo.scan(g,{cwd:t,absolute:!0})}async function K(g,G,J){let B=J-G,T=Array(B);for(let P=0;P<B;P++)T[P]=go.readJson(g[G+P]);let M=await Promise.allSettled(T),Z=Array(B);for(let P=0;P<M.length;P++){let w=M[P];if(w.status==="fulfilled"){Z[P]=w.value;continue}_.push(`failed to read ${g[G+P]}: ${w.reason}`)}return Z}function R(g,G,J){if(g.length===0)return 0;try{return n.insert(G).values(g).onConflictDoNothing().run(),g.length}catch(B){return _.push(`failed to migrate ${J} batch: ${B}`),0}}v.info("scanning files...");let[E,d,D,L,u,p,m]=await Promise.all([S("project/*.json"),S("session/*/*.json"),S("message/*/*.json"),S("part/*/*.json"),S("todo/*.json"),S("permission/*.json"),S("session_share/*.json")]);v.info("file scan complete",{projects:E.length,sessions:d.length,messages:D.length,parts:L.length,todos:u.length,permissions:p.length,shares:m.length});let f=Math.max(1,E.length+d.length+D.length+L.length+u.length+p.length+m.length),i=o?.progress,y=0,$=(g,G)=>{y=Math.min(f,y+G),i?.({current:y,total:f,label:g})};i?.({current:y,total:f,label:"starting"}),n.run("BEGIN TRANSACTION");let I=new Set,O=[];for(let g=0;g<E.length;g+=A){let G=Math.min(g+A,E.length),J=await K(E,g,G);O.length=0;for(let B=0;B<J.length;B++){let T=J[B];if(!T)continue;let M=k.basename(E[g+B],".json");I.add(M),O.push({id:M,worktree:T.worktree??"/",vcs:T.vcs,name:T.name??void 0,icon_url:T.icon?.url,icon_color:T.icon?.color,time_created:T.time?.created??C,time_updated:T.time?.updated??C,time_initialized:T.time?.initialized,sandboxes:T.sandboxes??[],commands:T.commands})}e.projects+=R(O,x,"project"),$("projects",G-g)}v.info("migrated projects",{count:e.projects,duration:Math.round(performance.now()-s)});let U=d.map((g)=>k.basename(k.dirname(g))),z=new Set,en=[];for(let g=0;g<d.length;g+=A){let G=Math.min(g+A,d.length),J=await K(d,g,G);en.length=0;for(let B=0;B<J.length;B++){let T=J[B];if(!T)continue;let M=k.basename(d[g+B],".json"),Z=U[g+B];if(!I.has(Z)){l.sessions++;continue}z.add(M),en.push({id:M,project_id:Z,parent_id:T.parentID??null,slug:T.slug??"",directory:T.directory??"",title:T.title??"",version:T.version??"",share_url:T.share?.url??null,summary_additions:T.summary?.additions??null,summary_deletions:T.summary?.deletions??null,summary_files:T.summary?.files??null,summary_diffs:T.summary?.diffs??null,revert:T.revert??null,permission:T.permission??null,time_created:T.time?.created??C,time_updated:T.time?.updated??C,time_compacting:T.time?.compacting??null,time_archived:T.time?.archived??null})}e.sessions+=R(en,gn,"session"),$("sessions",G-g)}if(v.info("migrated sessions",{count:e.sessions}),l.sessions>0)v.warn("skipped orphaned sessions",{count:l.sessions});let pn=[],W=[],qn=new Map;for(let g of D){let G=k.basename(k.dirname(g));if(!z.has(G))continue;pn.push(g),W.push(G)}for(let g=0;g<pn.length;g+=A){let G=Math.min(g+A,pn.length),J=await K(pn,g,G),B=Array(J.length),T=0;for(let M=0;M<J.length;M++){let Z=J[M];if(!Z)continue;let P=pn[g+M],w=k.basename(P,".json"),Sn=W[g+M];qn.set(w,Sn);let Bn=Z;delete Bn.id,delete Bn.sessionID,B[T++]={id:w,session_id:Sn,time_created:Z.time?.created??C,time_updated:Z.time?.updated??C,data:Bn}}B.length=T,e.messages+=R(B,fo,"message"),$("messages",G-g)}v.info("migrated messages",{count:e.messages});for(let g=0;g<L.length;g+=A){let G=Math.min(g+A,L.length),J=await K(L,g,G),B=Array(J.length),T=0;for(let M=0;M<J.length;M++){let Z=J[M];if(!Z)continue;let P=L[g+M],w=k.basename(P,".json"),Sn=k.basename(k.dirname(P)),Bn=qn.get(Sn);if(!Bn){_.push(`part missing message session: ${P}`);continue}if(!z.has(Bn))continue;let jn=Z;delete jn.id,delete jn.messageID,delete jn.sessionID,B[T++]={id:w,message_id:Sn,session_id:Bn,time_created:Z.time?.created??C,time_updated:Z.time?.updated??C,data:jn}}B.length=T,e.parts+=R(B,zo,"part"),$("parts",G-g)}v.info("migrated parts",{count:e.parts});let An=u.map((g)=>k.basename(g,".json"));for(let g=0;g<u.length;g+=A){let G=Math.min(g+A,u.length),J=await K(u,g,G),B=[];for(let T=0;T<J.length;T++){let M=J[T];if(!M)continue;let Z=An[g+T];if(!z.has(Z)){l.todos++;continue}if(!Array.isArray(M)){_.push(`todo not an array: ${u[g+T]}`);continue}for(let P=0;P<M.length;P++){let w=M[P];if(!w?.content||!w?.status)continue;B.push({session_id:Z,content:w.content,status:w.status,position:P,time_created:C,time_updated:C})}}e.todos+=R(B,ko,"todo"),$("todos",G-g)}if(v.info("migrated todos",{count:e.todos}),l.todos>0)v.warn("skipped orphaned todos",{count:l.todos});let Fn=p.map((g)=>k.basename(g,".json")),Rn=[];for(let g=0;g<p.length;g+=A){let G=Math.min(g+A,p.length),J=await K(p,g,G);Rn.length=0;for(let B=0;B<J.length;B++){let T=J[B];if(!T)continue;let M=Fn[g+B];if(!I.has(M)){l.permissions++;continue}Rn.push({project_id:M,data:T})}e.permissions+=R(Rn,Vo,"permission"),$("permissions",G-g)}if(v.info("migrated permissions",{count:e.permissions}),l.permissions>0)v.warn("skipped orphaned permissions",{count:l.permissions});let an=m.map((g)=>k.basename(g,".json")),Gn=[];for(let g=0;g<m.length;g+=A){let G=Math.min(g+A,m.length),J=await K(m,g,G);Gn.length=0;for(let B=0;B<J.length;B++){let T=J[B];if(!T)continue;let M=an[g+B];if(!z.has(M)){l.shares++;continue}if(!T?.id||!T?.secret||!T?.url){_.push(`session_share missing id/secret/url: ${m[g+B]}`);continue}Gn.push({session_id:M,id:T.id,secret:T.secret,url:T.url})}e.shares+=R(Gn,co,"session_share"),$("shares",G-g)}if(v.info("migrated session shares",{count:e.shares}),l.shares>0)v.warn("skipped orphaned session shares",{count:l.shares});if(n.run("COMMIT"),v.info("json migration complete",{projects:e.projects,sessions:e.sessions,messages:e.messages,parts:e.parts,todos:e.todos,permissions:e.permissions,shares:e.shares,errorCount:e.errors.length,duration:Math.round(performance.now()-s)}),e.errors.length>0)v.warn("migration errors",{errors:e.errors.slice(0,20)});return i?.({current:f,total:f,label:"complete"}),e}var In={};On(In,{use:()=>Je,transaction:()=>Ke,textDecoder:()=>mt,sumDistinct:()=>tr,sum:()=>rr,sql:()=>H,relationsOrderToSQL:()=>ii,relationsFilterToSQL:()=>ti,relationToSQL:()=>mi,relationExtrasToSQL:()=>ei,processRelations:()=>Wt,placeholder:()=>kr,param:()=>Yr,orderSelectedFields:()=>ar,orderByOperators:()=>Vt,or:()=>po,operators:()=>kt,notLike:()=>Nt,notInArray:()=>st,notIlike:()=>lt,notExists:()=>pt,notBetween:()=>_t,not:()=>_o,noopMapper:()=>vr,noopEncoder:()=>Zr,noopDecoder:()=>Ur,ne:()=>so,name:()=>Wr,min:()=>er,max:()=>ir,mapUpdateSet:()=>br,mapResultRow:()=>Fr,mapRelationalRow:()=>wt,mapColumnsInSQLToAlias:()=>Ht,mapColumnsInAliasedSQLToAlias:()=>Jt,lte:()=>Ao,lt:()=>lo,like:()=>Io,l2Distance:()=>mr,l1Distance:()=>yr,jaccardDistance:()=>sr,isWithEnum:()=>ft,isView:()=>wr,isTable:()=>Lr,isSQLWrapper:()=>Kr,isNull:()=>$o,isNotNull:()=>Qo,isDriverValueEncoder:()=>Pr,isConfig:()=>et,is:()=>En,innerProduct:()=>fr,inArray:()=>Oo,ilike:()=>Tt,haveSameKeys:()=>jr,hasOwnEntityKind:()=>_r,hammingDistance:()=>ur,gte:()=>To,gt:()=>No,getViewSelectedFields:()=>ot,getViewName:()=>qr,getTableUniqueName:()=>Mr,getTableName:()=>Gr,getTableLikeName:()=>tt,getTableColumns:()=>nt,getTableAsAliasSQL:()=>yi,getOriginalColumnFromAlias:()=>Kt,getOrderByOperators:()=>ct,getColumns:()=>rt,getColumnTable:()=>Nr,getColumnNameAndConfig:()=>it,getChannelPath:()=>zi,fillPlaceholders:()=>Vr,fieldSelectionToSQL:()=>ri,extractTablesFromSchema:()=>ht,extractExtendedColumnType:()=>Tr,exists:()=>Bo,eq:()=>X,entityKind:()=>pr,effect:()=>He,desc:()=>Go,defineRelationsPart:()=>oi,defineRelations:()=>ni,createRelationsHelper:()=>bt,countDistinct:()=>ho,count:()=>uo,cosineDistance:()=>gr,close:()=>Ce,buildRelationsParts:()=>Ut,buildRelations:()=>Pt,bindIfParam:()=>ut,between:()=>Do,avgDistinct:()=>or,avg:()=>nr,assertUnreachable:()=>yt,asc:()=>Lo,arrayOverlaps:()=>dt,arrayContains:()=>At,arrayContained:()=>Ot,applyMixins:()=>hr,and:()=>Pn,aliasedTableColumn:()=>Ct,aliasedTable:()=>Gt,aliasedRelation:()=>xt,aliasedColumn:()=>Mt,WithSubquery:()=>Cr,ViewSelectionAliasProxyHandler:()=>Bt,ViewBaseConfig:()=>Jr,View:()=>cr,TransactionRollbackError:()=>Et,TableSchema:()=>Ar,TableColumns:()=>Or,TableAliasProxyHandler:()=>Dt,Table:()=>Ir,Subquery:()=>xr,StringChunk:()=>Rr,SQL:()=>Sr,RelationsHelperStatic:()=>jt,RelationsBuilderTable:()=>qt,RelationsBuilderJunctionColumn:()=>at,RelationsBuilderColumn:()=>Ft,RelationTableAliasProxyHandler:()=>Lt,Relation:()=>Zt,QueryPromise:()=>$t,Placeholder:()=>zr,Path:()=>Po,Param:()=>Xr,OriginalName:()=>$r,One:()=>vt,NotFoundError:()=>xe,NoopLogger:()=>ui,Name:()=>Er,Many:()=>Xt,IsAlias:()=>Br,FakePrimitiveParam:()=>Hr,ExtraConfigColumns:()=>dr,ExtraConfigBuilder:()=>Dr,DrizzleQueryError:()=>St,DrizzleError:()=>Rt,DefaultLogger:()=>gi,Count:()=>zt,ConsoleLogWriter:()=>fi,ColumnTableAliasProxyHandler:()=>Qt,ColumnBuilder:()=>lr,ColumnAliasProxyHandler:()=>It,Column:()=>Wn,Client:()=>Jn,CONSTANTS:()=>gt,BaseName:()=>Qr,AggregatedField:()=>Yt});import bi from"crypto";import Fo,{existsSync as hi,readdirSync as ne}from"fs";import{join as oe}from"path";function jo(n){if(Fo.existsSync(`${n.migrationsFolder}/meta/_journal.json`))throw Error('We detected that you have old drizzle-kit migration folders. You must upgrade drizzle-kit and run "drizzle-kit up"');let o=n.migrationsFolder,t=[],s=ne(o).map((e)=>({path:oe(o,e,"migration.sql"),name:e})).filter((e)=>hi(e.path));s.sort((e,l)=>e.name.localeCompare(l.name));for(let e of s){let l=e.path,_=e.name.slice(0,14),A=Fo.readFileSync(l).toString(),C=A.split("--> statement-breakpoint").map((K)=>{return K}),S=ao(_);t.push({sql:C,bps:!0,folderMillis:S,hash:bi.createHash("sha256").update(A).digest("hex"),name:e.name})}return t}function bo(n,o){if(Array.isArray(o)||"migrationsJournal"in o){let s=Array.isArray(o)?o:o.migrationsJournal,e=Array.isArray(o)?void 0:o.migrationsTable,l=s.map((_)=>({sql:_.sql.split("--> statement-breakpoint"),folderMillis:_.timestamp,hash:"",bps:!0,name:_.name}));return n.dialect.migrate(l,n.session,{migrationsTable:e})}let t=jo(o);return n.dialect.migrate(t,n.session,o)}function uo(n){return H`count(${n||H.raw("*")})`.mapWith(Number)}function ho(n){return H`count(distinct ${n})`.mapWith(Number)}function nr(n){return H`avg(${n})`.mapWith(String)}function or(n){return H`avg(distinct ${n})`.mapWith(String)}function rr(n){return H`sum(${n})`.mapWith(String)}function tr(n){return H`sum(distinct ${n})`.mapWith(String)}function ir(n){return H`max(${n})`.mapWith(En(n,Wn)?n:String)}function er(n){return H`min(${n})`.mapWith(En(n,Wn)?n:String)}function Mn(n){return JSON.stringify(n)}function mr(n,o){if(Array.isArray(o))return H`${n} <-> ${Mn(o)}`;return H`${n} <-> ${o}`}function yr(n,o){if(Array.isArray(o))return H`${n} <+> ${Mn(o)}`;return H`${n} <+> ${o}`}function fr(n,o){if(Array.isArray(o))return H`${n} <#> ${Mn(o)}`;return H`${n} <#> ${o}`}function gr(n,o){if(Array.isArray(o))return H`${n} <=> ${Mn(o)}`;return H`${n} <=> ${o}`}function ur(n,o){if(Array.isArray(o))return H`${n} <~> ${Mn(o)}`;return H`${n} <~> ${o}`}function sr(n,o){if(Array.isArray(o))return H`${n} <%> ${Mn(o)}`;return H`${n} <%> ${o}`}import io from"path";var Yn={};On(Yn,{workspaceID:()=>de,useEffect:()=>Be,use:()=>Qe,make:()=>$e,invalidate:()=>Ie,has:()=>De,get:()=>So,directory:()=>to,context:()=>Ro,bind:()=>Oe});import{EventEmitter as re}from"events";var Un=new re;var Mo=new Set;function si(n){return Mo.add(n),()=>{Mo.delete(n)}}async function xo(n){await Promise.allSettled([...Mo].map((o)=>o(n)))}function Zn(n){return n()}var xi={};On(xi,{setInitialized:()=>se,list:()=>ge,layer:()=>Mi,get:()=>ue,fromRow:()=>_n,defaultLayer:()=>Ko,UpdateInput:()=>fe,Service:()=>xn,Info:()=>Li,Event:()=>Gi});import*as F from"fs/promises";import*as Bi from"os";import*as $n from"path";var te=N.String.pipe(N.brand("ProjectID")),q=te.pipe(bn((n)=>({global:n.make("global"),zod:j.string().pipe(j.custom())})));import*as Dn from"fs/promises";import*as b from"path";import*as Ni from"crypto";async function Co(n){let o=b.resolve(n);while(!0){let t=b.join(o,".git"),s=await Dn.stat(t).catch(()=>null);if(s){if(s.isDirectory())return t;let _=(await Dn.readFile(t,"utf-8")).trim().match(/^gitdir:\s*(.+)$/);if(!_)return null;let A=b.isAbsolute(_[1])?_[1]:b.resolve(o,_[1]);return b.resolve(A,"../..")}let e=b.dirname(o);if(e===o)return null;o=e}}async function pi(n){let o=await Dn.readFile(n,"utf-8").catch(()=>null);if(o===null)return null;return o.trim()||null}async function _i(n){let o=await pi(n);if(o)return o;let t=Ni.randomUUID();try{return await Dn.writeFile(n,t,{flag:"wx"}),t}catch(s){if(s.code!=="EEXIST")throw s;let e=await pi(n);if(e)return e;throw Error(`Project ID file was concurrently created but is empty: ${n}`)}}async function Ti(n){let o=await Co(n);if(o){let s=b.join(o,"qitqode-project-id");return q.make(await _i(s))}let t=b.join(n,".qitqode-project-id");return q.make(await _i(t))}async function ee(n){let o=await Co(n);if(!o)return;let t=$n.join(n,".qitqode-project-id"),s=$n.join(o,"qitqode-project-id"),e=(A)=>F.access(A).then(()=>!0).catch(()=>!1);if(await e(t)){if(!await e(s)){let A=await F.readFile(t,"utf-8");await F.writeFile(s,A)}await F.unlink(t).catch(()=>{})}let l=$n.join(o,"info","exclude");if(await F.mkdir($n.dirname(l),{recursive:!0}),!(await F.readFile(l,"utf-8").catch(()=>"")).includes(".qitqode-project-id"))await F.appendFile(l,`
2
+ import{rm as no,sm as Vi,tm as oo,um as ci,wm as $i,xm as Qi}from"./chunk-gj3hzx3d.js";import{$m as Ur,$n as At,Am as En,An as a,Ao as Yt,Bm as Wn,Bn as Q,Bo as zt,Cm as Nr,Cn as fn,Co as kt,Dm as Tr,Dn as yn,Do as Vt,Em as lr,En as Yo,Eo as ct,Fn as ut,Fo as wt,Gm as Ar,Gn as X,Go as qt,Hm as Or,Hn as so,Ho as Ft,Im as dr,In as Pn,Io as at,Jm as $r,Jn as po,Jo as jt,Km as Qr,Kn as _o,Ko as bt,Lm as Br,Ln as No,Lo as ht,Mm as Dr,Mn as To,Mo as ni,Nm as Ir,Nn as lo,No as oi,Om as Lr,On as Ao,Oo as ri,Pm as Gr,Pn as Oo,Po as ti,Qm as Mr,Qn as st,Qo as ii,Rm as xr,Rn as $o,Ro as ei,Sm as Cr,Sn as Qo,So as mi,Tm as Jr,Tn as Bo,To as yi,Um as Hr,Un as pt,Uo as ao,Vm as Kr,Vn as Do,Vo as fi,Wm as Rr,Wn as _t,Wo as gi,Xm as Sr,Xn as Io,Xo as ui,Ym as Er,Yn as Nt,Zm as Wr,Zn as Tt,_m as Pr,_n as lt,an as Zr,ao as Ot,ap as Zi,bn as vr,bo as dt,cn as Xr,co as Lo,dn as Yr,do as Go,en as H,eo as $t,fn as zr,fo as Qt,gn as kr,go as Bt,hn as Vr,ho as Dt,in as cr,io as It,jn as wr,jo as Lt,kn as qr,ko as Gt,ln as Fr,lo as Mt,mn as ar,mo as xt,nn as jr,no as Ct,on as br,oo as Jt,pn as hr,po as Ht,qn as nt,qo as Kt,rn as ot,ro as Rt,sn as rt,so as St,tn as tt,to as Et,un as it,uo as Wt,vn as et,vo as Pt,wn as mt,wo as Ut,xn as yt,xo as Zt,ym as pr,yn as ft,yo as vt,zm as _r,zn as gt,zo as Xt}from"./chunk-nj4d554m.js";import{Gp as bn}from"./chunk-nt4e3em9.js";import{$p as hn}from"./chunk-v965rsr8.js";import{aq as Yi}from"./chunk-1sgby720.js";import{bq as Jo}from"./chunk-dcvatax2.js";import{ds as Xn,es as ro,fs as Nn,gs as Hi,hs as Wi,js as Ki}from"./chunk-sn4nez18.js";import{ks as Si}from"./chunk-42f7p0hq.js";import{qt as eo}from"./chunk-12bssxd4.js";import{eu as un,ou as dn,pu as nn,ut as Wo,yu as V}from"./chunk-3szwfy7w.js";import{Ku as di,Nu as wo,Ou as c,Su as go}from"./chunk-whxjkz9a.js";import{Uu as j}from"./chunk-k309zez0.js";import{JA as Tn,RA as Cn,dB as Kn}from"./chunk-phxrg7aw.js";import{AP as Oi,BF as kn,BO as vo,IF as sn,PI as r,UC as wn,YF as Ai,ZD as Qn,cK as Ln,mG as h,pO as N,uF as Eo}from"./chunk-snm5q21k.js";import{bQ as On}from"./chunk-aztre27e.js";var qo={};On(qo,{run:()=>ji});var mn={time_created:a().notNull().$default(()=>Date.now()),time_updated:a().notNull().$onUpdate(()=>Date.now())};var x=yn("project",{id:Q().$type().primaryKey(),worktree:Q().notNull(),vcs:Q(),name:Q(),icon_url:Q(),icon_color:Q(),...mn,time_initialized:a(),sandboxes:Q({mode:"json"}).notNull().$type(),commands:Q({mode:"json"}).$type()});var gn=yn("session",{id:Q().$type().primaryKey(),project_id:Q().$type().notNull().references(()=>x.id,{onDelete:"cascade"}),workspace_id:Q().$type(),parent_id:Q().$type(),context_from:Q().$type(),context_watermark:Q().$type(),slug:Q().notNull(),directory:Q().notNull(),title:Q().notNull(),version:Q().notNull(),share_url:Q(),summary_additions:a(),summary_deletions:a(),summary_files:a(),summary_diffs:Q({mode:"json"}).$type(),revert:Q({mode:"json"}).$type(),permission:Q({mode:"json"}).$type(),...mn,time_compacting:a(),time_archived:a(),last_checkpoint_message_id:Q().$type()},(n)=>[fn("session_project_idx").on(n.project_id),fn("session_workspace_idx").on(n.workspace_id),fn("session_parent_idx").on(n.parent_id),fn("session_context_from_idx").on(n.context_from)]),fo=yn("message",{id:Q().$type().primaryKey(),session_id:Q().$type().notNull().references(()=>gn.id,{onDelete:"cascade"}),agent_id:Q().notNull().default("main"),...mn,data:Q({mode:"json"}).notNull().$type()},(n)=>[fn("message_session_time_created_id_idx").on(n.session_id,n.time_created,n.id),fn("message_session_agent_idx").on(n.session_id,n.agent_id,n.id)]),zo=yn("part",{id:Q().$type().primaryKey(),message_id:Q().$type().notNull().references(()=>fo.id,{onDelete:"cascade"}),session_id:Q().$type().notNull(),...mn,data:Q({mode:"json"}).notNull().$type()},(n)=>[fn("part_message_id_id_idx").on(n.message_id,n.id),fn("part_session_idx").on(n.session_id)]),ko=yn("todo",{session_id:Q().$type().notNull().references(()=>gn.id,{onDelete:"cascade"}),content:Q().notNull(),status:Q().notNull(),position:a().notNull(),...mn},(n)=>[Yo({columns:[n.session_id,n.position]}),fn("todo_session_idx").on(n.session_id)]),Vo=yn("permission",{project_id:Q().primaryKey().references(()=>x.id,{onDelete:"cascade"}),...mn,data:Q({mode:"json"}).notNull().$type()});var co=yn("session_share",{session_id:Q().primaryKey().references(()=>gn.id,{onDelete:"cascade"}),id:Q().notNull(),secret:Q().notNull(),url:Q().notNull(),...mn});import k from"path";var v=V.create({service:"json-migration"});async function ji(n,o){let t=k.join(dn.Path.data,"storage");if(!await go.exists(t))return v.info("storage directory does not exist, skipping migration"),{projects:0,sessions:0,messages:0,parts:0,todos:0,permissions:0,shares:0,errors:[]};v.info("starting json to sqlite migration",{storageDir:t});let s=performance.now();n.run("PRAGMA journal_mode = WAL"),n.run("PRAGMA synchronous = OFF"),n.run("PRAGMA cache_size = 10000"),n.run("PRAGMA temp_store = MEMORY");let e={projects:0,sessions:0,messages:0,parts:0,todos:0,permissions:0,shares:0,errors:[]},l={sessions:0,todos:0,permissions:0,shares:0},_=e.errors,A=1000,C=Date.now();async function S(g){return wo.scan(g,{cwd:t,absolute:!0})}async function K(g,G,J){let B=J-G,T=Array(B);for(let P=0;P<B;P++)T[P]=go.readJson(g[G+P]);let M=await Promise.allSettled(T),Z=Array(B);for(let P=0;P<M.length;P++){let w=M[P];if(w.status==="fulfilled"){Z[P]=w.value;continue}_.push(`failed to read ${g[G+P]}: ${w.reason}`)}return Z}function R(g,G,J){if(g.length===0)return 0;try{return n.insert(G).values(g).onConflictDoNothing().run(),g.length}catch(B){return _.push(`failed to migrate ${J} batch: ${B}`),0}}v.info("scanning files...");let[E,d,D,L,u,p,m]=await Promise.all([S("project/*.json"),S("session/*/*.json"),S("message/*/*.json"),S("part/*/*.json"),S("todo/*.json"),S("permission/*.json"),S("session_share/*.json")]);v.info("file scan complete",{projects:E.length,sessions:d.length,messages:D.length,parts:L.length,todos:u.length,permissions:p.length,shares:m.length});let f=Math.max(1,E.length+d.length+D.length+L.length+u.length+p.length+m.length),i=o?.progress,y=0,$=(g,G)=>{y=Math.min(f,y+G),i?.({current:y,total:f,label:g})};i?.({current:y,total:f,label:"starting"}),n.run("BEGIN TRANSACTION");let I=new Set,O=[];for(let g=0;g<E.length;g+=A){let G=Math.min(g+A,E.length),J=await K(E,g,G);O.length=0;for(let B=0;B<J.length;B++){let T=J[B];if(!T)continue;let M=k.basename(E[g+B],".json");I.add(M),O.push({id:M,worktree:T.worktree??"/",vcs:T.vcs,name:T.name??void 0,icon_url:T.icon?.url,icon_color:T.icon?.color,time_created:T.time?.created??C,time_updated:T.time?.updated??C,time_initialized:T.time?.initialized,sandboxes:T.sandboxes??[],commands:T.commands})}e.projects+=R(O,x,"project"),$("projects",G-g)}v.info("migrated projects",{count:e.projects,duration:Math.round(performance.now()-s)});let U=d.map((g)=>k.basename(k.dirname(g))),z=new Set,en=[];for(let g=0;g<d.length;g+=A){let G=Math.min(g+A,d.length),J=await K(d,g,G);en.length=0;for(let B=0;B<J.length;B++){let T=J[B];if(!T)continue;let M=k.basename(d[g+B],".json"),Z=U[g+B];if(!I.has(Z)){l.sessions++;continue}z.add(M),en.push({id:M,project_id:Z,parent_id:T.parentID??null,slug:T.slug??"",directory:T.directory??"",title:T.title??"",version:T.version??"",share_url:T.share?.url??null,summary_additions:T.summary?.additions??null,summary_deletions:T.summary?.deletions??null,summary_files:T.summary?.files??null,summary_diffs:T.summary?.diffs??null,revert:T.revert??null,permission:T.permission??null,time_created:T.time?.created??C,time_updated:T.time?.updated??C,time_compacting:T.time?.compacting??null,time_archived:T.time?.archived??null})}e.sessions+=R(en,gn,"session"),$("sessions",G-g)}if(v.info("migrated sessions",{count:e.sessions}),l.sessions>0)v.warn("skipped orphaned sessions",{count:l.sessions});let pn=[],W=[],qn=new Map;for(let g of D){let G=k.basename(k.dirname(g));if(!z.has(G))continue;pn.push(g),W.push(G)}for(let g=0;g<pn.length;g+=A){let G=Math.min(g+A,pn.length),J=await K(pn,g,G),B=Array(J.length),T=0;for(let M=0;M<J.length;M++){let Z=J[M];if(!Z)continue;let P=pn[g+M],w=k.basename(P,".json"),Sn=W[g+M];qn.set(w,Sn);let Bn=Z;delete Bn.id,delete Bn.sessionID,B[T++]={id:w,session_id:Sn,time_created:Z.time?.created??C,time_updated:Z.time?.updated??C,data:Bn}}B.length=T,e.messages+=R(B,fo,"message"),$("messages",G-g)}v.info("migrated messages",{count:e.messages});for(let g=0;g<L.length;g+=A){let G=Math.min(g+A,L.length),J=await K(L,g,G),B=Array(J.length),T=0;for(let M=0;M<J.length;M++){let Z=J[M];if(!Z)continue;let P=L[g+M],w=k.basename(P,".json"),Sn=k.basename(k.dirname(P)),Bn=qn.get(Sn);if(!Bn){_.push(`part missing message session: ${P}`);continue}if(!z.has(Bn))continue;let jn=Z;delete jn.id,delete jn.messageID,delete jn.sessionID,B[T++]={id:w,message_id:Sn,session_id:Bn,time_created:Z.time?.created??C,time_updated:Z.time?.updated??C,data:jn}}B.length=T,e.parts+=R(B,zo,"part"),$("parts",G-g)}v.info("migrated parts",{count:e.parts});let An=u.map((g)=>k.basename(g,".json"));for(let g=0;g<u.length;g+=A){let G=Math.min(g+A,u.length),J=await K(u,g,G),B=[];for(let T=0;T<J.length;T++){let M=J[T];if(!M)continue;let Z=An[g+T];if(!z.has(Z)){l.todos++;continue}if(!Array.isArray(M)){_.push(`todo not an array: ${u[g+T]}`);continue}for(let P=0;P<M.length;P++){let w=M[P];if(!w?.content||!w?.status)continue;B.push({session_id:Z,content:w.content,status:w.status,position:P,time_created:C,time_updated:C})}}e.todos+=R(B,ko,"todo"),$("todos",G-g)}if(v.info("migrated todos",{count:e.todos}),l.todos>0)v.warn("skipped orphaned todos",{count:l.todos});let Fn=p.map((g)=>k.basename(g,".json")),Rn=[];for(let g=0;g<p.length;g+=A){let G=Math.min(g+A,p.length),J=await K(p,g,G);Rn.length=0;for(let B=0;B<J.length;B++){let T=J[B];if(!T)continue;let M=Fn[g+B];if(!I.has(M)){l.permissions++;continue}Rn.push({project_id:M,data:T})}e.permissions+=R(Rn,Vo,"permission"),$("permissions",G-g)}if(v.info("migrated permissions",{count:e.permissions}),l.permissions>0)v.warn("skipped orphaned permissions",{count:l.permissions});let an=m.map((g)=>k.basename(g,".json")),Gn=[];for(let g=0;g<m.length;g+=A){let G=Math.min(g+A,m.length),J=await K(m,g,G);Gn.length=0;for(let B=0;B<J.length;B++){let T=J[B];if(!T)continue;let M=an[g+B];if(!z.has(M)){l.shares++;continue}if(!T?.id||!T?.secret||!T?.url){_.push(`session_share missing id/secret/url: ${m[g+B]}`);continue}Gn.push({session_id:M,id:T.id,secret:T.secret,url:T.url})}e.shares+=R(Gn,co,"session_share"),$("shares",G-g)}if(v.info("migrated session shares",{count:e.shares}),l.shares>0)v.warn("skipped orphaned session shares",{count:l.shares});if(n.run("COMMIT"),v.info("json migration complete",{projects:e.projects,sessions:e.sessions,messages:e.messages,parts:e.parts,todos:e.todos,permissions:e.permissions,shares:e.shares,errorCount:e.errors.length,duration:Math.round(performance.now()-s)}),e.errors.length>0)v.warn("migration errors",{errors:e.errors.slice(0,20)});return i?.({current:f,total:f,label:"complete"}),e}var In={};On(In,{use:()=>Je,transaction:()=>Ke,textDecoder:()=>mt,sumDistinct:()=>tr,sum:()=>rr,sql:()=>H,relationsOrderToSQL:()=>ii,relationsFilterToSQL:()=>ti,relationToSQL:()=>mi,relationExtrasToSQL:()=>ei,processRelations:()=>Wt,placeholder:()=>kr,param:()=>Yr,orderSelectedFields:()=>ar,orderByOperators:()=>Vt,or:()=>po,operators:()=>kt,notLike:()=>Nt,notInArray:()=>st,notIlike:()=>lt,notExists:()=>pt,notBetween:()=>_t,not:()=>_o,noopMapper:()=>vr,noopEncoder:()=>Zr,noopDecoder:()=>Ur,ne:()=>so,name:()=>Wr,min:()=>er,max:()=>ir,mapUpdateSet:()=>br,mapResultRow:()=>Fr,mapRelationalRow:()=>wt,mapColumnsInSQLToAlias:()=>Ht,mapColumnsInAliasedSQLToAlias:()=>Jt,lte:()=>Ao,lt:()=>lo,like:()=>Io,l2Distance:()=>mr,l1Distance:()=>yr,jaccardDistance:()=>sr,isWithEnum:()=>ft,isView:()=>wr,isTable:()=>Lr,isSQLWrapper:()=>Kr,isNull:()=>$o,isNotNull:()=>Qo,isDriverValueEncoder:()=>Pr,isConfig:()=>et,is:()=>En,innerProduct:()=>fr,inArray:()=>Oo,ilike:()=>Tt,haveSameKeys:()=>jr,hasOwnEntityKind:()=>_r,hammingDistance:()=>ur,gte:()=>To,gt:()=>No,getViewSelectedFields:()=>ot,getViewName:()=>qr,getTableUniqueName:()=>Mr,getTableName:()=>Gr,getTableLikeName:()=>tt,getTableColumns:()=>nt,getTableAsAliasSQL:()=>yi,getOriginalColumnFromAlias:()=>Kt,getOrderByOperators:()=>ct,getColumns:()=>rt,getColumnTable:()=>Nr,getColumnNameAndConfig:()=>it,getChannelPath:()=>zi,fillPlaceholders:()=>Vr,fieldSelectionToSQL:()=>ri,extractTablesFromSchema:()=>ht,extractExtendedColumnType:()=>Tr,exists:()=>Bo,eq:()=>X,entityKind:()=>pr,effect:()=>He,desc:()=>Go,defineRelationsPart:()=>oi,defineRelations:()=>ni,createRelationsHelper:()=>bt,countDistinct:()=>ho,count:()=>uo,cosineDistance:()=>gr,close:()=>Ce,buildRelationsParts:()=>Ut,buildRelations:()=>Pt,bindIfParam:()=>ut,between:()=>Do,avgDistinct:()=>or,avg:()=>nr,assertUnreachable:()=>yt,asc:()=>Lo,arrayOverlaps:()=>dt,arrayContains:()=>At,arrayContained:()=>Ot,applyMixins:()=>hr,and:()=>Pn,aliasedTableColumn:()=>Ct,aliasedTable:()=>Gt,aliasedRelation:()=>xt,aliasedColumn:()=>Mt,WithSubquery:()=>Cr,ViewSelectionAliasProxyHandler:()=>Bt,ViewBaseConfig:()=>Jr,View:()=>cr,TransactionRollbackError:()=>Et,TableSchema:()=>Ar,TableColumns:()=>Or,TableAliasProxyHandler:()=>Dt,Table:()=>Ir,Subquery:()=>xr,StringChunk:()=>Rr,SQL:()=>Sr,RelationsHelperStatic:()=>jt,RelationsBuilderTable:()=>qt,RelationsBuilderJunctionColumn:()=>at,RelationsBuilderColumn:()=>Ft,RelationTableAliasProxyHandler:()=>Lt,Relation:()=>Zt,QueryPromise:()=>$t,Placeholder:()=>zr,Path:()=>Po,Param:()=>Xr,OriginalName:()=>$r,One:()=>vt,NotFoundError:()=>xe,NoopLogger:()=>ui,Name:()=>Er,Many:()=>Xt,IsAlias:()=>Br,FakePrimitiveParam:()=>Hr,ExtraConfigColumns:()=>dr,ExtraConfigBuilder:()=>Dr,DrizzleQueryError:()=>St,DrizzleError:()=>Rt,DefaultLogger:()=>gi,Count:()=>zt,ConsoleLogWriter:()=>fi,ColumnTableAliasProxyHandler:()=>Qt,ColumnBuilder:()=>lr,ColumnAliasProxyHandler:()=>It,Column:()=>Wn,Client:()=>Jn,CONSTANTS:()=>gt,BaseName:()=>Qr,AggregatedField:()=>Yt});import bi from"crypto";import Fo,{existsSync as hi,readdirSync as ne}from"fs";import{join as oe}from"path";function jo(n){if(Fo.existsSync(`${n.migrationsFolder}/meta/_journal.json`))throw Error('We detected that you have old drizzle-kit migration folders. You must upgrade drizzle-kit and run "drizzle-kit up"');let o=n.migrationsFolder,t=[],s=ne(o).map((e)=>({path:oe(o,e,"migration.sql"),name:e})).filter((e)=>hi(e.path));s.sort((e,l)=>e.name.localeCompare(l.name));for(let e of s){let l=e.path,_=e.name.slice(0,14),A=Fo.readFileSync(l).toString(),C=A.split("--> statement-breakpoint").map((K)=>{return K}),S=ao(_);t.push({sql:C,bps:!0,folderMillis:S,hash:bi.createHash("sha256").update(A).digest("hex"),name:e.name})}return t}function bo(n,o){if(Array.isArray(o)||"migrationsJournal"in o){let s=Array.isArray(o)?o:o.migrationsJournal,e=Array.isArray(o)?void 0:o.migrationsTable,l=s.map((_)=>({sql:_.sql.split("--> statement-breakpoint"),folderMillis:_.timestamp,hash:"",bps:!0,name:_.name}));return n.dialect.migrate(l,n.session,{migrationsTable:e})}let t=jo(o);return n.dialect.migrate(t,n.session,o)}function uo(n){return H`count(${n||H.raw("*")})`.mapWith(Number)}function ho(n){return H`count(distinct ${n})`.mapWith(Number)}function nr(n){return H`avg(${n})`.mapWith(String)}function or(n){return H`avg(distinct ${n})`.mapWith(String)}function rr(n){return H`sum(${n})`.mapWith(String)}function tr(n){return H`sum(distinct ${n})`.mapWith(String)}function ir(n){return H`max(${n})`.mapWith(En(n,Wn)?n:String)}function er(n){return H`min(${n})`.mapWith(En(n,Wn)?n:String)}function Mn(n){return JSON.stringify(n)}function mr(n,o){if(Array.isArray(o))return H`${n} <-> ${Mn(o)}`;return H`${n} <-> ${o}`}function yr(n,o){if(Array.isArray(o))return H`${n} <+> ${Mn(o)}`;return H`${n} <+> ${o}`}function fr(n,o){if(Array.isArray(o))return H`${n} <#> ${Mn(o)}`;return H`${n} <#> ${o}`}function gr(n,o){if(Array.isArray(o))return H`${n} <=> ${Mn(o)}`;return H`${n} <=> ${o}`}function ur(n,o){if(Array.isArray(o))return H`${n} <~> ${Mn(o)}`;return H`${n} <~> ${o}`}function sr(n,o){if(Array.isArray(o))return H`${n} <%> ${Mn(o)}`;return H`${n} <%> ${o}`}import io from"path";var Yn={};On(Yn,{workspaceID:()=>de,useEffect:()=>Be,use:()=>Qe,make:()=>$e,invalidate:()=>Ie,has:()=>De,get:()=>So,directory:()=>to,context:()=>Ro,bind:()=>Oe});import{EventEmitter as re}from"events";var Un=new re;var Mo=new Set;function si(n){return Mo.add(n),()=>{Mo.delete(n)}}async function xo(n){await Promise.allSettled([...Mo].map((o)=>o(n)))}function Zn(n){return n()}var xi={};On(xi,{setInitialized:()=>se,list:()=>ge,layer:()=>Mi,get:()=>ue,fromRow:()=>_n,defaultLayer:()=>Ko,UpdateInput:()=>fe,Service:()=>xn,Info:()=>Li,Event:()=>Gi});import*as F from"fs/promises";import*as Bi from"os";import*as $n from"path";var te=N.String.pipe(N.brand("ProjectID")),q=te.pipe(bn((n)=>({global:n.make("global"),zod:j.string().pipe(j.custom())})));import*as Dn from"fs/promises";import*as b from"path";import*as Ni from"crypto";async function Co(n){let o=b.resolve(n);while(!0){let t=b.join(o,".git"),s=await Dn.stat(t).catch(()=>null);if(s){if(s.isDirectory())return t;let _=(await Dn.readFile(t,"utf-8")).trim().match(/^gitdir:\s*(.+)$/);if(!_)return null;let A=b.isAbsolute(_[1])?_[1]:b.resolve(o,_[1]);return b.resolve(A,"../..")}let e=b.dirname(o);if(e===o)return null;o=e}}async function pi(n){let o=await Dn.readFile(n,"utf-8").catch(()=>null);if(o===null)return null;return o.trim()||null}async function _i(n){let o=await pi(n);if(o)return o;let t=Ni.randomUUID();try{return await Dn.writeFile(n,t,{flag:"wx"}),t}catch(s){if(s.code!=="EEXIST")throw s;let e=await pi(n);if(e)return e;throw Error(`Project ID file was concurrently created but is empty: ${n}`)}}async function Ti(n){let o=await Co(n);if(o){let s=b.join(o,"qitqode-project-id");return q.make(await _i(s))}let t=b.join(n,".qitqode-project-id");return q.make(await _i(t))}async function ee(n){let o=await Co(n);if(!o)return;let t=$n.join(n,".qitqode-project-id"),s=$n.join(o,"qitqode-project-id"),e=(A)=>F.access(A).then(()=>!0).catch(()=>!1);if(await e(t)){if(!await e(s)){let A=await F.readFile(t,"utf-8");await F.writeFile(s,A)}await F.unlink(t).catch(()=>{})}let l=$n.join(o,"info","exclude");if(await F.mkdir($n.dirname(l),{recursive:!0}),!(await F.readFile(l,"utf-8").catch(()=>"")).includes(".qitqode-project-id"))await F.appendFile(l,`
3
3
  .qitqode-project-id
4
4
  `)}var li=V.create({service:"project"}),me=262144,Ho=N.Literal("git"),Di=N.Struct({url:N.optional(N.String),override:N.optional(N.String),color:N.optional(N.String)}),Ii=N.Struct({start:N.optional(N.String.annotate({description:"Startup script to run when creating a new workspace (worktree)"}))}),ye=N.Struct({created:N.Number,updated:N.Number,initialized:N.optional(N.Number)}),Li=N.Struct({id:q,worktree:N.String,vcs:N.optional(Ho),name:N.optional(N.String),icon:N.optional(Di),commands:N.optional(Ii),time:ye,sandboxes:N.Array(N.String)}).annotate({identifier:"Project"}).pipe(bn((n)=>({zod:hn(n)}))),Gi={Updated:Qi.define("project.updated",Li.zod)};function _n(n){let o=n.icon_url||n.icon_color?{url:n.icon_url??void 0,color:n.icon_color??void 0}:void 0;return{id:n.id,worktree:n.worktree,vcs:n.vcs?N.decodeUnknownSync(Ho)(n.vcs):void 0,name:n.name??void 0,icon:o,time:{created:n.time_created,updated:n.time_updated,initialized:n.time_initialized??void 0},sandboxes:n.sandboxes,commands:n.commands??void 0}}var fe=j.object({projectID:q.zod,name:j.string().optional(),icon:hn(Di).optional(),commands:hn(Ii).optional()});class xn extends Qn.Service()("@qitqode/Project"){}var Mi=h.effect(xn,r.gen(function*(){let n=yield*c.Service,o=yield*Oi.Path,t=yield*no.ChildProcessSpawner,s=r.fnUntraced(function*(i,y){return yield*$i(t,i,y)},r.catch(()=>r.succeed({code:1,text:"",stderr:""}))),e=(i)=>r.sync(()=>In.use(i)),l=(i)=>r.sync(()=>Un.emit("event",{directory:"global",project:i.id,payload:{type:Gi.Updated.type,properties:i}})),_=N.decodeUnknownSync(N.optional(Ho))(nn.QITQODE_FAKE_VCS),A=(i,y)=>{if(!y)return i;if(y=y.replace(/[\r\n]+$/,""),!y)return i;if(y=c.windowsPath(y),o.isAbsolute(y))return o.normalize(y);return o.resolve(i,y)},C=yield*Ai.Scope,S=r.fn("Project.fromDirectory")(function*(i){li.info("fromDirectory",{directory:i});let y=yield*r.gen(function*(){if(nn.QITQODE_DISABLE_GIT)return{id:q.global,worktree:i,sandbox:i,vcs:_};let z=(yield*n.up({targets:[".git"],start:i}).pipe(r.orDie))[0];if(!z)return{id:q.global,worktree:"/",sandbox:"/",vcs:_};let en=o.dirname(z),pn=process.env.HOME??process.env.USERPROFILE??Bi.homedir();if(en===pn||$n.parse(en).root===en)return li.warn("ignoring .git at home or filesystem root, snapshots disabled",{dotgit:z}),{id:q.global,worktree:i,sandbox:i,vcs:_};let W=en,qn=yield*r.sync(()=>Jo("git")),An;if(!qn)return{id:An??q.global,worktree:W,sandbox:W,vcs:_};let Fn=yield*s(["rev-parse","--git-common-dir"],{cwd:W});if(Fn.code!==0)return{id:An??q.global,worktree:W,sandbox:W,vcs:_};let Rn=(()=>{let Gn=A(W,Fn.text.trim());return Gn===W?W:o.dirname(Gn)})();if(An==null)yield*r.promise(()=>ee(W)),An=yield*r.promise(()=>Ti(W));let an=yield*s(["rev-parse","--show-toplevel"],{cwd:W});if(an.code!==0)return{id:An,worktree:W,sandbox:W,vcs:_};return W=A(W,an.text.trim()),{id:An,sandbox:W,worktree:Rn,vcs:"git"}}),$=yield*e((U)=>U.select().from(x).where(X(x.id,y.id)).get()),I=$?_n($):{id:y.id,worktree:y.worktree,vcs:y.vcs,sandboxes:[],time:{created:Date.now(),updated:Date.now()}};if(nn.QITQODE_EXPERIMENTAL_ICON_DISCOVERY)yield*K(I).pipe(r.ignore,r.forkIn(C));let O={...I,worktree:y.worktree,vcs:y.vcs,time:{...I.time,updated:Date.now()}};if(y.sandbox!==O.worktree&&!O.sandboxes.includes(y.sandbox))O.sandboxes.push(y.sandbox);if(O.sandboxes=yield*r.forEach(O.sandboxes,(U)=>n.exists(U).pipe(r.orDie,r.map((z)=>z?U:void 0)),{concurrency:16}).pipe(r.map((U)=>U.filter((z)=>z!==void 0))),yield*e((U)=>U.insert(x).values({id:O.id,worktree:O.worktree,vcs:O.vcs??null,name:O.name,icon_url:O.icon?.url,icon_color:O.icon?.color,time_created:O.time.created,time_updated:O.time.updated,time_initialized:O.time.initialized,sandboxes:O.sandboxes,commands:O.commands}).onConflictDoUpdate({target:x.id,set:{worktree:O.worktree,vcs:O.vcs??null,name:O.name,icon_url:O.icon?.url,icon_color:O.icon?.color,time_updated:O.time.updated,time_initialized:O.time.initialized,sandboxes:O.sandboxes,commands:O.commands}}).run()),y.id!==q.global)yield*e((U)=>U.update(gn).set({project_id:y.id}).where(Pn(X(gn.project_id,q.global),X(gn.directory,y.worktree))).run());return yield*l(O),{project:O,sandbox:y.sandbox}}),K=r.fn("Project.discover")(function*(i){if(i.vcs!=="git")return;if(i.icon?.override)return;if(i.icon?.url)return;let $=(yield*n.glob("**/favicon.{ico,png,svg,jpg,jpeg,webp}",{cwd:i.worktree,absolute:!0,include:"file"}).pipe(r.orDie)).sort((pn,W)=>pn.length-W.length)[0];if(!$)return;let I=yield*n.stat($).pipe(r.orDie);if(Number(I.size)>me)return;let O=yield*n.readFile($).pipe(r.orDie),U=Buffer.from(O).toString("base64"),en=`data:${c.mimeType($)};base64,${U}`;yield*d({projectID:i.id,icon:{url:en}})}),R=r.fn("Project.list")(function*(){return yield*e((i)=>i.select().from(x).all().map(_n))}),E=r.fn("Project.get")(function*(i){let y=yield*e(($)=>$.select().from(x).where(X(x.id,i)).get());return y?_n(y):void 0}),d=r.fn("Project.update")(function*(i){let y=yield*e((I)=>I.update(x).set({name:i.name,icon_url:i.icon?.url,icon_color:i.icon?.color,commands:i.commands,time_updated:Date.now()}).where(X(x.id,i.projectID)).returning().get());if(!y)throw Error(`Project not found: ${i.projectID}`);let $=_n(y);return yield*l($),$}),D=r.fn("Project.initGit")(function*(i){if(i.project.vcs==="git")return i.project;if(!(yield*r.sync(()=>Jo("git"))))throw Error("Git is not installed");let y=yield*s(["init","--quiet"],{cwd:i.directory});if(y.code!==0)throw Error(y.stderr.trim()||y.text.trim()||"Failed to initialize git repository");let{project:$}=yield*S(i.directory);return $}),L=r.fn("Project.setInitialized")(function*(i){yield*e((y)=>y.update(x).set({time_initialized:Date.now()}).where(X(x.id,i)).run())}),u=r.fn("Project.sandboxes")(function*(i){let y=yield*e((I)=>I.select().from(x).where(X(x.id,i)).get());if(!y)return[];let $=_n(y);return yield*r.forEach($.sandboxes,(I)=>n.isDir(I).pipe(r.orDie,r.map((O)=>O?I:void 0)),{concurrency:16}).pipe(r.map((I)=>I.filter((O)=>O!==void 0)))}),p=r.fnUntraced(function*(i,y){let $=yield*e((I)=>I.update(x).set({sandboxes:y,time_updated:Date.now()}).where(X(x.id,i)).returning().get());if(!$)throw Error(`Project not found: ${i}`);yield*l(_n($))}),m=r.fn("Project.addSandbox")(function*(i,y){let $=yield*e((O)=>O.select().from(x).where(X(x.id,i)).get());if(!$)throw Error(`Project not found: ${i}`);let I=[...$.sandboxes];if(!I.includes(y))I.push(y);yield*p(i,I)}),f=r.fn("Project.removeSandbox")(function*(i,y){let $=yield*e((O)=>O.select().from(x).where(X(x.id,i)).get());if(!$)throw Error(`Project not found: ${i}`);let I=$.sandboxes.filter((O)=>O!==y);yield*p(i,I)});return xn.of({fromDirectory:S,discover:K,list:R,get:E,update:d,initGit:D,setInitialized:L,sandboxes:u,addSandbox:m,removeSandbox:f})})),Ko=Mi.pipe(h.provide(oo),h.provide(c.defaultLayer),h.provide(di.layer));function ge(){return In.use((n)=>n.select().from(x).all().map((o)=>_n(o)))}function ue(n){let o=In.use((t)=>t.select().from(x).where(X(x.id,n)).get());if(!o)return;return _n(o)}function se(n){In.use((o)=>o.update(x).set({time_initialized:Date.now()}).where(X(x.id,n)).run())}import{parse as pe}from"path";var rn=un.create("instance");Hi(()=>rn.use());var tn=new Map,_e=Ki(xn,Ko),Ne=new Set(["/etc","/proc","/sys","/dev","/boot","/root","/var","/private/etc","/private/var"]);function Te(n){if(n===pe(n).root)return"filesystem root is not a valid project directory";for(let o of Ne)if(n===o||c.contains(o,n))return"target is a protected system directory";return null}function le(n){let o=Te(n);if(o)throw Error("Access denied: "+o)}var vn={all:void 0};function Ci(n){return Zn(async()=>{let o=n.project&&n.worktree?{directory:n.directory,worktree:n.worktree,project:n.project}:await _e.runPromise((t)=>t.fromDirectory(n.directory)).then(({project:t,sandbox:s})=>({directory:n.directory,worktree:s,project:t}));return await rn.provide(o,async()=>{await n.init?.()}),o})}function Ji(n,o){let t=o.catch((s)=>{if(tn.get(n)===t)tn.delete(n);throw s});return tn.set(n,t),t}var on={async provide(n){let o=c.resolve(n.directory);le(o);let t=tn.get(o);if(!t)V.Default.info("creating instance",{directory:o}),t=Ji(o,Ci({directory:o,init:n.init}));let s=await t;return rn.provide(s,async()=>{return n.fn()})},get current(){return rn.use()},get directory(){return rn.use().directory},get worktree(){return rn.use().worktree},get project(){return rn.use().project},containsPath(n,o){let t=o??on;if(c.contains(t.directory,n))return!0;if(t.worktree==="/")return!1;return c.contains(t.worktree,n)},bind(n){let o=rn.use();return(...t)=>rn.provide(o,()=>n(...t))},restore(n,o){return rn.provide(n,o)},async reload(n){let o=c.resolve(n.directory);V.Default.info("reloading instance",{directory:o}),await xo(o),tn.delete(o);let t=Ji(o,Ci({...n,directory:o}));return Un.emit("event",{directory:o,project:n.project?.id,workspace:Nn.workspaceID,payload:{type:"server.instance.disposed",properties:{directory:o}}}),await t},async dispose(){let{directory:n,project:o}=on;V.Default.info("disposing instance",{directory:n}),await xo(n),tn.delete(n),Un.emit("event",{directory:n,project:o.id,workspace:Nn.workspaceID,payload:{type:"server.instance.disposed",properties:{directory:n}}})},async disposeAll(){if(vn.all)return vn.all;return vn.all=Zn(async()=>{V.Default.info("disposing all instances");let n=[...tn.entries()];for(let[o,t]of n){if(tn.get(o)!==t)continue;let s=await t.catch((e)=>{V.Default.warn("instance dispose failed",{key:o,error:e});return});if(!s){if(tn.get(o)===t)tn.delete(o);continue}if(tn.get(o)!==t)continue;await rn.provide(s,async()=>{await on.dispose()})}}).finally(()=>{vn.all=void 0}),vn.all}};var Ri="~qitqode/InstanceState",Oe=(n)=>{try{return on.bind(n)}catch(s){if(!(s instanceof un.NotFound))throw s}let o=Ln.getCurrent(),t=o?Qn.getReferenceUnsafe(o.context,Xn):void 0;if(!t)return n;return(...s)=>on.restore(t,()=>n(...s))},Ro=r.gen(function*(){return(yield*Xn)??on.current}),de=r.gen(function*(){return(yield*ro)??Nn.workspaceID}),to=r.map(Ro,(n)=>n.directory),$e=(n)=>r.gen(function*(){let o=yield*Cn.make({capacity:Number.POSITIVE_INFINITY,lookup:()=>r.gen(function*(){return yield*n(yield*Ro)})}),t=si((s)=>r.runPromise(Cn.invalidate(o,s).pipe(r.provide(Si))));return yield*r.addFinalizer(()=>r.sync(t)),{[Ri]:Ri,cache:o}}),So=(n)=>r.gen(function*(){return yield*Cn.get(n.cache,yield*to)}),Qe=(n,o)=>r.map(So(n),o),Be=(n,o)=>r.flatMap(So(n),o),De=(n)=>r.gen(function*(){return yield*Cn.has(n.cache,yield*to)}),Ie=(n)=>r.gen(function*(){return yield*Cn.invalidate(n.cache,yield*to)});var Pi={};On(Pi,{make:()=>Le});function Ei(n,o,t){if(n&&o!==void 0)return Nn.restore(o,()=>on.restore(n,t));if(n)return on.restore(n,t);if(o!==void 0)return Nn.restore(o,t);return t()}function Le(){return r.gen(function*(){let n=yield*r.context(),t=(yield*Xn)??(()=>{try{return on.current}catch(_){if(!(_ instanceof un.NotFound))throw _}})(),s=(yield*ro)??Nn.workspaceID,e=(_)=>Wi(_,{instance:t,workspace:s}),l=(_)=>e(_).pipe(r.provide(n));return{promise:(_)=>Ei(t,s,()=>r.runPromise(l(_))),fork:(_)=>Ei(t,s,()=>r.runFork(l(_)))}})}var Ui={};On(Ui,{make:()=>Ge,Cancelled:()=>zn});class zn extends N.TaggedErrorClass()("RunnerCancelled",{}){}var Ge=(n,o)=>{let t=Tn.makeUnsafe({_tag:"Idle"}),s=o?.onIdle??r.void,e=o?.onBusy??r.void,l=o?.onInterrupt,_=0,A=()=>Tn.getUnsafe(t),C=()=>{return _+=1,_},S=(m,f)=>kn.isFailure(f)&&Eo.hasInterruptsOnly(f.cause)?sn.fail(m,new zn).pipe(r.asVoid):sn.done(m,f).pipe(r.asVoid),K=()=>Tn.modify(t,(m)=>[m._tag==="Idle"?s:r.void,m]).pipe(r.flatten),R=(m,f,i)=>Tn.modify(t,(y)=>[r.gen(function*(){if(y._tag==="Running"&&y.run.id===m)yield*s;yield*S(f,i)}),y._tag==="Running"&&y.run.id===m?{_tag:"Idle"}:y]).pipe(r.flatten),E=(m,f)=>r.gen(function*(){let i=C(),y=yield*m.pipe(r.onExit(($)=>R(i,f,$)),r.forkIn(n));return{id:i,done:f,fiber:y}}),d=(m)=>Tn.modifyEffect(t,r.fnUntraced(function*(f){if(f._tag==="Shell"&&f.shell.id===m)return[s,{_tag:"Idle"}];if(f._tag==="ShellThenRun"&&f.shell.id===m){let i=yield*E(f.run.work,f.run.done);return[r.void,{_tag:"Running",run:i}]}return[r.void,f]})).pipe(r.flatten),D=(m)=>Ln.interrupt(m.fiber),L=(m)=>Tn.modifyEffect(t,r.fnUntraced(function*(f){switch(f._tag){case"Running":case"ShellThenRun":if(o?.onReentryWarn)yield*o.onReentryWarn({label:o.label??"(unlabeled)",existingRunId:f.run.id});return[sn.await(f.run.done),f];case"Shell":{let i={id:C(),done:yield*sn.make(),work:m};return[sn.await(i.done),{_tag:"ShellThenRun",shell:f.shell,run:i}]}case"Idle":{let i=yield*sn.make(),y=yield*E(m,i);return[sn.await(i),{_tag:"Running",run:y}]}}})).pipe(r.flatten,r.catch((f)=>f instanceof zn?l??r.die(f):r.fail(f))),u=(m)=>Tn.modifyEffect(t,r.fnUntraced(function*(f){if(f._tag!=="Idle")return[r.sync(()=>{if(o?.busy)o.busy();throw Error("Runner is busy")}),f];yield*e;let i=C(),y=yield*m.pipe(r.ensuring(d(i)),r.forkChild),$={id:i,fiber:y};return[r.gen(function*(){let I=yield*Ln.await(y);if(kn.isSuccess(I))return I.value;if(Eo.hasInterruptsOnly(I.cause)&&l)return yield*l;return yield*r.failCause(I.cause)}),{_tag:"Shell",shell:$}]})).pipe(r.flatten),p=Tn.modify(t,(m)=>{switch(m._tag){case"Idle":return[r.void,m];case"Running":return[r.gen(function*(){yield*Ln.interrupt(m.run.fiber);let f=yield*Ln.await(m.run.fiber);yield*S(m.run.done,f),yield*sn.await(m.run.done).pipe(r.exit,r.asVoid),yield*K()}),{_tag:"Idle"}];case"Shell":return[r.gen(function*(){yield*D(m.shell),yield*K()}),{_tag:"Idle"}];case"ShellThenRun":return[r.gen(function*(){yield*sn.fail(m.run.done,new zn).pipe(r.asVoid),yield*D(m.shell),yield*K()}),{_tag:"Idle"}]}}).pipe(r.flatten);return{get state(){return A()},get busy(){return A()._tag!=="Idle"},ensureRunning:L,startShell:u,cancel:p}};import{Database as Me}from"bun:sqlite";function vi(n){let o=new Me(n,{create:!0});return Zi({client:o})}var xe=eo.create("NotFoundError",j.object({message:j.string()})),Xi=V.create({service:"db"});function zi(){if(["latest","beta","prod"].includes(Wo)||nn.QITQODE_DISABLE_CHANNEL_DB)return io.join(dn.Path.data,"qitqode.db");let n=Wo.replace(/[^a-zA-Z0-9._-]/g,"-");return io.join(dn.Path.data,`qitqode-${n}.db`)}var Po=Zn(()=>{if(nn.QITQODE_DB){if(nn.QITQODE_DB===":memory:"||io.isAbsolute(nn.QITQODE_DB))return nn.QITQODE_DB;return io.join(dn.Path.data,nn.QITQODE_DB)}return zi()}),Jn=Yi(()=>{Xi.info("opening database",{path:Po});let n=vi(Po);n.run("PRAGMA journal_mode = WAL"),n.run("PRAGMA synchronous = NORMAL"),n.run("PRAGMA busy_timeout = 5000"),n.run("PRAGMA cache_size = -64000"),n.run("PRAGMA foreign_keys = ON"),n.run("PRAGMA wal_checkpoint(PASSIVE)");let o=[{sql:"CREATE TABLE `project` (\n\t`id` text PRIMARY KEY,\n\t`worktree` text NOT NULL,\n\t`vcs` text,\n\t`name` text,\n\t`icon_url` text,\n\t`icon_color` text,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\t`time_initialized` integer,\n\t`sandboxes` text NOT NULL\n);\n--> statement-breakpoint\nCREATE TABLE `message` (\n\t`id` text PRIMARY KEY,\n\t`session_id` text NOT NULL,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\t`data` text NOT NULL,\n\tCONSTRAINT `fk_message_session_id_session_id_fk` FOREIGN KEY (`session_id`) REFERENCES `session`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE TABLE `part` (\n\t`id` text PRIMARY KEY,\n\t`message_id` text NOT NULL,\n\t`session_id` text NOT NULL,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\t`data` text NOT NULL,\n\tCONSTRAINT `fk_part_message_id_message_id_fk` FOREIGN KEY (`message_id`) REFERENCES `message`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE TABLE `permission` (\n\t`project_id` text PRIMARY KEY,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\t`data` text NOT NULL,\n\tCONSTRAINT `fk_permission_project_id_project_id_fk` FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE TABLE `session` (\n\t`id` text PRIMARY KEY,\n\t`project_id` text NOT NULL,\n\t`parent_id` text,\n\t`slug` text NOT NULL,\n\t`directory` text NOT NULL,\n\t`title` text NOT NULL,\n\t`version` text NOT NULL,\n\t`share_url` text,\n\t`summary_additions` integer,\n\t`summary_deletions` integer,\n\t`summary_files` integer,\n\t`summary_diffs` text,\n\t`revert` text,\n\t`permission` text,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\t`time_compacting` integer,\n\t`time_archived` integer,\n\tCONSTRAINT `fk_session_project_id_project_id_fk` FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE TABLE `todo` (\n\t`session_id` text NOT NULL,\n\t`content` text NOT NULL,\n\t`status` text NOT NULL,\n\t`priority` text NOT NULL,\n\t`position` integer NOT NULL,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\tCONSTRAINT `todo_pk` PRIMARY KEY(`session_id`, `position`),\n\tCONSTRAINT `fk_todo_session_id_session_id_fk` FOREIGN KEY (`session_id`) REFERENCES `session`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE TABLE `session_share` (\n\t`session_id` text PRIMARY KEY,\n\t`id` text NOT NULL,\n\t`secret` text NOT NULL,\n\t`url` text NOT NULL,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\tCONSTRAINT `fk_session_share_session_id_session_id_fk` FOREIGN KEY (`session_id`) REFERENCES `session`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE INDEX `message_session_idx` ON `message` (`session_id`);--> statement-breakpoint\nCREATE INDEX `part_message_idx` ON `part` (`message_id`);--> statement-breakpoint\nCREATE INDEX `part_session_idx` ON `part` (`session_id`);--> statement-breakpoint\nCREATE INDEX `session_project_idx` ON `session` (`project_id`);--> statement-breakpoint\nCREATE INDEX `session_parent_idx` ON `session` (`parent_id`);--> statement-breakpoint\nCREATE INDEX `todo_session_idx` ON `todo` (`session_id`);",timestamp:1769552633000,name:"20260127222353_familiar_lady_ursula"},{sql:"ALTER TABLE `project` ADD `commands` text;",timestamp:1770830228000,name:"20260211171708_add_project_commands"},{sql:"CREATE TABLE `control_account` (\n\t`email` text NOT NULL,\n\t`url` text NOT NULL,\n\t`access_token` text NOT NULL,\n\t`refresh_token` text NOT NULL,\n\t`token_expiry` integer,\n\t`active` integer NOT NULL,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\tCONSTRAINT `control_account_pk` PRIMARY KEY(`email`, `url`)\n);\n",timestamp:1770993676000,name:"20260213144116_wakeful_the_professor"},{sql:"CREATE TABLE `workspace` (\n\t`id` text PRIMARY KEY,\n\t`branch` text,\n\t`project_id` text NOT NULL,\n\t`config` text NOT NULL,\n\tCONSTRAINT `fk_workspace_project_id_project_id_fk` FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON DELETE CASCADE\n);\n",timestamp:1772056728000,name:"20260225215848_workspace"},{sql:"ALTER TABLE `session` ADD `workspace_id` text;--> statement-breakpoint\nCREATE INDEX `session_workspace_idx` ON `session` (`workspace_id`);",timestamp:1772228279000,name:"20260227213759_add_session_workspace_id"},{sql:"CREATE TABLE `account` (\n\t`id` text PRIMARY KEY,\n\t`email` text NOT NULL,\n\t`url` text NOT NULL,\n\t`access_token` text NOT NULL,\n\t`refresh_token` text NOT NULL,\n\t`token_expiry` integer,\n\t`selected_org_id` text,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL\n);\n--> statement-breakpoint\nCREATE TABLE `account_state` (\n\t`id` integer PRIMARY KEY NOT NULL,\n\t`active_account_id` text,\n\tFOREIGN KEY (`active_account_id`) REFERENCES `account`(`id`) ON UPDATE no action ON DELETE set null\n);\n",timestamp:1772310750000,name:"20260228203230_blue_harpoon"},{sql:"ALTER TABLE `workspace` ADD `type` text NOT NULL;--> statement-breakpoint\nALTER TABLE `workspace` ADD `name` text;--> statement-breakpoint\nALTER TABLE `workspace` ADD `directory` text;--> statement-breakpoint\nALTER TABLE `workspace` ADD `extra` text;--> statement-breakpoint\nALTER TABLE `workspace` DROP COLUMN `config`;",timestamp:1772579546000,name:"20260303231226_add_workspace_fields"},{sql:"ALTER TABLE `account_state` ADD `active_org_id` text;--> statement-breakpoint\nUPDATE `account_state` SET `active_org_id` = (SELECT `selected_org_id` FROM `account` WHERE `account`.`id` = `account_state`.`active_account_id`);--> statement-breakpoint\nALTER TABLE `account` DROP COLUMN `selected_org_id`;\n",timestamp:1773097200000,name:"20260309230000_move_org_to_state"},{sql:"DROP INDEX IF EXISTS `message_session_idx`;--> statement-breakpoint\nDROP INDEX IF EXISTS `part_message_idx`;--> statement-breakpoint\nCREATE INDEX `message_session_time_created_id_idx` ON `message` (`session_id`,`time_created`,`id`);--> statement-breakpoint\nCREATE INDEX `part_message_id_id_idx` ON `part` (`message_id`,`id`);",timestamp:1773290071000,name:"20260312043431_session_message_cursor"},{sql:"CREATE TABLE `event_sequence` (\n\t`aggregate_id` text PRIMARY KEY,\n\t`seq` integer NOT NULL\n);\n--> statement-breakpoint\nCREATE TABLE `event` (\n\t`id` text PRIMARY KEY,\n\t`aggregate_id` text NOT NULL,\n\t`seq` integer NOT NULL,\n\t`type` text NOT NULL,\n\t`data` text NOT NULL,\n\tCONSTRAINT `fk_event_aggregate_id_event_sequence_aggregate_id_fk` FOREIGN KEY (`aggregate_id`) REFERENCES `event_sequence`(`aggregate_id`) ON DELETE CASCADE\n);\n",timestamp:1774309702000,name:"20260323234822_events"},{sql:"PRAGMA foreign_keys=OFF;--> statement-breakpoint\nCREATE TABLE `__new_workspace` (\n\t`id` text PRIMARY KEY,\n\t`type` text NOT NULL,\n\t`name` text DEFAULT '' NOT NULL,\n\t`branch` text,\n\t`directory` text,\n\t`extra` text,\n\t`project_id` text NOT NULL,\n\tCONSTRAINT `fk_workspace_project_id_project_id_fk` FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nINSERT INTO `__new_workspace`(`id`, `type`, `branch`, `name`, `directory`, `extra`, `project_id`) SELECT `id`, `type`, `branch`, `name`, `directory`, `extra`, `project_id` FROM `workspace`;--> statement-breakpoint\nDROP TABLE `workspace`;--> statement-breakpoint\nALTER TABLE `__new_workspace` RENAME TO `workspace`;--> statement-breakpoint\nPRAGMA foreign_keys=ON;",timestamp:1775843113000,name:"20260410174513_workspace-name"},{sql:"CREATE TABLE `session_entry` (\n\t`id` text PRIMARY KEY,\n\t`session_id` text NOT NULL,\n\t`type` text NOT NULL,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\t`data` text NOT NULL,\n\tCONSTRAINT `fk_session_entry_session_id_session_id_fk` FOREIGN KEY (`session_id`) REFERENCES `session`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE INDEX `session_entry_session_idx` ON `session_entry` (`session_id`);--> statement-breakpoint\nCREATE INDEX `session_entry_session_type_idx` ON `session_entry` (`session_id`,`type`);--> statement-breakpoint\nCREATE INDEX `session_entry_time_created_idx` ON `session_entry` (`time_created`);",timestamp:1776103196000,name:"20260413175956_chief_energizer"},{sql:"ALTER TABLE `session` ADD `context_from` text;--> statement-breakpoint\nALTER TABLE `session` ADD `context_watermark` text;--> statement-breakpoint\nCREATE INDEX `session_context_from_idx` ON `session` (`context_from`);\n",timestamp:1776873600000,name:"20260422160000_context_inheritance"},{sql:"CREATE TABLE `task_registry` (\n `id` text PRIMARY KEY,\n `parent_session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `status` text NOT NULL,\n `agent` text NOT NULL,\n `description` text NOT NULL,\n `context_mode` text NOT NULL,\n `background` integer NOT NULL,\n `last_turn_time` integer NOT NULL,\n `turn_count` integer NOT NULL DEFAULT 0,\n `error` text,\n `time_completed` integer,\n `time_created` integer NOT NULL,\n `time_updated` integer NOT NULL\n);--> statement-breakpoint\nCREATE INDEX `task_registry_parent_idx` ON `task_registry` (`parent_session_id`);--> statement-breakpoint\nCREATE INDEX `task_registry_status_idx` ON `task_registry` (`status`);--> statement-breakpoint\nCREATE INDEX `task_registry_status_last_turn_idx` ON `task_registry` (`status`, `last_turn_time`);\n",timestamp:1776877200000,name:"20260422170000_task_registry"},{sql:"DROP INDEX IF EXISTS `session_entry_session_idx`;--> statement-breakpoint\nDROP INDEX IF EXISTS `session_entry_session_type_idx`;--> statement-breakpoint\nDROP INDEX IF EXISTS `session_entry_time_created_idx`;--> statement-breakpoint\nDROP TABLE IF EXISTS `session_entry`;\n",timestamp:1776956061000,name:"20260423145421_remove_session_entry"},{sql:"DROP INDEX IF EXISTS `task_registry_parent_idx`;--> statement-breakpoint\nDROP INDEX IF EXISTS `task_registry_status_idx`;--> statement-breakpoint\nDROP INDEX IF EXISTS `task_registry_status_last_turn_idx`;--> statement-breakpoint\nALTER TABLE `task_registry` RENAME TO `actor_registry`;--> statement-breakpoint\nCREATE INDEX `actor_registry_parent_idx` ON `actor_registry` (`parent_session_id`);--> statement-breakpoint\nCREATE INDEX `actor_registry_status_idx` ON `actor_registry` (`status`);--> statement-breakpoint\nCREATE INDEX `actor_registry_status_last_turn_idx` ON `actor_registry` (`status`, `last_turn_time`);\n",timestamp:1778803200000,name:"20260515000000_actor_rename"},{sql:"CREATE TABLE `memory_fts` (\n `path` text PRIMARY KEY NOT NULL,\n `scope` text NOT NULL,\n `scope_id` text DEFAULT '' NOT NULL,\n `type` text NOT NULL,\n `body` text NOT NULL,\n `fingerprint` text NOT NULL,\n `last_indexed_at` integer NOT NULL\n);\n--> statement-breakpoint\nCREATE INDEX `memory_fts_scope_idx` ON `memory_fts` (`scope`, `scope_id`);\n--> statement-breakpoint\nCREATE INDEX `memory_fts_type_idx` ON `memory_fts` (`type`);\n--> statement-breakpoint\nCREATE VIRTUAL TABLE `memory_fts_idx` USING fts5(\n body,\n content='memory_fts',\n content_rowid='rowid',\n tokenize='unicode61 remove_diacritics 1'\n);\n--> statement-breakpoint\nCREATE TRIGGER `memory_fts_ai` AFTER INSERT ON `memory_fts` BEGIN\n INSERT INTO `memory_fts_idx`(rowid, body) VALUES (NEW.rowid, NEW.body);\nEND;\n--> statement-breakpoint\nCREATE TRIGGER `memory_fts_ad` AFTER DELETE ON `memory_fts` BEGIN\n DELETE FROM `memory_fts_idx` WHERE rowid = OLD.rowid;\nEND;\n--> statement-breakpoint\nCREATE TRIGGER `memory_fts_au` AFTER UPDATE ON `memory_fts` BEGIN\n DELETE FROM `memory_fts_idx` WHERE rowid = OLD.rowid;\n INSERT INTO `memory_fts_idx`(rowid, body) VALUES (NEW.rowid, NEW.body);\nEND;\n",timestamp:1778806800000,name:"20260515010000_memory_fts"},{sql:"CREATE TABLE `task` (\n `id` text NOT NULL,\n `session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `parent_task_id` text,\n `kind` text NOT NULL DEFAULT 'user',\n `status` text NOT NULL,\n `focus` integer NOT NULL DEFAULT 0,\n `summary` text NOT NULL,\n `created_at` integer NOT NULL,\n `last_event_at` integer NOT NULL,\n `ended_at` integer,\n `cleanup_after` integer,\n PRIMARY KEY (`session_id`, `id`)\n);--> statement-breakpoint\nCREATE INDEX `task_session_idx` ON `task` (`session_id`);--> statement-breakpoint\nCREATE INDEX `task_parent_idx` ON `task` (`session_id`, `parent_task_id`);--> statement-breakpoint\nCREATE INDEX `task_status_idx` ON `task` (`status`);--> statement-breakpoint\nCREATE INDEX `task_kind_idx` ON `task` (`kind`);--> statement-breakpoint\nCREATE UNIQUE INDEX `task_focus_per_session_idx` ON `task` (`session_id`) WHERE focus = 1;--> statement-breakpoint\nCREATE TABLE `task_event` (\n `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,\n `session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `task_id` text NOT NULL,\n `at` integer NOT NULL,\n `kind` text NOT NULL,\n `summary` text,\n FOREIGN KEY (`session_id`, `task_id`) REFERENCES `task`(`session_id`, `id`) ON DELETE CASCADE\n);--> statement-breakpoint\nCREATE INDEX `task_event_task_idx` ON `task_event` (`session_id`, `task_id`, `at`);\n",timestamp:1778810400000,name:"20260515020000_user_task"},{sql:"ALTER TABLE `session` ADD `last_checkpoint_message_id` text;\n",timestamp:1779148800000,name:"20260519000000_last_checkpoint_message_id"},{sql:"ALTER TABLE `message` ADD `agent_id` text;--> statement-breakpoint\nCREATE INDEX `message_session_agent_idx` ON `message` (`session_id`,`agent_id`,`id`);\n",timestamp:1779321600000,name:"20260521000000_message_agent_id"},{sql:"DROP TABLE `actor_registry`;--> statement-breakpoint\nCREATE TABLE `actor_registry` (\n `session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `actor_id` text NOT NULL,\n `mode` text NOT NULL,\n `parent_actor_id` text,\n `status` text NOT NULL,\n `agent` text NOT NULL,\n `description` text NOT NULL,\n `context_mode` text NOT NULL,\n `context_watermark` text,\n `background` integer NOT NULL,\n `tools` text,\n `last_turn_time` integer NOT NULL,\n `turn_count` integer NOT NULL DEFAULT 0,\n `error` text,\n `time_completed` integer,\n `time_created` integer NOT NULL,\n `time_updated` integer NOT NULL,\n PRIMARY KEY (`session_id`, `actor_id`)\n);--> statement-breakpoint\nCREATE INDEX `actor_registry_session_agent_idx` ON `actor_registry` (`session_id`, `agent`);--> statement-breakpoint\nCREATE INDEX `actor_registry_session_parent_idx` ON `actor_registry` (`session_id`, `parent_actor_id`);--> statement-breakpoint\nCREATE INDEX `actor_registry_status_idx` ON `actor_registry` (`status`);--> statement-breakpoint\nCREATE INDEX `actor_registry_status_last_turn_idx` ON `actor_registry` (`status`, `last_turn_time`);\n",timestamp:1779321660000,name:"20260521000100_actor_registry_v6"},{sql:"DROP TRIGGER IF EXISTS `memory_fts_ai`;--> statement-breakpoint\nDROP TRIGGER IF EXISTS `memory_fts_ad`;--> statement-breakpoint\nDROP TRIGGER IF EXISTS `memory_fts_au`;--> statement-breakpoint\nDROP TABLE IF EXISTS `memory_fts_idx`;--> statement-breakpoint\nDROP TABLE IF EXISTS `memory_fts`;--> statement-breakpoint\nCREATE TABLE `memory_fts` (\n `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,\n `path` text NOT NULL UNIQUE,\n `scope` text NOT NULL,\n `scope_id` text DEFAULT '' NOT NULL,\n `type` text NOT NULL,\n `body` text NOT NULL,\n `fingerprint` text NOT NULL,\n `last_indexed_at` integer NOT NULL\n);--> statement-breakpoint\nCREATE INDEX `memory_fts_scope_idx` ON `memory_fts` (`scope`, `scope_id`);--> statement-breakpoint\nCREATE INDEX `memory_fts_type_idx` ON `memory_fts` (`type`);--> statement-breakpoint\nCREATE VIRTUAL TABLE `memory_fts_idx` USING fts5(\n body,\n content='memory_fts',\n content_rowid='id',\n tokenize='unicode61 remove_diacritics 1'\n);--> statement-breakpoint\nCREATE TRIGGER `memory_fts_ai` AFTER INSERT ON `memory_fts` BEGIN\n INSERT INTO `memory_fts_idx`(rowid, body) VALUES (NEW.id, NEW.body);\nEND;--> statement-breakpoint\nCREATE TRIGGER `memory_fts_ad` AFTER DELETE ON `memory_fts` BEGIN\n DELETE FROM `memory_fts_idx` WHERE rowid = OLD.id;\nEND;--> statement-breakpoint\nCREATE TRIGGER `memory_fts_au` AFTER UPDATE ON `memory_fts` BEGIN\n DELETE FROM `memory_fts_idx` WHERE rowid = OLD.id;\n INSERT INTO `memory_fts_idx`(rowid, body) VALUES (NEW.id, NEW.body);\nEND;\n",timestamp:1779325200000,name:"20260521010000_memory_fts_v6"},{sql:"-- Fix v6.1 trigger pattern: external content FTS5 vtab requires the 'delete'\n-- magic command to remove OLD body's tokens, NOT a plain DELETE FROM the vtab.\n-- The previous DELETE FROM pattern was contentless-mode syntax misapplied to\n-- external-content mode, leaving stale tokens accumulating until vtab corrupts.\nDROP TRIGGER IF EXISTS `memory_fts_ai`;--> statement-breakpoint\nDROP TRIGGER IF EXISTS `memory_fts_ad`;--> statement-breakpoint\nDROP TRIGGER IF EXISTS `memory_fts_au`;--> statement-breakpoint\nCREATE TRIGGER `memory_fts_ai` AFTER INSERT ON `memory_fts` BEGIN\n INSERT INTO `memory_fts_idx`(rowid, body) VALUES (NEW.id, NEW.body);\nEND;--> statement-breakpoint\nCREATE TRIGGER `memory_fts_ad` AFTER DELETE ON `memory_fts` BEGIN\n INSERT INTO `memory_fts_idx`(`memory_fts_idx`, rowid, body) VALUES('delete', OLD.id, OLD.body);\nEND;--> statement-breakpoint\nCREATE TRIGGER `memory_fts_au` AFTER UPDATE ON `memory_fts` BEGIN\n INSERT INTO `memory_fts_idx`(`memory_fts_idx`, rowid, body) VALUES('delete', OLD.id, OLD.body);\n INSERT INTO `memory_fts_idx`(rowid, body) VALUES (NEW.id, NEW.body);\nEND;\n",timestamp:1779328800000,name:"20260521020000_memory_fts_triggers"},{sql:"UPDATE `message` SET `agent_id` = 'main' WHERE `agent_id` IS NULL;--> statement-breakpoint\nCREATE TABLE `message_new` (\n `id` text PRIMARY KEY NOT NULL,\n `session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `agent_id` text NOT NULL DEFAULT 'main',\n `time_created` integer NOT NULL,\n `time_updated` integer NOT NULL,\n `data` text NOT NULL\n);--> statement-breakpoint\nINSERT INTO `message_new` SELECT `id`, `session_id`, COALESCE(`agent_id`, 'main'), `time_created`, `time_updated`, `data` FROM `message`;--> statement-breakpoint\nDROP TABLE `message`;--> statement-breakpoint\nALTER TABLE `message_new` RENAME TO `message`;--> statement-breakpoint\nCREATE INDEX `message_session_time_created_id_idx` ON `message` (`session_id`,`time_created`,`id`);--> statement-breakpoint\nCREATE INDEX `message_session_agent_idx` ON `message` (`session_id`,`agent_id`,`id`);\n",timestamp:1779753600000,name:"20260526000000_agent_id_main"},{sql:"ALTER TABLE `actor_registry` ADD COLUMN `last_outcome` text;--> statement-breakpoint\nALTER TABLE `actor_registry` ADD COLUMN `lifecycle` text NOT NULL DEFAULT 'ephemeral';--> statement-breakpoint\nALTER TABLE `actor_registry` RENAME COLUMN `error` TO `last_error`;--> statement-breakpoint\nUPDATE `actor_registry` SET `last_outcome` = 'success' WHERE `status` = 'completed';--> statement-breakpoint\nUPDATE `actor_registry` SET `last_outcome` = 'failure' WHERE `status` = 'failed';--> statement-breakpoint\nUPDATE `actor_registry` SET `last_outcome` = 'cancelled' WHERE `status` = 'cancelled';--> statement-breakpoint\nUPDATE `actor_registry` SET `status` = 'idle' WHERE `status` IN ('completed','failed','cancelled');--> statement-breakpoint\nUPDATE `actor_registry` SET `lifecycle` = CASE `mode` WHEN 'peer' THEN 'persistent' WHEN 'main' THEN 'persistent' ELSE 'ephemeral' END;\n",timestamp:1779840000000,name:"20260527000000_actor_lifecycle"},{sql:"CREATE TABLE `inbox` (\n `id` text PRIMARY KEY NOT NULL,\n `receiver_session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `receiver_actor_id` text NOT NULL,\n `sender_session_id` text,\n `sender_actor_id` text,\n `type` text NOT NULL DEFAULT 'text',\n `content` text NOT NULL,\n `created_at` integer NOT NULL\n);--> statement-breakpoint\nCREATE INDEX `inbox_receiver_idx` ON `inbox` (`receiver_session_id`,`receiver_actor_id`,`id`);--> statement-breakpoint\nCREATE INDEX `inbox_created_idx` ON `inbox` (`created_at`);\n",timestamp:1779840060000,name:"20260527000100_inbox"},{sql:"-- todo: drop priority column\nALTER TABLE `todo` DROP COLUMN `priority`;\n--> statement-breakpoint\n\n-- task: drop focus-dependent index before dropping its column\nDROP INDEX `task_focus_per_session_idx`;\n--> statement-breakpoint\nDROP INDEX `task_kind_idx`;\n--> statement-breakpoint\nALTER TABLE `task` DROP COLUMN `focus`;\n--> statement-breakpoint\nALTER TABLE `task` DROP COLUMN `kind`;\n--> statement-breakpoint\n\n-- migrate status values: proposed/active -> open\nUPDATE `task` SET `status` = 'open' WHERE `status` IN ('proposed', 'active');\n",timestamp:1780012800000,name:"20260529000000_task_todo_redesign"},{sql:"ALTER TABLE `task` ADD COLUMN `owner` text;\n",timestamp:1780444800000,name:"20260603000000_task_in_progress_owner"},{sql:"CREATE TABLE `workflow_run` (\n `id` text PRIMARY KEY NOT NULL,\n `session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `name` text NOT NULL,\n `status` text NOT NULL,\n `running` integer NOT NULL DEFAULT 0,\n `succeeded` integer NOT NULL DEFAULT 0,\n `failed` integer NOT NULL DEFAULT 0,\n `current_phase` text,\n `parent_actor_id` text,\n `args` text,\n `error` text,\n `time_created` integer NOT NULL,\n `time_updated` integer NOT NULL\n);--> statement-breakpoint\nCREATE INDEX `workflow_run_session_idx` ON `workflow_run` (`session_id`);--> statement-breakpoint\nCREATE INDEX `workflow_run_status_idx` ON `workflow_run` (`status`);\n",timestamp:1780444800000,name:"20260603000000_workflow_run"},{sql:"ALTER TABLE `workflow_run` ADD COLUMN `script_sha` text;\n",timestamp:1780531200000,name:"20260604000000_workflow_script_sha"},{sql:"CREATE TABLE `claude_import` (\n `source_uuid` text PRIMARY KEY NOT NULL,\n `session_id` text NOT NULL,\n `source_path` text NOT NULL,\n `source_mtime` integer NOT NULL,\n `time_imported` integer NOT NULL\n);\n",timestamp:1780876800000,name:"20260608000000_claude_import"},{sql:"ALTER TABLE `claude_import` ADD `message_ids` text;\n",timestamp:1780880400000,name:"20260608010000_claude_import_message_ids"},{sql:"CREATE TABLE `history_fts` (\n `part_id` text PRIMARY KEY NOT NULL,\n `session_id` text NOT NULL,\n `message_id` text NOT NULL,\n `project_id` text NOT NULL,\n `kind` text NOT NULL,\n `tool_name` text,\n `body` text NOT NULL,\n `time_created` integer NOT NULL\n);--> statement-breakpoint\nCREATE INDEX `history_fts_session_idx` ON `history_fts` (`session_id`, `time_created`);--> statement-breakpoint\nCREATE INDEX `history_fts_project_idx` ON `history_fts` (`project_id`, `time_created`);--> statement-breakpoint\nCREATE INDEX `history_fts_message_idx` ON `history_fts` (`message_id`);--> statement-breakpoint\nCREATE VIRTUAL TABLE `history_fts_idx` USING fts5(\n body,\n content='history_fts',\n content_rowid='rowid',\n tokenize='unicode61 remove_diacritics 1'\n);--> statement-breakpoint\nCREATE TRIGGER `history_fts_ai` AFTER INSERT ON `history_fts` BEGIN\n INSERT INTO `history_fts_idx`(rowid, body) VALUES (NEW.rowid, NEW.body);\nEND;--> statement-breakpoint\nCREATE TRIGGER `history_fts_ad` AFTER DELETE ON `history_fts` BEGIN\n INSERT INTO `history_fts_idx`(`history_fts_idx`, rowid, body) VALUES('delete', OLD.rowid, OLD.body);\nEND;--> statement-breakpoint\nCREATE TRIGGER `history_fts_au` AFTER UPDATE ON `history_fts` BEGIN\n INSERT INTO `history_fts_idx`(`history_fts_idx`, rowid, body) VALUES('delete', OLD.rowid, OLD.body);\n INSERT INTO `history_fts_idx`(rowid, body) VALUES (NEW.rowid, NEW.body);\nEND;\n",timestamp:1780963200000,name:"20260609000000_history_fts"},{sql:"ALTER TABLE `workflow_run` ADD COLUMN `agent_timeout_ms` integer;\n",timestamp:1781046000000,name:"20260609230000_workflow_agent_timeout"},{sql:"CREATE TABLE `external_import` (\n `source` text NOT NULL,\n `source_key` text NOT NULL,\n `session_id` text NOT NULL,\n `source_path` text NOT NULL,\n `source_mtime` integer NOT NULL,\n `time_imported` integer NOT NULL,\n `message_ids` text,\n PRIMARY KEY (`source`, `source_key`)\n);\n\nINSERT INTO `external_import` (`source`, `source_key`, `session_id`, `source_path`, `source_mtime`, `time_imported`, `message_ids`)\nSELECT 'cc', `source_uuid`, `session_id`, `source_path`, `source_mtime`, `time_imported`, `message_ids`\nFROM `claude_import`;\n\nDROP TABLE `claude_import`;\n",timestamp:1781222400000,name:"20260612000000_external_import"}];if(o.length>0){if(Xi.info("applying migrations",{count:o.length,mode:"bundled"}),nn.QITQODE_SKIP_MIGRATIONS)for(let t of o)t.sql="select 1;";bo(n,o)}return n});function Ce(){Jn().$client.close(),Jn.reset()}var Vn=un.create("database");function Je(n){try{return n(Vn.use().tx)}catch(o){if(o instanceof un.NotFound){let t=[],s=Vn.provide({effects:t,tx:Jn()},()=>n(Jn()));for(let e of t)e();return s}throw o}}function He(n){let o=Yn.bind(n);try{Vn.use().effects.push(o)}catch{o()}}function Ke(n,o){try{return n(Vn.use().tx)}catch(t){if(t instanceof un.NotFound){let s=[],e=Yn.bind((_)=>Vn.provide({tx:_,effects:s},()=>n(_))),l=Jn().transaction(e,{behavior:o?.behavior});for(let _ of s)_();return l}throw t}}var ai={};On(ai,{layer:()=>Fi,defaultLayer:()=>we,Service:()=>yo,NotFoundError:()=>Xo});import Y from"path";var Hn={};On(Hn,{layer:()=>wi,defaultLayer:()=>Ee,Service:()=>mo,Git:()=>Hn});var Re=["--no-optional-locks","-c","core.autocrlf=false","-c","core.fsmonitor=false","-c","core.longpaths=true","-c","core.symlinks=true","-c","core.quotepath=false"],cn=(n)=>n.text().trim(),Uo=(n)=>n.split("\x00").filter(Boolean),Se=(n)=>({exitCode:1,text:()=>"",stdout:Buffer.alloc(0),stderr:Buffer.from(n instanceof Error?n.message:String(n))}),ki=(n)=>{if(n==="??")return"added";if(n.includes("U"))return"modified";if(n.includes("A")&&!n.includes("D"))return"added";if(n.includes("D")&&!n.includes("A"))return"deleted";return"modified"};class mo extends Qn.Service()("@qitqode/Git"){}var wi=h.effect(mo,r.gen(function*(){let n=yield*no.ChildProcessSpawner,o=r.fn("Git.run")(function*(u,p){let m=Vi.make("git",[...Re,...u],{cwd:p.cwd,env:p.env,extendEnv:!0,stdin:"ignore",stdout:"pipe",stderr:"pipe"}),f=yield*ci(n,m);return{exitCode:f.code,text:()=>f.text,stdout:Buffer.from(f.text),stderr:Buffer.from(f.stderr)}},r.scoped,r.catch((u)=>r.succeed(Se(u)))),t=r.fn("Git.text")(function*(u,p){return(yield*o(u,p)).text()}),s=r.fn("Git.lines")(function*(u,p){return(yield*t(u,p)).split(/\r?\n/).map((m)=>m.trim()).filter(Boolean)}),e=r.fnUntraced(function*(u){return yield*s(["for-each-ref","--format=%(refname:short)","refs/heads"],{cwd:u})}),l=r.fnUntraced(function*(u,p){let m=yield*o(["config","init.defaultBranch"],{cwd:u}),f=cn(m);if(!f||!p.includes(f))return;return{name:f,ref:f}}),_=r.fnUntraced(function*(u){let p=yield*s(["remote"],{cwd:u});if(p.includes("origin"))return"origin";if(p.length===1)return p[0];if(p.includes("upstream"))return"upstream";return p[0]}),A=r.fn("Git.branch")(function*(u){let p=yield*o(["symbolic-ref","--quiet","--short","HEAD"],{cwd:u});if(p.exitCode!==0)return;return cn(p)||void 0}),C=r.fn("Git.prefix")(function*(u){let p=yield*o(["rev-parse","--show-prefix"],{cwd:u});if(p.exitCode!==0)return"";return cn(p)}),S=r.fn("Git.defaultBranch")(function*(u){let p=yield*_(u);if(p){let i=yield*o(["symbolic-ref",`refs/remotes/${p}/HEAD`],{cwd:u});if(i.exitCode===0){let y=cn(i).replace(/^refs\/remotes\//,""),$=y.startsWith(`${p}/`)?y.slice(`${p}/`.length):"";if($)return{name:$,ref:y}}}let m=yield*e(u),f=yield*l(u,m);if(f)return f;if(m.includes("main"))return{name:"main",ref:"main"};if(m.includes("master"))return{name:"master",ref:"master"}}),K=r.fn("Git.hasHead")(function*(u){return(yield*o(["rev-parse","--verify","HEAD"],{cwd:u})).exitCode===0}),R=r.fn("Git.mergeBase")(function*(u,p,m="HEAD"){let f=yield*o(["merge-base",p,m],{cwd:u});if(f.exitCode!==0)return;return cn(f)||void 0}),E=r.fn("Git.show")(function*(u,p,m,f=""){let i=f?`${f}${m}`:m,y=yield*o(["show",`${p}:${i}`],{cwd:u});if(y.exitCode!==0)return"";if(y.stdout.includes(0))return"";return y.text()}),d=r.fn("Git.status")(function*(u){return Uo(yield*t(["status","--porcelain=v1","--untracked-files=all","--no-renames","-z","--","."],{cwd:u})).flatMap((p)=>{let m=p.slice(3);if(!m)return[];let f=p.slice(0,2);return[{file:m,code:f,status:ki(f)}]})}),D=r.fn("Git.diff")(function*(u,p){let m=Uo(yield*t(["diff","--no-ext-diff","--no-renames","--name-status","-z",p,"--","."],{cwd:u}));return m.flatMap((f,i)=>{if(i%2!==0)return[];let y=m[i+1];if(!f||!y)return[];return[{file:y,code:f,status:ki(f)}]})}),L=r.fn("Git.stats")(function*(u,p){return Uo(yield*t(["diff","--no-ext-diff","--no-renames","--numstat","-z",p,"--","."],{cwd:u})).flatMap((m)=>{let f=m.indexOf("\t"),i=m.indexOf("\t",f+1);if(f===-1||i===-1)return[];let y=m.slice(i+1);if(!y)return[];let $=m.slice(0,f),I=m.slice(f+1,i),O=$==="-"?0:Number.parseInt($||"0",10),U=I==="-"?0:Number.parseInt(I||"0",10);return[{file:y,additions:Number.isFinite(O)?O:0,deletions:Number.isFinite(U)?U:0}]})});return mo.of({run:o,branch:A,prefix:C,defaultBranch:S,hasHead:K,mergeBase:R,show:E,status:d,diff:D,stats:L})})),Ee=wi.pipe(h.provide(oo));var ln=V.create({service:"storage"}),Xo=eo.create("NotFoundError",j.object({message:j.string()})),We=N.Struct({path:N.optional(N.Struct({root:N.optional(N.String)}))}),Pe=N.Struct({id:N.String}),Ue=N.Struct({id:N.String}),Ze=N.Struct({additions:N.Number,deletions:N.Number}),ve=N.Struct({id:N.String,projectID:N.String,summary:N.Struct({diffs:N.Array(Ze)})}),Xe=N.decodeUnknownOption(We),Ye=N.decodeUnknownOption(Pe),ze=N.decodeUnknownOption(Ue),ke=N.decodeUnknownOption(ve);class yo extends Qn.Service()("@qitqode/Storage"){}function Ve(n,o){return Y.join(n,...o)+".json"}function Zo(n){if(!n||typeof n!=="object")return!1;if("code"in n&&n.code==="ENOENT")return!0;if("reason"in n&&n.reason&&typeof n.reason==="object"&&"_tag"in n.reason)return n.reason._tag==="NotFound";return!1}function ce(n){let o=Number.parseInt(n,10);return Number.isNaN(o)?0:o}var qi=[r.fn("Storage.migration.1")(function*(n,o,t){let s=Y.resolve(n,"../project");if(!(yield*o.isDir(s)))return;let e=yield*o.glob("*",{cwd:s,include:"all"});for(let l of e){let _=Y.join(s,l);if(!(yield*o.isDir(_)))continue;ln.info(`migrating project ${l}`);let A=l,C="/";if(A!=="global"){for(let R of yield*o.glob("storage/session/message/*/*.json",{cwd:_,absolute:!0})){let E=Xe(yield*o.readJson(R),{onExcessProperty:"preserve"}),d=wn.isSome(E)?E.value.path?.root:void 0;if(!d)continue;C=d;break}if(!C)continue;if(!(yield*o.isDir(C)))continue;let S=yield*t.run(["rev-list","--max-parents=0","--all"],{cwd:C}),[K]=S.text().split(`
5
5
  `).filter(Boolean).map((R)=>R.trim()).toSorted();if(!K)continue;A=K,yield*o.writeWithDirs(Y.join(n,"project",A+".json"),JSON.stringify({id:K,vcs:"git",worktree:C,time:{created:Date.now(),initialized:Date.now()}},null,2)),ln.info(`migrating sessions for project ${A}`);for(let R of yield*o.glob("storage/session/info/*.json",{cwd:_,absolute:!0})){let E=Y.join(n,"session",A,Y.basename(R));ln.info("copying",{sessionFile:R,dest:E});let d=yield*o.readJson(R),D=Ye(d,{onExcessProperty:"preserve"});if(yield*o.writeWithDirs(E,JSON.stringify(d,null,2)),wn.isNone(D))continue;ln.info(`migrating messages for session ${D.value.id}`);for(let L of yield*o.glob(`storage/session/message/${D.value.id}/*.json`,{cwd:_,absolute:!0})){let u=Y.join(n,"message",D.value.id,Y.basename(L));ln.info("copying",{msgFile:L,dest:u});let p=yield*o.readJson(L),m=ze(p,{onExcessProperty:"preserve"});if(yield*o.writeWithDirs(u,JSON.stringify(p,null,2)),wn.isNone(m))continue;ln.info(`migrating parts for message ${m.value.id}`);for(let f of yield*o.glob(`storage/session/part/${D.value.id}/${m.value.id}/*.json`,{cwd:_,absolute:!0})){let i=Y.join(n,"part",m.value.id,Y.basename(f)),y=yield*o.readJson(f);ln.info("copying",{partFile:f,dest:i}),yield*o.writeWithDirs(i,JSON.stringify(y,null,2))}}}}}}),r.fn("Storage.migration.2")(function*(n,o){for(let t of yield*o.glob("session/*/*.json",{cwd:n,absolute:!0})){let s=yield*o.readJson(t),e=ke(s,{onExcessProperty:"preserve"});if(wn.isNone(e))continue;let l=e.value.summary.diffs;yield*o.writeWithDirs(Y.join(n,"session_diff",e.value.id+".json"),JSON.stringify(l,null,2)),yield*o.writeWithDirs(Y.join(n,"session",e.value.projectID,e.value.id+".json"),JSON.stringify({...s,summary:{additions:l.reduce((_,A)=>_+A.additions,0),deletions:l.reduce((_,A)=>_+A.deletions,0)}},null,2))}})],Fi=h.effect(yo,r.gen(function*(){let n=yield*c.Service,o=yield*Hn.Service,t=yield*vo.make({lookup:()=>Kn.make(),idleTimeToLive:0}),s=yield*r.cached(r.gen(function*(){let d=Y.join(dn.Path.data,"storage"),D=Y.join(d,"migration"),L=yield*n.readFileString(D).pipe(r.map(ce),r.catchIf(Zo,()=>r.succeed(0)),r.orElseSucceed(()=>0));for(let u=L;u<qi.length;u++){ln.info("running migration",{index:u});let p=qi[u],m=yield*r.exit(p(d,n,o));if(kn.isFailure(m)){ln.error("failed to run migration",{index:u,cause:m.cause});break}yield*n.writeWithDirs(D,String(u+1))}return{dir:d}})),e=(d)=>r.fail(new Xo({message:`Resource not found: ${d}`})),l=(d,D)=>D.pipe(r.catchIf(Zo,()=>e(d))),_=r.fnUntraced(function*(d,D){yield*n.writeWithDirs(d,JSON.stringify(D,null,2))}),A=(d,D)=>r.scoped(r.gen(function*(){let L=Ve((yield*s).dir,d);return yield*D(L,yield*vo.get(t,L))})),C=r.fn("Storage.remove")(function*(d){yield*A(d,(D,L)=>Kn.withWriteLock(L,n.remove(D).pipe(r.catchIf(Zo,()=>r.void))))}),S=(d)=>r.gen(function*(){return yield*A(d,(L,u)=>Kn.withReadLock(u,l(L,n.readJson(L))))}),K=(d,D)=>r.gen(function*(){return yield*A(d,(u,p)=>Kn.withWriteLock(p,r.gen(function*(){let m=yield*l(u,n.readJson(u));return D(m),yield*_(u,m),m})))}),R=(d,D)=>r.gen(function*(){yield*A(d,(L,u)=>Kn.withWriteLock(u,_(L,D)))}),E=r.fn("Storage.list")(function*(d){let D=(yield*s).dir,L=Y.join(D,...d);return(yield*n.glob("**/*",{cwd:L,include:"file"}).pipe(r.catch(()=>r.succeed([])))).map((p)=>[...d,...p.slice(0,-5).split(Y.sep)]).toSorted((p,m)=>p.join("/").localeCompare(m.join("/")))});return yo.of({remove:C,read:S,update:K,write:R,list:E})})),we=Fi.pipe(h.provide(c.defaultLayer),h.provide(Hn.defaultLayer));export{Un as Ql,si as Rl,Zn as Sl,mn as Tl,x as Ul,gn as Vl,fo as Wl,zo as Xl,ko as Yl,Vo as Zl,co as _l,qo as $l,uo as am,In as bm,Hn as cm,Xo as dm,ai as em,q as fm,Co as gm,Ti as hm,se as im,xi as jm,Te as km,on as lm,Yn as mm,Le as nm,Pi as om,Ui as pm};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{fp as w,gp as A,jp as U,kp as O,op as R,qp as s,rp as F}from"./chunk-cmbxrgyx.js";import{Gp as G}from"./chunk-nt4e3em9.js";import{$p as L}from"./chunk-v965rsr8.js";import{Nu as M,Su as k}from"./chunk-whxjkz9a.js";import{pO as y}from"./chunk-snm5q21k.js";import{bQ as Y}from"./chunk-aztre27e.js";var _={};Y(_,{schema:()=>x,jsonc:()=>v,ConfigParse:()=>_});function v($,r){let E=[],J=w($,E,{allowTrailingComma:!0});if(E.length){let C=$.split(`
2
+ import{fp as w,gp as A,jp as U,kp as O,op as R,qp as s,rp as F}from"./chunk-fqw4y7x0.js";import{Gp as G}from"./chunk-nt4e3em9.js";import{$p as L}from"./chunk-v965rsr8.js";import{Nu as M,Su as k}from"./chunk-whxjkz9a.js";import{pO as y}from"./chunk-snm5q21k.js";import{bQ as Y}from"./chunk-aztre27e.js";var _={};Y(_,{schema:()=>x,jsonc:()=>v,ConfigParse:()=>_});function v($,r){let E=[],J=w($,E,{allowTrailingComma:!0});if(E.length){let C=$.split(`
3
3
  `),T=E.map((I)=>{let Z=$.substring(0,I.offset).split(`
4
4
  `),H=Z.length,j=Z[Z.length-1].length+1,B=C[H-1],Q=`${A(I.error)} at line ${H}, column ${j}`;if(!B)return Q;return`${Q}
5
5
  Line ${H}: ${B}
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{th as r}from"./chunk-0nj8axbw.js";import{kk as e}from"./chunk-8tc8x27z.js";import{xm as t}from"./chunk-5syxjhg3.js";import{$p as l}from"./chunk-v965rsr8.js";import{Uu as a}from"./chunk-k309zez0.js";import{pO as o}from"./chunk-snm5q21k.js";var S={PromptAppend:t.define("tui.prompt.append",a.object({text:a.string()})),CommandExecute:t.define("tui.command.execute",a.object({command:a.union([a.enum(["session.list","session.new","session.share","session.interrupt","session.compact","session.page.up","session.page.down","session.line.up","session.line.down","session.half.page.up","session.half.page.down","session.first","session.last","prompt.clear","prompt.submit","agent.cycle"]),a.string()])})),ToastShow:t.define("tui.toast.show",a.object({title:a.string().optional(),message:a.string(),variant:a.enum(["info","success","warning","error"]),duration:a.number().default(5000).optional().describe("Duration in milliseconds")})),SessionSelect:t.define("tui.session.select",a.object({sessionID:e.zod.describe("Session ID to navigate to")})),InstructionsLoaded:r};class m extends o.Class("ConsoleState")({consoleManagedProviders:o.mutable(o.Array(o.String)),activeOrgName:o.optional(o.String),switchableOrgCount:o.Number}){static zod=l(this)}var f=m.make({consoleManagedProviders:[],activeOrgName:void 0,switchableOrgCount:0});
2
+ import{th as r}from"./chunk-wfs4pcwa.js";import{kk as e}from"./chunk-pvpy9kq1.js";import{xm as t}from"./chunk-gj3hzx3d.js";import{$p as l}from"./chunk-v965rsr8.js";import{Uu as a}from"./chunk-k309zez0.js";import{pO as o}from"./chunk-snm5q21k.js";var S={PromptAppend:t.define("tui.prompt.append",a.object({text:a.string()})),CommandExecute:t.define("tui.command.execute",a.object({command:a.union([a.enum(["session.list","session.new","session.share","session.interrupt","session.compact","session.page.up","session.page.down","session.line.up","session.line.down","session.half.page.up","session.half.page.down","session.first","session.last","prompt.clear","prompt.submit","agent.cycle"]),a.string()])})),ToastShow:t.define("tui.toast.show",a.object({title:a.string().optional(),message:a.string(),variant:a.enum(["info","success","warning","error"]),duration:a.number().default(5000).optional().describe("Duration in milliseconds")})),SessionSelect:t.define("tui.session.select",a.object({sessionID:e.zod.describe("Session ID to navigate to")})),InstructionsLoaded:r};class m extends o.Class("ConsoleState")({consoleManagedProviders:o.mutable(o.Array(o.String)),activeOrgName:o.optional(o.String),switchableOrgCount:o.Number}){static zod=l(this)}var f=m.make({consoleManagedProviders:[],activeOrgName:void 0,switchableOrgCount:0});
3
3
  export{S as pg,m as qg,f as rg};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{bq as a}from"./chunk-5g8108nf.js";import"./chunk-be216spx.js";import"./chunk-ebrt1me3.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-aztre27e.js";export{a as which};
2
+ import{bq as a}from"./chunk-dcvatax2.js";import"./chunk-be216spx.js";import"./chunk-3szwfy7w.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-aztre27e.js";export{a as which};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Wp as q}from"./chunk-hk698g9e.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)}
2
+ import{Wp as q}from"./chunk-a0v55ywn.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};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{zd as a}from"./chunk-xd3xc1vv.js";import"./chunk-bzgj60w4.js";import"./chunk-aztre27e.js";export{a as dict};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Ed as d}from"./chunk-pdzpfkt0.js";import{Rd as f}from"./chunk-yajd975f.js";import{Vf as e}from"./chunk-7ppd2phw.js";import{hh as l}from"./chunk-612f97vv.js";import"./chunk-0nj8axbw.js";import"./chunk-p68rwmhc.js";import"./chunk-0a0vat1h.js";import"./chunk-z8v2tsz2.js";import"./chunk-j8efst22.js";import"./chunk-a1pw9r6f.js";import"./chunk-d5bxan80.js";import{Cl as u,kk as m}from"./chunk-8tc8x27z.js";import"./chunk-k7g3h9tn.js";import"./chunk-rmr38x2f.js";import"./chunk-5syxjhg3.js";import"./chunk-nj4d554m.js";import"./chunk-1t6bvbgy.js";import"./chunk-cmbxrgyx.js";import"./chunk-a1p2f16h.js";import"./chunk-nt4e3em9.js";import"./chunk-hk698g9e.js";import"./chunk-v965rsr8.js";import"./chunk-1sgby720.js";import"./chunk-5g8108nf.js";import"./chunk-4tbwha3m.js";import"./chunk-m612agnk.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import"./chunk-zyhdxggp.js";import"./chunk-q6ztpfcs.js";import"./chunk-jm1ptn8n.js";import"./chunk-c5e6sk9c.js";import"./chunk-m02zt1a3.js";import"./chunk-vg2fmyje.js";import"./chunk-fzna6jdj.js";import"./chunk-x1rx6fm7.js";import"./chunk-4qqkqrn9.js";import"./chunk-j6emx6jn.js";import"./chunk-be216spx.js";import"./chunk-12bssxd4.js";import"./chunk-24xc0dvv.js";import"./chunk-ebrt1me3.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-xpc2zgj7.js";import"./chunk-qjjch1zt.js";import"./chunk-aztre27e.js";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};
2
+ import{Ed as d}from"./chunk-07g7cybt.js";import{Rd as f}from"./chunk-yajd975f.js";import{Vf as e}from"./chunk-7ppd2phw.js";import{hh as l}from"./chunk-ddnpx1yx.js";import"./chunk-wfs4pcwa.js";import"./chunk-p68rwmhc.js";import"./chunk-0a0vat1h.js";import"./chunk-z8v2tsz2.js";import"./chunk-j8efst22.js";import"./chunk-a1pw9r6f.js";import"./chunk-d5bxan80.js";import{Cl as u,kk as m}from"./chunk-pvpy9kq1.js";import"./chunk-wpajh5s5.js";import"./chunk-2ec6ps8r.js";import"./chunk-gj3hzx3d.js";import"./chunk-nj4d554m.js";import"./chunk-2gerf08b.js";import"./chunk-fqw4y7x0.js";import"./chunk-a1p2f16h.js";import"./chunk-nt4e3em9.js";import"./chunk-a0v55ywn.js";import"./chunk-v965rsr8.js";import"./chunk-1sgby720.js";import"./chunk-dcvatax2.js";import"./chunk-4tbwha3m.js";import"./chunk-m612agnk.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import"./chunk-zyhdxggp.js";import"./chunk-q6ztpfcs.js";import"./chunk-jm1ptn8n.js";import"./chunk-c5e6sk9c.js";import"./chunk-m02zt1a3.js";import"./chunk-vg2fmyje.js";import"./chunk-sn4nez18.js";import"./chunk-42f7p0hq.js";import"./chunk-4qqkqrn9.js";import"./chunk-j6emx6jn.js";import"./chunk-be216spx.js";import"./chunk-12bssxd4.js";import"./chunk-z8r65yw3.js";import"./chunk-3szwfy7w.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-xpc2zgj7.js";import"./chunk-qjjch1zt.js";import"./chunk-aztre27e.js";var 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,3 +1,3 @@
1
1
  // @bun
2
- import{Fu as L,Su as Y}from"./chunk-whxjkz9a.js";import{Uu as Hr}from"./chunk-k309zez0.js";import{IF as go,LP as k,PI as W,ZD as rr,mG as ar}from"./chunk-snm5q21k.js";import{bQ as J,eQ as ho,fQ as vo}from"./chunk-aztre27e.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 a=I.resolve(r);for(let m of o){let n=m.trim().replaceAll("\\","/");if(!n)continue;if(n.includes("\x00")||I.posix.isAbsolute(n)||/^[a-z]:\//i.test(n))throw Error(`Unsafe archive entry: ${m}`);if(n.split("/").includes(".."))throw Error(`Unsafe archive entry: ${m}`);let f=I.resolve(a,...n.split("/"));if(f!==a&&!f.startsWith(`${a}${I.sep}`))throw Error(`Unsafe archive entry: ${m}`)}}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(a)=>{let m=I.join(o,a.name);if(a.isSymbolicLink())throw Error(`Archive contains a symbolic link: ${a.name}`);if(a.isDirectory())await Yo(m)}))}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),a=I.parse(r),m=a.root;for(let n of r.slice(a.root.length).split(I.sep).filter(Boolean)){m=I.join(m,n);let f=await qo(m);if(!f)return;if(f.isSymbolicLink())throw Error(`Archive destination contains a symbolic link: ${m}`)}}async function Xo(o,r){let a=I.resolve(r);await no(a);let m=await qo(a);if(m&&!m.isDirectory())throw Error("Archive destination must be a directory");let n=I.join(I.dirname(a),`.qitqode-backup-${crypto.randomUUID()}`);if(m)await Q.rename(a,n);try{await Q.rename(o,a)}catch(f){if(m)await Q.rename(n,a);throw f}if(m)await Q.rm(n,{recursive:!0,force:!0})}async function Pr(o,r){let a=I.resolve(o),m=I.resolve(r),n=await L(process.platform==="win32"?["tar","-tf",a]:["unzip","-Z1",a]);Ko(n.stdout.toString().split(/\r?\n/),m);let f=await L(process.platform==="win32"?["tar","-tvf",a]:["unzip","-Z","-l",a]);Uo(f.stdout.toString()),await no(I.dirname(m)),await Q.mkdir(I.dirname(m),{recursive:!0}),await no(I.dirname(m));let s=await Q.mkdtemp(I.join(I.dirname(m),".qitqode-extract-"));try{if(process.platform==="win32"){let t=a.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",a,"-d",s]);await Yo(s),await Xo(s,m)}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),a=parseInt(o.slice(3,5),16),m=parseInt(o.slice(5,7),16);return{r,g:a,b:m}}function Ar(o){if(!Ao(o))return;let{r,g:a,b:m}=Zo(o);return`\x1B[38;2;${r};${a};${m}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 z={};J(z,{Path:()=>H,Global:()=>z});import U from"fs/promises";import uo from"path";import aa from"os";import fo from"path";import dr from"os";import{randomBytes as gr,randomUUID as Lr}from"crypto";import{mkdir as so,readFile as er,rm as E,stat as Dr,utimes as hr,writeFile as eo}from"fs/promises";import{createHash as Er}from"crypto";var bo;((ym)=>{function o(r){return Er("sha1").update(r).digest("hex")}ym.fast=o})(bo||={});var to;((Do)=>{let o;function r(u){o=u}Do.setGlobal=r;let a=()=>{if(!o)throw Error("Flock global not set");return fo.join(o.state,"locks")},m={staleMs:60000,timeoutMs:300000,baseDelayMs:100,maxDelayMs:2000};function n(u){if(typeof u!=="object"||u===null||!("code"in u))return;let i=u.code;if(typeof i!=="string")return;return i}function f(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 Dr(u)}catch(i){let c=n(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=fo.join(u,"meta.json"),R=fo.join(u,"heartbeat");try{await so(u,{mode:448})}catch(g){if(n(g)!=="EEXIST")throw g;if(!await T(u,R,M,i.staleMs))return{acquired:!1};let S=u+".breaker";try{await so(S,{mode:448})}catch(B){let Z=n(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 so(u,{mode:448})}catch(B){let Z=n(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 eo(R,"",{flag:"wx"}).catch(async()=>{throw await E(u,{recursive:!0,force:!0}),Error("Lock acquired but heartbeat already existed (possible compromise).")}),await eo(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 er(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=n(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 mo(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 f(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??m.staleMs,timeoutMs:i.timeoutMs??m.timeoutMs,baseDelayMs:i.baseDelayMs??m.baseDelayMs,maxDelayMs:i.maxDelayMs??m.maxDelayMs},M=i.dir??a();await so(M,{recursive:!0});let R=fo.join(M,bo.fast(u)+".lock"),b=await mo(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()}}}Do.acquire=qr;async function Cm(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}}Do.withLock=Cm,Do.effect=W.fn("Flock.effect")(function*(u,i={}){return yield*W.acquireRelease(W.promise((c)=>to.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)})})(to||={});import w from"path";import vr from"os";import po from"path";var G=vr.homedir(),{env:K}=process,e=K.XDG_DATA_HOME||(G?po.join(G,".local","share"):void 0),io=K.XDG_CONFIG_HOME||(G?po.join(G,".config"):void 0),lo=K.XDG_STATE_HOME||(G?po.join(G,".local","state"):void 0),ko=K.XDG_CACHE_HOME||(G?po.join(G,".cache"):void 0),gm=K.XDG_RUNTIME_DIR||void 0,lr=(K.XDG_DATA_DIRS||"/usr/local/share/:/usr/share/").split(":");if(e)lr.unshift(e);var kr=(K.XDG_CONFIG_DIRS||"/etc/xdg").split(":");if(io)kr.unshift(io);import oa from"os";var D="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(e,D),cache:w.join(ko,D),config:w.join(io,D),state:w.join(lo,D)}}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(e,D,"log")}var ra;((or)=>{class o extends rr.Service()("@qitqode/Global"){}or.Service=o,or.layer=ar.effect(o,W.gen(function*(){let a=process.env.HOME||process.env.USERPROFILE||oa.homedir(),{data:m,cache:n,config:f,state:s}=yield*W.sync(()=>Bo()),t=w.join(n,"bin"),x=yield*W.sync(()=>So());return o.of({home:a,data:m,cache:n,config:f,state:s,bin:t,log:x})}))})(ra||={});var{data:ma,cache:mr,config:na,state:fr}=Bo(),H={get home(){return process.env.HOME||process.env.USERPROFILE||aa.homedir()},data:ma,bin:uo.join(mr,"bin"),log:So(),cache:mr,config:na,state:fr};to.setGlobal({state:fr});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 nr="21",fa=await Y.readText(uo.join(H.cache,"version")).catch(()=>"0");if(fa!==nr){try{let o=await U.readdir(H.cache);await Promise.all(o.map((r)=>U.rm(uo.join(H.cache,r),{recursive:!0,force:!0})))}catch{}await Y.write(uo.join(H.cache,"version"),nr)}var sr="0.1.28",tr="latest",fn="147a70389ba8f9405bdc81eb05628c3dff60e32b",sn=!1;import sa from"path";var q;async function ir(){if(q)return q;let o=sa.join(z.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 ta(){return process.env.QITQODE_RUN_ID??=crypto.randomUUID()}function ia(o){return process.env.QITQODE_PROCESS_ROLE??=o}function On(o){return{runID:ta(),processRole:ia(o)}}function Nn(o){let r=Object.fromEntries(Object.entries(process.env).filter((a)=>a[1]!==void 0));return o?Object.assign(r,o):r}function pa(){if(process.env.USER)return process.env.USER;if(process.env.USERNAME)return process.env.USERNAME;return V.userInfo().username}function ua(){return Intl.DateTimeFormat().resolvedOptions().locale}function xa(){return Intl.DateTimeFormat().resolvedOptions().timeZone}async function ca(){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:pa(),homedir:V.homedir()},runtime:{bun_version:Bun.version,node_version:process.versions.node,pid:process.pid,timezone:xa(),locale:ua()},paths:{cwd:process.cwd(),data:z.Path.data,config:z.Path.config},qitqode:{version:sr,channel:tr,installation_id:await ir(),run_id:pr,process_role:ur}}}var Rr={};J(Rr,{toString:()=>Da,parse:()=>ha,match:()=>La,fromParsedKey:()=>ea});var y={done:!1,hasNext:!1};function X(o,...r){let a=o,m=r.map((f)=>("lazy"in f)?Oa(f):void 0),n=0;for(;n<r.length;){if(m[n]===void 0||!Na(a)){let x=r[n];a=x(a),n+=1;continue}let f=[];for(let x=n;x<r.length;x++){let N=m[x];if(N===void 0||(f.push(N),N.isSingle))break}let s=[];for(let x of a)if(xr(x,s,f))break;let{isSingle:t}=f.at(-1);a=t?s[0]:s,n+=f.length}return a}function xr(o,r,a){if(a.length===0)return r.push(o),!1;let m=o,n=y,f=!1;for(let[s,t]of a.entries()){let{index:x,items:N}=t;if(N.push(m),n=t(m,x,N),t.index+=1,n.hasNext){if(n.hasMany??!1){for(let T of n.next)if(xr(T,r,a.slice(s+1)))return!0;return f}m=n.next}if(!n.hasNext)break;n.done&&(f=!0)}return n.hasNext&&r.push(m),f}function Oa(o){let{lazy:r,lazyArgs:a}=o,m=r(...a);return Object.assign(m,{isSingle:r.single??!1,index:0,items:[]})}function Na(o){return typeof o=="string"||typeof o=="object"&&o!==null&&Symbol.iterator in o}function xo(o,r){let a=r.length-o.length;if(a===1){let[m,...n]=r;return X(m,{lazy:o,lazyArgs:n})}if(a===0){let m={lazy:o,lazyArgs:r};return Object.assign((n)=>X(n,m),m)}throw Error("Wrong number of arguments")}function ja(...o){return xo(Ra,o)}function Ra(){let o=new Set;return(r)=>o.has(r)?y:(o.add(r),{done:!1,hasNext:!0,next:r})}function Ta(...o){return xo(Ia,o)}function Ia(o){let r=o,a=new Set;return(m,n,f)=>{let s=r(m,n,f);return a.has(s)?y:(a.add(s),{done:!1,hasNext:!0,next:m})}}function cr(o,r,a){let m=(n)=>o(n,...r);return a===void 0?m:Object.assign(m,{lazy:a,lazyArgs:r})}function O(o,r,a){let m=o.length-r.length;if(m===0)return o(...r);if(m===1)return cr(o,r,a);throw Error("Wrong number of arguments")}function Ma(...o){return O(Object.values,o)}var Nr={asc:(o,r)=>o>r,desc:(o,r)=>o<r};function co(o,r){let[a,...m]=r;if(!Wa(a)){let f=Jo(...m);return o(a,f)}let n=Jo(a,...m);return(f)=>o(f,n)}function Jo(o,r,...a){let m=typeof o=="function"?o:o[0],n=typeof o=="function"?"asc":o[1],{[n]:f}=Nr,s=r===void 0?void 0:Jo(r,...a);return(t,x)=>{let N=m(t),T=m(x);return f(N,T)?1:f(T,N)?-1:s?.(t,x)??0}}function Wa(o){if(Or(o))return!0;if(typeof o!="object"||!Array.isArray(o))return!1;let[r,a,...m]=o;return Or(r)&&typeof a=="string"&&a in Nr&&m.length===0}var Or=(o)=>typeof o=="function"&&o.length===1;function Oo(...o){return co(ba,o)}var ba=(o,r)=>[...o].sort(r);function Ba(...o){return O(Sa,o)}function Sa(o,r){let a={};for(let[m,n]of Object.entries(o))r(n,m,o)&&(a[m]=n);return a}function wo(o){if(typeof o!="object"||o===null)return!1;let r=Object.getPrototypeOf(o);return r===null||r===Object.prototype}function Ja(...o){return O(jr,o)}function jr(o,r){let a={...o,...r};for(let m in r){if(!(m in o))continue;let{[m]:n}=o;if(!wo(n))continue;let{[m]:f}=r;wo(f)&&(a[m]=jr(n,f))}return a}function h(...o){return O(wa,o)}var wa=(o,r)=>o.length>=r;function za(...o){return O(_a,o)}function _a(o,r){if(!h(r,1))return{...o};if(!h(r,2)){let{[r[0]]:m,...n}=o;return n}let a={...o};for(let m of r)delete a[m];return a}function Ca(...o){return O(Ha,o)}function Ha(o,r){let a={};for(let[m,n]of Object.entries(o)){let f=r(n,m,o);a[m]=f}return a}function Qa(...o){return O($a,o,Ga)}var $a=(o,r)=>o.map(r),Ga=(o)=>(r,a,m)=>({done:!1,hasNext:!0,next:o(r,a,m)});function Va(...o){return O(ya,o)}var ya=(o,r)=>{let a=Object.create(null);for(let m=0;m<o.length;m++){let n=o[m],f=r(n,m,o);if(f!==void 0){let s=a[f];s===void 0?a[f]=[n]:s.push(n)}}return Object.setPrototypeOf(a,Object.prototype),a};function zo(...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 Fa(o,r);if(o instanceof Map)return Ka(o,r);if(o instanceof Set)return Ua(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[a,m]of Object.entries(o))if(!(a in r)||!v(m,r[a]))return!1;return!0}function Fa(o,r){if(o.length!==r.length)return!1;for(let[a,m]of o.entries())if(!v(m,r[a]))return!1;return!0}function Ka(o,r){if(o.size!==r.size)return!1;for(let[a,m]of o.entries())if(!r.has(a)||!v(m,r.get(a)))return!1;return!0}function Ua(o,r){if(o.size!==r.size)return!1;let a=[...r];for(let m of o){let n=!1;for(let[f,s]of a.entries())if(v(m,s)){n=!0,a.splice(f,1);break}if(!n)return!1}return!0}function Ya(...o){return co(qa,o)}function qa(o,r){if(!h(o,2))return o[0];let[a]=o,[,...m]=o;for(let n of m)r(n,a)<0&&(a=n);return a}function Xa(...o){return O(Pa,o,Aa)}var Pa=(o,r)=>o.flatMap(r),Aa=(o)=>(r,a,m)=>{let n=o(r,a,m);return Array.isArray(n)?{done:!1,hasNext:!0,hasMany:!0,next:n}:{done:!1,hasNext:!0,next:n}};function Za(...o){return O(Object.entries,o)}function Ea(...o){return O(da,o,ga)}var da=(o,r)=>o.filter(r),ga=(o)=>(r,a,m)=>o(r,a,m)?{done:!1,hasNext:!0,next:r}:y;function La(o,r){if(!o)return!1;let a={...o,super:o.super??!1},m={...r,super:r.super??!1};return zo(a,m)}function ea(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 Da(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 a=r.join("+");if(o.leader)a=a?`<leader> ${a}`:"<leader>";return a}function ha(o){if(o==="none")return[];return o.split(",").map((r)=>{let m=r.replace(/<leader>/g,"leader+").toLowerCase().split("+"),n={ctrl:!1,meta:!1,shift:!1,leader:!1,name:""};for(let f of m)switch(f){case"ctrl":n.ctrl=!0;break;case"alt":case"meta":case"option":n.meta=!0;break;case"super":n.super=!0;break;case"shift":n.shift=!0;break;case"leader":n.leader=!0;break;case"esc":n.name="escape";break;default:n.name=f;break}return n})}var Tr={};J(Tr,{create:()=>la,NotFound:()=>_o});import{AsyncLocalStorage as va}from"async_hooks";class _o extends Error{name;constructor(o){super(`No context found for ${o}`);this.name=o}}function la(o){let r=new va;return{use(){let a=r.getStore();if(!a)throw new _o(o);return a},provide(a,m){return r.run(a,m)}}}var Mr={};J(Mr,{truncateMiddle:()=>nm,truncate:()=>mm,todayTimeOrDateTime:()=>om,titlecase:()=>ka,time:()=>Co,pluralize:()=>fm,number:()=>rm,duration:()=>am,datetime:()=>Ir});function ka(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),a=Co(o),m=r.toLocaleDateString();return`${a} \xB7 ${m}`}function om(o){let r=new Date(o),a=new Date;if(r.getFullYear()===a.getFullYear()&&r.getMonth()===a.getMonth()&&r.getDate()===a.getDate())return Co(o);else return Ir(o)}function rm(o){if(o>=1e6)return(o/1e6).toFixed(1)+"M";else if(o>=1000)return(o/1000).toFixed(1)+"K";return o.toString()}function am(o){if(o<1000)return`${o}ms`;if(o<60000)return`${(o/1000).toFixed(1)}s`;if(o<3600000){let m=Math.floor(o/60000),n=Math.floor(o%60000/1000);return`${m}m ${n}s`}if(o<86400000){let m=Math.floor(o/3600000),n=Math.floor(o%3600000/60000);return`${m}h ${n}m`}let r=Math.floor(o%86400000/3600000);return`${Math.floor(o/86400000)}d ${r}h`}function mm(o,r){if(r<=0)return"";if(o.length<=r)return o;return o.slice(0,r-1)+"\u2026"}function nm(o,r=35){if(r<=0)return"";if(o.length<=r)return o;let a="\u2026",m=Math.ceil((r-a.length)/2),n=Math.floor((r-a.length)/2);return o.slice(0,m)+a+(n>0?o.slice(-n):"")}function fm(o,r,a){return(o===1?r:a).replace("{}",o.toString())}var Br={};J(Br,{write:()=>im,read:()=>tm});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 sm(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 a=()=>{o.acquire();let m=!1;r({[Symbol.dispose]:()=>{if(m)return;m=!0,o.release(),sm(o.key)}})};if(o.available())a();else o.waiting.push(a)})}async function tm(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 im(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:()=>Im,flush:()=>Mm,file:()=>Tm,enabled:()=>jm,create:()=>Vo,Level:()=>xm,Default:()=>Rm});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 No(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?No(o):"";return`Insufficient qredits${r?`: ${r}`:""}. Add qredits at qitqode.com to continue.`},invalidCredentials:(o)=>{let r=o?No(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.`},gatewayUnavailable:(o)=>{let r=o?No(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?No(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 a=Number(r);return Number.isInteger(a)&&a>0?a:void 0}var d=p("QITQODE_EXPERIMENTAL"),jo=p("QITQODE_DISABLE_CLAUDE_CODE"),Ro=p("QITQODE_DISABLE_EXTERNAL_SKILLS"),pm=Ro||jo||p("QITQODE_DISABLE_CLAUDE_CODE_SKILLS"),um=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:pm,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:k.boolean("QITQODE_EXPERIMENTAL_FILEWATCHER").pipe(k.withDefault(!1)),QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER:k.boolean("QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER").pipe(k.withDefault(!1)),QITQODE_EXPERIMENTAL_ICON_DISCOVERY:d||p("QITQODE_EXPERIMENTAL_ICON_DISCOVERY"),QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT:um===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 xm=Hr.enum(["DEBUG","INFO","WARN","ERROR"]).meta({ref:"LogLevel",description:"Log level"}),wr={DEBUG:0,INFO:1,WARN:2,ERROR:3},cm=10,Om=52428800,Nm=209715200,$r="INFO";function oo(o){return wr[o]>=wr[$r]}function jm(o){return oo(o)}var zr=new Map,Rm=Vo({service:"default"}),_="";function Tm(){return _}var ao,To=0,_r=!0,ro=(o)=>{return process.stderr.write(o),o.length};function Mo(){return new Date().toISOString().split(".")[0].replace(/:/g,"")}async function Im(o){if(o.level)$r=o.level;if(_r=o.rotate??!Jr.QITQODE_DISABLE_LOG_ROTATION,Gr(z.Path.log),o.print)return;if(_=Io.join(z.Path.log,o.dev?"dev.log":Mo()+".log"),o.dev){let r=await F.stat(_).catch(()=>null);if(r&&r.size>0)await F.rename(_,`${_}.${Mo()}`).catch(()=>{})}else await F.truncate(_).catch(()=>{});ao=Qr(_,{flags:"a"}),To=0,ro=(r)=>{return $o=$o.then(async()=>{if(To+=Buffer.byteLength(r),_r&&To>=Om)To=Buffer.byteLength(r),await Wm();await new Promise((a)=>{if(!ao){a();return}ao.write(r,()=>a())})}).catch(()=>{}),r.length}}var $o=Promise.resolve();async function Mm(){await $o}async function Wm(){let o=ao,r=`${_}.${Mo()}`;for(let a=2;await F.stat(r).then(()=>!0,()=>!1);a++)r=`${_}.${Mo()}.${a}`;if(await F.rename(_,r).catch(()=>{}),ao=Qr(_,{flags:"a"}),o)o.end();Gr(z.Path.log)}async function Gr(o){let r=await F.readdir(o).catch(()=>[]),m=(await Promise.all(r.filter((t)=>t.includes(".log")&&Io.join(o,t)!==_).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),n=m.reduce((t,x)=>t+x.size,0),f=m.length,s=m.filter((t)=>{if(f<=cm&&n<=Nm)return!1;return n-=t.size,f-=1,!0});await Promise.all(s.map((t)=>F.unlink(Io.join(o,t.name)).catch(()=>{})))}var bm=/token|secret|password|passwd|credential|api[_-]?key|authorization|cookie|set-cookie/i;function Go(o,r){if(bm.test(o)&&r!==void 0&&r!==null)return"[REDACTED]";return r}var Qo=10240;function Bm(o){try{let r=JSON.stringify(o,function(a,m){return a?Go(a,m):m});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 a=o.message;return o.cause instanceof Error&&r<10?a+" Caused by: "+Vr(o.cause,r+1):a}var Cr=Date.now();function Vo(o){o=o||{};let r=o.service;if(r&&typeof r==="string"){let n=zr.get(r);if(n)return n}function a(n,f){let s=Object.entries({...o,...f}).filter(([N,T])=>T!==void 0&&T!==null).map(([N,T])=>{let P=`${N}=`;if(T instanceof Error)return P+Vr(T);let mo=Go(N,T);if(mo!==T)return P+mo;if(typeof T==="object"&&T!==null)return P+Bm(T);return P+T}).join(" "),t=new Date,x=t.getTime()-Cr;return Cr=t.getTime(),[t.toISOString().split(".")[0],"+"+x+"ms",s,n].filter(Boolean).join(" ")+`
2
+ import{Fu as L,Su as Y}from"./chunk-whxjkz9a.js";import{Uu as Hr}from"./chunk-k309zez0.js";import{IF as go,LP as k,PI as W,ZD as rr,mG as ar}from"./chunk-snm5q21k.js";import{bQ as J,eQ as ho,fQ as vo}from"./chunk-aztre27e.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 a=I.resolve(r);for(let m of o){let n=m.trim().replaceAll("\\","/");if(!n)continue;if(n.includes("\x00")||I.posix.isAbsolute(n)||/^[a-z]:\//i.test(n))throw Error(`Unsafe archive entry: ${m}`);if(n.split("/").includes(".."))throw Error(`Unsafe archive entry: ${m}`);let f=I.resolve(a,...n.split("/"));if(f!==a&&!f.startsWith(`${a}${I.sep}`))throw Error(`Unsafe archive entry: ${m}`)}}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(a)=>{let m=I.join(o,a.name);if(a.isSymbolicLink())throw Error(`Archive contains a symbolic link: ${a.name}`);if(a.isDirectory())await Yo(m)}))}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),a=I.parse(r),m=a.root;for(let n of r.slice(a.root.length).split(I.sep).filter(Boolean)){m=I.join(m,n);let f=await qo(m);if(!f)return;if(f.isSymbolicLink())throw Error(`Archive destination contains a symbolic link: ${m}`)}}async function Xo(o,r){let a=I.resolve(r);await no(a);let m=await qo(a);if(m&&!m.isDirectory())throw Error("Archive destination must be a directory");let n=I.join(I.dirname(a),`.qitqode-backup-${crypto.randomUUID()}`);if(m)await Q.rename(a,n);try{await Q.rename(o,a)}catch(f){if(m)await Q.rename(n,a);throw f}if(m)await Q.rm(n,{recursive:!0,force:!0})}async function Pr(o,r){let a=I.resolve(o),m=I.resolve(r),n=await L(process.platform==="win32"?["tar","-tf",a]:["unzip","-Z1",a]);Ko(n.stdout.toString().split(/\r?\n/),m);let f=await L(process.platform==="win32"?["tar","-tvf",a]:["unzip","-Z","-l",a]);Uo(f.stdout.toString()),await no(I.dirname(m)),await Q.mkdir(I.dirname(m),{recursive:!0}),await no(I.dirname(m));let s=await Q.mkdtemp(I.join(I.dirname(m),".qitqode-extract-"));try{if(process.platform==="win32"){let t=a.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",a,"-d",s]);await Yo(s),await Xo(s,m)}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),a=parseInt(o.slice(3,5),16),m=parseInt(o.slice(5,7),16);return{r,g:a,b:m}}function Ar(o){if(!Ao(o))return;let{r,g:a,b:m}=Zo(o);return`\x1B[38;2;${r};${a};${m}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 z={};J(z,{Path:()=>H,Global:()=>z});import U from"fs/promises";import uo from"path";import aa from"os";import fo from"path";import dr from"os";import{randomBytes as gr,randomUUID as Lr}from"crypto";import{mkdir as so,readFile as er,rm as E,stat as Dr,utimes as hr,writeFile as eo}from"fs/promises";import{createHash as Er}from"crypto";var bo;((ym)=>{function o(r){return Er("sha1").update(r).digest("hex")}ym.fast=o})(bo||={});var to;((Do)=>{let o;function r(u){o=u}Do.setGlobal=r;let a=()=>{if(!o)throw Error("Flock global not set");return fo.join(o.state,"locks")},m={staleMs:60000,timeoutMs:300000,baseDelayMs:100,maxDelayMs:2000};function n(u){if(typeof u!=="object"||u===null||!("code"in u))return;let i=u.code;if(typeof i!=="string")return;return i}function f(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 Dr(u)}catch(i){let c=n(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=fo.join(u,"meta.json"),R=fo.join(u,"heartbeat");try{await so(u,{mode:448})}catch(g){if(n(g)!=="EEXIST")throw g;if(!await T(u,R,M,i.staleMs))return{acquired:!1};let S=u+".breaker";try{await so(S,{mode:448})}catch(B){let Z=n(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 so(u,{mode:448})}catch(B){let Z=n(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 eo(R,"",{flag:"wx"}).catch(async()=>{throw await E(u,{recursive:!0,force:!0}),Error("Lock acquired but heartbeat already existed (possible compromise).")}),await eo(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 er(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=n(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 mo(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 f(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??m.staleMs,timeoutMs:i.timeoutMs??m.timeoutMs,baseDelayMs:i.baseDelayMs??m.baseDelayMs,maxDelayMs:i.maxDelayMs??m.maxDelayMs},M=i.dir??a();await so(M,{recursive:!0});let R=fo.join(M,bo.fast(u)+".lock"),b=await mo(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()}}}Do.acquire=qr;async function Cm(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}}Do.withLock=Cm,Do.effect=W.fn("Flock.effect")(function*(u,i={}){return yield*W.acquireRelease(W.promise((c)=>to.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)})})(to||={});import w from"path";import vr from"os";import po from"path";var G=vr.homedir(),{env:K}=process,e=K.XDG_DATA_HOME||(G?po.join(G,".local","share"):void 0),io=K.XDG_CONFIG_HOME||(G?po.join(G,".config"):void 0),lo=K.XDG_STATE_HOME||(G?po.join(G,".local","state"):void 0),ko=K.XDG_CACHE_HOME||(G?po.join(G,".cache"):void 0),gm=K.XDG_RUNTIME_DIR||void 0,lr=(K.XDG_DATA_DIRS||"/usr/local/share/:/usr/share/").split(":");if(e)lr.unshift(e);var kr=(K.XDG_CONFIG_DIRS||"/etc/xdg").split(":");if(io)kr.unshift(io);import oa from"os";var D="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(e,D),cache:w.join(ko,D),config:w.join(io,D),state:w.join(lo,D)}}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(e,D,"log")}var ra;((or)=>{class o extends rr.Service()("@qitqode/Global"){}or.Service=o,or.layer=ar.effect(o,W.gen(function*(){let a=process.env.HOME||process.env.USERPROFILE||oa.homedir(),{data:m,cache:n,config:f,state:s}=yield*W.sync(()=>Bo()),t=w.join(n,"bin"),x=yield*W.sync(()=>So());return o.of({home:a,data:m,cache:n,config:f,state:s,bin:t,log:x})}))})(ra||={});var{data:ma,cache:mr,config:na,state:fr}=Bo(),H={get home(){return process.env.HOME||process.env.USERPROFILE||aa.homedir()},data:ma,bin:uo.join(mr,"bin"),log:So(),cache:mr,config:na,state:fr};to.setGlobal({state:fr});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 nr="21",fa=await Y.readText(uo.join(H.cache,"version")).catch(()=>"0");if(fa!==nr){try{let o=await U.readdir(H.cache);await Promise.all(o.map((r)=>U.rm(uo.join(H.cache,r),{recursive:!0,force:!0})))}catch{}await Y.write(uo.join(H.cache,"version"),nr)}var sr="0.1.30",tr="latest",fn="cbefb643af1e4bea748b0b7dcb0548976e856cb0",sn=!1;import sa from"path";var q;async function ir(){if(q)return q;let o=sa.join(z.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 ta(){return process.env.QITQODE_RUN_ID??=crypto.randomUUID()}function ia(o){return process.env.QITQODE_PROCESS_ROLE??=o}function On(o){return{runID:ta(),processRole:ia(o)}}function Nn(o){let r=Object.fromEntries(Object.entries(process.env).filter((a)=>a[1]!==void 0));return o?Object.assign(r,o):r}function pa(){if(process.env.USER)return process.env.USER;if(process.env.USERNAME)return process.env.USERNAME;return V.userInfo().username}function ua(){return Intl.DateTimeFormat().resolvedOptions().locale}function xa(){return Intl.DateTimeFormat().resolvedOptions().timeZone}async function ca(){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:pa(),homedir:V.homedir()},runtime:{bun_version:Bun.version,node_version:process.versions.node,pid:process.pid,timezone:xa(),locale:ua()},paths:{cwd:process.cwd(),data:z.Path.data,config:z.Path.config},qitqode:{version:sr,channel:tr,installation_id:await ir(),run_id:pr,process_role:ur}}}var Rr={};J(Rr,{toString:()=>Da,parse:()=>ha,match:()=>La,fromParsedKey:()=>ea});var y={done:!1,hasNext:!1};function X(o,...r){let a=o,m=r.map((f)=>("lazy"in f)?Oa(f):void 0),n=0;for(;n<r.length;){if(m[n]===void 0||!Na(a)){let x=r[n];a=x(a),n+=1;continue}let f=[];for(let x=n;x<r.length;x++){let N=m[x];if(N===void 0||(f.push(N),N.isSingle))break}let s=[];for(let x of a)if(xr(x,s,f))break;let{isSingle:t}=f.at(-1);a=t?s[0]:s,n+=f.length}return a}function xr(o,r,a){if(a.length===0)return r.push(o),!1;let m=o,n=y,f=!1;for(let[s,t]of a.entries()){let{index:x,items:N}=t;if(N.push(m),n=t(m,x,N),t.index+=1,n.hasNext){if(n.hasMany??!1){for(let T of n.next)if(xr(T,r,a.slice(s+1)))return!0;return f}m=n.next}if(!n.hasNext)break;n.done&&(f=!0)}return n.hasNext&&r.push(m),f}function Oa(o){let{lazy:r,lazyArgs:a}=o,m=r(...a);return Object.assign(m,{isSingle:r.single??!1,index:0,items:[]})}function Na(o){return typeof o=="string"||typeof o=="object"&&o!==null&&Symbol.iterator in o}function xo(o,r){let a=r.length-o.length;if(a===1){let[m,...n]=r;return X(m,{lazy:o,lazyArgs:n})}if(a===0){let m={lazy:o,lazyArgs:r};return Object.assign((n)=>X(n,m),m)}throw Error("Wrong number of arguments")}function ja(...o){return xo(Ra,o)}function Ra(){let o=new Set;return(r)=>o.has(r)?y:(o.add(r),{done:!1,hasNext:!0,next:r})}function Ta(...o){return xo(Ia,o)}function Ia(o){let r=o,a=new Set;return(m,n,f)=>{let s=r(m,n,f);return a.has(s)?y:(a.add(s),{done:!1,hasNext:!0,next:m})}}function cr(o,r,a){let m=(n)=>o(n,...r);return a===void 0?m:Object.assign(m,{lazy:a,lazyArgs:r})}function O(o,r,a){let m=o.length-r.length;if(m===0)return o(...r);if(m===1)return cr(o,r,a);throw Error("Wrong number of arguments")}function Ma(...o){return O(Object.values,o)}var Nr={asc:(o,r)=>o>r,desc:(o,r)=>o<r};function co(o,r){let[a,...m]=r;if(!Wa(a)){let f=Jo(...m);return o(a,f)}let n=Jo(a,...m);return(f)=>o(f,n)}function Jo(o,r,...a){let m=typeof o=="function"?o:o[0],n=typeof o=="function"?"asc":o[1],{[n]:f}=Nr,s=r===void 0?void 0:Jo(r,...a);return(t,x)=>{let N=m(t),T=m(x);return f(N,T)?1:f(T,N)?-1:s?.(t,x)??0}}function Wa(o){if(Or(o))return!0;if(typeof o!="object"||!Array.isArray(o))return!1;let[r,a,...m]=o;return Or(r)&&typeof a=="string"&&a in Nr&&m.length===0}var Or=(o)=>typeof o=="function"&&o.length===1;function Oo(...o){return co(ba,o)}var ba=(o,r)=>[...o].sort(r);function Ba(...o){return O(Sa,o)}function Sa(o,r){let a={};for(let[m,n]of Object.entries(o))r(n,m,o)&&(a[m]=n);return a}function wo(o){if(typeof o!="object"||o===null)return!1;let r=Object.getPrototypeOf(o);return r===null||r===Object.prototype}function Ja(...o){return O(jr,o)}function jr(o,r){let a={...o,...r};for(let m in r){if(!(m in o))continue;let{[m]:n}=o;if(!wo(n))continue;let{[m]:f}=r;wo(f)&&(a[m]=jr(n,f))}return a}function h(...o){return O(wa,o)}var wa=(o,r)=>o.length>=r;function za(...o){return O(_a,o)}function _a(o,r){if(!h(r,1))return{...o};if(!h(r,2)){let{[r[0]]:m,...n}=o;return n}let a={...o};for(let m of r)delete a[m];return a}function Ca(...o){return O(Ha,o)}function Ha(o,r){let a={};for(let[m,n]of Object.entries(o)){let f=r(n,m,o);a[m]=f}return a}function Qa(...o){return O($a,o,Ga)}var $a=(o,r)=>o.map(r),Ga=(o)=>(r,a,m)=>({done:!1,hasNext:!0,next:o(r,a,m)});function Va(...o){return O(ya,o)}var ya=(o,r)=>{let a=Object.create(null);for(let m=0;m<o.length;m++){let n=o[m],f=r(n,m,o);if(f!==void 0){let s=a[f];s===void 0?a[f]=[n]:s.push(n)}}return Object.setPrototypeOf(a,Object.prototype),a};function zo(...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 Fa(o,r);if(o instanceof Map)return Ka(o,r);if(o instanceof Set)return Ua(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[a,m]of Object.entries(o))if(!(a in r)||!v(m,r[a]))return!1;return!0}function Fa(o,r){if(o.length!==r.length)return!1;for(let[a,m]of o.entries())if(!v(m,r[a]))return!1;return!0}function Ka(o,r){if(o.size!==r.size)return!1;for(let[a,m]of o.entries())if(!r.has(a)||!v(m,r.get(a)))return!1;return!0}function Ua(o,r){if(o.size!==r.size)return!1;let a=[...r];for(let m of o){let n=!1;for(let[f,s]of a.entries())if(v(m,s)){n=!0,a.splice(f,1);break}if(!n)return!1}return!0}function Ya(...o){return co(qa,o)}function qa(o,r){if(!h(o,2))return o[0];let[a]=o,[,...m]=o;for(let n of m)r(n,a)<0&&(a=n);return a}function Xa(...o){return O(Pa,o,Aa)}var Pa=(o,r)=>o.flatMap(r),Aa=(o)=>(r,a,m)=>{let n=o(r,a,m);return Array.isArray(n)?{done:!1,hasNext:!0,hasMany:!0,next:n}:{done:!1,hasNext:!0,next:n}};function Za(...o){return O(Object.entries,o)}function Ea(...o){return O(da,o,ga)}var da=(o,r)=>o.filter(r),ga=(o)=>(r,a,m)=>o(r,a,m)?{done:!1,hasNext:!0,next:r}:y;function La(o,r){if(!o)return!1;let a={...o,super:o.super??!1},m={...r,super:r.super??!1};return zo(a,m)}function ea(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 Da(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 a=r.join("+");if(o.leader)a=a?`<leader> ${a}`:"<leader>";return a}function ha(o){if(o==="none")return[];return o.split(",").map((r)=>{let m=r.replace(/<leader>/g,"leader+").toLowerCase().split("+"),n={ctrl:!1,meta:!1,shift:!1,leader:!1,name:""};for(let f of m)switch(f){case"ctrl":n.ctrl=!0;break;case"alt":case"meta":case"option":n.meta=!0;break;case"super":n.super=!0;break;case"shift":n.shift=!0;break;case"leader":n.leader=!0;break;case"esc":n.name="escape";break;default:n.name=f;break}return n})}var Tr={};J(Tr,{create:()=>la,NotFound:()=>_o});import{AsyncLocalStorage as va}from"async_hooks";class _o extends Error{name;constructor(o){super(`No context found for ${o}`);this.name=o}}function la(o){let r=new va;return{use(){let a=r.getStore();if(!a)throw new _o(o);return a},provide(a,m){return r.run(a,m)}}}var Mr={};J(Mr,{truncateMiddle:()=>nm,truncate:()=>mm,todayTimeOrDateTime:()=>om,titlecase:()=>ka,time:()=>Co,pluralize:()=>fm,number:()=>rm,duration:()=>am,datetime:()=>Ir});function ka(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),a=Co(o),m=r.toLocaleDateString();return`${a} \xB7 ${m}`}function om(o){let r=new Date(o),a=new Date;if(r.getFullYear()===a.getFullYear()&&r.getMonth()===a.getMonth()&&r.getDate()===a.getDate())return Co(o);else return Ir(o)}function rm(o){if(o>=1e6)return(o/1e6).toFixed(1)+"M";else if(o>=1000)return(o/1000).toFixed(1)+"K";return o.toString()}function am(o){if(o<1000)return`${o}ms`;if(o<60000)return`${(o/1000).toFixed(1)}s`;if(o<3600000){let m=Math.floor(o/60000),n=Math.floor(o%60000/1000);return`${m}m ${n}s`}if(o<86400000){let m=Math.floor(o/3600000),n=Math.floor(o%3600000/60000);return`${m}h ${n}m`}let r=Math.floor(o%86400000/3600000);return`${Math.floor(o/86400000)}d ${r}h`}function mm(o,r){if(r<=0)return"";if(o.length<=r)return o;return o.slice(0,r-1)+"\u2026"}function nm(o,r=35){if(r<=0)return"";if(o.length<=r)return o;let a="\u2026",m=Math.ceil((r-a.length)/2),n=Math.floor((r-a.length)/2);return o.slice(0,m)+a+(n>0?o.slice(-n):"")}function fm(o,r,a){return(o===1?r:a).replace("{}",o.toString())}var Br={};J(Br,{write:()=>im,read:()=>tm});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 sm(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 a=()=>{o.acquire();let m=!1;r({[Symbol.dispose]:()=>{if(m)return;m=!0,o.release(),sm(o.key)}})};if(o.available())a();else o.waiting.push(a)})}async function tm(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 im(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:()=>Im,flush:()=>Mm,file:()=>Tm,enabled:()=>jm,create:()=>Vo,Level:()=>xm,Default:()=>Rm});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 No(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?No(o):"";return`Insufficient qredits${r?`: ${r}`:""}. Add qredits at qitqode.com to continue.`},invalidCredentials:(o)=>{let r=o?No(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.`},gatewayUnavailable:(o)=>{let r=o?No(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?No(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 a=Number(r);return Number.isInteger(a)&&a>0?a:void 0}var d=p("QITQODE_EXPERIMENTAL"),jo=p("QITQODE_DISABLE_CLAUDE_CODE"),Ro=p("QITQODE_DISABLE_EXTERNAL_SKILLS"),pm=Ro||jo||p("QITQODE_DISABLE_CLAUDE_CODE_SKILLS"),um=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:pm,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:k.boolean("QITQODE_EXPERIMENTAL_FILEWATCHER").pipe(k.withDefault(!1)),QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER:k.boolean("QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER").pipe(k.withDefault(!1)),QITQODE_EXPERIMENTAL_ICON_DISCOVERY:d||p("QITQODE_EXPERIMENTAL_ICON_DISCOVERY"),QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT:um===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 xm=Hr.enum(["DEBUG","INFO","WARN","ERROR"]).meta({ref:"LogLevel",description:"Log level"}),wr={DEBUG:0,INFO:1,WARN:2,ERROR:3},cm=10,Om=52428800,Nm=209715200,$r="INFO";function oo(o){return wr[o]>=wr[$r]}function jm(o){return oo(o)}var zr=new Map,Rm=Vo({service:"default"}),_="";function Tm(){return _}var ao,To=0,_r=!0,ro=(o)=>{return process.stderr.write(o),o.length};function Mo(){return new Date().toISOString().split(".")[0].replace(/:/g,"")}async function Im(o){if(o.level)$r=o.level;if(_r=o.rotate??!Jr.QITQODE_DISABLE_LOG_ROTATION,Gr(z.Path.log),o.print)return;if(_=Io.join(z.Path.log,o.dev?"dev.log":Mo()+".log"),o.dev){let r=await F.stat(_).catch(()=>null);if(r&&r.size>0)await F.rename(_,`${_}.${Mo()}`).catch(()=>{})}else await F.truncate(_).catch(()=>{});ao=Qr(_,{flags:"a"}),To=0,ro=(r)=>{return $o=$o.then(async()=>{if(To+=Buffer.byteLength(r),_r&&To>=Om)To=Buffer.byteLength(r),await Wm();await new Promise((a)=>{if(!ao){a();return}ao.write(r,()=>a())})}).catch(()=>{}),r.length}}var $o=Promise.resolve();async function Mm(){await $o}async function Wm(){let o=ao,r=`${_}.${Mo()}`;for(let a=2;await F.stat(r).then(()=>!0,()=>!1);a++)r=`${_}.${Mo()}.${a}`;if(await F.rename(_,r).catch(()=>{}),ao=Qr(_,{flags:"a"}),o)o.end();Gr(z.Path.log)}async function Gr(o){let r=await F.readdir(o).catch(()=>[]),m=(await Promise.all(r.filter((t)=>t.includes(".log")&&Io.join(o,t)!==_).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),n=m.reduce((t,x)=>t+x.size,0),f=m.length,s=m.filter((t)=>{if(f<=cm&&n<=Nm)return!1;return n-=t.size,f-=1,!0});await Promise.all(s.map((t)=>F.unlink(Io.join(o,t.name)).catch(()=>{})))}var bm=/token|secret|password|passwd|credential|api[_-]?key|authorization|cookie|set-cookie/i;function Go(o,r){if(bm.test(o)&&r!==void 0&&r!==null)return"[REDACTED]";return r}var Qo=10240;function Bm(o){try{let r=JSON.stringify(o,function(a,m){return a?Go(a,m):m});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 a=o.message;return o.cause instanceof Error&&r<10?a+" Caused by: "+Vr(o.cause,r+1):a}var Cr=Date.now();function Vo(o){o=o||{};let r=o.service;if(r&&typeof r==="string"){let n=zr.get(r);if(n)return n}function a(n,f){let s=Object.entries({...o,...f}).filter(([N,T])=>T!==void 0&&T!==null).map(([N,T])=>{let P=`${N}=`;if(T instanceof Error)return P+Vr(T);let mo=Go(N,T);if(mo!==T)return P+mo;if(typeof T==="object"&&T!==null)return P+Bm(T);return P+T}).join(" "),t=new Date,x=t.getTime()-Cr;return Cr=t.getTime(),[t.toISOString().split(".")[0],"+"+x+"ms",s,n].filter(Boolean).join(" ")+`
3
3
  `}let m={debug(n,f){if(oo("DEBUG"))ro("DEBUG "+a(n,f))},info(n,f){if(oo("INFO"))ro("INFO "+a(n,f))},error(n,f){if(oo("ERROR"))ro("ERROR "+a(n,f))},warn(n,f){if(oo("WARN"))ro("WARN "+a(n,f))},tag(n,f){if(o)o[n]=f;return m},clone(){return Vo({...o})},time(n,f){let s=Date.now();m.info(n,{status:"started",...f});function t(){m.info(n,{status:"completed",duration:Date.now()-s,...f})}return{stop:t,[Symbol.dispose](){t()}}}};if(r&&typeof r==="string")zr.set(r,m);return m}var Fr={};J(Fr,{listen:()=>Sm,emit:()=>Jm,client:()=>wm});function Sm(o){onmessage=async(r)=>{let a=JSON.parse(r.data);if(a.type==="rpc.request")try{let m=await o[a.method](a.input);postMessage(JSON.stringify({type:"rpc.result",result:m,id:a.id}))}catch(m){postMessage(JSON.stringify({type:"rpc.result",error:m instanceof Error?m.message:String(m),id:a.id}))}}}function Jm(o,r){postMessage(JSON.stringify({type:"rpc.event",event:o,data:r}))}function wm(o){let r=new Map,a=new Map,m=0;return o.onmessage=async(n)=>{let f=JSON.parse(n.data);if(f.type==="rpc.result"){let s=r.get(f.id);if(s)if(r.delete(f.id),"error"in f)s.reject(Error(typeof f.error==="string"?f.error:"RPC call failed"));else s.resolve(f.result)}if(f.type==="rpc.event"){let s=a.get(f.event);if(s)for(let t of s)t(f.data)}},{call(n,f){let s=m++;return new Promise((t,x)=>{r.set(s,{resolve:t,reject:x});try{o.postMessage(JSON.stringify({type:"rpc.request",method:n,input:f,id:s}))}catch(N){r.delete(s),x(N)}})},on(n,f){let s=a.get(n);if(!s)s=new Set,a.set(n,s);return s.add(f),()=>{s.delete(f)}}}}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:()=>_m,all:()=>zm});function Wo(o,r){if(o)o=o.replaceAll("\\","/");if(r)r=r.replaceAll("\\","/");let a=r.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");if(a.endsWith(" .*"))a=a.slice(0,-3)+"( .*)?";let m=process.platform==="win32"?"si":"s";return new RegExp("^"+a+"$",m).test(o)}function zm(o,r){let a=X(r,Object.entries,Oo([([n])=>n.length,"asc"],[([n])=>n,"asc"])),m=void 0;for(let[n,f]of a)if(Wo(o,n)){m=f;continue}return m}function _m(o,r){let a=X(r,Object.entries,Oo([([n])=>n.length,"asc"],[([n])=>n,"asc"])),m=void 0;for(let[n,f]of a){let s=n.split(/\s+/);if(!Wo(o.head,s[0]))continue;if(s.length===1||yo(o.tail,s.slice(1))){m=f;continue}}return m}function yo(o,r){if(r.length===0)return!0;let[a,...m]=r;if(a==="*")return yo(o,m);for(let n=0;n<o.length;n++)if(Wo(o[n],a)&&yo(o.slice(n+1),m))return!0;return!1}export{sr as tt,tr as ut,fn as vt,sn as wt,X as xt,ja as yt,Ta as zt,Ma as At,Oo as Bt,Ba as Ct,Ja as Dt,za as Et,Ca as Ft,Qa as Gt,Va as Ht,zo as It,Ya as Jt,Xa as Kt,Za as Lt,Ea as Mt,Wo as Nt,Yr as Ot,lu as Pt,ku as Qt,Sr as Rt,ox as St,No as Tt,rx as Ut,pr as Vt,ur as Wt,ta as Xt,On as Yt,Nn as Zt,Po as _t,Eo as $t,Lo as au,ir as bu,ca as cu,Rr as du,Tr as eu,Mr as fu,Br as gu,wm as hu,Fr as iu,Ur as ju,bo as ku,to as lu,ra as mu,H as nu,z as ou,Jr as pu,xm as qu,jm as ru,Rm as su,Tm as tu,Im as uu,Mm as vu,Go as wu,Vo as xu,yr as yu};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{$l as s,am as t,bm as u,dm as v,em as w}from"./chunk-rmr38x2f.js";import"./chunk-5syxjhg3.js";import{Gn as b,Hn as c,In as d,Jn as e,Kn as f,Ln as g,Mn as h,Nn as i,On as j,Pn as k,Rn as l,Sn as m,Tn as n,Vn as o,Xn as p,co as q,do as r,en as a}from"./chunk-nj4d554m.js";import"./chunk-nt4e3em9.js";import"./chunk-v965rsr8.js";import"./chunk-1sgby720.js";import"./chunk-5g8108nf.js";import"./chunk-fzna6jdj.js";import"./chunk-x1rx6fm7.js";import"./chunk-4qqkqrn9.js";import"./chunk-be216spx.js";import"./chunk-12bssxd4.js";import"./chunk-ebrt1me3.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-aztre27e.js";export{a as sql,e as or,f as not,c as ne,j as lte,i as lt,p as like,l as isNull,m as isNotNull,k as inArray,h as gte,g as gt,n as exists,b as eq,r as desc,t as count,o as between,q as asc,d as and,w as Storage,v as NotFoundError,s as JsonMigration,u as Database};
2
+ import{$l as s,am as t,bm as u,dm as v,em as w}from"./chunk-2ec6ps8r.js";import"./chunk-gj3hzx3d.js";import{Gn as b,Hn as c,In as d,Jn as e,Kn as f,Ln as g,Mn as h,Nn as i,On as j,Pn as k,Rn as l,Sn as m,Tn as n,Vn as o,Xn as p,co as q,do as r,en as a}from"./chunk-nj4d554m.js";import"./chunk-nt4e3em9.js";import"./chunk-v965rsr8.js";import"./chunk-1sgby720.js";import"./chunk-dcvatax2.js";import"./chunk-sn4nez18.js";import"./chunk-42f7p0hq.js";import"./chunk-4qqkqrn9.js";import"./chunk-be216spx.js";import"./chunk-12bssxd4.js";import"./chunk-3szwfy7w.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-aztre27e.js";export{a as sql,e as or,f as not,c as ne,j as lte,i as lt,p as like,l as isNull,m as isNotNull,k as inArray,h as gte,g as gt,n as exists,b as eq,r as desc,t as count,o as between,q as asc,d as and,w as Storage,v as NotFoundError,s as JsonMigration,u as Database};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{As as cJ,Ds as pJ,Es as iJ,Fs as nJ,Gs as aJ,Hs as rJ,Js as AQ,qs as mJ,rs as vJ,ss as dJ,ts as lJ,ws as d,xs as l,zs as uJ}from"./chunk-4qqkqrn9.js";import{Yt as FQ,pu as x,tt as CQ,ut as DQ,yu as GJ}from"./chunk-ebrt1me3.js";import{AH as VJ,BI as E,DH as hJ,DM as o,EG as DJ,FG as FJ,GG as AJ,GI as yJ,HI as bJ,IP as g,JF as BQ,JP as eJ,KF as wQ,MD as $Q,MH as jJ,MP as HQ,NC as wJ,NF as $J,NP as WQ,OF as UJ,OP as R,PI as I,QC as HJ,SG as t,SH as NJ,TC as WJ,TF as zJ,TG as OJ,UD as f,VG as y,_D as IJ,bE as PJ,bI as kJ,bK as gJ,cG as ZJ,eE as T,fI as LJ,gH as TJ,hC as tJ,hE as KJ,iI as SJ,mG as z,mI as xJ,mM as j,nF as qQ,nH as EJ,qI as fJ,rH as MJ,sG as b,uF as _J,uG as CJ,uH as oJ,wD as GQ,yH as RJ}from"./chunk-snm5q21k.js";import{$P as zQ,bQ as u,dQ as S}from"./chunk-aztre27e.js";var IX={};u(IX,{resource:()=>BJ,layer:()=>EQ,enabled:()=>OQ,Observability:()=>WX});var p={};u(p,{make:()=>IQ,layer:()=>ZX});var VQ=AJ.pipe(FJ,DJ((J)=>{if(lJ(J)&&J.reason._tag==="StatusCodeError"&&J.reason.response.status===429){let Q=HJ(J.reason.response.headers["retry-after"]).pipe(WJ(CJ),wJ(()=>5));return t(T(Q))}return t(T(1))})),sJ=E(function*(J){let Q=yield*jJ(),X=f(Q,b),Y=f(Q,UJ),$=fJ(Q),G=KJ(IJ(J.exportInterval),PJ),B=void 0,C=nJ(f(Q,pJ)).pipe(iJ(NJ(rJ,!1)),aJ({schedule:VQ,times:3})),V=vJ({"user-agent":`effect-opentelemetry-${J.label}/0.0.0`});if(J.headers)V=dJ(mJ(J.headers),V);let r=uJ(J.url,{headers:V}),O=[],s=OJ(()=>{if(B!==void 0&&X.currentTimeMillisUnsafe()<B)return y;else if(B!==void 0)B=void 0;let h=O;if(J.maxBatchSize!=="disabled"){if(O.length===0)return y;O=[]}return C.execute(cJ(r,J.body(h))).pipe(EJ,SJ(!1))}).pipe(MJ((h)=>{if(B!==void 0)return y;return B=X.currentTimeMillisUnsafe()+60000,O=[],yJ("Disabling exporter for 60 seconds",h)}),bJ({package:"@effect/opentelemetry",module:J.label}));return yield*zJ(Y,s.pipe(RJ,kJ,VJ(J.shutdownTimeout))),yield*hJ(G).pipe(TJ(s),LJ,xJ(Y)),{push(h){if(B!==void 0)return;if(O.push(h),J.maxBatchSize!=="disabled"&&O.length>=J.maxBatchSize)gJ($(s),Y)}}});var jQ=(J)=>{let Q=J.attributes?e(Object.entries(J.attributes)):[];if(Q.push({key:"service.name",value:{stringValue:J.serviceName}}),J.serviceVersion)Q.push({key:"service.version",value:{stringValue:J.serviceVersion}});return{attributes:Q,droppedAttributesCount:0}},JQ=E(function*(J){let Q={...yield*g(o(eJ(j,j)),"OTEL_RESOURCE_ATTRIBUTES"),...J?.attributes},X=J?.serviceName??Q["service.name"]??(yield*g(j,"OTEL_SERVICE_NAME"));delete Q["service.name"];let Y=J?.serviceVersion??Q["service.version"]??(yield*g(o(j),"OTEL_SERVICE_VERSION"));return delete Q["service.version"],jQ({serviceName:X,serviceVersion:Y,attributes:Q})},oJ),QQ=(J)=>{let Q=J.attributes.find((X)=>X.key==="service.name");if(!Q||!Q.value.stringValue)throw Error("Resource does not contain a service name");return Q.value.stringValue},e=(J)=>{let Q=[];for(let[X,Y]of J)Q.push({key:X,value:m(Y)});return Q},m=(J)=>{if(Array.isArray(J))return{arrayValue:{values:J.map(m)}};switch(typeof J){case"string":return{stringValue:J};case"bigint":return{intValue:Number(J)};case"number":return Number.isInteger(J)?{intValue:J}:{doubleValue:J};case"boolean":return{boolValue:J};default:return{stringValue:tJ(J)}}};var c={};u(c,{layerProtobuf:()=>YX,layerJson:()=>XX,OtlpSerialization:()=>M});var N={Varint:0,Fixed64:1,LengthDelimited:2,Fixed32:5},k=(J,Q)=>J<<3|Q,D=(J)=>{let Q=[],X=typeof J==="bigint"?J:BigInt(J);while(X>0x7fn)Q.push(Number(X&0x7fn)|128),X>>=7n;return Q.push(Number(X)),new Uint8Array(Q)};var kQ=(J)=>{let Q=new Uint8Array(8);return new DataView(Q.buffer).setBigUint64(0,J,!0),Q},LQ=(J)=>{let Q=new Uint8Array(4);return new DataView(Q.buffer).setUint32(0,J,!0),Q},SQ=(J)=>{let Q=new Uint8Array(8);return new DataView(Q.buffer).setFloat64(0,J,!0),Q},xQ=(J)=>new TextEncoder().encode(J),fQ=(J)=>{let Q=new Uint8Array(J.length/2);for(let X=0;X<J.length;X+=2)Q[X/2]=parseInt(J.slice(X,X+2),16);return Q},Z=(...J)=>{let Q=J.reduce(($,G)=>$+G.length,0),X=new Uint8Array(Q),Y=0;for(let $ of J)X.set($,Y),Y+=$.length;return X},q=(J,Q)=>Z(D(k(J,N.Varint)),D(Q));var JJ=(J,Q)=>q(J,Q?1:0),W=(J,Q)=>Z(D(k(J,N.Fixed64)),kQ(Q)),v=(J,Q)=>Z(D(k(J,N.Fixed32)),LQ(Q)),F=(J,Q)=>Z(D(k(J,N.Fixed64)),SQ(Q)),L=(J,Q)=>Z(D(k(J,N.LengthDelimited)),D(Q.length),Q),K=(J,Q)=>L(J,xQ(Q)),U=(J,Q)=>L(J,fQ(Q)),w=(J,Q)=>L(J,Q),_=(J,Q,X)=>Z(...Q.map((Y)=>w(J,X(Y))));var H=(J,Q)=>Q!==void 0&&Q!==""?K(J,Q):new Uint8Array(0);var QJ=(J)=>{if(J.stringValue!==void 0&&J.stringValue!==null)return K(1,J.stringValue);if(J.boolValue!==void 0&&J.boolValue!==null)return JJ(2,J.boolValue);if(J.intValue!==void 0&&J.intValue!==null)return q(3,BigInt(J.intValue));if(J.doubleValue!==void 0&&J.doubleValue!==null)return F(4,J.doubleValue);if(J.arrayValue!==void 0)return w(5,bQ(J.arrayValue));if(J.kvlistValue!==void 0)return w(6,gQ(J.kvlistValue));if(J.bytesValue!==void 0)return L(7,J.bytesValue);return new Uint8Array(0)},bQ=(J)=>_(1,J.values,QJ),gQ=(J)=>_(1,J.values,P),P=(J)=>Z(K(1,J.key),w(2,QJ(J.value))),XJ=(J)=>Z(K(1,J.name),H(2,J.version),J.attributes?_(3,J.attributes,P):new Uint8Array(0),J.droppedAttributesCount?q(4,J.droppedAttributesCount):new Uint8Array(0)),YJ=(J)=>Z(_(1,J.attributes,P),J.droppedAttributesCount>0?q(2,J.droppedAttributesCount):new Uint8Array(0));var mQ=(J)=>Z(H(2,J.message),q(3,J.code)),vQ=(J)=>Z(W(1,BigInt(J.timeUnixNano)),K(2,J.name),_(3,J.attributes,P),J.droppedAttributesCount>0?q(4,J.droppedAttributesCount):new Uint8Array(0)),dQ=(J)=>Z(U(1,J.traceId),U(2,J.spanId),H(3,J.traceState),_(4,J.attributes,P),J.droppedAttributesCount>0?q(5,J.droppedAttributesCount):new Uint8Array(0),J.flags!==void 0?v(6,J.flags):new Uint8Array(0)),lQ=(J)=>Z(U(1,J.traceId),U(2,J.spanId),H(3,J.traceState),J.parentSpanId!==void 0?U(4,J.parentSpanId):new Uint8Array(0),K(5,J.name),q(6,J.kind),W(7,BigInt(J.startTimeUnixNano)),W(8,BigInt(J.endTimeUnixNano)),_(9,J.attributes,P),J.droppedAttributesCount>0?q(10,J.droppedAttributesCount):new Uint8Array(0),_(11,J.events,vQ),J.droppedEventsCount>0?q(12,J.droppedEventsCount):new Uint8Array(0),_(13,J.links,dQ),J.droppedLinksCount>0?q(14,J.droppedLinksCount):new Uint8Array(0),w(15,mQ(J.status)),J.flags!==void 0?v(16,J.flags):new Uint8Array(0)),uQ=(J)=>Z(w(1,XJ(J.scope)),_(2,J.spans,lQ),H(3,J.schemaUrl)),cQ=(J)=>Z(w(1,YJ(J.resource)),_(2,J.scopeSpans,uQ),H(3,J.schemaUrl)),XQ=(J)=>_(1,J.resourceSpans,cQ);var YQ=(J)=>Z(W(2,BigInt(J.startTimeUnixNano)),W(3,BigInt(J.timeUnixNano)),J.asDouble!==void 0?F(4,J.asDouble):new Uint8Array(0),J.asInt!==void 0?W(6,BigInt(J.asInt)):new Uint8Array(0),_(7,J.attributes,P),J.flags!==void 0?q(8,J.flags):new Uint8Array(0)),pQ=(J)=>{let Q=Z(...J.bucketCounts.map((Y)=>W(6,BigInt(Y)))),X=Z(...J.explicitBounds.map((Y)=>F(7,Y)));return Z(W(2,BigInt(J.startTimeUnixNano)),W(3,BigInt(J.timeUnixNano)),W(4,BigInt(J.count)),J.sum!==void 0?F(5,J.sum):new Uint8Array(0),Q,X,_(9,J.attributes,P),J.flags!==void 0?q(10,J.flags):new Uint8Array(0),J.min!==void 0?F(11,J.min):new Uint8Array(0),J.max!==void 0?F(12,J.max):new Uint8Array(0))},iQ=(J)=>_(1,J.dataPoints,YQ),nQ=(J)=>Z(_(1,J.dataPoints,YQ),q(2,J.aggregationTemporality),JJ(3,J.isMonotonic)),aQ=(J)=>Z(_(1,J.dataPoints,pQ),q(2,J.aggregationTemporality)),rQ=(J)=>Z(K(1,J.name),H(2,J.description),H(3,J.unit),J.gauge!==void 0?w(5,iQ(J.gauge)):new Uint8Array(0),J.sum!==void 0?w(7,nQ(J.sum)):new Uint8Array(0),J.histogram!==void 0?w(9,aQ(J.histogram)):new Uint8Array(0)),sQ=(J)=>Z(w(1,XJ(J.scope)),_(2,J.metrics,rQ),H(3,J.schemaUrl)),tQ=(J)=>Z(w(1,YJ(J.resource)),_(2,J.scopeMetrics,sQ),H(3,J.schemaUrl)),ZQ=(J)=>_(1,J.resourceMetrics,tQ);var oQ=(J)=>Z(W(1,BigInt(J.timeUnixNano)),J.severityNumber!==void 0?q(2,J.severityNumber):new Uint8Array(0),H(3,J.severityText),J.body!==void 0?w(5,QJ(J.body)):new Uint8Array(0),_(6,J.attributes,P),J.droppedAttributesCount!==void 0&&J.droppedAttributesCount>0?q(7,J.droppedAttributesCount):new Uint8Array(0),J.flags!==void 0?v(8,J.flags):new Uint8Array(0),J.traceId!==void 0&&J.traceId!==""?U(9,J.traceId):new Uint8Array(0),J.spanId!==void 0&&J.spanId!==""?U(10,J.spanId):new Uint8Array(0),J.observedTimeUnixNano!==void 0?W(11,BigInt(J.observedTimeUnixNano)):new Uint8Array(0)),eQ=(J)=>Z(w(1,XJ(J.scope)),_(2,J.logRecords,oQ),H(3,J.schemaUrl)),JX=(J)=>Z(w(1,YJ(J.resource)),_(2,J.scopeLogs,eQ),H(3,J.schemaUrl)),_Q=(J)=>_(1,J.resourceLogs,JX);class M extends $Q()("effect/observability/OtlpSerialization"){}var XX=ZJ(M,{traces:(J)=>l(J),metrics:(J)=>l(J),logs:(J)=>l(J)}),YX=ZJ(M,{traces:(J)=>d(XQ(J),"application/x-protobuf"),metrics:(J)=>d(ZQ(J),"application/x-protobuf"),logs:(J)=>d(_Q(J),"application/x-protobuf")});var IQ=E(function*(J){let Q=yield*M,X=yield*JQ(J.resource),Y={name:QQ(X)},$=yield*sJ({label:"OtlpLogger",url:J.url,headers:J.headers,maxBatchSize:J.maxBatchSize??1000,exportInterval:J.exportInterval??T(1),body:(B)=>Q.logs({resourceLogs:[{resource:X,scopeLogs:[{scope:Y,logRecords:B}]}]}),shutdownTimeout:J.shutdownTimeout??T(3)}),G={excludeLogSpans:J.excludeLogSpans??!1,clock:yield*b};return HQ((B)=>{$.push(_X(B,G))})}),ZX=(J)=>WQ([IQ(J)],{mergeWithExisting:J.mergeWithExisting??!0}),_X=(J,Q)=>{let Y=Q.clock.currentTimeNanosUnsafe().toString(),$=J.date.getTime(),G=e(Object.entries(J.fiber.getRef(BQ)));if(G.push({key:"fiberId",value:{intValue:J.fiber.id}}),!Q.excludeLogSpans)for(let[V,r]of J.fiber.getRef(wQ))G.push({key:`logSpan.${V}`,value:{stringValue:`${$-r}ms`}});if(J.cause.reasons.length>0)G.push({key:"log.error",value:{stringValue:qQ(J.cause)}});let B=GQ(J.message),C={severityNumber:$X(J.logLevel),severityText:J.logLevel,timeUnixNano:Y,observedTimeUnixNano:Y,attributes:G,body:m(B.length===1?B[0]:B),droppedAttributesCount:0};if(J.fiber.currentSpan)C.traceId=J.fiber.currentSpan.traceId,C.spanId=J.fiber.currentSpan.spanId;return C},$X=(J)=>{switch(J){case"Trace":return A.SEVERITY_NUMBER_TRACE;case"Debug":return A.SEVERITY_NUMBER_DEBUG;case"Info":return A.SEVERITY_NUMBER_INFO;case"Warn":return A.SEVERITY_NUMBER_WARN;case"Error":return A.SEVERITY_NUMBER_ERROR;case"Fatal":return A.SEVERITY_NUMBER_FATAL;default:return A.SEVERITY_NUMBER_UNSPECIFIED}},A={SEVERITY_NUMBER_UNSPECIFIED:0,SEVERITY_NUMBER_TRACE:1,SEVERITY_NUMBER_TRACE2:2,SEVERITY_NUMBER_TRACE3:3,SEVERITY_NUMBER_TRACE4:4,SEVERITY_NUMBER_DEBUG:5,SEVERITY_NUMBER_DEBUG2:6,SEVERITY_NUMBER_DEBUG3:7,SEVERITY_NUMBER_DEBUG4:8,SEVERITY_NUMBER_INFO:9,SEVERITY_NUMBER_INFO2:10,SEVERITY_NUMBER_INFO3:11,SEVERITY_NUMBER_INFO4:12,SEVERITY_NUMBER_WARN:13,SEVERITY_NUMBER_WARN2:14,SEVERITY_NUMBER_WARN3:15,SEVERITY_NUMBER_WARN4:16,SEVERITY_NUMBER_ERROR:17,SEVERITY_NUMBER_ERROR2:18,SEVERITY_NUMBER_ERROR3:19,SEVERITY_NUMBER_ERROR4:20,SEVERITY_NUMBER_FATAL:21,SEVERITY_NUMBER_FATAL2:22,SEVERITY_NUMBER_FATAL3:23,SEVERITY_NUMBER_FATAL4:24};var UQ={};u(UQ,{logger:()=>n,layer:()=>qJ,create:()=>KQ});var GX=(J)=>J==="sessionID"?"session.id":J,PQ=(J)=>Object.fromEntries(Object.entries(J??{}).filter((Q)=>Q[1]!==void 0&&Q[1]!==null).map(([Q,X])=>[GX(Q),X])),qX=(J)=>{if(Array.isArray(J))return J.map((Q)=>String(Q)).join(" ");return J===void 0?"":String(J)},i=(J,Q,X,Y)=>{let $=PQ({...Q,...Y}),G=J(X);return Object.keys($).length?I.annotateLogs(G,$):G},n=R.make((J)=>{let Q=PQ(J.fiber.getRef($J.CurrentLogAnnotations)),X=J.date.getTime();for(let[B,C]of J.fiber.getRef($J.CurrentLogSpans))Q[`logSpan.${B}`]=`${X-C}ms`;if(J.cause.reasons.length>0)Q.cause=_J.pretty(J.cause);let Y=typeof Q.service==="string"?Q.service:void 0;if(Y)delete Q.service;let $=Y?GJ.create({service:Y}):GJ.Default,G=qX(J.message);switch(J.logLevel){case"Trace":case"Debug":return $.debug(G,Q);case"Warn":return $.warn(G,Q);case"Error":case"Fatal":return $.error(G,Q);default:return $.info(G,Q)}}),qJ=R.layer([n],{mergeWithExisting:!1}),KQ=(J={})=>({debug:(Q,X)=>i((Y)=>I.logDebug(Y),J,Q,X),info:(Q,X)=>i((Y)=>I.logInfo(Y),J,Q,X),warn:(Q,X)=>i((Y)=>I.logWarning(Y),J,Q,X),error:(Q,X)=>i((Y)=>I.logError(Y),J,Q,X),with:(Q)=>KQ({...J,...Q})});var a=x.OTEL_EXPORTER_OTLP_ENDPOINT,OQ=!!a,BX=crypto.randomUUID(),TQ=x.OTEL_EXPORTER_OTLP_HEADERS?x.OTEL_EXPORTER_OTLP_HEADERS.split(",").reduce((J,Q)=>{let[X,...Y]=Q.split("=");return J[X]=Y.join("="),J},{}):void 0;function BJ(){let J=FQ("main"),Q=(()=>{let X=process.env.OTEL_RESOURCE_ATTRIBUTES;if(!X)return{};try{return Object.fromEntries(X.split(",").map((Y)=>{let $=Y.indexOf("=");if($<1)throw Error("Invalid OTEL_RESOURCE_ATTRIBUTES entry");return[decodeURIComponent(Y.slice(0,$)),decodeURIComponent(Y.slice($+1))]}))}catch{return{}}})();return{serviceName:"qitqode",serviceVersion:CQ,attributes:{...Q,"deployment.environment.name":DQ,"qitqode.client":x.QITQODE_CLIENT,"qitqode.process_role":J.processRole,"qitqode.run_id":J.runID,"service.instance.id":BX}}}function wX(){return R.layer([n,p.make({url:`${a}/v1/logs`,resource:BJ(),headers:TQ})],{mergeWithExisting:!1}).pipe(z.provide(c.layerJson),z.provide(AQ.layer))}var HX=async()=>{let J=await import("./chunk-pekm54ce.js"),Q=await import("./chunk-89q1y7tc.js"),X=await import("./chunk-g7rjtehn.js"),{AsyncLocalStorageContextManager:Y}=await import("./chunk-srh4xvsj.js").then((m)=>zQ(m.default,1)),{context:$}=await import("./chunk-730a2d1k.js").then((m)=>zQ(m.default,1)),G=new Y;return G.enable(),$.setGlobalContextManager(G),J.layer(()=>({resource:BJ(),spanProcessor:new X.BatchSpanProcessor(new Q.OTLPTraceExporter({url:`${a}/v1/traces`,headers:TQ}))}))},EQ=!a?qJ:z.unwrap(I.gen(function*(){let J=yield*I.promise(HX);return z.mergeAll(J,wX())})),WX={enabled:OQ,layer:EQ};var aX=z.makeMemoMapUnsafe();
2
+ import{As as cJ,Ds as pJ,Es as iJ,Fs as nJ,Gs as aJ,Hs as rJ,Js as AQ,qs as mJ,rs as vJ,ss as dJ,ts as lJ,ws as d,xs as l,zs as uJ}from"./chunk-4qqkqrn9.js";import{Yt as FQ,pu as x,tt as CQ,ut as DQ,yu as GJ}from"./chunk-3szwfy7w.js";import{AH as VJ,BI as E,DH as hJ,DM as o,EG as DJ,FG as FJ,GG as AJ,GI as yJ,HI as bJ,IP as g,JF as BQ,JP as eJ,KF as wQ,MD as $Q,MH as jJ,MP as HQ,NC as wJ,NF as $J,NP as WQ,OF as UJ,OP as R,PI as I,QC as HJ,SG as t,SH as NJ,TC as WJ,TF as zJ,TG as OJ,UD as f,VG as y,_D as IJ,bE as PJ,bI as kJ,bK as gJ,cG as ZJ,eE as T,fI as LJ,gH as TJ,hC as tJ,hE as KJ,iI as SJ,mG as z,mI as xJ,mM as j,nF as qQ,nH as EJ,qI as fJ,rH as MJ,sG as b,uF as _J,uG as CJ,uH as oJ,wD as GQ,yH as RJ}from"./chunk-snm5q21k.js";import{$P as zQ,bQ as u,dQ as S}from"./chunk-aztre27e.js";var IX={};u(IX,{resource:()=>BJ,layer:()=>EQ,enabled:()=>OQ,Observability:()=>WX});var p={};u(p,{make:()=>IQ,layer:()=>ZX});var VQ=AJ.pipe(FJ,DJ((J)=>{if(lJ(J)&&J.reason._tag==="StatusCodeError"&&J.reason.response.status===429){let Q=HJ(J.reason.response.headers["retry-after"]).pipe(WJ(CJ),wJ(()=>5));return t(T(Q))}return t(T(1))})),sJ=E(function*(J){let Q=yield*jJ(),X=f(Q,b),Y=f(Q,UJ),$=fJ(Q),G=KJ(IJ(J.exportInterval),PJ),B=void 0,C=nJ(f(Q,pJ)).pipe(iJ(NJ(rJ,!1)),aJ({schedule:VQ,times:3})),V=vJ({"user-agent":`effect-opentelemetry-${J.label}/0.0.0`});if(J.headers)V=dJ(mJ(J.headers),V);let r=uJ(J.url,{headers:V}),O=[],s=OJ(()=>{if(B!==void 0&&X.currentTimeMillisUnsafe()<B)return y;else if(B!==void 0)B=void 0;let h=O;if(J.maxBatchSize!=="disabled"){if(O.length===0)return y;O=[]}return C.execute(cJ(r,J.body(h))).pipe(EJ,SJ(!1))}).pipe(MJ((h)=>{if(B!==void 0)return y;return B=X.currentTimeMillisUnsafe()+60000,O=[],yJ("Disabling exporter for 60 seconds",h)}),bJ({package:"@effect/opentelemetry",module:J.label}));return yield*zJ(Y,s.pipe(RJ,kJ,VJ(J.shutdownTimeout))),yield*hJ(G).pipe(TJ(s),LJ,xJ(Y)),{push(h){if(B!==void 0)return;if(O.push(h),J.maxBatchSize!=="disabled"&&O.length>=J.maxBatchSize)gJ($(s),Y)}}});var jQ=(J)=>{let Q=J.attributes?e(Object.entries(J.attributes)):[];if(Q.push({key:"service.name",value:{stringValue:J.serviceName}}),J.serviceVersion)Q.push({key:"service.version",value:{stringValue:J.serviceVersion}});return{attributes:Q,droppedAttributesCount:0}},JQ=E(function*(J){let Q={...yield*g(o(eJ(j,j)),"OTEL_RESOURCE_ATTRIBUTES"),...J?.attributes},X=J?.serviceName??Q["service.name"]??(yield*g(j,"OTEL_SERVICE_NAME"));delete Q["service.name"];let Y=J?.serviceVersion??Q["service.version"]??(yield*g(o(j),"OTEL_SERVICE_VERSION"));return delete Q["service.version"],jQ({serviceName:X,serviceVersion:Y,attributes:Q})},oJ),QQ=(J)=>{let Q=J.attributes.find((X)=>X.key==="service.name");if(!Q||!Q.value.stringValue)throw Error("Resource does not contain a service name");return Q.value.stringValue},e=(J)=>{let Q=[];for(let[X,Y]of J)Q.push({key:X,value:m(Y)});return Q},m=(J)=>{if(Array.isArray(J))return{arrayValue:{values:J.map(m)}};switch(typeof J){case"string":return{stringValue:J};case"bigint":return{intValue:Number(J)};case"number":return Number.isInteger(J)?{intValue:J}:{doubleValue:J};case"boolean":return{boolValue:J};default:return{stringValue:tJ(J)}}};var c={};u(c,{layerProtobuf:()=>YX,layerJson:()=>XX,OtlpSerialization:()=>M});var N={Varint:0,Fixed64:1,LengthDelimited:2,Fixed32:5},k=(J,Q)=>J<<3|Q,D=(J)=>{let Q=[],X=typeof J==="bigint"?J:BigInt(J);while(X>0x7fn)Q.push(Number(X&0x7fn)|128),X>>=7n;return Q.push(Number(X)),new Uint8Array(Q)};var kQ=(J)=>{let Q=new Uint8Array(8);return new DataView(Q.buffer).setBigUint64(0,J,!0),Q},LQ=(J)=>{let Q=new Uint8Array(4);return new DataView(Q.buffer).setUint32(0,J,!0),Q},SQ=(J)=>{let Q=new Uint8Array(8);return new DataView(Q.buffer).setFloat64(0,J,!0),Q},xQ=(J)=>new TextEncoder().encode(J),fQ=(J)=>{let Q=new Uint8Array(J.length/2);for(let X=0;X<J.length;X+=2)Q[X/2]=parseInt(J.slice(X,X+2),16);return Q},Z=(...J)=>{let Q=J.reduce(($,G)=>$+G.length,0),X=new Uint8Array(Q),Y=0;for(let $ of J)X.set($,Y),Y+=$.length;return X},q=(J,Q)=>Z(D(k(J,N.Varint)),D(Q));var JJ=(J,Q)=>q(J,Q?1:0),W=(J,Q)=>Z(D(k(J,N.Fixed64)),kQ(Q)),v=(J,Q)=>Z(D(k(J,N.Fixed32)),LQ(Q)),F=(J,Q)=>Z(D(k(J,N.Fixed64)),SQ(Q)),L=(J,Q)=>Z(D(k(J,N.LengthDelimited)),D(Q.length),Q),K=(J,Q)=>L(J,xQ(Q)),U=(J,Q)=>L(J,fQ(Q)),w=(J,Q)=>L(J,Q),_=(J,Q,X)=>Z(...Q.map((Y)=>w(J,X(Y))));var H=(J,Q)=>Q!==void 0&&Q!==""?K(J,Q):new Uint8Array(0);var QJ=(J)=>{if(J.stringValue!==void 0&&J.stringValue!==null)return K(1,J.stringValue);if(J.boolValue!==void 0&&J.boolValue!==null)return JJ(2,J.boolValue);if(J.intValue!==void 0&&J.intValue!==null)return q(3,BigInt(J.intValue));if(J.doubleValue!==void 0&&J.doubleValue!==null)return F(4,J.doubleValue);if(J.arrayValue!==void 0)return w(5,bQ(J.arrayValue));if(J.kvlistValue!==void 0)return w(6,gQ(J.kvlistValue));if(J.bytesValue!==void 0)return L(7,J.bytesValue);return new Uint8Array(0)},bQ=(J)=>_(1,J.values,QJ),gQ=(J)=>_(1,J.values,P),P=(J)=>Z(K(1,J.key),w(2,QJ(J.value))),XJ=(J)=>Z(K(1,J.name),H(2,J.version),J.attributes?_(3,J.attributes,P):new Uint8Array(0),J.droppedAttributesCount?q(4,J.droppedAttributesCount):new Uint8Array(0)),YJ=(J)=>Z(_(1,J.attributes,P),J.droppedAttributesCount>0?q(2,J.droppedAttributesCount):new Uint8Array(0));var mQ=(J)=>Z(H(2,J.message),q(3,J.code)),vQ=(J)=>Z(W(1,BigInt(J.timeUnixNano)),K(2,J.name),_(3,J.attributes,P),J.droppedAttributesCount>0?q(4,J.droppedAttributesCount):new Uint8Array(0)),dQ=(J)=>Z(U(1,J.traceId),U(2,J.spanId),H(3,J.traceState),_(4,J.attributes,P),J.droppedAttributesCount>0?q(5,J.droppedAttributesCount):new Uint8Array(0),J.flags!==void 0?v(6,J.flags):new Uint8Array(0)),lQ=(J)=>Z(U(1,J.traceId),U(2,J.spanId),H(3,J.traceState),J.parentSpanId!==void 0?U(4,J.parentSpanId):new Uint8Array(0),K(5,J.name),q(6,J.kind),W(7,BigInt(J.startTimeUnixNano)),W(8,BigInt(J.endTimeUnixNano)),_(9,J.attributes,P),J.droppedAttributesCount>0?q(10,J.droppedAttributesCount):new Uint8Array(0),_(11,J.events,vQ),J.droppedEventsCount>0?q(12,J.droppedEventsCount):new Uint8Array(0),_(13,J.links,dQ),J.droppedLinksCount>0?q(14,J.droppedLinksCount):new Uint8Array(0),w(15,mQ(J.status)),J.flags!==void 0?v(16,J.flags):new Uint8Array(0)),uQ=(J)=>Z(w(1,XJ(J.scope)),_(2,J.spans,lQ),H(3,J.schemaUrl)),cQ=(J)=>Z(w(1,YJ(J.resource)),_(2,J.scopeSpans,uQ),H(3,J.schemaUrl)),XQ=(J)=>_(1,J.resourceSpans,cQ);var YQ=(J)=>Z(W(2,BigInt(J.startTimeUnixNano)),W(3,BigInt(J.timeUnixNano)),J.asDouble!==void 0?F(4,J.asDouble):new Uint8Array(0),J.asInt!==void 0?W(6,BigInt(J.asInt)):new Uint8Array(0),_(7,J.attributes,P),J.flags!==void 0?q(8,J.flags):new Uint8Array(0)),pQ=(J)=>{let Q=Z(...J.bucketCounts.map((Y)=>W(6,BigInt(Y)))),X=Z(...J.explicitBounds.map((Y)=>F(7,Y)));return Z(W(2,BigInt(J.startTimeUnixNano)),W(3,BigInt(J.timeUnixNano)),W(4,BigInt(J.count)),J.sum!==void 0?F(5,J.sum):new Uint8Array(0),Q,X,_(9,J.attributes,P),J.flags!==void 0?q(10,J.flags):new Uint8Array(0),J.min!==void 0?F(11,J.min):new Uint8Array(0),J.max!==void 0?F(12,J.max):new Uint8Array(0))},iQ=(J)=>_(1,J.dataPoints,YQ),nQ=(J)=>Z(_(1,J.dataPoints,YQ),q(2,J.aggregationTemporality),JJ(3,J.isMonotonic)),aQ=(J)=>Z(_(1,J.dataPoints,pQ),q(2,J.aggregationTemporality)),rQ=(J)=>Z(K(1,J.name),H(2,J.description),H(3,J.unit),J.gauge!==void 0?w(5,iQ(J.gauge)):new Uint8Array(0),J.sum!==void 0?w(7,nQ(J.sum)):new Uint8Array(0),J.histogram!==void 0?w(9,aQ(J.histogram)):new Uint8Array(0)),sQ=(J)=>Z(w(1,XJ(J.scope)),_(2,J.metrics,rQ),H(3,J.schemaUrl)),tQ=(J)=>Z(w(1,YJ(J.resource)),_(2,J.scopeMetrics,sQ),H(3,J.schemaUrl)),ZQ=(J)=>_(1,J.resourceMetrics,tQ);var oQ=(J)=>Z(W(1,BigInt(J.timeUnixNano)),J.severityNumber!==void 0?q(2,J.severityNumber):new Uint8Array(0),H(3,J.severityText),J.body!==void 0?w(5,QJ(J.body)):new Uint8Array(0),_(6,J.attributes,P),J.droppedAttributesCount!==void 0&&J.droppedAttributesCount>0?q(7,J.droppedAttributesCount):new Uint8Array(0),J.flags!==void 0?v(8,J.flags):new Uint8Array(0),J.traceId!==void 0&&J.traceId!==""?U(9,J.traceId):new Uint8Array(0),J.spanId!==void 0&&J.spanId!==""?U(10,J.spanId):new Uint8Array(0),J.observedTimeUnixNano!==void 0?W(11,BigInt(J.observedTimeUnixNano)):new Uint8Array(0)),eQ=(J)=>Z(w(1,XJ(J.scope)),_(2,J.logRecords,oQ),H(3,J.schemaUrl)),JX=(J)=>Z(w(1,YJ(J.resource)),_(2,J.scopeLogs,eQ),H(3,J.schemaUrl)),_Q=(J)=>_(1,J.resourceLogs,JX);class M extends $Q()("effect/observability/OtlpSerialization"){}var XX=ZJ(M,{traces:(J)=>l(J),metrics:(J)=>l(J),logs:(J)=>l(J)}),YX=ZJ(M,{traces:(J)=>d(XQ(J),"application/x-protobuf"),metrics:(J)=>d(ZQ(J),"application/x-protobuf"),logs:(J)=>d(_Q(J),"application/x-protobuf")});var IQ=E(function*(J){let Q=yield*M,X=yield*JQ(J.resource),Y={name:QQ(X)},$=yield*sJ({label:"OtlpLogger",url:J.url,headers:J.headers,maxBatchSize:J.maxBatchSize??1000,exportInterval:J.exportInterval??T(1),body:(B)=>Q.logs({resourceLogs:[{resource:X,scopeLogs:[{scope:Y,logRecords:B}]}]}),shutdownTimeout:J.shutdownTimeout??T(3)}),G={excludeLogSpans:J.excludeLogSpans??!1,clock:yield*b};return HQ((B)=>{$.push(_X(B,G))})}),ZX=(J)=>WQ([IQ(J)],{mergeWithExisting:J.mergeWithExisting??!0}),_X=(J,Q)=>{let Y=Q.clock.currentTimeNanosUnsafe().toString(),$=J.date.getTime(),G=e(Object.entries(J.fiber.getRef(BQ)));if(G.push({key:"fiberId",value:{intValue:J.fiber.id}}),!Q.excludeLogSpans)for(let[V,r]of J.fiber.getRef(wQ))G.push({key:`logSpan.${V}`,value:{stringValue:`${$-r}ms`}});if(J.cause.reasons.length>0)G.push({key:"log.error",value:{stringValue:qQ(J.cause)}});let B=GQ(J.message),C={severityNumber:$X(J.logLevel),severityText:J.logLevel,timeUnixNano:Y,observedTimeUnixNano:Y,attributes:G,body:m(B.length===1?B[0]:B),droppedAttributesCount:0};if(J.fiber.currentSpan)C.traceId=J.fiber.currentSpan.traceId,C.spanId=J.fiber.currentSpan.spanId;return C},$X=(J)=>{switch(J){case"Trace":return A.SEVERITY_NUMBER_TRACE;case"Debug":return A.SEVERITY_NUMBER_DEBUG;case"Info":return A.SEVERITY_NUMBER_INFO;case"Warn":return A.SEVERITY_NUMBER_WARN;case"Error":return A.SEVERITY_NUMBER_ERROR;case"Fatal":return A.SEVERITY_NUMBER_FATAL;default:return A.SEVERITY_NUMBER_UNSPECIFIED}},A={SEVERITY_NUMBER_UNSPECIFIED:0,SEVERITY_NUMBER_TRACE:1,SEVERITY_NUMBER_TRACE2:2,SEVERITY_NUMBER_TRACE3:3,SEVERITY_NUMBER_TRACE4:4,SEVERITY_NUMBER_DEBUG:5,SEVERITY_NUMBER_DEBUG2:6,SEVERITY_NUMBER_DEBUG3:7,SEVERITY_NUMBER_DEBUG4:8,SEVERITY_NUMBER_INFO:9,SEVERITY_NUMBER_INFO2:10,SEVERITY_NUMBER_INFO3:11,SEVERITY_NUMBER_INFO4:12,SEVERITY_NUMBER_WARN:13,SEVERITY_NUMBER_WARN2:14,SEVERITY_NUMBER_WARN3:15,SEVERITY_NUMBER_WARN4:16,SEVERITY_NUMBER_ERROR:17,SEVERITY_NUMBER_ERROR2:18,SEVERITY_NUMBER_ERROR3:19,SEVERITY_NUMBER_ERROR4:20,SEVERITY_NUMBER_FATAL:21,SEVERITY_NUMBER_FATAL2:22,SEVERITY_NUMBER_FATAL3:23,SEVERITY_NUMBER_FATAL4:24};var UQ={};u(UQ,{logger:()=>n,layer:()=>qJ,create:()=>KQ});var GX=(J)=>J==="sessionID"?"session.id":J,PQ=(J)=>Object.fromEntries(Object.entries(J??{}).filter((Q)=>Q[1]!==void 0&&Q[1]!==null).map(([Q,X])=>[GX(Q),X])),qX=(J)=>{if(Array.isArray(J))return J.map((Q)=>String(Q)).join(" ");return J===void 0?"":String(J)},i=(J,Q,X,Y)=>{let $=PQ({...Q,...Y}),G=J(X);return Object.keys($).length?I.annotateLogs(G,$):G},n=R.make((J)=>{let Q=PQ(J.fiber.getRef($J.CurrentLogAnnotations)),X=J.date.getTime();for(let[B,C]of J.fiber.getRef($J.CurrentLogSpans))Q[`logSpan.${B}`]=`${X-C}ms`;if(J.cause.reasons.length>0)Q.cause=_J.pretty(J.cause);let Y=typeof Q.service==="string"?Q.service:void 0;if(Y)delete Q.service;let $=Y?GJ.create({service:Y}):GJ.Default,G=qX(J.message);switch(J.logLevel){case"Trace":case"Debug":return $.debug(G,Q);case"Warn":return $.warn(G,Q);case"Error":case"Fatal":return $.error(G,Q);default:return $.info(G,Q)}}),qJ=R.layer([n],{mergeWithExisting:!1}),KQ=(J={})=>({debug:(Q,X)=>i((Y)=>I.logDebug(Y),J,Q,X),info:(Q,X)=>i((Y)=>I.logInfo(Y),J,Q,X),warn:(Q,X)=>i((Y)=>I.logWarning(Y),J,Q,X),error:(Q,X)=>i((Y)=>I.logError(Y),J,Q,X),with:(Q)=>KQ({...J,...Q})});var a=x.OTEL_EXPORTER_OTLP_ENDPOINT,OQ=!!a,BX=crypto.randomUUID(),TQ=x.OTEL_EXPORTER_OTLP_HEADERS?x.OTEL_EXPORTER_OTLP_HEADERS.split(",").reduce((J,Q)=>{let[X,...Y]=Q.split("=");return J[X]=Y.join("="),J},{}):void 0;function BJ(){let J=FQ("main"),Q=(()=>{let X=process.env.OTEL_RESOURCE_ATTRIBUTES;if(!X)return{};try{return Object.fromEntries(X.split(",").map((Y)=>{let $=Y.indexOf("=");if($<1)throw Error("Invalid OTEL_RESOURCE_ATTRIBUTES entry");return[decodeURIComponent(Y.slice(0,$)),decodeURIComponent(Y.slice($+1))]}))}catch{return{}}})();return{serviceName:"qitqode",serviceVersion:CQ,attributes:{...Q,"deployment.environment.name":DQ,"qitqode.client":x.QITQODE_CLIENT,"qitqode.process_role":J.processRole,"qitqode.run_id":J.runID,"service.instance.id":BX}}}function wX(){return R.layer([n,p.make({url:`${a}/v1/logs`,resource:BJ(),headers:TQ})],{mergeWithExisting:!1}).pipe(z.provide(c.layerJson),z.provide(AQ.layer))}var HX=async()=>{let J=await import("./chunk-pekm54ce.js"),Q=await import("./chunk-89q1y7tc.js"),X=await import("./chunk-g7rjtehn.js"),{AsyncLocalStorageContextManager:Y}=await import("./chunk-srh4xvsj.js").then((m)=>zQ(m.default,1)),{context:$}=await import("./chunk-730a2d1k.js").then((m)=>zQ(m.default,1)),G=new Y;return G.enable(),$.setGlobalContextManager(G),J.layer(()=>({resource:BJ(),spanProcessor:new X.BatchSpanProcessor(new Q.OTLPTraceExporter({url:`${a}/v1/traces`,headers:TQ}))}))},EQ=!a?qJ:z.unwrap(I.gen(function*(){let J=yield*I.promise(HX);return z.mergeAll(J,wX())})),WX={enabled:OQ,layer:EQ};var aX=z.makeMemoMapUnsafe();
3
3
  export{qJ as ks,UQ as ls,EQ as ms,WX as ns,IX as os,aX as ps};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{of as c}from"./chunk-vn7nkrqb.js";import{nq as m}from"./chunk-m612agnk.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import{st as Q}from"./chunk-24xc0dvv.js";import{xu as p}from"./chunk-ebrt1me3.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-aztre27e.js";var f=p({service:"provider.qlex"}),n=Q.streamUrl(),s=Q.omniqueryBaseUrl()+"/runOrchestrated";class d extends Error{name="QlexNotLoggedInError";constructor(){super(Q.copy().notLoggedIn)}}class A extends Error{name="QlexInsufficientBalanceError";constructor(J){super(Q.copy().insufficientBalance(J))}}class I extends Error{name="QlexRateLimitError";constructor(){super(Q.copy().rateLimit)}}class v extends Error{name="QlexInvalidCredentialsError";constructor(J){super(Q.copy().invalidCredentials(J))}}class O extends Error{name="QlexGatewayError";constructor(J){super(Q.copy().gatewayUnavailable(J))}}var a=60000;function PJ(J){return Q.sanitizeUpstreamError(J)}class L extends Error{name="QlexStreamError";constructor(J){super(Q.copy().streamFailed(J))}}function y(J){return m(J)}var r=new Set(["coding","agent","research","review","chat"]);function t(J){if(J===void 0)return;if(typeof J==="string"&&r.has(J))return J;throw Error(`invalid Qortex posture: ${String(J)}`)}function o(J){if(J===void 0)return;let K=Array.isArray(J)?J:[J];if(K.every((V)=>typeof V==="string"&&/^[^/\s]+\/[^/\s]+$/.test(V)))return Array.isArray(J)?K:J;throw Error(`invalid Qortex directive registry key: ${String(J)}`)}function h(J){if(typeof J==="string")return J;if(Array.isArray(J))return J.map((K)=>{if(typeof K==="string")return K;if(K&&typeof K==="object"){let V=K;if(typeof V.text==="string")return V.text;if(typeof V.content==="string")return V.content}return""}).join("");if(J===void 0||J===null)return"";return String(J)}function e(J){if(!Array.isArray(J))return J;return J.map((K)=>{if(!K||typeof K!=="object")return K;let V=K;if(!("content"in V))return K;return{...V,content:h(V.content)}})}function JJ(J){if(!Array.isArray(J))return J;let K=(z)=>!!z&&typeof z==="object"&&z.role==="system",V=0;while(V<J.length&&K(J[V]))V++;if(V<=1)return J;let Z=J.slice(0,V),Y=Z.map((z)=>typeof z.content==="string"?z.content:String(z.content??"")).filter((z)=>z.length>0).join(`
2
+ import{of as c}from"./chunk-vn7nkrqb.js";import{nq as m}from"./chunk-m612agnk.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import{st as Q}from"./chunk-z8r65yw3.js";import{xu as p}from"./chunk-3szwfy7w.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-aztre27e.js";var f=p({service:"provider.qlex"}),n=Q.streamUrl(),s=Q.omniqueryBaseUrl()+"/runOrchestrated";class d extends Error{name="QlexNotLoggedInError";constructor(){super(Q.copy().notLoggedIn)}}class A extends Error{name="QlexInsufficientBalanceError";constructor(J){super(Q.copy().insufficientBalance(J))}}class I extends Error{name="QlexRateLimitError";constructor(){super(Q.copy().rateLimit)}}class v extends Error{name="QlexInvalidCredentialsError";constructor(J){super(Q.copy().invalidCredentials(J))}}class O extends Error{name="QlexGatewayError";constructor(J){super(Q.copy().gatewayUnavailable(J))}}var a=60000;function PJ(J){return Q.sanitizeUpstreamError(J)}class L extends Error{name="QlexStreamError";constructor(J){super(Q.copy().streamFailed(J))}}function y(J){return m(J)}var r=new Set(["coding","agent","research","review","chat"]);function t(J){if(J===void 0)return;if(typeof J==="string"&&r.has(J))return J;throw Error(`invalid Qortex posture: ${String(J)}`)}function o(J){if(J===void 0)return;let K=Array.isArray(J)?J:[J];if(K.every((V)=>typeof V==="string"&&/^[^/\s]+\/[^/\s]+$/.test(V)))return Array.isArray(J)?K:J;throw Error(`invalid Qortex directive registry key: ${String(J)}`)}function h(J){if(typeof J==="string")return J;if(Array.isArray(J))return J.map((K)=>{if(typeof K==="string")return K;if(K&&typeof K==="object"){let V=K;if(typeof V.text==="string")return V.text;if(typeof V.content==="string")return V.content}return""}).join("");if(J===void 0||J===null)return"";return String(J)}function e(J){if(!Array.isArray(J))return J;return J.map((K)=>{if(!K||typeof K!=="object")return K;let V=K;if(!("content"in V))return K;return{...V,content:h(V.content)}})}function JJ(J){if(!Array.isArray(J))return J;let K=(z)=>!!z&&typeof z==="object"&&z.role==="system",V=0;while(V<J.length&&K(J[V]))V++;if(V<=1)return J;let Z=J.slice(0,V),Y=Z.map((z)=>typeof z.content==="string"?z.content:String(z.content??"")).filter((z)=>z.length>0).join(`
3
3
 
4
4
  `);return[{...Z[0],role:"system",content:Y},...J.slice(V)]}var T="<tool_call>",B="</tool_call>";function KJ(J){if(!Array.isArray(J)||J.length===0)return;let K=J.map((V)=>{try{return JSON.stringify(V)}catch{return}}).filter((V)=>V!==void 0);if(K.length===0)return;return["# Tools","","You may call one or more functions to assist with the user query.","","You are provided with function signatures within <tools></tools> XML tags:","<tools>",...K,"</tools>","","For each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:","<tool_call>",'{"name": <function-name>, "arguments": <args-json-object>}',"</tool_call>","","Function results will be provided within <tool_response></tool_response> XML tags. Do not write <tool_response> blocks yourself.","Only use the functions declared above. Never invent function names, and never write out a function-call-like block in any other format."].join(`
5
5
  `)}function VJ(J){let K=J.function??{},V=typeof K.name==="string"?K.name:"",Z={};if(typeof K.arguments==="string")try{Z=JSON.parse(K.arguments)}catch{Z=K.arguments}else if(K.arguments!==void 0)Z=K.arguments;return`${T}