blink 1.1.33 → 1.1.35
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/dist/browser/control/index.d.cts +28 -20
- package/dist/browser/control/index.d.ts +28 -20
- package/dist/cli/chat-BfOX7Zpn.js +1 -0
- package/dist/cli/chat-manager-cUXPlLU4.js +21 -0
- package/dist/cli/compute-server-BFNeHOmk.js +1 -0
- package/dist/cli/connect-3pBvxI6u.js +1 -0
- package/dist/cli/connect-XRcF_tn8.js +1 -0
- package/dist/cli/create-github-app-CaCP607a.js +16 -0
- package/dist/cli/{dev-DTCSw4OQ.js → dev-DOvBAIjm.js} +222 -236
- package/dist/cli/{getMachineId-bsd-BECgXpZb.js → getMachineId-bsd-BfwVPdTh.js} +1 -1
- package/dist/cli/{getMachineId-bsd-BgAyii4H.js → getMachineId-bsd-BmhpEQU_.js} +1 -1
- package/dist/cli/{getMachineId-bsd-Cc73dhdJ.js → getMachineId-bsd-C1eeoY31.js} +1 -1
- package/dist/cli/{getMachineId-bsd-DJn61I3m.js → getMachineId-bsd-CO9ne--Y.js} +1 -1
- package/dist/cli/{getMachineId-bsd-Doah6QJP.js → getMachineId-bsd-D4uBPoNF.js} +1 -1
- package/dist/cli/getMachineId-bsd-DVGtITCk.js +1 -0
- package/dist/cli/getMachineId-bsd-MA4oFaCa.js +1 -0
- package/dist/cli/getMachineId-bsd-dbToLPez.js +1 -0
- package/dist/cli/{getMachineId-darwin-BMnMBte0.js → getMachineId-darwin-C0EZ3sY3.js} +1 -1
- package/dist/cli/{getMachineId-darwin-BP9BSYcd.js → getMachineId-darwin-CSfD7gS4.js} +1 -1
- package/dist/cli/{getMachineId-darwin-Bs3mlKrs.js → getMachineId-darwin-CgQ9n4TU.js} +1 -1
- package/dist/cli/{getMachineId-darwin-DFronuaU.js → getMachineId-darwin-Cpq0Lloc.js} +1 -1
- package/dist/cli/{getMachineId-darwin-D-l4_nyT.js → getMachineId-darwin-CuAzoP7O.js} +1 -1
- package/dist/cli/getMachineId-darwin-D6_tdcZj.js +2 -0
- package/dist/cli/getMachineId-darwin-DkExT2qu.js +2 -0
- package/dist/cli/getMachineId-darwin-xoAzTD7x.js +2 -0
- package/dist/cli/{getMachineId-linux-B2r_HEgX.js → getMachineId-linux-B1XJTHUh.js} +1 -1
- package/dist/cli/{getMachineId-linux-Bj52Hdvy.js → getMachineId-linux-CRUR6LbQ.js} +1 -1
- package/dist/cli/{getMachineId-linux-C9o1dYwI.js → getMachineId-linux-CVQNNGui.js} +1 -1
- package/dist/cli/{getMachineId-linux-CGcBOg7J.js → getMachineId-linux-CtdZRCaX.js} +1 -1
- package/dist/cli/getMachineId-linux-DMILcDJR.js +1 -0
- package/dist/cli/getMachineId-linux-Deja7F2k.js +1 -0
- package/dist/cli/getMachineId-linux-DqOGXYgv.js +1 -0
- package/dist/cli/getMachineId-linux-FRx9q8NV.js +1 -0
- package/dist/cli/{getMachineId-unsupported-BtmyS2eg.js → getMachineId-unsupported-B-xvzil1.js} +1 -1
- package/dist/cli/{getMachineId-unsupported-C8az6JKm.js → getMachineId-unsupported-BA3eQjiV.js} +1 -1
- package/dist/cli/{getMachineId-unsupported-CBS2qXAs.js → getMachineId-unsupported-BZCOxs7n.js} +1 -1
- package/dist/cli/{getMachineId-unsupported-Cu0DvxaU.js → getMachineId-unsupported-BjGFauqb.js} +1 -1
- package/dist/cli/getMachineId-unsupported-CLWxRb7f.js +1 -0
- package/dist/cli/getMachineId-unsupported-CSVFDvWp.js +1 -0
- package/dist/cli/getMachineId-unsupported-Cp_95R-6.js +1 -0
- package/dist/cli/getMachineId-unsupported-Nd0_Z7NT.js +1 -0
- package/dist/cli/{getMachineId-win-BCAO7ld1.js → getMachineId-win-AW-Mv9PG.js} +1 -1
- package/dist/cli/{getMachineId-win-BDQszRKi.js → getMachineId-win-B_2C1cwE.js} +1 -1
- package/dist/cli/{getMachineId-win-BOnF6rL7.js → getMachineId-win-BbYxddZ9.js} +1 -1
- package/dist/cli/{getMachineId-win-BOuIHcz_.js → getMachineId-win-BkozcdSh.js} +1 -1
- package/dist/cli/getMachineId-win-CPhFagnx.js +1 -0
- package/dist/cli/{getMachineId-win-pnMl0wak.js → getMachineId-win-CUeKGXdr.js} +1 -1
- package/dist/cli/getMachineId-win-D3-sMfSu.js +1 -0
- package/dist/cli/getMachineId-win-DFVpvzl3.js +1 -0
- package/dist/cli/index.js +7 -7
- package/dist/cli/init-LtTUYXzn.js +23 -0
- package/dist/cli/{init-templates-D4lwX_8M.js → init-templates-jGRvqLQ6.js} +614 -1
- package/dist/cli/run-BHKBjgkK.js +1 -0
- package/dist/cli/setup-github-app-DBiuq7cy.js +9 -0
- package/dist/cli/token-util-3NkPUSqu.js +1 -0
- package/dist/cli/{token-util-BKLboTb2.js → token-util-BgEcL2NM.js} +1 -1
- package/dist/cli/{token-Bk68OrJt.js → token-v4NJW7VU.js} +1 -1
- package/dist/cli/undici-JD4hDNWZ.js +1 -0
- package/dist/cli/utils-B3iC7vdW.js +1 -0
- package/dist/node/agent/index.node.cjs +1 -1
- package/dist/node/agent/index.node.js +1 -1
- package/dist/node/{index.node-Bvp48I1R.cjs → index.node-CFR7FTuY.cjs} +4 -4
- package/dist/node/{index.node-ppzOWVGE.js → index.node-CITcyk6b.js} +4 -4
- package/dist/node/react/index.node.cjs +621 -8
- package/dist/node/react/index.node.js +621 -8
- package/dist/node/{token-CI2_C_5D.js → token-B2MtKe6w.js} +1 -1
- package/dist/node/{token-D4jFpAk0.cjs → token-BQ-EqDMB.cjs} +1 -1
- package/dist/node/{token-util-BxSJFXkT.cjs → token-util--zh4M6Ze.cjs} +1 -1
- package/dist/node/{token-util-idU3T5iM.js → token-util-CtaB7NzM.js} +1 -1
- package/dist/node/token-util-P8_cV3Yu.cjs +1 -0
- package/dist/node/{token-util-ChGcRyiF.js → token-util-RdQsj3MK.js} +1 -1
- package/package.json +10 -8
- package/dist/cli/chat-C_rQ9SRr.js +0 -1
- package/dist/cli/chat-manager-bLgTuAnK.js +0 -21
- package/dist/cli/compute-server-CyGc-fpM.js +0 -1
- package/dist/cli/connect-CgLoRyDv.js +0 -1
- package/dist/cli/connect-t56RPJRB.js +0 -1
- package/dist/cli/create-slack-app-CyVPwWsG.js +0 -1
- package/dist/cli/events-DKgZ2LNM.js +0 -1
- package/dist/cli/getMachineId-bsd-aoAkh_W6.js +0 -1
- package/dist/cli/getMachineId-bsd-iPOb0TqF.js +0 -1
- package/dist/cli/getMachineId-bsd-io5tPlFg.js +0 -1
- package/dist/cli/getMachineId-darwin-DJO6fOdc.js +0 -2
- package/dist/cli/getMachineId-darwin-DlRRGl6M.js +0 -2
- package/dist/cli/getMachineId-darwin-Wp0usMIp.js +0 -2
- package/dist/cli/getMachineId-linux-CV2HmJXY.js +0 -1
- package/dist/cli/getMachineId-linux-Cv44Y8ZY.js +0 -1
- package/dist/cli/getMachineId-linux-CzNEh3DJ.js +0 -1
- package/dist/cli/getMachineId-linux-_RiwpX2J.js +0 -1
- package/dist/cli/getMachineId-unsupported-Dni2ujA-.js +0 -1
- package/dist/cli/getMachineId-unsupported-MPNVP8rP.js +0 -1
- package/dist/cli/getMachineId-unsupported-mBJd3oBN.js +0 -1
- package/dist/cli/getMachineId-unsupported-rdNf8ej6.js +0 -1
- package/dist/cli/getMachineId-win-BQ_C7kS3.js +0 -1
- package/dist/cli/getMachineId-win-Bw0-Mlkn.js +0 -1
- package/dist/cli/getMachineId-win-DrJTv2qi.js +0 -1
- package/dist/cli/init-DXBledyD.js +0 -23
- package/dist/cli/run-CRrWbMEw.js +0 -1
- package/dist/cli/setup-slack-app-C9L0iIDZ.js +0 -1
- package/dist/cli/token-util-Dui5nOLw.js +0 -1
- package/dist/cli/undici-mM2IfLwA.js +0 -1
- package/dist/node/token-util-BENsR1Bn.cjs +0 -1
- /package/dist/cli/{devtools-CS3ukAFj.js → devtools-CwQnB6v7.js} +0 -0
- /package/dist/cli/{esm-CYkSi8_o.js → esm-BiWxO8S7.js} +0 -0
- /package/dist/cli/{execAsync-9jtK4I3l.js → execAsync-4IyNgpoN.js} +0 -0
- /package/dist/cli/{execAsync-B4_pEoEJ.js → execAsync-B6xSGvuk.js} +0 -0
- /package/dist/cli/{execAsync-BdK7RB6d.js → execAsync-B8_ZTafx.js} +0 -0
- /package/dist/cli/{execAsync-Bjxs-bO2.js → execAsync-B8nelpRN.js} +0 -0
- /package/dist/cli/{execAsync-CM_C8SBr.js → execAsync-Cj_jF8MF.js} +0 -0
- /package/dist/cli/{execAsync-CNFaXJjR.js → execAsync-Ckbi9Yqe.js} +0 -0
- /package/dist/cli/{execAsync-Dl3hbWiU.js → execAsync-CvOpnFex.js} +0 -0
- /package/dist/cli/{execAsync-qGIZ8XA8.js → execAsync-DDBH3pWg.js} +0 -0
- /package/dist/cli/{token-error-CGIVaIg6.js → token-error-BHDo_48c.js} +0 -0
- /package/dist/cli/{undici-BiTrd9-R.js → undici-B5tM_IT9.js} +0 -0
|
@@ -4,11 +4,11 @@ Error message: ${getErrorMessage(cause)}`,cause}),this[_a13]=!0,this.value=value
|
|
|
4
4
|
`;break;case`id`:id=value.includes(`\0`)?void 0:value;break;case`retry`:/^\d+$/.test(value)?onRetry(parseInt(value,10)):onError(new ParseError(`Invalid \`retry\` value: "${value}"`,{type:`invalid-retry`,value,line}));break;default:onError(new ParseError(`Unknown field "${field.length>20?`${field.slice(0,20)}\u2026`:field}"`,{type:`unknown-field`,field,value,line}));break}}function dispatchEvent(){data.length>0&&onEvent({id,event:eventType||void 0,data:data.endsWith(`
|
|
5
5
|
`)?data.slice(0,-1):data}),id=void 0,data=``,eventType=``}function reset(options={}){incompleteLine&&options.consume&&parseLine(incompleteLine),isFirstChunk=!0,id=void 0,data=``,eventType=``,incompleteLine=``}return{feed,reset}}function splitLines(chunk){let lines=[],incompleteLine=``,searchIndex=0;for(;searchIndex<chunk.length;){let crIndex=chunk.indexOf(`\r`,searchIndex),lfIndex=chunk.indexOf(`
|
|
6
6
|
`,searchIndex),lineEnd=-1;if(crIndex!==-1&&lfIndex!==-1?lineEnd=Math.min(crIndex,lfIndex):crIndex===-1?lfIndex!==-1&&(lineEnd=lfIndex):lineEnd=crIndex===chunk.length-1?-1:crIndex,lineEnd===-1){incompleteLine=chunk.slice(searchIndex);break}else{let line=chunk.slice(searchIndex,lineEnd);lines.push(line),searchIndex=lineEnd+1,chunk[searchIndex-1]===`\r`&&chunk[searchIndex]===`
|
|
7
|
-
`&&searchIndex++}}return[lines,incompleteLine]}var EventSourceParserStream=class extends TransformStream{constructor({onError,onRetry,onComment}={}){let parser;super({start(controller){parser=createParser({onEvent:event=>{controller.enqueue(event)},onError(error){onError===`terminate`?controller.error(error):typeof onError==`function`&&onError(error)},onRetry,onComment})},transform(chunk){parser.feed(chunk)}})}};function combineHeaders(...headers){return headers.reduce((combinedHeaders,currentHeaders)=>({...combinedHeaders,...currentHeaders??{}}),{})}function extractResponseHeaders(response){return Object.fromEntries([...response.headers])}var generateId=(({prefix,size=16,alphabet=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,separator=`-`}={})=>{let generator=()=>{let alphabetLength=alphabet.length,chars=Array(size);for(let i$1=0;i$1<size;i$1++)chars[i$1]=alphabet[Math.random()*alphabetLength|0];return chars.join(``)};if(prefix==null)return generator;if(alphabet.includes(separator))throw new InvalidArgumentError({argument:`separator`,message:`The separator "${separator}" must not be part of the alphabet "${alphabet}".`});return()=>`${prefix}${separator}${generator()}`})();function isAbortError(error){return(error instanceof Error||error instanceof DOMException)&&(error.name===`AbortError`||error.name===`ResponseAborted`||error.name===`TimeoutError`)}var FETCH_FAILED_ERROR_MESSAGES=[`fetch failed`,`failed to fetch`];function handleFetchError({error,url,requestBodyValues}){if(isAbortError(error))return error;if(error instanceof TypeError&&FETCH_FAILED_ERROR_MESSAGES.includes(error.message.toLowerCase())){let cause=error.cause;if(cause!=null)return new APICallError({message:`Cannot connect to API: ${cause.message}`,cause,url,requestBodyValues,isRetryable:!0})}return error}function getRuntimeEnvironmentUserAgent(globalThisAny=globalThis){var _a$2,_b$1,_c;return globalThisAny.window?`runtime/browser`:globalThisAny.navigator?.userAgent?`runtime/${globalThisAny.navigator.userAgent.toLowerCase()}`:globalThisAny.process?.versions?.node?`runtime/node.js/${globalThisAny.process.version.substring(0)}`:globalThisAny.EdgeRuntime?`runtime/vercel-edge`:`runtime/unknown`}function removeUndefinedEntries(record){return Object.fromEntries(Object.entries(record).filter(([_key,value])=>value!=null))}function withUserAgentSuffix(headers,...userAgentSuffixParts){let cleanedHeaders=removeUndefinedEntries(headers??{}),normalizedHeaders=new Headers(cleanedHeaders),currentUserAgentHeader=normalizedHeaders.get(`user-agent`)||``;return normalizedHeaders.set(`user-agent`,[currentUserAgentHeader,...userAgentSuffixParts].filter(Boolean).join(` `)),Object.fromEntries(normalizedHeaders)}var VERSION$2=`3.0.12`,getOriginalFetch=()=>globalThis.fetch,getFromApi=async({url,headers={},successfulResponseHandler,failedResponseHandler,abortSignal,fetch:fetch$1=getOriginalFetch()})=>{try{let response=await fetch$1(url,{method:`GET`,headers:withUserAgentSuffix(headers,`ai-sdk/provider-utils/${VERSION$2}`,getRuntimeEnvironmentUserAgent()),signal:abortSignal}),responseHeaders=extractResponseHeaders(response);if(!response.ok){let errorInformation;try{errorInformation=await failedResponseHandler({response,url,requestBodyValues:{}})}catch(error){throw isAbortError(error)||APICallError.isInstance(error)?error:new APICallError({message:`Failed to process error response`,cause:error,statusCode:response.status,url,responseHeaders,requestBodyValues:{}})}throw errorInformation.value}try{return await successfulResponseHandler({response,url,requestBodyValues:{}})}catch(error){throw error instanceof Error&&(isAbortError(error)||APICallError.isInstance(error))?error:new APICallError({message:`Failed to process successful response`,cause:error,statusCode:response.status,url,responseHeaders,requestBodyValues:{}})}}catch(error){throw handleFetchError({error,url,requestBodyValues:{}})}};function loadOptionalSetting({settingValue,environmentVariableName}){if(typeof settingValue==`string`||!(settingValue!=null||typeof process>`u`)&&(settingValue=process.env[environmentVariableName],!(settingValue==null||typeof settingValue!=`string`)))return settingValue}var suspectProtoRx=/"__proto__"\s*:/,suspectConstructorRx=/"constructor"\s*:/;function _parse(text){let obj=JSON.parse(text);return typeof obj!=`object`||!obj||suspectProtoRx.test(text)===!1&&suspectConstructorRx.test(text)===!1?obj:filter(obj)}function filter(obj){let next=[obj];for(;next.length;){let nodes=next;next=[];for(let node of nodes){if(Object.prototype.hasOwnProperty.call(node,`__proto__`)||Object.prototype.hasOwnProperty.call(node,`constructor`)&&Object.prototype.hasOwnProperty.call(node.constructor,`prototype`))throw SyntaxError(`Object contains forbidden prototype property`);for(let key in node){let value=node[key];value&&typeof value==`object`&&next.push(value)}}}return obj}function secureJsonParse(text){let{stackTraceLimit}=Error;Error.stackTraceLimit=0;try{return _parse(text)}finally{Error.stackTraceLimit=stackTraceLimit}}var validatorSymbol=Symbol.for(`vercel.ai.validator`);function validator$1(validate){return{[validatorSymbol]:!0,validate}}function isValidator(value){return typeof value==`object`&&!!value&&validatorSymbol in value&&value[validatorSymbol]===!0&&`validate`in value}function lazyValidator(createValidator){let validator2;return()=>(validator2??=createValidator(),validator2)}function asValidator(value){return isValidator(value)?value:typeof value==`function`?value():standardSchemaValidator(value)}function standardSchemaValidator(standardSchema){return validator$1(async value=>{let result=await standardSchema[`~standard`].validate(value);return result.issues==null?{success:!0,value:result.value}:{success:!1,error:new TypeValidationError({value,cause:result.issues})}})}async function validateTypes({value,schema}){let result=await safeValidateTypes({value,schema});if(!result.success)throw TypeValidationError.wrap({value,cause:result.error});return result.value}async function safeValidateTypes({value,schema}){let validator2=asValidator(schema);try{if(validator2.validate==null)return{success:!0,value,rawValue:value};let result=await validator2.validate(value);return result.success?{success:!0,value:result.value,rawValue:value}:{success:!1,error:TypeValidationError.wrap({value,cause:result.error}),rawValue:value}}catch(error){return{success:!1,error:TypeValidationError.wrap({value,cause:error}),rawValue:value}}}async function parseJSON({text,schema}){try{let value=secureJsonParse(text);return schema==null?value:validateTypes({value,schema})}catch(error){throw JSONParseError.isInstance(error)||TypeValidationError.isInstance(error)?error:new JSONParseError({text,cause:error})}}async function safeParseJSON({text,schema}){try{let value=secureJsonParse(text);return schema==null?{success:!0,value,rawValue:value}:await safeValidateTypes({value,schema})}catch(error){return{success:!1,error:JSONParseError.isInstance(error)?error:new JSONParseError({text,cause:error}),rawValue:void 0}}}function parseJsonEventStream({stream,schema}){return stream.pipeThrough(new TextDecoderStream).pipeThrough(new EventSourceParserStream).pipeThrough(new TransformStream({async transform({data},controller){data!==`[DONE]`&&controller.enqueue(await safeParseJSON({text:data,schema}))}}))}var getOriginalFetch2=()=>globalThis.fetch,postJsonToApi=async({url,headers,body,failedResponseHandler,successfulResponseHandler,abortSignal,fetch:fetch$1})=>postToApi({url,headers:{"Content-Type":`application/json`,...headers},body:{content:JSON.stringify(body),values:body},failedResponseHandler,successfulResponseHandler,abortSignal,fetch:fetch$1}),postToApi=async({url,headers={},body,successfulResponseHandler,failedResponseHandler,abortSignal,fetch:fetch$1=getOriginalFetch2()})=>{try{let response=await fetch$1(url,{method:`POST`,headers:withUserAgentSuffix(headers,`ai-sdk/provider-utils/${VERSION$2}`,getRuntimeEnvironmentUserAgent()),body:body.content,signal:abortSignal}),responseHeaders=extractResponseHeaders(response);if(!response.ok){let errorInformation;try{errorInformation=await failedResponseHandler({response,url,requestBodyValues:body.values})}catch(error){throw isAbortError(error)||APICallError.isInstance(error)?error:new APICallError({message:`Failed to process error response`,cause:error,statusCode:response.status,url,responseHeaders,requestBodyValues:body.values})}throw errorInformation.value}try{return await successfulResponseHandler({response,url,requestBodyValues:body.values})}catch(error){throw error instanceof Error&&(isAbortError(error)||APICallError.isInstance(error))?error:new APICallError({message:`Failed to process successful response`,cause:error,statusCode:response.status,url,responseHeaders,requestBodyValues:body.values})}}catch(error){throw handleFetchError({error,url,requestBodyValues:body.values})}};async function resolve(value){return typeof value==`function`&&(value=value()),Promise.resolve(value)}var createJsonErrorResponseHandler=({errorSchema,errorToMessage,isRetryable})=>async({response,url,requestBodyValues})=>{let responseBody=await response.text(),responseHeaders=extractResponseHeaders(response);if(responseBody.trim()===``)return{responseHeaders,value:new APICallError({message:response.statusText,url,requestBodyValues,statusCode:response.status,responseHeaders,responseBody,isRetryable:isRetryable?.(response)})};try{let parsedError=await parseJSON({text:responseBody,schema:errorSchema});return{responseHeaders,value:new APICallError({message:errorToMessage(parsedError),url,requestBodyValues,statusCode:response.status,responseHeaders,responseBody,data:parsedError,isRetryable:isRetryable?.(response,parsedError)})}}catch{return{responseHeaders,value:new APICallError({message:response.statusText,url,requestBodyValues,statusCode:response.status,responseHeaders,responseBody,isRetryable:isRetryable?.(response)})}}},createEventSourceResponseHandler=chunkSchema=>async({response})=>{let responseHeaders=extractResponseHeaders(response);if(response.body==null)throw new EmptyResponseBodyError({});return{responseHeaders,value:parseJsonEventStream({stream:response.body,schema:chunkSchema})}},createJsonResponseHandler=responseSchema=>async({response,url,requestBodyValues})=>{let responseBody=await response.text(),parsedResult=await safeParseJSON({text:responseBody,schema:responseSchema}),responseHeaders=extractResponseHeaders(response);if(!parsedResult.success)throw new APICallError({message:`Invalid JSON response`,cause:parsedResult.error,statusCode:response.status,responseHeaders,responseBody,url,requestBodyValues});return{responseHeaders,value:parsedResult.value,rawValue:parsedResult.rawValue}},getRelativePath=(pathA,pathB)=>{let i$1=0;for(;i$1<pathA.length&&i$1<pathB.length&&pathA[i$1]===pathB[i$1];i$1++);return[(pathA.length-i$1).toString(),...pathB.slice(i$1)].join(`/`)},ignoreOverride=Symbol(`Let zodToJsonSchema decide on which parser to use`),defaultOptions={name:void 0,$refStrategy:`root`,basePath:[`#`],effectStrategy:`input`,pipeStrategy:`all`,dateStrategy:`format:date-time`,mapStrategy:`entries`,removeAdditionalStrategy:`passthrough`,allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:`definitions`,strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:`escape`,applyRegexFlags:!1,emailStrategy:`format:email`,base64Strategy:`contentEncoding:base64`,nameStrategy:`ref`},getDefaultOptions=options=>typeof options==`string`?{...defaultOptions,name:options}:{...defaultOptions,...options};function parseAnyDef(){return{}}function parseArrayDef(def,refs){var _a$2,_b$1,_c;let res={type:`array`};return def.type?._def&&def.type?._def?.typeName!==ZodFirstPartyTypeKind.ZodAny&&(res.items=parseDef(def.type._def,{...refs,currentPath:[...refs.currentPath,`items`]})),def.minLength&&(res.minItems=def.minLength.value),def.maxLength&&(res.maxItems=def.maxLength.value),def.exactLength&&(res.minItems=def.exactLength.value,res.maxItems=def.exactLength.value),res}function parseBigintDef(def){let res={type:`integer`,format:`int64`};if(!def.checks)return res;for(let check of def.checks)switch(check.kind){case`min`:check.inclusive?res.minimum=check.value:res.exclusiveMinimum=check.value;break;case`max`:check.inclusive?res.maximum=check.value:res.exclusiveMaximum=check.value;break;case`multipleOf`:res.multipleOf=check.value;break}return res}function parseBooleanDef(){return{type:`boolean`}}function parseBrandedDef(_def,refs){return parseDef(_def.type._def,refs)}var parseCatchDef=(def,refs)=>parseDef(def.innerType._def,refs);function parseDateDef(def,refs,overrideDateStrategy){let strategy=overrideDateStrategy??refs.dateStrategy;if(Array.isArray(strategy))return{anyOf:strategy.map((item,i$1)=>parseDateDef(def,refs,item))};switch(strategy){case`string`:case`format:date-time`:return{type:`string`,format:`date-time`};case`format:date`:return{type:`string`,format:`date`};case`integer`:return integerDateParser(def)}}var integerDateParser=def=>{let res={type:`integer`,format:`unix-time`};for(let check of def.checks)switch(check.kind){case`min`:res.minimum=check.value;break;case`max`:res.maximum=check.value;break}return res};function parseDefaultDef(_def,refs){return{...parseDef(_def.innerType._def,refs),default:_def.defaultValue()}}function parseEffectsDef(_def,refs){return refs.effectStrategy===`input`?parseDef(_def.schema._def,refs):parseAnyDef()}function parseEnumDef(def){return{type:`string`,enum:Array.from(def.values)}}var isJsonSchema7AllOfType=type=>`type`in type&&type.type===`string`?!1:`allOf`in type;function parseIntersectionDef(def,refs){let allOf=[parseDef(def.left._def,{...refs,currentPath:[...refs.currentPath,`allOf`,`0`]}),parseDef(def.right._def,{...refs,currentPath:[...refs.currentPath,`allOf`,`1`]})].filter(x$1=>!!x$1),mergedAllOf=[];return allOf.forEach(schema=>{if(isJsonSchema7AllOfType(schema))mergedAllOf.push(...schema.allOf);else{let nestedSchema=schema;if(`additionalProperties`in schema&&schema.additionalProperties===!1){let{additionalProperties,...rest}=schema;nestedSchema=rest}mergedAllOf.push(nestedSchema)}}),mergedAllOf.length?{allOf:mergedAllOf}:void 0}function parseLiteralDef(def){let parsedType=typeof def.value;return parsedType!==`bigint`&&parsedType!==`number`&&parsedType!==`boolean`&&parsedType!==`string`?{type:Array.isArray(def.value)?`array`:`object`}:{type:parsedType===`bigint`?`integer`:parsedType,const:def.value}}var emojiRegex=void 0,zodPatterns={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(emojiRegex===void 0&&(emojiRegex=RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`)),emojiRegex),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function parseStringDef(def,refs){let res={type:`string`};if(def.checks)for(let check of def.checks)switch(check.kind){case`min`:res.minLength=typeof res.minLength==`number`?Math.max(res.minLength,check.value):check.value;break;case`max`:res.maxLength=typeof res.maxLength==`number`?Math.min(res.maxLength,check.value):check.value;break;case`email`:switch(refs.emailStrategy){case`format:email`:addFormat(res,`email`,check.message,refs);break;case`format:idn-email`:addFormat(res,`idn-email`,check.message,refs);break;case`pattern:zod`:addPattern(res,zodPatterns.email,check.message,refs);break}break;case`url`:addFormat(res,`uri`,check.message,refs);break;case`uuid`:addFormat(res,`uuid`,check.message,refs);break;case`regex`:addPattern(res,check.regex,check.message,refs);break;case`cuid`:addPattern(res,zodPatterns.cuid,check.message,refs);break;case`cuid2`:addPattern(res,zodPatterns.cuid2,check.message,refs);break;case`startsWith`:addPattern(res,RegExp(`^${escapeLiteralCheckValue(check.value,refs)}`),check.message,refs);break;case`endsWith`:addPattern(res,RegExp(`${escapeLiteralCheckValue(check.value,refs)}$`),check.message,refs);break;case`datetime`:addFormat(res,`date-time`,check.message,refs);break;case`date`:addFormat(res,`date`,check.message,refs);break;case`time`:addFormat(res,`time`,check.message,refs);break;case`duration`:addFormat(res,`duration`,check.message,refs);break;case`length`:res.minLength=typeof res.minLength==`number`?Math.max(res.minLength,check.value):check.value,res.maxLength=typeof res.maxLength==`number`?Math.min(res.maxLength,check.value):check.value;break;case`includes`:addPattern(res,RegExp(escapeLiteralCheckValue(check.value,refs)),check.message,refs);break;case`ip`:check.version!==`v6`&&addFormat(res,`ipv4`,check.message,refs),check.version!==`v4`&&addFormat(res,`ipv6`,check.message,refs);break;case`base64url`:addPattern(res,zodPatterns.base64url,check.message,refs);break;case`jwt`:addPattern(res,zodPatterns.jwt,check.message,refs);break;case`cidr`:check.version!==`v6`&&addPattern(res,zodPatterns.ipv4Cidr,check.message,refs),check.version!==`v4`&&addPattern(res,zodPatterns.ipv6Cidr,check.message,refs);break;case`emoji`:addPattern(res,zodPatterns.emoji(),check.message,refs);break;case`ulid`:addPattern(res,zodPatterns.ulid,check.message,refs);break;case`base64`:switch(refs.base64Strategy){case`format:binary`:addFormat(res,`binary`,check.message,refs);break;case`contentEncoding:base64`:res.contentEncoding=`base64`;break;case`pattern:zod`:addPattern(res,zodPatterns.base64,check.message,refs);break}break;case`nanoid`:addPattern(res,zodPatterns.nanoid,check.message,refs);case`toLowerCase`:case`toUpperCase`:case`trim`:break;default:}return res}function escapeLiteralCheckValue(literal,refs){return refs.patternStrategy===`escape`?escapeNonAlphaNumeric(literal):literal}var ALPHA_NUMERIC=new Set(`ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789`);function escapeNonAlphaNumeric(source){let result=``;for(let i$1=0;i$1<source.length;i$1++)ALPHA_NUMERIC.has(source[i$1])||(result+=`\\`),result+=source[i$1];return result}function addFormat(schema,value,message,refs){var _a$2;schema.format||schema.anyOf?.some(x$1=>x$1.format)?(schema.anyOf||=[],schema.format&&(schema.anyOf.push({format:schema.format}),delete schema.format),schema.anyOf.push({format:value,...message&&refs.errorMessages&&{errorMessage:{format:message}}})):schema.format=value}function addPattern(schema,regex,message,refs){var _a$2;schema.pattern||schema.allOf?.some(x$1=>x$1.pattern)?(schema.allOf||=[],schema.pattern&&(schema.allOf.push({pattern:schema.pattern}),delete schema.pattern),schema.allOf.push({pattern:stringifyRegExpWithFlags(regex,refs),...message&&refs.errorMessages&&{errorMessage:{pattern:message}}})):schema.pattern=stringifyRegExpWithFlags(regex,refs)}function stringifyRegExpWithFlags(regex,refs){var _a$2;if(!refs.applyRegexFlags||!regex.flags)return regex.source;let flags={i:regex.flags.includes(`i`),m:regex.flags.includes(`m`),s:regex.flags.includes(`s`)},source=flags.i?regex.source.toLowerCase():regex.source,pattern=``,isEscaped=!1,inCharGroup=!1,inCharRange=!1;for(let i$1=0;i$1<source.length;i$1++){if(isEscaped){pattern+=source[i$1],isEscaped=!1;continue}if(flags.i){if(inCharGroup){if(source[i$1].match(/[a-z]/)){inCharRange?(pattern+=source[i$1],pattern+=`${source[i$1-2]}-${source[i$1]}`.toUpperCase(),inCharRange=!1):source[i$1+1]===`-`&&source[i$1+2]?.match(/[a-z]/)?(pattern+=source[i$1],inCharRange=!0):pattern+=`${source[i$1]}${source[i$1].toUpperCase()}`;continue}}else if(source[i$1].match(/[a-z]/)){pattern+=`[${source[i$1]}${source[i$1].toUpperCase()}]`;continue}}if(flags.m){if(source[i$1]===`^`){pattern+=`(^|(?<=[\r
|
|
7
|
+
`&&searchIndex++}}return[lines,incompleteLine]}var EventSourceParserStream=class extends TransformStream{constructor({onError,onRetry,onComment}={}){let parser;super({start(controller){parser=createParser({onEvent:event=>{controller.enqueue(event)},onError(error){onError===`terminate`?controller.error(error):typeof onError==`function`&&onError(error)},onRetry,onComment})},transform(chunk){parser.feed(chunk)}})}};function combineHeaders(...headers){return headers.reduce((combinedHeaders,currentHeaders)=>({...combinedHeaders,...currentHeaders??{}}),{})}function extractResponseHeaders(response){return Object.fromEntries([...response.headers])}var generateId=(({prefix,size=16,alphabet=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,separator=`-`}={})=>{let generator=()=>{let alphabetLength=alphabet.length,chars=Array(size);for(let i$1=0;i$1<size;i$1++)chars[i$1]=alphabet[Math.random()*alphabetLength|0];return chars.join(``)};if(prefix==null)return generator;if(alphabet.includes(separator))throw new InvalidArgumentError({argument:`separator`,message:`The separator "${separator}" must not be part of the alphabet "${alphabet}".`});return()=>`${prefix}${separator}${generator()}`})();function isAbortError(error){return(error instanceof Error||error instanceof DOMException)&&(error.name===`AbortError`||error.name===`ResponseAborted`||error.name===`TimeoutError`)}var FETCH_FAILED_ERROR_MESSAGES=[`fetch failed`,`failed to fetch`];function handleFetchError({error,url,requestBodyValues}){if(isAbortError(error))return error;if(error instanceof TypeError&&FETCH_FAILED_ERROR_MESSAGES.includes(error.message.toLowerCase())){let cause=error.cause;if(cause!=null)return new APICallError({message:`Cannot connect to API: ${cause.message}`,cause,url,requestBodyValues,isRetryable:!0})}return error}function getRuntimeEnvironmentUserAgent(globalThisAny=globalThis){var _a$2,_b$1,_c;return globalThisAny.window?`runtime/browser`:globalThisAny.navigator?.userAgent?`runtime/${globalThisAny.navigator.userAgent.toLowerCase()}`:globalThisAny.process?.versions?.node?`runtime/node.js/${globalThisAny.process.version.substring(0)}`:globalThisAny.EdgeRuntime?`runtime/vercel-edge`:`runtime/unknown`}function normalizeHeaders(headers){if(headers==null)return{};let normalized={};if(headers instanceof Headers)headers.forEach((value,key)=>{normalized[key.toLowerCase()]=value});else{Array.isArray(headers)||(headers=Object.entries(headers));for(let[key,value]of headers)value!=null&&(normalized[key.toLowerCase()]=value)}return normalized}function withUserAgentSuffix(headers,...userAgentSuffixParts){let normalizedHeaders=new Headers(normalizeHeaders(headers)),currentUserAgentHeader=normalizedHeaders.get(`user-agent`)||``;return normalizedHeaders.set(`user-agent`,[currentUserAgentHeader,...userAgentSuffixParts].filter(Boolean).join(` `)),Object.fromEntries(normalizedHeaders.entries())}var VERSION$2=`3.0.18`,getOriginalFetch=()=>globalThis.fetch,getFromApi=async({url,headers={},successfulResponseHandler,failedResponseHandler,abortSignal,fetch:fetch$1=getOriginalFetch()})=>{try{let response=await fetch$1(url,{method:`GET`,headers:withUserAgentSuffix(headers,`ai-sdk/provider-utils/${VERSION$2}`,getRuntimeEnvironmentUserAgent()),signal:abortSignal}),responseHeaders=extractResponseHeaders(response);if(!response.ok){let errorInformation;try{errorInformation=await failedResponseHandler({response,url,requestBodyValues:{}})}catch(error){throw isAbortError(error)||APICallError.isInstance(error)?error:new APICallError({message:`Failed to process error response`,cause:error,statusCode:response.status,url,responseHeaders,requestBodyValues:{}})}throw errorInformation.value}try{return await successfulResponseHandler({response,url,requestBodyValues:{}})}catch(error){throw error instanceof Error&&(isAbortError(error)||APICallError.isInstance(error))?error:new APICallError({message:`Failed to process successful response`,cause:error,statusCode:response.status,url,responseHeaders,requestBodyValues:{}})}}catch(error){throw handleFetchError({error,url,requestBodyValues:{}})}};function loadOptionalSetting({settingValue,environmentVariableName}){if(typeof settingValue==`string`||!(settingValue!=null||typeof process>`u`)&&(settingValue=process.env[environmentVariableName],!(settingValue==null||typeof settingValue!=`string`)))return settingValue}var suspectProtoRx=/"__proto__"\s*:/,suspectConstructorRx=/"constructor"\s*:/;function _parse(text){let obj=JSON.parse(text);return typeof obj!=`object`||!obj||suspectProtoRx.test(text)===!1&&suspectConstructorRx.test(text)===!1?obj:filter(obj)}function filter(obj){let next=[obj];for(;next.length;){let nodes=next;next=[];for(let node of nodes){if(Object.prototype.hasOwnProperty.call(node,`__proto__`)||Object.prototype.hasOwnProperty.call(node,`constructor`)&&Object.prototype.hasOwnProperty.call(node.constructor,`prototype`))throw SyntaxError(`Object contains forbidden prototype property`);for(let key in node){let value=node[key];value&&typeof value==`object`&&next.push(value)}}}return obj}function secureJsonParse(text){let{stackTraceLimit}=Error;try{Error.stackTraceLimit=0}catch{return _parse(text)}try{return _parse(text)}finally{Error.stackTraceLimit=stackTraceLimit}}var validatorSymbol=Symbol.for(`vercel.ai.validator`);function validator$1(validate){return{[validatorSymbol]:!0,validate}}function isValidator(value){return typeof value==`object`&&!!value&&validatorSymbol in value&&value[validatorSymbol]===!0&&`validate`in value}function lazyValidator(createValidator){let validator2;return()=>(validator2??=createValidator(),validator2)}function asValidator(value){return isValidator(value)?value:typeof value==`function`?value():standardSchemaValidator(value)}function standardSchemaValidator(standardSchema){return validator$1(async value=>{let result=await standardSchema[`~standard`].validate(value);return result.issues==null?{success:!0,value:result.value}:{success:!1,error:new TypeValidationError({value,cause:result.issues})}})}async function validateTypes({value,schema}){let result=await safeValidateTypes({value,schema});if(!result.success)throw TypeValidationError.wrap({value,cause:result.error});return result.value}async function safeValidateTypes({value,schema}){let validator2=asValidator(schema);try{if(validator2.validate==null)return{success:!0,value,rawValue:value};let result=await validator2.validate(value);return result.success?{success:!0,value:result.value,rawValue:value}:{success:!1,error:TypeValidationError.wrap({value,cause:result.error}),rawValue:value}}catch(error){return{success:!1,error:TypeValidationError.wrap({value,cause:error}),rawValue:value}}}async function parseJSON({text,schema}){try{let value=secureJsonParse(text);return schema==null?value:validateTypes({value,schema})}catch(error){throw JSONParseError.isInstance(error)||TypeValidationError.isInstance(error)?error:new JSONParseError({text,cause:error})}}async function safeParseJSON({text,schema}){try{let value=secureJsonParse(text);return schema==null?{success:!0,value,rawValue:value}:await safeValidateTypes({value,schema})}catch(error){return{success:!1,error:JSONParseError.isInstance(error)?error:new JSONParseError({text,cause:error}),rawValue:void 0}}}function parseJsonEventStream({stream,schema}){return stream.pipeThrough(new TextDecoderStream).pipeThrough(new EventSourceParserStream).pipeThrough(new TransformStream({async transform({data},controller){data!==`[DONE]`&&controller.enqueue(await safeParseJSON({text:data,schema}))}}))}var getOriginalFetch2=()=>globalThis.fetch,postJsonToApi=async({url,headers,body,failedResponseHandler,successfulResponseHandler,abortSignal,fetch:fetch$1})=>postToApi({url,headers:{"Content-Type":`application/json`,...headers},body:{content:JSON.stringify(body),values:body},failedResponseHandler,successfulResponseHandler,abortSignal,fetch:fetch$1}),postToApi=async({url,headers={},body,successfulResponseHandler,failedResponseHandler,abortSignal,fetch:fetch$1=getOriginalFetch2()})=>{try{let response=await fetch$1(url,{method:`POST`,headers:withUserAgentSuffix(headers,`ai-sdk/provider-utils/${VERSION$2}`,getRuntimeEnvironmentUserAgent()),body:body.content,signal:abortSignal}),responseHeaders=extractResponseHeaders(response);if(!response.ok){let errorInformation;try{errorInformation=await failedResponseHandler({response,url,requestBodyValues:body.values})}catch(error){throw isAbortError(error)||APICallError.isInstance(error)?error:new APICallError({message:`Failed to process error response`,cause:error,statusCode:response.status,url,responseHeaders,requestBodyValues:body.values})}throw errorInformation.value}try{return await successfulResponseHandler({response,url,requestBodyValues:body.values})}catch(error){throw error instanceof Error&&(isAbortError(error)||APICallError.isInstance(error))?error:new APICallError({message:`Failed to process successful response`,cause:error,statusCode:response.status,url,responseHeaders,requestBodyValues:body.values})}}catch(error){throw handleFetchError({error,url,requestBodyValues:body.values})}};async function resolve(value){return typeof value==`function`&&(value=value()),Promise.resolve(value)}var createJsonErrorResponseHandler=({errorSchema,errorToMessage,isRetryable})=>async({response,url,requestBodyValues})=>{let responseBody=await response.text(),responseHeaders=extractResponseHeaders(response);if(responseBody.trim()===``)return{responseHeaders,value:new APICallError({message:response.statusText,url,requestBodyValues,statusCode:response.status,responseHeaders,responseBody,isRetryable:isRetryable?.(response)})};try{let parsedError=await parseJSON({text:responseBody,schema:errorSchema});return{responseHeaders,value:new APICallError({message:errorToMessage(parsedError),url,requestBodyValues,statusCode:response.status,responseHeaders,responseBody,data:parsedError,isRetryable:isRetryable?.(response,parsedError)})}}catch{return{responseHeaders,value:new APICallError({message:response.statusText,url,requestBodyValues,statusCode:response.status,responseHeaders,responseBody,isRetryable:isRetryable?.(response)})}}},createEventSourceResponseHandler=chunkSchema=>async({response})=>{let responseHeaders=extractResponseHeaders(response);if(response.body==null)throw new EmptyResponseBodyError({});return{responseHeaders,value:parseJsonEventStream({stream:response.body,schema:chunkSchema})}},createJsonResponseHandler=responseSchema=>async({response,url,requestBodyValues})=>{let responseBody=await response.text(),parsedResult=await safeParseJSON({text:responseBody,schema:responseSchema}),responseHeaders=extractResponseHeaders(response);if(!parsedResult.success)throw new APICallError({message:`Invalid JSON response`,cause:parsedResult.error,statusCode:response.status,responseHeaders,responseBody,url,requestBodyValues});return{responseHeaders,value:parsedResult.value,rawValue:parsedResult.rawValue}},getRelativePath=(pathA,pathB)=>{let i$1=0;for(;i$1<pathA.length&&i$1<pathB.length&&pathA[i$1]===pathB[i$1];i$1++);return[(pathA.length-i$1).toString(),...pathB.slice(i$1)].join(`/`)},ignoreOverride=Symbol(`Let zodToJsonSchema decide on which parser to use`),defaultOptions={name:void 0,$refStrategy:`root`,basePath:[`#`],effectStrategy:`input`,pipeStrategy:`all`,dateStrategy:`format:date-time`,mapStrategy:`entries`,removeAdditionalStrategy:`passthrough`,allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:`definitions`,strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:`escape`,applyRegexFlags:!1,emailStrategy:`format:email`,base64Strategy:`contentEncoding:base64`,nameStrategy:`ref`},getDefaultOptions=options=>typeof options==`string`?{...defaultOptions,name:options}:{...defaultOptions,...options};function parseAnyDef(){return{}}function parseArrayDef(def,refs){var _a$2,_b$1,_c;let res={type:`array`};return def.type?._def&&def.type?._def?.typeName!==ZodFirstPartyTypeKind.ZodAny&&(res.items=parseDef(def.type._def,{...refs,currentPath:[...refs.currentPath,`items`]})),def.minLength&&(res.minItems=def.minLength.value),def.maxLength&&(res.maxItems=def.maxLength.value),def.exactLength&&(res.minItems=def.exactLength.value,res.maxItems=def.exactLength.value),res}function parseBigintDef(def){let res={type:`integer`,format:`int64`};if(!def.checks)return res;for(let check of def.checks)switch(check.kind){case`min`:check.inclusive?res.minimum=check.value:res.exclusiveMinimum=check.value;break;case`max`:check.inclusive?res.maximum=check.value:res.exclusiveMaximum=check.value;break;case`multipleOf`:res.multipleOf=check.value;break}return res}function parseBooleanDef(){return{type:`boolean`}}function parseBrandedDef(_def,refs){return parseDef(_def.type._def,refs)}var parseCatchDef=(def,refs)=>parseDef(def.innerType._def,refs);function parseDateDef(def,refs,overrideDateStrategy){let strategy=overrideDateStrategy??refs.dateStrategy;if(Array.isArray(strategy))return{anyOf:strategy.map((item,i$1)=>parseDateDef(def,refs,item))};switch(strategy){case`string`:case`format:date-time`:return{type:`string`,format:`date-time`};case`format:date`:return{type:`string`,format:`date`};case`integer`:return integerDateParser(def)}}var integerDateParser=def=>{let res={type:`integer`,format:`unix-time`};for(let check of def.checks)switch(check.kind){case`min`:res.minimum=check.value;break;case`max`:res.maximum=check.value;break}return res};function parseDefaultDef(_def,refs){return{...parseDef(_def.innerType._def,refs),default:_def.defaultValue()}}function parseEffectsDef(_def,refs){return refs.effectStrategy===`input`?parseDef(_def.schema._def,refs):parseAnyDef()}function parseEnumDef(def){return{type:`string`,enum:Array.from(def.values)}}var isJsonSchema7AllOfType=type=>`type`in type&&type.type===`string`?!1:`allOf`in type;function parseIntersectionDef(def,refs){let allOf=[parseDef(def.left._def,{...refs,currentPath:[...refs.currentPath,`allOf`,`0`]}),parseDef(def.right._def,{...refs,currentPath:[...refs.currentPath,`allOf`,`1`]})].filter(x$1=>!!x$1),mergedAllOf=[];return allOf.forEach(schema=>{if(isJsonSchema7AllOfType(schema))mergedAllOf.push(...schema.allOf);else{let nestedSchema=schema;if(`additionalProperties`in schema&&schema.additionalProperties===!1){let{additionalProperties,...rest}=schema;nestedSchema=rest}mergedAllOf.push(nestedSchema)}}),mergedAllOf.length?{allOf:mergedAllOf}:void 0}function parseLiteralDef(def){let parsedType=typeof def.value;return parsedType!==`bigint`&&parsedType!==`number`&&parsedType!==`boolean`&&parsedType!==`string`?{type:Array.isArray(def.value)?`array`:`object`}:{type:parsedType===`bigint`?`integer`:parsedType,const:def.value}}var emojiRegex=void 0,zodPatterns={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(emojiRegex===void 0&&(emojiRegex=RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`)),emojiRegex),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function parseStringDef(def,refs){let res={type:`string`};if(def.checks)for(let check of def.checks)switch(check.kind){case`min`:res.minLength=typeof res.minLength==`number`?Math.max(res.minLength,check.value):check.value;break;case`max`:res.maxLength=typeof res.maxLength==`number`?Math.min(res.maxLength,check.value):check.value;break;case`email`:switch(refs.emailStrategy){case`format:email`:addFormat(res,`email`,check.message,refs);break;case`format:idn-email`:addFormat(res,`idn-email`,check.message,refs);break;case`pattern:zod`:addPattern(res,zodPatterns.email,check.message,refs);break}break;case`url`:addFormat(res,`uri`,check.message,refs);break;case`uuid`:addFormat(res,`uuid`,check.message,refs);break;case`regex`:addPattern(res,check.regex,check.message,refs);break;case`cuid`:addPattern(res,zodPatterns.cuid,check.message,refs);break;case`cuid2`:addPattern(res,zodPatterns.cuid2,check.message,refs);break;case`startsWith`:addPattern(res,RegExp(`^${escapeLiteralCheckValue(check.value,refs)}`),check.message,refs);break;case`endsWith`:addPattern(res,RegExp(`${escapeLiteralCheckValue(check.value,refs)}$`),check.message,refs);break;case`datetime`:addFormat(res,`date-time`,check.message,refs);break;case`date`:addFormat(res,`date`,check.message,refs);break;case`time`:addFormat(res,`time`,check.message,refs);break;case`duration`:addFormat(res,`duration`,check.message,refs);break;case`length`:res.minLength=typeof res.minLength==`number`?Math.max(res.minLength,check.value):check.value,res.maxLength=typeof res.maxLength==`number`?Math.min(res.maxLength,check.value):check.value;break;case`includes`:addPattern(res,RegExp(escapeLiteralCheckValue(check.value,refs)),check.message,refs);break;case`ip`:check.version!==`v6`&&addFormat(res,`ipv4`,check.message,refs),check.version!==`v4`&&addFormat(res,`ipv6`,check.message,refs);break;case`base64url`:addPattern(res,zodPatterns.base64url,check.message,refs);break;case`jwt`:addPattern(res,zodPatterns.jwt,check.message,refs);break;case`cidr`:check.version!==`v6`&&addPattern(res,zodPatterns.ipv4Cidr,check.message,refs),check.version!==`v4`&&addPattern(res,zodPatterns.ipv6Cidr,check.message,refs);break;case`emoji`:addPattern(res,zodPatterns.emoji(),check.message,refs);break;case`ulid`:addPattern(res,zodPatterns.ulid,check.message,refs);break;case`base64`:switch(refs.base64Strategy){case`format:binary`:addFormat(res,`binary`,check.message,refs);break;case`contentEncoding:base64`:res.contentEncoding=`base64`;break;case`pattern:zod`:addPattern(res,zodPatterns.base64,check.message,refs);break}break;case`nanoid`:addPattern(res,zodPatterns.nanoid,check.message,refs);case`toLowerCase`:case`toUpperCase`:case`trim`:break;default:}return res}function escapeLiteralCheckValue(literal,refs){return refs.patternStrategy===`escape`?escapeNonAlphaNumeric(literal):literal}var ALPHA_NUMERIC=new Set(`ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789`);function escapeNonAlphaNumeric(source){let result=``;for(let i$1=0;i$1<source.length;i$1++)ALPHA_NUMERIC.has(source[i$1])||(result+=`\\`),result+=source[i$1];return result}function addFormat(schema,value,message,refs){var _a$2;schema.format||schema.anyOf?.some(x$1=>x$1.format)?(schema.anyOf||=[],schema.format&&(schema.anyOf.push({format:schema.format}),delete schema.format),schema.anyOf.push({format:value,...message&&refs.errorMessages&&{errorMessage:{format:message}}})):schema.format=value}function addPattern(schema,regex,message,refs){var _a$2;schema.pattern||schema.allOf?.some(x$1=>x$1.pattern)?(schema.allOf||=[],schema.pattern&&(schema.allOf.push({pattern:schema.pattern}),delete schema.pattern),schema.allOf.push({pattern:stringifyRegExpWithFlags(regex,refs),...message&&refs.errorMessages&&{errorMessage:{pattern:message}}})):schema.pattern=stringifyRegExpWithFlags(regex,refs)}function stringifyRegExpWithFlags(regex,refs){var _a$2;if(!refs.applyRegexFlags||!regex.flags)return regex.source;let flags={i:regex.flags.includes(`i`),m:regex.flags.includes(`m`),s:regex.flags.includes(`s`)},source=flags.i?regex.source.toLowerCase():regex.source,pattern=``,isEscaped=!1,inCharGroup=!1,inCharRange=!1;for(let i$1=0;i$1<source.length;i$1++){if(isEscaped){pattern+=source[i$1],isEscaped=!1;continue}if(flags.i){if(inCharGroup){if(source[i$1].match(/[a-z]/)){inCharRange?(pattern+=source[i$1],pattern+=`${source[i$1-2]}-${source[i$1]}`.toUpperCase(),inCharRange=!1):source[i$1+1]===`-`&&source[i$1+2]?.match(/[a-z]/)?(pattern+=source[i$1],inCharRange=!0):pattern+=`${source[i$1]}${source[i$1].toUpperCase()}`;continue}}else if(source[i$1].match(/[a-z]/)){pattern+=`[${source[i$1]}${source[i$1].toUpperCase()}]`;continue}}if(flags.m){if(source[i$1]===`^`){pattern+=`(^|(?<=[\r
|
|
8
8
|
]))`;continue}else if(source[i$1]===`$`){pattern+=`($|(?=[\r
|
|
9
9
|
]))`;continue}}if(flags.s&&source[i$1]===`.`){pattern+=inCharGroup?`${source[i$1]}\r
|
|
10
10
|
`:`[${source[i$1]}\r
|
|
11
|
-
]`;continue}pattern+=source[i$1],source[i$1]===`\\`?isEscaped=!0:inCharGroup&&source[i$1]===`]`?inCharGroup=!1:!inCharGroup&&source[i$1]===`[`&&(inCharGroup=!0)}try{new RegExp(pattern)}catch{return console.warn(`Could not convert regex pattern at ${refs.currentPath.join(`/`)} to a flag-independent form! Falling back to the flag-ignorant source`),regex.source}return pattern}function parseRecordDef(def,refs){var _a$2,_b$1,_c,_d,_e,_f;let schema={type:`object`,additionalProperties:parseDef(def.valueType._def,{...refs,currentPath:[...refs.currentPath,`additionalProperties`]})??refs.allowedAdditionalProperties};if(def.keyType?._def.typeName===ZodFirstPartyTypeKind.ZodString&&def.keyType._def.checks?.length){let{type,...keyType}=parseStringDef(def.keyType._def,refs);return{...schema,propertyNames:keyType}}else if(def.keyType?._def.typeName===ZodFirstPartyTypeKind.ZodEnum)return{...schema,propertyNames:{enum:def.keyType._def.values}};else if(def.keyType?._def.typeName===ZodFirstPartyTypeKind.ZodBranded&&def.keyType._def.type._def.typeName===ZodFirstPartyTypeKind.ZodString&&def.keyType._def.type._def.checks?.length){let{type,...keyType}=parseBrandedDef(def.keyType._def,refs);return{...schema,propertyNames:keyType}}return schema}function parseMapDef(def,refs){if(refs.mapStrategy===`record`)return parseRecordDef(def,refs);let keys=parseDef(def.keyType._def,{...refs,currentPath:[...refs.currentPath,`items`,`items`,`0`]})||parseAnyDef(),values=parseDef(def.valueType._def,{...refs,currentPath:[...refs.currentPath,`items`,`items`,`1`]})||parseAnyDef();return{type:`array`,maxItems:125,items:{type:`array`,items:[keys,values],minItems:2,maxItems:2}}}function parseNativeEnumDef(def){let object=def.values,actualValues=Object.keys(def.values).filter(key=>typeof object[object[key]]!=`number`).map(key=>object[key]),parsedTypes=Array.from(new Set(actualValues.map(values=>typeof values)));return{type:parsedTypes.length===1?parsedTypes[0]===`string`?`string`:`number`:[`string`,`number`],enum:actualValues}}function parseNeverDef(){return{not:parseAnyDef()}}function parseNullDef(){return{type:`null`}}var primitiveMappings={ZodString:`string`,ZodNumber:`number`,ZodBigInt:`integer`,ZodBoolean:`boolean`,ZodNull:`null`};function parseUnionDef(def,refs){let options=def.options instanceof Map?Array.from(def.options.values()):def.options;if(options.every(x$1=>x$1._def.typeName in primitiveMappings&&(!x$1._def.checks||!x$1._def.checks.length))){let types=options.reduce((types2,x$1)=>{let type=primitiveMappings[x$1._def.typeName];return type&&!types2.includes(type)?[...types2,type]:types2},[]);return{type:types.length>1?types:types[0]}}else if(options.every(x$1=>x$1._def.typeName===`ZodLiteral`&&!x$1.description)){let types=options.reduce((acc,x$1)=>{let type=typeof x$1._def.value;switch(type){case`string`:case`number`:case`boolean`:return[...acc,type];case`bigint`:return[...acc,`integer`];case`object`:if(x$1._def.value===null)return[...acc,`null`];case`symbol`:case`undefined`:case`function`:default:return acc}},[]);if(types.length===options.length){let uniqueTypes=types.filter((x$1,i$1,a$1)=>a$1.indexOf(x$1)===i$1);return{type:uniqueTypes.length>1?uniqueTypes:uniqueTypes[0],enum:options.reduce((acc,x$1)=>acc.includes(x$1._def.value)?acc:[...acc,x$1._def.value],[])}}}else if(options.every(x$1=>x$1._def.typeName===`ZodEnum`))return{type:`string`,enum:options.reduce((acc,x$1)=>[...acc,...x$1._def.values.filter(x2=>!acc.includes(x2))],[])};return asAnyOf(def,refs)}var asAnyOf=(def,refs)=>{let anyOf=(def.options instanceof Map?Array.from(def.options.values()):def.options).map((x$1,i$1)=>parseDef(x$1._def,{...refs,currentPath:[...refs.currentPath,`anyOf`,`${i$1}`]})).filter(x$1=>!!x$1&&(!refs.strictUnions||typeof x$1==`object`&&Object.keys(x$1).length>0));return anyOf.length?{anyOf}:void 0};function parseNullableDef(def,refs){if([`ZodString`,`ZodNumber`,`ZodBigInt`,`ZodBoolean`,`ZodNull`].includes(def.innerType._def.typeName)&&(!def.innerType._def.checks||!def.innerType._def.checks.length))return{type:[primitiveMappings[def.innerType._def.typeName],`null`]};let base=parseDef(def.innerType._def,{...refs,currentPath:[...refs.currentPath,`anyOf`,`0`]});return base&&{anyOf:[base,{type:`null`}]}}function parseNumberDef(def){let res={type:`number`};if(!def.checks)return res;for(let check of def.checks)switch(check.kind){case`int`:res.type=`integer`;break;case`min`:check.inclusive?res.minimum=check.value:res.exclusiveMinimum=check.value;break;case`max`:check.inclusive?res.maximum=check.value:res.exclusiveMaximum=check.value;break;case`multipleOf`:res.multipleOf=check.value;break}return res}function parseObjectDef(def,refs){let result={type:`object`,properties:{}},required=[],shape=def.shape();for(let propName in shape){let propDef=shape[propName];if(propDef===void 0||propDef._def===void 0)continue;let propOptional=safeIsOptional(propDef),parsedDef=parseDef(propDef._def,{...refs,currentPath:[...refs.currentPath,`properties`,propName],propertyPath:[...refs.currentPath,`properties`,propName]});parsedDef!==void 0&&(result.properties[propName]=parsedDef,propOptional||required.push(propName))}required.length&&(result.required=required);let additionalProperties=decideAdditionalProperties(def,refs);return additionalProperties!==void 0&&(result.additionalProperties=additionalProperties),result}function decideAdditionalProperties(def,refs){if(def.catchall._def.typeName!==`ZodNever`)return parseDef(def.catchall._def,{...refs,currentPath:[...refs.currentPath,`additionalProperties`]});switch(def.unknownKeys){case`passthrough`:return refs.allowedAdditionalProperties;case`strict`:return refs.rejectedAdditionalProperties;case`strip`:return refs.removeAdditionalStrategy===`strict`?refs.allowedAdditionalProperties:refs.rejectedAdditionalProperties}}function safeIsOptional(schema){try{return schema.isOptional()}catch{return!0}}var parseOptionalDef=(def,refs)=>{var _a$2;if(refs.currentPath.toString()===refs.propertyPath?.toString())return parseDef(def.innerType._def,refs);let innerSchema=parseDef(def.innerType._def,{...refs,currentPath:[...refs.currentPath,`anyOf`,`1`]});return innerSchema?{anyOf:[{not:parseAnyDef()},innerSchema]}:parseAnyDef()},parsePipelineDef=(def,refs)=>{if(refs.pipeStrategy===`input`)return parseDef(def.in._def,refs);if(refs.pipeStrategy===`output`)return parseDef(def.out._def,refs);let a$1=parseDef(def.in._def,{...refs,currentPath:[...refs.currentPath,`allOf`,`0`]}),b$1=parseDef(def.out._def,{...refs,currentPath:[...refs.currentPath,`allOf`,a$1?`1`:`0`]});return{allOf:[a$1,b$1].filter(x$1=>x$1!==void 0)}};function parsePromiseDef(def,refs){return parseDef(def.type._def,refs)}function parseSetDef(def,refs){let schema={type:`array`,uniqueItems:!0,items:parseDef(def.valueType._def,{...refs,currentPath:[...refs.currentPath,`items`]})};return def.minSize&&(schema.minItems=def.minSize.value),def.maxSize&&(schema.maxItems=def.maxSize.value),schema}function parseTupleDef(def,refs){return def.rest?{type:`array`,minItems:def.items.length,items:def.items.map((x$1,i$1)=>parseDef(x$1._def,{...refs,currentPath:[...refs.currentPath,`items`,`${i$1}`]})).reduce((acc,x$1)=>x$1===void 0?acc:[...acc,x$1],[]),additionalItems:parseDef(def.rest._def,{...refs,currentPath:[...refs.currentPath,`additionalItems`]})}:{type:`array`,minItems:def.items.length,maxItems:def.items.length,items:def.items.map((x$1,i$1)=>parseDef(x$1._def,{...refs,currentPath:[...refs.currentPath,`items`,`${i$1}`]})).reduce((acc,x$1)=>x$1===void 0?acc:[...acc,x$1],[])}}function parseUndefinedDef(){return{not:parseAnyDef()}}function parseUnknownDef(){return parseAnyDef()}var parseReadonlyDef=(def,refs)=>parseDef(def.innerType._def,refs),selectParser=(def,typeName,refs)=>{switch(typeName){case ZodFirstPartyTypeKind.ZodString:return parseStringDef(def,refs);case ZodFirstPartyTypeKind.ZodNumber:return parseNumberDef(def);case ZodFirstPartyTypeKind.ZodObject:return parseObjectDef(def,refs);case ZodFirstPartyTypeKind.ZodBigInt:return parseBigintDef(def);case ZodFirstPartyTypeKind.ZodBoolean:return parseBooleanDef();case ZodFirstPartyTypeKind.ZodDate:return parseDateDef(def,refs);case ZodFirstPartyTypeKind.ZodUndefined:return parseUndefinedDef();case ZodFirstPartyTypeKind.ZodNull:return parseNullDef();case ZodFirstPartyTypeKind.ZodArray:return parseArrayDef(def,refs);case ZodFirstPartyTypeKind.ZodUnion:case ZodFirstPartyTypeKind.ZodDiscriminatedUnion:return parseUnionDef(def,refs);case ZodFirstPartyTypeKind.ZodIntersection:return parseIntersectionDef(def,refs);case ZodFirstPartyTypeKind.ZodTuple:return parseTupleDef(def,refs);case ZodFirstPartyTypeKind.ZodRecord:return parseRecordDef(def,refs);case ZodFirstPartyTypeKind.ZodLiteral:return parseLiteralDef(def);case ZodFirstPartyTypeKind.ZodEnum:return parseEnumDef(def);case ZodFirstPartyTypeKind.ZodNativeEnum:return parseNativeEnumDef(def);case ZodFirstPartyTypeKind.ZodNullable:return parseNullableDef(def,refs);case ZodFirstPartyTypeKind.ZodOptional:return parseOptionalDef(def,refs);case ZodFirstPartyTypeKind.ZodMap:return parseMapDef(def,refs);case ZodFirstPartyTypeKind.ZodSet:return parseSetDef(def,refs);case ZodFirstPartyTypeKind.ZodLazy:return()=>def.getter()._def;case ZodFirstPartyTypeKind.ZodPromise:return parsePromiseDef(def,refs);case ZodFirstPartyTypeKind.ZodNaN:case ZodFirstPartyTypeKind.ZodNever:return parseNeverDef();case ZodFirstPartyTypeKind.ZodEffects:return parseEffectsDef(def,refs);case ZodFirstPartyTypeKind.ZodAny:return parseAnyDef();case ZodFirstPartyTypeKind.ZodUnknown:return parseUnknownDef();case ZodFirstPartyTypeKind.ZodDefault:return parseDefaultDef(def,refs);case ZodFirstPartyTypeKind.ZodBranded:return parseBrandedDef(def,refs);case ZodFirstPartyTypeKind.ZodReadonly:return parseReadonlyDef(def,refs);case ZodFirstPartyTypeKind.ZodCatch:return parseCatchDef(def,refs);case ZodFirstPartyTypeKind.ZodPipeline:return parsePipelineDef(def,refs);case ZodFirstPartyTypeKind.ZodFunction:case ZodFirstPartyTypeKind.ZodVoid:case ZodFirstPartyTypeKind.ZodSymbol:return;default:return(_$1=>void 0)(typeName)}};function parseDef(def,refs,forceResolution=!1){var _a$2;let seenItem=refs.seen.get(def);if(refs.override){let overrideResult=refs.override?.call(refs,def,refs,seenItem,forceResolution);if(overrideResult!==ignoreOverride)return overrideResult}if(seenItem&&!forceResolution){let seenSchema=get$ref(seenItem,refs);if(seenSchema!==void 0)return seenSchema}let newItem={def,path:refs.currentPath,jsonSchema:void 0};refs.seen.set(def,newItem);let jsonSchemaOrGetter=selectParser(def,def.typeName,refs),jsonSchema2=typeof jsonSchemaOrGetter==`function`?parseDef(jsonSchemaOrGetter(),refs):jsonSchemaOrGetter;if(jsonSchema2&&addMeta(def,refs,jsonSchema2),refs.postProcess){let postProcessResult=refs.postProcess(jsonSchema2,def,refs);return newItem.jsonSchema=jsonSchema2,postProcessResult}return newItem.jsonSchema=jsonSchema2,jsonSchema2}var get$ref=(item,refs)=>{switch(refs.$refStrategy){case`root`:return{$ref:item.path.join(`/`)};case`relative`:return{$ref:getRelativePath(refs.currentPath,item.path)};case`none`:case`seen`:return item.path.length<refs.currentPath.length&&item.path.every((value,index)=>refs.currentPath[index]===value)?(console.warn(`Recursive reference detected at ${refs.currentPath.join(`/`)}! Defaulting to any`),parseAnyDef()):refs.$refStrategy===`seen`?parseAnyDef():void 0}},addMeta=(def,refs,jsonSchema2)=>(def.description&&(jsonSchema2.description=def.description),jsonSchema2),getRefs=options=>{let _options=getDefaultOptions(options),currentPath=_options.name===void 0?_options.basePath:[..._options.basePath,_options.definitionPath,_options.name];return{..._options,currentPath,propertyPath:void 0,seen:new Map(Object.entries(_options.definitions).map(([name$2,def])=>[def._def,{def:def._def,path:[..._options.basePath,_options.definitionPath,name$2],jsonSchema:void 0}]))}},zod_to_json_schema_default=(schema,options)=>{var _a$2;let refs=getRefs(options),definitions=typeof options==`object`&&options.definitions?Object.entries(options.definitions).reduce((acc,[name2$2,schema2])=>{var _a2$2;return{...acc,[name2$2]:parseDef(schema2._def,{...refs,currentPath:[...refs.basePath,refs.definitionPath,name2$2]},!0)??parseAnyDef()}},{}):void 0,name$2=typeof options==`string`?options:options?.nameStrategy===`title`?void 0:options?.name,main=parseDef(schema._def,name$2===void 0?refs:{...refs,currentPath:[...refs.basePath,refs.definitionPath,name$2]},!1)??parseAnyDef(),title=typeof options==`object`&&options.name!==void 0&&options.nameStrategy===`title`?options.name:void 0;title!==void 0&&(main.title=title);let combined=name$2===void 0?definitions?{...main,[refs.definitionPath]:definitions}:main:{$ref:[...refs.$refStrategy===`relative`?[]:refs.basePath,refs.definitionPath,name$2].join(`/`),[refs.definitionPath]:{...definitions,[name$2]:main}};return combined.$schema=`http://json-schema.org/draft-07/schema#`,combined};function zod3Schema(zodSchema2,options){var _a$2;let useReferences=options?.useReferences??!1;return jsonSchema(()=>zod_to_json_schema_default(zodSchema2,{$refStrategy:useReferences?`root`:`none`}),{validate:async value=>{let result=await zodSchema2.safeParseAsync(value);return result.success?{success:!0,value:result.data}:{success:!1,error:result.error}}})}function zod4Schema(zodSchema2,options){var _a$2;let useReferences=options?.useReferences??!1;return jsonSchema(()=>z4.toJSONSchema(zodSchema2,{target:`draft-7`,io:`output`,reused:useReferences?`ref`:`inline`}),{validate:async value=>{let result=await z4.safeParseAsync(zodSchema2,value);return result.success?{success:!0,value:result.data}:{success:!1,error:result.error}}})}function isZod4Schema(zodSchema2){return`_zod`in zodSchema2}function zodSchema(zodSchema2,options){return isZod4Schema(zodSchema2)?zod4Schema(zodSchema2,options):zod3Schema(zodSchema2,options)}var schemaSymbol=Symbol.for(`vercel.ai.schema`);function jsonSchema(jsonSchema2,{validate}={}){return{[schemaSymbol]:!0,_type:void 0,[validatorSymbol]:!0,get jsonSchema(){return typeof jsonSchema2==`function`&&(jsonSchema2=jsonSchema2()),jsonSchema2},validate}}var{btoa:btoa$1,atob:atob$1}=globalThis;function withoutTrailingSlash(url){return url?.replace(/\/$/,``)}var require_get_context=__commonJSMin(((exports,module)=>{var __defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__getOwnPropNames$2=Object.getOwnPropertyNames,__hasOwnProp$2=Object.prototype.hasOwnProperty,__export$2=(target,all)=>{for(var name$2 in all)__defProp$2(target,name$2,{get:all[name$2],enumerable:!0})},__copyProps$2=(to,from,except,desc)=>{if(from&&typeof from==`object`||typeof from==`function`)for(let key of __getOwnPropNames$2(from))!__hasOwnProp$2.call(to,key)&&key!==except&&__defProp$2(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc$2(from,key))||desc.enumerable});return to},__toCommonJS$2=mod=>__copyProps$2(__defProp$2({},`__esModule`,{value:!0}),mod),get_context_exports={};__export$2(get_context_exports,{SYMBOL_FOR_REQ_CONTEXT:()=>SYMBOL_FOR_REQ_CONTEXT,getContext:()=>getContext$1}),module.exports=__toCommonJS$2(get_context_exports);let SYMBOL_FOR_REQ_CONTEXT=Symbol.for(`@vercel/request-context`);function getContext$1(){return globalThis[SYMBOL_FOR_REQ_CONTEXT]?.get?.()??{}}})),require_get_vercel_oidc_token=__commonJSMin(((exports,module)=>{var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__getOwnPropNames$1=Object.getOwnPropertyNames,__hasOwnProp$1=Object.prototype.hasOwnProperty,__export$1=(target,all)=>{for(var name$2 in all)__defProp$1(target,name$2,{get:all[name$2],enumerable:!0})},__copyProps$1=(to,from,except,desc)=>{if(from&&typeof from==`object`||typeof from==`function`)for(let key of __getOwnPropNames$1(from))!__hasOwnProp$1.call(to,key)&&key!==except&&__defProp$1(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc$1(from,key))||desc.enumerable});return to},__toCommonJS$1=mod=>__copyProps$1(__defProp$1({},`__esModule`,{value:!0}),mod),get_vercel_oidc_token_exports={};__export$1(get_vercel_oidc_token_exports,{getVercelOidcToken:()=>getVercelOidcToken$1,getVercelOidcTokenSync:()=>getVercelOidcTokenSync}),module.exports=__toCommonJS$1(get_vercel_oidc_token_exports);var import_get_context$1=require_get_context(),import_token_error=require_token_error();async function getVercelOidcToken$1(){let token=``,err;try{token=getVercelOidcTokenSync()}catch(error){err=error}try{let[{getTokenPayload,isExpired},{refreshToken}]=await Promise.all([await import(`./token-util-idU3T5iM.js`).then(__toDynamicImportESM()),await import(`./token-CI2_C_5D.js`).then(__toDynamicImportESM())]);(!token||isExpired(getTokenPayload(token)))&&(await refreshToken(),token=getVercelOidcTokenSync())}catch(error){throw err?.message&&error instanceof Error&&(error.message=`${err.message}
|
|
11
|
+
]`;continue}pattern+=source[i$1],source[i$1]===`\\`?isEscaped=!0:inCharGroup&&source[i$1]===`]`?inCharGroup=!1:!inCharGroup&&source[i$1]===`[`&&(inCharGroup=!0)}try{new RegExp(pattern)}catch{return console.warn(`Could not convert regex pattern at ${refs.currentPath.join(`/`)} to a flag-independent form! Falling back to the flag-ignorant source`),regex.source}return pattern}function parseRecordDef(def,refs){var _a$2,_b$1,_c,_d,_e,_f;let schema={type:`object`,additionalProperties:parseDef(def.valueType._def,{...refs,currentPath:[...refs.currentPath,`additionalProperties`]})??refs.allowedAdditionalProperties};if(def.keyType?._def.typeName===ZodFirstPartyTypeKind.ZodString&&def.keyType._def.checks?.length){let{type,...keyType}=parseStringDef(def.keyType._def,refs);return{...schema,propertyNames:keyType}}else if(def.keyType?._def.typeName===ZodFirstPartyTypeKind.ZodEnum)return{...schema,propertyNames:{enum:def.keyType._def.values}};else if(def.keyType?._def.typeName===ZodFirstPartyTypeKind.ZodBranded&&def.keyType._def.type._def.typeName===ZodFirstPartyTypeKind.ZodString&&def.keyType._def.type._def.checks?.length){let{type,...keyType}=parseBrandedDef(def.keyType._def,refs);return{...schema,propertyNames:keyType}}return schema}function parseMapDef(def,refs){if(refs.mapStrategy===`record`)return parseRecordDef(def,refs);let keys=parseDef(def.keyType._def,{...refs,currentPath:[...refs.currentPath,`items`,`items`,`0`]})||parseAnyDef(),values=parseDef(def.valueType._def,{...refs,currentPath:[...refs.currentPath,`items`,`items`,`1`]})||parseAnyDef();return{type:`array`,maxItems:125,items:{type:`array`,items:[keys,values],minItems:2,maxItems:2}}}function parseNativeEnumDef(def){let object=def.values,actualValues=Object.keys(def.values).filter(key=>typeof object[object[key]]!=`number`).map(key=>object[key]),parsedTypes=Array.from(new Set(actualValues.map(values=>typeof values)));return{type:parsedTypes.length===1?parsedTypes[0]===`string`?`string`:`number`:[`string`,`number`],enum:actualValues}}function parseNeverDef(){return{not:parseAnyDef()}}function parseNullDef(){return{type:`null`}}var primitiveMappings={ZodString:`string`,ZodNumber:`number`,ZodBigInt:`integer`,ZodBoolean:`boolean`,ZodNull:`null`};function parseUnionDef(def,refs){let options=def.options instanceof Map?Array.from(def.options.values()):def.options;if(options.every(x$1=>x$1._def.typeName in primitiveMappings&&(!x$1._def.checks||!x$1._def.checks.length))){let types=options.reduce((types2,x$1)=>{let type=primitiveMappings[x$1._def.typeName];return type&&!types2.includes(type)?[...types2,type]:types2},[]);return{type:types.length>1?types:types[0]}}else if(options.every(x$1=>x$1._def.typeName===`ZodLiteral`&&!x$1.description)){let types=options.reduce((acc,x$1)=>{let type=typeof x$1._def.value;switch(type){case`string`:case`number`:case`boolean`:return[...acc,type];case`bigint`:return[...acc,`integer`];case`object`:if(x$1._def.value===null)return[...acc,`null`];case`symbol`:case`undefined`:case`function`:default:return acc}},[]);if(types.length===options.length){let uniqueTypes=types.filter((x$1,i$1,a$1)=>a$1.indexOf(x$1)===i$1);return{type:uniqueTypes.length>1?uniqueTypes:uniqueTypes[0],enum:options.reduce((acc,x$1)=>acc.includes(x$1._def.value)?acc:[...acc,x$1._def.value],[])}}}else if(options.every(x$1=>x$1._def.typeName===`ZodEnum`))return{type:`string`,enum:options.reduce((acc,x$1)=>[...acc,...x$1._def.values.filter(x2=>!acc.includes(x2))],[])};return asAnyOf(def,refs)}var asAnyOf=(def,refs)=>{let anyOf=(def.options instanceof Map?Array.from(def.options.values()):def.options).map((x$1,i$1)=>parseDef(x$1._def,{...refs,currentPath:[...refs.currentPath,`anyOf`,`${i$1}`]})).filter(x$1=>!!x$1&&(!refs.strictUnions||typeof x$1==`object`&&Object.keys(x$1).length>0));return anyOf.length?{anyOf}:void 0};function parseNullableDef(def,refs){if([`ZodString`,`ZodNumber`,`ZodBigInt`,`ZodBoolean`,`ZodNull`].includes(def.innerType._def.typeName)&&(!def.innerType._def.checks||!def.innerType._def.checks.length))return{type:[primitiveMappings[def.innerType._def.typeName],`null`]};let base=parseDef(def.innerType._def,{...refs,currentPath:[...refs.currentPath,`anyOf`,`0`]});return base&&{anyOf:[base,{type:`null`}]}}function parseNumberDef(def){let res={type:`number`};if(!def.checks)return res;for(let check of def.checks)switch(check.kind){case`int`:res.type=`integer`;break;case`min`:check.inclusive?res.minimum=check.value:res.exclusiveMinimum=check.value;break;case`max`:check.inclusive?res.maximum=check.value:res.exclusiveMaximum=check.value;break;case`multipleOf`:res.multipleOf=check.value;break}return res}function parseObjectDef(def,refs){let result={type:`object`,properties:{}},required=[],shape=def.shape();for(let propName in shape){let propDef=shape[propName];if(propDef===void 0||propDef._def===void 0)continue;let propOptional=safeIsOptional(propDef),parsedDef=parseDef(propDef._def,{...refs,currentPath:[...refs.currentPath,`properties`,propName],propertyPath:[...refs.currentPath,`properties`,propName]});parsedDef!==void 0&&(result.properties[propName]=parsedDef,propOptional||required.push(propName))}required.length&&(result.required=required);let additionalProperties=decideAdditionalProperties(def,refs);return additionalProperties!==void 0&&(result.additionalProperties=additionalProperties),result}function decideAdditionalProperties(def,refs){if(def.catchall._def.typeName!==`ZodNever`)return parseDef(def.catchall._def,{...refs,currentPath:[...refs.currentPath,`additionalProperties`]});switch(def.unknownKeys){case`passthrough`:return refs.allowedAdditionalProperties;case`strict`:return refs.rejectedAdditionalProperties;case`strip`:return refs.removeAdditionalStrategy===`strict`?refs.allowedAdditionalProperties:refs.rejectedAdditionalProperties}}function safeIsOptional(schema){try{return schema.isOptional()}catch{return!0}}var parseOptionalDef=(def,refs)=>{var _a$2;if(refs.currentPath.toString()===refs.propertyPath?.toString())return parseDef(def.innerType._def,refs);let innerSchema=parseDef(def.innerType._def,{...refs,currentPath:[...refs.currentPath,`anyOf`,`1`]});return innerSchema?{anyOf:[{not:parseAnyDef()},innerSchema]}:parseAnyDef()},parsePipelineDef=(def,refs)=>{if(refs.pipeStrategy===`input`)return parseDef(def.in._def,refs);if(refs.pipeStrategy===`output`)return parseDef(def.out._def,refs);let a$1=parseDef(def.in._def,{...refs,currentPath:[...refs.currentPath,`allOf`,`0`]}),b$1=parseDef(def.out._def,{...refs,currentPath:[...refs.currentPath,`allOf`,a$1?`1`:`0`]});return{allOf:[a$1,b$1].filter(x$1=>x$1!==void 0)}};function parsePromiseDef(def,refs){return parseDef(def.type._def,refs)}function parseSetDef(def,refs){let schema={type:`array`,uniqueItems:!0,items:parseDef(def.valueType._def,{...refs,currentPath:[...refs.currentPath,`items`]})};return def.minSize&&(schema.minItems=def.minSize.value),def.maxSize&&(schema.maxItems=def.maxSize.value),schema}function parseTupleDef(def,refs){return def.rest?{type:`array`,minItems:def.items.length,items:def.items.map((x$1,i$1)=>parseDef(x$1._def,{...refs,currentPath:[...refs.currentPath,`items`,`${i$1}`]})).reduce((acc,x$1)=>x$1===void 0?acc:[...acc,x$1],[]),additionalItems:parseDef(def.rest._def,{...refs,currentPath:[...refs.currentPath,`additionalItems`]})}:{type:`array`,minItems:def.items.length,maxItems:def.items.length,items:def.items.map((x$1,i$1)=>parseDef(x$1._def,{...refs,currentPath:[...refs.currentPath,`items`,`${i$1}`]})).reduce((acc,x$1)=>x$1===void 0?acc:[...acc,x$1],[])}}function parseUndefinedDef(){return{not:parseAnyDef()}}function parseUnknownDef(){return parseAnyDef()}var parseReadonlyDef=(def,refs)=>parseDef(def.innerType._def,refs),selectParser=(def,typeName,refs)=>{switch(typeName){case ZodFirstPartyTypeKind.ZodString:return parseStringDef(def,refs);case ZodFirstPartyTypeKind.ZodNumber:return parseNumberDef(def);case ZodFirstPartyTypeKind.ZodObject:return parseObjectDef(def,refs);case ZodFirstPartyTypeKind.ZodBigInt:return parseBigintDef(def);case ZodFirstPartyTypeKind.ZodBoolean:return parseBooleanDef();case ZodFirstPartyTypeKind.ZodDate:return parseDateDef(def,refs);case ZodFirstPartyTypeKind.ZodUndefined:return parseUndefinedDef();case ZodFirstPartyTypeKind.ZodNull:return parseNullDef();case ZodFirstPartyTypeKind.ZodArray:return parseArrayDef(def,refs);case ZodFirstPartyTypeKind.ZodUnion:case ZodFirstPartyTypeKind.ZodDiscriminatedUnion:return parseUnionDef(def,refs);case ZodFirstPartyTypeKind.ZodIntersection:return parseIntersectionDef(def,refs);case ZodFirstPartyTypeKind.ZodTuple:return parseTupleDef(def,refs);case ZodFirstPartyTypeKind.ZodRecord:return parseRecordDef(def,refs);case ZodFirstPartyTypeKind.ZodLiteral:return parseLiteralDef(def);case ZodFirstPartyTypeKind.ZodEnum:return parseEnumDef(def);case ZodFirstPartyTypeKind.ZodNativeEnum:return parseNativeEnumDef(def);case ZodFirstPartyTypeKind.ZodNullable:return parseNullableDef(def,refs);case ZodFirstPartyTypeKind.ZodOptional:return parseOptionalDef(def,refs);case ZodFirstPartyTypeKind.ZodMap:return parseMapDef(def,refs);case ZodFirstPartyTypeKind.ZodSet:return parseSetDef(def,refs);case ZodFirstPartyTypeKind.ZodLazy:return()=>def.getter()._def;case ZodFirstPartyTypeKind.ZodPromise:return parsePromiseDef(def,refs);case ZodFirstPartyTypeKind.ZodNaN:case ZodFirstPartyTypeKind.ZodNever:return parseNeverDef();case ZodFirstPartyTypeKind.ZodEffects:return parseEffectsDef(def,refs);case ZodFirstPartyTypeKind.ZodAny:return parseAnyDef();case ZodFirstPartyTypeKind.ZodUnknown:return parseUnknownDef();case ZodFirstPartyTypeKind.ZodDefault:return parseDefaultDef(def,refs);case ZodFirstPartyTypeKind.ZodBranded:return parseBrandedDef(def,refs);case ZodFirstPartyTypeKind.ZodReadonly:return parseReadonlyDef(def,refs);case ZodFirstPartyTypeKind.ZodCatch:return parseCatchDef(def,refs);case ZodFirstPartyTypeKind.ZodPipeline:return parsePipelineDef(def,refs);case ZodFirstPartyTypeKind.ZodFunction:case ZodFirstPartyTypeKind.ZodVoid:case ZodFirstPartyTypeKind.ZodSymbol:return;default:return(_$1=>void 0)(typeName)}};function parseDef(def,refs,forceResolution=!1){var _a$2;let seenItem=refs.seen.get(def);if(refs.override){let overrideResult=refs.override?.call(refs,def,refs,seenItem,forceResolution);if(overrideResult!==ignoreOverride)return overrideResult}if(seenItem&&!forceResolution){let seenSchema=get$ref(seenItem,refs);if(seenSchema!==void 0)return seenSchema}let newItem={def,path:refs.currentPath,jsonSchema:void 0};refs.seen.set(def,newItem);let jsonSchemaOrGetter=selectParser(def,def.typeName,refs),jsonSchema2=typeof jsonSchemaOrGetter==`function`?parseDef(jsonSchemaOrGetter(),refs):jsonSchemaOrGetter;if(jsonSchema2&&addMeta(def,refs,jsonSchema2),refs.postProcess){let postProcessResult=refs.postProcess(jsonSchema2,def,refs);return newItem.jsonSchema=jsonSchema2,postProcessResult}return newItem.jsonSchema=jsonSchema2,jsonSchema2}var get$ref=(item,refs)=>{switch(refs.$refStrategy){case`root`:return{$ref:item.path.join(`/`)};case`relative`:return{$ref:getRelativePath(refs.currentPath,item.path)};case`none`:case`seen`:return item.path.length<refs.currentPath.length&&item.path.every((value,index)=>refs.currentPath[index]===value)?(console.warn(`Recursive reference detected at ${refs.currentPath.join(`/`)}! Defaulting to any`),parseAnyDef()):refs.$refStrategy===`seen`?parseAnyDef():void 0}},addMeta=(def,refs,jsonSchema2)=>(def.description&&(jsonSchema2.description=def.description),jsonSchema2),getRefs=options=>{let _options=getDefaultOptions(options),currentPath=_options.name===void 0?_options.basePath:[..._options.basePath,_options.definitionPath,_options.name];return{..._options,currentPath,propertyPath:void 0,seen:new Map(Object.entries(_options.definitions).map(([name$2,def])=>[def._def,{def:def._def,path:[..._options.basePath,_options.definitionPath,name$2],jsonSchema:void 0}]))}},zod_to_json_schema_default=(schema,options)=>{var _a$2;let refs=getRefs(options),definitions=typeof options==`object`&&options.definitions?Object.entries(options.definitions).reduce((acc,[name2$2,schema2])=>{var _a2$2;return{...acc,[name2$2]:parseDef(schema2._def,{...refs,currentPath:[...refs.basePath,refs.definitionPath,name2$2]},!0)??parseAnyDef()}},{}):void 0,name$2=typeof options==`string`?options:options?.nameStrategy===`title`?void 0:options?.name,main=parseDef(schema._def,name$2===void 0?refs:{...refs,currentPath:[...refs.basePath,refs.definitionPath,name$2]},!1)??parseAnyDef(),title=typeof options==`object`&&options.name!==void 0&&options.nameStrategy===`title`?options.name:void 0;title!==void 0&&(main.title=title);let combined=name$2===void 0?definitions?{...main,[refs.definitionPath]:definitions}:main:{$ref:[...refs.$refStrategy===`relative`?[]:refs.basePath,refs.definitionPath,name$2].join(`/`),[refs.definitionPath]:{...definitions,[name$2]:main}};return combined.$schema=`http://json-schema.org/draft-07/schema#`,combined};function zod3Schema(zodSchema2,options){var _a$2;let useReferences=options?.useReferences??!1;return jsonSchema(()=>zod_to_json_schema_default(zodSchema2,{$refStrategy:useReferences?`root`:`none`}),{validate:async value=>{let result=await zodSchema2.safeParseAsync(value);return result.success?{success:!0,value:result.data}:{success:!1,error:result.error}}})}function zod4Schema(zodSchema2,options){var _a$2;let useReferences=options?.useReferences??!1;return jsonSchema(()=>z4.toJSONSchema(zodSchema2,{target:`draft-7`,io:`output`,reused:useReferences?`ref`:`inline`}),{validate:async value=>{let result=await z4.safeParseAsync(zodSchema2,value);return result.success?{success:!0,value:result.data}:{success:!1,error:result.error}}})}function isZod4Schema(zodSchema2){return`_zod`in zodSchema2}function zodSchema(zodSchema2,options){return isZod4Schema(zodSchema2)?zod4Schema(zodSchema2,options):zod3Schema(zodSchema2,options)}var schemaSymbol=Symbol.for(`vercel.ai.schema`);function jsonSchema(jsonSchema2,{validate}={}){return{[schemaSymbol]:!0,_type:void 0,[validatorSymbol]:!0,get jsonSchema(){return typeof jsonSchema2==`function`&&(jsonSchema2=jsonSchema2()),jsonSchema2},validate}}var{btoa:btoa$1,atob:atob$1}=globalThis;function withoutTrailingSlash(url){return url?.replace(/\/$/,``)}var require_get_context=__commonJSMin(((exports,module)=>{var __defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__getOwnPropNames$2=Object.getOwnPropertyNames,__hasOwnProp$2=Object.prototype.hasOwnProperty,__export$2=(target,all)=>{for(var name$2 in all)__defProp$2(target,name$2,{get:all[name$2],enumerable:!0})},__copyProps$2=(to,from,except,desc)=>{if(from&&typeof from==`object`||typeof from==`function`)for(let key of __getOwnPropNames$2(from))!__hasOwnProp$2.call(to,key)&&key!==except&&__defProp$2(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc$2(from,key))||desc.enumerable});return to},__toCommonJS$2=mod=>__copyProps$2(__defProp$2({},`__esModule`,{value:!0}),mod),get_context_exports={};__export$2(get_context_exports,{SYMBOL_FOR_REQ_CONTEXT:()=>SYMBOL_FOR_REQ_CONTEXT,getContext:()=>getContext$1}),module.exports=__toCommonJS$2(get_context_exports);let SYMBOL_FOR_REQ_CONTEXT=Symbol.for(`@vercel/request-context`);function getContext$1(){return globalThis[SYMBOL_FOR_REQ_CONTEXT]?.get?.()??{}}})),require_get_vercel_oidc_token=__commonJSMin(((exports,module)=>{var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__getOwnPropNames$1=Object.getOwnPropertyNames,__hasOwnProp$1=Object.prototype.hasOwnProperty,__export$1=(target,all)=>{for(var name$2 in all)__defProp$1(target,name$2,{get:all[name$2],enumerable:!0})},__copyProps$1=(to,from,except,desc)=>{if(from&&typeof from==`object`||typeof from==`function`)for(let key of __getOwnPropNames$1(from))!__hasOwnProp$1.call(to,key)&&key!==except&&__defProp$1(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc$1(from,key))||desc.enumerable});return to},__toCommonJS$1=mod=>__copyProps$1(__defProp$1({},`__esModule`,{value:!0}),mod),get_vercel_oidc_token_exports={};__export$1(get_vercel_oidc_token_exports,{getVercelOidcToken:()=>getVercelOidcToken$1,getVercelOidcTokenSync:()=>getVercelOidcTokenSync}),module.exports=__toCommonJS$1(get_vercel_oidc_token_exports);var import_get_context$1=require_get_context(),import_token_error=require_token_error();async function getVercelOidcToken$1(){let token=``,err;try{token=getVercelOidcTokenSync()}catch(error){err=error}try{let[{getTokenPayload,isExpired},{refreshToken}]=await Promise.all([await import(`./token-util-CtaB7NzM.js`).then(__toDynamicImportESM()),await import(`./token-B2MtKe6w.js`).then(__toDynamicImportESM())]);(!token||isExpired(getTokenPayload(token)))&&(await refreshToken(),token=getVercelOidcTokenSync())}catch(error){throw err?.message&&error instanceof Error&&(error.message=`${err.message}
|
|
12
12
|
${error.message}`),new import_token_error.VercelOidcTokenError(`Failed to refresh OIDC token`,error)}return token}function getVercelOidcTokenSync(){let token=(0,import_get_context$1.getContext)().headers?.[`x-vercel-oidc-token`]??process.env.VERCEL_OIDC_TOKEN;if(!token)throw Error(`The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?`);return token}})),require_dist=__commonJSMin(((exports,module)=>{var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name$2 in all)__defProp(target,name$2,{get:all[name$2],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from==`object`||typeof from==`function`)for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},`__esModule`,{value:!0}),mod),src_exports={};__export(src_exports,{getContext:()=>import_get_context.getContext,getVercelOidcToken:()=>import_get_vercel_oidc_token.getVercelOidcToken,getVercelOidcTokenSync:()=>import_get_vercel_oidc_token.getVercelOidcTokenSync}),module.exports=__toCommonJS(src_exports);var import_get_vercel_oidc_token=require_get_vercel_oidc_token(),import_get_context=require_get_context()})),import_dist=__toESM(require_dist(),1),import_dist$1=__toESM(require_dist(),1),symbol=Symbol.for(`vercel.ai.gateway.error`),_a,_b,GatewayError=class _GatewayError extends (_b=Error,_a=symbol,_b){constructor({message,statusCode=500,cause}){super(message),this[_a]=!0,this.statusCode=statusCode,this.cause=cause}static isInstance(error){return _GatewayError.hasMarker(error)}static hasMarker(error){return typeof error==`object`&&!!error&&symbol in error&&error[symbol]===!0}},name=`GatewayAuthenticationError`,marker2=`vercel.ai.gateway.error.${name}`,symbol2=Symbol.for(marker2),_a2,_b2,GatewayAuthenticationError=class _GatewayAuthenticationError extends (_b2=GatewayError,_a2=symbol2,_b2){constructor({message=`Authentication failed`,statusCode=401,cause}={}){super({message,statusCode,cause}),this[_a2]=!0,this.name=name,this.type=`authentication_error`}static isInstance(error){return GatewayError.hasMarker(error)&&symbol2 in error}static createContextualError({apiKeyProvided,oidcTokenProvided,message=`Authentication failed`,statusCode=401,cause}){let contextualMessage;return contextualMessage=apiKeyProvided?`AI Gateway authentication failed: Invalid API key.
|
|
13
13
|
|
|
14
14
|
Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
@@ -24,7 +24,7 @@ Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
|
24
24
|
Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
|
|
25
25
|
|
|
26
26
|
Option 2 - OIDC token:
|
|
27
|
-
Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`,new _GatewayAuthenticationError({message:contextualMessage,statusCode,cause})}},name2=`GatewayInvalidRequestError`,marker3=`vercel.ai.gateway.error.${name2}`,symbol3=Symbol.for(marker3),_a3,_b3,GatewayInvalidRequestError=class extends (_b3=GatewayError,_a3=symbol3,_b3){constructor({message=`Invalid request`,statusCode=400,cause}={}){super({message,statusCode,cause}),this[_a3]=!0,this.name=name2,this.type=`invalid_request_error`}static isInstance(error){return GatewayError.hasMarker(error)&&symbol3 in error}},name3=`GatewayRateLimitError`,marker4=`vercel.ai.gateway.error.${name3}`,symbol4=Symbol.for(marker4),_a4,_b4,GatewayRateLimitError=class extends (_b4=GatewayError,_a4=symbol4,_b4){constructor({message=`Rate limit exceeded`,statusCode=429,cause}={}){super({message,statusCode,cause}),this[_a4]=!0,this.name=name3,this.type=`rate_limit_exceeded`}static isInstance(error){return GatewayError.hasMarker(error)&&symbol4 in error}},name4=`GatewayModelNotFoundError`,marker5=`vercel.ai.gateway.error.${name4}`,symbol5=Symbol.for(marker5),modelNotFoundParamSchema=lazyValidator(()=>zodSchema(z.object({modelId:z.string()}))),_a5,_b5,GatewayModelNotFoundError=class extends (_b5=GatewayError,_a5=symbol5,_b5){constructor({message=`Model not found`,statusCode=404,modelId,cause}={}){super({message,statusCode,cause}),this[_a5]=!0,this.name=name4,this.type=`model_not_found`,this.modelId=modelId}static isInstance(error){return GatewayError.hasMarker(error)&&symbol5 in error}},name5=`GatewayInternalServerError`,marker6=`vercel.ai.gateway.error.${name5}`,symbol6=Symbol.for(marker6),_a6,_b6,GatewayInternalServerError=class extends (_b6=GatewayError,_a6=symbol6,_b6){constructor({message=`Internal server error`,statusCode=500,cause}={}){super({message,statusCode,cause}),this[_a6]=!0,this.name=name5,this.type=`internal_server_error`}static isInstance(error){return GatewayError.hasMarker(error)&&symbol6 in error}},name6=`GatewayResponseError`,marker7=`vercel.ai.gateway.error.${name6}`,symbol7=Symbol.for(marker7),_a7,_b7,GatewayResponseError=class extends (_b7=GatewayError,_a7=symbol7,_b7){constructor({message=`Invalid response from Gateway`,statusCode=502,response,validationError,cause}={}){super({message,statusCode,cause}),this[_a7]=!0,this.name=name6,this.type=`response_error`,this.response=response,this.validationError=validationError}static isInstance(error){return GatewayError.hasMarker(error)&&symbol7 in error}};async function createGatewayErrorFromResponse({response,statusCode,defaultMessage=`Gateway request failed`,cause,authMethod}){let parseResult=await safeValidateTypes({value:response,schema:gatewayErrorResponseSchema});if(!parseResult.success)return new GatewayResponseError({message:`Invalid error response format: ${defaultMessage}`,statusCode,response,validationError:parseResult.error,cause});let validatedResponse=parseResult.value,errorType=validatedResponse.error.type,message=validatedResponse.error.message;switch(errorType){case`authentication_error`:return GatewayAuthenticationError.createContextualError({apiKeyProvided:authMethod===`api-key`,oidcTokenProvided:authMethod===`oidc`,statusCode,cause});case`invalid_request_error`:return new GatewayInvalidRequestError({message,statusCode,cause});case`rate_limit_exceeded`:return new GatewayRateLimitError({message,statusCode,cause});case`model_not_found`:{let modelResult=await safeValidateTypes({value:validatedResponse.error.param,schema:modelNotFoundParamSchema});return new GatewayModelNotFoundError({message,statusCode,modelId:modelResult.success?modelResult.value.modelId:void 0,cause})}case`internal_server_error`:return new GatewayInternalServerError({message,statusCode,cause});default:return new GatewayInternalServerError({message,statusCode,cause})}}var gatewayErrorResponseSchema=lazyValidator(()=>zodSchema(z.object({error:z.object({message:z.string(),type:z.string().nullish(),param:z.unknown().nullish(),code:z.union([z.string(),z.number()]).nullish()})})));function asGatewayError(error,authMethod){var _a8$1;return GatewayError.isInstance(error)?error:APICallError.isInstance(error)?createGatewayErrorFromResponse({response:extractApiCallResponse(error),statusCode:error.statusCode??500,defaultMessage:`Gateway request failed`,cause:error,authMethod}):createGatewayErrorFromResponse({response:{},statusCode:500,defaultMessage:error instanceof Error?`Gateway request failed: ${error.message}`:`Unknown Gateway error`,cause:error,authMethod})}function extractApiCallResponse(error){if(error.data!==void 0)return error.data;if(error.responseBody!=null)try{return JSON.parse(error.responseBody)}catch{return error.responseBody}return{}}var GATEWAY_AUTH_METHOD_HEADER=`ai-gateway-auth-method`;async function parseAuthMethod(headers){let result=await safeValidateTypes({value:headers[GATEWAY_AUTH_METHOD_HEADER],schema:gatewayAuthMethodSchema});return result.success?result.value:void 0}var gatewayAuthMethodSchema=lazyValidator(()=>zodSchema(z.union([z.literal(`api-key`),z.literal(`oidc`)]))),GatewayFetchMetadata=class{constructor(config){this.config=config}async getAvailableModels(){try{let{value}=await getFromApi({url:`${this.config.baseURL}/config`,headers:await resolve(this.config.headers()),successfulResponseHandler:createJsonResponseHandler(gatewayAvailableModelsResponseSchema),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z.any(),errorToMessage:data=>data}),fetch:this.config.fetch});return value}catch(error){throw await asGatewayError(error)}}async getCredits(){try{let baseUrl=new URL(this.config.baseURL),{value}=await getFromApi({url:`${baseUrl.origin}/v1/credits`,headers:await resolve(this.config.headers()),successfulResponseHandler:createJsonResponseHandler(gatewayCreditsResponseSchema),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z.any(),errorToMessage:data=>data}),fetch:this.config.fetch});return value}catch(error){throw await asGatewayError(error)}}},gatewayAvailableModelsResponseSchema=lazyValidator(()=>zodSchema(z.object({models:z.array(z.object({id:z.string(),name:z.string(),description:z.string().nullish(),pricing:z.object({input:z.string(),output:z.string(),input_cache_read:z.string().nullish(),input_cache_write:z.string().nullish()}).transform(({input,output,input_cache_read,input_cache_write})=>({input,output,...input_cache_read?{cachedInputTokens:input_cache_read}:{},...input_cache_write?{cacheCreationInputTokens:input_cache_write}:{}})).nullish(),specification:z.object({specificationVersion:z.literal(`v2`),provider:z.string(),modelId:z.string()}),modelType:z.enum([`language`,`embedding`,`image`]).nullish()}))}))),gatewayCreditsResponseSchema=lazyValidator(()=>zodSchema(z.object({balance:z.string(),total_used:z.string()}).transform(({balance,total_used})=>({balance,totalUsed:total_used})))),GatewayLanguageModel=class{constructor(modelId,config){this.modelId=modelId,this.config=config,this.specificationVersion=`v2`,this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(options){let{abortSignal:_abortSignal,...optionsWithoutSignal}=options;return{args:this.maybeEncodeFileParts(optionsWithoutSignal),warnings:[]}}async doGenerate(options){let{args,warnings}=await this.getArgs(options),{abortSignal}=options,resolvedHeaders=await resolve(this.config.headers());try{let{responseHeaders,value:responseBody,rawValue:rawResponse}=await postJsonToApi({url:this.getUrl(),headers:combineHeaders(resolvedHeaders,options.headers,this.getModelConfigHeaders(this.modelId,!1),await resolve(this.config.o11yHeaders)),body:args,successfulResponseHandler:createJsonResponseHandler(z.any()),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z.any(),errorToMessage:data=>data}),...abortSignal&&{abortSignal},fetch:this.config.fetch});return{...responseBody,request:{body:args},response:{headers:responseHeaders,body:rawResponse},warnings}}catch(error){throw await asGatewayError(error,await parseAuthMethod(resolvedHeaders))}}async doStream(options){let{args,warnings}=await this.getArgs(options),{abortSignal}=options,resolvedHeaders=await resolve(this.config.headers());try{let{value:response,responseHeaders}=await postJsonToApi({url:this.getUrl(),headers:combineHeaders(resolvedHeaders,options.headers,this.getModelConfigHeaders(this.modelId,!0),await resolve(this.config.o11yHeaders)),body:args,successfulResponseHandler:createEventSourceResponseHandler(z.any()),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z.any(),errorToMessage:data=>data}),...abortSignal&&{abortSignal},fetch:this.config.fetch});return{stream:response.pipeThrough(new TransformStream({start(controller){warnings.length>0&&controller.enqueue({type:`stream-start`,warnings})},transform(chunk,controller){if(chunk.success){let streamPart=chunk.value;if(streamPart.type===`raw`&&!options.includeRawChunks)return;streamPart.type===`response-metadata`&&streamPart.timestamp&&typeof streamPart.timestamp==`string`&&(streamPart.timestamp=new Date(streamPart.timestamp)),controller.enqueue(streamPart)}else controller.error(chunk.error)}})),request:{body:args},response:{headers:responseHeaders}}}catch(error){throw await asGatewayError(error,await parseAuthMethod(resolvedHeaders))}}isFilePart(part){return part&&typeof part==`object`&&`type`in part&&part.type===`file`}maybeEncodeFileParts(options){for(let message of options.prompt)for(let part of message.content)if(this.isFilePart(part)){let filePart=part;if(filePart.data instanceof Uint8Array){let buffer=Uint8Array.from(filePart.data),base64Data=Buffer.from(buffer).toString(`base64`);filePart.data=new URL(`data:${filePart.mediaType||`application/octet-stream`};base64,${base64Data}`)}}return options}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(modelId,streaming){return{"ai-language-model-specification-version":`2`,"ai-language-model-id":modelId,"ai-language-model-streaming":String(streaming)}}},GatewayEmbeddingModel=class{constructor(modelId,config){this.modelId=modelId,this.config=config,this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values,headers,abortSignal,providerOptions}){var _a8$1;let resolvedHeaders=await resolve(this.config.headers());try{let{responseHeaders,value:responseBody,rawValue}=await postJsonToApi({url:this.getUrl(),headers:combineHeaders(resolvedHeaders,headers??{},this.getModelConfigHeaders(),await resolve(this.config.o11yHeaders)),body:{input:values.length===1?values[0]:values,...providerOptions?{providerOptions}:{}},successfulResponseHandler:createJsonResponseHandler(gatewayEmbeddingResponseSchema),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z.any(),errorToMessage:data=>data}),...abortSignal&&{abortSignal},fetch:this.config.fetch});return{embeddings:responseBody.embeddings,usage:responseBody.usage??void 0,providerMetadata:responseBody.providerMetadata,response:{headers:responseHeaders,body:rawValue}}}catch(error){throw await asGatewayError(error,await parseAuthMethod(resolvedHeaders))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":`2`,"ai-model-id":this.modelId}}},gatewayEmbeddingResponseSchema=lazyValidator(()=>zodSchema(z.object({embeddings:z.array(z.array(z.number())),usage:z.object({tokens:z.number()}).nullish(),providerMetadata:z.record(z.string(),z.record(z.string(),z.unknown())).optional()})));async function getVercelRequestId(){var _a8$1;return(0,import_dist.getContext)().headers?.[`x-vercel-id`]}var VERSION$1=`2.0.0`,AI_GATEWAY_PROTOCOL_VERSION=`0.0.1`;function createGatewayProvider(options={}){var _a8$1,_b8;let pendingMetadata=null,metadataCache=null,cacheRefreshMillis=options.metadataCacheRefreshMillis??1e3*60*5,lastFetchTime=0,baseURL=withoutTrailingSlash(options.baseURL)??`https://ai-gateway.vercel.sh/v1/ai`,getHeaders=async()=>{let auth=await getGatewayAuthToken(options);if(auth)return withUserAgentSuffix({Authorization:`Bearer ${auth.token}`,"ai-gateway-protocol-version":AI_GATEWAY_PROTOCOL_VERSION,[GATEWAY_AUTH_METHOD_HEADER]:auth.authMethod,...options.headers},`ai-sdk/gateway/${VERSION$1}`);throw GatewayAuthenticationError.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401})},createO11yHeaders=()=>{let deploymentId=loadOptionalSetting({settingValue:void 0,environmentVariableName:`VERCEL_DEPLOYMENT_ID`}),environment=loadOptionalSetting({settingValue:void 0,environmentVariableName:`VERCEL_ENV`}),region=loadOptionalSetting({settingValue:void 0,environmentVariableName:`VERCEL_REGION`});return async()=>{let requestId=await getVercelRequestId();return{...deploymentId&&{"ai-o11y-deployment-id":deploymentId},...environment&&{"ai-o11y-environment":environment},...region&&{"ai-o11y-region":region},...requestId&&{"ai-o11y-request-id":requestId}}}},createLanguageModel=modelId=>new GatewayLanguageModel(modelId,{provider:`gateway`,baseURL,headers:getHeaders,fetch:options.fetch,o11yHeaders:createO11yHeaders()}),getAvailableModels=async()=>{var _a9$1,_b9,_c;let now=((_a9$1=options._internal)?.currentDate)?.call(_a9$1).getTime()??Date.now();return(!pendingMetadata||now-lastFetchTime>cacheRefreshMillis)&&(lastFetchTime=now,pendingMetadata=new GatewayFetchMetadata({baseURL,headers:getHeaders,fetch:options.fetch}).getAvailableModels().then(metadata=>(metadataCache=metadata,metadata)).catch(async error=>{throw await asGatewayError(error,await parseAuthMethod(await getHeaders()))})),metadataCache?Promise.resolve(metadataCache):pendingMetadata},getCredits=async()=>new GatewayFetchMetadata({baseURL,headers:getHeaders,fetch:options.fetch}).getCredits().catch(async error=>{throw await asGatewayError(error,await parseAuthMethod(await getHeaders()))}),provider=function(modelId){if(new.target)throw Error(`The Gateway Provider model function cannot be called with the new keyword.`);return createLanguageModel(modelId)};return provider.getAvailableModels=getAvailableModels,provider.getCredits=getCredits,provider.imageModel=modelId=>{throw new NoSuchModelError({modelId,modelType:`imageModel`})},provider.languageModel=createLanguageModel,provider.textEmbeddingModel=modelId=>new GatewayEmbeddingModel(modelId,{provider:`gateway`,baseURL,headers:getHeaders,fetch:options.fetch,o11yHeaders:createO11yHeaders()}),provider}var gateway=createGatewayProvider();async function getGatewayAuthToken(options){let apiKey=loadOptionalSetting({settingValue:options.apiKey,environmentVariableName:`AI_GATEWAY_API_KEY`});if(apiKey)return{token:apiKey,authMethod:`api-key`};try{return{token:await(0,import_dist$1.getVercelOidcToken)(),authMethod:`oidc`}}catch{return null}}function isPromise(value){return value?.then!=null}function isActualPromise(value){let maybePromise=value;return maybePromise&&maybePromise.then&&maybePromise.catch&&maybePromise.finally}function handleMaybePromise(inputFactory,outputSuccessFactory,outputErrorFactory,finallyFactory){let result$=fakePromise().then(inputFactory).then(outputSuccessFactory,outputErrorFactory);return finallyFactory&&(result$=result$.finally(finallyFactory)),unfakePromise(result$)}function fakePromise(value){return value&&isActualPromise(value)?value:isPromise(value)?{then:(resolve$1,reject)=>fakePromise(value.then(resolve$1,reject)),catch:reject=>fakePromise(value.then(res=>res,reject)),finally:cb=>fakePromise(cb?promiseLikeFinally(value,cb):value),[Symbol.toStringTag]:`Promise`}:{then(resolve$1){if(resolve$1)try{return fakePromise(resolve$1(value))}catch(err){return fakeRejectPromise(err)}return this},catch(){return this},finally(cb){if(cb)try{return fakePromise(cb()).then(()=>value,()=>value)}catch(err){return fakeRejectPromise(err)}return this},[Symbol.toStringTag]:`Promise`,__fakePromiseValue:value,[kFakePromise]:`resolved`}}function createDeferredPromise(){if(Promise.withResolvers)return Promise.withResolvers();let resolveFn,rejectFn;return{promise:new Promise(function(resolve$1,reject){resolveFn=resolve$1,rejectFn=reject}),get resolve(){return resolveFn},get reject(){return rejectFn}}}function iterateAsync(iterable,callback,results){if(iterable?.length===0)return;let iterator=iterable[Symbol.iterator](),index=0;function iterate(){let{done:endOfIterator,value}=iterator.next();if(endOfIterator)return;let endedEarly=!1;function endEarly(){endedEarly=!0}return handleMaybePromise(function(){return callback(value,endEarly,index++)},function(result){if(result&&results?.push(result),!endedEarly)return iterate()})}return iterate()}function fakeRejectPromise(error){return{then(_resolve,reject){if(reject)try{return fakePromise(reject(error))}catch(err){return fakeRejectPromise(err)}return this},catch(reject){if(reject)try{return fakePromise(reject(error))}catch(err){return fakeRejectPromise(err)}return this},finally(cb){if(cb)try{cb()}catch(err){return fakeRejectPromise(err)}return this},__fakeRejectError:error,[Symbol.toStringTag]:`Promise`,[kFakePromise]:`rejected`}}function isFakePromise(value){return value?.[kFakePromise]===`resolved`}function isFakeRejectPromise(value){return value?.[kFakePromise]===`rejected`}function promiseLikeFinally(value,onFinally){return`finally`in value?value.finally(onFinally):value.then(res=>{let finallyRes=onFinally();return isPromise(finallyRes)?finallyRes.then(()=>res):res},err=>{let finallyRes=onFinally();if(isPromise(finallyRes))return finallyRes.then(()=>{throw err});throw err})}function unfakePromise(promise){if(isFakePromise(promise))return promise.__fakePromiseValue;if(isFakeRejectPromise(promise))throw promise.__fakeRejectError;return promise}var kFakePromise,init_esm$4=__esmMin((()=>{kFakePromise=Symbol.for(`@whatwg-node/promise-helpers/FakePromise`)}));init_esm$4();function chain(first,next){let merged={...next,...first};for(let key of Object.keys(merged))key in first&&key in next&&(merged[key]=(payload,wrapped)=>first[key](payload,()=>next[key](payload,wrapped)));return merged}const getInstrumented=payload=>({fn(instrument,wrapped){return instrument?(...args)=>{let result;return instrument(payload,()=>{result=wrapped(...args)}),result}:wrapped},asyncFn(instrument,wrapped){return instrument?(...args)=>{let result;return handleMaybePromise(()=>instrument(payload,()=>(result=wrapped(...args),isPromise(result)?result.then(()=>void 0):void 0)),()=>result)}:wrapped}});var PonyfillSuppressedError,init_SupressedError=__esmMin((()=>{PonyfillSuppressedError=class extends Error{error;suppressed;constructor(error,suppressed,message){super(message),this.error=error,this.suppressed=suppressed,this.name=`SuppressedError`,Error.captureStackTrace(this,this.constructor)}}})),DisposableSymbols,init_symbols=__esmMin((()=>{DisposableSymbols={get dispose(){return Symbol.dispose||Symbol.for(`dispose`)},get asyncDispose(){return Symbol.asyncDispose||Symbol.for(`asyncDispose`)}}}));function isSyncDisposable(obj){return obj?.[DisposableSymbols.dispose]!=null}function isAsyncDisposable(obj){return obj?.[DisposableSymbols.asyncDispose]!=null}var init_utils$2=__esmMin((()=>{init_symbols()})),SuppressedError$2,PonyfillAsyncDisposableStack,init_AsyncDisposableStack=__esmMin((()=>{init_esm$4(),init_SupressedError(),init_symbols(),init_utils$2(),SuppressedError$2=globalThis.SuppressedError||PonyfillSuppressedError,PonyfillAsyncDisposableStack=class PonyfillAsyncDisposableStack{callbacks=[];get disposed(){return this.callbacks.length===0}use(value){return isAsyncDisposable(value)?this.callbacks.push(()=>value[DisposableSymbols.asyncDispose]()):isSyncDisposable(value)&&this.callbacks.push(()=>value[DisposableSymbols.dispose]()),value}adopt(value,onDisposeAsync){return onDisposeAsync&&this.callbacks.push(()=>onDisposeAsync(value)),value}defer(onDisposeAsync){onDisposeAsync&&this.callbacks.push(onDisposeAsync)}move(){let stack=new PonyfillAsyncDisposableStack;return stack.callbacks=this.callbacks,this.callbacks=[],stack}disposeAsync(){return this[DisposableSymbols.asyncDispose]()}_error;_iterateCallbacks(){let cb=this.callbacks.pop();if(cb)return handleMaybePromise(cb,()=>this._iterateCallbacks(),error=>(this._error=this._error?new SuppressedError$2(error,this._error):error,this._iterateCallbacks()))}[DisposableSymbols.asyncDispose](){let res$=this._iterateCallbacks();if(res$?.then)return res$.then(()=>{if(this._error){let error=this._error;throw this._error=void 0,error}});if(this._error){let error=this._error;throw this._error=void 0,error}}[Symbol.toStringTag]=`AsyncDisposableStack`}})),SuppressedError$1,PonyfillDisposableStack,init_DisposableStack=__esmMin((()=>{init_SupressedError(),init_symbols(),init_utils$2(),globalThis.SuppressedError,DisposableSymbols.dispose,Symbol.toStringTag})),DisposableStack,AsyncDisposableStack,SuppressedError,init_esm$3=__esmMin((()=>{init_AsyncDisposableStack(),init_DisposableStack(),init_SupressedError(),init_symbols(),globalThis.DisposableStack,AsyncDisposableStack=globalThis.AsyncDisposableStack||PonyfillAsyncDisposableStack,globalThis.SuppressedError})),require_shouldSkipPonyfill=__commonJSMin(((exports,module)=>{function isNextJs(){return Object.keys(globalThis).some(key=>key.startsWith(`__NEXT`))}module.exports=function(){return!!(globalThis.Deno||globalThis.Bun||isNextJs())}}));function Oe(e,t){return(t?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test(e)}function D(e,t=!1){let r=[],n=0;for(;n<e.length;){let c=e[n],l=a(function(f){if(!t)throw TypeError(f);r.push({type:`INVALID_CHAR`,index:n,value:e[n++]})},`ErrorOrInvalid`);if(c===`*`){r.push({type:`ASTERISK`,index:n,value:e[n++]});continue}if(c===`+`||c===`?`){r.push({type:`OTHER_MODIFIER`,index:n,value:e[n++]});continue}if(c===`\\`){r.push({type:`ESCAPED_CHAR`,index:n++,value:e[n++]});continue}if(c===`{`){r.push({type:`OPEN`,index:n,value:e[n++]});continue}if(c===`}`){r.push({type:`CLOSE`,index:n,value:e[n++]});continue}if(c===`:`){let f=``,s$1=n+1;for(;s$1<e.length;){let i$1=e.substr(s$1,1);if(s$1===n+1&&Re.test(i$1)||s$1!==n+1&&Ee.test(i$1)){f+=e[s$1++];continue}break}if(!f){l(`Missing parameter name at ${n}`);continue}r.push({type:`NAME`,index:n,value:f}),n=s$1;continue}if(c===`(`){let f=1,s$1=``,i$1=n+1,o=!1;if(e[i$1]===`?`){l(`Pattern cannot start with "?" at ${i$1}`);continue}for(;i$1<e.length;){if(!Oe(e[i$1],!1)){l(`Invalid character '${e[i$1]}' at ${i$1}.`),o=!0;break}if(e[i$1]===`\\`){s$1+=e[i$1++]+e[i$1++];continue}if(e[i$1]===`)`){if(f--,f===0){i$1++;break}}else if(e[i$1]===`(`&&(f++,e[i$1+1]!==`?`)){l(`Capturing groups are not allowed at ${i$1}`),o=!0;break}s$1+=e[i$1++]}if(o)continue;if(f){l(`Unbalanced pattern at ${n}`);continue}if(!s$1){l(`Missing pattern at ${n}`);continue}r.push({type:`REGEX`,index:n,value:s$1}),n=i$1;continue}r.push({type:`CHAR`,index:n,value:e[n++]})}return r.push({type:`END`,index:n,value:``}),r}function F(e,t={}){let r=D(e);t.delimiter??=`/#?`,t.prefixes??=`./`;let n=`[^${x(t.delimiter)}]+?`,c=[],l=0,f=0,i$1=new Set,o=a(u=>{if(f<r.length&&r[f].type===u)return r[f++].value},`tryConsume`),h$1=a(()=>o(`OTHER_MODIFIER`)??o(`ASTERISK`),`tryConsumeModifier`),p=a(u=>{let d$1=o(u);if(d$1!==void 0)return d$1;let{type:g,index:y$1}=r[f];throw TypeError(`Unexpected ${g} at ${y$1}, expected ${u}`)},`mustConsume`),A=a(()=>{let u=``,d$1;for(;d$1=o(`CHAR`)??o(`ESCAPED_CHAR`);)u+=d$1;return u},`consumeText`),xe=a(u=>u,`DefaultEncodePart`),N=t.encodePart||xe,H=``,$=a(u=>{H+=u},`appendToPendingFixedValue`),M=a(()=>{H.length&&(c.push(new P(3,``,``,N(H),``,3)),H=``)},`maybeAddPartFromPendingFixedValue`),X=a((u,d$1,g,y$1,Z)=>{let m$1=3;switch(Z){case`?`:m$1=1;break;case`*`:m$1=0;break;case`+`:m$1=2;break}if(!d$1&&!g&&m$1===3){$(u);return}if(M(),!d$1&&!g){if(!u)return;c.push(new P(3,``,``,N(u),``,m$1));return}let S;S=g?g===`*`?v:g:n;let k=2;S===n?(k=1,S=``):S===v&&(k=0,S=``);let E;if(d$1?E=d$1:g&&(E=l++),i$1.has(E))throw TypeError(`Duplicate name '${E}'.`);i$1.add(E),c.push(new P(k,E,N(u),S,N(y$1),m$1))},`addPart`);for(;f<r.length;){let u=o(`CHAR`),d$1=o(`NAME`),g=o(`REGEX`);if(!d$1&&!g&&(g=o(`ASTERISK`)),d$1||g){let m$1=u??``;t.prefixes.indexOf(m$1)===-1&&($(m$1),m$1=``),M();let S=h$1();X(m$1,d$1,g,``,S);continue}let y$1=u??o(`ESCAPED_CHAR`);if(y$1){$(y$1);continue}if(o(`OPEN`)){let m$1=A(),S=o(`NAME`),k=o(`REGEX`);!S&&!k&&(k=o(`ASTERISK`));let E=A();p(`CLOSE`);let be=h$1();X(m$1,S,k,E,be);continue}M(),p(`END`)}return c}function x(e){return e.replace(/([.+*?^${}()[\]|/\\])/g,`\\$1`)}function B(e){return e&&e.ignoreCase?`ui`:`u`}function q(e,t,r){return W(F(e,r),t,r)}function T(e){switch(e){case 0:return`*`;case 1:return`?`;case 2:return`+`;case 3:return``}}function W(e,t,r={}){r.delimiter??=`/#?`,r.prefixes??=`./`,r.sensitive??=!1,r.strict??=!1,r.end??=!0,r.start??=!0,r.endsWith=``;let n=r.start?`^`:``;for(let s$1 of e){if(s$1.type===3){s$1.modifier===3?n+=x(s$1.value):n+=`(?:${x(s$1.value)})${T(s$1.modifier)}`;continue}t&&t.push(s$1.name);let i$1=`[^${x(r.delimiter)}]+?`,o=s$1.value;if(s$1.type===1?o=i$1:s$1.type===0&&(o=v),!s$1.prefix.length&&!s$1.suffix.length){s$1.modifier===3||s$1.modifier===1?n+=`(${o})${T(s$1.modifier)}`:n+=`((?:${o})${T(s$1.modifier)})`;continue}if(s$1.modifier===3||s$1.modifier===1){n+=`(?:${x(s$1.prefix)}(${o})${x(s$1.suffix)})`,n+=T(s$1.modifier);continue}n+=`(?:${x(s$1.prefix)}`,n+=`((?:${o})(?:`,n+=x(s$1.suffix),n+=x(s$1.prefix),n+=`(?:${o}))*)${x(s$1.suffix)})`,s$1.modifier===0&&(n+=`?`)}let c=`[${x(r.endsWith)}]|$`,l=`[${x(r.delimiter)}]`;if(r.end)return r.strict||(n+=`${l}?`),r.endsWith.length?n+=`(?=${c})`:n+=`$`,new RegExp(n,B(r));r.strict||(n+=`(?:${l}(?=${c}))?`);let f=!1;if(e.length){let s$1=e[e.length-1];s$1.type===3&&s$1.modifier===3&&(f=r.delimiter.indexOf(s$1)>-1)}return f||(n+=`(?=${l}|${c})`),new RegExp(n,B(r))}function ee(e,t){return e.length?e[0]===`/`?!0:!t||e.length<2?!1:(e[0]==`\\`||e[0]==`{`)&&e[1]==`/`:!1}function te(e,t){return e.startsWith(t)?e.substring(t.length,e.length):e}function ke(e,t){return e.endsWith(t)?e.substr(0,e.length-t.length):e}function _(e){return!e||e.length<2?!1:e[0]===`[`||(e[0]===`\\`||e[0]===`{`)&&e[1]===`[`}function U(e){if(!e)return!0;for(let t of re)if(e.test(t))return!0;return!1}function ne(e,t){if(e=te(e,`#`),t||e===``)return e;let r=new URL(`https://example.com`);return r.hash=e,r.hash?r.hash.substring(1,r.hash.length):``}function se(e,t){if(e=te(e,`?`),t||e===``)return e;let r=new URL(`https://example.com`);return r.search=e,r.search?r.search.substring(1,r.search.length):``}function ie(e,t){return t||e===``?e:_(e)?K(e):j(e)}function ae(e,t){if(t||e===``)return e;let r=new URL(`https://example.com`);return r.password=e,r.password}function oe(e,t){if(t||e===``)return e;let r=new URL(`https://example.com`);return r.username=e,r.username}function ce(e,t,r){if(r||e===``)return e;if(t&&!re.includes(t))return new URL(`${t}:${e}`).pathname;let n=e[0]==`/`;return e=new URL(n?e:`/-`+e,`https://example.com`).pathname,n||(e=e.substring(2,e.length)),e}function le(e,t,r){return z$1(t)===e&&(e=``),r||e===``?e:G(e)}function fe(e,t){return e=ke(e,`:`),t||e===``?e:w$1(e)}function z$1(e){switch(e){case`ws`:case`http`:return`80`;case`wws`:case`https`:return`443`;case`ftp`:return`21`;default:return``}}function w$1(e){if(e===``)return e;if(/^[-+.A-Za-z0-9]*$/.test(e))return e.toLowerCase();throw TypeError(`Invalid protocol '${e}'.`)}function he(e){if(e===``)return e;let t=new URL(`https://example.com`);return t.username=e,t.username}function ue(e){if(e===``)return e;let t=new URL(`https://example.com`);return t.password=e,t.password}function j(e){if(e===``)return e;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(e))throw TypeError(`Invalid hostname '${e}'`);let t=new URL(`https://example.com`);return t.hostname=e,t.hostname}function K(e){if(e===``)return e;if(/[^0-9a-fA-F[\]:]/g.test(e))throw TypeError(`Invalid IPv6 hostname '${e}'`);return e.toLowerCase()}function G(e){if(e===``||/^[0-9]*$/.test(e)&&parseInt(e)<=65535)return e;throw TypeError(`Invalid port '${e}'.`)}function de(e){if(e===``)return e;let t=new URL(`https://example.com`);return t.pathname=e[0]===`/`?e:`/-`+e,e[0]===`/`?t.pathname:t.pathname.substring(2,t.pathname.length)}function pe(e){return e===``?e:new URL(`data:${e}`).pathname}function ge(e){if(e===``)return e;let t=new URL(`https://example.com`);return t.search=e,t.search.substring(1,t.search.length)}function me(e){if(e===``)return e;let t=new URL(`https://example.com`);return t.hash=e,t.hash.substring(1,t.hash.length)}function Se(e,t){if(typeof e!=`string`)throw TypeError(`parameter 1 is not of type 'string'.`);let r=new URL(e,t);return{protocol:r.protocol.substring(0,r.protocol.length-1),username:r.username,password:r.password,hostname:r.hostname,port:r.port,pathname:r.pathname,search:r.search===``?void 0:r.search.substring(1,r.search.length),hash:r.hash===``?void 0:r.hash.substring(1,r.hash.length)}}function R(e,t){return t?I(e):e}function L(e,t,r){let n;if(typeof t.baseURL==`string`)try{n=new URL(t.baseURL),t.protocol===void 0&&(e.protocol=R(n.protocol.substring(0,n.protocol.length-1),r)),!r&&t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.username===void 0&&(e.username=R(n.username,r)),!r&&t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.username===void 0&&t.password===void 0&&(e.password=R(n.password,r)),t.protocol===void 0&&t.hostname===void 0&&(e.hostname=R(n.hostname,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&(e.port=R(n.port,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&(e.pathname=R(n.pathname,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&t.search===void 0&&(e.search=R(n.search.substring(1,n.search.length),r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&t.search===void 0&&t.hash===void 0&&(e.hash=R(n.hash.substring(1,n.hash.length),r))}catch{throw TypeError(`invalid baseURL '${t.baseURL}'.`)}if(typeof t.protocol==`string`&&(e.protocol=fe(t.protocol,r)),typeof t.username==`string`&&(e.username=oe(t.username,r)),typeof t.password==`string`&&(e.password=ae(t.password,r)),typeof t.hostname==`string`&&(e.hostname=ie(t.hostname,r)),typeof t.port==`string`&&(e.port=le(t.port,e.protocol,r)),typeof t.pathname==`string`){if(e.pathname=t.pathname,n&&!ee(e.pathname,r)){let c=n.pathname.lastIndexOf(`/`);c>=0&&(e.pathname=R(n.pathname.substring(0,c+1),r)+e.pathname)}e.pathname=ce(e.pathname,e.protocol,r)}return typeof t.search==`string`&&(e.search=se(t.search,r)),typeof t.hash==`string`&&(e.hash=ne(t.hash,r)),e}function I(e){return e.replace(/([+*?:{}()\\])/g,`\\$1`)}function Te(e){return e.replace(/([.+*?^${}()[\]|/\\])/g,`\\$1`)}function Ae(e,t){t.delimiter??=`/#?`,t.prefixes??=`./`,t.sensitive??=!1,t.strict??=!1,t.end??=!0,t.start??=!0,t.endsWith=``;let r=`.*`,n=`[^${Te(t.delimiter)}]+?`,c=/[$_\u200C\u200D\p{ID_Continue}]/u,l=``;for(let f=0;f<e.length;++f){let s$1=e[f];if(s$1.type===3){if(s$1.modifier===3){l+=I(s$1.value);continue}l+=`{${I(s$1.value)}}${T(s$1.modifier)}`;continue}let i$1=s$1.hasCustomName(),o=!!s$1.suffix.length||!!s$1.prefix.length&&(s$1.prefix.length!==1||!t.prefixes.includes(s$1.prefix)),h$1=f>0?e[f-1]:null,p=f<e.length-1?e[f+1]:null;if(!o&&i$1&&s$1.type===1&&s$1.modifier===3&&p&&!p.prefix.length&&!p.suffix.length)if(p.type===3){let A=p.value.length>0?p.value[0]:``;o=c.test(A)}else o=!p.hasCustomName();if(!o&&!s$1.prefix.length&&h$1&&h$1.type===3){let A=h$1.value[h$1.value.length-1];o=t.prefixes.includes(A)}o&&(l+=`{`),l+=I(s$1.prefix),i$1&&(l+=`:${s$1.name}`),s$1.type===2?l+=`(${s$1.value})`:s$1.type===1?i$1||(l+=`(${n})`):s$1.type===0&&(!i$1&&(!h$1||h$1.type===3||h$1.modifier!==3||o||s$1.prefix!==``)?l+=`*`:l+=`(.*)`),s$1.type===1&&i$1&&s$1.suffix.length&&c.test(s$1.suffix[0])&&(l+=`\\`),l+=I(s$1.suffix),o&&(l+=`}`),s$1.modifier!==3&&(l+=T(s$1.modifier))}return l}var Pe,a,P,Re,Ee,v,b,J,Q,re,C,V,O,Y,init_urlpattern=__esmMin((()=>{Pe=Object.defineProperty,a=(e,t)=>Pe(e,`name`,{value:t,configurable:!0}),P=class{type=3;name=``;prefix=``;value=``;suffix=``;modifier=3;constructor(t,r,n,c,l,f){this.type=t,this.name=r,this.prefix=n,this.value=c,this.suffix=l,this.modifier=f}hasCustomName(){return this.name!==``&&typeof this.name!=`number`}},a(P,`Part`),Re=/[$_\p{ID_Start}]/u,Ee=/[$_\u200C\u200D\p{ID_Continue}]/u,v=`.*`,a(Oe,`isASCII`),a(D,`lexer`),a(F,`parse`),a(x,`escapeString`),a(B,`flags`),a(q,`stringToRegexp`),a(T,`modifierToString`),a(W,`partsToRegexp`),b={delimiter:``,prefixes:``,sensitive:!0,strict:!0},J={delimiter:`.`,prefixes:``,sensitive:!0,strict:!0},Q={delimiter:`/`,prefixes:`/`,sensitive:!0,strict:!0},a(ee,`isAbsolutePathname`),a(te,`maybeStripPrefix`),a(ke,`maybeStripSuffix`),a(_,`treatAsIPv6Hostname`),re=[`ftp`,`file`,`http`,`https`,`ws`,`wss`],a(U,`isSpecialScheme`),a(ne,`canonicalizeHash`),a(se,`canonicalizeSearch`),a(ie,`canonicalizeHostname`),a(ae,`canonicalizePassword`),a(oe,`canonicalizeUsername`),a(ce,`canonicalizePathname`),a(le,`canonicalizePort`),a(fe,`canonicalizeProtocol`),a(z$1,`defaultPortForProtocol`),a(w$1,`protocolEncodeCallback`),a(he,`usernameEncodeCallback`),a(ue,`passwordEncodeCallback`),a(j,`hostnameEncodeCallback`),a(K,`ipv6HostnameEncodeCallback`),a(G,`portEncodeCallback`),a(de,`standardURLPathnameEncodeCallback`),a(pe,`pathURLPathnameEncodeCallback`),a(ge,`searchEncodeCallback`),a(me,`hashEncodeCallback`),C=class{#i;#n=[];#t={};#e=0;#s=1;#l=0;#o=0;#d=0;#p=0;#g=!1;constructor(t){this.#i=t}get result(){return this.#t}parse(){for(this.#n=D(this.#i,!0);this.#e<this.#n.length;this.#e+=this.#s){if(this.#s=1,this.#n[this.#e].type===`END`){if(this.#o===0){this.#b(),this.#f()?this.#r(9,1):this.#h()?this.#r(8,1):this.#r(7,0);continue}else if(this.#o===2){this.#u(5);continue}this.#r(10,0);break}if(this.#d>0)if(this.#A())--this.#d;else continue;if(this.#T()){this.#d+=1;continue}switch(this.#o){case 0:this.#P()&&this.#u(1);break;case 1:if(this.#P()){this.#C();let t=7,r=1;this.#E()?(t=2,r=3):this.#g&&(t=2),this.#r(t,r)}break;case 2:this.#S()?this.#u(3):(this.#x()||this.#h()||this.#f())&&this.#u(5);break;case 3:this.#O()?this.#r(4,1):this.#S()&&this.#r(5,1);break;case 4:this.#S()&&this.#r(5,1);break;case 5:this.#y()?this.#p+=1:this.#w()&&--this.#p,this.#k()&&!this.#p?this.#r(6,1):this.#x()?this.#r(7,0):this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 6:this.#x()?this.#r(7,0):this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 7:this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 8:this.#f()&&this.#r(9,1);break;case 9:break;case 10:break}}this.#t.hostname!==void 0&&this.#t.port===void 0&&(this.#t.port=``)}#r(t,r){switch(this.#o){case 0:break;case 1:this.#t.protocol=this.#c();break;case 2:break;case 3:this.#t.username=this.#c();break;case 4:this.#t.password=this.#c();break;case 5:this.#t.hostname=this.#c();break;case 6:this.#t.port=this.#c();break;case 7:this.#t.pathname=this.#c();break;case 8:this.#t.search=this.#c();break;case 9:this.#t.hash=this.#c();break;case 10:break}this.#o!==0&&t!==10&&([1,2,3,4].includes(this.#o)&&[6,7,8,9].includes(t)&&(this.#t.hostname??=``),[1,2,3,4,5,6].includes(this.#o)&&[8,9].includes(t)&&(this.#t.pathname??=this.#g?`/`:``),[1,2,3,4,5,6,7].includes(this.#o)&&t===9&&(this.#t.search??=``)),this.#R(t,r)}#R(t,r){this.#o=t,this.#l=this.#e+r,this.#e+=r,this.#s=0}#b(){this.#e=this.#l,this.#s=0}#u(t){this.#b(),this.#o=t}#m(t){return t<0&&(t=this.#n.length-t),t<this.#n.length?this.#n[t]:this.#n[this.#n.length-1]}#a(t,r){let n=this.#m(t);return n.value===r&&(n.type===`CHAR`||n.type===`ESCAPED_CHAR`||n.type===`INVALID_CHAR`)}#P(){return this.#a(this.#e,`:`)}#E(){return this.#a(this.#e+1,`/`)&&this.#a(this.#e+2,`/`)}#S(){return this.#a(this.#e,`@`)}#O(){return this.#a(this.#e,`:`)}#k(){return this.#a(this.#e,`:`)}#x(){return this.#a(this.#e,`/`)}#h(){if(this.#a(this.#e,`?`))return!0;if(this.#n[this.#e].value!==`?`)return!1;let t=this.#m(this.#e-1);return t.type!==`NAME`&&t.type!==`REGEX`&&t.type!==`CLOSE`&&t.type!==`ASTERISK`}#f(){return this.#a(this.#e,`#`)}#T(){return this.#n[this.#e].type==`OPEN`}#A(){return this.#n[this.#e].type==`CLOSE`}#y(){return this.#a(this.#e,`[`)}#w(){return this.#a(this.#e,`]`)}#c(){let t=this.#n[this.#e],r=this.#m(this.#l).index;return this.#i.substring(r,t.index)}#C(){let t={};Object.assign(t,b),t.encodePart=w$1;let r=q(this.#c(),void 0,t);this.#g=U(r)}},a(C,`Parser`),V=[`protocol`,`username`,`password`,`hostname`,`port`,`pathname`,`search`,`hash`],O=`*`,a(Se,`extractValues`),a(R,`processBaseURLString`),a(L,`applyInit`),a(I,`escapePatternString`),a(Te,`escapeRegexpString`),a(Ae,`partsToPattern`),Y=class{#i;#n={};#t={};#e={};#s={};#l=!1;constructor(t={},r,n){try{let c;if(typeof r==`string`?c=r:n=r,typeof t==`string`){let i$1=new C(t);if(i$1.parse(),t=i$1.result,c===void 0&&typeof t.protocol!=`string`)throw TypeError(`A base URL must be provided for a relative constructor string.`);t.baseURL=c}else{if(!t||typeof t!=`object`)throw TypeError(`parameter 1 is not of type 'string' and cannot convert to dictionary.`);if(c)throw TypeError(`parameter 1 is not of type 'string'.`)}typeof n>`u`&&(n={ignoreCase:!1});let l={ignoreCase:n.ignoreCase===!0};this.#i=L({pathname:O,protocol:O,username:O,password:O,hostname:O,port:O,search:O,hash:O},t,!0),z$1(this.#i.protocol)===this.#i.port&&(this.#i.port=``);let s$1;for(s$1 of V){if(!(s$1 in this.#i))continue;let i$1={},o=this.#i[s$1];switch(this.#t[s$1]=[],s$1){case`protocol`:Object.assign(i$1,b),i$1.encodePart=w$1;break;case`username`:Object.assign(i$1,b),i$1.encodePart=he;break;case`password`:Object.assign(i$1,b),i$1.encodePart=ue;break;case`hostname`:Object.assign(i$1,J),_(o)?i$1.encodePart=K:i$1.encodePart=j;break;case`port`:Object.assign(i$1,b),i$1.encodePart=G;break;case`pathname`:U(this.#n.protocol)?(Object.assign(i$1,Q,l),i$1.encodePart=de):(Object.assign(i$1,b,l),i$1.encodePart=pe);break;case`search`:Object.assign(i$1,b,l),i$1.encodePart=ge;break;case`hash`:Object.assign(i$1,b,l),i$1.encodePart=me;break}try{this.#s[s$1]=F(o,i$1),this.#n[s$1]=W(this.#s[s$1],this.#t[s$1],i$1),this.#e[s$1]=Ae(this.#s[s$1],i$1),this.#l=this.#l||this.#s[s$1].some(h$1=>h$1.type===2)}catch{throw TypeError(`invalid ${s$1} pattern '${this.#i[s$1]}'.`)}}}catch(c){throw TypeError(`Failed to construct 'URLPattern': ${c.message}`)}}get[Symbol.toStringTag](){return`URLPattern`}test(t={},r){let n={pathname:``,protocol:``,username:``,password:``,hostname:``,port:``,search:``,hash:``};if(typeof t!=`string`&&r)throw TypeError(`parameter 1 is not of type 'string'.`);if(typeof t>`u`)return!1;try{n=typeof t==`object`?L(n,t,!1):L(n,Se(t,r),!1)}catch{return!1}let c;for(c of V)if(!this.#n[c].exec(n[c]))return!1;return!0}exec(t={},r){let n={pathname:``,protocol:``,username:``,password:``,hostname:``,port:``,search:``,hash:``};if(typeof t!=`string`&&r)throw TypeError(`parameter 1 is not of type 'string'.`);if(typeof t>`u`)return;try{n=typeof t==`object`?L(n,t,!1):L(n,Se(t,r),!1)}catch{return null}let c={};r?c.inputs=[t,r]:c.inputs=[t];let l;for(l of V){let f=this.#n[l].exec(n[l]);if(!f)return null;let s$1={};for(let[i$1,o]of this.#t[l].entries())(typeof o==`string`||typeof o==`number`)&&(s$1[o]=f[i$1+1]);c[l]={input:n[l]??``,groups:s$1}}return c}static compareComponent(t,r,n){let c=a((i$1,o)=>{for(let h$1 of[`type`,`modifier`,`prefix`,`value`,`suffix`]){if(i$1[h$1]<o[h$1])return-1;if(i$1[h$1]!==o[h$1])return 1}return 0},`comparePart`),l=new P(3,``,``,``,``,3),f=new P(0,``,``,``,``,3),s$1=a((i$1,o)=>{let h$1=0;for(;h$1<Math.min(i$1.length,o.length);++h$1){let p=c(i$1[h$1],o[h$1]);if(p)return p}return i$1.length===o.length?0:c(i$1[h$1]??l,o[h$1]??l)},`comparePartList`);return!r.#e[t]&&!n.#e[t]?0:r.#e[t]&&!n.#e[t]?s$1(r.#s[t],[f]):!r.#e[t]&&n.#e[t]?s$1([f],n.#s[t]):s$1(r.#s[t],n.#s[t])}get protocol(){return this.#e.protocol}get username(){return this.#e.username}get password(){return this.#e.password}get hostname(){return this.#e.hostname}get port(){return this.#e.port}get pathname(){return this.#e.pathname}get search(){return this.#e.search}get hash(){return this.#e.hash}get hasRegExpGroups(){return this.#l}},a(Y,`URLPattern`)})),urlpattern_polyfill_exports=__export$3({URLPattern:()=>Y}),init_urlpattern_polyfill=__esmMin((()=>{init_urlpattern(),globalThis.URLPattern||(globalThis.URLPattern=Y)})),require_sbmh=__commonJSMin(((exports,module)=>{let{EventEmitter:EventEmitter$2}=__require(`node:events`),{inherits:inherits$5}=__require(`node:util`);function SBMH(needle){if(typeof needle==`string`&&(needle=Buffer.from(needle)),!Buffer.isBuffer(needle))throw TypeError(`The needle has to be a String or a Buffer.`);let needleLength=needle.length,needleLastCharIndex=needleLength-1;if(needleLength===0)throw Error(`The needle cannot be an empty String/Buffer.`);if(needleLength>256)throw Error(`The needle cannot have a length bigger than 256.`);this.maxMatches=1/0,this.matches=0,this._occ=new Uint8Array(256).fill(needleLength),this._lookbehind_size=0,this._needle=needle,this._bufpos=0,this._lookbehind=Buffer.alloc(needleLastCharIndex);for(var i$1=0;i$1<needleLastCharIndex;++i$1)this._occ[needle[i$1]]=needleLastCharIndex-i$1}inherits$5(SBMH,EventEmitter$2),SBMH.prototype.reset=function(){this._lookbehind_size=0,this.matches=0,this._bufpos=0},SBMH.prototype.push=function(chunk,pos){Buffer.isBuffer(chunk)||(chunk=Buffer.from(chunk,`binary`));let chlen=chunk.length;this._bufpos=pos||0;let r;for(;r!==chlen&&this.matches<this.maxMatches;)r=this._sbmh_feed(chunk);return r},SBMH.prototype._sbmh_feed=function(data){let len=data.length,needle=this._needle,needleLength=needle.length,needleLastCharIndex=needleLength-1,needleLastChar=needle[needleLastCharIndex],pos=-this._lookbehind_size,ch;if(pos<0){for(;pos<0&&pos<=len-needleLength;){if(ch=data[pos+needleLastCharIndex],ch===needleLastChar&&this._sbmh_memcmp(data,pos,needleLastCharIndex))return this._lookbehind_size=0,++this.matches,this.emit(`info`,!0),this._bufpos=pos+needleLength;pos+=this._occ[ch]}for(;pos<0&&!this._sbmh_memcmp(data,pos,len-pos);)++pos;if(pos>=0)this.emit(`info`,!1,this._lookbehind,0,this._lookbehind_size),this._lookbehind_size=0;else{let bytesToCutOff=this._lookbehind_size+pos;return bytesToCutOff>0&&this.emit(`info`,!1,this._lookbehind,0,bytesToCutOff),this._lookbehind_size-=bytesToCutOff,this._lookbehind.copy(this._lookbehind,0,bytesToCutOff,this._lookbehind_size),data.copy(this._lookbehind,this._lookbehind_size),this._lookbehind_size+=len,this._bufpos=len,len}}if(pos=data.indexOf(needle,pos+this._bufpos),pos!==-1)return++this.matches,pos===0?this.emit(`info`,!0):this.emit(`info`,!0,data,this._bufpos,pos),this._bufpos=pos+needleLength;for(pos=len-needleLastCharIndex,pos<0&&(pos=0);pos!==len&&(data[pos]!==needle[0]||Buffer.compare(data.subarray(pos+1,len),needle.subarray(1,len-pos))!==0);)++pos;return pos!==len&&(data.copy(this._lookbehind,0,pos,len),this._lookbehind_size=len-pos),pos!==0&&this.emit(`info`,!1,data,this._bufpos,pos),this._bufpos=len,len},SBMH.prototype._sbmh_lookup_char=function(data,pos){return pos<0?this._lookbehind[this._lookbehind_size+pos]:data[pos]},SBMH.prototype._sbmh_memcmp=function(data,pos,len){for(var i$1=0;i$1<len;++i$1)if(this._sbmh_lookup_char(data,pos+i$1)!==this._needle[i$1])return!1;return!0},module.exports=SBMH})),require_PartStream=__commonJSMin(((exports,module)=>{let inherits$4=__require(`node:util`).inherits,ReadableStream$1=__require(`node:stream`).Readable;function PartStream$1(opts){ReadableStream$1.call(this,opts)}inherits$4(PartStream$1,ReadableStream$1),PartStream$1.prototype._read=function(n){},module.exports=PartStream$1})),require_getLimit=__commonJSMin(((exports,module)=>{module.exports=function(limits,name$2,defaultLimit){if(!limits||limits[name$2]===void 0||limits[name$2]===null)return defaultLimit;if(typeof limits[name$2]!=`number`||isNaN(limits[name$2]))throw TypeError(`Limit `+name$2+` is not a valid number`);return limits[name$2]}})),require_HeaderParser=__commonJSMin(((exports,module)=>{let EventEmitter$1=__require(`node:events`).EventEmitter,inherits$3=__require(`node:util`).inherits,getLimit$2=require_getLimit(),StreamSearch$1=require_sbmh(),B_DCRLF=Buffer.from(`\r
|
|
27
|
+
Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`,new _GatewayAuthenticationError({message:contextualMessage,statusCode,cause})}},name2=`GatewayInvalidRequestError`,marker3=`vercel.ai.gateway.error.${name2}`,symbol3=Symbol.for(marker3),_a3,_b3,GatewayInvalidRequestError=class extends (_b3=GatewayError,_a3=symbol3,_b3){constructor({message=`Invalid request`,statusCode=400,cause}={}){super({message,statusCode,cause}),this[_a3]=!0,this.name=name2,this.type=`invalid_request_error`}static isInstance(error){return GatewayError.hasMarker(error)&&symbol3 in error}},name3=`GatewayRateLimitError`,marker4=`vercel.ai.gateway.error.${name3}`,symbol4=Symbol.for(marker4),_a4,_b4,GatewayRateLimitError=class extends (_b4=GatewayError,_a4=symbol4,_b4){constructor({message=`Rate limit exceeded`,statusCode=429,cause}={}){super({message,statusCode,cause}),this[_a4]=!0,this.name=name3,this.type=`rate_limit_exceeded`}static isInstance(error){return GatewayError.hasMarker(error)&&symbol4 in error}},name4=`GatewayModelNotFoundError`,marker5=`vercel.ai.gateway.error.${name4}`,symbol5=Symbol.for(marker5),modelNotFoundParamSchema=lazyValidator(()=>zodSchema(z.object({modelId:z.string()}))),_a5,_b5,GatewayModelNotFoundError=class extends (_b5=GatewayError,_a5=symbol5,_b5){constructor({message=`Model not found`,statusCode=404,modelId,cause}={}){super({message,statusCode,cause}),this[_a5]=!0,this.name=name4,this.type=`model_not_found`,this.modelId=modelId}static isInstance(error){return GatewayError.hasMarker(error)&&symbol5 in error}},name5=`GatewayInternalServerError`,marker6=`vercel.ai.gateway.error.${name5}`,symbol6=Symbol.for(marker6),_a6,_b6,GatewayInternalServerError=class extends (_b6=GatewayError,_a6=symbol6,_b6){constructor({message=`Internal server error`,statusCode=500,cause}={}){super({message,statusCode,cause}),this[_a6]=!0,this.name=name5,this.type=`internal_server_error`}static isInstance(error){return GatewayError.hasMarker(error)&&symbol6 in error}},name6=`GatewayResponseError`,marker7=`vercel.ai.gateway.error.${name6}`,symbol7=Symbol.for(marker7),_a7,_b7,GatewayResponseError=class extends (_b7=GatewayError,_a7=symbol7,_b7){constructor({message=`Invalid response from Gateway`,statusCode=502,response,validationError,cause}={}){super({message,statusCode,cause}),this[_a7]=!0,this.name=name6,this.type=`response_error`,this.response=response,this.validationError=validationError}static isInstance(error){return GatewayError.hasMarker(error)&&symbol7 in error}};async function createGatewayErrorFromResponse({response,statusCode,defaultMessage=`Gateway request failed`,cause,authMethod}){let parseResult=await safeValidateTypes({value:response,schema:gatewayErrorResponseSchema});if(!parseResult.success)return new GatewayResponseError({message:`Invalid error response format: ${defaultMessage}`,statusCode,response,validationError:parseResult.error,cause});let validatedResponse=parseResult.value,errorType=validatedResponse.error.type,message=validatedResponse.error.message;switch(errorType){case`authentication_error`:return GatewayAuthenticationError.createContextualError({apiKeyProvided:authMethod===`api-key`,oidcTokenProvided:authMethod===`oidc`,statusCode,cause});case`invalid_request_error`:return new GatewayInvalidRequestError({message,statusCode,cause});case`rate_limit_exceeded`:return new GatewayRateLimitError({message,statusCode,cause});case`model_not_found`:{let modelResult=await safeValidateTypes({value:validatedResponse.error.param,schema:modelNotFoundParamSchema});return new GatewayModelNotFoundError({message,statusCode,modelId:modelResult.success?modelResult.value.modelId:void 0,cause})}case`internal_server_error`:return new GatewayInternalServerError({message,statusCode,cause});default:return new GatewayInternalServerError({message,statusCode,cause})}}var gatewayErrorResponseSchema=lazyValidator(()=>zodSchema(z.object({error:z.object({message:z.string(),type:z.string().nullish(),param:z.unknown().nullish(),code:z.union([z.string(),z.number()]).nullish()})})));function asGatewayError(error,authMethod){var _a8$1;return GatewayError.isInstance(error)?error:APICallError.isInstance(error)?createGatewayErrorFromResponse({response:extractApiCallResponse(error),statusCode:error.statusCode??500,defaultMessage:`Gateway request failed`,cause:error,authMethod}):createGatewayErrorFromResponse({response:{},statusCode:500,defaultMessage:error instanceof Error?`Gateway request failed: ${error.message}`:`Unknown Gateway error`,cause:error,authMethod})}function extractApiCallResponse(error){if(error.data!==void 0)return error.data;if(error.responseBody!=null)try{return JSON.parse(error.responseBody)}catch{return error.responseBody}return{}}var GATEWAY_AUTH_METHOD_HEADER=`ai-gateway-auth-method`;async function parseAuthMethod(headers){let result=await safeValidateTypes({value:headers[GATEWAY_AUTH_METHOD_HEADER],schema:gatewayAuthMethodSchema});return result.success?result.value:void 0}var gatewayAuthMethodSchema=lazyValidator(()=>zodSchema(z.union([z.literal(`api-key`),z.literal(`oidc`)]))),GatewayFetchMetadata=class{constructor(config){this.config=config}async getAvailableModels(){try{let{value}=await getFromApi({url:`${this.config.baseURL}/config`,headers:await resolve(this.config.headers()),successfulResponseHandler:createJsonResponseHandler(gatewayAvailableModelsResponseSchema),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z.any(),errorToMessage:data=>data}),fetch:this.config.fetch});return value}catch(error){throw await asGatewayError(error)}}async getCredits(){try{let baseUrl=new URL(this.config.baseURL),{value}=await getFromApi({url:`${baseUrl.origin}/v1/credits`,headers:await resolve(this.config.headers()),successfulResponseHandler:createJsonResponseHandler(gatewayCreditsResponseSchema),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z.any(),errorToMessage:data=>data}),fetch:this.config.fetch});return value}catch(error){throw await asGatewayError(error)}}},gatewayAvailableModelsResponseSchema=lazyValidator(()=>zodSchema(z.object({models:z.array(z.object({id:z.string(),name:z.string(),description:z.string().nullish(),pricing:z.object({input:z.string(),output:z.string(),input_cache_read:z.string().nullish(),input_cache_write:z.string().nullish()}).transform(({input,output,input_cache_read,input_cache_write})=>({input,output,...input_cache_read?{cachedInputTokens:input_cache_read}:{},...input_cache_write?{cacheCreationInputTokens:input_cache_write}:{}})).nullish(),specification:z.object({specificationVersion:z.literal(`v2`),provider:z.string(),modelId:z.string()}),modelType:z.enum([`language`,`embedding`,`image`]).nullish()}))}))),gatewayCreditsResponseSchema=lazyValidator(()=>zodSchema(z.object({balance:z.string(),total_used:z.string()}).transform(({balance,total_used})=>({balance,totalUsed:total_used})))),GatewayLanguageModel=class{constructor(modelId,config){this.modelId=modelId,this.config=config,this.specificationVersion=`v2`,this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(options){let{abortSignal:_abortSignal,...optionsWithoutSignal}=options;return{args:this.maybeEncodeFileParts(optionsWithoutSignal),warnings:[]}}async doGenerate(options){let{args,warnings}=await this.getArgs(options),{abortSignal}=options,resolvedHeaders=await resolve(this.config.headers());try{let{responseHeaders,value:responseBody,rawValue:rawResponse}=await postJsonToApi({url:this.getUrl(),headers:combineHeaders(resolvedHeaders,options.headers,this.getModelConfigHeaders(this.modelId,!1),await resolve(this.config.o11yHeaders)),body:args,successfulResponseHandler:createJsonResponseHandler(z.any()),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z.any(),errorToMessage:data=>data}),...abortSignal&&{abortSignal},fetch:this.config.fetch});return{...responseBody,request:{body:args},response:{headers:responseHeaders,body:rawResponse},warnings}}catch(error){throw await asGatewayError(error,await parseAuthMethod(resolvedHeaders))}}async doStream(options){let{args,warnings}=await this.getArgs(options),{abortSignal}=options,resolvedHeaders=await resolve(this.config.headers());try{let{value:response,responseHeaders}=await postJsonToApi({url:this.getUrl(),headers:combineHeaders(resolvedHeaders,options.headers,this.getModelConfigHeaders(this.modelId,!0),await resolve(this.config.o11yHeaders)),body:args,successfulResponseHandler:createEventSourceResponseHandler(z.any()),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z.any(),errorToMessage:data=>data}),...abortSignal&&{abortSignal},fetch:this.config.fetch});return{stream:response.pipeThrough(new TransformStream({start(controller){warnings.length>0&&controller.enqueue({type:`stream-start`,warnings})},transform(chunk,controller){if(chunk.success){let streamPart=chunk.value;if(streamPart.type===`raw`&&!options.includeRawChunks)return;streamPart.type===`response-metadata`&&streamPart.timestamp&&typeof streamPart.timestamp==`string`&&(streamPart.timestamp=new Date(streamPart.timestamp)),controller.enqueue(streamPart)}else controller.error(chunk.error)}})),request:{body:args},response:{headers:responseHeaders}}}catch(error){throw await asGatewayError(error,await parseAuthMethod(resolvedHeaders))}}isFilePart(part){return part&&typeof part==`object`&&`type`in part&&part.type===`file`}maybeEncodeFileParts(options){for(let message of options.prompt)for(let part of message.content)if(this.isFilePart(part)){let filePart=part;if(filePart.data instanceof Uint8Array){let buffer=Uint8Array.from(filePart.data),base64Data=Buffer.from(buffer).toString(`base64`);filePart.data=new URL(`data:${filePart.mediaType||`application/octet-stream`};base64,${base64Data}`)}}return options}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(modelId,streaming){return{"ai-language-model-specification-version":`2`,"ai-language-model-id":modelId,"ai-language-model-streaming":String(streaming)}}},GatewayEmbeddingModel=class{constructor(modelId,config){this.modelId=modelId,this.config=config,this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values,headers,abortSignal,providerOptions}){var _a8$1;let resolvedHeaders=await resolve(this.config.headers());try{let{responseHeaders,value:responseBody,rawValue}=await postJsonToApi({url:this.getUrl(),headers:combineHeaders(resolvedHeaders,headers??{},this.getModelConfigHeaders(),await resolve(this.config.o11yHeaders)),body:{input:values.length===1?values[0]:values,...providerOptions?{providerOptions}:{}},successfulResponseHandler:createJsonResponseHandler(gatewayEmbeddingResponseSchema),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z.any(),errorToMessage:data=>data}),...abortSignal&&{abortSignal},fetch:this.config.fetch});return{embeddings:responseBody.embeddings,usage:responseBody.usage??void 0,providerMetadata:responseBody.providerMetadata,response:{headers:responseHeaders,body:rawValue}}}catch(error){throw await asGatewayError(error,await parseAuthMethod(resolvedHeaders))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":`2`,"ai-model-id":this.modelId}}},gatewayEmbeddingResponseSchema=lazyValidator(()=>zodSchema(z.object({embeddings:z.array(z.array(z.number())),usage:z.object({tokens:z.number()}).nullish(),providerMetadata:z.record(z.string(),z.record(z.string(),z.unknown())).optional()}))),GatewayImageModel=class{constructor(modelId,config){this.modelId=modelId,this.config=config,this.specificationVersion=`v2`,this.maxImagesPerCall=2**53-1}get provider(){return this.config.provider}async doGenerate({prompt,n,size,aspectRatio,seed,providerOptions,headers,abortSignal}){var _a8$1;let resolvedHeaders=await resolve(this.config.headers());try{let{responseHeaders,value:responseBody,rawValue}=await postJsonToApi({url:this.getUrl(),headers:combineHeaders(resolvedHeaders,headers??{},this.getModelConfigHeaders(),await resolve(this.config.o11yHeaders)),body:{prompt,n,...size&&{size},...aspectRatio&&{aspectRatio},...seed&&{seed},...providerOptions&&{providerOptions}},successfulResponseHandler:createJsonResponseHandler(gatewayImageResponseSchema),failedResponseHandler:createJsonErrorResponseHandler({errorSchema:z.any(),errorToMessage:data=>data}),...abortSignal&&{abortSignal},fetch:this.config.fetch});return{images:responseBody.images,warnings:responseBody.warnings??[],providerMetadata:responseBody.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:responseHeaders}}}catch(error){throw asGatewayError(error,await parseAuthMethod(resolvedHeaders))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":`2`,"ai-model-id":this.modelId}}},providerMetadataEntrySchema=z.object({images:z.array(z.unknown()).optional()}).catchall(z.unknown()),gatewayImageResponseSchema=z.object({images:z.array(z.string()),warnings:z.array(z.object({type:z.literal(`other`),message:z.string()})).optional(),providerMetadata:z.record(z.string(),providerMetadataEntrySchema).optional()});async function getVercelRequestId(){var _a8$1;return(0,import_dist.getContext)().headers?.[`x-vercel-id`]}var VERSION$1=`2.0.19`,AI_GATEWAY_PROTOCOL_VERSION=`0.0.1`;function createGatewayProvider(options={}){var _a8$1,_b8;let pendingMetadata=null,metadataCache=null,cacheRefreshMillis=options.metadataCacheRefreshMillis??1e3*60*5,lastFetchTime=0,baseURL=withoutTrailingSlash(options.baseURL)??`https://ai-gateway.vercel.sh/v1/ai`,getHeaders=async()=>{let auth=await getGatewayAuthToken(options);if(auth)return withUserAgentSuffix({Authorization:`Bearer ${auth.token}`,"ai-gateway-protocol-version":AI_GATEWAY_PROTOCOL_VERSION,[GATEWAY_AUTH_METHOD_HEADER]:auth.authMethod,...options.headers},`ai-sdk/gateway/${VERSION$1}`);throw GatewayAuthenticationError.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401})},createO11yHeaders=()=>{let deploymentId=loadOptionalSetting({settingValue:void 0,environmentVariableName:`VERCEL_DEPLOYMENT_ID`}),environment=loadOptionalSetting({settingValue:void 0,environmentVariableName:`VERCEL_ENV`}),region=loadOptionalSetting({settingValue:void 0,environmentVariableName:`VERCEL_REGION`});return async()=>{let requestId=await getVercelRequestId();return{...deploymentId&&{"ai-o11y-deployment-id":deploymentId},...environment&&{"ai-o11y-environment":environment},...region&&{"ai-o11y-region":region},...requestId&&{"ai-o11y-request-id":requestId}}}},createLanguageModel=modelId=>new GatewayLanguageModel(modelId,{provider:`gateway`,baseURL,headers:getHeaders,fetch:options.fetch,o11yHeaders:createO11yHeaders()}),getAvailableModels=async()=>{var _a9$1,_b9,_c;let now=((_a9$1=options._internal)?.currentDate)?.call(_a9$1).getTime()??Date.now();return(!pendingMetadata||now-lastFetchTime>cacheRefreshMillis)&&(lastFetchTime=now,pendingMetadata=new GatewayFetchMetadata({baseURL,headers:getHeaders,fetch:options.fetch}).getAvailableModels().then(metadata=>(metadataCache=metadata,metadata)).catch(async error=>{throw await asGatewayError(error,await parseAuthMethod(await getHeaders()))})),metadataCache?Promise.resolve(metadataCache):pendingMetadata},getCredits=async()=>new GatewayFetchMetadata({baseURL,headers:getHeaders,fetch:options.fetch}).getCredits().catch(async error=>{throw await asGatewayError(error,await parseAuthMethod(await getHeaders()))}),provider=function(modelId){if(new.target)throw Error(`The Gateway Provider model function cannot be called with the new keyword.`);return createLanguageModel(modelId)};return provider.getAvailableModels=getAvailableModels,provider.getCredits=getCredits,provider.imageModel=modelId=>new GatewayImageModel(modelId,{provider:`gateway`,baseURL,headers:getHeaders,fetch:options.fetch,o11yHeaders:createO11yHeaders()}),provider.languageModel=createLanguageModel,provider.textEmbeddingModel=modelId=>new GatewayEmbeddingModel(modelId,{provider:`gateway`,baseURL,headers:getHeaders,fetch:options.fetch,o11yHeaders:createO11yHeaders()}),provider}var gateway=createGatewayProvider();async function getGatewayAuthToken(options){let apiKey=loadOptionalSetting({settingValue:options.apiKey,environmentVariableName:`AI_GATEWAY_API_KEY`});if(apiKey)return{token:apiKey,authMethod:`api-key`};try{return{token:await(0,import_dist$1.getVercelOidcToken)(),authMethod:`oidc`}}catch{return null}}function isPromise(value){return value?.then!=null}function isActualPromise(value){let maybePromise=value;return maybePromise&&maybePromise.then&&maybePromise.catch&&maybePromise.finally}function handleMaybePromise(inputFactory,outputSuccessFactory,outputErrorFactory,finallyFactory){let result$=fakePromise().then(inputFactory).then(outputSuccessFactory,outputErrorFactory);return finallyFactory&&(result$=result$.finally(finallyFactory)),unfakePromise(result$)}function fakePromise(value){return value&&isActualPromise(value)?value:isPromise(value)?{then:(resolve$1,reject)=>fakePromise(value.then(resolve$1,reject)),catch:reject=>fakePromise(value.then(res=>res,reject)),finally:cb=>fakePromise(cb?promiseLikeFinally(value,cb):value),[Symbol.toStringTag]:`Promise`}:{then(resolve$1){if(resolve$1)try{return fakePromise(resolve$1(value))}catch(err){return fakeRejectPromise(err)}return this},catch(){return this},finally(cb){if(cb)try{return fakePromise(cb()).then(()=>value,()=>value)}catch(err){return fakeRejectPromise(err)}return this},[Symbol.toStringTag]:`Promise`,__fakePromiseValue:value,[kFakePromise]:`resolved`}}function createDeferredPromise(){if(Promise.withResolvers)return Promise.withResolvers();let resolveFn,rejectFn;return{promise:new Promise(function(resolve$1,reject){resolveFn=resolve$1,rejectFn=reject}),get resolve(){return resolveFn},get reject(){return rejectFn}}}function iterateAsync(iterable,callback,results){if(iterable?.length===0)return;let iterator=iterable[Symbol.iterator](),index=0;function iterate(){let{done:endOfIterator,value}=iterator.next();if(endOfIterator)return;let endedEarly=!1;function endEarly(){endedEarly=!0}return handleMaybePromise(function(){return callback(value,endEarly,index++)},function(result){if(result&&results?.push(result),!endedEarly)return iterate()})}return iterate()}function fakeRejectPromise(error){return{then(_resolve,reject){if(reject)try{return fakePromise(reject(error))}catch(err){return fakeRejectPromise(err)}return this},catch(reject){if(reject)try{return fakePromise(reject(error))}catch(err){return fakeRejectPromise(err)}return this},finally(cb){if(cb)try{cb()}catch(err){return fakeRejectPromise(err)}return this},__fakeRejectError:error,[Symbol.toStringTag]:`Promise`,[kFakePromise]:`rejected`}}function isFakePromise(value){return value?.[kFakePromise]===`resolved`}function isFakeRejectPromise(value){return value?.[kFakePromise]===`rejected`}function promiseLikeFinally(value,onFinally){return`finally`in value?value.finally(onFinally):value.then(res=>{let finallyRes=onFinally();return isPromise(finallyRes)?finallyRes.then(()=>res):res},err=>{let finallyRes=onFinally();if(isPromise(finallyRes))return finallyRes.then(()=>{throw err});throw err})}function unfakePromise(promise){if(isFakePromise(promise))return promise.__fakePromiseValue;if(isFakeRejectPromise(promise))throw promise.__fakeRejectError;return promise}var kFakePromise,init_esm$4=__esmMin((()=>{kFakePromise=Symbol.for(`@whatwg-node/promise-helpers/FakePromise`)}));init_esm$4();function chain(first,next){let merged={...next,...first};for(let key of Object.keys(merged))key in first&&key in next&&(merged[key]=(payload,wrapped)=>first[key](payload,()=>next[key](payload,wrapped)));return merged}const getInstrumented=payload=>({fn(instrument,wrapped){return instrument?(...args)=>{let result;return instrument(payload,()=>{result=wrapped(...args)}),result}:wrapped},asyncFn(instrument,wrapped){return instrument?(...args)=>{let result;return handleMaybePromise(()=>instrument(payload,()=>(result=wrapped(...args),isPromise(result)?result.then(()=>void 0):void 0)),()=>result)}:wrapped}});var PonyfillSuppressedError,init_SupressedError=__esmMin((()=>{PonyfillSuppressedError=class extends Error{error;suppressed;constructor(error,suppressed,message){super(message),this.error=error,this.suppressed=suppressed,this.name=`SuppressedError`,Error.captureStackTrace(this,this.constructor)}}})),DisposableSymbols,init_symbols=__esmMin((()=>{DisposableSymbols={get dispose(){return Symbol.dispose||Symbol.for(`dispose`)},get asyncDispose(){return Symbol.asyncDispose||Symbol.for(`asyncDispose`)}}}));function isSyncDisposable(obj){return obj?.[DisposableSymbols.dispose]!=null}function isAsyncDisposable(obj){return obj?.[DisposableSymbols.asyncDispose]!=null}var init_utils$2=__esmMin((()=>{init_symbols()})),SuppressedError$2,PonyfillAsyncDisposableStack,init_AsyncDisposableStack=__esmMin((()=>{init_esm$4(),init_SupressedError(),init_symbols(),init_utils$2(),SuppressedError$2=globalThis.SuppressedError||PonyfillSuppressedError,PonyfillAsyncDisposableStack=class PonyfillAsyncDisposableStack{callbacks=[];get disposed(){return this.callbacks.length===0}use(value){return isAsyncDisposable(value)?this.callbacks.push(()=>value[DisposableSymbols.asyncDispose]()):isSyncDisposable(value)&&this.callbacks.push(()=>value[DisposableSymbols.dispose]()),value}adopt(value,onDisposeAsync){return onDisposeAsync&&this.callbacks.push(()=>onDisposeAsync(value)),value}defer(onDisposeAsync){onDisposeAsync&&this.callbacks.push(onDisposeAsync)}move(){let stack=new PonyfillAsyncDisposableStack;return stack.callbacks=this.callbacks,this.callbacks=[],stack}disposeAsync(){return this[DisposableSymbols.asyncDispose]()}_error;_iterateCallbacks(){let cb=this.callbacks.pop();if(cb)return handleMaybePromise(cb,()=>this._iterateCallbacks(),error=>(this._error=this._error?new SuppressedError$2(error,this._error):error,this._iterateCallbacks()))}[DisposableSymbols.asyncDispose](){let res$=this._iterateCallbacks();if(res$?.then)return res$.then(()=>{if(this._error){let error=this._error;throw this._error=void 0,error}});if(this._error){let error=this._error;throw this._error=void 0,error}}[Symbol.toStringTag]=`AsyncDisposableStack`}})),SuppressedError$1,PonyfillDisposableStack,init_DisposableStack=__esmMin((()=>{init_SupressedError(),init_symbols(),init_utils$2(),globalThis.SuppressedError,DisposableSymbols.dispose,Symbol.toStringTag})),DisposableStack,AsyncDisposableStack,SuppressedError,init_esm$3=__esmMin((()=>{init_AsyncDisposableStack(),init_DisposableStack(),init_SupressedError(),init_symbols(),globalThis.DisposableStack,AsyncDisposableStack=globalThis.AsyncDisposableStack||PonyfillAsyncDisposableStack,globalThis.SuppressedError})),require_shouldSkipPonyfill=__commonJSMin(((exports,module)=>{function isNextJs(){return Object.keys(globalThis).some(key=>key.startsWith(`__NEXT`))}module.exports=function(){return!!(globalThis.Deno||globalThis.Bun||isNextJs())}}));function Oe(e,t){return(t?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test(e)}function D(e,t=!1){let r=[],n=0;for(;n<e.length;){let c=e[n],l=a(function(f){if(!t)throw TypeError(f);r.push({type:`INVALID_CHAR`,index:n,value:e[n++]})},`ErrorOrInvalid`);if(c===`*`){r.push({type:`ASTERISK`,index:n,value:e[n++]});continue}if(c===`+`||c===`?`){r.push({type:`OTHER_MODIFIER`,index:n,value:e[n++]});continue}if(c===`\\`){r.push({type:`ESCAPED_CHAR`,index:n++,value:e[n++]});continue}if(c===`{`){r.push({type:`OPEN`,index:n,value:e[n++]});continue}if(c===`}`){r.push({type:`CLOSE`,index:n,value:e[n++]});continue}if(c===`:`){let f=``,s$1=n+1;for(;s$1<e.length;){let i$1=e.substr(s$1,1);if(s$1===n+1&&Re.test(i$1)||s$1!==n+1&&Ee.test(i$1)){f+=e[s$1++];continue}break}if(!f){l(`Missing parameter name at ${n}`);continue}r.push({type:`NAME`,index:n,value:f}),n=s$1;continue}if(c===`(`){let f=1,s$1=``,i$1=n+1,o=!1;if(e[i$1]===`?`){l(`Pattern cannot start with "?" at ${i$1}`);continue}for(;i$1<e.length;){if(!Oe(e[i$1],!1)){l(`Invalid character '${e[i$1]}' at ${i$1}.`),o=!0;break}if(e[i$1]===`\\`){s$1+=e[i$1++]+e[i$1++];continue}if(e[i$1]===`)`){if(f--,f===0){i$1++;break}}else if(e[i$1]===`(`&&(f++,e[i$1+1]!==`?`)){l(`Capturing groups are not allowed at ${i$1}`),o=!0;break}s$1+=e[i$1++]}if(o)continue;if(f){l(`Unbalanced pattern at ${n}`);continue}if(!s$1){l(`Missing pattern at ${n}`);continue}r.push({type:`REGEX`,index:n,value:s$1}),n=i$1;continue}r.push({type:`CHAR`,index:n,value:e[n++]})}return r.push({type:`END`,index:n,value:``}),r}function F(e,t={}){let r=D(e);t.delimiter??=`/#?`,t.prefixes??=`./`;let n=`[^${x(t.delimiter)}]+?`,c=[],l=0,f=0,i$1=new Set,o=a(u=>{if(f<r.length&&r[f].type===u)return r[f++].value},`tryConsume`),h$1=a(()=>o(`OTHER_MODIFIER`)??o(`ASTERISK`),`tryConsumeModifier`),p=a(u=>{let d$1=o(u);if(d$1!==void 0)return d$1;let{type:g,index:y$1}=r[f];throw TypeError(`Unexpected ${g} at ${y$1}, expected ${u}`)},`mustConsume`),A=a(()=>{let u=``,d$1;for(;d$1=o(`CHAR`)??o(`ESCAPED_CHAR`);)u+=d$1;return u},`consumeText`),xe=a(u=>u,`DefaultEncodePart`),N=t.encodePart||xe,H=``,$=a(u=>{H+=u},`appendToPendingFixedValue`),M=a(()=>{H.length&&(c.push(new P(3,``,``,N(H),``,3)),H=``)},`maybeAddPartFromPendingFixedValue`),X=a((u,d$1,g,y$1,Z)=>{let m$1=3;switch(Z){case`?`:m$1=1;break;case`*`:m$1=0;break;case`+`:m$1=2;break}if(!d$1&&!g&&m$1===3){$(u);return}if(M(),!d$1&&!g){if(!u)return;c.push(new P(3,``,``,N(u),``,m$1));return}let S;S=g?g===`*`?v:g:n;let k=2;S===n?(k=1,S=``):S===v&&(k=0,S=``);let E;if(d$1?E=d$1:g&&(E=l++),i$1.has(E))throw TypeError(`Duplicate name '${E}'.`);i$1.add(E),c.push(new P(k,E,N(u),S,N(y$1),m$1))},`addPart`);for(;f<r.length;){let u=o(`CHAR`),d$1=o(`NAME`),g=o(`REGEX`);if(!d$1&&!g&&(g=o(`ASTERISK`)),d$1||g){let m$1=u??``;t.prefixes.indexOf(m$1)===-1&&($(m$1),m$1=``),M();let S=h$1();X(m$1,d$1,g,``,S);continue}let y$1=u??o(`ESCAPED_CHAR`);if(y$1){$(y$1);continue}if(o(`OPEN`)){let m$1=A(),S=o(`NAME`),k=o(`REGEX`);!S&&!k&&(k=o(`ASTERISK`));let E=A();p(`CLOSE`);let be=h$1();X(m$1,S,k,E,be);continue}M(),p(`END`)}return c}function x(e){return e.replace(/([.+*?^${}()[\]|/\\])/g,`\\$1`)}function B(e){return e&&e.ignoreCase?`ui`:`u`}function q(e,t,r){return W(F(e,r),t,r)}function T(e){switch(e){case 0:return`*`;case 1:return`?`;case 2:return`+`;case 3:return``}}function W(e,t,r={}){r.delimiter??=`/#?`,r.prefixes??=`./`,r.sensitive??=!1,r.strict??=!1,r.end??=!0,r.start??=!0,r.endsWith=``;let n=r.start?`^`:``;for(let s$1 of e){if(s$1.type===3){s$1.modifier===3?n+=x(s$1.value):n+=`(?:${x(s$1.value)})${T(s$1.modifier)}`;continue}t&&t.push(s$1.name);let i$1=`[^${x(r.delimiter)}]+?`,o=s$1.value;if(s$1.type===1?o=i$1:s$1.type===0&&(o=v),!s$1.prefix.length&&!s$1.suffix.length){s$1.modifier===3||s$1.modifier===1?n+=`(${o})${T(s$1.modifier)}`:n+=`((?:${o})${T(s$1.modifier)})`;continue}if(s$1.modifier===3||s$1.modifier===1){n+=`(?:${x(s$1.prefix)}(${o})${x(s$1.suffix)})`,n+=T(s$1.modifier);continue}n+=`(?:${x(s$1.prefix)}`,n+=`((?:${o})(?:`,n+=x(s$1.suffix),n+=x(s$1.prefix),n+=`(?:${o}))*)${x(s$1.suffix)})`,s$1.modifier===0&&(n+=`?`)}let c=`[${x(r.endsWith)}]|$`,l=`[${x(r.delimiter)}]`;if(r.end)return r.strict||(n+=`${l}?`),r.endsWith.length?n+=`(?=${c})`:n+=`$`,new RegExp(n,B(r));r.strict||(n+=`(?:${l}(?=${c}))?`);let f=!1;if(e.length){let s$1=e[e.length-1];s$1.type===3&&s$1.modifier===3&&(f=r.delimiter.indexOf(s$1)>-1)}return f||(n+=`(?=${l}|${c})`),new RegExp(n,B(r))}function ee(e,t){return e.length?e[0]===`/`?!0:!t||e.length<2?!1:(e[0]==`\\`||e[0]==`{`)&&e[1]==`/`:!1}function te(e,t){return e.startsWith(t)?e.substring(t.length,e.length):e}function ke(e,t){return e.endsWith(t)?e.substr(0,e.length-t.length):e}function _(e){return!e||e.length<2?!1:e[0]===`[`||(e[0]===`\\`||e[0]===`{`)&&e[1]===`[`}function U(e){if(!e)return!0;for(let t of re)if(e.test(t))return!0;return!1}function ne(e,t){if(e=te(e,`#`),t||e===``)return e;let r=new URL(`https://example.com`);return r.hash=e,r.hash?r.hash.substring(1,r.hash.length):``}function se(e,t){if(e=te(e,`?`),t||e===``)return e;let r=new URL(`https://example.com`);return r.search=e,r.search?r.search.substring(1,r.search.length):``}function ie(e,t){return t||e===``?e:_(e)?K(e):j(e)}function ae(e,t){if(t||e===``)return e;let r=new URL(`https://example.com`);return r.password=e,r.password}function oe(e,t){if(t||e===``)return e;let r=new URL(`https://example.com`);return r.username=e,r.username}function ce(e,t,r){if(r||e===``)return e;if(t&&!re.includes(t))return new URL(`${t}:${e}`).pathname;let n=e[0]==`/`;return e=new URL(n?e:`/-`+e,`https://example.com`).pathname,n||(e=e.substring(2,e.length)),e}function le(e,t,r){return z$1(t)===e&&(e=``),r||e===``?e:G(e)}function fe(e,t){return e=ke(e,`:`),t||e===``?e:w$1(e)}function z$1(e){switch(e){case`ws`:case`http`:return`80`;case`wws`:case`https`:return`443`;case`ftp`:return`21`;default:return``}}function w$1(e){if(e===``)return e;if(/^[-+.A-Za-z0-9]*$/.test(e))return e.toLowerCase();throw TypeError(`Invalid protocol '${e}'.`)}function he(e){if(e===``)return e;let t=new URL(`https://example.com`);return t.username=e,t.username}function ue(e){if(e===``)return e;let t=new URL(`https://example.com`);return t.password=e,t.password}function j(e){if(e===``)return e;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(e))throw TypeError(`Invalid hostname '${e}'`);let t=new URL(`https://example.com`);return t.hostname=e,t.hostname}function K(e){if(e===``)return e;if(/[^0-9a-fA-F[\]:]/g.test(e))throw TypeError(`Invalid IPv6 hostname '${e}'`);return e.toLowerCase()}function G(e){if(e===``||/^[0-9]*$/.test(e)&&parseInt(e)<=65535)return e;throw TypeError(`Invalid port '${e}'.`)}function de(e){if(e===``)return e;let t=new URL(`https://example.com`);return t.pathname=e[0]===`/`?e:`/-`+e,e[0]===`/`?t.pathname:t.pathname.substring(2,t.pathname.length)}function pe(e){return e===``?e:new URL(`data:${e}`).pathname}function ge(e){if(e===``)return e;let t=new URL(`https://example.com`);return t.search=e,t.search.substring(1,t.search.length)}function me(e){if(e===``)return e;let t=new URL(`https://example.com`);return t.hash=e,t.hash.substring(1,t.hash.length)}function Se(e,t){if(typeof e!=`string`)throw TypeError(`parameter 1 is not of type 'string'.`);let r=new URL(e,t);return{protocol:r.protocol.substring(0,r.protocol.length-1),username:r.username,password:r.password,hostname:r.hostname,port:r.port,pathname:r.pathname,search:r.search===``?void 0:r.search.substring(1,r.search.length),hash:r.hash===``?void 0:r.hash.substring(1,r.hash.length)}}function R(e,t){return t?I(e):e}function L(e,t,r){let n;if(typeof t.baseURL==`string`)try{n=new URL(t.baseURL),t.protocol===void 0&&(e.protocol=R(n.protocol.substring(0,n.protocol.length-1),r)),!r&&t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.username===void 0&&(e.username=R(n.username,r)),!r&&t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.username===void 0&&t.password===void 0&&(e.password=R(n.password,r)),t.protocol===void 0&&t.hostname===void 0&&(e.hostname=R(n.hostname,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&(e.port=R(n.port,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&(e.pathname=R(n.pathname,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&t.search===void 0&&(e.search=R(n.search.substring(1,n.search.length),r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&t.search===void 0&&t.hash===void 0&&(e.hash=R(n.hash.substring(1,n.hash.length),r))}catch{throw TypeError(`invalid baseURL '${t.baseURL}'.`)}if(typeof t.protocol==`string`&&(e.protocol=fe(t.protocol,r)),typeof t.username==`string`&&(e.username=oe(t.username,r)),typeof t.password==`string`&&(e.password=ae(t.password,r)),typeof t.hostname==`string`&&(e.hostname=ie(t.hostname,r)),typeof t.port==`string`&&(e.port=le(t.port,e.protocol,r)),typeof t.pathname==`string`){if(e.pathname=t.pathname,n&&!ee(e.pathname,r)){let c=n.pathname.lastIndexOf(`/`);c>=0&&(e.pathname=R(n.pathname.substring(0,c+1),r)+e.pathname)}e.pathname=ce(e.pathname,e.protocol,r)}return typeof t.search==`string`&&(e.search=se(t.search,r)),typeof t.hash==`string`&&(e.hash=ne(t.hash,r)),e}function I(e){return e.replace(/([+*?:{}()\\])/g,`\\$1`)}function Te(e){return e.replace(/([.+*?^${}()[\]|/\\])/g,`\\$1`)}function Ae(e,t){t.delimiter??=`/#?`,t.prefixes??=`./`,t.sensitive??=!1,t.strict??=!1,t.end??=!0,t.start??=!0,t.endsWith=``;let r=`.*`,n=`[^${Te(t.delimiter)}]+?`,c=/[$_\u200C\u200D\p{ID_Continue}]/u,l=``;for(let f=0;f<e.length;++f){let s$1=e[f];if(s$1.type===3){if(s$1.modifier===3){l+=I(s$1.value);continue}l+=`{${I(s$1.value)}}${T(s$1.modifier)}`;continue}let i$1=s$1.hasCustomName(),o=!!s$1.suffix.length||!!s$1.prefix.length&&(s$1.prefix.length!==1||!t.prefixes.includes(s$1.prefix)),h$1=f>0?e[f-1]:null,p=f<e.length-1?e[f+1]:null;if(!o&&i$1&&s$1.type===1&&s$1.modifier===3&&p&&!p.prefix.length&&!p.suffix.length)if(p.type===3){let A=p.value.length>0?p.value[0]:``;o=c.test(A)}else o=!p.hasCustomName();if(!o&&!s$1.prefix.length&&h$1&&h$1.type===3){let A=h$1.value[h$1.value.length-1];o=t.prefixes.includes(A)}o&&(l+=`{`),l+=I(s$1.prefix),i$1&&(l+=`:${s$1.name}`),s$1.type===2?l+=`(${s$1.value})`:s$1.type===1?i$1||(l+=`(${n})`):s$1.type===0&&(!i$1&&(!h$1||h$1.type===3||h$1.modifier!==3||o||s$1.prefix!==``)?l+=`*`:l+=`(.*)`),s$1.type===1&&i$1&&s$1.suffix.length&&c.test(s$1.suffix[0])&&(l+=`\\`),l+=I(s$1.suffix),o&&(l+=`}`),s$1.modifier!==3&&(l+=T(s$1.modifier))}return l}var Pe,a,P,Re,Ee,v,b,J,Q,re,C,V,O,Y,init_urlpattern=__esmMin((()=>{Pe=Object.defineProperty,a=(e,t)=>Pe(e,`name`,{value:t,configurable:!0}),P=class{type=3;name=``;prefix=``;value=``;suffix=``;modifier=3;constructor(t,r,n,c,l,f){this.type=t,this.name=r,this.prefix=n,this.value=c,this.suffix=l,this.modifier=f}hasCustomName(){return this.name!==``&&typeof this.name!=`number`}},a(P,`Part`),Re=/[$_\p{ID_Start}]/u,Ee=/[$_\u200C\u200D\p{ID_Continue}]/u,v=`.*`,a(Oe,`isASCII`),a(D,`lexer`),a(F,`parse`),a(x,`escapeString`),a(B,`flags`),a(q,`stringToRegexp`),a(T,`modifierToString`),a(W,`partsToRegexp`),b={delimiter:``,prefixes:``,sensitive:!0,strict:!0},J={delimiter:`.`,prefixes:``,sensitive:!0,strict:!0},Q={delimiter:`/`,prefixes:`/`,sensitive:!0,strict:!0},a(ee,`isAbsolutePathname`),a(te,`maybeStripPrefix`),a(ke,`maybeStripSuffix`),a(_,`treatAsIPv6Hostname`),re=[`ftp`,`file`,`http`,`https`,`ws`,`wss`],a(U,`isSpecialScheme`),a(ne,`canonicalizeHash`),a(se,`canonicalizeSearch`),a(ie,`canonicalizeHostname`),a(ae,`canonicalizePassword`),a(oe,`canonicalizeUsername`),a(ce,`canonicalizePathname`),a(le,`canonicalizePort`),a(fe,`canonicalizeProtocol`),a(z$1,`defaultPortForProtocol`),a(w$1,`protocolEncodeCallback`),a(he,`usernameEncodeCallback`),a(ue,`passwordEncodeCallback`),a(j,`hostnameEncodeCallback`),a(K,`ipv6HostnameEncodeCallback`),a(G,`portEncodeCallback`),a(de,`standardURLPathnameEncodeCallback`),a(pe,`pathURLPathnameEncodeCallback`),a(ge,`searchEncodeCallback`),a(me,`hashEncodeCallback`),C=class{#i;#n=[];#t={};#e=0;#s=1;#l=0;#o=0;#d=0;#p=0;#g=!1;constructor(t){this.#i=t}get result(){return this.#t}parse(){for(this.#n=D(this.#i,!0);this.#e<this.#n.length;this.#e+=this.#s){if(this.#s=1,this.#n[this.#e].type===`END`){if(this.#o===0){this.#b(),this.#f()?this.#r(9,1):this.#h()?this.#r(8,1):this.#r(7,0);continue}else if(this.#o===2){this.#u(5);continue}this.#r(10,0);break}if(this.#d>0)if(this.#A())--this.#d;else continue;if(this.#T()){this.#d+=1;continue}switch(this.#o){case 0:this.#P()&&this.#u(1);break;case 1:if(this.#P()){this.#C();let t=7,r=1;this.#E()?(t=2,r=3):this.#g&&(t=2),this.#r(t,r)}break;case 2:this.#S()?this.#u(3):(this.#x()||this.#h()||this.#f())&&this.#u(5);break;case 3:this.#O()?this.#r(4,1):this.#S()&&this.#r(5,1);break;case 4:this.#S()&&this.#r(5,1);break;case 5:this.#y()?this.#p+=1:this.#w()&&--this.#p,this.#k()&&!this.#p?this.#r(6,1):this.#x()?this.#r(7,0):this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 6:this.#x()?this.#r(7,0):this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 7:this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 8:this.#f()&&this.#r(9,1);break;case 9:break;case 10:break}}this.#t.hostname!==void 0&&this.#t.port===void 0&&(this.#t.port=``)}#r(t,r){switch(this.#o){case 0:break;case 1:this.#t.protocol=this.#c();break;case 2:break;case 3:this.#t.username=this.#c();break;case 4:this.#t.password=this.#c();break;case 5:this.#t.hostname=this.#c();break;case 6:this.#t.port=this.#c();break;case 7:this.#t.pathname=this.#c();break;case 8:this.#t.search=this.#c();break;case 9:this.#t.hash=this.#c();break;case 10:break}this.#o!==0&&t!==10&&([1,2,3,4].includes(this.#o)&&[6,7,8,9].includes(t)&&(this.#t.hostname??=``),[1,2,3,4,5,6].includes(this.#o)&&[8,9].includes(t)&&(this.#t.pathname??=this.#g?`/`:``),[1,2,3,4,5,6,7].includes(this.#o)&&t===9&&(this.#t.search??=``)),this.#R(t,r)}#R(t,r){this.#o=t,this.#l=this.#e+r,this.#e+=r,this.#s=0}#b(){this.#e=this.#l,this.#s=0}#u(t){this.#b(),this.#o=t}#m(t){return t<0&&(t=this.#n.length-t),t<this.#n.length?this.#n[t]:this.#n[this.#n.length-1]}#a(t,r){let n=this.#m(t);return n.value===r&&(n.type===`CHAR`||n.type===`ESCAPED_CHAR`||n.type===`INVALID_CHAR`)}#P(){return this.#a(this.#e,`:`)}#E(){return this.#a(this.#e+1,`/`)&&this.#a(this.#e+2,`/`)}#S(){return this.#a(this.#e,`@`)}#O(){return this.#a(this.#e,`:`)}#k(){return this.#a(this.#e,`:`)}#x(){return this.#a(this.#e,`/`)}#h(){if(this.#a(this.#e,`?`))return!0;if(this.#n[this.#e].value!==`?`)return!1;let t=this.#m(this.#e-1);return t.type!==`NAME`&&t.type!==`REGEX`&&t.type!==`CLOSE`&&t.type!==`ASTERISK`}#f(){return this.#a(this.#e,`#`)}#T(){return this.#n[this.#e].type==`OPEN`}#A(){return this.#n[this.#e].type==`CLOSE`}#y(){return this.#a(this.#e,`[`)}#w(){return this.#a(this.#e,`]`)}#c(){let t=this.#n[this.#e],r=this.#m(this.#l).index;return this.#i.substring(r,t.index)}#C(){let t={};Object.assign(t,b),t.encodePart=w$1;let r=q(this.#c(),void 0,t);this.#g=U(r)}},a(C,`Parser`),V=[`protocol`,`username`,`password`,`hostname`,`port`,`pathname`,`search`,`hash`],O=`*`,a(Se,`extractValues`),a(R,`processBaseURLString`),a(L,`applyInit`),a(I,`escapePatternString`),a(Te,`escapeRegexpString`),a(Ae,`partsToPattern`),Y=class{#i;#n={};#t={};#e={};#s={};#l=!1;constructor(t={},r,n){try{let c;if(typeof r==`string`?c=r:n=r,typeof t==`string`){let i$1=new C(t);if(i$1.parse(),t=i$1.result,c===void 0&&typeof t.protocol!=`string`)throw TypeError(`A base URL must be provided for a relative constructor string.`);t.baseURL=c}else{if(!t||typeof t!=`object`)throw TypeError(`parameter 1 is not of type 'string' and cannot convert to dictionary.`);if(c)throw TypeError(`parameter 1 is not of type 'string'.`)}typeof n>`u`&&(n={ignoreCase:!1});let l={ignoreCase:n.ignoreCase===!0};this.#i=L({pathname:O,protocol:O,username:O,password:O,hostname:O,port:O,search:O,hash:O},t,!0),z$1(this.#i.protocol)===this.#i.port&&(this.#i.port=``);let s$1;for(s$1 of V){if(!(s$1 in this.#i))continue;let i$1={},o=this.#i[s$1];switch(this.#t[s$1]=[],s$1){case`protocol`:Object.assign(i$1,b),i$1.encodePart=w$1;break;case`username`:Object.assign(i$1,b),i$1.encodePart=he;break;case`password`:Object.assign(i$1,b),i$1.encodePart=ue;break;case`hostname`:Object.assign(i$1,J),_(o)?i$1.encodePart=K:i$1.encodePart=j;break;case`port`:Object.assign(i$1,b),i$1.encodePart=G;break;case`pathname`:U(this.#n.protocol)?(Object.assign(i$1,Q,l),i$1.encodePart=de):(Object.assign(i$1,b,l),i$1.encodePart=pe);break;case`search`:Object.assign(i$1,b,l),i$1.encodePart=ge;break;case`hash`:Object.assign(i$1,b,l),i$1.encodePart=me;break}try{this.#s[s$1]=F(o,i$1),this.#n[s$1]=W(this.#s[s$1],this.#t[s$1],i$1),this.#e[s$1]=Ae(this.#s[s$1],i$1),this.#l=this.#l||this.#s[s$1].some(h$1=>h$1.type===2)}catch{throw TypeError(`invalid ${s$1} pattern '${this.#i[s$1]}'.`)}}}catch(c){throw TypeError(`Failed to construct 'URLPattern': ${c.message}`)}}get[Symbol.toStringTag](){return`URLPattern`}test(t={},r){let n={pathname:``,protocol:``,username:``,password:``,hostname:``,port:``,search:``,hash:``};if(typeof t!=`string`&&r)throw TypeError(`parameter 1 is not of type 'string'.`);if(typeof t>`u`)return!1;try{n=typeof t==`object`?L(n,t,!1):L(n,Se(t,r),!1)}catch{return!1}let c;for(c of V)if(!this.#n[c].exec(n[c]))return!1;return!0}exec(t={},r){let n={pathname:``,protocol:``,username:``,password:``,hostname:``,port:``,search:``,hash:``};if(typeof t!=`string`&&r)throw TypeError(`parameter 1 is not of type 'string'.`);if(typeof t>`u`)return;try{n=typeof t==`object`?L(n,t,!1):L(n,Se(t,r),!1)}catch{return null}let c={};r?c.inputs=[t,r]:c.inputs=[t];let l;for(l of V){let f=this.#n[l].exec(n[l]);if(!f)return null;let s$1={};for(let[i$1,o]of this.#t[l].entries())(typeof o==`string`||typeof o==`number`)&&(s$1[o]=f[i$1+1]);c[l]={input:n[l]??``,groups:s$1}}return c}static compareComponent(t,r,n){let c=a((i$1,o)=>{for(let h$1 of[`type`,`modifier`,`prefix`,`value`,`suffix`]){if(i$1[h$1]<o[h$1])return-1;if(i$1[h$1]!==o[h$1])return 1}return 0},`comparePart`),l=new P(3,``,``,``,``,3),f=new P(0,``,``,``,``,3),s$1=a((i$1,o)=>{let h$1=0;for(;h$1<Math.min(i$1.length,o.length);++h$1){let p=c(i$1[h$1],o[h$1]);if(p)return p}return i$1.length===o.length?0:c(i$1[h$1]??l,o[h$1]??l)},`comparePartList`);return!r.#e[t]&&!n.#e[t]?0:r.#e[t]&&!n.#e[t]?s$1(r.#s[t],[f]):!r.#e[t]&&n.#e[t]?s$1([f],n.#s[t]):s$1(r.#s[t],n.#s[t])}get protocol(){return this.#e.protocol}get username(){return this.#e.username}get password(){return this.#e.password}get hostname(){return this.#e.hostname}get port(){return this.#e.port}get pathname(){return this.#e.pathname}get search(){return this.#e.search}get hash(){return this.#e.hash}get hasRegExpGroups(){return this.#l}},a(Y,`URLPattern`)})),urlpattern_polyfill_exports=__export$3({URLPattern:()=>Y}),init_urlpattern_polyfill=__esmMin((()=>{init_urlpattern(),globalThis.URLPattern||(globalThis.URLPattern=Y)})),require_sbmh=__commonJSMin(((exports,module)=>{let{EventEmitter:EventEmitter$2}=__require(`node:events`),{inherits:inherits$5}=__require(`node:util`);function SBMH(needle){if(typeof needle==`string`&&(needle=Buffer.from(needle)),!Buffer.isBuffer(needle))throw TypeError(`The needle has to be a String or a Buffer.`);let needleLength=needle.length,needleLastCharIndex=needleLength-1;if(needleLength===0)throw Error(`The needle cannot be an empty String/Buffer.`);if(needleLength>256)throw Error(`The needle cannot have a length bigger than 256.`);this.maxMatches=1/0,this.matches=0,this._occ=new Uint8Array(256).fill(needleLength),this._lookbehind_size=0,this._needle=needle,this._bufpos=0,this._lookbehind=Buffer.alloc(needleLastCharIndex);for(var i$1=0;i$1<needleLastCharIndex;++i$1)this._occ[needle[i$1]]=needleLastCharIndex-i$1}inherits$5(SBMH,EventEmitter$2),SBMH.prototype.reset=function(){this._lookbehind_size=0,this.matches=0,this._bufpos=0},SBMH.prototype.push=function(chunk,pos){Buffer.isBuffer(chunk)||(chunk=Buffer.from(chunk,`binary`));let chlen=chunk.length;this._bufpos=pos||0;let r;for(;r!==chlen&&this.matches<this.maxMatches;)r=this._sbmh_feed(chunk);return r},SBMH.prototype._sbmh_feed=function(data){let len=data.length,needle=this._needle,needleLength=needle.length,needleLastCharIndex=needleLength-1,needleLastChar=needle[needleLastCharIndex],pos=-this._lookbehind_size,ch;if(pos<0){for(;pos<0&&pos<=len-needleLength;){if(ch=data[pos+needleLastCharIndex],ch===needleLastChar&&this._sbmh_memcmp(data,pos,needleLastCharIndex))return this._lookbehind_size=0,++this.matches,this.emit(`info`,!0),this._bufpos=pos+needleLength;pos+=this._occ[ch]}for(;pos<0&&!this._sbmh_memcmp(data,pos,len-pos);)++pos;if(pos>=0)this.emit(`info`,!1,this._lookbehind,0,this._lookbehind_size),this._lookbehind_size=0;else{let bytesToCutOff=this._lookbehind_size+pos;return bytesToCutOff>0&&this.emit(`info`,!1,this._lookbehind,0,bytesToCutOff),this._lookbehind_size-=bytesToCutOff,this._lookbehind.copy(this._lookbehind,0,bytesToCutOff,this._lookbehind_size),data.copy(this._lookbehind,this._lookbehind_size),this._lookbehind_size+=len,this._bufpos=len,len}}if(pos=data.indexOf(needle,pos+this._bufpos),pos!==-1)return++this.matches,pos===0?this.emit(`info`,!0):this.emit(`info`,!0,data,this._bufpos,pos),this._bufpos=pos+needleLength;for(pos=len-needleLastCharIndex,pos<0&&(pos=0);pos!==len&&(data[pos]!==needle[0]||Buffer.compare(data.subarray(pos+1,len),needle.subarray(1,len-pos))!==0);)++pos;return pos!==len&&(data.copy(this._lookbehind,0,pos,len),this._lookbehind_size=len-pos),pos!==0&&this.emit(`info`,!1,data,this._bufpos,pos),this._bufpos=len,len},SBMH.prototype._sbmh_lookup_char=function(data,pos){return pos<0?this._lookbehind[this._lookbehind_size+pos]:data[pos]},SBMH.prototype._sbmh_memcmp=function(data,pos,len){for(var i$1=0;i$1<len;++i$1)if(this._sbmh_lookup_char(data,pos+i$1)!==this._needle[i$1])return!1;return!0},module.exports=SBMH})),require_PartStream=__commonJSMin(((exports,module)=>{let inherits$4=__require(`node:util`).inherits,ReadableStream$1=__require(`node:stream`).Readable;function PartStream$1(opts){ReadableStream$1.call(this,opts)}inherits$4(PartStream$1,ReadableStream$1),PartStream$1.prototype._read=function(n){},module.exports=PartStream$1})),require_getLimit=__commonJSMin(((exports,module)=>{module.exports=function(limits,name$2,defaultLimit){if(!limits||limits[name$2]===void 0||limits[name$2]===null)return defaultLimit;if(typeof limits[name$2]!=`number`||isNaN(limits[name$2]))throw TypeError(`Limit `+name$2+` is not a valid number`);return limits[name$2]}})),require_HeaderParser=__commonJSMin(((exports,module)=>{let EventEmitter$1=__require(`node:events`).EventEmitter,inherits$3=__require(`node:util`).inherits,getLimit$2=require_getLimit(),StreamSearch$1=require_sbmh(),B_DCRLF=Buffer.from(`\r
|
|
28
28
|
\r
|
|
29
29
|
`),RE_CRLF=/\r\n/g,RE_HDR=/^([^:]+):[ \t]?([\x00-\xFF]+)?$/;function HeaderParser$1(cfg){EventEmitter$1.call(this),cfg||={};let self$1=this;this.nread=0,this.maxed=!1,this.npairs=0,this.maxHeaderPairs=getLimit$2(cfg,`maxHeaderPairs`,2e3),this.maxHeaderSize=getLimit$2(cfg,`maxHeaderSize`,80*1024),this.buffer=``,this.header={},this.finished=!1,this.ss=new StreamSearch$1(B_DCRLF),this.ss.on(`info`,function(isMatch,data,start,end){data&&!self$1.maxed&&(self$1.nread+end-start>=self$1.maxHeaderSize?(end=self$1.maxHeaderSize-self$1.nread+start,self$1.nread=self$1.maxHeaderSize,self$1.maxed=!0):self$1.nread+=end-start,self$1.buffer+=data.toString(`binary`,start,end)),isMatch&&self$1._finish()})}inherits$3(HeaderParser$1,EventEmitter$1),HeaderParser$1.prototype.push=function(data){let r=this.ss.push(data);if(this.finished)return r},HeaderParser$1.prototype.reset=function(){this.finished=!1,this.buffer=``,this.header={},this.ss.reset()},HeaderParser$1.prototype._finish=function(){this.buffer&&this._parseHeader(),this.ss.matches=this.ss.maxMatches;let header=this.header;this.header={},this.buffer=``,this.finished=!0,this.nread=this.npairs=0,this.maxed=!1,this.emit(`header`,header)},HeaderParser$1.prototype._parseHeader=function(){if(this.npairs===this.maxHeaderPairs)return;let lines=this.buffer.split(RE_CRLF),len=lines.length,m$1,h$1;for(var i$1=0;i$1<len;++i$1){if(lines[i$1].length===0)continue;if((lines[i$1][0]===` `||lines[i$1][0]===` `)&&h$1){this.header[h$1][this.header[h$1].length-1]+=lines[i$1];continue}let posColon=lines[i$1].indexOf(`:`);if(posColon===-1||posColon===0)return;if(m$1=RE_HDR.exec(lines[i$1]),h$1=m$1[1].toLowerCase(),this.header[h$1]=this.header[h$1]||[],this.header[h$1].push(m$1[2]||``),++this.npairs===this.maxHeaderPairs)break}},module.exports=HeaderParser$1})),require_Dicer=__commonJSMin(((exports,module)=>{let WritableStream$1=__require(`node:stream`).Writable,inherits$2=__require(`node:util`).inherits,StreamSearch=require_sbmh(),PartStream=require_PartStream(),HeaderParser=require_HeaderParser(),DASH=45,B_ONEDASH=Buffer.from(`-`),B_CRLF=Buffer.from(`\r
|
|
30
30
|
`),EMPTY_FN=function(){};function Dicer$2(cfg){if(!(this instanceof Dicer$2))return new Dicer$2(cfg);if(WritableStream$1.call(this,cfg),!cfg||!cfg.headerFirst&&typeof cfg.boundary!=`string`)throw TypeError(`Boundary required`);typeof cfg.boundary==`string`?this.setBoundary(cfg.boundary):this._bparser=void 0,this._headerFirst=cfg.headerFirst,this._dashes=0,this._parts=0,this._finished=!1,this._realFinish=!1,this._isPreamble=!0,this._justMatched=!1,this._firstWrite=!0,this._inHeader=!0,this._part=void 0,this._cb=void 0,this._ignoreData=!1,this._partOpts={highWaterMark:cfg.partHwm},this._pause=!1;let self$1=this;this._hparser=new HeaderParser(cfg),this._hparser.on(`header`,function(header){self$1._inHeader=!1,self$1._part.emit(`header`,header)})}inherits$2(Dicer$2,WritableStream$1),Dicer$2.prototype.emit=function(ev){if(ev===`finish`&&!this._realFinish){if(!this._finished){let self$1=this;process.nextTick(function(){if(self$1.emit(`error`,Error(`Unexpected end of multipart data`)),self$1._part&&!self$1._ignoreData){let type=self$1._isPreamble?`Preamble`:`Part`;self$1._part.emit(`error`,Error(type+` terminated early due to unexpected end of multipart data`)),self$1._part.push(null),process.nextTick(function(){self$1._realFinish=!0,self$1.emit(`finish`),self$1._realFinish=!1});return}self$1._realFinish=!0,self$1.emit(`finish`),self$1._realFinish=!1})}}else WritableStream$1.prototype.emit.apply(this,arguments)},Dicer$2.prototype._write=function(data,encoding,cb){if(!this._hparser&&!this._bparser)return cb();if(this._headerFirst&&this._isPreamble){this._part||(this._part=new PartStream(this._partOpts),this.listenerCount(`preamble`)===0?this._ignore():this.emit(`preamble`,this._part));let r=this._hparser.push(data);if(!this._inHeader&&r!==void 0&&r<data.length)data=data.slice(r);else return cb()}this._firstWrite&&=(this._bparser.push(B_CRLF),!1),this._bparser.push(data),this._pause?this._cb=cb:cb()},Dicer$2.prototype.reset=function(){this._part=void 0,this._bparser=void 0,this._hparser=void 0},Dicer$2.prototype.setBoundary=function(boundary){let self$1=this;this._bparser=new StreamSearch(`\r
|
|
@@ -45,6 +45,6 @@ To resolve the conflict:`,(0,RegistrationConflicts_1.getConflictResolutionRecipe
|
|
|
45
45
|
`+prefix),args.push(colorCode+`m+`+module.exports.humanize(this.diff)+`\x1B[0m`)}else args[0]=getDate()+name$2+` `+args[0]}function getDate(){return exports.inspectOpts.hideDate?``:new Date().toISOString()+` `}function log(...args){return process.stderr.write(util$1.formatWithOptions(exports.inspectOpts,...args)+`
|
|
46
46
|
`)}function save(namespaces){namespaces?process.env.DEBUG=namespaces:delete process.env.DEBUG}function load(){return process.env.DEBUG}function init(debug$1){debug$1.inspectOpts={};let keys=Object.keys(exports.inspectOpts);for(let i$1=0;i$1<keys.length;i$1++)debug$1.inspectOpts[keys[i$1]]=exports.inspectOpts[keys[i$1]]}module.exports=require_common()(exports);let{formatters}=module.exports;formatters.o=function(v$1){return this.inspectOpts.colors=this.useColors,util$1.inspect(v$1,this.inspectOpts).split(`
|
|
47
47
|
`).map(str=>str.trim()).join(` `)},formatters.O=function(v$1){return this.inspectOpts.colors=this.useColors,util$1.inspect(v$1,this.inspectOpts)}})),require_src$5=__commonJSMin(((exports,module)=>{typeof process>`u`||process.type===`renderer`||process.browser===!0||process.__nwjs?module.exports=require_browser():module.exports=require_node$2()})),require_module_details_from_path=__commonJSMin(((exports,module)=>{var sep=__require(`path`).sep;module.exports=function(file){var segments=file.split(sep),index=segments.lastIndexOf(`node_modules`);if(index!==-1&&segments[index+1]){for(var scoped=segments[index+1][0]===`@`,name$2=scoped?segments[index+1]+`/`+segments[index+2]:segments[index+1],offset=scoped?3:2,basedir=``,lastBaseDirSegmentIndex=index+offset-1,i$1=0;i$1<=lastBaseDirSegmentIndex;i$1++)i$1===lastBaseDirSegmentIndex?basedir+=segments[i$1]:basedir+=segments[i$1]+sep;for(var path$4=``,lastSegmentIndex=segments.length-1,i2=index+offset;i2<=lastSegmentIndex;i2++)i2===lastSegmentIndex?path$4+=segments[i2]:path$4+=segments[i2]+sep;return{name:name$2,basedir,path:path$4}}}})),require_package=__commonJSMin(((exports,module)=>{module.exports={name:`require-in-the-middle`,version:`8.0.0`,description:`Module to hook into the Node.js require function`,main:`index.js`,types:`types/index.d.ts`,dependencies:{debug:`^4.3.5`,"module-details-from-path":`^1.0.3`},devDependencies:{"@babel/core":`^7.9.0`,"@babel/preset-env":`^7.9.5`,"@babel/preset-typescript":`^7.9.0`,"@babel/register":`^7.9.0`,"ipp-printer":`^1.0.0`,patterns:`^1.0.3`,roundround:`^0.2.0`,semver:`^6.3.0`,standard:`^14.3.1`,tape:`^4.11.0`},scripts:{test:`npm run test:lint && npm run test:tape && npm run test:babel`,"test:lint":`standard`,"test:tape":`tape test/*.js`,"test:babel":`node test/babel/babel-register.js`},repository:{type:`git`,url:`git+https://github.com/nodejs/require-in-the-middle.git`},keywords:[`require`,`hook`,`shim`,`shimmer`,`shimming`,`patch`,`monkey`,`monkeypatch`,`module`,`load`],files:[`types`],author:`Thomas Watson Steen <w@tson.dk> (https://twitter.com/wa7son)`,license:`MIT`,bugs:{url:`https://github.com/nodejs/require-in-the-middle/issues`},homepage:`https://github.com/nodejs/require-in-the-middle#readme`,engines:{node:`>=9.3.0 || >=8.10.0 <9.0.0`}}})),require_require_in_the_middle=__commonJSMin(((exports,module)=>{let path$3=__require(`path`),Module=__require(`module`),debug=require_src$5()(`require-in-the-middle`),moduleDetailsFromPath=require_module_details_from_path();module.exports=Hook$1,module.exports.Hook=Hook$1;let builtinModules,isCore;if(Module.isBuiltin)isCore=Module.isBuiltin;else if(Module.builtinModules)isCore=moduleName=>moduleName.startsWith(`node:`)?!0:(builtinModules===void 0&&(builtinModules=new Set(Module.builtinModules)),builtinModules.has(moduleName));else throw Error(`'require-in-the-middle' requires Node.js >=v9.3.0 or >=v8.10.0`);let normalize=/([/\\]index)?(\.js)?$/;var ExportsCache=class{constructor(){this._localCache=new Map,this._kRitmExports=Symbol(`RitmExports`)}has(filename,isBuiltin){if(this._localCache.has(filename))return!0;if(isBuiltin)return!1;{let mod=__require.cache[filename];return!!(mod&&this._kRitmExports in mod)}}get(filename,isBuiltin){let cachedExports=this._localCache.get(filename);if(cachedExports!==void 0)return cachedExports;if(!isBuiltin){let mod=__require.cache[filename];return mod&&mod[this._kRitmExports]}}set(filename,exports$1,isBuiltin){isBuiltin?this._localCache.set(filename,exports$1):filename in __require.cache?__require.cache[filename][this._kRitmExports]=exports$1:(debug(`non-core module is unexpectedly not in require.cache: "%s"`,filename),this._localCache.set(filename,exports$1))}};function Hook$1(modules,options,onrequire){if(!(this instanceof Hook$1))return new Hook$1(modules,options,onrequire);if(typeof modules==`function`?(onrequire=modules,modules=null,options=null):typeof options==`function`&&(onrequire=options,options=null),typeof Module._resolveFilename!=`function`){console.error(`Error: Expected Module._resolveFilename to be a function (was: %s) - aborting!`,typeof Module._resolveFilename),console.error(`Please report this error as an issue related to Node.js %s at %s`,process.version,require_package().bugs.url);return}this._cache=new ExportsCache,this._unhooked=!1,this._origRequire=Module.prototype.require;let self$1=this,patching=new Set,internals=options?options.internals===!0:!1,hasWhitelist=Array.isArray(modules);debug(`registering require hook`),this._require=Module.prototype.require=function(id){return self$1._unhooked===!0?(debug(`ignoring require call - module is soft-unhooked`),self$1._origRequire.apply(this,arguments)):patchedRequire.call(this,arguments,!1)},typeof process.getBuiltinModule==`function`&&(this._origGetBuiltinModule=process.getBuiltinModule,this._getBuiltinModule=process.getBuiltinModule=function(id){return self$1._unhooked===!0?(debug(`ignoring process.getBuiltinModule call - module is soft-unhooked`),self$1._origGetBuiltinModule.apply(this,arguments)):patchedRequire.call(this,arguments,!0)});function patchedRequire(args,coreOnly){let id=args[0],core=isCore(id),filename;if(core){if(filename=id,id.startsWith(`node:`)){let idWithoutPrefix=id.slice(5);isCore(idWithoutPrefix)&&(filename=idWithoutPrefix)}}else if(coreOnly)return debug(`call to process.getBuiltinModule with unknown built-in id`),self$1._origGetBuiltinModule.apply(this,args);else try{filename=Module._resolveFilename(id,this)}catch(resolveErr){return debug(`Module._resolveFilename("%s") threw %j, calling original Module.require`,id,resolveErr.message),self$1._origRequire.apply(this,args)}let moduleName,basedir;if(debug(`processing %s module require('%s'): %s`,core===!0?`core`:`non-core`,id,filename),self$1._cache.has(filename,core)===!0)return debug(`returning already patched cached module: %s`,filename),self$1._cache.get(filename,core);let isPatching=patching.has(filename);isPatching===!1&&patching.add(filename);let exports$1=coreOnly?self$1._origGetBuiltinModule.apply(this,args):self$1._origRequire.apply(this,args);if(isPatching===!0)return debug(`module is in the process of being patched already - ignoring: %s`,filename),exports$1;if(patching.delete(filename),core===!0){if(hasWhitelist===!0&&modules.includes(filename)===!1)return debug(`ignoring core module not on whitelist: %s`,filename),exports$1;moduleName=filename}else if(hasWhitelist===!0&&modules.includes(filename)){let parsedPath=path$3.parse(filename);moduleName=parsedPath.name,basedir=parsedPath.dir}else{let stat=moduleDetailsFromPath(filename);if(stat===void 0)return debug(`could not parse filename: %s`,filename),exports$1;moduleName=stat.name,basedir=stat.basedir;let fullModuleName=resolveModuleName(stat);debug(`resolved filename to module: %s (id: %s, resolved: %s, basedir: %s)`,moduleName,id,fullModuleName,basedir);let matchFound=!1;if(hasWhitelist){if(!id.startsWith(`.`)&&modules.includes(id)&&(moduleName=id,matchFound=!0),!modules.includes(moduleName)&&!modules.includes(fullModuleName))return exports$1;modules.includes(fullModuleName)&&fullModuleName!==moduleName&&(moduleName=fullModuleName,matchFound=!0)}if(!matchFound){let res;try{res=__require.resolve(moduleName,{paths:[basedir]})}catch{return debug(`could not resolve module: %s`,moduleName),self$1._cache.set(filename,exports$1,core),exports$1}if(res!==filename)if(internals===!0)moduleName=moduleName+path$3.sep+path$3.relative(basedir,filename),debug(`preparing to process require of internal file: %s`,moduleName);else return debug(`ignoring require of non-main module file: %s`,res),self$1._cache.set(filename,exports$1,core),exports$1}}self$1._cache.set(filename,exports$1,core),debug(`calling require hook: %s`,moduleName);let patchedExports=onrequire(exports$1,moduleName,basedir);return self$1._cache.set(filename,patchedExports,core),debug(`returning module: %s`,moduleName),patchedExports}}Hook$1.prototype.unhook=function(){this._unhooked=!0,this._require===Module.prototype.require?(Module.prototype.require=this._origRequire,debug(`require unhook successful`)):debug(`require unhook unsuccessful`),process.getBuiltinModule!==void 0&&(this._getBuiltinModule===process.getBuiltinModule?(process.getBuiltinModule=this._origGetBuiltinModule,debug(`process.getBuiltinModule unhook successful`)):debug(`process.getBuiltinModule unhook unsuccessful`))};function resolveModuleName(stat){let normalizedPath=path$3.sep===`/`?stat.path:stat.path.split(path$3.sep).join(`/`);return path$3.posix.join(stat.name,normalizedPath).replace(normalize,``)}})),require_ModuleNameTrie=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.ModuleNameTrie=exports.ModuleNameSeparator=void 0,exports.ModuleNameSeparator=`/`;var ModuleNameTrieNode=class{hooks=[];children=new Map};exports.ModuleNameTrie=class{_trie=new ModuleNameTrieNode;_counter=0;insert(hook){let trieNode=this._trie;for(let moduleNamePart of hook.moduleName.split(exports.ModuleNameSeparator)){let nextNode=trieNode.children.get(moduleNamePart);nextNode||(nextNode=new ModuleNameTrieNode,trieNode.children.set(moduleNamePart,nextNode)),trieNode=nextNode}trieNode.hooks.push({hook,insertedId:this._counter++})}search(moduleName,{maintainInsertionOrder,fullOnly}={}){let trieNode=this._trie,results=[],foundFull=!0;for(let moduleNamePart of moduleName.split(exports.ModuleNameSeparator)){let nextNode=trieNode.children.get(moduleNamePart);if(!nextNode){foundFull=!1;break}fullOnly||results.push(...nextNode.hooks),trieNode=nextNode}return fullOnly&&foundFull&&results.push(...trieNode.hooks),results.length===0?[]:results.length===1?[results[0].hook]:(maintainInsertionOrder&&results.sort((a$1,b$1)=>a$1.insertedId-b$1.insertedId),results.map(({hook})=>hook))}}})),require_RequireInTheMiddleSingleton=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let require_in_the_middle_1$1=require_require_in_the_middle(),path$2=__require(`path`),ModuleNameTrie_1=require_ModuleNameTrie(),isMocha=[`afterEach`,`after`,`beforeEach`,`before`,`describe`,`it`].every(fn=>typeof global[fn]==`function`);exports.RequireInTheMiddleSingleton=class RequireInTheMiddleSingleton{_moduleNameTrie=new ModuleNameTrie_1.ModuleNameTrie;static _instance;constructor(){this._initialize()}_initialize(){new require_in_the_middle_1$1.Hook(null,{internals:!0},(exports$1,name$2,basedir)=>{let normalizedModuleName=normalizePathSeparators(name$2),matches=this._moduleNameTrie.search(normalizedModuleName,{maintainInsertionOrder:!0,fullOnly:basedir===void 0});for(let{onRequire}of matches)exports$1=onRequire(exports$1,name$2,basedir);return exports$1})}register(moduleName,onRequire){let hooked={moduleName,onRequire};return this._moduleNameTrie.insert(hooked),hooked}static getInstance(){return isMocha?new RequireInTheMiddleSingleton:this._instance=this._instance??new RequireInTheMiddleSingleton}};function normalizePathSeparators(moduleNameOrPath){return path$2.sep===ModuleNameTrie_1.ModuleNameSeparator?moduleNameOrPath:moduleNameOrPath.split(path$2.sep).join(ModuleNameTrie_1.ModuleNameSeparator)}})),require_register=__commonJSMin((exports=>{let importHooks$1=[],setters=new WeakMap,getters=new WeakMap,specifiers$1=new Map,toHook$1=[],proxyHandler={set(target,name$2,value){return setters.get(target)[name$2](value)},get(target,name$2){if(name$2===Symbol.toStringTag)return`Module`;let getter=getters.get(target)[name$2];if(typeof getter==`function`)return getter()},defineProperty(target,property,descriptor){if(!(`value`in descriptor))throw Error(`Getters/setters are not supported for exports property descriptors.`);return setters.get(target)[property](descriptor.value)}};function register(name$2,namespace,set,get,specifier){specifiers$1.set(name$2,specifier),setters.set(namespace,set),getters.set(namespace,get);let proxy=new Proxy(namespace,proxyHandler);importHooks$1.forEach(hook=>hook(name$2,proxy)),toHook$1.push([name$2,proxy])}let experimentalPatchInternals=!1;function getExperimentalPatchInternals$1(){return experimentalPatchInternals}function setExperimentalPatchInternals(value){experimentalPatchInternals=value}exports.register=register,exports.importHooks=importHooks$1,exports.specifiers=specifiers$1,exports.toHook=toHook$1,exports.getExperimentalPatchInternals=getExperimentalPatchInternals$1,exports.setExperimentalPatchInternals=setExperimentalPatchInternals})),require_import_in_the_middle=__commonJSMin(((exports,module)=>{let path$1=__require(`path`),parse=require_module_details_from_path(),{fileURLToPath:fileURLToPath$1}=__require(`url`),{MessageChannel}=__require(`worker_threads`),{importHooks,specifiers,toHook,getExperimentalPatchInternals}=require_register();function addHook(hook){importHooks.push(hook),toHook.forEach(([name$2,namespace])=>hook(name$2,namespace))}function removeHook(hook){let index=importHooks.indexOf(hook);index>-1&&importHooks.splice(index,1)}function callHookFn(hookFn,namespace,name$2,baseDir){let newDefault=hookFn(namespace,name$2,baseDir);newDefault&&newDefault!==namespace&&(namespace.default=newDefault)}let sendModulesToLoader;function createAddHookMessageChannel(){let{port1,port2}=new MessageChannel,pendingAckCount=0,resolveFn;sendModulesToLoader=modules=>{pendingAckCount++,port1.postMessage(modules)},port1.on(`message`,()=>{pendingAckCount--,resolveFn&&pendingAckCount<=0&&resolveFn()}).unref();function waitForAllMessagesAcknowledged(){let timer=setInterval(()=>{},1e3),promise=new Promise(resolve$1=>{resolveFn=resolve$1}).then(()=>{clearInterval(timer)});return pendingAckCount===0&&resolveFn(),promise}let addHookMessagePort=port2;return{registerOptions:{data:{addHookMessagePort,include:[]},transferList:[addHookMessagePort]},addHookMessagePort,waitForAllMessagesAcknowledged}}function Hook(modules,options,hookFn){if(!(this instanceof Hook))return new Hook(modules,options,hookFn);typeof modules==`function`?(hookFn=modules,modules=null,options=null):typeof options==`function`&&(hookFn=options,options=null);let internals=options?options.internals===!0:!1;sendModulesToLoader&&Array.isArray(modules)&&sendModulesToLoader(modules),this._iitmHook=(name$2,namespace)=>{let filename=name$2,isBuiltin=name$2.startsWith(`node:`),baseDir;if(isBuiltin)name$2=name$2.replace(/^node:/,``);else{if(name$2.startsWith(`file://`))try{name$2=fileURLToPath$1(name$2)}catch{}let details=parse(name$2);details&&(name$2=details.name,baseDir=details.basedir)}if(modules){for(let moduleName of modules)if(moduleName===name$2){if(baseDir){if(internals)name$2=name$2+path$1.sep+path$1.relative(baseDir,fileURLToPath$1(filename));else if(!getExperimentalPatchInternals()&&!baseDir.endsWith(specifiers.get(filename)))continue}callHookFn(hookFn,namespace,name$2,baseDir)}}else callHookFn(hookFn,namespace,name$2,baseDir)},addHook(this._iitmHook)}Hook.prototype.unhook=function(){removeHook(this._iitmHook)},module.exports=Hook,module.exports.Hook=Hook,module.exports.addHook=addHook,module.exports.removeHook=removeHook,module.exports.createAddHookMessageChannel=createAddHookMessageChannel})),require_utils=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});function safeExecuteInTheMiddle(execute,onFinish,preventThrowingError){let error,result;try{result=execute()}catch(e){error=e}finally{if(onFinish(error,result),error&&!preventThrowingError)throw error;return result}}exports.safeExecuteInTheMiddle=safeExecuteInTheMiddle;async function safeExecuteInTheMiddleAsync(execute,onFinish,preventThrowingError){let error,result;try{result=await execute()}catch(e){error=e}finally{if(onFinish(error,result),error&&!preventThrowingError)throw error;return result}}exports.safeExecuteInTheMiddleAsync=safeExecuteInTheMiddleAsync;function isWrapped(func){return typeof func==`function`&&typeof func.__original==`function`&&typeof func.__unwrap==`function`&&func.__wrapped===!0}exports.isWrapped=isWrapped})),require_instrumentation=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let path=__require(`path`),util_1=__require(`util`),semver_1=require_semver(),shimmer_1=require_shimmer(),instrumentation_1$2=require_instrumentation$1(),RequireInTheMiddleSingleton_1=require_RequireInTheMiddleSingleton(),import_in_the_middle_1=require_import_in_the_middle(),api_1$10=(init_esm$5(),__toCommonJS$3(esm_exports$3)),require_in_the_middle_1=require_require_in_the_middle(),fs_1=__require(`fs`),utils_1$1=require_utils();exports.InstrumentationBase=class extends instrumentation_1$2.InstrumentationAbstract{_modules;_hooks=[];_requireInTheMiddleSingleton=RequireInTheMiddleSingleton_1.RequireInTheMiddleSingleton.getInstance();_enabled=!1;constructor(instrumentationName,instrumentationVersion,config){super(instrumentationName,instrumentationVersion,config);let modules=this.init();modules&&!Array.isArray(modules)&&(modules=[modules]),this._modules=modules||[],this._config.enabled&&this.enable()}_wrap=(moduleExports,name$2,wrapper)=>{if((0,utils_1$1.isWrapped)(moduleExports[name$2])&&this._unwrap(moduleExports,name$2),util_1.types.isProxy(moduleExports)){let wrapped=(0,shimmer_1.wrap)(Object.assign({},moduleExports),name$2,wrapper);return Object.defineProperty(moduleExports,name$2,{value:wrapped}),wrapped}else return(0,shimmer_1.wrap)(moduleExports,name$2,wrapper)};_unwrap=(moduleExports,name$2)=>util_1.types.isProxy(moduleExports)?Object.defineProperty(moduleExports,name$2,{value:moduleExports[name$2]}):(0,shimmer_1.unwrap)(moduleExports,name$2);_massWrap=(moduleExportsArray,names,wrapper)=>{if(moduleExportsArray)Array.isArray(moduleExportsArray)||(moduleExportsArray=[moduleExportsArray]);else{api_1$10.diag.error(`must provide one or more modules to patch`);return}if(!(names&&Array.isArray(names))){api_1$10.diag.error(`must provide one or more functions to wrap on modules`);return}moduleExportsArray.forEach(moduleExports=>{names.forEach(name$2=>{this._wrap(moduleExports,name$2,wrapper)})})};_massUnwrap=(moduleExportsArray,names)=>{if(moduleExportsArray)Array.isArray(moduleExportsArray)||(moduleExportsArray=[moduleExportsArray]);else{api_1$10.diag.error(`must provide one or more modules to patch`);return}if(!(names&&Array.isArray(names))){api_1$10.diag.error(`must provide one or more functions to wrap on modules`);return}moduleExportsArray.forEach(moduleExports=>{names.forEach(name$2=>{this._unwrap(moduleExports,name$2)})})};_warnOnPreloadedModules(){this._modules.forEach(module$1=>{let{name:name$2}=module$1;try{let resolvedModule=__require.resolve(name$2);__require.cache[resolvedModule]&&this._diag.warn(`Module ${name$2} has been loaded before ${this.instrumentationName} so it might not work, please initialize it before requiring ${name$2}`)}catch{}})}_extractPackageVersion(baseDir){try{let json=(0,fs_1.readFileSync)(path.join(baseDir,`package.json`),{encoding:`utf8`}),version=JSON.parse(json).version;return typeof version==`string`?version:void 0}catch{api_1$10.diag.warn(`Failed extracting version`,baseDir)}}_onRequire(module$1,exports$1,name$2,baseDir){if(!baseDir)return typeof module$1.patch==`function`&&(module$1.moduleExports=exports$1,this._enabled)?(this._diag.debug(`Applying instrumentation patch for nodejs core module on require hook`,{module:module$1.name}),module$1.patch(exports$1)):exports$1;let version=this._extractPackageVersion(baseDir);if(module$1.moduleVersion=version,module$1.name===name$2)return isSupported(module$1.supportedVersions,version,module$1.includePrerelease)&&typeof module$1.patch==`function`&&(module$1.moduleExports=exports$1,this._enabled)?(this._diag.debug(`Applying instrumentation patch for module on require hook`,{module:module$1.name,version:module$1.moduleVersion,baseDir}),module$1.patch(exports$1,module$1.moduleVersion)):exports$1;let files=module$1.files??[],normalizedName=path.normalize(name$2);return files.filter(f=>f.name===normalizedName).filter(f=>isSupported(f.supportedVersions,version,module$1.includePrerelease)).reduce((patchedExports,file)=>(file.moduleExports=patchedExports,this._enabled?(this._diag.debug(`Applying instrumentation patch for nodejs module file on require hook`,{module:module$1.name,version:module$1.moduleVersion,fileName:file.name,baseDir}),file.patch(patchedExports,module$1.moduleVersion)):patchedExports),exports$1)}enable(){if(!this._enabled){if(this._enabled=!0,this._hooks.length>0){for(let module$1 of this._modules){typeof module$1.patch==`function`&&module$1.moduleExports&&(this._diag.debug(`Applying instrumentation patch for nodejs module on instrumentation enabled`,{module:module$1.name,version:module$1.moduleVersion}),module$1.patch(module$1.moduleExports,module$1.moduleVersion));for(let file of module$1.files)file.moduleExports&&(this._diag.debug(`Applying instrumentation patch for nodejs module file on instrumentation enabled`,{module:module$1.name,version:module$1.moduleVersion,fileName:file.name}),file.patch(file.moduleExports,module$1.moduleVersion))}return}this._warnOnPreloadedModules();for(let module$1 of this._modules){let hookFn=(exports$1,name$2,baseDir)=>{if(!baseDir&&path.isAbsolute(name$2)){let parsedPath=path.parse(name$2);name$2=parsedPath.name,baseDir=parsedPath.dir}return this._onRequire(module$1,exports$1,name$2,baseDir)},onRequire=(exports$1,name$2,baseDir)=>this._onRequire(module$1,exports$1,name$2,baseDir),hook=path.isAbsolute(module$1.name)?new require_in_the_middle_1.Hook([module$1.name],{internals:!0},onRequire):this._requireInTheMiddleSingleton.register(module$1.name,onRequire);this._hooks.push(hook);let esmHook=new import_in_the_middle_1.Hook([module$1.name],{internals:!1},hookFn);this._hooks.push(esmHook)}}}disable(){if(this._enabled){this._enabled=!1;for(let module$1 of this._modules){typeof module$1.unpatch==`function`&&module$1.moduleExports&&(this._diag.debug(`Removing instrumentation patch for nodejs module on instrumentation disabled`,{module:module$1.name,version:module$1.moduleVersion}),module$1.unpatch(module$1.moduleExports,module$1.moduleVersion));for(let file of module$1.files)file.moduleExports&&(this._diag.debug(`Removing instrumentation patch for nodejs module file on instrumentation disabled`,{module:module$1.name,version:module$1.moduleVersion,fileName:file.name}),file.unpatch(file.moduleExports,module$1.moduleVersion))}}}isEnabled(){return this._enabled}};function isSupported(supportedVersions,version,includePrerelease){return version===void 0?supportedVersions.includes(`*`):supportedVersions.some(supportedVersion=>(0,semver_1.satisfies)(version,supportedVersion,{includePrerelease}))}})),require_normalize=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.normalize=void 0;var path_1=__require(`path`);Object.defineProperty(exports,`normalize`,{enumerable:!0,get:function(){return path_1.normalize}})})),require_node$1=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.normalize=exports.InstrumentationBase=void 0;var instrumentation_1$1=require_instrumentation();Object.defineProperty(exports,`InstrumentationBase`,{enumerable:!0,get:function(){return instrumentation_1$1.InstrumentationBase}});var normalize_1=require_normalize();Object.defineProperty(exports,`normalize`,{enumerable:!0,get:function(){return normalize_1.normalize}})})),require_platform$1=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.normalize=exports.InstrumentationBase=void 0;var node_1$1=require_node$1();Object.defineProperty(exports,`InstrumentationBase`,{enumerable:!0,get:function(){return node_1$1.InstrumentationBase}}),Object.defineProperty(exports,`normalize`,{enumerable:!0,get:function(){return node_1$1.normalize}})})),require_instrumentationNodeModuleDefinition=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.InstrumentationNodeModuleDefinition=class{name;supportedVersions;patch;unpatch;files;constructor(name$2,supportedVersions,patch,unpatch,files){this.name=name$2,this.supportedVersions=supportedVersions,this.patch=patch,this.unpatch=unpatch,this.files=files||[]}}})),require_instrumentationNodeModuleFile=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let index_1$1=require_platform$1();exports.InstrumentationNodeModuleFile=class{supportedVersions;patch;unpatch;name;constructor(name$2,supportedVersions,patch,unpatch){this.supportedVersions=supportedVersions,this.patch=patch,this.unpatch=unpatch,this.name=(0,index_1$1.normalize)(name$2)}}})),require_semconvStability=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.semconvStabilityFromStr=exports.SemconvStability=void 0;var SemconvStability;(function(SemconvStability$1){SemconvStability$1[SemconvStability$1.STABLE=1]=`STABLE`,SemconvStability$1[SemconvStability$1.OLD=2]=`OLD`,SemconvStability$1[SemconvStability$1.DUPLICATE=3]=`DUPLICATE`})(SemconvStability=exports.SemconvStability||={});function semconvStabilityFromStr(namespace,str){let semconvStability=SemconvStability.OLD,entries=str?.split(`,`).map(v$1=>v$1.trim()).filter(s$1=>s$1!==``);for(let entry of entries??[])if(entry.toLowerCase()===namespace+`/dup`){semconvStability=SemconvStability.DUPLICATE;break}else entry.toLowerCase()===namespace&&(semconvStability=SemconvStability.STABLE);return semconvStability}exports.semconvStabilityFromStr=semconvStabilityFromStr})),require_src$4=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.semconvStabilityFromStr=exports.SemconvStability=exports.safeExecuteInTheMiddleAsync=exports.safeExecuteInTheMiddle=exports.isWrapped=exports.InstrumentationNodeModuleFile=exports.InstrumentationNodeModuleDefinition=exports.InstrumentationBase=exports.registerInstrumentations=void 0;var autoLoader_1=require_autoLoader();Object.defineProperty(exports,`registerInstrumentations`,{enumerable:!0,get:function(){return autoLoader_1.registerInstrumentations}});var index_1=require_platform$1();Object.defineProperty(exports,`InstrumentationBase`,{enumerable:!0,get:function(){return index_1.InstrumentationBase}});var instrumentationNodeModuleDefinition_1=require_instrumentationNodeModuleDefinition();Object.defineProperty(exports,`InstrumentationNodeModuleDefinition`,{enumerable:!0,get:function(){return instrumentationNodeModuleDefinition_1.InstrumentationNodeModuleDefinition}});var instrumentationNodeModuleFile_1=require_instrumentationNodeModuleFile();Object.defineProperty(exports,`InstrumentationNodeModuleFile`,{enumerable:!0,get:function(){return instrumentationNodeModuleFile_1.InstrumentationNodeModuleFile}});var utils_1=require_utils();Object.defineProperty(exports,`isWrapped`,{enumerable:!0,get:function(){return utils_1.isWrapped}}),Object.defineProperty(exports,`safeExecuteInTheMiddle`,{enumerable:!0,get:function(){return utils_1.safeExecuteInTheMiddle}}),Object.defineProperty(exports,`safeExecuteInTheMiddleAsync`,{enumerable:!0,get:function(){return utils_1.safeExecuteInTheMiddleAsync}});var semconvStability_1=require_semconvStability();Object.defineProperty(exports,`SemconvStability`,{enumerable:!0,get:function(){return semconvStability_1.SemconvStability}}),Object.defineProperty(exports,`semconvStabilityFromStr`,{enumerable:!0,get:function(){return semconvStability_1.semconvStabilityFromStr}})})),require_version=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.PACKAGE_VERSION=`0.17.0`,exports.PACKAGE_NAME=`@opentelemetry/instrumentation-undici`})),require_undici=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let diagch=__require(`diagnostics_channel`),url_1=__require(`url`),instrumentation_1=require_src$4(),api_1$9=(init_esm$5(),__toCommonJS$3(esm_exports$3)),core_1$12=require_src$11(),semantic_conventions_1$1=(init_esm$1(),__toCommonJS$3(esm_exports$1)),version_1=require_version();exports.UndiciInstrumentation=class extends instrumentation_1.InstrumentationBase{_recordFromReq=new WeakMap;constructor(config={}){super(version_1.PACKAGE_NAME,version_1.PACKAGE_VERSION,config)}init(){}disable(){super.disable(),this._channelSubs.forEach(sub=>sub.unsubscribe()),this._channelSubs.length=0}enable(){super.enable(),this._channelSubs=this._channelSubs||[],!(this._channelSubs.length>0)&&(this.subscribeToChannel(`undici:request:create`,this.onRequestCreated.bind(this)),this.subscribeToChannel(`undici:client:sendHeaders`,this.onRequestHeaders.bind(this)),this.subscribeToChannel(`undici:request:headers`,this.onResponseHeaders.bind(this)),this.subscribeToChannel(`undici:request:trailers`,this.onDone.bind(this)),this.subscribeToChannel(`undici:request:error`,this.onError.bind(this)))}_updateMetricInstruments(){this._httpClientDurationHistogram=this.meter.createHistogram(semantic_conventions_1$1.METRIC_HTTP_CLIENT_REQUEST_DURATION,{description:`Measures the duration of outbound HTTP requests.`,unit:`s`,valueType:api_1$9.ValueType.DOUBLE,advice:{explicitBucketBoundaries:[.005,.01,.025,.05,.075,.1,.25,.5,.75,1,2.5,5,7.5,10]}})}subscribeToChannel(diagnosticChannel,onMessage){let[major,minor]=process.version.replace(`v`,``).split(`.`).map(n=>Number(n)),useNewSubscribe=major>18||major===18&&minor>=19,unsubscribe;if(useNewSubscribe)diagch.subscribe?.(diagnosticChannel,onMessage),unsubscribe=()=>diagch.unsubscribe?.(diagnosticChannel,onMessage);else{let channel=diagch.channel(diagnosticChannel);channel.subscribe(onMessage),unsubscribe=()=>channel.unsubscribe(onMessage)}this._channelSubs.push({name:diagnosticChannel,unsubscribe})}parseRequestHeaders(request$2){let result=new Map;if(Array.isArray(request$2.headers))for(let i$1=0;i$1<request$2.headers.length;i$1+=2){let key=request$2.headers[i$1],value=request$2.headers[i$1+1];typeof key==`string`&&result.set(key.toLowerCase(),value)}else if(typeof request$2.headers==`string`){let headers=request$2.headers.split(`\r
|
|
48
|
-
`);for(let line of headers){if(!line)continue;let colonIndex=line.indexOf(`:`);if(colonIndex===-1)continue;let key=line.substring(0,colonIndex).toLowerCase(),value=line.substring(colonIndex+1).trim(),allValues=result.get(key);allValues&&Array.isArray(allValues)?allValues.push(value):allValues?result.set(key,[allValues,value]):result.set(key,value)}}return result}onRequestCreated({request:request$2}){let config=this.getConfig(),enabled=config.enabled!==!1;if((0,instrumentation_1.safeExecuteInTheMiddle)(()=>!enabled||request$2.method===`CONNECT`||config.ignoreRequestHook?.(request$2),e=>e&&this._diag.error(`caught ignoreRequestHook error: `,e),!0))return;let startTime=(0,core_1$12.hrTime)(),requestUrl;try{requestUrl=new url_1.URL(request$2.path,request$2.origin)}catch(err){this._diag.warn(`could not determine url.full:`,err);return}let urlScheme=requestUrl.protocol.replace(`:`,``),requestMethod=this.getRequestMethod(request$2.method),attributes={[semantic_conventions_1$1.ATTR_HTTP_REQUEST_METHOD]:requestMethod,[semantic_conventions_1$1.ATTR_HTTP_REQUEST_METHOD_ORIGINAL]:request$2.method,[semantic_conventions_1$1.ATTR_URL_FULL]:requestUrl.toString(),[semantic_conventions_1$1.ATTR_URL_PATH]:requestUrl.pathname,[semantic_conventions_1$1.ATTR_URL_QUERY]:requestUrl.search,[semantic_conventions_1$1.ATTR_URL_SCHEME]:urlScheme},schemePorts={https:`443`,http:`80`},serverAddress=requestUrl.hostname,serverPort=requestUrl.port||schemePorts[urlScheme];attributes[semantic_conventions_1$1.ATTR_SERVER_ADDRESS]=serverAddress,serverPort&&!isNaN(Number(serverPort))&&(attributes[semantic_conventions_1$1.ATTR_SERVER_PORT]=Number(serverPort));let userAgentValues=this.parseRequestHeaders(request$2).get(`user-agent`);if(userAgentValues){let userAgent=Array.isArray(userAgentValues)?userAgentValues[userAgentValues.length-1]:userAgentValues;attributes[semantic_conventions_1$1.ATTR_USER_AGENT_ORIGINAL]=userAgent}let hookAttributes=(0,instrumentation_1.safeExecuteInTheMiddle)(()=>config.startSpanHook?.(request$2),e=>e&&this._diag.error(`caught startSpanHook error: `,e),!0);hookAttributes&&Object.entries(hookAttributes).forEach(([key,val])=>{attributes[key]=val});let activeCtx=api_1$9.context.active(),currentSpan=api_1$9.trace.getSpan(activeCtx),span;span=config.requireParentforSpans&&(!currentSpan||!api_1$9.trace.isSpanContextValid(currentSpan.spanContext()))?api_1$9.trace.wrapSpanContext(api_1$9.INVALID_SPAN_CONTEXT):this.tracer.startSpan(requestMethod===`_OTHER`?`HTTP`:requestMethod,{kind:api_1$9.SpanKind.CLIENT,attributes},activeCtx),(0,instrumentation_1.safeExecuteInTheMiddle)(()=>config.requestHook?.(span,request$2),e=>e&&this._diag.error(`caught requestHook error: `,e),!0);let requestContext=api_1$9.trace.setSpan(api_1$9.context.active(),span),addedHeaders={};api_1$9.propagation.inject(requestContext,addedHeaders);let headerEntries=Object.entries(addedHeaders);for(let i$1=0;i$1<headerEntries.length;i$1++){let[k,v$1]=headerEntries[i$1];typeof request$2.addHeader==`function`?request$2.addHeader(k,v$1):typeof request$2.headers==`string`?request$2.headers+=`${k}: ${v$1}\r\n`:Array.isArray(request$2.headers)&&request$2.headers.push(k,v$1)}this._recordFromReq.set(request$2,{span,attributes,startTime})}onRequestHeaders({request:request$2,socket}){let record=this._recordFromReq.get(request$2);if(!record)return;let config=this.getConfig(),{span}=record,{remoteAddress,remotePort}=socket,spanAttributes={[semantic_conventions_1$1.ATTR_NETWORK_PEER_ADDRESS]:remoteAddress,[semantic_conventions_1$1.ATTR_NETWORK_PEER_PORT]:remotePort};if(config.headersToSpanAttributes?.requestHeaders){let headersToAttribs=new Set(config.headersToSpanAttributes.requestHeaders.map(n=>n.toLowerCase())),headersMap=this.parseRequestHeaders(request$2);for(let[name$2,value]of headersMap.entries())if(headersToAttribs.has(name$2)){let attrValue=Array.isArray(value)?value.join(`, `):value;spanAttributes[`http.request.header.${name$2}`]=attrValue}}span.setAttributes(spanAttributes)}onResponseHeaders({request:request$2,response}){let record=this._recordFromReq.get(request$2);if(!record)return;let{span,attributes}=record,spanAttributes={[semantic_conventions_1$1.ATTR_HTTP_RESPONSE_STATUS_CODE]:response.statusCode},config=this.getConfig();(0,instrumentation_1.safeExecuteInTheMiddle)(()=>config.responseHook?.(span,{request:request$2,response}),e=>e&&this._diag.error(`caught responseHook error: `,e),!0);let headersToAttribs=new Set;config.headersToSpanAttributes?.responseHeaders&&config.headersToSpanAttributes?.responseHeaders.forEach(name$2=>headersToAttribs.add(name$2.toLowerCase()));for(let idx=0;idx<response.headers.length;idx+=2){let name$2=response.headers[idx].toString().toLowerCase(),value=response.headers[idx+1];if(headersToAttribs.has(name$2)&&(spanAttributes[`http.response.header.${name$2}`]=value.toString()),name$2===`content-length`){let contentLength=Number(value.toString());isNaN(contentLength)||(spanAttributes[`http.response.header.content-length`]=contentLength)}}span.setAttributes(spanAttributes),span.setStatus({code:response.statusCode>=400?api_1$9.SpanStatusCode.ERROR:api_1$9.SpanStatusCode.UNSET}),record.attributes=Object.assign(attributes,spanAttributes)}onDone({request:request$2}){let record=this._recordFromReq.get(request$2);if(!record)return;let{span,attributes,startTime}=record;span.end(),this._recordFromReq.delete(request$2),this.recordRequestDuration(attributes,startTime)}onError({request:request$2,error}){let record=this._recordFromReq.get(request$2);if(!record)return;let{span,attributes,startTime}=record;span.recordException(error),span.setStatus({code:api_1$9.SpanStatusCode.ERROR,message:error.message}),span.end(),this._recordFromReq.delete(request$2),attributes[semantic_conventions_1$1.ATTR_ERROR_TYPE]=error.message,this.recordRequestDuration(attributes,startTime)}recordRequestDuration(attributes,startTime){let metricsAttributes={};[semantic_conventions_1$1.ATTR_HTTP_RESPONSE_STATUS_CODE,semantic_conventions_1$1.ATTR_HTTP_REQUEST_METHOD,semantic_conventions_1$1.ATTR_SERVER_ADDRESS,semantic_conventions_1$1.ATTR_SERVER_PORT,semantic_conventions_1$1.ATTR_URL_SCHEME,semantic_conventions_1$1.ATTR_ERROR_TYPE].forEach(key=>{key in attributes&&(metricsAttributes[key]=attributes[key])});let durationSeconds=(0,core_1$12.hrTimeToMilliseconds)((0,core_1$12.hrTimeDuration)(startTime,(0,core_1$12.hrTime)()))/1e3;this._httpClientDurationHistogram.record(durationSeconds,metricsAttributes)}getRequestMethod(original){return original.toUpperCase()in{CONNECT:!0,OPTIONS:!0,HEAD:!0,GET:!0,POST:!0,PUT:!0,PATCH:!0,DELETE:!0,TRACE:!0}?original.toUpperCase():`_OTHER`}}})),require_src$3=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.UndiciInstrumentation=void 0;var undici_1=require_undici();Object.defineProperty(exports,`UndiciInstrumentation`,{enumerable:!0,get:function(){return undici_1.UndiciInstrumentation}})})),require_enums=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.ExceptionEventName=`exception`})),require_Span=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$8=(init_esm$5(),__toCommonJS$3(esm_exports$3)),core_1$11=require_src$11(),semantic_conventions_1=(init_esm$1(),__toCommonJS$3(esm_exports$1)),enums_1=require_enums();exports.SpanImpl=class{_spanContext;kind;parentSpanContext;attributes={};links=[];events=[];startTime;resource;instrumentationScope;_droppedAttributesCount=0;_droppedEventsCount=0;_droppedLinksCount=0;name;status={code:api_1$8.SpanStatusCode.UNSET};endTime=[0,0];_ended=!1;_duration=[-1,-1];_spanProcessor;_spanLimits;_attributeValueLengthLimit;_performanceStartTime;_performanceOffset;_startTimeProvided;constructor(opts){let now=Date.now();this._spanContext=opts.spanContext,this._performanceStartTime=core_1$11.otperformance.now(),this._performanceOffset=now-(this._performanceStartTime+(0,core_1$11.getTimeOrigin)()),this._startTimeProvided=opts.startTime!=null,this._spanLimits=opts.spanLimits,this._attributeValueLengthLimit=this._spanLimits.attributeValueLengthLimit||0,this._spanProcessor=opts.spanProcessor,this.name=opts.name,this.parentSpanContext=opts.parentSpanContext,this.kind=opts.kind,this.links=opts.links||[],this.startTime=this._getTime(opts.startTime??now),this.resource=opts.resource,this.instrumentationScope=opts.scope,opts.attributes!=null&&this.setAttributes(opts.attributes),this._spanProcessor.onStart(this,opts.context)}spanContext(){return this._spanContext}setAttribute(key,value){if(value==null||this._isSpanEnded())return this;if(key.length===0)return api_1$8.diag.warn(`Invalid attribute key: ${key}`),this;if(!(0,core_1$11.isAttributeValue)(value))return api_1$8.diag.warn(`Invalid attribute value set for key: ${key}`),this;let{attributeCountLimit}=this._spanLimits;return attributeCountLimit!==void 0&&Object.keys(this.attributes).length>=attributeCountLimit&&!Object.prototype.hasOwnProperty.call(this.attributes,key)?(this._droppedAttributesCount++,this):(this.attributes[key]=this._truncateToSize(value),this)}setAttributes(attributes){for(let[k,v$1]of Object.entries(attributes))this.setAttribute(k,v$1);return this}addEvent(name$2,attributesOrStartTime,timeStamp){if(this._isSpanEnded())return this;let{eventCountLimit}=this._spanLimits;if(eventCountLimit===0)return api_1$8.diag.warn(`No events allowed.`),this._droppedEventsCount++,this;eventCountLimit!==void 0&&this.events.length>=eventCountLimit&&(this._droppedEventsCount===0&&api_1$8.diag.debug(`Dropping extra events.`),this.events.shift(),this._droppedEventsCount++),(0,core_1$11.isTimeInput)(attributesOrStartTime)&&((0,core_1$11.isTimeInput)(timeStamp)||(timeStamp=attributesOrStartTime),attributesOrStartTime=void 0);let attributes=(0,core_1$11.sanitizeAttributes)(attributesOrStartTime);return this.events.push({name:name$2,attributes,time:this._getTime(timeStamp),droppedAttributesCount:0}),this}addLink(link){return this.links.push(link),this}addLinks(links){return this.links.push(...links),this}setStatus(status){return this._isSpanEnded()?this:(this.status={...status},this.status.message!=null&&typeof status.message!=`string`&&(api_1$8.diag.warn(`Dropping invalid status.message of type '${typeof status.message}', expected 'string'`),delete this.status.message),this)}updateName(name$2){return this._isSpanEnded()||(this.name=name$2),this}end(endTime){if(this._isSpanEnded()){api_1$8.diag.error(`${this.name} ${this._spanContext.traceId}-${this._spanContext.spanId} - You can only call end() on a span once.`);return}this._ended=!0,this.endTime=this._getTime(endTime),this._duration=(0,core_1$11.hrTimeDuration)(this.startTime,this.endTime),this._duration[0]<0&&(api_1$8.diag.warn(`Inconsistent start and end time, startTime > endTime. Setting span duration to 0ms.`,this.startTime,this.endTime),this.endTime=this.startTime.slice(),this._duration=[0,0]),this._droppedEventsCount>0&&api_1$8.diag.warn(`Dropped ${this._droppedEventsCount} events because eventCountLimit reached`),this._spanProcessor.onEnd(this)}_getTime(inp){if(typeof inp==`number`&&inp<=core_1$11.otperformance.now())return(0,core_1$11.hrTime)(inp+this._performanceOffset);if(typeof inp==`number`)return(0,core_1$11.millisToHrTime)(inp);if(inp instanceof Date)return(0,core_1$11.millisToHrTime)(inp.getTime());if((0,core_1$11.isTimeInputHrTime)(inp))return inp;if(this._startTimeProvided)return(0,core_1$11.millisToHrTime)(Date.now());let msDuration=core_1$11.otperformance.now()-this._performanceStartTime;return(0,core_1$11.addHrTimes)(this.startTime,(0,core_1$11.millisToHrTime)(msDuration))}isRecording(){return this._ended===!1}recordException(exception,time){let attributes={};typeof exception==`string`?attributes[semantic_conventions_1.ATTR_EXCEPTION_MESSAGE]=exception:exception&&(exception.code?attributes[semantic_conventions_1.ATTR_EXCEPTION_TYPE]=exception.code.toString():exception.name&&(attributes[semantic_conventions_1.ATTR_EXCEPTION_TYPE]=exception.name),exception.message&&(attributes[semantic_conventions_1.ATTR_EXCEPTION_MESSAGE]=exception.message),exception.stack&&(attributes[semantic_conventions_1.ATTR_EXCEPTION_STACKTRACE]=exception.stack)),attributes[semantic_conventions_1.ATTR_EXCEPTION_TYPE]||attributes[semantic_conventions_1.ATTR_EXCEPTION_MESSAGE]?this.addEvent(enums_1.ExceptionEventName,attributes,time):api_1$8.diag.warn(`Failed to record an exception ${exception}`)}get duration(){return this._duration}get ended(){return this._ended}get droppedAttributesCount(){return this._droppedAttributesCount}get droppedEventsCount(){return this._droppedEventsCount}get droppedLinksCount(){return this._droppedLinksCount}_isSpanEnded(){if(this._ended){let error=Error(`Operation attempted on ended Span {traceId: ${this._spanContext.traceId}, spanId: ${this._spanContext.spanId}}`);api_1$8.diag.warn(`Cannot execute the operation on ended Span {traceId: ${this._spanContext.traceId}, spanId: ${this._spanContext.spanId}}`,error)}return this._ended}_truncateToLimitUtil(value,limit){return value.length<=limit?value:value.substring(0,limit)}_truncateToSize(value){let limit=this._attributeValueLengthLimit;return limit<=0?(api_1$8.diag.warn(`Attribute value limit must be positive, got ${limit}`),value):typeof value==`string`?this._truncateToLimitUtil(value,limit):Array.isArray(value)?value.map(val=>typeof val==`string`?this._truncateToLimitUtil(val,limit):val):value}}})),require_Sampler=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.SamplingDecision=void 0,(function(SamplingDecision){SamplingDecision[SamplingDecision.NOT_RECORD=0]=`NOT_RECORD`,SamplingDecision[SamplingDecision.RECORD=1]=`RECORD`,SamplingDecision[SamplingDecision.RECORD_AND_SAMPLED=2]=`RECORD_AND_SAMPLED`})(exports.SamplingDecision||={})})),require_AlwaysOffSampler=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let Sampler_1$3=require_Sampler();exports.AlwaysOffSampler=class{shouldSample(){return{decision:Sampler_1$3.SamplingDecision.NOT_RECORD}}toString(){return`AlwaysOffSampler`}}})),require_AlwaysOnSampler=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let Sampler_1$2=require_Sampler();exports.AlwaysOnSampler=class{shouldSample(){return{decision:Sampler_1$2.SamplingDecision.RECORD_AND_SAMPLED}}toString(){return`AlwaysOnSampler`}}})),require_ParentBasedSampler=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$7=(init_esm$5(),__toCommonJS$3(esm_exports$3)),core_1$10=require_src$11(),AlwaysOffSampler_1$2=require_AlwaysOffSampler(),AlwaysOnSampler_1$2=require_AlwaysOnSampler();exports.ParentBasedSampler=class{_root;_remoteParentSampled;_remoteParentNotSampled;_localParentSampled;_localParentNotSampled;constructor(config){this._root=config.root,this._root||=((0,core_1$10.globalErrorHandler)(Error(`ParentBasedSampler must have a root sampler configured`)),new AlwaysOnSampler_1$2.AlwaysOnSampler),this._remoteParentSampled=config.remoteParentSampled??new AlwaysOnSampler_1$2.AlwaysOnSampler,this._remoteParentNotSampled=config.remoteParentNotSampled??new AlwaysOffSampler_1$2.AlwaysOffSampler,this._localParentSampled=config.localParentSampled??new AlwaysOnSampler_1$2.AlwaysOnSampler,this._localParentNotSampled=config.localParentNotSampled??new AlwaysOffSampler_1$2.AlwaysOffSampler}shouldSample(context,traceId,spanName,spanKind,attributes,links){let parentContext=api_1$7.trace.getSpanContext(context);return!parentContext||!(0,api_1$7.isSpanContextValid)(parentContext)?this._root.shouldSample(context,traceId,spanName,spanKind,attributes,links):parentContext.isRemote?parentContext.traceFlags&api_1$7.TraceFlags.SAMPLED?this._remoteParentSampled.shouldSample(context,traceId,spanName,spanKind,attributes,links):this._remoteParentNotSampled.shouldSample(context,traceId,spanName,spanKind,attributes,links):parentContext.traceFlags&api_1$7.TraceFlags.SAMPLED?this._localParentSampled.shouldSample(context,traceId,spanName,spanKind,attributes,links):this._localParentNotSampled.shouldSample(context,traceId,spanName,spanKind,attributes,links)}toString(){return`ParentBased{root=${this._root.toString()}, remoteParentSampled=${this._remoteParentSampled.toString()}, remoteParentNotSampled=${this._remoteParentNotSampled.toString()}, localParentSampled=${this._localParentSampled.toString()}, localParentNotSampled=${this._localParentNotSampled.toString()}}`}}})),require_TraceIdRatioBasedSampler=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$6=(init_esm$5(),__toCommonJS$3(esm_exports$3)),Sampler_1$1=require_Sampler();exports.TraceIdRatioBasedSampler=class{_ratio;_upperBound;constructor(_ratio=0){this._ratio=_ratio,this._ratio=this._normalize(_ratio),this._upperBound=Math.floor(this._ratio*4294967295)}shouldSample(context,traceId){return{decision:(0,api_1$6.isValidTraceId)(traceId)&&this._accumulate(traceId)<this._upperBound?Sampler_1$1.SamplingDecision.RECORD_AND_SAMPLED:Sampler_1$1.SamplingDecision.NOT_RECORD}}toString(){return`TraceIdRatioBased{${this._ratio}}`}_normalize(ratio){return typeof ratio!=`number`||isNaN(ratio)?0:ratio>=1?1:ratio<=0?0:ratio}_accumulate(traceId){let accumulation=0;for(let i$1=0;i$1<traceId.length/8;i$1++){let pos=i$1*8,part=parseInt(traceId.slice(pos,pos+8),16);accumulation=(accumulation^part)>>>0}return accumulation}}})),require_config=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$5=(init_esm$5(),__toCommonJS$3(esm_exports$3)),core_1$9=require_src$11(),AlwaysOffSampler_1$1=require_AlwaysOffSampler(),AlwaysOnSampler_1$1=require_AlwaysOnSampler(),ParentBasedSampler_1$1=require_ParentBasedSampler(),TraceIdRatioBasedSampler_1$1=require_TraceIdRatioBasedSampler();var TracesSamplerValues;(function(TracesSamplerValues$1){TracesSamplerValues$1.AlwaysOff=`always_off`,TracesSamplerValues$1.AlwaysOn=`always_on`,TracesSamplerValues$1.ParentBasedAlwaysOff=`parentbased_always_off`,TracesSamplerValues$1.ParentBasedAlwaysOn=`parentbased_always_on`,TracesSamplerValues$1.ParentBasedTraceIdRatio=`parentbased_traceidratio`,TracesSamplerValues$1.TraceIdRatio=`traceidratio`})(TracesSamplerValues||={});let DEFAULT_RATIO=1;function loadDefaultConfig(){return{sampler:buildSamplerFromEnv(),forceFlushTimeoutMillis:3e4,generalLimits:{attributeValueLengthLimit:(0,core_1$9.getNumberFromEnv)(`OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT`)??1/0,attributeCountLimit:(0,core_1$9.getNumberFromEnv)(`OTEL_ATTRIBUTE_COUNT_LIMIT`)??128},spanLimits:{attributeValueLengthLimit:(0,core_1$9.getNumberFromEnv)(`OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT`)??1/0,attributeCountLimit:(0,core_1$9.getNumberFromEnv)(`OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT`)??128,linkCountLimit:(0,core_1$9.getNumberFromEnv)(`OTEL_SPAN_LINK_COUNT_LIMIT`)??128,eventCountLimit:(0,core_1$9.getNumberFromEnv)(`OTEL_SPAN_EVENT_COUNT_LIMIT`)??128,attributePerEventCountLimit:(0,core_1$9.getNumberFromEnv)(`OTEL_SPAN_ATTRIBUTE_PER_EVENT_COUNT_LIMIT`)??128,attributePerLinkCountLimit:(0,core_1$9.getNumberFromEnv)(`OTEL_SPAN_ATTRIBUTE_PER_LINK_COUNT_LIMIT`)??128}}}exports.loadDefaultConfig=loadDefaultConfig;function buildSamplerFromEnv(){let sampler=(0,core_1$9.getStringFromEnv)(`OTEL_TRACES_SAMPLER`)??TracesSamplerValues.ParentBasedAlwaysOn;switch(sampler){case TracesSamplerValues.AlwaysOn:return new AlwaysOnSampler_1$1.AlwaysOnSampler;case TracesSamplerValues.AlwaysOff:return new AlwaysOffSampler_1$1.AlwaysOffSampler;case TracesSamplerValues.ParentBasedAlwaysOn:return new ParentBasedSampler_1$1.ParentBasedSampler({root:new AlwaysOnSampler_1$1.AlwaysOnSampler});case TracesSamplerValues.ParentBasedAlwaysOff:return new ParentBasedSampler_1$1.ParentBasedSampler({root:new AlwaysOffSampler_1$1.AlwaysOffSampler});case TracesSamplerValues.TraceIdRatio:return new TraceIdRatioBasedSampler_1$1.TraceIdRatioBasedSampler(getSamplerProbabilityFromEnv());case TracesSamplerValues.ParentBasedTraceIdRatio:return new ParentBasedSampler_1$1.ParentBasedSampler({root:new TraceIdRatioBasedSampler_1$1.TraceIdRatioBasedSampler(getSamplerProbabilityFromEnv())});default:return api_1$5.diag.error(`OTEL_TRACES_SAMPLER value "${sampler}" invalid, defaulting to "${TracesSamplerValues.ParentBasedAlwaysOn}".`),new ParentBasedSampler_1$1.ParentBasedSampler({root:new AlwaysOnSampler_1$1.AlwaysOnSampler})}}exports.buildSamplerFromEnv=buildSamplerFromEnv;function getSamplerProbabilityFromEnv(){let probability=(0,core_1$9.getNumberFromEnv)(`OTEL_TRACES_SAMPLER_ARG`);return probability==null?(api_1$5.diag.error(`OTEL_TRACES_SAMPLER_ARG is blank, defaulting to 1.`),1):probability<0||probability>1?(api_1$5.diag.error(`OTEL_TRACES_SAMPLER_ARG=${probability} was given, but it is out of range ([0..1]), defaulting to 1.`),1):probability}})),require_utility=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.reconfigureLimits=exports.mergeConfig=exports.DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT=exports.DEFAULT_ATTRIBUTE_COUNT_LIMIT=void 0;let config_1$1=require_config(),core_1$8=require_src$11();exports.DEFAULT_ATTRIBUTE_COUNT_LIMIT=128,exports.DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT=1/0;function mergeConfig(userConfig){let perInstanceDefaults={sampler:(0,config_1$1.buildSamplerFromEnv)()},DEFAULT_CONFIG=(0,config_1$1.loadDefaultConfig)(),target=Object.assign({},DEFAULT_CONFIG,perInstanceDefaults,userConfig);return target.generalLimits=Object.assign({},DEFAULT_CONFIG.generalLimits,userConfig.generalLimits||{}),target.spanLimits=Object.assign({},DEFAULT_CONFIG.spanLimits,userConfig.spanLimits||{}),target}exports.mergeConfig=mergeConfig;function reconfigureLimits(userConfig){let spanLimits=Object.assign({},userConfig.spanLimits);return spanLimits.attributeCountLimit=userConfig.spanLimits?.attributeCountLimit??userConfig.generalLimits?.attributeCountLimit??(0,core_1$8.getNumberFromEnv)(`OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT`)??(0,core_1$8.getNumberFromEnv)(`OTEL_ATTRIBUTE_COUNT_LIMIT`)??exports.DEFAULT_ATTRIBUTE_COUNT_LIMIT,spanLimits.attributeValueLengthLimit=userConfig.spanLimits?.attributeValueLengthLimit??userConfig.generalLimits?.attributeValueLengthLimit??(0,core_1$8.getNumberFromEnv)(`OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT`)??(0,core_1$8.getNumberFromEnv)(`OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT`)??exports.DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT,Object.assign({},userConfig,{spanLimits})}exports.reconfigureLimits=reconfigureLimits})),require_BatchSpanProcessorBase=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$4=(init_esm$5(),__toCommonJS$3(esm_exports$3)),core_1$7=require_src$11();exports.BatchSpanProcessorBase=class{_exporter;_maxExportBatchSize;_maxQueueSize;_scheduledDelayMillis;_exportTimeoutMillis;_isExporting=!1;_finishedSpans=[];_timer;_shutdownOnce;_droppedSpansCount=0;constructor(_exporter,config){this._exporter=_exporter,this._maxExportBatchSize=typeof config?.maxExportBatchSize==`number`?config.maxExportBatchSize:(0,core_1$7.getNumberFromEnv)(`OTEL_BSP_MAX_EXPORT_BATCH_SIZE`)??512,this._maxQueueSize=typeof config?.maxQueueSize==`number`?config.maxQueueSize:(0,core_1$7.getNumberFromEnv)(`OTEL_BSP_MAX_QUEUE_SIZE`)??2048,this._scheduledDelayMillis=typeof config?.scheduledDelayMillis==`number`?config.scheduledDelayMillis:(0,core_1$7.getNumberFromEnv)(`OTEL_BSP_SCHEDULE_DELAY`)??5e3,this._exportTimeoutMillis=typeof config?.exportTimeoutMillis==`number`?config.exportTimeoutMillis:(0,core_1$7.getNumberFromEnv)(`OTEL_BSP_EXPORT_TIMEOUT`)??3e4,this._shutdownOnce=new core_1$7.BindOnceFuture(this._shutdown,this),this._maxExportBatchSize>this._maxQueueSize&&(api_1$4.diag.warn(`BatchSpanProcessor: maxExportBatchSize must be smaller or equal to maxQueueSize, setting maxExportBatchSize to match maxQueueSize`),this._maxExportBatchSize=this._maxQueueSize)}forceFlush(){return this._shutdownOnce.isCalled?this._shutdownOnce.promise:this._flushAll()}onStart(_span,_parentContext){}onEnd(span){this._shutdownOnce.isCalled||(span.spanContext().traceFlags&api_1$4.TraceFlags.SAMPLED)!==0&&this._addToBuffer(span)}shutdown(){return this._shutdownOnce.call()}_shutdown(){return Promise.resolve().then(()=>this.onShutdown()).then(()=>this._flushAll()).then(()=>this._exporter.shutdown())}_addToBuffer(span){if(this._finishedSpans.length>=this._maxQueueSize){this._droppedSpansCount===0&&api_1$4.diag.debug(`maxQueueSize reached, dropping spans`),this._droppedSpansCount++;return}this._droppedSpansCount>0&&(api_1$4.diag.warn(`Dropped ${this._droppedSpansCount} spans because maxQueueSize reached`),this._droppedSpansCount=0),this._finishedSpans.push(span),this._maybeStartTimer()}_flushAll(){return new Promise((resolve$1,reject)=>{let promises$1=[],count=Math.ceil(this._finishedSpans.length/this._maxExportBatchSize);for(let i$1=0,j$1=count;i$1<j$1;i$1++)promises$1.push(this._flushOneBatch());Promise.all(promises$1).then(()=>{resolve$1()}).catch(reject)})}_flushOneBatch(){return this._clearTimer(),this._finishedSpans.length===0?Promise.resolve():new Promise((resolve$1,reject)=>{let timer=setTimeout(()=>{reject(Error(`Timeout`))},this._exportTimeoutMillis);api_1$4.context.with((0,core_1$7.suppressTracing)(api_1$4.context.active()),()=>{let spans;this._finishedSpans.length<=this._maxExportBatchSize?(spans=this._finishedSpans,this._finishedSpans=[]):spans=this._finishedSpans.splice(0,this._maxExportBatchSize);let doExport=()=>this._exporter.export(spans,result=>{clearTimeout(timer),result.code===core_1$7.ExportResultCode.SUCCESS?resolve$1():reject(result.error??Error(`BatchSpanProcessor: span export failed`))}),pendingResources=null;for(let i$1=0,len=spans.length;i$1<len;i$1++){let span=spans[i$1];span.resource.asyncAttributesPending&&span.resource.waitForAsyncAttributes&&(pendingResources??=[],pendingResources.push(span.resource.waitForAsyncAttributes()))}pendingResources===null?doExport():Promise.all(pendingResources).then(doExport,err=>{(0,core_1$7.globalErrorHandler)(err),reject(err)})})})}_maybeStartTimer(){if(this._isExporting)return;let flush=()=>{this._isExporting=!0,this._flushOneBatch().finally(()=>{this._isExporting=!1,this._finishedSpans.length>0&&(this._clearTimer(),this._maybeStartTimer())}).catch(e=>{this._isExporting=!1,(0,core_1$7.globalErrorHandler)(e)})};if(this._finishedSpans.length>=this._maxExportBatchSize)return flush();this._timer===void 0&&(this._timer=setTimeout(()=>flush(),this._scheduledDelayMillis),(0,core_1$7.unrefTimer)(this._timer))}_clearTimer(){this._timer!==void 0&&(clearTimeout(this._timer),this._timer=void 0)}}})),require_BatchSpanProcessor=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let BatchSpanProcessorBase_1=require_BatchSpanProcessorBase();exports.BatchSpanProcessor=class extends BatchSpanProcessorBase_1.BatchSpanProcessorBase{onShutdown(){}}})),require_RandomIdGenerator=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let SPAN_ID_BYTES=8,TRACE_ID_BYTES=16;exports.RandomIdGenerator=class{generateTraceId=getIdGenerator(16);generateSpanId=getIdGenerator(8)};let SHARED_BUFFER=Buffer.allocUnsafe(16);function getIdGenerator(bytes){return function(){for(let i$1=0;i$1<bytes/4;i$1++)SHARED_BUFFER.writeUInt32BE(Math.random()*2**32>>>0,i$1*4);for(let i$1=0;i$1<bytes&&!(SHARED_BUFFER[i$1]>0);i$1++)i$1===bytes-1&&(SHARED_BUFFER[bytes-1]=1);return SHARED_BUFFER.toString(`hex`,0,bytes)}}})),require_node=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.RandomIdGenerator=exports.BatchSpanProcessor=void 0;var BatchSpanProcessor_1=require_BatchSpanProcessor();Object.defineProperty(exports,`BatchSpanProcessor`,{enumerable:!0,get:function(){return BatchSpanProcessor_1.BatchSpanProcessor}});var RandomIdGenerator_1=require_RandomIdGenerator();Object.defineProperty(exports,`RandomIdGenerator`,{enumerable:!0,get:function(){return RandomIdGenerator_1.RandomIdGenerator}})})),require_platform=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.RandomIdGenerator=exports.BatchSpanProcessor=void 0;var node_1=require_node();Object.defineProperty(exports,`BatchSpanProcessor`,{enumerable:!0,get:function(){return node_1.BatchSpanProcessor}}),Object.defineProperty(exports,`RandomIdGenerator`,{enumerable:!0,get:function(){return node_1.RandomIdGenerator}})})),require_Tracer=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api$1=(init_esm$5(),__toCommonJS$3(esm_exports$3)),core_1$6=require_src$11(),Span_1=require_Span(),utility_1$1=require_utility(),platform_1$1=require_platform();exports.Tracer=class{_sampler;_generalLimits;_spanLimits;_idGenerator;instrumentationScope;_resource;_spanProcessor;constructor(instrumentationScope,config,resource,spanProcessor){let localConfig=(0,utility_1$1.mergeConfig)(config);this._sampler=localConfig.sampler,this._generalLimits=localConfig.generalLimits,this._spanLimits=localConfig.spanLimits,this._idGenerator=config.idGenerator||new platform_1$1.RandomIdGenerator,this._resource=resource,this._spanProcessor=spanProcessor,this.instrumentationScope=instrumentationScope}startSpan(name$2,options={},context=api$1.context.active()){options.root&&(context=api$1.trace.deleteSpan(context));let parentSpan=api$1.trace.getSpan(context);if((0,core_1$6.isTracingSuppressed)(context))return api$1.diag.debug(`Instrumentation suppressed, returning Noop Span`),api$1.trace.wrapSpanContext(api$1.INVALID_SPAN_CONTEXT);let parentSpanContext=parentSpan?.spanContext(),spanId=this._idGenerator.generateSpanId(),validParentSpanContext,traceId,traceState;!parentSpanContext||!api$1.trace.isSpanContextValid(parentSpanContext)?traceId=this._idGenerator.generateTraceId():(traceId=parentSpanContext.traceId,traceState=parentSpanContext.traceState,validParentSpanContext=parentSpanContext);let spanKind=options.kind??api$1.SpanKind.INTERNAL,links=(options.links??[]).map(link=>({context:link.context,attributes:(0,core_1$6.sanitizeAttributes)(link.attributes)})),attributes=(0,core_1$6.sanitizeAttributes)(options.attributes),samplingResult=this._sampler.shouldSample(context,traceId,name$2,spanKind,attributes,links);traceState=samplingResult.traceState??traceState;let traceFlags=samplingResult.decision===api$1.SamplingDecision.RECORD_AND_SAMPLED?api$1.TraceFlags.SAMPLED:api$1.TraceFlags.NONE,spanContext={traceId,spanId,traceFlags,traceState};if(samplingResult.decision===api$1.SamplingDecision.NOT_RECORD)return api$1.diag.debug(`Recording is off, propagating context in a non-recording span`),api$1.trace.wrapSpanContext(spanContext);let initAttributes=(0,core_1$6.sanitizeAttributes)(Object.assign(attributes,samplingResult.attributes));return new Span_1.SpanImpl({resource:this._resource,scope:this.instrumentationScope,context,spanContext,name:name$2,kind:spanKind,links,parentSpanContext:validParentSpanContext,attributes:initAttributes,startTime:options.startTime,spanProcessor:this._spanProcessor,spanLimits:this._spanLimits})}startActiveSpan(name$2,arg2,arg3,arg4){let opts,ctx,fn;if(arguments.length<2)return;arguments.length===2?fn=arg2:arguments.length===3?(opts=arg2,fn=arg3):(opts=arg2,ctx=arg3,fn=arg4);let parentContext=ctx??api$1.context.active(),span=this.startSpan(name$2,opts,parentContext),contextWithSpanSet=api$1.trace.setSpan(parentContext,span);return api$1.context.with(contextWithSpanSet,fn,void 0,span)}getGeneralLimits(){return this._generalLimits}getSpanLimits(){return this._spanLimits}}})),require_MultiSpanProcessor=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let core_1$5=require_src$11();exports.MultiSpanProcessor=class{_spanProcessors;constructor(_spanProcessors){this._spanProcessors=_spanProcessors}forceFlush(){let promises$1=[];for(let spanProcessor of this._spanProcessors)promises$1.push(spanProcessor.forceFlush());return new Promise(resolve$1=>{Promise.all(promises$1).then(()=>{resolve$1()}).catch(error=>{(0,core_1$5.globalErrorHandler)(error||Error(`MultiSpanProcessor: forceFlush failed`)),resolve$1()})})}onStart(span,context){for(let spanProcessor of this._spanProcessors)spanProcessor.onStart(span,context)}onEnd(span){for(let spanProcessor of this._spanProcessors)spanProcessor.onEnd(span)}shutdown(){let promises$1=[];for(let spanProcessor of this._spanProcessors)promises$1.push(spanProcessor.shutdown());return new Promise((resolve$1,reject)=>{Promise.all(promises$1).then(()=>{resolve$1()},reject)})}}})),require_BasicTracerProvider=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.BasicTracerProvider=exports.ForceFlushState=void 0;let core_1$4=require_src$11(),resources_1=require_src$10(),Tracer_1=require_Tracer(),config_1=require_config(),MultiSpanProcessor_1=require_MultiSpanProcessor(),utility_1=require_utility();var ForceFlushState;(function(ForceFlushState$1){ForceFlushState$1[ForceFlushState$1.resolved=0]=`resolved`,ForceFlushState$1[ForceFlushState$1.timeout=1]=`timeout`,ForceFlushState$1[ForceFlushState$1.error=2]=`error`,ForceFlushState$1[ForceFlushState$1.unresolved=3]=`unresolved`})(ForceFlushState=exports.ForceFlushState||={}),exports.BasicTracerProvider=class{_config;_tracers=new Map;_resource;_activeSpanProcessor;constructor(config={}){let mergedConfig=(0,core_1$4.merge)({},(0,config_1.loadDefaultConfig)(),(0,utility_1.reconfigureLimits)(config));this._resource=mergedConfig.resource??(0,resources_1.defaultResource)(),this._config=Object.assign({},mergedConfig,{resource:this._resource});let spanProcessors=[];config.spanProcessors?.length&&spanProcessors.push(...config.spanProcessors),this._activeSpanProcessor=new MultiSpanProcessor_1.MultiSpanProcessor(spanProcessors)}getTracer(name$2,version,options){let key=`${name$2}@${version||``}:${options?.schemaUrl||``}`;return this._tracers.has(key)||this._tracers.set(key,new Tracer_1.Tracer({name:name$2,version,schemaUrl:options?.schemaUrl},this._config,this._resource,this._activeSpanProcessor)),this._tracers.get(key)}forceFlush(){let timeout=this._config.forceFlushTimeoutMillis,promises$1=this._activeSpanProcessor._spanProcessors.map(spanProcessor=>new Promise(resolve$1=>{let state,timeoutInterval=setTimeout(()=>{resolve$1(Error(`Span processor did not completed within timeout period of ${timeout} ms`)),state=ForceFlushState.timeout},timeout);spanProcessor.forceFlush().then(()=>{clearTimeout(timeoutInterval),state!==ForceFlushState.timeout&&(state=ForceFlushState.resolved,resolve$1(state))}).catch(error=>{clearTimeout(timeoutInterval),state=ForceFlushState.error,resolve$1(error)})}));return new Promise((resolve$1,reject)=>{Promise.all(promises$1).then(results=>{let errors=results.filter(result=>result!==ForceFlushState.resolved);errors.length>0?reject(errors):resolve$1()}).catch(error=>reject([error]))})}shutdown(){return this._activeSpanProcessor.shutdown()}}})),require_ConsoleSpanExporter=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let core_1$3=require_src$11();exports.ConsoleSpanExporter=class{export(spans,resultCallback){return this._sendSpans(spans,resultCallback)}shutdown(){return this._sendSpans([]),this.forceFlush()}forceFlush(){return Promise.resolve()}_exportInfo(span){return{resource:{attributes:span.resource.attributes},instrumentationScope:span.instrumentationScope,traceId:span.spanContext().traceId,parentSpanContext:span.parentSpanContext,traceState:span.spanContext().traceState?.serialize(),name:span.name,id:span.spanContext().spanId,kind:span.kind,timestamp:(0,core_1$3.hrTimeToMicroseconds)(span.startTime),duration:(0,core_1$3.hrTimeToMicroseconds)(span.duration),attributes:span.attributes,status:span.status,events:span.events,links:span.links}}_sendSpans(spans,done){for(let span of spans)console.dir(this._exportInfo(span),{depth:3});if(done)return done({code:core_1$3.ExportResultCode.SUCCESS})}}})),require_InMemorySpanExporter=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let core_1$2=require_src$11();exports.InMemorySpanExporter=class{_finishedSpans=[];_stopped=!1;export(spans,resultCallback){if(this._stopped)return resultCallback({code:core_1$2.ExportResultCode.FAILED,error:Error(`Exporter has been stopped`)});this._finishedSpans.push(...spans),setTimeout(()=>resultCallback({code:core_1$2.ExportResultCode.SUCCESS}),0)}shutdown(){return this._stopped=!0,this._finishedSpans=[],this.forceFlush()}forceFlush(){return Promise.resolve()}reset(){this._finishedSpans=[]}getFinishedSpans(){return this._finishedSpans}}})),require_SimpleSpanProcessor=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$3=(init_esm$5(),__toCommonJS$3(esm_exports$3)),core_1$1=require_src$11();exports.SimpleSpanProcessor=class{_exporter;_shutdownOnce;_pendingExports;constructor(_exporter){this._exporter=_exporter,this._shutdownOnce=new core_1$1.BindOnceFuture(this._shutdown,this),this._pendingExports=new Set}async forceFlush(){await Promise.all(Array.from(this._pendingExports)),this._exporter.forceFlush&&await this._exporter.forceFlush()}onStart(_span,_parentContext){}onEnd(span){if(this._shutdownOnce.isCalled||(span.spanContext().traceFlags&api_1$3.TraceFlags.SAMPLED)===0)return;let pendingExport=this._doExport(span).catch(err=>(0,core_1$1.globalErrorHandler)(err));this._pendingExports.add(pendingExport),pendingExport.finally(()=>this._pendingExports.delete(pendingExport))}async _doExport(span){span.resource.asyncAttributesPending&&await span.resource.waitForAsyncAttributes?.();let result=await core_1$1.internal._export(this._exporter,[span]);if(result.code!==core_1$1.ExportResultCode.SUCCESS)throw result.error??Error(`SimpleSpanProcessor: span export failed (status ${result})`)}shutdown(){return this._shutdownOnce.call()}_shutdown(){return this._exporter.shutdown()}}})),require_NoopSpanProcessor=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.NoopSpanProcessor=class{onStart(_span,_context){}onEnd(_span){}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}}})),require_src$2=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.SamplingDecision=exports.TraceIdRatioBasedSampler=exports.ParentBasedSampler=exports.AlwaysOnSampler=exports.AlwaysOffSampler=exports.NoopSpanProcessor=exports.SimpleSpanProcessor=exports.InMemorySpanExporter=exports.ConsoleSpanExporter=exports.RandomIdGenerator=exports.BatchSpanProcessor=exports.BasicTracerProvider=void 0;var BasicTracerProvider_1=require_BasicTracerProvider();Object.defineProperty(exports,`BasicTracerProvider`,{enumerable:!0,get:function(){return BasicTracerProvider_1.BasicTracerProvider}});var platform_1=require_platform();Object.defineProperty(exports,`BatchSpanProcessor`,{enumerable:!0,get:function(){return platform_1.BatchSpanProcessor}}),Object.defineProperty(exports,`RandomIdGenerator`,{enumerable:!0,get:function(){return platform_1.RandomIdGenerator}});var ConsoleSpanExporter_1=require_ConsoleSpanExporter();Object.defineProperty(exports,`ConsoleSpanExporter`,{enumerable:!0,get:function(){return ConsoleSpanExporter_1.ConsoleSpanExporter}});var InMemorySpanExporter_1=require_InMemorySpanExporter();Object.defineProperty(exports,`InMemorySpanExporter`,{enumerable:!0,get:function(){return InMemorySpanExporter_1.InMemorySpanExporter}});var SimpleSpanProcessor_1=require_SimpleSpanProcessor();Object.defineProperty(exports,`SimpleSpanProcessor`,{enumerable:!0,get:function(){return SimpleSpanProcessor_1.SimpleSpanProcessor}});var NoopSpanProcessor_1=require_NoopSpanProcessor();Object.defineProperty(exports,`NoopSpanProcessor`,{enumerable:!0,get:function(){return NoopSpanProcessor_1.NoopSpanProcessor}});var AlwaysOffSampler_1=require_AlwaysOffSampler();Object.defineProperty(exports,`AlwaysOffSampler`,{enumerable:!0,get:function(){return AlwaysOffSampler_1.AlwaysOffSampler}});var AlwaysOnSampler_1=require_AlwaysOnSampler();Object.defineProperty(exports,`AlwaysOnSampler`,{enumerable:!0,get:function(){return AlwaysOnSampler_1.AlwaysOnSampler}});var ParentBasedSampler_1=require_ParentBasedSampler();Object.defineProperty(exports,`ParentBasedSampler`,{enumerable:!0,get:function(){return ParentBasedSampler_1.ParentBasedSampler}});var TraceIdRatioBasedSampler_1=require_TraceIdRatioBasedSampler();Object.defineProperty(exports,`TraceIdRatioBasedSampler`,{enumerable:!0,get:function(){return TraceIdRatioBasedSampler_1.TraceIdRatioBasedSampler}});var Sampler_1=require_Sampler();Object.defineProperty(exports,`SamplingDecision`,{enumerable:!0,get:function(){return Sampler_1.SamplingDecision}})})),require_AbstractAsyncHooksContextManager=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let events_1=__require(`events`),ADD_LISTENER_METHODS=[`addListener`,`on`,`once`,`prependListener`,`prependOnceListener`];exports.AbstractAsyncHooksContextManager=class{bind(context,target){return target instanceof events_1.EventEmitter?this._bindEventEmitter(context,target):typeof target==`function`?this._bindFunction(context,target):target}_bindFunction(context,target){let manager=this,contextWrapper=function(...args){return manager.with(context,()=>target.apply(this,args))};return Object.defineProperty(contextWrapper,`length`,{enumerable:!1,configurable:!0,writable:!1,value:target.length}),contextWrapper}_bindEventEmitter(context,ee$1){return this._getPatchMap(ee$1)===void 0?(this._createPatchMap(ee$1),ADD_LISTENER_METHODS.forEach(methodName=>{ee$1[methodName]!==void 0&&(ee$1[methodName]=this._patchAddListener(ee$1,ee$1[methodName],context))}),typeof ee$1.removeListener==`function`&&(ee$1.removeListener=this._patchRemoveListener(ee$1,ee$1.removeListener)),typeof ee$1.off==`function`&&(ee$1.off=this._patchRemoveListener(ee$1,ee$1.off)),typeof ee$1.removeAllListeners==`function`&&(ee$1.removeAllListeners=this._patchRemoveAllListeners(ee$1,ee$1.removeAllListeners)),ee$1):ee$1}_patchRemoveListener(ee$1,original){let contextManager=this;return function(event,listener){let events=contextManager._getPatchMap(ee$1)?.[event];if(events===void 0)return original.call(this,event,listener);let patchedListener=events.get(listener);return original.call(this,event,patchedListener||listener)}}_patchRemoveAllListeners(ee$1,original){let contextManager=this;return function(event){let map=contextManager._getPatchMap(ee$1);return map!==void 0&&(arguments.length===0?contextManager._createPatchMap(ee$1):map[event]!==void 0&&delete map[event]),original.apply(this,arguments)}}_patchAddListener(ee$1,original,context){let contextManager=this;return function(event,listener){if(contextManager._wrapped)return original.call(this,event,listener);let map=contextManager._getPatchMap(ee$1);map===void 0&&(map=contextManager._createPatchMap(ee$1));let listeners=map[event];listeners===void 0&&(listeners=new WeakMap,map[event]=listeners);let patchedListener=contextManager.bind(context,listener);listeners.set(listener,patchedListener),contextManager._wrapped=!0;try{return original.call(this,event,patchedListener)}finally{contextManager._wrapped=!1}}}_createPatchMap(ee$1){let map=Object.create(null);return ee$1[this._kOtListeners]=map,map}_getPatchMap(ee$1){return ee$1[this._kOtListeners]}_kOtListeners=Symbol(`OtListeners`);_wrapped=!1}})),require_AsyncHooksContextManager=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$2=(init_esm$5(),__toCommonJS$3(esm_exports$3)),asyncHooks=__require(`async_hooks`),AbstractAsyncHooksContextManager_1$1=require_AbstractAsyncHooksContextManager();exports.AsyncHooksContextManager=class extends AbstractAsyncHooksContextManager_1$1.AbstractAsyncHooksContextManager{_asyncHook;_contexts=new Map;_stack=[];constructor(){super(),this._asyncHook=asyncHooks.createHook({init:this._init.bind(this),before:this._before.bind(this),after:this._after.bind(this),destroy:this._destroy.bind(this),promiseResolve:this._destroy.bind(this)})}active(){return this._stack[this._stack.length-1]??api_1$2.ROOT_CONTEXT}with(context,fn,thisArg,...args){this._enterContext(context);try{return fn.call(thisArg,...args)}finally{this._exitContext()}}enable(){return this._asyncHook.enable(),this}disable(){return this._asyncHook.disable(),this._contexts.clear(),this._stack=[],this}_init(uid,type){if(type===`TIMERWRAP`)return;let context=this._stack[this._stack.length-1];context!==void 0&&this._contexts.set(uid,context)}_destroy(uid){this._contexts.delete(uid)}_before(uid){let context=this._contexts.get(uid);context!==void 0&&this._enterContext(context)}_after(){this._exitContext()}_enterContext(context){this._stack.push(context)}_exitContext(){this._stack.pop()}}})),require_AsyncLocalStorageContextManager=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$1=(init_esm$5(),__toCommonJS$3(esm_exports$3)),async_hooks_1=__require(`async_hooks`),AbstractAsyncHooksContextManager_1=require_AbstractAsyncHooksContextManager();exports.AsyncLocalStorageContextManager=class extends AbstractAsyncHooksContextManager_1.AbstractAsyncHooksContextManager{_asyncLocalStorage;constructor(){super(),this._asyncLocalStorage=new async_hooks_1.AsyncLocalStorage}active(){return this._asyncLocalStorage.getStore()??api_1$1.ROOT_CONTEXT}with(context,fn,thisArg,...args){let cb=thisArg==null?fn:fn.bind(thisArg);return this._asyncLocalStorage.run(context,cb,...args)}enable(){return this}disable(){return this._asyncLocalStorage.disable(),this}}})),require_src$1=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.AsyncLocalStorageContextManager=exports.AsyncHooksContextManager=void 0;var AsyncHooksContextManager_1=require_AsyncHooksContextManager();Object.defineProperty(exports,`AsyncHooksContextManager`,{enumerable:!0,get:function(){return AsyncHooksContextManager_1.AsyncHooksContextManager}});var AsyncLocalStorageContextManager_1=require_AsyncLocalStorageContextManager();Object.defineProperty(exports,`AsyncLocalStorageContextManager`,{enumerable:!0,get:function(){return AsyncLocalStorageContextManager_1.AsyncLocalStorageContextManager}})})),require_NodeTracerProvider=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let context_async_hooks_1=require_src$1(),sdk_trace_base_1$1=require_src$2(),api_1=(init_esm$5(),__toCommonJS$3(esm_exports$3)),core_1=require_src$11();function setupContextManager(contextManager){if(contextManager!==null){if(contextManager===void 0){let defaultContextManager=new context_async_hooks_1.AsyncLocalStorageContextManager;defaultContextManager.enable(),api_1.context.setGlobalContextManager(defaultContextManager);return}contextManager.enable(),api_1.context.setGlobalContextManager(contextManager)}}function setupPropagator(propagator){if(propagator!==null){if(propagator===void 0){api_1.propagation.setGlobalPropagator(new core_1.CompositePropagator({propagators:[new core_1.W3CTraceContextPropagator,new core_1.W3CBaggagePropagator]}));return}api_1.propagation.setGlobalPropagator(propagator)}}exports.NodeTracerProvider=class extends sdk_trace_base_1$1.BasicTracerProvider{constructor(config={}){super(config)}register(config={}){api_1.trace.setGlobalTracerProvider(this),setupContextManager(config.contextManager),setupPropagator(config.propagator)}}})),require_src=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.TraceIdRatioBasedSampler=exports.SimpleSpanProcessor=exports.SamplingDecision=exports.RandomIdGenerator=exports.ParentBasedSampler=exports.NoopSpanProcessor=exports.InMemorySpanExporter=exports.ConsoleSpanExporter=exports.BatchSpanProcessor=exports.BasicTracerProvider=exports.AlwaysOnSampler=exports.AlwaysOffSampler=exports.NodeTracerProvider=void 0;var NodeTracerProvider_1=require_NodeTracerProvider();Object.defineProperty(exports,`NodeTracerProvider`,{enumerable:!0,get:function(){return NodeTracerProvider_1.NodeTracerProvider}});var sdk_trace_base_1=require_src$2();Object.defineProperty(exports,`AlwaysOffSampler`,{enumerable:!0,get:function(){return sdk_trace_base_1.AlwaysOffSampler}}),Object.defineProperty(exports,`AlwaysOnSampler`,{enumerable:!0,get:function(){return sdk_trace_base_1.AlwaysOnSampler}}),Object.defineProperty(exports,`BasicTracerProvider`,{enumerable:!0,get:function(){return sdk_trace_base_1.BasicTracerProvider}}),Object.defineProperty(exports,`BatchSpanProcessor`,{enumerable:!0,get:function(){return sdk_trace_base_1.BatchSpanProcessor}}),Object.defineProperty(exports,`ConsoleSpanExporter`,{enumerable:!0,get:function(){return sdk_trace_base_1.ConsoleSpanExporter}}),Object.defineProperty(exports,`InMemorySpanExporter`,{enumerable:!0,get:function(){return sdk_trace_base_1.InMemorySpanExporter}}),Object.defineProperty(exports,`NoopSpanProcessor`,{enumerable:!0,get:function(){return sdk_trace_base_1.NoopSpanProcessor}}),Object.defineProperty(exports,`ParentBasedSampler`,{enumerable:!0,get:function(){return sdk_trace_base_1.ParentBasedSampler}}),Object.defineProperty(exports,`RandomIdGenerator`,{enumerable:!0,get:function(){return sdk_trace_base_1.RandomIdGenerator}}),Object.defineProperty(exports,`SamplingDecision`,{enumerable:!0,get:function(){return sdk_trace_base_1.SamplingDecision}}),Object.defineProperty(exports,`SimpleSpanProcessor`,{enumerable:!0,get:function(){return sdk_trace_base_1.SimpleSpanProcessor}}),Object.defineProperty(exports,`TraceIdRatioBasedSampler`,{enumerable:!0,get:function(){return sdk_trace_base_1.TraceIdRatioBasedSampler}})}));const APIServerURLEnvironmentVariable=`BLINK_API_URL`;init_esm$5();var import_src=__toESM(require_src$7()),import_src$1=__toESM(require_src$4()),import_src$2=__toESM(require_src$3()),import_src$3=__toESM(require_src$10()),import_src$4=__toESM(require_src$2()),import_src$5=__toESM(require_src());init_esm$1();let otelProvider,consolePatched=!1;function isPlainRecord(val){if(typeof val!=`object`||!val||Array.isArray(val)||Object.prototype.toString.call(val)!==`[object Object]`)return!1;let proto=Object.getPrototypeOf(val);return proto===Object.prototype||proto===null}const patchGlobalConsole=()=>{if(!process.env.AWS_LAMBDA_FUNCTION_VERSION||consolePatched)return;consolePatched=!0;let safeTransform=args=>{let payload;payload=args.length===1?typeof args[0]==`string`?{message:args[0]}:isPlainRecord(args[0])?args[0]:{message:util.inspect(args[0])}:{message:util.inspect(args)};let safePayload;try{safePayload=JSON.parse(JSON.stringify(payload))}catch{safePayload={message:util.inspect(payload)}}let activeSpanContext=trace.getActiveSpan()?.spanContext();return activeSpanContext&&(safePayload={...safePayload,trace_id:activeSpanContext.traceId,span_id:activeSpanContext.spanId}),safePayload},structuredLog=originalLog=>(...args)=>{originalLog(safeTransform(args))};console.log=structuredLog(console.log),console.error=structuredLog(console.error),console.warn=structuredLog(console.warn),console.info=structuredLog(console.info),console.debug=structuredLog(console.debug),console.trace=structuredLog(console.trace)};var FilteringSpanProcessor=class{constructor(delegate,shouldExport){this.delegate=delegate,this.shouldExport=shouldExport}onStart(span,parentContext){this.delegate.onStart(span,parentContext)}onEnd(span){this.shouldExport(span)&&this.delegate.onEnd(span)}async shutdown(){return this.delegate.shutdown()}async forceFlush(){return this.delegate.forceFlush()}};function initOtel(){if(otelProvider)return otelProvider;patchGlobalConsole();let apiUrl=process.env[APIServerURLEnvironmentVariable],provider=new import_src$5.NodeTracerProvider({resource:(0,import_src$3.resourceFromAttributes)({[ATTR_SERVICE_NAME]:`blink.agent`}),spanProcessors:apiUrl?[new FilteringSpanProcessor(new import_src$4.BatchSpanProcessor(new import_src.OTLPTraceExporter({url:new URL(`/otlp/v1/traces`,apiUrl).toString()})),span=>{let urlPath=span.attributes[`url.path`];return!(span.instrumentationScope.name.includes(`opentelemetry`)&&typeof urlPath==`string`&&urlPath.endsWith(`v1/traces`))})]:[]});return provider.register(),(0,import_src$1.registerInstrumentations)({instrumentations:[new import_src$2.UndiciInstrumentation({requireParentforSpans:!0})]}),otelProvider=provider,provider}const otelMiddleware=async(c,next)=>{initOtel();let pathname=new URL(c.req.raw.url).pathname;return pathname.startsWith(`/_agent/flush-otel`)?await next():await trace.getTracer(`blink`).startActiveSpan(`${c.req.method} ${pathname}`,async span=>{try{return await next()}finally{try{span.end()}catch(err){console.warn(`Error flushing OpenTelemetry`,err)}flushOtel()}})},flushOtel=async()=>{try{if(!otelProvider)return;await otelProvider.forceFlush()}catch(err){console.warn(`Error flushing OpenTelemetry`,err)}};init_esm$5();var Agent$2=class{client;listeners={chat:[],ui:[],request:[],error:[]};constructor(){let apiUrl=process.env.BLINK_API_URL;this.client=hc(process.env.BLINK_API_URL??``,{fetch:apiUrl?void 0:async()=>{throw console.warn(`Your code is attempting to use the Blink API server, but no API server is configured for this Blink agent.`),Error(`No API server is configured for this Blink agent. External APIs are not available.`)}})}chat={upsert:async key=>{let response=await this.client.chat[`:key`].$post({param:{key:JSON.stringify(key)}});if(response.status!==200)throw Error(`Failed to upsert chat!`);return response.json()},get:async id=>{let response=await this.client.chat[`:id`].$get({param:{id}});if(response.status!==200)throw Error(`Failed to get chat!`);return response.json()},getMessages:async id=>{let response=await this.client.chat[`:id`].messages.$get({param:{id}});if(response.status!==200)throw Error(`Failed to get messages!`);return await response.json()},sendMessages:async(id,messages,options)=>{if((await this.client.chat[`:id`].sendMessages.$post({param:{id},json:{id,messages,options:options??{}}})).status!==204)throw Error(`Failed to send messages!`)},deleteMessages:async(id,messages)=>{if((await this.client.chat[`:id`].messages.$delete({param:{id},query:{message:messages}})).status!==204)throw Error(`Failed to delete messages!`)},start:async id=>{if((await this.client.chat[`:id`].start.$post({param:{id}})).status!==204)throw Error(`Failed to start chat!`)},stop:async id=>{if((await this.client.chat[`:id`].stop.$post({param:{id}})).status!==204)throw Error(`Failed to stop chat!`)},delete:async id=>{if((await this.client.chat[`:id`].$delete({param:{id}})).status!==204)throw Error(`Failed to delete chat!`)}};store={get:async key=>{let response=await this.client.kv[`:key`].$get({param:{key:encodeURIComponent(key)}});if(response.status!==200)throw Error(`Failed to get value!`);let{value}=await response.json();return value},set:async(key,value)=>{if((await this.client.kv[`:key`].$post({param:{key:encodeURIComponent(key)},json:{value}})).status!==204)throw Error(`Failed to set value!`)},delete:async key=>{if((await this.client.kv[`:key`].$delete({param:{key:encodeURIComponent(key)}})).status!==204)throw Error(`Failed to delete value!`)},list:async(prefix,options)=>{let response=await this.client.kv.$get({query:{prefix:prefix?encodeURIComponent(prefix):void 0,limit:options?.limit,cursor:options?.cursor}});if(response.status!==200)throw Error(`Failed to list values!`);return response.json()}};on(event,handler){return this.listeners[event]=[...this.listeners[event]??[],handler],this}serve(options){return options||={},options.host||=process.env.HOST??`127.0.0.1`,options.port||=parseInt(process.env.PORT??`3000`),options.apiUrl&&(this.client=hc(options.apiUrl)),http$1.createServer(createServerAdapter(req=>this.fetch(req))).listen(options?.port??3e3,options?.host??`127.0.0.1`)}fetch(request$2){return api.fetch(request$2,{listeners:this.listeners})}};function agent(){return new Agent$2}const api=new Hono().use(otelMiddleware).post(`/_agent/chat`,validator(`json`,body=>({messages:body.messages,id:body.id})),async c=>{let handlers=c.env.listeners.chat,req=c.req.valid(`json`);for(let handler of handlers){let result;try{result=await handler({id:req.id,messages:req.messages,abortSignal:c.req.raw.signal})}catch(err){if(err instanceof CustomChatResponseError)result=err.response;else throw err}if(!result)continue;if(result instanceof Response)return result;let stream;if(result instanceof ReadableStream)stream=result;else if(typeof result==`object`&&`toUIMessageStream`in result)stream=result.toUIMessageStream({messageMetadata:({part})=>{switch(part.type){case`finish`:return{totalUsage:part.totalUsage};case`finish-step`:return{usage:part.usage,model:part.response.modelId}}}});else throw Error(`Invalid chat handler result! Must be a Response, ReadableStream, or toUIMessageStream function.`);return new Response(stream.pipeThrough(new TransformStream({transform(chunk,controller){controller.enqueue(`data: ${JSON.stringify(chunk)}\n\n`)},flush(controller){controller.enqueue(`data: [DONE]
|
|
48
|
+
`);for(let line of headers){if(!line)continue;let colonIndex=line.indexOf(`:`);if(colonIndex===-1)continue;let key=line.substring(0,colonIndex).toLowerCase(),value=line.substring(colonIndex+1).trim(),allValues=result.get(key);allValues&&Array.isArray(allValues)?allValues.push(value):allValues?result.set(key,[allValues,value]):result.set(key,value)}}return result}onRequestCreated({request:request$2}){let config=this.getConfig(),enabled=config.enabled!==!1;if((0,instrumentation_1.safeExecuteInTheMiddle)(()=>!enabled||request$2.method===`CONNECT`||config.ignoreRequestHook?.(request$2),e=>e&&this._diag.error(`caught ignoreRequestHook error: `,e),!0))return;let startTime=(0,core_1$12.hrTime)(),requestUrl;try{requestUrl=new url_1.URL(request$2.path,request$2.origin)}catch(err){this._diag.warn(`could not determine url.full:`,err);return}let urlScheme=requestUrl.protocol.replace(`:`,``),requestMethod=this.getRequestMethod(request$2.method),attributes={[semantic_conventions_1$1.ATTR_HTTP_REQUEST_METHOD]:requestMethod,[semantic_conventions_1$1.ATTR_HTTP_REQUEST_METHOD_ORIGINAL]:request$2.method,[semantic_conventions_1$1.ATTR_URL_FULL]:requestUrl.toString(),[semantic_conventions_1$1.ATTR_URL_PATH]:requestUrl.pathname,[semantic_conventions_1$1.ATTR_URL_QUERY]:requestUrl.search,[semantic_conventions_1$1.ATTR_URL_SCHEME]:urlScheme},schemePorts={https:`443`,http:`80`},serverAddress=requestUrl.hostname,serverPort=requestUrl.port||schemePorts[urlScheme];attributes[semantic_conventions_1$1.ATTR_SERVER_ADDRESS]=serverAddress,serverPort&&!isNaN(Number(serverPort))&&(attributes[semantic_conventions_1$1.ATTR_SERVER_PORT]=Number(serverPort));let userAgentValues=this.parseRequestHeaders(request$2).get(`user-agent`);if(userAgentValues){let userAgent=Array.isArray(userAgentValues)?userAgentValues[userAgentValues.length-1]:userAgentValues;attributes[semantic_conventions_1$1.ATTR_USER_AGENT_ORIGINAL]=userAgent}let hookAttributes=(0,instrumentation_1.safeExecuteInTheMiddle)(()=>config.startSpanHook?.(request$2),e=>e&&this._diag.error(`caught startSpanHook error: `,e),!0);hookAttributes&&Object.entries(hookAttributes).forEach(([key,val])=>{attributes[key]=val});let activeCtx=api_1$9.context.active(),currentSpan=api_1$9.trace.getSpan(activeCtx),span;span=config.requireParentforSpans&&(!currentSpan||!api_1$9.trace.isSpanContextValid(currentSpan.spanContext()))?api_1$9.trace.wrapSpanContext(api_1$9.INVALID_SPAN_CONTEXT):this.tracer.startSpan(requestMethod===`_OTHER`?`HTTP`:requestMethod,{kind:api_1$9.SpanKind.CLIENT,attributes},activeCtx),(0,instrumentation_1.safeExecuteInTheMiddle)(()=>config.requestHook?.(span,request$2),e=>e&&this._diag.error(`caught requestHook error: `,e),!0);let requestContext=api_1$9.trace.setSpan(api_1$9.context.active(),span),addedHeaders={};api_1$9.propagation.inject(requestContext,addedHeaders);let headerEntries=Object.entries(addedHeaders);for(let i$1=0;i$1<headerEntries.length;i$1++){let[k,v$1]=headerEntries[i$1];typeof request$2.addHeader==`function`?request$2.addHeader(k,v$1):typeof request$2.headers==`string`?request$2.headers+=`${k}: ${v$1}\r\n`:Array.isArray(request$2.headers)&&request$2.headers.push(k,v$1)}this._recordFromReq.set(request$2,{span,attributes,startTime})}onRequestHeaders({request:request$2,socket}){let record=this._recordFromReq.get(request$2);if(!record)return;let config=this.getConfig(),{span}=record,{remoteAddress,remotePort}=socket,spanAttributes={[semantic_conventions_1$1.ATTR_NETWORK_PEER_ADDRESS]:remoteAddress,[semantic_conventions_1$1.ATTR_NETWORK_PEER_PORT]:remotePort};if(config.headersToSpanAttributes?.requestHeaders){let headersToAttribs=new Set(config.headersToSpanAttributes.requestHeaders.map(n=>n.toLowerCase())),headersMap=this.parseRequestHeaders(request$2);for(let[name$2,value]of headersMap.entries())if(headersToAttribs.has(name$2)){let attrValue=Array.isArray(value)?value.join(`, `):value;spanAttributes[`http.request.header.${name$2}`]=attrValue}}span.setAttributes(spanAttributes)}onResponseHeaders({request:request$2,response}){let record=this._recordFromReq.get(request$2);if(!record)return;let{span,attributes}=record,spanAttributes={[semantic_conventions_1$1.ATTR_HTTP_RESPONSE_STATUS_CODE]:response.statusCode},config=this.getConfig();(0,instrumentation_1.safeExecuteInTheMiddle)(()=>config.responseHook?.(span,{request:request$2,response}),e=>e&&this._diag.error(`caught responseHook error: `,e),!0);let headersToAttribs=new Set;config.headersToSpanAttributes?.responseHeaders&&config.headersToSpanAttributes?.responseHeaders.forEach(name$2=>headersToAttribs.add(name$2.toLowerCase()));for(let idx=0;idx<response.headers.length;idx+=2){let name$2=response.headers[idx].toString().toLowerCase(),value=response.headers[idx+1];if(headersToAttribs.has(name$2)&&(spanAttributes[`http.response.header.${name$2}`]=value.toString()),name$2===`content-length`){let contentLength=Number(value.toString());isNaN(contentLength)||(spanAttributes[`http.response.header.content-length`]=contentLength)}}span.setAttributes(spanAttributes),span.setStatus({code:response.statusCode>=400?api_1$9.SpanStatusCode.ERROR:api_1$9.SpanStatusCode.UNSET}),record.attributes=Object.assign(attributes,spanAttributes)}onDone({request:request$2}){let record=this._recordFromReq.get(request$2);if(!record)return;let{span,attributes,startTime}=record;span.end(),this._recordFromReq.delete(request$2),this.recordRequestDuration(attributes,startTime)}onError({request:request$2,error}){let record=this._recordFromReq.get(request$2);if(!record)return;let{span,attributes,startTime}=record;span.recordException(error),span.setStatus({code:api_1$9.SpanStatusCode.ERROR,message:error.message}),span.end(),this._recordFromReq.delete(request$2),attributes[semantic_conventions_1$1.ATTR_ERROR_TYPE]=error.message,this.recordRequestDuration(attributes,startTime)}recordRequestDuration(attributes,startTime){let metricsAttributes={};[semantic_conventions_1$1.ATTR_HTTP_RESPONSE_STATUS_CODE,semantic_conventions_1$1.ATTR_HTTP_REQUEST_METHOD,semantic_conventions_1$1.ATTR_SERVER_ADDRESS,semantic_conventions_1$1.ATTR_SERVER_PORT,semantic_conventions_1$1.ATTR_URL_SCHEME,semantic_conventions_1$1.ATTR_ERROR_TYPE].forEach(key=>{key in attributes&&(metricsAttributes[key]=attributes[key])});let durationSeconds=(0,core_1$12.hrTimeToMilliseconds)((0,core_1$12.hrTimeDuration)(startTime,(0,core_1$12.hrTime)()))/1e3;this._httpClientDurationHistogram.record(durationSeconds,metricsAttributes)}getRequestMethod(original){return original.toUpperCase()in{CONNECT:!0,OPTIONS:!0,HEAD:!0,GET:!0,POST:!0,PUT:!0,PATCH:!0,DELETE:!0,TRACE:!0}?original.toUpperCase():`_OTHER`}}})),require_src$3=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.UndiciInstrumentation=void 0;var undici_1=require_undici();Object.defineProperty(exports,`UndiciInstrumentation`,{enumerable:!0,get:function(){return undici_1.UndiciInstrumentation}})})),require_enums=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.ExceptionEventName=`exception`})),require_Span=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$8=(init_esm$5(),__toCommonJS$3(esm_exports$3)),core_1$11=require_src$11(),semantic_conventions_1=(init_esm$1(),__toCommonJS$3(esm_exports$1)),enums_1=require_enums();exports.SpanImpl=class{_spanContext;kind;parentSpanContext;attributes={};links=[];events=[];startTime;resource;instrumentationScope;_droppedAttributesCount=0;_droppedEventsCount=0;_droppedLinksCount=0;name;status={code:api_1$8.SpanStatusCode.UNSET};endTime=[0,0];_ended=!1;_duration=[-1,-1];_spanProcessor;_spanLimits;_attributeValueLengthLimit;_performanceStartTime;_performanceOffset;_startTimeProvided;constructor(opts){let now=Date.now();this._spanContext=opts.spanContext,this._performanceStartTime=core_1$11.otperformance.now(),this._performanceOffset=now-(this._performanceStartTime+(0,core_1$11.getTimeOrigin)()),this._startTimeProvided=opts.startTime!=null,this._spanLimits=opts.spanLimits,this._attributeValueLengthLimit=this._spanLimits.attributeValueLengthLimit||0,this._spanProcessor=opts.spanProcessor,this.name=opts.name,this.parentSpanContext=opts.parentSpanContext,this.kind=opts.kind,this.links=opts.links||[],this.startTime=this._getTime(opts.startTime??now),this.resource=opts.resource,this.instrumentationScope=opts.scope,opts.attributes!=null&&this.setAttributes(opts.attributes),this._spanProcessor.onStart(this,opts.context)}spanContext(){return this._spanContext}setAttribute(key,value){if(value==null||this._isSpanEnded())return this;if(key.length===0)return api_1$8.diag.warn(`Invalid attribute key: ${key}`),this;if(!(0,core_1$11.isAttributeValue)(value))return api_1$8.diag.warn(`Invalid attribute value set for key: ${key}`),this;let{attributeCountLimit}=this._spanLimits;return attributeCountLimit!==void 0&&Object.keys(this.attributes).length>=attributeCountLimit&&!Object.prototype.hasOwnProperty.call(this.attributes,key)?(this._droppedAttributesCount++,this):(this.attributes[key]=this._truncateToSize(value),this)}setAttributes(attributes){for(let[k,v$1]of Object.entries(attributes))this.setAttribute(k,v$1);return this}addEvent(name$2,attributesOrStartTime,timeStamp){if(this._isSpanEnded())return this;let{eventCountLimit}=this._spanLimits;if(eventCountLimit===0)return api_1$8.diag.warn(`No events allowed.`),this._droppedEventsCount++,this;eventCountLimit!==void 0&&this.events.length>=eventCountLimit&&(this._droppedEventsCount===0&&api_1$8.diag.debug(`Dropping extra events.`),this.events.shift(),this._droppedEventsCount++),(0,core_1$11.isTimeInput)(attributesOrStartTime)&&((0,core_1$11.isTimeInput)(timeStamp)||(timeStamp=attributesOrStartTime),attributesOrStartTime=void 0);let attributes=(0,core_1$11.sanitizeAttributes)(attributesOrStartTime);return this.events.push({name:name$2,attributes,time:this._getTime(timeStamp),droppedAttributesCount:0}),this}addLink(link){return this.links.push(link),this}addLinks(links){return this.links.push(...links),this}setStatus(status){return this._isSpanEnded()?this:(this.status={...status},this.status.message!=null&&typeof status.message!=`string`&&(api_1$8.diag.warn(`Dropping invalid status.message of type '${typeof status.message}', expected 'string'`),delete this.status.message),this)}updateName(name$2){return this._isSpanEnded()||(this.name=name$2),this}end(endTime){if(this._isSpanEnded()){api_1$8.diag.error(`${this.name} ${this._spanContext.traceId}-${this._spanContext.spanId} - You can only call end() on a span once.`);return}this._ended=!0,this.endTime=this._getTime(endTime),this._duration=(0,core_1$11.hrTimeDuration)(this.startTime,this.endTime),this._duration[0]<0&&(api_1$8.diag.warn(`Inconsistent start and end time, startTime > endTime. Setting span duration to 0ms.`,this.startTime,this.endTime),this.endTime=this.startTime.slice(),this._duration=[0,0]),this._droppedEventsCount>0&&api_1$8.diag.warn(`Dropped ${this._droppedEventsCount} events because eventCountLimit reached`),this._spanProcessor.onEnd(this)}_getTime(inp){if(typeof inp==`number`&&inp<=core_1$11.otperformance.now())return(0,core_1$11.hrTime)(inp+this._performanceOffset);if(typeof inp==`number`)return(0,core_1$11.millisToHrTime)(inp);if(inp instanceof Date)return(0,core_1$11.millisToHrTime)(inp.getTime());if((0,core_1$11.isTimeInputHrTime)(inp))return inp;if(this._startTimeProvided)return(0,core_1$11.millisToHrTime)(Date.now());let msDuration=core_1$11.otperformance.now()-this._performanceStartTime;return(0,core_1$11.addHrTimes)(this.startTime,(0,core_1$11.millisToHrTime)(msDuration))}isRecording(){return this._ended===!1}recordException(exception,time){let attributes={};typeof exception==`string`?attributes[semantic_conventions_1.ATTR_EXCEPTION_MESSAGE]=exception:exception&&(exception.code?attributes[semantic_conventions_1.ATTR_EXCEPTION_TYPE]=exception.code.toString():exception.name&&(attributes[semantic_conventions_1.ATTR_EXCEPTION_TYPE]=exception.name),exception.message&&(attributes[semantic_conventions_1.ATTR_EXCEPTION_MESSAGE]=exception.message),exception.stack&&(attributes[semantic_conventions_1.ATTR_EXCEPTION_STACKTRACE]=exception.stack)),attributes[semantic_conventions_1.ATTR_EXCEPTION_TYPE]||attributes[semantic_conventions_1.ATTR_EXCEPTION_MESSAGE]?this.addEvent(enums_1.ExceptionEventName,attributes,time):api_1$8.diag.warn(`Failed to record an exception ${exception}`)}get duration(){return this._duration}get ended(){return this._ended}get droppedAttributesCount(){return this._droppedAttributesCount}get droppedEventsCount(){return this._droppedEventsCount}get droppedLinksCount(){return this._droppedLinksCount}_isSpanEnded(){if(this._ended){let error=Error(`Operation attempted on ended Span {traceId: ${this._spanContext.traceId}, spanId: ${this._spanContext.spanId}}`);api_1$8.diag.warn(`Cannot execute the operation on ended Span {traceId: ${this._spanContext.traceId}, spanId: ${this._spanContext.spanId}}`,error)}return this._ended}_truncateToLimitUtil(value,limit){return value.length<=limit?value:value.substring(0,limit)}_truncateToSize(value){let limit=this._attributeValueLengthLimit;return limit<=0?(api_1$8.diag.warn(`Attribute value limit must be positive, got ${limit}`),value):typeof value==`string`?this._truncateToLimitUtil(value,limit):Array.isArray(value)?value.map(val=>typeof val==`string`?this._truncateToLimitUtil(val,limit):val):value}}})),require_Sampler=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.SamplingDecision=void 0,(function(SamplingDecision){SamplingDecision[SamplingDecision.NOT_RECORD=0]=`NOT_RECORD`,SamplingDecision[SamplingDecision.RECORD=1]=`RECORD`,SamplingDecision[SamplingDecision.RECORD_AND_SAMPLED=2]=`RECORD_AND_SAMPLED`})(exports.SamplingDecision||={})})),require_AlwaysOffSampler=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let Sampler_1$3=require_Sampler();exports.AlwaysOffSampler=class{shouldSample(){return{decision:Sampler_1$3.SamplingDecision.NOT_RECORD}}toString(){return`AlwaysOffSampler`}}})),require_AlwaysOnSampler=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let Sampler_1$2=require_Sampler();exports.AlwaysOnSampler=class{shouldSample(){return{decision:Sampler_1$2.SamplingDecision.RECORD_AND_SAMPLED}}toString(){return`AlwaysOnSampler`}}})),require_ParentBasedSampler=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$7=(init_esm$5(),__toCommonJS$3(esm_exports$3)),core_1$10=require_src$11(),AlwaysOffSampler_1$2=require_AlwaysOffSampler(),AlwaysOnSampler_1$2=require_AlwaysOnSampler();exports.ParentBasedSampler=class{_root;_remoteParentSampled;_remoteParentNotSampled;_localParentSampled;_localParentNotSampled;constructor(config){this._root=config.root,this._root||=((0,core_1$10.globalErrorHandler)(Error(`ParentBasedSampler must have a root sampler configured`)),new AlwaysOnSampler_1$2.AlwaysOnSampler),this._remoteParentSampled=config.remoteParentSampled??new AlwaysOnSampler_1$2.AlwaysOnSampler,this._remoteParentNotSampled=config.remoteParentNotSampled??new AlwaysOffSampler_1$2.AlwaysOffSampler,this._localParentSampled=config.localParentSampled??new AlwaysOnSampler_1$2.AlwaysOnSampler,this._localParentNotSampled=config.localParentNotSampled??new AlwaysOffSampler_1$2.AlwaysOffSampler}shouldSample(context,traceId,spanName,spanKind,attributes,links){let parentContext=api_1$7.trace.getSpanContext(context);return!parentContext||!(0,api_1$7.isSpanContextValid)(parentContext)?this._root.shouldSample(context,traceId,spanName,spanKind,attributes,links):parentContext.isRemote?parentContext.traceFlags&api_1$7.TraceFlags.SAMPLED?this._remoteParentSampled.shouldSample(context,traceId,spanName,spanKind,attributes,links):this._remoteParentNotSampled.shouldSample(context,traceId,spanName,spanKind,attributes,links):parentContext.traceFlags&api_1$7.TraceFlags.SAMPLED?this._localParentSampled.shouldSample(context,traceId,spanName,spanKind,attributes,links):this._localParentNotSampled.shouldSample(context,traceId,spanName,spanKind,attributes,links)}toString(){return`ParentBased{root=${this._root.toString()}, remoteParentSampled=${this._remoteParentSampled.toString()}, remoteParentNotSampled=${this._remoteParentNotSampled.toString()}, localParentSampled=${this._localParentSampled.toString()}, localParentNotSampled=${this._localParentNotSampled.toString()}}`}}})),require_TraceIdRatioBasedSampler=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$6=(init_esm$5(),__toCommonJS$3(esm_exports$3)),Sampler_1$1=require_Sampler();exports.TraceIdRatioBasedSampler=class{_ratio;_upperBound;constructor(_ratio=0){this._ratio=_ratio,this._ratio=this._normalize(_ratio),this._upperBound=Math.floor(this._ratio*4294967295)}shouldSample(context,traceId){return{decision:(0,api_1$6.isValidTraceId)(traceId)&&this._accumulate(traceId)<this._upperBound?Sampler_1$1.SamplingDecision.RECORD_AND_SAMPLED:Sampler_1$1.SamplingDecision.NOT_RECORD}}toString(){return`TraceIdRatioBased{${this._ratio}}`}_normalize(ratio){return typeof ratio!=`number`||isNaN(ratio)?0:ratio>=1?1:ratio<=0?0:ratio}_accumulate(traceId){let accumulation=0;for(let i$1=0;i$1<traceId.length/8;i$1++){let pos=i$1*8,part=parseInt(traceId.slice(pos,pos+8),16);accumulation=(accumulation^part)>>>0}return accumulation}}})),require_config=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$5=(init_esm$5(),__toCommonJS$3(esm_exports$3)),core_1$9=require_src$11(),AlwaysOffSampler_1$1=require_AlwaysOffSampler(),AlwaysOnSampler_1$1=require_AlwaysOnSampler(),ParentBasedSampler_1$1=require_ParentBasedSampler(),TraceIdRatioBasedSampler_1$1=require_TraceIdRatioBasedSampler();var TracesSamplerValues;(function(TracesSamplerValues$1){TracesSamplerValues$1.AlwaysOff=`always_off`,TracesSamplerValues$1.AlwaysOn=`always_on`,TracesSamplerValues$1.ParentBasedAlwaysOff=`parentbased_always_off`,TracesSamplerValues$1.ParentBasedAlwaysOn=`parentbased_always_on`,TracesSamplerValues$1.ParentBasedTraceIdRatio=`parentbased_traceidratio`,TracesSamplerValues$1.TraceIdRatio=`traceidratio`})(TracesSamplerValues||={});let DEFAULT_RATIO=1;function loadDefaultConfig(){return{sampler:buildSamplerFromEnv(),forceFlushTimeoutMillis:3e4,generalLimits:{attributeValueLengthLimit:(0,core_1$9.getNumberFromEnv)(`OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT`)??1/0,attributeCountLimit:(0,core_1$9.getNumberFromEnv)(`OTEL_ATTRIBUTE_COUNT_LIMIT`)??128},spanLimits:{attributeValueLengthLimit:(0,core_1$9.getNumberFromEnv)(`OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT`)??1/0,attributeCountLimit:(0,core_1$9.getNumberFromEnv)(`OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT`)??128,linkCountLimit:(0,core_1$9.getNumberFromEnv)(`OTEL_SPAN_LINK_COUNT_LIMIT`)??128,eventCountLimit:(0,core_1$9.getNumberFromEnv)(`OTEL_SPAN_EVENT_COUNT_LIMIT`)??128,attributePerEventCountLimit:(0,core_1$9.getNumberFromEnv)(`OTEL_SPAN_ATTRIBUTE_PER_EVENT_COUNT_LIMIT`)??128,attributePerLinkCountLimit:(0,core_1$9.getNumberFromEnv)(`OTEL_SPAN_ATTRIBUTE_PER_LINK_COUNT_LIMIT`)??128}}}exports.loadDefaultConfig=loadDefaultConfig;function buildSamplerFromEnv(){let sampler=(0,core_1$9.getStringFromEnv)(`OTEL_TRACES_SAMPLER`)??TracesSamplerValues.ParentBasedAlwaysOn;switch(sampler){case TracesSamplerValues.AlwaysOn:return new AlwaysOnSampler_1$1.AlwaysOnSampler;case TracesSamplerValues.AlwaysOff:return new AlwaysOffSampler_1$1.AlwaysOffSampler;case TracesSamplerValues.ParentBasedAlwaysOn:return new ParentBasedSampler_1$1.ParentBasedSampler({root:new AlwaysOnSampler_1$1.AlwaysOnSampler});case TracesSamplerValues.ParentBasedAlwaysOff:return new ParentBasedSampler_1$1.ParentBasedSampler({root:new AlwaysOffSampler_1$1.AlwaysOffSampler});case TracesSamplerValues.TraceIdRatio:return new TraceIdRatioBasedSampler_1$1.TraceIdRatioBasedSampler(getSamplerProbabilityFromEnv());case TracesSamplerValues.ParentBasedTraceIdRatio:return new ParentBasedSampler_1$1.ParentBasedSampler({root:new TraceIdRatioBasedSampler_1$1.TraceIdRatioBasedSampler(getSamplerProbabilityFromEnv())});default:return api_1$5.diag.error(`OTEL_TRACES_SAMPLER value "${sampler}" invalid, defaulting to "${TracesSamplerValues.ParentBasedAlwaysOn}".`),new ParentBasedSampler_1$1.ParentBasedSampler({root:new AlwaysOnSampler_1$1.AlwaysOnSampler})}}exports.buildSamplerFromEnv=buildSamplerFromEnv;function getSamplerProbabilityFromEnv(){let probability=(0,core_1$9.getNumberFromEnv)(`OTEL_TRACES_SAMPLER_ARG`);return probability==null?(api_1$5.diag.error(`OTEL_TRACES_SAMPLER_ARG is blank, defaulting to 1.`),1):probability<0||probability>1?(api_1$5.diag.error(`OTEL_TRACES_SAMPLER_ARG=${probability} was given, but it is out of range ([0..1]), defaulting to 1.`),1):probability}})),require_utility=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.reconfigureLimits=exports.mergeConfig=exports.DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT=exports.DEFAULT_ATTRIBUTE_COUNT_LIMIT=void 0;let config_1$1=require_config(),core_1$8=require_src$11();exports.DEFAULT_ATTRIBUTE_COUNT_LIMIT=128,exports.DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT=1/0;function mergeConfig(userConfig){let perInstanceDefaults={sampler:(0,config_1$1.buildSamplerFromEnv)()},DEFAULT_CONFIG=(0,config_1$1.loadDefaultConfig)(),target=Object.assign({},DEFAULT_CONFIG,perInstanceDefaults,userConfig);return target.generalLimits=Object.assign({},DEFAULT_CONFIG.generalLimits,userConfig.generalLimits||{}),target.spanLimits=Object.assign({},DEFAULT_CONFIG.spanLimits,userConfig.spanLimits||{}),target}exports.mergeConfig=mergeConfig;function reconfigureLimits(userConfig){let spanLimits=Object.assign({},userConfig.spanLimits);return spanLimits.attributeCountLimit=userConfig.spanLimits?.attributeCountLimit??userConfig.generalLimits?.attributeCountLimit??(0,core_1$8.getNumberFromEnv)(`OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT`)??(0,core_1$8.getNumberFromEnv)(`OTEL_ATTRIBUTE_COUNT_LIMIT`)??exports.DEFAULT_ATTRIBUTE_COUNT_LIMIT,spanLimits.attributeValueLengthLimit=userConfig.spanLimits?.attributeValueLengthLimit??userConfig.generalLimits?.attributeValueLengthLimit??(0,core_1$8.getNumberFromEnv)(`OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT`)??(0,core_1$8.getNumberFromEnv)(`OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT`)??exports.DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT,Object.assign({},userConfig,{spanLimits})}exports.reconfigureLimits=reconfigureLimits})),require_BatchSpanProcessorBase=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$4=(init_esm$5(),__toCommonJS$3(esm_exports$3)),core_1$7=require_src$11();exports.BatchSpanProcessorBase=class{_exporter;_maxExportBatchSize;_maxQueueSize;_scheduledDelayMillis;_exportTimeoutMillis;_isExporting=!1;_finishedSpans=[];_timer;_shutdownOnce;_droppedSpansCount=0;constructor(_exporter,config){this._exporter=_exporter,this._maxExportBatchSize=typeof config?.maxExportBatchSize==`number`?config.maxExportBatchSize:(0,core_1$7.getNumberFromEnv)(`OTEL_BSP_MAX_EXPORT_BATCH_SIZE`)??512,this._maxQueueSize=typeof config?.maxQueueSize==`number`?config.maxQueueSize:(0,core_1$7.getNumberFromEnv)(`OTEL_BSP_MAX_QUEUE_SIZE`)??2048,this._scheduledDelayMillis=typeof config?.scheduledDelayMillis==`number`?config.scheduledDelayMillis:(0,core_1$7.getNumberFromEnv)(`OTEL_BSP_SCHEDULE_DELAY`)??5e3,this._exportTimeoutMillis=typeof config?.exportTimeoutMillis==`number`?config.exportTimeoutMillis:(0,core_1$7.getNumberFromEnv)(`OTEL_BSP_EXPORT_TIMEOUT`)??3e4,this._shutdownOnce=new core_1$7.BindOnceFuture(this._shutdown,this),this._maxExportBatchSize>this._maxQueueSize&&(api_1$4.diag.warn(`BatchSpanProcessor: maxExportBatchSize must be smaller or equal to maxQueueSize, setting maxExportBatchSize to match maxQueueSize`),this._maxExportBatchSize=this._maxQueueSize)}forceFlush(){return this._shutdownOnce.isCalled?this._shutdownOnce.promise:this._flushAll()}onStart(_span,_parentContext){}onEnd(span){this._shutdownOnce.isCalled||(span.spanContext().traceFlags&api_1$4.TraceFlags.SAMPLED)!==0&&this._addToBuffer(span)}shutdown(){return this._shutdownOnce.call()}_shutdown(){return Promise.resolve().then(()=>this.onShutdown()).then(()=>this._flushAll()).then(()=>this._exporter.shutdown())}_addToBuffer(span){if(this._finishedSpans.length>=this._maxQueueSize){this._droppedSpansCount===0&&api_1$4.diag.debug(`maxQueueSize reached, dropping spans`),this._droppedSpansCount++;return}this._droppedSpansCount>0&&(api_1$4.diag.warn(`Dropped ${this._droppedSpansCount} spans because maxQueueSize reached`),this._droppedSpansCount=0),this._finishedSpans.push(span),this._maybeStartTimer()}_flushAll(){return new Promise((resolve$1,reject)=>{let promises$1=[],count=Math.ceil(this._finishedSpans.length/this._maxExportBatchSize);for(let i$1=0,j$1=count;i$1<j$1;i$1++)promises$1.push(this._flushOneBatch());Promise.all(promises$1).then(()=>{resolve$1()}).catch(reject)})}_flushOneBatch(){return this._clearTimer(),this._finishedSpans.length===0?Promise.resolve():new Promise((resolve$1,reject)=>{let timer=setTimeout(()=>{reject(Error(`Timeout`))},this._exportTimeoutMillis);api_1$4.context.with((0,core_1$7.suppressTracing)(api_1$4.context.active()),()=>{let spans;this._finishedSpans.length<=this._maxExportBatchSize?(spans=this._finishedSpans,this._finishedSpans=[]):spans=this._finishedSpans.splice(0,this._maxExportBatchSize);let doExport=()=>this._exporter.export(spans,result=>{clearTimeout(timer),result.code===core_1$7.ExportResultCode.SUCCESS?resolve$1():reject(result.error??Error(`BatchSpanProcessor: span export failed`))}),pendingResources=null;for(let i$1=0,len=spans.length;i$1<len;i$1++){let span=spans[i$1];span.resource.asyncAttributesPending&&span.resource.waitForAsyncAttributes&&(pendingResources??=[],pendingResources.push(span.resource.waitForAsyncAttributes()))}pendingResources===null?doExport():Promise.all(pendingResources).then(doExport,err=>{(0,core_1$7.globalErrorHandler)(err),reject(err)})})})}_maybeStartTimer(){if(this._isExporting)return;let flush=()=>{this._isExporting=!0,this._flushOneBatch().finally(()=>{this._isExporting=!1,this._finishedSpans.length>0&&(this._clearTimer(),this._maybeStartTimer())}).catch(e=>{this._isExporting=!1,(0,core_1$7.globalErrorHandler)(e)})};if(this._finishedSpans.length>=this._maxExportBatchSize)return flush();this._timer===void 0&&(this._timer=setTimeout(()=>flush(),this._scheduledDelayMillis),(0,core_1$7.unrefTimer)(this._timer))}_clearTimer(){this._timer!==void 0&&(clearTimeout(this._timer),this._timer=void 0)}}})),require_BatchSpanProcessor=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let BatchSpanProcessorBase_1=require_BatchSpanProcessorBase();exports.BatchSpanProcessor=class extends BatchSpanProcessorBase_1.BatchSpanProcessorBase{onShutdown(){}}})),require_RandomIdGenerator=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let SPAN_ID_BYTES=8,TRACE_ID_BYTES=16;exports.RandomIdGenerator=class{generateTraceId=getIdGenerator(16);generateSpanId=getIdGenerator(8)};let SHARED_BUFFER=Buffer.allocUnsafe(16);function getIdGenerator(bytes){return function(){for(let i$1=0;i$1<bytes/4;i$1++)SHARED_BUFFER.writeUInt32BE(Math.random()*2**32>>>0,i$1*4);for(let i$1=0;i$1<bytes&&!(SHARED_BUFFER[i$1]>0);i$1++)i$1===bytes-1&&(SHARED_BUFFER[bytes-1]=1);return SHARED_BUFFER.toString(`hex`,0,bytes)}}})),require_node=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.RandomIdGenerator=exports.BatchSpanProcessor=void 0;var BatchSpanProcessor_1=require_BatchSpanProcessor();Object.defineProperty(exports,`BatchSpanProcessor`,{enumerable:!0,get:function(){return BatchSpanProcessor_1.BatchSpanProcessor}});var RandomIdGenerator_1=require_RandomIdGenerator();Object.defineProperty(exports,`RandomIdGenerator`,{enumerable:!0,get:function(){return RandomIdGenerator_1.RandomIdGenerator}})})),require_platform=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.RandomIdGenerator=exports.BatchSpanProcessor=void 0;var node_1=require_node();Object.defineProperty(exports,`BatchSpanProcessor`,{enumerable:!0,get:function(){return node_1.BatchSpanProcessor}}),Object.defineProperty(exports,`RandomIdGenerator`,{enumerable:!0,get:function(){return node_1.RandomIdGenerator}})})),require_Tracer=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api$1=(init_esm$5(),__toCommonJS$3(esm_exports$3)),core_1$6=require_src$11(),Span_1=require_Span(),utility_1$1=require_utility(),platform_1$1=require_platform();exports.Tracer=class{_sampler;_generalLimits;_spanLimits;_idGenerator;instrumentationScope;_resource;_spanProcessor;constructor(instrumentationScope,config,resource,spanProcessor){let localConfig=(0,utility_1$1.mergeConfig)(config);this._sampler=localConfig.sampler,this._generalLimits=localConfig.generalLimits,this._spanLimits=localConfig.spanLimits,this._idGenerator=config.idGenerator||new platform_1$1.RandomIdGenerator,this._resource=resource,this._spanProcessor=spanProcessor,this.instrumentationScope=instrumentationScope}startSpan(name$2,options={},context=api$1.context.active()){options.root&&(context=api$1.trace.deleteSpan(context));let parentSpan=api$1.trace.getSpan(context);if((0,core_1$6.isTracingSuppressed)(context))return api$1.diag.debug(`Instrumentation suppressed, returning Noop Span`),api$1.trace.wrapSpanContext(api$1.INVALID_SPAN_CONTEXT);let parentSpanContext=parentSpan?.spanContext(),spanId=this._idGenerator.generateSpanId(),validParentSpanContext,traceId,traceState;!parentSpanContext||!api$1.trace.isSpanContextValid(parentSpanContext)?traceId=this._idGenerator.generateTraceId():(traceId=parentSpanContext.traceId,traceState=parentSpanContext.traceState,validParentSpanContext=parentSpanContext);let spanKind=options.kind??api$1.SpanKind.INTERNAL,links=(options.links??[]).map(link=>({context:link.context,attributes:(0,core_1$6.sanitizeAttributes)(link.attributes)})),attributes=(0,core_1$6.sanitizeAttributes)(options.attributes),samplingResult=this._sampler.shouldSample(context,traceId,name$2,spanKind,attributes,links);traceState=samplingResult.traceState??traceState;let traceFlags=samplingResult.decision===api$1.SamplingDecision.RECORD_AND_SAMPLED?api$1.TraceFlags.SAMPLED:api$1.TraceFlags.NONE,spanContext={traceId,spanId,traceFlags,traceState};if(samplingResult.decision===api$1.SamplingDecision.NOT_RECORD)return api$1.diag.debug(`Recording is off, propagating context in a non-recording span`),api$1.trace.wrapSpanContext(spanContext);let initAttributes=(0,core_1$6.sanitizeAttributes)(Object.assign(attributes,samplingResult.attributes));return new Span_1.SpanImpl({resource:this._resource,scope:this.instrumentationScope,context,spanContext,name:name$2,kind:spanKind,links,parentSpanContext:validParentSpanContext,attributes:initAttributes,startTime:options.startTime,spanProcessor:this._spanProcessor,spanLimits:this._spanLimits})}startActiveSpan(name$2,arg2,arg3,arg4){let opts,ctx,fn;if(arguments.length<2)return;arguments.length===2?fn=arg2:arguments.length===3?(opts=arg2,fn=arg3):(opts=arg2,ctx=arg3,fn=arg4);let parentContext=ctx??api$1.context.active(),span=this.startSpan(name$2,opts,parentContext),contextWithSpanSet=api$1.trace.setSpan(parentContext,span);return api$1.context.with(contextWithSpanSet,fn,void 0,span)}getGeneralLimits(){return this._generalLimits}getSpanLimits(){return this._spanLimits}}})),require_MultiSpanProcessor=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let core_1$5=require_src$11();exports.MultiSpanProcessor=class{_spanProcessors;constructor(_spanProcessors){this._spanProcessors=_spanProcessors}forceFlush(){let promises$1=[];for(let spanProcessor of this._spanProcessors)promises$1.push(spanProcessor.forceFlush());return new Promise(resolve$1=>{Promise.all(promises$1).then(()=>{resolve$1()}).catch(error=>{(0,core_1$5.globalErrorHandler)(error||Error(`MultiSpanProcessor: forceFlush failed`)),resolve$1()})})}onStart(span,context){for(let spanProcessor of this._spanProcessors)spanProcessor.onStart(span,context)}onEnd(span){for(let spanProcessor of this._spanProcessors)spanProcessor.onEnd(span)}shutdown(){let promises$1=[];for(let spanProcessor of this._spanProcessors)promises$1.push(spanProcessor.shutdown());return new Promise((resolve$1,reject)=>{Promise.all(promises$1).then(()=>{resolve$1()},reject)})}}})),require_BasicTracerProvider=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.BasicTracerProvider=exports.ForceFlushState=void 0;let core_1$4=require_src$11(),resources_1=require_src$10(),Tracer_1=require_Tracer(),config_1=require_config(),MultiSpanProcessor_1=require_MultiSpanProcessor(),utility_1=require_utility();var ForceFlushState;(function(ForceFlushState$1){ForceFlushState$1[ForceFlushState$1.resolved=0]=`resolved`,ForceFlushState$1[ForceFlushState$1.timeout=1]=`timeout`,ForceFlushState$1[ForceFlushState$1.error=2]=`error`,ForceFlushState$1[ForceFlushState$1.unresolved=3]=`unresolved`})(ForceFlushState=exports.ForceFlushState||={}),exports.BasicTracerProvider=class{_config;_tracers=new Map;_resource;_activeSpanProcessor;constructor(config={}){let mergedConfig=(0,core_1$4.merge)({},(0,config_1.loadDefaultConfig)(),(0,utility_1.reconfigureLimits)(config));this._resource=mergedConfig.resource??(0,resources_1.defaultResource)(),this._config=Object.assign({},mergedConfig,{resource:this._resource});let spanProcessors=[];config.spanProcessors?.length&&spanProcessors.push(...config.spanProcessors),this._activeSpanProcessor=new MultiSpanProcessor_1.MultiSpanProcessor(spanProcessors)}getTracer(name$2,version,options){let key=`${name$2}@${version||``}:${options?.schemaUrl||``}`;return this._tracers.has(key)||this._tracers.set(key,new Tracer_1.Tracer({name:name$2,version,schemaUrl:options?.schemaUrl},this._config,this._resource,this._activeSpanProcessor)),this._tracers.get(key)}forceFlush(){let timeout=this._config.forceFlushTimeoutMillis,promises$1=this._activeSpanProcessor._spanProcessors.map(spanProcessor=>new Promise(resolve$1=>{let state,timeoutInterval=setTimeout(()=>{resolve$1(Error(`Span processor did not completed within timeout period of ${timeout} ms`)),state=ForceFlushState.timeout},timeout);spanProcessor.forceFlush().then(()=>{clearTimeout(timeoutInterval),state!==ForceFlushState.timeout&&(state=ForceFlushState.resolved,resolve$1(state))}).catch(error=>{clearTimeout(timeoutInterval),state=ForceFlushState.error,resolve$1(error)})}));return new Promise((resolve$1,reject)=>{Promise.all(promises$1).then(results=>{let errors=results.filter(result=>result!==ForceFlushState.resolved);errors.length>0?reject(errors):resolve$1()}).catch(error=>reject([error]))})}shutdown(){return this._activeSpanProcessor.shutdown()}}})),require_ConsoleSpanExporter=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let core_1$3=require_src$11();exports.ConsoleSpanExporter=class{export(spans,resultCallback){return this._sendSpans(spans,resultCallback)}shutdown(){return this._sendSpans([]),this.forceFlush()}forceFlush(){return Promise.resolve()}_exportInfo(span){return{resource:{attributes:span.resource.attributes},instrumentationScope:span.instrumentationScope,traceId:span.spanContext().traceId,parentSpanContext:span.parentSpanContext,traceState:span.spanContext().traceState?.serialize(),name:span.name,id:span.spanContext().spanId,kind:span.kind,timestamp:(0,core_1$3.hrTimeToMicroseconds)(span.startTime),duration:(0,core_1$3.hrTimeToMicroseconds)(span.duration),attributes:span.attributes,status:span.status,events:span.events,links:span.links}}_sendSpans(spans,done){for(let span of spans)console.dir(this._exportInfo(span),{depth:3});if(done)return done({code:core_1$3.ExportResultCode.SUCCESS})}}})),require_InMemorySpanExporter=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let core_1$2=require_src$11();exports.InMemorySpanExporter=class{_finishedSpans=[];_stopped=!1;export(spans,resultCallback){if(this._stopped)return resultCallback({code:core_1$2.ExportResultCode.FAILED,error:Error(`Exporter has been stopped`)});this._finishedSpans.push(...spans),setTimeout(()=>resultCallback({code:core_1$2.ExportResultCode.SUCCESS}),0)}shutdown(){return this._stopped=!0,this._finishedSpans=[],this.forceFlush()}forceFlush(){return Promise.resolve()}reset(){this._finishedSpans=[]}getFinishedSpans(){return this._finishedSpans}}})),require_SimpleSpanProcessor=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$3=(init_esm$5(),__toCommonJS$3(esm_exports$3)),core_1$1=require_src$11();exports.SimpleSpanProcessor=class{_exporter;_shutdownOnce;_pendingExports;constructor(_exporter){this._exporter=_exporter,this._shutdownOnce=new core_1$1.BindOnceFuture(this._shutdown,this),this._pendingExports=new Set}async forceFlush(){await Promise.all(Array.from(this._pendingExports)),this._exporter.forceFlush&&await this._exporter.forceFlush()}onStart(_span,_parentContext){}onEnd(span){if(this._shutdownOnce.isCalled||(span.spanContext().traceFlags&api_1$3.TraceFlags.SAMPLED)===0)return;let pendingExport=this._doExport(span).catch(err=>(0,core_1$1.globalErrorHandler)(err));this._pendingExports.add(pendingExport),pendingExport.finally(()=>this._pendingExports.delete(pendingExport))}async _doExport(span){span.resource.asyncAttributesPending&&await span.resource.waitForAsyncAttributes?.();let result=await core_1$1.internal._export(this._exporter,[span]);if(result.code!==core_1$1.ExportResultCode.SUCCESS)throw result.error??Error(`SimpleSpanProcessor: span export failed (status ${result})`)}shutdown(){return this._shutdownOnce.call()}_shutdown(){return this._exporter.shutdown()}}})),require_NoopSpanProcessor=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.NoopSpanProcessor=class{onStart(_span,_context){}onEnd(_span){}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}}})),require_src$2=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.SamplingDecision=exports.TraceIdRatioBasedSampler=exports.ParentBasedSampler=exports.AlwaysOnSampler=exports.AlwaysOffSampler=exports.NoopSpanProcessor=exports.SimpleSpanProcessor=exports.InMemorySpanExporter=exports.ConsoleSpanExporter=exports.RandomIdGenerator=exports.BatchSpanProcessor=exports.BasicTracerProvider=void 0;var BasicTracerProvider_1=require_BasicTracerProvider();Object.defineProperty(exports,`BasicTracerProvider`,{enumerable:!0,get:function(){return BasicTracerProvider_1.BasicTracerProvider}});var platform_1=require_platform();Object.defineProperty(exports,`BatchSpanProcessor`,{enumerable:!0,get:function(){return platform_1.BatchSpanProcessor}}),Object.defineProperty(exports,`RandomIdGenerator`,{enumerable:!0,get:function(){return platform_1.RandomIdGenerator}});var ConsoleSpanExporter_1=require_ConsoleSpanExporter();Object.defineProperty(exports,`ConsoleSpanExporter`,{enumerable:!0,get:function(){return ConsoleSpanExporter_1.ConsoleSpanExporter}});var InMemorySpanExporter_1=require_InMemorySpanExporter();Object.defineProperty(exports,`InMemorySpanExporter`,{enumerable:!0,get:function(){return InMemorySpanExporter_1.InMemorySpanExporter}});var SimpleSpanProcessor_1=require_SimpleSpanProcessor();Object.defineProperty(exports,`SimpleSpanProcessor`,{enumerable:!0,get:function(){return SimpleSpanProcessor_1.SimpleSpanProcessor}});var NoopSpanProcessor_1=require_NoopSpanProcessor();Object.defineProperty(exports,`NoopSpanProcessor`,{enumerable:!0,get:function(){return NoopSpanProcessor_1.NoopSpanProcessor}});var AlwaysOffSampler_1=require_AlwaysOffSampler();Object.defineProperty(exports,`AlwaysOffSampler`,{enumerable:!0,get:function(){return AlwaysOffSampler_1.AlwaysOffSampler}});var AlwaysOnSampler_1=require_AlwaysOnSampler();Object.defineProperty(exports,`AlwaysOnSampler`,{enumerable:!0,get:function(){return AlwaysOnSampler_1.AlwaysOnSampler}});var ParentBasedSampler_1=require_ParentBasedSampler();Object.defineProperty(exports,`ParentBasedSampler`,{enumerable:!0,get:function(){return ParentBasedSampler_1.ParentBasedSampler}});var TraceIdRatioBasedSampler_1=require_TraceIdRatioBasedSampler();Object.defineProperty(exports,`TraceIdRatioBasedSampler`,{enumerable:!0,get:function(){return TraceIdRatioBasedSampler_1.TraceIdRatioBasedSampler}});var Sampler_1=require_Sampler();Object.defineProperty(exports,`SamplingDecision`,{enumerable:!0,get:function(){return Sampler_1.SamplingDecision}})})),require_AbstractAsyncHooksContextManager=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let events_1=__require(`events`),ADD_LISTENER_METHODS=[`addListener`,`on`,`once`,`prependListener`,`prependOnceListener`];exports.AbstractAsyncHooksContextManager=class{bind(context,target){return target instanceof events_1.EventEmitter?this._bindEventEmitter(context,target):typeof target==`function`?this._bindFunction(context,target):target}_bindFunction(context,target){let manager=this,contextWrapper=function(...args){return manager.with(context,()=>target.apply(this,args))};return Object.defineProperty(contextWrapper,`length`,{enumerable:!1,configurable:!0,writable:!1,value:target.length}),contextWrapper}_bindEventEmitter(context,ee$1){return this._getPatchMap(ee$1)===void 0?(this._createPatchMap(ee$1),ADD_LISTENER_METHODS.forEach(methodName=>{ee$1[methodName]!==void 0&&(ee$1[methodName]=this._patchAddListener(ee$1,ee$1[methodName],context))}),typeof ee$1.removeListener==`function`&&(ee$1.removeListener=this._patchRemoveListener(ee$1,ee$1.removeListener)),typeof ee$1.off==`function`&&(ee$1.off=this._patchRemoveListener(ee$1,ee$1.off)),typeof ee$1.removeAllListeners==`function`&&(ee$1.removeAllListeners=this._patchRemoveAllListeners(ee$1,ee$1.removeAllListeners)),ee$1):ee$1}_patchRemoveListener(ee$1,original){let contextManager=this;return function(event,listener){let events=contextManager._getPatchMap(ee$1)?.[event];if(events===void 0)return original.call(this,event,listener);let patchedListener=events.get(listener);return original.call(this,event,patchedListener||listener)}}_patchRemoveAllListeners(ee$1,original){let contextManager=this;return function(event){let map=contextManager._getPatchMap(ee$1);return map!==void 0&&(arguments.length===0?contextManager._createPatchMap(ee$1):map[event]!==void 0&&delete map[event]),original.apply(this,arguments)}}_patchAddListener(ee$1,original,context){let contextManager=this;return function(event,listener){if(contextManager._wrapped)return original.call(this,event,listener);let map=contextManager._getPatchMap(ee$1);map===void 0&&(map=contextManager._createPatchMap(ee$1));let listeners=map[event];listeners===void 0&&(listeners=new WeakMap,map[event]=listeners);let patchedListener=contextManager.bind(context,listener);listeners.set(listener,patchedListener),contextManager._wrapped=!0;try{return original.call(this,event,patchedListener)}finally{contextManager._wrapped=!1}}}_createPatchMap(ee$1){let map=Object.create(null);return ee$1[this._kOtListeners]=map,map}_getPatchMap(ee$1){return ee$1[this._kOtListeners]}_kOtListeners=Symbol(`OtListeners`);_wrapped=!1}})),require_AsyncHooksContextManager=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$2=(init_esm$5(),__toCommonJS$3(esm_exports$3)),asyncHooks=__require(`async_hooks`),AbstractAsyncHooksContextManager_1$1=require_AbstractAsyncHooksContextManager();exports.AsyncHooksContextManager=class extends AbstractAsyncHooksContextManager_1$1.AbstractAsyncHooksContextManager{_asyncHook;_contexts=new Map;_stack=[];constructor(){super(),this._asyncHook=asyncHooks.createHook({init:this._init.bind(this),before:this._before.bind(this),after:this._after.bind(this),destroy:this._destroy.bind(this),promiseResolve:this._destroy.bind(this)})}active(){return this._stack[this._stack.length-1]??api_1$2.ROOT_CONTEXT}with(context,fn,thisArg,...args){this._enterContext(context);try{return fn.call(thisArg,...args)}finally{this._exitContext()}}enable(){return this._asyncHook.enable(),this}disable(){return this._asyncHook.disable(),this._contexts.clear(),this._stack=[],this}_init(uid,type){if(type===`TIMERWRAP`)return;let context=this._stack[this._stack.length-1];context!==void 0&&this._contexts.set(uid,context)}_destroy(uid){this._contexts.delete(uid)}_before(uid){let context=this._contexts.get(uid);context!==void 0&&this._enterContext(context)}_after(){this._exitContext()}_enterContext(context){this._stack.push(context)}_exitContext(){this._stack.pop()}}})),require_AsyncLocalStorageContextManager=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$1=(init_esm$5(),__toCommonJS$3(esm_exports$3)),async_hooks_1=__require(`async_hooks`),AbstractAsyncHooksContextManager_1=require_AbstractAsyncHooksContextManager();exports.AsyncLocalStorageContextManager=class extends AbstractAsyncHooksContextManager_1.AbstractAsyncHooksContextManager{_asyncLocalStorage;constructor(){super(),this._asyncLocalStorage=new async_hooks_1.AsyncLocalStorage}active(){return this._asyncLocalStorage.getStore()??api_1$1.ROOT_CONTEXT}with(context,fn,thisArg,...args){let cb=thisArg==null?fn:fn.bind(thisArg);return this._asyncLocalStorage.run(context,cb,...args)}enable(){return this}disable(){return this._asyncLocalStorage.disable(),this}}})),require_src$1=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.AsyncLocalStorageContextManager=exports.AsyncHooksContextManager=void 0;var AsyncHooksContextManager_1=require_AsyncHooksContextManager();Object.defineProperty(exports,`AsyncHooksContextManager`,{enumerable:!0,get:function(){return AsyncHooksContextManager_1.AsyncHooksContextManager}});var AsyncLocalStorageContextManager_1=require_AsyncLocalStorageContextManager();Object.defineProperty(exports,`AsyncLocalStorageContextManager`,{enumerable:!0,get:function(){return AsyncLocalStorageContextManager_1.AsyncLocalStorageContextManager}})})),require_NodeTracerProvider=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let context_async_hooks_1=require_src$1(),sdk_trace_base_1$1=require_src$2(),api_1=(init_esm$5(),__toCommonJS$3(esm_exports$3)),core_1=require_src$11();function setupContextManager(contextManager){if(contextManager!==null){if(contextManager===void 0){let defaultContextManager=new context_async_hooks_1.AsyncLocalStorageContextManager;defaultContextManager.enable(),api_1.context.setGlobalContextManager(defaultContextManager);return}contextManager.enable(),api_1.context.setGlobalContextManager(contextManager)}}function setupPropagator(propagator){if(propagator!==null){if(propagator===void 0){api_1.propagation.setGlobalPropagator(new core_1.CompositePropagator({propagators:[new core_1.W3CTraceContextPropagator,new core_1.W3CBaggagePropagator]}));return}api_1.propagation.setGlobalPropagator(propagator)}}exports.NodeTracerProvider=class extends sdk_trace_base_1$1.BasicTracerProvider{constructor(config={}){super(config)}register(config={}){api_1.trace.setGlobalTracerProvider(this),setupContextManager(config.contextManager),setupPropagator(config.propagator)}}})),require_src=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.TraceIdRatioBasedSampler=exports.SimpleSpanProcessor=exports.SamplingDecision=exports.RandomIdGenerator=exports.ParentBasedSampler=exports.NoopSpanProcessor=exports.InMemorySpanExporter=exports.ConsoleSpanExporter=exports.BatchSpanProcessor=exports.BasicTracerProvider=exports.AlwaysOnSampler=exports.AlwaysOffSampler=exports.NodeTracerProvider=void 0;var NodeTracerProvider_1=require_NodeTracerProvider();Object.defineProperty(exports,`NodeTracerProvider`,{enumerable:!0,get:function(){return NodeTracerProvider_1.NodeTracerProvider}});var sdk_trace_base_1=require_src$2();Object.defineProperty(exports,`AlwaysOffSampler`,{enumerable:!0,get:function(){return sdk_trace_base_1.AlwaysOffSampler}}),Object.defineProperty(exports,`AlwaysOnSampler`,{enumerable:!0,get:function(){return sdk_trace_base_1.AlwaysOnSampler}}),Object.defineProperty(exports,`BasicTracerProvider`,{enumerable:!0,get:function(){return sdk_trace_base_1.BasicTracerProvider}}),Object.defineProperty(exports,`BatchSpanProcessor`,{enumerable:!0,get:function(){return sdk_trace_base_1.BatchSpanProcessor}}),Object.defineProperty(exports,`ConsoleSpanExporter`,{enumerable:!0,get:function(){return sdk_trace_base_1.ConsoleSpanExporter}}),Object.defineProperty(exports,`InMemorySpanExporter`,{enumerable:!0,get:function(){return sdk_trace_base_1.InMemorySpanExporter}}),Object.defineProperty(exports,`NoopSpanProcessor`,{enumerable:!0,get:function(){return sdk_trace_base_1.NoopSpanProcessor}}),Object.defineProperty(exports,`ParentBasedSampler`,{enumerable:!0,get:function(){return sdk_trace_base_1.ParentBasedSampler}}),Object.defineProperty(exports,`RandomIdGenerator`,{enumerable:!0,get:function(){return sdk_trace_base_1.RandomIdGenerator}}),Object.defineProperty(exports,`SamplingDecision`,{enumerable:!0,get:function(){return sdk_trace_base_1.SamplingDecision}}),Object.defineProperty(exports,`SimpleSpanProcessor`,{enumerable:!0,get:function(){return sdk_trace_base_1.SimpleSpanProcessor}}),Object.defineProperty(exports,`TraceIdRatioBasedSampler`,{enumerable:!0,get:function(){return sdk_trace_base_1.TraceIdRatioBasedSampler}})}));const APIServerURLEnvironmentVariable=`BLINK_API_URL`;init_esm$5();var import_src=__toESM(require_src$7()),import_src$1=__toESM(require_src$4()),import_src$2=__toESM(require_src$3()),import_src$3=__toESM(require_src$10()),import_src$4=__toESM(require_src$2()),import_src$5=__toESM(require_src());init_esm$1();let otelProvider,consolePatched=!1;function isPlainRecord(val){if(typeof val!=`object`||!val||Array.isArray(val)||Object.prototype.toString.call(val)!==`[object Object]`)return!1;let proto=Object.getPrototypeOf(val);return proto===Object.prototype||proto===null}const patchGlobalConsole=()=>{let inLambda=!!process.env.AWS_LAMBDA_FUNCTION_VERSION,useStructuredLogging=!!process.env.BLINK_USE_STRUCTURED_LOGGING;if(!inLambda&&!useStructuredLogging||consolePatched)return;consolePatched=!0;let safeTransform=args=>{let payload;payload=args.length===1?typeof args[0]==`string`?{message:args[0]}:isPlainRecord(args[0])?args[0]:{message:util.inspect(args[0])}:{message:util.inspect(args)};let safePayload;try{safePayload=JSON.parse(JSON.stringify(payload))}catch{safePayload={message:util.inspect(payload)}}let activeSpanContext=trace.getActiveSpan()?.spanContext();return activeSpanContext&&(safePayload={...safePayload,trace_id:activeSpanContext.traceId,span_id:activeSpanContext.spanId}),safePayload},structuredLog=(level,originalLog)=>(...args)=>{let safePayload=safeTransform(args);if(inLambda){originalLog(safePayload);return}originalLog(JSON.stringify({level,...safePayload}))};console.log=structuredLog(`info`,console.log),console.error=structuredLog(`error`,console.error),console.warn=structuredLog(`warn`,console.warn),console.info=structuredLog(`info`,console.info),console.debug=structuredLog(`info`,console.debug),console.trace=structuredLog(`info`,console.trace)};var FilteringSpanProcessor=class{constructor(delegate,shouldExport){this.delegate=delegate,this.shouldExport=shouldExport}onStart(span,parentContext){this.delegate.onStart(span,parentContext)}onEnd(span){this.shouldExport(span)&&this.delegate.onEnd(span)}async shutdown(){return this.delegate.shutdown()}async forceFlush(){return this.delegate.forceFlush()}};function initOtel(){if(otelProvider)return otelProvider;patchGlobalConsole();let apiUrl=process.env[APIServerURLEnvironmentVariable],provider=new import_src$5.NodeTracerProvider({resource:(0,import_src$3.resourceFromAttributes)({[ATTR_SERVICE_NAME]:`blink.agent`}),spanProcessors:apiUrl?[new FilteringSpanProcessor(new import_src$4.BatchSpanProcessor(new import_src.OTLPTraceExporter({url:new URL(`/otlp/v1/traces`,apiUrl).toString()})),span=>{let urlPath=span.attributes[`url.path`];return!(span.instrumentationScope.name.includes(`opentelemetry`)&&typeof urlPath==`string`&&urlPath.endsWith(`v1/traces`))})]:[]});return provider.register(),(0,import_src$1.registerInstrumentations)({instrumentations:[new import_src$2.UndiciInstrumentation({requireParentforSpans:!0})]}),otelProvider=provider,provider}const otelMiddleware=async(c,next)=>{initOtel();let pathname=new URL(c.req.raw.url).pathname;return pathname.startsWith(`/_agent/flush-otel`)?await next():await trace.getTracer(`blink`).startActiveSpan(`${c.req.method} ${pathname}`,async span=>{try{return await next()}finally{try{span.end()}catch(err){console.warn(`Error flushing OpenTelemetry`,err)}flushOtel()}})},flushOtel=async()=>{try{if(!otelProvider)return;await otelProvider.forceFlush()}catch(err){console.warn(`Error flushing OpenTelemetry`,err)}};init_esm$5();var Agent$2=class{client;listeners={chat:[],ui:[],request:[],error:[]};constructor(){let apiUrl=process.env.BLINK_API_URL;this.client=hc(process.env.BLINK_API_URL??``,{fetch:apiUrl?void 0:async()=>{throw console.warn(`Your code is attempting to use the Blink API server, but no API server is configured for this Blink agent.`),Error(`No API server is configured for this Blink agent. External APIs are not available.`)}})}chat={upsert:async key=>{let response=await this.client.chat[`:key`].$post({param:{key:JSON.stringify(key)}});if(response.status!==200)throw Error(`Failed to upsert chat!`);return response.json()},get:async id=>{let response=await this.client.chat[`:id`].$get({param:{id}});if(response.status!==200)throw Error(`Failed to get chat!`);return response.json()},getMessages:async id=>{let response=await this.client.chat[`:id`].messages.$get({param:{id}});if(response.status!==200)throw Error(`Failed to get messages!`);return await response.json()},sendMessages:async(id,messages,options)=>{if((await this.client.chat[`:id`].sendMessages.$post({param:{id},json:{id,messages,options:options??{}}})).status!==204)throw Error(`Failed to send messages!`)},deleteMessages:async(id,messages)=>{if((await this.client.chat[`:id`].messages.$delete({param:{id},query:{message:messages}})).status!==204)throw Error(`Failed to delete messages!`)},start:async id=>{if((await this.client.chat[`:id`].start.$post({param:{id}})).status!==204)throw Error(`Failed to start chat!`)},stop:async id=>{if((await this.client.chat[`:id`].stop.$post({param:{id}})).status!==204)throw Error(`Failed to stop chat!`)},delete:async id=>{if((await this.client.chat[`:id`].$delete({param:{id}})).status!==204)throw Error(`Failed to delete chat!`)}};store={get:async key=>{let response=await this.client.kv[`:key`].$get({param:{key:encodeURIComponent(key)}});if(response.status!==200)throw Error(`Failed to get value!`);let{value}=await response.json();return value},set:async(key,value)=>{if((await this.client.kv[`:key`].$post({param:{key:encodeURIComponent(key)},json:{value}})).status!==204)throw Error(`Failed to set value!`)},delete:async key=>{if((await this.client.kv[`:key`].$delete({param:{key:encodeURIComponent(key)}})).status!==204)throw Error(`Failed to delete value!`)},list:async(prefix,options)=>{let response=await this.client.kv.$get({query:{prefix:prefix?encodeURIComponent(prefix):void 0,limit:options?.limit,cursor:options?.cursor}});if(response.status!==200)throw Error(`Failed to list values!`);return response.json()}};on(event,handler){return this.listeners[event]=[...this.listeners[event]??[],handler],this}serve(options){return options||={},options.host||=process.env.HOST??`127.0.0.1`,options.port||=parseInt(process.env.PORT??`3000`),options.apiUrl&&(this.client=hc(options.apiUrl)),http$1.createServer(createServerAdapter(req=>this.fetch(req))).listen(options?.port??3e3,options?.host??`127.0.0.1`)}fetch(request$2){return api.fetch(request$2,{listeners:this.listeners})}};function agent(){return new Agent$2}const api=new Hono().use(otelMiddleware).post(`/_agent/chat`,validator(`json`,body=>({messages:body.messages,id:body.id})),async c=>{let handlers=c.env.listeners.chat,req=c.req.valid(`json`);for(let handler of handlers){let result;try{result=await handler({id:req.id,messages:req.messages,abortSignal:c.req.raw.signal})}catch(err){if(err instanceof CustomChatResponseError)result=err.response;else throw err}if(!result)continue;if(result instanceof Response)return result;let stream;if(result instanceof ReadableStream)stream=result;else if(typeof result==`object`&&`toUIMessageStream`in result)stream=result.toUIMessageStream({messageMetadata:({part})=>{switch(part.type){case`finish`:return{totalUsage:part.totalUsage};case`finish-step`:return{usage:part.usage,model:part.response.modelId}}}});else throw Error(`Invalid chat handler result! Must be a Response, ReadableStream, or toUIMessageStream function.`);return new Response(stream.pipeThrough(new TransformStream({transform(chunk,controller){controller.enqueue(`data: ${JSON.stringify(chunk)}\n\n`)},flush(controller){controller.enqueue(`data: [DONE]
|
|
49
49
|
|
|
50
50
|
`)}})).pipeThrough(new TextEncoderStream),{headers:sseHeaders})}return c.json({error:`No chat handlers found.`},404)}).get(`/_agent/capabilities`,async c=>{let handlers=c.env.listeners,capabilities={ui:handlers.ui.length>0,chat:handlers.chat.length>0,request:handlers.request.length>0,error:handlers.error.length>0};return c.json(capabilities,200)}).get(`/_agent/health`,async c=>c.body(`OK`,200)).get(`/_agent/ui`,async c=>{let selectedOptionsRaw=c.req.query(`selected_options`),selectedOptions;if(selectedOptionsRaw)try{selectedOptions=JSON.parse(selectedOptionsRaw)}catch{return c.json({error:`Invalid selected_options query parameter!`},400)}let handlers=c.env.listeners.ui;for(let handler of handlers){let result=await handler({selectedOptions});if(result)return c.json(result,200)}return c.json({error:`No UI listener returned a response`},404)}).post(`/_agent/flush-otel`,async c=>(await flushOtel(),c.body(null,204))).all(`*`,async c=>{let handlers=c.env.listeners.request;for(let handler of handlers){let result=await handler(c.req.raw);if(result)return result}return c.json({error:`No request handlers found.`},404)}).onError((err,c)=>{console.error(`Agent error:`,err);let activeSpan=trace.getActiveSpan();return activeSpan&&(activeSpan.recordException(err),activeSpan.setStatus({code:SpanStatusCode.ERROR})),c.json({error:`Internal server error`},500)}),sseHeaders={"content-type":`text/event-stream`,"cache-control":`no-cache, no-transform`,connection:`keep-alive`,"x-accel-buffering":`no`},waitUntilSymbol=Symbol.for(`@blink/waitUntil`);function waitUntil(promise){let waitUntil$1=globalThis[waitUntilSymbol];waitUntil$1&&waitUntil$1(promise)}function toolWithApproval(tool$1){return tool$1}const tools=Object.freeze({withContext(tools$1,context){let withTools={};for(let key of Object.keys(tools$1))withTools[key]=tools$1[key].withContext(context);return withTools},with(tools$1,context){let withTools={};for(let key of Object.keys(tools$1))withTools[key]=tools$1[key].withContext(context);return withTools},async withApproval(options){let newTools={};for(let[key,tool$1]of Object.entries(options.tools)){let originalExecute=tool$1.execute;newTools[key]={...tool$1,execute:async(input,options$1)=>tool$1.autoApprove&&originalExecute&&await tool$1.autoApprove(input)?originalExecute(input,options$1):{type:`tool-approval`,outcome:`pending`}}}let lastMessage=options.messages[options.messages.length-1];if(!lastMessage?.parts)return newTools;let toolsToRun=[];for(let part of lastMessage.parts){if(!isToolUIPart(part))continue;let toolName=getToolName(part),tool$1=options.tools[toolName];tool$1&&part.state===`output-available`&&tool$1.execute&&isToolApprovalOutput(part.output)&&part.output.outcome===`approved`&&toolsToRun.push({toolName:getToolName(part),tool:tool$1,input:part.input,toolCallId:part.toolCallId})}if(toolsToRun.length>0){let stream=createUIMessageStream({execute:async({writer})=>{writer.write({type:`start-step`}),await Promise.all(toolsToRun.map(async toRun=>{if(!toRun.tool.execute)throw Error(`Tool does not support execute.`);writer.write({type:`tool-input-available`,toolCallId:toRun.toolCallId,toolName:toRun.toolName,input:toRun.input});try{let result=await toRun.tool.execute(toRun.input,{toolCallId:toRun.toolCallId,messages:convertToModelMessages(options.messages,{tools:options.tools}),abortSignal:options.abortSignal}),lastOutput=result;if(isAsyncIterable(result))for await(let chunk of result)lastOutput=chunk,writer.write({type:`tool-output-available`,toolCallId:toRun.toolCallId,output:chunk,preliminary:!0});writer.write({type:`tool-output-available`,toolCallId:toRun.toolCallId,output:lastOutput})}catch(err){writer.write({type:`tool-output-error`,toolCallId:toRun.toolCallId,errorText:err instanceof Error?err.message:String(err)})}})),writer.write({type:`finish`})}});throw new CustomChatResponseError(`Executing tools`,stream)}return newTools},prefix(tools$1,prefix){let prefixed={};for(let[key,tool$1]of Object.entries(tools$1))prefixed[`${prefix}${key}`]=tool$1;return prefixed}});function isToolApprovalOutput(output){return typeof output==`object`&&!!output&&`type`in output&&output.type===`tool-approval`}function lastUIOptions(messages){for(let i$1=messages.length-1;i$1>=0;i$1--){let message=messages[i$1];if(message!==void 0&&message.role===`user`&&!(typeof message.metadata!=`object`||message.metadata===null)&&`options`in message.metadata)return message.metadata.options}}const StreamResponseFormatHeader=`x-blink-stream-response-format`;function withResponseFormat(response,format){let headers=new Headers(response.headers);return headers.set(StreamResponseFormatHeader,format),new Response(response.body,{status:response.status,statusText:response.statusText,headers})}export{APICallError,APIServerURLEnvironmentVariable,Agent$2 as Agent,EmptyResponseBodyError,EventSourceParserStream,Hono,InvalidArgumentError,InvalidPromptError,InvalidResponseDataError,JSONParseError,LoadAPIKeyError,NoSuchModelError,StreamResponseFormatHeader,TooManyEmbeddingValuesForCallError,TypeValidationError,UnsupportedFunctionalityError,agent,api,createGatewayProvider,createServerAdapter,hc,isToolApprovalOutput,lastUIOptions,toolWithApproval,tools,validator,waitUntil,withResponseFormat};
|