@shumai-one/shumai 0.4.8 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/bin/{chunk-qw76wcrb.js → chunk-03bfjh8k.js} +2 -2
  2. package/bin/{chunk-6xqpbkb6.js → chunk-0tf15vee.js} +2 -2
  3. package/bin/{chunk-e333evwr.js → chunk-0vtk7wrf.js} +2 -2
  4. package/bin/{chunk-b93qxjts.js → chunk-0yv0nnmh.js} +2 -2
  5. package/bin/{chunk-pg5mayjc.js → chunk-12npypek.js} +2 -2
  6. package/bin/chunk-13d525jm.js +2 -0
  7. package/bin/{chunk-qrmkkxjh.js → chunk-1k16xsqq.js} +10 -10
  8. package/bin/{chunk-dk2trprj.js → chunk-1yt1gsyy.js} +1 -1
  9. package/bin/{chunk-wqqdy0xb.js → chunk-20anqpf1.js} +2 -2
  10. package/bin/{chunk-tjhbr5ks.js → chunk-2g5qdx4s.js} +1 -1
  11. package/bin/{chunk-0b5s5ge0.js → chunk-31vx01aw.js} +2 -2
  12. package/bin/{chunk-tycap2k9.js → chunk-32japja5.js} +1 -1
  13. package/bin/chunk-35mpp84e.js +2 -0
  14. package/bin/{chunk-d9dmr2vc.js → chunk-36r20sj7.js} +1 -1
  15. package/bin/{chunk-67ewr4j4.js → chunk-3btc8a0p.js} +2 -2
  16. package/bin/{chunk-2y7y60pc.js → chunk-3cvbb6kh.js} +2 -2
  17. package/bin/chunk-3ewmtf1c.js +1 -0
  18. package/bin/chunk-3fjgf7eb.js +3 -0
  19. package/bin/chunk-3xw70yr4.js +2 -0
  20. package/bin/{chunk-1qk4e3j9.js → chunk-3z20b2hz.js} +2 -2
  21. package/bin/{chunk-hed37kyr.js → chunk-3zvvct3r.js} +1 -1
  22. package/bin/{chunk-1zpsbvq9.js → chunk-51h2bgpf.js} +3 -3
  23. package/bin/{chunk-5vvvgjvz.js → chunk-5bpvwv66.js} +2 -2
  24. package/bin/{chunk-4tpkx2ft.js → chunk-5jbx9gqe.js} +1 -1
  25. package/bin/{chunk-vfv27kve.js → chunk-5patxztz.js} +4 -4
  26. package/bin/chunk-5seey9ee.js +2 -0
  27. package/bin/{chunk-251rat7t.js → chunk-5t05jpna.js} +3 -3
  28. package/bin/{chunk-pbq64m5k.js → chunk-5yd9cv7f.js} +5 -5
  29. package/bin/chunk-66hdwm6f.js +2 -0
  30. package/bin/{chunk-mcq3pe4v.js → chunk-6bgbx563.js} +2 -2
  31. package/bin/{chunk-j3qz3wa3.js → chunk-6vvs18bw.js} +1 -1
  32. package/bin/chunk-756mr32b.js +2 -0
  33. package/bin/{chunk-fezar34g.js → chunk-7vd5yajk.js} +5 -5
  34. package/bin/chunk-7wb3dga5.js +2 -0
  35. package/bin/{chunk-tf3hke5h.js → chunk-9h6nn1a3.js} +1 -1
  36. package/bin/chunk-9k86d2a3.js +4 -0
  37. package/bin/chunk-9wk11jtz.js +1 -0
  38. package/bin/chunk-a1crhhzy.js +1 -0
  39. package/bin/chunk-axfwh5et.js +2 -0
  40. package/bin/{chunk-yeb5bcxz.js → chunk-b9j5575n.js} +2 -2
  41. package/bin/chunk-cgsxyw07.js +2 -0
  42. package/bin/{chunk-5pcv139g.js → chunk-cw8z9w5c.js} +2 -2
  43. package/bin/{chunk-4tm9cw4v.js → chunk-czny5thj.js} +2 -2
  44. package/bin/{chunk-jwhgybtg.js → chunk-d7mgjqf8.js} +1 -1
  45. package/bin/{chunk-jgnp68ez.js → chunk-d9btz95y.js} +1 -1
  46. package/bin/chunk-dckdnqc0.js +2 -0
  47. package/bin/chunk-dx0wz749.js +211 -0
  48. package/bin/{chunk-mn9ax7qa.js → chunk-dz33q4v1.js} +2 -2
  49. package/bin/chunk-dz4fdrmk.js +1 -0
  50. package/bin/{chunk-29wjvgwv.js → chunk-e3r1m6rb.js} +1 -1
  51. package/bin/chunk-edjtb7pk.js +2 -0
  52. package/bin/{chunk-j95fjg69.js → chunk-eez1yncf.js} +2 -2
  53. package/bin/{chunk-x33bf3ay.js → chunk-exgtwask.js} +1 -1
  54. package/bin/{chunk-ws216bmf.js → chunk-f22nrm6r.js} +4 -4
  55. package/bin/{chunk-xmn5v64e.js → chunk-fhq5m9ya.js} +2 -2
  56. package/bin/{chunk-gj3vrbkx.js → chunk-fyssg02c.js} +31 -31
  57. package/bin/{chunk-rzannb5e.js → chunk-g8h1e1kh.js} +2 -2
  58. package/bin/{chunk-qje7g7t7.js → chunk-ghjhyajn.js} +2 -2
  59. package/bin/{chunk-9v10mkts.js → chunk-gptzcgte.js} +1 -1
  60. package/bin/{chunk-r8ss8xm1.js → chunk-grsgkkrb.js} +5 -5
  61. package/bin/{chunk-dpn61sht.js → chunk-gy8z8sd7.js} +1 -1
  62. package/bin/{chunk-e3qxpswy.js → chunk-h153xefb.js} +1 -1
  63. package/bin/chunk-h82r29wm.js +129 -0
  64. package/bin/{chunk-ze3msq86.js → chunk-h9x81yp6.js} +1 -1
  65. package/bin/{chunk-b9p9yhky.js → chunk-hr2027z3.js} +8 -8
  66. package/bin/{chunk-7rvyq5gr.js → chunk-hx76pje1.js} +1 -1
  67. package/bin/chunk-hz9stgvn.js +1 -0
  68. package/bin/chunk-hzr8100w.js +3 -0
  69. package/bin/{chunk-4sq35ks7.js → chunk-j3xaq9s3.js} +2 -2
  70. package/bin/{chunk-pbmkewt5.js → chunk-j909v9p5.js} +1 -1
  71. package/bin/chunk-jb6d142z.js +1 -0
  72. package/bin/chunk-k9cgfzgk.js +3 -0
  73. package/bin/{chunk-zhx4vsgt.js → chunk-kgfa5y9w.js} +10 -10
  74. package/bin/{chunk-1ymyhrh2.js → chunk-kzsdp31a.js} +2 -2
  75. package/bin/{chunk-9ht2kr33.js → chunk-m1xc3t0p.js} +7 -7
  76. package/bin/{chunk-wdbew0hx.js → chunk-m7dp8rqv.js} +1 -1
  77. package/bin/{chunk-0jaj2807.js → chunk-m9sp00a9.js} +4 -4
  78. package/bin/{chunk-qn37fsy3.js → chunk-mcd7zas7.js} +2 -2
  79. package/bin/chunk-meyvvmgk.js +1 -0
  80. package/bin/{chunk-y4pe65d1.js → chunk-mqr096rn.js} +1 -1
  81. package/bin/{chunk-ybnykjsg.js → chunk-mt532a33.js} +1 -1
  82. package/bin/{chunk-twx715xf.js → chunk-myd3wg9a.js} +2 -2
  83. package/bin/chunk-n1b3pt17.js +14 -0
  84. package/bin/chunk-n5v48hz5.js +2 -0
  85. package/bin/{chunk-65ets3f0.js → chunk-p5v22g5n.js} +2 -2
  86. package/bin/chunk-phzemmmy.js +2 -0
  87. package/bin/{chunk-w53gqdnw.js → chunk-q5mkbnr9.js} +2 -2
  88. package/bin/chunk-qhzat67w.js +2 -0
  89. package/bin/{chunk-7nv7r7zx.js → chunk-r1m4q8vw.js} +1 -1
  90. package/bin/{chunk-jhxcm88f.js → chunk-r5rpdhed.js} +2 -2
  91. package/bin/{chunk-v6tjp5qt.js → chunk-r6gkv98n.js} +6 -6
  92. package/bin/{chunk-s26a26h3.js → chunk-rkq6jvhb.js} +3 -3
  93. package/bin/{chunk-drpdjxmw.js → chunk-rn9rktp4.js} +5 -5
  94. package/bin/{chunk-dscq4a4k.js → chunk-rq2h2bwt.js} +2 -2
  95. package/bin/{chunk-dp1mrw7m.js → chunk-sg7n2g3z.js} +1 -1
  96. package/bin/chunk-smcn7ep7.js +2 -0
  97. package/bin/{chunk-p706vjvr.js → chunk-tcat7q9p.js} +2 -2
  98. package/bin/chunk-tf8q7h6b.js +1 -0
  99. package/bin/{chunk-6t5r26bm.js → chunk-trndqdaa.js} +1 -1
  100. package/bin/chunk-tvr5rm1g.js +1 -0
  101. package/bin/chunk-ty88m3yg.js +2 -0
  102. package/bin/chunk-v2x9915x.js +1 -0
  103. package/bin/{chunk-fnca3xqw.js → chunk-v42jcex0.js} +4 -4
  104. package/bin/{chunk-pq3pyrvy.js → chunk-vbbn4hth.js} +1 -1
  105. package/bin/chunk-vnk2p7mq.css +1 -0
  106. package/bin/{chunk-r7e2fmmx.js → chunk-wkxm6yny.js} +2 -2
  107. package/bin/{chunk-t2sqtc9p.js → chunk-wydd7sz7.js} +2 -2
  108. package/bin/chunk-x8hky9td.js +1 -0
  109. package/bin/{chunk-frma9pgq.js → chunk-xvdd04gy.js} +1 -1
  110. package/bin/{chunk-ht64xpjp.js → chunk-y03z5rrg.js} +3 -3
  111. package/bin/chunk-y12ah7c6.js +1 -0
  112. package/bin/chunk-y7jz31ay.js +1 -0
  113. package/bin/chunk-ydk3edsw.js +1 -0
  114. package/bin/{chunk-6h76kqv2.js → chunk-yfe6hkzk.js} +3 -3
  115. package/bin/{chunk-afsm0ct9.js → chunk-z1r86fna.js} +2 -2
  116. package/bin/{chunk-bcjkapyp.js → chunk-z8mmqfm4.js} +1 -1
  117. package/bin/chunk-zbma2zeh.js +1 -0
  118. package/bin/{chunk-45mheqnm.js → chunk-zcrtr8qd.js} +2 -2
  119. package/bin/{chunk-czwpfv0w.js → chunk-zfqz72sd.js} +1 -1
  120. package/bin/{chunk-nradb5py.js → chunk-zhe16jvg.js} +1 -1
  121. package/bin/{chunk-75x3b8ds.js → chunk-zwb9kamp.js} +2 -2
  122. package/bin/shumai-app.html +1 -1
  123. package/bin/shumai-app.js +572 -321
  124. package/package.json +9 -8
  125. package/prisma/migrations/20260927092537_add_notification_email_status/migration.sql +11 -0
  126. package/prisma/migrations/20261001015042_migrate_video_strategy_multi_and_resolutions/migration.sql +16 -0
  127. package/prisma/migrations/20261002104921_add_asset_status_failed/migration.sql +2 -0
  128. package/prisma/schema.prisma +11 -0
  129. package/bin/chunk-07pgpftg.js +0 -14
  130. package/bin/chunk-1y7nvhgx.js +0 -3
  131. package/bin/chunk-2ftmxhr5.js +0 -2
  132. package/bin/chunk-2kxhdnma.js +0 -3
  133. package/bin/chunk-3rjdkmhb.js +0 -2
  134. package/bin/chunk-43dzhk24.js +0 -211
  135. package/bin/chunk-55n569j1.js +0 -1
  136. package/bin/chunk-6jaf9hxa.js +0 -1
  137. package/bin/chunk-6vst0k0k.js +0 -2
  138. package/bin/chunk-7hxd4st0.js +0 -1
  139. package/bin/chunk-9kb55e6b.js +0 -1
  140. package/bin/chunk-bbk5v964.js +0 -1
  141. package/bin/chunk-bcqhjbpy.js +0 -2
  142. package/bin/chunk-bxksbrcm.js +0 -1
  143. package/bin/chunk-c1a1srsw.js +0 -2
  144. package/bin/chunk-c7yxnyep.js +0 -1
  145. package/bin/chunk-da4fd4f8.js +0 -2
  146. package/bin/chunk-dmewtzbe.js +0 -1
  147. package/bin/chunk-faaqparg.js +0 -2
  148. package/bin/chunk-g82qnxw6.js +0 -2
  149. package/bin/chunk-gc6m7agb.js +0 -3
  150. package/bin/chunk-j6ptdqp9.js +0 -2
  151. package/bin/chunk-kdg245g7.js +0 -1
  152. package/bin/chunk-mg4p33eg.js +0 -2
  153. package/bin/chunk-mrdznst9.js +0 -1
  154. package/bin/chunk-msg8j3hj.css +0 -1
  155. package/bin/chunk-n4f1he1g.js +0 -4
  156. package/bin/chunk-nsvfcp3f.js +0 -1
  157. package/bin/chunk-nx782n1x.js +0 -2
  158. package/bin/chunk-p4hwyysm.js +0 -2
  159. package/bin/chunk-qw4v0qdg.js +0 -1
  160. package/bin/chunk-rvj965cr.js +0 -1
  161. package/bin/chunk-sf9ezxgy.js +0 -2
  162. package/bin/chunk-twwpbp8d.js +0 -2
  163. package/bin/chunk-v3yfee88.js +0 -2
  164. package/bin/chunk-vq24vj88.js +0 -1
  165. package/bin/chunk-x79scans.js +0 -299
  166. package/bin/chunk-xktxk53n.js +0 -1
  167. package/bin/chunk-yvz2b957.js +0 -2
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{qa,Yt}from"./chunk-4sq35ks7.js";function C(e,t){return{role:"assistant",content:[],api:e.api,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"error",errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}function P(e){return typeof e.result==="function"}async function S(e,t){for await(let r of t)e.push(r);e.end(P(t)?await t.result():void 0)}function y(e,t){let r=new Yt;return t().then((n)=>S(r,n)).catch((n)=>{let a=C(e,n);r.push({type:"error",reason:"error",error:a}),r.end(a)}),r}function qr(e){return{stream:(t,r,n)=>y(t,async()=>(await e()).stream(t,r,n)),streamSimple:(t,r,n)=>y(t,async()=>(await e()).streamSimple(t,r,n))}}var K=function(e,t){if(typeof e==="string"&&/^\.\.?\//.test(e))return e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(r,n,a,s,i){return n?t?".jsx":".js":a&&(!s||!i)?r:a+s+"."+i.toLowerCase()+"js"});return e},x=(e)=>import(K(e));function b(){return globalThis.process?.env}function A(){return{async env(e){let t=b()?.[e];return typeof t==="string"&&t.trim().length>0?t:void 0},async fileExists(e){try{let t=await x("node:fs/promises"),r=e;if(r.startsWith("~"))r=(await x("node:os")).homedir()+r.slice(1);return await t.access(r),!0}catch{return!1}}}}class _c{credentials=new Map;chains=new Map;enqueue(e,t){let r=this.chains.get(e)??Promise.resolve(),n=(async()=>(await r.catch(()=>{}),t()))();return this.chains.set(e,n.catch(()=>{})),n}async read(e){return this.credentials.get(e)}async list(){return[...this.credentials].map(([e,t])=>({providerId:e,type:t.type}))}modify(e,t){return this.enqueue(e,async()=>{let r=this.credentials.get(e),n=await t(r);if(n!==void 0)this.credentials.set(e,n);return n??r})}delete(e){return this.enqueue(e,async()=>{this.credentials.delete(e)})}}class u extends Error{code;constructor(e,t,r){super(q(t,r?.cause),r);this.name="ModelsError",this.code=e}}function q(e,t){if(t===void 0||t===null)return e;let r=qa(t).trim();if(!r||e.includes(r))return e;return`${e}: ${r}`}async function v(e,t,r,n){let a=n?.env?E(r,n.env):r;if(n?.apiKey!==void 0&&e.auth.apiKey)return m(a,e.auth.apiKey,e.id,{type:"api_key",key:n.apiKey,env:n.env});let s=await _(t,e.id);if(s){if(s.type==="oauth"&&e.auth.oauth)return R(t,e.id,e.auth.oauth,s);if(s.type==="api_key"&&e.auth.apiKey){let i=n?.env?{...s,env:{...s.env,...n.env}}:s;return m(a,e.auth.apiKey,e.id,i)}return}return e.auth.apiKey?m(a,e.auth.apiKey,e.id,void 0):void 0}function E(e,t){return{env:async(r)=>t[r]||await e.env(r),fileExists:(r)=>e.fileExists(r)}}async function R(e,t,r,n){let a=n;if(Date.now()>=a.expires){let s;try{s=await e.modify(t,async(i)=>{if(i?.type!=="oauth")return;if(Date.now()<i.expires)return;try{return await r.refresh(i)}catch(c){throw new u("oauth",`OAuth refresh failed for ${t}`,{cause:c})}})}catch(i){if(i instanceof u)throw i;throw new u("auth",`Credential store modify failed for ${t}`,{cause:i})}if(s?.type!=="oauth")return;a=s}try{return{auth:await r.toAuth(a),source:"OAuth"}}catch(s){throw new u("oauth",`OAuth auth derivation failed for ${t}`,{cause:s})}}async function m(e,t,r,n){try{return await t.resolve({ctx:e,credential:n})}catch(a){throw new u("auth",`API key auth failed for provider ${r}`,{cause:a})}}async function _(e,t){try{return await e.read(t)}catch(r){throw new u("auth",`Credential store read failed for ${t}`,{cause:r})}}class g{entries=new Map;async read(e){let t=this.entries.get(e);return t?structuredClone(t):void 0}async write(e,t){this.entries.set(e,structuredClone(t))}async delete(e){this.entries.delete(e)}}function k(e,t){if(!e&&!t)return;let r={...e};for(let[n,a]of Object.entries(t??{})){let s=n.toLowerCase();for(let i of Object.keys(r))if(i.toLowerCase()===s)delete r[i];r[n]=a}return r}class M{providers=new Map;credentials;modelsStore;authContext;constructor(e){this.credentials=e?.credentials??new _c,this.modelsStore=e?.modelsStore??new g,this.authContext=e?.authContext??A()}setProvider(e){this.providers.set(e.id,e)}deleteProvider(e){this.providers.delete(e)}clearProviders(){this.providers.clear()}getProviders(){return Array.from(this.providers.values())}getProvider(e){return this.providers.get(e)}getModels(e){if(e!==void 0){let r=this.providers.get(e);if(!r)return[];try{return r.getModels()}catch{return[]}}let t=[];for(let r of this.providers.values())try{t.push(...r.getModels())}catch{}return t}getModel(e,t){return this.getModels(e).find((r)=>r.id===t)}async refresh(e={}){let t=e.allowNetwork??!0,r=new Map,n=Array.from(this.providers.values()).filter((a)=>a.refreshModels!==void 0);return await Promise.all(n.map(async(a)=>{if(e.signal?.aborted)return;let s={read:()=>this.modelsStore.read(a.id),write:(c)=>this.modelsStore.write(a.id,c),delete:()=>this.modelsStore.delete(a.id)},i;try{i=await this.readCredential(a.id);let c=await this.resolveRefreshCredential(a,i,t,e.signal);if(!c)return;await a.refreshModels({credential:c,store:s,allowNetwork:t,force:e.force,signal:e.signal})}catch(c){if(!e.signal?.aborted)r.set(a.id,c instanceof Error?c:new u("model_source",`Model refresh failed for ${a.id}`,{cause:c}));try{await a.refreshModels({credential:i,store:s,allowNetwork:!1,signal:e.signal})}catch{}}})),{aborted:e.signal?.aborted??!1,errors:r}}async resolveRefreshCredential(e,t,r,n){if(t?.type==="oauth"){let c=e.auth.oauth;if(!c)return;if(!r||Date.now()<t.expires)return t;if(n?.aborted)return;let p=await this.credentials.modify(e.id,async(l)=>{if(l?.type!=="oauth"||Date.now()<l.expires)return;return c.refresh(l,n)});return p?.type==="oauth"?p:void 0}let a=e.auth.apiKey;if(!a)return;let s=t?.type==="api_key"?t:void 0,i=await a.resolve({ctx:this.authContext,credential:s});if(!i)return;return{type:"api_key",key:i.auth.apiKey,env:i.env}}async readCredential(e){try{return await this.credentials.read(e)}catch(t){throw new u("auth",`Credential store read failed for ${e}`,{cause:t})}}async checkProviderAuth(e,t){if(t?.type==="oauth")return e.auth.oauth?{source:"OAuth",type:"oauth"}:void 0;let r=e.auth.apiKey;if(!r)return;if(r.check)try{return await r.check({ctx:this.authContext,credential:t?.type==="api_key"?t:void 0})}catch(a){throw new u("auth",`API key auth check failed for provider ${e.id}`,{cause:a})}let n=await v(e,this.credentials,this.authContext);return n?{source:n.source,type:"api_key"}:void 0}async checkAuth(e){let t=this.providers.get(e);if(!t)return;return this.checkProviderAuth(t,await this.readCredential(e))}async getAvailable(e){let t=e?[this.providers.get(e)].filter((n)=>n!==void 0):this.getProviders();return(await Promise.all(t.map(async(n)=>{let a=await this.readCredential(n.id);return{provider:n,credential:a,auth:await this.checkProviderAuth(n,a)}}))).flatMap(({provider:n,credential:a,auth:s})=>{if(!s)return[];let i=n.getModels();return n.filterModels?.(i,a)??i})}async getAuth(e,t){let r=typeof e==="string"?e:e.provider,n=this.providers.get(r);if(!n)return;let a=await v(n,this.credentials,this.authContext,t);if(!a||typeof e==="string"||!e.headers)return a;return{...a,auth:{...a.auth,headers:k(a.auth.headers,e.headers)}}}async login(e,t,r){let n=this.providers.get(e);if(!n)throw new u("provider",`Unknown provider: ${e}`);let a=t==="oauth"?n.auth.oauth:n.auth.apiKey;if(!a?.login)throw new u("auth",`${n.name} does not support ${t} login`);let s=await a.login(r);try{await this.credentials.modify(e,async()=>s)}catch(i){throw new u("auth",`Credential store modify failed for ${e}`,{cause:i})}return s}async logout(e){try{await this.credentials.delete(e)}catch(t){throw new u("auth",`Credential store delete failed for ${e}`,{cause:t})}}requireProvider(e){let t=this.providers.get(e.provider);if(!t)throw new u("provider",`Unknown provider: ${e.provider}`);return t}async applyAuth(e,t){this.requireProvider(e);let r=await this.getAuth(e,{apiKey:t?.apiKey,env:t?.env});if(!r)throw new u("auth",`Provider is not configured: ${e.provider}`);let n=r.auth,a=t?.apiKey??n.apiKey,s=k(n.headers,t?.headers);if(t?.transformHeaders)s=await t.transformHeaders(s??{});let i=r.env||t?.env?{...r.env??{},...t?.env??{}}:void 0,c=n.baseUrl?{...e,baseUrl:n.baseUrl}:e,{transformHeaders:p,...l}=t??{},o={...l,apiKey:a,headers:s,env:i};return{requestModel:c,requestOptions:o}}stream(e,t,r){return y(e,async()=>{let n=this.requireProvider(e),{requestModel:a,requestOptions:s}=await this.applyAuth(e,r);return n.stream(a,t,s)})}async complete(e,t,r){return this.stream(e,t,r).result()}streamSimple(e,t,r){return y(e,async()=>{let n=this.requireProvider(e),{requestModel:a,requestOptions:s}=await this.applyAuth(e,r);return n.streamSimple(a,t,s)})}async completeSimple(e,t,r){return this.streamSimple(e,t,r).result()}}function mm(e){return new M(e)}function ye(e){let t=e.models,r=[],n,a=e.fetchModels,s=()=>{let o=[...t];for(let h of r){let d=o.findIndex((f)=>f.id===h.id);if(d>=0)o[d]=h;else o.push(h)}return o},i=typeof e.api.stream==="function"?e.api:void 0,c=i?void 0:e.api,p=(o)=>i??c?.[o.api],l=(o,h)=>{let d=p(o);if(!d)return y(o,async()=>{throw new u("stream",`Provider ${e.id} has no API implementation for "${o.api}"`)});return h(d)};return{id:e.id,name:e.name??e.id,baseUrl:e.baseUrl,headers:e.headers,auth:e.auth,getModels:s,refreshModels:a?(o)=>(n??=(async()=>{try{let h=await o.store.read();if(h)r=h.models.filter((f)=>f.provider===e.id).map((f)=>f);if(!o.allowNetwork||o.signal?.aborted)return;let d=await a(o);if(o.signal?.aborted)return;r=d,await o.store.write({models:d,checkedAt:Date.now()})}finally{n=void 0}})(),n):void 0,filterModels:e.filterModels,stream:(o,h,d)=>l(o,(f)=>f.stream(o,h,d)),streamSimple:(o,h,d)=>l(o,(f)=>f.streamSimple(o,h,d))}}function cn(e,t){let r=t.input+t.cacheRead+t.cacheWrite,n=e.cost,a=-1;for(let c of e.cost.tiers??[])if(r>c.inputTokensAbove&&c.inputTokensAbove>a)n=c,a=c.inputTokensAbove;let s=t.cacheWrite1h??0,i=t.cacheWrite-s;return t.cost.input=n.input/1e6*t.input,t.cost.output=n.output/1e6*t.output,t.cost.cacheRead=n.cacheRead/1e6*t.cacheRead,t.cost.cacheWrite=(n.cacheWrite*i+n.input*2*s)/1e6,t.cost.total=t.cost.input+t.cost.output+t.cost.cacheRead+t.cost.cacheWrite,t.cost}var w=["off","minimal","low","medium","high","xhigh","max"];function T(e){if(!e.reasoning)return["off"];return w.filter((t)=>{let r=e.thinkingLevelMap?.[t];if(r===null)return!1;if(t==="xhigh"||t==="max")return r!==void 0;return!0})}function Hr(e,t){let r=T(e);if(r.includes(t))return t;let n=w.indexOf(t);if(n===-1)return r[0]??"off";for(let a=n;a<w.length;a++){let s=w[a];if(r.includes(s))return s}for(let a=n-1;a>=0;a--){let s=w[a];if(r.includes(s))return s}return r[0]??"off"}
3
- export{_c,qr,mm,ye,cn,Hr};
2
+ import{Vi,Jt}from"./chunk-j3xaq9s3.js";function C(e,t){return{role:"assistant",content:[],api:e.api,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"error",errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}function P(e){return typeof e.result==="function"}async function S(e,t){for await(let r of t)e.push(r);e.end(P(t)?await t.result():void 0)}function y(e,t){let r=new Jt;return t().then((n)=>S(r,n)).catch((n)=>{let a=C(e,n);r.push({type:"error",reason:"error",error:a}),r.end(a)}),r}function Hr(e){return{stream:(t,r,n)=>y(t,async()=>(await e()).stream(t,r,n)),streamSimple:(t,r,n)=>y(t,async()=>(await e()).streamSimple(t,r,n))}}var K=function(e,t){if(typeof e==="string"&&/^\.\.?\//.test(e))return e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(r,n,a,s,i){return n?t?".jsx":".js":a&&(!s||!i)?r:a+s+"."+i.toLowerCase()+"js"});return e},x=(e)=>import(K(e));function b(){return globalThis.process?.env}function A(){return{async env(e){let t=b()?.[e];return typeof t==="string"&&t.trim().length>0?t:void 0},async fileExists(e){try{let t=await x("node:fs/promises"),r=e;if(r.startsWith("~"))r=(await x("node:os")).homedir()+r.slice(1);return await t.access(r),!0}catch{return!1}}}}class wc{credentials=new Map;chains=new Map;enqueue(e,t){let r=this.chains.get(e)??Promise.resolve(),n=(async()=>(await r.catch(()=>{}),t()))();return this.chains.set(e,n.catch(()=>{})),n}async read(e){return this.credentials.get(e)}async list(){return[...this.credentials].map(([e,t])=>({providerId:e,type:t.type}))}modify(e,t){return this.enqueue(e,async()=>{let r=this.credentials.get(e),n=await t(r);if(n!==void 0)this.credentials.set(e,n);return n??r})}delete(e){return this.enqueue(e,async()=>{this.credentials.delete(e)})}}class u extends Error{code;constructor(e,t,r){super(q(t,r?.cause),r);this.name="ModelsError",this.code=e}}function q(e,t){if(t===void 0||t===null)return e;let r=Vi(t).trim();if(!r||e.includes(r))return e;return`${e}: ${r}`}async function v(e,t,r,n){let a=n?.env?E(r,n.env):r;if(n?.apiKey!==void 0&&e.auth.apiKey)return m(a,e.auth.apiKey,e.id,{type:"api_key",key:n.apiKey,env:n.env});let s=await _(t,e.id);if(s){if(s.type==="oauth"&&e.auth.oauth)return R(t,e.id,e.auth.oauth,s);if(s.type==="api_key"&&e.auth.apiKey){let i=n?.env?{...s,env:{...s.env,...n.env}}:s;return m(a,e.auth.apiKey,e.id,i)}return}return e.auth.apiKey?m(a,e.auth.apiKey,e.id,void 0):void 0}function E(e,t){return{env:async(r)=>t[r]||await e.env(r),fileExists:(r)=>e.fileExists(r)}}async function R(e,t,r,n){let a=n;if(Date.now()>=a.expires){let s;try{s=await e.modify(t,async(i)=>{if(i?.type!=="oauth")return;if(Date.now()<i.expires)return;try{return await r.refresh(i)}catch(c){throw new u("oauth",`OAuth refresh failed for ${t}`,{cause:c})}})}catch(i){if(i instanceof u)throw i;throw new u("auth",`Credential store modify failed for ${t}`,{cause:i})}if(s?.type!=="oauth")return;a=s}try{return{auth:await r.toAuth(a),source:"OAuth"}}catch(s){throw new u("oauth",`OAuth auth derivation failed for ${t}`,{cause:s})}}async function m(e,t,r,n){try{return await t.resolve({ctx:e,credential:n})}catch(a){throw new u("auth",`API key auth failed for provider ${r}`,{cause:a})}}async function _(e,t){try{return await e.read(t)}catch(r){throw new u("auth",`Credential store read failed for ${t}`,{cause:r})}}class g{entries=new Map;async read(e){let t=this.entries.get(e);return t?structuredClone(t):void 0}async write(e,t){this.entries.set(e,structuredClone(t))}async delete(e){this.entries.delete(e)}}function k(e,t){if(!e&&!t)return;let r={...e};for(let[n,a]of Object.entries(t??{})){let s=n.toLowerCase();for(let i of Object.keys(r))if(i.toLowerCase()===s)delete r[i];r[n]=a}return r}class M{providers=new Map;credentials;modelsStore;authContext;constructor(e){this.credentials=e?.credentials??new wc,this.modelsStore=e?.modelsStore??new g,this.authContext=e?.authContext??A()}setProvider(e){this.providers.set(e.id,e)}deleteProvider(e){this.providers.delete(e)}clearProviders(){this.providers.clear()}getProviders(){return Array.from(this.providers.values())}getProvider(e){return this.providers.get(e)}getModels(e){if(e!==void 0){let r=this.providers.get(e);if(!r)return[];try{return r.getModels()}catch{return[]}}let t=[];for(let r of this.providers.values())try{t.push(...r.getModels())}catch{}return t}getModel(e,t){return this.getModels(e).find((r)=>r.id===t)}async refresh(e={}){let t=e.allowNetwork??!0,r=new Map,n=Array.from(this.providers.values()).filter((a)=>a.refreshModels!==void 0);return await Promise.all(n.map(async(a)=>{if(e.signal?.aborted)return;let s={read:()=>this.modelsStore.read(a.id),write:(c)=>this.modelsStore.write(a.id,c),delete:()=>this.modelsStore.delete(a.id)},i;try{i=await this.readCredential(a.id);let c=await this.resolveRefreshCredential(a,i,t,e.signal);if(!c)return;await a.refreshModels({credential:c,store:s,allowNetwork:t,force:e.force,signal:e.signal})}catch(c){if(!e.signal?.aborted)r.set(a.id,c instanceof Error?c:new u("model_source",`Model refresh failed for ${a.id}`,{cause:c}));try{await a.refreshModels({credential:i,store:s,allowNetwork:!1,signal:e.signal})}catch{}}})),{aborted:e.signal?.aborted??!1,errors:r}}async resolveRefreshCredential(e,t,r,n){if(t?.type==="oauth"){let c=e.auth.oauth;if(!c)return;if(!r||Date.now()<t.expires)return t;if(n?.aborted)return;let p=await this.credentials.modify(e.id,async(l)=>{if(l?.type!=="oauth"||Date.now()<l.expires)return;return c.refresh(l,n)});return p?.type==="oauth"?p:void 0}let a=e.auth.apiKey;if(!a)return;let s=t?.type==="api_key"?t:void 0,i=await a.resolve({ctx:this.authContext,credential:s});if(!i)return;return{type:"api_key",key:i.auth.apiKey,env:i.env}}async readCredential(e){try{return await this.credentials.read(e)}catch(t){throw new u("auth",`Credential store read failed for ${e}`,{cause:t})}}async checkProviderAuth(e,t){if(t?.type==="oauth")return e.auth.oauth?{source:"OAuth",type:"oauth"}:void 0;let r=e.auth.apiKey;if(!r)return;if(r.check)try{return await r.check({ctx:this.authContext,credential:t?.type==="api_key"?t:void 0})}catch(a){throw new u("auth",`API key auth check failed for provider ${e.id}`,{cause:a})}let n=await v(e,this.credentials,this.authContext);return n?{source:n.source,type:"api_key"}:void 0}async checkAuth(e){let t=this.providers.get(e);if(!t)return;return this.checkProviderAuth(t,await this.readCredential(e))}async getAvailable(e){let t=e?[this.providers.get(e)].filter((n)=>n!==void 0):this.getProviders();return(await Promise.all(t.map(async(n)=>{let a=await this.readCredential(n.id);return{provider:n,credential:a,auth:await this.checkProviderAuth(n,a)}}))).flatMap(({provider:n,credential:a,auth:s})=>{if(!s)return[];let i=n.getModels();return n.filterModels?.(i,a)??i})}async getAuth(e,t){let r=typeof e==="string"?e:e.provider,n=this.providers.get(r);if(!n)return;let a=await v(n,this.credentials,this.authContext,t);if(!a||typeof e==="string"||!e.headers)return a;return{...a,auth:{...a.auth,headers:k(a.auth.headers,e.headers)}}}async login(e,t,r){let n=this.providers.get(e);if(!n)throw new u("provider",`Unknown provider: ${e}`);let a=t==="oauth"?n.auth.oauth:n.auth.apiKey;if(!a?.login)throw new u("auth",`${n.name} does not support ${t} login`);let s=await a.login(r);try{await this.credentials.modify(e,async()=>s)}catch(i){throw new u("auth",`Credential store modify failed for ${e}`,{cause:i})}return s}async logout(e){try{await this.credentials.delete(e)}catch(t){throw new u("auth",`Credential store delete failed for ${e}`,{cause:t})}}requireProvider(e){let t=this.providers.get(e.provider);if(!t)throw new u("provider",`Unknown provider: ${e.provider}`);return t}async applyAuth(e,t){this.requireProvider(e);let r=await this.getAuth(e,{apiKey:t?.apiKey,env:t?.env});if(!r)throw new u("auth",`Provider is not configured: ${e.provider}`);let n=r.auth,a=t?.apiKey??n.apiKey,s=k(n.headers,t?.headers);if(t?.transformHeaders)s=await t.transformHeaders(s??{});let i=r.env||t?.env?{...r.env??{},...t?.env??{}}:void 0,c=n.baseUrl?{...e,baseUrl:n.baseUrl}:e,{transformHeaders:p,...l}=t??{},o={...l,apiKey:a,headers:s,env:i};return{requestModel:c,requestOptions:o}}stream(e,t,r){return y(e,async()=>{let n=this.requireProvider(e),{requestModel:a,requestOptions:s}=await this.applyAuth(e,r);return n.stream(a,t,s)})}async complete(e,t,r){return this.stream(e,t,r).result()}streamSimple(e,t,r){return y(e,async()=>{let n=this.requireProvider(e),{requestModel:a,requestOptions:s}=await this.applyAuth(e,r);return n.streamSimple(a,t,s)})}async completeSimple(e,t,r){return this.streamSimple(e,t,r).result()}}function bm(e){return new M(e)}function ye(e){let t=e.models,r=[],n,a=e.fetchModels,s=()=>{let o=[...t];for(let h of r){let d=o.findIndex((f)=>f.id===h.id);if(d>=0)o[d]=h;else o.push(h)}return o},i=typeof e.api.stream==="function"?e.api:void 0,c=i?void 0:e.api,p=(o)=>i??c?.[o.api],l=(o,h)=>{let d=p(o);if(!d)return y(o,async()=>{throw new u("stream",`Provider ${e.id} has no API implementation for "${o.api}"`)});return h(d)};return{id:e.id,name:e.name??e.id,baseUrl:e.baseUrl,headers:e.headers,auth:e.auth,getModels:s,refreshModels:a?(o)=>(n??=(async()=>{try{let h=await o.store.read();if(h)r=h.models.filter((f)=>f.provider===e.id).map((f)=>f);if(!o.allowNetwork||o.signal?.aborted)return;let d=await a(o);if(o.signal?.aborted)return;r=d,await o.store.write({models:d,checkedAt:Date.now()})}finally{n=void 0}})(),n):void 0,filterModels:e.filterModels,stream:(o,h,d)=>l(o,(f)=>f.stream(o,h,d)),streamSimple:(o,h,d)=>l(o,(f)=>f.streamSimple(o,h,d))}}function mn(e,t){let r=t.input+t.cacheRead+t.cacheWrite,n=e.cost,a=-1;for(let c of e.cost.tiers??[])if(r>c.inputTokensAbove&&c.inputTokensAbove>a)n=c,a=c.inputTokensAbove;let s=t.cacheWrite1h??0,i=t.cacheWrite-s;return t.cost.input=n.input/1e6*t.input,t.cost.output=n.output/1e6*t.output,t.cost.cacheRead=n.cacheRead/1e6*t.cacheRead,t.cost.cacheWrite=(n.cacheWrite*i+n.input*2*s)/1e6,t.cost.total=t.cost.input+t.cost.output+t.cost.cacheRead+t.cost.cacheWrite,t.cost}var w=["off","minimal","low","medium","high","xhigh","max"];function T(e){if(!e.reasoning)return["off"];return w.filter((t)=>{let r=e.thinkingLevelMap?.[t];if(r===null)return!1;if(t==="xhigh"||t==="max")return r!==void 0;return!0})}function $r(e,t){let r=T(e);if(r.includes(t))return t;let n=w.indexOf(t);if(n===-1)return r[0]??"off";for(let a=n;a<w.length;a++){let s=w[a];if(r.includes(s))return s}for(let a=n-1;a>=0;a--){let s=w[a];if(r.includes(s))return s}return r[0]??"off"}
3
+ export{wc,Hr,bm,ye,mn,$r};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{ws,Kl,pi,Wl,mi,Yl,Jl,Xl,ec,tc}from"./chunk-b9p9yhky.js";import{cr}from"./chunk-7nv7r7zx.js";import{wn,xn}from"./chunk-qgkbxw1k.js";import{qe,Cr}from"./chunk-45mheqnm.js";import{Ba}from"./chunk-gc6m7agb.js";import{cn,Hr}from"./chunk-afsm0ct9.js";import{Yt}from"./chunk-4sq35ks7.js";var y="v1",E="gcp-vertex-credentials",T={THINKING_LEVEL_UNSPECIFIED:ws.THINKING_LEVEL_UNSPECIFIED,MINIMAL:ws.MINIMAL,LOW:ws.LOW,MEDIUM:ws.MEDIUM,HIGH:ws.HIGH},_=0,m=(e,t,n)=>{let o=new Yt;return(async()=>{let i={role:"assistant",content:[],api:"google-vertex",provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{let u=S(n),s=u?v(e,u,n?.headers):b(e,A(n),P(n),n?.headers,n?.env),h=N(e,t,n),g=await n?.onPayload?.(h,e);if(g!==void 0)h=g;let x=await s.models.generateContentStream(h);o.push({type:"start",partial:i});let r=null,I=i.content,l=()=>I.length-1;for await(let c of x){i.responseId||=c.responseId;let p=c.candidates?.[0];if(p?.content?.parts)for(let a of p.content.parts){if(a.text!==void 0){let d=Wl(a);if(!r||d&&r.type!=="thinking"||!d&&r.type!=="text"){if(r)if(r.type==="text")o.push({type:"text_end",contentIndex:I.length-1,content:r.text,partial:i});else o.push({type:"thinking_end",contentIndex:l(),content:r.thinking,partial:i});if(d)r={type:"thinking",thinking:"",thinkingSignature:void 0},i.content.push(r),o.push({type:"thinking_start",contentIndex:l(),partial:i});else r={type:"text",text:""},i.content.push(r),o.push({type:"text_start",contentIndex:l(),partial:i})}if(r.type==="thinking")r.thinking+=a.text,r.thinkingSignature=mi(r.thinkingSignature,a.thoughtSignature),o.push({type:"thinking_delta",contentIndex:l(),delta:a.text,partial:i});else r.text+=a.text,r.textSignature=mi(r.textSignature,a.thoughtSignature),o.push({type:"text_delta",contentIndex:l(),delta:a.text,partial:i})}if(a.functionCall){if(r){if(r.type==="text")o.push({type:"text_end",contentIndex:l(),content:r.text,partial:i});else o.push({type:"thinking_end",contentIndex:l(),content:r.thinking,partial:i});r=null}let d=a.functionCall.id,f={type:"toolCall",id:!d||i.content.some((C)=>C.type==="toolCall"&&C.id===d)?`${a.functionCall.name}_${Date.now()}_${++_}`:d,name:a.functionCall.name||"",arguments:a.functionCall.args??{},...a.thoughtSignature&&{thoughtSignature:a.thoughtSignature}};i.content.push(f),o.push({type:"toolcall_start",contentIndex:l(),partial:i}),o.push({type:"toolcall_delta",contentIndex:l(),delta:JSON.stringify(f.arguments),partial:i}),o.push({type:"toolcall_end",contentIndex:l(),toolCall:f,partial:i})}}if(p?.finishReason){if(i.stopReason=tc(p.finishReason),i.content.some((a)=>a.type==="toolCall"))i.stopReason="toolUse"}if(c.usageMetadata)i.usage={input:(c.usageMetadata.promptTokenCount||0)-(c.usageMetadata.cachedContentTokenCount||0),output:(c.usageMetadata.candidatesTokenCount||0)+(c.usageMetadata.thoughtsTokenCount||0),cacheRead:c.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,reasoning:c.usageMetadata.thoughtsTokenCount||0,totalTokens:c.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},cn(e,i.usage)}if(r)if(r.type==="text")o.push({type:"text_end",contentIndex:l(),content:r.text,partial:i});else o.push({type:"thinking_end",contentIndex:l(),content:r.thinking,partial:i});if(n?.signal?.aborted)throw Error("Request was aborted");if(i.stopReason==="aborted"||i.stopReason==="error")throw Error("An unknown error occurred");o.push({type:"done",reason:i.stopReason,message:i}),o.end()}catch(u){for(let s of i.content)if("index"in s)delete s.index;i.stopReason=n?.signal?.aborted?"aborted":"error",i.errorMessage=xn(wn(u)),o.push({type:"error",reason:i.stopReason,error:i}),o.end()}})(),o},Y=(e,t,n)=>{let o=Cr(e,t,n,void 0);if(!n?.reasoning)return m(e,t,{...o,thinking:{enabled:!1}});let i=Hr(e,n.reasoning),u=i==="off"?"high":i,s=e;if(k(s)||L(s))return m(e,t,{...o,thinking:{enabled:!0,level:D(u,s)}});return m(e,t,{...o,thinking:{enabled:!0,budgetTokens:H(s,u,n.thinkingBudgets)}})};function b(e,t,n,o,i){let u=w(i);return new pi({vertexai:!0,project:t,location:n,apiVersion:y,...u?{googleAuthOptions:u}:{},httpOptions:O(e,o)})}function v(e,t,n){return new pi({vertexai:!0,apiKey:t,apiVersion:y,httpOptions:O(e,n)})}function O(e,t){let n={},o=M(e.baseUrl);if(o){if(n.baseUrl=o,n.baseUrlResourceScope=Kl.COLLECTION,R(o))n.apiVersion=""}let i=Ba({...e.headers,...t});if(i)n.headers=i;return Object.keys(n).length>0?n:void 0}function M(e){let t=e.trim();if(!t||t.includes("{location}"))return;return t}function R(e){try{return new URL(e).pathname.split("/").some((n)=>/^v\d+(?:beta\d*)?$/.test(n))}catch{return/(?:^|\/)v\d+(?:beta\d*)?(?:\/|$)/.test(e)}}function w(e){let t=cr("GOOGLE_APPLICATION_CREDENTIALS",e);return t?{keyFilename:t}:void 0}function S(e){let t=e?.apiKey?.trim();if(!t||t===E||G(t))return;return t}function G(e){return/^<[^>]+>$/.test(e)}function A(e){let t=e?.project||cr("GOOGLE_CLOUD_PROJECT",e?.env)||cr("GCLOUD_PROJECT",e?.env);if(!t)throw Error("Vertex AI requires a project ID. Set GOOGLE_CLOUD_PROJECT/GCLOUD_PROJECT or pass project in options.");return t}function P(e){let t=e?.location||cr("GOOGLE_CLOUD_LOCATION",e?.env);if(!t)throw Error("Vertex AI requires a location. Set GOOGLE_CLOUD_LOCATION or pass location in options.");return t}function N(e,t,n={}){let o=Yl(e,t),i={};if(n.temperature!==void 0)i.temperature=n.temperature;if(n.maxTokens!==void 0)i.maxOutputTokens=n.maxTokens;let u=t.tools?.length?ec(t.tools,n.toolChoice,Xl(e.id)):void 0,s={...Object.keys(i).length>0&&i,...t.systemPrompt&&{systemInstruction:qe(t.systemPrompt)},...t.tools&&t.tools.length>0&&{tools:Jl(t.tools)},...u!==void 0&&{toolConfig:{functionCallingConfig:{mode:u}}}};if(n.thinking?.enabled&&e.reasoning){let g={includeThoughts:!0};if(n.thinking.level!==void 0)g.thinkingLevel=T[n.thinking.level];else if(n.thinking.budgetTokens!==void 0)g.thinkingBudget=n.thinking.budgetTokens;s.thinkingConfig=g}else if(e.reasoning&&n.thinking&&!n.thinking.enabled)s.thinkingConfig=U(e);if(n.signal){if(n.signal.aborted)throw Error("Request aborted");s.abortSignal=n.signal}return{model:e.id,contents:o,config:s}}function k(e){return/gemini-3(?:\.\d+)?-pro/.test(e.id.toLowerCase())}function L(e){let t=e.id.toLowerCase();return/gemini-3(?:\.\d+)?-flash/.test(t)||t==="gemini-flash-latest"||t==="gemini-flash-lite-latest"}function U(e){let t=e;if(k(t))return{thinkingLevel:ws.LOW};if(L(t))return{thinkingLevel:ws.MINIMAL};return{thinkingBudget:0}}function D(e,t){if(k(t))switch(e){case"minimal":case"low":return"LOW";case"medium":case"high":return"HIGH"}switch(e){case"minimal":return"MINIMAL";case"low":return"LOW";case"medium":return"MEDIUM";case"high":return"HIGH"}}function H(e,t,n){if(n?.[t]!==void 0)return n[t];if(e.id.includes("2.5-pro"))return{minimal:128,low:2048,medium:8192,high:32768}[t];if(e.id.includes("2.5-flash"))return{minimal:128,low:2048,medium:8192,high:24576}[t];return-1}export{m as stream,Y as streamSimple};
2
+ import{Ss,Xl,ga,ec,Aa,tc,rc,nc,oc,sc}from"./chunk-hr2027z3.js";import{cr}from"./chunk-r1m4q8vw.js";import{wn,xn}from"./chunk-qgkbxw1k.js";import{He,Tr}from"./chunk-zcrtr8qd.js";import{qi}from"./chunk-3fjgf7eb.js";import{mn,$r}from"./chunk-z1r86fna.js";import{Jt}from"./chunk-j3xaq9s3.js";var y="v1",E="gcp-vertex-credentials",T={THINKING_LEVEL_UNSPECIFIED:Ss.THINKING_LEVEL_UNSPECIFIED,MINIMAL:Ss.MINIMAL,LOW:Ss.LOW,MEDIUM:Ss.MEDIUM,HIGH:Ss.HIGH},_=0,m=(e,t,n)=>{let o=new Jt;return(async()=>{let i={role:"assistant",content:[],api:"google-vertex",provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{let u=S(n),s=u?v(e,u,n?.headers):b(e,A(n),P(n),n?.headers,n?.env),h=N(e,t,n),g=await n?.onPayload?.(h,e);if(g!==void 0)h=g;let x=await s.models.generateContentStream(h);o.push({type:"start",partial:i});let r=null,I=i.content,l=()=>I.length-1;for await(let c of x){i.responseId||=c.responseId;let p=c.candidates?.[0];if(p?.content?.parts)for(let a of p.content.parts){if(a.text!==void 0){let d=ec(a);if(!r||d&&r.type!=="thinking"||!d&&r.type!=="text"){if(r)if(r.type==="text")o.push({type:"text_end",contentIndex:I.length-1,content:r.text,partial:i});else o.push({type:"thinking_end",contentIndex:l(),content:r.thinking,partial:i});if(d)r={type:"thinking",thinking:"",thinkingSignature:void 0},i.content.push(r),o.push({type:"thinking_start",contentIndex:l(),partial:i});else r={type:"text",text:""},i.content.push(r),o.push({type:"text_start",contentIndex:l(),partial:i})}if(r.type==="thinking")r.thinking+=a.text,r.thinkingSignature=Aa(r.thinkingSignature,a.thoughtSignature),o.push({type:"thinking_delta",contentIndex:l(),delta:a.text,partial:i});else r.text+=a.text,r.textSignature=Aa(r.textSignature,a.thoughtSignature),o.push({type:"text_delta",contentIndex:l(),delta:a.text,partial:i})}if(a.functionCall){if(r){if(r.type==="text")o.push({type:"text_end",contentIndex:l(),content:r.text,partial:i});else o.push({type:"thinking_end",contentIndex:l(),content:r.thinking,partial:i});r=null}let d=a.functionCall.id,f={type:"toolCall",id:!d||i.content.some((C)=>C.type==="toolCall"&&C.id===d)?`${a.functionCall.name}_${Date.now()}_${++_}`:d,name:a.functionCall.name||"",arguments:a.functionCall.args??{},...a.thoughtSignature&&{thoughtSignature:a.thoughtSignature}};i.content.push(f),o.push({type:"toolcall_start",contentIndex:l(),partial:i}),o.push({type:"toolcall_delta",contentIndex:l(),delta:JSON.stringify(f.arguments),partial:i}),o.push({type:"toolcall_end",contentIndex:l(),toolCall:f,partial:i})}}if(p?.finishReason){if(i.stopReason=sc(p.finishReason),i.content.some((a)=>a.type==="toolCall"))i.stopReason="toolUse"}if(c.usageMetadata)i.usage={input:(c.usageMetadata.promptTokenCount||0)-(c.usageMetadata.cachedContentTokenCount||0),output:(c.usageMetadata.candidatesTokenCount||0)+(c.usageMetadata.thoughtsTokenCount||0),cacheRead:c.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,reasoning:c.usageMetadata.thoughtsTokenCount||0,totalTokens:c.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},mn(e,i.usage)}if(r)if(r.type==="text")o.push({type:"text_end",contentIndex:l(),content:r.text,partial:i});else o.push({type:"thinking_end",contentIndex:l(),content:r.thinking,partial:i});if(n?.signal?.aborted)throw Error("Request was aborted");if(i.stopReason==="aborted"||i.stopReason==="error")throw Error("An unknown error occurred");o.push({type:"done",reason:i.stopReason,message:i}),o.end()}catch(u){for(let s of i.content)if("index"in s)delete s.index;i.stopReason=n?.signal?.aborted?"aborted":"error",i.errorMessage=xn(wn(u)),o.push({type:"error",reason:i.stopReason,error:i}),o.end()}})(),o},Y=(e,t,n)=>{let o=Tr(e,t,n,void 0);if(!n?.reasoning)return m(e,t,{...o,thinking:{enabled:!1}});let i=$r(e,n.reasoning),u=i==="off"?"high":i,s=e;if(k(s)||L(s))return m(e,t,{...o,thinking:{enabled:!0,level:D(u,s)}});return m(e,t,{...o,thinking:{enabled:!0,budgetTokens:H(s,u,n.thinkingBudgets)}})};function b(e,t,n,o,i){let u=w(i);return new ga({vertexai:!0,project:t,location:n,apiVersion:y,...u?{googleAuthOptions:u}:{},httpOptions:O(e,o)})}function v(e,t,n){return new ga({vertexai:!0,apiKey:t,apiVersion:y,httpOptions:O(e,n)})}function O(e,t){let n={},o=M(e.baseUrl);if(o){if(n.baseUrl=o,n.baseUrlResourceScope=Xl.COLLECTION,R(o))n.apiVersion=""}let i=qi({...e.headers,...t});if(i)n.headers=i;return Object.keys(n).length>0?n:void 0}function M(e){let t=e.trim();if(!t||t.includes("{location}"))return;return t}function R(e){try{return new URL(e).pathname.split("/").some((n)=>/^v\d+(?:beta\d*)?$/.test(n))}catch{return/(?:^|\/)v\d+(?:beta\d*)?(?:\/|$)/.test(e)}}function w(e){let t=cr("GOOGLE_APPLICATION_CREDENTIALS",e);return t?{keyFilename:t}:void 0}function S(e){let t=e?.apiKey?.trim();if(!t||t===E||G(t))return;return t}function G(e){return/^<[^>]+>$/.test(e)}function A(e){let t=e?.project||cr("GOOGLE_CLOUD_PROJECT",e?.env)||cr("GCLOUD_PROJECT",e?.env);if(!t)throw Error("Vertex AI requires a project ID. Set GOOGLE_CLOUD_PROJECT/GCLOUD_PROJECT or pass project in options.");return t}function P(e){let t=e?.location||cr("GOOGLE_CLOUD_LOCATION",e?.env);if(!t)throw Error("Vertex AI requires a location. Set GOOGLE_CLOUD_LOCATION or pass location in options.");return t}function N(e,t,n={}){let o=tc(e,t),i={};if(n.temperature!==void 0)i.temperature=n.temperature;if(n.maxTokens!==void 0)i.maxOutputTokens=n.maxTokens;let u=t.tools?.length?oc(t.tools,n.toolChoice,nc(e.id)):void 0,s={...Object.keys(i).length>0&&i,...t.systemPrompt&&{systemInstruction:He(t.systemPrompt)},...t.tools&&t.tools.length>0&&{tools:rc(t.tools)},...u!==void 0&&{toolConfig:{functionCallingConfig:{mode:u}}}};if(n.thinking?.enabled&&e.reasoning){let g={includeThoughts:!0};if(n.thinking.level!==void 0)g.thinkingLevel=T[n.thinking.level];else if(n.thinking.budgetTokens!==void 0)g.thinkingBudget=n.thinking.budgetTokens;s.thinkingConfig=g}else if(e.reasoning&&n.thinking&&!n.thinking.enabled)s.thinkingConfig=U(e);if(n.signal){if(n.signal.aborted)throw Error("Request aborted");s.abortSignal=n.signal}return{model:e.id,contents:o,config:s}}function k(e){return/gemini-3(?:\.\d+)?-pro/.test(e.id.toLowerCase())}function L(e){let t=e.id.toLowerCase();return/gemini-3(?:\.\d+)?-flash/.test(t)||t==="gemini-flash-latest"||t==="gemini-flash-lite-latest"}function U(e){let t=e;if(k(t))return{thinkingLevel:Ss.LOW};if(L(t))return{thinkingLevel:Ss.MINIMAL};return{thinkingBudget:0}}function D(e,t){if(k(t))switch(e){case"minimal":case"low":return"LOW";case"medium":case"high":return"HIGH"}switch(e){case"minimal":return"MINIMAL";case"low":return"LOW";case"medium":return"MEDIUM";case"high":return"HIGH"}}function H(e,t,n){if(n?.[t]!==void 0)return n[t];if(e.id.includes("2.5-pro"))return{minimal:128,low:2048,medium:8192,high:32768}[t];if(e.id.includes("2.5-flash"))return{minimal:128,low:2048,medium:8192,high:24576}[t];return-1}export{m as stream,Y as streamSimple};
@@ -0,0 +1 @@
1
+ import{h,y,u,S,L,t,o,Q,Ia,Z,B,Re,Un,ze,A,O,tr,C,E,De,at,Uc,zc,rb,gd,Na,tv,Dh,Fo,bC,xo,Je,Xe,et,tt,rt,nt,ot,st,ue,ae,fe,qe,le,q,lt,Pt,M,un,zr,$t,lr,Ar,Lo,NA}from"./chunk-dx0wz749.js";import"./chunk-edjtb7pk.js";import"./chunk-b9j5575n.js";import{Yr}from"./chunk-cw8z9w5c.js";import"./chunk-m9sp00a9.js";import{Ei}from"./chunk-fhq5m9ya.js";import{es,Hl,rs,vs}from"./chunk-h82r29wm.js";import{Ul,zl}from"./chunk-cgsxyw07.js";import"./chunk-51h2bgpf.js";import{Ii}from"./chunk-yfe6hkzk.js";import{Ir}from"./chunk-myd3wg9a.js";import"./chunk-eez1yncf.js";import"./chunk-7wb3dga5.js";import"./chunk-3btc8a0p.js";import"./chunk-6bgbx563.js";import"./chunk-czny5thj.js";import"./chunk-r5rpdhed.js";S();var kt=({item:n})=>{if(n.preview?.thumbnailUrl)return t("img",{src:n.preview.thumbnailUrl,alt:"Preview",className:"w-full h-full object-cover"});if(n.preview?.proxyType==="audio"||n.proxyType==="audio")return t("div",{className:"w-full h-full flex items-center justify-center bg-muted",children:t(es,{className:"w-5 h-5 text-muted-foreground"})});return t("div",{className:"w-full h-full flex items-center justify-center bg-muted",children:t(tr,{className:"w-5 h-5 text-muted-foreground"})})},Me=({projectId:n,currentAssetId:s,parentFolderId:x,initialFiles:d,initialNextCursor:k})=>{let{ref:a,inView:T}=Pt({threshold:0,rootMargin:"200px"}),b=y(null),N=y(!0),[c,p]=u(d),[f,U]=u(k),[W,Y]=u(!!k),[V,g]=u(!1);return h(()=>{p(d),U(k),Y(!!k),N.current=!0},[d,k]),h(()=>{(async()=>{if(!f||V||!T||!W)return;g(!0);try{let I=await A.api.folders[":folderId"].search.$post({param:{folderId:x},json:{assetType:"file",after:f,first:200,recursively:!1,conditions:[]}});if(!I.ok)throw Error("Failed to fetch next page");let P=await I.json(),X=P.data||[];p((G)=>[...G,...X]),U(P.pageInfo?.cursor||void 0),Y(!!P.pageInfo?.cursor&&X.length>0)}catch(I){console.error("Error fetching next page:",I)}finally{g(!1)}})()},[T,f,W,V,x]),h(()=>{if(c.some((I)=>I?.id===s)&&b.current)if(N.current)b.current.scrollIntoView({block:"center",inline:"center",behavior:"auto"}),N.current=!1;else b.current.scrollIntoView({block:"nearest",inline:"nearest",behavior:"smooth"})},[c,s]),t("div",{className:"h-24 md:h-full w-full md:w-24 bg-gray-100 dark:bg-gray-950 flex flex-row md:flex-col flex-shrink-0 select-none",children:o("div",{className:"flex-1 overflow-x-auto overflow-y-hidden md:overflow-y-auto md:overflow-x-hidden px-4 md:px-0 py-2 md:py-4 flex flex-row md:flex-col items-center gap-3 no-scrollbar",children:[c.map((m)=>{if(!m)return null;let I=m.id===s;return t("div",{ref:m.id===s?b:null,className:"flex-shrink-0",children:o(Un,{to:"/projects/$projectId/files/$fileId",params:{projectId:n,fileId:m.id},search:{version:void 0},className:C("rounded-lg border overflow-hidden flex items-center justify-center transition-all bg-muted/30 block relative",I?"w-[62px] h-[62px] opacity-100":"w-[52px] h-[52px] opacity-60 hover:opacity-100"),children:[t(kt,{item:m}),m.agent&&t("span",{className:"absolute top-1 right-1 z-10 pointer-events-none select-none rounded bg-black/60 px-1 py-0.5 text-[10px] font-medium leading-none text-white",title:m.agent.name,"data-testid":"carousel-agent-badge",children:"AI"})]})},m.id)}),W&&t("div",{ref:a,className:"px-2 md:px-0 py-2 md:py-4 flex justify-center items-center h-full md:w-full flex-shrink-0",children:V&&t(O,{className:"h-5 w-5 animate-spin text-muted-foreground"})})]})})};S();function At(){let{projectId:n,fileId:s}=Ne.useParams(),x=Ne.useSearch(),{version:d,start:k}=x,a=d||s,{cmpLeft:T,cmpRight:b}=x,N=x.cmpActive??"left",c=!!x.compare&&!!T&&!!b,p=y(null),{teamId:f,ensureTeamIdForProject:U}=lt(),[W,Y]=u(360),[V,g]=u([]),{fileViewRightSidebarCollapsed:m}=$t(),{isChatbotOpen:I}=lr(),P=Ar((e)=>Boolean(e.metadata["appearance.hideAgent"])),[X,G]=u(0),[he,z]=u(null),[ge,Le]=u(null),[Ee,ye]=u(void 0),[_,ne]=u({show:!1,files:[],nextCursor:void 0,folderId:void 0}),Ve=A.api.files[":fileId"].metadata.$patch,{mutate:Pe}=B({mutationFn:async(e)=>{let r=await Ve(e);if(!r.ok)throw Error("Failed to patch metadata");return await r.json()}}),J=Q(),{members:_e,fetchProjectMembers:Ie}=zr(),Ke=Lo();h(()=>{U(n)},[n,U]),h(()=>{if(n)Ie(n,!0)},[n,Ie]),h(()=>{if(n&&s)A.api.projects[":projectId"].recents.view.$post({param:{projectId:n},json:{assetId:s}}).catch(()=>{})},[n,s]);let{data:ve,isLoading:Oe,isError:He,isFetching:Qe}=Z({queryKey:["files",s],queryFn:async()=>{let e=await A.api.files[":fileId"].$get({param:{fileId:s}});if(!e.ok)throw Error("Failed to fetch stack");return await e.json()},enabled:!!f,placeholderData:Ia}),{data:Be,isLoading:Ue,isError:We,isFetching:Ge}=Z({queryKey:["files",d],queryFn:async()=>{let e=await A.api.files[":fileId"].$get({param:{fileId:d}});if(!e.ok)throw Error("Failed to fetch version");return await e.json()},enabled:!!f&&!!d,placeholderData:Ia}),{data:Ye}=Z({queryKey:["version_stacks",s,"versions"],queryFn:async()=>{let e=await A.api.version_stacks[":stackId"].versions.$get({param:{stackId:s}});if(!e.ok)throw Error("Failed to fetch versions");return await e.json()},enabled:!!n&&!!s&&(!!d||c)}),{data:j}=Z({queryKey:["projects",n],queryFn:async()=>{let e=await A.api.projects[":projectId"].$get({param:{projectId:n}});if(!e.ok)throw Error("Failed to fetch project");return await e.json()}}),v=Re(),{setProjectState:we,clearProjectState:xe}=un(),Ze=Oe||!!d&&Ue,it=He||!!d&&We,ct=Qe||!!d&&Ge,i=Be||ve,F=d?Ye:ve?.versionStack?.versions,l=i?.ancestorFolders?.[0]?.id??j?.rootFolder??"",[re,ee]=u(!1),[te,be]=u(""),se=y(null),ie=y(!1),[dt,ce]=u(!1),ft=A.api.files[":fileId"].$put,{mutate:pt,mutateAsync:ut,isPending:Fe}=B({mutationFn:async(e)=>{let r=await ft(e);if(!r.ok)throw Error("Failed to rename file");return await r.json()},onSuccess:()=>{J.invalidateQueries({queryKey:["files"]}),J.invalidateQueries({queryKey:["version_stacks"]}),M.success(bC?.()||"Renamed successfully"),ee(!1)},onError:()=>{M.error(tv?.()||"Failed to rename")}}),mt=A.api.files.$delete,{mutate:ht,mutateAsync:gt,isPending:ke}=B({mutationFn:async(e)=>{if(!(await mt(e)).ok)throw Error("Failed to delete file")},onSuccess:()=>{if(J.invalidateQueries({queryKey:["files"]}),J.invalidateQueries({queryKey:["version_stacks"]}),M.success(rb?.()||"Deleted"),ce(!1),l&&l!==j?.rootFolder)v({to:"/projects/$projectId/folders/$folderId",params:{projectId:n,folderId:l}});else v({to:"/projects/$projectId",params:{projectId:n}})},onError:()=>{M.error(Na?.()||"Failed to delete")}}),yt=(e)=>{if(e?.preventDefault(),!te.trim()||!a)return;pt({param:{fileId:a},json:{name:te.trim()}})},It=()=>{if(!a)return;ht({json:{ids:[a]}})};h(()=>{if(i&&j&&f)we({teamId:f,projectId:n,projectName:j.name??"",ancestorFolders:i.ancestorFolders??[],currentAsset:{id:a||s,name:i.name,type:"file",version:F?F.find((e)=>e.id===a)?.version??F.length:void 0,proxyType:i.proxyType},isRootFolder:!1,fileId:s,downloadInfo:{originalKey:i.media?.original?.key,videoTranscodes:i.media?.videoTranscodes?.map((e)=>({key:e.key,width:e.width,height:e.height,resolution:e.resolution,hdr:e.hdr}))},versions:F,compareMode:c,canCompareVersions:(F?.length??0)>=2,onCompareVersions:()=>{let e=Hl(F);if(!e)return;v({to:"/projects/$projectId/files/$fileId",params:{projectId:n,fileId:s},search:(r)=>({...r,version:void 0,compare:!0,cmpLeft:e.left.id,cmpRight:e.right.id,cmpActive:"left"})})},onFolderClick:(e)=>{v({to:"/projects/$projectId/folders/$folderId",params:{projectId:n,folderId:e}})},onRename:()=>{ie.current=!1,be(i?.name??""),ee(!0)},onDelete:()=>{ce(!0)}});return()=>xe()},[f,n,j,i,F,a,s,c,we,xe,v]),h(()=>{if(!re)return;let e=setTimeout(()=>{ie.current=!0},1000);return()=>clearTimeout(e)},[re]);let vt=()=>{if(ie.current)return;setTimeout(()=>{if(se.current)vs(se.current)},0)};if(h(()=>{if(!l||!a)return;if(_.folderId===l)return;let e=!0;return(async()=>{try{let w="",D=!1,R=[],pe=void 0;for(let Se=0;Se<5;Se++){let Te=await A.api.folders[":folderId"].search.$post({param:{folderId:l},json:{assetType:"file",after:w,first:200,recursively:!1,conditions:[]}});if(!Te.ok)throw Error("Failed to search parent folder for carousel");let H=await Te.json(),me=H.data||[];if(R.push(...me),me.some((oe)=>oe.id===a)){if(D=!0,pe=H.pageInfo?.cursor||void 0,H.pageInfo?.cursor)try{let oe=await A.api.folders[":folderId"].search.$post({param:{folderId:l},json:{assetType:"file",after:H.pageInfo.cursor,first:200,recursively:!1,conditions:[]}});if(oe.ok){let $e=await oe.json(),Ft=$e.data||[];R.push(...Ft),pe=$e.pageInfo?.cursor||void 0}}catch{}break}if(!H.pageInfo?.cursor||me.length<200)break;w=H.pageInfo.cursor}if(e)if(D)ne({show:!0,files:R,nextCursor:pe,folderId:l});else ne({show:!1,files:[],nextCursor:void 0,folderId:l})}catch(w){if(console.error(w),e)ne({show:!1,files:[],nextCursor:void 0,folderId:l})}})(),()=>{e=!1}},[l,a,_.folderId]),h(()=>{G(0),z(null),g([])},[i?.id]),h(()=>{z(null),g([])},[ge?.id]),h(()=>{Yr.getState().reset(),Yr.getState().setIsDrawing(!1),g([]),z(null)},[a]),Ze&&!i)return t(NA,{});if(it||!i||!j||!f)return t("div",{children:Dh()});let K=c?ge:i,Ae=K?.id??a,je=(e,r)=>{if(!f)return;Pe({param:{fileId:Ae},json:[{key:e,value:r}]},{onSuccess:()=>{J.invalidateQueries({queryKey:["files",Ae]})}})},de=(e)=>{v({to:"/projects/$projectId/files/$fileId",params:{projectId:n,fileId:s},search:(r)=>({...r,...e})})},wt=()=>{de({compare:void 0,cmpLeft:void 0,cmpRight:void 0,cmpActive:void 0,version:N==="left"?T:b})},xt=(e)=>{z(e.id||null);let r=e.annotations;if(r&&r.length>0)g(r);else g([]);if(c){if(e.second!==null&&e.second!==void 0)ye({second:e.second,nonce:Date.now()});return}if(e.second!==null&&e.second!==void 0)p.current?.seekTo(e.second),p.current?.pause();else if(r&&r.length>0)p.current?.pause()},bt=(e)=>{z(e.id||null);let w=e.details,D=w?.annotations;if(D&&D.length>0)g(D);else g([]);let R=w?.position?.type==="time"?w.position.seconds:w?.position?.type==="page"?w.position.page:void 0;if(c){if(R!==void 0)ye({second:R,nonce:Date.now()});return}if(R!==void 0)p.current?.seekTo(R),p.current?.pause();else if(D&&D.length>0)p.current?.pause()},Ce=()=>{g([]),z(null)};if(Ke&&!c)return t(Ul,{projectId:n,teamId:f,fileId:s,file:i,projectInfo:j,ancestorFolders:i.ancestorFolders??[],parentFolderId:l,versions:F,activeFileId:a,startTime:k,siblingFiles:_.files,onNavigateToFile:(e)=>{v({to:"/projects/$projectId/files/$fileId",params:{projectId:n,fileId:e}})},onNavigateBack:()=>{if(l&&l!==j?.rootFolder)v({to:"/projects/$projectId/folders/$folderId",params:{projectId:n,folderId:l}});else v({to:"/projects/$projectId",params:{projectId:n}})},onSelectVersion:(e)=>{v({to:"/projects/$projectId/files/$fileId",params:{projectId:n,fileId:s},search:(r)=>({...r,version:e})})},onRenameFile:async(e)=>{await ut({param:{fileId:a},json:{name:e}})},onDeleteFile:async()=>{await gt({json:{ids:[a]}})},onSaveField:je});return o("div",{className:"h-full flex flex-1 flex-col bg-background",children:[o("div",{className:"h-full flex flex-1 overflow-hidden",children:[o("div",{className:"flex-1 relative",children:[ct&&!c&&t("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-background/50",children:t(O,{className:"h-8 w-8 animate-spin text-foreground"})}),c&&T&&b?t(zl,{versions:F??[],leftId:T,rightId:b,activeSide:N,annotations:V,seekRequest:Ee,onActiveSideChange:(e)=>de({cmpActive:e}),onSwitchVersion:(e,r)=>de(e==="left"?{cmpLeft:r}:{cmpRight:r}),onExit:wt,onActiveAssetChange:Le,onPlay:Ce,onTimeUpdate:G}):t(rs,{file:i,mediaControllerRef:p,onPlay:Ce,onTimeUpdate:G,annotations:V,startTime:k,children:_.show&&t(Me,{projectId:n,currentAssetId:a,parentFolderId:l,initialFiles:_.files,initialNextCursor:_.nextCursor})})]}),(!m||I&&!P)&&o(L,{children:[t(Ir,{onResize:(e)=>{Y((r)=>Math.max(300,Math.min(600,r-e)))},className:"hidden md:block"}),t("div",{style:{width:W},className:"flex-shrink-0 bg-background flex flex-col",children:I&&!P?t(Ei,{projectId:n,contextAssetId:a,file:K,currentTime:X,frameRate:K?.media?.metadata?.frameRate||30,startTimecode:K?.media?.metadata?.startTimecode,onTyping:()=>{if(c)return;p.current?.pause()},onSelectMessage:bt,selectedMessageId:he}):t(Ii,{teamId:f,projectId:n,file:K,onSaveField:je,members:_e,onCommentSelect:xt,currentTime:X,onTyping:()=>{if(c)return;p.current?.pause()},selectedCommentId:he,hideAnnotationControl:K?.proxyType==="audio"})})]})]}),t(ue,{open:re,onOpenChange:ee,children:t(ae,{children:o("form",{onSubmit:yt,children:[t(fe,{children:t(le,{children:Fo()})}),t("div",{className:"py-4",children:t(q,{ref:se,value:te,onChange:(e)=>be(e.target.value),placeholder:gd?.()||"Enter new name",onFocus:vt,autoFocus:!0})}),o(qe,{children:[t(E,{type:"button",variant:"outline",onClick:()=>ee(!1),children:De()}),o(E,{type:"submit",disabled:Fe||!te.trim(),children:[Fe&&t(O,{className:"mr-2 h-4 w-4 animate-spin"}),xo()]})]})]})})}),t(Je,{open:dt,onOpenChange:ce,children:o(Xe,{children:[o(et,{children:[t(rt,{children:zc?.()||"Delete Asset?"}),t(nt,{children:Uc?.()||"Deleted items can be recovered for 30 days before being permanently deleted."})]}),o(tt,{children:[t(st,{children:De()}),o(ot,{onClick:It,disabled:ke,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:[ke&&t(O,{className:"mr-2 h-4 w-4 animate-spin"}),at()]})]})]})})]})}var Ne=ze("/projects/$projectId/files/$fileId")({component:At});export{Ne as Route};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- function qe(e){return e.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,"")}function sc(e,n,t){let r=n[t];if(typeof r!=="string")throw Error(`Grammar tool call "${e}" requires argument "${t}" to be a string.`);return r}function ac(e,n,t,r){if(e.closed){if(r&&t===e.input)return;throw Error(`grammar tool input for property "${n}" changed after it was closed`)}if(!t.startsWith(e.input))throw Error(`grammar tool input for property "${n}" changed non-monotonically`);let o=t.slice(e.input.length);if(!r&&o.length===0)return;let i="";if(!e.started)i+=`{${JSON.stringify(n)}:"`,e.started=!0;if(i+=JSON.stringify(o).slice(1,-1),e.input=t,r)i+='"}',e.closed=!0;return i}function C(e){let n=e.parameters;if(n.type!=="object")throw Error("grammar constrained sampling requires an object parameter schema");if(!Array.isArray(n.required)||n.required.length!==1||typeof n.required[0]!=="string")throw Error("grammar constrained sampling requires exactly one required string property");let t=n.required[0];if(!n.properties?.[t])throw Error(`grammar constrained sampling requires a properties entry for ${t}`);if(n.properties[t]?.type!=="string")throw Error(`grammar constrained sampling property ${t} must have type string`);return t}function uo(e,n){let t=e.constrainedSampling;if(!t||t.type!=="json_schema")return;if(n)return!0;if(t.strict==="require")throw Error(`Tool "${e.name}" requires JSON-schema constrained sampling, but strict tools are unsupported.`);return}function Qi(e,n){let t=e.constrainedSampling;if(!t||t.type!=="grammar")return;if(!n)return;let r=t.variants.openai_lark,o=t.variants.openai_regex,i=typeof r==="string"&&r.trim().length>0,d=typeof o==="string"&&o.trim().length>0;if(!i&&!d)throw Error(`Tool "${e.name}" cannot use grammar constrained sampling: no supported grammar variant was provided.`);try{return{format:i?"lark":"regex",definition:i?r:o,inputProperty:C(e)}}catch(l){let c=l instanceof Error?l.message:String(l);throw Error(`Tool "${e.name}" cannot use grammar constrained sampling: ${c}.`)}}function Qn(e,n){let t=new Map;for(let r of e??[]){let o=Qi(r,n);if(o)t.set(r.name,o.inputProperty)}return t}function R(e){return e.totalTokens||e.input+e.output+e.cacheRead+e.cacheWrite}function S(e){try{return JSON.stringify(e)??"undefined"}catch{return"[unserializable]"}}function N(e){if(typeof e==="string")return e.length;let n=0;for(let t of e)n+=t.type==="text"?t.text.length:4800;return n}function k(e){return Math.ceil(e.length/4)}function y(e){return Math.ceil(N(e)/4)}function I(e){let n=0;if(e.role==="user")return y(e.content);if(e.role==="toolResult")return y(e.content);for(let t of e.content)if(t.type==="text")n+=t.text.length;else if(t.type==="thinking")n+=t.thinking.length;else n+=t.name.length+S(t.arguments).length;return Math.ceil(n/4)}function O(e){let n=Number.NEGATIVE_INFINITY,t;for(let r=0;r<e.length;r++){let o=e[r];if(o.role==="assistant"){let i=o;if(i.timestamp>=n&&i.stopReason!=="aborted"&&i.stopReason!=="error"&&R(i.usage)>0)t={usage:i.usage,index:r}}n=Math.max(n,o.timestamp)}return t}function E(e){let n=O(e);if(n){let r=R(n.usage),o=0;for(let i=n.index+1;i<e.length;i++)o+=I(e[i]);return{tokens:r+o,usageTokens:r,trailingTokens:o,lastUsageIndex:n.index}}let t=0;for(let r of e)t+=I(r);return{tokens:t,usageTokens:0,trailingTokens:t,lastUsageIndex:null}}function M(e){if(!e||e.length===0)return 0;return k(S(e))}function D(e){return Array.isArray(e)}function w(e){if(D(e))return E(e);let n=E(e.messages);if(n.lastUsageIndex!==null){let r=new Set(e.messages.slice(n.lastUsageIndex+1).filter((i)=>i.role==="toolResult").flatMap((i)=>i.addedToolNames??[])),o=M(e.tools?.filter((i)=>r.has(i.name)));return{tokens:n.tokens+o,usageTokens:n.usageTokens,trailingTokens:n.trailingTokens+o,lastUsageIndex:n.lastUsageIndex}}let t=(e.systemPrompt?k(e.systemPrompt):0)+M(e.tools);return{tokens:n.tokens+t,usageTokens:n.usageTokens,trailingTokens:n.trailingTokens+t,lastUsageIndex:n.lastUsageIndex}}var P=4096,_=1;function tf(e,n,t){if(e.contextWindow<=0)return Math.max(_,t);let r=e.contextWindow-w(n).tokens-P;return Math.min(t,Math.max(_,r))}function Cr(e,n,t,r){return{temperature:t?.temperature,maxTokens:tf(e,n,t?.maxTokens??e.maxTokens),signal:t?.signal,apiKey:r||t?.apiKey,transport:t?.transport,cacheRetention:t?.cacheRetention,sessionId:t?.sessionId,headers:t?.headers,onPayload:t?.onPayload,onResponse:t?.onResponse,timeoutMs:t?.timeoutMs,websocketConnectTimeoutMs:t?.websocketConnectTimeoutMs,maxRetries:t?.maxRetries,maxRetryDelayMs:t?.maxRetryDelayMs,metadata:t?.metadata,env:t?.env}}function v(e){return e==="xhigh"||e==="max"?"high":e}function im(e,n,t,r){let i={...{minimal:1024,low:2048,medium:8192,high:16384},...r},d=1024,l=v(t),c=i[l],f=e===void 0?n:Math.min(e+c,n);if(f<=c)c=Math.max(0,f-1024);return{maxTokens:f,thinkingBudget:c}}function A(e,n){let t=[],r=!1;for(let o of e){if(o.type==="image"){if(!r)t.push({type:"text",text:n});r=!0;continue}t.push(o),r=o.text===n}return t}function F(e,n){if(n.input.includes("image"))return e;return e.map((t)=>{if(t.role==="user"&&Array.isArray(t.content))return{...t,content:A(t.content,"(image omitted: model does not support images)")};if(t.role==="toolResult")return{...t,content:A(t.content,"(tool image omitted: model does not support images)")};return t})}function fo(e,n,t){let r=new Map,o=e.map((a)=>a.content==null?{...a,content:[]}:a),d=F(o,n).map((a)=>{if(a.role==="user")return a;if(a.role==="toolResult"){let s=r.get(a.toolCallId);if(s&&s!==a.toolCallId)return{...a,toolCallId:s};return a}if(a.role==="assistant"){let s=a,p=s.provider===n.provider&&s.api===n.api&&s.model===n.id,h=s.content.flatMap((u)=>{if(u.type==="thinking"){if(u.redacted)return p?u:[];if(p&&u.thinkingSignature)return u;if(!u.thinking||u.thinking.trim()==="")return[];if(p)return u;return{type:"text",text:u.thinking}}if(u.type==="text"){if(p)return u;return{type:"text",text:u.text}}if(u.type==="toolCall"){let m=u,g=m;if(!p&&m.thoughtSignature)g={...m},delete g.thoughtSignature;if(!p&&t){let x=t(m.id,n,s);if(x!==m.id)r.set(m.id,x),g={...g,id:x}}return g}return u});return{...s,content:h}}return a}),l=[],c=[],f=new Set,T=()=>{if(c.length>0){for(let a of c)if(!f.has(a.id))l.push({role:"toolResult",toolCallId:a.id,toolName:a.name,content:[{type:"text",text:"No result provided"}],isError:!0,timestamp:Date.now()});c=[],f=new Set}};for(let a=0;a<d.length;a++){let s=d[a];if(s.role==="assistant"){T();let p=s;if(p.stopReason==="error"||p.stopReason==="aborted")continue;let h=p.content.filter((u)=>u.type==="toolCall");if(h.length>0)c=h,f=new Set;l.push(s)}else if(s.role==="toolResult")f.add(s.toolCallId),l.push(s);else if(s.role==="user")T(),l.push(s);else l.push(s)}return T(),l}
3
- export{qe,sc,ac,uo,Qi,Qn,tf,Cr,im,fo};
2
+ function He(e){return e.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,"")}function cc(e,n,t){let r=n[t];if(typeof r!=="string")throw Error(`Grammar tool call "${e}" requires argument "${t}" to be a string.`);return r}function uc(e,n,t,r){if(e.closed){if(r&&t===e.input)return;throw Error(`grammar tool input for property "${n}" changed after it was closed`)}if(!t.startsWith(e.input))throw Error(`grammar tool input for property "${n}" changed non-monotonically`);let o=t.slice(e.input.length);if(!r&&o.length===0)return;let i="";if(!e.started)i+=`{${JSON.stringify(n)}:"`,e.started=!0;if(i+=JSON.stringify(o).slice(1,-1),e.input=t,r)i+='"}',e.closed=!0;return i}function C(e){let n=e.parameters;if(n.type!=="object")throw Error("grammar constrained sampling requires an object parameter schema");if(!Array.isArray(n.required)||n.required.length!==1||typeof n.required[0]!=="string")throw Error("grammar constrained sampling requires exactly one required string property");let t=n.required[0];if(!n.properties?.[t])throw Error(`grammar constrained sampling requires a properties entry for ${t}`);if(n.properties[t]?.type!=="string")throw Error(`grammar constrained sampling property ${t} must have type string`);return t}function uo(e,n){let t=e.constrainedSampling;if(!t||t.type!=="json_schema")return;if(n)return!0;if(t.strict==="require")throw Error(`Tool "${e.name}" requires JSON-schema constrained sampling, but strict tools are unsupported.`);return}function Ya(e,n){let t=e.constrainedSampling;if(!t||t.type!=="grammar")return;if(!n)return;let r=t.variants.openai_lark,o=t.variants.openai_regex,i=typeof r==="string"&&r.trim().length>0,d=typeof o==="string"&&o.trim().length>0;if(!i&&!d)throw Error(`Tool "${e.name}" cannot use grammar constrained sampling: no supported grammar variant was provided.`);try{return{format:i?"lark":"regex",definition:i?r:o,inputProperty:C(e)}}catch(l){let c=l instanceof Error?l.message:String(l);throw Error(`Tool "${e.name}" cannot use grammar constrained sampling: ${c}.`)}}function Qn(e,n){let t=new Map;for(let r of e??[]){let o=Ya(r,n);if(o)t.set(r.name,o.inputProperty)}return t}function R(e){return e.totalTokens||e.input+e.output+e.cacheRead+e.cacheWrite}function S(e){try{return JSON.stringify(e)??"undefined"}catch{return"[unserializable]"}}function N(e){if(typeof e==="string")return e.length;let n=0;for(let t of e)n+=t.type==="text"?t.text.length:4800;return n}function k(e){return Math.ceil(e.length/4)}function y(e){return Math.ceil(N(e)/4)}function I(e){let n=0;if(e.role==="user")return y(e.content);if(e.role==="toolResult")return y(e.content);for(let t of e.content)if(t.type==="text")n+=t.text.length;else if(t.type==="thinking")n+=t.thinking.length;else n+=t.name.length+S(t.arguments).length;return Math.ceil(n/4)}function O(e){let n=Number.NEGATIVE_INFINITY,t;for(let r=0;r<e.length;r++){let o=e[r];if(o.role==="assistant"){let i=o;if(i.timestamp>=n&&i.stopReason!=="aborted"&&i.stopReason!=="error"&&R(i.usage)>0)t={usage:i.usage,index:r}}n=Math.max(n,o.timestamp)}return t}function E(e){let n=O(e);if(n){let r=R(n.usage),o=0;for(let i=n.index+1;i<e.length;i++)o+=I(e[i]);return{tokens:r+o,usageTokens:r,trailingTokens:o,lastUsageIndex:n.index}}let t=0;for(let r of e)t+=I(r);return{tokens:t,usageTokens:0,trailingTokens:t,lastUsageIndex:null}}function M(e){if(!e||e.length===0)return 0;return k(S(e))}function D(e){return Array.isArray(e)}function w(e){if(D(e))return E(e);let n=E(e.messages);if(n.lastUsageIndex!==null){let r=new Set(e.messages.slice(n.lastUsageIndex+1).filter((i)=>i.role==="toolResult").flatMap((i)=>i.addedToolNames??[])),o=M(e.tools?.filter((i)=>r.has(i.name)));return{tokens:n.tokens+o,usageTokens:n.usageTokens,trailingTokens:n.trailingTokens+o,lastUsageIndex:n.lastUsageIndex}}let t=(e.systemPrompt?k(e.systemPrompt):0)+M(e.tools);return{tokens:n.tokens+t,usageTokens:n.usageTokens,trailingTokens:n.trailingTokens+t,lastUsageIndex:n.lastUsageIndex}}var P=4096,_=1;function af(e,n,t){if(e.contextWindow<=0)return Math.max(_,t);let r=e.contextWindow-w(n).tokens-P;return Math.min(t,Math.max(_,r))}function Tr(e,n,t,r){return{temperature:t?.temperature,maxTokens:af(e,n,t?.maxTokens??e.maxTokens),signal:t?.signal,apiKey:r||t?.apiKey,transport:t?.transport,cacheRetention:t?.cacheRetention,sessionId:t?.sessionId,headers:t?.headers,onPayload:t?.onPayload,onResponse:t?.onResponse,timeoutMs:t?.timeoutMs,websocketConnectTimeoutMs:t?.websocketConnectTimeoutMs,maxRetries:t?.maxRetries,maxRetryDelayMs:t?.maxRetryDelayMs,metadata:t?.metadata,env:t?.env}}function v(e){return e==="xhigh"||e==="max"?"high":e}function pm(e,n,t,r){let i={...{minimal:1024,low:2048,medium:8192,high:16384},...r},d=1024,l=v(t),c=i[l],f=e===void 0?n:Math.min(e+c,n);if(f<=c)c=Math.max(0,f-1024);return{maxTokens:f,thinkingBudget:c}}function A(e,n){let t=[],r=!1;for(let o of e){if(o.type==="image"){if(!r)t.push({type:"text",text:n});r=!0;continue}t.push(o),r=o.text===n}return t}function F(e,n){if(n.input.includes("image"))return e;return e.map((t)=>{if(t.role==="user"&&Array.isArray(t.content))return{...t,content:A(t.content,"(image omitted: model does not support images)")};if(t.role==="toolResult")return{...t,content:A(t.content,"(tool image omitted: model does not support images)")};return t})}function fo(e,n,t){let r=new Map,o=e.map((a)=>a.content==null?{...a,content:[]}:a),d=F(o,n).map((a)=>{if(a.role==="user")return a;if(a.role==="toolResult"){let s=r.get(a.toolCallId);if(s&&s!==a.toolCallId)return{...a,toolCallId:s};return a}if(a.role==="assistant"){let s=a,p=s.provider===n.provider&&s.api===n.api&&s.model===n.id,h=s.content.flatMap((u)=>{if(u.type==="thinking"){if(u.redacted)return p?u:[];if(p&&u.thinkingSignature)return u;if(!u.thinking||u.thinking.trim()==="")return[];if(p)return u;return{type:"text",text:u.thinking}}if(u.type==="text"){if(p)return u;return{type:"text",text:u.text}}if(u.type==="toolCall"){let m=u,g=m;if(!p&&m.thoughtSignature)g={...m},delete g.thoughtSignature;if(!p&&t){let x=t(m.id,n,s);if(x!==m.id)r.set(m.id,x),g={...g,id:x}}return g}return u});return{...s,content:h}}return a}),l=[],c=[],f=new Set,T=()=>{if(c.length>0){for(let a of c)if(!f.has(a.id))l.push({role:"toolResult",toolCallId:a.id,toolName:a.name,content:[{type:"text",text:"No result provided"}],isError:!0,timestamp:Date.now()});c=[],f=new Set}};for(let a=0;a<d.length;a++){let s=d[a];if(s.role==="assistant"){T();let p=s;if(p.stopReason==="error"||p.stopReason==="aborted")continue;let h=p.content.filter((u)=>u.type==="toolCall");if(h.length>0)c=h,f=new Set;l.push(s)}else if(s.role==="toolResult")f.add(s.toolCallId),l.push(s);else if(s.role==="user")T(),l.push(s);else l.push(s)}return T(),l}
3
+ export{He,cc,uc,uo,Ya,Qn,af,Tr,pm,fo};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{_u}from"./chunk-dp1mrw7m.js";import{cr}from"./chunk-7nv7r7zx.js";import"./chunk-vfv27kve.js";import{Ws,Ys,Js}from"./chunk-pbq64m5k.js";import{ss}from"./chunk-2kxhdnma.js";import{wn,xn}from"./chunk-qgkbxw1k.js";import{as}from"./chunk-628k58ek.js";import{Qn,Cr}from"./chunk-45mheqnm.js";import{ln}from"./chunk-gc6m7agb.js";import{Hr}from"./chunk-afsm0ct9.js";import{Yt}from"./chunk-4sq35ks7.js";var d="v1",A=new Set(["openai","openai-codex","opencode","azure-openai-responses"]),E=16;function R(r){let a=new Map;if(!r)return a;for(let e of r.split(",")){let n=e.trim();if(!n)continue;let[s,t]=n.split("=",2);if(!s||!t)continue;a.set(s.trim(),t.trim())}return a}function h(r,a){if(a?.azureDeploymentName)return a.azureDeploymentName;return R(cr("AZURE_OPENAI_DEPLOYMENT_NAME_MAP",a?.env)).get(r.id)||r.id}function g(r){return xn(wn(r),"Azure OpenAI API error")}var y=(r,a,e)=>{let n=new Yt;return(async()=>{let s=h(r,e),t={role:"assistant",content:[],api:"azure-openai-responses",provider:r.provider,model:r.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{let o=e?.apiKey;if(!o)throw Error(`No API key for provider: ${r.provider}`);let i=O(r,o,e),m=Qn(a.tools,r.compat?.supportsOpenAIGrammarTools??!1),p=U(r,a,e,s,m),u=await e?.onPayload?.(p,r);if(u!==void 0)p=u;let f={...e?.signal?{signal:e.signal}:{},...e?.timeoutMs!==void 0?{timeout:e.timeoutMs}:{},maxRetries:0},{data:l,response:c}=await as(()=>i.responses.create(p,f).withResponse(),{maxRetries:e?.maxRetries,maxRetryDelayMs:e?.maxRetryDelayMs,signal:e?.signal});if(await e?.onResponse?.({status:c.status,headers:ln(c.headers)},r),n.push({type:"start",partial:t}),await Js(l,t,n,r,{grammarToolInputProperties:m}),e?.signal?.aborted)throw Error("Request was aborted");if(t.stopReason==="aborted"||t.stopReason==="error")throw Error("An unknown error occurred");n.push({type:"done",reason:t.stopReason,message:t}),n.end()}catch(o){for(let i of t.content)delete i.index,delete i.partialJson,delete i.customInput;t.stopReason=e?.signal?.aborted?"aborted":"error",t.errorMessage=g(o),n.push({type:"error",reason:t.stopReason,error:t}),n.end()}})(),n},B=(r,a,e)=>{let n=e?.apiKey;if(!n)throw Error(`No API key for provider: ${r.provider}`);let s=Cr(r,a,e,n),t=e?.reasoning?Hr(r,e.reasoning):void 0;return y(r,a,{...s,reasoningEffort:t==="off"?void 0:t})};function _(r){let a=r.trim().replace(/\/+$/,""),e;try{e=new URL(a)}catch{throw Error(`Invalid Azure OpenAI base URL: ${r}`)}let n=e.hostname.endsWith(".openai.azure.com")||e.hostname.endsWith(".cognitiveservices.azure.com")||e.hostname.endsWith(".ai.azure.com"),s=e.pathname.replace(/\/+$/,"");if(n&&(s===""||s==="/"||s==="/openai"||s==="/openai/v1/responses"))e.pathname="/openai/v1",e.search="";return e.toString().replace(/\/+$/,"")}function I(r){return`https://${r}.openai.azure.com/openai/v1`}function v(r,a){let e=a?.azureApiVersion||cr("AZURE_OPENAI_API_VERSION",a?.env)||d,n=a?.azureBaseUrl?.trim()||cr("AZURE_OPENAI_BASE_URL",a?.env)?.trim()||void 0,s=a?.azureResourceName||cr("AZURE_OPENAI_RESOURCE_NAME",a?.env),t=n;if(!t&&s)t=I(s);if(!t&&r.baseUrl)t=r.baseUrl;if(!t)throw Error("Azure OpenAI base URL is required. Set AZURE_OPENAI_BASE_URL or AZURE_OPENAI_RESOURCE_NAME, or pass azureBaseUrl, azureResourceName, or model.baseUrl.");return{baseUrl:_(t),apiVersion:e}}function O(r,a,e){let n={...r.headers};if(e?.headers)Object.assign(n,e.headers);let{baseUrl:s,apiVersion:t}=v(r,e);return new _u({apiKey:a,apiVersion:t,dangerouslyAllowBrowser:!0,defaultHeaders:n,baseURL:s})}function U(r,a,e,n,s=Qn(a.tools,r.compat?.supportsOpenAIGrammarTools??!1)){let t=Ws(r,a,A,{grammarToolInputProperties:s}),o={model:n,input:t,stream:!0,prompt_cache_key:ss(e?.sessionId),store:!1};if(e?.maxTokens)o.max_output_tokens=Math.max(e.maxTokens,E);if(e?.temperature!==void 0)o.temperature=e?.temperature;if(a.tools&&a.tools.length>0)o.tools=Ys(a.tools,{supportsStrictMode:r.compat?.supportsStrictMode??!0,supportsOpenAIGrammarTools:r.compat?.supportsOpenAIGrammarTools??!1});if(r.reasoning){if(e?.reasoningEffort||e?.reasoningSummary){let i=e?.reasoningEffort?r.thinkingLevelMap?.[e.reasoningEffort]??e.reasoningEffort:"medium";o.reasoning={effort:i,summary:e?.reasoningSummary||"auto"},o.include=["reasoning.encrypted_content"]}else if(r.thinkingLevelMap?.off!==null)o.reasoning={effort:r.thinkingLevelMap?.off??"none"}}return o}export{y as stream,B as streamSimple};
2
+ import{wu}from"./chunk-sg7n2g3z.js";import{cr}from"./chunk-r1m4q8vw.js";import"./chunk-5patxztz.js";import{Xs,ei,ti}from"./chunk-5yd9cv7f.js";import{is}from"./chunk-k9cgfzgk.js";import{wn,xn}from"./chunk-qgkbxw1k.js";import{as}from"./chunk-628k58ek.js";import{Qn,Tr}from"./chunk-zcrtr8qd.js";import{pn}from"./chunk-3fjgf7eb.js";import{$r}from"./chunk-z1r86fna.js";import{Jt}from"./chunk-j3xaq9s3.js";var d="v1",A=new Set(["openai","openai-codex","opencode","azure-openai-responses"]),E=16;function R(r){let a=new Map;if(!r)return a;for(let e of r.split(",")){let n=e.trim();if(!n)continue;let[s,t]=n.split("=",2);if(!s||!t)continue;a.set(s.trim(),t.trim())}return a}function h(r,a){if(a?.azureDeploymentName)return a.azureDeploymentName;return R(cr("AZURE_OPENAI_DEPLOYMENT_NAME_MAP",a?.env)).get(r.id)||r.id}function g(r){return xn(wn(r),"Azure OpenAI API error")}var y=(r,a,e)=>{let n=new Jt;return(async()=>{let s=h(r,e),t={role:"assistant",content:[],api:"azure-openai-responses",provider:r.provider,model:r.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{let o=e?.apiKey;if(!o)throw Error(`No API key for provider: ${r.provider}`);let i=O(r,o,e),m=Qn(a.tools,r.compat?.supportsOpenAIGrammarTools??!1),p=U(r,a,e,s,m),u=await e?.onPayload?.(p,r);if(u!==void 0)p=u;let f={...e?.signal?{signal:e.signal}:{},...e?.timeoutMs!==void 0?{timeout:e.timeoutMs}:{},maxRetries:0},{data:l,response:c}=await as(()=>i.responses.create(p,f).withResponse(),{maxRetries:e?.maxRetries,maxRetryDelayMs:e?.maxRetryDelayMs,signal:e?.signal});if(await e?.onResponse?.({status:c.status,headers:pn(c.headers)},r),n.push({type:"start",partial:t}),await ti(l,t,n,r,{grammarToolInputProperties:m}),e?.signal?.aborted)throw Error("Request was aborted");if(t.stopReason==="aborted"||t.stopReason==="error")throw Error("An unknown error occurred");n.push({type:"done",reason:t.stopReason,message:t}),n.end()}catch(o){for(let i of t.content)delete i.index,delete i.partialJson,delete i.customInput;t.stopReason=e?.signal?.aborted?"aborted":"error",t.errorMessage=g(o),n.push({type:"error",reason:t.stopReason,error:t}),n.end()}})(),n},B=(r,a,e)=>{let n=e?.apiKey;if(!n)throw Error(`No API key for provider: ${r.provider}`);let s=Tr(r,a,e,n),t=e?.reasoning?$r(r,e.reasoning):void 0;return y(r,a,{...s,reasoningEffort:t==="off"?void 0:t})};function _(r){let a=r.trim().replace(/\/+$/,""),e;try{e=new URL(a)}catch{throw Error(`Invalid Azure OpenAI base URL: ${r}`)}let n=e.hostname.endsWith(".openai.azure.com")||e.hostname.endsWith(".cognitiveservices.azure.com")||e.hostname.endsWith(".ai.azure.com"),s=e.pathname.replace(/\/+$/,"");if(n&&(s===""||s==="/"||s==="/openai"||s==="/openai/v1/responses"))e.pathname="/openai/v1",e.search="";return e.toString().replace(/\/+$/,"")}function I(r){return`https://${r}.openai.azure.com/openai/v1`}function v(r,a){let e=a?.azureApiVersion||cr("AZURE_OPENAI_API_VERSION",a?.env)||d,n=a?.azureBaseUrl?.trim()||cr("AZURE_OPENAI_BASE_URL",a?.env)?.trim()||void 0,s=a?.azureResourceName||cr("AZURE_OPENAI_RESOURCE_NAME",a?.env),t=n;if(!t&&s)t=I(s);if(!t&&r.baseUrl)t=r.baseUrl;if(!t)throw Error("Azure OpenAI base URL is required. Set AZURE_OPENAI_BASE_URL or AZURE_OPENAI_RESOURCE_NAME, or pass azureBaseUrl, azureResourceName, or model.baseUrl.");return{baseUrl:_(t),apiVersion:e}}function O(r,a,e){let n={...r.headers};if(e?.headers)Object.assign(n,e.headers);let{baseUrl:s,apiVersion:t}=v(r,e);return new wu({apiKey:a,apiVersion:t,dangerouslyAllowBrowser:!0,defaultHeaders:n,baseURL:s})}function U(r,a,e,n,s=Qn(a.tools,r.compat?.supportsOpenAIGrammarTools??!1)){let t=Xs(r,a,A,{grammarToolInputProperties:s}),o={model:n,input:t,stream:!0,prompt_cache_key:is(e?.sessionId),store:!1};if(e?.maxTokens)o.max_output_tokens=Math.max(e.maxTokens,E);if(e?.temperature!==void 0)o.temperature=e?.temperature;if(a.tools&&a.tools.length>0)o.tools=ei(a.tools,{supportsStrictMode:r.compat?.supportsStrictMode??!0,supportsOpenAIGrammarTools:r.compat?.supportsOpenAIGrammarTools??!1});if(r.reasoning){if(e?.reasoningEffort||e?.reasoningSummary){let i=e?.reasoningEffort?r.thinkingLevelMap?.[e.reasoningEffort]??e.reasoningEffort:"medium";o.reasoning={effort:i,summary:e?.reasoningSummary||"auto"},o.include=["reasoning.encrypted_content"]}else if(r.thinkingLevelMap?.off!==null)o.reasoning={effort:r.thinkingLevelMap?.off??"none"}}return o}export{y as stream,B as streamSimple};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Wi,Yi}from"./chunk-2y7y60pc.js";import{w}from"./chunk-1ymyhrh2.js";var j=w(function(v,f){var{defineProperty:i,getOwnPropertyDescriptor:s,getOwnPropertyNames:_}=Object,k=Object.prototype.hasOwnProperty,l=(t,e)=>{for(var o in e)i(t,o,{get:e[o],enumerable:!0})},u=(t,e,o,n)=>{if(e&&typeof e==="object"||typeof e==="function"){for(let r of _(e))if(!k.call(t,r)&&r!==o)i(t,r,{get:()=>e[r],enumerable:!(n=s(e,r))||n.enumerable})}return t},d=(t)=>u(i({},"__esModule",{value:!0}),t),p={};l(p,{refreshToken:()=>O});f.exports=d(p);var c=Wi(),a=Yi();async function O(t){let e=t?.project,o=t?.team;if(!e&&!o){let r=(0,a.findProjectInfo)();e=r.projectId,o=r.teamId}else if(!e||!o){let r=(0,a.findProjectInfo)();e=e??r.projectId,o=o??r.teamId}if(!e)throw new c.VercelOidcTokenError("Failed to refresh OIDC token: No project specified. Try re-linking your project with `vc link`");let n=(0,a.loadToken)(e);if(!n||(0,a.isExpired)((0,a.getTokenPayload)(n.token),t?.expirationBufferMs)){let r=await(0,a.getVercelToken)({expirationBufferMs:t?.expirationBufferMs});if(n=await(0,a.getVercelOidcToken)(r,e,o),!n)throw new c.VercelOidcTokenError("Failed to refresh OIDC token");(0,a.saveToken)(n,e)}process.env.VERCEL_OIDC_TOKEN=n.token;return}});export default j();
2
+ import{Xa,el}from"./chunk-3cvbb6kh.js";import{w}from"./chunk-kzsdp31a.js";var j=w(function(v,f){var{defineProperty:i,getOwnPropertyDescriptor:s,getOwnPropertyNames:_}=Object,k=Object.prototype.hasOwnProperty,l=(t,e)=>{for(var o in e)i(t,o,{get:e[o],enumerable:!0})},u=(t,e,o,n)=>{if(e&&typeof e==="object"||typeof e==="function"){for(let r of _(e))if(!k.call(t,r)&&r!==o)i(t,r,{get:()=>e[r],enumerable:!(n=s(e,r))||n.enumerable})}return t},d=(t)=>u(i({},"__esModule",{value:!0}),t),p={};l(p,{refreshToken:()=>O});f.exports=d(p);var c=Xa(),a=el();async function O(t){let e=t?.project,o=t?.team;if(!e&&!o){let r=(0,a.findProjectInfo)();e=r.projectId,o=r.teamId}else if(!e||!o){let r=(0,a.findProjectInfo)();e=e??r.projectId,o=o??r.teamId}if(!e)throw new c.VercelOidcTokenError("Failed to refresh OIDC token: No project specified. Try re-linking your project with `vc link`");let n=(0,a.loadToken)(e);if(!n||(0,a.isExpired)((0,a.getTokenPayload)(n.token),t?.expirationBufferMs)){let r=await(0,a.getVercelToken)({expirationBufferMs:t?.expirationBufferMs});if(n=await(0,a.getVercelOidcToken)(r,e,o),!n)throw new c.VercelOidcTokenError("Failed to refresh OIDC token");(0,a.saveToken)(n,e)}process.env.VERCEL_OIDC_TOKEN=n.token;return}});export default j();
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- var f=-1/0,e=0;function a(n){if(globalThis.crypto?.getRandomValues){globalThis.crypto.getRandomValues(n);return}for(let i=0;i<n.length;i++)n[i]=Math.floor(Math.random()*256)}function Ji(){let n=new Uint8Array(16);a(n);let i=Date.now();if(i>f)e=n[6]*16777216+n[7]*65536+n[8]*256+n[9],f=i;else if(e=e+1>>>0,e===0)f++;let t=new Uint8Array(16);t[0]=f/1099511627776&255,t[1]=f/4294967296&255,t[2]=f/16777216&255,t[3]=f/65536&255,t[4]=f/256&255,t[5]=f&255,t[6]=112|e>>>28&15,t[7]=e>>>20&255,t[8]=128|e>>>14&63,t[9]=e>>>6&255,t[10]=(e&63)<<2|n[10]&3,t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15];let o=Array.from(t,(x)=>x.toString(16).padStart(2,"0"));return`${o.slice(0,4).join("")}-${o.slice(4,6).join("")}-${o.slice(6,8).join("")}-${o.slice(8,10).join("")}-${o.slice(10,16).join("")}`}
3
- export{Ji};
2
+ var f=-1/0,e=0;function a(n){if(globalThis.crypto?.getRandomValues){globalThis.crypto.getRandomValues(n);return}for(let i=0;i<n.length;i++)n[i]=Math.floor(Math.random()*256)}function tl(){let n=new Uint8Array(16);a(n);let i=Date.now();if(i>f)e=n[6]*16777216+n[7]*65536+n[8]*256+n[9],f=i;else if(e=e+1>>>0,e===0)f++;let t=new Uint8Array(16);t[0]=f/1099511627776&255,t[1]=f/4294967296&255,t[2]=f/16777216&255,t[3]=f/65536&255,t[4]=f/256&255,t[5]=f&255,t[6]=112|e>>>28&15,t[7]=e>>>20&255,t[8]=128|e>>>14&63,t[9]=e>>>6&255,t[10]=(e&63)<<2|n[10]&3,t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15];let o=Array.from(t,(x)=>x.toString(16).padStart(2,"0"));return`${o.slice(0,4).join("")}-${o.slice(4,6).join("")}-${o.slice(6,8).join("")}-${o.slice(8,10).join("")}-${o.slice(10,16).join("")}`}
3
+ export{tl};
@@ -25,7 +25,7 @@
25
25
  <meta name="theme-color" content="#ffffff" />
26
26
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
27
27
  <title>Shumai</title>
28
- <link rel="stylesheet" crossorigin href="./chunk-msg8j3hj.css"><script type="module" crossorigin src="./chunk-43dzhk24.js"></script></head>
28
+ <link rel="stylesheet" crossorigin href="./chunk-vnk2p7mq.css"><script type="module" crossorigin src="./chunk-dx0wz749.js"></script></head>
29
29
  <body>
30
30
  <div id="root"></div>
31
31