@qitqode/qitqode-android-arm64 0.1.35 → 0.1.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/{chunk-7311jry1.js → chunk-00sr2gwz.js} +2 -2
- package/bundle/{chunk-azhw650z.js → chunk-02xcb52z.js} +2 -2
- package/bundle/{chunk-gws1rn1v.js → chunk-08q55ya0.js} +1 -1
- package/bundle/chunk-092bx2yw.js +2 -0
- package/bundle/{chunk-xgr6jnd6.js → chunk-0g25z230.js} +1 -1
- package/bundle/chunk-0j6dhrew.js +2 -0
- package/bundle/chunk-0jrgk6vk.js +2 -0
- package/bundle/chunk-0qn52zsd.js +2 -0
- package/bundle/chunk-10accb7b.js +2 -0
- package/bundle/{chunk-t3eymzg1.js → chunk-132tcp2j.js} +2 -2
- package/bundle/chunk-13kpdfr7.js +2 -0
- package/bundle/chunk-15s8zwgf.js +2 -0
- package/bundle/{chunk-nj4d554m.js → chunk-1bx2sjn6.js} +1 -1
- package/bundle/chunk-1kgyfja6.js +2 -0
- package/bundle/{chunk-bv29k2pf.js → chunk-1mcsf4yb.js} +2 -2
- package/bundle/{chunk-kwx9ewe0.js → chunk-1wpjmwnh.js} +1 -1
- package/bundle/chunk-1yv5h8k4.js +2 -0
- package/bundle/chunk-24rw1br0.js +3 -0
- package/bundle/{chunk-snr44en9.js → chunk-25bp7pcm.js} +2 -2
- package/bundle/{chunk-kmcsz8yv.js → chunk-2dkrfc1s.js} +1 -1
- package/bundle/chunk-364ccew0.js +3 -0
- package/bundle/{chunk-aa8hymcv.js → chunk-37dvnent.js} +2 -2
- package/bundle/chunk-3bkdbqjj.js +2 -0
- package/bundle/chunk-3bnqw3xp.js +3 -0
- package/bundle/{chunk-08m0hkdz.js → chunk-3dr4469n.js} +1 -1
- package/bundle/{chunk-hv6eccx1.js → chunk-3gw6r3hf.js} +179 -179
- package/bundle/{chunk-n96tvjgj.js → chunk-3mepk08v.js} +2 -2
- package/bundle/chunk-3sz6gw10.js +3 -0
- package/bundle/chunk-41x11r2s.js +3 -0
- package/bundle/{chunk-xqdrr7xg.js → chunk-45mjcxqk.js} +1 -1
- package/bundle/{chunk-qrtc3etn.js → chunk-4fa390yr.js} +2 -2
- package/bundle/chunk-4gs87ghj.js +3 -0
- package/bundle/chunk-4kqdzdv5.js +3 -0
- package/bundle/{chunk-3k2b05fv.js → chunk-4sazy0nq.js} +1 -1
- package/bundle/chunk-4tbqsrsn.js +2 -0
- package/bundle/{chunk-ngccf7ga.js → chunk-52b1v7mn.js} +1 -1
- package/bundle/chunk-53kns5wy.js +2 -0
- package/bundle/{chunk-11v7vz3y.js → chunk-549ptbaj.js} +1 -1
- package/bundle/chunk-559ek1ym.js +2 -0
- package/bundle/{chunk-34p46th6.js → chunk-5bate758.js} +1 -1
- package/bundle/{chunk-kdcnder5.js → chunk-5kmfnkzv.js} +1 -1
- package/bundle/{chunk-w1n4rf6n.js → chunk-5pkg052s.js} +2 -2
- package/bundle/chunk-5yfzzmv0.js +2 -0
- package/bundle/{chunk-rsszcqxd.js → chunk-60qyqqxx.js} +1 -1
- package/bundle/{chunk-94pcpztx.js → chunk-64s7vfj7.js} +2 -2
- package/bundle/{chunk-bzgj60w4.js → chunk-6sfhbckv.js} +1 -1
- package/bundle/{chunk-8762ty72.js → chunk-70pb4kcm.js} +2 -2
- package/bundle/{chunk-04hvaaje.js → chunk-72zxassf.js} +1 -1
- package/bundle/{chunk-yz6898wy.js → chunk-73ckx171.js} +1 -1
- package/bundle/chunk-7cbj28fp.js +2 -0
- package/bundle/chunk-7dep7g7c.js +2 -0
- package/bundle/{chunk-gj0wt0cy.js → chunk-7fawtcnn.js} +1 -1
- package/bundle/{chunk-zfn0z4sh.js → chunk-7gbytqkn.js} +2 -2
- package/bundle/{chunk-x66ycpfs.js → chunk-7jhrxzjx.js} +2 -2
- package/bundle/{chunk-09pkckr1.js → chunk-7vftsy04.js} +1 -1
- package/bundle/{chunk-zfd70p01.js → chunk-8dxdeksr.js} +1 -1
- package/bundle/{chunk-6styp5dn.js → chunk-8fgamz4y.js} +1 -1
- package/bundle/{chunk-9qdr9t8c.js → chunk-8q6z6emx.js} +1 -1
- package/bundle/{chunk-4ttf9rjd.js → chunk-8r3410c2.js} +1 -1
- package/bundle/{chunk-3mzcr3fw.js → chunk-8tp4whyw.js} +1 -1
- package/bundle/chunk-8yn64y27.js +2 -0
- package/bundle/{chunk-41v0x1jk.js → chunk-8yr682pv.js} +2 -2
- package/bundle/chunk-8ywa7az5.js +2 -0
- package/bundle/chunk-8ywdddts.js +2 -0
- package/bundle/chunk-8zmreqxx.js +2 -0
- package/bundle/chunk-92zjark4.js +2 -0
- package/bundle/chunk-983rqajz.js +7 -0
- package/bundle/{chunk-kjyw00jp.js → chunk-9cw4cnz0.js} +1 -1
- package/bundle/{chunk-2swch6mx.js → chunk-9dh9bc9d.js} +1 -1
- package/bundle/{chunk-y437vyza.js → chunk-9fkmhmh6.js} +1 -1
- package/bundle/{chunk-7vd91wsd.js → chunk-9nk0ts0s.js} +1 -1
- package/bundle/{chunk-p9cnzxb8.js → chunk-9s4whpg1.js} +2 -2
- package/bundle/{chunk-yajd975f.js → chunk-9xvctnjr.js} +1 -1
- package/bundle/chunk-9yakc5yv.js +28 -0
- package/bundle/{chunk-4wxxyrxn.js → chunk-9zre5e54.js} +1 -1
- package/bundle/chunk-a42q5mx4.js +3 -0
- package/bundle/{chunk-yt3f3j35.js → chunk-a9y27zd2.js} +1 -1
- package/bundle/{chunk-mex0fe9s.js → chunk-acyj91wq.js} +1 -1
- package/bundle/chunk-aq28ejhv.js +2 -0
- package/bundle/{chunk-pkc4ddw1.js → chunk-atpzz901.js} +1 -1
- package/bundle/chunk-ax1y4699.js +2 -0
- package/bundle/{chunk-dctj3c22.js → chunk-b0jh0rby.js} +2 -2
- package/bundle/chunk-b0x888w9.js +2 -0
- package/bundle/chunk-b10px5g4.js +2 -0
- package/bundle/chunk-b1qhpxee.js +2 -0
- package/bundle/chunk-b4ysd5b4.js +9 -0
- package/bundle/chunk-bcs2gvmp.js +2 -0
- package/bundle/{chunk-7mxt5b0h.js → chunk-bjcb9kt0.js} +1 -1
- package/bundle/{chunk-67d5d8mr.js → chunk-bnz0mxak.js} +1 -1
- package/bundle/{chunk-er38zew1.js → chunk-brh35yt5.js} +2 -2
- package/bundle/chunk-bs020a3x.js +2 -0
- package/bundle/{chunk-7eexey82.js → chunk-c72jajx9.js} +1 -1
- package/bundle/{chunk-81trveht.js → chunk-cagk1sjd.js} +1 -1
- package/bundle/{chunk-1byd3wma.js → chunk-cdh26622.js} +2 -2
- package/bundle/chunk-cjxcnhmq.js +14 -0
- package/bundle/{chunk-zddknkw7.js → chunk-cx0j6mpq.js} +1 -1
- package/bundle/{chunk-zh3fny3z.js → chunk-cx7p4ezk.js} +2 -2
- package/bundle/chunk-d0xs3j5h.js +2 -0
- package/bundle/{chunk-pxmhe36r.js → chunk-d1rn44wz.js} +1 -1
- package/bundle/chunk-d72rty3t.js +2 -0
- package/bundle/{chunk-0c6ep9mc.js → chunk-d93z6hrn.js} +1 -1
- package/bundle/{chunk-seghf5fc.js → chunk-dgx4rq86.js} +1 -1
- package/bundle/{chunk-qzj6027k.js → chunk-dh1h513y.js} +1 -1
- package/bundle/chunk-dj951pms.js +2 -0
- package/bundle/chunk-dp6zktka.js +2 -0
- package/bundle/{chunk-ba3h1pzs.js → chunk-dshnn54c.js} +1 -1
- package/bundle/{chunk-73myw3bj.js → chunk-dt899wbf.js} +2 -2
- package/bundle/chunk-dvqdtdza.js +2 -0
- package/bundle/{chunk-6ynxf3q7.js → chunk-dvxk6mr6.js} +2 -2
- package/bundle/chunk-dx7h5r8j.js +2 -0
- package/bundle/{chunk-bnss5dkk.js → chunk-dykqn0nj.js} +2 -2
- package/bundle/chunk-e03tgfpb.js +8 -0
- package/bundle/chunk-e07dbha4.js +2 -0
- package/bundle/chunk-e88wd9ex.js +2 -0
- package/bundle/{chunk-y9zstzed.js → chunk-eaqfnwdj.js} +1 -1
- package/bundle/chunk-ebabnv33.js +3 -0
- package/bundle/chunk-ebdpg3cn.js +2 -0
- package/bundle/{chunk-8vg4fmg2.js → chunk-ebkztnpf.js} +180 -178
- package/bundle/chunk-ec7pznsp.js +2 -0
- package/bundle/chunk-et7kz7kx.js +2 -0
- package/bundle/{chunk-kfmz2p27.js → chunk-ev3a2sxv.js} +2 -2
- package/bundle/{chunk-d00c1k9w.js → chunk-ewpzqnj4.js} +1 -1
- package/bundle/chunk-eyc6tb5h.js +2 -0
- package/bundle/chunk-eywryd3k.js +2 -0
- package/bundle/chunk-eze57bty.js +2 -0
- package/bundle/{chunk-qddt2gcs.js → chunk-ezrskm25.js} +1 -1
- package/bundle/chunk-f36ctnbp.js +3 -0
- package/bundle/{chunk-9ayxg9mq.js → chunk-f77nxt23.js} +2 -2
- package/bundle/chunk-fa47vzfc.js +2 -0
- package/bundle/chunk-fe397ph0.js +2 -0
- package/bundle/chunk-fjm9kstr.js +5 -0
- package/bundle/{chunk-exmw8jfa.js → chunk-fmxm4kaj.js} +2 -2
- package/bundle/chunk-fr75ytdr.js +2 -0
- package/bundle/chunk-fw2tnbt6.js +2 -0
- package/bundle/chunk-fwr2qgqb.js +2 -0
- package/bundle/chunk-g204pt98.js +2 -0
- package/bundle/chunk-g5prcvq2.js +14 -0
- package/bundle/{chunk-ggydr1ze.js → chunk-g794ey6w.js} +1 -1
- package/bundle/chunk-gcgmwqhh.js +2 -0
- package/bundle/{chunk-rmve21dh.js → chunk-gg7bg3ek.js} +1 -1
- package/bundle/{chunk-9x25d115.js → chunk-gkj4a27z.js} +1 -1
- package/bundle/chunk-gvtjxg0d.js +2 -0
- package/bundle/chunk-gw36mrg4.js +2 -0
- package/bundle/{chunk-z8gdmvgg.js → chunk-gwfx7tx7.js} +2 -2
- package/bundle/{chunk-q8hd01j7.js → chunk-gxmxx8jb.js} +1 -1
- package/bundle/{chunk-tge53d52.js → chunk-h1kg35mn.js} +1 -1
- package/bundle/chunk-h36qec67.js +2 -0
- package/bundle/{chunk-0msqaywp.js → chunk-h7w35n7w.js} +1 -1
- package/bundle/chunk-h9gtymfm.js +2 -0
- package/bundle/chunk-h9qn35pn.js +2 -0
- package/bundle/{chunk-mr8j7rc6.js → chunk-hb9mc5f9.js} +1 -1
- package/bundle/{chunk-5a7fs1hg.js → chunk-hbh2034m.js} +1 -1
- package/bundle/{chunk-df2aswz3.js → chunk-hcy77w6t.js} +1 -1
- package/bundle/{chunk-6a7c7wnf.js → chunk-hgsykghj.js} +2 -2
- package/bundle/chunk-hhjkezfz.js +2 -0
- package/bundle/chunk-hnz570f9.js +3 -0
- package/bundle/{chunk-tbgczapt.js → chunk-htkwc2se.js} +2 -2
- package/bundle/chunk-j21dnncc.js +4 -0
- package/bundle/{chunk-1yt5rsew.js → chunk-j63fkt6n.js} +1 -1
- package/bundle/chunk-ja18tvc7.js +2 -0
- package/bundle/{chunk-03xppy47.js → chunk-jcjaw7tk.js} +2 -2
- package/bundle/{chunk-jkh6eg7d.js → chunk-jf6ry79j.js} +4 -4
- package/bundle/{chunk-ke7n9t5p.js → chunk-jgz1a29w.js} +3 -3
- package/bundle/{chunk-ebcdxmdd.js → chunk-jngchw38.js} +1 -1
- package/bundle/{chunk-j5ymkhry.js → chunk-jqn27885.js} +1 -1
- package/bundle/chunk-jr2q5295.js +3 -0
- package/bundle/{chunk-hj3ddt53.js → chunk-jts0dma5.js} +2 -2
- package/bundle/chunk-jw16f6t0.js +4 -0
- package/bundle/chunk-jxg15t11.js +2 -0
- package/bundle/{chunk-7hm0c2yg.js → chunk-kqhh2pm9.js} +1 -1
- package/bundle/{chunk-0h8wdch6.js → chunk-kt0ej3nq.js} +1 -1
- package/bundle/chunk-kwzawx7r.js +2 -0
- package/bundle/{chunk-n6msxne8.js → chunk-kx2dp8ch.js} +1 -1
- package/bundle/chunk-m0mek3es.js +2 -0
- package/bundle/chunk-m31d2n6h.js +2 -0
- package/bundle/{chunk-egn55fa2.js → chunk-mcc5ynma.js} +3 -3
- package/bundle/{chunk-md8161zd.js → chunk-mdzzcrf9.js} +2 -2
- package/bundle/{chunk-gckgaqqr.js → chunk-mqtqcc10.js} +2 -2
- package/bundle/{chunk-ynwkr3yh.js → chunk-mvnxwwe7.js} +2 -2
- package/bundle/{chunk-6a77w77q.js → chunk-mvsrzvc4.js} +4 -4
- package/bundle/{chunk-b4knxpqh.js → chunk-mw2hr4pd.js} +1 -1
- package/bundle/{chunk-vszbqv24.js → chunk-mzbr0m2v.js} +1 -1
- package/bundle/{chunk-bj00xk8k.js → chunk-n0trgp1c.js} +2 -2
- package/bundle/chunk-n14qktbg.js +2 -0
- package/bundle/{chunk-yjk6zv2z.js → chunk-n2ygpy76.js} +1 -1
- package/bundle/{chunk-54wh8b12.js → chunk-n7xgfm5x.js} +2 -2
- package/bundle/{chunk-06k6egt2.js → chunk-neqy8j4n.js} +1 -1
- package/bundle/{chunk-nj61v4n7.js → chunk-njkserae.js} +1 -1
- package/bundle/{chunk-n6gtdx5h.js → chunk-nq495be3.js} +1 -1
- package/bundle/chunk-nr4q9fv7.js +2 -0
- package/bundle/{chunk-p3qkexpk.js → chunk-nsjp44fp.js} +1 -1
- package/bundle/chunk-nzzsj54n.js +2 -0
- package/bundle/chunk-p19qfw59.js +2 -0
- package/bundle/chunk-p2yxj9s4.js +2 -0
- package/bundle/{chunk-1dtzxt2w.js → chunk-p3rp99na.js} +1 -1
- package/bundle/chunk-p8czsxp0.js +3 -0
- package/bundle/chunk-p8k48st6.js +5 -0
- package/bundle/{chunk-79agp7v3.js → chunk-p8kpqyxb.js} +2 -2
- package/bundle/{chunk-9fxkh84w.js → chunk-p9zrk16q.js} +1 -1
- package/bundle/{chunk-6ged58yw.js → chunk-pmv8yr8c.js} +2 -2
- package/bundle/{chunk-ee23d2nz.js → chunk-pnq1h5az.js} +2 -2
- package/bundle/chunk-pq3qwxa8.js +2 -0
- package/bundle/{chunk-wfd5h6ax.js → chunk-pqnbdygz.js} +2 -2
- package/bundle/chunk-ps9p14y6.js +2 -0
- package/bundle/{chunk-zfcp509b.js → chunk-pxx2hz0g.js} +2 -2
- package/bundle/{chunk-txbwmwxj.js → chunk-q7rt76qw.js} +1 -1
- package/bundle/{chunk-rq4w0by4.js → chunk-q81m4m9z.js} +1 -1
- package/bundle/chunk-qagc6v17.js +2 -0
- package/bundle/{chunk-mq6jn47r.js → chunk-qb35hqm4.js} +1 -1
- package/bundle/chunk-qc0zhbhm.js +2 -0
- package/bundle/{chunk-keveg5gx.js → chunk-qdcf1ay5.js} +2 -2
- package/bundle/chunk-qp9y0g73.js +3 -0
- package/bundle/chunk-qpd0gab8.js +2 -0
- package/bundle/{chunk-axdzm75h.js → chunk-qqne79vp.js} +2 -2
- package/bundle/{chunk-g4gjz7sq.js → chunk-qs4wef8c.js} +1 -1
- package/bundle/chunk-r0ewmh6f.js +2 -0
- package/bundle/chunk-r3df289z.js +2 -0
- package/bundle/{chunk-by855es0.js → chunk-r58gzg6m.js} +1 -1
- package/bundle/{chunk-fmq0m4k5.js → chunk-r6ndvzd0.js} +1 -1
- package/bundle/chunk-r78kfhvz.js +2 -0
- package/bundle/{chunk-dyv2hqvc.js → chunk-rcyhqkv5.js} +1 -1
- package/bundle/{chunk-t2vm08v6.js → chunk-rd4x4tsv.js} +1 -1
- package/bundle/chunk-rebsz3bj.js +2 -0
- package/bundle/{chunk-yp5bypsp.js → chunk-rexdr63q.js} +2 -2
- package/bundle/{chunk-1me21qdc.js → chunk-rgxy4ngt.js} +1 -1
- package/bundle/chunk-rph5xswc.js +2 -0
- package/bundle/{chunk-dcndy4sr.js → chunk-rph9zj24.js} +1 -1
- package/bundle/chunk-rqmvj7f4.js +3 -0
- package/bundle/{chunk-ryfqwsft.js → chunk-rrd0jf5m.js} +1 -1
- package/bundle/{chunk-mpygdb5a.js → chunk-s8mghr5a.js} +2 -2
- package/bundle/chunk-schtpyjs.js +2 -0
- package/bundle/{chunk-nmehsm3w.js → chunk-shwjjrj8.js} +1 -1
- package/bundle/{chunk-08f4khsw.js → chunk-snt1kefv.js} +3 -3
- package/bundle/{chunk-s8hq6trz.js → chunk-srxx88nb.js} +1 -1
- package/bundle/{chunk-gy0wm7e1.js → chunk-std2bgv7.js} +2 -2
- package/bundle/{chunk-dffhkd30.js → chunk-swcgsrbj.js} +1 -1
- package/bundle/chunk-sy3n0qhc.js +800 -0
- package/bundle/{chunk-wgk7ynt3.js → chunk-t01bhw5h.js} +3 -3
- package/bundle/chunk-t0jjes17.js +2 -0
- package/bundle/{chunk-yprmd5b7.js → chunk-t5tfppwv.js} +2 -2
- package/bundle/chunk-t8rke5fr.js +8 -0
- package/bundle/chunk-tabcpx7t.js +4 -0
- package/bundle/{chunk-gmzrvxnv.js → chunk-tdmn21z0.js} +2 -2
- package/bundle/{chunk-71zw0qhf.js → chunk-tdxbm1nd.js} +1 -1
- package/bundle/{chunk-p825vsjy.js → chunk-te5tfq79.js} +1 -1
- package/bundle/chunk-tf4xwqz7.js +2 -0
- package/bundle/{chunk-fg35hwa0.js → chunk-tgd5ctnt.js} +2 -2
- package/bundle/chunk-tqazneg6.js +2 -0
- package/bundle/{chunk-qa2j0qmy.js → chunk-txqc7543.js} +2 -2
- package/bundle/chunk-tzg4z74d.js +2 -0
- package/bundle/{chunk-a3a1trap.js → chunk-v3x5nrc4.js} +2 -2
- package/bundle/chunk-v8dd6tyn.js +2 -0
- package/bundle/chunk-v8ksjgc3.js +2 -0
- package/bundle/chunk-v8vcwx23.js +2 -0
- package/bundle/chunk-vc4e6xc4.js +10 -0
- package/bundle/chunk-vcrakhgy.js +3 -0
- package/bundle/{chunk-a1hzeejj.js → chunk-vdpd4akk.js} +2 -2
- package/bundle/{chunk-6p7yg5sr.js → chunk-vftqwdpg.js} +1 -1
- package/bundle/chunk-vg41rtdy.js +2 -0
- package/bundle/{chunk-r0k21apr.js → chunk-vgaxv70x.js} +2 -2
- package/bundle/{chunk-nkk4fyqf.js → chunk-vgnddhdj.js} +1 -1
- package/bundle/{chunk-xd3xc1vv.js → chunk-vm58fkrv.js} +1 -1
- package/bundle/{chunk-qg2vk5fw.js → chunk-vsys768k.js} +1 -1
- package/bundle/{chunk-s4qtphwx.js → chunk-w03fdrxe.js} +1 -1
- package/bundle/chunk-w1ypf53m.js +3 -0
- package/bundle/chunk-w24660y4.js +3 -0
- package/bundle/{chunk-z1ay3qd0.js → chunk-w3bmf3zz.js} +1 -1
- package/bundle/{chunk-5e4fxy99.js → chunk-w57j3pgz.js} +82 -82
- package/bundle/{chunk-vsr8mnj6.js → chunk-w5940jxm.js} +1 -1
- package/bundle/chunk-w6rf2knb.js +2 -0
- package/bundle/chunk-w9pdvcf9.js +3 -0
- package/bundle/{chunk-yk97q51d.js → chunk-wev34grp.js} +2 -2
- package/bundle/chunk-wh7r96t3.js +2 -0
- package/bundle/{chunk-1pg6pv0m.js → chunk-wm77svwm.js} +1 -1
- package/bundle/chunk-wnjqaxze.js +2 -0
- package/bundle/{chunk-qkjdr337.js → chunk-x6rr6ss1.js} +1 -1
- package/bundle/{chunk-bbzztav6.js → chunk-xdacgfba.js} +1 -1
- package/bundle/{chunk-6p94fpbn.js → chunk-xdjwapwy.js} +2 -2
- package/bundle/chunk-xfz698bh.js +2 -0
- package/bundle/{chunk-zwnhf4z1.js → chunk-xhbb8b5g.js} +1 -1
- package/bundle/chunk-xqwvx3qq.js +2 -0
- package/bundle/chunk-xxj3sgd5.js +2 -0
- package/bundle/chunk-xyjehgzm.js +3 -0
- package/bundle/{chunk-cs38g1bx.js → chunk-y0ydzdfc.js} +1 -1
- package/bundle/{chunk-wvf5q2hz.js → chunk-y1b2h15z.js} +1 -1
- package/bundle/{chunk-1gf116rg.js → chunk-yacccwf6.js} +1 -1
- package/bundle/chunk-ydc6ypjt.js +77 -0
- package/bundle/{chunk-dhqaqeq6.js → chunk-yeq7b87a.js} +1 -1
- package/bundle/chunk-yfp9y71y.js +2 -0
- package/bundle/chunk-yg9c1v8v.js +2 -0
- package/bundle/{chunk-e6xnynaz.js → chunk-yha554nm.js} +2 -2
- package/bundle/{chunk-rv1stdvb.js → chunk-yj6rbe9p.js} +2 -2
- package/bundle/chunk-yjjh339w.js +2 -0
- package/bundle/{chunk-sjw56r2n.js → chunk-yjp0btmq.js} +3 -3
- package/bundle/{chunk-c5pb87yf.js → chunk-ymtcm4xd.js} +1 -1
- package/bundle/chunk-yt6vd7a5.js +2 -0
- package/bundle/{chunk-ssk8tkwd.js → chunk-yw9pfqxt.js} +1 -1
- package/bundle/{chunk-g6cyhxwg.js → chunk-yykjvt7f.js} +2 -2
- package/bundle/{chunk-sfes6pp1.js → chunk-yzh4rmrt.js} +1 -1
- package/bundle/chunk-yzq3c3dq.js +2 -0
- package/bundle/{chunk-prh3c44x.js → chunk-yzwgvjzd.js} +1 -1
- package/bundle/chunk-z1j25911.js +2 -0
- package/bundle/{chunk-rkwrjphh.js → chunk-z1rshv6g.js} +1 -1
- package/bundle/chunk-z29ahthm.js +2 -0
- package/bundle/{chunk-jgjnz82k.js → chunk-zaan8jk6.js} +1 -1
- package/bundle/{chunk-6gb65bv1.js → chunk-zbqzm65q.js} +1 -1
- package/bundle/{chunk-bk4phk66.js → chunk-zesbm9k1.js} +1 -1
- package/bundle/{chunk-c6vfwjg4.js → chunk-zfcfyagt.js} +1 -1
- package/bundle/{chunk-ywkvq7zb.js → chunk-zfnbk5gy.js} +1 -1
- package/bundle/chunk-zgre4gc2.js +2 -0
- package/bundle/{chunk-z7430qxg.js → chunk-zrmx397j.js} +1 -1
- package/bundle/chunk-zthkjx33.js +2 -0
- package/bundle/chunk-zxddasg8.js +2 -0
- package/bundle/index.js +3 -3
- package/bundle/parser.worker.js +2 -2
- package/bundle/worker.js +1 -1
- package/package.json +1 -1
- package/bundle/chunk-0442cmw2.js +0 -2
- package/bundle/chunk-085pvqr4.js +0 -2
- package/bundle/chunk-0x5jn813.js +0 -2
- package/bundle/chunk-11g2rpv8.js +0 -3
- package/bundle/chunk-28t9akfn.js +0 -2
- package/bundle/chunk-2h1fcqvf.js +0 -2
- package/bundle/chunk-2kens6wh.js +0 -2
- package/bundle/chunk-2scyp9ns.js +0 -2
- package/bundle/chunk-2tw58kwb.js +0 -2
- package/bundle/chunk-2vxx0tax.js +0 -2
- package/bundle/chunk-2ybt3p5z.js +0 -2
- package/bundle/chunk-2zpkw3ge.js +0 -2
- package/bundle/chunk-31g86yn6.js +0 -2
- package/bundle/chunk-397be2x0.js +0 -2
- package/bundle/chunk-3c78nkgn.js +0 -2
- package/bundle/chunk-3d91q2qd.js +0 -2
- package/bundle/chunk-43yv7tz1.js +0 -2
- package/bundle/chunk-496ajawz.js +0 -2
- package/bundle/chunk-499gp5g5.js +0 -2
- package/bundle/chunk-4hzm14xt.js +0 -3
- package/bundle/chunk-4xw14sed.js +0 -2
- package/bundle/chunk-536naqqv.js +0 -2
- package/bundle/chunk-57nvmhjq.js +0 -2
- package/bundle/chunk-5he3d7cy.js +0 -2
- package/bundle/chunk-5qr286w8.js +0 -2
- package/bundle/chunk-606vpgc4.js +0 -4
- package/bundle/chunk-6a1skxcj.js +0 -3
- package/bundle/chunk-6cj7cn5x.js +0 -2
- package/bundle/chunk-6hybp2mt.js +0 -2
- package/bundle/chunk-6y423jax.js +0 -3
- package/bundle/chunk-72ghkgcn.js +0 -2
- package/bundle/chunk-741teh8k.js +0 -2
- package/bundle/chunk-7b3wx6kn.js +0 -2
- package/bundle/chunk-891yevv2.js +0 -2
- package/bundle/chunk-8c1ypgw5.js +0 -3
- package/bundle/chunk-8ktgy41r.js +0 -2
- package/bundle/chunk-8q73cjyj.js +0 -2
- package/bundle/chunk-8rt63jbm.js +0 -2
- package/bundle/chunk-8y623qdx.js +0 -2
- package/bundle/chunk-921vn745.js +0 -2
- package/bundle/chunk-945ebhte.js +0 -2
- package/bundle/chunk-9548cc0c.js +0 -2
- package/bundle/chunk-9yrypq1r.js +0 -14
- package/bundle/chunk-a0rp7gh4.js +0 -77
- package/bundle/chunk-a48t0g95.js +0 -3
- package/bundle/chunk-a949at1c.js +0 -3
- package/bundle/chunk-akk84fnc.js +0 -2
- package/bundle/chunk-aw7j7brm.js +0 -2
- package/bundle/chunk-b6cybdj3.js +0 -2
- package/bundle/chunk-c5fa8cb1.js +0 -2
- package/bundle/chunk-ca4r31we.js +0 -2
- package/bundle/chunk-ckbwdrm3.js +0 -2
- package/bundle/chunk-cqj21rfj.js +0 -3
- package/bundle/chunk-cz3h5n1v.js +0 -3
- package/bundle/chunk-dhc6e1t7.js +0 -2
- package/bundle/chunk-dk6rbqvp.js +0 -2
- package/bundle/chunk-dk975etf.js +0 -3
- package/bundle/chunk-dwajajaq.js +0 -2
- package/bundle/chunk-dxcrggvq.js +0 -2
- package/bundle/chunk-dyt3n3fe.js +0 -2
- package/bundle/chunk-e74efvj2.js +0 -800
- package/bundle/chunk-e7ah0e61.js +0 -2
- package/bundle/chunk-e7v9trve.js +0 -11
- package/bundle/chunk-e8ws454m.js +0 -2
- package/bundle/chunk-efndtzby.js +0 -2
- package/bundle/chunk-eq2pepce.js +0 -2
- package/bundle/chunk-eva3nqqb.js +0 -14
- package/bundle/chunk-f3bnn9rf.js +0 -8
- package/bundle/chunk-f693s9vn.js +0 -2
- package/bundle/chunk-ftepqwyq.js +0 -2
- package/bundle/chunk-g18ax6yp.js +0 -2
- package/bundle/chunk-gadyp6mb.js +0 -2
- package/bundle/chunk-ge8315te.js +0 -5
- package/bundle/chunk-gk28ffhg.js +0 -2
- package/bundle/chunk-gpfc4z4v.js +0 -2
- package/bundle/chunk-gqvg02zp.js +0 -2
- package/bundle/chunk-gsyt2sv7.js +0 -2
- package/bundle/chunk-h3k1dk9m.js +0 -2
- package/bundle/chunk-h8c3dcqt.js +0 -2
- package/bundle/chunk-hfq11w4h.js +0 -2
- package/bundle/chunk-hw5qyht3.js +0 -3
- package/bundle/chunk-hwf58w1k.js +0 -2
- package/bundle/chunk-jyczz3yh.js +0 -8
- package/bundle/chunk-k8k8z6b7.js +0 -3
- package/bundle/chunk-kk3ve911.js +0 -2
- package/bundle/chunk-kv72hxkp.js +0 -3
- package/bundle/chunk-m4j7jyrd.js +0 -3
- package/bundle/chunk-mf3sm0pk.js +0 -2
- package/bundle/chunk-mkng9ykt.js +0 -2
- package/bundle/chunk-mxvypy3s.js +0 -2
- package/bundle/chunk-n5ypgxrn.js +0 -28
- package/bundle/chunk-n9xw9kqc.js +0 -2
- package/bundle/chunk-nc4wbc89.js +0 -2
- package/bundle/chunk-ngk67rt3.js +0 -3
- package/bundle/chunk-nj2bbtmx.js +0 -2
- package/bundle/chunk-nr1g57b2.js +0 -2
- package/bundle/chunk-p0ahbpxv.js +0 -2
- package/bundle/chunk-p7y8z5rd.js +0 -2
- package/bundle/chunk-pt26gerr.js +0 -2
- package/bundle/chunk-qkk1as5n.js +0 -2
- package/bundle/chunk-qsm9xw87.js +0 -2
- package/bundle/chunk-qw980y8h.js +0 -2
- package/bundle/chunk-r2w3gr8d.js +0 -2
- package/bundle/chunk-r5bqcpkz.js +0 -2
- package/bundle/chunk-r67c858b.js +0 -2
- package/bundle/chunk-r9fvfkee.js +0 -2
- package/bundle/chunk-rcn0dhbj.js +0 -2
- package/bundle/chunk-rq47pn3r.js +0 -2
- package/bundle/chunk-rvt1tdy8.js +0 -2
- package/bundle/chunk-ry7q8xn6.js +0 -2
- package/bundle/chunk-s27xvrft.js +0 -2
- package/bundle/chunk-s5nde2kd.js +0 -5
- package/bundle/chunk-scy39p6q.js +0 -2
- package/bundle/chunk-srpe3v8e.js +0 -9
- package/bundle/chunk-st5jaszz.js +0 -3
- package/bundle/chunk-t5qamf96.js +0 -2
- package/bundle/chunk-t9mz17gb.js +0 -3
- package/bundle/chunk-tns5x4w0.js +0 -3
- package/bundle/chunk-ttevj0pj.js +0 -2
- package/bundle/chunk-v7c54cyj.js +0 -2
- package/bundle/chunk-vgefaens.js +0 -2
- package/bundle/chunk-vv59b4re.js +0 -2
- package/bundle/chunk-vwqy7n3g.js +0 -2
- package/bundle/chunk-vysa9hp4.js +0 -7
- package/bundle/chunk-wn076jwj.js +0 -2
- package/bundle/chunk-x0m1qye9.js +0 -2
- package/bundle/chunk-xvntsbb1.js +0 -3
- package/bundle/chunk-y70aachh.js +0 -2
- package/bundle/chunk-yqk58hf6.js +0 -3
- package/bundle/chunk-ysgxt83y.js +0 -2
- package/bundle/chunk-ze9e6nt3.js +0 -3
- package/bundle/chunk-znzan00b.js +0 -3
- package/bundle/chunk-zrp55k47.js +0 -2
- package/bundle/chunk-zwdnh860.js +0 -2
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{As as d,Bs as l,Ds as uJ,Es as cJ,Hs as pJ,Is as iJ,Js as nJ,Ks as aJ,Ls as rJ,Ns as AQ,us as mJ,vs as vJ,ws as dJ,xs as lJ}from"./chunk-xdjwapwy.js";import{Rt as CQ,St as DQ,ou as FQ}from"./chunk-qp9y0g73.js";import{Bu as x,Ku as GJ}from"./chunk-j21dnncc.js";import{$J as gJ,DH as RJ,EN as j,FH as VJ,GI as E,IH as hJ,JG as DJ,KG as FJ,LG as AJ,LI as yJ,MI as bJ,OF as BQ,PF as wQ,PP as g,QP as eJ,RD as GQ,RH as jJ,SF as $J,TF as UJ,TP as HQ,UC as wJ,UI as I,UP as WQ,VN as o,VP as R,XC as HJ,XG as t,XH as NJ,YF as zJ,YG as OJ,_C as WJ,_G as y,aD as $Q,dE as IJ,fC as tJ,gE as PJ,gI as kJ,hG as ZJ,iD as f,jE as T,kI as LJ,lH as TJ,mE as KJ,nI as SJ,rG as z,rI as xJ,sF as qQ,sH as EJ,vI as fJ,wH as MJ,xG as b,zF as _J,zG as CJ,zH as oJ}from"./chunk-ydc6ypjt.js";import{gQ as zQ,iQ as u,kQ as S}from"./chunk-4sazy0nq.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-tdxbm1nd.js"),Q=await import("./chunk-zxddasg8.js"),X=await import("./chunk-3bkdbqjj.js"),{AsyncLocalStorageContextManager:Y}=await import("./chunk-yzwgvjzd.js").then((m)=>zQ(m.default,1)),{context:$}=await import("./chunk-wnjqaxze.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
|
+
export{qJ as os,UQ as ps,EQ as qs,WX as rs,IX as ss,aX as ts};
|
|
@@ -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-sjw56r2n.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,Kp as hn}from"./chunk-keveg5gx.js";import{$p as Yi}from"./chunk-xqdrr7xg.js";import{aq as Jo}from"./chunk-axdzm75h.js";import{cs as Xn,ds as ro,es as Nn,fs as Hi,gs as Wi,is as Ki}from"./chunk-er38zew1.js";import{js as Si}from"./chunk-dk975etf.js";import{pt as eo}from"./chunk-kv72hxkp.js";import{du as un,nu as dn,ou as nn,tt as Wo,xu as V}from"./chunk-tns5x4w0.js";import{Ju as di,Mu as wo,Nu as c,Ru as go}from"./chunk-e7v9trve.js";import{Tu as j}from"./chunk-m4j7jyrd.js";import{IA as Tn,QA as Cn,cB as Kn}from"./chunk-wfd5h6ax.js";import{AF as kn,AO as vo,HF as sn,OI as r,TC as wn,XF as Ai,YD as Qn,bK as Ln,lG as h,oO as N,tF as Eo,zP as Oi}from"./chunk-a0rp7gh4.js";import{aQ as On}from"./chunk-3k2b05fv.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{gm as no,hm as Vi,im as oo,jm as ci,lm as $i,mm as Qi}from"./chunk-yjp0btmq.js";import{$m as qr,$n as Gt,Am as Br,An as No,Ao as ht,Bm as Dr,Bn as To,Bo as ni,Cm as Ir,Cn as lo,Co as oi,Dm as Lr,Dn as Ao,Do as ri,Em as Gr,En as Oo,Eo as ti,Fm as Mr,Fn as st,Fo as ii,Gm as xr,Gn as $o,Go as ei,Hm as Cr,Hn as Qo,Ho as mi,Im as Jr,In as Bo,Io as yi,Jm as Hr,Jn as pt,Jo as ao,Km as Kr,Kn as Do,Ko as fi,Lm as Rr,Ln as _t,Lo as gi,Mm as Sr,Mn as Io,Mo as ui,Nm as Er,Nn as Nt,Om as Wr,On as Tt,Pm as Pr,Pn as lt,Qm as Ur,Qn as At,Rm as Zr,Rn as Ot,Ro as Zi,Sm as vr,Sn as dt,Tm as Xr,Tn as Lo,Um as Yr,Un as Go,Vm as H,Vn as $t,Wm as zr,Wn as Qt,Xm as kr,Xn as Bt,Ym as Vr,Yn as Dt,Zm as cr,Zn as It,_m as wr,_n as Lt,an as Fr,ao as Mt,bn as ar,bo as xt,cn as jr,co as Ct,dn as br,do as Jt,en as hr,eo as Ht,fn as nt,fo as Kt,gn as ot,go as Rt,hn as rt,ho as St,in as tt,io as Et,jn as it,jo as Wt,kn as et,ko as Pt,ln as mt,lo as Ut,mn as yt,mo as Zt,nm as pr,nn as ft,no as vt,om as _r,on as gt,oo as Xt,pm as En,pn as a,po as Yt,qm as Wn,qn as Q,qo as zt,rm as Nr,rn as fn,ro as kt,sm as Tr,sn as yn,so as Vt,tm as lr,tn as Yo,to as ct,un as ut,uo as wt,vm as Ar,vn as X,vo as qt,wm as Or,wn as so,wo as Ft,xm as dr,xn as Pn,xo as at,ym as $r,yn as po,yo as jt,zm as Qr,zn as _o,zo as bt}from"./chunk-1bx2sjn6.js";import{Ap as hn,wp as bn}from"./chunk-qdcf1ay5.js";import{Bp as Yi}from"./chunk-45mjcxqk.js";import{Cp as Jo}from"./chunk-qqne79vp.js";import{hs as Xn,is as ro,js as Nn,ks as Hi,ls as Wi,ns as Ki}from"./chunk-brh35yt5.js";import{os as Si}from"./chunk-vcrakhgy.js";import{pt as un}from"./chunk-7dep7g7c.js";import{Ot as eo}from"./chunk-3sz6gw10.js";import{St as Wo}from"./chunk-qp9y0g73.js";import{Bu as nn,Ku as V}from"./chunk-j21dnncc.js";import{Nu as di,Qu as wo,Ru as c,Vu as go,_u as dn}from"./chunk-vc4e6xc4.js";import{$u as j}from"./chunk-hnz570f9.js";import{QA as Tn,YA as Cn,kB as Kn}from"./chunk-pqnbdygz.js";import{$C as wn,GF as kn,HP as N,NF as sn,UI as r,XL as Oi,YK as vo,aK as Ln,bG as Ai,nD as Qn,rG as h,zF as Eo}from"./chunk-ydc6ypjt.js";import{iQ as On}from"./chunk-4sazy0nq.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
|
-
`).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
|
|
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 Fl,si as Gl,Zn as Hl,mn as Il,x as Jl,gn as Kl,fo as Ll,zo as Ml,ko as Nl,Vo as Ol,co as Pl,qo as Ql,uo as Rl,In as Sl,Hn as Tl,Xo as Ul,ai as Vl,q as Wl,Co as Xl,Ti as Yl,se as Zl,xi as _l,Te as $l,on as am,Yn as bm,Le as cm,Pi as dm,Ui as em};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
function K(q){let j=!1,z=!1,B,C=new Promise((b)=>{B=b}),D=(b)=>{let g=b;return!!g&&(g.properties?.sessionID===q.sessionID||g.properties?.part?.sessionID===q.sessionID)},E=(b)=>{let g=b;return!!g&&g.type==="session.status"&&g.properties?.sessionID===q.sessionID&&g.properties?.status?.type==="idle"},G=async()=>{if(j)return;let b;try{b=await q.query()}catch{return}if(j||!z)return;if(!b||b.type==="idle")A()},H=q.intervalMs??750,J=setInterval(()=>{G().catch(()=>{})},H),A=()=>{if(j)return;j=!0,clearInterval(J),B()};return{markStarted(){z=!0},onEvent(b){if(j)return;if(D(b))z=!0;if(E(b))A()},get done(){return j},completion:C,stop(){A()}}}
|
|
3
|
-
export{K as
|
|
3
|
+
export{K as M};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{Ql as s,Rl as t,Sl as u,Ul as v,Vl as w}from"./chunk-vdpd4akk.js";import"./chunk-yjp0btmq.js";import{An as g,Bn as h,Cn as i,Dn as j,En as k,Gn as l,Hn as m,In as n,Kn as o,Mn as p,Tn as q,Un as r,Vm as a,vn as b,wn as c,xn as d,yn as e,zn as f}from"./chunk-1bx2sjn6.js";import"./chunk-qdcf1ay5.js";import"./chunk-45mjcxqk.js";import"./chunk-qqne79vp.js";import"./chunk-brh35yt5.js";import"./chunk-vcrakhgy.js";import"./chunk-xdjwapwy.js";import"./chunk-7dep7g7c.js";import"./chunk-tabcpx7t.js";import"./chunk-cx7p4ezk.js";import"./chunk-p8kpqyxb.js";import"./chunk-3sz6gw10.js";import"./chunk-qp9y0g73.js";import"./chunk-xyjehgzm.js";import"./chunk-j21dnncc.js";import"./chunk-vc4e6xc4.js";import"./chunk-hnz570f9.js";import"./chunk-tdmn21z0.js";import"./chunk-s8mghr5a.js";import"./chunk-pqnbdygz.js";import"./chunk-ydc6ypjt.js";import"./chunk-4sazy0nq.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,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{Ae as ee}from"./chunk-8yr682pv.js";import{hQ as Z,kQ as L}from"./chunk-4sazy0nq.js";var Te=Z((le)=>{var $=ee(),R=L("https"),Q=L("stream"),N=L("http2");function D(e){let t=e&&typeof e==="object"&&"reason"in e?e.reason:void 0;if(t){if(t instanceof Error){let s=Error("Request aborted");return s.name="AbortError",s.cause=t,s}let o=Error(String(t));return o.name="AbortError",o}let n=Error("Request aborted");return n.name="AbortError",n}var te=["ECONNRESET","EPIPE","ETIMEDOUT"],V=(e)=>{let t={};for(let n in e){let o=e[n];t[n]=Array.isArray(o)?o.join(","):o}return t},d={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:(e)=>clearTimeout(e)},F=1000,oe=(e,t,n=0)=>{if(!n)return-1;let o=(s)=>{let r=d.setTimeout(()=>{e.destroy(),t(Object.assign(Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${n} ms.`),{name:"TimeoutError"}))},n-s),c=(u)=>{if(u?.connecting)u.on("connect",()=>{d.clearTimeout(r)});else d.clearTimeout(r)};if(e.socket)c(e.socket);else e.on("socket",c)};if(n<2000)return o(0),0;return d.setTimeout(o.bind(null,F),F)},ne=(e,t,n=0,o,s)=>{if(n)return d.setTimeout(()=>{let r=`@smithy/node-http-handler - [${o?"ERROR":"WARN"}] a request has exceeded the configured ${n} ms requestTimeout.`;if(o){let c=Object.assign(Error(r),{name:"TimeoutError",code:"ETIMEDOUT"});e.destroy(c),t(c)}else r+=" Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.",s?.warn?.(r)},n);return-1},se=3000,re=(e,{keepAlive:t,keepAliveMsecs:n},o=se)=>{if(t!==!0)return-1;let s=()=>{if(e.socket)e.socket.setKeepAlive(t,n||0);else e.on("socket",(r)=>{r.setKeepAlive(t,n||0)})};if(o===0)return s(),0;return d.setTimeout(s,o)},W=3000,ie=(e,t,n=0)=>{let o=(s)=>{let r=n-s,c=()=>{e.destroy(),t(Object.assign(Error(`@smithy/node-http-handler - the request socket timed out after ${n} ms of inactivity (configured by client requestHandler).`),{name:"TimeoutError"}))};if(e.socket)e.socket.setTimeout(r,c),e.on("close",()=>e.socket?.removeListener("timeout",c));else e.setTimeout(r,c)};if(0<n&&n<6000)return o(0),0;return d.setTimeout(o.bind(null,n===0?0:W),W)},j=6000;async function K(e,t,n=j,o=!1){let s=t.headers,r=s?s.Expect||s.expect:void 0,c=-1,u=!0;if(!o&&r==="100-continue")u=await Promise.race([new Promise((f)=>{c=Number(d.setTimeout(()=>f(!0),Math.max(j,n)))}),new Promise((f)=>{e.on("continue",()=>{d.clearTimeout(c),f(!0)}),e.on("response",()=>{d.clearTimeout(c),f(!1)}),e.on("error",()=>{d.clearTimeout(c),f(!1)})})]);if(u)ce(e,t.body)}function ce(e,t){if(t instanceof Q.Readable){t.pipe(e);return}if(t){let n=Buffer.isBuffer(t);if(n||typeof t==="string"){if(n&&t.byteLength===0)e.end();else e.end(t);return}let s=t;if(typeof s==="object"&&s.buffer&&typeof s.byteOffset==="number"&&typeof s.byteLength==="number"){e.end(Buffer.from(s.buffer,s.byteOffset,s.byteLength));return}e.end(Buffer.from(t));return}e.end()}var ae=0,_=void 0,q=void 0;class H{config;configProvider;socketWarningTimestamp=0;externalAgent=!1;metadata={handlerProtocol:"http/1.1"};static create(e){if(typeof e?.handle==="function")return e;return new H(e)}static checkSocketUsage(e,t,n=console){let{sockets:o,requests:s,maxSockets:r}=e;if(typeof r!=="number"||r===1/0)return t;let c=15000;if(Date.now()-c<t)return t;if(o&&s)for(let u in o){let f=o[u]?.length??0,l=s[u]?.length??0;if(f>=r&&l>=2*r)return n?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${f} and ${l} additional requests are enqueued.
|
|
3
3
|
See https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html
|
|
4
4
|
or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`),Date.now()}return t}constructor(e){this.configProvider=new Promise((t,n)=>{if(typeof e==="function")e().then((o)=>{t(this.resolveDefaultConfig(o))}).catch(n);else t(this.resolveDefaultConfig(e))})}destroy(){this.config?.httpAgent?.destroy(),this.config?.httpsAgent?.destroy()}async handle(e,{abortSignal:t,requestTimeout:n}={}){if(!this.config)this.config=await this.configProvider;let o=this.config,s=e.protocol==="https:";if(!s&&!this.config.httpAgent)this.config.httpAgent=await this.config.httpAgentProvider();return new Promise((r,c)=>{let u=void 0,f=-1,l=-1,m=-1,p=-1,b=-1,T=()=>{d.clearTimeout(f),d.clearTimeout(l),d.clearTimeout(m),d.clearTimeout(p),d.clearTimeout(b)},O=async(i)=>{await u,T(),r(i)},y=async(i)=>{await u,T(),c(i)};if(t?.aborted){let i=D(t);y(i);return}let x=e.headers,U=x?(x.Expect??x.expect)==="100-continue":!1,C=s?o.httpsAgent:o.httpAgent;if(U&&!this.externalAgent)C=new(s?R.Agent:_)({keepAlive:!1,maxSockets:1/0});f=d.setTimeout(()=>{this.socketWarningTimestamp=H.checkSocketUsage(C,this.socketWarningTimestamp,o.logger)},o.socketAcquisitionWarningTimeout??(o.requestTimeout??2000)+(o.connectionTimeout??1000));let P=e.query?$.buildQueryString(e.query):"",S=void 0;if(e.username!=null||e.password!=null){let i=e.username??"",a=e.password??"";S=`${i}:${a}`}let v=e.path;if(P)v+=`?${P}`;if(e.fragment)v+=`#${e.fragment}`;let E=e.hostname??"";if(E[0]==="["&&E.endsWith("]"))E=e.hostname.slice(1,-1);else E=e.hostname;let A={headers:e.headers,host:E,method:e.method,path:v,port:e.port,agent:C,auth:S},h=(s?R.request:q)(A,(i)=>{let a=new $.HttpResponse({statusCode:i.statusCode||-1,reason:i.statusMessage,headers:V(i.headers),body:i});O({response:a})});if(h.on("error",(i)=>{if(te.includes(i.code))y(Object.assign(i,{name:"TimeoutError"}));else y(i)}),t){let i=()=>{h.destroy();let a=D(t);y(a)};if(typeof t.addEventListener==="function"){let a=t;a.addEventListener("abort",i,{once:!0}),h.once("close",()=>a.removeEventListener("abort",i))}else t.onabort=i}let k=n??o.requestTimeout;l=oe(h,y,o.connectionTimeout),m=ne(h,y,k,o.throwOnRequestTimeout,o.logger??console),p=ie(h,y,o.socketTimeout);let w=A.agent;if(typeof w==="object"&&"keepAlive"in w)b=re(h,{keepAlive:w.keepAlive,keepAliveMsecs:w.keepAliveMsecs});u=K(h,e,k,this.externalAgent).catch((i)=>{return T(),c(i)})})}updateHttpClientConfig(e,t){this.config=void 0,this.configProvider=this.configProvider.then((n)=>{return{...n,[e]:t}})}httpHandlerConfigs(){return this.config??{}}resolveDefaultConfig(e){let{requestTimeout:t,connectionTimeout:n,socketTimeout:o,socketAcquisitionWarningTimeout:s,httpAgent:r,httpsAgent:c,throwOnRequestTimeout:u,logger:f}=e||{},l=!0,m=50;return{connectionTimeout:n,requestTimeout:t,socketTimeout:o,socketAcquisitionWarningTimeout:s,throwOnRequestTimeout:u,httpAgentProvider:async()=>{let p=await import("http"),{Agent:b,request:T}=p.default??p;if(q=T,_=b,r instanceof _||typeof r?.destroy==="function")return this.externalAgent=!0,r;return new _({keepAlive:!0,maxSockets:50,...r})},httpsAgent:(()=>{if(c instanceof R.Agent||typeof c?.destroy==="function")return this.externalAgent=!0,c;return new R.Agent({keepAlive:!0,maxSockets:50,...c})})(),logger:f}}}var ue=new Uint16Array(1);class I{id=ue[0]++;total=0;max=0;session;refs=0;constructor(e){e.unref(),this.session=e}retain(){if(this.session.destroyed)throw Error("@smithy/node-http-handler - cannot acquire reference to destroyed session.");this.refs+=1,this.total+=1,this.max=Math.max(this.refs,this.max),this.session.ref()}free(){if(this.session.destroyed)return;if(this.refs-=1,this.refs===0)this.session.unref();if(this.refs<0)throw Error("@smithy/node-http-handler - ClientHttp2Session refcount at zero, cannot decrement.")}deref(){return this.session}close(){if(!this.session.closed)this.session.close()}destroy(){if(this.refs=0,!this.session.destroyed)this.session.destroy()}useCount(){return this.refs}}class J{sessions=[];maxConcurrency=0;constructor(e){this.sessions=(e??[]).map((t)=>new I(t))}poll(){let e=!1;for(let t of this.sessions){if(t.deref().destroyed){e=!0;continue}if(!this.maxConcurrency||t.useCount()<this.maxConcurrency)return t}if(e){for(let t of this.sessions)if(t.deref().destroyed)this.remove(t)}}offerLast(e){this.sessions.push(e)}remove(e){let t=this.sessions.indexOf(e);if(t>-1)this.sessions.splice(t,1)}[Symbol.iterator](){return this.sessions[Symbol.iterator]()}setMaxConcurrency(e){this.maxConcurrency=e}destroy(e){this.remove(e),e.destroy()}}class G{config;connectOptions;connectionPools=new Map;constructor(e){if(this.config=e,this.config.maxConcurrency&&this.config.maxConcurrency<=0)throw RangeError("maxConcurrency must be greater than zero.")}lease(e,t){let n=this.getUrlString(e),o=this.getPool(n);if(!this.config.disableConcurrency&&!t.isEventStream){let f=o.poll();if(f)return f.retain(),f}let s=new I(this.connect(n)),r=s.deref();if(this.config.maxConcurrency)r.settings({maxConcurrentStreams:this.config.maxConcurrency},(f)=>{if(f)throw Error("Fail to set maxConcurrentStreams to "+this.config.maxConcurrency+"when creating new session for "+e.destination.toString())});let c=()=>{this.removeFromPoolAndClose(n,s)},u=()=>{this.removeFromPoolAndCheckedDestroy(n,s)};if(r.on("goaway",c),r.on("error",u),r.on("frameError",u),r.on("close",u),t.requestTimeout)r.setTimeout(t.requestTimeout,u);return o.offerLast(s),s.retain(),s}release(e,t){t.free()}createIsolatedSession(e,t){let n=this.getUrlString(e),o=new I(this.connect(n)),s=o.deref();s.settings({maxConcurrentStreams:1});let r=()=>{o.destroy()};if(s.on("error",r),s.on("frameError",r),s.on("close",r),t.requestTimeout)s.setTimeout(t.requestTimeout,r);return o.retain(),o}destroy(){for(let[e,t]of this.connectionPools){for(let n of[...t])n.destroy();this.connectionPools.delete(e)}}setMaxConcurrentStreams(e){if(e&&e<=0)throw RangeError("maxConcurrentStreams must be greater than zero.");this.config.maxConcurrency=e;for(let t of this.connectionPools.values())t.setMaxConcurrency(e)}setDisableConcurrentStreams(e){this.config.disableConcurrency=e}setNodeHttp2ConnectOptions(e){this.connectOptions=e}debug(){let e={};for(let[t,n]of this.connectionPools){let o=[];for(let s of n)o.push({id:s.id,active:s.useCount(),maxConcurrent:s.max,totalRequests:s.total});e[t]={sessions:o}}return e}removeFromPoolAndClose(e,t){this.connectionPools.get(e)?.remove(t),t.close()}removeFromPoolAndCheckedDestroy(e,t){this.connectionPools.get(e)?.remove(t),t.destroy()}getPool(e){if(!this.connectionPools.has(e)){let t=new J;if(this.config.maxConcurrency)t.setMaxConcurrency(this.config.maxConcurrency);this.connectionPools.set(e,t)}return this.connectionPools.get(e)}getUrlString(e){return e.destination.toString()}connect(e){return this.connectOptions===void 0?N.connect(e):N.connect(e,this.connectOptions)}}var{constants:z}=N;class B{config;configProvider;metadata={handlerProtocol:"h2"};connectionManager=new G({});static create(e){if(typeof e?.handle==="function")return e;return new B(e)}constructor(e){this.configProvider=new Promise((t,n)=>{if(typeof e==="function")e().then((o)=>{t(o||{})}).catch(n);else t(e||{})})}destroy(){this.connectionManager.destroy()}async handle(e,{abortSignal:t,requestTimeout:n,isEventStream:o}={}){if(!this.config){this.config=await this.configProvider;let{disableConcurrentStreams:f,maxConcurrentStreams:l,nodeHttp2ConnectOptions:m}=this.config;if(this.connectionManager.setDisableConcurrentStreams(f??!1),l)this.connectionManager.setMaxConcurrentStreams(l);if(m)this.connectionManager.setNodeHttp2ConnectOptions(m)}let{requestTimeout:s,disableConcurrentStreams:r}=this.config,c=r||o,u=n??s;return new Promise((f,l)=>{let m=!1,p=void 0,b=async(a)=>{await p,f(a)},T=async(a)=>{await p,l(a)};if(t?.aborted){m=!0;let a=D(t);T(a);return}let{hostname:O,method:y,port:x,protocol:U,query:C}=e,P="";if(e.username!=null||e.password!=null){let a=e.username??"",g=e.password??"";P=`${a}:${g}@`}let S=`${U}//${P}${O}${x?`:${x}`:""}`,v={destination:new URL(S)},E={requestTimeout:this.config?.sessionTimeout,isEventStream:o},A=c?this.connectionManager.createIsolatedSession(v,E):this.connectionManager.lease(v,E),M=A.deref(),h=(a)=>{if(c)A.destroy();m=!0,T(a)},k=C?$.buildQueryString(C):"",w=e.path;if(k)w+=`?${k}`;if(e.fragment)w+=`#${e.fragment}`;let i=M.request({...e.headers,[z.HTTP2_HEADER_PATH]:w,[z.HTTP2_HEADER_METHOD]:y});if(u)i.setTimeout(u,()=>{i.close();let a=Error(`Stream timed out because of no activity for ${u} ms`);a.name="TimeoutError",h(a)});if(t){let a=()=>{i.close();let g=D(t);h(g)};if(typeof t.addEventListener==="function"){let g=t;g.addEventListener("abort",a,{once:!0}),i.once("close",()=>g.removeEventListener("abort",a))}else t.onabort=a}i.on("frameError",(a,g,Y)=>{h(Error(`Frame type id ${a} in stream id ${Y} has failed with code ${g}.`))}),i.on("error",h),i.on("aborted",()=>{h(Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${i.rstCode}.`))}),i.on("response",(a)=>{let g=new $.HttpResponse({statusCode:a[":status"]??-1,headers:V(a),body:i});if(m=!0,b({response:g}),c)M.close()}),i.on("close",()=>{if(c)A.destroy();else this.connectionManager.release(v,A);if(!m)h(Error("Unexpected error: http2 request did not get a response"))}),p=K(i,e,u)})}updateHttpClientConfig(e,t){this.config=void 0,this.configProvider=this.configProvider.then((n)=>{return{...n,[e]:t}})}httpHandlerConfigs(){return this.config??{}}}class X extends Q.Writable{bufferedBytes=[];_write(e,t,n){this.bufferedBytes.push(e),n()}}var fe=(e)=>{if(de(e))return he(e);return new Promise((t,n)=>{let o=new X;e.pipe(o),e.on("error",(s)=>{o.end(),n(s)}),o.on("error",n),o.on("finish",function(){let s=new Uint8Array(Buffer.concat(this.bufferedBytes));t(s)})})},de=(e)=>typeof ReadableStream==="function"&&e instanceof ReadableStream;async function he(e){let t=[],n=e.getReader(),o=!1,s=0;while(!o){let{done:u,value:f}=await n.read();if(f)t.push(f),s+=f.length;o=u}let r=new Uint8Array(s),c=0;for(let u of t)r.set(u,c),c+=u.length;return r}le.DEFAULT_REQUEST_TIMEOUT=ae;le.NodeHttp2Handler=B;le.NodeHttpHandler=H;le.streamCollector=fe});
|
|
5
|
-
export{Te as
|
|
5
|
+
export{Te as we};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{Be as u,Ce as f,De as _}from"./chunk-cdh26622.js";import{Ee as z,Ge as C,Ke as U,Le as I,Ne as v,Qe as b,Ze as R,_e as T,bf as S,df as h,ff as k}from"./chunk-b0jh0rby.js";import"./chunk-1wpjmwnh.js";import"./chunk-cqtkxwd8.js";import"./chunk-ymtcm4xd.js";import{xv as V}from"./chunk-tdmn21z0.js";import"./chunk-s8mghr5a.js";import"./chunk-4sazy0nq.js";var m=class{constructor(j,G){this.modelId=j,this.config=G,this.specificationVersion="v3",this.maxImagesPerCall=1}get provider(){return this.config.provider}async doGenerate({prompt:j,n:G,size:P,aspectRatio:W,seed:N,providerOptions:K,headers:Y,abortSignal:X,files:Q,mask:q}){var F,Z,J,A,D;let $=[],B=(J=(Z=(F=this.config._internal)==null?void 0:F.currentDate)==null?void 0:Z.call(F))!=null?J:new Date;if(Q!=null&&Q.length>0){let{value:y,responseHeaders:c}=await T({url:this.getEditUrl(),headers:z(this.config.headers(),Y),formData:U({model:this.modelId,prompt:j,image:await Promise.all(Q.map((H)=>w(H))),mask:q!=null?await w(q):void 0,n:G,size:P,...(A=K.deepinfra)!=null?A:{}},{useArrayBrackets:!1}),failedResponseHandler:S({errorSchema:t,errorToMessage:(H)=>{var x,M;return(M=(x=H.error)==null?void 0:x.message)!=null?M:"Unknown error"}}),successfulResponseHandler:h(d),abortSignal:X,fetch:this.config.fetch});return{images:y.data.map((H)=>H.b64_json),warnings:$,response:{timestamp:B,modelId:this.modelId,headers:c}}}let E=P==null?void 0:P.split("x"),{value:L,responseHeaders:O}=await R({url:`${this.config.baseURL}/${this.modelId}`,headers:z(this.config.headers(),Y),body:{prompt:j,num_images:G,...W&&{aspect_ratio:W},...E&&{width:E[0],height:E[1]},...N!=null&&{seed:N},...(D=K.deepinfra)!=null?D:{}},failedResponseHandler:S({errorSchema:g,errorToMessage:(y)=>y.detail.error}),successfulResponseHandler:h(p),abortSignal:X,fetch:this.config.fetch});return{images:L.images.map((y)=>y.replace(/^data:image\/\w+;base64,/,"")),warnings:$,response:{timestamp:B,modelId:this.modelId,headers:O}}}getEditUrl(){return`${this.config.baseURL.replace("/inference","/openai")}/images/edits`}},g=V.object({detail:V.object({error:V.string()})}),p=V.object({images:V.array(V.string())}),t=V.object({error:V.object({message:V.string()}).optional()}),d=V.object({data:V.array(V.object({b64_json:V.string()}))});async function w(j){if(j.type==="url")return I(j.url);let G=j.data instanceof Uint8Array?j.data:C(j.data);return new Blob([G],{type:j.mediaType})}var l=class extends u{constructor(j,G){super(j,G)}fixUsageForGeminiModels(j){var G,P;if(!j||!((G=j.completion_tokens_details)==null?void 0:G.reasoning_tokens))return j;let W=(P=j.completion_tokens)!=null?P:0,N=j.completion_tokens_details.reasoning_tokens;if(N>W){let K=W+N;return{...j,completion_tokens:K,total_tokens:j.total_tokens!=null?j.total_tokens+N:void 0}}return j}async doGenerate(j){var G,P,W,N,K,Y,X;let Q=await super.doGenerate(j);if((G=Q.usage)==null?void 0:G.raw){let q=this.fixUsageForGeminiModels(Q.usage.raw);if(q!==Q.usage.raw){let F=(P=q.prompt_tokens)!=null?P:0,Z=(W=q.completion_tokens)!=null?W:0,J=(K=(N=q.prompt_tokens_details)==null?void 0:N.cached_tokens)!=null?K:0,A=(X=(Y=q.completion_tokens_details)==null?void 0:Y.reasoning_tokens)!=null?X:0;return{...Q,usage:{inputTokens:{total:F,noCache:F-J,cacheRead:J,cacheWrite:void 0},outputTokens:{total:Z,text:Z-A,reasoning:A},raw:q}}}}return Q}async doStream(j){let G=await super.doStream(j),P=G.stream,W=this.fixUsageForGeminiModels.bind(this),N=new ReadableStream({async start(K){var Y,X,Q,q,F,Z,J;let A=P.getReader();try{while(!0){let{done:D,value:$}=await A.read();if(D)break;if($.type==="finish"&&((Y=$.usage)==null?void 0:Y.raw)){let B=W($.usage.raw);if(B!==$.usage.raw){let E=(X=B.prompt_tokens)!=null?X:0,L=(Q=B.completion_tokens)!=null?Q:0,O=(F=(q=B.prompt_tokens_details)==null?void 0:q.cached_tokens)!=null?F:0,y=(J=(Z=B.completion_tokens_details)==null?void 0:Z.reasoning_tokens)!=null?J:0;K.enqueue({...$,usage:{inputTokens:{total:E,noCache:E-O,cacheRead:O,cacheWrite:void 0},outputTokens:{total:L,text:L-y,reasoning:y},raw:B}})}else K.enqueue($)}else K.enqueue($)}K.close()}catch(D){K.error(D)}}});return{...G,stream:N}}},n="2.0.41";function i(j={}){var G;let P=k((G=j.baseURL)!=null?G:"https://api.deepinfra.com/v1"),W=()=>v({Authorization:`Bearer ${b({apiKey:j.apiKey,environmentVariableName:"DEEPINFRA_API_KEY",description:"DeepInfra's API key"})}`,...j.headers},`ai-sdk/deepinfra/${n}`),N=(F)=>({provider:`deepinfra.${F}`,url:({path:Z})=>`${P}/openai${Z}`,headers:W,fetch:j.fetch}),K=(F)=>{return new l(F,N("chat"))},Y=(F)=>new f(F,N("completion")),X=(F)=>new _(F,N("embedding")),Q=(F)=>new m(F,{...N("image"),baseURL:P?`${P}/inference`:"https://api.deepinfra.com/v1/inference"}),q=(F)=>K(F);return q.specificationVersion="v3",q.completionModel=Y,q.chatModel=K,q.image=Q,q.imageModel=Q,q.languageModel=K,q.embeddingModel=X,q.textEmbeddingModel=X,q}var jj=i();export{jj as deepinfra,i as createDeepInfra,n as VERSION};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
var f={"language.en":"English","language.zh":"\u7B80\u4F53\u4E2D\u6587","language.zht":"\u7E41\u9AD4\u4E2D\u6587","language.ko":"\uD55C\uAD6D\uC5B4","language.de":"Deutsch","language.es":"Espa\xF1ol","language.fr":"Fran\xE7ais","language.da":"Dansk","language.ja":"\u65E5\u672C\u8A9E","language.pl":"Polski","language.ru":"\u0420\u0443\u0441\u0441\u043A\u0438\u0439","language.ar":"\u0627\u0644\u0639\u0631\u0628\u064A\u0629","language.no":"Norsk","language.br":"Portugu\xEAs (Brasil)","language.pt":"Portugu\xEAs","language.bs":"Bosanski","language.th":"\u0E44\u0E17\u0E22","language.tr":"T\xFCrk\xE7e","tui.prompt.placeholder.normal":"\u8F93\u5165\u6D88\u606F...(\u8F93\u5165/\u5524\u8D77\u547D\u4EE4)","tui.prompt.placeholder.shell":'\u6267\u884C\u547D\u4EE4\u2026\u2026 "{{example}}"',"tui.prompt.ghost":"{{prediction}} (\u6309 Tab \u91C7\u7EB3)","tui.home.placeholder.example.todo":"\u4FEE\u590D\u4EE3\u7801\u5E93\u4E2D\u7684 TODO","tui.home.placeholder.example.stack":"\u8FD9\u4E2A\u9879\u76EE\u7528\u4E86\u4EC0\u4E48\u6280\u672F\u6808\uFF1F","tui.home.placeholder.example.tests":"\u4FEE\u590D\u5931\u8D25\u7684\u6D4B\u8BD5","tui.home.agreement.prefix":"\u4F7F\u7528 QitQode \u5373\u8868\u793A\u4F60\u540C\u610F\u6211\u4EEC\u7684","tui.home.agreement.terms":"\u670D\u52A1\u534F\u8BAE","tui.home.agreement.separator":"\u548C","tui.home.agreement.privacy":"\u9690\u79C1\u653F\u7B56","tui.home.agreement.suffix":"","tui.prompt.hint.attach_file":"\u6DFB\u52A0\u6587\u4EF6","tui.prompt.hint.subagent":"\u5B50\u667A\u80FD\u4F53","tui.prompt.hint.commands":"\u5524\u8D77\u547D\u4EE4","tui.prompt.hint.switch_mode":"\u5207\u6362\u6A21\u5F0F","tui.prompt.hint.settings":"\u8BBE\u7F6E","tui.tips.label":"\u63D0\u793A","tui.tips.plain_terminal":"\u63A8\u8350\u4F7F\u7528iTerm\u6216vscode\u7EC8\u7AEF","tui.tips.attach_file":"\u8F93\u5165 {highlight}@{/highlight} \u540E\u63A5\u6587\u4EF6\u540D\u4EE5\u6A21\u7CCA\u641C\u7D22\u5E76\u9644\u52A0\u6587\u4EF6","tui.tips.shell_prefix":"\u4EE5 {highlight}!{/highlight} \u5F00\u5934\u53EF\u76F4\u63A5\u8FD0\u884C shell \u547D\u4EE4\uFF08\u4F8B\u5982 {highlight}!ls -la{/highlight}\uFF09","tui.tips.tab_agent":"\u6309 {highlight}Tab{/highlight} \u6216 {highlight}Shift+Tab{/highlight} \u5728 Build / Plan / Compose \u667A\u80FD\u4F53\u4E4B\u95F4\u5207\u6362","tui.tips.theme_mode":"\u8FD0\u884C {highlight}/dark{/highlight} \u5207\u6362\u5230\u6DF1\u8272\u6A21\u5F0F\uFF0C{highlight}/light{/highlight} \u5207\u6362\u5230\u6D45\u8272\u6A21\u5F0F","tui.tips.doc":"\u8FD0\u884C {highlight}/doc{/highlight} \u6253\u5F00\u4F7F\u7528\u6587\u6863","tui.tips.undo":"\u4F7F\u7528 {highlight}/undo{/highlight} \u64A4\u9500\u6700\u540E\u4E00\u6761\u6D88\u606F\u53CA\u5176\u6587\u4EF6\u6539\u52A8","tui.tips.redo":"\u4F7F\u7528 {highlight}/redo{/highlight} \u6062\u590D\u4E4B\u524D\u64A4\u9500\u7684\u6D88\u606F\u548C\u6587\u4EF6\u6539\u52A8","tui.tips.drag_drop":"\u628A\u56FE\u7247\u6216 PDF \u62D6\u5165\u7EC8\u7AEF\u53EF\u4F5C\u4E3A\u4E0A\u4E0B\u6587\u6DFB\u52A0","tui.tips.paste_image":"\u6309 {highlight}Ctrl+V{/highlight} \u628A\u526A\u8D34\u677F\u4E2D\u7684\u56FE\u7247\u7C98\u8D34\u5230\u63D0\u793A\u6846","tui.tips.editor":"\u6309 {highlight}Ctrl+X E{/highlight} \u6216 {highlight}/editor{/highlight} \u5728\u5916\u90E8\u7F16\u8F91\u5668\u4E2D\u7F16\u8F91\u6D88\u606F","tui.tips.init":"\u8FD0\u884C {highlight}/init{/highlight} \u57FA\u4E8E\u4F60\u7684\u4EE3\u7801\u5E93\u81EA\u52A8\u751F\u6210\u9879\u76EE\u89C4\u5219","tui.tips.models":"\u8FD0\u884C {highlight}/models{/highlight} \u6216 {highlight}Ctrl+X M{/highlight} \u5207\u6362\u6A21\u578B","tui.tips.theme":'\u5728\u547D\u4EE4\u9762\u677F\uFF08{highlight}Ctrl+P{/highlight}\uFF09\u4E2D\u641C\u7D22 "lock" \u53EF\u9501\u5B9A\u4E3B\u9898\u6A21\u5F0F\uFF0C\u4F7F\u5176\u4E0D\u968F\u7EC8\u7AEF\u80CC\u666F\u53D8\u5316',"tui.tips.new_session":"\u6309 {highlight}Ctrl+X N{/highlight} \u6216 {highlight}/new{/highlight} \u5F00\u542F\u5168\u65B0\u4F1A\u8BDD","tui.tips.sessions":"\u4F7F\u7528 {highlight}/sessions{/highlight} \u6216 {highlight}Ctrl+X L{/highlight} \u5217\u51FA\u5E76\u7EE7\u7EED\u4E4B\u524D\u7684\u4F1A\u8BDD","tui.tips.compact":"\u8FD0\u884C {highlight}/compact{/highlight} \u5728\u63A5\u8FD1\u4E0A\u4E0B\u6587\u4E0A\u9650\u65F6\u538B\u7F29\u957F\u4F1A\u8BDD","tui.tips.export":"\u6309 {highlight}Ctrl+X X{/highlight} \u6216 {highlight}/export{/highlight} \u628A\u4F1A\u8BDD\u4FDD\u5B58\u4E3A Markdown","tui.tips.copy_last":"\u6309 {highlight}Ctrl+X Y{/highlight} \u628A\u52A9\u624B\u6700\u540E\u4E00\u6761\u6D88\u606F\u590D\u5236\u5230\u526A\u8D34\u677F","tui.tips.command_palette":"\u6309 {highlight}Ctrl+P{/highlight} \u67E5\u770B\u6240\u6709\u53EF\u7528\u52A8\u4F5C\u548C\u547D\u4EE4","tui.tips.leader":"\u524D\u5BFC\u952E\u662F {highlight}Ctrl+X{/highlight}\uFF0C\u642D\u914D\u5176\u4ED6\u952E\u53EF\u5FEB\u901F\u89E6\u53D1\u52A8\u4F5C","tui.tips.f2":"\u6309 {highlight}F2{/highlight} \u5728\u6700\u8FD1\u4F7F\u7528\u7684\u6A21\u578B\u4E4B\u95F4\u5FEB\u901F\u5207\u6362","tui.tips.sidebar":"\u6309 {highlight}Ctrl+X B{/highlight} \u663E\u793A/\u9690\u85CF\u4FA7\u680F","tui.tips.history":"\u7528 {highlight}PageUp{/highlight}/{highlight}PageDown{/highlight} \u6D4F\u89C8\u4F1A\u8BDD\u5386\u53F2","tui.tips.jump_first":"\u6309 {highlight}Ctrl+G{/highlight} \u6216 {highlight}Home{/highlight} \u8DF3\u5230\u4F1A\u8BDD\u5F00\u5934","tui.tips.jump_last":"\u6309 {highlight}Ctrl+Alt+G{/highlight} \u6216 {highlight}End{/highlight} \u8DF3\u5230\u6700\u65B0\u6D88\u606F","tui.tips.newline":"\u6309 {highlight}Shift+Enter{/highlight} \u6216 {highlight}Ctrl+J{/highlight} \u5728\u63D0\u793A\u6846\u6362\u884C","tui.tips.clear_input":"\u8F93\u5165\u65F6\u6309 {highlight}Ctrl+C{/highlight} \u6E05\u7A7A\u8F93\u5165\u6846","tui.tips.escape":"\u6309 {highlight}Escape{/highlight} \u5728\u54CD\u5E94\u4E2D\u9014\u6253\u65AD AI","tui.tips.plan_agent":"\u5207\u6362\u5230 {highlight}Plan{/highlight} \u667A\u80FD\u4F53\u4EE5\u83B7\u53D6\u5EFA\u8BAE\u800C\u4E0D\u5B9E\u9645\u6539\u52A8","tui.tips.subagent":"\u5728\u63D0\u793A\u8BCD\u4E2D\u4F7F\u7528 {highlight}@agent-name{/highlight} \u8C03\u7528\u4E13\u7528\u5B50\u667A\u80FD\u4F53","tui.tips.cycle_sessions":"\u6309 {highlight}Ctrl+X Right/Left{/highlight} \u5728\u7236\u5B50\u4F1A\u8BDD\u4E4B\u95F4\u5207\u6362","tui.tips.config_files":"\u521B\u5EFA {highlight}qitqode.json{/highlight} \u7528\u4E8E\u670D\u52A1\u7AEF\u914D\u7F6E\uFF0C{highlight}tui.json{/highlight} \u7528\u4E8E TUI \u914D\u7F6E","tui.tips.global_config":"\u628A TUI \u914D\u7F6E\u653E\u5728 {highlight}~/.config/qitqode/tui.json{/highlight} \u4F5C\u4E3A\u5168\u5C40\u914D\u7F6E","tui.tips.schema":"\u5728\u914D\u7F6E\u4E2D\u52A0\u5165 {highlight}$schema{/highlight} \u4EE5\u4FBF\u7F16\u8F91\u5668\u81EA\u52A8\u8865\u5168","tui.tips.default_model":"\u5728\u914D\u7F6E\u91CC\u8BBE\u7F6E {highlight}model{/highlight} \u6765\u6307\u5B9A\u9ED8\u8BA4\u6A21\u578B","tui.tips.keybinds":"\u901A\u8FC7 {highlight}tui.json{/highlight} \u7684 {highlight}keybinds{/highlight} \u90E8\u5206\u8986\u76D6\u4EFB\u610F\u6309\u952E","tui.tips.disable_keybind":"\u628A\u4EFB\u610F\u6309\u952E\u8BBE\u4E3A {highlight}none{/highlight} \u5373\u53EF\u5B8C\u5168\u7981\u7528\u5B83","tui.tips.mcp_config":"\u5728 {highlight}mcp{/highlight} \u914D\u7F6E\u9879\u4E2D\u914D\u7F6E\u672C\u5730\u6216\u8FDC\u7A0B MCP \u670D\u52A1\u5668","tui.tips.mcp_oauth":"QitQode \u81EA\u52A8\u5904\u7406\u9700\u8981\u9274\u6743\u7684\u8FDC\u7A0B MCP \u670D\u52A1\u5668\u7684 OAuth","tui.tips.custom_command":"\u5728 {highlight}.qitqode/command/{/highlight} \u6DFB\u52A0 {highlight}.md{/highlight} \u6587\u4EF6\u4EE5\u5B9A\u4E49\u53EF\u590D\u7528\u81EA\u5B9A\u4E49\u63D0\u793A","tui.tips.command_args":"\u5728\u81EA\u5B9A\u4E49\u547D\u4EE4\u4E2D\u4F7F\u7528 {highlight}$ARGUMENTS{/highlight}\u3001{highlight}$1{/highlight}\u3001{highlight}$2{/highlight} \u63A5\u6536\u52A8\u6001\u53C2\u6570","tui.tips.command_backticks":"\u5728\u547D\u4EE4\u4E2D\u4F7F\u7528\u53CD\u5F15\u53F7\u6CE8\u5165 shell \u8F93\u51FA\uFF08\u4F8B\u5982 {highlight}`git status`{/highlight}\uFF09","tui.tips.custom_agent":"\u5728 {highlight}.qitqode/agent/{/highlight} \u6DFB\u52A0 {highlight}.md{/highlight} \u6587\u4EF6\u6765\u521B\u5EFA\u4E13\u7528 AI \u89D2\u8272","tui.tips.agent_perms":"\u4E3A\u6BCF\u4E2A\u667A\u80FD\u4F53\u5355\u72EC\u914D\u7F6E {highlight}edit{/highlight}\u3001{highlight}bash{/highlight}\u3001{highlight}webfetch{/highlight} \u5DE5\u5177\u6743\u9650","tui.tips.bash_allow":'\u4F7F\u7528 {highlight}"git *": "allow"{/highlight} \u8FD9\u7C7B\u6A21\u5F0F\u505A\u7CBE\u7EC6 bash \u6743\u9650',"tui.tips.bash_deny":'\u8BBE\u7F6E {highlight}"rm -rf *": "deny"{/highlight} \u963B\u6B62\u7834\u574F\u6027\u547D\u4EE4',"tui.tips.bash_ask":'\u914D\u7F6E {highlight}"git push": "ask"{/highlight} \u5728\u63A8\u9001\u524D\u8981\u6C42\u786E\u8BA4',"tui.tips.formatter":"QitQode \u81EA\u52A8\u4F7F\u7528 prettier\u3001gofmt\u3001ruff \u7B49\u683C\u5F0F\u5316\u6587\u4EF6","tui.tips.disable_formatter":'\u5728\u914D\u7F6E\u4E2D\u8BBE\u7F6E {highlight}"formatter": false{/highlight} \u5173\u95ED\u6240\u6709\u81EA\u52A8\u683C\u5F0F\u5316',"tui.tips.custom_formatter":"\u5728\u914D\u7F6E\u4E2D\u6309\u6587\u4EF6\u540E\u7F00\u5B9A\u4E49\u81EA\u5B9A\u4E49\u683C\u5F0F\u5316\u547D\u4EE4","tui.tips.lsp":"QitQode \u4F7F\u7528 LSP \u670D\u52A1\u5668\u8FDB\u884C\u667A\u80FD\u4EE3\u7801\u5206\u6790","tui.tips.custom_tool":"\u5728 {highlight}.qitqode/tools/{/highlight} \u521B\u5EFA {highlight}.ts{/highlight} \u6587\u4EF6\u5B9A\u4E49\u65B0\u7684 LLM \u5DE5\u5177","tui.tips.tool_scripts":"\u5DE5\u5177\u5B9A\u4E49\u53EF\u4EE5\u8C03\u7528 Python\u3001Go \u7B49\u811A\u672C","tui.tips.plugins":"\u5728 {highlight}.qitqode/plugin/{/highlight} \u6DFB\u52A0 {highlight}.ts{/highlight} \u6587\u4EF6\u6302\u63A5\u4E8B\u4EF6\u94A9\u5B50","tui.tips.plugin_notify":"\u7528\u63D2\u4EF6\u5728\u4F1A\u8BDD\u5B8C\u6210\u65F6\u53D1\u9001\u7CFB\u7EDF\u901A\u77E5","tui.tips.plugin_protect":"\u5199\u4E00\u4E2A\u63D2\u4EF6\u963B\u6B62 QitQode \u8BFB\u53D6\u654F\u611F\u6587\u4EF6","tui.tips.run":"\u7528 {highlight}qitqode run{/highlight} \u8FDB\u884C\u975E\u4EA4\u4E92\u5F0F\u811A\u672C\u8C03\u7528","tui.tips.continue":"\u7528 {highlight}qitqode --continue{/highlight} \u7EE7\u7EED\u4E0A\u4E00\u4E2A\u4F1A\u8BDD","tui.tips.attach_cli":"\u7528 {highlight}qitqode run -f file.ts{/highlight} \u901A\u8FC7\u547D\u4EE4\u884C\u9644\u52A0\u6587\u4EF6","tui.tips.format_json":"\u7528 {highlight}--format json{/highlight} \u5728\u811A\u672C\u4E2D\u83B7\u5F97\u673A\u5668\u53EF\u8BFB\u8F93\u51FA","tui.tips.auth_list":"\u8FD0\u884C {highlight}qitqode auth status{/highlight} \u67E5\u770B\u5F53\u524D\u767B\u5F55\u72B6\u6001","tui.tips.agent_create":"\u8FD0\u884C {highlight}qitqode agent create{/highlight} \u5F15\u5BFC\u5F0F\u521B\u5EFA\u667A\u80FD\u4F53","tui.tips.theme_system":'\u4F7F\u7528 {highlight}"theme": "system"{/highlight} \u8DDF\u968F\u7EC8\u7AEF\u914D\u8272',"tui.tips.theme_files":"\u5728 {highlight}.qitqode/themes/{/highlight} \u76EE\u5F55\u4E0B\u521B\u5EFA JSON \u4E3B\u9898\u6587\u4EF6","tui.tips.theme_variants":"\u4E3B\u9898\u652F\u6301\u6DF1\u8272/\u6D45\u8272\u53CC\u6A21\u5F0F\u53D8\u4F53","tui.tips.theme_ansi":"\u81EA\u5B9A\u4E49\u4E3B\u9898\u4E2D\u53EF\u5F15\u7528 ANSI 0-255 \u8272\u53F7","tui.tips.env_var":"\u5728\u914D\u7F6E\u4E2D\u7528 {highlight}{env:VAR_NAME}{/highlight} \u8BED\u6CD5\u5F15\u7528\u73AF\u5883\u53D8\u91CF","tui.tips.file_var":"\u7528 {highlight}{file:path}{/highlight} \u5728\u914D\u7F6E\u503C\u4E2D\u5D4C\u5165\u6587\u4EF6\u5185\u5BB9","tui.tips.instructions":"\u5728\u914D\u7F6E\u4E2D\u7528 {highlight}instructions{/highlight} \u52A0\u8F7D\u989D\u5916\u7684\u89C4\u5219\u6587\u4EF6","tui.tips.temperature":"\u628A\u667A\u80FD\u4F53\u7684 {highlight}temperature{/highlight} \u4ECE 0.0\uFF08\u4E13\u6CE8\uFF09\u8C03\u5230 1.0\uFF08\u521B\u9020\uFF09","tui.tips.steps":"\u914D\u7F6E {highlight}steps{/highlight} \u9650\u5236\u6BCF\u6B21\u8BF7\u6C42\u7684\u667A\u80FD\u4F53\u8FED\u4EE3\u6B21\u6570","tui.tips.disable_tool":'\u8BBE\u7F6E {highlight}"tools": {"bash": false}{/highlight} \u7981\u7528\u5177\u4F53\u5DE5\u5177',"tui.tips.disable_mcp_tools":'\u8BBE\u7F6E {highlight}"mcp_*": false{/highlight} \u7981\u7528\u67D0\u4E2A MCP \u670D\u52A1\u5668\u7684\u6240\u6709\u5DE5\u5177',"tui.tips.tool_override":"\u5728\u6BCF\u4E2A\u667A\u80FD\u4F53\u914D\u7F6E\u4E2D\u8986\u76D6\u5168\u5C40\u5DE5\u5177\u8BBE\u7F6E","tui.tips.doom_loop":"\u6743\u9650 {highlight}doom_loop{/highlight} \u9632\u6B62\u5DE5\u5177\u8C03\u7528\u9677\u5165\u6B7B\u5FAA\u73AF","tui.tips.external_dir":"\u6743\u9650 {highlight}external_directory{/highlight} \u4FDD\u62A4\u9879\u76EE\u5916\u90E8\u7684\u6587\u4EF6","tui.tips.debug_config":"\u8FD0\u884C {highlight}qitqode debug config{/highlight} \u6392\u67E5\u914D\u7F6E\u95EE\u9898","tui.tips.print_logs":"\u4F7F\u7528 {highlight}--print-logs{/highlight} \u6807\u5FD7\u5728 stderr \u8F93\u51FA\u8BE6\u7EC6\u65E5\u5FD7","tui.tips.timeline":"\u6309 {highlight}Ctrl+X G{/highlight} \u6216 {highlight}/timeline{/highlight} \u8DF3\u5230\u6307\u5B9A\u6D88\u606F","tui.tips.toggle_code":"\u6309 {highlight}Ctrl+X H{/highlight} \u5207\u6362\u6D88\u606F\u4E2D\u4EE3\u7801\u5757\u7684\u663E\u793A","tui.tips.status":"\u6309 {highlight}Ctrl+X S{/highlight} \u6216 {highlight}/status{/highlight} \u67E5\u770B\u7CFB\u7EDF\u72B6\u6001","tui.tips.scroll_accel":"\u5728 {highlight}tui.json{/highlight} \u4E2D\u5F00\u542F {highlight}scroll_acceleration{/highlight} \u4EAB\u53D7\u5E73\u6ED1\u6EDA\u52A8","tui.tips.agents_md":"\u628A\u9879\u76EE\u91CC\u7684 {highlight}AGENTS.md{/highlight} \u63D0\u4EA4\u5230 Git \u4E0E\u56E2\u961F\u5171\u4EAB","tui.tips.review":"\u7528 {highlight}/review{/highlight} \u5BA1\u9605\u672A\u63D0\u4EA4\u6539\u52A8\u3001\u5206\u652F\u6216 PR","tui.tips.help":"\u8FD0\u884C {highlight}/help{/highlight} \u6216 {highlight}Ctrl+X H{/highlight} \u663E\u793A\u5E2E\u52A9\u5BF9\u8BDD\u6846","tui.tips.rename":"\u7528 {highlight}/rename{/highlight} \u91CD\u547D\u540D\u5F53\u524D\u4F1A\u8BDD","tui.tips.suspend.unix":"\u6309 {highlight}Ctrl+Z{/highlight} \u6302\u8D77\u7EC8\u7AEF\u5E76\u8FD4\u56DE shell","tui.tips.suspend.win":"\u6309 {highlight}Ctrl+Z{/highlight} \u64A4\u9500\u63D0\u793A\u6846\u4E2D\u7684\u8F93\u5165","tui.command.palette.title":"\u547D\u4EE4","tui.command.palette.suggested":"\u63A8\u8350","tui.command.category.session":"\u4F1A\u8BDD","tui.command.category.agent":"\u667A\u80FD\u4F53","tui.command.category.provider":"\u670D\u52A1\u5546","tui.command.category.system":"\u7CFB\u7EDF","tui.command.category.prompt":"\u63D0\u793A\u6846","tui.command.category.internal":"\u5185\u7F6E","tui.command.category.external":"\u7B2C\u4E09\u65B9","tui.slash.init.description":"\u5F15\u5BFC\u5F0F AGENTS.md \u8BBE\u7F6E","tui.slash.review.description":"\u5BA1\u67E5\u53D8\u66F4 [commit|branch|pr]\uFF0C\u9ED8\u8BA4\u672A\u63D0\u4EA4\u7684\u53D8\u66F4","tui.slash.dream.description":"\u4ECE memory \u6587\u4EF6\u4E0E\u539F\u59CB\u8F68\u8FF9\u4E2D\u624B\u52A8\u6574\u5408\u9879\u76EE\u8BB0\u5FC6","tui.slash.distill.description":"\u5728\u6700\u8FD1\u5DE5\u4F5C\u4E2D\u53D1\u73B0\u91CD\u590D\u6D41\u7A0B\uFF0C\u6253\u5305\u4E3A skill\u3001\u5B50\u667A\u80FD\u4F53\u6216\u547D\u4EE4","tui.slash.goal.description":"\u8BBE\u7F6E\u7EC8\u6B62\u6761\u4EF6\u76EE\u6807\uFF1B\u8FD0\u884C\u76F4\u5230\u5224\u5B9A\u8FBE\u6210\u3002\u4F7F\u7528 /goal clear \u4E2D\u6B62","tui.slash.deep-research.description":"\u6DF1\u5EA6\u591A\u6765\u6E90\u3001\u4E8B\u5B9E\u6838\u67E5\u7684\u7814\u7A76\u62A5\u544A\uFF08\u8FD0\u884C deep-research \u5DE5\u4F5C\u6D41\uFF09","tui.command.language.switch.title":"\u5207\u6362\u8BED\u8A00","tui.command.language.switch.description":"\u66F4\u6539\u663E\u793A\u8BED\u8A00","tui.command.language.dialog.title":"\u5207\u6362\u8BED\u8A00","tui.language.auto":"\u81EA\u52A8\uFF08\u8DDF\u968F\u7CFB\u7EDF\uFF09","tui.language.current":"\u5F53\u524D","tui.command.session.list.title":"\u5207\u6362\u4F1A\u8BDD","tui.command.session.new.title":"\u65B0\u5EFA\u4F1A\u8BDD","tui.command.workflow.list.title":"\u5DE5\u4F5C\u6D41","tui.command.model.list.title":"\u5207\u6362\u6A21\u578B","tui.command.model.cycle_recent.title":"\u5FAA\u73AF\u5207\u6362\u6A21\u578B","tui.command.model.cycle_recent_reverse.title":"\u53CD\u5411\u5FAA\u73AF\u5207\u6362\u6A21\u578B","tui.command.model.cycle_favorite.title":"\u5FAA\u73AF\u5207\u6362\u6536\u85CF\u6A21\u578B","tui.command.model.cycle_favorite_reverse.title":"\u53CD\u5411\u5FAA\u73AF\u5207\u6362\u6536\u85CF\u6A21\u578B","tui.command.agent.list.title":"\u5207\u6362\u667A\u80FD\u4F53","tui.command.mcp.list.title":"\u5207\u6362 MCP","tui.command.never_ask.title_on":"\u8DF3\u8FC7\u63D0\u95EE\uFF1A\u5DF2\u5F00\u542F\uFF08\u81EA\u52A8\u51B3\u7B56\uFF0C\u6743\u9650\u8BF7\u6C42\u9664\u5916\uFF09 - \u70B9\u51FB\u5173\u95ED","tui.command.never_ask.title_off":"\u8DF3\u8FC7\u63D0\u95EE\uFF1A\u5DF2\u5173\u95ED - \u70B9\u51FB\u5F00\u542F\uFF08\u81EA\u52A8\u51B3\u7B56\uFF0C\u6743\u9650\u8BF7\u6C42\u9664\u5916\uFF09","tui.command.never_ask.toast_on":"\u5DF2\u5F00\u542F\u8DF3\u8FC7\u63D0\u95EE \u2014 \u6211\u4E0D\u4F1A\u518D\u5411\u4F60\u63D0\u95EE\uFF0C\u4F1A\u81EA\u884C\u9009\u62E9\u6700\u4F73\u9009\u9879\uFF0C\u76F4\u5230\u4F60\u5173\u95ED\uFF08/never-ask\uFF09\u3002\u6743\u9650\u8BF7\u6C42\u4ECD\u9700\u4F60\u786E\u8BA4\u3002","tui.command.never_ask.toast_off":"\u5DF2\u5173\u95ED\u8DF3\u8FC7\u63D0\u95EE \u2014 \u9047\u5230\u51B3\u7B56\u70B9\u6211\u4F1A\u91CD\u65B0\u5411\u4F60\u63D0\u95EE\u3002","tui.command.never_ask.title_on_fullauto":"\u8DF3\u8FC7\u63D0\u95EE\uFF1A\u5DF2\u5F00\u542F\uFF08\u81EA\u52A8\u51B3\u7B56\uFF1B\u5168\u81EA\u52A8\u6A21\u5F0F\u540C\u65F6\u81EA\u52A8\u6279\u51C6\u6743\u9650\uFF09 - \u70B9\u51FB\u5173\u95ED","tui.command.never_ask.title_off_fullauto":"\u8DF3\u8FC7\u63D0\u95EE\uFF1A\u5DF2\u5173\u95ED - \u70B9\u51FB\u5F00\u542F\uFF08\u81EA\u52A8\u51B3\u7B56\uFF1B\u5168\u81EA\u52A8\u6A21\u5F0F\u4ECD\u5728\u81EA\u52A8\u6279\u51C6\u6743\u9650\uFF09","tui.command.never_ask.toast_on_fullauto":"\u5DF2\u5F00\u542F\u8DF3\u8FC7\u63D0\u95EE \u2014 \u6211\u4E0D\u4F1A\u518D\u5411\u4F60\u63D0\u95EE\uFF0C\u4F1A\u81EA\u884C\u9009\u62E9\u6700\u4F73\u9009\u9879\uFF0C\u76F4\u5230\u4F60\u5173\u95ED\uFF08/never-ask\uFF09\u3002\u5168\u81EA\u52A8\u6A21\u5F0F\u5DF2\u5F00\u542F\uFF0C\u5DE5\u5177\u6743\u9650\u8BF7\u6C42\u4E5F\u4F1A\u81EA\u52A8\u6279\u51C6\u3002","tui.command.agent.cycle.title":"\u5FAA\u73AF\u5207\u6362\u667A\u80FD\u4F53","tui.command.variant.cycle.title":"\u5FAA\u73AF\u5207\u6362\u6A21\u578B\u53D8\u4F53","tui.command.variant.list.title":"\u5207\u6362\u6A21\u578B\u53D8\u4F53","tui.command.agent.cycle.reverse.title":"\u53CD\u5411\u5FAA\u73AF\u5207\u6362\u667A\u80FD\u4F53","tui.command.provider.login.title":"\u767B\u5F55","tui.command.provider.logout.title":"\u767B\u51FA","tui.command.console.org.switch.title":"\u5207\u6362\u7EC4\u7EC7","tui.command.qitqode.status.title":"\u67E5\u770B\u72B6\u6001","tui.command.worktree.list.title":"\u5DE5\u4F5C\u6811","tui.command.theme.switch.title":"\u5207\u6362\u4E3B\u9898","tui.command.theme.switch_mode.to_light":"\u5207\u6362\u5230\u6D45\u8272\u6A21\u5F0F","tui.command.theme.switch_mode.to_dark":"\u5207\u6362\u5230\u6DF1\u8272\u6A21\u5F0F","tui.command.theme.mode.unlock":"\u89E3\u9501\u4E3B\u9898\u6A21\u5F0F","tui.command.theme.mode.lock":"\u9501\u5B9A\u4E3B\u9898\u6A21\u5F0F","tui.command.help.show.title":"\u5E2E\u52A9","tui.dialog.help.close_hint":"esc/enter/space","tui.dialog.help.accessibility":"\u65E0\u969C\u788D:\u53EF\u5728\u547D\u4EE4\u5217\u8868\u4E2D\u5207\u6362\u52A8\u753B\u548C\u58F0\u97F3\u3002\u73AF\u5883\u53D8\u91CF:NO_COLOR, QITQODE_TUI_ACCESSIBLE, QITQODE_REDUCE_MOTION, QITQODE_TUI_SOUND\u3002","tui.dialog.help.announcements":"\u64AD\u62A5:\u5728\u65E0\u969C\u788D\u6A21\u5F0F\u4E0B,\u53EF\u901A\u8FC7\u547D\u4EE4\u5217\u8868\u6216 QITQODE_TUI_ANNOUNCEMENTS \u9009\u62E9\u5C4F\u5E55\u9605\u8BFB\u5668\u64AD\u62A5\u7684\u8BE6\u7EC6\u7A0B\u5EA6(\u5B89\u9759\u3001\u6B63\u5E38\u3001\u8BE6\u7EC6)\u3002\u9519\u8BEF\u59CB\u7EC8\u4F1A\u64AD\u62A5\u3002","tui.dialog.help.dialog_keys":"\u5BF9\u8BDD\u6846:\u6240\u6709\u5BF9\u8BDD\u6846\u5747\u53EF\u4EC5\u7528\u952E\u76D8\u64CD\u4F5C \u2014 Esc \u5173\u95ED,Tab \u6216\u65B9\u5411\u952E\u79FB\u52A8\u7126\u70B9,Enter \u6216\u7A7A\u683C\u952E\u6FC0\u6D3B\u5F53\u524D\u63A7\u4EF6\u3002","tui.command.app.announcements.cycle":"\u64AD\u62A5:{{level}}(\u9009\u62E9\u4EE5\u66F4\u6539)","tui.announcements.level.quiet":"\u5B89\u9759","tui.announcements.level.normal":"\u6B63\u5E38","tui.announcements.level.verbose":"\u8BE6\u7EC6","tui.app.terminal_too_small":"\u7EC8\u7AEF\u7A97\u53E3\u8FC7\u5C0F ({{width}}x{{height}}),\u8BF7\u8C03\u6574\u5230\u81F3\u5C11 40x8\u3002","tui.dialog.help.command_list":"\u6309 {{keybind}} \u67E5\u770B\u5F53\u524D\u4E0A\u4E0B\u6587\u4E2D\u6240\u6709\u53EF\u7528\u7684\u64CD\u4F5C\u548C\u547D\u4EE4\u3002","tui.dialog.help.ok":"\u786E\u5B9A","tui.dialog.close_hint":"esc","tui.dialog.document.scroll_hint":"\u2191/\u2193 \u6EDA\u52A8 \xB7 PgUp/PgDn \u7FFB\u9875 \xB7 esc \u5173\u95ED","tui.dialog.ok":"\u786E\u5B9A","tui.dialog.confirm.cancel":"\u53D6\u6D88","tui.dialog.confirm.confirm":"\u786E\u8BA4","tui.dialog.agreement.title":"\u670D\u52A1\u534F\u8BAE\u4E0E\u9690\u79C1\u653F\u7B56","tui.dialog.agreement.message":"\u8BF7\u9605\u8BFB\u5E76\u540C\u610F\u540E\u7EE7\u7EED\u4F7F\u7528\u3002","tui.dialog.agreement.confirm":"\u540C\u610F\u5E76\u7EE7\u7EED","tui.command.docs.terms.title":"\u67E5\u770B\u670D\u52A1\u6761\u6B3E","tui.command.docs.privacy.title":"\u67E5\u770B\u9690\u79C1\u653F\u7B56","tui.command.consent.revoke.title":"\u64A4\u9500\u514D\u8D39\u6A21\u578B\u534F\u8BAE","tui.consent.revoked":"\u5DF2\u64A4\u9500\u514D\u8D39\u6A21\u578B\u534F\u8BAE \u2014 \u4E0B\u6B21\u4F7F\u7528\u65F6\u5C06\u518D\u6B21\u8BF7\u6C42\u540C\u610F","tui.dialog.select.placeholder":"\u641C\u7D22","tui.dialog.select.no_results":"\u672A\u627E\u5230\u7ED3\u679C","tui.dialog.prompt.placeholder":"\u8F93\u5165\u6587\u672C","tui.dialog.prompt.busy":"\u5904\u7406\u4E2D...","tui.dialog.prompt.processing":"\u5904\u7406\u4E2D...","tui.dialog.prompt.submit_key":"enter","tui.dialog.prompt.submit_action":"\u63D0\u4EA4","tui.dialog.export.title":"\u5BFC\u51FA\u9009\u9879","tui.dialog.export.filename":"\u6587\u4EF6\u540D\uFF1A","tui.dialog.export.filename_placeholder":"\u8F93\u5165\u6587\u4EF6\u540D","tui.dialog.export.include_thinking":"\u5305\u542B\u601D\u8003\u8FC7\u7A0B","tui.dialog.export.include_tool_details":"\u5305\u542B\u5DE5\u5177\u8BE6\u60C5","tui.dialog.export.include_assistant_metadata":"\u5305\u542B\u52A9\u624B\u5143\u6570\u636E","tui.dialog.export.open_without_saving":"\u76F4\u63A5\u6253\u5F00\u4E0D\u4FDD\u5B58","tui.dialog.export.hint.toggle_prefix":"\u6309","tui.dialog.export.hint.toggle_action":"\u5207\u6362","tui.dialog.export.hint.confirm_action":"\u786E\u8BA4","tui.dialog.export.hint.options_action":"\u67E5\u770B\u9009\u9879","tui.toast.copied_to_clipboard":"\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F","tui.toast.instructions_loaded":"\u5DF2\u52A0\u8F7D {{files}}","tui.toast.update_available.title":"\u6709\u65B0\u7248\u672C\u53EF\u7528","tui.toast.update_available.confirm":"\u65B0\u7248\u672C v{{version}} \u5DF2\u53D1\u5E03\uFF0C\u662F\u5426\u7ACB\u5373\u66F4\u65B0\uFF1F","tui.toast.update_available.updating":"\u6B63\u5728\u66F4\u65B0\u5230 v{{version}}...","tui.toast.update_available.failed":"\u66F4\u65B0\u5931\u8D25","tui.toast.update_available.success":"\u5DF2\u66F4\u65B0\u5230 QitQode v{{version}}\uFF0C\u8BF7\u91CD\u542F\u5E94\u7528\u3002","tui.toast.updated.title":"\u5DF2\u81EA\u52A8\u66F4\u65B0","tui.toast.updated.message":"\u5DF2\u81EA\u52A8\u5E94\u7528\u8865\u4E01\u66F4\u65B0\uFF1Av{{version}}\u3002\u91CD\u542F\u540E\u751F\u6548\u3002\u53EF\u5728\u914D\u7F6E\u4E2D\u8BBE\u7F6E autoupdate: false \u5173\u95ED\u81EA\u52A8\u66F4\u65B0\u3002","tui.sidebar.instructions":"\u6307\u4EE4\u6587\u4EF6","tui.sidebar.cwd":"\u5DE5\u4F5C\u76EE\u5F55","tui.toast.unknown_error":"\u53D1\u751F\u672A\u77E5\u9519\u8BEF","tui.command.docs.open.title":"\u6253\u5F00\u6587\u6863","tui.command.app.exit.title":"\u9000\u51FA\u5E94\u7528","tui.command.app.debug.title":"\u5207\u6362\u8C03\u8BD5\u9762\u677F","tui.command.app.console.title":"\u5207\u6362\u63A7\u5236\u53F0","tui.command.app.heap_snapshot.title":"\u5BFC\u51FA\u5806\u5FEB\u7167","tui.command.terminal.suspend.title":"\u6302\u8D77\u7EC8\u7AEF","tui.command.terminal.title.disable":"\u7981\u7528\u7EC8\u7AEF\u6807\u9898","tui.command.terminal.title.enable":"\u542F\u7528\u7EC8\u7AEF\u6807\u9898","tui.command.app.toggle.animations.disable":"\u7981\u7528\u52A8\u753B","tui.command.app.toggle.animations.enable":"\u542F\u7528\u52A8\u753B","tui.command.app.toggle.diffwrap.disable":"\u7981\u7528 diff \u81EA\u52A8\u6362\u884C","tui.command.app.toggle.diffwrap.enable":"\u542F\u7528 diff \u81EA\u52A8\u6362\u884C","tui.command.app.toggle.sound.disable":"\u7981\u7528\u58F0\u97F3","tui.command.app.toggle.sound.enable":"\u542F\u7528\u58F0\u97F3","tui.command.logout.toast":"\u5DF2\u767B\u51FA","tui.command.session.share.title":"\u5206\u4EAB\u4F1A\u8BDD","tui.command.session.share.copy_link":"\u590D\u5236\u5206\u4EAB\u94FE\u63A5","tui.command.session.rename.title":"\u91CD\u547D\u540D\u4F1A\u8BDD","tui.command.session.timeline.title":"\u8DF3\u8F6C\u5230\u6D88\u606F","tui.command.session.fork.title":"\u6D3E\u751F\u4F1A\u8BDD","tui.command.session.compact.title":"\u538B\u7F29\u4F1A\u8BDD","tui.command.session.unshare.title":"\u53D6\u6D88\u5206\u4EAB","tui.command.session.undo.title":"\u64A4\u9500\u4E0A\u4E00\u6761\u6D88\u606F","tui.command.session.redo.title":"\u91CD\u505A","tui.command.session.sidebar.show":"\u663E\u793A\u4FA7\u680F","tui.command.session.sidebar.hide":"\u9690\u85CF\u4FA7\u680F","tui.command.session.conceal.disable":"\u5173\u95ED\u4EE3\u7801\u9690\u85CF","tui.command.session.conceal.enable":"\u5F00\u542F\u4EE3\u7801\u9690\u85CF","tui.command.session.timestamps.show":"\u663E\u793A\u65F6\u95F4\u6233","tui.command.session.timestamps.hide":"\u9690\u85CF\u65F6\u95F4\u6233","tui.command.session.thinking.expand":"\u5C55\u5F00\u601D\u8003\u8FC7\u7A0B","tui.command.session.thinking.collapse":"\u6298\u53E0\u601D\u8003\u8FC7\u7A0B","tui.command.session.tool_details.show":"\u663E\u793A\u5DE5\u5177\u8BE6\u60C5","tui.command.session.tool_details.hide":"\u9690\u85CF\u5DE5\u5177\u8BE6\u60C5","tui.command.session.scrollbar.toggle":"\u5207\u6362\u4F1A\u8BDD\u6EDA\u52A8\u6761","tui.command.session.generic_tool_output.show":"\u663E\u793A\u901A\u7528\u5DE5\u5177\u8F93\u51FA","tui.command.session.generic_tool_output.hide":"\u9690\u85CF\u901A\u7528\u5DE5\u5177\u8F93\u51FA","tui.command.session.page_up.title":"\u4E0A\u7FFB\u4E00\u9875","tui.command.session.page_down.title":"\u4E0B\u7FFB\u4E00\u9875","tui.command.session.line_up.title":"\u5411\u4E0A\u4E00\u884C","tui.command.session.line_down.title":"\u5411\u4E0B\u4E00\u884C","tui.command.session.half_page_up.title":"\u5411\u4E0A\u534A\u9875","tui.command.session.half_page_down.title":"\u5411\u4E0B\u534A\u9875","tui.command.session.first.title":"\u7B2C\u4E00\u6761\u6D88\u606F","tui.command.session.last.title":"\u6700\u540E\u4E00\u6761\u6D88\u606F","tui.command.session.last_user.title":"\u8DF3\u5230\u6700\u540E\u4E00\u6761\u7528\u6237\u6D88\u606F","tui.command.session.message_next.title":"\u4E0B\u4E00\u6761\u6D88\u606F","tui.command.session.message_previous.title":"\u4E0A\u4E00\u6761\u6D88\u606F","tui.command.messages.copy.title":"\u590D\u5236\u6700\u540E\u4E00\u6761\u52A9\u624B\u6D88\u606F","tui.command.session.copy.title":"\u590D\u5236\u4F1A\u8BDD\u8BB0\u5F55","tui.command.session.export.title":"\u5BFC\u51FA\u4F1A\u8BDD\u8BB0\u5F55","tui.command.session.child_first.title":"\u8FDB\u5165\u5B50\u4F1A\u8BDD","tui.command.session.parent.title":"\u8FD4\u56DE\u7236\u4F1A\u8BDD","tui.command.session.child_next.title":"\u4E0B\u4E00\u4E2A\u5B50\u4F1A\u8BDD","tui.command.session.child_previous.title":"\u4E0A\u4E00\u4E2A\u5B50\u4F1A\u8BDD","tui.command.prompt.clear.title":"\u6E05\u7A7A\u63D0\u793A\u6846","tui.command.prompt.submit.title":"\u63D0\u4EA4\u63D0\u793A\u8BCD","tui.command.prompt.paste.title":"\u7C98\u8D34","tui.command.session.interrupt.title":"\u4E2D\u65AD\u4F1A\u8BDD","tui.command.prompt.editor.title":"\u6253\u5F00\u7F16\u8F91\u5668","tui.command.prompt.skills.title":"\u6280\u80FD","tui.command.voice.toggle.title":"\u5207\u6362\u8BED\u97F3\u8F93\u5165","tui.command.voice.toggle.title_on":"\u8BED\u97F3\u8F93\u5165\uFF1A\u5DF2\u5F00\u542F \u2014 \u70B9\u51FB\u5173\u95ED","tui.command.voice.toggle.title_off":"\u8BED\u97F3\u8F93\u5165\uFF1A\u5DF2\u5173\u95ED \u2014 \u70B9\u51FB\u5F00\u542F","tui.command.voice.send.title":"\u5207\u6362\u8BED\u97F3\u53D1\u9001\u6307\u4EE4","tui.command.voice.send.title_on":"\u8BED\u97F3\u53D1\u9001\uFF1A\u5DF2\u5F00\u542F \u2014 \u70B9\u51FB\u5173\u95ED","tui.command.voice.send.title_off":"\u8BED\u97F3\u53D1\u9001\uFF1A\u5DF2\u5173\u95ED \u2014 \u70B9\u51FB\u5F00\u542F","tui.voice.enabled":"\u8BED\u97F3\u8F93\u5165\u5DF2\u542F\u7528\uFF08\u4E2D\u6587/\u82F1\u6587\uFF09\u2014 \u70B9\u51FB [Voice] \u5F00\u59CB\u5F55\u97F3","tui.voice.disabled":"\u8BED\u97F3\u8F93\u5165\u5DF2\u5173\u95ED","tui.voice.send.enabled":"\u8BED\u97F3\u53D1\u9001\u5DF2\u542F\u7528 \u2014 \u505C\u987F\u540E\u6E05\u6670\u5FF5\u51FA\u300C\u53D1\u9001\u300D\u5373\u53EF\u63D0\u4EA4","tui.voice.send.disabled":"\u8BED\u97F3\u53D1\u9001\u5DF2\u5173\u95ED","tui.voice.control.enabled":"\u8BED\u97F3\u63A7\u5236\u5DF2\u542F\u7528 \u2014 \u4F7F\u7528\u591A\u6A21\u6001\u6A21\u578B\u667A\u80FD\u7F16\u8F91\uFF08\u8F83\u6162\uFF09","tui.voice.control.disabled":"\u8BED\u97F3\u63A7\u5236\u5DF2\u5173\u95ED \u2014 \u4F7F\u7528\u5FEB\u901F ASR \u8F6C\u5199","tui.command.voice.control.title":"\u5207\u6362\u8BED\u97F3\u63A7\u5236\uFF08\u591A\u6A21\u6001\uFF09","tui.command.voice.control.title_on":"\u8BED\u97F3\u63A7\u5236\uFF1A\u5DF2\u5F00\u542F\uFF08\u591A\u6A21\u6001\uFF09 \u2014 \u70B9\u51FB\u5173\u95ED","tui.command.voice.control.title_off":"\u8BED\u97F3\u63A7\u5236\uFF1A\u5DF2\u5173\u95ED\uFF08\u5FEB\u901F ASR\uFF09 \u2014 \u70B9\u51FB\u5F00\u542F","tui.voice.error.no_auth":"\u8BF7\u5148\u7528 /connect \u8FDE\u63A5 QitQode \u8D26\u53F7\uFF0C\u6216\u914D\u7F6E voice.asr_model \u6307\u5B9A\u5176\u4ED6 provider","tui.voice.error.no_auth_provider":"\u8BED\u97F3 provider\u300C{{provider}}\u300D\u672A\u8BA4\u8BC1\uFF0C\u8BF7\u68C0\u67E5\u5176 apiKey \u914D\u7F6E","tui.voice.error.provider_not_found":"provider\u300C{{provider}}\u300D\u4E0D\u53EF\u7528 \u2014 \u8BF7 /connect \u8FDE\u63A5\uFF0C\u81EA\u5B9A\u4E49\u7AEF\u70B9\u9700\u5728\u914D\u7F6E\u4E2D\u58F0\u660E models","tui.voice.error.no_url":"provider\u300C{{provider}}\u300D\u672A\u914D\u7F6E baseURL\uFF0C\u8BF7\u5728 options.baseURL \u4E2D\u6307\u5B9A","tui.voice.error.no_device":"\u672A\u68C0\u6D4B\u5230\u9EA6\u514B\u98CE/\u97F3\u9891\u8BBE\u5907 \u2014 \u8BF7\u68C0\u67E5\u7CFB\u7EDF\u97F3\u9891\u8BBE\u7F6E","tui.voice.error.recorder_failed":"\u5F55\u97F3\u5931\u8D25","tui.voice.error.no_recorder":"\u672A\u68C0\u6D4B\u5230\u5F55\u97F3\u5DE5\u5177\uFF0C\u8BF7\u5B89\u88C5 sox","tui.voice.error.too_short":"\u5F55\u97F3\u65F6\u95F4\u8FC7\u77ED","tui.voice.error.network":"\u8F6C\u5199\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC","tui.voice.error.empty_send":"\u65E0\u5185\u5BB9\u53EF\u53D1\u9001","tui.voice.error.unknown_agent":"\u672A\u627E\u5230 agent\u300C{{name}}\u300D","tui.command.prompt.stash.title":"\u6682\u5B58\u63D0\u793A\u8BCD","tui.command.prompt.stash.pop.title":"\u5F39\u51FA\u6682\u5B58","tui.command.prompt.stash.list.title":"\u6682\u5B58\u5217\u8868","tui.command.tips.toggle.show":"\u663E\u793A Tips","tui.command.tips.toggle.hide":"\u9690\u85CF Tips","tui.command.plugins.list.title":"\u63D2\u4EF6","tui.command.plugins.install.title":"\u5B89\u88C5\u63D2\u4EF6","tui.dialog.login.title":"QitQode \u767B\u5F55","cli.providers.select":"\u9009\u62E9\u670D\u52A1\u5546","cli.providers.other":"\u5176\u4ED6 Provider","tui.dialog.login.import_claude":"\u4ECE Claude Code \u5BFC\u5165","tui.dialog.login.other":"\u5176\u4ED6\u670D\u52A1\u5546","tui.dialog.login.import_claude.no_key":"\u672A\u627E\u5230 Claude Code API Key","tui.dialog.login.import_claude.read_failed":"\u8BFB\u53D6 ~/.claude/settings.json \u5931\u8D25","tui.dialog.login.import_claude.success":"\u5DF2\u4ECE Claude Code \u5BFC\u5165\u914D\u7F6E","tui.question.plan_enter.question":"\u662F\u5426\u5207\u6362\u5230 plan \u6A21\u5F0F\u8FDB\u884C\u7ED3\u6784\u5316\u89C4\u5212\uFF1F","tui.question.plan_enter.header":"\u8FDB\u5165\u8BA1\u5212","tui.question.plan_enter.option.0.label":"\u662F","tui.question.plan_enter.option.0.description":"\u5207\u6362\u5230 plan \u667A\u80FD\u4F53\u8FDB\u884C\u53EA\u8BFB\u89C4\u5212","tui.question.plan_enter.option.1.label":"\u5426","tui.question.plan_enter.option.1.description":"\u7559\u5728\u5F53\u524D\u6A21\u5F0F","tui.question.plan_exit.question":"{{plan}} \u5904\u7684\u8BA1\u5212\u5DF2\u5B8C\u6210\u3002\u662F\u5426\u5207\u6362\u5230 build \u667A\u80FD\u4F53\u5F00\u59CB\u5B9E\u73B0\uFF1F","tui.question.plan_exit.header":"\u9000\u51FA\u8BA1\u5212","tui.question.plan_exit.option.0.label":"\u662F","tui.question.plan_exit.option.0.description":"\u5207\u6362\u5230 build \u667A\u80FD\u4F53\u5E76\u5F00\u59CB\u5B9E\u73B0\u8BA1\u5212","tui.question.plan_exit.option.1.label":"\u5426","tui.question.plan_exit.option.1.description":"\u7559\u5728 plan \u667A\u80FD\u4F53\u7EE7\u7EED\u5B8C\u5584\u8BA1\u5212","tui.session.badge.auto":"\u81EA\u52A8","trust.title":"\u8BBF\u95EE\u5DE5\u4F5C\u533A\uFF1A","trust.safety_check":"\u5B89\u5168\u786E\u8BA4\uFF1A\u8FD9\u662F\u4F60\u81EA\u5DF1\u521B\u5EFA\u6216\u4FE1\u4EFB\u7684\u9879\u76EE\u5417\uFF1F\uFF08\u5982\u4F60\u81EA\u5DF1\u7684\u4EE3\u7801\u3001\u77E5\u540D\u5F00\u6E90\u9879\u76EE\u6216\u56E2\u961F\u5185\u90E8\u9879\u76EE\uFF09\u3002\u5982\u679C\u4E0D\u662F\uFF0C\u8BF7\u5148\u68C0\u67E5\u6B64\u76EE\u5F55\u4E0B\u7684\u5185\u5BB9\u3002","trust.capabilities":"QitQode \u5C06\u80FD\u591F\u8BFB\u53D6\u3001\u7F16\u8F91\u548C\u6267\u884C\u6B64\u76EE\u5F55\u4E2D\u7684\u6587\u4EF6\u3002","trust.plugin_warn":"\u5982\u679C\u6B64\u76EE\u5F55\u4E2D\u5B58\u5728\u6076\u610F\u63D2\u4EF6\uFF0C\u5B83\u4EEC\u53EF\u4EE5\u6267\u884C\u4EFB\u610F\u4EE3\u7801\u3001\u8BFB\u53D6\u3001\u4FEE\u6539\u6216\u7A83\u53D6\u4F60\u7684\u6587\u4EF6\u3002","trust.option.yes":"\u662F\u7684\uFF0C\u6211\u4FE1\u4EFB\u6B64\u76EE\u5F55","trust.option.no":"\u5426\uFF0C\u9000\u51FA","trust.dangerous.title_home":"\u8B66\u544A\uFF1A\u4F60\u5373\u5C06\u6253\u5F00\u4E3B\u76EE\u5F55\u3002","trust.dangerous.title_root":"\u8B66\u544A\uFF1A\u4F60\u5373\u5C06\u6253\u5F00\u6587\u4EF6\u7CFB\u7EDF\u6839\u76EE\u5F55\u3002","trust.dangerous.body_home":"\u6A21\u578B\u5C06\u80FD\u591F\u8BBF\u95EE\u4F60\u6240\u6709\u7684\u4E2A\u4EBA\u6587\u4EF6 \u2014 SSH \u5BC6\u94A5\u3001\u51ED\u8BC1\u3001\u6D4F\u89C8\u5668\u914D\u7F6E\u7B49\u4E3B\u76EE\u5F55\u4E0B\u7684\u6240\u6709\u5185\u5BB9\u3002","trust.dangerous.body_root":"\u6A21\u578B\u5C06\u80FD\u591F\u8BBF\u95EE\u6574\u4E2A\u6587\u4EF6\u7CFB\u7EDF \u2014 \u7CFB\u7EDF\u6587\u4EF6\u3001\u6240\u6709\u7528\u6237\u6570\u636E\u3001\u51ED\u8BC1\u4EE5\u53CA\u8FD9\u53F0\u673A\u5668\u4E0A\u7684\u4E00\u5207\u3002","trust.dangerous.advice_home":"\u9664\u975E\u6709\u660E\u786E\u7684\u7406\u7531\uFF0C\u5426\u5219\u4E0D\u8981\u4FE1\u4EFB\u4F60\u7684\u6574\u4E2A\u4E3B\u76EE\u5F55\u3002","trust.dangerous.advice_root":"\u9664\u975E\u6709\u660E\u786E\u7684\u7406\u7531\uFF0C\u5426\u5219\u4E0D\u8981\u4FE1\u4EFB\u6587\u4EF6\u7CFB\u7EDF\u6839\u76EE\u5F55\u3002","trust.dangerous.option.yes":"\u6211\u4E86\u89E3\u98CE\u9669\uFF0C\u4EC5\u672C\u6B21\u4FE1\u4EFB","trust.dangerous.option.no":"\u9000\u51FA\uFF08\u63A8\u8350\uFF09"};
|
|
3
|
-
export{f as
|
|
3
|
+
export{f as xd};
|