@qitqode/qitqode-android-arm64 0.2.0 → 0.2.1
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-cx7p4ezk.js → chunk-03mbn7nj.js} +2 -2
- package/bundle/{chunk-aw8af3ky.js → chunk-073ydjmk.js} +1 -1
- package/bundle/{chunk-rrd0jf5m.js → chunk-07s30fpb.js} +1 -1
- package/bundle/{chunk-yacccwf6.js → chunk-087tnr8a.js} +1 -1
- package/bundle/{chunk-kx2dp8ch.js → chunk-0f3ft9dh.js} +1 -1
- package/bundle/{chunk-rgxy4ngt.js → chunk-0gab4v98.js} +1 -1
- package/bundle/chunk-0xrr0k94.js +2 -0
- package/bundle/chunk-0yagj4ss.js +2 -0
- package/bundle/chunk-0ych0f5w.js +2 -0
- package/bundle/{chunk-2pzvcpv4.js → chunk-0z1cxvk1.js} +2 -2
- package/bundle/{chunk-rph9zj24.js → chunk-0zxwjsvz.js} +1 -1
- package/bundle/{chunk-pqnbdygz.js → chunk-1p6jjrea.js} +2 -2
- package/bundle/{chunk-9cw4cnz0.js → chunk-1q1cddy4.js} +1 -1
- package/bundle/{chunk-w9pdvcf9.js → chunk-1sfcxdbw.js} +2 -2
- package/bundle/chunk-22hr3ndh.js +2 -0
- package/bundle/chunk-23tyxyyj.js +2 -0
- package/bundle/chunk-28g1ndpx.js +2 -0
- package/bundle/chunk-29v1v357.js +2 -0
- package/bundle/{chunk-txqc7543.js → chunk-29zm623f.js} +2 -2
- package/bundle/{chunk-wm77svwm.js → chunk-2a9rzgk6.js} +1 -1
- package/bundle/chunk-2avxtbv3.js +2 -0
- package/bundle/{chunk-eaqfnwdj.js → chunk-2bgqy6z7.js} +1 -1
- package/bundle/{chunk-9zre5e54.js → chunk-2hv2c8d5.js} +1 -1
- package/bundle/{chunk-swcgsrbj.js → chunk-2jpmxt4v.js} +1 -1
- package/bundle/chunk-2qk0k2eb.js +2 -0
- package/bundle/{chunk-nsjp44fp.js → chunk-2qwmrp16.js} +1 -1
- package/bundle/{chunk-dykqn0nj.js → chunk-2xqqkf86.js} +2 -2
- package/bundle/{chunk-r0g5yyhf.js → chunk-3aq70t26.js} +1 -1
- package/bundle/{chunk-zfcfyagt.js → chunk-3h49k2ck.js} +1 -1
- package/bundle/{chunk-sv1s1qxd.js → chunk-3kn57y8d.js} +5 -5
- package/bundle/chunk-3ktj87g4.js +2 -0
- package/bundle/{chunk-52b1v7mn.js → chunk-3qfpw8f6.js} +1 -1
- package/bundle/{chunk-v3x5nrc4.js → chunk-3tmq81kq.js} +2 -2
- package/bundle/chunk-3wxvpvg4.js +3 -0
- package/bundle/{chunk-neqy8j4n.js → chunk-42r7z6sq.js} +1 -1
- package/bundle/chunk-42wdfks8.js +2 -0
- package/bundle/chunk-4f19vqxf.js +2 -0
- package/bundle/{chunk-d93z6hrn.js → chunk-4fk46ngj.js} +1 -1
- package/bundle/{chunk-njkserae.js → chunk-4hd3v58j.js} +1 -1
- package/bundle/chunk-4jq25vbc.js +2 -0
- package/bundle/chunk-4m3k1atq.js +2 -0
- package/bundle/{chunk-1wpjmwnh.js → chunk-4mvg7jt1.js} +1 -1
- package/bundle/chunk-4n2ytddp.js +2 -0
- package/bundle/{chunk-zesbm9k1.js → chunk-4sxg9cgr.js} +1 -1
- package/bundle/{chunk-8fgamz4y.js → chunk-4v61ysex.js} +1 -1
- package/bundle/chunk-4yg42p6y.js +2 -0
- package/bundle/chunk-4zx3ze68.js +2 -0
- package/bundle/chunk-57xbwzdn.js +3 -0
- package/bundle/{chunk-rexdr63q.js → chunk-5az84brc.js} +2 -2
- package/bundle/{chunk-y0ydzdfc.js → chunk-5t0w9ecw.js} +1 -1
- package/bundle/{chunk-nq495be3.js → chunk-5wwd40t3.js} +1 -1
- package/bundle/chunk-637sjdzq.js +2 -0
- package/bundle/{chunk-snt1kefv.js → chunk-64c8q9zg.js} +3 -3
- package/bundle/{chunk-g794ey6w.js → chunk-6avjq7my.js} +1 -1
- package/bundle/chunk-6bghztra.js +2 -0
- package/bundle/{chunk-n0trgp1c.js → chunk-6dfjtzqb.js} +2 -2
- package/bundle/chunk-6h8f89tt.js +2 -0
- package/bundle/{chunk-b0jh0rby.js → chunk-6j339s7a.js} +2 -2
- package/bundle/{chunk-8q6z6emx.js → chunk-6kf4vw2g.js} +1 -1
- package/bundle/{chunk-hgsykghj.js → chunk-6pcmv8vs.js} +2 -2
- package/bundle/chunk-6sjj203r.js +2 -0
- package/bundle/{chunk-6r8pg6ma.js → chunk-6y4mwmn4.js} +1 -1
- package/bundle/{chunk-kt0ej3nq.js → chunk-6ypafpg8.js} +1 -1
- package/bundle/{chunk-p8kpqyxb.js → chunk-732yr6qq.js} +2 -2
- package/bundle/{chunk-3sz6gw10.js → chunk-73fz0cf4.js} +2 -2
- package/bundle/chunk-79aka9xe.js +2 -0
- package/bundle/{chunk-8tp4whyw.js → chunk-7my2231h.js} +1 -1
- package/bundle/{chunk-xjhezxft.js → chunk-7myg8076.js} +3 -3
- package/bundle/{chunk-vvzbfv2f.js → chunk-7njz51r4.js} +1 -1
- package/bundle/chunk-7nqdhe7x.js +2 -0
- package/bundle/{chunk-zaan8jk6.js → chunk-7ntw4rrn.js} +1 -1
- package/bundle/chunk-7rhry8nv.js +2 -0
- package/bundle/chunk-7x88b2n2.js +2 -0
- package/bundle/{chunk-46ztrjw0.js → chunk-7zvawpe1.js} +1 -1
- package/bundle/{chunk-jgz1a29w.js → chunk-86jsqc7d.js} +3 -3
- package/bundle/{chunk-zbqzm65q.js → chunk-86yk21g4.js} +1 -1
- package/bundle/{chunk-w3bmf3zz.js → chunk-8e6gx3gg.js} +1 -1
- package/bundle/chunk-8mthftwc.js +2 -0
- package/bundle/{chunk-73ckx171.js → chunk-8q5ns61h.js} +1 -1
- package/bundle/{chunk-549ptbaj.js → chunk-8rh0femq.js} +1 -1
- package/bundle/chunk-8wdara3b.js +2 -0
- package/bundle/chunk-8xhzpnph.js +2 -0
- package/bundle/{chunk-kqhh2pm9.js → chunk-94qhpkfx.js} +1 -1
- package/bundle/{chunk-gxmxx8jb.js → chunk-99148b1k.js} +1 -1
- package/bundle/chunk-9akz8w0d.js +2 -0
- package/bundle/{chunk-7gbytqkn.js → chunk-9b4aqcde.js} +2 -2
- package/bundle/{chunk-tdmn21z0.js → chunk-9ea1n338.js} +2 -2
- package/bundle/chunk-9eg2ytjd.js +17 -0
- package/bundle/chunk-9etpppyv.js +3 -0
- package/bundle/{chunk-vgaxv70x.js → chunk-9jrxrjzt.js} +2 -2
- package/bundle/{chunk-3bkdbqjj.js → chunk-9jsgs71h.js} +1 -1
- package/bundle/{chunk-twhavv1m.js → chunk-9nn4jpb7.js} +1 -1
- package/bundle/{chunk-pxx2hz0g.js → chunk-9rxyq6f9.js} +2 -2
- package/bundle/chunk-9tk4wsn4.js +2 -0
- package/bundle/{chunk-9fkmhmh6.js → chunk-9y15zjxa.js} +1 -1
- package/bundle/chunk-a0rjp24v.js +2 -0
- package/bundle/{chunk-mdzzcrf9.js → chunk-a2dz9nqh.js} +2 -2
- package/bundle/chunk-a7p0x4sw.js +2 -0
- package/bundle/{chunk-ev3a2sxv.js → chunk-a92hh67a.js} +2 -2
- package/bundle/chunk-ae0a496j.js +2 -0
- package/bundle/{chunk-px8vtbmr.js → chunk-ahyqfbmq.js} +2 -2
- package/bundle/chunk-aq1j9y18.js +2 -0
- package/bundle/chunk-aq8nz9hp.js +2 -0
- package/bundle/{chunk-zxddasg8.js → chunk-as845ya4.js} +1 -1
- package/bundle/chunk-b4zy78be.js +2 -0
- package/bundle/{chunk-45mjcxqk.js → chunk-b50t4jc5.js} +1 -1
- package/bundle/chunk-basjzwqp.js +2 -0
- package/bundle/{chunk-d1rn44wz.js → chunk-bbbh69ys.js} +1 -1
- package/bundle/{chunk-mw2hr4pd.js → chunk-bcx2vkv4.js} +1 -1
- package/bundle/{chunk-72zxassf.js → chunk-bggybm9k.js} +1 -1
- package/bundle/{chunk-4gs87ghj.js → chunk-bgng3rdj.js} +2 -2
- package/bundle/chunk-bhetpmgq.js +3 -0
- package/bundle/{chunk-bnz0mxak.js → chunk-bk3z400e.js} +1 -1
- package/bundle/chunk-bm7xpjh6.js +2 -0
- package/bundle/{chunk-nhwhkx62.js → chunk-bzs2ep7s.js} +1 -1
- package/bundle/{chunk-7fawtcnn.js → chunk-c1g8n10t.js} +1 -1
- package/bundle/chunk-c2k556rk.js +2 -0
- package/bundle/{chunk-w03fdrxe.js → chunk-cbf1y12x.js} +1 -1
- package/bundle/{chunk-vc4e6xc4.js → chunk-cbmwhvxw.js} +2 -2
- package/bundle/{chunk-5bate758.js → chunk-cp39f96a.js} +1 -1
- package/bundle/{chunk-9nk0ts0s.js → chunk-d307vb2d.js} +1 -1
- package/bundle/chunk-d41mg7at.js +2 -0
- package/bundle/chunk-d50kpss6.js +2 -0
- package/bundle/chunk-day0rb5p.js +2 -0
- package/bundle/{chunk-dz3s882k.js → chunk-dj3525nn.js} +4 -4
- package/bundle/{chunk-qq2rcxv2.js → chunk-dknemkw2.js} +2 -2
- package/bundle/chunk-dp7cww4v.js +2 -0
- package/bundle/{chunk-yeq7b87a.js → chunk-drwqag0f.js} +1 -1
- package/bundle/{chunk-qdcf1ay5.js → chunk-e586sjb0.js} +2 -2
- package/bundle/{chunk-qs4wef8c.js → chunk-e6wp96vm.js} +1 -1
- package/bundle/{chunk-g8cfzzrs.js → chunk-e89zjjmj.js} +1 -1
- package/bundle/chunk-egae7vvg.js +2 -0
- package/bundle/chunk-erdjd9w3.js +2 -0
- package/bundle/chunk-ex93y6dw.js +2 -0
- package/bundle/chunk-eyr0vf92.js +2 -0
- package/bundle/{chunk-02xcb52z.js → chunk-ezfzb8qc.js} +2 -2
- package/bundle/{chunk-kp8nkm3m.js → chunk-f1bcz9yz.js} +1 -1
- package/bundle/chunk-f4zfk5ye.js +2 -0
- package/bundle/{chunk-ceefd2nj.js → chunk-f7rj6fck.js} +1 -1
- package/bundle/{chunk-4sazy0nq.js → chunk-f83wv08n.js} +1 -1
- package/bundle/{chunk-eb8nsk7e.js → chunk-faa0zxey.js} +2 -2
- package/bundle/{chunk-3dr4469n.js → chunk-fbm6qczy.js} +1 -1
- package/bundle/{chunk-0g25z230.js → chunk-fd7fmvyw.js} +1 -1
- package/bundle/chunk-fghqr4x8.js +8 -0
- package/bundle/{chunk-0z33en1a.js → chunk-fgn83bs7.js} +1 -1
- package/bundle/{chunk-dshnn54c.js → chunk-fpm2vgz6.js} +1 -1
- package/bundle/chunk-fvkwcx35.js +2 -0
- package/bundle/{chunk-w5940jxm.js → chunk-fvy24yhq.js} +1 -1
- package/bundle/{chunk-gt6tgm42.js → chunk-fymt1rym.js} +1 -1
- package/bundle/{chunk-dt899wbf.js → chunk-g3kd4957.js} +2 -2
- package/bundle/{chunk-v7q3d3n6.js → chunk-g5cgpvef.js} +2 -2
- package/bundle/{chunk-909fp6pm.js → chunk-g9end129.js} +1 -1
- package/bundle/chunk-gbmmbhy4.js +2 -0
- package/bundle/chunk-gp877cq5.js +2 -0
- package/bundle/{chunk-tgd5ctnt.js → chunk-gr4bctqj.js} +2 -2
- package/bundle/{chunk-dvxk6mr6.js → chunk-grw4gg9j.js} +2 -2
- package/bundle/{chunk-mvnxwwe7.js → chunk-gtjn3yc4.js} +2 -2
- package/bundle/chunk-hk8vvc10.js +2 -0
- package/bundle/{chunk-cxtxvt43.js → chunk-hmznf0ax.js} +1 -1
- package/bundle/{chunk-gnt982jr.js → chunk-hpa7e9va.js} +3 -3
- package/bundle/{chunk-hcy77w6t.js → chunk-hq9bgnqb.js} +1 -1
- package/bundle/{chunk-gkj4a27z.js → chunk-hrw5rmj1.js} +1 -1
- package/bundle/{chunk-n2ygpy76.js → chunk-hs3vfhar.js} +1 -1
- package/bundle/chunk-hwavzxdm.js +2 -0
- package/bundle/chunk-hwnc2sa5.js +2 -0
- package/bundle/chunk-j2gvpa15.js +2 -0
- package/bundle/{chunk-te5tfq79.js → chunk-j3jqk62r.js} +1 -1
- package/bundle/{chunk-jqn27885.js → chunk-j5ymkhry.js} +1 -1
- package/bundle/chunk-j7n8khk7.js +2 -0
- package/bundle/{chunk-ws3p9cya.js → chunk-jgtcfw96.js} +2 -2
- package/bundle/{chunk-5myxjxae.js → chunk-jjjs8p0t.js} +2 -2
- package/bundle/chunk-jkh98wby.js +2 -0
- package/bundle/{chunk-h7w35n7w.js → chunk-jv4th87b.js} +1 -1
- package/bundle/{chunk-j63fkt6n.js → chunk-jvjq554f.js} +1 -1
- package/bundle/{chunk-00sr2gwz.js → chunk-jw114bbt.js} +2 -2
- package/bundle/{chunk-ax1y4699.js → chunk-jwph7tpc.js} +1 -1
- package/bundle/{chunk-xdacgfba.js → chunk-k1gddnkm.js} +1 -1
- package/bundle/chunk-k5a652s4.js +2 -0
- package/bundle/{chunk-1mcsf4yb.js → chunk-k6cbfrzc.js} +2 -2
- package/bundle/chunk-k6w32q2p.js +2 -0
- package/bundle/{chunk-rtdym35y.js → chunk-kc1xmcc9.js} +141 -135
- package/bundle/{chunk-5kmfnkzv.js → chunk-kdcnder5.js} +1 -1
- package/bundle/chunk-ke5rqv5b.js +2 -0
- package/bundle/chunk-kghwk0yh.js +2 -0
- package/bundle/{chunk-r6ndvzd0.js → chunk-km1n4ttr.js} +1 -1
- package/bundle/{chunk-m0xsvzyd.js → chunk-knh01n2r.js} +2 -2
- package/bundle/{chunk-ydc6ypjt.js → chunk-ks1cs80p.js} +2 -2
- package/bundle/{chunk-08q55ya0.js → chunk-kxjrrdj0.js} +1 -1
- package/bundle/{chunk-jts0dma5.js → chunk-kzvvvj79.js} +2 -2
- package/bundle/chunk-mgadsp7r.js +2 -0
- package/bundle/chunk-mk2s9py8.js +2 -0
- package/bundle/{chunk-hb9mc5f9.js → chunk-mpe8zxc0.js} +1 -1
- package/bundle/{chunk-yykjvt7f.js → chunk-mswx4k75.js} +2 -2
- package/bundle/{chunk-z0tfsdb9.js → chunk-mx3jd1p9.js} +1 -1
- package/bundle/{chunk-sxy4hyyy.js → chunk-mxf9p0p9.js} +1 -1
- package/bundle/{chunk-std2bgv7.js → chunk-mxhb5adq.js} +2 -2
- package/bundle/{chunk-gwfx7tx7.js → chunk-my3cswnp.js} +2 -2
- package/bundle/chunk-n0k0pp4k.js +2 -0
- package/bundle/chunk-n393nnh5.js +2 -0
- package/bundle/chunk-n5vyed7w.js +2 -0
- package/bundle/{chunk-jf6ry79j.js → chunk-n7kqdqkh.js} +4 -4
- package/bundle/{chunk-tdxbm1nd.js → chunk-n90eh3e7.js} +1 -1
- package/bundle/{chunk-n7d9eemn.js → chunk-nb86kh94.js} +211 -211
- package/bundle/{chunk-s8mghr5a.js → chunk-ngvp6zc2.js} +2 -2
- package/bundle/{chunk-98effz12.js → chunk-nh044sjn.js} +1 -1
- package/bundle/{chunk-ypk3t1eh.js → chunk-nm6wnne9.js} +1 -1
- package/bundle/{chunk-mcc5ynma.js → chunk-p4ewy9xh.js} +3 -3
- package/bundle/{chunk-d9x9kqvy.js → chunk-p5mes2sh.js} +1 -1
- package/bundle/{chunk-vgnddhdj.js → chunk-p635phfw.js} +1 -1
- package/bundle/{chunk-dgx4rq86.js → chunk-p887g1xj.js} +1 -1
- package/bundle/{chunk-7jhrxzjx.js → chunk-p9mj4zyk.js} +2 -2
- package/bundle/chunk-pasm65wq.js +2 -0
- package/bundle/chunk-pfh34atn.js +2 -0
- package/bundle/{chunk-xdjwapwy.js → chunk-pfkm3j8g.js} +2 -2
- package/bundle/chunk-phpmxjf8.js +2 -0
- package/bundle/{chunk-9dh9bc9d.js → chunk-pp9neaaz.js} +1 -1
- package/bundle/{chunk-c72jajx9.js → chunk-pzefsndd.js} +1 -1
- package/bundle/{chunk-dh1h513y.js → chunk-q128vfc6.js} +1 -1
- package/bundle/{chunk-z7vv0ngm.js → chunk-q148vndn.js} +2 -2
- package/bundle/{chunk-4fa390yr.js → chunk-q4fn41ex.js} +2 -2
- package/bundle/{chunk-zrmx397j.js → chunk-q5abwn50.js} +1 -1
- package/bundle/{chunk-s2xdf6qh.js → chunk-q9ft590w.js} +2 -2
- package/bundle/{chunk-7vftsy04.js → chunk-qaz100ht.js} +1 -1
- package/bundle/{chunk-17pxm5d3.js → chunk-qeg0jnxq.js} +2 -2
- package/bundle/{chunk-871f8x99.js → chunk-qf1dqzra.js} +2 -2
- package/bundle/{chunk-qyjt0qnq.js → chunk-qg9bt0kx.js} +2 -2
- package/bundle/{chunk-pnq1h5az.js → chunk-qhnpq5gb.js} +2 -2
- package/bundle/{chunk-kb6v5hhm.js → chunk-qkh8697x.js} +2 -2
- package/bundle/chunk-qvzvxsjw.js +2 -0
- package/bundle/chunk-qzszrd0s.js +2 -0
- package/bundle/{chunk-yzwgvjzd.js → chunk-r0s28gnb.js} +1 -1
- package/bundle/{chunk-k7n1csxv.js → chunk-r2qns6yc.js} +1 -1
- package/bundle/{chunk-yj6rbe9p.js → chunk-rcyzqa3g.js} +2 -2
- package/bundle/{chunk-70pb4kcm.js → chunk-rdwma0de.js} +2 -2
- package/bundle/{chunk-25bp7pcm.js → chunk-rk2bk4s7.js} +2 -2
- package/bundle/{chunk-x6rr6ss1.js → chunk-rm5ntsvn.js} +1 -1
- package/bundle/{chunk-fyz7fngd.js → chunk-rnq5ezrt.js} +1 -1
- package/bundle/{chunk-xhbb8b5g.js → chunk-rp8asmq7.js} +1 -1
- package/bundle/{chunk-z1rshv6g.js → chunk-rpfhgncs.js} +1 -1
- package/bundle/{chunk-cagk1sjd.js → chunk-s0ptrw0z.js} +1 -1
- package/bundle/{chunk-yw9pfqxt.js → chunk-s0ty36qg.js} +1 -1
- package/bundle/{chunk-pr1ysgr3.js → chunk-s7yza695.js} +1 -1
- package/bundle/chunk-s99cvvc9.js +2 -0
- package/bundle/{chunk-v0yxkq99.js → chunk-sh76e256.js} +2 -2
- package/bundle/chunk-skpkjnyy.js +2 -0
- package/bundle/{chunk-8r3410c2.js → chunk-skv9ww0s.js} +1 -1
- package/bundle/chunk-snt4kwab.js +2 -0
- package/bundle/chunk-sq47t8f1.js +2 -0
- package/bundle/chunk-sqhgnvvs.js +2 -0
- package/bundle/chunk-t114r59h.js +2 -0
- package/bundle/chunk-t1f56k0j.js +2 -0
- package/bundle/{chunk-9s4whpg1.js → chunk-t1jgx17a.js} +2 -2
- package/bundle/chunk-t69jx6fz.js +2 -0
- package/bundle/{chunk-srxx88nb.js → chunk-t9zbp2qw.js} +1 -1
- package/bundle/{chunk-jcjaw7tk.js → chunk-ta7mfkms.js} +2 -2
- package/bundle/{chunk-aj3y2e86.js → chunk-tce12v85.js} +1 -1
- package/bundle/{chunk-fn8191ps.js → chunk-tczbhj0e.js} +1 -1
- package/bundle/{chunk-h1kg35mn.js → chunk-tge53d52.js} +1 -1
- package/bundle/chunk-tq1dqhes.js +2 -0
- package/bundle/chunk-tsb3jsx4.js +2 -0
- package/bundle/chunk-ttpbpzbh.js +2 -0
- package/bundle/{chunk-2dkrfc1s.js → chunk-v5z6sx6j.js} +1 -1
- package/bundle/chunk-v667egp5.js +2 -0
- package/bundle/{chunk-w8d9srv7.js → chunk-v7mg632n.js} +2 -2
- package/bundle/{chunk-60qyqqxx.js → chunk-v9rg0a8g.js} +1 -1
- package/bundle/{chunk-jngchw38.js → chunk-ve3np791.js} +1 -1
- package/bundle/{chunk-wev34grp.js → chunk-vhe92p7a.js} +2 -2
- package/bundle/{chunk-qpzspr9z.js → chunk-vjx0064q.js} +2 -2
- package/bundle/{chunk-atpzz901.js → chunk-vm1ek7yf.js} +1 -1
- package/bundle/{chunk-3mepk08v.js → chunk-vqpfpmha.js} +2 -2
- package/bundle/{chunk-cdh26622.js → chunk-vqss3e48.js} +2 -2
- package/bundle/{chunk-ewpzqnj4.js → chunk-w79jzf8w.js} +1 -1
- package/bundle/{chunk-yha554nm.js → chunk-w7em72p8.js} +2 -2
- package/bundle/chunk-wcqfr8vr.js +3 -0
- package/bundle/{chunk-r58gzg6m.js → chunk-wdaf713t.js} +1 -1
- package/bundle/{chunk-ymtcm4xd.js → chunk-wf4x5cjc.js} +1 -1
- package/bundle/{chunk-vsys768k.js → chunk-wfggztm4.js} +1 -1
- package/bundle/{chunk-j5kyf7vt.js → chunk-wp3dpt6d.js} +2 -2
- package/bundle/{chunk-acyj91wq.js → chunk-x2cavpa9.js} +1 -1
- package/bundle/{chunk-kmtfdky8.js → chunk-x3afqfww.js} +2 -2
- package/bundle/{chunk-qb35hqm4.js → chunk-x4pdpka8.js} +1 -1
- package/bundle/{chunk-vm58fkrv.js → chunk-xd3xc1vv.js} +1 -1
- package/bundle/{chunk-m6zxr0j8.js → chunk-xjpvv3vp.js} +2 -2
- package/bundle/chunk-xnhvt98g.js +5 -0
- package/bundle/{chunk-64s7vfj7.js → chunk-xny5ecn0.js} +2 -2
- package/bundle/chunk-xwgc2pw7.js +28 -0
- package/bundle/chunk-xxrtr6sd.js +2 -0
- package/bundle/chunk-y287zwkr.js +10 -0
- package/bundle/{chunk-ezrskm25.js → chunk-y3dfk6n5.js} +1 -1
- package/bundle/{chunk-t01bhw5h.js → chunk-y4e7e42x.js} +3 -3
- package/bundle/chunk-y8eggnrr.js +2 -0
- package/bundle/{chunk-9xvctnjr.js → chunk-yajd975f.js} +1 -1
- package/bundle/chunk-yck5h49c.js +2 -0
- package/bundle/{chunk-8yr682pv.js → chunk-yd2emszh.js} +2 -2
- package/bundle/{chunk-p9zrk16q.js → chunk-yd8bzhv6.js} +1 -1
- package/bundle/{chunk-ztnepaqc.js → chunk-yerfyz4w.js} +1 -1
- package/bundle/{chunk-x42w8ewc.js → chunk-yg0pfngv.js} +1 -1
- package/bundle/{chunk-y1b2h15z.js → chunk-ypcc3cnb.js} +1 -1
- package/bundle/{chunk-tzrbb0e8.js → chunk-yqb6cfed.js} +2 -2
- package/bundle/{chunk-qy1a2tpc.js → chunk-yr35q7q1.js} +1 -1
- package/bundle/{chunk-rcyhqkv5.js → chunk-yrfq22a5.js} +1 -1
- package/bundle/{chunk-gg7bg3ek.js → chunk-yvjke593.js} +1 -1
- package/bundle/{chunk-zfnbk5gy.js → chunk-ywkvq7zb.js} +1 -1
- package/bundle/{chunk-p3rp99na.js → chunk-yx1h0b5v.js} +1 -1
- package/bundle/chunk-yxeja9kg.js +2 -0
- package/bundle/{chunk-mzbr0m2v.js → chunk-yz0pwv2m.js} +1 -1
- package/bundle/{chunk-q81m4m9z.js → chunk-z2h1gxyx.js} +1 -1
- package/bundle/{chunk-qqne79vp.js → chunk-zdzxsyxs.js} +2 -2
- package/bundle/{chunk-yzh4rmrt.js → chunk-zek5c15t.js} +1 -1
- package/bundle/{chunk-8dxdeksr.js → chunk-zfd70p01.js} +1 -1
- package/bundle/{chunk-pnpre7ys.js → chunk-zqkv8796.js} +1 -1
- package/bundle/chunk-ztn2jv26.js +11 -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-092bx2yw.js +0 -2
- package/bundle/chunk-0jrgk6vk.js +0 -2
- package/bundle/chunk-0ne5m1n3.js +0 -2
- package/bundle/chunk-0qn52zsd.js +0 -2
- package/bundle/chunk-10accb7b.js +0 -2
- package/bundle/chunk-13kpdfr7.js +0 -2
- package/bundle/chunk-15s8zwgf.js +0 -2
- package/bundle/chunk-1bx2sjn6.js +0 -11
- package/bundle/chunk-1kgyfja6.js +0 -2
- package/bundle/chunk-4dtkj9zg.js +0 -2
- package/bundle/chunk-4e9p3e0a.js +0 -2
- package/bundle/chunk-4tbqsrsn.js +0 -2
- package/bundle/chunk-53kns5wy.js +0 -2
- package/bundle/chunk-559ek1ym.js +0 -2
- package/bundle/chunk-55wxgsga.js +0 -2
- package/bundle/chunk-5ke0yqqz.js +0 -8
- package/bundle/chunk-5q1fz2az.js +0 -2
- package/bundle/chunk-5sgpjgss.js +0 -10
- package/bundle/chunk-88emsbaz.js +0 -2
- package/bundle/chunk-8yn64y27.js +0 -2
- package/bundle/chunk-8ywa7az5.js +0 -2
- package/bundle/chunk-8ywdddts.js +0 -2
- package/bundle/chunk-92zjark4.js +0 -2
- package/bundle/chunk-a6z0fhta.js +0 -2
- package/bundle/chunk-akpssv2d.js +0 -2
- package/bundle/chunk-aq28ejhv.js +0 -2
- package/bundle/chunk-b10px5g4.js +0 -2
- package/bundle/chunk-bha3sbsj.js +0 -2
- package/bundle/chunk-bs020a3x.js +0 -2
- package/bundle/chunk-bs61sezq.js +0 -2
- package/bundle/chunk-cmdjkx32.js +0 -2
- package/bundle/chunk-de2rfsaf.js +0 -2
- package/bundle/chunk-dncnyzaa.js +0 -2
- package/bundle/chunk-dp6zktka.js +0 -2
- package/bundle/chunk-dvqdtdza.js +0 -2
- package/bundle/chunk-ebabnv33.js +0 -3
- package/bundle/chunk-ebdpg3cn.js +0 -2
- package/bundle/chunk-eyc6tb5h.js +0 -2
- package/bundle/chunk-eze57bty.js +0 -2
- package/bundle/chunk-fa47vzfc.js +0 -2
- package/bundle/chunk-fe397ph0.js +0 -2
- package/bundle/chunk-fr75ytdr.js +0 -2
- package/bundle/chunk-fw2tnbt6.js +0 -2
- package/bundle/chunk-fwr2qgqb.js +0 -2
- package/bundle/chunk-g204pt98.js +0 -2
- package/bundle/chunk-gcgmwqhh.js +0 -2
- package/bundle/chunk-grdfpd57.js +0 -2
- package/bundle/chunk-gw36mrg4.js +0 -2
- package/bundle/chunk-h36qec67.js +0 -2
- package/bundle/chunk-h9gtymfm.js +0 -2
- package/bundle/chunk-h9qn35pn.js +0 -2
- package/bundle/chunk-hd8q4msp.js +0 -2
- package/bundle/chunk-hhjkezfz.js +0 -2
- package/bundle/chunk-hnz570f9.js +0 -3
- package/bundle/chunk-jfz8wwk9.js +0 -2
- package/bundle/chunk-js6hqmq7.js +0 -2
- package/bundle/chunk-k70x182t.js +0 -2
- package/bundle/chunk-kwzawx7r.js +0 -2
- package/bundle/chunk-m0mek3es.js +0 -2
- package/bundle/chunk-m31d2n6h.js +0 -2
- package/bundle/chunk-n14qktbg.js +0 -2
- package/bundle/chunk-n38h109k.js +0 -17
- package/bundle/chunk-nzzsj54n.js +0 -2
- package/bundle/chunk-p19qfw59.js +0 -2
- package/bundle/chunk-p2yxj9s4.js +0 -2
- package/bundle/chunk-ps9p14y6.js +0 -2
- package/bundle/chunk-qagc6v17.js +0 -2
- package/bundle/chunk-qc0zhbhm.js +0 -2
- package/bundle/chunk-r78kfhvz.js +0 -2
- package/bundle/chunk-rnd5mnsm.js +0 -2
- package/bundle/chunk-schtpyjs.js +0 -2
- package/bundle/chunk-sp8ek94w.js +0 -5
- package/bundle/chunk-sxwqrvmy.js +0 -28
- package/bundle/chunk-syc4b8rt.js +0 -2
- package/bundle/chunk-tcs6wgna.js +0 -3
- package/bundle/chunk-tf4xwqz7.js +0 -2
- package/bundle/chunk-tzg4z74d.js +0 -2
- package/bundle/chunk-v8vcwx23.js +0 -2
- package/bundle/chunk-vftqwdpg.js +0 -3
- package/bundle/chunk-w6rf2knb.js +0 -2
- package/bundle/chunk-wh7r96t3.js +0 -2
- package/bundle/chunk-wnjqaxze.js +0 -2
- package/bundle/chunk-xc9se3c8.js +0 -2
- package/bundle/chunk-xfz698bh.js +0 -2
- package/bundle/chunk-xxj3sgd5.js +0 -2
- package/bundle/chunk-xxvqq7kc.js +0 -2
- package/bundle/chunk-ye0mkqb4.js +0 -2
- package/bundle/chunk-yfp9y71y.js +0 -2
- package/bundle/chunk-yjjh339w.js +0 -2
- package/bundle/chunk-yt6vd7a5.js +0 -2
- package/bundle/chunk-yzn08nx1.js +0 -2
- package/bundle/chunk-yzq3c3dq.js +0 -2
- package/bundle/chunk-z1j25911.js +0 -2
- package/bundle/chunk-z210dtw1.js +0 -3
- package/bundle/chunk-z29ahthm.js +0 -2
- package/bundle/chunk-zgre4gc2.js +0 -2
- package/bundle/chunk-zthkjx33.js +0 -2
- package/bundle/chunk-zwvwbrsc.js +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{_u as Q}from"./chunk-vc4e6xc4.js";import{$u as u}from"./chunk-hnz570f9.js";import{SP as B}from"./chunk-ydc6ypjt.js";import{iQ as i}from"./chunk-4sazy0nq.js";var Pq={};i(Pq,{redactValue:()=>D,init:()=>Hq,flush:()=>Jq,file:()=>qq,enabled:()=>a,create:()=>h,Level:()=>s,Default:()=>e});import U from"path";import Z from"fs/promises";import{createWriteStream as m}from"fs";var Wq="https://qortex.forgewise.tech/api/v1/qortex/streamTier",Gq=new URL("https://qortex.forgewise.tech/api/v1/qortex/streamTier").origin,_="https://qortex.forgewise.tech/api/v1/qortex/streamTier".replace(/\/streamTier$/,""),Vq={name:"QitQode",family:"qlex",npm:"@qitqode/qlex-provider",limit:{context:200000,output:16384},capabilities:{temperature:!0,reasoning:!1,attachment:!0,toolcall:!0,input:{text:!0,audio:!1,image:!0,video:!1,pdf:!1},output:{text:!0,audio:!1,image:!1,video:!1,pdf:!1},interleaved:!1},release_date:"2025-07-06"};function F(q){return q.replace(/provider\s+'[^']*'\s*(?:stream\s+)?(?:failed|error)?\s*:?\s*/gi,"").replace(/\b(?:anthropic|openai|google|vertex\s*ai|bedrock|azure|x\.?ai|mistral|deepseek|cohere|groq|together(?:\.ai)?|openrouter|fireworks|perplexity|meta)\b/gi,"").replace(/\b(?:gpt|claude|gemini|grok|llama|qwen|sonnet|opus|haiku|o[0-9])[-\w.]*/gi,"").replace(/\s+/g," ").replace(/^[\s:;,.\-]+/,"").replace(/[\s.]+$/,"").trim()}var Fq={notLoggedIn:"Not logged in to QitQode. Run `qitqode auth login` to sign in with your Forgewise account.",rateLimit:"Rate limit exceeded. Please wait a moment before sending more requests.",insufficientBalance:(q)=>{let H=q?F(q):"";return`Insufficient qredits${H?`: ${H}`:""}. Add qredits at qitqode.com to continue.`},invalidCredentials:(q)=>{let H=q?F(q):"";return`Your QitQode sign-in has ended${H?` (${H})`:""}. Renewing it automatically didn't work, so signing in again is the only step left.`},accountNotLinked:(q)=>{let H=q?F(q):"";return`This credential isn't linked to a QitQode account${H?` (${H})`:""}, so there is no wallet to read. Sign in with your Forgewise account, or use a key issued to that account.`},gatewayUnavailable:(q)=>{let H=q?F(q):"";return`The QitQode model gateway is unavailable${H?` (${H})`:""}. Your sign-in is still valid \u2014 the model backend isn't reachable through its trusted gateway yet. This is a server-side configuration issue, not a login problem.`},streamFailed:(q)=>{let H=q?F(q):"";return`The QitQode model stream failed${H?`: ${H}`:""}.`},streamCutOff:()=>"The model's reply was cut off before it finished and QitQode could not recover it. This is a temporary upstream fault \u2014 your sign-in is fine and the service is reachable. Send the message again; if it keeps happening, try a shorter request or a different tier.",streamFailedAfterRetries:()=>"The model's reply was cut off before it finished. QitQode retried it, but the problem may be temporary or specific to this request. Send the message again; if it keeps happening, try a shorter request or a different tier.",outputBudgetExhausted:()=>"The model ran out of output room before it could finish. QitQode will retry once with more headroom when the tier allows it.",emptyOutput:()=>"The model used its output budget without producing visible text. QitQode did not receive an answer and no charge is implied.",requestRejected:(q,H)=>{let $=q?F(q):"",W=H?F(H):"";return`QitQode built an invalid request and the server rejected it${W?` (field: ${W})`:""}${$?`: ${$}`:""}. This is a problem with the request QitQode sent \u2014 not your sign-in, and not a gateway outage. Sending the same thing again will fail the same way.`},requestNotSent:(q)=>{let H=q?F(q):"";return`QitQode did not send this request${H?`: ${H}`:""}. Nothing was sent and no qredits were spent. This is a problem inside QitQode \u2014 not your sign-in, and not a gateway outage.`},requestTooLargeRecovering:(q)=>{let H=q?F(q):"";return`This request was too large to send${H?` (${H})`:""}, so QitQode removed some earlier conversation detail and is trying once more. Your sign-in is fine and the service is reachable.`},requestTooLargeIrreducible:(q)=>{let H=q?F(q):"";return`This request is too large for the service to accept${H?` (${H})`:""}, and QitQode couldn't make it smaller without losing your current request. Try removing large pasted text or attachments from your message, or start a new session. This isn't a sign-in problem or a service outage.`},requestTooLargeAfterReduction:(q)=>{let H=q?F(q):"";return`This request was still too large for the service after QitQode removed earlier conversation detail${H?` (${H})`:""}, so it stopped rather than retrying again. Start a new session, or send a shorter message with fewer attachments. This isn't a sign-in problem or a service outage.`},insufficientBalanceFallback:"Insufficient qredits.",insufficientBalanceCliSuffix:" Visit qitqode.com to add qredits.",invalidCredentialsFallback:"Your QitQode sign-in has ended and couldn't be renewed automatically. Sign in again.",apiKeyPrompt:"Paste your Qortex API key:",apiKeyPlaceholder:"qortex-...",loginMenuForgewise:"Sign in with Forgewise account",loginMenuApiKey:"Paste a Qortex API key",waitingForgewise:"\u23F3 Waiting for Forgewise sign-in in your browser\u2026"};function J(q){let H=process.env[q]?.toLowerCase();return H==="true"||H==="1"}function x(q){let H=process.env[q]?.toLowerCase();return H==="false"||H==="0"}function M(q){let H=process.env[q];if(!H)return;let $=Number(H);return Number.isInteger($)&&$>0?$:void 0}var K=J("QITQODE_EXPERIMENTAL"),C=J("QITQODE_DISABLE_CLAUDE_CODE"),O=J("QITQODE_DISABLE_EXTERNAL_SKILLS"),n=O||C||J("QITQODE_DISABLE_CLAUDE_CODE_SKILLS"),o=process.env.QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT,L={OTEL_EXPORTER_OTLP_ENDPOINT:process.env.OTEL_EXPORTER_OTLP_ENDPOINT,OTEL_EXPORTER_OTLP_HEADERS:process.env.OTEL_EXPORTER_OTLP_HEADERS,QITQODE_AUTO_SHARE:J("QITQODE_AUTO_SHARE"),QITQODE_AUTO_HEAP_SNAPSHOT:J("QITQODE_AUTO_HEAP_SNAPSHOT"),QITQODE_GIT_BASH_PATH:process.env.QITQODE_GIT_BASH_PATH,QITQODE_CONFIG:process.env.QITQODE_CONFIG,QITQODE_CONFIG_CONTENT:process.env.QITQODE_CONFIG_CONTENT,get QITQODE_BACKEND_URL(){return process.env.QITQODE_BACKEND_URL??_},get QITQODE_QLEX_MAX_REQUEST_BYTES(){return M("QITQODE_QLEX_MAX_REQUEST_BYTES")},QITQODE_DISABLE_AUTOUPDATE:J("QITQODE_DISABLE_AUTOUPDATE"),QITQODE_DISABLE_LOG_ROTATION:J("QITQODE_DISABLE_LOG_ROTATION"),QITQODE_ALWAYS_NOTIFY_UPDATE:J("QITQODE_ALWAYS_NOTIFY_UPDATE"),QITQODE_DISABLE_PRUNE:J("QITQODE_DISABLE_PRUNE"),QITQODE_DISABLE_TERMINAL_TITLE:J("QITQODE_DISABLE_TERMINAL_TITLE"),QITQODE_SHOW_TTFD:J("QITQODE_SHOW_TTFD"),QITQODE_PERMISSION:process.env.QITQODE_PERMISSION,QITQODE_DISABLE_DEFAULT_PLUGINS:J("QITQODE_DISABLE_DEFAULT_PLUGINS"),QITQODE_DISABLE_LSP_DOWNLOAD:!0,QITQODE_ENABLE_EXPERIMENTAL_MODELS:J("QITQODE_ENABLE_EXPERIMENTAL_MODELS"),QITQODE_DISABLE_AUTOCOMPACT:J("QITQODE_DISABLE_AUTOCOMPACT"),QITQODE_DISABLE_MODELS_FETCH:J("QITQODE_DISABLE_MODELS_FETCH"),QITQODE_DISABLE_MOUSE:J("QITQODE_DISABLE_MOUSE"),QITQODE_OUTPUT_LENGTH_CONTINUATION_LIMIT:M("QITQODE_OUTPUT_LENGTH_CONTINUATION_LIMIT")??3,QITQODE_INVALID_OUTPUT_CONTINUATION_LIMIT:M("QITQODE_INVALID_OUTPUT_CONTINUATION_LIMIT")??2,QITQODE_TEXT_NGRAM_N:M("QITQODE_TEXT_NGRAM_N")??6,QITQODE_TEXT_REPEAT_THRESHOLD:M("QITQODE_TEXT_REPEAT_THRESHOLD")??3,QITQODE_TEXT_WINDOW_TOKENS:M("QITQODE_TEXT_WINDOW_TOKENS")??500,QITQODE_MAX_PROMPT_IMAGES:M("QITQODE_MAX_PROMPT_IMAGES")??4,QITQODE_MAX_PROMPT_IMAGE_SIZE:M("QITQODE_MAX_PROMPT_IMAGE_SIZE")??393216,QITQODE_DISABLE_PROVIDER_ENV:J("QITQODE_DISABLE_PROVIDER_ENV"),QITQODE_DISABLE_CLAUDE_CODE:C,get QITQODE_DISABLE_CLAUDE_CODE_MCP(){return C||J("QITQODE_DISABLE_CLAUDE_CODE_MCP")},QITQODE_DISABLE_CLAUDE_CODE_PROMPT:C||J("QITQODE_DISABLE_CLAUDE_CODE_PROMPT"),QITQODE_DISABLE_CLAUDE_CODE_COMMANDS:J("QITQODE_DISABLE_CLAUDE_CODE_COMMANDS"),QITQODE_DISABLE_CLAUDE_CODE_SKILLS:n,QITQODE_DISABLE_EXTERNAL_SKILLS:O,QITQODE_DISABLE_CODEX_SKILLS:O||J("QITQODE_DISABLE_CODEX_SKILLS"),QITQODE_DISABLE_OPENCODE_SKILLS:O||J("QITQODE_DISABLE_OPENCODE_SKILLS"),QITQODE_FAKE_VCS:process.env.QITQODE_FAKE_VCS,QITQODE_DISABLE_GIT:J("QITQODE_DISABLE_GIT"),get QITQODE_SERVER_PASSWORD(){return process.env.QITQODE_SERVER_PASSWORD},get QITQODE_SERVER_USERNAME(){return process.env.QITQODE_SERVER_USERNAME},QITQODE_ENABLE_QUESTION_TOOL:J("QITQODE_ENABLE_QUESTION_TOOL"),QITQODE_EXPERIMENTAL:K,QITQODE_EXPERIMENTAL_FILEWATCHER:B.boolean("QITQODE_EXPERIMENTAL_FILEWATCHER").pipe(B.withDefault(!1)),QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER:B.boolean("QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER").pipe(B.withDefault(!1)),QITQODE_EXPERIMENTAL_ICON_DISCOVERY:K||J("QITQODE_EXPERIMENTAL_ICON_DISCOVERY"),QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT:o===void 0?process.platform==="win32":J("QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT"),QITQODE_ENABLE_EXA:J("QITQODE_ENABLE_EXA")||K||J("QITQODE_EXPERIMENTAL_EXA"),QITQODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS:M("QITQODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS"),QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX:M("QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX"),QITQODE_EXPERIMENTAL_OXFMT:K||J("QITQODE_EXPERIMENTAL_OXFMT"),QITQODE_EXPERIMENTAL_LSP_TY:J("QITQODE_EXPERIMENTAL_LSP_TY"),QITQODE_EXPERIMENTAL_LSP_TOOL:K||J("QITQODE_EXPERIMENTAL_LSP_TOOL"),QITQODE_EXPERIMENTAL_WORKFLOW_TOOL:!x("QITQODE_EXPERIMENTAL_WORKFLOW_TOOL"),QITQODE_EXPERIMENTAL_MARKDOWN:!x("QITQODE_EXPERIMENTAL_MARKDOWN"),QITQODE_MODELS_URL:process.env.QITQODE_MODELS_URL,QITQODE_MODELS_PATH:process.env.QITQODE_MODELS_PATH,QITQODE_DB:process.env.QITQODE_DB,QITQODE_DISABLE_CHANNEL_DB:!x("QITQODE_DISABLE_CHANNEL_DB"),QITQODE_SKIP_MIGRATIONS:J("QITQODE_SKIP_MIGRATIONS"),QITQODE_STRICT_CONFIG_DEPS:J("QITQODE_STRICT_CONFIG_DEPS"),QITQODE_WORKSPACE_ID:process.env.QITQODE_WORKSPACE_ID,QITQODE_EXPERIMENTAL_HTTPAPI:J("QITQODE_EXPERIMENTAL_HTTPAPI"),QITQODE_EXPERIMENTAL_WORKSPACES:K||J("QITQODE_EXPERIMENTAL_WORKSPACES"),get QITQODE_DISABLE_COMPOSE_SKILLS(){return J("QITQODE_DISABLE_COMPOSE_SKILLS")},get QITQODE_DISABLE_BUILTIN_SKILLS(){return J("QITQODE_DISABLE_BUILTIN_SKILLS")},get QITQODE_DISABLE_PROJECT_CONFIG(){return J("QITQODE_DISABLE_PROJECT_CONFIG")},get QITQODE_TUI_CONFIG(){return process.env.QITQODE_TUI_CONFIG},get QITQODE_CONFIG_DIR(){return process.env.QITQODE_CONFIG_DIR},get QITQODE_HOME(){return process.env.QITQODE_HOME},get QITQODE_PURE(){return J("QITQODE_PURE")},get QITQODE_PLUGIN_META_FILE(){return process.env.QITQODE_PLUGIN_META_FILE},get QITQODE_CLIENT(){return process.env.QITQODE_CLIENT??"cli"}};var s=u.enum(["DEBUG","INFO","WARN","ERROR"]).meta({ref:"LogLevel",description:"Log level"}),f={DEBUG:0,INFO:1,WARN:2,ERROR:3},l=10,r=52428800,t=209715200,p="INFO";function X(q){return f[q]>=f[p]}function a(q){return X(q)}var c=new Map,e=h({service:"default"}),G="";function qq(){return G}var z,T=0,v=!0,w=(q)=>{return process.stderr.write(q),q.length};function k(){return new Date().toISOString().split(".")[0].replace(/:/g,"")}async function Hq(q){if(q.level)p=q.level;if(v=q.rotate??!L.QITQODE_DISABLE_LOG_ROTATION,g(Q.Path.log),q.print)return;if(G=U.join(Q.Path.log,q.dev?"dev.log":k()+".log"),q.dev){let H=await Z.stat(G).catch(()=>null);if(H&&H.size>0)await Z.rename(G,`${G}.${k()}`).catch(()=>{})}else await Z.truncate(G).catch(()=>{});z=m(G,{flags:"a"}),T=0,w=(H)=>{return S=S.then(async()=>{if(T+=Buffer.byteLength(H),v&&T>=r)T=Buffer.byteLength(H),await $q();await new Promise(($)=>{if(!z){$();return}z.write(H,()=>$())})}).catch(()=>{}),H.length}}var S=Promise.resolve();async function Jq(){await S}async function $q(){let q=z,H=`${G}.${k()}`;for(let $=2;await Z.stat(H).then(()=>!0,()=>!1);$++)H=`${G}.${k()}.${$}`;if(await Z.rename(G,H).catch(()=>{}),z=m(G,{flags:"a"}),q)q.end();g(Q.Path.log)}async function g(q){let H=await Z.readdir(q).catch(()=>[]),W=(await Promise.all(H.filter((Y)=>Y.includes(".log")&&U.join(q,Y)!==G).map(async(Y)=>{let N=await Z.stat(U.join(q,Y)).catch(()=>null);return N?.isFile()?{name:Y,size:N.size}:null}))).flatMap((Y)=>Y?[Y]:[]).sort((Y,N)=>Y.name<N.name?-1:Y.name>N.name?1:0),j=W.reduce((Y,N)=>Y+N.size,0),P=W.length,R=W.filter((Y)=>{if(P<=l&&j<=t)return!1;return j-=Y.size,P-=1,!0});await Promise.all(R.map((Y)=>Z.unlink(U.join(q,Y.name)).catch(()=>{})))}var Yq=/token|secret|password|passwd|credential|api[_-]?key|authorization|cookie|set-cookie/i;function D(q,H){if(Yq.test(q)&&H!==void 0&&H!==null)return"[REDACTED]";return H}var A=10240;function jq(q){try{let H=JSON.stringify(q,function($,W){return $?D($,W):W});if(typeof H==="string"&&H.length>A)return H.slice(0,A)+`\u2026[truncated ${H.length-A} chars]`;return H}catch{return"[unserializable]"}}function d(q,H=0){let $=q.message;return q.cause instanceof Error&&H<10?$+" Caused by: "+d(q.cause,H+1):$}var E=Date.now();function h(q){q=q||{};let H=q.service;if(H&&typeof H==="string"){let j=c.get(H);if(j)return j}function $(j,P){let R=Object.entries({...q,...P}).filter(([y,V])=>V!==void 0&&V!==null).map(([y,V])=>{let b=`${y}=`;if(V instanceof Error)return b+d(V);let I=D(y,V);if(I!==V)return b+I;if(typeof V==="object"&&V!==null)return b+jq(V);return b+V}).join(" "),Y=new Date,N=Y.getTime()-E;return E=Y.getTime(),[Y.toISOString().split(".")[0],"+"+N+"ms",R,j].filter(Boolean).join(" ")+`
|
|
2
|
+
import{Dt as Q}from"./chunk-cbmwhvxw.js";import{Et as u}from"./chunk-9etpppyv.js";import{vO as B}from"./chunk-ks1cs80p.js";import{NO as i}from"./chunk-f83wv08n.js";var Pq={};i(Pq,{redactValue:()=>D,init:()=>Hq,flush:()=>Jq,file:()=>qq,enabled:()=>a,create:()=>h,Level:()=>s,Default:()=>e});import U from"path";import Z from"fs/promises";import{createWriteStream as m}from"fs";var Wq="https://qortex.forgewise.tech/api/v1/qortex/streamTier",Gq=new URL("https://qortex.forgewise.tech/api/v1/qortex/streamTier").origin,_="https://qortex.forgewise.tech/api/v1/qortex/streamTier".replace(/\/streamTier$/,""),Vq={name:"QitQode",family:"qlex",npm:"@qitqode/qlex-provider",limit:{context:200000,output:16384},capabilities:{temperature:!0,reasoning:!1,attachment:!0,toolcall:!0,input:{text:!0,audio:!1,image:!0,video:!1,pdf:!1},output:{text:!0,audio:!1,image:!1,video:!1,pdf:!1},interleaved:!1},release_date:"2025-07-06"};function F(q){return q.replace(/provider\s+'[^']*'\s*(?:stream\s+)?(?:failed|error)?\s*:?\s*/gi,"").replace(/\b(?:anthropic|openai|google|vertex\s*ai|bedrock|azure|x\.?ai|mistral|deepseek|cohere|groq|together(?:\.ai)?|openrouter|fireworks|perplexity|meta)\b/gi,"").replace(/\b(?:gpt|claude|gemini|grok|llama|qwen|sonnet|opus|haiku|o[0-9])[-\w.]*/gi,"").replace(/\s+/g," ").replace(/^[\s:;,.\-]+/,"").replace(/[\s.]+$/,"").trim()}var Fq={notLoggedIn:"Not logged in to QitQode. Run `qitqode auth login` to sign in with your Forgewise account.",rateLimit:"Rate limit exceeded. Please wait a moment before sending more requests.",insufficientBalance:(q)=>{let H=q?F(q):"";return`Insufficient qredits${H?`: ${H}`:""}. Add qredits at qitqode.com to continue.`},invalidCredentials:(q)=>{let H=q?F(q):"";return`Your QitQode sign-in has ended${H?` (${H})`:""}. Renewing it automatically didn't work, so signing in again is the only step left.`},accountNotLinked:(q)=>{let H=q?F(q):"";return`This credential isn't linked to a QitQode account${H?` (${H})`:""}, so there is no wallet to read. Sign in with your Forgewise account, or use a key issued to that account.`},gatewayUnavailable:(q)=>{let H=q?F(q):"";return`The QitQode model gateway is unavailable${H?` (${H})`:""}. Your sign-in is still valid \u2014 the model backend isn't reachable through its trusted gateway yet. This is a server-side configuration issue, not a login problem.`},streamFailed:(q)=>{let H=q?F(q):"";return`The QitQode model stream failed${H?`: ${H}`:""}.`},streamCutOff:()=>"The model's reply was cut off before it finished and QitQode could not recover it. This is a temporary upstream fault \u2014 your sign-in is fine and the service is reachable. Send the message again; if it keeps happening, try a shorter request or a different tier.",streamFailedAfterRetries:()=>"The model's reply was cut off before it finished. QitQode retried it, but the problem may be temporary or specific to this request. Send the message again; if it keeps happening, try a shorter request or a different tier.",outputBudgetExhausted:()=>"The model ran out of output room before it could finish. QitQode will retry once with more headroom when the tier allows it.",emptyOutput:()=>"The model used its output budget without producing visible text. QitQode did not receive an answer and no charge is implied.",requestRejected:(q,H)=>{let $=q?F(q):"",W=H?F(H):"";return`QitQode built an invalid request and the server rejected it${W?` (field: ${W})`:""}${$?`: ${$}`:""}. This is a problem with the request QitQode sent \u2014 not your sign-in, and not a gateway outage. Sending the same thing again will fail the same way.`},requestNotSent:(q)=>{let H=q?F(q):"";return`QitQode did not send this request${H?`: ${H}`:""}. Nothing was sent and no qredits were spent. This is a problem inside QitQode \u2014 not your sign-in, and not a gateway outage.`},requestTooLargeRecovering:(q)=>{let H=q?F(q):"";return`This request was too large to send${H?` (${H})`:""}, so QitQode removed some earlier conversation detail and is trying once more. Your sign-in is fine and the service is reachable.`},requestTooLargeIrreducible:(q)=>{let H=q?F(q):"";return`This request is too large for the service to accept${H?` (${H})`:""}, and QitQode couldn't make it smaller without losing your current request. Try removing large pasted text or attachments from your message, or start a new session. This isn't a sign-in problem or a service outage.`},requestTooLargeAfterReduction:(q)=>{let H=q?F(q):"";return`This request was still too large for the service after QitQode removed earlier conversation detail${H?` (${H})`:""}, so it stopped rather than retrying again. Start a new session, or send a shorter message with fewer attachments. This isn't a sign-in problem or a service outage.`},insufficientBalanceFallback:"Insufficient qredits.",insufficientBalanceCliSuffix:" Visit qitqode.com to add qredits.",invalidCredentialsFallback:"Your QitQode sign-in has ended and couldn't be renewed automatically. Sign in again.",apiKeyPrompt:"Paste your Qortex API key:",apiKeyPlaceholder:"qortex-...",loginMenuForgewise:"Sign in with Forgewise account",loginMenuApiKey:"Paste a Qortex API key",waitingForgewise:"\u23F3 Waiting for Forgewise sign-in in your browser\u2026"};function J(q){let H=process.env[q]?.toLowerCase();return H==="true"||H==="1"}function x(q){let H=process.env[q]?.toLowerCase();return H==="false"||H==="0"}function M(q){let H=process.env[q];if(!H)return;let $=Number(H);return Number.isInteger($)&&$>0?$:void 0}var K=J("QITQODE_EXPERIMENTAL"),C=J("QITQODE_DISABLE_CLAUDE_CODE"),O=J("QITQODE_DISABLE_EXTERNAL_SKILLS"),n=O||C||J("QITQODE_DISABLE_CLAUDE_CODE_SKILLS"),o=process.env.QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT,L={OTEL_EXPORTER_OTLP_ENDPOINT:process.env.OTEL_EXPORTER_OTLP_ENDPOINT,OTEL_EXPORTER_OTLP_HEADERS:process.env.OTEL_EXPORTER_OTLP_HEADERS,QITQODE_AUTO_SHARE:J("QITQODE_AUTO_SHARE"),QITQODE_AUTO_HEAP_SNAPSHOT:J("QITQODE_AUTO_HEAP_SNAPSHOT"),QITQODE_GIT_BASH_PATH:process.env.QITQODE_GIT_BASH_PATH,QITQODE_CONFIG:process.env.QITQODE_CONFIG,QITQODE_CONFIG_CONTENT:process.env.QITQODE_CONFIG_CONTENT,get QITQODE_BACKEND_URL(){return process.env.QITQODE_BACKEND_URL??_},get QITQODE_QLEX_MAX_REQUEST_BYTES(){return M("QITQODE_QLEX_MAX_REQUEST_BYTES")},QITQODE_DISABLE_AUTOUPDATE:J("QITQODE_DISABLE_AUTOUPDATE"),QITQODE_DISABLE_LOG_ROTATION:J("QITQODE_DISABLE_LOG_ROTATION"),QITQODE_ALWAYS_NOTIFY_UPDATE:J("QITQODE_ALWAYS_NOTIFY_UPDATE"),QITQODE_DISABLE_PRUNE:J("QITQODE_DISABLE_PRUNE"),QITQODE_DISABLE_TERMINAL_TITLE:J("QITQODE_DISABLE_TERMINAL_TITLE"),QITQODE_SHOW_TTFD:J("QITQODE_SHOW_TTFD"),QITQODE_PERMISSION:process.env.QITQODE_PERMISSION,QITQODE_DISABLE_DEFAULT_PLUGINS:J("QITQODE_DISABLE_DEFAULT_PLUGINS"),QITQODE_DISABLE_LSP_DOWNLOAD:!0,QITQODE_ENABLE_EXPERIMENTAL_MODELS:J("QITQODE_ENABLE_EXPERIMENTAL_MODELS"),QITQODE_DISABLE_AUTOCOMPACT:J("QITQODE_DISABLE_AUTOCOMPACT"),QITQODE_DISABLE_MODELS_FETCH:J("QITQODE_DISABLE_MODELS_FETCH"),QITQODE_DISABLE_MOUSE:J("QITQODE_DISABLE_MOUSE"),QITQODE_OUTPUT_LENGTH_CONTINUATION_LIMIT:M("QITQODE_OUTPUT_LENGTH_CONTINUATION_LIMIT")??3,QITQODE_INVALID_OUTPUT_CONTINUATION_LIMIT:M("QITQODE_INVALID_OUTPUT_CONTINUATION_LIMIT")??2,QITQODE_TEXT_NGRAM_N:M("QITQODE_TEXT_NGRAM_N")??6,QITQODE_TEXT_REPEAT_THRESHOLD:M("QITQODE_TEXT_REPEAT_THRESHOLD")??3,QITQODE_TEXT_WINDOW_TOKENS:M("QITQODE_TEXT_WINDOW_TOKENS")??500,QITQODE_MAX_PROMPT_IMAGES:M("QITQODE_MAX_PROMPT_IMAGES")??4,QITQODE_MAX_PROMPT_IMAGE_SIZE:M("QITQODE_MAX_PROMPT_IMAGE_SIZE")??393216,QITQODE_DISABLE_PROVIDER_ENV:J("QITQODE_DISABLE_PROVIDER_ENV"),QITQODE_DISABLE_CLAUDE_CODE:C,get QITQODE_DISABLE_CLAUDE_CODE_MCP(){return C||J("QITQODE_DISABLE_CLAUDE_CODE_MCP")},QITQODE_DISABLE_CLAUDE_CODE_PROMPT:C||J("QITQODE_DISABLE_CLAUDE_CODE_PROMPT"),QITQODE_DISABLE_CLAUDE_CODE_COMMANDS:J("QITQODE_DISABLE_CLAUDE_CODE_COMMANDS"),QITQODE_DISABLE_CLAUDE_CODE_SKILLS:n,QITQODE_DISABLE_EXTERNAL_SKILLS:O,QITQODE_DISABLE_CODEX_SKILLS:O||J("QITQODE_DISABLE_CODEX_SKILLS"),QITQODE_DISABLE_OPENCODE_SKILLS:O||J("QITQODE_DISABLE_OPENCODE_SKILLS"),QITQODE_FAKE_VCS:process.env.QITQODE_FAKE_VCS,QITQODE_DISABLE_GIT:J("QITQODE_DISABLE_GIT"),get QITQODE_SERVER_PASSWORD(){return process.env.QITQODE_SERVER_PASSWORD},get QITQODE_SERVER_USERNAME(){return process.env.QITQODE_SERVER_USERNAME},QITQODE_ENABLE_QUESTION_TOOL:J("QITQODE_ENABLE_QUESTION_TOOL"),QITQODE_EXPERIMENTAL:K,QITQODE_EXPERIMENTAL_FILEWATCHER:B.boolean("QITQODE_EXPERIMENTAL_FILEWATCHER").pipe(B.withDefault(!1)),QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER:B.boolean("QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER").pipe(B.withDefault(!1)),QITQODE_EXPERIMENTAL_ICON_DISCOVERY:K||J("QITQODE_EXPERIMENTAL_ICON_DISCOVERY"),QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT:o===void 0?process.platform==="win32":J("QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT"),QITQODE_ENABLE_EXA:J("QITQODE_ENABLE_EXA")||K||J("QITQODE_EXPERIMENTAL_EXA"),QITQODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS:M("QITQODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS"),QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX:M("QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX"),QITQODE_EXPERIMENTAL_OXFMT:K||J("QITQODE_EXPERIMENTAL_OXFMT"),QITQODE_EXPERIMENTAL_LSP_TY:J("QITQODE_EXPERIMENTAL_LSP_TY"),QITQODE_EXPERIMENTAL_LSP_TOOL:K||J("QITQODE_EXPERIMENTAL_LSP_TOOL"),QITQODE_EXPERIMENTAL_WORKFLOW_TOOL:!x("QITQODE_EXPERIMENTAL_WORKFLOW_TOOL"),QITQODE_EXPERIMENTAL_MARKDOWN:!x("QITQODE_EXPERIMENTAL_MARKDOWN"),QITQODE_MODELS_URL:process.env.QITQODE_MODELS_URL,QITQODE_MODELS_PATH:process.env.QITQODE_MODELS_PATH,QITQODE_DB:process.env.QITQODE_DB,QITQODE_DISABLE_CHANNEL_DB:!x("QITQODE_DISABLE_CHANNEL_DB"),QITQODE_SKIP_MIGRATIONS:J("QITQODE_SKIP_MIGRATIONS"),QITQODE_STRICT_CONFIG_DEPS:J("QITQODE_STRICT_CONFIG_DEPS"),QITQODE_WORKSPACE_ID:process.env.QITQODE_WORKSPACE_ID,QITQODE_EXPERIMENTAL_HTTPAPI:J("QITQODE_EXPERIMENTAL_HTTPAPI"),QITQODE_EXPERIMENTAL_WORKSPACES:K||J("QITQODE_EXPERIMENTAL_WORKSPACES"),get QITQODE_DISABLE_COMPOSE_SKILLS(){return J("QITQODE_DISABLE_COMPOSE_SKILLS")},get QITQODE_DISABLE_BUILTIN_SKILLS(){return J("QITQODE_DISABLE_BUILTIN_SKILLS")},get QITQODE_DISABLE_PROJECT_CONFIG(){return J("QITQODE_DISABLE_PROJECT_CONFIG")},get QITQODE_TUI_CONFIG(){return process.env.QITQODE_TUI_CONFIG},get QITQODE_CONFIG_DIR(){return process.env.QITQODE_CONFIG_DIR},get QITQODE_HOME(){return process.env.QITQODE_HOME},get QITQODE_PURE(){return J("QITQODE_PURE")},get QITQODE_PLUGIN_META_FILE(){return process.env.QITQODE_PLUGIN_META_FILE},get QITQODE_CLIENT(){return process.env.QITQODE_CLIENT??"cli"}};var s=u.enum(["DEBUG","INFO","WARN","ERROR"]).meta({ref:"LogLevel",description:"Log level"}),f={DEBUG:0,INFO:1,WARN:2,ERROR:3},l=10,r=52428800,t=209715200,p="INFO";function X(q){return f[q]>=f[p]}function a(q){return X(q)}var c=new Map,e=h({service:"default"}),G="";function qq(){return G}var z,T=0,v=!0,w=(q)=>{return process.stderr.write(q),q.length};function k(){return new Date().toISOString().split(".")[0].replace(/:/g,"")}async function Hq(q){if(q.level)p=q.level;if(v=q.rotate??!L.QITQODE_DISABLE_LOG_ROTATION,g(Q.Path.log),q.print)return;if(G=U.join(Q.Path.log,q.dev?"dev.log":k()+".log"),q.dev){let H=await Z.stat(G).catch(()=>null);if(H&&H.size>0)await Z.rename(G,`${G}.${k()}`).catch(()=>{})}else await Z.truncate(G).catch(()=>{});z=m(G,{flags:"a"}),T=0,w=(H)=>{return S=S.then(async()=>{if(T+=Buffer.byteLength(H),v&&T>=r)T=Buffer.byteLength(H),await $q();await new Promise(($)=>{if(!z){$();return}z.write(H,()=>$())})}).catch(()=>{}),H.length}}var S=Promise.resolve();async function Jq(){await S}async function $q(){let q=z,H=`${G}.${k()}`;for(let $=2;await Z.stat(H).then(()=>!0,()=>!1);$++)H=`${G}.${k()}.${$}`;if(await Z.rename(G,H).catch(()=>{}),z=m(G,{flags:"a"}),q)q.end();g(Q.Path.log)}async function g(q){let H=await Z.readdir(q).catch(()=>[]),W=(await Promise.all(H.filter((Y)=>Y.includes(".log")&&U.join(q,Y)!==G).map(async(Y)=>{let N=await Z.stat(U.join(q,Y)).catch(()=>null);return N?.isFile()?{name:Y,size:N.size}:null}))).flatMap((Y)=>Y?[Y]:[]).sort((Y,N)=>Y.name<N.name?-1:Y.name>N.name?1:0),j=W.reduce((Y,N)=>Y+N.size,0),P=W.length,R=W.filter((Y)=>{if(P<=l&&j<=t)return!1;return j-=Y.size,P-=1,!0});await Promise.all(R.map((Y)=>Z.unlink(U.join(q,Y.name)).catch(()=>{})))}var Yq=/token|secret|password|passwd|credential|api[_-]?key|authorization|cookie|set-cookie/i;function D(q,H){if(Yq.test(q)&&H!==void 0&&H!==null)return"[REDACTED]";return H}var A=10240;function jq(q){try{let H=JSON.stringify(q,function($,W){return $?D($,W):W});if(typeof H==="string"&&H.length>A)return H.slice(0,A)+`\u2026[truncated ${H.length-A} chars]`;return H}catch{return"[unserializable]"}}function d(q,H=0){let $=q.message;return q.cause instanceof Error&&H<10?$+" Caused by: "+d(q.cause,H+1):$}var E=Date.now();function h(q){q=q||{};let H=q.service;if(H&&typeof H==="string"){let j=c.get(H);if(j)return j}function $(j,P){let R=Object.entries({...q,...P}).filter(([y,V])=>V!==void 0&&V!==null).map(([y,V])=>{let b=`${y}=`;if(V instanceof Error)return b+d(V);let I=D(y,V);if(I!==V)return b+I;if(typeof V==="object"&&V!==null)return b+jq(V);return b+V}).join(" "),Y=new Date,N=Y.getTime()-E;return E=Y.getTime(),[Y.toISOString().split(".")[0],"+"+N+"ms",R,j].filter(Boolean).join(" ")+`
|
|
3
3
|
`}let W={debug(j,P){if(X("DEBUG"))w("DEBUG "+$(j,P))},info(j,P){if(X("INFO"))w("INFO "+$(j,P))},error(j,P){if(X("ERROR"))w("ERROR "+$(j,P))},warn(j,P){if(X("WARN"))w("WARN "+$(j,P))},tag(j,P){if(q)q[j]=P;return W},clone(){return h({...q})},time(j,P){let R=Date.now();W.info(j,{status:"started",...P});function Y(){W.info(j,{status:"completed",duration:Date.now()-R,...P})}return{stop:Y,[Symbol.dispose](){Y()}}}};if(H&&typeof H==="string")c.set(H,W);return W}
|
|
4
|
-
export{Wq as
|
|
4
|
+
export{Wq as _s,Gq as $s,_ as at,Vq as bt,F as ct,Fq as dt,L as et,s as ft,a as gt,e as ht,qq as it,Hq as jt,Jq as kt,D as lt,h as mt,Pq as nt};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{$i as
|
|
2
|
+
import{$i as e,Aj as F,Bj as G,Cj as H,Dj as I,Ej as J,Fj as K,Gj as L,Hj as M,Ij as N,Jj as O,Kj as P,Lj as Q,Mj as R,Xi as a,Yi as b,Zi as c,_i as d,aj as f,bj as g,cj as h,dj as i,ej as j,fj as k,gj as l,hj as m,ij as n,jj as o,kj as p,lj as q,mj as r,nj as s,oj as t,pj as u,qj as v,rj as w,sj as x,tj as y,uj as z,vj as A,wj as B,xj as C,yj as D,zj as E}from"./chunk-vhe92p7a.js";import"./chunk-wf4x5cjc.js";import"./chunk-f83wv08n.js";export{Q as zodToJsonSchema,u as zodPatterns,g as setResponseValueAndErrors,O as selectParser,B as primitiveMappings,M as parseUnknownDef,C as parseUnionDef,L as parseUndefinedDef,K as parseTupleDef,v as parseStringDef,J as parseSetDef,w as parseRecordDef,N as parseReadonlyDef,I as parsePromiseDef,H as parsePipelineDef,G as parseOptionalDef,F as parseObjectDef,E as parseNumberDef,D as parseNullableDef,A as parseNullDef,z as parseNeverDef,y as parseNativeEnumDef,x as parseMapDef,t as parseLiteralDef,s as parseIntersectionDef,r as parseEnumDef,q as parseEffectsDef,p as parseDefaultDef,P as parseDef,o as parseDateDef,n as parseCatchDef,m as parseBrandedDef,l as parseBooleanDef,k as parseBigintDef,j as parseArrayDef,i as parseAnyDef,b as jsonDescription,a as ignoreOverride,h as getRelativePath,e as getRefs,d as getDefaultOptions,c as defaultOptions,R as default,f as addErrorMessage};
|
|
@@ -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 zd};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
3
|
-
export{s as
|
|
2
|
+
import{Yk as e}from"./chunk-kc1xmcc9.js";import{Yl as r}from"./chunk-xnhvt98g.js";import{Et as o}from"./chunk-9etpppyv.js";var s=o.object({id:e.zod,type:o.string(),name:o.string(),branch:o.string().nullable(),directory:o.string().nullable(),extra:o.unknown().nullable(),projectID:r.zod});
|
|
3
|
+
export{s as Bg};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{im as an,jm as _i,km as bn,lm as Ni,nm as Yr,om as zr}from"./chunk-hpa7e9va.js";import{$m as Ir,Am as _r,Bm as Nr,Cm as pr,Dm as Ar,Em as V,Fm as Tr,Gm as Or,Hm as $r,Im as Dr,Jm as vr,Km as Br,Lm as j,Mm as v,Nm as yn,Om as un,Pm as Xo,Qm as Qr,Rm as Z,Sm as go,Tm as Kn,Um as lo,Vm as so,Wm as _o,Xm as No,Ym as po,Zm as Ao,_m as To,an as Oo,bn as $o,cn as Do,dn as Lr,en as vo,fn as dr,gn as Bo,hn as Gr,in as Jr,jn as Mr,kn as Sr,ln as Cr,mn as Hr,nn as Qo,on as Io,pm as uo,pn as Fo,qm as yo,sm as er,tm as mr,um as ur,un as ui,vm as yr,wm as fr,xm as gr,ym as lr,zm as sr}from"./chunk-y287zwkr.js";import{$n as Fn,do as jn}from"./chunk-e586sjb0.js";import{eo as gi}from"./chunk-b50t4jc5.js";import{fo as Mo}from"./chunk-zdzxsyxs.js";import{Mq as Wn,Nq as hn,Oq as Nn,Pq as hr,Qq as ti,Sq as ni}from"./chunk-qkh8697x.js";import{Tq as ri}from"./chunk-qg9bt0kx.js";import{Ur as gn}from"./chunk-hmznf0ax.js";import{rs as ro}from"./chunk-73fz0cf4.js";import{vs as Ro}from"./chunk-sh76e256.js";import{et as nn,nt as c}from"./chunk-x3afqfww.js";import{Dt as $n,qt as Xr,tt as qo,ut as k,yt as mo}from"./chunk-cbmwhvxw.js";import{Et as a}from"./chunk-9etpppyv.js";import{Bz as Jn,Pz as Cn,tz as pn}from"./chunk-1p6jjrea.js";import{AK as Zr,BJ as Uo,EB as cn,FI as Ln,GE as Ur,SB as vn,WE as h,cE as Ko,jE as Xn,kO as N,qE as ln,xH as r}from"./chunk-ks1cs80p.js";import{NO as On}from"./chunk-f83wv08n.js";var Vo={};On(Vo,{run:()=>$i});var mn={time_created:j().notNull().$default(()=>Date.now()),time_updated:j().notNull().$onUpdate(()=>Date.now())};var J=un("project",{id:v().$type().primaryKey(),worktree:v().notNull(),vcs:v(),name:v(),icon_url:v(),icon_color:v(),...mn,time_initialized:j(),sandboxes:v({mode:"json"}).notNull().$type(),commands:v({mode:"json"}).$type()});var fn=un("session",{id:v().$type().primaryKey(),project_id:v().$type().notNull().references(()=>J.id,{onDelete:"cascade"}),workspace_id:v().$type(),parent_id:v().$type(),context_from:v().$type(),context_watermark:v().$type(),slug:v().notNull(),directory:v().notNull(),title:v().notNull(),version:v().notNull(),share_url:v(),summary_additions:j(),summary_deletions:j(),summary_files:j(),summary_diffs:v({mode:"json"}).$type(),revert:v({mode:"json"}).$type(),permission:v({mode:"json"}).$type(),...mn,time_compacting:j(),time_archived:j(),last_checkpoint_message_id:v().$type()},(n)=>[yn("session_project_idx").on(n.project_id),yn("session_workspace_idx").on(n.workspace_id),yn("session_parent_idx").on(n.parent_id),yn("session_context_from_idx").on(n.context_from)]),eo=un("message",{id:v().$type().primaryKey(),session_id:v().$type().notNull().references(()=>fn.id,{onDelete:"cascade"}),agent_id:v().notNull().default("main"),...mn,data:v({mode:"json"}).notNull().$type()},(n)=>[yn("message_session_time_created_id_idx").on(n.session_id,n.time_created,n.id),yn("message_session_agent_idx").on(n.session_id,n.agent_id,n.id)]),Yo=un("part",{id:v().$type().primaryKey(),message_id:v().$type().notNull().references(()=>eo.id,{onDelete:"cascade"}),session_id:v().$type().notNull(),...mn,data:v({mode:"json"}).notNull().$type()},(n)=>[yn("part_message_id_id_idx").on(n.message_id,n.id),yn("part_session_idx").on(n.session_id)]),zo=un("todo",{session_id:v().$type().notNull().references(()=>fn.id,{onDelete:"cascade"}),content:v().notNull(),status:v().notNull(),position:j().notNull(),...mn},(n)=>[Xo({columns:[n.session_id,n.position]}),yn("todo_session_idx").on(n.session_id)]),co=un("permission",{project_id:v().primaryKey().references(()=>J.id,{onDelete:"cascade"}),...mn,data:v({mode:"json"}).notNull().$type()});var ko=un("session_share",{session_id:v().primaryKey().references(()=>fn.id,{onDelete:"cascade"}),id:v().notNull(),secret:v().notNull(),url:v().notNull(),...mn});import z from"path";var U=c.create({service:"json-migration"});async function $i(n,o){let i=z.join($n.Path.data,"storage");if(!await mo.exists(i))return U.info("storage directory does not exist, skipping migration"),{projects:0,sessions:0,messages:0,parts:0,todos:0,permissions:0,shares:0,errors:[]};U.info("starting json to sqlite migration",{storageDir:i});let l=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:[]},A={sessions:0,todos:0,permissions:0,shares:0},_=e.errors,T=1000,M=Date.now();async function x(f){return qo.scan(f,{cwd:i,absolute:!0})}async function C(f,d,S){let B=S-d,p=Array(B);for(let E=0;E<B;E++)p[E]=mo.readJson(f[d+E]);let G=await Promise.allSettled(p),W=Array(B);for(let E=0;E<G.length;E++){let q=G[E];if(q.status==="fulfilled"){W[E]=q.value;continue}_.push(`failed to read ${f[d+E]}: ${q.reason}`)}return W}function H(f,d,S){if(f.length===0)return 0;try{return n.insert(d).values(f).onConflictDoNothing().run(),f.length}catch(B){return _.push(`failed to migrate ${S} batch: ${B}`),0}}U.info("scanning files...");let[K,$,Q,L,g,s,m]=await Promise.all([x("project/*.json"),x("session/*/*.json"),x("message/*/*.json"),x("part/*/*.json"),x("todo/*.json"),x("permission/*.json"),x("session_share/*.json")]);U.info("file scan complete",{projects:K.length,sessions:$.length,messages:Q.length,parts:L.length,todos:g.length,permissions:s.length,shares:m.length});let y=Math.max(1,K.length+$.length+Q.length+L.length+g.length+s.length+m.length),t=o?.progress,u=0,D=(f,d)=>{u=Math.min(y,u+d),t?.({current:u,total:y,label:f})};t?.({current:u,total:y,label:"starting"}),n.run("BEGIN TRANSACTION");let I=new Set,O=[];for(let f=0;f<K.length;f+=T){let d=Math.min(f+T,K.length),S=await C(K,f,d);O.length=0;for(let B=0;B<S.length;B++){let p=S[B];if(!p)continue;let G=z.basename(K[f+B],".json");I.add(G),O.push({id:G,worktree:p.worktree??"/",vcs:p.vcs,name:p.name??void 0,icon_url:p.icon?.url,icon_color:p.icon?.color,time_created:p.time?.created??M,time_updated:p.time?.updated??M,time_initialized:p.time?.initialized,sandboxes:p.sandboxes??[],commands:p.commands})}e.projects+=H(O,J,"project"),D("projects",d-f)}U.info("migrated projects",{count:e.projects,duration:Math.round(performance.now()-l)});let P=$.map((f)=>z.basename(z.dirname(f))),Y=new Set,en=[];for(let f=0;f<$.length;f+=T){let d=Math.min(f+T,$.length),S=await C($,f,d);en.length=0;for(let B=0;B<S.length;B++){let p=S[B];if(!p)continue;let G=z.basename($[f+B],".json"),W=P[f+B];if(!I.has(W)){A.sessions++;continue}Y.add(G),en.push({id:G,project_id:W,parent_id:p.parentID??null,slug:p.slug??"",directory:p.directory??"",title:p.title??"",version:p.version??"",share_url:p.share?.url??null,summary_additions:p.summary?.additions??null,summary_deletions:p.summary?.deletions??null,summary_files:p.summary?.files??null,summary_diffs:p.summary?.diffs??null,revert:p.revert??null,permission:p.permission??null,time_created:p.time?.created??M,time_updated:p.time?.updated??M,time_compacting:p.time?.compacting??null,time_archived:p.time?.archived??null})}e.sessions+=H(en,fn,"session"),D("sessions",d-f)}if(U.info("migrated sessions",{count:e.sessions}),A.sessions>0)U.warn("skipped orphaned sessions",{count:A.sessions});let sn=[],R=[],kn=new Map;for(let f of Q){let d=z.basename(z.dirname(f));if(!Y.has(d))continue;sn.push(f),R.push(d)}for(let f=0;f<sn.length;f+=T){let d=Math.min(f+T,sn.length),S=await C(sn,f,d),B=Array(S.length),p=0;for(let G=0;G<S.length;G++){let W=S[G];if(!W)continue;let E=sn[f+G],q=z.basename(E,".json"),xn=R[f+G];kn.set(q,xn);let Bn=W;delete Bn.id,delete Bn.sessionID,B[p++]={id:q,session_id:xn,time_created:W.time?.created??M,time_updated:W.time?.updated??M,data:Bn}}B.length=p,e.messages+=H(B,eo,"message"),D("messages",d-f)}U.info("migrated messages",{count:e.messages});for(let f=0;f<L.length;f+=T){let d=Math.min(f+T,L.length),S=await C(L,f,d),B=Array(S.length),p=0;for(let G=0;G<S.length;G++){let W=S[G];if(!W)continue;let E=L[f+G],q=z.basename(E,".json"),xn=z.basename(z.dirname(E)),Bn=kn.get(xn);if(!Bn){_.push(`part missing message session: ${E}`);continue}if(!Y.has(Bn))continue;let wn=W;delete wn.id,delete wn.messageID,delete wn.sessionID,B[p++]={id:q,message_id:xn,session_id:Bn,time_created:W.time?.created??M,time_updated:W.time?.updated??M,data:wn}}B.length=p,e.parts+=H(B,Yo,"part"),D("parts",d-f)}U.info("migrated parts",{count:e.parts});let Tn=g.map((f)=>z.basename(f,".json"));for(let f=0;f<g.length;f+=T){let d=Math.min(f+T,g.length),S=await C(g,f,d),B=[];for(let p=0;p<S.length;p++){let G=S[p];if(!G)continue;let W=Tn[f+p];if(!Y.has(W)){A.todos++;continue}if(!Array.isArray(G)){_.push(`todo not an array: ${g[f+p]}`);continue}for(let E=0;E<G.length;E++){let q=G[E];if(!q?.content||!q?.status)continue;B.push({session_id:W,content:q.content,status:q.status,position:E,time_created:M,time_updated:M})}}e.todos+=H(B,zo,"todo"),D("todos",d-f)}if(U.info("migrated todos",{count:e.todos}),A.todos>0)U.warn("skipped orphaned todos",{count:A.todos});let qn=s.map((f)=>z.basename(f,".json")),Hn=[];for(let f=0;f<s.length;f+=T){let d=Math.min(f+T,s.length),S=await C(s,f,d);Hn.length=0;for(let B=0;B<S.length;B++){let p=S[B];if(!p)continue;let G=qn[f+B];if(!I.has(G)){A.permissions++;continue}Hn.push({project_id:G,data:p})}e.permissions+=H(Hn,co,"permission"),D("permissions",d-f)}if(U.info("migrated permissions",{count:e.permissions}),A.permissions>0)U.warn("skipped orphaned permissions",{count:A.permissions});let Vn=m.map((f)=>z.basename(f,".json")),dn=[];for(let f=0;f<m.length;f+=T){let d=Math.min(f+T,m.length),S=await C(m,f,d);dn.length=0;for(let B=0;B<S.length;B++){let p=S[B];if(!p)continue;let G=Vn[f+B];if(!Y.has(G)){A.shares++;continue}if(!p?.id||!p?.secret||!p?.url){_.push(`session_share missing id/secret/url: ${m[f+B]}`);continue}dn.push({session_id:G,id:p.id,secret:p.secret,url:p.url})}e.shares+=H(dn,ko,"session_share"),D("shares",d-f)}if(U.info("migrated session shares",{count:e.shares}),A.shares>0)U.warn("skipped orphaned session shares",{count:A.shares});if(n.run("COMMIT"),U.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()-l)}),e.errors.length>0)U.warn("migration errors",{errors:e.errors.slice(0,20)});return t?.({current:y,total:y,label:"complete"}),e}var In={};On(In,{use:()=>Ce,transaction:()=>xe,textDecoder:()=>re,sumDistinct:()=>rr,sum:()=>or,sql:()=>V,relationsOrderToSQL:()=>Rt,relationsFilterToSQL:()=>Kt,relationToSQL:()=>xt,relationExtrasToSQL:()=>Ht,processRelations:()=>Ct,placeholder:()=>Or,param:()=>Ar,orderSelectedFields:()=>oe,orderByOperators:()=>St,or:()=>lo,operators:()=>Mt,notLike:()=>Gr,notInArray:()=>Ir,notIlike:()=>Mr,notExists:()=>Lr,notBetween:()=>dr,not:()=>so,noopMapper:()=>Nr,noopEncoder:()=>_r,noopDecoder:()=>sr,ne:()=>go,name:()=>gr,min:()=>tr,max:()=>ir,mapUpdateSet:()=>ne,mapResultRow:()=>ht,mapRelationalRow:()=>Jt,mapColumnsInSQLToAlias:()=>it,mapColumnsInAliasedSQLToAlias:()=>rt,lte:()=>Ao,lt:()=>po,like:()=>Bo,l2Distance:()=>Xt,l1Distance:()=>Zt,jaccardDistance:()=>Ut,isWithEnum:()=>bt,isView:()=>vr,isTable:()=>Yi,isSQLWrapper:()=>mr,isNull:()=>Oo,isNotNull:()=>$o,isDriverValueEncoder:()=>lr,isConfig:()=>at,is:()=>Mi,innerProduct:()=>Wt,inArray:()=>To,ilike:()=>Jr,haveSameKeys:()=>jt,hasOwnEntityKind:()=>Ji,hammingDistance:()=>Pt,gte:()=>No,gt:()=>_o,getViewSelectedFields:()=>Ft,getViewName:()=>Br,getTableUniqueName:()=>Xi,getTableName:()=>Zi,getTableLikeName:()=>wt,getTableColumns:()=>Vt,getTableAsAliasSQL:()=>Gt,getOriginalColumnFromAlias:()=>ot,getOrderByOperators:()=>dt,getColumns:()=>qt,getColumnTable:()=>Ci,getColumnNameAndConfig:()=>kt,getChannelPath:()=>li,fillPlaceholders:()=>$r,fieldSelectionToSQL:()=>Lt,extractTablesFromSchema:()=>It,extractExtendedColumnType:()=>mt,exists:()=>Do,eq:()=>Z,entityKind:()=>Gi,effect:()=>He,desc:()=>Io,defineRelationsPart:()=>Qt,defineRelations:()=>Bt,createRelationsHelper:()=>vt,countDistinct:()=>bo,count:()=>fo,cosineDistance:()=>Et,close:()=>Se,buildRelationsParts:()=>Dt,buildRelations:()=>$t,bindIfParam:()=>Qr,between:()=>vo,avgDistinct:()=>nr,avg:()=>ho,assertUnreachable:()=>ct,asc:()=>Qo,arrayOverlaps:()=>Hr,arrayContains:()=>Sr,arrayContained:()=>Cr,applyMixins:()=>zt,and:()=>Kn,aliasedTableColumn:()=>nt,aliasedTable:()=>hi,aliasedRelation:()=>bi,aliasedColumn:()=>ai,WithSubquery:()=>ci,ViewSelectionAliasProxyHandler:()=>ji,ViewBaseConfig:()=>ki,View:()=>Dr,TransactionRollbackError:()=>ft,TableSchema:()=>Ui,TableColumns:()=>Wi,TableAliasProxyHandler:()=>Fi,Table:()=>Pi,Subquery:()=>zi,StringChunk:()=>ur,SQL:()=>yr,RelationsHelperStatic:()=>Ot,RelationsBuilderTable:()=>Tt,RelationsBuilderJunctionColumn:()=>At,RelationsBuilderColumn:()=>pt,RelationTableAliasProxyHandler:()=>wi,Relation:()=>Nt,QueryPromise:()=>tt,Placeholder:()=>Tr,Path:()=>Eo,Param:()=>pr,OriginalName:()=>Ei,One:()=>_t,NotFoundError:()=>Me,NoopLogger:()=>di,Name:()=>fr,Many:()=>st,IsAlias:()=>Ri,FakePrimitiveParam:()=>er,ExtraConfigColumns:()=>Ki,ExtraConfigBuilder:()=>xi,DrizzleQueryError:()=>yt,DrizzleError:()=>ut,DefaultLogger:()=>Li,Count:()=>lt,ConsoleLogWriter:()=>Ii,ColumnTableAliasProxyHandler:()=>Vi,ColumnBuilder:()=>et,ColumnAliasProxyHandler:()=>qi,Column:()=>Si,Client:()=>Mn,CONSTANTS:()=>Yt,BaseName:()=>Hi,AggregatedField:()=>gt});import Di from"crypto";import wo,{existsSync as vi,readdirSync as Bi}from"fs";import{join as Qi}from"path";function jo(n){if(wo.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,i=[],l=Bi(o).map((e)=>({path:Qi(o,e,"migration.sql"),name:e})).filter((e)=>vi(e.path));l.sort((e,A)=>e.name.localeCompare(A.name));for(let e of l){let A=e.path,_=e.name.slice(0,14),T=wo.readFileSync(A).toString(),M=T.split("--> statement-breakpoint").map((C)=>{return C}),x=Fo(_);i.push({sql:M,bps:!0,folderMillis:x,hash:Di.createHash("sha256").update(T).digest("hex"),name:e.name})}return i}function ao(n,o){if(Array.isArray(o)||"migrationsJournal"in o){let l=Array.isArray(o)?o:o.migrationsJournal,e=Array.isArray(o)?void 0:o.migrationsTable,A=l.map((_)=>({sql:_.sql.split("--> statement-breakpoint"),folderMillis:_.timestamp,hash:"",bps:!0,name:_.name}));return n.dialect.migrate(A,n.session,{migrationsTable:e})}let i=jo(o);return n.dialect.migrate(i,n.session,o)}function fo(n){return V`count(${n||V.raw("*")})`.mapWith(Number)}function bo(n){return V`count(distinct ${n})`.mapWith(Number)}function ho(n){return V`avg(${n})`.mapWith(String)}function nr(n){return V`avg(distinct ${n})`.mapWith(String)}function or(n){return V`sum(${n})`.mapWith(String)}function rr(n){return V`sum(distinct ${n})`.mapWith(String)}function ir(n){return V`max(${n})`.mapWith(uo(n,yo)?n:String)}function tr(n){return V`min(${n})`.mapWith(uo(n,yo)?n:String)}import oo from"path";var Un={};On(Un,{workspaceID:()=>De,useEffect:()=>Qe,use:()=>Be,make:()=>ve,invalidate:()=>Le,has:()=>Ie,get:()=>xo,directory:()=>no,context:()=>Ho,bind:()=>$e});import{EventEmitter as ie}from"events";var Rn=new ie;var Lo=new Set;function xr(n){return Lo.add(n),()=>{Lo.delete(n)}}async function Go(n){await Promise.allSettled([...Lo].map((o)=>o(n)))}function En(n){return n()}var jr={};On(jr,{setInitialized:()=>se,list:()=>ge,layer:()=>Fr,get:()=>le,fromRow:()=>_n,defaultLayer:()=>Co,UpdateInput:()=>fe,Service:()=>Gn,Info:()=>Vr,Event:()=>wr});import*as F from"fs/promises";import*as cr from"os";import*as Dn from"path";var te=N.String.pipe(N.brand("ProjectID")),w=te.pipe(Fn((n)=>({global:n.make("global"),zod:a.string().pipe(a.custom())})));import*as Qn from"fs/promises";import*as b from"path";import*as Er from"crypto";async function Jo(n){let o=b.resolve(n);while(!0){let i=b.join(o,".git"),l=await Qn.stat(i).catch(()=>null);if(l){if(l.isDirectory())return i;let _=(await Qn.readFile(i,"utf-8")).trim().match(/^gitdir:\s*(.+)$/);if(!_)return null;let T=b.isAbsolute(_[1])?_[1]:b.resolve(o,_[1]);return b.resolve(T,"../..")}let e=b.dirname(o);if(e===o)return null;o=e}}async function Kr(n){let o=await Qn.readFile(n,"utf-8").catch(()=>null);if(o===null)return null;return o.trim()||null}async function Rr(n){let o=await Kr(n);if(o)return o;let i=Er.randomUUID();try{return await Qn.writeFile(n,i,{flag:"wx"}),i}catch(l){if(l.code!=="EEXIST")throw l;let e=await Kr(n);if(e)return e;throw Error(`Project ID file was concurrently created but is empty: ${n}`)}}async function Pr(n){let o=await Jo(n);if(o){let l=b.join(o,"qitqode-project-id");return w.make(await Rr(l))}let i=b.join(n,".qitqode-project-id");return w.make(await Rr(i))}async function me(n){let o=await Jo(n);if(!o)return;let i=Dn.join(n,".qitqode-project-id"),l=Dn.join(o,"qitqode-project-id"),e=(T)=>F.access(T).then(()=>!0).catch(()=>!1);if(await e(i)){if(!await e(l)){let T=await F.readFile(i,"utf-8");await F.writeFile(l,T)}await F.unlink(i).catch(()=>{})}let A=Dn.join(o,"info","exclude");if(await F.mkdir(Dn.dirname(A),{recursive:!0}),!(await F.readFile(A,"utf-8").catch(()=>"")).includes(".qitqode-project-id"))await F.appendFile(A,`
|
|
3
|
+
.qitqode-project-id
|
|
4
|
+
`)}var Wr=c.create({service:"project"}),ue=262144,So=N.Literal("git"),kr=N.Struct({url:N.optional(N.String),override:N.optional(N.String),color:N.optional(N.String)}),qr=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)}),Vr=N.Struct({id:w,worktree:N.String,vcs:N.optional(So),name:N.optional(N.String),icon:N.optional(kr),commands:N.optional(qr),time:ye,sandboxes:N.Array(N.String)}).annotate({identifier:"Project"}).pipe(Fn((n)=>({zod:jn(n)}))),wr={Updated:zr.define("project.updated",Vr.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(So)(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=a.object({projectID:w.zod,name:a.string().optional(),icon:jn(kr).optional(),commands:jn(qr).optional()});class Gn extends vn.Service()("@qitqode/Project"){}var Fr=h.effect(Gn,r.gen(function*(){let n=yield*k.Service,o=yield*Zr.Path,i=yield*an.ChildProcessSpawner,l=r.fnUntraced(function*(t,u){return yield*Yr(i,t,u)},r.catch(()=>r.succeed({code:1,text:"",stderr:""}))),e=(t)=>r.sync(()=>In.use(t)),A=(t)=>r.sync(()=>Rn.emit("event",{directory:"global",project:t.id,payload:{type:wr.Updated.type,properties:t}})),_=N.decodeUnknownSync(N.optional(So))(nn.QITQODE_FAKE_VCS),T=(t,u)=>{if(!u)return t;if(u=u.replace(/[\r\n]+$/,""),!u)return t;if(u=k.windowsPath(u),o.isAbsolute(u))return o.normalize(u);return o.resolve(t,u)},M=yield*Ur.Scope,x=r.fn("Project.fromDirectory")(function*(t){Wr.info("fromDirectory",{directory:t});let u=yield*r.gen(function*(){if(nn.QITQODE_DISABLE_GIT)return{id:w.global,worktree:t,sandbox:t,vcs:_};let Y=(yield*n.up({targets:[".git"],start:t}).pipe(r.orDie))[0];if(!Y)return{id:w.global,worktree:"/",sandbox:"/",vcs:_};let en=o.dirname(Y),sn=process.env.HOME??process.env.USERPROFILE??cr.homedir();if(en===sn||Dn.parse(en).root===en)return Wr.warn("ignoring .git at home or filesystem root, snapshots disabled",{dotgit:Y}),{id:w.global,worktree:t,sandbox:t,vcs:_};let R=en,kn=yield*r.sync(()=>Mo("git")),Tn;if(!kn)return{id:Tn??w.global,worktree:R,sandbox:R,vcs:_};let qn=yield*l(["rev-parse","--git-common-dir"],{cwd:R});if(qn.code!==0)return{id:Tn??w.global,worktree:R,sandbox:R,vcs:_};let Hn=(()=>{let dn=T(R,qn.text.trim());return dn===R?R:o.dirname(dn)})();if(Tn==null)yield*r.promise(()=>me(R)),Tn=yield*r.promise(()=>Pr(R));let Vn=yield*l(["rev-parse","--show-toplevel"],{cwd:R});if(Vn.code!==0)return{id:Tn,worktree:R,sandbox:R,vcs:_};return R=T(R,Vn.text.trim()),{id:Tn,sandbox:R,worktree:Hn,vcs:"git"}}),D=yield*e((P)=>P.select().from(J).where(Z(J.id,u.id)).get()),I=D?_n(D):{id:u.id,worktree:u.worktree,vcs:u.vcs,sandboxes:[],time:{created:Date.now(),updated:Date.now()}};if(nn.QITQODE_EXPERIMENTAL_ICON_DISCOVERY)yield*C(I).pipe(r.ignore,r.forkIn(M));let O={...I,worktree:u.worktree,vcs:u.vcs,time:{...I.time,updated:Date.now()}};if(u.sandbox!==O.worktree&&!O.sandboxes.includes(u.sandbox))O.sandboxes.push(u.sandbox);if(O.sandboxes=yield*r.forEach(O.sandboxes,(P)=>n.exists(P).pipe(r.orDie,r.map((Y)=>Y?P:void 0)),{concurrency:16}).pipe(r.map((P)=>P.filter((Y)=>Y!==void 0))),yield*e((P)=>P.insert(J).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:J.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()),u.id!==w.global)yield*e((P)=>P.update(fn).set({project_id:u.id}).where(Kn(Z(fn.project_id,w.global),Z(fn.directory,u.worktree))).run());return yield*A(O),{project:O,sandbox:u.sandbox}}),C=r.fn("Project.discover")(function*(t){if(t.vcs!=="git")return;if(t.icon?.override)return;if(t.icon?.url)return;let D=(yield*n.glob("**/favicon.{ico,png,svg,jpg,jpeg,webp}",{cwd:t.worktree,absolute:!0,include:"file"}).pipe(r.orDie)).sort((sn,R)=>sn.length-R.length)[0];if(!D)return;let I=yield*n.stat(D).pipe(r.orDie);if(Number(I.size)>ue)return;let O=yield*n.readFile(D).pipe(r.orDie),P=Buffer.from(O).toString("base64"),en=`data:${k.mimeType(D)};base64,${P}`;yield*$({projectID:t.id,icon:{url:en}})}),H=r.fn("Project.list")(function*(){return yield*e((t)=>t.select().from(J).all().map(_n))}),K=r.fn("Project.get")(function*(t){let u=yield*e((D)=>D.select().from(J).where(Z(J.id,t)).get());return u?_n(u):void 0}),$=r.fn("Project.update")(function*(t){let u=yield*e((I)=>I.update(J).set({name:t.name,icon_url:t.icon?.url,icon_color:t.icon?.color,commands:t.commands,time_updated:Date.now()}).where(Z(J.id,t.projectID)).returning().get());if(!u)throw Error(`Project not found: ${t.projectID}`);let D=_n(u);return yield*A(D),D}),Q=r.fn("Project.initGit")(function*(t){if(t.project.vcs==="git")return t.project;if(!(yield*r.sync(()=>Mo("git"))))throw Error("Git is not installed");let u=yield*l(["init","--quiet"],{cwd:t.directory});if(u.code!==0)throw Error(u.stderr.trim()||u.text.trim()||"Failed to initialize git repository");let{project:D}=yield*x(t.directory);return D}),L=r.fn("Project.setInitialized")(function*(t){yield*e((u)=>u.update(J).set({time_initialized:Date.now()}).where(Z(J.id,t)).run())}),g=r.fn("Project.sandboxes")(function*(t){let u=yield*e((I)=>I.select().from(J).where(Z(J.id,t)).get());if(!u)return[];let D=_n(u);return yield*r.forEach(D.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)))}),s=r.fnUntraced(function*(t,u){let D=yield*e((I)=>I.update(J).set({sandboxes:u,time_updated:Date.now()}).where(Z(J.id,t)).returning().get());if(!D)throw Error(`Project not found: ${t}`);yield*A(_n(D))}),m=r.fn("Project.addSandbox")(function*(t,u){let D=yield*e((O)=>O.select().from(J).where(Z(J.id,t)).get());if(!D)throw Error(`Project not found: ${t}`);let I=[...D.sandboxes];if(!I.includes(u))I.push(u);yield*s(t,I)}),y=r.fn("Project.removeSandbox")(function*(t,u){let D=yield*e((O)=>O.select().from(J).where(Z(J.id,t)).get());if(!D)throw Error(`Project not found: ${t}`);let I=D.sandboxes.filter((O)=>O!==u);yield*s(t,I)});return Gn.of({fromDirectory:x,discover:C,list:H,get:K,update:$,initGit:Q,setInitialized:L,sandboxes:g,addSandbox:m,removeSandbox:y})})),Co=Fr.pipe(h.provide(bn),h.provide(k.defaultLayer),h.provide(Xr.layer));function ge(){return In.use((n)=>n.select().from(J).all().map((o)=>_n(o)))}function le(n){let o=In.use((i)=>i.select().from(J).where(Z(J.id,n)).get());if(!o)return;return _n(o)}function se(n){In.use((o)=>o.update(J).set({time_initialized:Date.now()}).where(Z(J.id,n)).run())}import{parse as _e}from"path";var rn=gn.create("instance");hr(()=>rn.use());var tn=new Map,Ne=ni(Gn,Co),pe=new Set(["/etc","/proc","/sys","/dev","/boot","/root","/var","/private/etc","/private/var"]);function Ae(n){if(n===_e(n).root)return"filesystem root is not a valid project directory";for(let o of pe)if(n===o||k.contains(o,n))return"target is a protected system directory";return null}function Te(n){let o=Ae(n);if(o)throw Error("Access denied: "+o)}var Pn={all:void 0};function ar(n){return En(async()=>{let o=n.project&&n.worktree?{directory:n.directory,worktree:n.worktree,project:n.project}:await Ne.runPromise((i)=>i.fromDirectory(n.directory)).then(({project:i,sandbox:l})=>({directory:n.directory,worktree:l,project:i}));return await rn.provide(o,async()=>{await n.init?.()}),o})}function br(n,o){let i=o.catch((l)=>{if(tn.get(n)===i)tn.delete(n);throw l});return tn.set(n,i),i}var on={async provide(n){let o=k.resolve(n.directory);Te(o);let i=tn.get(o);if(!i)c.Default.info("creating instance",{directory:o}),i=br(o,ar({directory:o,init:n.init}));let l=await i;return rn.provide(l,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 i=o??on;if(k.contains(i.directory,n))return!0;if(i.worktree==="/")return!1;return k.contains(i.worktree,n)},bind(n){let o=rn.use();return(...i)=>rn.provide(o,()=>n(...i))},restore(n,o){return rn.provide(n,o)},async reload(n){let o=k.resolve(n.directory);c.Default.info("reloading instance",{directory:o}),await Go(o),tn.delete(o);let i=br(o,ar({...n,directory:o}));return Rn.emit("event",{directory:o,project:n.project?.id,workspace:Nn.workspaceID,payload:{type:"server.instance.disposed",properties:{directory:o}}}),await i},async dispose(){let{directory:n,project:o}=on;c.Default.info("disposing instance",{directory:n}),await Go(n),tn.delete(n),Rn.emit("event",{directory:n,project:o.id,workspace:Nn.workspaceID,payload:{type:"server.instance.disposed",properties:{directory:n}}})},async disposeAll(){if(Pn.all)return Pn.all;return Pn.all=En(async()=>{c.Default.info("disposing all instances");let n=[...tn.entries()];for(let[o,i]of n){if(tn.get(o)!==i)continue;let l=await i.catch((e)=>{c.Default.warn("instance dispose failed",{key:o,error:e});return});if(!l){if(tn.get(o)===i)tn.delete(o);continue}if(tn.get(o)!==i)continue;await rn.provide(l,async()=>{await on.dispose()})}}).finally(()=>{Pn.all=void 0}),Pn.all}};var oi="~qitqode/InstanceState",$e=(n)=>{try{return on.bind(n)}catch(l){if(!(l instanceof gn.NotFound))throw l}let o=Ln.getCurrent(),i=o?vn.getReferenceUnsafe(o.context,Wn):void 0;if(!i)return n;return(...l)=>on.restore(i,()=>n(...l))},Ho=r.gen(function*(){return(yield*Wn)??on.current}),De=r.gen(function*(){return(yield*hn)??Nn.workspaceID}),no=r.map(Ho,(n)=>n.directory),ve=(n)=>r.gen(function*(){let o=yield*Jn.make({capacity:Number.POSITIVE_INFINITY,lookup:()=>r.gen(function*(){return yield*n(yield*Ho)})}),i=xr((l)=>r.runPromise(Jn.invalidate(o,l).pipe(r.provide(ri))));return yield*r.addFinalizer(()=>r.sync(i)),{[oi]:oi,cache:o}}),xo=(n)=>r.gen(function*(){return yield*Jn.get(n.cache,yield*no)}),Be=(n,o)=>r.map(xo(n),o),Qe=(n,o)=>r.flatMap(xo(n),o),Ie=(n)=>r.gen(function*(){return yield*Jn.has(n.cache,yield*no)}),Le=(n)=>r.gen(function*(){return yield*Jn.invalidate(n.cache,yield*no)});var ei={};On(ei,{make:()=>de});function ii(n,o,i){if(n&&o!==void 0)return Nn.restore(o,()=>on.restore(n,i));if(n)return on.restore(n,i);if(o!==void 0)return Nn.restore(o,i);return i()}function de(){return r.gen(function*(){let n=yield*r.context(),i=(yield*Wn)??(()=>{try{return on.current}catch(_){if(!(_ instanceof gn.NotFound))throw _}})(),l=(yield*hn)??Nn.workspaceID,e=(_)=>ti(_,{instance:i,workspace:l}),A=(_)=>e(_).pipe(r.provide(n));return{promise:(_)=>ii(i,l,()=>r.runPromise(A(_))),fork:(_)=>ii(i,l,()=>r.runFork(A(_)))}})}var mi={};On(mi,{make:()=>Ge,Cancelled:()=>Zn});class Zn extends N.TaggedErrorClass()("RunnerCancelled",{}){}var Ge=(n,o)=>{let i=pn.makeUnsafe({_tag:"Idle"}),l=o?.onIdle??r.void,e=o?.onBusy??r.void,A=o?.onInterrupt,_=0,T=()=>pn.getUnsafe(i),M=()=>{return _+=1,_},x=(m,y)=>Xn.isFailure(y)&&Ko.hasInterruptsOnly(y.cause)?ln.fail(m,new Zn).pipe(r.asVoid):ln.done(m,y).pipe(r.asVoid),C=()=>pn.modify(i,(m)=>[m._tag==="Idle"?l:r.void,m]).pipe(r.flatten),H=(m,y,t)=>pn.modify(i,(u)=>[r.gen(function*(){if(u._tag==="Running"&&u.run.id===m)yield*l;yield*x(y,t)}),u._tag==="Running"&&u.run.id===m?{_tag:"Idle"}:u]).pipe(r.flatten),K=(m,y)=>r.gen(function*(){let t=M(),u=yield*m.pipe(r.onExit((D)=>H(t,y,D)),r.forkIn(n));return{id:t,done:y,fiber:u}}),$=(m)=>pn.modifyEffect(i,r.fnUntraced(function*(y){if(y._tag==="Shell"&&y.shell.id===m)return[l,{_tag:"Idle"}];if(y._tag==="ShellThenRun"&&y.shell.id===m){let t=yield*K(y.run.work,y.run.done);return[r.void,{_tag:"Running",run:t}]}return[r.void,y]})).pipe(r.flatten),Q=(m)=>Ln.interrupt(m.fiber),L=(m)=>pn.modifyEffect(i,r.fnUntraced(function*(y){switch(y._tag){case"Running":case"ShellThenRun":if(o?.onReentryWarn)yield*o.onReentryWarn({label:o.label??"(unlabeled)",existingRunId:y.run.id});return[ln.await(y.run.done),y];case"Shell":{let t={id:M(),done:yield*ln.make(),work:m};return[ln.await(t.done),{_tag:"ShellThenRun",shell:y.shell,run:t}]}case"Idle":{let t=yield*ln.make(),u=yield*K(m,t);return[ln.await(t),{_tag:"Running",run:u}]}}})).pipe(r.flatten,r.catch((y)=>y instanceof Zn?A??r.die(y):r.fail(y))),g=(m)=>pn.modifyEffect(i,r.fnUntraced(function*(y){if(y._tag!=="Idle")return[r.sync(()=>{if(o?.busy)o.busy();throw Error("Runner is busy")}),y];yield*e;let t=M(),u=yield*m.pipe(r.ensuring($(t)),r.forkChild),D={id:t,fiber:u};return[r.gen(function*(){let I=yield*Ln.await(u);if(Xn.isSuccess(I))return I.value;if(Ko.hasInterruptsOnly(I.cause)&&A)return yield*A;return yield*r.failCause(I.cause)}),{_tag:"Shell",shell:D}]})).pipe(r.flatten),s=pn.modify(i,(m)=>{switch(m._tag){case"Idle":return[r.void,m];case"Running":return[r.gen(function*(){yield*Ln.interrupt(m.run.fiber);let y=yield*Ln.await(m.run.fiber);yield*x(m.run.done,y),yield*ln.await(m.run.done).pipe(r.exit,r.asVoid),yield*C()}),{_tag:"Idle"}];case"Shell":return[r.gen(function*(){yield*Q(m.shell),yield*C()}),{_tag:"Idle"}];case"ShellThenRun":return[r.gen(function*(){yield*ln.fail(m.run.done,new Zn).pipe(r.asVoid),yield*Q(m.shell),yield*C()}),{_tag:"Idle"}]}}).pipe(r.flatten);return{get state(){return T()},get busy(){return T()._tag!=="Idle"},ensureRunning:L,startShell:g,cancel:s}};import{Database as Je}from"bun:sqlite";function yi(n){let o=new Je(n,{create:!0});return ui({client:o})}var Me=ro.create("NotFoundError",a.object({message:a.string()})),fi=c.create({service:"db"});function li(){if(["latest","beta","prod"].includes(Ro)||nn.QITQODE_DISABLE_CHANNEL_DB)return oo.join($n.Path.data,"qitqode.db");let n=Ro.replace(/[^a-zA-Z0-9._-]/g,"-");return oo.join($n.Path.data,`qitqode-${n}.db`)}var Eo=En(()=>{if(nn.QITQODE_DB){if(nn.QITQODE_DB===":memory:"||oo.isAbsolute(nn.QITQODE_DB))return nn.QITQODE_DB;return oo.join($n.Path.data,nn.QITQODE_DB)}return li()}),Mn=gi(()=>{fi.info("opening database",{path:Eo});let n=yi(Eo);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(fi.info("applying migrations",{count:o.length,mode:"bundled"}),nn.QITQODE_SKIP_MIGRATIONS)for(let i of o)i.sql="select 1;";ao(n,o)}return n});function Se(){Mn().$client.close(),Mn.reset()}var Yn=gn.create("database");function Ce(n){try{return n(Yn.use().tx)}catch(o){if(o instanceof gn.NotFound){let i=[],l=Yn.provide({effects:i,tx:Mn()},()=>n(Mn()));for(let e of i)e();return l}throw o}}function He(n){let o=Un.bind(n);try{Yn.use().effects.push(o)}catch{o()}}function xe(n,o){try{return n(Yn.use().tx)}catch(i){if(i instanceof gn.NotFound){let l=[],e=Un.bind((_)=>Yn.provide({tx:_,effects:l},()=>n(_))),A=Mn().transaction(e,{behavior:o?.behavior});for(let _ of l)_();return A}throw i}}var Oi={};On(Oi,{layer:()=>Ti,defaultLayer:()=>we,Service:()=>to,NotFoundError:()=>Zo});import X from"path";var Sn={};On(Sn,{layer:()=>pi,defaultLayer:()=>Ee,Service:()=>io,Git:()=>Sn});var Ke=["--no-optional-locks","-c","core.autocrlf=false","-c","core.fsmonitor=false","-c","core.longpaths=true","-c","core.symlinks=true","-c","core.quotepath=false"],zn=(n)=>n.text().trim(),Po=(n)=>n.split("\x00").filter(Boolean),Re=(n)=>({exitCode:1,text:()=>"",stdout:Buffer.alloc(0),stderr:Buffer.from(n instanceof Error?n.message:String(n))}),si=(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 io extends vn.Service()("@qitqode/Git"){}var pi=h.effect(io,r.gen(function*(){let n=yield*an.ChildProcessSpawner,o=r.fn("Git.run")(function*(g,s){let m=_i.make("git",[...Ke,...g],{cwd:s.cwd,env:s.env,extendEnv:!0,stdin:"ignore",stdout:"pipe",stderr:"pipe"}),y=yield*Ni(n,m);return{exitCode:y.code,text:()=>y.text,stdout:Buffer.from(y.text),stderr:Buffer.from(y.stderr)}},r.scoped,r.catch((g)=>r.succeed(Re(g)))),i=r.fn("Git.text")(function*(g,s){return(yield*o(g,s)).text()}),l=r.fn("Git.lines")(function*(g,s){return(yield*i(g,s)).split(/\r?\n/).map((m)=>m.trim()).filter(Boolean)}),e=r.fnUntraced(function*(g){return yield*l(["for-each-ref","--format=%(refname:short)","refs/heads"],{cwd:g})}),A=r.fnUntraced(function*(g,s){let m=yield*o(["config","init.defaultBranch"],{cwd:g}),y=zn(m);if(!y||!s.includes(y))return;return{name:y,ref:y}}),_=r.fnUntraced(function*(g){let s=yield*l(["remote"],{cwd:g});if(s.includes("origin"))return"origin";if(s.length===1)return s[0];if(s.includes("upstream"))return"upstream";return s[0]}),T=r.fn("Git.branch")(function*(g){let s=yield*o(["symbolic-ref","--quiet","--short","HEAD"],{cwd:g});if(s.exitCode!==0)return;return zn(s)||void 0}),M=r.fn("Git.prefix")(function*(g){let s=yield*o(["rev-parse","--show-prefix"],{cwd:g});if(s.exitCode!==0)return"";return zn(s)}),x=r.fn("Git.defaultBranch")(function*(g){let s=yield*_(g);if(s){let t=yield*o(["symbolic-ref",`refs/remotes/${s}/HEAD`],{cwd:g});if(t.exitCode===0){let u=zn(t).replace(/^refs\/remotes\//,""),D=u.startsWith(`${s}/`)?u.slice(`${s}/`.length):"";if(D)return{name:D,ref:u}}}let m=yield*e(g),y=yield*A(g,m);if(y)return y;if(m.includes("main"))return{name:"main",ref:"main"};if(m.includes("master"))return{name:"master",ref:"master"}}),C=r.fn("Git.hasHead")(function*(g){return(yield*o(["rev-parse","--verify","HEAD"],{cwd:g})).exitCode===0}),H=r.fn("Git.mergeBase")(function*(g,s,m="HEAD"){let y=yield*o(["merge-base",s,m],{cwd:g});if(y.exitCode!==0)return;return zn(y)||void 0}),K=r.fn("Git.show")(function*(g,s,m,y=""){let t=y?`${y}${m}`:m,u=yield*o(["show",`${s}:${t}`],{cwd:g});if(u.exitCode!==0)return"";if(u.stdout.includes(0))return"";return u.text()}),$=r.fn("Git.status")(function*(g){return Po(yield*i(["status","--porcelain=v1","--untracked-files=all","--no-renames","-z","--","."],{cwd:g})).flatMap((s)=>{let m=s.slice(3);if(!m)return[];let y=s.slice(0,2);return[{file:m,code:y,status:si(y)}]})}),Q=r.fn("Git.diff")(function*(g,s){let m=Po(yield*i(["diff","--no-ext-diff","--no-renames","--name-status","-z",s,"--","."],{cwd:g}));return m.flatMap((y,t)=>{if(t%2!==0)return[];let u=m[t+1];if(!y||!u)return[];return[{file:u,code:y,status:si(y)}]})}),L=r.fn("Git.stats")(function*(g,s){return Po(yield*i(["diff","--no-ext-diff","--no-renames","--numstat","-z",s,"--","."],{cwd:g})).flatMap((m)=>{let y=m.indexOf("\t"),t=m.indexOf("\t",y+1);if(y===-1||t===-1)return[];let u=m.slice(t+1);if(!u)return[];let D=m.slice(0,y),I=m.slice(y+1,t),O=D==="-"?0:Number.parseInt(D||"0",10),P=I==="-"?0:Number.parseInt(I||"0",10);return[{file:u,additions:Number.isFinite(O)?O:0,deletions:Number.isFinite(P)?P:0}]})});return io.of({run:o,branch:T,prefix:M,defaultBranch:x,hasHead:C,mergeBase:H,show:K,status:$,diff:Q,stats:L})})),Ee=pi.pipe(h.provide(bn));var An=c.create({service:"storage"}),Zo=ro.create("NotFoundError",a.object({message:a.string()})),Pe=N.Struct({path:N.optional(N.Struct({root:N.optional(N.String)}))}),We=N.Struct({id:N.String}),Ue=N.Struct({id:N.String}),Ze=N.Struct({additions:N.Number,deletions:N.Number}),Xe=N.Struct({id:N.String,projectID:N.String,summary:N.Struct({diffs:N.Array(Ze)})}),Ye=N.decodeUnknownOption(Pe),ze=N.decodeUnknownOption(We),ce=N.decodeUnknownOption(Ue),ke=N.decodeUnknownOption(Xe);class to extends vn.Service()("@qitqode/Storage"){}function qe(n,o){return X.join(n,...o)+".json"}function Wo(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 Ve(n){let o=Number.parseInt(n,10);return Number.isNaN(o)?0:o}var Ai=[r.fn("Storage.migration.1")(function*(n,o,i){let l=X.resolve(n,"../project");if(!(yield*o.isDir(l)))return;let e=yield*o.glob("*",{cwd:l,include:"all"});for(let A of e){let _=X.join(l,A);if(!(yield*o.isDir(_)))continue;An.info(`migrating project ${A}`);let T=A,M="/";if(T!=="global"){for(let H of yield*o.glob("storage/session/message/*/*.json",{cwd:_,absolute:!0})){let K=Ye(yield*o.readJson(H),{onExcessProperty:"preserve"}),$=cn.isSome(K)?K.value.path?.root:void 0;if(!$)continue;M=$;break}if(!M)continue;if(!(yield*o.isDir(M)))continue;let x=yield*i.run(["rev-list","--max-parents=0","--all"],{cwd:M}),[C]=x.text().split(`
|
|
5
|
+
`).filter(Boolean).map((H)=>H.trim()).toSorted();if(!C)continue;T=C,yield*o.writeWithDirs(X.join(n,"project",T+".json"),JSON.stringify({id:C,vcs:"git",worktree:M,time:{created:Date.now(),initialized:Date.now()}},null,2)),An.info(`migrating sessions for project ${T}`);for(let H of yield*o.glob("storage/session/info/*.json",{cwd:_,absolute:!0})){let K=X.join(n,"session",T,X.basename(H));An.info("copying",{sessionFile:H,dest:K});let $=yield*o.readJson(H),Q=ze($,{onExcessProperty:"preserve"});if(yield*o.writeWithDirs(K,JSON.stringify($,null,2)),cn.isNone(Q))continue;An.info(`migrating messages for session ${Q.value.id}`);for(let L of yield*o.glob(`storage/session/message/${Q.value.id}/*.json`,{cwd:_,absolute:!0})){let g=X.join(n,"message",Q.value.id,X.basename(L));An.info("copying",{msgFile:L,dest:g});let s=yield*o.readJson(L),m=ce(s,{onExcessProperty:"preserve"});if(yield*o.writeWithDirs(g,JSON.stringify(s,null,2)),cn.isNone(m))continue;An.info(`migrating parts for message ${m.value.id}`);for(let y of yield*o.glob(`storage/session/part/${Q.value.id}/${m.value.id}/*.json`,{cwd:_,absolute:!0})){let t=X.join(n,"part",m.value.id,X.basename(y)),u=yield*o.readJson(y);An.info("copying",{partFile:y,dest:t}),yield*o.writeWithDirs(t,JSON.stringify(u,null,2))}}}}}}),r.fn("Storage.migration.2")(function*(n,o){for(let i of yield*o.glob("session/*/*.json",{cwd:n,absolute:!0})){let l=yield*o.readJson(i),e=ke(l,{onExcessProperty:"preserve"});if(cn.isNone(e))continue;let A=e.value.summary.diffs;yield*o.writeWithDirs(X.join(n,"session_diff",e.value.id+".json"),JSON.stringify(A,null,2)),yield*o.writeWithDirs(X.join(n,"session",e.value.projectID,e.value.id+".json"),JSON.stringify({...l,summary:{additions:A.reduce((_,T)=>_+T.additions,0),deletions:A.reduce((_,T)=>_+T.deletions,0)}},null,2))}})],Ti=h.effect(to,r.gen(function*(){let n=yield*k.Service,o=yield*Sn.Service,i=yield*Uo.make({lookup:()=>Cn.make(),idleTimeToLive:0}),l=yield*r.cached(r.gen(function*(){let $=X.join($n.Path.data,"storage"),Q=X.join($,"migration"),L=yield*n.readFileString(Q).pipe(r.map(Ve),r.catchIf(Wo,()=>r.succeed(0)),r.orElseSucceed(()=>0));for(let g=L;g<Ai.length;g++){An.info("running migration",{index:g});let s=Ai[g],m=yield*r.exit(s($,n,o));if(Xn.isFailure(m)){An.error("failed to run migration",{index:g,cause:m.cause});break}yield*n.writeWithDirs(Q,String(g+1))}return{dir:$}})),e=($)=>r.fail(new Zo({message:`Resource not found: ${$}`})),A=($,Q)=>Q.pipe(r.catchIf(Wo,()=>e($))),_=r.fnUntraced(function*($,Q){yield*n.writeWithDirs($,JSON.stringify(Q,null,2))}),T=($,Q)=>r.scoped(r.gen(function*(){let L=qe((yield*l).dir,$);return yield*Q(L,yield*Uo.get(i,L))})),M=r.fn("Storage.remove")(function*($){yield*T($,(Q,L)=>Cn.withWriteLock(L,n.remove(Q).pipe(r.catchIf(Wo,()=>r.void))))}),x=($)=>r.gen(function*(){return yield*T($,(L,g)=>Cn.withReadLock(g,A(L,n.readJson(L))))}),C=($,Q)=>r.gen(function*(){return yield*T($,(g,s)=>Cn.withWriteLock(s,r.gen(function*(){let m=yield*A(g,n.readJson(g));return Q(m),yield*_(g,m),m})))}),H=($,Q)=>r.gen(function*(){yield*T($,(L,g)=>Cn.withWriteLock(g,_(L,Q)))}),K=r.fn("Storage.list")(function*($){let Q=(yield*l).dir,L=X.join(Q,...$);return(yield*n.glob("**/*",{cwd:L,include:"file"}).pipe(r.catch(()=>r.succeed([])))).map((s)=>[...$,...s.slice(0,-5).split(X.sep)]).toSorted((s,m)=>s.join("/").localeCompare(m.join("/")))});return to.of({remove:M,read:x,update:C,write:H,list:K})})),we=Ti.pipe(h.provide(k.defaultLayer),h.provide(Sn.defaultLayer));export{Rn as Hl,xr as Il,En as Jl,mn as Kl,J as Ll,fn as Ml,eo as Nl,Yo as Ol,zo as Pl,co as Ql,ko as Rl,Vo as Sl,fo as Tl,In as Ul,Sn as Vl,Zo as Wl,Oi as Xl,w as Yl,Jo as Zl,Pr as _l,se as $l,jr as am,Ae as bm,on as cm,Un as dm,de as em,ei as fm,mi as gm};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{Cp as V,Ep as f,Ip as hZ,Kp as R,Pp as l,Qp as U,Rp as B,Sp as fZ,Tp as x,Xp as gZ,Yo as O,cp as u,rp as yZ,sp as y,wp as h,zp as L}from"./chunk-my3cswnp.js";import{_p as v}from"./chunk-4mvg7jt1.js";import{qq as Q0,rq as U0,sq as L0}from"./chunk-mswx4k75.js";import{au as Z}from"./chunk-9ea1n338.js";import{LO as g,MO as c,PO as r}from"./chunk-f83wv08n.js";var m=c((E$,o)=>{var{defineProperty:_,getOwnPropertyDescriptor:aZ,getOwnPropertyNames:oZ}=Object,rZ=Object.prototype.hasOwnProperty,eZ=($,W)=>{for(var Q in W)_($,Q,{get:W[Q],enumerable:!0})},Z0=($,W,Q,X)=>{if(W&&typeof W==="object"||typeof W==="function"){for(let Y of oZ(W))if(!rZ.call($,Y)&&Y!==Q)_($,Y,{get:()=>W[Y],enumerable:!(X=aZ(W,Y))||X.enumerable})}return $},$0=($)=>Z0(_({},"__esModule",{value:!0}),$),t={};eZ(t,{SYMBOL_FOR_REQ_CONTEXT:()=>a,getContext:()=>W0});o.exports=$0(t);var a=Symbol.for("@vercel/request-context");function W0(){return globalThis[a]?.get?.()??{}}});var $Z=c((H$,ZZ)=>{var{defineProperty:i,getOwnPropertyDescriptor:X0,getOwnPropertyNames:Y0}=Object,j0=Object.prototype.hasOwnProperty,D0=($,W)=>{for(var Q in W)i($,Q,{get:W[Q],enumerable:!0})},K0=($,W,Q,X)=>{if(W&&typeof W==="object"||typeof W==="function"){for(let Y of Y0(W))if(!j0.call($,Y)&&Y!==Q)i($,Y,{get:()=>W[Y],enumerable:!(X=X0(W,Y))||X.enumerable})}return $},J0=($)=>K0(i({},"__esModule",{value:!0}),$),e={};D0(e,{getVercelOidcToken:()=>N0,getVercelOidcTokenSync:()=>p});ZZ.exports=J0(e);var A0=m(),F0=Q0();async function N0($){let W="",Q;try{W=p()}catch(X){Q=X}try{let[{getTokenPayload:X,isExpired:Y},{refreshToken:D}]=await Promise.all([await import("./chunk-basjzwqp.js").then((m)=>g(m.default)),await import("./chunk-bbbh69ys.js").then((m)=>g(m.default))]);if(!W||Y(X(W),$?.expirationBufferMs))await D($),W=p()}catch(X){let Y=Q instanceof Error?Q.message:"";if(X instanceof Error)Y=`${Y}
|
|
3
3
|
${X.message}`;if(Y)throw new F0.VercelOidcTokenError(Y);throw X}return W}function p(){let $=(0,A0.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!$)throw Error("The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?");return $}});var n=c((M$,YZ)=>{var{defineProperty:d,getOwnPropertyDescriptor:V0,getOwnPropertyNames:q0}=Object,T0=Object.prototype.hasOwnProperty,B0=($,W)=>{for(var Q in W)d($,Q,{get:W[Q],enumerable:!0})},G0=($,W,Q,X)=>{if(W&&typeof W==="object"||typeof W==="function"){for(let Y of q0(W))if(!T0.call($,Y)&&Y!==Q)d($,Y,{get:()=>W[Y],enumerable:!(X=V0(W,Y))||X.enumerable})}return $},x0=($)=>G0(d({},"__esModule",{value:!0}),$),XZ={};B0(XZ,{AccessTokenMissingError:()=>QZ.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>QZ.RefreshAccessTokenFailedError,getContext:()=>z0.getContext,getVercelOidcToken:()=>WZ.getVercelOidcToken,getVercelOidcTokenSync:()=>WZ.getVercelOidcTokenSync,getVercelToken:()=>E0.getVercelToken});YZ.exports=x0(XZ);var WZ=$Z(),z0=m(),QZ=U0(),E0=L0()});var sZ=g(n(),1),tZ=g(n(),1);var H0="vercel.ai.gateway.error",s=Symbol.for(H0),jZ,DZ,z=class $ extends(DZ=Error,jZ=s,DZ){constructor({message:W,statusCode:Q=500,cause:X,generationId:Y}){super(Y?`${W} [${Y}]`:W);this[jZ]=!0,this.statusCode=Q,this.cause=X,this.generationId=Y}static isInstance(W){return $.hasMarker(W)}static hasMarker(W){return typeof W==="object"&&W!==null&&s in W&&W[s]===!0}},uZ="GatewayAuthenticationError",M0=`vercel.ai.gateway.error.${uZ}`,KZ=Symbol.for(M0),JZ,AZ,lZ=class $ extends(AZ=z,JZ=KZ,AZ){constructor({message:W="Authentication failed",statusCode:Q=401,cause:X,generationId:Y}={}){super({message:W,statusCode:Q,cause:X,generationId:Y});this[JZ]=!0,this.name=uZ,this.type="authentication_error"}static isInstance(W){return z.hasMarker(W)&&KZ in W}static createContextualError({apiKeyProvided:W,oidcTokenProvided:Q,message:X="Authentication failed",statusCode:Y=401,cause:D,generationId:N}){let j;if(W)j=`AI Gateway authentication failed: Invalid API key.
|
|
4
4
|
|
|
5
5
|
Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
@@ -17,4 +17,4 @@ Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
|
|
|
17
17
|
Option 2 - OIDC token:
|
|
18
18
|
Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`;return new $({message:j,statusCode:Y,cause:D,generationId:N})}},cZ="GatewayInvalidRequestError",O0=`vercel.ai.gateway.error.${cZ}`,FZ=Symbol.for(O0),NZ,UZ,R0=class extends(UZ=z,NZ=FZ,UZ){constructor({message:$="Invalid request",statusCode:W=400,cause:Q,generationId:X}={}){super({message:$,statusCode:W,cause:Q,generationId:X});this[NZ]=!0,this.name=cZ,this.type="invalid_request_error"}static isInstance($){return z.hasMarker($)&&FZ in $}},_Z="GatewayRateLimitError",C0=`vercel.ai.gateway.error.${_Z}`,LZ=Symbol.for(C0),VZ,qZ,S0=class extends(qZ=z,VZ=LZ,qZ){constructor({message:$="Rate limit exceeded",statusCode:W=429,cause:Q,generationId:X}={}){super({message:$,statusCode:W,cause:Q,generationId:X});this[VZ]=!0,this.name=_Z,this.type="rate_limit_exceeded"}static isInstance($){return z.hasMarker($)&&LZ in $}},mZ="GatewayModelNotFoundError",w0=`vercel.ai.gateway.error.${mZ}`,TZ=Symbol.for(w0),P0=L(()=>V(Z.object({modelId:Z.string()}))),BZ,GZ,b0=class extends(GZ=z,BZ=TZ,GZ){constructor({message:$="Model not found",statusCode:W=404,modelId:Q,cause:X,generationId:Y}={}){super({message:$,statusCode:W,cause:X,generationId:Y});this[BZ]=!0,this.name=mZ,this.type="model_not_found",this.modelId=Q}static isInstance($){return z.hasMarker($)&&TZ in $}},pZ="GatewayInternalServerError",I0=`vercel.ai.gateway.error.${pZ}`,xZ=Symbol.for(I0),zZ,EZ,HZ=class extends(EZ=z,zZ=xZ,EZ){constructor({message:$="Internal server error",statusCode:W=500,cause:Q,generationId:X}={}){super({message:$,statusCode:W,cause:Q,generationId:X});this[zZ]=!0,this.name=pZ,this.type="internal_server_error"}static isInstance($){return z.hasMarker($)&&xZ in $}},iZ="GatewayResponseError",k0=`vercel.ai.gateway.error.${iZ}`,MZ=Symbol.for(k0),OZ,RZ,v0=class extends(RZ=z,OZ=MZ,RZ){constructor({message:$="Invalid response from Gateway",statusCode:W=502,response:Q,validationError:X,cause:Y,generationId:D}={}){super({message:$,statusCode:W,cause:Y,generationId:D});this[OZ]=!0,this.name=iZ,this.type="response_error",this.response=Q,this.validationError=X}static isInstance($){return z.hasMarker($)&&MZ in $}};async function CZ({response:$,statusCode:W,defaultMessage:Q="Gateway request failed",cause:X,authMethod:Y}){var D;let N=await f({value:$,schema:y0});if(!N.success){let E=typeof $==="object"&&$!==null&&"generationId"in $?$.generationId:void 0;return new v0({message:`Invalid error response format: ${Q}`,statusCode:W,response:$,validationError:N.error,cause:X,generationId:E})}let j=N.value,K=j.error.type,F=j.error.message,q=(D=j.generationId)!=null?D:void 0;switch(K){case"authentication_error":return lZ.createContextualError({apiKeyProvided:Y==="api-key",oidcTokenProvided:Y==="oidc",statusCode:W,cause:X,generationId:q});case"invalid_request_error":return new R0({message:F,statusCode:W,cause:X,generationId:q});case"rate_limit_exceeded":return new S0({message:F,statusCode:W,cause:X,generationId:q});case"model_not_found":{let E=await f({value:j.error.param,schema:P0});return new b0({message:F,statusCode:W,modelId:E.success?E.value.modelId:void 0,cause:X,generationId:q})}case"internal_server_error":return new HZ({message:F,statusCode:W,cause:X,generationId:q});default:return new HZ({message:F,statusCode:W,cause:X,generationId:q})}}var y0=L(()=>V(Z.object({error:Z.object({message:Z.string(),type:Z.string().nullish(),param:Z.unknown().nullish(),code:Z.union([Z.string(),Z.number()]).nullish()}),generationId:Z.string().nullish()}))),dZ="GatewayTimeoutError",h0=`vercel.ai.gateway.error.${dZ}`,SZ=Symbol.for(h0),wZ,PZ,bZ=class $ extends(PZ=z,wZ=SZ,PZ){constructor({message:W="Request timed out",statusCode:Q=408,cause:X,generationId:Y}={}){super({message:W,statusCode:Q,cause:X,generationId:Y});this[wZ]=!0,this.name=dZ,this.type="timeout_error"}static isInstance(W){return z.hasMarker(W)&&SZ in W}static createTimeoutError({originalMessage:W,statusCode:Q=408,cause:X,generationId:Y}){let D=`Gateway request timed out: ${W}
|
|
19
19
|
|
|
20
|
-
This is a client-side timeout. To resolve this, increase your timeout configuration: https://vercel.com/docs/ai-gateway/capabilities/video-generation#extending-timeouts-for-node.js`;return new $({message:D,statusCode:Q,cause:X,generationId:Y})}};function IZ($){if(!($ instanceof Error))return!1;let W=$.code;if(typeof W==="string")return["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(W);return!1}async function H($,W){var Q;if(z.isInstance($))return $;if(IZ($))return bZ.createTimeoutError({originalMessage:$ instanceof Error?$.message:"Unknown error",cause:$});if(v.isInstance($)){if($.cause&&IZ($.cause))return bZ.createTimeoutError({originalMessage:$.message,cause:$});return await CZ({response:f0($),statusCode:(Q=$.statusCode)!=null?Q:500,defaultMessage:"Gateway request failed",cause:$,authMethod:W})}return await CZ({response:{},statusCode:500,defaultMessage:$ instanceof Error?`Gateway request failed: ${$.message}`:"Unknown Gateway error",cause:$,authMethod:W})}function f0($){if($.data!==void 0)return $.data;if($.responseBody!=null)try{return JSON.parse($.responseBody)}catch(W){return $.responseBody}return{}}var nZ="ai-gateway-auth-method";async function w($){let W=await f({value:$[nZ],schema:g0});return W.success?W.value:void 0}var g0=L(()=>V(Z.union([Z.literal("api-key"),Z.literal("oidc")]))),u0=["embedding","image","language","reranking","video"],kZ=class{constructor($){this.config=$}async getAvailableModels(){try{let{value:$}=await y({url:`${this.config.baseURL}/config`,headers:await U(this.config.headers()),successfulResponseHandler:x(l0),failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(W)=>W}),fetch:this.config.fetch});return $}catch($){throw await H($)}}async getCredits(){try{let $=new URL(this.config.baseURL),{value:W}=await y({url:`${$.origin}/v1/credits`,headers:await U(this.config.headers()),successfulResponseHandler:x(c0),failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(Q)=>Q}),fetch:this.config.fetch});return W}catch($){throw await H($)}}},l0=L(()=>V(Z.object({models:Z.array(Z.object({id:Z.string(),name:Z.string(),description:Z.string().nullish(),pricing:Z.object({input:Z.string(),output:Z.string(),input_cache_read:Z.string().nullish(),input_cache_write:Z.string().nullish()}).transform(({input:$,output:W,input_cache_read:Q,input_cache_write:X})=>({input:$,output:W,...Q?{cachedInputTokens:Q}:{},...X?{cacheCreationInputTokens:X}:{}})).nullish(),specification:Z.object({specificationVersion:Z.literal("v3"),provider:Z.string(),modelId:Z.string()}),modelType:Z.string().nullish()})).transform(($)=>$.filter((W)=>W.modelType==null||u0.includes(W.modelType)))}))),c0=L(()=>V(Z.object({balance:Z.string(),total_used:Z.string()}).transform(({balance:$,total_used:W})=>({balance:$,totalUsed:W})))),_0=class{constructor($){this.config=$}async getSpendReport($){try{let W=new URL(this.config.baseURL),Q=new URLSearchParams;if(Q.set("start_date",$.startDate),Q.set("end_date",$.endDate),$.groupBy)Q.set("group_by",$.groupBy);if($.datePart)Q.set("date_part",$.datePart);if($.userId)Q.set("user_id",$.userId);if($.model)Q.set("model",$.model);if($.provider)Q.set("provider",$.provider);if($.credentialType)Q.set("credential_type",$.credentialType);if($.tags&&$.tags.length>0)Q.set("tags",$.tags.join(","));let{value:X}=await y({url:`${W.origin}/v1/report?${Q.toString()}`,headers:await U(this.config.headers()),successfulResponseHandler:x(m0),failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(Y)=>Y}),fetch:this.config.fetch});return X}catch(W){throw await H(W)}}},m0=L(()=>V(Z.object({results:Z.array(Z.object({day:Z.string().optional(),hour:Z.string().optional(),user:Z.string().optional(),model:Z.string().optional(),tag:Z.string().optional(),provider:Z.string().optional(),credential_type:Z.enum(["byok","system"]).optional(),total_cost:Z.number(),market_cost:Z.number().optional(),input_tokens:Z.number().optional(),output_tokens:Z.number().optional(),cached_input_tokens:Z.number().optional(),cache_creation_input_tokens:Z.number().optional(),reasoning_tokens:Z.number().optional(),request_count:Z.number().optional()}).transform(({credential_type:$,total_cost:W,market_cost:Q,input_tokens:X,output_tokens:Y,cached_input_tokens:D,cache_creation_input_tokens:N,reasoning_tokens:j,request_count:K,...F})=>({...F,...$!==void 0?{credentialType:$}:{},totalCost:W,...Q!==void 0?{marketCost:Q}:{},...X!==void 0?{inputTokens:X}:{},...Y!==void 0?{outputTokens:Y}:{},...D!==void 0?{cachedInputTokens:D}:{},...N!==void 0?{cacheCreationInputTokens:N}:{},...j!==void 0?{reasoningTokens:j}:{},...K!==void 0?{requestCount:K}:{}})))}))),p0=class{constructor($){this.config=$}async getGenerationInfo($){try{let W=new URL(this.config.baseURL),{value:Q}=await y({url:`${W.origin}/v1/generation?id=${encodeURIComponent($.id)}`,headers:await U(this.config.headers()),successfulResponseHandler:x(i0),failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return Q}catch(W){throw await H(W)}}},i0=L(()=>V(Z.object({data:Z.object({id:Z.string(),total_cost:Z.number(),upstream_inference_cost:Z.number(),usage:Z.number(),created_at:Z.string(),model:Z.string(),is_byok:Z.boolean(),provider_name:Z.string(),streamed:Z.boolean(),finish_reason:Z.string(),latency:Z.number(),generation_time:Z.number(),native_tokens_prompt:Z.number(),native_tokens_completion:Z.number(),native_tokens_reasoning:Z.number(),native_tokens_cached:Z.number(),native_tokens_cache_creation:Z.number(),billable_web_search_calls:Z.number()}).transform(({total_cost:$,upstream_inference_cost:W,created_at:Q,is_byok:X,provider_name:Y,finish_reason:D,generation_time:N,native_tokens_prompt:j,native_tokens_completion:K,native_tokens_reasoning:F,native_tokens_cached:q,native_tokens_cache_creation:E,billable_web_search_calls:P,...C})=>({...C,totalCost:$,upstreamInferenceCost:W,createdAt:Q,isByok:X,providerName:Y,finishReason:D,generationTime:N,promptTokens:j,completionTokens:K,reasoningTokens:F,cachedTokens:q,cacheCreationTokens:E,billableWebSearchCalls:P}))}).transform(({data:$})=>$))),d0=class{constructor($,W){this.modelId=$,this.config=W,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs($){let{abortSignal:W,...Q}=$;return{args:this.maybeEncodeFileParts(Q),warnings:[]}}async doGenerate($){let{args:W,warnings:Q}=await this.getArgs($),{abortSignal:X}=$,Y=await U(this.config.headers());try{let{responseHeaders:D,value:N,rawValue:j}=await R({url:this.getUrl(),headers:O(Y,$.headers,this.getModelConfigHeaders(this.modelId,!1),await U(this.config.o11yHeaders)),body:W,successfulResponseHandler:x(Z.any()),failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(K)=>K}),...X&&{abortSignal:X},fetch:this.config.fetch});return{...N,request:{body:W},response:{headers:D,body:j},warnings:Q}}catch(D){throw await H(D,await w(Y))}}async doStream($){let{args:W,warnings:Q}=await this.getArgs($),{abortSignal:X}=$,Y=await U(this.config.headers());try{let{value:D,responseHeaders:N}=await R({url:this.getUrl(),headers:O(Y,$.headers,this.getModelConfigHeaders(this.modelId,!0),await U(this.config.o11yHeaders)),body:W,successfulResponseHandler:fZ(Z.any()),failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(j)=>j}),...X&&{abortSignal:X},fetch:this.config.fetch});return{stream:D.pipeThrough(new TransformStream({start(j){if(Q.length>0)j.enqueue({type:"stream-start",warnings:Q})},transform(j,K){if(j.success){let F=j.value;if(F.type==="raw"&&!$.includeRawChunks)return;if(F.type==="response-metadata"&&F.timestamp&&typeof F.timestamp==="string")F.timestamp=new Date(F.timestamp);K.enqueue(F)}else K.error(j.error)}})),request:{body:W},response:{headers:N}}}catch(D){throw await H(D,await w(Y))}}isFilePart($){return $&&typeof $==="object"&&"type"in $&&$.type==="file"}maybeEncodeFileParts($){for(let W of $.prompt)for(let Q of W.content)if(this.isFilePart(Q)){let X=Q;if(X.data instanceof Uint8Array){let Y=Uint8Array.from(X.data),D=Buffer.from(Y).toString("base64");X.data=new URL(`data:${X.mediaType||"application/octet-stream"};base64,${D}`)}}return $}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders($,W){return{"ai-language-model-specification-version":"3","ai-language-model-id":$,"ai-language-model-streaming":String(W)}}},n0=class{constructor($,W){this.modelId=$,this.config=W,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:$,headers:W,abortSignal:Q,providerOptions:X}){var Y;let D=await U(this.config.headers());try{let{responseHeaders:N,value:j,rawValue:K}=await R({url:this.getUrl(),headers:O(D,W!=null?W:{},this.getModelConfigHeaders(),await U(this.config.o11yHeaders)),body:{values:$,...X?{providerOptions:X}:{}},successfulResponseHandler:x(s0),failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(F)=>F}),...Q&&{abortSignal:Q},fetch:this.config.fetch});return{embeddings:j.embeddings,usage:(Y=j.usage)!=null?Y:void 0,providerMetadata:j.providerMetadata,response:{headers:N,body:K},warnings:[]}}catch(N){throw await H(N,await w(D))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},s0=L(()=>V(Z.object({embeddings:Z.array(Z.array(Z.number())),usage:Z.object({tokens:Z.number()}).nullish(),providerMetadata:Z.record(Z.string(),Z.record(Z.string(),Z.unknown())).optional()}))),t0=class{constructor($,W){this.modelId=$,this.config=W,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:$,n:W,size:Q,aspectRatio:X,seed:Y,files:D,mask:N,providerOptions:j,headers:K,abortSignal:F}){var q,E,P,C;let b=await U(this.config.headers());try{let{responseHeaders:J,value:G,rawValue:I}=await R({url:this.getUrl(),headers:O(b,K!=null?K:{},this.getModelConfigHeaders(),await U(this.config.o11yHeaders)),body:{prompt:$,n:W,...Q&&{size:Q},...X&&{aspectRatio:X},...Y&&{seed:Y},...j&&{providerOptions:j},...D&&{files:D.map((A)=>vZ(A))},...N&&{mask:vZ(N)}},successfulResponseHandler:x(e0),failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(A)=>A}),...F&&{abortSignal:F},fetch:this.config.fetch});return{images:G.images,warnings:(q=G.warnings)!=null?q:[],providerMetadata:G.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:J},...G.usage!=null&&{usage:{inputTokens:(E=G.usage.inputTokens)!=null?E:void 0,outputTokens:(P=G.usage.outputTokens)!=null?P:void 0,totalTokens:(C=G.usage.totalTokens)!=null?C:void 0}}}}catch(J){throw await H(J,await w(b))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}};function vZ($){if($.type==="file"&&$.data instanceof Uint8Array)return{...$,data:u($.data)};return $}var a0=Z.object({images:Z.array(Z.unknown()).optional()}).catchall(Z.unknown()),o0=Z.discriminatedUnion("type",[Z.object({type:Z.literal("unsupported"),feature:Z.string(),details:Z.string().optional()}),Z.object({type:Z.literal("compatibility"),feature:Z.string(),details:Z.string().optional()}),Z.object({type:Z.literal("other"),message:Z.string()})]),r0=Z.object({inputTokens:Z.number().nullish(),outputTokens:Z.number().nullish(),totalTokens:Z.number().nullish()}),e0=Z.object({images:Z.array(Z.string()),warnings:Z.array(o0).optional(),providerMetadata:Z.record(Z.string(),a0).optional(),usage:r0.optional()}),Z$=class{constructor($,W){this.modelId=$,this.config=W,this.specificationVersion="v3",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:$,n:W,aspectRatio:Q,resolution:X,duration:Y,fps:D,seed:N,image:j,providerOptions:K,headers:F,abortSignal:q}){var E;let P=await U(this.config.headers());try{let{responseHeaders:C,value:b}=await R({url:this.getUrl(),headers:O(P,F!=null?F:{},this.getModelConfigHeaders(),await U(this.config.o11yHeaders),{accept:"text/event-stream"}),body:{prompt:$,n:W,...Q&&{aspectRatio:Q},...X&&{resolution:X},...Y&&{duration:Y},...D&&{fps:D},...N&&{seed:N},...K&&{providerOptions:K},...j&&{image:$$(j)}},successfulResponseHandler:async({response:J,url:G,requestBodyValues:I})=>{if(J.body==null)throw new v({message:"SSE response body is empty",url:G,requestBodyValues:I,statusCode:J.status});let M=hZ({stream:J.body,schema:Y$}).getReader(),{done:k,value:S}=await M.read();if(M.releaseLock(),k||!S)throw new v({message:"SSE stream ended without a data event",url:G,requestBodyValues:I,statusCode:J.status});if(!S.success)throw new v({message:"Failed to parse video SSE event",cause:S.error,url:G,requestBodyValues:I,statusCode:J.status});let T=S.value;if(T.type==="error")throw new v({message:T.message,statusCode:T.statusCode,url:G,requestBodyValues:I,responseHeaders:Object.fromEntries([...J.headers]),responseBody:JSON.stringify(T),data:{error:{message:T.message,type:T.errorType,param:T.param}}});return{value:{videos:T.videos,warnings:T.warnings,providerMetadata:T.providerMetadata},responseHeaders:Object.fromEntries([...J.headers])}},failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(J)=>J}),...q&&{abortSignal:q},fetch:this.config.fetch});return{videos:b.videos,warnings:(E=b.warnings)!=null?E:[],providerMetadata:b.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:C}}}catch(C){throw await H(C,await w(P))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}};function $$($){if($.type==="file"&&$.data instanceof Uint8Array)return{...$,data:u($.data)};return $}var W$=Z.object({videos:Z.array(Z.unknown()).optional()}).catchall(Z.unknown()),Q$=Z.union([Z.object({type:Z.literal("url"),url:Z.string(),mediaType:Z.string()}),Z.object({type:Z.literal("base64"),data:Z.string(),mediaType:Z.string()})]),X$=Z.discriminatedUnion("type",[Z.object({type:Z.literal("unsupported"),feature:Z.string(),details:Z.string().optional()}),Z.object({type:Z.literal("compatibility"),feature:Z.string(),details:Z.string().optional()}),Z.object({type:Z.literal("other"),message:Z.string()})]),Y$=Z.discriminatedUnion("type",[Z.object({type:Z.literal("result"),videos:Z.array(Q$),warnings:Z.array(X$).optional(),providerMetadata:Z.record(Z.string(),W$).optional()}),Z.object({type:Z.literal("error"),message:Z.string(),errorType:Z.string(),statusCode:Z.number(),param:Z.unknown().nullable()})]),j$=class{constructor($,W){this.modelId=$,this.config=W,this.specificationVersion="v3"}get provider(){return this.config.provider}async doRerank({documents:$,query:W,topN:Q,headers:X,abortSignal:Y,providerOptions:D}){let N=await U(this.config.headers());try{let{responseHeaders:j,value:K,rawValue:F}=await R({url:this.getUrl(),headers:O(N,X!=null?X:{},this.getModelConfigHeaders(),await U(this.config.o11yHeaders)),body:{documents:$,query:W,...Q!=null?{topN:Q}:{},...D?{providerOptions:D}:{}},successfulResponseHandler:x(D$),failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(q)=>q}),...Y&&{abortSignal:Y},fetch:this.config.fetch});return{ranking:K.ranking,providerMetadata:K.providerMetadata,response:{headers:j,body:F},warnings:[]}}catch(j){throw await H(j,await w(N))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"3","ai-model-id":this.modelId}}},D$=L(()=>V(Z.object({ranking:Z.array(Z.object({index:Z.number(),relevanceScore:Z.number()})),providerMetadata:Z.record(Z.string(),Z.record(Z.string(),Z.unknown())).optional()}))),K$=L(()=>V(Z.object({objective:Z.string().describe("Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."),search_queries:Z.array(Z.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:Z.enum(["one-shot","agentic"]).optional().describe('Mode preset: "one-shot" for comprehensive results with longer excerpts (default), "agentic" for concise, token-efficient results for multi-step workflows.'),max_results:Z.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:Z.object({include_domains:Z.array(Z.string()).optional().describe("List of domains to include in search results."),exclude_domains:Z.array(Z.string()).optional().describe("List of domains to exclude from search results."),after_date:Z.string().optional().describe("Only include results published after this date (ISO 8601 format).")}).optional().describe("Source policy for controlling which domains to include/exclude and freshness."),excerpts:Z.object({max_chars_per_result:Z.number().optional().describe("Maximum characters per result."),max_chars_total:Z.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:Z.object({max_age_seconds:Z.number().optional().describe("Maximum age in seconds for cached content. Set to 0 to always fetch fresh content.")}).optional().describe("Fetch policy for controlling content freshness.")}))),J$=L(()=>V(Z.union([Z.object({searchId:Z.string(),results:Z.array(Z.object({url:Z.string(),title:Z.string(),excerpt:Z.string(),publishDate:Z.string().nullable().optional(),relevanceScore:Z.number().optional()}))}),Z.object({error:Z.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:Z.number().optional(),message:Z.string()})]))),A$=l({id:"gateway.parallel_search",inputSchema:K$,outputSchema:J$}),F$=($={})=>A$($),N$=L(()=>V(Z.object({query:Z.union([Z.string(),Z.array(Z.string())]).describe("Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."),max_results:Z.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:Z.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:Z.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:Z.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:Z.array(Z.string()).optional().describe("List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"),search_language_filter:Z.array(Z.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:Z.string().optional().describe("Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),search_before_date:Z.string().optional().describe("Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),last_updated_after_filter:Z.string().optional().describe("Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),last_updated_before_filter:Z.string().optional().describe("Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),search_recency_filter:Z.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),U$=L(()=>V(Z.union([Z.object({results:Z.array(Z.object({title:Z.string(),url:Z.string(),snippet:Z.string(),date:Z.string().optional(),lastUpdated:Z.string().optional()})),id:Z.string()}),Z.object({error:Z.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:Z.number().optional(),message:Z.string()})]))),L$=l({id:"gateway.perplexity_search",inputSchema:N$,outputSchema:U$}),V$=($={})=>L$($),q$={parallelSearch:F$,perplexitySearch:V$};async function T$(){var $;return($=sZ.getContext().headers)==null?void 0:$["x-vercel-id"]}var B$="3.0.104",G$="0.0.1";function x$($={}){var W,Q;let X=null,Y=null,D=(W=$.metadataCacheRefreshMillis)!=null?W:300000,N=0,j=(Q=gZ($.baseURL))!=null?Q:"https://ai-gateway.vercel.sh/v3/ai",K=async()=>{try{let A=await z$($);return yZ({Authorization:`Bearer ${A.token}`,"ai-gateway-protocol-version":G$,[nZ]:A.authMethod,...$.headers},`ai-sdk/gateway/${B$}`)}catch(A){throw lZ.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:A})}},F=()=>{let A=h({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),M=h({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),k=h({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),S=h({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let T=await T$();return{...A&&{"ai-o11y-deployment-id":A},...M&&{"ai-o11y-environment":M},...k&&{"ai-o11y-region":k},...T&&{"ai-o11y-request-id":T},...S&&{"ai-o11y-project-id":S}}}},q=(A)=>{return new d0(A,{provider:"gateway",baseURL:j,headers:K,fetch:$.fetch,o11yHeaders:F()})},E=async()=>{var A,M,k;let S=(k=(M=(A=$._internal)==null?void 0:A.currentDate)==null?void 0:M.call(A).getTime())!=null?k:Date.now();if(!X||S-N>D)N=S,X=new kZ({baseURL:j,headers:K,fetch:$.fetch}).getAvailableModels().then((T)=>{return Y=T,T}).catch(async(T)=>{throw await H(T,await w(await K()))});return Y?Promise.resolve(Y):X},P=async()=>{return new kZ({baseURL:j,headers:K,fetch:$.fetch}).getCredits().catch(async(A)=>{throw await H(A,await w(await K()))})},C=async(A)=>{return new _0({baseURL:j,headers:K,fetch:$.fetch}).getSpendReport(A).catch(async(M)=>{throw await H(M,await w(await K()))})},b=async(A)=>{return new p0({baseURL:j,headers:K,fetch:$.fetch}).getGenerationInfo(A).catch(async(M)=>{throw await H(M,await w(await K()))})},J=function(A){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return q(A)};J.specificationVersion="v3",J.getAvailableModels=E,J.getCredits=P,J.getSpendReport=C,J.getGenerationInfo=b,J.imageModel=(A)=>{return new t0(A,{provider:"gateway",baseURL:j,headers:K,fetch:$.fetch,o11yHeaders:F()})},J.languageModel=q;let G=(A)=>{return new n0(A,{provider:"gateway",baseURL:j,headers:K,fetch:$.fetch,o11yHeaders:F()})};J.embeddingModel=G,J.textEmbeddingModel=G,J.videoModel=(A)=>{return new Z$(A,{provider:"gateway",baseURL:j,headers:K,fetch:$.fetch,o11yHeaders:F()})};let I=(A)=>{return new j$(A,{provider:"gateway",baseURL:j,headers:K,fetch:$.fetch,o11yHeaders:F()})};return J.rerankingModel=I,J.reranking=I,J.chat=J.languageModel,J.embedding=J.embeddingModel,J.image=J.imageModel,J.video=J.videoModel,J.tools=q$,J}var $W=x$();async function z$($){let W=h({settingValue:$.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(W)return{token:W,authMethod:"api-key"};return{token:await tZ.getVercelOidcToken(),authMethod:"oidc"}}export{z as Dp,lZ as Ep,R0 as Fp,S0 as Gp,b0 as Hp,HZ as Ip,v0 as Jp,x$ as Kp,$W as Lp};
|
|
20
|
+
This is a client-side timeout. To resolve this, increase your timeout configuration: https://vercel.com/docs/ai-gateway/capabilities/video-generation#extending-timeouts-for-node.js`;return new $({message:D,statusCode:Q,cause:X,generationId:Y})}};function IZ($){if(!($ instanceof Error))return!1;let W=$.code;if(typeof W==="string")return["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(W);return!1}async function H($,W){var Q;if(z.isInstance($))return $;if(IZ($))return bZ.createTimeoutError({originalMessage:$ instanceof Error?$.message:"Unknown error",cause:$});if(v.isInstance($)){if($.cause&&IZ($.cause))return bZ.createTimeoutError({originalMessage:$.message,cause:$});return await CZ({response:f0($),statusCode:(Q=$.statusCode)!=null?Q:500,defaultMessage:"Gateway request failed",cause:$,authMethod:W})}return await CZ({response:{},statusCode:500,defaultMessage:$ instanceof Error?`Gateway request failed: ${$.message}`:"Unknown Gateway error",cause:$,authMethod:W})}function f0($){if($.data!==void 0)return $.data;if($.responseBody!=null)try{return JSON.parse($.responseBody)}catch(W){return $.responseBody}return{}}var nZ="ai-gateway-auth-method";async function w($){let W=await f({value:$[nZ],schema:g0});return W.success?W.value:void 0}var g0=L(()=>V(Z.union([Z.literal("api-key"),Z.literal("oidc")]))),u0=["embedding","image","language","reranking","video"],kZ=class{constructor($){this.config=$}async getAvailableModels(){try{let{value:$}=await y({url:`${this.config.baseURL}/config`,headers:await U(this.config.headers()),successfulResponseHandler:x(l0),failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(W)=>W}),fetch:this.config.fetch});return $}catch($){throw await H($)}}async getCredits(){try{let $=new URL(this.config.baseURL),{value:W}=await y({url:`${$.origin}/v1/credits`,headers:await U(this.config.headers()),successfulResponseHandler:x(c0),failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(Q)=>Q}),fetch:this.config.fetch});return W}catch($){throw await H($)}}},l0=L(()=>V(Z.object({models:Z.array(Z.object({id:Z.string(),name:Z.string(),description:Z.string().nullish(),pricing:Z.object({input:Z.string(),output:Z.string(),input_cache_read:Z.string().nullish(),input_cache_write:Z.string().nullish()}).transform(({input:$,output:W,input_cache_read:Q,input_cache_write:X})=>({input:$,output:W,...Q?{cachedInputTokens:Q}:{},...X?{cacheCreationInputTokens:X}:{}})).nullish(),specification:Z.object({specificationVersion:Z.literal("v3"),provider:Z.string(),modelId:Z.string()}),modelType:Z.string().nullish()})).transform(($)=>$.filter((W)=>W.modelType==null||u0.includes(W.modelType)))}))),c0=L(()=>V(Z.object({balance:Z.string(),total_used:Z.string()}).transform(({balance:$,total_used:W})=>({balance:$,totalUsed:W})))),_0=class{constructor($){this.config=$}async getSpendReport($){try{let W=new URL(this.config.baseURL),Q=new URLSearchParams;if(Q.set("start_date",$.startDate),Q.set("end_date",$.endDate),$.groupBy)Q.set("group_by",$.groupBy);if($.datePart)Q.set("date_part",$.datePart);if($.userId)Q.set("user_id",$.userId);if($.model)Q.set("model",$.model);if($.provider)Q.set("provider",$.provider);if($.credentialType)Q.set("credential_type",$.credentialType);if($.tags&&$.tags.length>0)Q.set("tags",$.tags.join(","));let{value:X}=await y({url:`${W.origin}/v1/report?${Q.toString()}`,headers:await U(this.config.headers()),successfulResponseHandler:x(m0),failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(Y)=>Y}),fetch:this.config.fetch});return X}catch(W){throw await H(W)}}},m0=L(()=>V(Z.object({results:Z.array(Z.object({day:Z.string().optional(),hour:Z.string().optional(),user:Z.string().optional(),model:Z.string().optional(),tag:Z.string().optional(),provider:Z.string().optional(),credential_type:Z.enum(["byok","system"]).optional(),total_cost:Z.number(),market_cost:Z.number().optional(),input_tokens:Z.number().optional(),output_tokens:Z.number().optional(),cached_input_tokens:Z.number().optional(),cache_creation_input_tokens:Z.number().optional(),reasoning_tokens:Z.number().optional(),request_count:Z.number().optional()}).transform(({credential_type:$,total_cost:W,market_cost:Q,input_tokens:X,output_tokens:Y,cached_input_tokens:D,cache_creation_input_tokens:N,reasoning_tokens:j,request_count:K,...F})=>({...F,...$!==void 0?{credentialType:$}:{},totalCost:W,...Q!==void 0?{marketCost:Q}:{},...X!==void 0?{inputTokens:X}:{},...Y!==void 0?{outputTokens:Y}:{},...D!==void 0?{cachedInputTokens:D}:{},...N!==void 0?{cacheCreationInputTokens:N}:{},...j!==void 0?{reasoningTokens:j}:{},...K!==void 0?{requestCount:K}:{}})))}))),p0=class{constructor($){this.config=$}async getGenerationInfo($){try{let W=new URL(this.config.baseURL),{value:Q}=await y({url:`${W.origin}/v1/generation?id=${encodeURIComponent($.id)}`,headers:await U(this.config.headers()),successfulResponseHandler:x(i0),failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return Q}catch(W){throw await H(W)}}},i0=L(()=>V(Z.object({data:Z.object({id:Z.string(),total_cost:Z.number(),upstream_inference_cost:Z.number(),usage:Z.number(),created_at:Z.string(),model:Z.string(),is_byok:Z.boolean(),provider_name:Z.string(),streamed:Z.boolean(),finish_reason:Z.string(),latency:Z.number(),generation_time:Z.number(),native_tokens_prompt:Z.number(),native_tokens_completion:Z.number(),native_tokens_reasoning:Z.number(),native_tokens_cached:Z.number(),native_tokens_cache_creation:Z.number(),billable_web_search_calls:Z.number()}).transform(({total_cost:$,upstream_inference_cost:W,created_at:Q,is_byok:X,provider_name:Y,finish_reason:D,generation_time:N,native_tokens_prompt:j,native_tokens_completion:K,native_tokens_reasoning:F,native_tokens_cached:q,native_tokens_cache_creation:E,billable_web_search_calls:P,...C})=>({...C,totalCost:$,upstreamInferenceCost:W,createdAt:Q,isByok:X,providerName:Y,finishReason:D,generationTime:N,promptTokens:j,completionTokens:K,reasoningTokens:F,cachedTokens:q,cacheCreationTokens:E,billableWebSearchCalls:P}))}).transform(({data:$})=>$))),d0=class{constructor($,W){this.modelId=$,this.config=W,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs($){let{abortSignal:W,...Q}=$;return{args:this.maybeEncodeFileParts(Q),warnings:[]}}async doGenerate($){let{args:W,warnings:Q}=await this.getArgs($),{abortSignal:X}=$,Y=await U(this.config.headers());try{let{responseHeaders:D,value:N,rawValue:j}=await R({url:this.getUrl(),headers:O(Y,$.headers,this.getModelConfigHeaders(this.modelId,!1),await U(this.config.o11yHeaders)),body:W,successfulResponseHandler:x(Z.any()),failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(K)=>K}),...X&&{abortSignal:X},fetch:this.config.fetch});return{...N,request:{body:W},response:{headers:D,body:j},warnings:Q}}catch(D){throw await H(D,await w(Y))}}async doStream($){let{args:W,warnings:Q}=await this.getArgs($),{abortSignal:X}=$,Y=await U(this.config.headers());try{let{value:D,responseHeaders:N}=await R({url:this.getUrl(),headers:O(Y,$.headers,this.getModelConfigHeaders(this.modelId,!0),await U(this.config.o11yHeaders)),body:W,successfulResponseHandler:fZ(Z.any()),failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(j)=>j}),...X&&{abortSignal:X},fetch:this.config.fetch});return{stream:D.pipeThrough(new TransformStream({start(j){if(Q.length>0)j.enqueue({type:"stream-start",warnings:Q})},transform(j,K){if(j.success){let F=j.value;if(F.type==="raw"&&!$.includeRawChunks)return;if(F.type==="response-metadata"&&F.timestamp&&typeof F.timestamp==="string")F.timestamp=new Date(F.timestamp);K.enqueue(F)}else K.error(j.error)}})),request:{body:W},response:{headers:N}}}catch(D){throw await H(D,await w(Y))}}isFilePart($){return $&&typeof $==="object"&&"type"in $&&$.type==="file"}maybeEncodeFileParts($){for(let W of $.prompt)for(let Q of W.content)if(this.isFilePart(Q)){let X=Q;if(X.data instanceof Uint8Array){let Y=Uint8Array.from(X.data),D=Buffer.from(Y).toString("base64");X.data=new URL(`data:${X.mediaType||"application/octet-stream"};base64,${D}`)}}return $}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders($,W){return{"ai-language-model-specification-version":"3","ai-language-model-id":$,"ai-language-model-streaming":String(W)}}},n0=class{constructor($,W){this.modelId=$,this.config=W,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:$,headers:W,abortSignal:Q,providerOptions:X}){var Y;let D=await U(this.config.headers());try{let{responseHeaders:N,value:j,rawValue:K}=await R({url:this.getUrl(),headers:O(D,W!=null?W:{},this.getModelConfigHeaders(),await U(this.config.o11yHeaders)),body:{values:$,...X?{providerOptions:X}:{}},successfulResponseHandler:x(s0),failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(F)=>F}),...Q&&{abortSignal:Q},fetch:this.config.fetch});return{embeddings:j.embeddings,usage:(Y=j.usage)!=null?Y:void 0,providerMetadata:j.providerMetadata,response:{headers:N,body:K},warnings:[]}}catch(N){throw await H(N,await w(D))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},s0=L(()=>V(Z.object({embeddings:Z.array(Z.array(Z.number())),usage:Z.object({tokens:Z.number()}).nullish(),providerMetadata:Z.record(Z.string(),Z.record(Z.string(),Z.unknown())).optional()}))),t0=class{constructor($,W){this.modelId=$,this.config=W,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:$,n:W,size:Q,aspectRatio:X,seed:Y,files:D,mask:N,providerOptions:j,headers:K,abortSignal:F}){var q,E,P,C;let b=await U(this.config.headers());try{let{responseHeaders:J,value:G,rawValue:I}=await R({url:this.getUrl(),headers:O(b,K!=null?K:{},this.getModelConfigHeaders(),await U(this.config.o11yHeaders)),body:{prompt:$,n:W,...Q&&{size:Q},...X&&{aspectRatio:X},...Y&&{seed:Y},...j&&{providerOptions:j},...D&&{files:D.map((A)=>vZ(A))},...N&&{mask:vZ(N)}},successfulResponseHandler:x(e0),failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(A)=>A}),...F&&{abortSignal:F},fetch:this.config.fetch});return{images:G.images,warnings:(q=G.warnings)!=null?q:[],providerMetadata:G.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:J},...G.usage!=null&&{usage:{inputTokens:(E=G.usage.inputTokens)!=null?E:void 0,outputTokens:(P=G.usage.outputTokens)!=null?P:void 0,totalTokens:(C=G.usage.totalTokens)!=null?C:void 0}}}}catch(J){throw await H(J,await w(b))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}};function vZ($){if($.type==="file"&&$.data instanceof Uint8Array)return{...$,data:u($.data)};return $}var a0=Z.object({images:Z.array(Z.unknown()).optional()}).catchall(Z.unknown()),o0=Z.discriminatedUnion("type",[Z.object({type:Z.literal("unsupported"),feature:Z.string(),details:Z.string().optional()}),Z.object({type:Z.literal("compatibility"),feature:Z.string(),details:Z.string().optional()}),Z.object({type:Z.literal("other"),message:Z.string()})]),r0=Z.object({inputTokens:Z.number().nullish(),outputTokens:Z.number().nullish(),totalTokens:Z.number().nullish()}),e0=Z.object({images:Z.array(Z.string()),warnings:Z.array(o0).optional(),providerMetadata:Z.record(Z.string(),a0).optional(),usage:r0.optional()}),Z$=class{constructor($,W){this.modelId=$,this.config=W,this.specificationVersion="v3",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:$,n:W,aspectRatio:Q,resolution:X,duration:Y,fps:D,seed:N,image:j,providerOptions:K,headers:F,abortSignal:q}){var E;let P=await U(this.config.headers());try{let{responseHeaders:C,value:b}=await R({url:this.getUrl(),headers:O(P,F!=null?F:{},this.getModelConfigHeaders(),await U(this.config.o11yHeaders),{accept:"text/event-stream"}),body:{prompt:$,n:W,...Q&&{aspectRatio:Q},...X&&{resolution:X},...Y&&{duration:Y},...D&&{fps:D},...N&&{seed:N},...K&&{providerOptions:K},...j&&{image:$$(j)}},successfulResponseHandler:async({response:J,url:G,requestBodyValues:I})=>{if(J.body==null)throw new v({message:"SSE response body is empty",url:G,requestBodyValues:I,statusCode:J.status});let M=hZ({stream:J.body,schema:Y$}).getReader(),{done:k,value:S}=await M.read();if(M.releaseLock(),k||!S)throw new v({message:"SSE stream ended without a data event",url:G,requestBodyValues:I,statusCode:J.status});if(!S.success)throw new v({message:"Failed to parse video SSE event",cause:S.error,url:G,requestBodyValues:I,statusCode:J.status});let T=S.value;if(T.type==="error")throw new v({message:T.message,statusCode:T.statusCode,url:G,requestBodyValues:I,responseHeaders:Object.fromEntries([...J.headers]),responseBody:JSON.stringify(T),data:{error:{message:T.message,type:T.errorType,param:T.param}}});return{value:{videos:T.videos,warnings:T.warnings,providerMetadata:T.providerMetadata},responseHeaders:Object.fromEntries([...J.headers])}},failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(J)=>J}),...q&&{abortSignal:q},fetch:this.config.fetch});return{videos:b.videos,warnings:(E=b.warnings)!=null?E:[],providerMetadata:b.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:C}}}catch(C){throw await H(C,await w(P))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}};function $$($){if($.type==="file"&&$.data instanceof Uint8Array)return{...$,data:u($.data)};return $}var W$=Z.object({videos:Z.array(Z.unknown()).optional()}).catchall(Z.unknown()),Q$=Z.union([Z.object({type:Z.literal("url"),url:Z.string(),mediaType:Z.string()}),Z.object({type:Z.literal("base64"),data:Z.string(),mediaType:Z.string()})]),X$=Z.discriminatedUnion("type",[Z.object({type:Z.literal("unsupported"),feature:Z.string(),details:Z.string().optional()}),Z.object({type:Z.literal("compatibility"),feature:Z.string(),details:Z.string().optional()}),Z.object({type:Z.literal("other"),message:Z.string()})]),Y$=Z.discriminatedUnion("type",[Z.object({type:Z.literal("result"),videos:Z.array(Q$),warnings:Z.array(X$).optional(),providerMetadata:Z.record(Z.string(),W$).optional()}),Z.object({type:Z.literal("error"),message:Z.string(),errorType:Z.string(),statusCode:Z.number(),param:Z.unknown().nullable()})]),j$=class{constructor($,W){this.modelId=$,this.config=W,this.specificationVersion="v3"}get provider(){return this.config.provider}async doRerank({documents:$,query:W,topN:Q,headers:X,abortSignal:Y,providerOptions:D}){let N=await U(this.config.headers());try{let{responseHeaders:j,value:K,rawValue:F}=await R({url:this.getUrl(),headers:O(N,X!=null?X:{},this.getModelConfigHeaders(),await U(this.config.o11yHeaders)),body:{documents:$,query:W,...Q!=null?{topN:Q}:{},...D?{providerOptions:D}:{}},successfulResponseHandler:x(D$),failedResponseHandler:B({errorSchema:Z.any(),errorToMessage:(q)=>q}),...Y&&{abortSignal:Y},fetch:this.config.fetch});return{ranking:K.ranking,providerMetadata:K.providerMetadata,response:{headers:j,body:F},warnings:[]}}catch(j){throw await H(j,await w(N))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"3","ai-model-id":this.modelId}}},D$=L(()=>V(Z.object({ranking:Z.array(Z.object({index:Z.number(),relevanceScore:Z.number()})),providerMetadata:Z.record(Z.string(),Z.record(Z.string(),Z.unknown())).optional()}))),K$=L(()=>V(Z.object({objective:Z.string().describe("Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."),search_queries:Z.array(Z.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:Z.enum(["one-shot","agentic"]).optional().describe('Mode preset: "one-shot" for comprehensive results with longer excerpts (default), "agentic" for concise, token-efficient results for multi-step workflows.'),max_results:Z.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:Z.object({include_domains:Z.array(Z.string()).optional().describe("List of domains to include in search results."),exclude_domains:Z.array(Z.string()).optional().describe("List of domains to exclude from search results."),after_date:Z.string().optional().describe("Only include results published after this date (ISO 8601 format).")}).optional().describe("Source policy for controlling which domains to include/exclude and freshness."),excerpts:Z.object({max_chars_per_result:Z.number().optional().describe("Maximum characters per result."),max_chars_total:Z.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:Z.object({max_age_seconds:Z.number().optional().describe("Maximum age in seconds for cached content. Set to 0 to always fetch fresh content.")}).optional().describe("Fetch policy for controlling content freshness.")}))),J$=L(()=>V(Z.union([Z.object({searchId:Z.string(),results:Z.array(Z.object({url:Z.string(),title:Z.string(),excerpt:Z.string(),publishDate:Z.string().nullable().optional(),relevanceScore:Z.number().optional()}))}),Z.object({error:Z.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:Z.number().optional(),message:Z.string()})]))),A$=l({id:"gateway.parallel_search",inputSchema:K$,outputSchema:J$}),F$=($={})=>A$($),N$=L(()=>V(Z.object({query:Z.union([Z.string(),Z.array(Z.string())]).describe("Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."),max_results:Z.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:Z.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:Z.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:Z.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:Z.array(Z.string()).optional().describe("List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"),search_language_filter:Z.array(Z.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:Z.string().optional().describe("Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),search_before_date:Z.string().optional().describe("Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),last_updated_after_filter:Z.string().optional().describe("Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),last_updated_before_filter:Z.string().optional().describe("Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),search_recency_filter:Z.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),U$=L(()=>V(Z.union([Z.object({results:Z.array(Z.object({title:Z.string(),url:Z.string(),snippet:Z.string(),date:Z.string().optional(),lastUpdated:Z.string().optional()})),id:Z.string()}),Z.object({error:Z.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:Z.number().optional(),message:Z.string()})]))),L$=l({id:"gateway.perplexity_search",inputSchema:N$,outputSchema:U$}),V$=($={})=>L$($),q$={parallelSearch:F$,perplexitySearch:V$};async function T$(){var $;return($=sZ.getContext().headers)==null?void 0:$["x-vercel-id"]}var B$="3.0.104",G$="0.0.1";function x$($={}){var W,Q;let X=null,Y=null,D=(W=$.metadataCacheRefreshMillis)!=null?W:300000,N=0,j=(Q=gZ($.baseURL))!=null?Q:"https://ai-gateway.vercel.sh/v3/ai",K=async()=>{try{let A=await z$($);return yZ({Authorization:`Bearer ${A.token}`,"ai-gateway-protocol-version":G$,[nZ]:A.authMethod,...$.headers},`ai-sdk/gateway/${B$}`)}catch(A){throw lZ.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:A})}},F=()=>{let A=h({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),M=h({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),k=h({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),S=h({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let T=await T$();return{...A&&{"ai-o11y-deployment-id":A},...M&&{"ai-o11y-environment":M},...k&&{"ai-o11y-region":k},...T&&{"ai-o11y-request-id":T},...S&&{"ai-o11y-project-id":S}}}},q=(A)=>{return new d0(A,{provider:"gateway",baseURL:j,headers:K,fetch:$.fetch,o11yHeaders:F()})},E=async()=>{var A,M,k;let S=(k=(M=(A=$._internal)==null?void 0:A.currentDate)==null?void 0:M.call(A).getTime())!=null?k:Date.now();if(!X||S-N>D)N=S,X=new kZ({baseURL:j,headers:K,fetch:$.fetch}).getAvailableModels().then((T)=>{return Y=T,T}).catch(async(T)=>{throw await H(T,await w(await K()))});return Y?Promise.resolve(Y):X},P=async()=>{return new kZ({baseURL:j,headers:K,fetch:$.fetch}).getCredits().catch(async(A)=>{throw await H(A,await w(await K()))})},C=async(A)=>{return new _0({baseURL:j,headers:K,fetch:$.fetch}).getSpendReport(A).catch(async(M)=>{throw await H(M,await w(await K()))})},b=async(A)=>{return new p0({baseURL:j,headers:K,fetch:$.fetch}).getGenerationInfo(A).catch(async(M)=>{throw await H(M,await w(await K()))})},J=function(A){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return q(A)};J.specificationVersion="v3",J.getAvailableModels=E,J.getCredits=P,J.getSpendReport=C,J.getGenerationInfo=b,J.imageModel=(A)=>{return new t0(A,{provider:"gateway",baseURL:j,headers:K,fetch:$.fetch,o11yHeaders:F()})},J.languageModel=q;let G=(A)=>{return new n0(A,{provider:"gateway",baseURL:j,headers:K,fetch:$.fetch,o11yHeaders:F()})};J.embeddingModel=G,J.textEmbeddingModel=G,J.videoModel=(A)=>{return new Z$(A,{provider:"gateway",baseURL:j,headers:K,fetch:$.fetch,o11yHeaders:F()})};let I=(A)=>{return new j$(A,{provider:"gateway",baseURL:j,headers:K,fetch:$.fetch,o11yHeaders:F()})};return J.rerankingModel=I,J.reranking=I,J.chat=J.languageModel,J.embedding=J.embeddingModel,J.image=J.imageModel,J.video=J.videoModel,J.tools=q$,J}var $W=x$();async function z$($){let W=h({settingValue:$.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(W)return{token:W,authMethod:"api-key"};return{token:await tZ.getVercelOidcToken(),authMethod:"oidc"}}export{z as go,lZ as ho,R0 as io,S0 as jo,b0 as ko,HZ as lo,v0 as mo,x$ as no,$W as oo};
|