UNPKG

@juspay/neurolink

Version:

Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio

4 lines 5.06 MB
var EZe=Object.create;var pD=Object.defineProperty;var kZe=Object.getOwnPropertyDescriptor;var CZe=Object.getOwnPropertyNames;var RZe=Object.getPrototypeOf,AZe=Object.prototype.hasOwnProperty;var vme=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var E=(r,e)=>()=>(r&&(e=r(r=0)),e);var st=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),ee=(r,e)=>{for(var t in e)pD(r,t,{get:e[t],enumerable:!0})},xme=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of CZe(e))!AZe.call(r,o)&&o!==t&&pD(r,o,{get:()=>e[o],enumerable:!(n=kZe(e,o))||n.enumerable});return r};var Po=(r,e,t)=>(t=r!=null?EZe(RZe(r)):{},xme(e||!r||!r.__esModule?pD(t,"default",{value:r,enumerable:!0}):t,r)),tr=r=>xme(pD({},"__esModule",{value:!0}),r);var u6={};ee(u6,{ATTR_SERVICE_NAME:()=>oXe,ATTR_SERVICE_VERSION:()=>sXe,AsyncLocalStorageContextManager:()=>rXe,BasicTracerProvider:()=>BZe,BatchLogRecordProcessor:()=>YZe,BatchSpanProcessor:()=>GZe,DiagConsoleLogger:()=>PZe,DiagLogLevel:()=>OZe,INVALID_SPAN_CONTEXT:()=>UZe,LangfuseSpanProcessor:()=>ZZe,LoggerProvider:()=>XZe,MeterProvider:()=>QZe,NodeSDK:()=>$Ze,NodeTracerProvider:()=>zZe,OTLPLogExporter:()=>qZe,OTLPMetricExporter:()=>HZe,OTLPTraceExporter:()=>VZe,PeriodicExportingMetricReader:()=>eXe,SEMRESATTRS_SERVICE_NAME:()=>iXe,SEMRESATTRS_SERVICE_VERSION:()=>aXe,SeverityNumber:()=>tXe,SimpleSpanProcessor:()=>jZe,SpanKind:()=>Rr,SpanStatusCode:()=>ye,TraceFlags:()=>IZe,ValueType:()=>MZe,W3CTraceContextPropagator:()=>nXe,baggageEntryMetadataFromString:()=>FZe,context:()=>$r,default:()=>cXe,diag:()=>l6,getNodeAutoInstrumentations:()=>WZe,isSpanContextValid:()=>NZe,isValidSpanId:()=>LZe,isValidTraceId:()=>DZe,metrics:()=>sf,propagation:()=>gv,registerInstrumentations:()=>KZe,resourceFromAttributes:()=>JZe,trace:()=>ut});var a6,mD,c6,fD,ut,$r,gv,sf,l6,ye,Rr,IZe,PZe,OZe,MZe,NZe,DZe,LZe,UZe,FZe,$Ze,BZe,zZe,jZe,GZe,VZe,qZe,HZe,WZe,KZe,JZe,ZZe,XZe,YZe,QZe,eXe,tXe,rXe,nXe,oXe,sXe,iXe,aXe,cXe,Ar=E(()=>{a6={setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){},isRecording(){return!1},recordException(){},spanContext(){return{traceId:"0",spanId:"0",traceFlags:0}}},mD={startSpan(){return a6},startActiveSpan(r,e,t){return(typeof e=="function"?e:t)(a6)}},c6={createCounter(){return{add(){}}},createHistogram(){return{record(){}}},createUpDownCounter(){return{add(){}}},createObservableGauge(){return{addCallback(){}}}},fD={getValue(){},setValue(){return fD},deleteValue(){return fD}},ut={getTracer(){return mD},getTracerProvider(){return{getTracer(){return mD}}},setGlobalTracerProvider(){},getSpan(){return a6},getActiveSpan(){},setSpan(r){return r},deleteSpan(r){return r},setSpanContext(r){return r},getSpanContext(){}},$r={active(){return fD},with(r,e){return e()},bind(r,e){return e},setValue(){return fD},getValue(){}},gv={inject(){},extract(r){return r},setGlobalPropagator(){},getBaggage(){},setBaggage(r){return r},createBaggage(){return{getAllEntries(){return[]},getEntry(){},setEntry(){return this},removeEntry(){return this}}}},sf={getMeter(){return c6},getMeterProvider(){return{getMeter(){return c6}}},setGlobalMeterProvider(){}},l6={setLogger(){},verbose(){},debug(){},info(){},warn(){},error(){},createComponentLogger(){return l6}},ye={UNSET:0,OK:1,ERROR:2},Rr={INTERNAL:0,SERVER:1,CLIENT:2,PRODUCER:3,CONSUMER:4},IZe={NONE:0,SAMPLED:1},PZe=class{},OZe={NONE:0,ERROR:30,WARN:50,INFO:60,DEBUG:70,VERBOSE:80,ALL:9999},MZe={INT:0,DOUBLE:1},NZe=()=>!1,DZe=()=>!1,LZe=()=>!1,UZe={traceId:"0",spanId:"0",traceFlags:0},FZe=()=>({}),$Ze=class{start(){}shutdown(){return Promise.resolve()}},BZe=class{constructor(){}register(){}addSpanProcessor(){}getTracer(){return mD}shutdown(){return Promise.resolve()}},zZe=class{register(){}addSpanProcessor(){}getTracer(){return mD}shutdown(){return Promise.resolve()}},jZe=class{onStart(){}onEnd(){}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}},GZe=class{onStart(){}onEnd(){}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}},VZe=class{export(){}shutdown(){return Promise.resolve()}},qZe=class{export(){}shutdown(){return Promise.resolve()}},HZe=class{constructor(){}export(){}shutdown(){return Promise.resolve()}},WZe=()=>[],KZe=()=>{},JZe=r=>({attributes:r||{},merge(){return this}}),ZZe=class{onStart(){}onEnd(){}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}},XZe=class{constructor(){}getLogger(){return{emit(){}}}forceFlush(){return Promise.resolve()}shutdown(){return Promise.resolve()}},YZe=class{onStart(){}onEnd(){}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}},QZe=class{constructor(){}getMeter(){return c6}addMetricReader(){}forceFlush(){return Promise.resolve()}shutdown(){return Promise.resolve()}},eXe=class{constructor(){}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}},tXe={UNSPECIFIED:0,TRACE:1,TRACE2:2,TRACE3:3,TRACE4:4,DEBUG:5,DEBUG2:6,DEBUG3:7,DEBUG4:8,INFO:9,INFO2:10,INFO3:11,INFO4:12,WARN:13,WARN2:14,WARN3:15,WARN4:16,ERROR:17,ERROR2:18,ERROR3:19,ERROR4:20,FATAL:21,FATAL2:22,FATAL3:23,FATAL4:24},rXe=class{enable(){return this}disable(){return this}},nXe=class{inject(){}extract(r){return r}fields(){return[]}},oXe="service.name",sXe="service.version",iXe="service.name",aXe="service.version",cXe={trace:ut,context:$r,propagation:gv,metrics:sf,diag:l6,SpanStatusCode:ye,SpanKind:Rr}});var ce,Ir=E(()=>{"use strict";Ar();ce={sdk:ut.getTracer("neurolink"),provider:ut.getTracer("neurolink.provider"),generation:ut.getTracer("neurolink.generation"),stream:ut.getTracer("neurolink.stream"),http:ut.getTracer("neurolink.http"),mcp:ut.getTracer("neurolink.mcp"),memory:ut.getTracer("neurolink.memory"),redis:ut.getTracer("neurolink.redis"),factory:ut.getTracer("neurolink.factory"),rag:ut.getTracer("neurolink.rag"),context:ut.getTracer("neurolink.context"),middleware:ut.getTracer("neurolink.middleware"),processor:ut.getTracer("neurolink.processor"),file:ut.getTracer("neurolink.file"),autoresearch:ut.getTracer("neurolink.autoresearch"),auth:ut.getTracer("neurolink.auth"),workflow:ut.getTracer("neurolink.workflow")}});async function lXe(){return d6||(d6=Promise.resolve().then(()=>(Ar(),u6)).then(r=>(hD=r,r)).catch(()=>null)),d6}function gD(r,e){if(r.length===0)return;let t=(()=>{try{return typeof r[0]=="string"?r[0]:JSON.stringify(r[0])}catch{return"[Unserializable Object]"}})(),n=r.length===2?r[1]:r.length>2?r.slice(1):void 0;e(t,n)}var hD,d6,uXe,p6,_i,g,ie,br,K=E(()=>{"use strict";hD=null,d6=null;lXe();uXe={debug:"DEBUG",info:"INFO",warn:"WARN",error:"ERROR"},p6=class{logLevel="info";logs=[];maxLogs=1e3;isDebugMode;eventEmitter;constructor(){this.isDebugMode=process.argv.includes("--debug")||process.env.NEUROLINK_DEBUG==="true";let e=process.env.NEUROLINK_LOG_LEVEL?.toLowerCase();e&&["debug","info","warn","error"].includes(e)&&(this.logLevel=e)}setEventEmitter(e){this.eventEmitter=e}clearEventEmitter(){this.eventEmitter=void 0}setLogLevel(e){this.logLevel=e}shouldLog(e){if(!(process.argv.includes("--debug")||process.env.NEUROLINK_DEBUG==="true")&&e!=="error")return!1;let n=["debug","info","warn","error"];return n.indexOf(e)>=n.indexOf(this.logLevel)}getLogPrefix(e,t){return`[${e}] [NEUROLINK:${uXe[t]}]`}getTraceContext(){if(!hD)return{};try{let e=hD.trace.getSpan(hD.context.active());if(!e)return{};let t=e.spanContext();return!t||t.traceId==="00000000000000000000000000000000"?{}:{trace_id:t.traceId,span_id:t.spanId,trace_flags:String(t.traceFlags)}}catch{return{}}}serializeData(e){if(e==null||typeof e!="object")return String(e);try{return JSON.stringify(e,(t,n)=>n instanceof Error?{name:n.name,message:n.message,stack:n.stack}:n)}catch{let t=[];try{return JSON.stringify(e,function(n,o){if(o instanceof Error)return{name:o.name,message:o.message,stack:o.stack};if(typeof o=="object"&&o!==null){if(t.includes(o))return"[Circular]";t.push(o)}return o})}catch{return"[Unserializable Object]"}}}outputToConsole(e,t,n,o){let s={debug:console.debug,info:console.info,warn:console.warn,error:console.error}[e],i=this.getTraceContext(),a=i.trace_id?` [trace_id=${i.trace_id} span_id=${i.span_id}]`:"";o!=null?s(t+a,n,this.serializeData(o)):s(t+a,n)}log(e,t,n){if(!this.shouldLog(e))return;let o={level:e,message:t,timestamp:new Date,data:n};if(this.eventEmitter)try{this.eventEmitter.emit("log-event",{level:e,message:t,timestamp:new Date().getTime(),data:n})}catch{}this.logs.push(o),this.logs.length>this.maxLogs&&(this.logs=this.logs.slice(-this.maxLogs));let s=o.timestamp.toISOString(),i=this.getLogPrefix(s,e);this.outputToConsole(e,i,t,n)}debug(e,t){this.log("debug",e,t)}info(e,t){this.log("info",e,t)}warn(e,t){this.log("warn",e,t)}error(e,t){this.log("error",e,t)}getLogs(e){return e?this.logs.filter(t=>t.level===e):[...this.logs]}clearLogs(){this.logs=[]}always(...e){console.log(...e)}table(e){console.table(e)}},_i=new p6;g={debug:(...r)=>{_i.shouldLog("debug")&&gD(r,(e,t)=>_i.debug(e,t))},info:(...r)=>{_i.shouldLog("info")&&gD(r,(e,t)=>_i.info(e,t))},warn:(...r)=>{_i.shouldLog("warn")&&gD(r,(e,t)=>_i.warn(e,t))},error:(...r)=>{_i.shouldLog("error")&&gD(r,(e,t)=>_i.error(e,t))},always:(...r)=>{_i.always(...r)},table:r=>{_i.table(r)},shouldLog:r=>_i.shouldLog(r),setLogLevel:r=>_i.setLogLevel(r),getLogs:r=>_i.getLogs(r),clearLogs:()=>_i.clearLogs(),setEventEmitter:r=>_i.setEventEmitter(r),clearEventEmitter:()=>_i.clearEventEmitter()},ie=_i,br=_i});var m6={};ee(m6,{ProviderFactory:()=>In,createAIProvider:()=>dXe});async function dXe(r,e,t){return await In.createProvider(r,e,void 0,void 0,t)}var In,Bu=E(()=>{"use strict";K();In=class r{static providers=new Map;static initialized=!1;static registerProvider(e,t,n,o=[]){let s={constructor:t,defaultModel:n,aliases:o};r.providers.set(e.toLowerCase(),s),o.forEach(i=>{r.providers.set(i.toLowerCase(),s)}),g.debug(`Registered provider: ${e} with model ${n||"from-env"}`)}static async createProvider(e,t,n,o,s){let i=e||process.env.NEUROLINK_PROVIDER||process.env.AI_PROVIDER||"vertex",a=i.toLowerCase(),c=r.providers.get(a);if(!c)throw new Error(`Unknown provider: ${i}. Available providers: ${r.getAvailableProviders().join(", ")}`);let l=t;l||(i.toLowerCase().includes("vertex")?l=process.env.VERTEX_MODEL||"gemini-2.5-flash":i.toLowerCase().includes("bedrock")&&(l=process.env.BEDROCK_MODEL||process.env.BEDROCK_MODEL_ID),l=l||c.defaultModel);let p={"google-ai":"googleAiStudio","openai-compatible":"openaiCompatible",huggingface:"huggingFace","lm-studio":"lmStudio","nvidia-nim":"nvidiaNim"}[a]??a,m=s?s[p]:void 0;try{if(typeof c.constructor!="function")throw new Error(`Invalid constructor for provider ${e}: not a function`);let f;try{let h=c.constructor(l,i,n,o,m);f=h instanceof Promise?await h:h}catch(h){if(c.constructor.prototype&&c.constructor.prototype.constructor===c.constructor)try{f=new c.constructor(l,i,n,o,m)}catch(y){throw new Error(`Both factory function and constructor failed. Factory error: ${h}. Constructor error: ${y}`,{cause:y})}else throw h}return f}catch(f){throw g.error(`Failed to create provider ${i}:`,f),new Error(`Failed to create provider ${i}: ${f}`,{cause:f})}}static hasProvider(e){return r.providers.has(e.toLowerCase())}static getAvailableProviders(){return Array.from(r.providers.keys()).filter((e,t,n)=>n.indexOf(e)===t)}static getProviderInfo(e){return r.providers.get(e.toLowerCase())}static normalizeProviderName(e){let t=e.toLowerCase();if(r.providers.has(t))return t;for(let[n,o]of r.providers.entries())if(o.aliases?.includes(t))return n;return null}static clearRegistrations(){r.providers.clear(),r.initialized=!1}static ensureInitialized(){r.initialized||(r.initializeDefaultProviders(),r.initialized=!0)}static initializeDefaultProviders(){g.debug("BaseProvider factory pattern ready - providers registered by ProviderRegistry")}static async createBestProvider(e,t,n,o,s){return await r.createProvider(e,t,o,void 0,s)}}});var yD,bme,Tme,Sme,f6=E(()=>{"use strict";yD=(N=>(N.BEDROCK="bedrock",N.OPENAI="openai",N.OPENAI_COMPATIBLE="openai-compatible",N.OPENROUTER="openrouter",N.VERTEX="vertex",N.ANTHROPIC="anthropic",N.AZURE="azure",N.GOOGLE_AI="google-ai",N.HUGGINGFACE="huggingface",N.OLLAMA="ollama",N.MISTRAL="mistral",N.LITELLM="litellm",N.SAGEMAKER="sagemaker",N.DEEPSEEK="deepseek",N.NVIDIA_NIM="nvidia-nim",N.LM_STUDIO="lm-studio",N.LLAMACPP="llamacpp",N.XAI="xai",N.GROQ="groq",N.COHERE="cohere",N.TOGETHER_AI="together-ai",N.FIREWORKS="fireworks",N.PERPLEXITY="perplexity",N.CLOUDFLARE="cloudflare",N.REPLICATE="replicate",N.VOYAGE="voyage",N.JINA="jina",N.STABILITY="stability",N.IDEOGRAM="ideogram",N.RECRAFT="recraft",N.AUTO="auto",N))(yD||{}),bme=(Me=>(Me.CLAUDE_4_6_OPUS="anthropic.claude-opus-4-6-v1:0",Me.CLAUDE_4_6_SONNET="anthropic.claude-sonnet-4-6",Me.CLAUDE_4_5_OPUS="anthropic.claude-opus-4-5-20251124-v1:0",Me.CLAUDE_4_5_SONNET="anthropic.claude-sonnet-4-5-20250929-v1:0",Me.CLAUDE_4_5_HAIKU="anthropic.claude-haiku-4-5-20251001-v1:0",Me.CLAUDE_4_1_OPUS="anthropic.claude-opus-4-1-20250805-v1:0",Me.CLAUDE_4_SONNET="anthropic.claude-sonnet-4-20250514-v1:0",Me.CLAUDE_3_7_SONNET="anthropic.claude-3-7-sonnet-20250219-v1:0",Me.CLAUDE_3_5_SONNET="anthropic.claude-3-5-sonnet-20241022-v1:0",Me.CLAUDE_3_5_HAIKU="anthropic.claude-3-5-haiku-20241022-v1:0",Me.CLAUDE_3_SONNET="anthropic.claude-3-sonnet-20240229-v1:0",Me.CLAUDE_3_HAIKU="anthropic.claude-3-haiku-20240307-v1:0",Me.NOVA_PREMIER="amazon.nova-premier-v1:0",Me.NOVA_PRO="amazon.nova-pro-v1:0",Me.NOVA_LITE="amazon.nova-lite-v1:0",Me.NOVA_MICRO="amazon.nova-micro-v1:0",Me.NOVA_2_LITE="amazon.nova-2-lite-v1:0",Me.NOVA_2_SONIC="amazon.nova-2-sonic-v1:0",Me.NOVA_SONIC="amazon.nova-sonic-v1:0",Me.NOVA_CANVAS="amazon.nova-canvas-v1:0",Me.NOVA_REEL="amazon.nova-reel-v1:0",Me.NOVA_REEL_V1_1="amazon.nova-reel-v1:1",Me.NOVA_MULTIMODAL_EMBEDDINGS="amazon.nova-2-multimodal-embeddings-v1:0",Me.TITAN_TEXT_LARGE="amazon.titan-tg1-large",Me.TITAN_EMBED_TEXT_V2="amazon.titan-embed-text-v2:0",Me.TITAN_EMBED_TEXT_V1="amazon.titan-embed-text-v1",Me.TITAN_EMBED_G1_TEXT_02="amazon.titan-embed-g1-text-02",Me.TITAN_EMBED_IMAGE_V1="amazon.titan-embed-image-v1",Me.TITAN_IMAGE_GENERATOR_V2="amazon.titan-image-generator-v2:0",Me.LLAMA_4_MAVERICK_17B="meta.llama4-maverick-17b-instruct-v1:0",Me.LLAMA_4_SCOUT_17B="meta.llama4-scout-17b-instruct-v1:0",Me.LLAMA_3_3_70B="meta.llama3-3-70b-instruct-v1:0",Me.LLAMA_3_2_90B="meta.llama3-2-90b-instruct-v1:0",Me.LLAMA_3_2_11B="meta.llama3-2-11b-instruct-v1:0",Me.LLAMA_3_2_3B="meta.llama3-2-3b-instruct-v1:0",Me.LLAMA_3_2_1B="meta.llama3-2-1b-instruct-v1:0",Me.LLAMA_3_1_405B="meta.llama3-1-405b-instruct-v1:0",Me.LLAMA_3_1_70B="meta.llama3-1-70b-instruct-v1:0",Me.LLAMA_3_1_8B="meta.llama3-1-8b-instruct-v1:0",Me.LLAMA_3_70B="meta.llama3-70b-instruct-v1:0",Me.LLAMA_3_8B="meta.llama3-8b-instruct-v1:0",Me.MISTRAL_LARGE_3="mistral.mistral-large-3-675b-instruct",Me.MISTRAL_LARGE_2407="mistral.mistral-large-2407-v1:0",Me.MISTRAL_LARGE_2402="mistral.mistral-large-2402-v1:0",Me.MAGISTRAL_SMALL_2509="mistral.magistral-small-2509",Me.MINISTRAL_3_14B="mistral.ministral-3-14b-instruct",Me.MINISTRAL_3_8B="mistral.ministral-3-8b-instruct",Me.MINISTRAL_3_3B="mistral.ministral-3-3b-instruct",Me.MISTRAL_7B="mistral.mistral-7b-instruct-v0:2",Me.MIXTRAL_8x7B="mistral.mixtral-8x7b-instruct-v0:1",Me.PIXTRAL_LARGE_2502="mistral.pixtral-large-2502-v1:0",Me.VOXTRAL_SMALL_24B="mistral.voxtral-small-24b-2507",Me.VOXTRAL_MINI_3B="mistral.voxtral-mini-3b-2507",Me.COHERE_COMMAND_R_PLUS="cohere.command-r-plus-v1:0",Me.COHERE_COMMAND_R="cohere.command-r-v1:0",Me.DEEPSEEK_R1="deepseek.r1-v1:0",Me.DEEPSEEK_V3="deepseek.v3-v1:0",Me.QWEN_3_235B_A22B="qwen.qwen3-235b-a22b-2507-v1:0",Me.QWEN_3_CODER_480B_A35B="qwen.qwen3-coder-480b-a35b-v1:0",Me.QWEN_3_CODER_30B_A3B="qwen.qwen3-coder-30b-a3b-v1:0",Me.QWEN_3_32B="qwen.qwen3-32b-v1:0",Me.QWEN_3_NEXT_80B_A3B="qwen.qwen3-next-80b-a3b",Me.QWEN_3_VL_235B_A22B="qwen.qwen3-vl-235b-a22b",Me.GEMMA_3_27B_IT="google.gemma-3-27b-it",Me.GEMMA_3_12B_IT="google.gemma-3-12b-it",Me.GEMMA_3_4B_IT="google.gemma-3-4b-it",Me.JAMBA_1_5_LARGE="ai21.jamba-1-5-large-v1:0",Me.JAMBA_1_5_MINI="ai21.jamba-1-5-mini-v1:0",Me.WRITER_PALMYRA_X5="writer.palmyra-x5-v1:0",Me.WRITER_PALMYRA_X4="writer.palmyra-x4-v1:0",Me.MINIMAX_M2_1="minimax.minimax-m2.1",Me.MINIMAX_M2="minimax.minimax-m2",Me.KIMI_K2_THINKING="moonshot.kimi-k2-thinking",Me.KIMI_K2_5="moonshotai.kimi-k2.5",Me.NVIDIA_NEMOTRON_NANO_3_30B="nvidia.nemotron-nano-3-30b",Me.NVIDIA_NEMOTRON_NANO_12B_V2="nvidia.nemotron-nano-12b-v2",Me.NVIDIA_NEMOTRON_NANO_9B_V2="nvidia.nemotron-nano-9b-v2",Me.OPENAI_GPT_OSS_120B="openai.gpt-oss-120b-1:0",Me.OPENAI_GPT_OSS_20B="openai.gpt-oss-20b-1:0",Me.GLM_4_7="zai.glm-4.7",Me.GLM_4_7_FLASH="zai.glm-4.7-flash",Me.COHERE_EMBED_ENGLISH_V3="cohere.embed-english-v3",Me.COHERE_EMBED_MULTILINGUAL_V3="cohere.embed-multilingual-v3",Me.COHERE_EMBED_V4="cohere.embed-v4:0",Me.COHERE_RERANK_V3_5="cohere.rerank-v3-5:0",Me.AMAZON_RERANK_V1="amazon.rerank-v1:0",Me.DEVSTRAL_2_123B="mistral.devstral-2-123b",Me))(bme||{}),Tme=(J=>(J.GPT_5_3_CODEX="gpt-5.3-codex",J.GPT_5_4="gpt-5.4",J.GPT_5_4_MINI="gpt-5.4-mini",J.GPT_5_4_NANO="gpt-5.4-nano",J.GPT_5_4_PRO="gpt-5.4-pro",J.GPT_5_2="gpt-5.2",J.GPT_5_2_CHAT_LATEST="gpt-5.2-chat-latest",J.GPT_5_2_PRO="gpt-5.2-pro",J.GPT_5_2_CODEX="gpt-5.2-codex",J.GPT_5_1="gpt-5.1",J.GPT_5_1_CHAT_LATEST="gpt-5.1-chat-latest",J.GPT_5_1_CODEX="gpt-5.1-codex",J.GPT_5_1_CODEX_MAX="gpt-5.1-codex-max",J.GPT_5_1_CODEX_MINI="gpt-5.1-codex-mini",J.GPT_5="gpt-5",J.GPT_5_MINI="gpt-5-mini",J.GPT_5_NANO="gpt-5-nano",J.GPT_5_PRO="gpt-5-pro",J.GPT_5_CHAT_LATEST="gpt-5-chat-latest",J.GPT_5_CODEX="gpt-5-codex",J.GPT_OSS_120B="gpt-oss-120b",J.GPT_OSS_20B="gpt-oss-20b",J.GPT_4_1="gpt-4.1",J.GPT_4_1_MINI="gpt-4.1-mini",J.GPT_4_1_NANO="gpt-4.1-nano",J.GPT_4O="gpt-4o",J.GPT_4O_MINI="gpt-4o-mini",J.O3="o3",J.O3_MINI="o3-mini",J.O3_PRO="o3-pro",J.O4_MINI="o4-mini",J.O1="o1",J.O1_PREVIEW="o1-preview",J.O1_MINI="o1-mini",J.GPT_4="gpt-4",J.GPT_4_TURBO="gpt-4-turbo",J.GPT_3_5_TURBO="gpt-3.5-turbo",J.GPT_IMAGE_1="gpt-image-1",J.DALL_E_3="dall-e-3",J.DALL_E_2="dall-e-2",J))(Tme||{}),Sme=(O=>(O.CLAUDE_4_6_OPUS="claude-opus-4-6",O.CLAUDE_4_6_SONNET="claude-sonnet-4-6",O.CLAUDE_4_5_OPUS="claude-opus-4-5@20251124",O.CLAUDE_4_5_SONNET="claude-sonnet-4-5@20250929",O.CLAUDE_4_5_HAIKU="claude-haiku-4-5@20251001",O.CLAUDE_4_0_SONNET="claude-sonnet-4@20250514",O.CLAUDE_4_0_OPUS="claude-opus-4@20250514",O.CLAUDE_3_7_SONNET="claude-3-7-sonnet@20250219",O.CLAUDE_3_5_SONNET="claude-3-5-sonnet-20241022",O.CLAUDE_3_5_HAIKU="claude-3-5-haiku-20241022",O.CLAUDE_3_SONNET="claude-3-sonnet-20240229",O.CLAUDE_3_OPUS="claude-3-opus-20240229",O.CLAUDE_3_HAIKU="claude-3-haiku-20240307",O.GEMINI_3_1_PRO_PREVIEW="gemini-3.1-pro-preview",O.GEMINI_3_1_FLASH_LITE_PREVIEW="gemini-3.1-flash-lite-preview",O.GEMINI_3_1_FLASH_IMAGE_PREVIEW="gemini-3.1-flash-image-preview",O.GEMINI_3_1_PRO_PREVIEW_CUSTOMTOOLS="gemini-3.1-pro-preview-customtools",O.GEMINI_3_FLASH_PREVIEW="gemini-3-flash-preview",O.GEMINI_3_PRO_IMAGE_PREVIEW="gemini-3-pro-image-preview",O.GEMINI_3_PRO_PREVIEW="gemini-3-pro-preview",O.GEMINI_2_5_PRO="gemini-2.5-pro",O.GEMINI_2_5_FLASH="gemini-2.5-flash",O.GEMINI_2_5_FLASH_LITE="gemini-2.5-flash-lite",O.GEMINI_2_5_FLASH_IMAGE="gemini-2.5-flash-image",O.GEMINI_2_0_FLASH="gemini-2.0-flash",O.GEMINI_2_0_FLASH_001="gemini-2.0-flash-001",O.GEMINI_2_0_FLASH_LITE="gemini-2.0-flash-lite",O.GEMINI_1_5_PRO="gemini-1.5-pro-002",O.GEMINI_1_5_FLASH="gemini-1.5-flash-002",O))(Sme||{})});function Id(r){return r==null?"unknown error":typeof r=="string"?r:r instanceof Error?r.message:JSON.stringify(r)}function vD(r){return r===null||typeof r=="string"||typeof r=="number"||typeof r=="boolean"?!0:Array.isArray(r)?r.every(vD):typeof r=="object"?Object.entries(r).every(([e,t])=>typeof e=="string"&&(t===void 0||vD(t))):!1}function h6(r){return Array.isArray(r)&&r.every(vD)}function vC(r){return r!=null&&typeof r=="object"&&Object.entries(r).every(([e,t])=>typeof e=="string"&&(t===void 0||vD(t)))}var Xme,pXe,wme,_me,Ae,Qme,efe,mXe,Eme,kme,At,tfe,rfe,fXe,Cme,Rme,VT,nfe,ofe,gXe,Ame,Ime,zu,sfe,ife,hXe,Pme,Ome,Ec,afe,cfe,yXe,Mme,Nme,Xl,lfe,ufe,vXe,Dme,Lme,el,dfe,pfe,xXe,Ume,Fme,hv,mfe,ffe,bXe,$me,Bme,yv,gfe,hfe,TXe,zme,jme,yfe,vfe,xfe,SXe,Gme,Vme,co,bfe,Tfe,wXe,qme,Hme,Bp,Sfe,wfe,_Xe,Wme,Kme,an,_fe,Efe,EXe,Jme,Zme,_t,ze=E(()=>{Xme="vercel.ai.error",pXe=Symbol.for(Xme),Ae=class Yme extends(_me=Error,wme=pXe,_me){constructor({name:e,message:t,cause:n}){super(t),this[wme]=!0,this.name=e,this.cause=n}static isInstance(e){return Yme.hasMarker(e,Xme)}static hasMarker(e,t){let n=Symbol.for(t);return e!=null&&typeof e=="object"&&n in e&&typeof e[n]=="boolean"&&e[n]===!0}},Qme="AI_APICallError",efe=`vercel.ai.error.${Qme}`,mXe=Symbol.for(efe),At=class extends(kme=Ae,Eme=mXe,kme){constructor({message:r,url:e,requestBodyValues:t,statusCode:n,responseHeaders:o,responseBody:s,cause:i,isRetryable:a=n!=null&&(n===408||n===409||n===429||n>=500),data:c}){super({name:Qme,message:r,cause:i}),this[Eme]=!0,this.url=e,this.requestBodyValues=t,this.statusCode=n,this.responseHeaders=o,this.responseBody=s,this.isRetryable=a,this.data=c}static isInstance(r){return Ae.hasMarker(r,efe)}},tfe="AI_EmptyResponseBodyError",rfe=`vercel.ai.error.${tfe}`,fXe=Symbol.for(rfe),VT=class extends(Rme=Ae,Cme=fXe,Rme){constructor({message:r="Empty response body"}={}){super({name:tfe,message:r}),this[Cme]=!0}static isInstance(r){return Ae.hasMarker(r,rfe)}};nfe="AI_InvalidArgumentError",ofe=`vercel.ai.error.${nfe}`,gXe=Symbol.for(ofe),zu=class extends(Ime=Ae,Ame=gXe,Ime){constructor({message:r,cause:e,argument:t}){super({name:nfe,message:r,cause:e}),this[Ame]=!0,this.argument=t}static isInstance(r){return Ae.hasMarker(r,ofe)}},sfe="AI_InvalidPromptError",ife=`vercel.ai.error.${sfe}`,hXe=Symbol.for(ife),Ec=class extends(Ome=Ae,Pme=hXe,Ome){constructor({prompt:r,message:e,cause:t}){super({name:sfe,message:`Invalid prompt: ${e}`,cause:t}),this[Pme]=!0,this.prompt=r}static isInstance(r){return Ae.hasMarker(r,ife)}},afe="AI_InvalidResponseDataError",cfe=`vercel.ai.error.${afe}`,yXe=Symbol.for(cfe),Xl=class extends(Nme=Ae,Mme=yXe,Nme){constructor({data:r,message:e=`Invalid response data: ${JSON.stringify(r)}.`}){super({name:afe,message:e}),this[Mme]=!0,this.data=r}static isInstance(r){return Ae.hasMarker(r,cfe)}},lfe="AI_JSONParseError",ufe=`vercel.ai.error.${lfe}`,vXe=Symbol.for(ufe),el=class extends(Lme=Ae,Dme=vXe,Lme){constructor({text:r,cause:e}){super({name:lfe,message:`JSON parsing failed: Text: ${r}. Error message: ${Id(e)}`,cause:e}),this[Dme]=!0,this.text=r}static isInstance(r){return Ae.hasMarker(r,ufe)}},dfe="AI_LoadAPIKeyError",pfe=`vercel.ai.error.${dfe}`,xXe=Symbol.for(pfe),hv=class extends(Fme=Ae,Ume=xXe,Fme){constructor({message:r}){super({name:dfe,message:r}),this[Ume]=!0}static isInstance(r){return Ae.hasMarker(r,pfe)}},mfe="AI_LoadSettingError",ffe=`vercel.ai.error.${mfe}`,bXe=Symbol.for(ffe),yv=class extends(Bme=Ae,$me=bXe,Bme){constructor({message:r}){super({name:mfe,message:r}),this[$me]=!0}static isInstance(r){return Ae.hasMarker(r,ffe)}},gfe="AI_NoContentGeneratedError",hfe=`vercel.ai.error.${gfe}`,TXe=Symbol.for(hfe),yfe=class extends(jme=Ae,zme=TXe,jme){constructor({message:r="No content generated."}={}){super({name:gfe,message:r}),this[zme]=!0}static isInstance(r){return Ae.hasMarker(r,hfe)}},vfe="AI_NoSuchModelError",xfe=`vercel.ai.error.${vfe}`,SXe=Symbol.for(xfe),co=class extends(Vme=Ae,Gme=SXe,Vme){constructor({errorName:r=vfe,modelId:e,modelType:t,message:n=`No such ${t}: ${e}`}){super({name:r,message:n}),this[Gme]=!0,this.modelId=e,this.modelType=t}static isInstance(r){return Ae.hasMarker(r,xfe)}},bfe="AI_TooManyEmbeddingValuesForCallError",Tfe=`vercel.ai.error.${bfe}`,wXe=Symbol.for(Tfe),Bp=class extends(Hme=Ae,qme=wXe,Hme){constructor(r){super({name:bfe,message:`Too many values for a single embedding call. The ${r.provider} model "${r.modelId}" can only embed up to ${r.maxEmbeddingsPerCall} values per call, but ${r.values.length} values were provided.`}),this[qme]=!0,this.provider=r.provider,this.modelId=r.modelId,this.maxEmbeddingsPerCall=r.maxEmbeddingsPerCall,this.values=r.values}static isInstance(r){return Ae.hasMarker(r,Tfe)}},Sfe="AI_TypeValidationError",wfe=`vercel.ai.error.${Sfe}`,_Xe=Symbol.for(wfe),an=class g6 extends(Kme=Ae,Wme=_Xe,Kme){constructor({value:e,cause:t,context:n}){let o="Type validation failed";if(n?.field&&(o+=` for ${n.field}`),n?.entityName||n?.entityId){o+=" (";let s=[];n.entityName&&s.push(n.entityName),n.entityId&&s.push(`id: "${n.entityId}"`),o+=s.join(", "),o+=")"}super({name:Sfe,message:`${o}: Value: ${JSON.stringify(e)}. Error message: ${Id(t)}`,cause:t}),this[Wme]=!0,this.value=e,this.context=n}static isInstance(e){return Ae.hasMarker(e,wfe)}static wrap({value:e,cause:t,context:n}){var o,s,i;return g6.isInstance(t)&&t.value===e&&((o=t.context)==null?void 0:o.field)===n?.field&&((s=t.context)==null?void 0:s.entityName)===n?.entityName&&((i=t.context)==null?void 0:i.entityId)===n?.entityId?t:new g6({value:e,cause:t,context:n})}},_fe="AI_UnsupportedFunctionalityError",Efe=`vercel.ai.error.${_fe}`,EXe=Symbol.for(Efe),_t=class extends(Zme=Ae,Jme=EXe,Zme){constructor({functionality:r,message:e=`'${r}' functionality not supported.`}){super({name:_fe,message:e}),this[Jme]=!0,this.functionality=r}static isInstance(r){return Ae.hasMarker(r,Efe)}}});function ae(r,e,t){function n(a,c){if(a._zod||Object.defineProperty(a,"_zod",{value:{def:c,constr:i,traits:new Set},enumerable:!1}),a._zod.traits.has(r))return;a._zod.traits.add(r),e(a,c);let l=i.prototype,d=Object.keys(l);for(let p=0;p<d.length;p++){let m=d[p];m in a||(a[m]=l[m].bind(a))}}let o=t?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:r});function i(a){var c;let l=t?.Parent?new s:this;n(l,a),(c=l._zod).deferred??(c.deferred=[]);for(let d of l._zod.deferred)d();return l}return Object.defineProperty(i,"init",{value:n}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>t?.Parent&&a instanceof t.Parent?!0:a?._zod?.traits?.has(r)}),Object.defineProperty(i,"name",{value:r}),i}function Oo(r){return r&&Object.assign(xC,r),xC}var qT,bC,Pd,Wg,xC,HT=E(()=>{qT=Object.freeze({status:"aborted"});bC=Symbol("zod_brand"),Pd=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Wg=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}},xC={}});var Ne={};ee(Ne,{BIGINT_FORMAT_RANGES:()=>E6,Class:()=>v6,NUMBER_FORMAT_RANGES:()=>_6,aborted:()=>Xg,allowsEval:()=>T6,assert:()=>IXe,assertEqual:()=>kXe,assertIs:()=>RXe,assertNever:()=>AXe,assertNotEqual:()=>CXe,assignProp:()=>Jg,base64ToUint8Array:()=>Mfe,base64urlToUint8Array:()=>zXe,cached:()=>KT,captureStackTrace:()=>bD,cleanEnum:()=>BXe,cleanRegex:()=>wC,clone:()=>ba,cloneDef:()=>OXe,createTransparentProxy:()=>FXe,defineLazy:()=>hr,esc:()=>xD,escapeRegex:()=>ju,extend:()=>Afe,finalizeIssue:()=>tl,floatSafeRemainder:()=>x6,getElementAtPath:()=>MXe,getEnumValues:()=>SC,getLengthableOrigin:()=>kC,getParsedType:()=>UXe,getSizableOrigin:()=>EC,hexToUint8Array:()=>GXe,isObject:()=>vv,isPlainObject:()=>Zg,issue:()=>JT,joinValues:()=>fe,jsonStringifyReplacer:()=>WT,merge:()=>$Xe,mergeDefs:()=>af,normalizeParams:()=>Ue,nullish:()=>Kg,numKeys:()=>LXe,objectClone:()=>PXe,omit:()=>Rfe,optionalKeys:()=>w6,parsedType:()=>Le,partial:()=>Pfe,pick:()=>Cfe,prefixIssues:()=>Yl,primitiveTypes:()=>S6,promiseAllObject:()=>NXe,propertyKeyTypes:()=>_C,randomString:()=>DXe,required:()=>Ofe,safeExtend:()=>Ife,shallowClone:()=>TD,slugify:()=>b6,stringifyPrimitive:()=>Oe,uint8ArrayToBase64:()=>Nfe,uint8ArrayToBase64url:()=>jXe,uint8ArrayToHex:()=>VXe,unwrapMessage:()=>TC});function kXe(r){return r}function CXe(r){return r}function RXe(r){}function AXe(r){throw new Error("Unexpected value in exhaustive check")}function IXe(r){}function SC(r){let e=Object.values(r).filter(n=>typeof n=="number");return Object.entries(r).filter(([n,o])=>e.indexOf(+n)===-1).map(([n,o])=>o)}function fe(r,e="|"){return r.map(t=>Oe(t)).join(e)}function WT(r,e){return typeof e=="bigint"?e.toString():e}function KT(r){return{get value(){{let t=r();return Object.defineProperty(this,"value",{value:t}),t}throw new Error("cached value already set")}}}function Kg(r){return r==null}function wC(r){let e=r.startsWith("^")?1:0,t=r.endsWith("$")?r.length-1:r.length;return r.slice(e,t)}function x6(r,e){let t=(r.toString().split(".")[1]||"").length,n=e.toString(),o=(n.split(".")[1]||"").length;if(o===0&&/\d?e-\d?/.test(n)){let c=n.match(/\d?e-(\d?)/);c?.[1]&&(o=Number.parseInt(c[1]))}let s=t>o?t:o,i=Number.parseInt(r.toFixed(s).replace(".","")),a=Number.parseInt(e.toFixed(s).replace(".",""));return i%a/10**s}function hr(r,e,t){let n;Object.defineProperty(r,e,{get(){if(n!==kfe)return n===void 0&&(n=kfe,n=t()),n},set(o){Object.defineProperty(r,e,{value:o})},configurable:!0})}function PXe(r){return Object.create(Object.getPrototypeOf(r),Object.getOwnPropertyDescriptors(r))}function Jg(r,e,t){Object.defineProperty(r,e,{value:t,writable:!0,enumerable:!0,configurable:!0})}function af(...r){let e={};for(let t of r){let n=Object.getOwnPropertyDescriptors(t);Object.assign(e,n)}return Object.defineProperties({},e)}function OXe(r){return af(r._zod.def)}function MXe(r,e){return e?e.reduce((t,n)=>t?.[n],r):r}function NXe(r){let e=Object.keys(r),t=e.map(n=>r[n]);return Promise.all(t).then(n=>{let o={};for(let s=0;s<e.length;s++)o[e[s]]=n[s];return o})}function DXe(r=10){let e="abcdefghijklmnopqrstuvwxyz",t="";for(let n=0;n<r;n++)t+=e[Math.floor(Math.random()*e.length)];return t}function xD(r){return JSON.stringify(r)}function b6(r){return r.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function vv(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}function Zg(r){if(vv(r)===!1)return!1;let e=r.constructor;if(e===void 0||typeof e!="function")return!0;let t=e.prototype;return!(vv(t)===!1||Object.prototype.hasOwnProperty.call(t,"isPrototypeOf")===!1)}function TD(r){return Zg(r)?{...r}:Array.isArray(r)?[...r]:r}function LXe(r){let e=0;for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&e++;return e}function ju(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ba(r,e,t){let n=new r._zod.constr(e??r._zod.def);return(!e||t?.parent)&&(n._zod.parent=r),n}function Ue(r){let e=r;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function FXe(r){let e;return new Proxy({},{get(t,n,o){return e??(e=r()),Reflect.get(e,n,o)},set(t,n,o,s){return e??(e=r()),Reflect.set(e,n,o,s)},has(t,n){return e??(e=r()),Reflect.has(e,n)},deleteProperty(t,n){return e??(e=r()),Reflect.deleteProperty(e,n)},ownKeys(t){return e??(e=r()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(t,n){return e??(e=r()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(t,n,o){return e??(e=r()),Reflect.defineProperty(e,n,o)}})}function Oe(r){return typeof r=="bigint"?r.toString()+"n":typeof r=="string"?`"${r}"`:`${r}`}function w6(r){return Object.keys(r).filter(e=>r[e]._zod.optin==="optional"&&r[e]._zod.optout==="optional")}function Cfe(r,e){let t=r._zod.def,n=t.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let s=af(r._zod.def,{get shape(){let i={};for(let a in e){if(!(a in t.shape))throw new Error(`Unrecognized key: "${a}"`);e[a]&&(i[a]=t.shape[a])}return Jg(this,"shape",i),i},checks:[]});return ba(r,s)}function Rfe(r,e){let t=r._zod.def,n=t.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let s=af(r._zod.def,{get shape(){let i={...r._zod.def.shape};for(let a in e){if(!(a in t.shape))throw new Error(`Unrecognized key: "${a}"`);e[a]&&delete i[a]}return Jg(this,"shape",i),i},checks:[]});return ba(r,s)}function Afe(r,e){if(!Zg(e))throw new Error("Invalid input to extend: expected a plain object");let t=r._zod.def.checks;if(t&&t.length>0){let s=r._zod.def.shape;for(let i in e)if(Object.getOwnPropertyDescriptor(s,i)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let o=af(r._zod.def,{get shape(){let s={...r._zod.def.shape,...e};return Jg(this,"shape",s),s}});return ba(r,o)}function Ife(r,e){if(!Zg(e))throw new Error("Invalid input to safeExtend: expected a plain object");let t=af(r._zod.def,{get shape(){let n={...r._zod.def.shape,...e};return Jg(this,"shape",n),n}});return ba(r,t)}function $Xe(r,e){let t=af(r._zod.def,{get shape(){let n={...r._zod.def.shape,...e._zod.def.shape};return Jg(this,"shape",n),n},get catchall(){return e._zod.def.catchall},checks:[]});return ba(r,t)}function Pfe(r,e,t){let o=e._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let i=af(e._zod.def,{get shape(){let a=e._zod.def.shape,c={...a};if(t)for(let l in t){if(!(l in a))throw new Error(`Unrecognized key: "${l}"`);t[l]&&(c[l]=r?new r({type:"optional",innerType:a[l]}):a[l])}else for(let l in a)c[l]=r?new r({type:"optional",innerType:a[l]}):a[l];return Jg(this,"shape",c),c},checks:[]});return ba(e,i)}function Ofe(r,e,t){let n=af(e._zod.def,{get shape(){let o=e._zod.def.shape,s={...o};if(t)for(let i in t){if(!(i in s))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(s[i]=new r({type:"nonoptional",innerType:o[i]}))}else for(let i in o)s[i]=new r({type:"nonoptional",innerType:o[i]});return Jg(this,"shape",s),s}});return ba(e,n)}function Xg(r,e=0){if(r.aborted===!0)return!0;for(let t=e;t<r.issues.length;t++)if(r.issues[t]?.continue!==!0)return!0;return!1}function Yl(r,e){return e.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(r),t})}function TC(r){return typeof r=="string"?r:r?.message}function tl(r,e,t){let n={...r,path:r.path??[]};if(!r.message){let o=TC(r.inst?._zod.def?.error?.(r))??TC(e?.error?.(r))??TC(t.customError?.(r))??TC(t.localeError?.(r))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function EC(r){return r instanceof Set?"set":r instanceof Map?"map":r instanceof File?"file":"unknown"}function kC(r){return Array.isArray(r)?"array":typeof r=="string"?"string":"unknown"}function Le(r){let e=typeof r;switch(e){case"number":return Number.isNaN(r)?"nan":"number";case"object":{if(r===null)return"null";if(Array.isArray(r))return"array";let t=r;if(t&&Object.getPrototypeOf(t)!==Object.prototype&&"constructor"in t&&t.constructor)return t.constructor.name}}return e}function JT(...r){let[e,t,n]=r;return typeof e=="string"?{message:e,code:"custom",input:t,inst:n}:{...e}}function BXe(r){return Object.entries(r).filter(([e,t])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}function Mfe(r){let e=atob(r),t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function Nfe(r){let e="";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return btoa(e)}function zXe(r){let e=r.replace(/-/g,"+").replace(/_/g,"/"),t="=".repeat((4-e.length%4)%4);return Mfe(e+t)}function jXe(r){return Nfe(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function GXe(r){let e=r.replace(/^0x/,"");if(e.length%2!==0)throw new Error("Invalid hex string length");let t=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)t[n/2]=Number.parseInt(e.slice(n,n+2),16);return t}function VXe(r){return Array.from(r).map(e=>e.toString(16).padStart(2,"0")).join("")}var kfe,bD,T6,UXe,_C,S6,_6,E6,v6,Tt=E(()=>{kfe=Symbol("evaluating");bD="captureStackTrace"in Error?Error.captureStackTrace:(...r)=>{};T6=KT(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let r=Function;return new r(""),!0}catch{return!1}});UXe=r=>{let e=typeof r;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(r)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(r)?"array":r===null?"null":r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?"promise":typeof Map<"u"&&r instanceof Map?"map":typeof Set<"u"&&r instanceof Set?"set":typeof Date<"u"&&r instanceof Date?"date":typeof File<"u"&&r instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},_C=new Set(["string","number","symbol"]),S6=new Set(["string","number","bigint","boolean","symbol","undefined"]);_6={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},E6={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};v6=class{constructor(...e){}}});function ZT(r,e=t=>t.message){let t={},n=[];for(let o of r.issues)o.path.length>0?(t[o.path[0]]=t[o.path[0]]||[],t[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:t}}function XT(r,e=t=>t.message){let t={_errors:[]},n=o=>{for(let s of o.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(i=>n({issues:i}));else if(s.code==="invalid_key")n({issues:s.issues});else if(s.code==="invalid_element")n({issues:s.issues});else if(s.path.length===0)t._errors.push(e(s));else{let i=t,a=0;for(;a<s.path.length;){let c=s.path[a];a===s.path.length-1?(i[c]=i[c]||{_errors:[]},i[c]._errors.push(e(s))):i[c]=i[c]||{_errors:[]},i=i[c],a++}}};return n(r),t}function SD(r,e=t=>t.message){let t={errors:[]},n=(o,s=[])=>{var i,a;for(let c of o.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map(l=>n({issues:l},c.path));else if(c.code==="invalid_key")n({issues:c.issues},c.path);else if(c.code==="invalid_element")n({issues:c.issues},c.path);else{let l=[...s,...c.path];if(l.length===0){t.errors.push(e(c));continue}let d=t,p=0;for(;p<l.length;){let m=l[p],f=p===l.length-1;typeof m=="string"?(d.properties??(d.properties={}),(i=d.properties)[m]??(i[m]={errors:[]}),d=d.properties[m]):(d.items??(d.items=[]),(a=d.items)[m]??(a[m]={errors:[]}),d=d.items[m]),f&&d.errors.push(e(c)),p++}}};return n(r),t}function Lfe(r){let e=[],t=r.map(n=>typeof n=="object"?n.key:n);for(let n of t)typeof n=="number"?e.push(`[${n}]`):typeof n=="symbol"?e.push(`[${JSON.stringify(String(n))}]`):/[^\w$]/.test(n)?e.push(`[${JSON.stringify(n)}]`):(e.length&&e.push("."),e.push(n));return e.join("")}function wD(r){let e=[],t=[...r.issues].sort((n,o)=>(n.path??[]).length-(o.path??[]).length);for(let n of t)e.push(`\u2716 ${n.message}`),n.path?.length&&e.push(` \u2192 at ${Lfe(n.path)}`);return e.join(` `)}var Dfe,CC,rl,k6=E(()=>{HT();Tt();Dfe=(r,e)=>{r.name="$ZodError",Object.defineProperty(r,"_zod",{value:r._zod,enumerable:!1}),Object.defineProperty(r,"issues",{value:e,enumerable:!1}),r.message=JSON.stringify(e,WT,2),Object.defineProperty(r,"toString",{value:()=>r.message,enumerable:!1})},CC=ae("$ZodError",Dfe),rl=ae("$ZodError",Dfe,{Parent:Error})});var YT,QT,eS,tS,rS,xv,nS,oS,_D,Ufe,ED,Ffe,kD,$fe,CD,Bfe,RD,zfe,AD,jfe,ID,Gfe,PD,Vfe,C6=E(()=>{HT();k6();Tt();YT=r=>(e,t,n,o)=>{let s=n?Object.assign(n,{async:!1}):{async:!1},i=e._zod.run({value:t,issues:[]},s);if(i instanceof Promise)throw new Pd;if(i.issues.length){let a=new(o?.Err??r)(i.issues.map(c=>tl(c,s,Oo())));throw bD(a,o?.callee),a}return i.value},QT=YT(rl),eS=r=>async(e,t,n,o)=>{let s=n?Object.assign(n,{async:!0}):{async:!0},i=e._zod.run({value:t,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??r)(i.issues.map(c=>tl(c,s,Oo())));throw bD(a,o?.callee),a}return i.value},tS=eS(rl),rS=r=>(e,t,n)=>{let o=n?{...n,async:!1}:{async:!1},s=e._zod.run({value:t,issues:[]},o);if(s instanceof Promise)throw new Pd;return s.issues.length?{success:!1,error:new(r??CC)(s.issues.map(i=>tl(i,o,Oo())))}:{success:!0,data:s.value}},xv=rS(rl),nS=r=>async(e,t,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=e._zod.run({value:t,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new r(s.issues.map(i=>tl(i,o,Oo())))}:{success:!0,data:s.value}},oS=nS(rl),_D=r=>(e,t,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return YT(r)(e,t,o)},Ufe=_D(rl),ED=r=>(e,t,n)=>YT(r)(e,t,n),Ffe=ED(rl),kD=r=>async(e,t,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return eS(r)(e,t,o)},$fe=kD(rl),CD=r=>async(e,t,n)=>eS(r)(e,t,n),Bfe=CD(rl),RD=r=>(e,t,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return rS(r)(e,t,o)},zfe=RD(rl),AD=r=>(e,t,n)=>rS(r)(e,t,n),jfe=AD(rl),ID=r=>async(e,t,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return nS(r)(e,t,o)},Gfe=ID(rl),PD=r=>async(e,t,n)=>nS(r)(e,t,n),Vfe=PD(rl)});var nl={};ee(nl,{base64:()=>G6,base64url:()=>OD,bigint:()=>J6,boolean:()=>X6,browserEmail:()=>QXe,cidrv4:()=>z6,cidrv6:()=>j6,cuid:()=>R6,cuid2:()=>A6,date:()=>q6,datetime:()=>W6,domain:()=>rYe,duration:()=>N6,e164:()=>V6,email:()=>L6,emoji:()=>U6,extendedDuration:()=>HXe,guid:()=>D6,hex:()=>nYe,hostname:()=>tYe,html5Email:()=>ZXe,idnEmail:()=>YXe,integer:()=>Z6,ipv4:()=>F6,ipv6:()=>$6,ksuid:()=>O6,lowercase:()=>eK,mac:()=>B6,md5_base64:()=>sYe,md5_base64url:()=>iYe,md5_hex:()=>oYe,nanoid:()=>M6,null:()=>Y6,number:()=>MD,rfc5322Email:()=>XXe,sha1_base64:()=>cYe,sha1_base64url:()=>lYe,sha1_hex:()=>aYe,sha256_base64:()=>dYe,sha256_base64url:()=>pYe,sha256_hex:()=>uYe,sha384_base64:()=>fYe,sha384_base64url:()=>gYe,sha384_hex:()=>mYe,sha512_base64:()=>yYe,sha512_base64url:()=>vYe,sha512_hex:()=>hYe,string:()=>K6,time:()=>H6,ulid:()=>I6,undefined:()=>Q6,unicodeEmail:()=>qfe,uppercase:()=>tK,uuid:()=>bv,uuid4:()=>WXe,uuid6:()=>KXe,uuid7:()=>JXe,xid:()=>P6});function U6(){return new RegExp(eYe,"u")}function Wfe(r){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof r.precision=="number"?r.precision===-1?`${e}`:r.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${r.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function H6(r){return new RegExp(`^${Wfe(r)}$`)}function W6(r){let e=Wfe({precision:r.precision}),t=["Z"];r.local&&t.push(""),r.offset&&t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${e}(?:${t.join("|")})`;return new RegExp(`^${Hfe}T(?:${n})$`)}function RC(r,e){return new RegExp(`^[A-Za-z0-9+/]{${r}}${e}$`)}function AC(r){return new RegExp(`^[A-Za-z0-9_-]{${r}}$`)}var R6,A6,I6,P6,O6,M6,N6,HXe,D6,bv,WXe,KXe,JXe,L6,ZXe,XXe,qfe,YXe,QXe,eYe,F6,$6,B6,z6,j6,G6,OD,tYe,rYe,V6,Hfe,q6,K6,J6,Z6,MD,X6,Y6,Q6,eK,tK,nYe,oYe,sYe,iYe,aYe,cYe,lYe,uYe,dYe,pYe,mYe,fYe,gYe,hYe,yYe,vYe,ND=E(()=>{Tt();R6=/^[cC][^\s-]{8,}$/,A6=/^[0-9a-z]+$/,I6=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,P6=/^[0-9a-vA-V]{20}$/,O6=/^[A-Za-z0-9]{27}$/,M6=/^[a-zA-Z0-9_-]{21}$/,N6=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,HXe=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,D6=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,bv=r=>r?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${r}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,WXe=bv(4),KXe=bv(6),JXe=bv(7),L6=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,ZXe=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,XXe=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,qfe=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,YXe=qfe,QXe=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,eYe="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";F6=/^(?:(?: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])$/,$6=/^(([0-9a-fA-F]{1,4}:){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}|:))$/,B6=r=>{let e=ju(r??":");return new RegExp(`^(?:[0-9A-F]{2}${e}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${e}){5}[0-9a-f]{2}$`)},z6=/^((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])\/([0-9]|[1-2][0-9]|3[0-2])$/,j6=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,G6=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,OD=/^[A-Za-z0-9_-]*$/,tYe=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,rYe=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,V6=/^\+[1-9]\d{6,14}$/,Hfe="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",q6=new RegExp(`^${Hfe}$`);K6=r=>{let e=r?`[\\s\\S]{${r?.minimum??0},${r?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},J6=/^-?\d+n?$/,Z6=/^-?\d+$/,MD=/^-?\d+(?:\.\d+)?$/,X6=/^(?:true|false)$/i,Y6=/^null$/i,Q6=/^undefined$/i,eK=/^[^A-Z]*$/,tK=/^[^a-z]*$/,nYe=/^[0-9a-fA-F]*$/;oYe=/^[0-9a-fA-F]{32}$/,sYe=RC(22,"=="),iYe=AC(22),aYe=/^[0-9a-fA-F]{40}$/,cYe=RC(27,"="),lYe=AC(27),uYe=/^[0-9a-fA-F]{64}$/,dYe=RC(43,"="),pYe=AC(43),mYe=/^[0-9a-fA-F]{96}$/,fYe=RC(64,""),gYe=AC(64),hYe=/^[0-9a-fA-F]{128}$/,yYe=RC(86,"=="),vYe=AC(86)});function Kfe(r,e,t){r.issues.length&&e.issues.push(...Yl(t,r.issues))}var jn,Jfe,DD,LD,rK,nK,oK,sK,iK,aK,cK,lK,uK,sS,dK,pK,mK,fK,gK,hK,yK,vK,xK,UD=E(()=>{HT();ND();Tt();jn=ae("$ZodCheck",(r,e)=>{var t;r._zod??(r._zod={}),r._zod.def=e,(t=r._zod).onattach??(t.onattach=[])}),Jfe={number:"number",bigint:"bigint",object:"date"},DD=ae("$ZodCheckLessThan",(r,e)=>{jn.init(r,e);let t=Jfe[typeof e.value];r._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<s&&(e.inclusive?o.maximum=e.value:o.exclusiveMaximum=e.value)}),r._zod.check=n=>{(e.inclusive?n.value<=e.value:n.value<e.value)||n.issues.push({origin:t,code:"too_big",maximum:typeof e.value=="object"?e.value.getTime():e.value,input:n.value,inclusive:e.inclusive,inst:r,continue:!e.abort})}}),LD=ae("$ZodCheckGreaterThan",(r,e)=>{jn.init(r,e);let t=Jfe[typeof e.value];r._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>s&&(e.inclusive?o.minimum=e.value:o.exclusiveMinimum=e.value)}),r._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:t,code:"too_small",minimum:typeof e.value=="object"?e.value.getTime():e.value,input:n.value,inclusive:e.inclusive,inst:r,continue:!e.abort})}}),rK=ae("$ZodCheckMultipleOf",(r,e)=>{jn.init(r,e),r._zod.onattach.push(t=>{var n;(n=t._zod.bag).multipleOf??(n.multipleOf=e.value)}),r._zod.check=t=>{if(typeof t.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof t.value=="bigint"?t.value%e.value===BigInt(0):x6(t.value,e.value)===0)||t.issues.push({origin:typeof t.value,code:"not_multiple_of",divisor:e.value,input:t.value,inst:r,continue:!e.abort})}}),nK=ae("$ZodCheckNumberFormat",(r,e)=>{jn.init(r,e),e.format=e.format||"float64";let t=e.format?.includes("int"),n=t?"int":"number",[o,s]=_6[e.format];r._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,a.minimum=o,a.maximum=s,t&&(a.pattern=Z6)}),r._zod.check=i=>{let a=i.value;if(t){if(!Number.isInteger(a)){i.issues.push({expected:n,format:e.format,code:"invalid_type",continue:!1,input:a,inst:r});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:r,origin:n,inclusive:!0,continue:!e.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:r,origin:n,inclusive:!0,continue:!e.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:r,continue:!e.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inclusive:!0,inst:r,continue:!e.abort})}}),oK=ae("$ZodCheckBigIntFormat",(r,e)=>{jn.init(r,e);let[t,n]=E6[e.format];r._zod.onattach.push(o=>{let s=o._zod.bag;s.format=e.format,s.minimum=t,s.maximum=n}),r._zod.check=o=>{let s=o.value;s<t&&o.issues.push({origin:"bigint",input:s,code:"too_small",minimum:t,inclusive:!0,inst:r,continue:!e.abort}),s>n&&o.issues.push({origin:"bigint",input:s,code:"too_big",maximum:n,inclusive:!0,inst:r,continue:!e.abort})}}),sK=ae("$ZodCheckMaxSize",(r,e)=>{var t;jn.init(r,e),(t=r._zod.def).when??(t.when=n=>{let o=n.value;return!Kg(o)&&o.size!==void 0}),r._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_I