@shumai-one/shumai-agent 0.5.2 → 0.6.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.
- package/bin/chunk-28e1j4am.js +2 -0
- package/bin/chunk-2gyngq15.js +11 -0
- package/bin/{chunk-5dabj991.js → chunk-2n1dj1cv.js} +1 -1
- package/bin/{chunk-tjhp86sk.js → chunk-46jd4vhk.js} +10 -10
- package/bin/{chunk-5x7t37y2.js → chunk-56c9m0pd.js} +1 -1
- package/bin/{chunk-1pq0fbct.js → chunk-5yd2h4j1.js} +1 -1
- package/bin/chunk-6ddtb9e6.js +2 -0
- package/bin/chunk-7qprxs9y.js +2 -0
- package/bin/{chunk-4q9h14c1.js → chunk-7w6jsrka.js} +2 -2
- package/bin/{chunk-nxvssvtc.js → chunk-8kyt2vpr.js} +5 -5
- package/bin/{chunk-ytemrert.js → chunk-8z4drz4c.js} +3 -3
- package/bin/{chunk-p9ajsam7.js → chunk-av6bexjx.js} +1 -1
- package/bin/{chunk-y25ytsvy.js → chunk-bhgneh6h.js} +1 -1
- package/bin/chunk-c26v3b7f.js +3 -0
- package/bin/{chunk-fskwwr61.js → chunk-cam5rwb7.js} +1 -1
- package/bin/{chunk-03afm27e.js → chunk-e5amq469.js} +9 -9
- package/bin/{chunk-gp3pygq4.js → chunk-e5s9dk8d.js} +1 -1
- package/bin/{chunk-bcyejrnb.js → chunk-g80kdkky.js} +1 -1
- package/bin/{chunk-5tt4cs38.js → chunk-gmfm23kd.js} +1 -1
- package/bin/{chunk-bt74cq3j.js → chunk-h3dvj1c7.js} +5 -5
- package/bin/chunk-hg8pmr2h.js +2 -0
- package/bin/{chunk-xp2anj2s.js → chunk-jheky96k.js} +2 -2
- package/bin/chunk-jtsbe34h.js +4 -0
- package/bin/{chunk-dvtetv7g.js → chunk-m4801ex4.js} +1 -1
- package/bin/{chunk-099qsxx7.js → chunk-mfyektx6.js} +1 -1
- package/bin/chunk-mryt63fx.js +2 -0
- package/bin/{chunk-4622htj3.js → chunk-n75x7as6.js} +2 -2
- package/bin/{chunk-svhmffyd.js → chunk-p0sycvda.js} +2 -2
- package/bin/{chunk-33n9p9q4.js → chunk-ph0978mm.js} +2 -2
- package/bin/chunk-q032segv.js +2 -0
- package/bin/chunk-qnh6wt00.js +2 -0
- package/bin/chunk-qve2p771.js +2 -0
- package/bin/chunk-sgv9dhyw.js +2 -0
- package/bin/chunk-sk26g8gq.js +5 -0
- package/bin/{chunk-tvaymt9f.js → chunk-tsfemjnp.js} +2 -2
- package/bin/{chunk-atats4tw.js → chunk-vnn8sej7.js} +2 -2
- package/bin/chunk-w2xc1r8f.js +3 -0
- package/bin/{chunk-nfzjn0ec.js → chunk-w5h5ctmd.js} +2 -2
- package/bin/{chunk-2x49exs8.js → chunk-w5jhww1y.js} +2 -2
- package/bin/{chunk-6trcvf7g.js → chunk-w82m268v.js} +1 -1
- package/bin/chunk-xpx7v1cz.js +2 -0
- package/bin/{chunk-hede4f0t.js → chunk-yd3kbedy.js} +2 -2
- package/bin/{chunk-f913x9vp.js → chunk-yk14703k.js} +1 -1
- package/bin/{chunk-04pp5y8r.js → chunk-ynv1dwvb.js} +3 -3
- package/bin/chunk-ywmjzwj6.js +13 -0
- package/bin/{chunk-hh1xn96g.js → chunk-z65d9fhw.js} +1 -1
- package/bin/shumai-agent-app.js +618 -589
- package/package.json +8 -11
- package/prisma/migrations/20261014054332_add_embedding_768/migration.sql +8 -0
- package/prisma/schema.prisma +10 -8
- package/bin/chunk-17krnt1b.js +0 -2
- package/bin/chunk-2vqhhfx4.js +0 -3
- package/bin/chunk-52gbm98v.js +0 -4
- package/bin/chunk-5bjq4xfz.js +0 -11
- package/bin/chunk-8wfbcygf.js +0 -2
- package/bin/chunk-esvgx5tp.js +0 -2
- package/bin/chunk-ey92y4db.js +0 -2
- package/bin/chunk-f0ehwrm5.js +0 -2
- package/bin/chunk-h227m9p2.js +0 -13
- package/bin/chunk-h2vg744n.js +0 -2
- package/bin/chunk-h6kmgdqa.js +0 -2
- package/bin/chunk-k2e1ywm1.js +0 -2
- package/bin/chunk-pwagrnm6.js +0 -3
- package/bin/chunk-v3m002t2.js +0 -13518
- package/bin/chunk-w5ped8e9.js +0 -2
- package/bin/chunk-wntj2ssr.js +0 -2
- package/bin/chunk-xpg34mme.js +0 -5
- /package/bin/{chunk-e56mawh8.js → chunk-k71cxhsn.js} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{nt}from"./chunk-vnn8sej7.js";import{y}from"./chunk-yk14703k.js";import"./chunk-sk26g8gq.js";import{le,ue,de}from"./chunk-h3dvj1c7.js";import{J}from"./chunk-w2xc1r8f.js";import{M,O}from"./chunk-ph0978mm.js";import{Y}from"./chunk-w5h5ctmd.js";import{B,T}from"./chunk-jheky96k.js";import{R}from"./chunk-c26v3b7f.js";import{_,w}from"./shumai-agent-app.js";var d="v1",A=new Set(["openai","openai-codex","opencode","azure-openai-responses"]),E=16;function h(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 g(r,a){if(a?.azureDeploymentName)return a.azureDeploymentName;return h(y("AZURE_OPENAI_DEPLOYMENT_NAME_MAP",a?.env)).get(r.id)||r.id}function I(r){return O(M(r),"Azure OpenAI API error")}var v=(r,a,e)=>{let n=new _;return(async()=>{let s=g(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=z(r,o,e),m=B(a.tools,r.compat?.supportsOpenAIGrammarTools??!1),p=S(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 Y(()=>i.responses.create(p,f).withResponse(),{maxRetries:e?.maxRetries,maxRetryDelayMs:e?.maxRetryDelayMs,signal:e?.signal});if(await e?.onResponse?.({status:c.status,headers:R(c.headers)},r),n.push({type:"start",partial:t}),await de(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=I(o),n.push({type:"error",reason:t.stopReason,error:t}),n.end()}})(),n},q=(r,a,e)=>{let n=e?.apiKey;if(!n)throw Error(`No API key for provider: ${r.provider}`);let s=T(r,a,e,n),t=e?.reasoning?w(r,e.reasoning):void 0;return v(r,a,{...s,reasoningEffort:t==="off"?void 0:t})};function U(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 P(r){return`https://${r}.openai.azure.com/openai/v1`}function N(r,a){let e=a?.azureApiVersion||y("AZURE_OPENAI_API_VERSION",a?.env)||d,n=a?.azureBaseUrl?.trim()||y("AZURE_OPENAI_BASE_URL",a?.env)?.trim()||void 0,s=a?.azureResourceName||y("AZURE_OPENAI_RESOURCE_NAME",a?.env),t=n;if(!t&&s)t=P(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:U(t),apiVersion:e}}function z(r,a,e){let n={...r.headers};if(e?.headers)Object.assign(n,e.headers);let{baseUrl:s,apiVersion:t}=N(r,e);return new nt({apiKey:a,apiVersion:t,dangerouslyAllowBrowser:!0,defaultHeaders:n,baseURL:s})}function S(r,a,e,n,s=B(a.tools,r.compat?.supportsOpenAIGrammarTools??!1)){let t=le(r,a,A,{grammarToolInputProperties:s}),o={model:n,input:t,stream:!0,prompt_cache_key:J(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=ue(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{v as stream,q as streamSimple};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{u,
|
|
2
|
+
import{u,Q,S,P,L}from"./shumai-agent-app.js";var n=class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(){}async releaseMigrationLock(){}get supportsOutput(){return!0}},s=class{#e;#t=new o;#r;#a;constructor(e){this.#e={...e}}async init(){if(this.#r=this.#e.database,this.#a=new i(this.#r),this.#e.onCreateConnection)await this.#e.onCreateConnection(this.#a)}async acquireConnection(){return await this.#t.lock(),this.#a}async beginTransaction(e){await e.executeQuery(S.raw("begin"))}async commitTransaction(e){await e.executeQuery(S.raw("commit"))}async rollbackTransaction(e){await e.executeQuery(S.raw("rollback"))}async releaseConnection(){this.#t.unlock()}async destroy(){this.#r?.close()}},i=class{#e;constructor(e){this.#e=e}executeQuery(e){let{sql:r,parameters:a}=e,t=this.#e.prepare(r).all(...a);return Promise.resolve({rows:t})}async*streamQuery(){throw Error("Streaming query is not supported by SQLite driver.")}},o=class{#e;#t;async lock(){while(this.#e!==void 0)await this.#e;this.#e=new Promise((e)=>{this.#t=e})}unlock(){let e=this.#t;this.#e=void 0,this.#t=void 0,e?.()}},c=class{#e;constructor(e){this.#e=e}async getSchemas(){return[]}async getTables(e={withInternalKyselyTables:!1}){let r=this.#e.selectFrom("sqlite_schema").where("type","=","table").where("name","not like","sqlite_%").select("name").$castTo();if(!e.withInternalKyselyTables)r=r.where("name","!=",P).where("name","!=",L);let a=await r.execute();return Promise.all(a.map(({name:t})=>this.#t(t)))}async getMetadata(e){return{tables:await this.getTables(e)}}async#t(e){let r=this.#e,a=(await r.selectFrom("sqlite_master").where("name","=",e).select("sql").$castTo().execute())[0]?.sql?.split(/[\(\),]/)?.find((t)=>t.toLowerCase().includes("autoincrement"))?.split(/\s+/)?.[0]?.replace(/["`]/g,"");return{name:e,columns:(await r.selectFrom(u`pragma_table_info(${e})`.as("table_info")).select(["name","type","notnull","dflt_value"]).execute()).map((t)=>({name:t.name,dataType:t.type,isNullable:!t.notnull,isAutoIncrementing:t.name===a,hasDefaultValue:t.dflt_value!=null})),isView:!0}}},l=class extends Q{getCurrentParameterPlaceholder(){return"?"}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getAutoIncrement(){return"autoincrement"}},h=class{#e;constructor(e){this.#e={...e}}createDriver(){return new s(this.#e)}createQueryCompiler(){return new l}createAdapter(){return new n}createIntrospector(e){return new c(e)}};export{h as NodeSqliteDialect};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
var zr=Object.create;var{getPrototypeOf:Vr,defineProperty:gt,getOwnPropertyNames:Gr}=Object;var qt=Object.prototype.hasOwnProperty;function Fr(e){return this[e]}var Xr,Yr,i=(e,t,r)=>{var o=e!=null&&typeof e==="object";if(o){var s=t?Xr??=new WeakMap:Yr??=new WeakMap,p=s.get(e);if(p)return p}r=e!=null?zr(Vr(e)):{};let c=t||!e||!e.__esModule||!qt.call(e,"default")?gt(r,"default",{value:e,enumerable:!0}):r;if(e&&typeof e==="object"||typeof e==="function"){for(let d of Gr(e))if(!qt.call(c,d))gt(c,d,{get:Fr.bind(e,d),enumerable:!0})}if(o)s.set(e,c);return c};var n=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var qr=(e)=>e;function Zr(e,t){this[e]=qr.bind(null,t)}var ne=(e,t)=>{for(var r in t)gt(e,r,{get:t[r],enumerable:!0,configurable:!0,set:Zr.bind(t,r)})};var a=import.meta.require;var Ke=new TextEncoder,ae=new TextDecoder,fe=new TextDecoder("utf-8",{fatal:!0});function W(...e){let t=e.reduce((s,{length:p})=>s+p,0),r=new Uint8Array(t),o=0;for(let s of e)r.set(s,o),o+=s.length;return r}function Et(e,t,r){if(t<0||t>=4294967296)throw RangeError(`value must be >= 0 and <= 4294967295. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function bt(e){let t=Math.floor(e/4294967296),r=e%4294967296,o=new Uint8Array(8);return Et(o,t,0),Et(o,r,4),o}function He(e){let t=new Uint8Array(4);return Et(t,e),t}function K(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++){let o=e.charCodeAt(r);if(o>127)throw TypeError("non-ASCII string encountered in encode()");t[r]=o}return t}var ke=(e,t="algorithm.name")=>TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`);function St(e,t){if(t&&!e.usages.includes(t))throw TypeError(`CryptoKey does not support this operation, its usages must include ${t}.`)}function Be(e,t){let{modulusLength:r}=t.algorithm;if(typeof r!=="number"||r<2048)throw TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}function G(e,t,r){let o=e.algorithm;if(o.name!==t.name)throw ke(t.name);if(t.hash&&o.hash?.name!==t.hash)throw ke(t.hash,"algorithm.hash");if(t.namedCurve&&o.namedCurve!==t.namedCurve)throw ke(t.namedCurve,"algorithm.namedCurve");if(t.length!==void 0&&o.length!==t.length)throw ke(t.length,"algorithm.length");St(e,r)}function Zt(e,t,...r){if(r.length>2){let o=r.pop();e+=`one of type ${r.join(", ")}, or ${o}.`}else if(r.length===2)e+=`one of type ${r[0]} or ${r[1]}.`;else e+=`of type ${r[0]}.`;if(t==null)e+=` Received ${t}`;else if(typeof t==="function"&&t.name)e+=` Received function ${t.name}`;else if(typeof t==="object"&&t!=null){if(t.constructor?.name)e+=` Received an instance of ${t.constructor.name}`}return e}var F=(e,...t)=>Zt("Key must be ",e,...t),Je=(e,t,...r)=>Zt(`Key for the ${e} algorithm must be `,t,...r);class C extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(e,t){super(e,t);this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class k extends C{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(e,t,r="unspecified",o="unspecified"){super(e,{cause:{claim:r,reason:o,payload:t}});this.claim=r,this.reason=o,this.payload=t}}class Me extends C{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(e,t,r="unspecified",o="unspecified"){super(e,{cause:{claim:r,reason:o,payload:t}});this.claim=r,this.reason=o,this.payload=t}}class ue extends C{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class w extends C{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class $e extends C{static code="ERR_JWE_DECRYPTION_FAILED";code="ERR_JWE_DECRYPTION_FAILED";constructor(e="decryption operation failed",t){super(e,t)}}class m extends C{static code="ERR_JWE_INVALID";code="ERR_JWE_INVALID"}class S extends C{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class x extends C{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class Le extends C{static code="ERR_JWK_INVALID";code="ERR_JWK_INVALID"}class je extends C{static code="ERR_JWKS_INVALID";code="ERR_JWKS_INVALID"}class We extends C{static code="ERR_JWKS_NO_MATCHING_KEY";code="ERR_JWKS_NO_MATCHING_KEY";constructor(e="no applicable key found in the JSON Web Key Set",t){super(e,t)}}class At extends C{[Symbol.asyncIterator]=async function*(){};static code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";constructor(e="multiple matching keys found in the JSON Web Key Set",t){super(e,t)}}class xt extends C{static code="ERR_JWKS_TIMEOUT";code="ERR_JWKS_TIMEOUT";constructor(e="request timed out",t){super(e,t)}}class Kt extends C{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(e="signature verification failed",t){super(e,t)}}function ze(e){if(!X(e))throw Error("CryptoKey instance expected")}var X=(e)=>{if(e?.[Symbol.toStringTag]==="CryptoKey")return!0;try{return e instanceof CryptoKey}catch{return!1}},Jt=(e)=>e?.[Symbol.toStringTag]==="KeyObject",Ve=(e)=>X(e)||Jt(e);var Y=(e)=>crypto.getRandomValues(new Uint8Array(e.cekBits>>3));function Qt(e,t){let r=e.byteLength<<3;if(r!==t)throw new m(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)}var Qr=(e)=>crypto.getRandomValues(new Uint8Array(e.ivBits>>3));function er(e,t){if(t.length<<3!==e.ivBits)throw new m("Invalid Initialization Vector length")}async function tr(e,t,r){if(!(t instanceof Uint8Array))throw TypeError(F(t,"Uint8Array"));let o=e.cekBits>>1,s=await crypto.subtle.importKey("raw",t.subarray(o>>3),"AES-CBC",!1,[r]),p=await crypto.subtle.importKey("raw",t.subarray(0,o>>3),{hash:`SHA-${o<<1}`,name:"HMAC"},!1,["sign"]);return[s,p,o]}async function rr(e,t,r){return new Uint8Array((await crypto.subtle.sign("HMAC",e,t)).slice(0,r>>3))}async function en(e,t,r,o,s){let[p,c,d]=await tr(e,r,"encrypt"),f=new Uint8Array(await crypto.subtle.encrypt({iv:o,name:"AES-CBC"},p,t)),u=W(s,o,f,bt(s.length*8)),l=await rr(c,u,d);return{ciphertext:f,tag:l,iv:o}}async function tn(e,t){let r={name:"HMAC",hash:"SHA-256"},o=await crypto.subtle.generateKey(r,!1,["sign","verify"]),s=await crypto.subtle.sign(r,o,e);return crypto.subtle.verify(r,o,s,t)}async function rn(e,t,r,o,s,p){let[c,d,f]=await tr(e,t,"decrypt"),u=W(p,o,r,bt(p.length*8)),l=await rr(d,u,f);try{if(await tn(s,l))return new Uint8Array(await crypto.subtle.decrypt({iv:o,name:"AES-CBC"},c,r))}catch{}throw new $e}async function nn(e,t,r,o,s){let p=r instanceof Uint8Array?await crypto.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(G(r,e.subtle,"encrypt"),r),c=new Uint8Array(await crypto.subtle.encrypt({additionalData:s,iv:o,name:"AES-GCM",tagLength:128},p,t)),d=c.slice(-16);return{ciphertext:c.slice(0,-16),tag:d,iv:o}}async function on(e,t,r,o,s,p){let c=t instanceof Uint8Array?await crypto.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(G(t,e.subtle,"decrypt"),t);try{return new Uint8Array(await crypto.subtle.decrypt({additionalData:p,iv:o,name:"AES-GCM",tagLength:128},c,W(r,s)))}catch{throw new $e}}async function Ge(e,t,r,o,s){if(!X(r)&&!(r instanceof Uint8Array))throw TypeError(F(r,"CryptoKey","KeyObject","Uint8Array","JSON Web Key"));if(o)er(e,o);else o=Qr(e);if(r instanceof Uint8Array)Qt(r,e.cekBits);return e.cbc?en(e,t,r,o,s):nn(e,t,r,o,s)}async function Fe(e,t,r,o,s,p){if(!X(t)&&!(t instanceof Uint8Array))throw TypeError(F(t,"CryptoKey","KeyObject","Uint8Array","JSON Web Key"));if(!o)throw new m("JWE Initialization Vector missing");if(!s)throw new m("JWE Authentication Tag missing");if(!e.cbc&&s.length!==16)throw new m("Invalid Authentication Tag length");if(er(e,o),t instanceof Uint8Array)Qt(t,e.cekBits);return e.cbc?rn(e,t,r,o,s,p):on(e,t,r,o,s,p)}var yt={};ne(yt,{decode:()=>B,encode:()=>E});function Wt(e){if(Uint8Array.prototype.toBase64)return e.toBase64();let t=32768,r=[];for(let o=0;o<e.length;o+=t)r.push(String.fromCharCode.apply(null,e.subarray(o,o+t)));return btoa(r.join(""))}function qe(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);let t=atob(e),r=new Uint8Array(t.length);for(let o=0;o<t.length;o++)r[o]=t.charCodeAt(o);return r}var Ct="The input to be decoded is not correctly encoded.";function B(e){if(Uint8Array.fromBase64)try{return Uint8Array.fromBase64(typeof e==="string"?e:ae.decode(e),{alphabet:"base64url"})}catch(r){throw TypeError(Ct,{cause:r})}let t=e;if(t instanceof Uint8Array)t=ae.decode(t);if(t.includes("+")||t.includes("/"))throw TypeError(Ct);t=t.replace(/-/g,"+").replace(/_/g,"/");try{return qe(t)}catch{throw TypeError(Ct)}}function E(e){let t=e;if(typeof t==="string")t=Ke.encode(t);if(Uint8Array.prototype.toBase64)return t.toBase64({alphabet:"base64url",omitPadding:!0});return Wt(t).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function se(e,t){if(!(e instanceof Uint8Array))throw TypeError(`${t} must be an instance of Uint8Array`)}function J(e){if(typeof e!=="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);return t===null||Object.getPrototypeOf(t)===null}function Qe(e){return J(e)&&Array.isArray(e.keys)&&Array.from(e.keys).every(J)}function nr(...e){let t=new Set;for(let r of e){if(!r)continue;for(let o of Object.keys(r)){if(t.has(o))return!1;t.add(o)}}return!0}var or=Symbol();function ce(e,t){if(e!==void 0)throw TypeError(`${t} can only be called once`)}function I(e,t,r){try{return B(e)}catch{throw new r(`Failed to base64url decode the ${t}`)}}function Tt(e,t,r){try{return K(e)}catch{throw new r(`The ${t} is not a valid base64url string`)}}async function tt(e,t){let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await crypto.subtle.digest(r,t))}function te(e,t,r){let o;try{o=JSON.parse(fe.decode(B(e)))}catch{throw new t(r)}if(!J(o))throw new t(r);return o}async function q(e,t){if(t.kty==="RSA"&&"oth"in t&&t.oth!==void 0)throw new w('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');if(!e.kty.includes(t.kty))throw new w('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');let r=e.resolve?.({kty:t.kty,crv:t.crv})??e.subtle,o=!!(t.d||t.priv),s={...t};if(s.kty!=="AKP")delete s.alg;return delete s.use,crypto.subtle.importKey("jwk",s,r,t.ext??!o,t.key_ops??e.usages[o?1:0])}function le(e){return{__proto__:null,...e}}function rt(e){let t=le(e);if(t.ext!==void 0&&typeof t.ext!=="boolean")throw TypeError('"ext" (Extractable) Parameter must be a boolean');if(t.key_ops!==void 0){let r=t.key_ops,o=Array.isArray(r)?[...r]:void 0;if(!o||o.some((s)=>typeof s!=="string")||new Set(o).size!==o.length)throw TypeError('"key_ops" (Key Operations) Parameter must be an array of unique strings');t.key_ops=o}return t}var Pt=(e)=>e[Symbol.toStringTag],an=(e,t,r)=>{let{alg:o}=e;if(t.use!==void 0){let s=r==="sign"||r==="verify"?"sig":"enc";if(t.use!==s)throw TypeError(`Invalid key for this operation, its "use" must be "${s}" when present`)}if(t.alg!==void 0&&t.alg!==o)throw TypeError(`Invalid key for this operation, its "alg" must be "${o}" when present`);if(Array.isArray(t.key_ops)){let s=r==="encrypt"||r==="decrypt"?e.ops?.[r==="encrypt"?0:1]:r;if(s&&!t.key_ops.includes(s))throw TypeError(`Invalid key for this operation, its "key_ops" must include "${s}" when present`)}};function sn(e,t,r){let{alg:o,secret:s}=e,p=r==="decrypt"||r==="sign";if(s&&t instanceof Uint8Array)return[ar,t];if(J(t)){let c=rt(t);if(typeof c.kty!=="string")throw TypeError(s?Je(o,t,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"):Je(o,t,"CryptoKey","KeyObject","JSON Web Key"));if(!(s?c.kty==="oct"&&typeof c.k==="string":c.kty!=="oct"&&(p?c.kty==="AKP"&&typeof c.priv==="string"||typeof c.d==="string":c.d===void 0&&c.priv===void 0)))throw TypeError(s?'JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present':`JSON Web Key for this operation must be a ${p?"private":"public"} JWK`);return an(e,c,r),[pr,t,c]}if(!Ve(t))throw TypeError(s?Je(o,t,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"):Je(o,t,"CryptoKey","KeyObject","JSON Web Key"));if(s){if(t.type!=="secret")throw TypeError(`${Pt(t)} instances for symmetric algorithms must be of type "secret"`)}else{if(t.type==="secret")throw TypeError(`${Pt(t)} instances for asymmetric algorithms must not be of type "secret"`);let c=p?"private":"public";if((t.type==="public"||t.type==="private")&&t.type!==c){let d=r==="sign"?"signing":r==="verify"?"verifying":`${r.slice(0,-1)}tion`;throw TypeError(`${Pt(t)} instances for asymmetric algorithm ${d} must be of type "${c}"`)}}return X(t)?[sr,t]:[cr,t]}var ar=0,sr=1,cr=2,pr=3,It,cn={__proto__:null,prime256v1:"P-256",secp384r1:"P-384",secp521r1:"P-521"};function nt(e,t,r){It||=new WeakMap;let o=It.get(e);if(r)if(o)o[t]=r;else It.set(e,{[t]:r});return r??o?.[t]}var ir=async(e,t,r)=>nt(e,r.alg)??nt(e,r.alg,await q(r,{...t,alg:r.alg})),pn=(e,t)=>{let r=nt(e,t.alg);if(r)return r;let o=e.type==="public",s=t.usages[o?0:1],{asymmetricKeyType:p}=e,c=cn[e.asymmetricKeyDetails?.namedCurve],d=t.resolve?.({crv:c,asymmetricKeyType:p})??t.subtle;return nt(e,t.alg,e.toCryptoKey(d,o,s))};async function M(e,t,r){let o=sn(e,t,r);switch(o[0]){case ar:case sr:return o[1];case pr:{let s=o[1],p=o[2];if(p.kty==="oct")return B(p.k);if(!Object.isFrozen(s)){let{key_ops:c}=s;if(Array.isArray(c))Object.freeze(c);Object.freeze(s)}return ir(s,p,e)}case cr:{let s=o[1];if(s.type==="secret")return s.export();if("toCryptoKey"in s&&typeof s.toCryptoKey==="function")return pn(s,e);return ir(s,s.export({format:"jwk"}),e)}}}function Ce(e){let t={__proto__:null};for(let r in e)t[r]={...e[r],alg:r};return t}var dn=[["encrypt","wrapKey"],["decrypt","unwrapKey"]],fn=[[],["deriveBits"]],st=[[],[]];function ot(e){return{kty:["RSA"],subtle:{name:"RSA-OAEP",hash:`SHA-${e}`},usages:dn,ops:["wrapKey","unwrapKey"]}}function it(){return{kty:["EC","OKP"],subtle:{name:"ECDH"},resolve:({kty:e,crv:t,asymmetricKeyType:r})=>{if(t==="X25519"||r==="x25519")return{name:"X25519"};if(e==="OKP")throw new w('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');return{name:"ECDH",namedCurve:t}},usages:fn,ops:[void 0,"deriveBits"]}}function me(e,t=!1){return{kty:["oct"],secret:!0,subtle:{name:t?"AES-GCM":"AES-KW",length:e},usages:st,ops:t?["encrypt","decrypt"]:["wrapKey","unwrapKey"]}}function Ot(){return{kty:["oct"],secret:!0,subtle:{name:"PBKDF2"},usages:st,ops:["deriveBits","deriveBits"]}}var _t=Ce({dir:{kty:["oct"],secret:!0,subtle:{name:"AES-GCM"},usages:st,ops:["encrypt","decrypt"]},"RSA-OAEP":ot(1),"RSA-OAEP-256":ot(256),"RSA-OAEP-384":ot(384),"RSA-OAEP-512":ot(512),"ECDH-ES":it(),"ECDH-ES+A128KW":it(),"ECDH-ES+A192KW":it(),"ECDH-ES+A256KW":it(),A128KW:me(128),A192KW:me(192),A256KW:me(256),A128GCMKW:me(128,!0),A192GCMKW:me(192,!0),A256GCMKW:me(256,!0),"PBES2-HS256+A128KW":Ot(),"PBES2-HS384+A192KW":Ot(),"PBES2-HS512+A256KW":Ot()}),un=["encrypt","decrypt"];function ye(e,t=!1){return{kty:["oct"],secret:!0,subtle:{name:t?"AES-CBC":"AES-GCM",length:e},usages:st,ops:un,cekBits:e,ivBits:t?128:96,cbc:t}}var ln=Ce({A128GCM:ye(128),A192GCM:ye(192),A256GCM:ye(256),"A128CBC-HS256":ye(256,!0),"A192CBC-HS384":ye(384,!0),"A256CBC-HS512":ye(512,!0)});function dr(e,t){throw new w(`Invalid or unsupported "${e}" (JWE ${t}) header value`)}function L(e){return(typeof e==="string"?_t[e]:void 0)??dr("alg","Algorithm")}function pe(e){return(typeof e==="string"?ln[e]:void 0)??dr("enc","Encryption Algorithm")}function fr(e,t){if(e.algorithm.name!=="ECDH"&&e.algorithm.name!=="X25519")throw TypeError("CryptoKey does not support this operation, its algorithm.name must be ECDH or X25519");St(e,t)}async function lr(e,t,r){let o=L(t).subtle,s=e instanceof Uint8Array?await crypto.subtle.importKey("raw",e,"AES-KW",!0,[r]):e;return G(s,o,r),s}async function Dt(e,t,r){let o=await lr(t,e,"wrapKey"),s=await crypto.subtle.importKey("raw",r,{hash:"SHA-256",name:"HMAC"},!0,["sign"]);return new Uint8Array(await crypto.subtle.wrapKey("raw",s,o,"AES-KW"))}async function Ut(e,t,r){let o=await lr(t,e,"unwrapKey"),s=await crypto.subtle.unwrapKey("raw",r,o,"AES-KW",{hash:"SHA-256",name:"HMAC"},!0,["sign"]);return new Uint8Array(await crypto.subtle.exportKey("raw",s))}function mr(e,t,r){G(t,L(e).subtle,r),Be(e,t)}function mn(e,t){if(e instanceof Uint8Array)return crypto.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);return G(e,L(t).subtle,"deriveBits"),e}async function yr(e,t,r,o){if(!(e instanceof Uint8Array)||e.length<8)throw new m("PBES2 Salt Input must be 8 or more octets");if(!Number.isSafeInteger(r)||Math.sign(r)!==1)throw new m("PBES2 Count Input must be a positive integer");let s=W(K(t),Uint8Array.of(0),e),p=parseInt(t.slice(13,16),10),c={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:s},d=await mn(o,t);return new Uint8Array(await crypto.subtle.deriveBits(c,d,p))}function Rt(e){return W(He(e.length),e)}async function yn(e,t,r){let o=t>>3,s=32,p=Math.ceil(o/32),c=new Uint8Array(p*32);for(let d=1;d<=p;d++){let f=await tt("sha256",W(He(d),e,r));c.set(f,(d-1)*32)}return c.slice(0,o)}async function hr(e,t,r,o,s=new Uint8Array,p=new Uint8Array){fr(e),fr(t,"deriveBits");let c=W(Rt(K(r)),Rt(s),Rt(p),He(o)),d=new Uint8Array(await crypto.subtle.deriveBits({name:e.algorithm.name,public:e},t,e.algorithm.name==="X25519"?256:Math.ceil(parseInt(e.algorithm.namedCurve.slice(-3),10)/8)<<3));return yn(d,o,c)}function wr(e){ze(e);let t=e.algorithm.namedCurve;if(t!=="P-256"&&t!=="P-384"&&t!=="P-521"&&e.algorithm.name!=="X25519")throw new w("ECDH with the provided key is not allowed or not supported by your javascript runtime")}function ve(e){if(e===void 0)throw new m("JWE Encrypted Key missing")}function ur(e){if(e!==void 0)throw new m("Encountered unexpected JWE Encrypted Key")}async function gr(e,t,r,o,s,p){let c=L(e);if(e==="dir")return ur(o),r;switch(c.subtle.name){case"ECDH":{if(e==="ECDH-ES")ur(o);if(!J(s.epk))throw new m('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');wr(r);let d=await q(c,s.epk),f,u;if(s.apu!==void 0){if(typeof s.apu!=="string")throw new m('JOSE Header "apu" (Agreement PartyUInfo) invalid');f=I(s.apu,"apu",m)}if(s.apv!==void 0){if(typeof s.apv!=="string")throw new m('JOSE Header "apv" (Agreement PartyVInfo) invalid');u=I(s.apv,"apv",m)}let l=await hr(d,r,e==="ECDH-ES"?t.alg:e,e==="ECDH-ES"?t.cekBits:parseInt(e.slice(-5,-2),10),f,u);if(e==="ECDH-ES")return l;return ve(o),Ut(e.slice(-6),l,o)}case"RSA-OAEP":return ve(o),ze(r),mr(e,r,"decrypt"),new Uint8Array(await crypto.subtle.decrypt("RSA-OAEP",r,o));case"PBKDF2":{if(ve(o),typeof s.p2c!=="number")throw new m('JOSE Header "p2c" (PBES2 Count) missing or invalid');let d=p||1e4;if(s.p2c>d)throw new m('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof s.p2s!=="string")throw new m('JOSE Header "p2s" (PBES2 Salt) missing or invalid');let f=I(s.p2s,"p2s",m),u=await yr(f,e,s.p2c,r);return Ut(e.slice(-6),u,o)}case"AES-KW":return ve(o),Ut(e,r,o);case"AES-GCM":{if(ve(o),typeof s.iv!=="string")throw new m('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof s.tag!=="string")throw new m('JOSE Header "tag" (Authentication Tag) missing or invalid');let d;d=I(s.iv,"iv",m);let f;return f=I(s.tag,"tag",m),Fe(pe(e.slice(0,-2)),r,o,d,f,new Uint8Array)}}}async function Er(e,t,r,o,s={}){let p,c,d,f=L(e);if(e==="dir")return[r,void 0,void 0];switch(f.subtle.name){case"ECDH":{wr(r);let{apu:u,apv:l}=s;if(u!==void 0)se(u,'"apu"');if(l!==void 0)se(l,'"apv"');let y;if(s.epk!==void 0)y=await M(f,s.epk,"decrypt");else y=(await crypto.subtle.generateKey(r.algorithm,!0,["deriveBits"])).privateKey;let h=crypto.subtle,T=y;if(!T.extractable){if(typeof h.getPublicKey!=="function")throw TypeError('CryptoKey for "epk" must be extractable');T=await h.getPublicKey(y,[])}let{x:D,y:A,crv:b,kty:_}=await h.exportKey("jwk",T),g=await hr(r,y,e==="ECDH-ES"?t.alg:e,e==="ECDH-ES"?t.cekBits:parseInt(e.slice(-5,-2),10),u,l);if(c={epk:{x:D,crv:b,kty:_}},_==="EC")c.epk.y=A;if(u)c.apu=E(u);if(l)c.apv=E(l);if(e==="ECDH-ES"){d=g;break}d=o||Y(t);let P=e.slice(-6);p=await Dt(P,g,d);break}case"RSA-OAEP":{d=o||Y(t),ze(r),mr(e,r,"encrypt"),p=new Uint8Array(await crypto.subtle.encrypt("RSA-OAEP",r,d));break}case"PBKDF2":{d=o||Y(t);let{p2c:u=2048,p2s:l=crypto.getRandomValues(new Uint8Array(16))}=s,y=await yr(l,e,u,r);p=await Dt(e.slice(-6),y,d),c={p2c:u,p2s:E(l)};break}case"AES-KW":{d=o||Y(t),p=await Dt(e,r,d);break}case"AES-GCM":{d=o||Y(t);let{iv:u}=s,l=await Ge(pe(e.slice(0,-2)),d,r,u,new Uint8Array);p=l.ciphertext,c={iv:E(l.iv),tag:E(l.tag)};break}}return[d,p,c]}var he={__proto__:null,b64:!0},pt={__proto__:null};function Te(e,t){if(t!==void 0&&(!Array.isArray(t)||t.some((r)=>typeof r!=="string")))throw TypeError(`"${e}" option must be an array of strings`);if(!t)return;return new Set(t)}function dt(e,t){let{crit:r}=t??{};if(Array.isArray(r)&&new Set(r).size!==r.length)throw new e('"crit" (Critical) Header Parameter MUST NOT contain duplicate values')}function j(e,t,r,o,s){if(s.crit!==void 0&&o?.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!o||o.crit===void 0)return[];if(!Array.isArray(o.crit)||o.crit.length===0||o.crit.some((c)=>typeof c!=="string"||c.length===0))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let p=r===void 0?t:{__proto__:null,...r,...t};for(let c of o.crit){if(!(c in p))throw new w(`Extension Header Parameter "${c}" is not recognized`);if(!Object.hasOwn(s,c)||s[c]===void 0)throw new e(`Extension Header Parameter "${c}" is missing`);if(p[c]&&(!Object.hasOwn(o,c)||o[c]===void 0))throw new e(`Extension Header Parameter "${c}" MUST be integrity protected`)}return o.crit}function we(e,t){if(t.includes("b64")){let r=e.b64;if(typeof r!=="boolean")throw new S('The "b64" (base64url-encode payload) Header Parameter must be a boolean');return r}return!0}function ge(e,t){let r,o;try{r=JSON.stringify(t),o=JSON.parse(r)}catch(s){throw new e("JOSE Header is not valid JSON",{cause:s})}if(!J(o))throw new e("JOSE Header is not a JSON object");return[o,r]}function ft(e,t){if(e.zip!==void 0&&e.zip!=="DEF")throw new w('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value.');if(e.zip!==void 0&&!t?.zip)throw new m('JWE "zip" (Compression Algorithm) Header Parameter MUST be in a protected header.')}function br(e){if(typeof globalThis[e]>"u")throw new w(`JWE "zip" (Compression Algorithm) Header Parameter requires the ${e} API.`)}async function Sr(e){br("CompressionStream");let t=new CompressionStream("deflate-raw"),r=t.writable.getWriter();r.write(e).catch(()=>{}),r.close().catch(()=>{});let o=[],s=t.readable.getReader();for(;;){let{value:p,done:c}=await s.read();if(c)break;o.push(p)}return W(...o)}async function Ar(e,t){br("DecompressionStream");let r=new DecompressionStream("deflate-raw"),o=r.writable.getWriter();o.write(e).catch(()=>{}),o.close().catch(()=>{});let s=[],p=0,c=r.readable.getReader();for(;;){let{value:d,done:f}=await c.read();if(f)break;if(s.push(d),p+=d.byteLength,t!==1/0&&p>t)throw new m("Decompressed plaintext exceeded the configured limit")}return W(...s)}function xr(e){return[e&&Te("keyManagementAlgorithms",e.keyManagementAlgorithms),e&&Te("contentEncryptionAlgorithms",e.contentEncryptionAlgorithms),e?.crit,e?.maxPBES2Count,e?.maxDecompressedLength]}async function hn(e,t,r,o,s){let[p,c,d,f,u]=r,[l,y,h,T,D]=t,{encrypted_key:A}=e;j(m,pt,d,l,s),ft(s,l);let{alg:b,enc:_}=s;if(typeof b!=="string"||!b)throw new m("missing JWE Algorithm (alg) in JWE Header");if(typeof _!=="string"||!_)throw new m("missing JWE Encryption Algorithm (enc) in JWE Header");if(p&&!p.has(b)||!p&&b.startsWith("PBES2"))throw new ue('"alg" (Algorithm) Header Parameter value not allowed');if(c&&!c.has(_))throw new ue('"enc" (Encryption Algorithm) Header Parameter value not allowed');let g=pe(_),P;if(A!==void 0)P=I(A,"encrypted_key",m);let R=!1;if(typeof o==="function")o=await o(l,e),R=!0;let z=L(b),H=await M(b==="dir"?g:z,o,"decrypt"),N;try{if(N=await gr(b,g,H,P,s,f),A!==void 0&&N instanceof Uint8Array&&N.byteLength<<3!==g.cekBits)N=Y(g)}catch(O){if(O instanceof TypeError||O instanceof m||O instanceof w)throw O;N=Y(g)}let re=await Fe(g,N,y,h,T,D);if(s.zip==="DEF"){let O=u??250000;if(O===0)throw new w('JWE "zip" (Compression Algorithm) Header Parameter is not supported.');if(O!==1/0&&(!Number.isSafeInteger(O)||O<1))throw TypeError("maxDecompressedLength must be 0, a positive safe integer, or Infinity");re=await Ar(re,O).catch((ie)=>{if(ie instanceof m)throw ie;throw new m("Failed to decompress plaintext",{cause:ie})})}return[re,l,H,R]}async function Kr(e,t,r){if(e instanceof Uint8Array)e=ae.decode(e);if(typeof e!=="string")throw new m("Compact JWE must be a string or Uint8Array");let{0:o,1:s,2:p,3:c,4:d,length:f}=e.split(".");if(f!==5)throw new m("Invalid Compact JWE");let u={ciphertext:c,iv:p||void 0,protected:o,tag:d||void 0,encrypted_key:s||void 0},l=te(o,m,"JWE Protected Header is invalid"),y=K(o),h=[l,I(c,"ciphertext",m),p?I(p,"iv",m):void 0,d?I(d,"tag",m):void 0,y];return hn(u,h,t,r,l)}function Jr(e,t,r){if(!nr(e,t,r))throw new m("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint")}function wn(e){let[,t,r,o,s,p,c,d,f]=e;if(s!==void 0)se(s,"JWE Additional Authenticated Data");if(p!==void 0)se(p,"JWE Content Encryption Key");if(c!==void 0)se(c,"JWE Initialization Vector");if(t!==void 0)t=ge(m,t)[0],e[1]=t;if(r!==void 0)r=ge(m,r)[0],e[2]=r;if(o!==void 0)o=ge(m,o)[0],e[3]=o;if(d!==void 0&&!J(d))throw TypeError("JWE Key Management Parameters must be an object");Jr(t,r,o);let u={...t,...r,...o};dt(m,t),j(m,pt,f,t,u),ft(u,t);let{alg:l,enc:y}=u;if(typeof l!=="string"||!l)throw new m('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof y!=="string"||!y)throw new m('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');return[u,l,y,pe(y)]}async function gn(e,t,r){let[o,s,,p]=t,[c,d,f,u,l,y,h,T,,D]=e,A=d,b=f;if(y&&(s==="dir"||s==="ECDH-ES"))throw TypeError(`setContentEncryptionKey cannot be called with JWE "alg" (Algorithm) Header ${s}`);let _=L(s),g=await M(s==="dir"?p:_,r,"encrypt"),[P,R,z]=await Er(s,p,g,y,T);if(z){if(D)b=b?{...b,...z}:z;else A=A?{...A,...z}:z;Jr(A,b,u)}let H,N;if(A)H=E(JSON.stringify(A)),N=K(H);else H="",N=new Uint8Array;let re,O;if(l?.byteLength)O=E(l),re=W(N,K("."),K(O));else re=N;let ie=c;if(o.zip==="DEF")ie=await Sr(ie).catch((jr)=>{throw new m("Failed to compress plaintext",{cause:jr})});let{ciphertext:Lr,tag:Xt,iv:Yt}=await Ge(p,ie,P,h,re),ee={ciphertext:E(Lr)};if(Yt)ee.iv=E(Yt);if(Xt)ee.tag=E(Xt);if(R)ee.encrypted_key=E(R);if(O)ee.aad=O;if(A)ee.protected=H;if(u)ee.unprotected=u;if(b)ee.header=b;return ee}async function Wr(e,t,r){if(!e[1]&&!e[2]&&!e[3])throw new m("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(r!==void 0)e[8]=r?.crit,e[9]=r?or in r:!1;return gn(e,wn(e),t)}async function Cr(e,t,r){if(t instanceof Uint8Array)return crypto.subtle.importKey("raw",t,e.subtle,!1,[r]);if(G(t,e.subtle,r),e.minRsaBits)Be(e.alg,t);return t}async function vr(e,t,r){let o=await Cr(e,t,"sign"),s=await crypto.subtle.sign(e.signing,o,r);return new Uint8Array(s)}async function Tr(e,t,r,o){let s=await Cr(e,t,"verify");try{return await crypto.subtle.verify(e.signing,s,r,o)}catch{return!1}}var Pe=[["verify"],["sign"]];function Nt(e){let t={name:"HMAC",hash:`SHA-${e}`};return{kty:["oct"],secret:!0,subtle:t,signing:t,usages:Pe}}function Ee(e,t){let o={name:t?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:`SHA-${e}`};return{kty:["RSA"],subtle:o,signing:t?{...o,saltLength:t}:o,usages:Pe,minRsaBits:2048}}function Ht(e,t){return{kty:["EC"],crv:e,subtle:{name:"ECDSA",namedCurve:e},signing:{name:"ECDSA",hash:`SHA-${t}`},usages:Pe}}function Pr(){let e={name:"Ed25519"};return{kty:["OKP"],crv:"Ed25519",subtle:e,signing:e,usages:Pe}}function kt(e){let r={name:`ML-DSA-${e}`};return{kty:["AKP"],subtle:r,signing:r,usages:Pe}}var Ie=Ce({HS256:Nt(256),HS384:Nt(384),HS512:Nt(512),RS256:Ee(256),RS384:Ee(384),RS512:Ee(512),PS256:Ee(256,32),PS384:Ee(384,48),PS512:Ee(512,64),ES256:Ht("P-256",256),ES384:Ht("P-384",384),ES512:Ht("P-521",512),EdDSA:Pr(),Ed25519:Pr(),"ML-DSA-44":kt(44),"ML-DSA-65":kt(65),"ML-DSA-87":kt(87)});function ut(e){let t=typeof e==="string"?Ie[e]:void 0;if(!t)throw new w(`alg ${e} is not supported either by JOSE or your javascript runtime`);return t}function Ir(e){return[e&&Te("algorithms",e.algorithms),e?.crit]}function En(e,t=e===void 0?{}:te(e,S,"JWS Protected Header is invalid")){return t}function bn(e,t,r){let o=we(e,j(S,he,r[1],e,t)),s=t.alg;if(typeof s!=="string"||!s)throw new S('JWS "alg" (Algorithm) Header Parameter missing or invalid');if(r[0]&&!r[0].has(s))throw new ue('"alg" (Algorithm) Header Parameter value not allowed');return[o,s]}function Sn(e){try{return K(e)}catch{throw new S("JWS Compact Serialization payload must use only ASCII characters")}}async function An(e,t,r,o,s,p,c){let d=!1;if(typeof r==="function")r=await r(s,e),d=!0;let f=typeof c==="string",u=ut(p),l=W(o!==void 0?K(o):new Uint8Array,K("."),f?t[2]??=Tt(c,"payload",S):c),y=I(e.signature,"signature",S),h=await M(u,r,"verify");if(!await Tr(u,h,y,l))throw new Kt;return[f?I(c,"payload",S):c,s,f,h,d]}async function Or(e,t,r){if(e instanceof Uint8Array)e=ae.decode(e);if(typeof e!=="string")throw new S("Compact JWS must be a string or Uint8Array");let{0:o,1:s,2:p,length:c}=e.split(".");if(c!==3)throw new S("Invalid Compact JWS");let d={payload:s,protected:o,signature:p},f=En(o),[u,l]=bn(f,f,t),y=u?s:Sn(s);return An(d,t,r,o,f,l,y)}var Oe=(e)=>Math.floor(e.getTime()/1000),xn={s:1,m:60,h:3600,d:86400,w:604800,y:31557600},Kn=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i,be="check_failed";function Bt(){throw TypeError("Invalid time period format")}function lt(e){if(typeof e!=="string")Bt();let t=Kn.exec(e);if(!t||t[4]&&t[1])Bt();let r=parseFloat(t[2]),o=Math.round(r*xn[t[3][0].toLowerCase()]);if(!Number.isFinite(o))Bt();if(t[1]==="-"||t[4]==="ago")return-o;return o}function Se(e,t){if(!Number.isFinite(t))throw TypeError(`Invalid ${e} input`);return t}function Mt(e,t){if(typeof t!=="string")throw TypeError(`"${e}" claim must be a string`)}function Jn(e){if(typeof e!=="string"&&(!Array.isArray(e)||Array.from(e).some((t)=>typeof t!=="string")))throw TypeError('"aud" claim must be a string or an array of strings')}function $t(e,t){if(typeof e==="number")return Se(t,e);if(e instanceof Date)return Se(t,Oe(e));return Oe(new Date)+lt(e)}var _r=(e)=>{let t=e.toLowerCase();return e.includes("/")?t:`application/${t}`},Wn=(e,t)=>{if(typeof e==="string")return t.includes(e);if(Array.isArray(e))return t.some((r)=>e.includes(r));return!1};function Lt(e,t,r=!1){let o=e[t];if(o===void 0&&!r)return;if(typeof o!=="number")throw new k(`"${t}" claim must be a number`,e,t,"invalid");return o}function jt(e,t){throw new k(`unexpected "${t}" claim value`,e,t,be)}function Ae(e,t,r={}){let o;try{o=JSON.parse(fe.decode(t))}catch{}if(!J(o))throw new x("JWT Claims Set must be a top-level JSON object");let{typ:s}=r;if(s!==void 0&&(typeof e.typ!=="string"||_r(e.typ)!==_r(s)))throw new k('unexpected "typ" JWT header value',o,"typ",be);let{requiredClaims:p=[],issuer:c,subject:d,audience:f,maxTokenAge:u}=r,l=[...p];if(u!==void 0)l.push("iat");if(f!==void 0)l.push("aud");if(d!==void 0)l.push("sub");if(c!==void 0)l.push("iss");for(let g of new Set(l.reverse()))if(!Object.hasOwn(o,g))throw new k(`missing required "${g}" claim`,o,g,"missing");if(c!==void 0&&!(Array.isArray(c)?c:[c]).includes(o.iss))jt(o,"iss");if(d!==void 0&&o.sub!==d)jt(o,"sub");if(f!==void 0&&!Wn(o.aud,typeof f==="string"?[f]:f))jt(o,"aud");let{clockTolerance:y}=r,h=0;if(typeof y==="string")h=lt(y);else if(y!==void 0){if(typeof y!=="number")throw TypeError("Invalid clockTolerance option type");h=y}Se("clockTolerance option",h);let{currentDate:T}=r,D=Se("currentDate option",Oe(T===void 0?new Date:T)),A=Lt(o,"iat",u!==void 0),b=Lt(o,"nbf");if(b!==void 0){if(b>D+h)throw new k('"nbf" claim timestamp check failed',o,"nbf",be)}let _=Lt(o,"exp");if(_!==void 0){if(_<=D-h)throw new Me('"exp" claim timestamp check failed',o,"exp",be)}if(u!==void 0){let g=D-A,P=Se("maxTokenAge option",typeof u==="number"?u:lt(u));if(g-h>P)throw new Me('"iat" claim timestamp check failed (too far in the past)',o,"iat",be);if(g<-h)throw new k('"iat" claim timestamp check failed (it should be in the past)',o,"iat",be)}return o}var Dr;function Z(e){return Dr.get(e)}function xe(e){let t=Z(e);for(let r of["iat","nbf","exp"]){let o=t[r];if(typeof o==="number"&&!Number.isFinite(o))throw TypeError(`"${r}" claim must be a finite number`)}return Ke.encode(JSON.stringify(t))}function mt(e,t){return Z(e)[t]}class de{constructor(e={}){if(!J(e))throw TypeError("JWT Claims Set MUST be an object");(Dr||=new WeakMap).set(this,structuredClone(e))}setIssuer(e){return Mt("iss",e),Z(this).iss=e,this}setSubject(e){return Mt("sub",e),Z(this).sub=e,this}setAudience(e){return Jn(e),Z(this).aud=e,this}setJti(e){return Mt("jti",e),Z(this).jti=e,this}setNotBefore(e){return Z(this).nbf=$t(e,"setNotBefore"),this}setExpirationTime(e){return Z(this).exp=$t(e,"setExpirationTime"),this}setIssuedAt(e){let t=Z(this);if(e===void 0)t.iat=Oe(new Date);else if(typeof e==="string")t.iat=Se("setIssuedAt",Oe(new Date)+lt(e));else t.iat=$t(e,"setIssuedAt");return this}}async function U(e,t,r){let o=await Or(e,Ir(r),t);if(!o[2])throw new x("JWTs MUST NOT use unencoded payload");let p={payload:Ae(o[1],o[0],r),protectedHeader:o[1]};if(typeof t==="function")return{...p,key:o[3]};return p}async function Ye(e,t,r){let o=await Kr(e,xr(r),t),s=o[1],p=Ae(s,o[0],r);for(let d of["iss","sub","aud"])if(s[d]!==void 0&&(d==="aud"?JSON.stringify(s.aud)!==JSON.stringify(p.aud):s[d]!==p[d]))throw new k(`replicated "${d}" claim header parameter mismatch`,p,d,"mismatch");let c={payload:p,protectedHeader:s};if(typeof t==="function")return{...c,key:o[2]};return c}function Cn(e){if(e===void 0)return[void 0,""];let t=ge(S,e);return[t[0],E(t[1])]}function vn(e,t,r){return dt(S,e),we(e,j(S,he,r,e,t))}function Tn(e){let t=e.alg;if(typeof t!=="string"||!t)throw new S('JWS "alg" (Algorithm) Header Parameter missing or invalid');return ut(t)}async function Pn(e,t,r,o){let s=W(K(e),K("."),t),p=await M(r,o,"sign");return E(await vr(r,p,s))}async function Ur(e,t,r,o,s){let[p,c]=Cn(t);if(!p)throw new S("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!vn(p,p,r))s();let f=Tn(p),u=E(e),l=await Pn(c,K(u),f,o);return`${c}.${u}.${l}`}var In=de;class Xe extends In{#e;setProtectedHeader(e){return ce(this.#e,"setProtectedHeader"),this.#e=e,this}async sign(e,t){return Ur(xe(this),this.#e,t?.crit,e,()=>{throw new x("JWTs MUST NOT use unencoded payload")})}}var On=de;class Ze extends On{#e;#r;#n;#t;#o;#i;#a;setProtectedHeader(e){return ce(this.#t,"setProtectedHeader"),this.#t=e,this}setKeyManagementParameters(e){return ce(this.#n,"setKeyManagementParameters"),this.#n=e,this}setContentEncryptionKey(e){return ce(this.#e,"setContentEncryptionKey"),this.#e=e,this}setInitializationVector(e){return ce(this.#r,"setInitializationVector"),this.#r=e,this}replicateIssuerAsHeader(){return this.#o=!0,this}replicateSubjectAsHeader(){return this.#i=!0,this}replicateAudienceAsHeader(){return this.#a=!0,this}async encrypt(e,t){let r=xe(this);if(this.#t&&(this.#o||this.#i||this.#a))this.#t={...this.#t,iss:this.#o?mt(this,"iss"):void 0,sub:this.#i?mt(this,"sub"):void 0,aud:this.#a?mt(this,"aud"):void 0};let o=await Wr([r,this.#t,void 0,void 0,void 0,this.#e,this.#r,this.#n,void 0,!1],e,t);return[o.protected,o.encrypted_key,o.iv,o.ciphertext,o.tag].join(".")}}var zt='"alg" (Algorithm)';function Vt(e='JWK "alg" (Algorithm) Parameter'){throw new w(`Invalid or unsupported ${e} value`)}function _e(e,t){return(typeof e==="string"?Ie[e]??_t[e]:void 0)??Vt(t)}function ht(e){if(e!==void 0&&typeof e!=="boolean")throw TypeError('"extractable" option must be a boolean');return e}var De=(e,t)=>{if(e.byteLength!==t.length)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},_n=(e)=>({data:e,pos:0}),Gt=(e)=>{let t=e.data[e.pos++];if(t===void 0)throw Error("Unexpected end of ASN.1 input");return t},Ue=(e)=>{let t=Gt(e);if(t&128){let r=t&127,o=0;for(let s=0;s<r;s++)o=o<<8|Gt(e);return o}return t};var Re=(e,t,r)=>{if(Gt(e)!==t)throw Error(r)},Rr=(e,t)=>{if(t<0||e.pos+t>e.data.length)throw Error("Unexpected end of ASN.1 input");let r=e.data.subarray(e.pos,e.pos+t);return e.pos+=t,r},Dn=(e)=>{Re(e,6,"Expected algorithm OID");let t=Ue(e);return Rr(e,t)};function Un(e,t){if(Re(e,48,`Invalid ${t==="spki"?"SPKI":"PKCS#8"} structure`),Ue(e),t==="pkcs8"){Re(e,2,"Expected version field");let r=Ue(e);e.pos+=r}Re(e,48,"Expected algorithm identifier"),Ue(e)}var Rn=(e)=>{let t=Dn(e);if(De(t,[43,101,110]))return"X25519";if(!De(t,[42,134,72,206,61,2,1]))throw Error("Unsupported key algorithm");Re(e,6,"Expected curve OID");let r=Ue(e),o=Rr(e,r);if(De(o,[42,134,72,206,61,3,1,7]))return"P-256";if(De(o,[43,129,4,0,34]))return"P-384";if(De(o,[43,129,4,0,35]))return"P-521";throw Error("Unsupported named curve")},Nn=async(e,t,r,o)=>{let s=ht(o?.extractable),p=_e(r,zt);if(p.secret)Vt(zt);let c=e==="spki",d;if(p.resolve)try{let f=_n(t);Un(f,e),d=p.resolve({crv:Rn(f)})}catch{throw new w("Invalid or unsupported key format")}else d=p.subtle;return crypto.subtle.importKey(e,t,d,s??c,p.usages[c?0:1])},Hn=(e,t)=>qe(e.replace(t,"")),Nr=(e,t,r)=>{let o=Hn(e,/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g);return Nn("pkcs8",o,t,r)};function kn(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}async function Bn(e){if(Jt(e))if(e.type==="secret")e=e.export();else return e.export({format:"jwk"});if(e instanceof Uint8Array)return{kty:"oct",k:E(e)};if(!X(e))throw TypeError(F(e,"CryptoKey","KeyObject","Uint8Array"));if(!e.extractable)throw TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:o,use:s,...p}=kn(await crypto.subtle.exportKey("jwk",e));if(p.kty==="AKP")p.alg=o;return p}function Hr(e){return Bn(e)}var Q=(e,t)=>{if(typeof e!=="string"||!e)throw new Le(`${t} missing or invalid`)};async function et(e,t){let r;if(J(e)){if(r=le(e),typeof r.kty!=="string")throw TypeError(F(e,"CryptoKey","KeyObject","JSON Web Key"))}else if(Ve(e))r=le(await Hr(e));else throw TypeError(F(e,"CryptoKey","KeyObject","JSON Web Key"));if(t??="sha256",t!=="sha256"&&t!=="sha384"&&t!=="sha512")throw TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let o;switch(r.kty){case"AKP":Q(r.alg,'"alg" (Algorithm) Parameter'),Q(r.pub,'"pub" (Public key) Parameter'),o={alg:r.alg,kty:r.kty,pub:r.pub};break;case"EC":Q(r.crv,'"crv" (Curve) Parameter'),Q(r.x,'"x" (X Coordinate) Parameter'),Q(r.y,'"y" (Y Coordinate) Parameter'),o={crv:r.crv,kty:r.kty,x:r.x,y:r.y};break;case"OKP":Q(r.crv,'"crv" (Subtype of Key Pair) Parameter'),Q(r.x,'"x" (Public Key) Parameter'),o={crv:r.crv,kty:r.kty,x:r.x};break;case"RSA":Q(r.e,'"e" (Exponent) Parameter'),Q(r.n,'"n" (Modulus) Parameter'),o={e:r.e,kty:r.kty,n:r.n};break;case"oct":if(typeof r.k!=="string")throw new Le('"k" (Key Value) Parameter missing or invalid');o={k:r.k,kty:r.kty};break;default:throw new w('"kty" (Key Type) Parameter missing or unsupported')}let s=K(JSON.stringify(o));return E(await tt(t,s))}function Mn(e,t,r,o){let{kty:s,key_ops:p,ext:c,kid:d,alg:f,use:u,crv:l}=le(e),y=Array.isArray(p)?[...p]:p;return(c===void 0||typeof c==="boolean")&&(y===void 0||Array.isArray(y)&&y.every((h,T)=>typeof h==="string"&&y.indexOf(h)===T)&&y.includes("verify"))&&t.kty.includes(s)&&(o===void 0||typeof o==="string"&&o===d)&&(f===void 0?s!=="AKP":r===f)&&(u===void 0||u==="sig")&&(!t.crv||l===t.crv)}async function kr(e,t,r){let o=e.get(t)||e.set(t,{}).get(t),{alg:s}=r;if(o[s]===void 0){let p=await q(r,{...t,alg:s,ext:!0});if(p.type!=="public")throw new je("JSON Web Key Set members must be public keys");o[s]=p}return o[s]}function at(e){let t;try{t=structuredClone(e)}catch{}if(!Qe(t))throw new je("JSON Web Key Set malformed");let r=new WeakMap;return Object.defineProperty(async(s,p)=>{let{alg:c,kid:d}={...s,...p?.header},f=typeof c==="string"?Ie[c]:void 0;if(!f||f.secret)throw new w('Unsupported "alg" value for a JSON Web Key Set');let u=t.keys.filter((h)=>Mn(h,f,c,d)),{0:l,length:y}=u;if(!y)throw new We;if(y!==1){let h=new At;throw h[Symbol.asyncIterator]=async function*(){for(let T of u)try{yield await kr(r,T,f)}catch{}},h}return kr(r,l,f)},"jwks",{value:()=>structuredClone(t)})}function $n(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}var Ft;if(typeof navigator>"u"||!navigator.userAgent?.startsWith?.("Mozilla/5.0 "))Ft="jose/v6.2.10";var Mr=Symbol();async function Ln(e,t,r,o=fetch){let s=await o(e,{method:"GET",signal:r,redirect:"manual",headers:t}).catch((p)=>{if(p.name==="TimeoutError")throw new xt;throw p});if(s.status!==200)throw new C("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await s.json()}catch{throw new C("Failed to parse the JSON Web Key Set HTTP response as JSON")}}var $r=Symbol();function Ne(e,t){return Number.isFinite(e)&&Date.now()<e+t}function Br(e,t,r){if(Number.isNaN(e))throw TypeError(`"${r}" option must not be NaN`);return typeof e==="number"?e:t}function ct(e,t){if(!(e instanceof URL))throw TypeError("url must be an instance of URL");let r=new URL(e.href).href,o=t??{},s=o.timeoutDuration;if(typeof s==="number"&&(!Number.isInteger(s)||s<0))throw TypeError('"timeoutDuration" option must be a non-negative integer');let p=typeof s==="number"?s:5000,c=Br(o.cooldownDuration,30000,"cooldownDuration"),d=Br(o.cacheMaxAge,600000,"cacheMaxAge"),f=new Headers(o.headers);if(Ft&&!f.has("User-Agent"))f.set("User-Agent",Ft);if(!f.has("accept"))f.set("accept","application/json, application/jwk-set+json");let u=o[Mr],l=o[$r],y,h,T=0,D=0,A;if(l&&typeof l==="object"){let{uat:g,jwks:P}=l;if(Ne(g,d)&&Qe(P))y=g,A=at(P)}let b=async()=>{if(h&&$n())h=void 0;if(!h){let g=++T,P=h=Ln(r,f,AbortSignal.timeout(p),u).then((R)=>{let z=at(R);if(g<=D)return;A=z;let H=Date.now();if(l)l.uat=H,l.jwks=R;y=H,D=g}).finally(()=>{if(h===P)h=void 0})}await h};return Object.defineProperties(async(g,P)=>{if(!A||!Ne(y,d))await b();try{return await A(g,P)}catch(R){if(R instanceof We&&!Ne(y,c))return await b(),A(g,P);throw R}},{coolingDown:{get:()=>Ne(y,c),enumerable:!0},fresh:{get:()=>Ne(y,d),enumerable:!0},reload:{value:b,enumerable:!0},reloading:{get:()=>!!h,enumerable:!0},jwks:{value:()=>A?.jwks(),enumerable:!0}})}var jn=de;class wt extends jn{encode(){let e=E(JSON.stringify({alg:"none"})),t=E(xe(this));return`${e}.${t}.`}static decode(e,t){if(typeof e!=="string")throw new x("Unsecured JWT must be a string");let{0:r,1:o,2:s,length:p}=e.split(".");if(p!==3||s!=="")throw new x("Invalid Unsecured JWT");let c,d;try{c=te(r,S,"JWS Protected Header is invalid");let u=j(S,he,void 0,c,c);d=we(c,u)}catch(u){if(!(u instanceof S))throw u;throw new x("Invalid Unsecured JWT",{cause:u})}if(c.alg!=="none")throw new x("Invalid Unsecured JWT");if(!d)throw new x("JWTs MUST NOT use unencoded payload");return{payload:Ae(c,I(o,"payload",x),t),header:c}}}async function vt(e,t,r){if(typeof e!=="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw TypeError('"pkcs8" must be PKCS#8 formatted string');return Nr(e,t,r)}async function oe(e,t,r){if(!J(e))throw TypeError("JWK must be an object");let o=rt(e),s=ht(r?.extractable),{alg:p}=o;t??=p;let c=s??o.ext;if(o.kty!=="oct"&&!t)throw TypeError('"alg" argument is required when "jwk.alg" is not present');switch(o.kty){case"oct":if(typeof o.k!=="string")throw TypeError('missing "k" (Key Value) Parameter value');return B(o.k);case"AKP":{if(typeof p!=="string"||!p)throw TypeError('missing "alg" (Algorithm) Parameter value');if(t!==p)throw TypeError("JWK alg and alg option value mismatch");return q(_e(t),{...o,ext:c})}case"RSA":case"EC":case"OKP":return q(_e(t),{...o,alg:t,ext:c});default:throw new w('Unsupported "kty" (Key Type) Parameter value')}}function V(e){let t;if(typeof e==="string"){let o=e.split(".");if(o.length===3||o.length===5)[t]=o}else if(typeof e==="object"&&e)if("protected"in e)t=e.protected;else throw TypeError("Token does not contain a Protected Header");let r="Invalid Token or Protected Header formatting";if(typeof t!=="string"||!t)throw TypeError(r);return te(t,TypeError,r)}function v(e){if(typeof e!=="string")throw new x("JWTs must use Compact JWS serialization, JWT must be a string");let{1:t,length:r}=e.split(".");if(r===5)throw new x("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new x("Invalid JWT");if(!t)throw new x("JWTs must contain a payload");let o;try{o=B(t)}catch{throw new x("Failed to base64url decode the payload")}let s;try{s=JSON.parse(fe.decode(o))}catch{throw new x("Failed to parse the decoded payload as JSON")}if(!J(s))throw new x("Invalid JWT Claims Set");return s}export{i,n,ne,a,Me,E,yt,U,Ye,Xe,Ze,et,at,ct,wt,vt,oe,V,v};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{D,C,m,N,I,z,g,X,G,h,Pe,pe,Z,ee}from"./shumai-agent-app.js";var{awsEndpointFunctions:At,emitWarningIfUnsupportedVersion:Et,createDefaultUserAgentProvider:vt,NODE_APP_ID_CONFIG_OPTIONS:yt,getAwsRegionExtensionConfiguration:It,resolveAwsRegionExtensionConfiguration:Rt,resolveUserAgentConfig:_t,resolveHostHeaderConfig:Ct,getUserAgentPlugin:xt,getHostHeaderPlugin:wt,getLoggerPlugin:Tt,getRecursionDetectionPlugin:Dt,setCredentialFeature:ie,stsRegionDefaultResolver:bt}=h(),{NoAuthSigner:_e,getHttpAuthSchemeEndpointRuleSetPlugin:$t,DefaultIdentityProviderConfig:kt,getHttpSigningPlugin:Ot}=G(),{normalizeProvider:Ce,getSmithyContext:xe,ServiceException:Nt,NoOpLogger:Wt,emitWarningIfUnsupportedVersion:Ht,loadConfigsForDefaultMode:Ut,getDefaultExtensionConfiguration:qt,resolveDefaultRuntimeConfig:Ft,Client:we,makeBuilder:Lt,createAggregatedClient:Kt}=C(),{Command:Mt}=C();var jn=Mt,Gn=we;var{resolveDefaultsModeConfig:jt,loadConfig:y,NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS:Gt,NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS:Vt,NODE_REGION_CONFIG_OPTIONS:zt,NODE_REGION_CONFIG_FILE_OPTIONS:Bt,resolveRegionConfig:Qt}=m(),{BinaryDecisionDiagram:Yt,EndpointCache:Xt,decideEndpoint:Jt,customEndpointFunctions:Zt,resolveParams:es,resolveEndpointConfig:ts,getEndpointPlugin:ss}=N(),{parseUrl:ns,getHttpHandlerExtensionConfiguration:os,resolveHttpHandlerRuntimeConfig:rs,getContentLengthPlugin:is}=g(),{DEFAULT_RETRY_MODE:as,NODE_RETRY_MODE_CONFIG_OPTIONS:cs,NODE_MAX_ATTEMPT_CONFIG_OPTIONS:us,resolveRetryConfig:ds,getRetryPlugin:ls}=X(),{TypeRegistry:Te,getSchemaSerdePlugin:ps}=D(),{resolveAwsSdkSigV4Config:gs,resolveAwsSdkSigV4AConfig:hs,AwsSdkSigV4Signer:De,AwsSdkSigV4ASigner:be,NODE_SIGV4A_CONFIG_OPTIONS:ms,NODE_AUTH_SCHEME_PREFERENCE_OPTIONS:Ps}=Z(),{SignatureV4MultiRegion:$e}=Pe(),{toUtf8:fs,fromUtf8:Ss,toBase64:As,fromBase64:Es,calculateBodyLength:vs}=I(),{streamCollector:ys,NodeHttpHandler:Is}=ee(),{AwsQueryProtocol:Rs}=pe(),{Sha256:_s}=z(),U="ref",x=-1,q=!0,fe="isSet",ke="PartitionResult",F="booleanEquals",u="stringEquals",oe="getAttr",Se="us-east-1",Ae="sigv4",Ee="sts",ve="https://sts.{Region}.{PartitionResult#dnsSuffix}",ye={[U]:"Endpoint"},d={[U]:"Region"},re={[U]:ke},H={},Ie=[d],Re={conditions:[[fe,[ye]],[fe,Ie],["aws.partition",Ie,ke],[F,[{[U]:"UseFIPS"},q]],[F,[{[U]:"UseDualStack"},q]],[u,[d,"aws-global"]],[F,[{[U]:"UseGlobalEndpoint"},q]],[u,[d,"eu-central-1"]],[F,[{fn:oe,argv:[re,"supportsDualStack"]},q]],[F,[{fn:oe,argv:[re,"supportsFIPS"]},q]],[u,[d,"ap-south-1"]],[u,[d,"eu-north-1"]],[u,[d,"eu-west-1"]],[u,[d,"eu-west-2"]],[u,[d,"eu-west-3"]],[u,[d,"sa-east-1"]],[u,[d,Se]],[u,[d,"us-east-2"]],[u,[d,"us-west-2"]],[u,[d,"us-west-1"]],[u,[d,"ca-central-1"]],[u,[d,"ap-southeast-1"]],[u,[d,"ap-northeast-1"]],[u,[d,"ap-southeast-2"]],[u,[{fn:oe,argv:[re,"name"]},"aws-us-gov"]]],results:[[x],["https://sts.amazonaws.com",{authSchemes:[{name:Ae,signingName:Ee,signingRegion:Se}]}],[ve,{authSchemes:[{name:Ae,signingName:Ee,signingRegion:"{Region}"}]}],[x,"Invalid Configuration: FIPS and custom endpoint are not supported"],[x,"Invalid Configuration: Dualstack and custom endpoint are not supported"],[ye,H],["https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",H],[x,"FIPS and DualStack are enabled, but this partition does not support one or both"],["https://sts.{Region}.amazonaws.com",H],["https://sts-fips.{Region}.{PartitionResult#dnsSuffix}",H],[x,"FIPS is enabled but this partition does not support FIPS"],["https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}",H],[x,"DualStack is enabled but this partition does not support DualStack"],[ve,H],[x,"Invalid Configuration: Missing Region"]]},Cs=2,o=1e8,xs=new Int32Array([-1,1,-1,0,30,3,1,4,o+14,2,5,o+14,3,25,6,4,24,7,5,o+1,8,6,9,o+13,7,o+1,10,10,o+1,11,11,o+1,12,12,o+1,13,13,o+1,14,14,o+1,15,15,o+1,16,16,o+1,17,17,o+1,18,18,o+1,19,19,o+1,20,20,o+1,21,21,o+1,22,22,o+1,23,23,o+1,o+2,8,o+11,o+12,4,28,26,9,27,o+10,24,o+8,o+9,8,29,o+7,9,o+6,o+7,3,o+3,31,4,o+4,o+5]),ws=Yt.from(xs,Cs,Re.conditions,Re.results),Ts=new Xt({size:50,params:["Endpoint","Region","UseDualStack","UseFIPS","UseGlobalEndpoint"]}),Oe=(e,t={})=>Ts.get(e,()=>Jt(ws,{endpointParams:e,logger:t.logger}));Zt.aws=At;var Ds=(e)=>async(t,s,i)=>{if(!i)throw Error("Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`");let n=await e(t,s,i),c=xe(s)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!c)throw Error(`getEndpointParameterInstructions() is not defined on '${s.commandName}'`);let r=await es(i,{getEndpointParameterInstructions:c},t);return Object.assign(n,r)},bs=async(e,t,s)=>({operation:xe(t).operation,region:await Ce(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()}),$s=Ds(bs);function Ne(e){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"sts",region:e.region},propertiesExtractor:(t,s)=>({signingProperties:{config:t,context:s}})}}function ae(e){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"sts",region:e.region},propertiesExtractor:(t,s)=>({signingProperties:{config:t,context:s}})}}function We(e){return{schemeId:"smithy.api#noAuth"}}var ks=(e,t,s)=>(n)=>{let r=e(n).properties?.authSchemes;if(!r)return t(n);let l=[];for(let S of r){let{name:p,properties:A={},..._}=S,E=p.toLowerCase();if(p!==E)console.warn(`HttpAuthScheme has been normalized with lowercasing: '${p}' to '${E}'`);let f;if(E==="sigv4a"){f="aws.auth#sigv4a";let se=r.find((ne)=>{let me=ne.name.toLowerCase();return me!=="sigv4a"&&me.startsWith("sigv4")});if($e.sigv4aDependency()==="none"&&se)continue}else if(E.startsWith("sigv4"))f="aws.auth#sigv4";else throw Error(`Unknown HttpAuthScheme found in '@smithy.rules#endpointRuleSet': '${E}'`);let W=s[f];if(!W)throw Error(`Could not find HttpAuthOption create function for '${f}'`);let v=W(n);v.schemeId=f,v.signingProperties={...v.signingProperties||{},..._,...A},l.push(v)}return l},Os=(e)=>{let t=[];switch(e.operation){case"AssumeRoleWithWebIdentity":{t.push(We()),t.push(ae(e));break}default:t.push(Ne(e)),t.push(ae(e))}return t},Ns=ks(Oe,Os,{"aws.auth#sigv4":Ne,"aws.auth#sigv4a":ae,"smithy.api#noAuth":We}),Ws=(e)=>{let t=gs(e),s=hs(t);return Object.assign(s,{authSchemePreference:Ce(e.authSchemePreference??[])})},Hs=(e)=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,useGlobalEndpoint:e.useGlobalEndpoint??!1,defaultSigningName:"sts"}),Us={UseGlobalEndpoint:{type:"builtInParams",name:"useGlobalEndpoint"},UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}},qs="3.997.43",Fs={version:qs};class P extends Nt{constructor(e){super(e);Object.setPrototypeOf(this,P.prototype)}}class K extends P{name="ExpiredTokenException";$fault="client";constructor(e){super({name:"ExpiredTokenException",$fault:"client",...e});Object.setPrototypeOf(this,K.prototype)}}class M extends P{name="MalformedPolicyDocumentException";$fault="client";constructor(e){super({name:"MalformedPolicyDocumentException",$fault:"client",...e});Object.setPrototypeOf(this,M.prototype)}}class j extends P{name="PackedPolicyTooLargeException";$fault="client";constructor(e){super({name:"PackedPolicyTooLargeException",$fault:"client",...e});Object.setPrototypeOf(this,j.prototype)}}class V extends P{name="RegionDisabledException";$fault="client";constructor(e){super({name:"RegionDisabledException",$fault:"client",...e});Object.setPrototypeOf(this,V.prototype)}}class B extends P{name="IDPRejectedClaimException";$fault="client";constructor(e){super({name:"IDPRejectedClaimException",$fault:"client",...e});Object.setPrototypeOf(this,B.prototype)}}class Q extends P{name="InvalidIdentityTokenException";$fault="client";constructor(e){super({name:"InvalidIdentityTokenException",$fault:"client",...e});Object.setPrototypeOf(this,Q.prototype)}}class Y extends P{name="IDPCommunicationErrorException";$fault="client";$retryable={};constructor(e){super({name:"IDPCommunicationErrorException",$fault:"client",...e});Object.setPrototypeOf(this,Y.prototype)}}var Ls="Arn",Ks="AccessKeyId",Ms="AssumeRole",js="AssumedRoleId",Gs="AssumeRoleRequest",Vs="AssumeRoleResponse",ce="AssumedRoleUser",zs="AssumeRoleWithWebIdentity",Bs="AssumeRoleWithWebIdentityRequest",Qs="AssumeRoleWithWebIdentityResponse",Ys="Audience",ue="Credentials",Xs="ContextAssertion",He="DurationSeconds",Js="Expiration",Zs="ExternalId",en="ExpiredTokenException",tn="IDPCommunicationErrorException",sn="IDPRejectedClaimException",nn="InvalidIdentityTokenException",on="Key",rn="MalformedPolicyDocumentException",Ue="Policy",qe="PolicyArns",an="ProviderArn",cn="ProvidedContexts",un="ProvidedContextsListType",dn="ProvidedContext",ln="PolicyDescriptorType",pn="ProviderId",Fe="PackedPolicySize",gn="PackedPolicyTooLargeException",hn="Provider",Le="RoleArn",mn="RegionDisabledException",Ke="RoleSessionName",Pn="SecretAccessKey",fn="SubjectFromWebIdentityToken",de="SourceIdentity",Sn="SerialNumber",An="SessionToken",En="Tags",vn="TokenCode",yn="TransitiveTagKeys",In="Tag",Rn="Value",_n="WebIdentityToken",Cn="arn",xn="accessKeySecretType",w="awsQueryError",T="client",wn="clientTokenType",b="error",k="httpError",O="message",Tn="policyDescriptorListType",Me="smithy.ts.sdk.synthetic.com.amazonaws.sts",Dn="tagListType",a="com.amazonaws.sts",je=Te.for(Me),Ge=[-3,Me,"STSServiceException",0,[],[]];je.registerError(Ge,P);var R=Te.for(a),Ve=[-3,a,en,{[w]:["ExpiredTokenException",400],[b]:T,[k]:400},[O],[0]];R.registerError(Ve,K);var ze=[-3,a,tn,{[w]:["IDPCommunicationError",400],[b]:T,[k]:400},[O],[0]];R.registerError(ze,Y);var Be=[-3,a,sn,{[w]:["IDPRejectedClaim",403],[b]:T,[k]:403},[O],[0]];R.registerError(Be,B);var Qe=[-3,a,nn,{[w]:["InvalidIdentityToken",400],[b]:T,[k]:400},[O],[0]];R.registerError(Qe,Q);var Ye=[-3,a,rn,{[w]:["MalformedPolicyDocument",400],[b]:T,[k]:400},[O],[0]];R.registerError(Ye,M);var Xe=[-3,a,gn,{[w]:["PackedPolicyTooLarge",400],[b]:T,[k]:400},[O],[0]];R.registerError(Xe,j);var Je=[-3,a,mn,{[w]:["RegionDisabledException",403],[b]:T,[k]:403},[O],[0]];R.registerError(Je,V);var Ze=[je,R],bn=[0,a,xn,8,0],$n=[0,a,wn,8,0],le=[3,a,ce,0,[js,Ls],[0,0],2],et=[3,a,Gs,0,[Le,Ke,qe,Ue,He,En,yn,Zs,Sn,vn,de,cn],[0,0,()=>at,0,1,()=>On,64,0,0,0,0,()=>kn],2],tt=[3,a,Vs,0,[ue,ce,Fe,de],[[()=>ge,0],()=>le,1,0]],st=[3,a,Bs,0,[Le,Ke,_n,pn,qe,Ue,He],[0,0,[()=>$n,0],0,()=>at,0,1],3],nt=[3,a,Qs,0,[ue,fn,ce,Fe,hn,Ys,de],[[()=>ge,0],0,()=>le,1,0,0,0]],ge=[3,a,ue,0,[Ks,Pn,An,Js],[0,[()=>bn,0],0,4],4],ot=[3,a,ln,0,[Cn],[0]],rt=[3,a,dn,0,[an,Xs],[0,0]],it=[3,a,In,0,[on,Rn],[0,0],2],at=[1,a,Tn,0,()=>ot],kn=[1,a,un,0,()=>rt],On=[1,a,Dn,0,()=>it],ct=[9,a,Ms,0,()=>et,()=>tt],ut=[9,a,zs,0,()=>st,()=>nt],Nn=(e)=>({apiVersion:"2011-06-15",base64Decoder:e?.base64Decoder??Es,base64Encoder:e?.base64Encoder??As,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??Oe,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??Ns,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(t)=>t.getIdentityProvider("aws.auth#sigv4"),signer:new De},{schemeId:"aws.auth#sigv4a",identityProvider:(t)=>t.getIdentityProvider("aws.auth#sigv4a"),signer:new be},{schemeId:"smithy.api#noAuth",identityProvider:(t)=>t.getIdentityProvider("smithy.api#noAuth")||(async()=>({})),signer:new _e}],logger:e?.logger??new Wt,protocol:e?.protocol??Rs,protocolSettings:e?.protocolSettings??{defaultNamespace:"com.amazonaws.sts",errorTypeRegistries:Ze,xmlNamespace:"https://sts.amazonaws.com/doc/2011-06-15/",version:"2011-06-15",serviceTarget:"AWSSecurityTokenServiceV20110615"},serviceId:e?.serviceId??"STS",sha256:e?.sha256??_s,signerConstructor:e?.signerConstructor??$e,urlParser:e?.urlParser??ns,utf8Decoder:e?.utf8Decoder??Ss,utf8Encoder:e?.utf8Encoder??fs}),Wn=(e)=>{Ht(process.version);let t=jt(e),s=()=>t().then(Ut),i=Nn(e);Et(process.version);let n={profile:e?.profile,logger:i.logger};return{...i,...e,runtime:"node",defaultsMode:t,authSchemePreference:e?.authSchemePreference??y(Ps,n),bodyLengthChecker:e?.bodyLengthChecker??vs,defaultUserAgentProvider:e?.defaultUserAgentProvider??vt({serviceId:i.serviceId,clientVersion:Fs.version}),httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(c)=>c.getIdentityProvider("aws.auth#sigv4")||(async(r)=>await e.credentialDefaultProvider(r?.__config||{})()),signer:new De},{schemeId:"aws.auth#sigv4a",identityProvider:(c)=>c.getIdentityProvider("aws.auth#sigv4a"),signer:new be},{schemeId:"smithy.api#noAuth",identityProvider:(c)=>c.getIdentityProvider("smithy.api#noAuth")||(async()=>({})),signer:new _e}],maxAttempts:e?.maxAttempts??y(us,e),region:e?.region??y(zt,{...Bt,...n}),requestHandler:Is.create(e?.requestHandler??s),retryMode:e?.retryMode??y({...cs,default:async()=>(await s()).retryMode||as},e),sigv4aSigningRegionSet:e?.sigv4aSigningRegionSet??y(ms,n),streamCollector:e?.streamCollector??ys,useDualstackEndpoint:e?.useDualstackEndpoint??y(Vt,n),useFipsEndpoint:e?.useFipsEndpoint??y(Gt,n),userAgentAppId:e?.userAgentAppId??y(yt,n)}},Hn=(e)=>{let{httpAuthSchemes:t,httpAuthSchemeProvider:s,credentials:i}=e;return{setHttpAuthScheme(n){let c=t.findIndex((r)=>r.schemeId===n.schemeId);if(c===-1)t.push(n);else t.splice(c,1,n)},httpAuthSchemes(){return t},setHttpAuthSchemeProvider(n){s=n},httpAuthSchemeProvider(){return s},setCredentials(n){i=n},credentials(){return i}}},Un=(e)=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),qn=(e,t)=>{let s=Object.assign(It(e),qt(e),os(e),Hn(e));return t.forEach((i)=>i.configure(s)),Object.assign(e,Rt(s),Ft(s),rs(s),Un(s))};class L extends we{config;constructor(...[e]){let t=Wn(e||{});super(t);this.initConfig=t;let s=Hs(t),i=_t(s),n=ds(i),c=Qt(n),r=Ct(c),l=ts(r),S=Ws(l),p=qn(S,e?.extensions||[]);this.config=p,this.middlewareStack.use(ps(this.config)),this.middlewareStack.use(xt(this.config)),this.middlewareStack.use(ls(this.config)),this.middlewareStack.use(is(this.config)),this.middlewareStack.use(wt(this.config)),this.middlewareStack.use(Tt(this.config)),this.middlewareStack.use(Dt(this.config)),this.middlewareStack.use($t(this.config,{httpAuthSchemeParametersProvider:$s,identityProviderConfigProvider:async(A)=>new kt({"aws.auth#sigv4":A.credentials,"aws.auth#sigv4a":A.credentials})})),this.middlewareStack.use(Ot(this.config))}destroy(){super.destroy()}}var dt=Lt(Us,"AWSSecurityTokenServiceV20110615","STSClient",ss),lt={},pt=(e,t,s,i)=>[];class J extends dt(lt,pt,"AssumeRole",ct){}class te extends dt(lt,pt,"AssumeRoleWithWebIdentity",ut){}var Fn={AssumeRoleCommand:J,AssumeRoleWithWebIdentityCommand:te};class he extends L{}Kt(Fn,he);var gt=(e)=>{if(typeof e?.Arn==="string"){let t=e.Arn.split(":");if(t.length>4&&t[4]!=="")return t[4]}return},ht=async(e,t,s,i={})=>{let n=typeof e==="function"?await e():e,c=typeof t==="function"?await t():t,r="",l=n??c??(r=await bt(i)());return s?.debug?.("@aws-sdk/client-sts::resolveRegion","accepting first of:",`${n} (credential provider clientConfig)`,`${c} (contextual client)`,`${r} (STS default: AWS_REGION, profile region, or us-east-1)`),l},Ln=(e,t)=>{let s,i;return async(n,c)=>{if(i=n,!s){let{logger:A=e?.parentClientConfig?.logger,profile:_=e?.parentClientConfig?.profile,region:E,requestHandler:f=e?.parentClientConfig?.requestHandler,credentialProviderLogger:W,userAgentAppId:v=e?.parentClientConfig?.userAgentAppId}=e,se=await ht(E,e?.parentClientConfig?.region,W,{logger:A,profile:_}),ne=!mt(f);s=new t({...e,userAgentAppId:v,profile:_,credentialDefaultProvider:()=>async()=>i,region:se,requestHandler:ne?f:void 0,logger:A})}let{Credentials:r,AssumedRoleUser:l}=await s.send(new J(c));if(!r||!r.AccessKeyId||!r.SecretAccessKey)throw Error(`Invalid response from STS.assumeRole call with role ${c.RoleArn}`);let S=gt(l),p={accessKeyId:r.AccessKeyId,secretAccessKey:r.SecretAccessKey,sessionToken:r.SessionToken,expiration:r.Expiration,...r.CredentialScope&&{credentialScope:r.CredentialScope},...S&&{accountId:S}};return ie(p,"CREDENTIALS_STS_ASSUME_ROLE","i"),p}},Kn=(e,t)=>{let s;return async(i)=>{if(!s){let{logger:S=e?.parentClientConfig?.logger,profile:p=e?.parentClientConfig?.profile,region:A,requestHandler:_=e?.parentClientConfig?.requestHandler,credentialProviderLogger:E,userAgentAppId:f=e?.parentClientConfig?.userAgentAppId}=e,W=await ht(A,e?.parentClientConfig?.region,E,{logger:S,profile:p}),v=!mt(_);s=new t({...e,userAgentAppId:f,profile:p,region:W,requestHandler:v?_:void 0,logger:S})}let{Credentials:n,AssumedRoleUser:c}=await s.send(new te(i));if(!n||!n.AccessKeyId||!n.SecretAccessKey)throw Error(`Invalid response from STS.assumeRoleWithWebIdentity call with role ${i.RoleArn}`);let r=gt(c),l={accessKeyId:n.AccessKeyId,secretAccessKey:n.SecretAccessKey,sessionToken:n.SessionToken,expiration:n.Expiration,...n.CredentialScope&&{credentialScope:n.CredentialScope},...r&&{accountId:r}};if(r)ie(l,"RESOLVED_ACCOUNT_ID","T");return ie(l,"CREDENTIALS_STS_ASSUME_ROLE_WEB_ID","k"),l}},mt=(e)=>e?.metadata?.handlerProtocol==="h2",Pt=(e,t)=>{if(!t)return e;else return class extends e{constructor(i){super(i);for(let n of t)this.middlewareStack.use(n)}}},ft=(e={},t)=>Ln(e,Pt(L,t)),St=(e={},t)=>Kn(e,Pt(L,t)),Mn=(e)=>(t)=>e({roleAssumer:ft(t),roleAssumerWithWebIdentity:St(t),...t});var Vn=ct,zn=J,Bn=et,Qn=tt,Yn=ut,Xn=te,Jn=st,Zn=nt,eo=le,to=ge,so=K,no=Ve,oo=Y,ro=ze,io=B,ao=Be,co=Q,uo=Qe,lo=M,po=Ye,go=j,ho=Xe,mo=ot,Po=rt,fo=V,So=Je,Ao=he,Eo=L,vo=P,yo=Ge,Io=it,Ro=Mn,_o=Ze,Co=ft,xo=St;export{jn as $Command,Gn as __Client,Vn as AssumeRole$,zn as AssumeRoleCommand,Bn as AssumeRoleRequest$,Qn as AssumeRoleResponse$,Yn as AssumeRoleWithWebIdentity$,Xn as AssumeRoleWithWebIdentityCommand,Jn as AssumeRoleWithWebIdentityRequest$,Zn as AssumeRoleWithWebIdentityResponse$,eo as AssumedRoleUser$,to as Credentials$,so as ExpiredTokenException,no as ExpiredTokenException$,oo as IDPCommunicationErrorException,ro as IDPCommunicationErrorException$,io as IDPRejectedClaimException,ao as IDPRejectedClaimException$,co as InvalidIdentityTokenException,uo as InvalidIdentityTokenException$,lo as MalformedPolicyDocumentException,po as MalformedPolicyDocumentException$,go as PackedPolicyTooLargeException,ho as PackedPolicyTooLargeException$,mo as PolicyDescriptorType$,Po as ProvidedContext$,fo as RegionDisabledException,So as RegionDisabledException$,Ao as STS,Eo as STSClient,vo as STSServiceException,yo as STSServiceException$,Io as Tag$,Ro as decorateDefaultCredentialProvider,_o as errorTypeRegistries,Co as getDefaultRoleAssumer,xo as getDefaultRoleAssumerWithWebIdentity};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var c=(s)=>s;function
|
|
3
|
-
export{
|
|
2
|
+
var c=(s)=>s;function _e(s,i,t=c){let n=new Map;for(let e of s.tools??[])n.set(t(e.name),e);if(!i)return{immediate:[...n.values()],deferred:new Map};let a=new Set,f=new Set;for(let e of s.messages)if(e.role==="assistant"){for(let o of e.content)if(o.type==="toolCall")f.add(t(o.name))}else if(e.role==="toolResult")for(let o of e.addedToolNames??[]){let l=t(o);if(!f.has(l))a.add(l)}let d=[],r=new Map;for(let[e,o]of n)if(a.has(e))r.set(e,o);else d.push(o);return{immediate:d,deferred:r}}
|
|
3
|
+
export{_e};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{A}from"./chunk-
|
|
3
|
-
${f}`;r.push({type:"error",reason:s.stopReason,error:s}),r.end()}})(),r},nt=(e,n,t)=>{se(e.provider,t?.apiKey,t?.headers);let r=
|
|
2
|
+
import{A}from"./chunk-vnn8sej7.js";import{b}from"./chunk-sk26g8gq.js";import{y}from"./chunk-yk14703k.js";import{ye,Ee}from"./chunk-yd3kbedy.js";import{J}from"./chunk-w2xc1r8f.js";import{M,O}from"./chunk-ph0978mm.js";import{re}from"./chunk-dsa7hrkt.js";import{Y}from"./chunk-w5h5ctmd.js";import{d,qe,Ge,F,Re,B,T,H}from"./chunk-jheky96k.js";import{R}from"./chunk-c26v3b7f.js";import{_,k,w}from"./shumai-agent-app.js";function ee(e,n){if(!e)return!1;let t=n.toLowerCase();for(let[r,s]of Object.entries(e))if(r.toLowerCase()===t&&s!==null&&s.trim().length>0)return!0;return!1}function se(e,n,t){if(n)return n;if(ee(t,"authorization")||ee(t,"cf-aig-authorization"))return"unused";throw Error(`No API key for provider: ${e}`)}function de(e){for(let n of e){if(n.role==="toolResult")return!0;if(n.role==="assistant"){if(n.content.some((t)=>t.type==="toolCall"))return!0}}return!1}function he(e){let n=new Set;for(let t of e)if(t.role==="toolResult")for(let r of t.addedToolNames??[])n.add(r);return n}function me(e,n){if(!e)return[];let t=new Map(e.map((r)=>[r.name,r]));return Array.from(n).map((r)=>t.get(r)).filter((r)=>r!==void 0)}function te(e){return e.type==="text"}function ke(e){return e.type==="thinking"}function Te(e){return e.type==="toolCall"}function _e(e){return e.type==="image"}function xe(e){if(typeof e!=="object"||e===null)return!1;let n=e;return n.type==="reasoning.encrypted"&&typeof n.id==="string"&&n.id.length>0&&typeof n.data==="string"&&n.data.length>0}function oe(e,n){if(e)return e;if(y("PI_CACHE_RETENTION",n)==="long")return"long";return"short"}var ve=(e,n,t)=>{let r=new _;return(async()=>{let s={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:"stop",timestamp:Date.now()};try{let g=se(e.provider,t?.apiKey,t?.headers),f=Z(e),C=B(n.tools,f.supportsOpenAIGrammarTools),i=oe(t?.cacheRetention,t?.env),h=i==="none"?void 0:t?.sessionId,l=Ae(e,n,g,t?.headers,h,f),a=Ce(e,n,t,f,i,C),x=await t?.onPayload?.(a,e);if(x!==void 0)a=x;let v={...t?.signal?{signal:t.signal}:{},...t?.timeoutMs!==void 0?{timeout:t.timeoutMs}:{},maxRetries:0},{data:q,response:D}=await Y(()=>l.chat.completions.create(a,v).withResponse(),{maxRetries:t?.maxRetries,maxRetryDelayMs:t?.maxRetryDelayMs,signal:t?.signal});await t?.onResponse?.({status:D.status,headers:R(D.headers)},e),r.push({type:"start",partial:s});let N=null,m=null,I=!1,P=new Map,K=new Map,U=new Map,W=s.content,G=(o)=>W.indexOf(o),Q=(o)=>{let u=o.customInput?.property;if(u===void 0)return"";let E=o.arguments[u];return typeof E==="string"?E:""},X=(o,u,E)=>{let c=o.customInput;if(!c)return;let L=Ge(c.jsonBuffer,c.property,u,E);return o.arguments={[c.property]:u},L},ue=(o)=>{let u=G(o);if(u===-1)return;if(o.type==="text")r.push({type:"text_end",contentIndex:u,content:o.text,partial:s});else if(o.type==="thinking")r.push({type:"thinking_end",contentIndex:u,content:o.thinking,partial:s});else if(o.type==="toolCall"){if(o.customInput){let E=X(o,Q(o),!0);if(E!==void 0)r.push({type:"toolcall_delta",contentIndex:u,delta:E,partial:s})}else o.arguments=b(o.partialArgs);delete o.partialArgs,delete o.customInput,delete o.streamIndex,r.push({type:"toolcall_end",contentIndex:u,toolCall:o,partial:s})}},fe=()=>{if(!N)N={type:"text",text:""},W.push(N),r.push({type:"text_start",contentIndex:G(N),partial:s});return N},le=(o)=>{if(!m)m={type:"thinking",thinking:"",thinkingSignature:o},W.push(m),r.push({type:"thinking_start",contentIndex:G(m),partial:s});return m},ce=(o)=>{if(!o.id)return;let u=U.get(o.id);if(u)o.thoughtSignature=u,U.delete(o.id)},pe=(o)=>{let u=typeof o.index==="number"?o.index:void 0,E=o.function?.name??o.custom?.name??"",c=u!==void 0?P.get(u):void 0;if(!c&&o.id)c=K.get(o.id);if(!c){let L=o.custom?C.get(E)??"input":void 0,j=L!==void 0;if(c={type:"toolCall",id:o.id||"",name:E,arguments:j?{[L]:""}:{},partialArgs:j?void 0:"",customInput:j?{property:L,jsonBuffer:{input:"",started:!1,closed:!1}}:void 0,streamIndex:u},u!==void 0)P.set(u,c);if(o.id)K.set(o.id,c);W.push(c),r.push({type:"toolcall_start",contentIndex:G(c),partial:s})}if(u!==void 0&&c.streamIndex===void 0)c.streamIndex=u,P.set(u,c);if(o.id)K.set(o.id,c);if(!c.name&&E)c.name=E;if(o.custom&&!c.customInput){let L=C.get(c.name)??"input";c.arguments={[L]:""},c.customInput={property:L,jsonBuffer:{input:"",started:!1,closed:!1}},delete c.partialArgs}return ce(c),c};for await(let o of q){if(!o||typeof o!=="object")continue;if(s.responseId||=o.id,typeof o.model==="string"&&o.model.length>0&&o.model!==e.id)s.responseModel||=o.model;if(o.usage)s.usage=ne(o.usage,e);let u=Array.isArray(o.choices)?o.choices[0]:void 0;if(!u)continue;if(!o.usage&&u.usage)s.usage=ne(u.usage,e);if(u.finish_reason){let E=De(u.finish_reason);if(s.stopReason=E.stopReason,E.errorMessage)s.errorMessage=E.errorMessage;I=!0}if(u.delta){if(u.delta.content!==null&&u.delta.content!==void 0&&u.delta.content.length>0){let p=fe();p.text+=u.delta.content,r.push({type:"text_delta",contentIndex:G(p),delta:u.delta.content,partial:s})}let E=["reasoning_content","reasoning","reasoning_text"],c=u.delta,L=null;for(let p of E){let S=c[p];if(typeof S==="string"&&S.length>0){L=p;break}}if(L){let p=c[L];if(typeof p==="string"&&p.length>0){let S=e.provider==="opencode-go"&&L==="reasoning"?"reasoning_content":L,z=le(S);z.thinking+=p,r.push({type:"thinking_delta",contentIndex:G(z),delta:p,partial:s})}}if(u?.delta?.tool_calls)for(let p of u.delta.tool_calls){let S=pe(p);if(!S.id&&p.id)S.id=p.id,K.set(p.id,S);let z=p.function?.name??p.custom?.name;if(!S.name&&z)S.name=z;let V="";if(p.function?.arguments)V=p.function.arguments,S.partialArgs=(S.partialArgs??"")+p.function.arguments,S.arguments=b(S.partialArgs);else if(p.custom?.input){let ge=Q(S)+p.custom.input;V=X(S,ge,!1)??""}r.push({type:"toolcall_delta",contentIndex:G(S),delta:V,partial:s})}let j=u.delta.reasoning_details;if(Array.isArray(j)){for(let p of j)if(xe(p)){let S=JSON.stringify(p),z=K.get(p.id);if(z)z.thoughtSignature=S;else U.set(p.id,S)}}}}for(let o of W)ue(o);if(t?.signal?.aborted)throw Error("Request was aborted");if(s.stopReason==="aborted")throw Error("Request was aborted");if(s.stopReason==="error")throw Error(s.errorMessage||"Provider returned an error stop reason");if(!I)throw Error("Stream ended without finish_reason");r.push({type:"done",reason:s.stopReason,message:s}),r.end()}catch(g){for(let C of s.content)delete C.index,delete C.partialArgs,delete C.customInput,delete C.streamIndex;s.stopReason=t?.signal?.aborted?"aborted":"error",s.errorMessage=O(M(g));let f=g?.error?.metadata?.raw;if(f&&!s.errorMessage.includes(String(f)))s.errorMessage+=`
|
|
3
|
+
${f}`;r.push({type:"error",reason:s.stopReason,error:s}),r.end()}})(),r},nt=(e,n,t)=>{se(e.provider,t?.apiKey,t?.headers);let r=T(e,n,t,t?.apiKey),s=t?.reasoning?w(e,t.reasoning):void 0,g=s==="off"?void 0:s,f=t?.toolChoice;return ve(e,n,{...r,reasoningEffort:g,toolChoice:f})};function Ae(e,n,t,r,s,g=Z(e)){let f={...e.headers};if(e.provider==="github-copilot"){let C=ye(n.messages),i=Ee({messages:n.messages,hasImages:C});Object.assign(f,i)}if(s&&g.sendSessionAffinityHeaders)if(g.sessionAffinityFormat==="openrouter")f["x-session-id"]=s;else{if(g.sessionAffinityFormat==="openai")f.session_id=s;f["x-client-request-id"]=s,f["x-session-affinity"]=s}if(r)Object.assign(f,r);return new A({apiKey:t,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:f})}function Ce(e,n,t,r=Z(e),s=oe(t?.cacheRetention,t?.env),g=B(n.tools,r.supportsOpenAIGrammarTools)){let f=Be(e,n,r,{grammarToolInputProperties:g}),C=we(r,s),i={model:e.id,messages:f,stream:!0,prompt_cache_key:e.baseUrl.includes("api.openai.com")&&s!=="none"||s==="long"&&r.supportsLongCacheRetention?J(t?.sessionId):void 0,prompt_cache_retention:s==="long"&&r.supportsLongCacheRetention?"24h":void 0};if(r.supportsUsageInStreaming!==!1)i.stream_options={include_usage:!0};if(r.supportsStore)i.store=!1;if(t?.maxTokens)if(r.maxTokensField==="max_tokens")i.max_tokens=t.maxTokens;else i.max_completion_tokens=t.maxTokens;if(t?.temperature!==void 0)i.temperature=t.temperature;let h=r.deferredToolsMode==="kimi"?he(n.messages):new Set,l=n.tools?.filter((a)=>!h.has(a.name));if(l&&l.length>0){if(i.tools=ae(l,r),r.zaiToolStream)i.tool_stream=!0}else if(de(n.messages))i.tools=[];if(C)Se(f,i.tools,C);if(t?.toolChoice)i.tool_choice=t.toolChoice;if(r.thinkingFormat==="zai"&&e.reasoning){let a=i;if(a.thinking=t?.reasoningEffort?{type:"enabled",clear_thinking:!1}:{type:"disabled"},t?.reasoningEffort&&r.supportsReasoningEffort){let x=e.thinkingLevelMap?.[t.reasoningEffort],v=x===void 0?t.reasoningEffort:x;if(typeof v==="string")a.reasoning_effort=v}}else if(r.thinkingFormat==="qwen"&&e.reasoning)i.enable_thinking=!!t?.reasoningEffort;else if(r.thinkingFormat==="qwen-chat-template"&&e.reasoning)i.chat_template_kwargs={enable_thinking:!!t?.reasoningEffort,preserve_thinking:!0};else if(r.thinkingFormat==="chat-template"&&e.reasoning){let a=Me(e,t,r);if(a)i.chat_template_kwargs=a}else if(r.thinkingFormat==="deepseek"&&e.reasoning){if(t?.reasoningEffort)i.thinking={type:"enabled"};else if(e.thinkingLevelMap?.off!==null)i.thinking={type:"disabled"};if(t?.reasoningEffort&&r.supportsReasoningEffort)i.reasoning_effort=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort}else if(r.thinkingFormat==="openrouter"&&e.reasoning){let a=i;if(t?.reasoningEffort)a.reasoning={effort:e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort};else if(e.thinkingLevelMap?.off!==null)a.reasoning={effort:e.thinkingLevelMap?.off??"none"}}else if(r.thinkingFormat==="ant-ling"&&e.reasoning&&t?.reasoningEffort){let a=e.thinkingLevelMap?.[t.reasoningEffort];if(typeof a==="string")i.reasoning={effort:a}}else if(r.thinkingFormat==="together"&&e.reasoning){let a=i;if(a.reasoning={enabled:!!t?.reasoningEffort},t?.reasoningEffort&&r.supportsReasoningEffort)a.reasoning_effort=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort}else if(r.thinkingFormat==="string-thinking"&&e.reasoning){let a=i;if(t?.reasoningEffort)a.thinking=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort;else if(e.thinkingLevelMap?.off!==null)a.thinking=e.thinkingLevelMap?.off??"none"}else if(t?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort)i.reasoning_effort=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort;else if(!t?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort){let a=e.thinkingLevelMap?.off;if(typeof a==="string")i.reasoning_effort=a}if(e.compat?.openRouterRouting)i.provider=e.compat.openRouterRouting;if(e.compat?.vercelGatewayRouting){let a=e.compat.vercelGatewayRouting;if(a.only||a.order){let x={};if(a.only)x.only=a.only;if(a.order)x.order=a.order;i.providerOptions={gateway:x}}}return i}function Me(e,n,t){let r={};for(let[s,g]of Object.entries(t.chatTemplateKwargs)){let f=Ie(e,n,g);if(f!==void 0)r[s]=f}return Object.keys(r).length>0?r:void 0}function Ie(e,n,t){if(typeof t!=="object"||t===null)return t;let r=n?.reasoningEffort;if(!r&&t.omitWhenOff)return;if(t.$var==="thinking.enabled")return!!r;let s=r?e.thinkingLevelMap?.[r]:e.thinkingLevelMap?.off;return s===void 0?r:typeof s==="string"?s:void 0}function we(e,n){if(e.cacheControlFormat!=="anthropic"||n==="none")return;let t=n==="long"&&e.supportsLongCacheRetention?"1h":void 0;return{type:"ephemeral",...t?{ttl:t}:{}}}function Se(e,n,t){Fe(e,t),be(n,t),Oe(e,t)}function Fe(e,n){for(let t of e)if(t.role==="system"||t.role==="developer"){Pe(t,n);return}}function Oe(e,n){for(let t=e.length-1;t>=0;t--){let r=e[t];if(r.role==="user"||r.role==="assistant"||r.role==="tool"){if(Le(r,n))return}}}function be(e,n){if(!e||e.length===0)return;let t=e[e.length-1];t.cache_control=n}function Pe(e,n){return ie(e,n)}function Le(e,n){if(e.role==="user"||e.role==="assistant"||e.role==="tool")return ie(e,n);return!1}function ie(e,n){let t=e.content;if(typeof t==="string"){if(t.length===0)return!1;return e.content=[{type:"text",text:t,cache_control:n}],!0}if(!Array.isArray(t))return!1;for(let r=t.length-1;r>=0;r--){let s=t[r];if(s?.type==="text"){let g=s;return g.cache_control=n,!0}}return!1}function Be(e,n,t,r){let s=[],g=(i)=>{if(i.includes("|")){let h=i.indexOf("|"),l=i.slice(0,h).replace(/[^a-zA-Z0-9_-]/g,"_"),a=i.slice(h+1).replace(/[^a-zA-Z0-9_-]/g,"_"),x=a.length>0?`${l}_${a}`:l;if(x.length<=40)return x;let v=re(i).slice(0,8);return`${l.slice(0,Math.max(1,40-v.length-1))}_${v}`}if(e.provider==="openai")return i.length>40?i.slice(0,40):i;return i},f=H(n.messages,e,(i)=>g(i));if(n.systemPrompt){let h=e.reasoning&&t.supportsDeveloperRole?"developer":"system";s.push({role:h,content:d(n.systemPrompt)})}let C=null;for(let i=0;i<f.length;i++){let h=f[i];if(t.requiresAssistantAfterToolResult&&C==="toolResult"&&h.role==="user")s.push({role:"assistant",content:"I have processed the tool results."});if(h.role==="user")if(typeof h.content==="string")s.push({role:"user",content:d(h.content)});else{let l=h.content.map((a)=>{if(a.type==="text")return{type:"text",text:d(a.text)};else return{type:"image_url",image_url:{url:`data:${a.mimeType};base64,${a.data}`}}});if(l.length===0)continue;s.push({role:"user",content:l})}else if(h.role==="assistant"){let l={role:"assistant",content:t.requiresAssistantAfterToolResult?"":null},a=h.content.filter(te).filter((m)=>m.text.trim().length>0).map((m)=>({type:"text",text:d(m.text)})),x=a.map((m)=>m.text).join(""),v=h.content.filter(ke).filter((m)=>m.thinking.trim().length>0);if(v.length>0)if(t.requiresThinkingAsText){let m=v.map((I)=>d(I.thinking)).join(`
|
|
4
4
|
|
|
5
|
-
`);l.content=[{type:"text",text:m},...a]}else{if(
|
|
6
|
-
`)}else if(
|
|
7
|
-
`),D=
|
|
5
|
+
`);l.content=[{type:"text",text:m},...a]}else{if(x.length>0)l.content=x;let m=v[0].thinkingSignature;if(e.provider==="opencode-go"&&m==="reasoning")m="reasoning_content";if(m&&m.length>0)l[m]=v.map((I)=>I.thinking).join(`
|
|
6
|
+
`)}else if(x.length>0)l.content=x;let q=h.content.filter(Te);if(q.length>0){l.tool_calls=q.map((I)=>{let P=r?.grammarToolInputProperties?.get(I.name);if(P!==void 0)return{id:I.id,type:"custom",custom:{name:I.name,input:d(qe(I.name,I.arguments,P))}};return{id:I.id,type:"function",function:{name:I.name,arguments:JSON.stringify(I.arguments)}}});let m=q.filter((I)=>I.thoughtSignature).map((I)=>{try{return JSON.parse(I.thoughtSignature)}catch{return null}}).filter(Boolean);if(m.length>0)l.reasoning_details=m}if(t.requiresReasoningContentOnAssistantMessages&&e.reasoning&&l.reasoning_content===void 0)l.reasoning_content="";let D=l.content;if(!(D!==null&&D!==void 0&&(typeof D==="string"?D.length>0:D.length>0))&&!l.tool_calls)continue;s.push(l)}else if(h.role==="toolResult"){let l=[],a=new Set,x=i;for(;x<f.length&&f[x].role==="toolResult";x++){let v=f[x],q=v.content.filter(te).map((P)=>P.text).join(`
|
|
7
|
+
`),D=v.content.some((P)=>P.type==="image"),m=q.length>0?q:D?"(see attached image)":"(no tool output)",I={role:"tool",content:d(m),tool_call_id:v.toolCallId};if(t.requiresToolResultName&&v.toolName)I.name=v.toolName;if(s.push(I),t.deferredToolsMode==="kimi")for(let P of v.addedToolNames??[])a.add(P);if(D&&e.input.includes("image")){for(let P of v.content)if(_e(P))l.push({type:"image_url",image_url:{url:`data:${P.mimeType};base64,${P.data}`}})}}if(i=x-1,l.length>0){if(t.requiresAssistantAfterToolResult)s.push({role:"assistant",content:"I have processed the tool results."});s.push({role:"user",content:[{type:"text",text:"Attached image(s) from tool result:"},...l]}),C="user"}else C="toolResult";if(a.size>0){let v=me(n.tools,a);if(v.length>0){let q={role:"system",tools:ae(v,t)};s.push(q)}}continue}C=h.role}return s}function ae(e,n){return e.map((t)=>{let r=Re(t,n.supportsOpenAIGrammarTools);if(r)return{type:"custom",custom:{name:t.name,description:t.description,format:{type:"grammar",grammar:{syntax:r.format,definition:r.definition}}}};let s=F(t,n.supportsStrictMode!==!1);return{type:"function",function:{name:t.name,description:t.description,parameters:t.parameters,...n.supportsStrictMode!==!1&&{strict:s??!1}}}})}function ne(e,n){let t=e.prompt_tokens||0,r=e.prompt_tokens_details?.cached_tokens??e.prompt_cache_hit_tokens??0,s=e.prompt_tokens_details?.cache_write_tokens||0,g=Math.max(0,t-r-s),f=e.completion_tokens||0,C={input:g,output:f,cacheRead:r,cacheWrite:s,reasoning:e.completion_tokens_details?.reasoning_tokens||0,totalTokens:g+f+r+s,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return k(n,C),C}function De(e){if(e===null)return{stopReason:"stop"};switch(e){case"stop":case"end":return{stopReason:"stop"};case"length":return{stopReason:"length"};case"function_call":case"tool_calls":return{stopReason:"toolUse"};case"content_filter":return{stopReason:"error",errorMessage:"Provider finish_reason: content_filter"};case"network_error":return{stopReason:"error",errorMessage:"Provider finish_reason: network_error"};default:return{stopReason:"error",errorMessage:`Provider finish_reason: ${e}`}}}function Ne(e){let{provider:n,baseUrl:t}=e,r=n==="zai"||n==="zai-coding-cn"||t.includes("api.z.ai")||t.includes("open.bigmodel.cn"),s=n==="together"||t.includes("api.together.ai")||t.includes("api.together.xyz"),g=n==="moonshotai"||n==="moonshotai-cn"||t.includes("api.moonshot."),f=n==="openrouter"||t.includes("openrouter.ai"),C=n==="cloudflare-workers-ai"||t.includes("api.cloudflare.com"),i=n==="cloudflare-ai-gateway"||t.includes("gateway.ai.cloudflare.com"),h=n==="nvidia"||t.includes("integrate.api.nvidia.com"),l=n==="ant-ling"||t.includes("api.ant-ling.com"),a=h||n==="cerebras"||t.includes("cerebras.ai")||n==="xai"||t.includes("api.x.ai")||s||t.includes("chutes.ai")||t.includes("deepseek.com")||r||g||n==="opencode"||t.includes("opencode.ai")||C||i||l,x=t.includes("chutes.ai")||g||i||s||h||l,v=n==="xai"||t.includes("api.x.ai"),q=n==="deepseek"||t.includes("deepseek.com"),D=f&&(e.id.startsWith("anthropic/")||e.id.startsWith("openai/")),N=n==="openrouter"&&e.id.startsWith("anthropic/")?"anthropic":void 0;return{supportsStore:!a,supportsDeveloperRole:D||!a&&!f,supportsReasoningEffort:!v&&!r&&!g&&!s&&!i&&!h&&!l,supportsUsageInStreaming:!0,maxTokensField:x?"max_tokens":"max_completion_tokens",requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:q,thinkingFormat:q?"deepseek":r?"zai":s?"together":l?"ant-ling":f?"openrouter":"openai",openRouterRouting:{},vercelGatewayRouting:{},chatTemplateKwargs:{},zaiToolStream:!1,supportsStrictMode:!g&&!s&&!i&&!h,supportsOpenAIGrammarTools:!1,cacheControlFormat:N,sendSessionAffinityHeaders:!1,deferredToolsMode:void 0,sessionAffinityFormat:f?"openrouter":"openai",supportsLongCacheRetention:!(s||C||i||h||l)}}function Z(e){let n=Ne(e);if(!e.compat)return n;return{supportsStore:e.compat.supportsStore??n.supportsStore,supportsDeveloperRole:e.compat.supportsDeveloperRole??n.supportsDeveloperRole,supportsReasoningEffort:e.compat.supportsReasoningEffort??n.supportsReasoningEffort,supportsUsageInStreaming:e.compat.supportsUsageInStreaming??n.supportsUsageInStreaming,maxTokensField:e.compat.maxTokensField??n.maxTokensField,requiresToolResultName:e.compat.requiresToolResultName??n.requiresToolResultName,requiresAssistantAfterToolResult:e.compat.requiresAssistantAfterToolResult??n.requiresAssistantAfterToolResult,requiresThinkingAsText:e.compat.requiresThinkingAsText??n.requiresThinkingAsText,requiresReasoningContentOnAssistantMessages:e.compat.requiresReasoningContentOnAssistantMessages??n.requiresReasoningContentOnAssistantMessages,thinkingFormat:e.compat.thinkingFormat??n.thinkingFormat,openRouterRouting:e.compat.openRouterRouting??{},vercelGatewayRouting:e.compat.vercelGatewayRouting??n.vercelGatewayRouting,chatTemplateKwargs:e.compat.chatTemplateKwargs??n.chatTemplateKwargs,zaiToolStream:e.compat.zaiToolStream??n.zaiToolStream,supportsStrictMode:e.compat.supportsStrictMode??n.supportsStrictMode,supportsOpenAIGrammarTools:e.compat.supportsOpenAIGrammarTools??n.supportsOpenAIGrammarTools,cacheControlFormat:e.compat.cacheControlFormat??n.cacheControlFormat,sendSessionAffinityHeaders:e.compat.sendSessionAffinityHeaders??n.sendSessionAffinityHeaders,deferredToolsMode:e.compat.deferredToolsMode??n.deferredToolsMode,sessionAffinityFormat:e.compat.sessionAffinityFormat??n.sessionAffinityFormat,supportsLongCacheRetention:e.compat.supportsLongCacheRetention??n.supportsLongCacheRetention}}export{Be as convertMessages,ve as stream,nt as streamSimple};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{y}from"./chunk-f913x9vp.js";import"./chunk-xpg34mme.js";import{Ie}from"./chunk-4q9h14c1.js";import{ce,ue,de}from"./chunk-bt74cq3j.js";import{j}from"./chunk-pwagrnm6.js";import{F,Q}from"./chunk-33n9p9q4.js";import{L,B}from"./chunk-xp2anj2s.js";import{U}from"./chunk-2vqhhfx4.js";import{Se,ze,we,I,x,Je}from"./shumai-agent-app.js";var re=new Set;function ne(e){return re.add(e),()=>{re.delete(e)}}function oe(e){let t=e.filter((o)=>o!==void 0);if(t.length===0)return{cleanup:()=>{}};if(t.length===1)return{signal:t[0],cleanup:()=>{}};let r=new AbortController,n=[],s=(o)=>{if(!r.signal.aborted)r.abort(o.reason)};for(let o of t){if(o.aborted){s(o);break}let i=()=>s(o);o.addEventListener("abort",i,{once:!0}),n.push({signal:o,listener:i})}return{signal:r.signal,cleanup:()=>{for(let{signal:o,listener:i}of n)o.removeEventListener("abort",i)}}}var Ce={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};function V(e,t){let r=e.toLowerCase(),n=e.toUpperCase();return t?.[r]||t?.[n]||y(r)||y(n)||""}function Oe(e){if(e instanceof URL)return e;try{return new URL(e)}catch{return}}function Ae(e,t,r){let n=V("no_proxy",r).toLowerCase();if(!n)return!0;if(n==="*")return!1;return n.split(/[,\s]/).every((s)=>{if(!s)return!0;let o=s.match(/^(.+):(\d+)$/),i=o?o[1]:s,l=o?Number.parseInt(o[2],10):0;if(l&&l!==t)return!0;if(!/^[.*]/.test(i))return e!==i;if(i.startsWith("*"))i=i.slice(1);return!e.endsWith(i)})}function Le(e,t){let r=Oe(e);if(!r?.protocol||!r.host)return"";let n=r.protocol.split(":",1)[0],s=r.host.replace(/:\d*$/,""),o=Number.parseInt(r.port,10)||Ce[n]||0;if(!Ae(s,o,t))return"";let i=V(`${n}_proxy`,t)||V("all_proxy",t);if(i&&!i.includes("://"))i=`${n}://${i}`;return i}var We="Unsupported proxy protocol. SOCKS and PAC proxy URLs are not supported; use an HTTP or HTTPS proxy URL.";function se(e,t){let r=Le(e,t);if(!r)return;let n;try{n=new URL(r)}catch(s){throw Error(`Invalid proxy URL ${JSON.stringify(r)}: ${s instanceof Error?s.message:String(s)}`)}if(n.protocol!=="http:"&&n.protocol!=="https:")throw Error(`${We} Got ${n.protocol}`);return n}function Ne(){if(typeof process>"u"||!(process.versions?.node||process.versions?.bun))return null;return process.getBuiltinModule?.("node:os")??null}var H=Ne(),Pe="https://chatgpt.com/backend-api",Me="https://api.openai.com/auth",De=0,ie=1000,qe=60000,Be=15000,Ue=3,ye=new Set(["openai","openai-codex","opencode"]),$e=1009,Fe="websocket_connection_limit_reached",He="previous_response_not_found",Ke=new Set(["completed","incomplete","failed","cancelled","queued","in_progress"]);function Ge(e){return/GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(e)}function Xe(e,t){if(e===429&&Ge(t))return!1;if(e===429||e===500||e===502||e===503||e===504)return!0;return/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(t)}function je(e){let t=e.get("retry-after-ms");if(t!==null){let o=Number(t);if(Number.isFinite(o))return Math.max(0,o)}let r=e.get("retry-after");if(!r)return;let n=Number(r);if(Number.isFinite(n))return Math.max(0,n*1000);let s=Date.parse(r);if(!Number.isNaN(s))return Math.max(0,s-Date.now());return}class ee extends Error{}function Ve(e,t){let r=t?.maxRetryDelayMs??qe;if(r>0&&e>r)throw new ee(`Server requested ${Math.ceil(e/1000)}s retry delay (max: ${Math.ceil(r/1000)}s)`);return e}function ae(e,t){return new Promise((r,n)=>{if(t?.aborted){n(Error("Request was aborted"));return}let s=setTimeout(r,e);t?.addEventListener("abort",()=>{clearTimeout(s),n(Error("Request was aborted"))})})}function le(e){if(e===void 0)return;if(!Number.isFinite(e)||e<0)throw Error(`Invalid timeoutMs: ${String(e)}`);return Math.floor(e)}function Ye(){if(typeof process>"u"||!(process.versions?.node||process.versions?.bun))return null;return process.getBuiltinModule?.("node:zlib")??null}function Ze(e){let t=Ye();if(!t||typeof t.zstdCompressSync!=="function")return null;try{let r=t.zstdCompressSync(e,{params:{[t.constants.ZSTD_c_compressionLevel]:Ue}});return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}catch{return null}}var Qe=(e,t,r)=>{let n=new I;return(async()=>{let s={role:"assistant",content:[],api:"openai-codex-responses",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 o=r?.apiKey;if(!o)throw Error(`No API key for provider: ${e.provider}`);let i=Ct(o),l=L(t.tools,e.compat?.supportsOpenAIGrammarTools??!1),a=r?.cacheRetention==="none"?void 0:r?.sessionId,c=j(a),d=et(e,t,r,c,l),u=await r?.onPayload?.(d,e);if(u!==void 0)d=u;let S=c||Je(),f=Ot(e.headers,r?.headers,i,o,c),E=At(e.headers,r?.headers,i,o,S),m=JSON.stringify(d),p=le(r?.timeoutMs),C=le(r?.websocketConnectTimeoutMs),b=r?.transport||"auto",w=!1,h=b!=="sse"&&_e(a);if(h)fe(a);if(b!=="sse"&&!h){let g=!1,k=!1,A=!1;while(!0){g=!1;try{if(await xt(rt(e.baseUrl),d,E,s,n,e,()=>{if(g=!0,!w)w=!0,n.push({type:"start",partial:s})},p,C,a,l,r),r?.signal?.aborted)throw Error("Request was aborted");n.push({type:"done",reason:s.stopReason,message:s}),n.end();return}catch(R){let D=r?.signal?.aborted,q=!g&&st(R),N=it(R);if(!D&&N&&!A){A=!0;continue}if(!D&&q&&!k){k=!0;continue}if(D||ot(R)&&!q)throw R;if(we(s,ze("provider_transport_failure",R,{configuredTransport:b,fallbackTransport:g?void 0:"sse",eventsEmitted:g,phase:g?"after_message_stream_start":"before_message_stream_start",requestBytes:new TextEncoder().encode(m).byteLength})),mt(a,R),g)throw R;fe(a);break}}}let O=Ze(m);if(O)f.set("content-encoding","zstd");let W=O??m,_,M,X=r?.maxRetries??De;for(let g=0;g<=X;g++){if(r?.signal?.aborted)throw Error("Request was aborted");try{let k=p!==void 0&&p>0?AbortSignal.timeout(p):void 0,A=oe([r?.signal,k]);try{_=await fetch(ge(e.baseUrl),{method:"POST",headers:f,body:W,signal:A.signal})}catch(N){if(k?.aborted&&!r?.signal?.aborted)throw Error(`Codex SSE response headers timed out after ${p}ms`);throw N}finally{A.cleanup()}if(await r?.onResponse?.({status:_.status,headers:U(_.headers)},e),_.ok)break;let R=await _.text();if(g<X&&Xe(_.status,R)){let N=je(_.headers),ve=N===void 0?ie*2**g:Ve(N,r);await ae(ve,r?.signal);continue}let D=new Response(R,{status:_.status,statusText:_.statusText}),q=await vt(D);throw Error(q.friendlyMessage||q.message)}catch(k){if(k instanceof Error){if(k.name==="AbortError"||k.message==="Request was aborted")throw Error("Request was aborted")}if(M=k instanceof Error?k:Error(String(k)),g<X&&!(M instanceof ee)&&!M.message.includes("usage limit")){let A=ie*2**g;await ae(A,r?.signal);continue}throw M}}if(!_?.ok)throw M??Error("Failed after retries");if(!_.body)throw Error("No response body");if(!w)w=!0,n.push({type:"start",partial:s});if(await nt(_,s,n,e,l,r),r?.signal?.aborted)throw Error("Request was aborted");n.push({type:"done",reason:s.stopReason,message:s}),n.end()}catch(o){for(let i of s.content)delete i.partialJson,delete i.customInput;s.stopReason=r?.signal?.aborted?"aborted":"error",s.errorMessage=Q(F(o)),n.push({type:"error",reason:s.stopReason,error:s}),n.end()}})(),n},jt=(e,t,r)=>{let n=r?.apiKey;if(!n)throw Error(`No API key for provider: ${e.provider}`);let s=B(e,t,r,n),o=r?.reasoning?x(e,r.reasoning):void 0;return Qe(e,t,{...s,reasoningEffort:o==="off"?void 0:o})};function et(e,t,r,n,s=L(t.tools,e.compat?.supportsOpenAIGrammarTools??!1)){let o=e.compat?.supportsStrictMode??!0,i=e.compat?.supportsOpenAIGrammarTools??!1,l=Ie(t,e.compat?.supportsToolSearch??!1),a=ce(e,t,ye,{includeSystemPrompt:!1,grammarToolInputProperties:s,deferredTools:l.deferred,toolOptions:{strict:null,supportsStrictMode:o,supportsOpenAIGrammarTools:i}}),c={model:e.id,store:!1,stream:!0,instructions:t.systemPrompt||"You are a helpful assistant.",input:a,text:{verbosity:r?.textVerbosity||"low"},include:["reasoning.encrypted_content"],prompt_cache_key:n,tool_choice:r?.toolChoice??"auto",parallel_tool_calls:!0};if(r?.temperature!==void 0)c.temperature=r.temperature;if(r?.serviceTier!==void 0)c.service_tier=r.serviceTier;if(l.immediate.length>0)c.tools=ue(l.immediate,{strict:null,supportsStrictMode:o,supportsOpenAIGrammarTools:i});if(r?.reasoningEffort!==void 0){let d=r.reasoningEffort==="none"?e.thinkingLevelMap?.off??"none":e.thinkingLevelMap?.[r.reasoningEffort]??r.reasoningEffort;if(d!==null)c.reasoning={effort:d,summary:r.reasoningSummary??"auto"}}return c}function tt(e,t){switch(t){case"flex":return 0.5;case"priority":return e.id==="gpt-5.5"?2.5:2;default:return 1}}function be(e,t,r){let n=tt(r,t);if(n===1)return;e.cost.input*=n,e.cost.output*=n,e.cost.cacheRead*=n,e.cost.cacheWrite*=n,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite}function he(e,t){if(e==="default"&&(t==="flex"||t==="priority"))return t;return e??t}function ge(e){let r=(e&&e.trim().length>0?e:Pe).replace(/\/+$/,"");if(r.endsWith("/codex/responses"))return r;if(r.endsWith("/codex"))return`${r}/responses`;return`${r}/codex/responses`}function rt(e){let t=new URL(ge(e));if(t.protocol==="https:")t.protocol="wss:";if(t.protocol==="http:")t.protocol="ws:";return t.toString()}async function nt(e,t,r,n,s,o){await de(Ee(ut(e,o?.signal)),t,r,n,{serviceTier:o?.serviceTier,grammarToolInputProperties:s,resolveServiceTier:he,applyServiceTierPricing:(i,l)=>be(i,l,n)})}class P extends Error{code;payload;constructor(e,t){super(e);this.name="CodexApiError",this.code=t?.code,this.payload=t?.payload,this.cause=t?.cause}}class z extends Error{payload;constructor(e,t){super(e);this.name="CodexProtocolError",this.payload=t?.payload,this.cause=t?.cause}}function ot(e){return e instanceof P||e instanceof z}function st(e){return e instanceof P&&e.code===Fe}function it(e){return e instanceof P&&e.code===He}function at(e){let t=e.error&&typeof e.error==="object"?e.error:void 0;return{code:typeof e.code==="string"?e.code:typeof t?.code==="string"?t.code:void 0,message:typeof e.message==="string"?e.message:typeof t?.message==="string"?t.message:void 0}}async function*Ee(e){for await(let t of e){let r=typeof t.type==="string"?t.type:void 0;if(!r)continue;if(r==="error"){let{code:n,message:s}=at(t);throw new P(`Codex error: ${s||n||JSON.stringify(t)}`,{code:n,payload:t})}if(r==="response.failed"){let n=t.response,s=n?.error?.code,o=n?.error?.message;throw new P(o||"Codex response failed",{code:s,payload:t})}if(r==="response.done"||r==="response.completed"||r==="response.incomplete"){let n=t.response,s=n?{...n,status:ct(n.status)}:n;yield{...t,type:"response.completed",response:s};return}yield t}}function ct(e){if(typeof e!=="string")return;return Ke.has(e)?e:void 0}async function*ut(e,t){if(!e.body)return;let r=e.body.getReader(),n=new TextDecoder,s="",o=()=>{r.cancel().catch(()=>{})};t?.addEventListener("abort",o,{once:!0});try{while(!0){if(t?.aborted)throw Error("Request was aborted");let{done:i,value:l}=await r.read();if(t?.aborted)throw Error("Request was aborted");if(i)break;s+=n.decode(l,{stream:!0});let a=s.indexOf(`
|
|
2
|
+
import{y}from"./chunk-yk14703k.js";import"./chunk-sk26g8gq.js";import{_e}from"./chunk-7w6jsrka.js";import{le,ue,de}from"./chunk-h3dvj1c7.js";import{J}from"./chunk-w2xc1r8f.js";import{M,O}from"./chunk-ph0978mm.js";import{B,T}from"./chunk-jheky96k.js";import{R}from"./chunk-c26v3b7f.js";import{ve,Ke,ke,_,w,je}from"./shumai-agent-app.js";var re=new Set;function ne(e){return re.add(e),()=>{re.delete(e)}}function oe(e){let t=e.filter((o)=>o!==void 0);if(t.length===0)return{cleanup:()=>{}};if(t.length===1)return{signal:t[0],cleanup:()=>{}};let r=new AbortController,n=[],s=(o)=>{if(!r.signal.aborted)r.abort(o.reason)};for(let o of t){if(o.aborted){s(o);break}let i=()=>s(o);o.addEventListener("abort",i,{once:!0}),n.push({signal:o,listener:i})}return{signal:r.signal,cleanup:()=>{for(let{signal:o,listener:i}of n)o.removeEventListener("abort",i)}}}var Oe={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};function Y(e,t){let r=e.toLowerCase(),n=e.toUpperCase();return t?.[r]||t?.[n]||y(r)||y(n)||""}function Ae(e){if(e instanceof URL)return e;try{return new URL(e)}catch{return}}function Le(e,t,r){let n=Y("no_proxy",r).toLowerCase();if(!n)return!0;if(n==="*")return!1;return n.split(/[,\s]/).every((s)=>{if(!s)return!0;let o=s.match(/^(.+):(\d+)$/),i=o?o[1]:s,l=o?Number.parseInt(o[2],10):0;if(l&&l!==t)return!0;if(!/^[.*]/.test(i))return e!==i;if(i.startsWith("*"))i=i.slice(1);return!e.endsWith(i)})}function We(e,t){let r=Ae(e);if(!r?.protocol||!r.host)return"";let n=r.protocol.split(":",1)[0],s=r.host.replace(/:\d*$/,""),o=Number.parseInt(r.port,10)||Oe[n]||0;if(!Le(s,o,t))return"";let i=Y(`${n}_proxy`,t)||Y("all_proxy",t);if(i&&!i.includes("://"))i=`${n}://${i}`;return i}var Ne="Unsupported proxy protocol. SOCKS and PAC proxy URLs are not supported; use an HTTP or HTTPS proxy URL.";function se(e,t){let r=We(e,t);if(!r)return;let n;try{n=new URL(r)}catch(s){throw Error(`Invalid proxy URL ${JSON.stringify(r)}: ${s instanceof Error?s.message:String(s)}`)}if(n.protocol!=="http:"&&n.protocol!=="https:")throw Error(`${Ne} Got ${n.protocol}`);return n}function Pe(){if(typeof process>"u"||!(process.versions?.node||process.versions?.bun))return null;return process.getBuiltinModule?.("node:os")??null}var G=Pe(),Me="https://chatgpt.com/backend-api",De="https://api.openai.com/auth",Ie=0,ie=1000,qe=60000,Be=15000,Ue=3,ye=new Set(["openai","openai-codex","opencode"]),$e=1009,Fe="websocket_connection_limit_reached",Je="previous_response_not_found",He=new Set(["completed","incomplete","failed","cancelled","queued","in_progress"]);function Ge(e){return/GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(e)}function ze(e,t){if(e===429&&Ge(t))return!1;if(e===429||e===500||e===502||e===503||e===504)return!0;return/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(t)}function Xe(e){let t=e.get("retry-after-ms");if(t!==null){let o=Number(t);if(Number.isFinite(o))return Math.max(0,o)}let r=e.get("retry-after");if(!r)return;let n=Number(r);if(Number.isFinite(n))return Math.max(0,n*1000);let s=Date.parse(r);if(!Number.isNaN(s))return Math.max(0,s-Date.now());return}class ee extends Error{}function Ve(e,t){let r=t?.maxRetryDelayMs??qe;if(r>0&&e>r)throw new ee(`Server requested ${Math.ceil(e/1000)}s retry delay (max: ${Math.ceil(r/1000)}s)`);return e}function ae(e,t){return new Promise((r,n)=>{if(t?.aborted){n(Error("Request was aborted"));return}let s=setTimeout(r,e);t?.addEventListener("abort",()=>{clearTimeout(s),n(Error("Request was aborted"))})})}function ce(e){if(e===void 0)return;if(!Number.isFinite(e)||e<0)throw Error(`Invalid timeoutMs: ${String(e)}`);return Math.floor(e)}function Ye(){if(typeof process>"u"||!(process.versions?.node||process.versions?.bun))return null;return process.getBuiltinModule?.("node:zlib")??null}function Ze(e){let t=Ye();if(!t||typeof t.zstdCompressSync!=="function")return null;try{let r=t.zstdCompressSync(e,{params:{[t.constants.ZSTD_c_compressionLevel]:Ue}});return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}catch{return null}}var Qe=(e,t,r)=>{let n=new _;return(async()=>{let s={role:"assistant",content:[],api:"openai-codex-responses",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 o=r?.apiKey;if(!o)throw Error(`No API key for provider: ${e.provider}`);let i=Ct(o),l=B(t.tools,e.compat?.supportsOpenAIGrammarTools??!1),a=r?.cacheRetention==="none"?void 0:r?.sessionId,c=J(a),d=et(e,t,r,c,l),u=await r?.onPayload?.(d,e);if(u!==void 0)d=u;let E=c||je(),f=Ot(e.headers,r?.headers,i,o,c),k=At(e.headers,r?.headers,i,o,E),m=JSON.stringify(d),p=ce(r?.timeoutMs),W=ce(r?.websocketConnectTimeoutMs),b=r?.transport||"auto",g=!1,h=b!=="sse"&&Se(a);if(h)fe(a);if(b!=="sse"&&!h){let S=!1,v=!1,P=!1;while(!0){S=!1;try{if(await xt(rt(e.baseUrl),d,k,s,n,e,()=>{if(S=!0,!g)g=!0,n.push({type:"start",partial:s})},p,W,a,l,r),r?.signal?.aborted)throw Error("Request was aborted");n.push({type:"done",reason:s.stopReason,message:s}),n.end();return}catch(A){let F=r?.signal?.aborted,H=!S&&st(A),I=it(A);if(!F&&I&&!P){P=!0;continue}if(!F&&H&&!v){v=!0;continue}if(F||ot(A)&&!H)throw A;if(ke(s,Ke("provider_transport_failure",A,{configuredTransport:b,fallbackTransport:S?void 0:"sse",eventsEmitted:S,phase:S?"after_message_stream_start":"before_message_stream_start",requestBytes:new TextEncoder().encode(m).byteLength})),mt(a,A),S)throw A;fe(a);break}}}let N=Ze(m);if(N)f.set("content-encoding","zstd");let D=N??m,x,U,V=r?.maxRetries??Ie;for(let S=0;S<=V;S++){if(r?.signal?.aborted)throw Error("Request was aborted");try{let v=p!==void 0&&p>0?AbortSignal.timeout(p):void 0,P=oe([r?.signal,v]);try{x=await fetch(we(e.baseUrl),{method:"POST",headers:f,body:D,signal:P.signal})}catch(I){if(v?.aborted&&!r?.signal?.aborted)throw Error(`Codex SSE response headers timed out after ${p}ms`);throw I}finally{P.cleanup()}if(await r?.onResponse?.({status:x.status,headers:R(x.headers)},e),x.ok)break;let A=await x.text();if(S<V&&ze(x.status,A)){let I=Xe(x.headers),Ce=I===void 0?ie*2**S:Ve(I,r);await ae(Ce,r?.signal);continue}let F=new Response(A,{status:x.status,statusText:x.statusText}),H=await vt(F);throw Error(H.friendlyMessage||H.message)}catch(v){if(v instanceof Error){if(v.name==="AbortError"||v.message==="Request was aborted")throw Error("Request was aborted")}if(U=v instanceof Error?v:Error(String(v)),S<V&&!(U instanceof ee)&&!U.message.includes("usage limit")){let P=ie*2**S;await ae(P,r?.signal);continue}throw U}}if(!x?.ok)throw U??Error("Failed after retries");if(!x.body)throw Error("No response body");if(!g)g=!0,n.push({type:"start",partial:s});if(await nt(x,s,n,e,l,r),r?.signal?.aborted)throw Error("Request was aborted");n.push({type:"done",reason:s.stopReason,message:s}),n.end()}catch(o){for(let i of s.content)delete i.partialJson,delete i.customInput;s.stopReason=r?.signal?.aborted?"aborted":"error",s.errorMessage=O(M(o)),n.push({type:"error",reason:s.stopReason,error:s}),n.end()}})(),n},jt=(e,t,r)=>{let n=r?.apiKey;if(!n)throw Error(`No API key for provider: ${e.provider}`);let s=T(e,t,r,n),o=r?.reasoning?w(e,r.reasoning):void 0;return Qe(e,t,{...s,reasoningEffort:o==="off"?void 0:o})};function et(e,t,r,n,s=B(t.tools,e.compat?.supportsOpenAIGrammarTools??!1)){let o=e.compat?.supportsStrictMode??!0,i=e.compat?.supportsOpenAIGrammarTools??!1,l=_e(t,e.compat?.supportsToolSearch??!1),a=le(e,t,ye,{includeSystemPrompt:!1,grammarToolInputProperties:s,deferredTools:l.deferred,toolOptions:{strict:null,supportsStrictMode:o,supportsOpenAIGrammarTools:i}}),c={model:e.id,store:!1,stream:!0,instructions:t.systemPrompt||"You are a helpful assistant.",input:a,text:{verbosity:r?.textVerbosity||"low"},include:["reasoning.encrypted_content"],prompt_cache_key:n,tool_choice:r?.toolChoice??"auto",parallel_tool_calls:!0};if(r?.temperature!==void 0)c.temperature=r.temperature;if(r?.serviceTier!==void 0)c.service_tier=r.serviceTier;if(l.immediate.length>0)c.tools=ue(l.immediate,{strict:null,supportsStrictMode:o,supportsOpenAIGrammarTools:i});if(r?.reasoningEffort!==void 0){let d=r.reasoningEffort==="none"?e.thinkingLevelMap?.off??"none":e.thinkingLevelMap?.[r.reasoningEffort]??r.reasoningEffort;if(d!==null)c.reasoning={effort:d,summary:r.reasoningSummary??"auto"}}return c}function tt(e,t){switch(t){case"flex":return 0.5;case"priority":return e.id==="gpt-5.5"?2.5:2;default:return 1}}function be(e,t,r){let n=tt(r,t);if(n===1)return;e.cost.input*=n,e.cost.output*=n,e.cost.cacheRead*=n,e.cost.cacheWrite*=n,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite}function he(e,t){if(e==="default"&&(t==="flex"||t==="priority"))return t;return e??t}function we(e){let r=(e&&e.trim().length>0?e:Me).replace(/\/+$/,"");if(r.endsWith("/codex/responses"))return r;if(r.endsWith("/codex"))return`${r}/responses`;return`${r}/codex/responses`}function rt(e){let t=new URL(we(e));if(t.protocol==="https:")t.protocol="wss:";if(t.protocol==="http:")t.protocol="ws:";return t.toString()}async function nt(e,t,r,n,s,o){await de(ge(ut(e,o?.signal)),t,r,n,{serviceTier:o?.serviceTier,grammarToolInputProperties:s,resolveServiceTier:he,applyServiceTierPricing:(i,l)=>be(i,l,n)})}class q extends Error{code;payload;constructor(e,t){super(e);this.name="CodexApiError",this.code=t?.code,this.payload=t?.payload,this.cause=t?.cause}}class j extends Error{payload;constructor(e,t){super(e);this.name="CodexProtocolError",this.payload=t?.payload,this.cause=t?.cause}}function ot(e){return e instanceof q||e instanceof j}function st(e){return e instanceof q&&e.code===Fe}function it(e){return e instanceof q&&e.code===Je}function at(e){let t=e.error&&typeof e.error==="object"?e.error:void 0;return{code:typeof e.code==="string"?e.code:typeof t?.code==="string"?t.code:void 0,message:typeof e.message==="string"?e.message:typeof t?.message==="string"?t.message:void 0}}async function*ge(e){for await(let t of e){let r=typeof t.type==="string"?t.type:void 0;if(!r)continue;if(r==="error"){let{code:n,message:s}=at(t);throw new q(`Codex error: ${s||n||JSON.stringify(t)}`,{code:n,payload:t})}if(r==="response.failed"){let n=t.response,s=n?.error?.code,o=n?.error?.message;throw new q(o||"Codex response failed",{code:s,payload:t})}if(r==="response.done"||r==="response.completed"||r==="response.incomplete"){let n=t.response,s=n?{...n,status:ct(n.status)}:n;yield{...t,type:"response.completed",response:s};return}yield t}}function ct(e){if(typeof e!=="string")return;return He.has(e)?e:void 0}async function*ut(e,t){if(!e.body)return;let r=e.body.getReader(),n=new TextDecoder,s="",o=()=>{r.cancel().catch(()=>{})};t?.addEventListener("abort",o,{once:!0});try{while(!0){if(t?.aborted)throw Error("Request was aborted");let{done:i,value:l}=await r.read();if(t?.aborted)throw Error("Request was aborted");if(i)break;s+=n.decode(l,{stream:!0});let a=s.indexOf(`
|
|
3
3
|
|
|
4
4
|
`);while(a!==-1){let c=s.slice(0,a);s=s.slice(a+2);let d=c.split(`
|
|
5
5
|
`).filter((u)=>u.startsWith("data:")).map((u)=>u.slice(5).trim());if(d.length>0){let u=d.join(`
|
|
6
|
-
`).trim();if(u&&u!=="[DONE]")try{yield JSON.parse(u)}catch(
|
|
6
|
+
`).trim();if(u&&u!=="[DONE]")try{yield JSON.parse(u)}catch(E){throw new j(`Invalid Codex SSE JSON: ${ve(E)}`,{cause:E,payload:u})}}a=s.indexOf(`
|
|
7
7
|
|
|
8
|
-
`)}}}finally{t?.removeEventListener("abort",o);try{await r.cancel()}catch{}try{r.releaseLock()}catch{}}}var lt="responses_websockets=2026-02-06",ft=300000,dt=3300000,
|
|
8
|
+
`)}}}finally{t?.removeEventListener("abort",o);try{await r.cancel()}catch{}try{r.releaseLock()}catch{}}}var lt="responses_websockets=2026-02-06",ft=300000,dt=3300000,C=new Map,K=new Map,X=new Set;function te(e){let t=K.get(e);if(!t)t={requests:0,connectionsCreated:0,connectionsReused:0,cachedContextRequests:0,storeTrueRequests:0,fullContextRequests:0,deltaRequests:0,lastInputItems:0,websocketFailures:0,sseFallbacks:0},K.set(e,t);return t}function Vt(e){let t=K.get(e);return t?{...t}:void 0}function Yt(e){if(e){K.delete(e),X.delete(e);return}K.clear(),X.clear()}function pt(e){let t=(r)=>{if(r.idleTimer)clearTimeout(r.idleTimer);L(r.socket,1000,"debug_close")};if(e){let r=C.get(e);if(r)t(r);C.delete(e);return}for(let r of C.values())t(r);C.clear()}ne(pt);function Se(e){return e?X.has(e):!1}function fe(e){if(!e)return;let t=te(e);t.sseFallbacks++,t.websocketFallbackActive=Se(e)}function mt(e,t){if(!e)return;X.add(e);let r=te(e);r.websocketFailures++,r.lastWebSocketError=ve(t),r.websocketFallbackActive=!0}var Z=null;async function yt(e){if(!e&&Z)return Z;if(typeof process<"u"&&process.versions?.bun){let r=class extends WebSocket{constructor(n,s){let o={};if(Array.isArray(s)||typeof s==="string")o={protocols:s};else o={...s};let i=se(n.toString().replace(/^wss:/,"https:").replace(/^ws:/,"http:"),e);super(n,{...o,...i?{proxy:i.toString()}:{}})}};if(!e)Z=r;return r}let t=globalThis.WebSocket;if(typeof t!=="function")return null;return t}class Ee extends Error{code;reason;wasClean;constructor(e,t){super(e);this.name="WebSocketCloseError",this.code=t?.code,this.reason=t?.reason,this.wasClean=t?.wasClean}}function bt(e){let t=e.readyState;return typeof t==="number"?t:void 0}function z(e){let t=bt(e);return t===void 0||t===1}function ht(e){return Date.now()-e.createdAt>=dt}function L(e,t=1000,r="done"){try{e.close(t,r)}catch{}}function pe(e,t){if(t.idleTimer)clearTimeout(t.idleTimer);t.idleTimer=setTimeout(()=>{if(t.busy)return;L(t.socket,1000,"idle_timeout"),C.delete(e)},ft)}async function Q(e,t,r,n=Be,s){let o=await yt(s);if(!o)throw Error("WebSocket transport is not available in this runtime");let i=R(t);return delete i["OpenAI-Beta"],new Promise((l,a)=>{let c=!1,d,u;try{u=new o(e,{headers:i})}catch(b){a(b instanceof Error?b:Error(String(b)));return}let E=()=>{if(d)clearTimeout(d),d=void 0;u.removeEventListener("open",k),u.removeEventListener("error",m),u.removeEventListener("close",p),r?.removeEventListener("abort",W)},f=(b,g)=>{if(c)return;if(c=!0,E(),g)L(u,1000,g);a(b)},k=()=>{if(c)return;c=!0,E(),l(u)},m=(b)=>{f(Te(b))},p=(b)=>{f(Re(b))},W=()=>{f(Error("Request was aborted"),"aborted")};if(u.addEventListener("open",k),u.addEventListener("error",m),u.addEventListener("close",p),r?.addEventListener("abort",W),n>0)d=setTimeout(()=>{f(Error(`WebSocket connect timeout after ${n}ms`),"connect_timeout")},n);if(r?.aborted)W()})}async function wt(e,t,r,n,s,o){if(!r){let c=await Q(e,t,n,s,o);return{socket:c,reused:!1,release:()=>L(c)}}let i=C.get(r);if(i){if(i.idleTimer)clearTimeout(i.idleTimer),i.idleTimer=void 0;if(!i.busy&&ht(i))L(i.socket,1000,"connection_age_limit"),C.delete(r);else if(!i.busy&&z(i.socket))return i.busy=!0,{socket:i.socket,entry:i,reused:!0,release:({keep:c}={})=>{if(!c||!z(i.socket)){L(i.socket),C.delete(r);return}i.busy=!1,pe(r,i)}};if(i.busy){let c=await Q(e,t,n,s,o);return{socket:c,reused:!1,release:()=>{L(c)}}}if(!z(i.socket))L(i.socket),C.delete(r)}let l=await Q(e,t,n,s,o),a={socket:l,busy:!0,createdAt:Date.now()};return C.set(r,a),{socket:l,entry:a,reused:!1,release:({keep:c}={})=>{if(!c||!z(a.socket)){if(L(a.socket),a.idleTimer)clearTimeout(a.idleTimer);if(C.get(r)===a)C.delete(r);return}a.busy=!1,pe(r,a)}}}function Te(e){if(e&&typeof e==="object"){let t="message"in e?e.message:void 0;if(typeof t==="string"&&t.length>0)return Error(t);let r="error"in e?e.error:void 0;if(r instanceof Error&&r.message.length>0)return r;if(r&&typeof r==="object"&&"message"in r){let n=r.message;if(typeof n==="string"&&n.length>0)return Error(n)}}return Error("WebSocket error")}function Re(e){if(e&&typeof e==="object"){let t="code"in e?e.code:void 0,r="reason"in e?e.reason:void 0,n="wasClean"in e?e.wasClean:void 0,s=typeof t==="number"?` ${t}`:"",o=typeof r==="string"&&r.length>0?` ${r}`:"";if(!o&&t===$e)o=" message too big";return new Ee(`WebSocket closed${s}${o}`.trim(),{code:typeof t==="number"?t:void 0,reason:typeof r==="string"&&r.length>0?r:void 0,wasClean:typeof n==="boolean"?n:void 0})}return Error("WebSocket closed")}async function gt(e){if(typeof e==="string")return e;if(e instanceof ArrayBuffer)return new TextDecoder().decode(new Uint8Array(e));if(ArrayBuffer.isView(e)){let t=e;return new TextDecoder().decode(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}if(e&&typeof e==="object"&&"arrayBuffer"in e){let r=await e.arrayBuffer();return new TextDecoder().decode(new Uint8Array(r))}return null}async function*St(e,t,r){let n=[],s=null,o=!1,i=null,l=!1,a=()=>{if(!s)return;let f=s;s=null,f()},c=(f)=>{(async()=>{let k=null;try{if(!f||typeof f!=="object"||!("data"in f))return;if(k=await gt(f.data),!k)return;let m=JSON.parse(k),p=typeof m.type==="string"?m.type:"";if(p==="response.completed"||p==="response.done"||p==="response.incomplete")l=!0,o=!0;n.push(m),a()}catch(m){i=new j(`Invalid Codex WebSocket JSON: ${ve(m)}`,{cause:m,payload:k}),o=!0,a()}})()},d=(f)=>{i=Te(f),o=!0,a()},u=(f)=>{if(l){o=!0,a();return}if(!i)i=Re(f);o=!0,a()},E=()=>{i=Error("Request was aborted"),o=!0,a()};e.addEventListener("message",c),e.addEventListener("error",d),e.addEventListener("close",u),t?.addEventListener("abort",E);try{while(!0){if(t?.aborted)throw Error("Request was aborted");if(n.length>0){yield n.shift();continue}if(o)break;let f;await new Promise((k,m)=>{if(s=k,r!==void 0&&r>0)f=setTimeout(()=>{let p=Error(`WebSocket idle timeout after ${r}ms`);i=p,o=!0,s=null,L(e,1000,"idle_timeout"),m(p)},r)}).finally(()=>{if(f)clearTimeout(f)})}if(i)throw i;if(!l)throw Error("WebSocket stream closed before response.completed")}finally{e.removeEventListener("message",c),e.removeEventListener("error",d),e.removeEventListener("close",u),t?.removeEventListener("abort",E)}}function me(e){let{input:t,previous_response_id:r,...n}=e;return n}function Et(e,t){return JSON.stringify(e??[])===JSON.stringify(t??[])}function _t(e,t){return JSON.stringify(me(e))===JSON.stringify(me(t))}function kt(e,t){if(!_t(e,t.lastRequestBody))return;let r=e.input??[],n=[...t.lastRequestBody.input??[],...t.lastResponseItems];if(r.length<n.length)return;let s=r.slice(0,n.length);if(!Et(s,n))return;return r.slice(n.length)}function Tt(e,t){let r=e.continuation;if(!r)return t;let n=kt(t,r);if(!n||!r.lastResponseId)return e.continuation=void 0,t;return{...t,previous_response_id:r.lastResponseId,input:n}}async function*Rt(e,t){let r=!1;for await(let n of e){if(!r)r=!0,t();yield n}}async function xt(e,t,r,n,s,o,i,l,a,c,d,u){let{socket:E,entry:f,reused:k,release:m}=await wt(e,r,c,u?.signal,a,u?.env),p=!0,W=u?.transport==="websocket-cached"||u?.transport==="auto",b=t,g=W&&f?Tt(f,b):b,h=c?te(c):void 0;if(h){if(h.requests++,k)h.connectionsReused++;else h.connectionsCreated++;if(W)h.cachedContextRequests++;if(g.store===!0)h.storeTrueRequests++;if(h.lastInputItems=g.input?.length??0,g.previous_response_id)h.deltaRequests++,h.lastDeltaInputItems=g.input?.length??0,h.lastPreviousResponseId=g.previous_response_id;else h.fullContextRequests++,h.lastDeltaInputItems=void 0,h.lastPreviousResponseId=void 0}try{if(E.send(JSON.stringify({type:"response.create",...g})),await de(Rt(ge(St(E,u?.signal,l)),i),n,s,o,{serviceTier:u?.serviceTier,grammarToolInputProperties:d,resolveServiceTier:he,applyServiceTierPricing:(N,D)=>be(N,D,o)}),u?.signal?.aborted)p=!1;else if(W&&f&&n.responseId){let N=le(o,{messages:[n]},ye,{includeSystemPrompt:!1,grammarToolInputProperties:d}).filter((D)=>D.type!=="function_call_output"&&D.type!=="custom_tool_call_output");f.continuation={lastRequestBody:b,lastResponseId:n.responseId,lastResponseItems:N}}}catch(N){if(f)f.continuation=void 0;throw p=!1,N}finally{m({keep:p})}}async function vt(e){let t=await e.text(),r=t||e.statusText||"Request failed",n;try{let o=JSON.parse(t)?.error;if(o){let i=o.code||o.type||"";if(/usage_limit_reached|usage_not_included|rate_limit_exceeded/i.test(i)||e.status===429){let l=o.plan_type?` (${o.plan_type.toLowerCase()} plan)`:"",a=o.resets_at?Math.max(0,Math.round((o.resets_at*1000-Date.now())/60000)):void 0,c=a!==void 0?` Try again in ~${a} min.`:"";n=`You have hit your ChatGPT usage limit${l}.${c}`.trim()}r=o.message||n||r}}catch{}return{message:r,friendlyMessage:n}}function Ct(e){try{let t=e.split(".");if(t.length!==3)throw Error("Invalid token");let n=JSON.parse(atob(t[1]))?.[De]?.chatgpt_account_id;if(!n)throw Error("No account ID in token");return n}catch{throw Error("Failed to extract accountId from token")}}function xe(e,t,r,n){let s=new Headers(e);for(let[i,l]of Object.entries(t||{}))if(l===null)s.delete(i);else s.set(i,l);s.set("Authorization",`Bearer ${n}`),s.set("chatgpt-account-id",r),s.set("originator","pi");let o=G?`pi (${G.platform()} ${G.release()}; ${G.arch()})`:"pi (browser)";return s.set("User-Agent",o),s}function Ot(e,t,r,n,s){let o=xe(e,t,r,n);if(o.set("OpenAI-Beta","responses=experimental"),o.set("accept","text/event-stream"),o.set("content-type","application/json"),s)o.set("session-id",s),o.set("x-client-request-id",s);return o}function At(e,t,r,n,s){let o=xe(e,t,r,n);return o.delete("accept"),o.delete("content-type"),o.delete("OpenAI-Beta"),o.delete("openai-beta"),o.set("OpenAI-Beta",lt),o.set("x-client-request-id",s),o.set("session-id",s),o}export{pt as closeOpenAICodexWebSocketSessions,Vt as getOpenAICodexWebSocketDebugStats,Yt as resetOpenAICodexWebSocketDebugStats,Qe as stream,jt as streamSimple};
|