@qitqode/qitqode-android-arm64 0.2.13 → 0.2.14
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-9c0f79mt.js → chunk-00ft63qn.js} +1 -1
- package/bundle/chunk-00r3he5x.js +2 -0
- package/bundle/{chunk-vr7525pa.js → chunk-02tmc2st.js} +1 -1
- package/bundle/{chunk-81mwbcy3.js → chunk-05bkxat0.js} +2 -2
- package/bundle/{chunk-ewde5bss.js → chunk-06tgmvh6.js} +2 -2
- package/bundle/{chunk-etvwxwn3.js → chunk-07b4pkk6.js} +1 -1
- package/bundle/{chunk-wqm1vawg.js → chunk-0ejx0yqx.js} +1 -1
- package/bundle/chunk-0ks20gz1.js +2 -0
- package/bundle/{chunk-2md5fz4f.js → chunk-0m4gvjcv.js} +2 -2
- package/bundle/{chunk-jf4zyy7r.js → chunk-0mztgsxp.js} +1 -1
- package/bundle/{chunk-7bvh48s2.js → chunk-10kj86va.js} +1 -1
- package/bundle/{chunk-b46t2315.js → chunk-10q04xh5.js} +1 -1
- package/bundle/{chunk-dwjv3m5s.js → chunk-175720ws.js} +2 -2
- package/bundle/{chunk-xgphhnpk.js → chunk-19rs84t8.js} +1 -1
- package/bundle/{chunk-ajykvcas.js → chunk-1a08ffyd.js} +1 -1
- package/bundle/{chunk-hsmtjb4d.js → chunk-1bq15kf0.js} +2 -2
- package/bundle/{chunk-1sejtx9a.js → chunk-1e75j4m1.js} +2 -2
- package/bundle/{chunk-c1srcpfk.js → chunk-1gdt9q05.js} +1 -1
- package/bundle/{chunk-3be70hxy.js → chunk-1mfdmm2t.js} +1 -1
- package/bundle/{chunk-dmgdwvn1.js → chunk-1pft3sar.js} +1 -1
- package/bundle/chunk-1r7anzk5.js +2 -0
- package/bundle/{chunk-rr94dpe9.js → chunk-1ypzf18e.js} +1 -1
- package/bundle/chunk-26e51217.js +2 -0
- package/bundle/{chunk-bd4krah7.js → chunk-2ascwm7j.js} +1 -1
- package/bundle/{chunk-q7wc3frq.js → chunk-2d61z24r.js} +1 -1
- package/bundle/chunk-2g4kxtz0.js +2 -0
- package/bundle/chunk-2jzay8a9.js +2 -0
- package/bundle/{chunk-5828bcp8.js → chunk-2k2szpze.js} +1 -1
- package/bundle/chunk-2q78bdtj.js +2 -0
- package/bundle/{chunk-jrh028na.js → chunk-2w3n0q9m.js} +2 -2
- package/bundle/{chunk-sv27ep93.js → chunk-2w79k0mh.js} +2 -2
- package/bundle/chunk-30rghawe.js +2 -0
- package/bundle/{chunk-jt94rhev.js → chunk-3152y1q9.js} +1 -1
- package/bundle/{chunk-1851skhm.js → chunk-31a47ptm.js} +1 -1
- package/bundle/chunk-33mzqyyb.js +3 -0
- package/bundle/chunk-34yk99ep.js +2 -0
- package/bundle/{chunk-2p1qaqv3.js → chunk-358wdvj7.js} +2 -2
- package/bundle/{chunk-fqzfytjk.js → chunk-3c73rngn.js} +1 -1
- package/bundle/{chunk-wspm2k19.js → chunk-3cs1qf8x.js} +1 -1
- package/bundle/chunk-3dajnr1w.js +2 -0
- package/bundle/chunk-3ege6krg.js +2 -0
- package/bundle/chunk-43vpxggb.js +2 -0
- package/bundle/{chunk-aq75kv5f.js → chunk-47jkx37s.js} +3 -3
- package/bundle/{chunk-hcd0k14e.js → chunk-48rg4yhk.js} +2 -2
- package/bundle/chunk-49y7zg15.js +2 -0
- package/bundle/{chunk-qa38xchd.js → chunk-4hvenszg.js} +1 -1
- package/bundle/{chunk-msbe5rb7.js → chunk-4p9fny77.js} +1 -1
- package/bundle/{chunk-g6ffx794.js → chunk-4ppw719f.js} +1 -1
- package/bundle/{chunk-g0x6q2ks.js → chunk-4r7fbkcm.js} +1 -1
- package/bundle/{chunk-5fbzvy6q.js → chunk-4s1n38ds.js} +2 -2
- package/bundle/{chunk-z6qb4gt5.js → chunk-4v29ayke.js} +1 -1
- package/bundle/{chunk-gvc1mqrs.js → chunk-4xqwt6dr.js} +2 -2
- package/bundle/{chunk-1bhcg889.js → chunk-4ycg2c6f.js} +2 -2
- package/bundle/{chunk-pzn7cade.js → chunk-5341jv20.js} +1 -1
- package/bundle/{chunk-eefzbdbk.js → chunk-583d91xq.js} +2 -2
- package/bundle/{chunk-z6f54x4k.js → chunk-5cwy8y78.js} +2 -2
- package/bundle/{chunk-6g3bzap8.js → chunk-5dvy83ms.js} +2 -2
- package/bundle/{chunk-ff031crt.js → chunk-5h1s0akp.js} +1 -1
- package/bundle/{chunk-tn0sfsks.js → chunk-5mf4qrye.js} +2 -2
- package/bundle/{chunk-0mdmqtfr.js → chunk-5q98z8ck.js} +2 -2
- package/bundle/chunk-5qhsfjzq.js +3 -0
- package/bundle/{chunk-y9kjt2jj.js → chunk-5rvvfgfy.js} +2 -2
- package/bundle/chunk-5xxn06g0.js +2 -0
- package/bundle/{chunk-2d0vympj.js → chunk-61b81z2h.js} +1 -1
- package/bundle/{chunk-4enhsmq1.js → chunk-62gefpwn.js} +2 -2
- package/bundle/{chunk-2h8b0csf.js → chunk-674pexjx.js} +2 -2
- package/bundle/{chunk-4ar8hey8.js → chunk-69htq8kq.js} +1 -1
- package/bundle/{chunk-h1p3xcfp.js → chunk-69k7cdtv.js} +2 -2
- package/bundle/{chunk-53n3tfwn.js → chunk-6cztstry.js} +2 -2
- package/bundle/{chunk-ba2hn77m.js → chunk-6d4xc6br.js} +1 -1
- package/bundle/{chunk-vqxyk6as.js → chunk-6dd2dx69.js} +2 -2
- package/bundle/{chunk-eftk07r3.js → chunk-6j53vtzd.js} +1 -1
- package/bundle/{chunk-yzxcjr6y.js → chunk-6kch0q2d.js} +2 -2
- package/bundle/{chunk-sn15skh8.js → chunk-6pt6nqwk.js} +1 -1
- package/bundle/{chunk-r9hsd9pw.js → chunk-6wmtbebc.js} +1 -1
- package/bundle/{chunk-3fx3eghq.js → chunk-6y0wgz2j.js} +1 -1
- package/bundle/{chunk-vvmvryh1.js → chunk-6yshpz0z.js} +2 -2
- package/bundle/{chunk-2ts2s8b4.js → chunk-71jmhvef.js} +2 -2
- package/bundle/{chunk-9xbc558j.js → chunk-73a7ts8r.js} +1 -1
- package/bundle/{chunk-5rtsnnjk.js → chunk-7a4sb6q7.js} +1 -1
- package/bundle/chunk-7cp30q0t.js +2 -0
- package/bundle/{chunk-d4ys15w3.js → chunk-7s9msscb.js} +1 -1
- package/bundle/{chunk-v30fmrz0.js → chunk-7w571q26.js} +1 -1
- package/bundle/chunk-7xc73qb1.js +2 -0
- package/bundle/{chunk-m18pxkdg.js → chunk-840mmmzz.js} +4 -4
- package/bundle/{chunk-jcn8bg31.js → chunk-86reb44c.js} +1 -1
- package/bundle/{chunk-hnbtfpb7.js → chunk-86sfzgnf.js} +1 -1
- package/bundle/{chunk-v9yxkbz7.js → chunk-8a9sj8gp.js} +1 -1
- package/bundle/{chunk-404ew3d3.js → chunk-8b9z8j3z.js} +1 -1
- package/bundle/{chunk-0cjp9088.js → chunk-8gkz5550.js} +1 -1
- package/bundle/chunk-8gz8fk6r.js +2 -0
- package/bundle/chunk-8ht7cq3h.js +2 -0
- package/bundle/{chunk-dpm5x19e.js → chunk-8jkqyf9n.js} +2 -2
- package/bundle/{chunk-3rcfy8te.js → chunk-8qpfphdz.js} +1 -1
- package/bundle/chunk-8qv0119d.js +2 -0
- package/bundle/{chunk-t1hw67x4.js → chunk-8zpsgfb6.js} +1 -1
- package/bundle/{chunk-c99npyz9.js → chunk-96sra8g8.js} +1 -1
- package/bundle/{chunk-nn2hbew8.js → chunk-99df6wvm.js} +1 -1
- package/bundle/{chunk-5wjwzbk8.js → chunk-9amnqaeq.js} +1 -1
- package/bundle/{chunk-z1psybn1.js → chunk-9gxyt2ay.js} +2 -2
- package/bundle/{chunk-hk8m8vax.js → chunk-9kc2th5c.js} +2 -2
- package/bundle/chunk-9m0eawt5.js +2 -0
- package/bundle/{chunk-fj87htwn.js → chunk-9mabvb06.js} +1 -1
- package/bundle/chunk-9thgxbze.js +2 -0
- package/bundle/{chunk-xn6mwsc9.js → chunk-9ttebtcf.js} +1 -1
- package/bundle/{chunk-gdawpkxs.js → chunk-9z7y4x7q.js} +1 -1
- package/bundle/{chunk-xgdst5n5.js → chunk-9znfb8f2.js} +2 -2
- package/bundle/chunk-9zsp3qkh.js +2 -0
- package/bundle/{chunk-mfg4stzn.js → chunk-a1mbach4.js} +1 -1
- package/bundle/chunk-a32y70fe.js +2 -0
- package/bundle/{chunk-hgcnzsd5.js → chunk-a3g8de96.js} +1 -1
- package/bundle/{chunk-bydaqb08.js → chunk-a8askx4y.js} +1 -1
- package/bundle/{chunk-gcpwm7b5.js → chunk-adws0hhk.js} +2 -2
- package/bundle/{chunk-1rw4srd1.js → chunk-ae1g5y4r.js} +1 -1
- package/bundle/{chunk-y5m9c5ek.js → chunk-ahgb3r1c.js} +2 -2
- package/bundle/{chunk-6p848y99.js → chunk-art8gejd.js} +1 -1
- package/bundle/{chunk-eh73j82b.js → chunk-avksqxan.js} +1 -1
- package/bundle/chunk-avzaqy6a.js +2 -0
- package/bundle/chunk-az12tp53.js +2 -0
- package/bundle/{chunk-gjmxrz0v.js → chunk-b350g18y.js} +2 -2
- package/bundle/chunk-b5dpzcc7.js +2 -0
- package/bundle/chunk-bcgtqx3g.js +2 -0
- package/bundle/{chunk-0w77vhg4.js → chunk-bdcd2mcb.js} +2 -2
- package/bundle/chunk-bde5d507.js +2 -0
- package/bundle/{chunk-139qfnsq.js → chunk-bemyyen3.js} +1 -1
- package/bundle/{chunk-84712kbe.js → chunk-bga4kqd1.js} +2 -2
- package/bundle/{chunk-4s9d2zte.js → chunk-bm8azfnt.js} +1 -1
- package/bundle/{chunk-1bbx1da7.js → chunk-bmdqb48f.js} +1 -1
- package/bundle/{chunk-bpv378bm.js → chunk-bq6cvf16.js} +2 -2
- package/bundle/{chunk-t66gerft.js → chunk-bxnsrggq.js} +1 -1
- package/bundle/{chunk-2b80n6nx.js → chunk-bzh71a92.js} +1 -1
- package/bundle/chunk-bzzggc3s.js +2 -0
- package/bundle/{chunk-78rfz0ex.js → chunk-c5cyt23k.js} +2 -2
- package/bundle/chunk-c8qx439t.js +2 -0
- package/bundle/{chunk-t1e52h0k.js → chunk-ch7s512a.js} +1 -1
- package/bundle/{chunk-jmrqp50k.js → chunk-chnr7pe5.js} +1 -1
- package/bundle/chunk-ckw51fn6.js +2 -0
- package/bundle/{chunk-1rafe6f5.js → chunk-crqycrs4.js} +2 -2
- package/bundle/{chunk-z2cnd2cp.js → chunk-d10qre1b.js} +1 -1
- package/bundle/{chunk-v6djkm35.js → chunk-d385e2qt.js} +1 -1
- package/bundle/{chunk-paqy0c2v.js → chunk-d4faz5xa.js} +1 -1
- package/bundle/{chunk-8xbd0ra5.js → chunk-d7h1dp0h.js} +1 -1
- package/bundle/chunk-denp0wrq.js +2 -0
- package/bundle/chunk-depxzjer.js +2 -0
- package/bundle/chunk-dhvqpcf3.js +2 -0
- package/bundle/chunk-dkqqswbv.js +2 -0
- package/bundle/{chunk-e4658j15.js → chunk-dmb0ez0m.js} +3 -3
- package/bundle/{chunk-47pxz6cb.js → chunk-dn0437c1.js} +2 -2
- package/bundle/{chunk-es6vbsjg.js → chunk-dvp0r93q.js} +1 -1
- package/bundle/{chunk-374js0y6.js → chunk-e18hshcg.js} +1 -1
- package/bundle/chunk-e5t7jsxa.js +2 -0
- package/bundle/{chunk-wac35a6p.js → chunk-e611m0p4.js} +1 -1
- package/bundle/{chunk-4krmja97.js → chunk-e8s4mp5n.js} +2 -2
- package/bundle/chunk-eb811dt2.js +2 -0
- package/bundle/{chunk-95ga21eq.js → chunk-edvfqxfr.js} +1 -1
- package/bundle/{chunk-yhe5qz48.js → chunk-ej0yzstw.js} +2 -2
- package/bundle/{chunk-7p8f8xav.js → chunk-ep4drmt9.js} +1 -1
- package/bundle/{chunk-xaewye8w.js → chunk-eqsank84.js} +1 -1
- package/bundle/{chunk-s7ypkpg2.js → chunk-et3tgx7t.js} +1 -1
- package/bundle/{chunk-trg0zg0q.js → chunk-f0dp1tf9.js} +1 -1
- package/bundle/chunk-fbz2xv2w.js +2 -0
- package/bundle/{chunk-cv3xdp8q.js → chunk-fd04358e.js} +375 -305
- package/bundle/{chunk-mbma071k.js → chunk-fdmz0502.js} +2 -2
- package/bundle/{chunk-mrh5q4s6.js → chunk-ffx0cr44.js} +2 -2
- package/bundle/{chunk-e6s8ep9m.js → chunk-ffyj5nsg.js} +2 -2
- package/bundle/{chunk-2bfq0mtx.js → chunk-ffz334ab.js} +1 -1
- package/bundle/{chunk-9a9qcvtz.js → chunk-fkq0v5qv.js} +2 -2
- package/bundle/{chunk-mp5m0acf.js → chunk-fmcg649e.js} +1 -1
- package/bundle/{chunk-g3y5kvg6.js → chunk-fp2xgnjn.js} +2 -2
- package/bundle/{chunk-rqdfmbns.js → chunk-fpzkyzny.js} +2 -2
- package/bundle/{chunk-yg5azmxb.js → chunk-g738e799.js} +2 -2
- package/bundle/{chunk-1exjy880.js → chunk-g77kddrs.js} +2 -2
- package/bundle/chunk-gbvcb4k1.js +2 -0
- package/bundle/{chunk-mgff8bcx.js → chunk-gd0j16gn.js} +1 -1
- package/bundle/chunk-gdtnqzbp.js +2 -0
- package/bundle/{chunk-hrfdrz36.js → chunk-gfvq78gy.js} +1 -1
- package/bundle/{chunk-h2vtypa5.js → chunk-gkf7x1yj.js} +1 -1
- package/bundle/chunk-gkfvhh28.js +2 -0
- package/bundle/chunk-gnh8c49b.js +2 -0
- package/bundle/chunk-gvf6ek9f.js +2 -0
- package/bundle/chunk-gvx5hmhk.js +2 -0
- package/bundle/{chunk-1f9qcrn6.js → chunk-h036zy9e.js} +2 -2
- package/bundle/{chunk-zhddj91f.js → chunk-hf39qx6t.js} +2 -2
- package/bundle/chunk-hham7r33.js +2 -0
- package/bundle/{chunk-map852em.js → chunk-hrcqbadm.js} +1 -1
- package/bundle/chunk-hsjbe5zy.js +2 -0
- package/bundle/{chunk-fbd971t7.js → chunk-hx13a8es.js} +3 -3
- package/bundle/{chunk-04x4b2yy.js → chunk-j15wejz0.js} +1 -1
- package/bundle/{chunk-08mgb5tt.js → chunk-j1bv93m4.js} +12 -10
- package/bundle/{chunk-5es19n1m.js → chunk-j2snkw45.js} +2 -2
- package/bundle/{chunk-z66xdxkg.js → chunk-j3agzs13.js} +2 -2
- package/bundle/{chunk-4wzv2v36.js → chunk-j45p2v4a.js} +3 -3
- package/bundle/{chunk-094m66q5.js → chunk-j46bxb1b.js} +1 -1
- package/bundle/{chunk-5e0vejcb.js → chunk-jvvctqjd.js} +2 -2
- package/bundle/chunk-jvx7jtm4.js +3 -0
- package/bundle/{chunk-0ware2sh.js → chunk-jwv6fda1.js} +2 -2
- package/bundle/{chunk-1gt6ppza.js → chunk-k0chq88p.js} +1 -1
- package/bundle/chunk-k6gdmqff.js +2 -0
- package/bundle/{chunk-8t17w67q.js → chunk-k769v1ds.js} +1 -1
- package/bundle/{chunk-ycth54ja.js → chunk-kdqhwa65.js} +1 -1
- package/bundle/{chunk-8hrt4d0v.js → chunk-ky3fhz9z.js} +1 -1
- package/bundle/chunk-kzkb4648.js +2 -0
- package/bundle/chunk-m2540waa.js +2 -0
- package/bundle/{chunk-hp9q7vvq.js → chunk-m6967jtv.js} +2 -2
- package/bundle/{chunk-7h0regqs.js → chunk-m8kjtp60.js} +1 -1
- package/bundle/{chunk-q65qzc9w.js → chunk-mbmaeq0a.js} +1 -1
- package/bundle/{chunk-anm5g0m4.js → chunk-meehnnv9.js} +2 -2
- package/bundle/{chunk-k3x6z5q1.js → chunk-mjkwd1sz.js} +1 -1
- package/bundle/chunk-mscvm1rm.js +2 -0
- package/bundle/chunk-mw3hh526.js +2 -0
- package/bundle/chunk-n3nsrk5n.js +2 -0
- package/bundle/{chunk-rf9pjbg3.js → chunk-n6pn4f3r.js} +1 -1
- package/bundle/{chunk-wrkt670m.js → chunk-n7zd97hy.js} +2 -2
- package/bundle/chunk-n9nmc4q4.js +2 -0
- package/bundle/{chunk-p3tcw42f.js → chunk-nb4xtk1n.js} +1 -1
- package/bundle/{chunk-hd6sd912.js → chunk-ngygp66y.js} +1 -1
- package/bundle/chunk-nj4as8vy.js +2 -0
- package/bundle/chunk-nrzca9yd.js +2 -0
- package/bundle/chunk-nxm6gpyv.js +2 -0
- package/bundle/{chunk-5gv6r7v8.js → chunk-nyxn7npc.js} +1 -1
- package/bundle/{chunk-mhn0a828.js → chunk-nzz7gzg2.js} +1 -1
- package/bundle/{chunk-y9mxwwz7.js → chunk-p0852vfn.js} +2 -2
- package/bundle/{chunk-xrb46v1e.js → chunk-p4xqfkbh.js} +1 -1
- package/bundle/{chunk-7nh8vjx4.js → chunk-pdcxmr6x.js} +1 -1
- package/bundle/{chunk-6wt8g6mc.js → chunk-pp10epga.js} +2 -2
- package/bundle/{chunk-w264gs2c.js → chunk-prz2fkn9.js} +1 -1
- package/bundle/{chunk-d2049chz.js → chunk-psmwrvqs.js} +2 -2
- package/bundle/{chunk-4d9s7cgr.js → chunk-pwq2f75j.js} +1 -1
- package/bundle/{chunk-5psekq9f.js → chunk-pwrwb7mn.js} +1 -1
- package/bundle/{chunk-1wy8wmah.js → chunk-px69995t.js} +1 -1
- package/bundle/{chunk-pfen4ekj.js → chunk-q1dmxn63.js} +2 -2
- package/bundle/chunk-qbjqkezn.js +2 -0
- package/bundle/chunk-qhtp1xvx.js +2 -0
- package/bundle/chunk-qkztgpay.js +2 -0
- package/bundle/{chunk-x0wy15q9.js → chunk-qn1fhqyw.js} +2 -2
- package/bundle/{chunk-rwt0rwvn.js → chunk-qpggztkq.js} +2 -2
- package/bundle/{chunk-n73ckwr7.js → chunk-qpk7jp6t.js} +1 -1
- package/bundle/{chunk-71naz1qp.js → chunk-qqsj69m2.js} +1 -1
- package/bundle/{chunk-7k1q26yn.js → chunk-qrztx1b4.js} +2 -2
- package/bundle/{chunk-xpz5mnwz.js → chunk-qz20b42s.js} +1 -1
- package/bundle/{chunk-dzy3ezht.js → chunk-rd08wx37.js} +2 -2
- package/bundle/{chunk-mqtj38j9.js → chunk-rn3je2hv.js} +1 -1
- package/bundle/chunk-rnf3dy0y.js +2 -0
- package/bundle/{chunk-72qx43fq.js → chunk-rqap90xh.js} +2 -2
- package/bundle/chunk-rry4kq85.js +2 -0
- package/bundle/{chunk-5a4zt1b7.js → chunk-rws2tsdv.js} +1 -1
- package/bundle/{chunk-r65zw08x.js → chunk-rx9eh3db.js} +3 -3
- package/bundle/{chunk-tzw56029.js → chunk-rxt6gktt.js} +1 -1
- package/bundle/chunk-ryfj80q6.js +2 -0
- package/bundle/{chunk-ec1bwa7f.js → chunk-s0gmxpxm.js} +2 -2
- package/bundle/{chunk-8psfgg8y.js → chunk-s9epttpy.js} +1 -1
- package/bundle/{chunk-gtmtvjwc.js → chunk-sb3cgb4v.js} +1 -1
- package/bundle/{chunk-p863r97y.js → chunk-set1f1wr.js} +1 -1
- package/bundle/{chunk-zgj7jx8k.js → chunk-sg9enzsp.js} +2 -2
- package/bundle/{chunk-0xf12tf3.js → chunk-sh03ka27.js} +1 -1
- package/bundle/chunk-snx49w8h.js +2 -0
- package/bundle/{chunk-610mqqqa.js → chunk-spcdwmy4.js} +1 -1
- package/bundle/{chunk-ydz7387e.js → chunk-sy76e7nr.js} +1 -1
- package/bundle/{chunk-csbndz33.js → chunk-szfqmkj6.js} +1 -1
- package/bundle/chunk-t21mdqbb.js +2 -0
- package/bundle/{chunk-t7gp6mjm.js → chunk-tcyzj3rz.js} +1 -1
- package/bundle/chunk-tn2yyqeb.js +2 -0
- package/bundle/chunk-ttebf3nt.js +2 -0
- package/bundle/chunk-twpfh0mx.js +2 -0
- package/bundle/{chunk-a4242cn4.js → chunk-tz1bzrnh.js} +1 -1
- package/bundle/chunk-tzf6d5qy.js +2 -0
- package/bundle/{chunk-hzzvmr41.js → chunk-v1axkp21.js} +2 -2
- package/bundle/chunk-v2mq09wx.js +2 -0
- package/bundle/chunk-v59a02aj.js +2 -0
- package/bundle/{chunk-8rbbt1s8.js → chunk-v5me0cj9.js} +1 -1
- package/bundle/{chunk-gw2fz5ry.js → chunk-v7v0krrj.js} +1 -1
- package/bundle/{chunk-9r6wk75s.js → chunk-veptx3fk.js} +1 -1
- package/bundle/chunk-vnstr4g1.js +2 -0
- package/bundle/{chunk-vvcyvdnk.js → chunk-vr13f6b5.js} +2 -2
- package/bundle/chunk-vxr4rzt0.js +2 -0
- package/bundle/{chunk-fmvmp278.js → chunk-vzkdzhn0.js} +1 -1
- package/bundle/chunk-w0h9rczg.js +2 -0
- package/bundle/{chunk-6jb4mnvq.js → chunk-w136zswr.js} +3 -3
- package/bundle/chunk-w214dwws.js +2 -0
- package/bundle/{chunk-mchf2bcc.js → chunk-w4fr00s7.js} +2 -2
- package/bundle/chunk-w8344et5.js +2 -0
- package/bundle/{chunk-b274mb6v.js → chunk-w8nj5ph5.js} +1 -1
- package/bundle/chunk-weyg78et.js +2 -0
- package/bundle/{chunk-6kpk6pr3.js → chunk-wf0n1cs9.js} +1 -1
- package/bundle/{chunk-00krzh3y.js → chunk-wfpnv00c.js} +2 -2
- package/bundle/{chunk-9h2fms7x.js → chunk-wmj3xndt.js} +1 -1
- package/bundle/{chunk-wwtyrgga.js → chunk-wrzn87w0.js} +1 -1
- package/bundle/{chunk-npryn3en.js → chunk-ws720v4j.js} +1 -1
- package/bundle/{chunk-t4kma6mq.js → chunk-x0de4z05.js} +2 -2
- package/bundle/{chunk-qqftaqza.js → chunk-x3dzzq0t.js} +1 -1
- package/bundle/{chunk-45dtsre6.js → chunk-x4jnyj09.js} +1 -1
- package/bundle/chunk-xchj8gna.js +2 -0
- package/bundle/{chunk-s81ck6bw.js → chunk-xdcwx384.js} +1 -1
- package/bundle/{chunk-yqvqzg7b.js → chunk-xmf59618.js} +1 -1
- package/bundle/chunk-y18ptwk2.js +2 -0
- package/bundle/{chunk-z4gczap3.js → chunk-y1v7mf1a.js} +9 -9
- package/bundle/chunk-y3dpyz2d.js +2 -0
- package/bundle/{chunk-h9tcpbr7.js → chunk-y5ydtbpd.js} +1 -1
- package/bundle/{chunk-vzj91hg8.js → chunk-yg9n2a2d.js} +1 -1
- package/bundle/chunk-ykvgmje9.js +35 -0
- package/bundle/chunk-yvjecrjy.js +2 -0
- package/bundle/chunk-yw2x6by6.js +2 -0
- package/bundle/{chunk-962hspr0.js → chunk-z0dj15g9.js} +1 -1
- package/bundle/chunk-z0r4syk8.js +2 -0
- package/bundle/{chunk-1q5h95hc.js → chunk-z6qyx227.js} +1 -1
- package/bundle/chunk-z7c00g63.js +2 -0
- package/bundle/{chunk-tks3qzsw.js → chunk-zgwasq3p.js} +1 -1
- package/bundle/{chunk-6dmk2eyt.js → chunk-zh7e6kqs.js} +1 -1
- package/bundle/{chunk-4q14whpc.js → chunk-zjyaze0d.js} +1 -1
- package/bundle/chunk-znr0saas.js +2 -0
- package/bundle/{chunk-e0w082wt.js → chunk-zpjtse0z.js} +184 -184
- package/bundle/chunk-zqqt7v17.js +2 -0
- package/bundle/chunk-zwrgh1hc.js +2 -0
- package/bundle/{chunk-821zkh5v.js → chunk-zx63mepv.js} +1 -1
- 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-0nves64y.js +0 -2
- package/bundle/chunk-0v7knkt5.js +0 -2
- package/bundle/chunk-1h5jdsgx.js +0 -2
- package/bundle/chunk-1r5e1jsb.js +0 -2
- package/bundle/chunk-1wyy3c48.js +0 -2
- package/bundle/chunk-1z299xq6.js +0 -2
- package/bundle/chunk-21aqt31s.js +0 -2
- package/bundle/chunk-22aq9ymg.js +0 -2
- package/bundle/chunk-26a17c9z.js +0 -2
- package/bundle/chunk-2a154mr0.js +0 -2
- package/bundle/chunk-2nbce486.js +0 -2
- package/bundle/chunk-2npxatq9.js +0 -2
- package/bundle/chunk-3gryj9r9.js +0 -2
- package/bundle/chunk-3jnanbjr.js +0 -2
- package/bundle/chunk-3meh1cbc.js +0 -2
- package/bundle/chunk-3t71xfr6.js +0 -2
- package/bundle/chunk-4045jzv5.js +0 -2
- package/bundle/chunk-4b2vv484.js +0 -2
- package/bundle/chunk-4ene1ymj.js +0 -2
- package/bundle/chunk-58r5etg8.js +0 -2
- package/bundle/chunk-5c2zw4h0.js +0 -2
- package/bundle/chunk-608f83n0.js +0 -2
- package/bundle/chunk-671r50ry.js +0 -2
- package/bundle/chunk-6bfnhr3d.js +0 -2
- package/bundle/chunk-6cv6d8rw.js +0 -2
- package/bundle/chunk-6qm6f88j.js +0 -2
- package/bundle/chunk-78bfwwmc.js +0 -2
- package/bundle/chunk-7wwtgxxf.js +0 -2
- package/bundle/chunk-98sb49dz.js +0 -2
- package/bundle/chunk-9kbtpq9m.js +0 -2
- package/bundle/chunk-9szp9b4m.js +0 -2
- package/bundle/chunk-9xqszq0c.js +0 -2
- package/bundle/chunk-a32kjs9e.js +0 -2
- package/bundle/chunk-apym02ct.js +0 -2
- package/bundle/chunk-armv2rv5.js +0 -2
- package/bundle/chunk-as215v64.js +0 -2
- package/bundle/chunk-bnmpgpyf.js +0 -2
- package/bundle/chunk-bq3zt1x1.js +0 -2
- package/bundle/chunk-bx8fgjam.js +0 -2
- package/bundle/chunk-ckcnb59t.js +0 -2
- package/bundle/chunk-d79xaj6s.js +0 -3
- package/bundle/chunk-dah2d37s.js +0 -2
- package/bundle/chunk-dhgjv1n2.js +0 -2
- package/bundle/chunk-dk9k8ff5.js +0 -2
- package/bundle/chunk-dymysn4h.js +0 -2
- package/bundle/chunk-ev4gw5k6.js +0 -2
- package/bundle/chunk-ew2dxm43.js +0 -2
- package/bundle/chunk-ffp4wg27.js +0 -2
- package/bundle/chunk-hjy90gt2.js +0 -2
- package/bundle/chunk-hmden934.js +0 -2
- package/bundle/chunk-hsm8fbb1.js +0 -2
- package/bundle/chunk-hz1xfedb.js +0 -2
- package/bundle/chunk-ja9y478k.js +0 -2
- package/bundle/chunk-jam7xyjf.js +0 -2
- package/bundle/chunk-k51qphrk.js +0 -2
- package/bundle/chunk-kee7xpe3.js +0 -2
- package/bundle/chunk-p13eeqe4.js +0 -2
- package/bundle/chunk-p45f2nyb.js +0 -2
- package/bundle/chunk-qvwx32p9.js +0 -35
- package/bundle/chunk-qw9whsy2.js +0 -2
- package/bundle/chunk-r77kpzdv.js +0 -2
- package/bundle/chunk-rc95tp19.js +0 -2
- package/bundle/chunk-rmh2fhqy.js +0 -2
- package/bundle/chunk-rrn86a8w.js +0 -2
- package/bundle/chunk-s8v0h63x.js +0 -2
- package/bundle/chunk-sh4mngre.js +0 -2
- package/bundle/chunk-shqqngm8.js +0 -2
- package/bundle/chunk-sjfcwykr.js +0 -2
- package/bundle/chunk-sv01v0n0.js +0 -2
- package/bundle/chunk-tn8hsd2c.js +0 -2
- package/bundle/chunk-tqsx7w8z.js +0 -2
- package/bundle/chunk-tyt1negg.js +0 -2
- package/bundle/chunk-v580zwpf.js +0 -3
- package/bundle/chunk-vdv6cyh0.js +0 -2
- package/bundle/chunk-vsk8yfxp.js +0 -2
- package/bundle/chunk-vvgmkjym.js +0 -2
- package/bundle/chunk-vzf04vad.js +0 -2
- package/bundle/chunk-w0zyex7f.js +0 -2
- package/bundle/chunk-w623r5kb.js +0 -3
- package/bundle/chunk-wkxt9v7s.js +0 -2
- package/bundle/chunk-wwf6zacw.js +0 -2
- package/bundle/chunk-x9c8eddk.js +0 -2
- package/bundle/chunk-xjed8t2h.js +0 -2
- package/bundle/chunk-xxhta1tm.js +0 -2
- package/bundle/chunk-yhj6858v.js +0 -2
- package/bundle/chunk-yq3byrpv.js +0 -2
- package/bundle/chunk-ys8ajwys.js +0 -2
- package/bundle/chunk-yzt7p956.js +0 -2
- package/bundle/chunk-z56cb3fs.js +0 -2
- package/bundle/chunk-zhypknyg.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{Aq as l,Bq as U,Cq as B,Dq as fZ,Eq as x,Iq as gZ,Jp as O,Pp as u,cq as yZ,dq as y,hq as h,kq as L,nq as V,pq as f,tq as hZ,vq as R}from"./chunk-1bq15kf0.js";import{Lq as v}from"./chunk-pdcxmr6x.js";import{br as Q0,cr as U0,dr as L0}from"./chunk-m6967jtv.js";import{Lu as Z}from"./chunk-sg9enzsp.js";import{uP as g,vP as c,yP as r}from"./chunk-sh03ka27.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-tzf6d5qy.js").then((m)=>g(m.default)),await import("./chunk-4r7fbkcm.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 On,lZ as Pn,R0 as Qn,S0 as Rn,b0 as Sn,HZ as Tn,v0 as Un,x$ as Vn,$W as Wn};
|
|
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 Qn,lZ as Rn,R0 as Sn,S0 as Tn,b0 as Un,HZ as Vn,v0 as Wn,x$ as Xn,$W as Yn};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{Ud as j}from"./chunk-fpzkyzny.js";import{fe as Q}from"./chunk-w8nj5ph5.js";import{cg as M}from"./chunk-psmwrvqs.js";import{xg as N}from"./chunk-583d91xq.js";import{Ah as $}from"./chunk-fd04358e.js";import"./chunk-qn1fhqyw.js";import"./chunk-674pexjx.js";import"./chunk-zjyaze0d.js";import"./chunk-xdcwx384.js";import"./chunk-rd08wx37.js";import"./chunk-fp2xgnjn.js";import{Lj as J,bl as X}from"./chunk-y1v7mf1a.js";import"./chunk-358wdvj7.js";import"./chunk-dn0437c1.js";import"./chunk-47jkx37s.js";import"./chunk-31a47ptm.js";import"./chunk-jwv6fda1.js";import"./chunk-hx13a8es.js";import"./chunk-h036zy9e.js";import"./chunk-j3agzs13.js";import"./chunk-3152y1q9.js";import{Pn as _}from"./chunk-71jmhvef.js";import"./chunk-qrztx1b4.js";import"./chunk-j1bv93m4.js";import"./chunk-pp10epga.js";import"./chunk-crqycrs4.js";import"./chunk-1bq15kf0.js";import"./chunk-pdcxmr6x.js";import"./chunk-cqtkxwd8.js";import"./chunk-a1mbach4.js";import"./chunk-m6967jtv.js";import"./chunk-j2snkw45.js";import"./chunk-bmdqb48f.js";import"./chunk-3cs1qf8x.js";import"./chunk-4xqwt6dr.js";import"./chunk-g77kddrs.js";import"./chunk-9znfb8f2.js";import"./chunk-6kch0q2d.js";import"./chunk-6cztstry.js";import{Gs as Z}from"./chunk-1mfdmm2t.js";import{Ps as E}from"./chunk-fkq0v5qv.js";import"./chunk-1e75j4m1.js";import"./chunk-2w3n0q9m.js";import"./chunk-6dd2dx69.js";import"./chunk-fdmz0502.js";import"./chunk-1a08ffyd.js";import"./chunk-8jkqyf9n.js";import"./chunk-6yshpz0z.js";import{Pt as Y}from"./chunk-5dvy83ms.js";import{hu as V}from"./chunk-ffx0cr44.js";import"./chunk-33mzqyyb.js";import"./chunk-sg9enzsp.js";import"./chunk-5q98z8ck.js";import"./chunk-wfpnv00c.js";import"./chunk-9kc2th5c.js";import"./chunk-hf39qx6t.js";import"./chunk-x0de4z05.js";import"./chunk-sh03ka27.js";import{EOL as L}from"os";import k from"path";function P(){let q=["-R","-S"];if(process.platform!=="win32")return["less",...q];let z=_("less");if(z){if(V.stat(z)?.size)return[z,...q]}if(Y.QITQODE_GIT_BASH_PATH){let G=k.join(Y.QITQODE_GIT_BASH_PATH,"..","..","usr","bin","less.exe");if(V.stat(G)?.size)return[G,...q]}let B=_("git");if(B){let G=k.join(B,"..","..","usr","bin","less.exe");if(V.stat(G)?.size)return[G,...q]}return["cmd","/c","more"]}var g=Q({command:"session",describe:"manage sessions",builder:(q)=>q.command(T).command(D).command(v).demandCommand(),async handler(){}}),v=Q({command:"import-claude",describe:"import Claude Code sessions (~/.claude/projects) into qitqode",builder:(q)=>q.option("force",{describe:"re-sync every session, ignoring the mtime cache",type:"boolean",default:!1}),handler:async(q)=>{let z=await N.run({force:q.force});M.println(`Claude import: scanned ${z.scanned}, imported ${z.imported}, resynced ${z.resynced}, skipped ${z.skipped}`+(z.errors.length?`, errors ${z.errors.length}`:""));for(let B of z.errors)M.error(B)}}),D=Q({command:"delete <sessionID>",describe:"delete a session",builder:(q)=>{return q.positional("sessionID",{describe:"session ID to delete",type:"string",demandOption:!0})},handler:async(q)=>{await j(process.cwd(),async()=>{let z=J.make(q.sessionID);try{await $.runPromise(X.Service.use((B)=>B.get(z)))}catch{M.error(`Session not found: ${q.sessionID}`),process.exit(1)}await $.runPromise(X.Service.use((B)=>B.remove(z))),M.println(M.Style.TEXT_SUCCESS_BOLD+`Session ${q.sessionID} deleted`+M.Style.TEXT_NORMAL)})}}),T=Q({command:"list",describe:"list sessions",builder:(q)=>{return q.option("max-count",{alias:"n",describe:"limit to N most recent sessions",type:"number"}).option("format",{describe:"output format",type:"string",choices:["table","json"],default:"table"})},handler:async(q)=>{await j(process.cwd(),async()=>{let z=[...X.list({roots:!0,limit:q.maxCount})];if(z.length===0)return;let B;if(q.format==="json")B=f(z);else B=b(z);if(process.stdout.isTTY&&!q.maxCount&&q.format==="table"){let H=E.spawn(P(),{stdin:"pipe",stdout:"inherit",stderr:"inherit"});if(!H.stdin){console.log(B);return}H.stdin.write(B),H.stdin.end(),await H.exited}else console.log(B)})}});function b(q){let z=[],B=Math.max(20,...q.map((K)=>K.id.length)),G=Math.max(25,...q.map((K)=>K.title.length)),H=`Session ID${" ".repeat(B-10)} Title${" ".repeat(G-5)} Updated`;z.push(H),z.push("\u2500".repeat(H.length));for(let K of q){let A=Z.truncate(K.title,G),R=Z.todayTimeOrDateTime(K.time.updated),w=`${K.id.padEnd(B)} ${A.padEnd(G)} ${R}`;z.push(w)}return z.join(L)}function f(q){let z=q.map((B)=>({id:B.id,title:B.title,updated:B.time.updated,created:B.time.created,projectId:B.projectID,directory:B.directory}));return JSON.stringify(z,null,2)}export{T as SessionListCommand,v as SessionImportClaudeCommand,D as SessionDeleteCommand,g as SessionCommand};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{wP as d3,yP as P5}from"./chunk-sh03ka27.js";function R($,X,Y,J,Q){if(J==="m")throw TypeError("Private method is not writable");if(J==="a"&&!Q)throw TypeError("Private accessor was defined without a setter");if(typeof X==="function"?$!==X||!Q:!X.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return J==="a"?Q.call($,Y):Q?Q.value=Y:X.set($,Y),Y}function M($,X,Y,J){if(Y==="a"&&!J)throw TypeError("Private accessor was defined without a getter");if(typeof X==="function"?$!==X||!J:!X.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return Y==="m"?J:Y==="a"?J.call($):J?J.value:X.get($)}var t4=function(){let{crypto:$}=globalThis;if($?.randomUUID)return t4=$.randomUUID.bind($),$.randomUUID();let X=new Uint8Array(1),Y=$?()=>$.getRandomValues(X)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(J)=>(+J^Y()&15>>+J/4).toString(16))};function e$($){return typeof $==="object"&&$!==null&&(("name"in $)&&$.name==="AbortError"||("message"in $)&&String($.message).includes("FetchRequestCanceledException"))}var M8=($)=>{if($ instanceof Error)return $;if(typeof $==="object"&&$!==null){try{if(Object.prototype.toString.call($)==="[object Error]"){let X=Error($.message,$.cause?{cause:$.cause}:{});if($.stack)X.stack=$.stack;if($.cause&&!X.cause)X.cause=$.cause;if($.name)X.name=$.name;return X}}catch{}try{return Error(JSON.stringify($))}catch{}}return Error($)};class f extends Error{}class X$ extends f{constructor($,X,Y,J){super(`${X$.makeMessage($,X,Y)}`);this.status=$,this.headers=J,this.requestID=J?.get("request-id"),this.error=X}static makeMessage($,X,Y){let J=X?.message?typeof X.message==="string"?X.message:JSON.stringify(X.message):X?JSON.stringify(X):Y;if($&&J)return`${$} ${J}`;if($)return`${$} status code (no body)`;if(J)return J;return"(no status code or body)"}static generate($,X,Y,J){if(!$||!J)return new f0({message:Y,cause:M8(X)});let Q=X;if($===400)return new E8($,Q,Y,J);if($===401)return new L8($,Q,Y,J);if($===403)return new Z8($,Q,Y,J);if($===404)return new S8($,Q,Y,J);if($===409)return new A8($,Q,Y,J);if($===422)return new C8($,Q,Y,J);if($===429)return new D8($,Q,Y,J);if($>=500)return new R8($,Q,Y,J);return new X$($,Q,Y,J)}}class q$ extends X${constructor({message:$}={}){super(void 0,void 0,$||"Request was aborted.",void 0)}}class f0 extends X${constructor({message:$,cause:X}){super(void 0,void 0,$||"Connection error.",void 0);if(X)this.cause=X}}class O8 extends f0{constructor({message:$}={}){super({message:$??"Request timed out."})}}class E8 extends X${}class L8 extends X${}class Z8 extends X${}class S8 extends X${}class A8 extends X${}class C8 extends X${}class D8 extends X${}class R8 extends X${}var o5=/^[a-z][a-z0-9+.-]*:/i,E7=($)=>{return o5.test($)},o4=($)=>(o4=Array.isArray,o4($)),e4=o4;function c6($){if(typeof $!=="object")return{};return $??{}}function L7($){if(!$)return!0;for(let X in $)return!1;return!0}function Z7($,X){return Object.prototype.hasOwnProperty.call($,X)}var S7=($,X)=>{if(typeof X!=="number"||!Number.isInteger(X))throw new f(`${$} must be an integer`);if(X<0)throw new f(`${$} must be a positive integer`);return X};var l6=($)=>{try{return JSON.parse($)}catch(X){return}};var A7=($)=>new Promise((X)=>setTimeout(X,$));var w0="0.71.2";var T7=()=>{return typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u"};function e5(){if(typeof Deno<"u"&&Deno.build!=null)return"deno";if(typeof EdgeRuntime<"u")return"edge";if(Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]")return"node";return"unknown"}var $Y=()=>{let $=e5();if($==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":w0,"X-Stainless-OS":D7(Deno.build.os),"X-Stainless-Arch":C7(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version==="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":w0,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if($==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":w0,"X-Stainless-OS":D7(globalThis.process.platform??"unknown"),"X-Stainless-Arch":C7(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let X=XY();if(X)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":w0,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${X.browser}`,"X-Stainless-Runtime-Version":X.version};return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":w0,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function XY(){if(typeof navigator>"u"||!navigator)return null;let $=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:X,pattern:Y}of $){let J=Y.exec(navigator.userAgent);if(J){let Q=J[1]||0,W=J[2]||0,z=J[3]||0;return{browser:X,version:`${Q}.${W}.${z}`}}}return null}var C7=($)=>{if($==="x32")return"x32";if($==="x86_64"||$==="x64")return"x64";if($==="arm")return"arm";if($==="aarch64"||$==="arm64")return"arm64";if($)return`other:${$}`;return"unknown"},D7=($)=>{if($=$.toLowerCase(),$.includes("ios"))return"iOS";if($==="android")return"Android";if($==="darwin")return"MacOS";if($==="win32")return"Windows";if($==="freebsd")return"FreeBSD";if($==="openbsd")return"OpenBSD";if($==="linux")return"Linux";if($)return`Other:${$}`;return"Unknown"},R7,_7=()=>{return R7??(R7=$Y())};function P7(){if(typeof fetch<"u")return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function $X(...$){let X=globalThis.ReadableStream;if(typeof X>"u")throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new X(...$)}function p6($){let X=Symbol.asyncIterator in $?$[Symbol.asyncIterator]():$[Symbol.iterator]();return $X({start(){},async pull(Y){let{done:J,value:Q}=await X.next();if(J)Y.close();else Y.enqueue(Q)},async cancel(){await X.return?.()}})}function T8($){if($[Symbol.asyncIterator])return $;let X=$.getReader();return{async next(){try{let Y=await X.read();if(Y?.done)X.releaseLock();return Y}catch(Y){throw X.releaseLock(),Y}},async return(){let Y=X.cancel();return X.releaseLock(),await Y,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function j7($){if($===null||typeof $!=="object")return;if($[Symbol.asyncIterator]){await $[Symbol.asyncIterator]().return?.();return}let X=$.getReader(),Y=X.cancel();X.releaseLock(),await Y}var k7=({headers:$,body:X})=>{return{bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(X)}};function b7($){let X=0;for(let Q of $)X+=Q.length;let Y=new Uint8Array(X),J=0;for(let Q of $)Y.set(Q,J),J+=Q.length;return Y}var x7;function _8($){let X;return(x7??(X=new globalThis.TextEncoder,x7=X.encode.bind(X)))($)}var f7;function XX($){let X;return(f7??(X=new globalThis.TextDecoder,f7=X.decode.bind(X)))($)}var Z$,S$;class N0{constructor(){Z$.set(this,void 0),S$.set(this,void 0),R(this,Z$,new Uint8Array,"f"),R(this,S$,null,"f")}decode($){if($==null)return[];let X=$ instanceof ArrayBuffer?new Uint8Array($):typeof $==="string"?_8($):$;R(this,Z$,b7([M(this,Z$,"f"),X]),"f");let Y=[],J;while((J=QY(M(this,Z$,"f"),M(this,S$,"f")))!=null){if(J.carriage&&M(this,S$,"f")==null){R(this,S$,J.index,"f");continue}if(M(this,S$,"f")!=null&&(J.index!==M(this,S$,"f")+1||J.carriage)){Y.push(XX(M(this,Z$,"f").subarray(0,M(this,S$,"f")-1))),R(this,Z$,M(this,Z$,"f").subarray(M(this,S$,"f")),"f"),R(this,S$,null,"f");continue}let Q=M(this,S$,"f")!==null?J.preceding-1:J.preceding,W=XX(M(this,Z$,"f").subarray(0,Q));Y.push(W),R(this,Z$,M(this,Z$,"f").subarray(J.index),"f"),R(this,S$,null,"f")}return Y}flush(){if(!M(this,Z$,"f").length)return[];return this.decode(`
|
|
3
3
|
`)}}Z$=new WeakMap,S$=new WeakMap;N0.NEWLINE_CHARS=new Set([`
|
|
4
4
|
`,"\r"]);N0.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function QY($,X){for(let Q=X??0;Q<$.length;Q++){if($[Q]===10)return{preceding:Q,index:Q+1,carriage:!1};if($[Q]===13)return{preceding:Q,index:Q+1,carriage:!0}}return null}function I7($){for(let J=0;J<$.length-1;J++){if($[J]===10&&$[J+1]===10)return J+2;if($[J]===13&&$[J+1]===13)return J+2;if($[J]===13&&$[J+1]===10&&J+3<$.length&&$[J+2]===13&&$[J+3]===10)return J+4}return-1}var n6={off:0,error:200,warn:300,info:400,debug:500},YX=($,X,Y)=>{if(!$)return;if(Z7(n6,$))return $;G$(Y).warn(`${X} was set to ${JSON.stringify($)}, expected one of ${JSON.stringify(Object.keys(n6))}`);return};function P8(){}function i6($,X,Y){if(!X||n6[$]>n6[Y])return P8;else return X[$].bind(X)}var WY={error:P8,warn:P8,info:P8,debug:P8},v7=new WeakMap;function G$($){let X=$.logger,Y=$.logLevel??"off";if(!X)return WY;let J=v7.get(X);if(J&&J[0]===Y)return J[1];let Q={error:i6("error",X,Y),warn:i6("warn",X,Y),info:i6("info",X,Y),debug:i6("debug",X,Y)};return v7.set(X,[Y,Q]),Q}var $0=($)=>{if($.options)$.options={...$.options},delete $.options.headers;if($.headers)$.headers=Object.fromEntries(($.headers instanceof Headers?[...$.headers]:Object.entries($.headers)).map(([X,Y])=>[X,X.toLowerCase()==="x-api-key"||X.toLowerCase()==="authorization"||X.toLowerCase()==="cookie"||X.toLowerCase()==="set-cookie"?"***":Y]));if("retryOfRequestLogID"in $){if($.retryOfRequestLogID)$.retryOf=$.retryOfRequestLogID;delete $.retryOfRequestLogID}return $};var j8;class A${constructor($,X,Y){this.iterator=$,j8.set(this,void 0),this.controller=X,R(this,j8,Y,"f")}static fromSSEResponse($,X,Y){let J=!1,Q=Y?G$(Y):console;async function*W(){if(J)throw new f("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");J=!0;let z=!1;try{for await(let G of zY($,X)){if(G.event==="completion")try{yield JSON.parse(G.data)}catch(V){throw Q.error("Could not parse message into JSON:",G.data),Q.error("From chunk:",G.raw),V}if(G.event==="message_start"||G.event==="message_delta"||G.event==="message_stop"||G.event==="content_block_start"||G.event==="content_block_delta"||G.event==="content_block_stop")try{yield JSON.parse(G.data)}catch(V){throw Q.error("Could not parse message into JSON:",G.data),Q.error("From chunk:",G.raw),V}if(G.event==="ping")continue;if(G.event==="error")throw new X$(void 0,l6(G.data)??G.data,void 0,$.headers)}z=!0}catch(G){if(e$(G))return;throw G}finally{if(!z)X.abort()}}return new A$(W,X,Y)}static fromReadableStream($,X,Y){let J=!1;async function*Q(){let z=new N0,G=T8($);for await(let V of G)for(let H of z.decode(V))yield H;for(let V of z.flush())yield V}async function*W(){if(J)throw new f("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");J=!0;let z=!1;try{for await(let G of Q()){if(z)continue;if(G)yield JSON.parse(G)}z=!0}catch(G){if(e$(G))return;throw G}finally{if(!z)X.abort()}}return new A$(W,X,Y)}[(j8=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let $=[],X=[],Y=this.iterator(),J=(Q)=>{return{next:()=>{if(Q.length===0){let W=Y.next();$.push(W),X.push(W)}return Q.shift()}}};return[new A$(()=>J($),this.controller,M(this,j8,"f")),new A$(()=>J(X),this.controller,M(this,j8,"f"))]}toReadableStream(){let $=this,X;return $X({async start(){X=$[Symbol.asyncIterator]()},async pull(Y){try{let{value:J,done:Q}=await X.next();if(Q)return Y.close();let W=_8(JSON.stringify(J)+`
|
|
5
5
|
`);Y.enqueue(W)}catch(J){Y.error(J)}},async cancel(){await X.return?.()}})}}async function*zY($,X){if(!$.body){if(X.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative")throw new f("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new f("Attempted to iterate over a response with no body")}let Y=new y7,J=new N0,Q=T8($.body);for await(let W of GY(Q))for(let z of J.decode(W)){let G=Y.decode(z);if(G)yield G}for(let W of J.flush()){let z=Y.decode(W);if(z)yield z}}async function*GY($){let X=new Uint8Array;for await(let Y of $){if(Y==null)continue;let J=Y instanceof ArrayBuffer?new Uint8Array(Y):typeof Y==="string"?_8(Y):Y,Q=new Uint8Array(X.length+J.length);Q.set(X),Q.set(J,X.length),X=Q;let W;while((W=I7(X))!==-1)yield X.slice(0,W),X=X.slice(W)}if(X.length>0)yield X}class y7{constructor(){this.event=null,this.data=[],this.chunks=[]}decode($){if($.endsWith("\r"))$=$.substring(0,$.length-1);if(!$){if(!this.event&&!this.data.length)return null;let Q={event:this.event,data:this.data.join(`
|
|
@@ -99,4 +99,4 @@ ${Q.content}`:Q.content;continue}if(Q.role==="user"){let W=[];for(let z of Q.con
|
|
|
99
99
|
`,wW=600000,d5=class{config;fetchFn;cache=new Map;constructor($){this.config=$,this.fetchFn=$.fetch??fetch}async discover($){let X=this.cache.get($);if(X&&X.expiresAt>Date.now())return X.data;let Y=`${this.config.instanceUrl}/api/graphql`;try{let J=await this.fetchFn(Y,{method:"POST",headers:{...this.config.getHeaders(),"Content-Type":"application/json"},body:JSON.stringify({query:qW,variables:{rootNamespaceId:$}})});if(!J.ok){let H=await J.text();throw new x({message:`Model discovery GraphQL request failed: ${J.status} ${J.statusText} - ${H}`,statusCode:J.status,responseBody:H})}let Q=await J.json();if(Q.errors&&Q.errors.length>0)throw new x({message:`Model discovery GraphQL errors: ${Q.errors.map((H)=>H.message).join(", ")}`});let W=Q.data?.aiChatAvailableModels,z=Q.data?.metadata,G=z?.featureFlags?.find((H)=>H.name==="ai_user_model_switching")?.enabled??!1,V={defaultModel:W?.defaultModel??null,selectableModels:W?.selectableModels??[],pinnedModel:W?.pinnedModel??null,modelSwitchingEnabled:G,instanceVersion:z?.version??null};return this.cache.set($,{data:V,expiresAt:Date.now()+wW}),V}catch(J){if(J instanceof x)throw J;throw new x({message:`Model discovery failed: ${J}`,cause:J})}}async getEffectiveModelRef($,X){let Y=await this.discover($);if(Y.pinnedModel)return Y.pinnedModel.ref;if(X&&Y.modelSwitchingEnabled){if(Y.selectableModels.some((Q)=>Q.ref===X))return X}return Y.defaultModel?.ref??null}invalidateCache(){this.cache.clear()}},NW=600000;function UW(){let $=process.env.XDG_CACHE_HOME||h6.join(c5.homedir(),".cache");return h6.join($,"opencode","gitlab-workflow-model-cache.json")}function FW($,X){let Y=(X||"https://gitlab.com").replace(/\/$/,"");return l5.createHash("sha256").update(`${$}\x00${Y}`).digest("hex").slice(0,12)}var p5=class{filePath;key;constructor($,X){this.filePath=UW(),this.key=FW($,X)}readAll(){try{if(!u$.existsSync(this.filePath))return{};let $=u$.readFileSync(this.filePath,"utf-8");return JSON.parse($)}catch{return{}}}writeAll($){try{let X=h6.dirname(this.filePath);u$.mkdirSync(X,{recursive:!0,mode:448}),u$.writeFileSync(this.filePath,JSON.stringify($,null,2),{mode:384})}catch{}}load(){return this.readAll()[this.key]??null}save($){let X=this.readAll();X[this.key]=$,this.writeAll(X)}isDiscoveryExpired(){let $=this.load();if(!$?.discovery||!$.updatedAt)return!0;return Date.now()-new Date($.updatedAt).getTime()>NW}saveDiscovery($,X){let Y=this.load();this.save({discovery:$,project:X!==void 0?X:Y?.project??null,selectedModelRef:Y?.selectedModelRef??null,selectedModelName:Y?.selectedModelName??null,updatedAt:new Date().toISOString()})}saveSelection($,X){let Y=this.load(),J=X;if(!J&&$&&Y?.discovery){let Q=Y.discovery;J=(Q.pinnedModel?.ref===$?Q.pinnedModel:Q.selectableModels.find((z)=>z.ref===$)??(Q.defaultModel?.ref===$?Q.defaultModel:null))?.name??null}this.save({discovery:Y?.discovery??null,project:Y?.project??null,selectedModelRef:$,selectedModelName:J,updatedAt:new Date().toISOString()})}clear(){let $=this.readAll();if(delete $[this.key],Object.keys($).length===0)try{if(u$.existsSync(this.filePath))u$.unlinkSync(this.filePath)}catch{}else this.writeAll($)}getSelectedModelRef(){return this.load()?.selectedModelRef??null}getSelectedModelName(){return this.load()?.selectedModelName??null}getDiscovery(){return this.load()?.discovery??null}};function B7($){if(!$||typeof $!=="object")return $;let X={};for(let[Y,J]of Object.entries($)){if(Y==="description"||Y==="examples"||Y==="default")continue;if(Y==="properties"&&typeof J==="object"&&J!==null){let Q={};for(let[W,z]of Object.entries(J))if(typeof z==="object"&&z!==null)Q[W]=B7(z);else Q[W]=z;X[Y]=Q}else if(Y==="items"&&typeof J==="object"&&J!==null)X[Y]=B7(J);else X[Y]=J}return X}function MW($){try{return JSON.stringify(B7(JSON.parse($)))}catch{return $}}function OW($){if(!$||typeof $!=="object")return $;let X={type:$.type||"object"};if($.required)X.required=$.required;if($.properties&&typeof $.properties==="object"){let Y={};for(let[J,Q]of Object.entries($.properties))if(typeof Q==="object"&&Q!==null){let W=Q;Y[J]={type:W.type||"string"}}else Y[J]={type:"string"};X.properties=Y}return X}function EW($){try{return JSON.stringify(OW(JSON.parse($)))}catch{return $}}var LW=class ${specificationVersion="v3";modelId;supportedUrls={};config;workflowOptions;tokenClient;projectDetector;modelDiscovery;modelCache;detectedProjectPath=null;sessionWorkflows=new Map;currentWorkflowId=null;currentWorkflowDefinition=null;persistedAgentEmitted=new Map;activeClients=new Set;_selectedModelRef;_selectedModelName;_rootNamespaceId;_discoveryPromise;get selectedModelRef(){return this._selectedModelRef??null}set selectedModelRef(X){this._selectedModelRef=X??void 0,this._selectedModelName=void 0,this.modelCache.saveSelection(X,null)}get selectedModelName(){return this._selectedModelName??null}set selectedModelName(X){this._selectedModelName=X??void 0,this.modelCache.saveSelection(this._selectedModelRef??null,X)}_toolExecutor=null;onUsageUpdate=null;sessionPreapprovedTools=[];sessionID="";set approvalHandler(X){this.workflowOptions.approvalHandler=X??void 0}get approvalHandler(){return this.workflowOptions.approvalHandler??null}onSelectModel=null;set systemPrompt(X){this.workflowOptions.systemPrompt=X??void 0}get systemPrompt(){return this.workflowOptions.systemPrompt??null}get toolExecutor(){return this._toolExecutor}set toolExecutor(X){if(X)try{let{AsyncResource:Y}=N7("async_hooks");this._toolExecutor=Y.bind(X)}catch{this._toolExecutor=X}else this._toolExecutor=null}constructor(X,Y,J={}){this.modelId=X,this.config=Y,this.workflowOptions=J;let Q=J.workingDirectory??process.cwd();this.modelCache=new p5(Q,Y.instanceUrl);let W=this.modelCache.load();if(W?.selectedModelRef)this._selectedModelRef=W.selectedModelRef;if(W?.selectedModelName)this._selectedModelName=W.selectedModelName;this.tokenClient=new HW({instanceUrl:Y.instanceUrl,getHeaders:Y.getHeaders,refreshApiKey:Y.refreshApiKey,fetch:Y.fetch,featureFlags:Y.featureFlags}),this.projectDetector=new u5({instanceUrl:Y.instanceUrl,getHeaders:Y.getHeaders,fetch:Y.fetch}),this.modelDiscovery=new d5({instanceUrl:Y.instanceUrl,getHeaders:Y.getHeaders,fetch:Y.fetch})}get provider(){return this.config.provider}async resolveProjectId(){if(this.workflowOptions.projectId)return this.workflowOptions.projectId;if(this.detectedProjectPath)return this.detectedProjectPath;let X=this.workflowOptions.workingDirectory??process.cwd(),Y=await this.projectDetector.detectProject(X);if(Y)return this.detectedProjectPath=Y.pathWithNamespace,Y.pathWithNamespace;return}async resolveRootNamespaceId(){if(this.workflowOptions.rootNamespaceId)return this.workflowOptions.rootNamespaceId;if(this._rootNamespaceId!==void 0)return this._rootNamespaceId;let X=this.workflowOptions.workingDirectory??process.cwd(),Y=await this.projectDetector.detectProject(X);if(Y?.namespaceId){let J=`gid://gitlab/Group/${Y.namespaceId}`;return this._rootNamespaceId=J,J}return this._rootNamespaceId=null,null}async resolveModelRef(){let X=sQ(this.modelId);if(this.modelId!=="duo-workflow")return X??"default";if(this._selectedModelRef)return this._selectedModelRef;if(!this._discoveryPromise)this._discoveryPromise=this.doResolveModelRef(),this._discoveryPromise.finally(()=>{this._discoveryPromise=void 0});return this._discoveryPromise}async doResolveModelRef(){let X=await this.resolveRootNamespaceId();if(!X)return this._selectedModelRef="default","default";try{let Y=await this.modelDiscovery.discover(X);if(this.modelCache.saveDiscovery(Y),Y.pinnedModel)return this._selectedModelRef=Y.pinnedModel.ref,this._selectedModelName=Y.pinnedModel.name,this.modelCache.saveSelection(Y.pinnedModel.ref,Y.pinnedModel.name),Y.pinnedModel.ref;let J=this.onSelectModel??this.workflowOptions.onSelectModel;if(Y.selectableModels.length>0&&J){let Q=await J(Y.selectableModels);if(Q){let W=Y.selectableModels.find((z)=>z.ref===Q);if(W)return this._selectedModelRef=W.ref,this._selectedModelName=W.name,this.modelCache.saveSelection(W.ref,W.name),W.ref}}if(Y.defaultModel)return this._selectedModelRef=Y.defaultModel.ref,this._selectedModelName=Y.defaultModel.name,this.modelCache.saveSelection(Y.defaultModel.ref,Y.defaultModel.name),Y.defaultModel.ref}catch{let Y=this.modelCache.load();if(Y?.selectedModelRef)return this._selectedModelRef=Y.selectedModelRef,this._selectedModelName=Y.selectedModelName??void 0,Y.selectedModelRef}return this._selectedModelRef="default","default"}async discoverModels(X){let Y=await this.modelDiscovery.discover(X);return this.modelCache.saveDiscovery(Y),Y}getModelCache(){return this.modelCache}stopWorkflow(){for(let X of this.activeClients)if(X.isConnected)X.stop()}resetWorkflow(X){if(X)this.sessionWorkflows.delete(X);else this.sessionWorkflows.clear(),this.currentWorkflowId=null,this.persistedAgentEmitted.clear()}get workflowId(){return this.currentWorkflowId}createUsage(X){return{inputTokens:{total:X?.inputTotal,noCache:X?.inputTotal,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:X?.outputTotal,text:X?.outputTotal,reasoning:void 0}}}createFinishReason(X,Y){return{unified:X,raw:Y}}async doGenerate(X){let{stream:Y}=await this.doStream(X),J=Y.getReader(),Q=[],W=[],z={unified:"other",raw:void 0},G=this.createUsage();try{while(!0){let{done:q,value:w}=await J.read();if(q)break;switch(w.type){case"text-delta":Q.push(w.delta);break;case"tool-call":W.push({type:"tool-call",toolCallId:w.toolCallId,toolName:w.toolName,input:w.input});break;case"finish":if(z=w.finishReason,w.usage)G=w.usage;break;case"error":throw w.error}}}finally{J.releaseLock()}let V=[],H=Q.join("");if(H)V.push({type:"text",text:H});return V.push(...W),{content:V,finishReason:z,usage:G,warnings:[]}}async doStream(X){let Y=this.extractGoalFromPrompt(X.prompt),J=await this.resolveModelRef(),Q=this.extractMcpTools(X),W=[...this.workflowOptions.preapprovedTools??Q.map((a)=>a.name),...this.sessionPreapprovedTools],z=this.buildAdditionalContext(X.prompt),G=this.toolExecutor??null,V=new Set(X.tools?.map((a)=>a.name)??[]),H=X.providerOptions?.gitlab,q=H?.workflowDefinition??this.workflowOptions.workflowDefinition,w=H?.flowConfig??void 0,B=H?.flowConfigSchemaVersion??void 0,U=H?.aiCatalogItemVersionId??void 0;await this.tokenClient.getToken(q??y6,this.workflowOptions.rootNamespaceId);let O=await this.resolveProjectId(),P=w??q??y6,j=this.sessionID,L=this.sessionWorkflows.get(j);if(L&&L.workflowDefinition!==P)this.sessionWorkflows.delete(j),L=void 0;let A=j==="";if(A&&this.currentWorkflowId&&this.currentWorkflowDefinition!==P)this.currentWorkflowId=null,this.currentWorkflowDefinition=null;let E;if(L)E=L.workflowId;else if(A&&this.currentWorkflowId)E=this.currentWorkflowId;else if(E=await this.tokenClient.createWorkflow(Y,{projectId:O,namespaceId:this.workflowOptions.namespaceId,workflowDefinition:q,agentPrivileges:this.workflowOptions.agentPrivileges,aiCatalogItemVersionId:U}),A)this.currentWorkflowId=E,this.currentWorkflowDefinition=P;else this.sessionWorkflows.set(j,{workflowId:E,workflowDefinition:P,agentEmitted:new Map,toolEntries:new Set}),L=this.sessionWorkflows.get(j);let _=new x5;this.activeClients.add(_);let c=0,n={streamClosed:!1,streamedInputChars:0,streamedOutputChars:0,pendingToolCount:0,approvalPending:!1,deferredClose:null,activeTextBlockId:null,agentMessageEmitted:new Map(L?.agentEmitted??this.persistedAgentEmitted),currentAgentMessageId:"",activeClient:_,processedRequestIDs:new Set,emittedToolEntries:new Set(L?.toolEntries),emittedToolKeys:new Set,sessionKey:j};for(let a of X.prompt)if(a.role==="system")n.streamedInputChars+=a.content.length;else if(a.role==="user"){for(let u of a.content)if(u.type==="text")n.streamedInputChars+=u.text.length}let p;return{stream:new ReadableStream({start:async(a)=>{try{await _.connect({instanceUrl:this.config.instanceUrl,modelRef:J,headers:this.config.getHeaders(),projectId:this.workflowOptions.projectId,namespaceId:this.workflowOptions.namespaceId,rootNamespaceId:this.workflowOptions.rootNamespaceId,aiCatalogItemVersionId:U,workflowDefinition:q??this.workflowOptions.workflowDefinition},(s4)=>{this.handleWorkflowEvent(n,s4,a,_,G,()=>`text-${c++}`,V,p,{aiCatalogItemVersionId:U,workflowDefinition:q??this.workflowOptions.workflowDefinition})});let u=q??y6,x$=this.workflowOptions.clientCapabilities??$W,u6=await this.buildWorkflowMetadata(),w2=JSON.stringify(u6),d6=JSON.stringify({workflowID:E,clientVersion:K7,workflowDefinition:u,goal:Y,workflowMetadata:w2,clientCapabilities:x$,preapproved_tools:W}).length+100,r4=this.trimPayload(Q,z,d6),r5=W.filter((s4)=>r4.mcpTools.some((s5)=>s5.name===s4));p={workflowID:E,clientVersion:K7,workflowDefinition:u,goal:Y,workflowMetadata:w2,additional_context:r4.additionalContext,clientCapabilities:x$,mcpTools:r4.mcpTools,preapproved_tools:r5};let M7=w??this.workflowOptions.flowConfig,O7=B??this.workflowOptions.flowConfigSchemaVersion;if(M7)p.flowConfig=M7;if(O7)p.flowConfigSchemaVersion=O7;else if(p.flowConfig)p.flowConfigSchemaVersion="v1";_.sendStartRequest(p),a.enqueue({type:"stream-start",warnings:[]}),a.enqueue({type:"response-metadata",id:E,modelId:J})}catch(u){if(!n.streamClosed)a.enqueue({type:"error",error:u instanceof x?u:new x({message:`Workflow connection failed: ${u}`,cause:u})}),n.streamClosed=!0,a.close()}},cancel:(a)=>{if(_.stop(),_.close(),this.activeClients.delete(_),n.activeClient=null,!n.streamClosed)if(n.sessionKey)this.sessionWorkflows.delete(n.sessionKey);else this.currentWorkflowId=null}}),request:{body:{workflowId:E,modelRef:J,goal:Y}}}}handleWorkflowEvent(X,Y,J,Q,W,z,G,V,H){if(X.streamClosed)return;switch(Y.type){case"checkpoint":{this.processCheckpoint(X,Y.data,J,z);break}case"tool-request":{let{requestID:q,data:w}=Y;if(X.processedRequestIDs.has(q))break;X.processedRequestIDs.add(q),X.emittedToolKeys.add(w.name);let B;try{JSON.parse(w.args),B=w.args}catch{B=w.args||"{}"}if(X.activeTextBlockId)J.enqueue({type:"text-end",id:X.activeTextBlockId}),X.activeTextBlockId=null;J.enqueue({type:"tool-input-start",id:q,toolName:w.name,providerExecuted:!0}),J.enqueue({type:"tool-input-delta",id:q,delta:B}),J.enqueue({type:"tool-input-end",id:q}),J.enqueue({type:"tool-call",toolCallId:q,toolName:w.name,input:B,providerExecuted:!0}),this.executeToolAndRespond(X,Q,J,q,w.name,B,W).catch(()=>{});break}case"builtin-tool-request":{if(X.processedRequestIDs.has(Y.requestID))break;X.processedRequestIDs.add(Y.requestID);let q=WW(Y.toolName,Y.data,G);X.emittedToolKeys.add(q.toolName);let w=JSON.stringify(q.args);if(X.activeTextBlockId)J.enqueue({type:"text-end",id:X.activeTextBlockId}),X.activeTextBlockId=null;J.enqueue({type:"tool-input-start",id:Y.requestID,toolName:q.toolName,providerExecuted:!0}),J.enqueue({type:"tool-input-delta",id:Y.requestID,delta:w}),J.enqueue({type:"tool-input-end",id:Y.requestID}),J.enqueue({type:"tool-call",toolCallId:Y.requestID,toolName:q.toolName,input:w,providerExecuted:!0}),this.executeToolAndRespond(X,Q,J,Y.requestID,q.toolName,w,W).catch(()=>{});break}case"approval-required":{X.approvalPending=!0,this.approveAndResume(X,Y.tools,V,J,W,z,G,H).catch((q)=>{if(X.approvalPending=!1,X.deferredClose){let w=X.deferredClose;X.deferredClose=null,w()}});break}case"completed":{if(X.activeTextBlockId)J.enqueue({type:"text-end",id:X.activeTextBlockId}),X.activeTextBlockId=null;let q=()=>{if(X.streamClosed)return;let w=Math.ceil(X.streamedInputChars/4),B=Math.ceil(X.streamedOutputChars/4);J.enqueue({type:"finish",finishReason:this.createFinishReason("stop","completed"),usage:this.createUsage({inputTotal:w,outputTotal:B})}),X.streamClosed=!0,J.close(),this.cleanupClient(X,!1)};if(X.pendingToolCount>0||X.approvalPending)X.deferredClose=q;else X.deferredClose=null,q();break}case"failed":{if(X.activeTextBlockId)J.enqueue({type:"text-end",id:X.activeTextBlockId}),X.activeTextBlockId=null;J.enqueue({type:"error",error:new x({message:`Workflow failed: ${g6(Y.error.message)}`,cause:Y.error})}),X.streamClosed=!0,J.close(),this.cleanupClient(X,!0);break}case"closed":{if(X.streamClosed)break;if(X.activeTextBlockId)J.enqueue({type:"text-end",id:X.activeTextBlockId}),X.activeTextBlockId=null;let q=()=>{if(X.streamClosed)return;if(Y.code!==1000)J.enqueue({type:"error",error:new x({message:`WebSocket closed unexpectedly: code=${Y.code} reason=${g6(Y.reason)}`,statusCode:Y.code})}),X.streamClosed=!0,J.close(),this.cleanupClient(X,!0);else{let w=Math.ceil(X.streamedInputChars/4),B=Math.ceil(X.streamedOutputChars/4);J.enqueue({type:"finish",finishReason:this.createFinishReason("stop","closed"),usage:this.createUsage({inputTotal:w,outputTotal:B})}),X.streamClosed=!0,J.close(),this.cleanupClient(X,!1)}};if(X.pendingToolCount>0||X.approvalPending)X.deferredClose=q;else X.deferredClose=null,q();break}}}processCheckpoint(X,Y,J,Q){if(!Y.checkpoint){if(Y.content){if(!X.activeTextBlockId)X.activeTextBlockId=Q(),J.enqueue({type:"text-start",id:X.activeTextBlockId});J.enqueue({type:"text-delta",id:X.activeTextBlockId,delta:Y.content}),X.streamedOutputChars+=Y.content.length}return}let W;try{W=JSON.parse(Y.checkpoint)}catch(G){return}let z=W.channel_values?.ui_chat_log;if(!z||!Array.isArray(z)||z.length===0)return;if(Y.status!=="RUNNING"&&Y.status!=="INPUT_REQUIRED"&&Y.status!=="FINISHED"&&Y.status!=="COMPLETED"&&Y.status!=="TOOL_CALL_APPROVAL_REQUIRED")return;for(let G=0;G<z.length;G++){let V=z[G];if(V.message_type==="tool"&&V.tool_info){let P=V.message_id||V.correlation_id||`tool-${G}`;if(X.emittedToolEntries.has(P))continue;let j=V.tool_info.name,L=JSON.stringify(V.tool_info.args??{});if(X.emittedToolKeys.has(j)){X.emittedToolEntries.add(P);let c=this.sessionWorkflows.get(X.sessionKey);if(c)c.toolEntries.add(P);continue}if(X.activeTextBlockId)J.enqueue({type:"text-end",id:X.activeTextBlockId}),X.activeTextBlockId=null;J.enqueue({type:"tool-input-start",id:P,toolName:j,providerExecuted:!0}),J.enqueue({type:"tool-input-delta",id:P,delta:L}),J.enqueue({type:"tool-input-end",id:P}),J.enqueue({type:"tool-call",toolCallId:P,toolName:j,input:L,providerExecuted:!0,dynamic:!0});let A=V.tool_info.tool_response,E=typeof A==="string"?A:A?A.content:V.content||"";J.enqueue({type:"tool-result",toolCallId:P,toolName:j,result:{output:E,title:j,metadata:{}},isError:!1}),X.emittedToolEntries.add(P);let _=this.sessionWorkflows.get(X.sessionKey);if(_)_.toolEntries.add(P);continue}if(V.message_type!=="agent")continue;let H=V.content||"",q=V.message_id||`idx-${G}`,w=X.agentMessageEmitted.get(q)??0;if(H.length<=w)continue;let B=H.slice(w);if(q!==X.currentAgentMessageId&&X.activeTextBlockId)J.enqueue({type:"text-end",id:X.activeTextBlockId}),X.activeTextBlockId=null;if(!X.activeTextBlockId)X.activeTextBlockId=Q(),J.enqueue({type:"text-start",id:X.activeTextBlockId});J.enqueue({type:"text-delta",id:X.activeTextBlockId,delta:B}),X.streamedOutputChars+=B.length,X.agentMessageEmitted.set(q,H.length),(this.sessionWorkflows.get(X.sessionKey)?.agentEmitted??this.persistedAgentEmitted).set(q,H.length),X.currentAgentMessageId=q}}async executeToolAndRespond(X,Y,J,Q,W,z,G){X.pendingToolCount++;let V=(H)=>{if(X.streamClosed)return;try{J.enqueue(H)}catch{}};try{if(G){let H=await G(W,z,Q);if(H.error&&/^Unknown tool:/.test(H.error)){let U=zW(W,z);if(U)H=U}Y.sendActionResponse(Q,H.result,H.error),X.streamedInputChars+=z.length,X.streamedOutputChars+=H.result.length;let q=H.result,w=H.title??`${W} result`,B=H.metadata??{output:H.result};if(H.error){let U;if(typeof H.error==="string")U=H.error;else if(H.error&&typeof H.error==="object")U=JSON.stringify(H.error);else U=String(H.error);V({type:"tool-result",toolCallId:Q,toolName:W,result:U,isError:!0})}else V({type:"tool-result",toolCallId:Q,toolName:W,result:{output:q,title:w,metadata:B},isError:!1})}else{let H=`Tool executor not configured for tool: ${W}`;Y.sendActionResponse(Q,"",H),V({type:"tool-result",toolCallId:Q,toolName:W,result:H,isError:!0})}}catch(H){let q=H instanceof Error?H.message:String(H),w=g6(q);Y.sendActionResponse(Q,"",w),V({type:"tool-result",toolCallId:Q,toolName:W,result:w,isError:!0})}finally{if(X.pendingToolCount--,this.onUsageUpdate)try{this.onUsageUpdate({inputTokens:Math.ceil(X.streamedInputChars/4),outputTokens:Math.ceil(X.streamedOutputChars/4)})}catch{}if(X.pendingToolCount<=0&&X.deferredClose){let H=X.deferredClose;X.deferredClose=null,H()}}}cleanupClient(X,Y=!1){if(X.activeClient)X.activeClient.close(),this.activeClients.delete(X.activeClient),X.activeClient=null;if(Y)if(X.sessionKey)this.sessionWorkflows.delete(X.sessionKey);else this.currentWorkflowId=null,this.persistedAgentEmitted.clear()}async approveAndResume(X,Y,J,Q,W,z,G,V){let H=this.workflowOptions.approvalHandler;if(!H||!J){if(X.approvalPending=!1,X.deferredClose){let P=X.deferredClose;X.deferredClose=null,P()}return}let q;try{q=await H(Y)}catch(P){if(X.approvalPending=!1,!X.streamClosed)Q.error(P);return}X.approvalPending=!1,X.deferredClose=null,this.cleanupClient(X,!1);let w=q.approved?{approval:{tool_name:Y[0]?.name,tool_args_json:Y[0]?.args}}:{rejection:{message:q.message??"User rejected"}},B={...J,approval:w,preapproved_tools:q.approved?[...J.preapproved_tools??[],...Y.map((P)=>P.name)]:J.preapproved_tools??[]},U=new x5;this.activeClients.add(U),X.activeClient=U;let O=await this.resolveModelRef();try{await U.connect({instanceUrl:this.config.instanceUrl,modelRef:O,headers:this.config.getHeaders(),projectId:this.workflowOptions.projectId,namespaceId:this.workflowOptions.namespaceId,rootNamespaceId:this.workflowOptions.rootNamespaceId,aiCatalogItemVersionId:V?.aiCatalogItemVersionId,workflowDefinition:V?.workflowDefinition},(P)=>this.handleWorkflowEvent(X,P,Q,U,W,z,G,B,V)),U.sendStartRequest(B)}catch(P){if(this.cleanupClient(X,!0),!X.streamClosed)Q.error(P)}}async buildWorkflowMetadata(){let X={extended_logging:!1,tool_approval_for_session_enabled:!0};try{let Y=this.workflowOptions.workingDirectory??process.cwd(),J=await this.getGitInfo(Y);if(J.url)X.git_url=J.url;if(J.sha)X.git_sha=J.sha;if(J.branch)X.git_branch=J.branch}catch{}return X}async getGitInfo(X){let{execFile:Y}=await import("child_process"),{promisify:J}=await import("util"),Q=J(Y),W={cwd:X,timeout:3000},z=async(q,w)=>{try{let{stdout:B}=await Q(q,w,W);return B.trim()||void 0}catch{return}},[G,V,H]=await Promise.all([z("git",["remote","get-url","origin"]),z("git",["rev-parse","HEAD"]),z("git",["rev-parse","--abbrev-ref","HEAD"])]);return{url:G,sha:V,branch:H}}static SYSTEM_REMINDER_RE=/<system-reminder>([\s\S]*?)<\/system-reminder>/g;extractGoalFromPrompt(X){for(let Y=X.length-1;Y>=0;Y--){let J=X[Y];if(J.role==="user"){let Q=J.content.filter((W)=>W.type==="text").map((W)=>W.text);if(Q.length>0){let W=Q.join(`
|
|
100
100
|
`);return W.replace($.SYSTEM_REMINDER_RE,"").trim()||W}}}return""}extractMcpTools(X){if(this.workflowOptions.mcpTools&&this.workflowOptions.mcpTools.length>0)return this.workflowOptions.mcpTools;if(!X.tools||X.tools.length===0)return[];return X.tools.filter((Y)=>Y.type==="function").map((Y)=>({name:Y.name,description:Y.description||"",inputSchema:JSON.stringify(Y.inputSchema||{type:"object",properties:{}})}))}static MAX_START_REQUEST_BYTES=4194304;trimPayload(X,Y,J){let Q=$.MAX_START_REQUEST_BYTES-J,W=JSON.stringify(Y);if(JSON.stringify(X).length+W.length<=Q)return{mcpTools:X,additionalContext:Y};let V=X.map((U)=>({name:U.name,description:U.description,inputSchema:MW(U.inputSchema)}));if(JSON.stringify(V).length+W.length<=Q)return{mcpTools:V,additionalContext:Y};let q=V.map((U)=>({name:U.name,description:U.description,inputSchema:EW(U.inputSchema)}));if(JSON.stringify(q).length+W.length<=Q)return{mcpTools:q,additionalContext:Y};let B=[...q];while(B.length>0){if(JSON.stringify(B).length+W.length<=Q)break;B.pop()}return{mcpTools:B,additionalContext:Y}}buildAdditionalContext(X){let Y=[];if(this.workflowOptions.additionalContext)Y.push(...this.workflowOptions.additionalContext);for(let J of X)if(J.role==="system")Y.push({category:"system_prompt",content:J.content,metadata:JSON.stringify({role:"system"})});else if(J.role==="assistant"){let Q=J.content.filter((W)=>W.type==="text").map((W)=>W.text).join(`
|
|
101
101
|
`);if(Q)Y.push({category:"conversation",content:Q,metadata:JSON.stringify({role:"assistant"})})}else if(J.role==="user"){for(let Q of J.content)if(Q.type==="text"){let z=Q.text.matchAll($.SYSTEM_REMINDER_RE);for(let G of z){let V=G[1].trim();if(V)Y.push({category:"agent_context",content:V,metadata:JSON.stringify({source:"system-reminder"})})}}}return Y}},ZW="1d89f9fdb23ee96d4e603201f6861dab6e143c5c3c00469a018a2d94bdc03d4e",vE="36f2a70cddeb5a0889d4fd8295c241b7e9848e89cf9e599d0eed2d8e5350fbf5",SW="https://gitlab.com",AW=300000,yE=["api"],CW=class{fetch;constructor($=fetch){this.fetch=$}isTokenExpired($){return Date.now()>=$}needsRefresh($){return Date.now()>=$-AW}async refreshIfNeeded($,X){if(!this.needsRefresh($.expiresAt))return $;if(this.isTokenExpired($.expiresAt))throw new x({message:"OAuth token has expired and cannot be used"});return this.exchangeRefreshToken({instanceUrl:$.instanceUrl,refreshToken:$.refreshToken,clientId:X})}async exchangeAuthorizationCode($){let{instanceUrl:X,code:Y,codeVerifier:J,clientId:Q,redirectUri:W}=$,z=await this.exchangeToken({instanceUrl:X,grantType:"authorization_code",code:Y,codeVerifier:J,clientId:Q||this.getClientId(X),redirectUri:W});return this.createTokensFromResponse(z,X)}async exchangeRefreshToken($){let{instanceUrl:X,refreshToken:Y,clientId:J}=$,Q=await this.exchangeToken({instanceUrl:X,grantType:"refresh_token",refreshToken:Y,clientId:J||this.getClientId(X)});return this.createTokensFromResponse(Q,X)}getClientId($){let X=process.env.GITLAB_OAUTH_CLIENT_ID;if(X)return X;if($===SW)return ZW;throw new x({message:`No OAuth client ID configured for instance ${$}. Please provide a clientId parameter or set GITLAB_OAUTH_CLIENT_ID environment variable.`})}async exchangeToken($){let{instanceUrl:X,grantType:Y,code:J,codeVerifier:Q,refreshToken:W,clientId:z,redirectUri:G}=$,V={client_id:z,grant_type:Y};if(Y==="authorization_code"){if(!J||!Q||!G)throw new x({message:"Authorization code, code verifier, and redirect URI are required for authorization_code grant"});V.code=J,V.code_verifier=Q,V.redirect_uri=G}else if(Y==="refresh_token"){if(!W)throw new x({message:"Refresh token is required for refresh_token grant"});V.refresh_token=W}let H=`${X}/oauth/token`;try{let q=await this.fetch(H,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(V).toString()});if(!q.ok){let B=await q.text();throw new x({message:`OAuth token exchange failed: ${q.status} ${q.statusText}`,cause:Error(B)})}return await q.json()}catch(q){if(q instanceof x)throw q;throw new x({message:`Failed to exchange OAuth token: ${q instanceof Error?q.message:String(q)}`,cause:q instanceof Error?q:void 0})}}createTokensFromResponse($,X){let Y=this.createExpiresTimestamp($);return{accessToken:$.access_token,refreshToken:$.refresh_token||"",expiresAt:Y,instanceUrl:X}}createExpiresTimestamp($){let X=$.created_at*1000,Y=$.expires_in*1000;return X+Y}};function n5(){let $=i5.homedir(),X=process.env.XDG_DATA_HOME;if(X)return a4.join(X,"opencode","auth.json");if(process.platform!=="win32")return a4.join($,".local","share","opencode","auth.json");return a4.join($,".opencode","auth.json")}async function DW($){try{let X=n5();if(!q2.existsSync(X))return;let Y=JSON.parse(q2.readFileSync(X,"utf-8"));if(Y.gitlab?.type==="oauth"){let W=Y.gitlab;if(W.enterpriseUrl===$||W.enterpriseUrl===$.replace(/\/$/,""))return W}let J=$.replace(/\/$/,"");return Y[J]||Y[`${J}/`]}catch(X){throw Error(`Failed to load auth.json: ${X instanceof Error?X.message:X}`)}}async function v5($,X,Y){if($.apiKey)return $.apiKey;let J=await DW(X);if(J?.type==="oauth"){let W=new CW;if(W.needsRefresh(J.expires))try{let z=await W.exchangeRefreshToken({instanceUrl:X,refreshToken:J.refresh,clientId:Y}),G=n5(),V=JSON.parse(q2.readFileSync(G,"utf-8"));return V.gitlab={type:"oauth",refresh:z.refreshToken,access:z.accessToken,expires:z.expiresAt,enterpriseUrl:X},q2.writeFileSync(G,JSON.stringify(V,null,2),{mode:384}),z.accessToken}catch(z){let G=z instanceof Error?z.message:String(z),V=process.env[$.environmentVariableName];if(V)return V;throw new x({message:`OAuth token refresh failed and no fallback ${$.environmentVariableName} environment variable is set. Refresh error: ${G}. Re-authenticate with 'opencode auth login gitlab' or set ${$.environmentVariableName}.`})}else return J.access}let Q=process.env[$.environmentVariableName];if(!Q)throw new x({message:`${$.description} API key is missing. Pass it as the 'apiKey' parameter, set the ${$.environmentVariableName} environment variable, or authenticate with 'opencode auth login gitlab'.`});return Q}function RW($,X){let Y=$["User-Agent"];return{...$,"User-Agent":Y?`${Y} ${X}`:X}}function TW($={}){let X=$.instanceUrl??process.env.GITLAB_INSTANCE_URL??"https://gitlab.com",Y=$.name??"gitlab",J,Q,W=async()=>{if(J)return J;if(Q)return Q;return Q=v5({apiKey:$.apiKey,environmentVariableName:"GITLAB_TOKEN",description:"GitLab"},X,$.clientId),J=await Q,Q=void 0,J},z=async()=>{J=void 0,Q=void 0,J=await v5({apiKey:void 0,environmentVariableName:"GITLAB_TOKEN",description:"GitLab"},X,$.clientId)},G=()=>{let B=J||$.apiKey||process.env.GITLAB_TOKEN||"";if(!B)throw new x({message:"GitLab API key is missing. Pass it as the 'apiKey' parameter, set the GITLAB_TOKEN environment variable, or authenticate with 'opencode auth login gitlab'."});return RW({Authorization:`Bearer ${B}`,"Content-Type":"application/json",...$.headers},`ai-sdk-gitlab/${H7}`)};W().catch(()=>{});let V=(B,U)=>{let O=j5(B);if(!O)throw new x({message:`Unknown model ID: ${B}. Model must be registered in MODEL_MAPPINGS.`});if(U?.providerModel){let E=iQ(O.provider);if(!E.includes(U.providerModel))throw new x({message:`Invalid providerModel '${U.providerModel}' for provider '${O.provider}'. Valid models: ${E.join(", ")}`})}let P={DuoAgentPlatformNext:!0,...$.featureFlags,...U?.featureFlags},L={...{"User-Agent":`gitlab-ai-provider/${H7}`},...$.aiGatewayHeaders,...U?.aiGatewayHeaders},A={provider:`${Y}.agentic`,instanceUrl:X,getHeaders:G,refreshApiKey:z,fetch:$.fetch,maxTokens:U?.maxTokens,featureFlags:P,aiGatewayUrl:$.aiGatewayUrl,aiGatewayHeaders:L};if(O.provider==="openai")return new tQ(B,{...A,openaiModel:U?.providerModel??O.model});return new pQ(B,{...A,anthropicModel:U?.providerModel??O.model})},H=(B,U)=>{let O=j5(B);if(!O||O.provider!=="workflow")throw new x({message:`Unknown workflow model ID: ${B}. Use 'duo-workflow' or a 'duo-workflow-*' model ID.`});return new LW(B,{provider:`${Y}.workflow`,instanceUrl:X,getHeaders:G,refreshApiKey:z,fetch:$.fetch,featureFlags:{...$.featureFlags,...U?.featureFlags},aiGatewayUrl:$.aiGatewayUrl},U)},q=(B)=>{if(rQ(B))return H(B);return V(B)},w=Object.assign((B)=>q(B),{specificationVersion:"v3",languageModel:q,chat:q,agenticChat:V,workflowChat:H});return w.embeddingModel=(B)=>{throw new x({message:`GitLab provider does not support text embedding models. Model ID: ${B}`})},w.imageModel=(B)=>{throw new x({message:`GitLab provider does not support image models. Model ID: ${B}`})},w}var gE=TW(),_W="https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist/-/raw/main/ai_gateway/model_selection/models.yml",PW=86400000,q7=200000,w7=64000;function U7(){let $=process.env.XDG_CACHE_HOME||m6.join(a5.homedir(),".cache");return m6.join($,"opencode","gitlab-model-configs.json")}function jW(){try{let $=U7();if(!d$.existsSync($))return null;let X=d$.readFileSync($,"utf-8");return JSON.parse(X)}catch{return null}}function kW($){try{let X=U7(),Y=m6.dirname(X);d$.mkdirSync(Y,{recursive:!0,mode:448});let J={configs:Object.fromEntries($),updatedAt:new Date().toISOString()};d$.writeFileSync(X,JSON.stringify(J,null,2),{mode:384})}catch{}}function y5($){let X=jW();if(!X)return null;let Y=new Date(X.updatedAt).getTime();if(Date.now()-Y>$)return null;return{configs:new Map(Object.entries(X.configs)),writtenAt:Y}}var xW=class{url;ttlMs;fetchFn;memCache=null;memExpiresAt=0;pending=null;constructor($){this.url=$?.url??_W,this.ttlMs=$?.ttlMs??PW,this.fetchFn=$?.fetch??fetch}async getConfigs(){if(this.memCache&&Date.now()<this.memExpiresAt)return this.memCache;let $=y5(this.ttlMs);if($)return this.memCache=$.configs,this.memExpiresAt=$.writtenAt+this.ttlMs,$.configs;if(this.pending)return this.pending;this.pending=this.fetchConfigs();try{return await this.pending}finally{this.pending=null}}async getConfig($){return(await this.getConfigs()).get($)??{context:q7,output:w7}}invalidateCache(){this.memCache=null,this.memExpiresAt=0;try{let $=U7();if(d$.existsSync($))d$.unlinkSync($)}catch{}}async fetchConfigs(){try{let $=await this.fetchFn(this.url);if(!$.ok)throw Error(`HTTP ${$.status}`);let X=await $.text(),Y=fW(X);return this.memCache=Y,this.memExpiresAt=Date.now()+this.ttlMs,kW(Y),Y}catch{return this.memCache??y5(1/0)?.configs??new Map}}};function fW($){let X=new Map,Y=null,J=0,Q=0,W=!1,z=-1;for(let G of $.split(`
|
|
102
|
-
`)){let V=G.match(/^\s*gitlab_identifier:\s*"?([^"#\s]+)"?/);if(V){if(Y)X.set(Y,{context:J||q7,output:Q||w7});Y=V[1],J=0,Q=0,W=!1,z=-1}let H=G.match(/^\s*max_context_tokens:\s*([0-9_]+)/);if(H&&Y)J=parseInt(H[1].replace(/_/g,""),10);if(/^\s*params:\s*$/.test(G))W=!0,z=G.match(/^(\s*)/)?.[1].length??0;else if(W&&/^\s*\S+:/.test(G)){if((G.match(/^(\s*)/)?.[1].length??0)<=z)W=!1,z=-1}if(W){let q=G.match(/^\s*max_tokens:\s*([0-9_]+)/);if(q&&Y)Q=parseInt(q[1].replace(/_/g,""),10)}}if(Y)X.set(Y,{context:J||q7,output:Q||w7});return X}var bW=new xW;async function g5($,X){let Y=await bW.getConfigs(),J=new Map;for(let[G,V]of Object.entries(o$))if(V.provider==="workflow"&&G!=="duo-workflow"&&G!=="duo-workflow-default")J.set(V.model,G);let Q=$.pinnedModel?[$.pinnedModel]:[...$.selectableModels??[],...$.defaultModel?[$.defaultModel]:[]],W=new Set,z=[];for(let G of Q){if(!G.ref||W.has(G.ref))continue;W.add(G.ref);let V=J.get(G.ref)??`duo-workflow-${G.ref.replace(/[/_]/g,"-")}`,H=Y.get(G.ref);z.push({id:V,ref:G.ref,name:G.name,context:H?.context??200000,output:H?.output??64000,pinned:!!$.pinnedModel&&$.pinnedModel.ref===G.ref})}return{models:z,project:X}}async function hE($,X){let Y=new p5(X.workingDirectory,$.instanceUrl);if(!Y.isDiscoveryExpired()){let V=Y.load();return g5(V.discovery,V.project)}let J=new u5({instanceUrl:$.instanceUrl,getHeaders:$.getHeaders,fetch:$.fetch}),Q=null;try{Q=await J.detectProject(X.workingDirectory)}catch{return{models:[],project:null}}let W=Q?.namespaceId;if(!W)return{models:[],project:Q};let G=await new d5({instanceUrl:$.instanceUrl,getHeaders:$.getHeaders,fetch:$.fetch}).discover(`gid://gitlab/Group/${W}`);if(Y.saveDiscovery(G,Q),!Y.getSelectedModelRef()){let V=G.pinnedModel??G.defaultModel;if(V)Y.saveSelection(V.ref,V.name)}return g5(G,Q)}export{x as
|
|
102
|
+
`)){let V=G.match(/^\s*gitlab_identifier:\s*"?([^"#\s]+)"?/);if(V){if(Y)X.set(Y,{context:J||q7,output:Q||w7});Y=V[1],J=0,Q=0,W=!1,z=-1}let H=G.match(/^\s*max_context_tokens:\s*([0-9_]+)/);if(H&&Y)J=parseInt(H[1].replace(/_/g,""),10);if(/^\s*params:\s*$/.test(G))W=!0,z=G.match(/^(\s*)/)?.[1].length??0;else if(W&&/^\s*\S+:/.test(G)){if((G.match(/^(\s*)/)?.[1].length??0)<=z)W=!1,z=-1}if(W){let q=G.match(/^\s*max_tokens:\s*([0-9_]+)/);if(q&&Y)Q=parseInt(q[1].replace(/_/g,""),10)}}if(Y)X.set(Y,{context:J||q7,output:Q||w7});return X}var bW=new xW;async function g5($,X){let Y=await bW.getConfigs(),J=new Map;for(let[G,V]of Object.entries(o$))if(V.provider==="workflow"&&G!=="duo-workflow"&&G!=="duo-workflow-default")J.set(V.model,G);let Q=$.pinnedModel?[$.pinnedModel]:[...$.selectableModels??[],...$.defaultModel?[$.defaultModel]:[]],W=new Set,z=[];for(let G of Q){if(!G.ref||W.has(G.ref))continue;W.add(G.ref);let V=J.get(G.ref)??`duo-workflow-${G.ref.replace(/[/_]/g,"-")}`,H=Y.get(G.ref);z.push({id:V,ref:G.ref,name:G.name,context:H?.context??200000,output:H?.output??64000,pinned:!!$.pinnedModel&&$.pinnedModel.ref===G.ref})}return{models:z,project:X}}async function hE($,X){let Y=new p5(X.workingDirectory,$.instanceUrl);if(!Y.isDiscoveryExpired()){let V=Y.load();return g5(V.discovery,V.project)}let J=new u5({instanceUrl:$.instanceUrl,getHeaders:$.getHeaders,fetch:$.fetch}),Q=null;try{Q=await J.detectProject(X.workingDirectory)}catch{return{models:[],project:null}}let W=Q?.namespaceId;if(!W)return{models:[],project:Q};let G=await new d5({instanceUrl:$.instanceUrl,getHeaders:$.getHeaders,fetch:$.fetch}).discover(`gid://gitlab/Group/${W}`);if(Y.saveDiscovery(G,Q),!Y.getSelectedModelRef()){let V=G.pinnedModel??G.defaultModel;if(V)Y.saveSelection(V.ref,V.name)}return g5(G,Q)}export{x as Ph,lQ as Qh,h5 as Rh,pQ as Sh,o$ as Th,j5 as Uh,jE as Vh,iQ as Wh,kE as Xh,xE as Yh,nQ as Zh,aQ as _h,rQ as $h,sQ as ai,fE as bi,tQ as ci,H7 as di,oQ as ei,eQ as fi,k5 as gi,y6 as hi,$W as ii,K7 as ji,U8 as ki,YW as li,JW as mi,x5 as ni,HW as oi,BW as pi,u5 as qi,d5 as ri,p5 as si,LW as ti,ZW as ui,vE as vi,SW as wi,AW as xi,yE as yi,CW as zi,TW as Ai,gE as Bi,xW as Ci,fW as Di,hE as Ei};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{Vd as n,Yd as p,Zd as e,_d as i,be as m,ce as c}from"./chunk-p0852vfn.js";import{gI as o,nC as s}from"./chunk-9kc2th5c.js";var u=(t)=>o.sync(()=>e(t)),g=(t)=>o.sync(()=>i(t)),y={info:(t)=>o.sync(()=>p.info(t))},x=(t)=>o.tryPromise(()=>c(t)).pipe(o.map((r)=>{if(n(r))return s.none();return s.some(r)})),V=()=>{let t=m();return{start:(r)=>o.sync(()=>t.start(r)),stop:(r,a)=>o.sync(()=>t.stop(r,a))}};
|
|
3
3
|
export{u as i,g as j,y as k,x as l,V as m};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
3
|
-
export{$ as
|
|
2
|
+
import{On as J}from"./chunk-3152y1q9.js";import{Ms as H,Ns as I,Os as Q}from"./chunk-fkq0v5qv.js";import{fu as N}from"./chunk-ffx0cr44.js";import{yP as L}from"./chunk-sh03ka27.js";import{platform as R,release as U}from"os";import{tmpdir as V}from"os";import X from"path";import Y from"fs/promises";var Z=J(async()=>{let{which:D}=await import("./chunk-yw2x6by6.js");return D}),T=J(async()=>{let{default:D}=await import("./chunk-et3tgx7t.js");return D});function _(D){if(!process.stdout.isTTY)return;let A=`\x1B]52;c;${Buffer.from(D).toString("base64")}\x07`,E=process.env.TMUX||process.env.STY?`\x1BPtmux;\x1B${A}\x1B\\`:A;process.stdout.write(E)}async function $(){let D=R();if(D==="darwin"){let k=X.join(V(),"qitqode-clipboard.png");try{return await I(["osascript","-e",'set imageData to the clipboard as "PNGf"',"-e",`set fileRef to open for access POSIX file "${k}" with write permission`,"-e","set eof fileRef to 0","-e","write imageData to fileRef","-e","close access fileRef"],{nothrow:!0}),{data:(await N(k)).toString("base64"),mime:"image/png"}}catch{}finally{await Y.rm(k,{force:!0}).catch(()=>{})}}if(D==="win32"||U().includes("WSL")){let E=await Q(["powershell.exe","-NonInteractive","-NoProfile","-command","Add-Type -AssemblyName System.Windows.Forms; $img = [System.Windows.Forms.Clipboard]::GetImage(); if ($img) { $ms = New-Object System.IO.MemoryStream; $img.Save($ms, [System.Drawing.Imaging.ImageFormat]::Png); [System.Convert]::ToBase64String($ms.ToArray()) }"],{nothrow:!0});if(E.text){let K=Buffer.from(E.text.trim(),"base64");if(K.length>0)return{data:K.toString("base64"),mime:"image/png"}}}if(D==="linux"){let k=await I(["wl-paste","-t","image/png"],{nothrow:!0});if(k.stdout.byteLength>0)return{data:Buffer.from(k.stdout).toString("base64"),mime:"image/png"};let E=await I(["xclip","-selection","clipboard","-t","image/png","-o"],{nothrow:!0});if(E.stdout.byteLength>0)return{data:Buffer.from(E.stdout).toString("base64"),mime:"image/png"}}let A=await(await T()).read().catch(()=>{});if(A)return{data:A,mime:"text/plain"}}var j=J(async()=>{let D=R(),G=await Z();if(D==="darwin"&&G("osascript"))return console.log("clipboard: using osascript"),async(A)=>{let k=A.replace(/\\/g,"\\\\").replace(/"/g,"\\\"");await I(["osascript","-e",`set the clipboard to "${k}"`],{nothrow:!0})};if(D==="linux"){if(process.env.WAYLAND_DISPLAY&&G("wl-copy"))return console.log("clipboard: using wl-copy"),async(A)=>{let k=H(["wl-copy"],{stdin:"pipe",stdout:"ignore",stderr:"ignore"});if(!k.stdin)return;k.stdin.write(A),k.stdin.end(),await k.exited.catch(()=>{})};if(G("xclip"))return console.log("clipboard: using xclip"),async(A)=>{let k=H(["xclip","-selection","clipboard"],{stdin:"pipe",stdout:"ignore",stderr:"ignore"});if(!k.stdin)return;k.stdin.write(A),k.stdin.end(),await k.exited.catch(()=>{})};if(G("xsel"))return console.log("clipboard: using xsel"),async(A)=>{let k=H(["xsel","--clipboard","--input"],{stdin:"pipe",stdout:"ignore",stderr:"ignore"});if(!k.stdin)return;k.stdin.write(A),k.stdin.end(),await k.exited.catch(()=>{})}}if(D==="win32")return console.log("clipboard: using powershell"),async(A)=>{let k=H(["powershell.exe","-NonInteractive","-NoProfile","-Command","[Console]::InputEncoding = [System.Text.Encoding]::UTF8; Set-Clipboard -Value ([Console]::In.ReadToEnd())"],{stdin:"pipe",stdout:"ignore",stderr:"ignore"});if(!k.stdin)return;k.stdin.write(A),k.stdin.end(),await k.exited.catch(()=>{})};return console.log("clipboard: no native support"),async(A)=>{await(await T()).write(A).catch(()=>{})}});async function v(D){_(D),await(await j())(D)}
|
|
3
|
+
export{$ as Kd,v as Ld};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{yf as P}from"./chunk-pfen4ekj.js";import"./chunk-gjmxrz0v.js";import{Gf as Q}from"./chunk-hcd0k14e.js";import{uP as W,vP as J}from"./chunk-0xf12tf3.js";class M{bytes;constructor(e){if(this.bytes=e,e.byteLength!==8)throw Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>9223372036854776000||e<-9223372036854776000)throw Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);let t=new Uint8Array(8);for(let r=7,n=Math.abs(Math.round(e));r>-1&&n>0;r--,n/=256)t[r]=n;if(e<0)A(t);return new M(t)}valueOf(){let e=this.bytes.slice(0),t=e[0]&128;if(t)A(e);return parseInt(b.toHex(e),16)*(t?-1:1)}toString(){return String(this.valueOf())}}function A(e){for(let t=0;t<8;t++)e[t]^=255;for(let t=7;t>-1;t--)if(e[t]++,e[t]!==0)break}class I{toUtf8;fromUtf8;constructor(e,t){this.toUtf8=e,this.fromUtf8=t}format(e){let t=[];for(let s of Object.keys(e)){let a=this.fromUtf8(s);t.push(Uint8Array.from([a.byteLength]),a,this.formatHeaderValue(e[s]))}let r=new Uint8Array(t.reduce((s,a)=>s+a.byteLength,0)),n=0;for(let s of t)r.set(s,n),n+=s.byteLength;return r}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([e.value?0:1]);case"byte":return Uint8Array.from([2,e.value]);case"short":let t=new DataView(new ArrayBuffer(3));return t.setUint8(0,3),t.setInt16(1,e.value,!1),new Uint8Array(t.buffer);case"integer":let r=new DataView(new ArrayBuffer(5));return r.setUint8(0,4),r.setInt32(1,e.value,!1),new Uint8Array(r.buffer);case"long":let n=new Uint8Array(9);return n[0]=5,n.set(e.value.bytes,1),n;case"binary":let s=new DataView(new ArrayBuffer(3+e.value.byteLength));s.setUint8(0,6),s.setUint16(1,e.value.byteLength,!1);let a=new Uint8Array(s.buffer);return a.set(e.value,3),a;case"string":let l=this.fromUtf8(e.value),i=new DataView(new ArrayBuffer(3+l.byteLength));i.setUint8(0,7),i.setUint16(1,l.byteLength,!1);let f=new Uint8Array(i.buffer);return f.set(l,3),f;case"timestamp":let h=new Uint8Array(9);return h[0]=8,h.set(M.fromNumber(e.value.valueOf()).bytes,1),h;case"uuid":if(!te.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let u=new Uint8Array(17);return u[0]=9,u.set(b.fromHex(e.value.replace(/\-/g,"")),1),u}}parse(e){let t={},r=0;while(r<e.byteLength){let n=e.getUint8(r++),s=this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+r,n));switch(r+=n,e.getUint8(r++)){case 0:t[s]={type:F,value:!0};break;case 1:t[s]={type:F,value:!1};break;case 2:t[s]={type:X,value:e.getInt8(r++)};break;case 3:t[s]={type:Z,value:e.getInt16(r,!1)},r+=2;break;case 4:t[s]={type:V,value:e.getInt32(r,!1)},r+=4;break;case 5:t[s]={type:D,value:new M(new Uint8Array(e.buffer,e.byteOffset+r,8))},r+=8;break;case 6:let a=e.getUint16(r,!1);r+=2,t[s]={type:E,value:new Uint8Array(e.buffer,e.byteOffset+r,a)},r+=a;break;case 7:let l=e.getUint16(r,!1);r+=2,t[s]={type:_,value:this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+r,l))},r+=l;break;case 8:t[s]={type:Y,value:new Date(new M(new Uint8Array(e.buffer,e.byteOffset+r,8)).valueOf())},r+=8;break;case 9:let i=new Uint8Array(e.buffer,e.byteOffset+r,16);r+=16,t[s]={type:ee,value:`${b.toHex(i.subarray(0,4))}-${b.toHex(i.subarray(4,6))}-${b.toHex(i.subarray(6,8))}-${b.toHex(i.subarray(8,10))}-${b.toHex(i.subarray(10))}`};break;default:throw Error("Unrecognized header type tag")}}return t}}function se({byteLength:e,byteOffset:t,buffer:r}){if(e<re)throw Error("Provided message too short to accommodate event stream message overhead");let n=new DataView(r,t,e),s=n.getUint32(0,!1);if(e!==s)throw Error("Reported message length does not match received message length");let a=n.getUint32(q,!1),l=n.getUint32(p,!1),i=n.getUint32(e-S,!1),f=new j.Crc32().update(new Uint8Array(r,t,p));if(l!==f.digest())throw Error(`The prelude checksum specified in the message (${l}) does not match the calculated CRC32 checksum (${f.digest()})`);if(f.update(new Uint8Array(r,t+p,e-(p+S))),i!==f.digest())throw Error(`The message checksum (${f.digest()}) did not match the expected value of ${i}`);return{headers:new DataView(r,t+p+S,a),body:new Uint8Array(r,t+p+S+a,s-a-(p+S+S))}}class x{headerMarshaller;messageBuffer;isEndOfStream;constructor(e,t){this.headerMarshaller=new I(e,t),this.messageBuffer=[],this.isEndOfStream=!1}feed(e){this.messageBuffer.push(this.decode(e))}endOfStream(){this.isEndOfStream=!0}getMessage(){let e=this.messageBuffer.pop(),t=this.isEndOfStream;return{getMessage(){return e},isEndOfStream(){return t}}}getAvailableMessages(){let e=this.messageBuffer;this.messageBuffer=[];let t=this.isEndOfStream;return{getMessages(){return e},isEndOfStream(){return t}}}encode({headers:e,body:t}){let r=this.headerMarshaller.format(e),n=r.byteLength+t.byteLength+16,s=new Uint8Array(n),a=new DataView(s.buffer,s.byteOffset,s.byteLength),l=new j.Crc32;return a.setUint32(0,n,!1),a.setUint32(4,r.byteLength,!1),a.setUint32(8,l.update(s.subarray(0,8)).digest(),!1),s.set(r,12),s.set(t,r.byteLength+12),a.setUint32(n-4,l.update(s.subarray(8,n-4)).digest(),!1),s}decode(e){let{headers:t,body:r}=se(e);return{headers:this.headerMarshaller.parse(t),body:r}}formatHeaders(e){return this.headerMarshaller.format(e)}}function H(e){let t=0,r=0,n=null,s=null,a=(i)=>{if(typeof i!=="number")throw Error("Attempted to allocate an event message where size was not a number: "+i);t=i,r=4,n=new Uint8Array(i),new DataView(n.buffer).setUint32(0,i,!1)},l=async function*(){let i=e[Symbol.asyncIterator]();while(!0){let{value:f,done:h}=await i.next();if(h){if(!t)return;else if(t===r)yield n;else throw Error("Truncated event message received.");return}let u=f.length,o=0;while(o<u){if(!n){let m=u-o;if(!s)s=new Uint8Array(4);let y=Math.min(4-r,m);if(s.set(f.slice(o,o+y),r),r+=y,o+=y,r<4)break;a(new DataView(s.buffer).getUint32(0,!1)),s=null}let c=Math.min(t-r,u-o);if(n.set(f.slice(o,o+c),r),r+=c,o+=c,t&&t===r)yield n,n=null,t=0,r=0}}};return{[Symbol.asyncIterator]:l}}function ne(e,t){let r=C(t.deserializer,t.toUtf8);return{[Symbol.asyncIterator]:async function*(){for await(let n of e){let s=t.eventStreamCodec.decode(n),a=await r(s);if(a===void 0)continue;yield a}}}}function C(e,t){return async function(r){let{value:n}=r.headers[":message-type"];if(n==="error"){let s=Error(r.headers[":error-message"].value||"UnknownError");throw s.name=r.headers[":error-code"].value,s}else if(n==="exception"){let s=r.headers[":exception-type"].value,a={[s]:r},l=await e(a);if(l.$unknown){let i=Error(t(r.body));throw i.name=s,i}throw l[s]}else if(n==="event"){let s={[r.headers[":event-type"].value]:r},a=await e(s);if(a.$unknown)return;return a}else throw Error(`Unrecognizable event type: ${r.headers[":event-type"].value}`)}}class N{universalMarshaller;constructor({utf8Encoder:e,utf8Decoder:t}){this.universalMarshaller=new O({utf8Decoder:t,utf8Encoder:e})}deserialize(e,t){let r=typeof e[Symbol.asyncIterator]==="function"?e:ie(e);return this.universalMarshaller.deserialize(r,t)}serialize(e,t){return R.Readable.from(this.universalMarshaller.serialize(e,t))}}async function*ie(e){let t=!1,r=!1,n=[];e.on("error",(s)=>{if(!t)t=!0;if(s)throw s}),e.on("data",(s)=>{n.push(s)}),e.on("end",()=>{t=!0});while(!r){let s=await new Promise((a)=>setTimeout(()=>a(n.shift()),0));if(s)yield s;r=t&&n.length===0}}class K{marshaller;serializer;deserializer;serdeContext;defaultContentType;constructor({marshaller:e,serializer:t,deserializer:r,serdeContext:n,defaultContentType:s}){this.marshaller=e,this.serializer=t,this.deserializer=r,this.serdeContext=n,this.defaultContentType=s}async serializeEventStream({eventStream:e,requestSchema:t,initialRequest:r}){let n=this.marshaller,s=t.getEventStreamMember(),a=t.getMemberSchema(s),l=this.serializer,i=this.defaultContentType,f=Symbol("initialRequestMarker"),h={async*[Symbol.asyncIterator](){if(r){let u={":event-type":{type:"string",value:"initial-request"},":message-type":{type:"string",value:"event"},":content-type":{type:"string",value:i}};l.write(t,r);let o=l.flush();yield{[f]:!0,headers:u,body:o}}for await(let u of e)yield u}};return n.serialize(h,(u)=>{if(u[f])return{headers:u.headers,body:u.body};let o="";for(let d in u)if(d!=="__type"){o=d;break}let{additionalHeaders:c,body:m,eventType:y,explicitPayloadContentType:g}=this.writeEventBody(o,a,u);return{headers:{":event-type":{type:"string",value:y},":message-type":{type:"string",value:"event"},":content-type":{type:"string",value:g??i},...c},body:m}})}async deserializeEventStream({response:e,responseSchema:t,initialResponseContainer:r}){let n=this.marshaller,s=t.getEventStreamMember(),l=t.getMemberSchema(s).getMemberSchemas(),i=Symbol("initialResponseMarker"),f=n.deserialize(e.body,async(o)=>{let c="";for(let y in o)if(y!=="__type"){c=y;break}let m=o[c].body;if(c==="initial-response"){let y=await this.deserializer.read(t,m);return delete y[s],{[i]:!0,...y}}else if(c in l){let y=l[c];if(y.isStructSchema()){let g={},w=!1;for(let[d,U]of y.structIterator()){let{eventHeader:$,eventPayload:G}=U.getMergedTraits();if(w=w||Boolean($||G),G){if(U.isBlobSchema())g[d]=m;else if(U.isStringSchema())g[d]=(this.serdeContext?.utf8Encoder??b.toUtf8)(m);else if(U.isStructSchema())g[d]=await this.deserializer.read(U,m)}else if($){let v=o[c].headers[d]?.value;if(v!=null)if(U.isNumericSchema())if(v&&typeof v==="object"&&"bytes"in v)g[d]=BigInt(v.toString());else g[d]=Number(v);else g[d]=v}}if(w)return{[c]:g};if(m.byteLength===0)return{[c]:{}}}return{[c]:await this.deserializer.read(y,m)}}else return{$unknown:o}}),h=f[Symbol.asyncIterator](),u=await h.next();if(u.done)return f;if(u.value?.[i]){if(!t)throw Error("@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.");for(let o in u.value)r[o]=u.value[o]}return{async*[Symbol.asyncIterator](){if(!u?.value?.[i])yield u.value;while(!0){let{done:o,value:c}=await h.next();if(o)break;yield c}}}}writeEventBody(e,t,r){let n=this.serializer,s=e,a=null,l,i=(()=>{return t.getSchema()[4].includes(e)})(),f={};if(!i){let[o,c]=r[e];s=o,n.write(15,c)}else{let o=t.getMemberSchema(e);if(o.isStructSchema()){for(let[c,m]of o.structIterator()){let{eventHeader:y,eventPayload:g}=m.getMergedTraits();if(g)a=c;else if(y){let w=r[e][c],d="binary";if(m.isNumericSchema())if(-2147483648<=w&&w<=2147483647)d="integer";else d="long";else if(m.isTimestampSchema())d="timestamp";else if(m.isStringSchema())d="string";else if(m.isBooleanSchema())d="boolean";if(w!=null)f[c]={type:d,value:w},delete r[e][c]}}if(a!==null){let c=o.getMemberSchema(a);if(c.isBlobSchema())l="application/octet-stream";else if(c.isStringSchema())l="text/plain";n.write(c,r[e][a])}else n.write(o,r[e])}else if(o.isUnitSchema())n.write(o,{});else throw Error("@smithy/core/event-streams - non-struct member not supported in event stream union.")}let h=n.flush()??new Uint8Array;return{body:typeof h==="string"?(this.serdeContext?.utf8Decoder??b.fromUtf8)(h):h,eventType:s,explicitPayloadContentType:l,additionalHeaders:f}}}var j,b,R,L,F="boolean",X="byte",Z="short",V="integer",D="long",E="binary",_="string",Y="timestamp",ee="uuid",te,q=4,p,S=4,re,k,B,T,z,O=class{eventStreamCodec;utfEncoder;constructor({utf8Encoder:t,utf8Decoder:r}){this.eventStreamCodec=new x(t,r),this.utfEncoder=t}deserialize(t,r){let n=H(t);return new T({messageStream:new k({inputStream:n,decoder:this.eventStreamCodec}),deserializer:C(r,this.utfEncoder)})}serialize(t,r){return new B({messageStream:new z({inputStream:t,serializer:r}),encoder:this.eventStreamCodec,includeEndFrame:!0})}},ae=(e)=>new O(e),oe=(e)=>new N(e),ce=(e)=>({[Symbol.asyncIterator]:async function*(){let t=e.getReader();try{while(!0){let{done:r,value:n}=await t.read();if(r)return;yield n}}finally{t.releaseLock()}}}),le=(e)=>{let t=e[Symbol.asyncIterator]();return new ReadableStream({async pull(r){let{done:n,value:s}=await t.next();if(n)return r.close();r.enqueue(s)}})},ue=(e)=>Object.assign(e,{eventStreamMarshaller:e.eventStreamSerdeProvider(e)}),fe,ye,de,me,he,ge,we,be,pe,ve,Se,Ue,Me,Ie,xe,ke,Be,Te;var ze=W(()=>{j=P(),b=Q(),R=J("stream");(function(e){e[e.boolTrue=0]="boolTrue",e[e.boolFalse=1]="boolFalse",e[e.byte=2]="byte",e[e.short=3]="short",e[e.integer=4]="integer",e[e.long=5]="long",e[e.byteArray=6]="byteArray",e[e.string=7]="string",e[e.timestamp=8]="timestamp",e[e.uuid=9]="uuid"})(L||(L={}));te=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,p=q*2,re=p+S*2;k=class k{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.inputStream)yield this.options.decoder.decode(e)}};B=class B{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.messageStream)yield this.options.encoder.encode(e);if(this.options.includeEndFrame)yield new Uint8Array(0)}};T=class T{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.messageStream){let t=await this.options.deserializer(e);if(t===void 0)continue;yield t}}};z=class z{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.inputStream)yield this.options.serializer(e)}};fe=x,ye=N,de=K,me=I,he=M,ge=k,we=B,be=T,pe=z,ve=O,Se=oe,Ue=H,Me=C,Ie=ne,xe=le,ke=ce,Be=ue,Te=ae});ze();export{Te as universalEventStreamSerdeProvider,Be as resolveEventStreamSerdeConfig,ke as readableStreamToIterable,xe as iterableToReadableStream,Ie as getUnmarshalledStream,Me as getMessageUnmarshaller,Ue as getChunkedStream,Se as eventStreamSerdeProvider,ve as UniversalEventStreamMarshaller,pe as SmithyMessageEncoderStream,be as SmithyMessageDecoderStream,we as MessageEncoderStream,ge as MessageDecoderStream,he as Int64,me as HeaderMarshaller,de as EventStreamSerde,ye as EventStreamMarshaller,fe as EventStreamCodec};export default {get universalEventStreamSerdeProvider(){return Te},get resolveEventStreamSerdeConfig(){return Be},get readableStreamToIterable(){return ke},get iterableToReadableStream(){return xe},get getUnmarshalledStream(){return Ie},get getMessageUnmarshaller(){return Me},get getChunkedStream(){return Ue},get eventStreamSerdeProvider(){return Se},get UniversalEventStreamMarshaller(){return ve},get SmithyMessageEncoderStream(){return pe},get SmithyMessageDecoderStream(){return be},get MessageEncoderStream(){return we},get MessageDecoderStream(){return ge},get Int64(){return he},get HeaderMarshaller(){return me},get EventStreamSerde(){return de},get EventStreamMarshaller(){return ye},get EventStreamCodec(){return fe}};
|
|
2
|
+
import{Af as P}from"./chunk-q1dmxn63.js";import"./chunk-b350g18y.js";import{If as Q}from"./chunk-48rg4yhk.js";import{xP as W,yP as J}from"./chunk-sh03ka27.js";class M{bytes;constructor(e){if(this.bytes=e,e.byteLength!==8)throw Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>9223372036854776000||e<-9223372036854776000)throw Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);let t=new Uint8Array(8);for(let r=7,n=Math.abs(Math.round(e));r>-1&&n>0;r--,n/=256)t[r]=n;if(e<0)A(t);return new M(t)}valueOf(){let e=this.bytes.slice(0),t=e[0]&128;if(t)A(e);return parseInt(b.toHex(e),16)*(t?-1:1)}toString(){return String(this.valueOf())}}function A(e){for(let t=0;t<8;t++)e[t]^=255;for(let t=7;t>-1;t--)if(e[t]++,e[t]!==0)break}class I{toUtf8;fromUtf8;constructor(e,t){this.toUtf8=e,this.fromUtf8=t}format(e){let t=[];for(let s of Object.keys(e)){let a=this.fromUtf8(s);t.push(Uint8Array.from([a.byteLength]),a,this.formatHeaderValue(e[s]))}let r=new Uint8Array(t.reduce((s,a)=>s+a.byteLength,0)),n=0;for(let s of t)r.set(s,n),n+=s.byteLength;return r}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([e.value?0:1]);case"byte":return Uint8Array.from([2,e.value]);case"short":let t=new DataView(new ArrayBuffer(3));return t.setUint8(0,3),t.setInt16(1,e.value,!1),new Uint8Array(t.buffer);case"integer":let r=new DataView(new ArrayBuffer(5));return r.setUint8(0,4),r.setInt32(1,e.value,!1),new Uint8Array(r.buffer);case"long":let n=new Uint8Array(9);return n[0]=5,n.set(e.value.bytes,1),n;case"binary":let s=new DataView(new ArrayBuffer(3+e.value.byteLength));s.setUint8(0,6),s.setUint16(1,e.value.byteLength,!1);let a=new Uint8Array(s.buffer);return a.set(e.value,3),a;case"string":let l=this.fromUtf8(e.value),i=new DataView(new ArrayBuffer(3+l.byteLength));i.setUint8(0,7),i.setUint16(1,l.byteLength,!1);let f=new Uint8Array(i.buffer);return f.set(l,3),f;case"timestamp":let h=new Uint8Array(9);return h[0]=8,h.set(M.fromNumber(e.value.valueOf()).bytes,1),h;case"uuid":if(!te.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let u=new Uint8Array(17);return u[0]=9,u.set(b.fromHex(e.value.replace(/\-/g,"")),1),u}}parse(e){let t={},r=0;while(r<e.byteLength){let n=e.getUint8(r++),s=this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+r,n));switch(r+=n,e.getUint8(r++)){case 0:t[s]={type:F,value:!0};break;case 1:t[s]={type:F,value:!1};break;case 2:t[s]={type:X,value:e.getInt8(r++)};break;case 3:t[s]={type:Z,value:e.getInt16(r,!1)},r+=2;break;case 4:t[s]={type:V,value:e.getInt32(r,!1)},r+=4;break;case 5:t[s]={type:D,value:new M(new Uint8Array(e.buffer,e.byteOffset+r,8))},r+=8;break;case 6:let a=e.getUint16(r,!1);r+=2,t[s]={type:E,value:new Uint8Array(e.buffer,e.byteOffset+r,a)},r+=a;break;case 7:let l=e.getUint16(r,!1);r+=2,t[s]={type:_,value:this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+r,l))},r+=l;break;case 8:t[s]={type:Y,value:new Date(new M(new Uint8Array(e.buffer,e.byteOffset+r,8)).valueOf())},r+=8;break;case 9:let i=new Uint8Array(e.buffer,e.byteOffset+r,16);r+=16,t[s]={type:ee,value:`${b.toHex(i.subarray(0,4))}-${b.toHex(i.subarray(4,6))}-${b.toHex(i.subarray(6,8))}-${b.toHex(i.subarray(8,10))}-${b.toHex(i.subarray(10))}`};break;default:throw Error("Unrecognized header type tag")}}return t}}function se({byteLength:e,byteOffset:t,buffer:r}){if(e<re)throw Error("Provided message too short to accommodate event stream message overhead");let n=new DataView(r,t,e),s=n.getUint32(0,!1);if(e!==s)throw Error("Reported message length does not match received message length");let a=n.getUint32(q,!1),l=n.getUint32(p,!1),i=n.getUint32(e-S,!1),f=new j.Crc32().update(new Uint8Array(r,t,p));if(l!==f.digest())throw Error(`The prelude checksum specified in the message (${l}) does not match the calculated CRC32 checksum (${f.digest()})`);if(f.update(new Uint8Array(r,t+p,e-(p+S))),i!==f.digest())throw Error(`The message checksum (${f.digest()}) did not match the expected value of ${i}`);return{headers:new DataView(r,t+p+S,a),body:new Uint8Array(r,t+p+S+a,s-a-(p+S+S))}}class x{headerMarshaller;messageBuffer;isEndOfStream;constructor(e,t){this.headerMarshaller=new I(e,t),this.messageBuffer=[],this.isEndOfStream=!1}feed(e){this.messageBuffer.push(this.decode(e))}endOfStream(){this.isEndOfStream=!0}getMessage(){let e=this.messageBuffer.pop(),t=this.isEndOfStream;return{getMessage(){return e},isEndOfStream(){return t}}}getAvailableMessages(){let e=this.messageBuffer;this.messageBuffer=[];let t=this.isEndOfStream;return{getMessages(){return e},isEndOfStream(){return t}}}encode({headers:e,body:t}){let r=this.headerMarshaller.format(e),n=r.byteLength+t.byteLength+16,s=new Uint8Array(n),a=new DataView(s.buffer,s.byteOffset,s.byteLength),l=new j.Crc32;return a.setUint32(0,n,!1),a.setUint32(4,r.byteLength,!1),a.setUint32(8,l.update(s.subarray(0,8)).digest(),!1),s.set(r,12),s.set(t,r.byteLength+12),a.setUint32(n-4,l.update(s.subarray(8,n-4)).digest(),!1),s}decode(e){let{headers:t,body:r}=se(e);return{headers:this.headerMarshaller.parse(t),body:r}}formatHeaders(e){return this.headerMarshaller.format(e)}}function H(e){let t=0,r=0,n=null,s=null,a=(i)=>{if(typeof i!=="number")throw Error("Attempted to allocate an event message where size was not a number: "+i);t=i,r=4,n=new Uint8Array(i),new DataView(n.buffer).setUint32(0,i,!1)},l=async function*(){let i=e[Symbol.asyncIterator]();while(!0){let{value:f,done:h}=await i.next();if(h){if(!t)return;else if(t===r)yield n;else throw Error("Truncated event message received.");return}let u=f.length,o=0;while(o<u){if(!n){let m=u-o;if(!s)s=new Uint8Array(4);let y=Math.min(4-r,m);if(s.set(f.slice(o,o+y),r),r+=y,o+=y,r<4)break;a(new DataView(s.buffer).getUint32(0,!1)),s=null}let c=Math.min(t-r,u-o);if(n.set(f.slice(o,o+c),r),r+=c,o+=c,t&&t===r)yield n,n=null,t=0,r=0}}};return{[Symbol.asyncIterator]:l}}function ne(e,t){let r=C(t.deserializer,t.toUtf8);return{[Symbol.asyncIterator]:async function*(){for await(let n of e){let s=t.eventStreamCodec.decode(n),a=await r(s);if(a===void 0)continue;yield a}}}}function C(e,t){return async function(r){let{value:n}=r.headers[":message-type"];if(n==="error"){let s=Error(r.headers[":error-message"].value||"UnknownError");throw s.name=r.headers[":error-code"].value,s}else if(n==="exception"){let s=r.headers[":exception-type"].value,a={[s]:r},l=await e(a);if(l.$unknown){let i=Error(t(r.body));throw i.name=s,i}throw l[s]}else if(n==="event"){let s={[r.headers[":event-type"].value]:r},a=await e(s);if(a.$unknown)return;return a}else throw Error(`Unrecognizable event type: ${r.headers[":event-type"].value}`)}}class N{universalMarshaller;constructor({utf8Encoder:e,utf8Decoder:t}){this.universalMarshaller=new O({utf8Decoder:t,utf8Encoder:e})}deserialize(e,t){let r=typeof e[Symbol.asyncIterator]==="function"?e:ie(e);return this.universalMarshaller.deserialize(r,t)}serialize(e,t){return R.Readable.from(this.universalMarshaller.serialize(e,t))}}async function*ie(e){let t=!1,r=!1,n=[];e.on("error",(s)=>{if(!t)t=!0;if(s)throw s}),e.on("data",(s)=>{n.push(s)}),e.on("end",()=>{t=!0});while(!r){let s=await new Promise((a)=>setTimeout(()=>a(n.shift()),0));if(s)yield s;r=t&&n.length===0}}class K{marshaller;serializer;deserializer;serdeContext;defaultContentType;constructor({marshaller:e,serializer:t,deserializer:r,serdeContext:n,defaultContentType:s}){this.marshaller=e,this.serializer=t,this.deserializer=r,this.serdeContext=n,this.defaultContentType=s}async serializeEventStream({eventStream:e,requestSchema:t,initialRequest:r}){let n=this.marshaller,s=t.getEventStreamMember(),a=t.getMemberSchema(s),l=this.serializer,i=this.defaultContentType,f=Symbol("initialRequestMarker"),h={async*[Symbol.asyncIterator](){if(r){let u={":event-type":{type:"string",value:"initial-request"},":message-type":{type:"string",value:"event"},":content-type":{type:"string",value:i}};l.write(t,r);let o=l.flush();yield{[f]:!0,headers:u,body:o}}for await(let u of e)yield u}};return n.serialize(h,(u)=>{if(u[f])return{headers:u.headers,body:u.body};let o="";for(let d in u)if(d!=="__type"){o=d;break}let{additionalHeaders:c,body:m,eventType:y,explicitPayloadContentType:g}=this.writeEventBody(o,a,u);return{headers:{":event-type":{type:"string",value:y},":message-type":{type:"string",value:"event"},":content-type":{type:"string",value:g??i},...c},body:m}})}async deserializeEventStream({response:e,responseSchema:t,initialResponseContainer:r}){let n=this.marshaller,s=t.getEventStreamMember(),l=t.getMemberSchema(s).getMemberSchemas(),i=Symbol("initialResponseMarker"),f=n.deserialize(e.body,async(o)=>{let c="";for(let y in o)if(y!=="__type"){c=y;break}let m=o[c].body;if(c==="initial-response"){let y=await this.deserializer.read(t,m);return delete y[s],{[i]:!0,...y}}else if(c in l){let y=l[c];if(y.isStructSchema()){let g={},w=!1;for(let[d,U]of y.structIterator()){let{eventHeader:$,eventPayload:G}=U.getMergedTraits();if(w=w||Boolean($||G),G){if(U.isBlobSchema())g[d]=m;else if(U.isStringSchema())g[d]=(this.serdeContext?.utf8Encoder??b.toUtf8)(m);else if(U.isStructSchema())g[d]=await this.deserializer.read(U,m)}else if($){let v=o[c].headers[d]?.value;if(v!=null)if(U.isNumericSchema())if(v&&typeof v==="object"&&"bytes"in v)g[d]=BigInt(v.toString());else g[d]=Number(v);else g[d]=v}}if(w)return{[c]:g};if(m.byteLength===0)return{[c]:{}}}return{[c]:await this.deserializer.read(y,m)}}else return{$unknown:o}}),h=f[Symbol.asyncIterator](),u=await h.next();if(u.done)return f;if(u.value?.[i]){if(!t)throw Error("@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.");for(let o in u.value)r[o]=u.value[o]}return{async*[Symbol.asyncIterator](){if(!u?.value?.[i])yield u.value;while(!0){let{done:o,value:c}=await h.next();if(o)break;yield c}}}}writeEventBody(e,t,r){let n=this.serializer,s=e,a=null,l,i=(()=>{return t.getSchema()[4].includes(e)})(),f={};if(!i){let[o,c]=r[e];s=o,n.write(15,c)}else{let o=t.getMemberSchema(e);if(o.isStructSchema()){for(let[c,m]of o.structIterator()){let{eventHeader:y,eventPayload:g}=m.getMergedTraits();if(g)a=c;else if(y){let w=r[e][c],d="binary";if(m.isNumericSchema())if(-2147483648<=w&&w<=2147483647)d="integer";else d="long";else if(m.isTimestampSchema())d="timestamp";else if(m.isStringSchema())d="string";else if(m.isBooleanSchema())d="boolean";if(w!=null)f[c]={type:d,value:w},delete r[e][c]}}if(a!==null){let c=o.getMemberSchema(a);if(c.isBlobSchema())l="application/octet-stream";else if(c.isStringSchema())l="text/plain";n.write(c,r[e][a])}else n.write(o,r[e])}else if(o.isUnitSchema())n.write(o,{});else throw Error("@smithy/core/event-streams - non-struct member not supported in event stream union.")}let h=n.flush()??new Uint8Array;return{body:typeof h==="string"?(this.serdeContext?.utf8Decoder??b.fromUtf8)(h):h,eventType:s,explicitPayloadContentType:l,additionalHeaders:f}}}var j,b,R,L,F="boolean",X="byte",Z="short",V="integer",D="long",E="binary",_="string",Y="timestamp",ee="uuid",te,q=4,p,S=4,re,k,B,T,z,O=class{eventStreamCodec;utfEncoder;constructor({utf8Encoder:t,utf8Decoder:r}){this.eventStreamCodec=new x(t,r),this.utfEncoder=t}deserialize(t,r){let n=H(t);return new T({messageStream:new k({inputStream:n,decoder:this.eventStreamCodec}),deserializer:C(r,this.utfEncoder)})}serialize(t,r){return new B({messageStream:new z({inputStream:t,serializer:r}),encoder:this.eventStreamCodec,includeEndFrame:!0})}},ae=(e)=>new O(e),oe=(e)=>new N(e),ce=(e)=>({[Symbol.asyncIterator]:async function*(){let t=e.getReader();try{while(!0){let{done:r,value:n}=await t.read();if(r)return;yield n}}finally{t.releaseLock()}}}),le=(e)=>{let t=e[Symbol.asyncIterator]();return new ReadableStream({async pull(r){let{done:n,value:s}=await t.next();if(n)return r.close();r.enqueue(s)}})},ue=(e)=>Object.assign(e,{eventStreamMarshaller:e.eventStreamSerdeProvider(e)}),fe,ye,de,me,he,ge,we,be,pe,ve,Se,Ue,Me,Ie,xe,ke,Be,Te;var ze=W(()=>{j=P(),b=Q(),R=J("stream");(function(e){e[e.boolTrue=0]="boolTrue",e[e.boolFalse=1]="boolFalse",e[e.byte=2]="byte",e[e.short=3]="short",e[e.integer=4]="integer",e[e.long=5]="long",e[e.byteArray=6]="byteArray",e[e.string=7]="string",e[e.timestamp=8]="timestamp",e[e.uuid=9]="uuid"})(L||(L={}));te=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,p=q*2,re=p+S*2;k=class k{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.inputStream)yield this.options.decoder.decode(e)}};B=class B{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.messageStream)yield this.options.encoder.encode(e);if(this.options.includeEndFrame)yield new Uint8Array(0)}};T=class T{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.messageStream){let t=await this.options.deserializer(e);if(t===void 0)continue;yield t}}};z=class z{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.inputStream)yield this.options.serializer(e)}};fe=x,ye=N,de=K,me=I,he=M,ge=k,we=B,be=T,pe=z,ve=O,Se=oe,Ue=H,Me=C,Ie=ne,xe=le,ke=ce,Be=ue,Te=ae});ze();export{Te as universalEventStreamSerdeProvider,Be as resolveEventStreamSerdeConfig,ke as readableStreamToIterable,xe as iterableToReadableStream,Ie as getUnmarshalledStream,Me as getMessageUnmarshaller,Ue as getChunkedStream,Se as eventStreamSerdeProvider,ve as UniversalEventStreamMarshaller,pe as SmithyMessageEncoderStream,be as SmithyMessageDecoderStream,we as MessageEncoderStream,ge as MessageDecoderStream,he as Int64,me as HeaderMarshaller,de as EventStreamSerde,ye as EventStreamMarshaller,fe as EventStreamCodec};export default {get universalEventStreamSerdeProvider(){return Te},get resolveEventStreamSerdeConfig(){return Be},get readableStreamToIterable(){return ke},get iterableToReadableStream(){return xe},get getUnmarshalledStream(){return Ie},get getMessageUnmarshaller(){return Me},get getChunkedStream(){return Ue},get eventStreamSerdeProvider(){return Se},get UniversalEventStreamMarshaller(){return ve},get SmithyMessageEncoderStream(){return pe},get SmithyMessageDecoderStream(){return be},get MessageEncoderStream(){return we},get MessageDecoderStream(){return ge},get Int64(){return he},get HeaderMarshaller(){return me},get EventStreamSerde(){return de},get EventStreamMarshaller(){return ye},get EventStreamCodec(){return fe}};
|