@elizaos/core 1.7.1-alpha.13 → 1.7.1-alpha.15
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.
|
@@ -117,7 +117,7 @@ https://github.com/browserify/crypto-browserify`)},$.constants={DH_CHECK_P_NOT_S
|
|
|
117
117
|
`:""}
|
|
118
118
|
${$}
|
|
119
119
|
return o
|
|
120
|
-
`}});var SN=N$((CY$,VN)=>{VN.exports=SU;function SU($){let{secret:q,censor:_,compileRestore:K,serialize:P,groupRedact:Y,nestedRedact:O,wildcards:z,wcLen:T}=$,H=[{secret:q,censor:_,compileRestore:K}];if(P!==!1)H.push({serialize:P});if(T>0)H.push({groupRedact:Y,nestedRedact:O,wildcards:z,wcLen:T});return Object.assign(...H)}});var CN=N$((EY$,NN)=>{var MN=WN(),MU=TN(),NU=fN(),CU=GN(),{groupRedact:EU,nestedRedact:hU}=PT(),RU=SN(),IU=x2(),DU=MN(),YT=($)=>$;YT.restore=YT;var LU="[REDACTED]";OT.rx=IU;OT.validator=MN;NN.exports=OT;function OT($={}){let q=Array.from(new Set($.paths||[])),_="serialize"in $?$.serialize===!1?$.serialize:typeof $.serialize==="function"?$.serialize:JSON.stringify:JSON.stringify,K=$.remove;if(K===!0&&_!==JSON.stringify)throw Error("fast-redact – remove option may only be set when serializer is JSON.stringify");let P=K===!0?void 0:("censor"in $)?$.censor:LU,Y=typeof P==="function",O=Y&&P.length>1;if(q.length===0)return _||YT;DU({paths:q,serialize:_,censor:P});let{wildcards:z,wcLen:T,secret:H}=MU({paths:q,censor:P}),f=CU(),w="strict"in $?$.strict:!0;return NU({secret:H,wcLen:T,serialize:_,strict:w,isCensorFct:Y,censorFctTakesPath:O},RU({secret:H,censor:P,compileRestore:f,serialize:_,groupRedact:EU,nestedRedact:hU,wildcards:z,wcLen:T}))}});class hT{run($,q){return q()}active(){return}}var N1=new hT;function RT($){N1=$}function UF(){return N1}function C1($,q){return N1.run($,q)}function a2(){return N1.active()}class IT{stack=[];run($,q){this.stack.push($);try{return q()}finally{this.stack.pop()}}active(){return this.stack.length>0?this.stack[this.stack.length-1]:void 0}}function DT(){return new IT}function e2($){if(!$||!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test($))throw Error(`Invalid UUID format: ${$}`);return $}var OP;((Y)=>{Y.IMAGE="image";Y.VIDEO="video";Y.AUDIO="audio";Y.DOCUMENT="document";Y.LINK="link"})(OP||={});var wC;((K)=>{K.OWNER="OWNER";K.ADMIN="ADMIN";K.NONE="NONE"})(wC||={});var jP;((f)=>{f.SELF="SELF";f.DM="DM";f.GROUP="GROUP";f.VOICE_DM="VOICE_DM";f.VOICE_GROUP="VOICE_GROUP";f.FEED="FEED";f.THREAD="THREAD";f.WORLD="WORLD";f.FORUM="FORUM";f.API="API"})(jP||={});var fC;((Y)=>{Y.DOCUMENT="document";Y.FRAGMENT="fragment";Y.MESSAGE="message";Y.DESCRIPTION="description";Y.CUSTOM="custom"})(fC||={});var ZC;((_)=>{_.ACTIVE="active";_.INACTIVE="inactive"})(ZC||={});var qQ={TRANSCRIPTION:"transcription",VIDEO:"video",BROWSER:"browser",PDF:"pdf",REMOTE_FILES:"aws_s3",WEB_SEARCH:"web_search",EMAIL:"email",TEE:"tee",TASK:"task",WALLET:"wallet",LP_POOL:"lp_pool",TOKEN_DATA:"token_data",MESSAGE_SERVICE:"message_service",MESSAGE:"message",POST:"post",UNKNOWN:"unknown"};class s2{runtime;constructor($){if($)this.runtime=$}static serviceType;config;static async start($){throw Error("Not implemented")}static async stop($){throw Error("Not implemented")}}function _Q($,q){return $.getService(q)}function KQ($,q="UNKNOWN_ERROR"){if($ instanceof Error)return{code:q,message:$.message,cause:$};return{code:q,message:String($)}}var k6={SMALL:"TEXT_SMALL",MEDIUM:"TEXT_LARGE",LARGE:"TEXT_LARGE",TEXT_SMALL:"TEXT_SMALL",TEXT_LARGE:"TEXT_LARGE",TEXT_EMBEDDING:"TEXT_EMBEDDING",TEXT_TOKENIZER_ENCODE:"TEXT_TOKENIZER_ENCODE",TEXT_TOKENIZER_DECODE:"TEXT_TOKENIZER_DECODE",TEXT_REASONING_SMALL:"REASONING_SMALL",TEXT_REASONING_LARGE:"REASONING_LARGE",TEXT_COMPLETION:"TEXT_COMPLETION",IMAGE:"IMAGE",IMAGE_DESCRIPTION:"IMAGE_DESCRIPTION",TRANSCRIPTION:"TRANSCRIPTION",TEXT_TO_SPEECH:"TEXT_TO_SPEECH",AUDIO:"AUDIO",VIDEO:"VIDEO",OBJECT_SMALL:"OBJECT_SMALL",OBJECT_LARGE:"OBJECT_LARGE"},vP={DEFAULT_MAX_TOKENS:"DEFAULT_MAX_TOKENS",DEFAULT_TEMPERATURE:"DEFAULT_TEMPERATURE",DEFAULT_TOP_P:"DEFAULT_TOP_P",DEFAULT_TOP_K:"DEFAULT_TOP_K",DEFAULT_MIN_P:"DEFAULT_MIN_P",DEFAULT_SEED:"DEFAULT_SEED",DEFAULT_REPETITION_PENALTY:"DEFAULT_REPETITION_PENALTY",DEFAULT_FREQUENCY_PENALTY:"DEFAULT_FREQUENCY_PENALTY",DEFAULT_PRESENCE_PENALTY:"DEFAULT_PRESENCE_PENALTY",TEXT_SMALL_MAX_TOKENS:"TEXT_SMALL_MAX_TOKENS",TEXT_SMALL_TEMPERATURE:"TEXT_SMALL_TEMPERATURE",TEXT_SMALL_TOP_P:"TEXT_SMALL_TOP_P",TEXT_SMALL_TOP_K:"TEXT_SMALL_TOP_K",TEXT_SMALL_MIN_P:"TEXT_SMALL_MIN_P",TEXT_SMALL_SEED:"TEXT_SMALL_SEED",TEXT_SMALL_REPETITION_PENALTY:"TEXT_SMALL_REPETITION_PENALTY",TEXT_SMALL_FREQUENCY_PENALTY:"TEXT_SMALL_FREQUENCY_PENALTY",TEXT_SMALL_PRESENCE_PENALTY:"TEXT_SMALL_PRESENCE_PENALTY",TEXT_LARGE_MAX_TOKENS:"TEXT_LARGE_MAX_TOKENS",TEXT_LARGE_TEMPERATURE:"TEXT_LARGE_TEMPERATURE",TEXT_LARGE_TOP_P:"TEXT_LARGE_TOP_P",TEXT_LARGE_TOP_K:"TEXT_LARGE_TOP_K",TEXT_LARGE_MIN_P:"TEXT_LARGE_MIN_P",TEXT_LARGE_SEED:"TEXT_LARGE_SEED",TEXT_LARGE_REPETITION_PENALTY:"TEXT_LARGE_REPETITION_PENALTY",TEXT_LARGE_FREQUENCY_PENALTY:"TEXT_LARGE_FREQUENCY_PENALTY",TEXT_LARGE_PRESENCE_PENALTY:"TEXT_LARGE_PRESENCE_PENALTY",OBJECT_SMALL_MAX_TOKENS:"OBJECT_SMALL_MAX_TOKENS",OBJECT_SMALL_TEMPERATURE:"OBJECT_SMALL_TEMPERATURE",OBJECT_SMALL_TOP_P:"OBJECT_SMALL_TOP_P",OBJECT_SMALL_TOP_K:"OBJECT_SMALL_TOP_K",OBJECT_SMALL_MIN_P:"OBJECT_SMALL_MIN_P",OBJECT_SMALL_SEED:"OBJECT_SMALL_SEED",OBJECT_SMALL_REPETITION_PENALTY:"OBJECT_SMALL_REPETITION_PENALTY",OBJECT_SMALL_FREQUENCY_PENALTY:"OBJECT_SMALL_FREQUENCY_PENALTY",OBJECT_SMALL_PRESENCE_PENALTY:"OBJECT_SMALL_PRESENCE_PENALTY",OBJECT_LARGE_MAX_TOKENS:"OBJECT_LARGE_MAX_TOKENS",OBJECT_LARGE_TEMPERATURE:"OBJECT_LARGE_TEMPERATURE",OBJECT_LARGE_TOP_P:"OBJECT_LARGE_TOP_P",OBJECT_LARGE_TOP_K:"OBJECT_LARGE_TOP_K",OBJECT_LARGE_MIN_P:"OBJECT_LARGE_MIN_P",OBJECT_LARGE_SEED:"OBJECT_LARGE_SEED",OBJECT_LARGE_REPETITION_PENALTY:"OBJECT_LARGE_REPETITION_PENALTY",OBJECT_LARGE_FREQUENCY_PENALTY:"OBJECT_LARGE_FREQUENCY_PENALTY",OBJECT_LARGE_PRESENCE_PENALTY:"OBJECT_LARGE_PRESENCE_PENALTY",TEXT_REASONING_SMALL_MAX_TOKENS:"TEXT_REASONING_SMALL_MAX_TOKENS",TEXT_REASONING_SMALL_TEMPERATURE:"TEXT_REASONING_SMALL_TEMPERATURE",TEXT_REASONING_SMALL_TOP_P:"TEXT_REASONING_SMALL_TOP_P",TEXT_REASONING_SMALL_TOP_K:"TEXT_REASONING_SMALL_TOP_K",TEXT_REASONING_SMALL_MIN_P:"TEXT_REASONING_SMALL_MIN_P",TEXT_REASONING_SMALL_SEED:"TEXT_REASONING_SMALL_SEED",TEXT_REASONING_SMALL_REPETITION_PENALTY:"TEXT_REASONING_SMALL_REPETITION_PENALTY",TEXT_REASONING_SMALL_FREQUENCY_PENALTY:"TEXT_REASONING_SMALL_FREQUENCY_PENALTY",TEXT_REASONING_SMALL_PRESENCE_PENALTY:"TEXT_REASONING_SMALL_PRESENCE_PENALTY",TEXT_REASONING_LARGE_MAX_TOKENS:"TEXT_REASONING_LARGE_MAX_TOKENS",TEXT_REASONING_LARGE_TEMPERATURE:"TEXT_REASONING_LARGE_TEMPERATURE",TEXT_REASONING_LARGE_TOP_P:"TEXT_REASONING_LARGE_TOP_P",TEXT_REASONING_LARGE_TOP_K:"TEXT_REASONING_LARGE_TOP_K",TEXT_REASONING_LARGE_MIN_P:"TEXT_REASONING_LARGE_MIN_P",TEXT_REASONING_LARGE_SEED:"TEXT_REASONING_LARGE_SEED",TEXT_REASONING_LARGE_REPETITION_PENALTY:"TEXT_REASONING_LARGE_REPETITION_PENALTY",TEXT_REASONING_LARGE_FREQUENCY_PENALTY:"TEXT_REASONING_LARGE_FREQUENCY_PENALTY",TEXT_REASONING_LARGE_PRESENCE_PENALTY:"TEXT_REASONING_LARGE_PRESENCE_PENALTY",TEXT_COMPLETION_MAX_TOKENS:"TEXT_COMPLETION_MAX_TOKENS",TEXT_COMPLETION_TEMPERATURE:"TEXT_COMPLETION_TEMPERATURE",TEXT_COMPLETION_TOP_P:"TEXT_COMPLETION_TOP_P",TEXT_COMPLETION_TOP_K:"TEXT_COMPLETION_TOP_K",TEXT_COMPLETION_MIN_P:"TEXT_COMPLETION_MIN_P",TEXT_COMPLETION_SEED:"TEXT_COMPLETION_SEED",TEXT_COMPLETION_REPETITION_PENALTY:"TEXT_COMPLETION_REPETITION_PENALTY",TEXT_COMPLETION_FREQUENCY_PENALTY:"TEXT_COMPLETION_FREQUENCY_PENALTY",TEXT_COMPLETION_PRESENCE_PENALTY:"TEXT_COMPLETION_PRESENCE_PENALTY",MODEL_MAX_TOKEN:"MODEL_MAX_TOKEN",MODEL_TEMPERATURE:"MODEL_TEMPERATURE",MODEL_FREQ_PENALTY:"MODEL_FREQ_PENALTY",MODEL_PRESENCE_PENALTY:"MODEL_PRESENCE_PENALTY"};function YQ($){return[k6.TEXT_SMALL,k6.TEXT_LARGE,k6.TEXT_REASONING_SMALL,k6.TEXT_REASONING_LARGE,k6.TEXT_COMPLETION].includes($)}var jQ={SMALL:384,MEDIUM:512,LARGE:768,XL:1024,XXL:1536,XXXL:3072};var $Y;((W)=>{W.WORLD_JOINED="WORLD_JOINED";W.WORLD_CONNECTED="WORLD_CONNECTED";W.WORLD_LEFT="WORLD_LEFT";W.ENTITY_JOINED="ENTITY_JOINED";W.ENTITY_LEFT="ENTITY_LEFT";W.ENTITY_UPDATED="ENTITY_UPDATED";W.ROOM_JOINED="ROOM_JOINED";W.ROOM_LEFT="ROOM_LEFT";W.MESSAGE_RECEIVED="MESSAGE_RECEIVED";W.MESSAGE_SENT="MESSAGE_SENT";W.MESSAGE_DELETED="MESSAGE_DELETED";W.CHANNEL_CLEARED="CHANNEL_CLEARED";W.VOICE_MESSAGE_RECEIVED="VOICE_MESSAGE_RECEIVED";W.VOICE_MESSAGE_SENT="VOICE_MESSAGE_SENT";W.REACTION_RECEIVED="REACTION_RECEIVED";W.POST_GENERATED="POST_GENERATED";W.INTERACTION_RECEIVED="INTERACTION_RECEIVED";W.RUN_STARTED="RUN_STARTED";W.RUN_ENDED="RUN_ENDED";W.RUN_TIMEOUT="RUN_TIMEOUT";W.ACTION_STARTED="ACTION_STARTED";W.ACTION_COMPLETED="ACTION_COMPLETED";W.EVALUATOR_STARTED="EVALUATOR_STARTED";W.EVALUATOR_COMPLETED="EVALUATOR_COMPLETED";W.MODEL_USED="MODEL_USED";W.EMBEDDING_GENERATION_REQUESTED="EMBEDDING_GENERATION_REQUESTED";W.EMBEDDING_GENERATION_COMPLETED="EMBEDDING_GENERATION_COMPLETED";W.EMBEDDING_GENERATION_FAILED="EMBEDDING_GENERATION_FAILED";W.CONTROL_MESSAGE="CONTROL_MESSAGE"})($Y||={});var XC;((K)=>{K.DISCORD="DISCORD";K.TELEGRAM="TELEGRAM";K.TWITTER="TWITTER"})(XC||={});var AC;((P)=>{P.OFF="OFF";P.LOCAL="LOCAL";P.DOCKER="DOCKER";P.PRODUCTION="PRODUCTION"})(AC||={});var kC;((q)=>q.TDX_DSTACK="tdx_dstack")(kC||={});var GC;((O)=>{O[O.ROOM_JOINING=1]="ROOM_JOINING";O[O.SEND_MESSAGE=2]="SEND_MESSAGE";O[O.MESSAGE=3]="MESSAGE";O[O.ACK=4]="ACK";O[O.THINKING=5]="THINKING";O[O.CONTROL=6]="CONTROL"})(GC||={});var JQ={messageStreamChunk:"messageStreamChunk",messageStreamError:"messageStreamError",messageBroadcast:"messageBroadcast"};var VC=Object.defineProperty,f6=($,q)=>{for(var _ in q)VC($,_,{get:q[_],enumerable:!0})};var E1=class{pageContent;metadata;id;constructor($){this.pageContent=$.pageContent!==void 0?$.pageContent.toString():"",this.metadata=$.metadata??{},this.id=$.id}};var dT=N8(bT(),1),RC=N8(mT(),1);function lT($,q){return q?.[$]||dT.default($)}function rT($,q,_){let K={};for(let P in $)if(Object.hasOwn($,P))K[q(P,_)]=$[P];return K}var IC={};f6(IC,{Serializable:()=>b_,get_lc_unique_name:()=>h1});function oT($){return Array.isArray($)?[...$]:{...$}}function DC($,q){let _=oT($);for(let[K,P]of Object.entries(q)){let[Y,...O]=K.split(".").reverse(),z=_;for(let T of O.reverse()){if(z[T]===void 0)break;z[T]=oT(z[T]),z=z[T]}if(z[Y]!==void 0)z[Y]={lc:1,type:"secret",id:[P]}}return _}function h1($){let q=Object.getPrototypeOf($);if(typeof $.lc_name==="function"&&(typeof q.lc_name!=="function"||$.lc_name()!==q.lc_name()))return $.lc_name();else return $.name}var b_=class ${lc_serializable=!1;lc_kwargs;static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,h1(this.constructor)]}get lc_secrets(){return}get lc_attributes(){return}get lc_aliases(){return}get lc_serializable_keys(){return}constructor(q,..._){if(this.lc_serializable_keys!==void 0)this.lc_kwargs=Object.fromEntries(Object.entries(q||{}).filter(([K])=>this.lc_serializable_keys?.includes(K)));else this.lc_kwargs=q??{}}toJSON(){if(!this.lc_serializable)return this.toJSONNotImplemented();if(this.lc_kwargs instanceof $||typeof this.lc_kwargs!=="object"||Array.isArray(this.lc_kwargs))return this.toJSONNotImplemented();let q={},_={},K=Object.keys(this.lc_kwargs).reduce((P,Y)=>{return P[Y]=Y in this?this[Y]:this.lc_kwargs[Y],P},{});for(let P=Object.getPrototypeOf(this);P;P=Object.getPrototypeOf(P))Object.assign(q,Reflect.get(P,"lc_aliases",this)),Object.assign(_,Reflect.get(P,"lc_secrets",this)),Object.assign(K,Reflect.get(P,"lc_attributes",this));return Object.keys(_).forEach((P)=>{let Y=this,O=K,[z,...T]=P.split(".").reverse();for(let H of T.reverse()){if(!(H in Y)||Y[H]===void 0)return;if(!(H in O)||O[H]===void 0){if(typeof Y[H]==="object"&&Y[H]!=null)O[H]={};else if(Array.isArray(Y[H]))O[H]=[]}Y=Y[H],O=O[H]}if(z in Y&&Y[z]!==void 0)O[z]=O[z]||Y[z]}),{lc:1,type:"constructor",id:this.lc_id,kwargs:rT(Object.keys(_).length?DC(K,_):K,lT,q)}}toJSONNotImplemented(){return{lc:1,type:"not_implemented",id:this.lc_id}}};function _Y($){return!!($&&typeof $==="object"&&("type"in $)&&$.type==="tool_call")}var nT=class extends Error{output;constructor($,q){super($);this.output=q}};var iT=Symbol.for("ls:tracing_async_local_storage"),g_=Symbol.for("lc:context_variables"),BT=($)=>{globalThis[iT]=$},y_=()=>{return globalThis[iT]};function rK($){return typeof $==="object"&&$!==null&&"type"in $&&typeof $.type==="string"&&"source_type"in $&&($.source_type==="url"||$.source_type==="base64"||$.source_type==="text"||$.source_type==="id")}function tT($){return rK($)&&$.source_type==="url"&&"url"in $&&typeof $.url==="string"}function UT($){return rK($)&&$.source_type==="base64"&&"data"in $&&typeof $.data==="string"}function FT($){return rK($)&&$.source_type==="id"&&"id"in $&&typeof $.id==="string"}function KY({dataUrl:$,asTypedArray:q=!1}){let _=$.match(/^data:(\w+\/\w+);base64,([A-Za-z0-9+/]+=*)$/),K;if(_){K=_[1].toLowerCase();let P=q?Uint8Array.from(atob(_[2]),(Y)=>Y.charCodeAt(0)):_[2];return{mime_type:K,data:P}}return}function e$($,q){return K6($)&&$.type===q}function K6($){return typeof $==="object"&&$!==null}function oq($){return Array.isArray($)}function U$($){return typeof $==="string"}function _8($){return typeof $==="number"}function R1($){return $ instanceof Uint8Array}function PY($){try{return JSON.parse($)}catch{return}}var P_=($)=>$();function LC($){if($.type==="char_location"&&U$($.document_title)&&_8($.start_char_index)&&_8($.end_char_index)&&U$($.cited_text)){let{document_title:q,start_char_index:_,end_char_index:K,cited_text:P,...Y}=$;return{...Y,type:"citation",source:"char",title:q??void 0,startIndex:_,endIndex:K,citedText:P}}if($.type==="page_location"&&U$($.document_title)&&_8($.start_page_number)&&_8($.end_page_number)&&U$($.cited_text)){let{document_title:q,start_page_number:_,end_page_number:K,cited_text:P,...Y}=$;return{...Y,type:"citation",source:"page",title:q??void 0,startIndex:_,endIndex:K,citedText:P}}if($.type==="content_block_location"&&U$($.document_title)&&_8($.start_block_index)&&_8($.end_block_index)&&U$($.cited_text)){let{document_title:q,start_block_index:_,end_block_index:K,cited_text:P,...Y}=$;return{...Y,type:"citation",source:"block",title:q??void 0,startIndex:_,endIndex:K,citedText:P}}if($.type==="web_search_result_location"&&U$($.url)&&U$($.title)&&U$($.encrypted_index)&&U$($.cited_text)){let{url:q,title:_,encrypted_index:K,cited_text:P,...Y}=$;return{...Y,type:"citation",source:"url",url:q,title:_,startIndex:Number(K),endIndex:Number(K),citedText:P}}if($.type==="search_result_location"&&U$($.source)&&U$($.title)&&_8($.start_block_index)&&_8($.end_block_index)&&U$($.cited_text)){let{source:q,title:_,start_block_index:K,end_block_index:P,cited_text:Y,...O}=$;return{...O,type:"citation",source:"search",url:q,title:_??void 0,startIndex:K,endIndex:P,citedText:Y}}return}function aT($){if(e$($,"document")&&K6($.source)&&"type"in $.source){if($.source.type==="base64"&&U$($.source.media_type)&&U$($.source.data))return{type:"file",mimeType:$.source.media_type,data:$.source.data};else if($.source.type==="url"&&U$($.source.url))return{type:"file",url:$.source.url};else if($.source.type==="file"&&U$($.source.file_id))return{type:"file",fileId:$.source.file_id};else if($.source.type==="text"&&U$($.source.data))return{type:"file",mimeType:String($.source.media_type??"text/plain"),data:$.source.data}}else if(e$($,"image")&&K6($.source)&&"type"in $.source){if($.source.type==="base64"&&U$($.source.media_type)&&U$($.source.data))return{type:"image",mimeType:$.source.media_type,data:$.source.data};else if($.source.type==="url"&&U$($.source.url))return{type:"image",url:$.source.url};else if($.source.type==="file"&&U$($.source.file_id))return{type:"image",fileId:$.source.file_id}}return}function eT($){function*q(){for(let _ of $){let K=aT(_);if(K)yield K;else yield _}}return Array.from(q())}function QT($){function*q(){let _=typeof $.content==="string"?[{type:"text",text:$.content}]:$.content;for(let K of _){if(e$(K,"text")&&U$(K.text)){let{text:P,citations:Y,...O}=K;if(oq(Y)&&Y.length){let z=Y.reduce((T,H)=>{let f=LC(H);if(f)return[...T,f];return T},[]);yield{...O,type:"text",text:P,annotations:z};continue}else{yield{...O,type:"text",text:P};continue}}else if(e$(K,"thinking")&&U$(K.thinking)){let{thinking:P,signature:Y,...O}=K;yield{...O,type:"reasoning",reasoning:P,signature:Y};continue}else if(e$(K,"redacted_thinking")){yield{type:"non_standard",value:K};continue}else if(e$(K,"tool_use")&&U$(K.name)&&U$(K.id)){yield{type:"tool_call",id:K.id,name:K.name,args:K.input};continue}else if(e$(K,"input_json_delta")){if(bC($)&&$.tool_call_chunks?.length){let P=$.tool_call_chunks[0];yield{type:"tool_call_chunk",id:P.id,name:P.name,args:P.args,index:P.index};continue}}else if(e$(K,"server_tool_use")&&U$(K.name)&&U$(K.id)){let{name:P,id:Y}=K;if(P==="web_search"){let O=P_(()=>{if(typeof K.input==="string")return K.input;else if(K6(K.input)&&U$(K.input.query))return K.input.query;else if(U$(K.partial_json)){let z=PY(K.partial_json);if(z?.query)return z.query}return""});yield{id:Y,type:"server_tool_call",name:"web_search",args:{query:O}};continue}else if(K.name==="code_execution"){let O=P_(()=>{if(typeof K.input==="string")return K.input;else if(K6(K.input)&&U$(K.input.code))return K.input.code;else if(U$(K.partial_json)){let z=PY(K.partial_json);if(z?.code)return z.code}return""});yield{id:Y,type:"server_tool_call",name:"code_execution",args:{code:O}};continue}}else if(e$(K,"web_search_tool_result")&&U$(K.tool_use_id)&&oq(K.content)){let{content:P,tool_use_id:Y}=K,O=P.reduce((z,T)=>{if(e$(T,"web_search_result"))return[...z,T.url];return z},[]);yield{type:"server_tool_call_result",name:"web_search",toolCallId:Y,status:"success",output:{urls:O}};continue}else if(e$(K,"code_execution_tool_result")&&U$(K.tool_use_id)&&K6(K.content)){yield{type:"server_tool_call_result",name:"code_execution",toolCallId:K.tool_use_id,status:"success",output:K.content};continue}else if(e$(K,"mcp_tool_use")){yield{id:K.id,type:"server_tool_call",name:"mcp_tool_use",args:K.input};continue}else if(e$(K,"mcp_tool_result")&&U$(K.tool_use_id)&&K6(K.content)){yield{type:"server_tool_call_result",name:"mcp_tool_use",toolCallId:K.tool_use_id,status:"success",output:K.content};continue}else if(e$(K,"container_upload")){yield{type:"server_tool_call",name:"container_upload",args:K.input};continue}else if(e$(K,"search_result")){yield{id:K.id,type:"non_standard",value:K};continue}else if(e$(K,"tool_result")){yield{id:K.id,type:"non_standard",value:K};continue}else{let P=aT(K);if(P){yield P;continue}}yield{type:"non_standard",value:K}}}return Array.from(q())}var sT={translateContent:QT,translateContentChunk:QT};function bC($){return typeof $?._getType==="function"&&typeof $.concat==="function"&&$._getType()==="ai"}function gC($){if(tT($))return{type:$.type,mimeType:$.mime_type,url:$.url,metadata:$.metadata};if(UT($))return{type:$.type,mimeType:$.mime_type??"application/octet-stream",data:$.data,metadata:$.metadata};if(FT($))return{type:$.type,mimeType:$.mime_type,fileId:$.id,metadata:$.metadata};return $}function $w($){return $.map(gC)}function qw($){if(e$($,"image_url")&&K6($.image_url))return!0;if(e$($,"input_audio")&&K6($.input_audio))return!0;if(e$($,"file")&&K6($.file))return!0;return!1}function _w($){if(e$($,"image_url")&&K6($.image_url)&&U$($.image_url.url)){let q=KY({dataUrl:$.image_url.url});if(q)return{type:"image",mimeType:q.mime_type,data:q.data};else return{type:"image",url:$.image_url.url}}else if(e$($,"input_audio")&&K6($.input_audio)&&U$($.input_audio.data)&&U$($.input_audio.format))return{type:"audio",data:$.input_audio.data,mimeType:`audio/${$.input_audio.format}`};else if(e$($,"file")&&K6($.file)&&U$($.file.data)){let q=KY({dataUrl:$.file.data});if(q)return{type:"file",data:q.data,mimeType:q.mime_type};else if(U$($.file.file_id))return{type:"file",fileId:$.file.file_id}}return $}function yC($){let q=[];if(typeof $.content==="string")q.push({type:"text",text:$.content});else q.push(...I1($.content));for(let _ of $.tool_calls??[])q.push({type:"tool_call",id:_.id,name:_.name,args:_.args});return q}function uC($){let q=[];if(typeof $.content==="string")q.push({type:"text",text:$.content});else q.push(...I1($.content));for(let _ of $.tool_calls??[])q.push({type:"tool_call",id:_.id,name:_.name,args:_.args});return q}function I1($){let q=[];for(let _ of $)if(qw(_))q.push(_w(_));else q.push(_);return q}function xC($){if($.type==="url_citation"){let{url:q,title:_,start_index:K,end_index:P}=$;return{type:"citation",url:q,title:_,startIndex:K,endIndex:P}}if($.type==="file_citation"){let{file_id:q,filename:_,index:K}=$;return{type:"citation",title:_,startIndex:K,endIndex:K,fileId:q}}return $}function Kw($){function*q(){if(K6($.additional_kwargs?.reasoning)&&oq($.additional_kwargs.reasoning.summary))yield{type:"reasoning",reasoning:$.additional_kwargs.reasoning.summary.reduce((P,Y)=>{if(K6(Y)&&U$(Y.text))return`${P}${Y.text}`;return P},"")};let _=typeof $.content==="string"?[{type:"text",text:$.content}]:$.content;for(let K of _)if(e$(K,"text")){let{text:P,annotations:Y,...O}=K;if(Array.isArray(Y))yield{...O,type:"text",text:String(P),annotations:Y.map(xC)};else yield{...O,type:"text",text:String(P)}}for(let K of $.tool_calls??[])yield{type:"tool_call",id:K.id,name:K.name,args:K.args};if(K6($.additional_kwargs)&&oq($.additional_kwargs.tool_outputs))for(let K of $.additional_kwargs.tool_outputs){if(e$(K,"web_search_call")){yield{id:K.id,type:"server_tool_call",name:"web_search",args:{query:K.query}};continue}else if(e$(K,"file_search_call")){yield{id:K.id,type:"server_tool_call",name:"file_search",args:{query:K.query}};continue}else if(e$(K,"computer_call")){yield{type:"non_standard",value:K};continue}else if(e$(K,"code_interpreter_call")){if(U$(K.code))yield{id:K.id,type:"server_tool_call",name:"code_interpreter",args:{code:K.code}};if(oq(K.outputs)){let P=P_(()=>{if(K.status==="in_progress")return;if(K.status==="completed")return 0;if(K.status==="incomplete")return 127;if(K.status==="interpreting")return;if(K.status==="failed")return 1;return});for(let Y of K.outputs)if(e$(Y,"logs")){yield{type:"server_tool_call_result",toolCallId:K.id??"",status:"success",output:{type:"code_interpreter_output",returnCode:P??0,stderr:[0,void 0].includes(P)?void 0:String(Y.logs),stdout:[0,void 0].includes(P)?String(Y.logs):void 0}};continue}}continue}else if(e$(K,"mcp_call")){yield{id:K.id,type:"server_tool_call",name:"mcp_call",args:K.input};continue}else if(e$(K,"mcp_list_tools")){yield{id:K.id,type:"server_tool_call",name:"mcp_list_tools",args:K.input};continue}else if(e$(K,"mcp_approval_request")){yield{type:"non_standard",value:K};continue}else if(e$(K,"image_generation_call")){yield{type:"non_standard",value:K};continue}if(K6(K))yield{type:"non_standard",value:K}}}return Array.from(q())}function pC($){function*q(){yield*Kw($);for(let _ of $.tool_call_chunks??[])yield{type:"tool_call_chunk",id:_.id,name:_.name,args:_.args}}return Array.from(q())}var Pw={translateContent:($)=>{if(typeof $.content==="string")return yC($);return Kw($)},translateContentChunk:($)=>{if(typeof $.content==="string")return uC($);return pC($)}};function Yw($){return typeof $==="object"&&$!==null&&"type"in $&&"content"in $&&(typeof $.content==="string"||Array.isArray($.content))}function Ow($,q="pretty"){if(q==="pretty")return cC($);return JSON.stringify($)}function cC($){let q=[],_=` ${$.type.charAt(0).toUpperCase()+$.type.slice(1)} Message `,K=Math.floor((80-_.length)/2),P="=".repeat(K),Y=_.length%2===0?P:`${P}=`;if(q.push(`${P}${_}${Y}`),$.type==="ai"){let O=$;if(O.tool_calls&&O.tool_calls.length>0){q.push("Tool Calls:");for(let z of O.tool_calls){q.push(` ${z.name} (${z.id})`),q.push(` Call ID: ${z.id}`),q.push(" Args:");for(let[T,H]of Object.entries(z.args))q.push(` ${T}: ${H}`)}}}if($.type==="tool"){let O=$;if(O.name)q.push(`Name: ${O.name}`)}if(typeof $.content==="string"&&$.content.trim()){if(q.length>1)q.push("");q.push($.content)}return q.join(`
|
|
120
|
+
`}});var SN=N$((CY$,VN)=>{VN.exports=SU;function SU($){let{secret:q,censor:_,compileRestore:K,serialize:P,groupRedact:Y,nestedRedact:O,wildcards:z,wcLen:T}=$,H=[{secret:q,censor:_,compileRestore:K}];if(P!==!1)H.push({serialize:P});if(T>0)H.push({groupRedact:Y,nestedRedact:O,wildcards:z,wcLen:T});return Object.assign(...H)}});var CN=N$((EY$,NN)=>{var MN=WN(),MU=TN(),NU=fN(),CU=GN(),{groupRedact:EU,nestedRedact:hU}=PT(),RU=SN(),IU=x2(),DU=MN(),YT=($)=>$;YT.restore=YT;var LU="[REDACTED]";OT.rx=IU;OT.validator=MN;NN.exports=OT;function OT($={}){let q=Array.from(new Set($.paths||[])),_="serialize"in $?$.serialize===!1?$.serialize:typeof $.serialize==="function"?$.serialize:JSON.stringify:JSON.stringify,K=$.remove;if(K===!0&&_!==JSON.stringify)throw Error("fast-redact – remove option may only be set when serializer is JSON.stringify");let P=K===!0?void 0:("censor"in $)?$.censor:LU,Y=typeof P==="function",O=Y&&P.length>1;if(q.length===0)return _||YT;DU({paths:q,serialize:_,censor:P});let{wildcards:z,wcLen:T,secret:H}=MU({paths:q,censor:P}),f=CU(),w="strict"in $?$.strict:!0;return NU({secret:H,wcLen:T,serialize:_,strict:w,isCensorFct:Y,censorFctTakesPath:O},RU({secret:H,censor:P,compileRestore:f,serialize:_,groupRedact:EU,nestedRedact:hU,wildcards:z,wcLen:T}))}});class hT{run($,q){return q()}active(){return}}var N1=new hT;function RT($){N1=$}function UF(){return N1}function C1($,q){return N1.run($,q)}function a2(){return N1.active()}class IT{stack=[];run($,q){this.stack.push($);try{return q()}finally{this.stack.pop()}}active(){return this.stack.length>0?this.stack[this.stack.length-1]:void 0}}function DT(){return new IT}function e2($){if(!$||!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test($))throw Error(`Invalid UUID format: ${$}`);return $}var OP;((Y)=>{Y.IMAGE="image";Y.VIDEO="video";Y.AUDIO="audio";Y.DOCUMENT="document";Y.LINK="link"})(OP||={});var wC;((K)=>{K.OWNER="OWNER";K.ADMIN="ADMIN";K.NONE="NONE"})(wC||={});var jP;((f)=>{f.SELF="SELF";f.DM="DM";f.GROUP="GROUP";f.VOICE_DM="VOICE_DM";f.VOICE_GROUP="VOICE_GROUP";f.FEED="FEED";f.THREAD="THREAD";f.WORLD="WORLD";f.FORUM="FORUM";f.API="API"})(jP||={});var fC;((Y)=>{Y.DOCUMENT="document";Y.FRAGMENT="fragment";Y.MESSAGE="message";Y.DESCRIPTION="description";Y.CUSTOM="custom"})(fC||={});var ZC;((_)=>{_.ACTIVE="active";_.INACTIVE="inactive"})(ZC||={});var qQ={TRANSCRIPTION:"transcription",VIDEO:"video",BROWSER:"browser",PDF:"pdf",REMOTE_FILES:"aws_s3",WEB_SEARCH:"web_search",EMAIL:"email",TEE:"tee",TASK:"task",WALLET:"wallet",LP_POOL:"lp_pool",TOKEN_DATA:"token_data",MESSAGE_SERVICE:"message_service",MESSAGE:"message",POST:"post",UNKNOWN:"unknown"};class s2{runtime;constructor($){if($)this.runtime=$}static serviceType;config;static async start($){throw Error("Not implemented")}static async stop($){throw Error("Not implemented")}}function _Q($,q){return $.getService(q)}function KQ($,q="UNKNOWN_ERROR"){if($ instanceof Error)return{code:q,message:$.message,cause:$};return{code:q,message:String($)}}var G6={SMALL:"TEXT_SMALL",MEDIUM:"TEXT_LARGE",LARGE:"TEXT_LARGE",TEXT_SMALL:"TEXT_SMALL",TEXT_LARGE:"TEXT_LARGE",TEXT_EMBEDDING:"TEXT_EMBEDDING",TEXT_TOKENIZER_ENCODE:"TEXT_TOKENIZER_ENCODE",TEXT_TOKENIZER_DECODE:"TEXT_TOKENIZER_DECODE",TEXT_REASONING_SMALL:"REASONING_SMALL",TEXT_REASONING_LARGE:"REASONING_LARGE",TEXT_COMPLETION:"TEXT_COMPLETION",IMAGE:"IMAGE",IMAGE_DESCRIPTION:"IMAGE_DESCRIPTION",TRANSCRIPTION:"TRANSCRIPTION",TEXT_TO_SPEECH:"TEXT_TO_SPEECH",AUDIO:"AUDIO",VIDEO:"VIDEO",OBJECT_SMALL:"OBJECT_SMALL",OBJECT_LARGE:"OBJECT_LARGE"},vP={DEFAULT_MAX_TOKENS:"DEFAULT_MAX_TOKENS",DEFAULT_TEMPERATURE:"DEFAULT_TEMPERATURE",DEFAULT_TOP_P:"DEFAULT_TOP_P",DEFAULT_TOP_K:"DEFAULT_TOP_K",DEFAULT_MIN_P:"DEFAULT_MIN_P",DEFAULT_SEED:"DEFAULT_SEED",DEFAULT_REPETITION_PENALTY:"DEFAULT_REPETITION_PENALTY",DEFAULT_FREQUENCY_PENALTY:"DEFAULT_FREQUENCY_PENALTY",DEFAULT_PRESENCE_PENALTY:"DEFAULT_PRESENCE_PENALTY",TEXT_SMALL_MAX_TOKENS:"TEXT_SMALL_MAX_TOKENS",TEXT_SMALL_TEMPERATURE:"TEXT_SMALL_TEMPERATURE",TEXT_SMALL_TOP_P:"TEXT_SMALL_TOP_P",TEXT_SMALL_TOP_K:"TEXT_SMALL_TOP_K",TEXT_SMALL_MIN_P:"TEXT_SMALL_MIN_P",TEXT_SMALL_SEED:"TEXT_SMALL_SEED",TEXT_SMALL_REPETITION_PENALTY:"TEXT_SMALL_REPETITION_PENALTY",TEXT_SMALL_FREQUENCY_PENALTY:"TEXT_SMALL_FREQUENCY_PENALTY",TEXT_SMALL_PRESENCE_PENALTY:"TEXT_SMALL_PRESENCE_PENALTY",TEXT_LARGE_MAX_TOKENS:"TEXT_LARGE_MAX_TOKENS",TEXT_LARGE_TEMPERATURE:"TEXT_LARGE_TEMPERATURE",TEXT_LARGE_TOP_P:"TEXT_LARGE_TOP_P",TEXT_LARGE_TOP_K:"TEXT_LARGE_TOP_K",TEXT_LARGE_MIN_P:"TEXT_LARGE_MIN_P",TEXT_LARGE_SEED:"TEXT_LARGE_SEED",TEXT_LARGE_REPETITION_PENALTY:"TEXT_LARGE_REPETITION_PENALTY",TEXT_LARGE_FREQUENCY_PENALTY:"TEXT_LARGE_FREQUENCY_PENALTY",TEXT_LARGE_PRESENCE_PENALTY:"TEXT_LARGE_PRESENCE_PENALTY",OBJECT_SMALL_MAX_TOKENS:"OBJECT_SMALL_MAX_TOKENS",OBJECT_SMALL_TEMPERATURE:"OBJECT_SMALL_TEMPERATURE",OBJECT_SMALL_TOP_P:"OBJECT_SMALL_TOP_P",OBJECT_SMALL_TOP_K:"OBJECT_SMALL_TOP_K",OBJECT_SMALL_MIN_P:"OBJECT_SMALL_MIN_P",OBJECT_SMALL_SEED:"OBJECT_SMALL_SEED",OBJECT_SMALL_REPETITION_PENALTY:"OBJECT_SMALL_REPETITION_PENALTY",OBJECT_SMALL_FREQUENCY_PENALTY:"OBJECT_SMALL_FREQUENCY_PENALTY",OBJECT_SMALL_PRESENCE_PENALTY:"OBJECT_SMALL_PRESENCE_PENALTY",OBJECT_LARGE_MAX_TOKENS:"OBJECT_LARGE_MAX_TOKENS",OBJECT_LARGE_TEMPERATURE:"OBJECT_LARGE_TEMPERATURE",OBJECT_LARGE_TOP_P:"OBJECT_LARGE_TOP_P",OBJECT_LARGE_TOP_K:"OBJECT_LARGE_TOP_K",OBJECT_LARGE_MIN_P:"OBJECT_LARGE_MIN_P",OBJECT_LARGE_SEED:"OBJECT_LARGE_SEED",OBJECT_LARGE_REPETITION_PENALTY:"OBJECT_LARGE_REPETITION_PENALTY",OBJECT_LARGE_FREQUENCY_PENALTY:"OBJECT_LARGE_FREQUENCY_PENALTY",OBJECT_LARGE_PRESENCE_PENALTY:"OBJECT_LARGE_PRESENCE_PENALTY",TEXT_REASONING_SMALL_MAX_TOKENS:"TEXT_REASONING_SMALL_MAX_TOKENS",TEXT_REASONING_SMALL_TEMPERATURE:"TEXT_REASONING_SMALL_TEMPERATURE",TEXT_REASONING_SMALL_TOP_P:"TEXT_REASONING_SMALL_TOP_P",TEXT_REASONING_SMALL_TOP_K:"TEXT_REASONING_SMALL_TOP_K",TEXT_REASONING_SMALL_MIN_P:"TEXT_REASONING_SMALL_MIN_P",TEXT_REASONING_SMALL_SEED:"TEXT_REASONING_SMALL_SEED",TEXT_REASONING_SMALL_REPETITION_PENALTY:"TEXT_REASONING_SMALL_REPETITION_PENALTY",TEXT_REASONING_SMALL_FREQUENCY_PENALTY:"TEXT_REASONING_SMALL_FREQUENCY_PENALTY",TEXT_REASONING_SMALL_PRESENCE_PENALTY:"TEXT_REASONING_SMALL_PRESENCE_PENALTY",TEXT_REASONING_LARGE_MAX_TOKENS:"TEXT_REASONING_LARGE_MAX_TOKENS",TEXT_REASONING_LARGE_TEMPERATURE:"TEXT_REASONING_LARGE_TEMPERATURE",TEXT_REASONING_LARGE_TOP_P:"TEXT_REASONING_LARGE_TOP_P",TEXT_REASONING_LARGE_TOP_K:"TEXT_REASONING_LARGE_TOP_K",TEXT_REASONING_LARGE_MIN_P:"TEXT_REASONING_LARGE_MIN_P",TEXT_REASONING_LARGE_SEED:"TEXT_REASONING_LARGE_SEED",TEXT_REASONING_LARGE_REPETITION_PENALTY:"TEXT_REASONING_LARGE_REPETITION_PENALTY",TEXT_REASONING_LARGE_FREQUENCY_PENALTY:"TEXT_REASONING_LARGE_FREQUENCY_PENALTY",TEXT_REASONING_LARGE_PRESENCE_PENALTY:"TEXT_REASONING_LARGE_PRESENCE_PENALTY",TEXT_COMPLETION_MAX_TOKENS:"TEXT_COMPLETION_MAX_TOKENS",TEXT_COMPLETION_TEMPERATURE:"TEXT_COMPLETION_TEMPERATURE",TEXT_COMPLETION_TOP_P:"TEXT_COMPLETION_TOP_P",TEXT_COMPLETION_TOP_K:"TEXT_COMPLETION_TOP_K",TEXT_COMPLETION_MIN_P:"TEXT_COMPLETION_MIN_P",TEXT_COMPLETION_SEED:"TEXT_COMPLETION_SEED",TEXT_COMPLETION_REPETITION_PENALTY:"TEXT_COMPLETION_REPETITION_PENALTY",TEXT_COMPLETION_FREQUENCY_PENALTY:"TEXT_COMPLETION_FREQUENCY_PENALTY",TEXT_COMPLETION_PRESENCE_PENALTY:"TEXT_COMPLETION_PRESENCE_PENALTY",MODEL_MAX_TOKEN:"MODEL_MAX_TOKEN",MODEL_TEMPERATURE:"MODEL_TEMPERATURE",MODEL_FREQ_PENALTY:"MODEL_FREQ_PENALTY",MODEL_PRESENCE_PENALTY:"MODEL_PRESENCE_PENALTY"};function YQ($){return[G6.TEXT_SMALL,G6.TEXT_LARGE,G6.TEXT_REASONING_SMALL,G6.TEXT_REASONING_LARGE,G6.TEXT_COMPLETION].includes($)}var jQ={SMALL:384,MEDIUM:512,LARGE:768,XL:1024,XXL:1536,XXXL:3072};var $Y;((W)=>{W.WORLD_JOINED="WORLD_JOINED";W.WORLD_CONNECTED="WORLD_CONNECTED";W.WORLD_LEFT="WORLD_LEFT";W.ENTITY_JOINED="ENTITY_JOINED";W.ENTITY_LEFT="ENTITY_LEFT";W.ENTITY_UPDATED="ENTITY_UPDATED";W.ROOM_JOINED="ROOM_JOINED";W.ROOM_LEFT="ROOM_LEFT";W.MESSAGE_RECEIVED="MESSAGE_RECEIVED";W.MESSAGE_SENT="MESSAGE_SENT";W.MESSAGE_DELETED="MESSAGE_DELETED";W.CHANNEL_CLEARED="CHANNEL_CLEARED";W.VOICE_MESSAGE_RECEIVED="VOICE_MESSAGE_RECEIVED";W.VOICE_MESSAGE_SENT="VOICE_MESSAGE_SENT";W.REACTION_RECEIVED="REACTION_RECEIVED";W.POST_GENERATED="POST_GENERATED";W.INTERACTION_RECEIVED="INTERACTION_RECEIVED";W.RUN_STARTED="RUN_STARTED";W.RUN_ENDED="RUN_ENDED";W.RUN_TIMEOUT="RUN_TIMEOUT";W.ACTION_STARTED="ACTION_STARTED";W.ACTION_COMPLETED="ACTION_COMPLETED";W.EVALUATOR_STARTED="EVALUATOR_STARTED";W.EVALUATOR_COMPLETED="EVALUATOR_COMPLETED";W.MODEL_USED="MODEL_USED";W.EMBEDDING_GENERATION_REQUESTED="EMBEDDING_GENERATION_REQUESTED";W.EMBEDDING_GENERATION_COMPLETED="EMBEDDING_GENERATION_COMPLETED";W.EMBEDDING_GENERATION_FAILED="EMBEDDING_GENERATION_FAILED";W.CONTROL_MESSAGE="CONTROL_MESSAGE"})($Y||={});var XC;((K)=>{K.DISCORD="DISCORD";K.TELEGRAM="TELEGRAM";K.TWITTER="TWITTER"})(XC||={});var AC;((P)=>{P.OFF="OFF";P.LOCAL="LOCAL";P.DOCKER="DOCKER";P.PRODUCTION="PRODUCTION"})(AC||={});var kC;((q)=>q.TDX_DSTACK="tdx_dstack")(kC||={});var GC;((O)=>{O[O.ROOM_JOINING=1]="ROOM_JOINING";O[O.SEND_MESSAGE=2]="SEND_MESSAGE";O[O.MESSAGE=3]="MESSAGE";O[O.ACK=4]="ACK";O[O.THINKING=5]="THINKING";O[O.CONTROL=6]="CONTROL"})(GC||={});var JQ={messageStreamChunk:"messageStreamChunk",messageStreamError:"messageStreamError",messageBroadcast:"messageBroadcast"};var VC=Object.defineProperty,f6=($,q)=>{for(var _ in q)VC($,_,{get:q[_],enumerable:!0})};var E1=class{pageContent;metadata;id;constructor($){this.pageContent=$.pageContent!==void 0?$.pageContent.toString():"",this.metadata=$.metadata??{},this.id=$.id}};var dT=N8(bT(),1),RC=N8(mT(),1);function lT($,q){return q?.[$]||dT.default($)}function rT($,q,_){let K={};for(let P in $)if(Object.hasOwn($,P))K[q(P,_)]=$[P];return K}var IC={};f6(IC,{Serializable:()=>b_,get_lc_unique_name:()=>h1});function oT($){return Array.isArray($)?[...$]:{...$}}function DC($,q){let _=oT($);for(let[K,P]of Object.entries(q)){let[Y,...O]=K.split(".").reverse(),z=_;for(let T of O.reverse()){if(z[T]===void 0)break;z[T]=oT(z[T]),z=z[T]}if(z[Y]!==void 0)z[Y]={lc:1,type:"secret",id:[P]}}return _}function h1($){let q=Object.getPrototypeOf($);if(typeof $.lc_name==="function"&&(typeof q.lc_name!=="function"||$.lc_name()!==q.lc_name()))return $.lc_name();else return $.name}var b_=class ${lc_serializable=!1;lc_kwargs;static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,h1(this.constructor)]}get lc_secrets(){return}get lc_attributes(){return}get lc_aliases(){return}get lc_serializable_keys(){return}constructor(q,..._){if(this.lc_serializable_keys!==void 0)this.lc_kwargs=Object.fromEntries(Object.entries(q||{}).filter(([K])=>this.lc_serializable_keys?.includes(K)));else this.lc_kwargs=q??{}}toJSON(){if(!this.lc_serializable)return this.toJSONNotImplemented();if(this.lc_kwargs instanceof $||typeof this.lc_kwargs!=="object"||Array.isArray(this.lc_kwargs))return this.toJSONNotImplemented();let q={},_={},K=Object.keys(this.lc_kwargs).reduce((P,Y)=>{return P[Y]=Y in this?this[Y]:this.lc_kwargs[Y],P},{});for(let P=Object.getPrototypeOf(this);P;P=Object.getPrototypeOf(P))Object.assign(q,Reflect.get(P,"lc_aliases",this)),Object.assign(_,Reflect.get(P,"lc_secrets",this)),Object.assign(K,Reflect.get(P,"lc_attributes",this));return Object.keys(_).forEach((P)=>{let Y=this,O=K,[z,...T]=P.split(".").reverse();for(let H of T.reverse()){if(!(H in Y)||Y[H]===void 0)return;if(!(H in O)||O[H]===void 0){if(typeof Y[H]==="object"&&Y[H]!=null)O[H]={};else if(Array.isArray(Y[H]))O[H]=[]}Y=Y[H],O=O[H]}if(z in Y&&Y[z]!==void 0)O[z]=O[z]||Y[z]}),{lc:1,type:"constructor",id:this.lc_id,kwargs:rT(Object.keys(_).length?DC(K,_):K,lT,q)}}toJSONNotImplemented(){return{lc:1,type:"not_implemented",id:this.lc_id}}};function _Y($){return!!($&&typeof $==="object"&&("type"in $)&&$.type==="tool_call")}var nT=class extends Error{output;constructor($,q){super($);this.output=q}};var iT=Symbol.for("ls:tracing_async_local_storage"),g_=Symbol.for("lc:context_variables"),BT=($)=>{globalThis[iT]=$},y_=()=>{return globalThis[iT]};function rK($){return typeof $==="object"&&$!==null&&"type"in $&&typeof $.type==="string"&&"source_type"in $&&($.source_type==="url"||$.source_type==="base64"||$.source_type==="text"||$.source_type==="id")}function tT($){return rK($)&&$.source_type==="url"&&"url"in $&&typeof $.url==="string"}function UT($){return rK($)&&$.source_type==="base64"&&"data"in $&&typeof $.data==="string"}function FT($){return rK($)&&$.source_type==="id"&&"id"in $&&typeof $.id==="string"}function KY({dataUrl:$,asTypedArray:q=!1}){let _=$.match(/^data:(\w+\/\w+);base64,([A-Za-z0-9+/]+=*)$/),K;if(_){K=_[1].toLowerCase();let P=q?Uint8Array.from(atob(_[2]),(Y)=>Y.charCodeAt(0)):_[2];return{mime_type:K,data:P}}return}function e$($,q){return K6($)&&$.type===q}function K6($){return typeof $==="object"&&$!==null}function oq($){return Array.isArray($)}function U$($){return typeof $==="string"}function _8($){return typeof $==="number"}function R1($){return $ instanceof Uint8Array}function PY($){try{return JSON.parse($)}catch{return}}var P_=($)=>$();function LC($){if($.type==="char_location"&&U$($.document_title)&&_8($.start_char_index)&&_8($.end_char_index)&&U$($.cited_text)){let{document_title:q,start_char_index:_,end_char_index:K,cited_text:P,...Y}=$;return{...Y,type:"citation",source:"char",title:q??void 0,startIndex:_,endIndex:K,citedText:P}}if($.type==="page_location"&&U$($.document_title)&&_8($.start_page_number)&&_8($.end_page_number)&&U$($.cited_text)){let{document_title:q,start_page_number:_,end_page_number:K,cited_text:P,...Y}=$;return{...Y,type:"citation",source:"page",title:q??void 0,startIndex:_,endIndex:K,citedText:P}}if($.type==="content_block_location"&&U$($.document_title)&&_8($.start_block_index)&&_8($.end_block_index)&&U$($.cited_text)){let{document_title:q,start_block_index:_,end_block_index:K,cited_text:P,...Y}=$;return{...Y,type:"citation",source:"block",title:q??void 0,startIndex:_,endIndex:K,citedText:P}}if($.type==="web_search_result_location"&&U$($.url)&&U$($.title)&&U$($.encrypted_index)&&U$($.cited_text)){let{url:q,title:_,encrypted_index:K,cited_text:P,...Y}=$;return{...Y,type:"citation",source:"url",url:q,title:_,startIndex:Number(K),endIndex:Number(K),citedText:P}}if($.type==="search_result_location"&&U$($.source)&&U$($.title)&&_8($.start_block_index)&&_8($.end_block_index)&&U$($.cited_text)){let{source:q,title:_,start_block_index:K,end_block_index:P,cited_text:Y,...O}=$;return{...O,type:"citation",source:"search",url:q,title:_??void 0,startIndex:K,endIndex:P,citedText:Y}}return}function aT($){if(e$($,"document")&&K6($.source)&&"type"in $.source){if($.source.type==="base64"&&U$($.source.media_type)&&U$($.source.data))return{type:"file",mimeType:$.source.media_type,data:$.source.data};else if($.source.type==="url"&&U$($.source.url))return{type:"file",url:$.source.url};else if($.source.type==="file"&&U$($.source.file_id))return{type:"file",fileId:$.source.file_id};else if($.source.type==="text"&&U$($.source.data))return{type:"file",mimeType:String($.source.media_type??"text/plain"),data:$.source.data}}else if(e$($,"image")&&K6($.source)&&"type"in $.source){if($.source.type==="base64"&&U$($.source.media_type)&&U$($.source.data))return{type:"image",mimeType:$.source.media_type,data:$.source.data};else if($.source.type==="url"&&U$($.source.url))return{type:"image",url:$.source.url};else if($.source.type==="file"&&U$($.source.file_id))return{type:"image",fileId:$.source.file_id}}return}function eT($){function*q(){for(let _ of $){let K=aT(_);if(K)yield K;else yield _}}return Array.from(q())}function QT($){function*q(){let _=typeof $.content==="string"?[{type:"text",text:$.content}]:$.content;for(let K of _){if(e$(K,"text")&&U$(K.text)){let{text:P,citations:Y,...O}=K;if(oq(Y)&&Y.length){let z=Y.reduce((T,H)=>{let f=LC(H);if(f)return[...T,f];return T},[]);yield{...O,type:"text",text:P,annotations:z};continue}else{yield{...O,type:"text",text:P};continue}}else if(e$(K,"thinking")&&U$(K.thinking)){let{thinking:P,signature:Y,...O}=K;yield{...O,type:"reasoning",reasoning:P,signature:Y};continue}else if(e$(K,"redacted_thinking")){yield{type:"non_standard",value:K};continue}else if(e$(K,"tool_use")&&U$(K.name)&&U$(K.id)){yield{type:"tool_call",id:K.id,name:K.name,args:K.input};continue}else if(e$(K,"input_json_delta")){if(bC($)&&$.tool_call_chunks?.length){let P=$.tool_call_chunks[0];yield{type:"tool_call_chunk",id:P.id,name:P.name,args:P.args,index:P.index};continue}}else if(e$(K,"server_tool_use")&&U$(K.name)&&U$(K.id)){let{name:P,id:Y}=K;if(P==="web_search"){let O=P_(()=>{if(typeof K.input==="string")return K.input;else if(K6(K.input)&&U$(K.input.query))return K.input.query;else if(U$(K.partial_json)){let z=PY(K.partial_json);if(z?.query)return z.query}return""});yield{id:Y,type:"server_tool_call",name:"web_search",args:{query:O}};continue}else if(K.name==="code_execution"){let O=P_(()=>{if(typeof K.input==="string")return K.input;else if(K6(K.input)&&U$(K.input.code))return K.input.code;else if(U$(K.partial_json)){let z=PY(K.partial_json);if(z?.code)return z.code}return""});yield{id:Y,type:"server_tool_call",name:"code_execution",args:{code:O}};continue}}else if(e$(K,"web_search_tool_result")&&U$(K.tool_use_id)&&oq(K.content)){let{content:P,tool_use_id:Y}=K,O=P.reduce((z,T)=>{if(e$(T,"web_search_result"))return[...z,T.url];return z},[]);yield{type:"server_tool_call_result",name:"web_search",toolCallId:Y,status:"success",output:{urls:O}};continue}else if(e$(K,"code_execution_tool_result")&&U$(K.tool_use_id)&&K6(K.content)){yield{type:"server_tool_call_result",name:"code_execution",toolCallId:K.tool_use_id,status:"success",output:K.content};continue}else if(e$(K,"mcp_tool_use")){yield{id:K.id,type:"server_tool_call",name:"mcp_tool_use",args:K.input};continue}else if(e$(K,"mcp_tool_result")&&U$(K.tool_use_id)&&K6(K.content)){yield{type:"server_tool_call_result",name:"mcp_tool_use",toolCallId:K.tool_use_id,status:"success",output:K.content};continue}else if(e$(K,"container_upload")){yield{type:"server_tool_call",name:"container_upload",args:K.input};continue}else if(e$(K,"search_result")){yield{id:K.id,type:"non_standard",value:K};continue}else if(e$(K,"tool_result")){yield{id:K.id,type:"non_standard",value:K};continue}else{let P=aT(K);if(P){yield P;continue}}yield{type:"non_standard",value:K}}}return Array.from(q())}var sT={translateContent:QT,translateContentChunk:QT};function bC($){return typeof $?._getType==="function"&&typeof $.concat==="function"&&$._getType()==="ai"}function gC($){if(tT($))return{type:$.type,mimeType:$.mime_type,url:$.url,metadata:$.metadata};if(UT($))return{type:$.type,mimeType:$.mime_type??"application/octet-stream",data:$.data,metadata:$.metadata};if(FT($))return{type:$.type,mimeType:$.mime_type,fileId:$.id,metadata:$.metadata};return $}function $w($){return $.map(gC)}function qw($){if(e$($,"image_url")&&K6($.image_url))return!0;if(e$($,"input_audio")&&K6($.input_audio))return!0;if(e$($,"file")&&K6($.file))return!0;return!1}function _w($){if(e$($,"image_url")&&K6($.image_url)&&U$($.image_url.url)){let q=KY({dataUrl:$.image_url.url});if(q)return{type:"image",mimeType:q.mime_type,data:q.data};else return{type:"image",url:$.image_url.url}}else if(e$($,"input_audio")&&K6($.input_audio)&&U$($.input_audio.data)&&U$($.input_audio.format))return{type:"audio",data:$.input_audio.data,mimeType:`audio/${$.input_audio.format}`};else if(e$($,"file")&&K6($.file)&&U$($.file.data)){let q=KY({dataUrl:$.file.data});if(q)return{type:"file",data:q.data,mimeType:q.mime_type};else if(U$($.file.file_id))return{type:"file",fileId:$.file.file_id}}return $}function yC($){let q=[];if(typeof $.content==="string")q.push({type:"text",text:$.content});else q.push(...I1($.content));for(let _ of $.tool_calls??[])q.push({type:"tool_call",id:_.id,name:_.name,args:_.args});return q}function uC($){let q=[];if(typeof $.content==="string")q.push({type:"text",text:$.content});else q.push(...I1($.content));for(let _ of $.tool_calls??[])q.push({type:"tool_call",id:_.id,name:_.name,args:_.args});return q}function I1($){let q=[];for(let _ of $)if(qw(_))q.push(_w(_));else q.push(_);return q}function xC($){if($.type==="url_citation"){let{url:q,title:_,start_index:K,end_index:P}=$;return{type:"citation",url:q,title:_,startIndex:K,endIndex:P}}if($.type==="file_citation"){let{file_id:q,filename:_,index:K}=$;return{type:"citation",title:_,startIndex:K,endIndex:K,fileId:q}}return $}function Kw($){function*q(){if(K6($.additional_kwargs?.reasoning)&&oq($.additional_kwargs.reasoning.summary))yield{type:"reasoning",reasoning:$.additional_kwargs.reasoning.summary.reduce((P,Y)=>{if(K6(Y)&&U$(Y.text))return`${P}${Y.text}`;return P},"")};let _=typeof $.content==="string"?[{type:"text",text:$.content}]:$.content;for(let K of _)if(e$(K,"text")){let{text:P,annotations:Y,...O}=K;if(Array.isArray(Y))yield{...O,type:"text",text:String(P),annotations:Y.map(xC)};else yield{...O,type:"text",text:String(P)}}for(let K of $.tool_calls??[])yield{type:"tool_call",id:K.id,name:K.name,args:K.args};if(K6($.additional_kwargs)&&oq($.additional_kwargs.tool_outputs))for(let K of $.additional_kwargs.tool_outputs){if(e$(K,"web_search_call")){yield{id:K.id,type:"server_tool_call",name:"web_search",args:{query:K.query}};continue}else if(e$(K,"file_search_call")){yield{id:K.id,type:"server_tool_call",name:"file_search",args:{query:K.query}};continue}else if(e$(K,"computer_call")){yield{type:"non_standard",value:K};continue}else if(e$(K,"code_interpreter_call")){if(U$(K.code))yield{id:K.id,type:"server_tool_call",name:"code_interpreter",args:{code:K.code}};if(oq(K.outputs)){let P=P_(()=>{if(K.status==="in_progress")return;if(K.status==="completed")return 0;if(K.status==="incomplete")return 127;if(K.status==="interpreting")return;if(K.status==="failed")return 1;return});for(let Y of K.outputs)if(e$(Y,"logs")){yield{type:"server_tool_call_result",toolCallId:K.id??"",status:"success",output:{type:"code_interpreter_output",returnCode:P??0,stderr:[0,void 0].includes(P)?void 0:String(Y.logs),stdout:[0,void 0].includes(P)?String(Y.logs):void 0}};continue}}continue}else if(e$(K,"mcp_call")){yield{id:K.id,type:"server_tool_call",name:"mcp_call",args:K.input};continue}else if(e$(K,"mcp_list_tools")){yield{id:K.id,type:"server_tool_call",name:"mcp_list_tools",args:K.input};continue}else if(e$(K,"mcp_approval_request")){yield{type:"non_standard",value:K};continue}else if(e$(K,"image_generation_call")){yield{type:"non_standard",value:K};continue}if(K6(K))yield{type:"non_standard",value:K}}}return Array.from(q())}function pC($){function*q(){yield*Kw($);for(let _ of $.tool_call_chunks??[])yield{type:"tool_call_chunk",id:_.id,name:_.name,args:_.args}}return Array.from(q())}var Pw={translateContent:($)=>{if(typeof $.content==="string")return yC($);return Kw($)},translateContentChunk:($)=>{if(typeof $.content==="string")return uC($);return pC($)}};function Yw($){return typeof $==="object"&&$!==null&&"type"in $&&"content"in $&&(typeof $.content==="string"||Array.isArray($.content))}function Ow($,q="pretty"){if(q==="pretty")return cC($);return JSON.stringify($)}function cC($){let q=[],_=` ${$.type.charAt(0).toUpperCase()+$.type.slice(1)} Message `,K=Math.floor((80-_.length)/2),P="=".repeat(K),Y=_.length%2===0?P:`${P}=`;if(q.push(`${P}${_}${Y}`),$.type==="ai"){let O=$;if(O.tool_calls&&O.tool_calls.length>0){q.push("Tool Calls:");for(let z of O.tool_calls){q.push(` ${z.name} (${z.id})`),q.push(` Call ID: ${z.id}`),q.push(" Args:");for(let[T,H]of Object.entries(z.args))q.push(` ${T}: ${H}`)}}}if($.type==="tool"){let O=$;if(O.name)q.push(`Name: ${O.name}`)}if(typeof $.content==="string"&&$.content.trim()){if(q.length>1)q.push("");q.push($.content)}return q.join(`
|
|
121
121
|
`)}var YY=Symbol.for("langchain.message");function u_($,q){if(typeof $==="string"){if($==="")return q;if(typeof q==="string")return $+q;else if(Array.isArray(q)&&q.length===0)return $;else if(Array.isArray(q)&&q.some((_)=>rK(_)))return[{type:"text",source_type:"text",text:$},...q];else return[{type:"text",text:$},...q]}else if(Array.isArray(q))return zP($,q)??[...$,...q];else if(q==="")return $;else if(Array.isArray($)&&$.some((_)=>rK(_)))return[...$,{type:"file",source_type:"text",text:q}];else return[...$,{type:"text",text:q}]}function jw($,q){if($==="error"||q==="error")return"error";return"success"}function mC($,q){function _(K,P){if(typeof K!=="object"||K===null||K===void 0)return K;if(P>=q){if(Array.isArray(K))return"[Array]";return"[Object]"}if(Array.isArray(K))return K.map((O)=>_(O,P+1));let Y={};for(let O of Object.keys(K))Y[O]=_(K[O],P+1);return Y}return JSON.stringify(_($,0),null,2)}var Y_=class extends b_{lc_namespace=["langchain_core","messages"];lc_serializable=!0;get lc_aliases(){return{additional_kwargs:"additional_kwargs",response_metadata:"response_metadata"}}[YY]=!0;id;name;content;additional_kwargs;response_metadata;_getType(){return this.type}getType(){return this._getType()}constructor($){let q=typeof $==="string"||Array.isArray($)?{content:$}:$;if(!q.additional_kwargs)q.additional_kwargs={};if(!q.response_metadata)q.response_metadata={};super(q);if(this.name=q.name,q.content===void 0&&q.contentBlocks!==void 0)this.content=q.contentBlocks,this.response_metadata={output_version:"v1",...q.response_metadata};else if(q.content!==void 0)this.content=q.content??[],this.response_metadata=q.response_metadata;else this.content=[],this.response_metadata=q.response_metadata;this.additional_kwargs=q.additional_kwargs,this.id=q.id}get text(){if(typeof this.content==="string")return this.content;if(!Array.isArray(this.content))return"";return this.content.map(($)=>{if(typeof $==="string")return $;if($.type==="text")return $.text;return""}).join("")}get contentBlocks(){let $=typeof this.content==="string"?[{type:"text",text:this.content}]:this.content;return[$w,I1,eT].reduce((K,P)=>P(K),$)}toDict(){return{type:this.getType(),data:this.toJSON().kwargs}}static lc_name(){return"BaseMessage"}get _printableFields(){return{id:this.id,content:this.content,name:this.name,additional_kwargs:this.additional_kwargs,response_metadata:this.response_metadata}}static isInstance($){return typeof $==="object"&&$!==null&&YY in $&&$[YY]===!0&&Yw($)}_updateId($){this.id=$,this.lc_kwargs.id=$}get[Symbol.toStringTag](){return this.constructor.lc_name()}[Symbol.for("nodejs.util.inspect.custom")]($){if($===null)return this;let q=mC(this._printableFields,Math.max(4,$));return`${this.constructor.lc_name()} ${q}`}toFormattedString($="pretty"){return Ow(this,$)}};function nq($={},q={}){let _={...$};for(let[K,P]of Object.entries(q))if(_[K]==null)_[K]=P;else if(P==null)continue;else if(typeof _[K]!==typeof P||Array.isArray(_[K])!==Array.isArray(P))throw Error(`field[${K}] already exists in the message chunk, but with a different type.`);else if(typeof _[K]==="string")if(K==="type")continue;else if(["id","name","output_version","model_provider"].includes(K)){if(P)_[K]=P}else _[K]+=P;else if(typeof _[K]==="object"&&!Array.isArray(_[K]))_[K]=nq(_[K],P);else if(Array.isArray(_[K]))_[K]=zP(_[K],P);else if(_[K]===P)continue;else console.warn(`field[${K}] already exists in this message chunk and value has unsupported type.`);return _}function zP($,q){if($===void 0&&q===void 0)return;else if($===void 0||q===void 0)return $||q;else{let _=[...$];for(let K of q)if(typeof K==="object"&&K!==null&&"index"in K&&typeof K.index==="number"){let P=_.findIndex((Y)=>{let O=typeof Y==="object",z="index"in Y&&Y.index===K.index,T="id"in Y&&"id"in K&&Y?.id===K?.id,H=!("id"in Y)||!Y?.id||!("id"in K)||!K?.id;return O&&z&&(T||H)});if(P!==-1&&typeof _[P]==="object"&&_[P]!==null)_[P]=nq(_[P],K);else _.push(K)}else if(typeof K==="object"&&K!==null&&"text"in K&&K.text==="")continue;else _.push(K);return _}}function vw($,q){if(!$&&!q)throw Error("Cannot merge two undefined objects.");if(!$||!q)return $||q;else if(typeof $!==typeof q)throw Error(`Cannot merge objects of different types.
|
|
122
122
|
Left ${typeof $}
|
|
123
123
|
Right ${typeof q}`);else if(typeof $==="string"&&typeof q==="string")return $+q;else if(Array.isArray($)&&Array.isArray(q))return zP($,q);else if(typeof $==="object"&&typeof q==="object")return nq($,q);else if($===q)return $;else throw Error(`Can not merge objects of different types.
|
|
@@ -197,11 +197,11 @@ graph TD;
|
|
|
197
197
|
`}for(let C of S){let{source:I,target:D,data:L,conditional:g}=C,y="";if(L!==void 0){let p=L,o=p.split(" ");if(o.length>T)p=Array.from({length:Math.ceil(o.length/T)},(s,Q)=>o.slice(Q*T,(Q+1)*T).join(" ")).join(" <br> ");y=g?` -. ${p} .-> `:` -- ${p} --> `}else y=g?" -.-> ":" --> ";H+=` ${Jz(I)}${y}${Jz(D)};
|
|
198
198
|
`}for(let C in f)if(C.startsWith(`${N}:`)&&C!==N)k(f[C],C);if(N&&!h)H+=` end
|
|
199
199
|
`}k(f[""]??[],"");for(let S in f)if(!S.includes(":")&&S!=="")k(f[S],S);if(O)H+=Ng(Y??{});return H}async function jk($,q){let _=q?.backgroundColor??"white",K=q?.imageType??"png",P=VA($);if(_!==void 0){if(!/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(_))_=`!${_}`}let Y=`https://mermaid.ink/img/${P}?bgColor=${_}&type=${K}`,O=await fetch(Y);if(!O.ok)throw Error(["Failed to render the graph using the Mermaid.INK API.",`Status code: ${O.status}`,`Status text: ${O.statusText}`].join(`
|
|
200
|
-
`));return await O.blob()}var Tz=Symbol("Let zodToJsonSchema decide on which parser to use"),Hz={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},wz=($)=>typeof $==="string"?{...Hz,name:$}:{...Hz,...$};var fz=($)=>{let q=wz($),_=q.name!==void 0?[...q.basePath,q.definitionPath,q.name]:q.basePath;return{...q,flags:{hasReferencedOpenAiAnyType:!1},currentPath:_,propertyPath:void 0,seen:new Map(Object.entries(q.definitions).map(([K,P])=>[P._def,{def:P._def,path:[...q.basePath,q.definitionPath,K],jsonSchema:void 0}]))}};var k7=($,q)=>{let _=0;for(;_<$.length&&_<q.length;_++)if($[_]!==q[_])break;return[($.length-_).toString(),...q.slice(_)].join("/")};function D6($){if($.target!=="openAi")return{};let q=[...$.basePath,$.definitionPath,$.openAiAnyTypeName];return $.flags.hasReferencedOpenAiAnyType=!0,{$ref:$.$refStrategy==="relative"?k7(q,$.currentPath):q.join("/")}}function G5($,q,_,K){if(!K?.errorMessages)return;if(_)$.errorMessage={...$.errorMessage,[q]:_}}function G6($,q,_,K,P){$[q]=_,G5($,q,K,P)}var EK={};rq(EK,{void:()=>vy,util:()=>A6,unknown:()=>Oy,union:()=>Hy,undefined:()=>Ky,tuple:()=>fy,transformer:()=>Cy,symbol:()=>_y,string:()=>Zk,strictObject:()=>Jy,setErrorMap:()=>hg,set:()=>Ay,record:()=>Zy,quotelessJson:()=>Cg,promise:()=>Ny,preprocess:()=>Ry,pipeline:()=>Iy,ostring:()=>Dy,optional:()=>Ey,onumber:()=>Ly,oboolean:()=>by,objectUtil:()=>Zz,object:()=>Wy,number:()=>Xk,nullable:()=>hy,null:()=>Py,never:()=>jy,nativeEnum:()=>My,nan:()=>sg,map:()=>Xy,makeIssue:()=>G7,literal:()=>Vy,lazy:()=>Gy,late:()=>ag,isValid:()=>t_,isDirty:()=>S5,isAsync:()=>w4,isAborted:()=>V5,intersection:()=>wy,instanceof:()=>eg,getParsedType:()=>t8,getErrorMap:()=>T4,function:()=>ky,enum:()=>Sy,effect:()=>Cy,discriminatedUnion:()=>Ty,defaultErrorMap:()=>T_,datetimeRegex:()=>Tk,date:()=>qy,custom:()=>fk,coerce:()=>gy,boolean:()=>Ak,bigint:()=>$y,array:()=>zy,any:()=>Yy,addIssueToContext:()=>t$,ZodVoid:()=>S7,ZodUnknown:()=>U_,ZodUnion:()=>G4,ZodUndefined:()=>A4,ZodType:()=>T6,ZodTuple:()=>F8,ZodTransformer:()=>y8,ZodSymbol:()=>V7,ZodString:()=>D8,ZodSet:()=>NK,ZodSchema:()=>T6,ZodRecord:()=>M7,ZodReadonly:()=>h4,ZodPromise:()=>CK,ZodPipeline:()=>E7,ZodParsedType:()=>n$,ZodOptional:()=>b8,ZodObject:()=>u6,ZodNumber:()=>F_,ZodNullable:()=>f_,ZodNull:()=>k4,ZodNever:()=>U8,ZodNativeEnum:()=>N4,ZodNaN:()=>C7,ZodMap:()=>N7,ZodLiteral:()=>M4,ZodLazy:()=>S4,ZodIssueCode:()=>c$,ZodIntersection:()=>V4,ZodFunction:()=>Z4,ZodFirstPartyTypeKind:()=>m$,ZodError:()=>aq,ZodEnum:()=>a_,ZodEffects:()=>y8,ZodDiscriminatedUnion:()=>M5,ZodDefault:()=>C4,ZodDate:()=>SK,ZodCatch:()=>E4,ZodBranded:()=>N5,ZodBoolean:()=>X4,ZodBigInt:()=>Q_,ZodArray:()=>L8,ZodAny:()=>MK,Schema:()=>T6,ParseStatus:()=>kq,OK:()=>Rq,NEVER:()=>yy,INVALID:()=>q6,EMPTY_PATH:()=>Rg,DIRTY:()=>VK,BRAND:()=>Qg});var A6;(function($){$.assertEqual=(P)=>{};function q(P){}$.assertIs=q;function _(P){throw Error()}$.assertNever=_,$.arrayToEnum=(P)=>{let Y={};for(let O of P)Y[O]=O;return Y},$.getValidEnumValues=(P)=>{let Y=$.objectKeys(P).filter((z)=>typeof P[P[z]]!=="number"),O={};for(let z of Y)O[z]=P[z];return $.objectValues(O)},$.objectValues=(P)=>{return $.objectKeys(P).map(function(Y){return P[Y]})},$.objectKeys=typeof Object.keys==="function"?(P)=>Object.keys(P):(P)=>{let Y=[];for(let O in P)if(Object.prototype.hasOwnProperty.call(P,O))Y.push(O);return Y},$.find=(P,Y)=>{for(let O of P)if(Y(O))return O;return},$.isInteger=typeof Number.isInteger==="function"?(P)=>Number.isInteger(P):(P)=>typeof P==="number"&&Number.isFinite(P)&&Math.floor(P)===P;function K(P,Y=" | "){return P.map((O)=>typeof O==="string"?`'${O}'`:O).join(Y)}$.joinValues=K,$.jsonStringifyReplacer=(P,Y)=>{if(typeof Y==="bigint")return Y.toString();return Y}})(A6||(A6={}));var Zz;(function($){$.mergeShapes=(q,_)=>{return{...q,..._}}})(Zz||(Zz={}));var n$=A6.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),t8=($)=>{switch(typeof $){case"undefined":return n$.undefined;case"string":return n$.string;case"number":return Number.isNaN($)?n$.nan:n$.number;case"boolean":return n$.boolean;case"function":return n$.function;case"bigint":return n$.bigint;case"symbol":return n$.symbol;case"object":if(Array.isArray($))return n$.array;if($===null)return n$.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return n$.promise;if(typeof Map<"u"&&$ instanceof Map)return n$.map;if(typeof Set<"u"&&$ instanceof Set)return n$.set;if(typeof Date<"u"&&$ instanceof Date)return n$.date;return n$.object;default:return n$.unknown}};var c$=A6.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Cg=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class aq extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(_)=>{this.issues=[...this.issues,_]},this.addIssues=(_=[])=>{this.issues=[...this.issues,..._]};let q=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,q);else this.__proto__=q;this.name="ZodError",this.issues=$}format($){let q=$||function(P){return P.message},_={_errors:[]},K=(P)=>{for(let Y of P.issues)if(Y.code==="invalid_union")Y.unionErrors.map(K);else if(Y.code==="invalid_return_type")K(Y.returnTypeError);else if(Y.code==="invalid_arguments")K(Y.argumentsError);else if(Y.path.length===0)_._errors.push(q(Y));else{let O=_,z=0;while(z<Y.path.length){let T=Y.path[z];if(z!==Y.path.length-1)O[T]=O[T]||{_errors:[]};else O[T]=O[T]||{_errors:[]},O[T]._errors.push(q(Y));O=O[T],z++}}};return K(this),_}static assert($){if(!($ instanceof aq))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,A6.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(q)=>q.message){let q=Object.create(null),_=[];for(let K of this.issues)if(K.path.length>0){let P=K.path[0];q[P]=q[P]||[],q[P].push($(K))}else _.push($(K));return{formErrors:_,fieldErrors:q}}get formErrors(){return this.flatten()}}aq.create=($)=>{return new aq($)};var Eg=($,q)=>{let _;switch($.code){case c$.invalid_type:if($.received===n$.undefined)_="Required";else _=`Expected ${$.expected}, received ${$.received}`;break;case c$.invalid_literal:_=`Invalid literal value, expected ${JSON.stringify($.expected,A6.jsonStringifyReplacer)}`;break;case c$.unrecognized_keys:_=`Unrecognized key(s) in object: ${A6.joinValues($.keys,", ")}`;break;case c$.invalid_union:_="Invalid input";break;case c$.invalid_union_discriminator:_=`Invalid discriminator value. Expected ${A6.joinValues($.options)}`;break;case c$.invalid_enum_value:_=`Invalid enum value. Expected ${A6.joinValues($.options)}, received '${$.received}'`;break;case c$.invalid_arguments:_="Invalid function arguments";break;case c$.invalid_return_type:_="Invalid function return type";break;case c$.invalid_date:_="Invalid date";break;case c$.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(_=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")_=`${_} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)_=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)_=`Invalid input: must end with "${$.validation.endsWith}"`;else A6.assertNever($.validation);else if($.validation!=="regex")_=`Invalid ${$.validation}`;else _="Invalid";break;case c$.too_small:if($.type==="array")_=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")_=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")_=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")_=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")_=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else _="Invalid input";break;case c$.too_big:if($.type==="array")_=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")_=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")_=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")_=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")_=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else _="Invalid input";break;case c$.custom:_="Invalid input";break;case c$.invalid_intersection_types:_="Intersection results could not be merged";break;case c$.not_multiple_of:_=`Number must be a multiple of ${$.multipleOf}`;break;case c$.not_finite:_="Number must be finite";break;default:_=q.defaultError,A6.assertNever($)}return{message:_}},T_=Eg;var vk=T_;function hg($){vk=$}function T4(){return vk}var G7=($)=>{let{data:q,path:_,errorMaps:K,issueData:P}=$,Y=[..._,...P.path||[]],O={...P,path:Y};if(P.message!==void 0)return{...P,path:Y,message:P.message};let z="",T=K.filter((H)=>!!H).slice().reverse();for(let H of T)z=H(O,{data:q,defaultError:z}).message;return{...P,path:Y,message:z}},Rg=[];function t$($,q){let _=T4(),K=G7({issueData:q,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,_,_===T_?void 0:T_].filter((P)=>!!P)});$.common.issues.push(K)}class kq{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,q){let _=[];for(let K of q){if(K.status==="aborted")return q6;if(K.status==="dirty")$.dirty();_.push(K.value)}return{status:$.value,value:_}}static async mergeObjectAsync($,q){let _=[];for(let K of q){let P=await K.key,Y=await K.value;_.push({key:P,value:Y})}return kq.mergeObjectSync($,_)}static mergeObjectSync($,q){let _={};for(let K of q){let{key:P,value:Y}=K;if(P.status==="aborted")return q6;if(Y.status==="aborted")return q6;if(P.status==="dirty")$.dirty();if(Y.status==="dirty")$.dirty();if(P.value!=="__proto__"&&(typeof Y.value<"u"||K.alwaysSet))_[P.value]=Y.value}return{status:$.value,value:_}}}var q6=Object.freeze({status:"aborted"}),VK=($)=>({status:"dirty",value:$}),Rq=($)=>({status:"valid",value:$}),V5=($)=>$.status==="aborted",S5=($)=>$.status==="dirty",t_=($)=>$.status==="valid",w4=($)=>typeof Promise<"u"&&$ instanceof Promise;var s$;(function($){$.errToObj=(q)=>typeof q==="string"?{message:q}:q||{},$.toString=(q)=>typeof q==="string"?q:q?.message})(s$||(s$={}));class g8{constructor($,q,_,K){this._cachedPath=[],this.parent=$,this.data=q,this._path=_,this._key=K}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var zk=($,q)=>{if(t_(q))return{success:!0,data:q.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let _=new aq($.common.issues);return this._error=_,this._error}}}};function v6($){if(!$)return{};let{errorMap:q,invalid_type_error:_,required_error:K,description:P}=$;if(q&&(_||K))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(q)return{errorMap:q,description:P};return{errorMap:(O,z)=>{let{message:T}=$;if(O.code==="invalid_enum_value")return{message:T??z.defaultError};if(typeof z.data>"u")return{message:T??K??z.defaultError};if(O.code!=="invalid_type")return{message:z.defaultError};return{message:T??_??z.defaultError}},description:P}}class T6{get description(){return this._def.description}_getType($){return t8($.data)}_getOrReturnCtx($,q){return q||{common:$.parent.common,data:$.data,parsedType:t8($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new kq,ctx:{common:$.parent.common,data:$.data,parsedType:t8($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let q=this._parse($);if(w4(q))throw Error("Synchronous parse encountered promise.");return q}_parseAsync($){let q=this._parse($);return Promise.resolve(q)}parse($,q){let _=this.safeParse($,q);if(_.success)return _.data;throw _.error}safeParse($,q){let _={common:{issues:[],async:q?.async??!1,contextualErrorMap:q?.errorMap},path:q?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:t8($)},K=this._parseSync({data:$,path:_.path,parent:_});return zk(_,K)}"~validate"($){let q={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:t8($)};if(!this["~standard"].async)try{let _=this._parseSync({data:$,path:[],parent:q});return t_(_)?{value:_.value}:{issues:q.common.issues}}catch(_){if(_?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;q.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:q}).then((_)=>t_(_)?{value:_.value}:{issues:q.common.issues})}async parseAsync($,q){let _=await this.safeParseAsync($,q);if(_.success)return _.data;throw _.error}async safeParseAsync($,q){let _={common:{issues:[],contextualErrorMap:q?.errorMap,async:!0},path:q?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:t8($)},K=this._parse({data:$,path:_.path,parent:_}),P=await(w4(K)?K:Promise.resolve(K));return zk(_,P)}refine($,q){let _=(K)=>{if(typeof q==="string"||typeof q>"u")return{message:q};else if(typeof q==="function")return q(K);else return q};return this._refinement((K,P)=>{let Y=$(K),O=()=>P.addIssue({code:c$.custom,..._(K)});if(typeof Promise<"u"&&Y instanceof Promise)return Y.then((z)=>{if(!z)return O(),!1;else return!0});if(!Y)return O(),!1;else return!0})}refinement($,q){return this._refinement((_,K)=>{if(!$(_))return K.addIssue(typeof q==="function"?q(_,K):q),!1;else return!0})}_refinement($){return new y8({schema:this,typeName:m$.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(q)=>this["~validate"](q)}}optional(){return b8.create(this,this._def)}nullable(){return f_.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return L8.create(this)}promise(){return CK.create(this,this._def)}or($){return G4.create([this,$],this._def)}and($){return V4.create(this,$,this._def)}transform($){return new y8({...v6(this._def),schema:this,typeName:m$.ZodEffects,effect:{type:"transform",transform:$}})}default($){let q=typeof $==="function"?$:()=>$;return new C4({...v6(this._def),innerType:this,defaultValue:q,typeName:m$.ZodDefault})}brand(){return new N5({typeName:m$.ZodBranded,type:this,...v6(this._def)})}catch($){let q=typeof $==="function"?$:()=>$;return new E4({...v6(this._def),innerType:this,catchValue:q,typeName:m$.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return E7.create(this,$)}readonly(){return h4.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var Ig=/^c[^\s-]{8,}$/i,Dg=/^[0-9a-z]+$/,Lg=/^[0-9A-HJKMNP-TV-Z]{26}$/i,bg=/^[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}$/i,gg=/^[a-z0-9_-]{21}$/i,yg=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ug=/^[-+]?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)?)??$/,xg=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,pg="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Xz,cg=/^(?:(?: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])$/,mg=/^(?:(?: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])$/,dg=/^(([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]))$/,lg=/^(([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])$/,rg=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,og=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Jk="((\\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])))",ng=new RegExp(`^${Jk}$`);function Hk($){let q="[0-5]\\d";if($.precision)q=`${q}\\.\\d{${$.precision}}`;else if($.precision==null)q=`${q}(\\.\\d+)?`;let _=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${q})${_}`}function ig($){return new RegExp(`^${Hk($)}$`)}function Tk($){let q=`${Jk}T${Hk($)}`,_=[];if(_.push($.local?"Z?":"Z"),$.offset)_.push("([+-]\\d{2}:?\\d{2})");return q=`${q}(${_.join("|")})`,new RegExp(`^${q}$`)}function Bg($,q){if((q==="v4"||!q)&&cg.test($))return!0;if((q==="v6"||!q)&&dg.test($))return!0;return!1}function tg($,q){if(!yg.test($))return!1;try{let[_]=$.split(".");if(!_)return!1;let K=_.replace(/-/g,"+").replace(/_/g,"/").padEnd(_.length+(4-_.length%4)%4,"="),P=JSON.parse(atob(K));if(typeof P!=="object"||P===null)return!1;if("typ"in P&&P?.typ!=="JWT")return!1;if(!P.alg)return!1;if(q&&P.alg!==q)return!1;return!0}catch{return!1}}function Ug($,q){if((q==="v4"||!q)&&mg.test($))return!0;if((q==="v6"||!q)&&lg.test($))return!0;return!1}class D8 extends T6{_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==n$.string){let P=this._getOrReturnCtx($);return t$(P,{code:c$.invalid_type,expected:n$.string,received:P.parsedType}),q6}let _=new kq,K=void 0;for(let P of this._def.checks)if(P.kind==="min"){if($.data.length<P.value)K=this._getOrReturnCtx($,K),t$(K,{code:c$.too_small,minimum:P.value,type:"string",inclusive:!0,exact:!1,message:P.message}),_.dirty()}else if(P.kind==="max"){if($.data.length>P.value)K=this._getOrReturnCtx($,K),t$(K,{code:c$.too_big,maximum:P.value,type:"string",inclusive:!0,exact:!1,message:P.message}),_.dirty()}else if(P.kind==="length"){let Y=$.data.length>P.value,O=$.data.length<P.value;if(Y||O){if(K=this._getOrReturnCtx($,K),Y)t$(K,{code:c$.too_big,maximum:P.value,type:"string",inclusive:!0,exact:!0,message:P.message});else if(O)t$(K,{code:c$.too_small,minimum:P.value,type:"string",inclusive:!0,exact:!0,message:P.message});_.dirty()}}else if(P.kind==="email"){if(!xg.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"email",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="emoji"){if(!Xz)Xz=new RegExp(pg,"u");if(!Xz.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"emoji",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="uuid"){if(!bg.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"uuid",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="nanoid"){if(!gg.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"nanoid",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="cuid"){if(!Ig.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"cuid",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="cuid2"){if(!Dg.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"cuid2",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="ulid"){if(!Lg.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"ulid",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="url")try{new URL($.data)}catch{K=this._getOrReturnCtx($,K),t$(K,{validation:"url",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="regex"){if(P.regex.lastIndex=0,!P.regex.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"regex",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="trim")$.data=$.data.trim();else if(P.kind==="includes"){if(!$.data.includes(P.value,P.position))K=this._getOrReturnCtx($,K),t$(K,{code:c$.invalid_string,validation:{includes:P.value,position:P.position},message:P.message}),_.dirty()}else if(P.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(P.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(P.kind==="startsWith"){if(!$.data.startsWith(P.value))K=this._getOrReturnCtx($,K),t$(K,{code:c$.invalid_string,validation:{startsWith:P.value},message:P.message}),_.dirty()}else if(P.kind==="endsWith"){if(!$.data.endsWith(P.value))K=this._getOrReturnCtx($,K),t$(K,{code:c$.invalid_string,validation:{endsWith:P.value},message:P.message}),_.dirty()}else if(P.kind==="datetime"){if(!Tk(P).test($.data))K=this._getOrReturnCtx($,K),t$(K,{code:c$.invalid_string,validation:"datetime",message:P.message}),_.dirty()}else if(P.kind==="date"){if(!ng.test($.data))K=this._getOrReturnCtx($,K),t$(K,{code:c$.invalid_string,validation:"date",message:P.message}),_.dirty()}else if(P.kind==="time"){if(!ig(P).test($.data))K=this._getOrReturnCtx($,K),t$(K,{code:c$.invalid_string,validation:"time",message:P.message}),_.dirty()}else if(P.kind==="duration"){if(!ug.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"duration",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="ip"){if(!Bg($.data,P.version))K=this._getOrReturnCtx($,K),t$(K,{validation:"ip",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="jwt"){if(!tg($.data,P.alg))K=this._getOrReturnCtx($,K),t$(K,{validation:"jwt",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="cidr"){if(!Ug($.data,P.version))K=this._getOrReturnCtx($,K),t$(K,{validation:"cidr",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="base64"){if(!rg.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"base64",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="base64url"){if(!og.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"base64url",code:c$.invalid_string,message:P.message}),_.dirty()}else A6.assertNever(P);return{status:_.value,value:$.data}}_regex($,q,_){return this.refinement((K)=>$.test(K),{validation:q,code:c$.invalid_string,...s$.errToObj(_)})}_addCheck($){return new D8({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...s$.errToObj($)})}url($){return this._addCheck({kind:"url",...s$.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...s$.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...s$.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...s$.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...s$.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...s$.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...s$.errToObj($)})}base64($){return this._addCheck({kind:"base64",...s$.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...s$.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...s$.errToObj($)})}ip($){return this._addCheck({kind:"ip",...s$.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...s$.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...s$.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...s$.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...s$.errToObj($)})}regex($,q){return this._addCheck({kind:"regex",regex:$,...s$.errToObj(q)})}includes($,q){return this._addCheck({kind:"includes",value:$,position:q?.position,...s$.errToObj(q?.message)})}startsWith($,q){return this._addCheck({kind:"startsWith",value:$,...s$.errToObj(q)})}endsWith($,q){return this._addCheck({kind:"endsWith",value:$,...s$.errToObj(q)})}min($,q){return this._addCheck({kind:"min",value:$,...s$.errToObj(q)})}max($,q){return this._addCheck({kind:"max",value:$,...s$.errToObj(q)})}length($,q){return this._addCheck({kind:"length",value:$,...s$.errToObj(q)})}nonempty($){return this.min(1,s$.errToObj($))}trim(){return new D8({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new D8({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new D8({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $}get maxLength(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $}}D8.create=($)=>{return new D8({checks:[],typeName:m$.ZodString,coerce:$?.coerce??!1,...v6($)})};function Fg($,q){let _=($.toString().split(".")[1]||"").length,K=(q.toString().split(".")[1]||"").length,P=_>K?_:K,Y=Number.parseInt($.toFixed(P).replace(".","")),O=Number.parseInt(q.toFixed(P).replace(".",""));return Y%O/10**P}class F_ extends T6{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==n$.number){let P=this._getOrReturnCtx($);return t$(P,{code:c$.invalid_type,expected:n$.number,received:P.parsedType}),q6}let _=void 0,K=new kq;for(let P of this._def.checks)if(P.kind==="int"){if(!A6.isInteger($.data))_=this._getOrReturnCtx($,_),t$(_,{code:c$.invalid_type,expected:"integer",received:"float",message:P.message}),K.dirty()}else if(P.kind==="min"){if(P.inclusive?$.data<P.value:$.data<=P.value)_=this._getOrReturnCtx($,_),t$(_,{code:c$.too_small,minimum:P.value,type:"number",inclusive:P.inclusive,exact:!1,message:P.message}),K.dirty()}else if(P.kind==="max"){if(P.inclusive?$.data>P.value:$.data>=P.value)_=this._getOrReturnCtx($,_),t$(_,{code:c$.too_big,maximum:P.value,type:"number",inclusive:P.inclusive,exact:!1,message:P.message}),K.dirty()}else if(P.kind==="multipleOf"){if(Fg($.data,P.value)!==0)_=this._getOrReturnCtx($,_),t$(_,{code:c$.not_multiple_of,multipleOf:P.value,message:P.message}),K.dirty()}else if(P.kind==="finite"){if(!Number.isFinite($.data))_=this._getOrReturnCtx($,_),t$(_,{code:c$.not_finite,message:P.message}),K.dirty()}else A6.assertNever(P);return{status:K.value,value:$.data}}gte($,q){return this.setLimit("min",$,!0,s$.toString(q))}gt($,q){return this.setLimit("min",$,!1,s$.toString(q))}lte($,q){return this.setLimit("max",$,!0,s$.toString(q))}lt($,q){return this.setLimit("max",$,!1,s$.toString(q))}setLimit($,q,_,K){return new F_({...this._def,checks:[...this._def.checks,{kind:$,value:q,inclusive:_,message:s$.toString(K)}]})}_addCheck($){return new F_({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:s$.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:s$.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:s$.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:s$.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:s$.toString($)})}multipleOf($,q){return this._addCheck({kind:"multipleOf",value:$,message:s$.toString(q)})}finite($){return this._addCheck({kind:"finite",message:s$.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:s$.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:s$.toString($)})}get minValue(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $}get maxValue(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&A6.isInteger($.value))}get isFinite(){let $=null,q=null;for(let _ of this._def.checks)if(_.kind==="finite"||_.kind==="int"||_.kind==="multipleOf")return!0;else if(_.kind==="min"){if(q===null||_.value>q)q=_.value}else if(_.kind==="max"){if($===null||_.value<$)$=_.value}return Number.isFinite(q)&&Number.isFinite($)}}F_.create=($)=>{return new F_({checks:[],typeName:m$.ZodNumber,coerce:$?.coerce||!1,...v6($)})};class Q_ extends T6{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==n$.bigint)return this._getInvalidInput($);let _=void 0,K=new kq;for(let P of this._def.checks)if(P.kind==="min"){if(P.inclusive?$.data<P.value:$.data<=P.value)_=this._getOrReturnCtx($,_),t$(_,{code:c$.too_small,type:"bigint",minimum:P.value,inclusive:P.inclusive,message:P.message}),K.dirty()}else if(P.kind==="max"){if(P.inclusive?$.data>P.value:$.data>=P.value)_=this._getOrReturnCtx($,_),t$(_,{code:c$.too_big,type:"bigint",maximum:P.value,inclusive:P.inclusive,message:P.message}),K.dirty()}else if(P.kind==="multipleOf"){if($.data%P.value!==BigInt(0))_=this._getOrReturnCtx($,_),t$(_,{code:c$.not_multiple_of,multipleOf:P.value,message:P.message}),K.dirty()}else A6.assertNever(P);return{status:K.value,value:$.data}}_getInvalidInput($){let q=this._getOrReturnCtx($);return t$(q,{code:c$.invalid_type,expected:n$.bigint,received:q.parsedType}),q6}gte($,q){return this.setLimit("min",$,!0,s$.toString(q))}gt($,q){return this.setLimit("min",$,!1,s$.toString(q))}lte($,q){return this.setLimit("max",$,!0,s$.toString(q))}lt($,q){return this.setLimit("max",$,!1,s$.toString(q))}setLimit($,q,_,K){return new Q_({...this._def,checks:[...this._def.checks,{kind:$,value:q,inclusive:_,message:s$.toString(K)}]})}_addCheck($){return new Q_({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:s$.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:s$.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:s$.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:s$.toString($)})}multipleOf($,q){return this._addCheck({kind:"multipleOf",value:$,message:s$.toString(q)})}get minValue(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $}get maxValue(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $}}Q_.create=($)=>{return new Q_({checks:[],typeName:m$.ZodBigInt,coerce:$?.coerce??!1,...v6($)})};class X4 extends T6{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==n$.boolean){let _=this._getOrReturnCtx($);return t$(_,{code:c$.invalid_type,expected:n$.boolean,received:_.parsedType}),q6}return Rq($.data)}}X4.create=($)=>{return new X4({typeName:m$.ZodBoolean,coerce:$?.coerce||!1,...v6($)})};class SK extends T6{_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==n$.date){let P=this._getOrReturnCtx($);return t$(P,{code:c$.invalid_type,expected:n$.date,received:P.parsedType}),q6}if(Number.isNaN($.data.getTime())){let P=this._getOrReturnCtx($);return t$(P,{code:c$.invalid_date}),q6}let _=new kq,K=void 0;for(let P of this._def.checks)if(P.kind==="min"){if($.data.getTime()<P.value)K=this._getOrReturnCtx($,K),t$(K,{code:c$.too_small,message:P.message,inclusive:!0,exact:!1,minimum:P.value,type:"date"}),_.dirty()}else if(P.kind==="max"){if($.data.getTime()>P.value)K=this._getOrReturnCtx($,K),t$(K,{code:c$.too_big,message:P.message,inclusive:!0,exact:!1,maximum:P.value,type:"date"}),_.dirty()}else A6.assertNever(P);return{status:_.value,value:new Date($.data.getTime())}}_addCheck($){return new SK({...this._def,checks:[...this._def.checks,$]})}min($,q){return this._addCheck({kind:"min",value:$.getTime(),message:s$.toString(q)})}max($,q){return this._addCheck({kind:"max",value:$.getTime(),message:s$.toString(q)})}get minDate(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $!=null?new Date($):null}}SK.create=($)=>{return new SK({checks:[],coerce:$?.coerce||!1,typeName:m$.ZodDate,...v6($)})};class V7 extends T6{_parse($){if(this._getType($)!==n$.symbol){let _=this._getOrReturnCtx($);return t$(_,{code:c$.invalid_type,expected:n$.symbol,received:_.parsedType}),q6}return Rq($.data)}}V7.create=($)=>{return new V7({typeName:m$.ZodSymbol,...v6($)})};class A4 extends T6{_parse($){if(this._getType($)!==n$.undefined){let _=this._getOrReturnCtx($);return t$(_,{code:c$.invalid_type,expected:n$.undefined,received:_.parsedType}),q6}return Rq($.data)}}A4.create=($)=>{return new A4({typeName:m$.ZodUndefined,...v6($)})};class k4 extends T6{_parse($){if(this._getType($)!==n$.null){let _=this._getOrReturnCtx($);return t$(_,{code:c$.invalid_type,expected:n$.null,received:_.parsedType}),q6}return Rq($.data)}}k4.create=($)=>{return new k4({typeName:m$.ZodNull,...v6($)})};class MK extends T6{constructor(){super(...arguments);this._any=!0}_parse($){return Rq($.data)}}MK.create=($)=>{return new MK({typeName:m$.ZodAny,...v6($)})};class U_ extends T6{constructor(){super(...arguments);this._unknown=!0}_parse($){return Rq($.data)}}U_.create=($)=>{return new U_({typeName:m$.ZodUnknown,...v6($)})};class U8 extends T6{_parse($){let q=this._getOrReturnCtx($);return t$(q,{code:c$.invalid_type,expected:n$.never,received:q.parsedType}),q6}}U8.create=($)=>{return new U8({typeName:m$.ZodNever,...v6($)})};class S7 extends T6{_parse($){if(this._getType($)!==n$.undefined){let _=this._getOrReturnCtx($);return t$(_,{code:c$.invalid_type,expected:n$.void,received:_.parsedType}),q6}return Rq($.data)}}S7.create=($)=>{return new S7({typeName:m$.ZodVoid,...v6($)})};class L8 extends T6{_parse($){let{ctx:q,status:_}=this._processInputParams($),K=this._def;if(q.parsedType!==n$.array)return t$(q,{code:c$.invalid_type,expected:n$.array,received:q.parsedType}),q6;if(K.exactLength!==null){let Y=q.data.length>K.exactLength.value,O=q.data.length<K.exactLength.value;if(Y||O)t$(q,{code:Y?c$.too_big:c$.too_small,minimum:O?K.exactLength.value:void 0,maximum:Y?K.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:K.exactLength.message}),_.dirty()}if(K.minLength!==null){if(q.data.length<K.minLength.value)t$(q,{code:c$.too_small,minimum:K.minLength.value,type:"array",inclusive:!0,exact:!1,message:K.minLength.message}),_.dirty()}if(K.maxLength!==null){if(q.data.length>K.maxLength.value)t$(q,{code:c$.too_big,maximum:K.maxLength.value,type:"array",inclusive:!0,exact:!1,message:K.maxLength.message}),_.dirty()}if(q.common.async)return Promise.all([...q.data].map((Y,O)=>{return K.type._parseAsync(new g8(q,Y,q.path,O))})).then((Y)=>{return kq.mergeArray(_,Y)});let P=[...q.data].map((Y,O)=>{return K.type._parseSync(new g8(q,Y,q.path,O))});return kq.mergeArray(_,P)}get element(){return this._def.type}min($,q){return new L8({...this._def,minLength:{value:$,message:s$.toString(q)}})}max($,q){return new L8({...this._def,maxLength:{value:$,message:s$.toString(q)}})}length($,q){return new L8({...this._def,exactLength:{value:$,message:s$.toString(q)}})}nonempty($){return this.min(1,$)}}L8.create=($,q)=>{return new L8({type:$,minLength:null,maxLength:null,exactLength:null,typeName:m$.ZodArray,...v6(q)})};function f4($){if($ instanceof u6){let q={};for(let _ in $.shape){let K=$.shape[_];q[_]=b8.create(f4(K))}return new u6({...$._def,shape:()=>q})}else if($ instanceof L8)return new L8({...$._def,type:f4($.element)});else if($ instanceof b8)return b8.create(f4($.unwrap()));else if($ instanceof f_)return f_.create(f4($.unwrap()));else if($ instanceof F8)return F8.create($.items.map((q)=>f4(q)));else return $}class u6 extends T6{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),q=A6.objectKeys($);return this._cached={shape:$,keys:q},this._cached}_parse($){if(this._getType($)!==n$.object){let T=this._getOrReturnCtx($);return t$(T,{code:c$.invalid_type,expected:n$.object,received:T.parsedType}),q6}let{status:_,ctx:K}=this._processInputParams($),{shape:P,keys:Y}=this._getCached(),O=[];if(!(this._def.catchall instanceof U8&&this._def.unknownKeys==="strip")){for(let T in K.data)if(!Y.includes(T))O.push(T)}let z=[];for(let T of Y){let H=P[T],f=K.data[T];z.push({key:{status:"valid",value:T},value:H._parse(new g8(K,f,K.path,T)),alwaysSet:T in K.data})}if(this._def.catchall instanceof U8){let T=this._def.unknownKeys;if(T==="passthrough")for(let H of O)z.push({key:{status:"valid",value:H},value:{status:"valid",value:K.data[H]}});else if(T==="strict"){if(O.length>0)t$(K,{code:c$.unrecognized_keys,keys:O}),_.dirty()}else if(T==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let T=this._def.catchall;for(let H of O){let f=K.data[H];z.push({key:{status:"valid",value:H},value:T._parse(new g8(K,f,K.path,H)),alwaysSet:H in K.data})}}if(K.common.async)return Promise.resolve().then(async()=>{let T=[];for(let H of z){let f=await H.key,w=await H.value;T.push({key:f,value:w,alwaysSet:H.alwaysSet})}return T}).then((T)=>{return kq.mergeObjectSync(_,T)});else return kq.mergeObjectSync(_,z)}get shape(){return this._def.shape()}strict($){return s$.errToObj,new u6({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(q,_)=>{let K=this._def.errorMap?.(q,_).message??_.defaultError;if(q.code==="unrecognized_keys")return{message:s$.errToObj($).message??K};return{message:K}}}:{}})}strip(){return new u6({...this._def,unknownKeys:"strip"})}passthrough(){return new u6({...this._def,unknownKeys:"passthrough"})}extend($){return new u6({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new u6({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:m$.ZodObject})}setKey($,q){return this.augment({[$]:q})}catchall($){return new u6({...this._def,catchall:$})}pick($){let q={};for(let _ of A6.objectKeys($))if($[_]&&this.shape[_])q[_]=this.shape[_];return new u6({...this._def,shape:()=>q})}omit($){let q={};for(let _ of A6.objectKeys(this.shape))if(!$[_])q[_]=this.shape[_];return new u6({...this._def,shape:()=>q})}deepPartial(){return f4(this)}partial($){let q={};for(let _ of A6.objectKeys(this.shape)){let K=this.shape[_];if($&&!$[_])q[_]=K;else q[_]=K.optional()}return new u6({...this._def,shape:()=>q})}required($){let q={};for(let _ of A6.objectKeys(this.shape))if($&&!$[_])q[_]=this.shape[_];else{let P=this.shape[_];while(P instanceof b8)P=P._def.innerType;q[_]=P}return new u6({...this._def,shape:()=>q})}keyof(){return wk(A6.objectKeys(this.shape))}}u6.create=($,q)=>{return new u6({shape:()=>$,unknownKeys:"strip",catchall:U8.create(),typeName:m$.ZodObject,...v6(q)})};u6.strictCreate=($,q)=>{return new u6({shape:()=>$,unknownKeys:"strict",catchall:U8.create(),typeName:m$.ZodObject,...v6(q)})};u6.lazycreate=($,q)=>{return new u6({shape:$,unknownKeys:"strip",catchall:U8.create(),typeName:m$.ZodObject,...v6(q)})};class G4 extends T6{_parse($){let{ctx:q}=this._processInputParams($),_=this._def.options;function K(P){for(let O of P)if(O.result.status==="valid")return O.result;for(let O of P)if(O.result.status==="dirty")return q.common.issues.push(...O.ctx.common.issues),O.result;let Y=P.map((O)=>new aq(O.ctx.common.issues));return t$(q,{code:c$.invalid_union,unionErrors:Y}),q6}if(q.common.async)return Promise.all(_.map(async(P)=>{let Y={...q,common:{...q.common,issues:[]},parent:null};return{result:await P._parseAsync({data:q.data,path:q.path,parent:Y}),ctx:Y}})).then(K);else{let P=void 0,Y=[];for(let z of _){let T={...q,common:{...q.common,issues:[]},parent:null},H=z._parseSync({data:q.data,path:q.path,parent:T});if(H.status==="valid")return H;else if(H.status==="dirty"&&!P)P={result:H,ctx:T};if(T.common.issues.length)Y.push(T.common.issues)}if(P)return q.common.issues.push(...P.ctx.common.issues),P.result;let O=Y.map((z)=>new aq(z));return t$(q,{code:c$.invalid_union,unionErrors:O}),q6}}get options(){return this._def.options}}G4.create=($,q)=>{return new G4({options:$,typeName:m$.ZodUnion,...v6(q)})};var w_=($)=>{if($ instanceof S4)return w_($.schema);else if($ instanceof y8)return w_($.innerType());else if($ instanceof M4)return[$.value];else if($ instanceof a_)return $.options;else if($ instanceof N4)return A6.objectValues($.enum);else if($ instanceof C4)return w_($._def.innerType);else if($ instanceof A4)return[void 0];else if($ instanceof k4)return[null];else if($ instanceof b8)return[void 0,...w_($.unwrap())];else if($ instanceof f_)return[null,...w_($.unwrap())];else if($ instanceof N5)return w_($.unwrap());else if($ instanceof h4)return w_($.unwrap());else if($ instanceof E4)return w_($._def.innerType);else return[]};class M5 extends T6{_parse($){let{ctx:q}=this._processInputParams($);if(q.parsedType!==n$.object)return t$(q,{code:c$.invalid_type,expected:n$.object,received:q.parsedType}),q6;let _=this.discriminator,K=q.data[_],P=this.optionsMap.get(K);if(!P)return t$(q,{code:c$.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[_]}),q6;if(q.common.async)return P._parseAsync({data:q.data,path:q.path,parent:q});else return P._parseSync({data:q.data,path:q.path,parent:q})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,q,_){let K=new Map;for(let P of q){let Y=w_(P.shape[$]);if(!Y.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let O of Y){if(K.has(O))throw Error(`Discriminator property ${String($)} has duplicate value ${String(O)}`);K.set(O,P)}}return new M5({typeName:m$.ZodDiscriminatedUnion,discriminator:$,options:q,optionsMap:K,...v6(_)})}}function Az($,q){let _=t8($),K=t8(q);if($===q)return{valid:!0,data:$};else if(_===n$.object&&K===n$.object){let P=A6.objectKeys(q),Y=A6.objectKeys($).filter((z)=>P.indexOf(z)!==-1),O={...$,...q};for(let z of Y){let T=Az($[z],q[z]);if(!T.valid)return{valid:!1};O[z]=T.data}return{valid:!0,data:O}}else if(_===n$.array&&K===n$.array){if($.length!==q.length)return{valid:!1};let P=[];for(let Y=0;Y<$.length;Y++){let O=$[Y],z=q[Y],T=Az(O,z);if(!T.valid)return{valid:!1};P.push(T.data)}return{valid:!0,data:P}}else if(_===n$.date&&K===n$.date&&+$===+q)return{valid:!0,data:$};else return{valid:!1}}class V4 extends T6{_parse($){let{status:q,ctx:_}=this._processInputParams($),K=(P,Y)=>{if(V5(P)||V5(Y))return q6;let O=Az(P.value,Y.value);if(!O.valid)return t$(_,{code:c$.invalid_intersection_types}),q6;if(S5(P)||S5(Y))q.dirty();return{status:q.value,value:O.data}};if(_.common.async)return Promise.all([this._def.left._parseAsync({data:_.data,path:_.path,parent:_}),this._def.right._parseAsync({data:_.data,path:_.path,parent:_})]).then(([P,Y])=>K(P,Y));else return K(this._def.left._parseSync({data:_.data,path:_.path,parent:_}),this._def.right._parseSync({data:_.data,path:_.path,parent:_}))}}V4.create=($,q,_)=>{return new V4({left:$,right:q,typeName:m$.ZodIntersection,...v6(_)})};class F8 extends T6{_parse($){let{status:q,ctx:_}=this._processInputParams($);if(_.parsedType!==n$.array)return t$(_,{code:c$.invalid_type,expected:n$.array,received:_.parsedType}),q6;if(_.data.length<this._def.items.length)return t$(_,{code:c$.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),q6;if(!this._def.rest&&_.data.length>this._def.items.length)t$(_,{code:c$.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),q.dirty();let P=[..._.data].map((Y,O)=>{let z=this._def.items[O]||this._def.rest;if(!z)return null;return z._parse(new g8(_,Y,_.path,O))}).filter((Y)=>!!Y);if(_.common.async)return Promise.all(P).then((Y)=>{return kq.mergeArray(q,Y)});else return kq.mergeArray(q,P)}get items(){return this._def.items}rest($){return new F8({...this._def,rest:$})}}F8.create=($,q)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new F8({items:$,typeName:m$.ZodTuple,rest:null,...v6(q)})};class M7 extends T6{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:q,ctx:_}=this._processInputParams($);if(_.parsedType!==n$.object)return t$(_,{code:c$.invalid_type,expected:n$.object,received:_.parsedType}),q6;let K=[],P=this._def.keyType,Y=this._def.valueType;for(let O in _.data)K.push({key:P._parse(new g8(_,O,_.path,O)),value:Y._parse(new g8(_,_.data[O],_.path,O)),alwaysSet:O in _.data});if(_.common.async)return kq.mergeObjectAsync(q,K);else return kq.mergeObjectSync(q,K)}get element(){return this._def.valueType}static create($,q,_){if(q instanceof T6)return new M7({keyType:$,valueType:q,typeName:m$.ZodRecord,...v6(_)});return new M7({keyType:D8.create(),valueType:$,typeName:m$.ZodRecord,...v6(q)})}}class N7 extends T6{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:q,ctx:_}=this._processInputParams($);if(_.parsedType!==n$.map)return t$(_,{code:c$.invalid_type,expected:n$.map,received:_.parsedType}),q6;let K=this._def.keyType,P=this._def.valueType,Y=[..._.data.entries()].map(([O,z],T)=>{return{key:K._parse(new g8(_,O,_.path,[T,"key"])),value:P._parse(new g8(_,z,_.path,[T,"value"]))}});if(_.common.async){let O=new Map;return Promise.resolve().then(async()=>{for(let z of Y){let T=await z.key,H=await z.value;if(T.status==="aborted"||H.status==="aborted")return q6;if(T.status==="dirty"||H.status==="dirty")q.dirty();O.set(T.value,H.value)}return{status:q.value,value:O}})}else{let O=new Map;for(let z of Y){let{key:T,value:H}=z;if(T.status==="aborted"||H.status==="aborted")return q6;if(T.status==="dirty"||H.status==="dirty")q.dirty();O.set(T.value,H.value)}return{status:q.value,value:O}}}}N7.create=($,q,_)=>{return new N7({valueType:q,keyType:$,typeName:m$.ZodMap,...v6(_)})};class NK extends T6{_parse($){let{status:q,ctx:_}=this._processInputParams($);if(_.parsedType!==n$.set)return t$(_,{code:c$.invalid_type,expected:n$.set,received:_.parsedType}),q6;let K=this._def;if(K.minSize!==null){if(_.data.size<K.minSize.value)t$(_,{code:c$.too_small,minimum:K.minSize.value,type:"set",inclusive:!0,exact:!1,message:K.minSize.message}),q.dirty()}if(K.maxSize!==null){if(_.data.size>K.maxSize.value)t$(_,{code:c$.too_big,maximum:K.maxSize.value,type:"set",inclusive:!0,exact:!1,message:K.maxSize.message}),q.dirty()}let P=this._def.valueType;function Y(z){let T=new Set;for(let H of z){if(H.status==="aborted")return q6;if(H.status==="dirty")q.dirty();T.add(H.value)}return{status:q.value,value:T}}let O=[..._.data.values()].map((z,T)=>P._parse(new g8(_,z,_.path,T)));if(_.common.async)return Promise.all(O).then((z)=>Y(z));else return Y(O)}min($,q){return new NK({...this._def,minSize:{value:$,message:s$.toString(q)}})}max($,q){return new NK({...this._def,maxSize:{value:$,message:s$.toString(q)}})}size($,q){return this.min($,q).max($,q)}nonempty($){return this.min(1,$)}}NK.create=($,q)=>{return new NK({valueType:$,minSize:null,maxSize:null,typeName:m$.ZodSet,...v6(q)})};class Z4 extends T6{constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:q}=this._processInputParams($);if(q.parsedType!==n$.function)return t$(q,{code:c$.invalid_type,expected:n$.function,received:q.parsedType}),q6;function _(O,z){return G7({data:O,path:q.path,errorMaps:[q.common.contextualErrorMap,q.schemaErrorMap,T4(),T_].filter((T)=>!!T),issueData:{code:c$.invalid_arguments,argumentsError:z}})}function K(O,z){return G7({data:O,path:q.path,errorMaps:[q.common.contextualErrorMap,q.schemaErrorMap,T4(),T_].filter((T)=>!!T),issueData:{code:c$.invalid_return_type,returnTypeError:z}})}let P={errorMap:q.common.contextualErrorMap},Y=q.data;if(this._def.returns instanceof CK){let O=this;return Rq(async function(...z){let T=new aq([]),H=await O._def.args.parseAsync(z,P).catch((k)=>{throw T.addIssue(_(z,k)),T}),f=await Reflect.apply(Y,this,H);return await O._def.returns._def.type.parseAsync(f,P).catch((k)=>{throw T.addIssue(K(f,k)),T})})}else{let O=this;return Rq(function(...z){let T=O._def.args.safeParse(z,P);if(!T.success)throw new aq([_(z,T.error)]);let H=Reflect.apply(Y,this,T.data),f=O._def.returns.safeParse(H,P);if(!f.success)throw new aq([K(H,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new Z4({...this._def,args:F8.create($).rest(U_.create())})}returns($){return new Z4({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,q,_){return new Z4({args:$?$:F8.create([]).rest(U_.create()),returns:q||U_.create(),typeName:m$.ZodFunction,...v6(_)})}}class S4 extends T6{get schema(){return this._def.getter()}_parse($){let{ctx:q}=this._processInputParams($);return this._def.getter()._parse({data:q.data,path:q.path,parent:q})}}S4.create=($,q)=>{return new S4({getter:$,typeName:m$.ZodLazy,...v6(q)})};class M4 extends T6{_parse($){if($.data!==this._def.value){let q=this._getOrReturnCtx($);return t$(q,{received:q.data,code:c$.invalid_literal,expected:this._def.value}),q6}return{status:"valid",value:$.data}}get value(){return this._def.value}}M4.create=($,q)=>{return new M4({value:$,typeName:m$.ZodLiteral,...v6(q)})};function wk($,q){return new a_({values:$,typeName:m$.ZodEnum,...v6(q)})}class a_ extends T6{_parse($){if(typeof $.data!=="string"){let q=this._getOrReturnCtx($),_=this._def.values;return t$(q,{expected:A6.joinValues(_),received:q.parsedType,code:c$.invalid_type}),q6}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let q=this._getOrReturnCtx($),_=this._def.values;return t$(q,{received:q.data,code:c$.invalid_enum_value,options:_}),q6}return Rq($.data)}get options(){return this._def.values}get enum(){let $={};for(let q of this._def.values)$[q]=q;return $}get Values(){let $={};for(let q of this._def.values)$[q]=q;return $}get Enum(){let $={};for(let q of this._def.values)$[q]=q;return $}extract($,q=this._def){return a_.create($,{...this._def,...q})}exclude($,q=this._def){return a_.create(this.options.filter((_)=>!$.includes(_)),{...this._def,...q})}}a_.create=wk;class N4 extends T6{_parse($){let q=A6.getValidEnumValues(this._def.values),_=this._getOrReturnCtx($);if(_.parsedType!==n$.string&&_.parsedType!==n$.number){let K=A6.objectValues(q);return t$(_,{expected:A6.joinValues(K),received:_.parsedType,code:c$.invalid_type}),q6}if(!this._cache)this._cache=new Set(A6.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let K=A6.objectValues(q);return t$(_,{received:_.data,code:c$.invalid_enum_value,options:K}),q6}return Rq($.data)}get enum(){return this._def.values}}N4.create=($,q)=>{return new N4({values:$,typeName:m$.ZodNativeEnum,...v6(q)})};class CK extends T6{unwrap(){return this._def.type}_parse($){let{ctx:q}=this._processInputParams($);if(q.parsedType!==n$.promise&&q.common.async===!1)return t$(q,{code:c$.invalid_type,expected:n$.promise,received:q.parsedType}),q6;let _=q.parsedType===n$.promise?q.data:Promise.resolve(q.data);return Rq(_.then((K)=>{return this._def.type.parseAsync(K,{path:q.path,errorMap:q.common.contextualErrorMap})}))}}CK.create=($,q)=>{return new CK({type:$,typeName:m$.ZodPromise,...v6(q)})};class y8 extends T6{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===m$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:q,ctx:_}=this._processInputParams($),K=this._def.effect||null,P={addIssue:(Y)=>{if(t$(_,Y),Y.fatal)q.abort();else q.dirty()},get path(){return _.path}};if(P.addIssue=P.addIssue.bind(P),K.type==="preprocess"){let Y=K.transform(_.data,P);if(_.common.async)return Promise.resolve(Y).then(async(O)=>{if(q.value==="aborted")return q6;let z=await this._def.schema._parseAsync({data:O,path:_.path,parent:_});if(z.status==="aborted")return q6;if(z.status==="dirty")return VK(z.value);if(q.value==="dirty")return VK(z.value);return z});else{if(q.value==="aborted")return q6;let O=this._def.schema._parseSync({data:Y,path:_.path,parent:_});if(O.status==="aborted")return q6;if(O.status==="dirty")return VK(O.value);if(q.value==="dirty")return VK(O.value);return O}}if(K.type==="refinement"){let Y=(O)=>{let z=K.refinement(O,P);if(_.common.async)return Promise.resolve(z);if(z instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return O};if(_.common.async===!1){let O=this._def.schema._parseSync({data:_.data,path:_.path,parent:_});if(O.status==="aborted")return q6;if(O.status==="dirty")q.dirty();return Y(O.value),{status:q.value,value:O.value}}else return this._def.schema._parseAsync({data:_.data,path:_.path,parent:_}).then((O)=>{if(O.status==="aborted")return q6;if(O.status==="dirty")q.dirty();return Y(O.value).then(()=>{return{status:q.value,value:O.value}})})}if(K.type==="transform")if(_.common.async===!1){let Y=this._def.schema._parseSync({data:_.data,path:_.path,parent:_});if(!t_(Y))return q6;let O=K.transform(Y.value,P);if(O instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:q.value,value:O}}else return this._def.schema._parseAsync({data:_.data,path:_.path,parent:_}).then((Y)=>{if(!t_(Y))return q6;return Promise.resolve(K.transform(Y.value,P)).then((O)=>({status:q.value,value:O}))});A6.assertNever(K)}}y8.create=($,q,_)=>{return new y8({schema:$,typeName:m$.ZodEffects,effect:q,...v6(_)})};y8.createWithPreprocess=($,q,_)=>{return new y8({schema:q,effect:{type:"preprocess",transform:$},typeName:m$.ZodEffects,...v6(_)})};class b8 extends T6{_parse($){if(this._getType($)===n$.undefined)return Rq(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}b8.create=($,q)=>{return new b8({innerType:$,typeName:m$.ZodOptional,...v6(q)})};class f_ extends T6{_parse($){if(this._getType($)===n$.null)return Rq(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}f_.create=($,q)=>{return new f_({innerType:$,typeName:m$.ZodNullable,...v6(q)})};class C4 extends T6{_parse($){let{ctx:q}=this._processInputParams($),_=q.data;if(q.parsedType===n$.undefined)_=this._def.defaultValue();return this._def.innerType._parse({data:_,path:q.path,parent:q})}removeDefault(){return this._def.innerType}}C4.create=($,q)=>{return new C4({innerType:$,typeName:m$.ZodDefault,defaultValue:typeof q.default==="function"?q.default:()=>q.default,...v6(q)})};class E4 extends T6{_parse($){let{ctx:q}=this._processInputParams($),_={...q,common:{...q.common,issues:[]}},K=this._def.innerType._parse({data:_.data,path:_.path,parent:{..._}});if(w4(K))return K.then((P)=>{return{status:"valid",value:P.status==="valid"?P.value:this._def.catchValue({get error(){return new aq(_.common.issues)},input:_.data})}});else return{status:"valid",value:K.status==="valid"?K.value:this._def.catchValue({get error(){return new aq(_.common.issues)},input:_.data})}}removeCatch(){return this._def.innerType}}E4.create=($,q)=>{return new E4({innerType:$,typeName:m$.ZodCatch,catchValue:typeof q.catch==="function"?q.catch:()=>q.catch,...v6(q)})};class C7 extends T6{_parse($){if(this._getType($)!==n$.nan){let _=this._getOrReturnCtx($);return t$(_,{code:c$.invalid_type,expected:n$.nan,received:_.parsedType}),q6}return{status:"valid",value:$.data}}}C7.create=($)=>{return new C7({typeName:m$.ZodNaN,...v6($)})};var Qg=Symbol("zod_brand");class N5 extends T6{_parse($){let{ctx:q}=this._processInputParams($),_=q.data;return this._def.type._parse({data:_,path:q.path,parent:q})}unwrap(){return this._def.type}}class E7 extends T6{_parse($){let{status:q,ctx:_}=this._processInputParams($);if(_.common.async)return(async()=>{let P=await this._def.in._parseAsync({data:_.data,path:_.path,parent:_});if(P.status==="aborted")return q6;if(P.status==="dirty")return q.dirty(),VK(P.value);else return this._def.out._parseAsync({data:P.value,path:_.path,parent:_})})();else{let K=this._def.in._parseSync({data:_.data,path:_.path,parent:_});if(K.status==="aborted")return q6;if(K.status==="dirty")return q.dirty(),{status:"dirty",value:K.value};else return this._def.out._parseSync({data:K.value,path:_.path,parent:_})}}static create($,q){return new E7({in:$,out:q,typeName:m$.ZodPipeline})}}class h4 extends T6{_parse($){let q=this._def.innerType._parse($),_=(K)=>{if(t_(K))K.value=Object.freeze(K.value);return K};return w4(q)?q.then((K)=>_(K)):_(q)}unwrap(){return this._def.innerType}}h4.create=($,q)=>{return new h4({innerType:$,typeName:m$.ZodReadonly,...v6(q)})};function Wk($,q){let _=typeof $==="function"?$(q):typeof $==="string"?{message:$}:$;return typeof _==="string"?{message:_}:_}function fk($,q={},_){if($)return MK.create().superRefine((K,P)=>{let Y=$(K);if(Y instanceof Promise)return Y.then((O)=>{if(!O){let z=Wk(q,K),T=z.fatal??_??!0;P.addIssue({code:"custom",...z,fatal:T})}});if(!Y){let O=Wk(q,K),z=O.fatal??_??!0;P.addIssue({code:"custom",...O,fatal:z})}return});return MK.create()}var ag={object:u6.lazycreate},m$;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(m$||(m$={}));var eg=($,q={message:`Input not instance of ${$.name}`})=>fk((_)=>_ instanceof $,q),Zk=D8.create,Xk=F_.create,sg=C7.create,$y=Q_.create,Ak=X4.create,qy=SK.create,_y=V7.create,Ky=A4.create,Py=k4.create,Yy=MK.create,Oy=U_.create,jy=U8.create,vy=S7.create,zy=L8.create,Wy=u6.create,Jy=u6.strictCreate,Hy=G4.create,Ty=M5.create,wy=V4.create,fy=F8.create,Zy=M7.create,Xy=N7.create,Ay=NK.create,ky=Z4.create,Gy=S4.create,Vy=M4.create,Sy=a_.create,My=N4.create,Ny=CK.create,Cy=y8.create,Ey=b8.create,hy=f_.create,Ry=y8.createWithPreprocess,Iy=E7.create,Dy=()=>Zk().optional(),Ly=()=>Xk().optional(),by=()=>Ak().optional(),gy={string:($)=>D8.create({...$,coerce:!0}),number:($)=>F_.create({...$,coerce:!0}),boolean:($)=>X4.create({...$,coerce:!0}),bigint:($)=>Q_.create({...$,coerce:!0}),date:($)=>SK.create({...$,coerce:!0})};var yy=q6;function kz($,q){let _={type:"array"};if($.type?._def&&$.type?._def?.typeName!==m$.ZodAny)_.items=_6($.type._def,{...q,currentPath:[...q.currentPath,"items"]});if($.minLength)G6(_,"minItems",$.minLength.value,$.minLength.message,q);if($.maxLength)G6(_,"maxItems",$.maxLength.value,$.maxLength.message,q);if($.exactLength)G6(_,"minItems",$.exactLength.value,$.exactLength.message,q),G6(_,"maxItems",$.exactLength.value,$.exactLength.message,q);return _}function Gz($,q){let _={type:"integer",format:"int64"};if(!$.checks)return _;for(let K of $.checks)switch(K.kind){case"min":if(q.target==="jsonSchema7")if(K.inclusive)G6(_,"minimum",K.value,K.message,q);else G6(_,"exclusiveMinimum",K.value,K.message,q);else{if(!K.inclusive)_.exclusiveMinimum=!0;G6(_,"minimum",K.value,K.message,q)}break;case"max":if(q.target==="jsonSchema7")if(K.inclusive)G6(_,"maximum",K.value,K.message,q);else G6(_,"exclusiveMaximum",K.value,K.message,q);else{if(!K.inclusive)_.exclusiveMaximum=!0;G6(_,"maximum",K.value,K.message,q)}break;case"multipleOf":G6(_,"multipleOf",K.value,K.message,q);break}return _}function Vz(){return{type:"boolean"}}function h7($,q){return _6($.type._def,q)}var Sz=($,q)=>{return _6($.innerType._def,q)};function C5($,q,_){let K=_??q.dateStrategy;if(Array.isArray(K))return{anyOf:K.map((P)=>C5($,q,P))};switch(K){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return uy($,q)}}var uy=($,q)=>{let _={type:"integer",format:"unix-time"};if(q.target==="openApi3")return _;for(let K of $.checks)switch(K.kind){case"min":G6(_,"minimum",K.value,K.message,q);break;case"max":G6(_,"maximum",K.value,K.message,q);break}return _};function Mz($,q){return{..._6($.innerType._def,q),default:$.defaultValue()}}function Nz($,q){return q.effectStrategy==="input"?_6($.schema._def,q):D6(q)}function Cz($){return{type:"string",enum:Array.from($.values)}}var xy=($)=>{if("type"in $&&$.type==="string")return!1;return"allOf"in $};function Ez($,q){let _=[_6($.left._def,{...q,currentPath:[...q.currentPath,"allOf","0"]}),_6($.right._def,{...q,currentPath:[...q.currentPath,"allOf","1"]})].filter((Y)=>!!Y),K=q.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,P=[];return _.forEach((Y)=>{if(xy(Y)){if(P.push(...Y.allOf),Y.unevaluatedProperties===void 0)K=void 0}else{let O=Y;if("additionalProperties"in Y&&Y.additionalProperties===!1){let{additionalProperties:z,...T}=Y;O=T}else K=void 0;P.push(O)}}),P.length?{allOf:P,...K}:void 0}function hz($,q){let _=typeof $.value;if(_!=="bigint"&&_!=="number"&&_!=="boolean"&&_!=="string")return{type:Array.isArray($.value)?"array":"object"};if(q.target==="openApi3")return{type:_==="bigint"?"integer":_,enum:[$.value]};return{type:_==="bigint"?"integer":_,const:$.value}}var Rz=void 0,A8={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:()=>{if(Rz===void 0)Rz=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return Rz},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 R7($,q){let _={type:"string"};if($.checks)for(let K of $.checks)switch(K.kind){case"min":G6(_,"minLength",typeof _.minLength==="number"?Math.max(_.minLength,K.value):K.value,K.message,q);break;case"max":G6(_,"maxLength",typeof _.maxLength==="number"?Math.min(_.maxLength,K.value):K.value,K.message,q);break;case"email":switch(q.emailStrategy){case"format:email":u8(_,"email",K.message,q);break;case"format:idn-email":u8(_,"idn-email",K.message,q);break;case"pattern:zod":uq(_,A8.email,K.message,q);break}break;case"url":u8(_,"uri",K.message,q);break;case"uuid":u8(_,"uuid",K.message,q);break;case"regex":uq(_,K.regex,K.message,q);break;case"cuid":uq(_,A8.cuid,K.message,q);break;case"cuid2":uq(_,A8.cuid2,K.message,q);break;case"startsWith":uq(_,RegExp(`^${Iz(K.value,q)}`),K.message,q);break;case"endsWith":uq(_,RegExp(`${Iz(K.value,q)}$`),K.message,q);break;case"datetime":u8(_,"date-time",K.message,q);break;case"date":u8(_,"date",K.message,q);break;case"time":u8(_,"time",K.message,q);break;case"duration":u8(_,"duration",K.message,q);break;case"length":G6(_,"minLength",typeof _.minLength==="number"?Math.max(_.minLength,K.value):K.value,K.message,q),G6(_,"maxLength",typeof _.maxLength==="number"?Math.min(_.maxLength,K.value):K.value,K.message,q);break;case"includes":uq(_,RegExp(Iz(K.value,q)),K.message,q);break;case"ip":if(K.version!=="v6")u8(_,"ipv4",K.message,q);if(K.version!=="v4")u8(_,"ipv6",K.message,q);break;case"base64url":uq(_,A8.base64url,K.message,q);break;case"jwt":uq(_,A8.jwt,K.message,q);break;case"cidr":if(K.version!=="v6")uq(_,A8.ipv4Cidr,K.message,q);if(K.version!=="v4")uq(_,A8.ipv6Cidr,K.message,q);break;case"emoji":uq(_,A8.emoji(),K.message,q);break;case"ulid":uq(_,A8.ulid,K.message,q);break;case"base64":switch(q.base64Strategy){case"format:binary":u8(_,"binary",K.message,q);break;case"contentEncoding:base64":G6(_,"contentEncoding","base64",K.message,q);break;case"pattern:zod":uq(_,A8.base64,K.message,q);break}break;case"nanoid":uq(_,A8.nanoid,K.message,q);break;case"toLowerCase":case"toUpperCase":case"trim":break;default:((P)=>{})(K)}return _}function Iz($,q){return q.patternStrategy==="escape"?cy($):$}var py=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function cy($){let q="";for(let _=0;_<$.length;_++){if(!py.has($[_]))q+="\\";q+=$[_]}return q}function u8($,q,_,K){if($.format||$.anyOf?.some((P)=>P.format)){if(!$.anyOf)$.anyOf=[];if($.format){if($.anyOf.push({format:$.format,...$.errorMessage&&K.errorMessages&&{errorMessage:{format:$.errorMessage.format}}}),delete $.format,$.errorMessage){if(delete $.errorMessage.format,Object.keys($.errorMessage).length===0)delete $.errorMessage}}$.anyOf.push({format:q,..._&&K.errorMessages&&{errorMessage:{format:_}}})}else G6($,"format",q,_,K)}function uq($,q,_,K){if($.pattern||$.allOf?.some((P)=>P.pattern)){if(!$.allOf)$.allOf=[];if($.pattern){if($.allOf.push({pattern:$.pattern,...$.errorMessage&&K.errorMessages&&{errorMessage:{pattern:$.errorMessage.pattern}}}),delete $.pattern,$.errorMessage){if(delete $.errorMessage.pattern,Object.keys($.errorMessage).length===0)delete $.errorMessage}}$.allOf.push({pattern:kk(q,K),..._&&K.errorMessages&&{errorMessage:{pattern:_}}})}else G6($,"pattern",kk(q,K),_,K)}function kk($,q){if(!q.applyRegexFlags||!$.flags)return $.source;let _={i:$.flags.includes("i"),m:$.flags.includes("m"),s:$.flags.includes("s")},K=_.i?$.source.toLowerCase():$.source,P="",Y=!1,O=!1,z=!1;for(let T=0;T<K.length;T++){if(Y){P+=K[T],Y=!1;continue}if(_.i){if(O){if(K[T].match(/[a-z]/)){if(z)P+=K[T],P+=`${K[T-2]}-${K[T]}`.toUpperCase(),z=!1;else if(K[T+1]==="-"&&K[T+2]?.match(/[a-z]/))P+=K[T],z=!0;else P+=`${K[T]}${K[T].toUpperCase()}`;continue}}else if(K[T].match(/[a-z]/)){P+=`[${K[T]}${K[T].toUpperCase()}]`;continue}}if(_.m){if(K[T]==="^"){P+=`(^|(?<=[\r
|
|
200
|
+
`));return await O.blob()}var Tz=Symbol("Let zodToJsonSchema decide on which parser to use"),Hz={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},wz=($)=>typeof $==="string"?{...Hz,name:$}:{...Hz,...$};var fz=($)=>{let q=wz($),_=q.name!==void 0?[...q.basePath,q.definitionPath,q.name]:q.basePath;return{...q,flags:{hasReferencedOpenAiAnyType:!1},currentPath:_,propertyPath:void 0,seen:new Map(Object.entries(q.definitions).map(([K,P])=>[P._def,{def:P._def,path:[...q.basePath,q.definitionPath,K],jsonSchema:void 0}]))}};var k7=($,q)=>{let _=0;for(;_<$.length&&_<q.length;_++)if($[_]!==q[_])break;return[($.length-_).toString(),...q.slice(_)].join("/")};function D6($){if($.target!=="openAi")return{};let q=[...$.basePath,$.definitionPath,$.openAiAnyTypeName];return $.flags.hasReferencedOpenAiAnyType=!0,{$ref:$.$refStrategy==="relative"?k7(q,$.currentPath):q.join("/")}}function G5($,q,_,K){if(!K?.errorMessages)return;if(_)$.errorMessage={...$.errorMessage,[q]:_}}function k6($,q,_,K,P){$[q]=_,G5($,q,K,P)}var EK={};rq(EK,{void:()=>vy,util:()=>A6,unknown:()=>Oy,union:()=>Hy,undefined:()=>Ky,tuple:()=>fy,transformer:()=>Cy,symbol:()=>_y,string:()=>Zk,strictObject:()=>Jy,setErrorMap:()=>hg,set:()=>Ay,record:()=>Zy,quotelessJson:()=>Cg,promise:()=>Ny,preprocess:()=>Ry,pipeline:()=>Iy,ostring:()=>Dy,optional:()=>Ey,onumber:()=>Ly,oboolean:()=>by,objectUtil:()=>Zz,object:()=>Wy,number:()=>Xk,nullable:()=>hy,null:()=>Py,never:()=>jy,nativeEnum:()=>My,nan:()=>sg,map:()=>Xy,makeIssue:()=>G7,literal:()=>Vy,lazy:()=>Gy,late:()=>ag,isValid:()=>t_,isDirty:()=>S5,isAsync:()=>w4,isAborted:()=>V5,intersection:()=>wy,instanceof:()=>eg,getParsedType:()=>t8,getErrorMap:()=>T4,function:()=>ky,enum:()=>Sy,effect:()=>Cy,discriminatedUnion:()=>Ty,defaultErrorMap:()=>T_,datetimeRegex:()=>Tk,date:()=>qy,custom:()=>fk,coerce:()=>gy,boolean:()=>Ak,bigint:()=>$y,array:()=>zy,any:()=>Yy,addIssueToContext:()=>t$,ZodVoid:()=>S7,ZodUnknown:()=>U_,ZodUnion:()=>G4,ZodUndefined:()=>A4,ZodType:()=>T6,ZodTuple:()=>F8,ZodTransformer:()=>y8,ZodSymbol:()=>V7,ZodString:()=>D8,ZodSet:()=>NK,ZodSchema:()=>T6,ZodRecord:()=>M7,ZodReadonly:()=>h4,ZodPromise:()=>CK,ZodPipeline:()=>E7,ZodParsedType:()=>n$,ZodOptional:()=>b8,ZodObject:()=>u6,ZodNumber:()=>F_,ZodNullable:()=>f_,ZodNull:()=>k4,ZodNever:()=>U8,ZodNativeEnum:()=>N4,ZodNaN:()=>C7,ZodMap:()=>N7,ZodLiteral:()=>M4,ZodLazy:()=>S4,ZodIssueCode:()=>c$,ZodIntersection:()=>V4,ZodFunction:()=>Z4,ZodFirstPartyTypeKind:()=>m$,ZodError:()=>aq,ZodEnum:()=>a_,ZodEffects:()=>y8,ZodDiscriminatedUnion:()=>M5,ZodDefault:()=>C4,ZodDate:()=>SK,ZodCatch:()=>E4,ZodBranded:()=>N5,ZodBoolean:()=>X4,ZodBigInt:()=>Q_,ZodArray:()=>L8,ZodAny:()=>MK,Schema:()=>T6,ParseStatus:()=>kq,OK:()=>Rq,NEVER:()=>yy,INVALID:()=>q6,EMPTY_PATH:()=>Rg,DIRTY:()=>VK,BRAND:()=>Qg});var A6;(function($){$.assertEqual=(P)=>{};function q(P){}$.assertIs=q;function _(P){throw Error()}$.assertNever=_,$.arrayToEnum=(P)=>{let Y={};for(let O of P)Y[O]=O;return Y},$.getValidEnumValues=(P)=>{let Y=$.objectKeys(P).filter((z)=>typeof P[P[z]]!=="number"),O={};for(let z of Y)O[z]=P[z];return $.objectValues(O)},$.objectValues=(P)=>{return $.objectKeys(P).map(function(Y){return P[Y]})},$.objectKeys=typeof Object.keys==="function"?(P)=>Object.keys(P):(P)=>{let Y=[];for(let O in P)if(Object.prototype.hasOwnProperty.call(P,O))Y.push(O);return Y},$.find=(P,Y)=>{for(let O of P)if(Y(O))return O;return},$.isInteger=typeof Number.isInteger==="function"?(P)=>Number.isInteger(P):(P)=>typeof P==="number"&&Number.isFinite(P)&&Math.floor(P)===P;function K(P,Y=" | "){return P.map((O)=>typeof O==="string"?`'${O}'`:O).join(Y)}$.joinValues=K,$.jsonStringifyReplacer=(P,Y)=>{if(typeof Y==="bigint")return Y.toString();return Y}})(A6||(A6={}));var Zz;(function($){$.mergeShapes=(q,_)=>{return{...q,..._}}})(Zz||(Zz={}));var n$=A6.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),t8=($)=>{switch(typeof $){case"undefined":return n$.undefined;case"string":return n$.string;case"number":return Number.isNaN($)?n$.nan:n$.number;case"boolean":return n$.boolean;case"function":return n$.function;case"bigint":return n$.bigint;case"symbol":return n$.symbol;case"object":if(Array.isArray($))return n$.array;if($===null)return n$.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return n$.promise;if(typeof Map<"u"&&$ instanceof Map)return n$.map;if(typeof Set<"u"&&$ instanceof Set)return n$.set;if(typeof Date<"u"&&$ instanceof Date)return n$.date;return n$.object;default:return n$.unknown}};var c$=A6.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Cg=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class aq extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(_)=>{this.issues=[...this.issues,_]},this.addIssues=(_=[])=>{this.issues=[...this.issues,..._]};let q=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,q);else this.__proto__=q;this.name="ZodError",this.issues=$}format($){let q=$||function(P){return P.message},_={_errors:[]},K=(P)=>{for(let Y of P.issues)if(Y.code==="invalid_union")Y.unionErrors.map(K);else if(Y.code==="invalid_return_type")K(Y.returnTypeError);else if(Y.code==="invalid_arguments")K(Y.argumentsError);else if(Y.path.length===0)_._errors.push(q(Y));else{let O=_,z=0;while(z<Y.path.length){let T=Y.path[z];if(z!==Y.path.length-1)O[T]=O[T]||{_errors:[]};else O[T]=O[T]||{_errors:[]},O[T]._errors.push(q(Y));O=O[T],z++}}};return K(this),_}static assert($){if(!($ instanceof aq))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,A6.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(q)=>q.message){let q=Object.create(null),_=[];for(let K of this.issues)if(K.path.length>0){let P=K.path[0];q[P]=q[P]||[],q[P].push($(K))}else _.push($(K));return{formErrors:_,fieldErrors:q}}get formErrors(){return this.flatten()}}aq.create=($)=>{return new aq($)};var Eg=($,q)=>{let _;switch($.code){case c$.invalid_type:if($.received===n$.undefined)_="Required";else _=`Expected ${$.expected}, received ${$.received}`;break;case c$.invalid_literal:_=`Invalid literal value, expected ${JSON.stringify($.expected,A6.jsonStringifyReplacer)}`;break;case c$.unrecognized_keys:_=`Unrecognized key(s) in object: ${A6.joinValues($.keys,", ")}`;break;case c$.invalid_union:_="Invalid input";break;case c$.invalid_union_discriminator:_=`Invalid discriminator value. Expected ${A6.joinValues($.options)}`;break;case c$.invalid_enum_value:_=`Invalid enum value. Expected ${A6.joinValues($.options)}, received '${$.received}'`;break;case c$.invalid_arguments:_="Invalid function arguments";break;case c$.invalid_return_type:_="Invalid function return type";break;case c$.invalid_date:_="Invalid date";break;case c$.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(_=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")_=`${_} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)_=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)_=`Invalid input: must end with "${$.validation.endsWith}"`;else A6.assertNever($.validation);else if($.validation!=="regex")_=`Invalid ${$.validation}`;else _="Invalid";break;case c$.too_small:if($.type==="array")_=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")_=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")_=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")_=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")_=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else _="Invalid input";break;case c$.too_big:if($.type==="array")_=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")_=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")_=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")_=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")_=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else _="Invalid input";break;case c$.custom:_="Invalid input";break;case c$.invalid_intersection_types:_="Intersection results could not be merged";break;case c$.not_multiple_of:_=`Number must be a multiple of ${$.multipleOf}`;break;case c$.not_finite:_="Number must be finite";break;default:_=q.defaultError,A6.assertNever($)}return{message:_}},T_=Eg;var vk=T_;function hg($){vk=$}function T4(){return vk}var G7=($)=>{let{data:q,path:_,errorMaps:K,issueData:P}=$,Y=[..._,...P.path||[]],O={...P,path:Y};if(P.message!==void 0)return{...P,path:Y,message:P.message};let z="",T=K.filter((H)=>!!H).slice().reverse();for(let H of T)z=H(O,{data:q,defaultError:z}).message;return{...P,path:Y,message:z}},Rg=[];function t$($,q){let _=T4(),K=G7({issueData:q,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,_,_===T_?void 0:T_].filter((P)=>!!P)});$.common.issues.push(K)}class kq{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,q){let _=[];for(let K of q){if(K.status==="aborted")return q6;if(K.status==="dirty")$.dirty();_.push(K.value)}return{status:$.value,value:_}}static async mergeObjectAsync($,q){let _=[];for(let K of q){let P=await K.key,Y=await K.value;_.push({key:P,value:Y})}return kq.mergeObjectSync($,_)}static mergeObjectSync($,q){let _={};for(let K of q){let{key:P,value:Y}=K;if(P.status==="aborted")return q6;if(Y.status==="aborted")return q6;if(P.status==="dirty")$.dirty();if(Y.status==="dirty")$.dirty();if(P.value!=="__proto__"&&(typeof Y.value<"u"||K.alwaysSet))_[P.value]=Y.value}return{status:$.value,value:_}}}var q6=Object.freeze({status:"aborted"}),VK=($)=>({status:"dirty",value:$}),Rq=($)=>({status:"valid",value:$}),V5=($)=>$.status==="aborted",S5=($)=>$.status==="dirty",t_=($)=>$.status==="valid",w4=($)=>typeof Promise<"u"&&$ instanceof Promise;var s$;(function($){$.errToObj=(q)=>typeof q==="string"?{message:q}:q||{},$.toString=(q)=>typeof q==="string"?q:q?.message})(s$||(s$={}));class g8{constructor($,q,_,K){this._cachedPath=[],this.parent=$,this.data=q,this._path=_,this._key=K}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var zk=($,q)=>{if(t_(q))return{success:!0,data:q.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let _=new aq($.common.issues);return this._error=_,this._error}}}};function v6($){if(!$)return{};let{errorMap:q,invalid_type_error:_,required_error:K,description:P}=$;if(q&&(_||K))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(q)return{errorMap:q,description:P};return{errorMap:(O,z)=>{let{message:T}=$;if(O.code==="invalid_enum_value")return{message:T??z.defaultError};if(typeof z.data>"u")return{message:T??K??z.defaultError};if(O.code!=="invalid_type")return{message:z.defaultError};return{message:T??_??z.defaultError}},description:P}}class T6{get description(){return this._def.description}_getType($){return t8($.data)}_getOrReturnCtx($,q){return q||{common:$.parent.common,data:$.data,parsedType:t8($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new kq,ctx:{common:$.parent.common,data:$.data,parsedType:t8($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let q=this._parse($);if(w4(q))throw Error("Synchronous parse encountered promise.");return q}_parseAsync($){let q=this._parse($);return Promise.resolve(q)}parse($,q){let _=this.safeParse($,q);if(_.success)return _.data;throw _.error}safeParse($,q){let _={common:{issues:[],async:q?.async??!1,contextualErrorMap:q?.errorMap},path:q?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:t8($)},K=this._parseSync({data:$,path:_.path,parent:_});return zk(_,K)}"~validate"($){let q={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:t8($)};if(!this["~standard"].async)try{let _=this._parseSync({data:$,path:[],parent:q});return t_(_)?{value:_.value}:{issues:q.common.issues}}catch(_){if(_?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;q.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:q}).then((_)=>t_(_)?{value:_.value}:{issues:q.common.issues})}async parseAsync($,q){let _=await this.safeParseAsync($,q);if(_.success)return _.data;throw _.error}async safeParseAsync($,q){let _={common:{issues:[],contextualErrorMap:q?.errorMap,async:!0},path:q?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:t8($)},K=this._parse({data:$,path:_.path,parent:_}),P=await(w4(K)?K:Promise.resolve(K));return zk(_,P)}refine($,q){let _=(K)=>{if(typeof q==="string"||typeof q>"u")return{message:q};else if(typeof q==="function")return q(K);else return q};return this._refinement((K,P)=>{let Y=$(K),O=()=>P.addIssue({code:c$.custom,..._(K)});if(typeof Promise<"u"&&Y instanceof Promise)return Y.then((z)=>{if(!z)return O(),!1;else return!0});if(!Y)return O(),!1;else return!0})}refinement($,q){return this._refinement((_,K)=>{if(!$(_))return K.addIssue(typeof q==="function"?q(_,K):q),!1;else return!0})}_refinement($){return new y8({schema:this,typeName:m$.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(q)=>this["~validate"](q)}}optional(){return b8.create(this,this._def)}nullable(){return f_.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return L8.create(this)}promise(){return CK.create(this,this._def)}or($){return G4.create([this,$],this._def)}and($){return V4.create(this,$,this._def)}transform($){return new y8({...v6(this._def),schema:this,typeName:m$.ZodEffects,effect:{type:"transform",transform:$}})}default($){let q=typeof $==="function"?$:()=>$;return new C4({...v6(this._def),innerType:this,defaultValue:q,typeName:m$.ZodDefault})}brand(){return new N5({typeName:m$.ZodBranded,type:this,...v6(this._def)})}catch($){let q=typeof $==="function"?$:()=>$;return new E4({...v6(this._def),innerType:this,catchValue:q,typeName:m$.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return E7.create(this,$)}readonly(){return h4.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var Ig=/^c[^\s-]{8,}$/i,Dg=/^[0-9a-z]+$/,Lg=/^[0-9A-HJKMNP-TV-Z]{26}$/i,bg=/^[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}$/i,gg=/^[a-z0-9_-]{21}$/i,yg=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ug=/^[-+]?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)?)??$/,xg=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,pg="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Xz,cg=/^(?:(?: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])$/,mg=/^(?:(?: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])$/,dg=/^(([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]))$/,lg=/^(([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])$/,rg=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,og=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Jk="((\\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])))",ng=new RegExp(`^${Jk}$`);function Hk($){let q="[0-5]\\d";if($.precision)q=`${q}\\.\\d{${$.precision}}`;else if($.precision==null)q=`${q}(\\.\\d+)?`;let _=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${q})${_}`}function ig($){return new RegExp(`^${Hk($)}$`)}function Tk($){let q=`${Jk}T${Hk($)}`,_=[];if(_.push($.local?"Z?":"Z"),$.offset)_.push("([+-]\\d{2}:?\\d{2})");return q=`${q}(${_.join("|")})`,new RegExp(`^${q}$`)}function Bg($,q){if((q==="v4"||!q)&&cg.test($))return!0;if((q==="v6"||!q)&&dg.test($))return!0;return!1}function tg($,q){if(!yg.test($))return!1;try{let[_]=$.split(".");if(!_)return!1;let K=_.replace(/-/g,"+").replace(/_/g,"/").padEnd(_.length+(4-_.length%4)%4,"="),P=JSON.parse(atob(K));if(typeof P!=="object"||P===null)return!1;if("typ"in P&&P?.typ!=="JWT")return!1;if(!P.alg)return!1;if(q&&P.alg!==q)return!1;return!0}catch{return!1}}function Ug($,q){if((q==="v4"||!q)&&mg.test($))return!0;if((q==="v6"||!q)&&lg.test($))return!0;return!1}class D8 extends T6{_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==n$.string){let P=this._getOrReturnCtx($);return t$(P,{code:c$.invalid_type,expected:n$.string,received:P.parsedType}),q6}let _=new kq,K=void 0;for(let P of this._def.checks)if(P.kind==="min"){if($.data.length<P.value)K=this._getOrReturnCtx($,K),t$(K,{code:c$.too_small,minimum:P.value,type:"string",inclusive:!0,exact:!1,message:P.message}),_.dirty()}else if(P.kind==="max"){if($.data.length>P.value)K=this._getOrReturnCtx($,K),t$(K,{code:c$.too_big,maximum:P.value,type:"string",inclusive:!0,exact:!1,message:P.message}),_.dirty()}else if(P.kind==="length"){let Y=$.data.length>P.value,O=$.data.length<P.value;if(Y||O){if(K=this._getOrReturnCtx($,K),Y)t$(K,{code:c$.too_big,maximum:P.value,type:"string",inclusive:!0,exact:!0,message:P.message});else if(O)t$(K,{code:c$.too_small,minimum:P.value,type:"string",inclusive:!0,exact:!0,message:P.message});_.dirty()}}else if(P.kind==="email"){if(!xg.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"email",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="emoji"){if(!Xz)Xz=new RegExp(pg,"u");if(!Xz.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"emoji",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="uuid"){if(!bg.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"uuid",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="nanoid"){if(!gg.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"nanoid",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="cuid"){if(!Ig.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"cuid",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="cuid2"){if(!Dg.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"cuid2",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="ulid"){if(!Lg.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"ulid",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="url")try{new URL($.data)}catch{K=this._getOrReturnCtx($,K),t$(K,{validation:"url",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="regex"){if(P.regex.lastIndex=0,!P.regex.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"regex",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="trim")$.data=$.data.trim();else if(P.kind==="includes"){if(!$.data.includes(P.value,P.position))K=this._getOrReturnCtx($,K),t$(K,{code:c$.invalid_string,validation:{includes:P.value,position:P.position},message:P.message}),_.dirty()}else if(P.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(P.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(P.kind==="startsWith"){if(!$.data.startsWith(P.value))K=this._getOrReturnCtx($,K),t$(K,{code:c$.invalid_string,validation:{startsWith:P.value},message:P.message}),_.dirty()}else if(P.kind==="endsWith"){if(!$.data.endsWith(P.value))K=this._getOrReturnCtx($,K),t$(K,{code:c$.invalid_string,validation:{endsWith:P.value},message:P.message}),_.dirty()}else if(P.kind==="datetime"){if(!Tk(P).test($.data))K=this._getOrReturnCtx($,K),t$(K,{code:c$.invalid_string,validation:"datetime",message:P.message}),_.dirty()}else if(P.kind==="date"){if(!ng.test($.data))K=this._getOrReturnCtx($,K),t$(K,{code:c$.invalid_string,validation:"date",message:P.message}),_.dirty()}else if(P.kind==="time"){if(!ig(P).test($.data))K=this._getOrReturnCtx($,K),t$(K,{code:c$.invalid_string,validation:"time",message:P.message}),_.dirty()}else if(P.kind==="duration"){if(!ug.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"duration",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="ip"){if(!Bg($.data,P.version))K=this._getOrReturnCtx($,K),t$(K,{validation:"ip",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="jwt"){if(!tg($.data,P.alg))K=this._getOrReturnCtx($,K),t$(K,{validation:"jwt",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="cidr"){if(!Ug($.data,P.version))K=this._getOrReturnCtx($,K),t$(K,{validation:"cidr",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="base64"){if(!rg.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"base64",code:c$.invalid_string,message:P.message}),_.dirty()}else if(P.kind==="base64url"){if(!og.test($.data))K=this._getOrReturnCtx($,K),t$(K,{validation:"base64url",code:c$.invalid_string,message:P.message}),_.dirty()}else A6.assertNever(P);return{status:_.value,value:$.data}}_regex($,q,_){return this.refinement((K)=>$.test(K),{validation:q,code:c$.invalid_string,...s$.errToObj(_)})}_addCheck($){return new D8({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...s$.errToObj($)})}url($){return this._addCheck({kind:"url",...s$.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...s$.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...s$.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...s$.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...s$.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...s$.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...s$.errToObj($)})}base64($){return this._addCheck({kind:"base64",...s$.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...s$.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...s$.errToObj($)})}ip($){return this._addCheck({kind:"ip",...s$.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...s$.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...s$.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...s$.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...s$.errToObj($)})}regex($,q){return this._addCheck({kind:"regex",regex:$,...s$.errToObj(q)})}includes($,q){return this._addCheck({kind:"includes",value:$,position:q?.position,...s$.errToObj(q?.message)})}startsWith($,q){return this._addCheck({kind:"startsWith",value:$,...s$.errToObj(q)})}endsWith($,q){return this._addCheck({kind:"endsWith",value:$,...s$.errToObj(q)})}min($,q){return this._addCheck({kind:"min",value:$,...s$.errToObj(q)})}max($,q){return this._addCheck({kind:"max",value:$,...s$.errToObj(q)})}length($,q){return this._addCheck({kind:"length",value:$,...s$.errToObj(q)})}nonempty($){return this.min(1,s$.errToObj($))}trim(){return new D8({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new D8({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new D8({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $}get maxLength(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $}}D8.create=($)=>{return new D8({checks:[],typeName:m$.ZodString,coerce:$?.coerce??!1,...v6($)})};function Fg($,q){let _=($.toString().split(".")[1]||"").length,K=(q.toString().split(".")[1]||"").length,P=_>K?_:K,Y=Number.parseInt($.toFixed(P).replace(".","")),O=Number.parseInt(q.toFixed(P).replace(".",""));return Y%O/10**P}class F_ extends T6{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==n$.number){let P=this._getOrReturnCtx($);return t$(P,{code:c$.invalid_type,expected:n$.number,received:P.parsedType}),q6}let _=void 0,K=new kq;for(let P of this._def.checks)if(P.kind==="int"){if(!A6.isInteger($.data))_=this._getOrReturnCtx($,_),t$(_,{code:c$.invalid_type,expected:"integer",received:"float",message:P.message}),K.dirty()}else if(P.kind==="min"){if(P.inclusive?$.data<P.value:$.data<=P.value)_=this._getOrReturnCtx($,_),t$(_,{code:c$.too_small,minimum:P.value,type:"number",inclusive:P.inclusive,exact:!1,message:P.message}),K.dirty()}else if(P.kind==="max"){if(P.inclusive?$.data>P.value:$.data>=P.value)_=this._getOrReturnCtx($,_),t$(_,{code:c$.too_big,maximum:P.value,type:"number",inclusive:P.inclusive,exact:!1,message:P.message}),K.dirty()}else if(P.kind==="multipleOf"){if(Fg($.data,P.value)!==0)_=this._getOrReturnCtx($,_),t$(_,{code:c$.not_multiple_of,multipleOf:P.value,message:P.message}),K.dirty()}else if(P.kind==="finite"){if(!Number.isFinite($.data))_=this._getOrReturnCtx($,_),t$(_,{code:c$.not_finite,message:P.message}),K.dirty()}else A6.assertNever(P);return{status:K.value,value:$.data}}gte($,q){return this.setLimit("min",$,!0,s$.toString(q))}gt($,q){return this.setLimit("min",$,!1,s$.toString(q))}lte($,q){return this.setLimit("max",$,!0,s$.toString(q))}lt($,q){return this.setLimit("max",$,!1,s$.toString(q))}setLimit($,q,_,K){return new F_({...this._def,checks:[...this._def.checks,{kind:$,value:q,inclusive:_,message:s$.toString(K)}]})}_addCheck($){return new F_({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:s$.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:s$.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:s$.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:s$.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:s$.toString($)})}multipleOf($,q){return this._addCheck({kind:"multipleOf",value:$,message:s$.toString(q)})}finite($){return this._addCheck({kind:"finite",message:s$.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:s$.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:s$.toString($)})}get minValue(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $}get maxValue(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&A6.isInteger($.value))}get isFinite(){let $=null,q=null;for(let _ of this._def.checks)if(_.kind==="finite"||_.kind==="int"||_.kind==="multipleOf")return!0;else if(_.kind==="min"){if(q===null||_.value>q)q=_.value}else if(_.kind==="max"){if($===null||_.value<$)$=_.value}return Number.isFinite(q)&&Number.isFinite($)}}F_.create=($)=>{return new F_({checks:[],typeName:m$.ZodNumber,coerce:$?.coerce||!1,...v6($)})};class Q_ extends T6{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==n$.bigint)return this._getInvalidInput($);let _=void 0,K=new kq;for(let P of this._def.checks)if(P.kind==="min"){if(P.inclusive?$.data<P.value:$.data<=P.value)_=this._getOrReturnCtx($,_),t$(_,{code:c$.too_small,type:"bigint",minimum:P.value,inclusive:P.inclusive,message:P.message}),K.dirty()}else if(P.kind==="max"){if(P.inclusive?$.data>P.value:$.data>=P.value)_=this._getOrReturnCtx($,_),t$(_,{code:c$.too_big,type:"bigint",maximum:P.value,inclusive:P.inclusive,message:P.message}),K.dirty()}else if(P.kind==="multipleOf"){if($.data%P.value!==BigInt(0))_=this._getOrReturnCtx($,_),t$(_,{code:c$.not_multiple_of,multipleOf:P.value,message:P.message}),K.dirty()}else A6.assertNever(P);return{status:K.value,value:$.data}}_getInvalidInput($){let q=this._getOrReturnCtx($);return t$(q,{code:c$.invalid_type,expected:n$.bigint,received:q.parsedType}),q6}gte($,q){return this.setLimit("min",$,!0,s$.toString(q))}gt($,q){return this.setLimit("min",$,!1,s$.toString(q))}lte($,q){return this.setLimit("max",$,!0,s$.toString(q))}lt($,q){return this.setLimit("max",$,!1,s$.toString(q))}setLimit($,q,_,K){return new Q_({...this._def,checks:[...this._def.checks,{kind:$,value:q,inclusive:_,message:s$.toString(K)}]})}_addCheck($){return new Q_({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:s$.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:s$.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:s$.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:s$.toString($)})}multipleOf($,q){return this._addCheck({kind:"multipleOf",value:$,message:s$.toString(q)})}get minValue(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $}get maxValue(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $}}Q_.create=($)=>{return new Q_({checks:[],typeName:m$.ZodBigInt,coerce:$?.coerce??!1,...v6($)})};class X4 extends T6{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==n$.boolean){let _=this._getOrReturnCtx($);return t$(_,{code:c$.invalid_type,expected:n$.boolean,received:_.parsedType}),q6}return Rq($.data)}}X4.create=($)=>{return new X4({typeName:m$.ZodBoolean,coerce:$?.coerce||!1,...v6($)})};class SK extends T6{_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==n$.date){let P=this._getOrReturnCtx($);return t$(P,{code:c$.invalid_type,expected:n$.date,received:P.parsedType}),q6}if(Number.isNaN($.data.getTime())){let P=this._getOrReturnCtx($);return t$(P,{code:c$.invalid_date}),q6}let _=new kq,K=void 0;for(let P of this._def.checks)if(P.kind==="min"){if($.data.getTime()<P.value)K=this._getOrReturnCtx($,K),t$(K,{code:c$.too_small,message:P.message,inclusive:!0,exact:!1,minimum:P.value,type:"date"}),_.dirty()}else if(P.kind==="max"){if($.data.getTime()>P.value)K=this._getOrReturnCtx($,K),t$(K,{code:c$.too_big,message:P.message,inclusive:!0,exact:!1,maximum:P.value,type:"date"}),_.dirty()}else A6.assertNever(P);return{status:_.value,value:new Date($.data.getTime())}}_addCheck($){return new SK({...this._def,checks:[...this._def.checks,$]})}min($,q){return this._addCheck({kind:"min",value:$.getTime(),message:s$.toString(q)})}max($,q){return this._addCheck({kind:"max",value:$.getTime(),message:s$.toString(q)})}get minDate(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $!=null?new Date($):null}}SK.create=($)=>{return new SK({checks:[],coerce:$?.coerce||!1,typeName:m$.ZodDate,...v6($)})};class V7 extends T6{_parse($){if(this._getType($)!==n$.symbol){let _=this._getOrReturnCtx($);return t$(_,{code:c$.invalid_type,expected:n$.symbol,received:_.parsedType}),q6}return Rq($.data)}}V7.create=($)=>{return new V7({typeName:m$.ZodSymbol,...v6($)})};class A4 extends T6{_parse($){if(this._getType($)!==n$.undefined){let _=this._getOrReturnCtx($);return t$(_,{code:c$.invalid_type,expected:n$.undefined,received:_.parsedType}),q6}return Rq($.data)}}A4.create=($)=>{return new A4({typeName:m$.ZodUndefined,...v6($)})};class k4 extends T6{_parse($){if(this._getType($)!==n$.null){let _=this._getOrReturnCtx($);return t$(_,{code:c$.invalid_type,expected:n$.null,received:_.parsedType}),q6}return Rq($.data)}}k4.create=($)=>{return new k4({typeName:m$.ZodNull,...v6($)})};class MK extends T6{constructor(){super(...arguments);this._any=!0}_parse($){return Rq($.data)}}MK.create=($)=>{return new MK({typeName:m$.ZodAny,...v6($)})};class U_ extends T6{constructor(){super(...arguments);this._unknown=!0}_parse($){return Rq($.data)}}U_.create=($)=>{return new U_({typeName:m$.ZodUnknown,...v6($)})};class U8 extends T6{_parse($){let q=this._getOrReturnCtx($);return t$(q,{code:c$.invalid_type,expected:n$.never,received:q.parsedType}),q6}}U8.create=($)=>{return new U8({typeName:m$.ZodNever,...v6($)})};class S7 extends T6{_parse($){if(this._getType($)!==n$.undefined){let _=this._getOrReturnCtx($);return t$(_,{code:c$.invalid_type,expected:n$.void,received:_.parsedType}),q6}return Rq($.data)}}S7.create=($)=>{return new S7({typeName:m$.ZodVoid,...v6($)})};class L8 extends T6{_parse($){let{ctx:q,status:_}=this._processInputParams($),K=this._def;if(q.parsedType!==n$.array)return t$(q,{code:c$.invalid_type,expected:n$.array,received:q.parsedType}),q6;if(K.exactLength!==null){let Y=q.data.length>K.exactLength.value,O=q.data.length<K.exactLength.value;if(Y||O)t$(q,{code:Y?c$.too_big:c$.too_small,minimum:O?K.exactLength.value:void 0,maximum:Y?K.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:K.exactLength.message}),_.dirty()}if(K.minLength!==null){if(q.data.length<K.minLength.value)t$(q,{code:c$.too_small,minimum:K.minLength.value,type:"array",inclusive:!0,exact:!1,message:K.minLength.message}),_.dirty()}if(K.maxLength!==null){if(q.data.length>K.maxLength.value)t$(q,{code:c$.too_big,maximum:K.maxLength.value,type:"array",inclusive:!0,exact:!1,message:K.maxLength.message}),_.dirty()}if(q.common.async)return Promise.all([...q.data].map((Y,O)=>{return K.type._parseAsync(new g8(q,Y,q.path,O))})).then((Y)=>{return kq.mergeArray(_,Y)});let P=[...q.data].map((Y,O)=>{return K.type._parseSync(new g8(q,Y,q.path,O))});return kq.mergeArray(_,P)}get element(){return this._def.type}min($,q){return new L8({...this._def,minLength:{value:$,message:s$.toString(q)}})}max($,q){return new L8({...this._def,maxLength:{value:$,message:s$.toString(q)}})}length($,q){return new L8({...this._def,exactLength:{value:$,message:s$.toString(q)}})}nonempty($){return this.min(1,$)}}L8.create=($,q)=>{return new L8({type:$,minLength:null,maxLength:null,exactLength:null,typeName:m$.ZodArray,...v6(q)})};function f4($){if($ instanceof u6){let q={};for(let _ in $.shape){let K=$.shape[_];q[_]=b8.create(f4(K))}return new u6({...$._def,shape:()=>q})}else if($ instanceof L8)return new L8({...$._def,type:f4($.element)});else if($ instanceof b8)return b8.create(f4($.unwrap()));else if($ instanceof f_)return f_.create(f4($.unwrap()));else if($ instanceof F8)return F8.create($.items.map((q)=>f4(q)));else return $}class u6 extends T6{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),q=A6.objectKeys($);return this._cached={shape:$,keys:q},this._cached}_parse($){if(this._getType($)!==n$.object){let T=this._getOrReturnCtx($);return t$(T,{code:c$.invalid_type,expected:n$.object,received:T.parsedType}),q6}let{status:_,ctx:K}=this._processInputParams($),{shape:P,keys:Y}=this._getCached(),O=[];if(!(this._def.catchall instanceof U8&&this._def.unknownKeys==="strip")){for(let T in K.data)if(!Y.includes(T))O.push(T)}let z=[];for(let T of Y){let H=P[T],f=K.data[T];z.push({key:{status:"valid",value:T},value:H._parse(new g8(K,f,K.path,T)),alwaysSet:T in K.data})}if(this._def.catchall instanceof U8){let T=this._def.unknownKeys;if(T==="passthrough")for(let H of O)z.push({key:{status:"valid",value:H},value:{status:"valid",value:K.data[H]}});else if(T==="strict"){if(O.length>0)t$(K,{code:c$.unrecognized_keys,keys:O}),_.dirty()}else if(T==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let T=this._def.catchall;for(let H of O){let f=K.data[H];z.push({key:{status:"valid",value:H},value:T._parse(new g8(K,f,K.path,H)),alwaysSet:H in K.data})}}if(K.common.async)return Promise.resolve().then(async()=>{let T=[];for(let H of z){let f=await H.key,w=await H.value;T.push({key:f,value:w,alwaysSet:H.alwaysSet})}return T}).then((T)=>{return kq.mergeObjectSync(_,T)});else return kq.mergeObjectSync(_,z)}get shape(){return this._def.shape()}strict($){return s$.errToObj,new u6({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(q,_)=>{let K=this._def.errorMap?.(q,_).message??_.defaultError;if(q.code==="unrecognized_keys")return{message:s$.errToObj($).message??K};return{message:K}}}:{}})}strip(){return new u6({...this._def,unknownKeys:"strip"})}passthrough(){return new u6({...this._def,unknownKeys:"passthrough"})}extend($){return new u6({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new u6({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:m$.ZodObject})}setKey($,q){return this.augment({[$]:q})}catchall($){return new u6({...this._def,catchall:$})}pick($){let q={};for(let _ of A6.objectKeys($))if($[_]&&this.shape[_])q[_]=this.shape[_];return new u6({...this._def,shape:()=>q})}omit($){let q={};for(let _ of A6.objectKeys(this.shape))if(!$[_])q[_]=this.shape[_];return new u6({...this._def,shape:()=>q})}deepPartial(){return f4(this)}partial($){let q={};for(let _ of A6.objectKeys(this.shape)){let K=this.shape[_];if($&&!$[_])q[_]=K;else q[_]=K.optional()}return new u6({...this._def,shape:()=>q})}required($){let q={};for(let _ of A6.objectKeys(this.shape))if($&&!$[_])q[_]=this.shape[_];else{let P=this.shape[_];while(P instanceof b8)P=P._def.innerType;q[_]=P}return new u6({...this._def,shape:()=>q})}keyof(){return wk(A6.objectKeys(this.shape))}}u6.create=($,q)=>{return new u6({shape:()=>$,unknownKeys:"strip",catchall:U8.create(),typeName:m$.ZodObject,...v6(q)})};u6.strictCreate=($,q)=>{return new u6({shape:()=>$,unknownKeys:"strict",catchall:U8.create(),typeName:m$.ZodObject,...v6(q)})};u6.lazycreate=($,q)=>{return new u6({shape:$,unknownKeys:"strip",catchall:U8.create(),typeName:m$.ZodObject,...v6(q)})};class G4 extends T6{_parse($){let{ctx:q}=this._processInputParams($),_=this._def.options;function K(P){for(let O of P)if(O.result.status==="valid")return O.result;for(let O of P)if(O.result.status==="dirty")return q.common.issues.push(...O.ctx.common.issues),O.result;let Y=P.map((O)=>new aq(O.ctx.common.issues));return t$(q,{code:c$.invalid_union,unionErrors:Y}),q6}if(q.common.async)return Promise.all(_.map(async(P)=>{let Y={...q,common:{...q.common,issues:[]},parent:null};return{result:await P._parseAsync({data:q.data,path:q.path,parent:Y}),ctx:Y}})).then(K);else{let P=void 0,Y=[];for(let z of _){let T={...q,common:{...q.common,issues:[]},parent:null},H=z._parseSync({data:q.data,path:q.path,parent:T});if(H.status==="valid")return H;else if(H.status==="dirty"&&!P)P={result:H,ctx:T};if(T.common.issues.length)Y.push(T.common.issues)}if(P)return q.common.issues.push(...P.ctx.common.issues),P.result;let O=Y.map((z)=>new aq(z));return t$(q,{code:c$.invalid_union,unionErrors:O}),q6}}get options(){return this._def.options}}G4.create=($,q)=>{return new G4({options:$,typeName:m$.ZodUnion,...v6(q)})};var w_=($)=>{if($ instanceof S4)return w_($.schema);else if($ instanceof y8)return w_($.innerType());else if($ instanceof M4)return[$.value];else if($ instanceof a_)return $.options;else if($ instanceof N4)return A6.objectValues($.enum);else if($ instanceof C4)return w_($._def.innerType);else if($ instanceof A4)return[void 0];else if($ instanceof k4)return[null];else if($ instanceof b8)return[void 0,...w_($.unwrap())];else if($ instanceof f_)return[null,...w_($.unwrap())];else if($ instanceof N5)return w_($.unwrap());else if($ instanceof h4)return w_($.unwrap());else if($ instanceof E4)return w_($._def.innerType);else return[]};class M5 extends T6{_parse($){let{ctx:q}=this._processInputParams($);if(q.parsedType!==n$.object)return t$(q,{code:c$.invalid_type,expected:n$.object,received:q.parsedType}),q6;let _=this.discriminator,K=q.data[_],P=this.optionsMap.get(K);if(!P)return t$(q,{code:c$.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[_]}),q6;if(q.common.async)return P._parseAsync({data:q.data,path:q.path,parent:q});else return P._parseSync({data:q.data,path:q.path,parent:q})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,q,_){let K=new Map;for(let P of q){let Y=w_(P.shape[$]);if(!Y.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let O of Y){if(K.has(O))throw Error(`Discriminator property ${String($)} has duplicate value ${String(O)}`);K.set(O,P)}}return new M5({typeName:m$.ZodDiscriminatedUnion,discriminator:$,options:q,optionsMap:K,...v6(_)})}}function Az($,q){let _=t8($),K=t8(q);if($===q)return{valid:!0,data:$};else if(_===n$.object&&K===n$.object){let P=A6.objectKeys(q),Y=A6.objectKeys($).filter((z)=>P.indexOf(z)!==-1),O={...$,...q};for(let z of Y){let T=Az($[z],q[z]);if(!T.valid)return{valid:!1};O[z]=T.data}return{valid:!0,data:O}}else if(_===n$.array&&K===n$.array){if($.length!==q.length)return{valid:!1};let P=[];for(let Y=0;Y<$.length;Y++){let O=$[Y],z=q[Y],T=Az(O,z);if(!T.valid)return{valid:!1};P.push(T.data)}return{valid:!0,data:P}}else if(_===n$.date&&K===n$.date&&+$===+q)return{valid:!0,data:$};else return{valid:!1}}class V4 extends T6{_parse($){let{status:q,ctx:_}=this._processInputParams($),K=(P,Y)=>{if(V5(P)||V5(Y))return q6;let O=Az(P.value,Y.value);if(!O.valid)return t$(_,{code:c$.invalid_intersection_types}),q6;if(S5(P)||S5(Y))q.dirty();return{status:q.value,value:O.data}};if(_.common.async)return Promise.all([this._def.left._parseAsync({data:_.data,path:_.path,parent:_}),this._def.right._parseAsync({data:_.data,path:_.path,parent:_})]).then(([P,Y])=>K(P,Y));else return K(this._def.left._parseSync({data:_.data,path:_.path,parent:_}),this._def.right._parseSync({data:_.data,path:_.path,parent:_}))}}V4.create=($,q,_)=>{return new V4({left:$,right:q,typeName:m$.ZodIntersection,...v6(_)})};class F8 extends T6{_parse($){let{status:q,ctx:_}=this._processInputParams($);if(_.parsedType!==n$.array)return t$(_,{code:c$.invalid_type,expected:n$.array,received:_.parsedType}),q6;if(_.data.length<this._def.items.length)return t$(_,{code:c$.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),q6;if(!this._def.rest&&_.data.length>this._def.items.length)t$(_,{code:c$.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),q.dirty();let P=[..._.data].map((Y,O)=>{let z=this._def.items[O]||this._def.rest;if(!z)return null;return z._parse(new g8(_,Y,_.path,O))}).filter((Y)=>!!Y);if(_.common.async)return Promise.all(P).then((Y)=>{return kq.mergeArray(q,Y)});else return kq.mergeArray(q,P)}get items(){return this._def.items}rest($){return new F8({...this._def,rest:$})}}F8.create=($,q)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new F8({items:$,typeName:m$.ZodTuple,rest:null,...v6(q)})};class M7 extends T6{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:q,ctx:_}=this._processInputParams($);if(_.parsedType!==n$.object)return t$(_,{code:c$.invalid_type,expected:n$.object,received:_.parsedType}),q6;let K=[],P=this._def.keyType,Y=this._def.valueType;for(let O in _.data)K.push({key:P._parse(new g8(_,O,_.path,O)),value:Y._parse(new g8(_,_.data[O],_.path,O)),alwaysSet:O in _.data});if(_.common.async)return kq.mergeObjectAsync(q,K);else return kq.mergeObjectSync(q,K)}get element(){return this._def.valueType}static create($,q,_){if(q instanceof T6)return new M7({keyType:$,valueType:q,typeName:m$.ZodRecord,...v6(_)});return new M7({keyType:D8.create(),valueType:$,typeName:m$.ZodRecord,...v6(q)})}}class N7 extends T6{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:q,ctx:_}=this._processInputParams($);if(_.parsedType!==n$.map)return t$(_,{code:c$.invalid_type,expected:n$.map,received:_.parsedType}),q6;let K=this._def.keyType,P=this._def.valueType,Y=[..._.data.entries()].map(([O,z],T)=>{return{key:K._parse(new g8(_,O,_.path,[T,"key"])),value:P._parse(new g8(_,z,_.path,[T,"value"]))}});if(_.common.async){let O=new Map;return Promise.resolve().then(async()=>{for(let z of Y){let T=await z.key,H=await z.value;if(T.status==="aborted"||H.status==="aborted")return q6;if(T.status==="dirty"||H.status==="dirty")q.dirty();O.set(T.value,H.value)}return{status:q.value,value:O}})}else{let O=new Map;for(let z of Y){let{key:T,value:H}=z;if(T.status==="aborted"||H.status==="aborted")return q6;if(T.status==="dirty"||H.status==="dirty")q.dirty();O.set(T.value,H.value)}return{status:q.value,value:O}}}}N7.create=($,q,_)=>{return new N7({valueType:q,keyType:$,typeName:m$.ZodMap,...v6(_)})};class NK extends T6{_parse($){let{status:q,ctx:_}=this._processInputParams($);if(_.parsedType!==n$.set)return t$(_,{code:c$.invalid_type,expected:n$.set,received:_.parsedType}),q6;let K=this._def;if(K.minSize!==null){if(_.data.size<K.minSize.value)t$(_,{code:c$.too_small,minimum:K.minSize.value,type:"set",inclusive:!0,exact:!1,message:K.minSize.message}),q.dirty()}if(K.maxSize!==null){if(_.data.size>K.maxSize.value)t$(_,{code:c$.too_big,maximum:K.maxSize.value,type:"set",inclusive:!0,exact:!1,message:K.maxSize.message}),q.dirty()}let P=this._def.valueType;function Y(z){let T=new Set;for(let H of z){if(H.status==="aborted")return q6;if(H.status==="dirty")q.dirty();T.add(H.value)}return{status:q.value,value:T}}let O=[..._.data.values()].map((z,T)=>P._parse(new g8(_,z,_.path,T)));if(_.common.async)return Promise.all(O).then((z)=>Y(z));else return Y(O)}min($,q){return new NK({...this._def,minSize:{value:$,message:s$.toString(q)}})}max($,q){return new NK({...this._def,maxSize:{value:$,message:s$.toString(q)}})}size($,q){return this.min($,q).max($,q)}nonempty($){return this.min(1,$)}}NK.create=($,q)=>{return new NK({valueType:$,minSize:null,maxSize:null,typeName:m$.ZodSet,...v6(q)})};class Z4 extends T6{constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:q}=this._processInputParams($);if(q.parsedType!==n$.function)return t$(q,{code:c$.invalid_type,expected:n$.function,received:q.parsedType}),q6;function _(O,z){return G7({data:O,path:q.path,errorMaps:[q.common.contextualErrorMap,q.schemaErrorMap,T4(),T_].filter((T)=>!!T),issueData:{code:c$.invalid_arguments,argumentsError:z}})}function K(O,z){return G7({data:O,path:q.path,errorMaps:[q.common.contextualErrorMap,q.schemaErrorMap,T4(),T_].filter((T)=>!!T),issueData:{code:c$.invalid_return_type,returnTypeError:z}})}let P={errorMap:q.common.contextualErrorMap},Y=q.data;if(this._def.returns instanceof CK){let O=this;return Rq(async function(...z){let T=new aq([]),H=await O._def.args.parseAsync(z,P).catch((k)=>{throw T.addIssue(_(z,k)),T}),f=await Reflect.apply(Y,this,H);return await O._def.returns._def.type.parseAsync(f,P).catch((k)=>{throw T.addIssue(K(f,k)),T})})}else{let O=this;return Rq(function(...z){let T=O._def.args.safeParse(z,P);if(!T.success)throw new aq([_(z,T.error)]);let H=Reflect.apply(Y,this,T.data),f=O._def.returns.safeParse(H,P);if(!f.success)throw new aq([K(H,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new Z4({...this._def,args:F8.create($).rest(U_.create())})}returns($){return new Z4({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,q,_){return new Z4({args:$?$:F8.create([]).rest(U_.create()),returns:q||U_.create(),typeName:m$.ZodFunction,...v6(_)})}}class S4 extends T6{get schema(){return this._def.getter()}_parse($){let{ctx:q}=this._processInputParams($);return this._def.getter()._parse({data:q.data,path:q.path,parent:q})}}S4.create=($,q)=>{return new S4({getter:$,typeName:m$.ZodLazy,...v6(q)})};class M4 extends T6{_parse($){if($.data!==this._def.value){let q=this._getOrReturnCtx($);return t$(q,{received:q.data,code:c$.invalid_literal,expected:this._def.value}),q6}return{status:"valid",value:$.data}}get value(){return this._def.value}}M4.create=($,q)=>{return new M4({value:$,typeName:m$.ZodLiteral,...v6(q)})};function wk($,q){return new a_({values:$,typeName:m$.ZodEnum,...v6(q)})}class a_ extends T6{_parse($){if(typeof $.data!=="string"){let q=this._getOrReturnCtx($),_=this._def.values;return t$(q,{expected:A6.joinValues(_),received:q.parsedType,code:c$.invalid_type}),q6}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let q=this._getOrReturnCtx($),_=this._def.values;return t$(q,{received:q.data,code:c$.invalid_enum_value,options:_}),q6}return Rq($.data)}get options(){return this._def.values}get enum(){let $={};for(let q of this._def.values)$[q]=q;return $}get Values(){let $={};for(let q of this._def.values)$[q]=q;return $}get Enum(){let $={};for(let q of this._def.values)$[q]=q;return $}extract($,q=this._def){return a_.create($,{...this._def,...q})}exclude($,q=this._def){return a_.create(this.options.filter((_)=>!$.includes(_)),{...this._def,...q})}}a_.create=wk;class N4 extends T6{_parse($){let q=A6.getValidEnumValues(this._def.values),_=this._getOrReturnCtx($);if(_.parsedType!==n$.string&&_.parsedType!==n$.number){let K=A6.objectValues(q);return t$(_,{expected:A6.joinValues(K),received:_.parsedType,code:c$.invalid_type}),q6}if(!this._cache)this._cache=new Set(A6.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let K=A6.objectValues(q);return t$(_,{received:_.data,code:c$.invalid_enum_value,options:K}),q6}return Rq($.data)}get enum(){return this._def.values}}N4.create=($,q)=>{return new N4({values:$,typeName:m$.ZodNativeEnum,...v6(q)})};class CK extends T6{unwrap(){return this._def.type}_parse($){let{ctx:q}=this._processInputParams($);if(q.parsedType!==n$.promise&&q.common.async===!1)return t$(q,{code:c$.invalid_type,expected:n$.promise,received:q.parsedType}),q6;let _=q.parsedType===n$.promise?q.data:Promise.resolve(q.data);return Rq(_.then((K)=>{return this._def.type.parseAsync(K,{path:q.path,errorMap:q.common.contextualErrorMap})}))}}CK.create=($,q)=>{return new CK({type:$,typeName:m$.ZodPromise,...v6(q)})};class y8 extends T6{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===m$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:q,ctx:_}=this._processInputParams($),K=this._def.effect||null,P={addIssue:(Y)=>{if(t$(_,Y),Y.fatal)q.abort();else q.dirty()},get path(){return _.path}};if(P.addIssue=P.addIssue.bind(P),K.type==="preprocess"){let Y=K.transform(_.data,P);if(_.common.async)return Promise.resolve(Y).then(async(O)=>{if(q.value==="aborted")return q6;let z=await this._def.schema._parseAsync({data:O,path:_.path,parent:_});if(z.status==="aborted")return q6;if(z.status==="dirty")return VK(z.value);if(q.value==="dirty")return VK(z.value);return z});else{if(q.value==="aborted")return q6;let O=this._def.schema._parseSync({data:Y,path:_.path,parent:_});if(O.status==="aborted")return q6;if(O.status==="dirty")return VK(O.value);if(q.value==="dirty")return VK(O.value);return O}}if(K.type==="refinement"){let Y=(O)=>{let z=K.refinement(O,P);if(_.common.async)return Promise.resolve(z);if(z instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return O};if(_.common.async===!1){let O=this._def.schema._parseSync({data:_.data,path:_.path,parent:_});if(O.status==="aborted")return q6;if(O.status==="dirty")q.dirty();return Y(O.value),{status:q.value,value:O.value}}else return this._def.schema._parseAsync({data:_.data,path:_.path,parent:_}).then((O)=>{if(O.status==="aborted")return q6;if(O.status==="dirty")q.dirty();return Y(O.value).then(()=>{return{status:q.value,value:O.value}})})}if(K.type==="transform")if(_.common.async===!1){let Y=this._def.schema._parseSync({data:_.data,path:_.path,parent:_});if(!t_(Y))return q6;let O=K.transform(Y.value,P);if(O instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:q.value,value:O}}else return this._def.schema._parseAsync({data:_.data,path:_.path,parent:_}).then((Y)=>{if(!t_(Y))return q6;return Promise.resolve(K.transform(Y.value,P)).then((O)=>({status:q.value,value:O}))});A6.assertNever(K)}}y8.create=($,q,_)=>{return new y8({schema:$,typeName:m$.ZodEffects,effect:q,...v6(_)})};y8.createWithPreprocess=($,q,_)=>{return new y8({schema:q,effect:{type:"preprocess",transform:$},typeName:m$.ZodEffects,...v6(_)})};class b8 extends T6{_parse($){if(this._getType($)===n$.undefined)return Rq(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}b8.create=($,q)=>{return new b8({innerType:$,typeName:m$.ZodOptional,...v6(q)})};class f_ extends T6{_parse($){if(this._getType($)===n$.null)return Rq(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}f_.create=($,q)=>{return new f_({innerType:$,typeName:m$.ZodNullable,...v6(q)})};class C4 extends T6{_parse($){let{ctx:q}=this._processInputParams($),_=q.data;if(q.parsedType===n$.undefined)_=this._def.defaultValue();return this._def.innerType._parse({data:_,path:q.path,parent:q})}removeDefault(){return this._def.innerType}}C4.create=($,q)=>{return new C4({innerType:$,typeName:m$.ZodDefault,defaultValue:typeof q.default==="function"?q.default:()=>q.default,...v6(q)})};class E4 extends T6{_parse($){let{ctx:q}=this._processInputParams($),_={...q,common:{...q.common,issues:[]}},K=this._def.innerType._parse({data:_.data,path:_.path,parent:{..._}});if(w4(K))return K.then((P)=>{return{status:"valid",value:P.status==="valid"?P.value:this._def.catchValue({get error(){return new aq(_.common.issues)},input:_.data})}});else return{status:"valid",value:K.status==="valid"?K.value:this._def.catchValue({get error(){return new aq(_.common.issues)},input:_.data})}}removeCatch(){return this._def.innerType}}E4.create=($,q)=>{return new E4({innerType:$,typeName:m$.ZodCatch,catchValue:typeof q.catch==="function"?q.catch:()=>q.catch,...v6(q)})};class C7 extends T6{_parse($){if(this._getType($)!==n$.nan){let _=this._getOrReturnCtx($);return t$(_,{code:c$.invalid_type,expected:n$.nan,received:_.parsedType}),q6}return{status:"valid",value:$.data}}}C7.create=($)=>{return new C7({typeName:m$.ZodNaN,...v6($)})};var Qg=Symbol("zod_brand");class N5 extends T6{_parse($){let{ctx:q}=this._processInputParams($),_=q.data;return this._def.type._parse({data:_,path:q.path,parent:q})}unwrap(){return this._def.type}}class E7 extends T6{_parse($){let{status:q,ctx:_}=this._processInputParams($);if(_.common.async)return(async()=>{let P=await this._def.in._parseAsync({data:_.data,path:_.path,parent:_});if(P.status==="aborted")return q6;if(P.status==="dirty")return q.dirty(),VK(P.value);else return this._def.out._parseAsync({data:P.value,path:_.path,parent:_})})();else{let K=this._def.in._parseSync({data:_.data,path:_.path,parent:_});if(K.status==="aborted")return q6;if(K.status==="dirty")return q.dirty(),{status:"dirty",value:K.value};else return this._def.out._parseSync({data:K.value,path:_.path,parent:_})}}static create($,q){return new E7({in:$,out:q,typeName:m$.ZodPipeline})}}class h4 extends T6{_parse($){let q=this._def.innerType._parse($),_=(K)=>{if(t_(K))K.value=Object.freeze(K.value);return K};return w4(q)?q.then((K)=>_(K)):_(q)}unwrap(){return this._def.innerType}}h4.create=($,q)=>{return new h4({innerType:$,typeName:m$.ZodReadonly,...v6(q)})};function Wk($,q){let _=typeof $==="function"?$(q):typeof $==="string"?{message:$}:$;return typeof _==="string"?{message:_}:_}function fk($,q={},_){if($)return MK.create().superRefine((K,P)=>{let Y=$(K);if(Y instanceof Promise)return Y.then((O)=>{if(!O){let z=Wk(q,K),T=z.fatal??_??!0;P.addIssue({code:"custom",...z,fatal:T})}});if(!Y){let O=Wk(q,K),z=O.fatal??_??!0;P.addIssue({code:"custom",...O,fatal:z})}return});return MK.create()}var ag={object:u6.lazycreate},m$;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(m$||(m$={}));var eg=($,q={message:`Input not instance of ${$.name}`})=>fk((_)=>_ instanceof $,q),Zk=D8.create,Xk=F_.create,sg=C7.create,$y=Q_.create,Ak=X4.create,qy=SK.create,_y=V7.create,Ky=A4.create,Py=k4.create,Yy=MK.create,Oy=U_.create,jy=U8.create,vy=S7.create,zy=L8.create,Wy=u6.create,Jy=u6.strictCreate,Hy=G4.create,Ty=M5.create,wy=V4.create,fy=F8.create,Zy=M7.create,Xy=N7.create,Ay=NK.create,ky=Z4.create,Gy=S4.create,Vy=M4.create,Sy=a_.create,My=N4.create,Ny=CK.create,Cy=y8.create,Ey=b8.create,hy=f_.create,Ry=y8.createWithPreprocess,Iy=E7.create,Dy=()=>Zk().optional(),Ly=()=>Xk().optional(),by=()=>Ak().optional(),gy={string:($)=>D8.create({...$,coerce:!0}),number:($)=>F_.create({...$,coerce:!0}),boolean:($)=>X4.create({...$,coerce:!0}),bigint:($)=>Q_.create({...$,coerce:!0}),date:($)=>SK.create({...$,coerce:!0})};var yy=q6;function kz($,q){let _={type:"array"};if($.type?._def&&$.type?._def?.typeName!==m$.ZodAny)_.items=_6($.type._def,{...q,currentPath:[...q.currentPath,"items"]});if($.minLength)k6(_,"minItems",$.minLength.value,$.minLength.message,q);if($.maxLength)k6(_,"maxItems",$.maxLength.value,$.maxLength.message,q);if($.exactLength)k6(_,"minItems",$.exactLength.value,$.exactLength.message,q),k6(_,"maxItems",$.exactLength.value,$.exactLength.message,q);return _}function Gz($,q){let _={type:"integer",format:"int64"};if(!$.checks)return _;for(let K of $.checks)switch(K.kind){case"min":if(q.target==="jsonSchema7")if(K.inclusive)k6(_,"minimum",K.value,K.message,q);else k6(_,"exclusiveMinimum",K.value,K.message,q);else{if(!K.inclusive)_.exclusiveMinimum=!0;k6(_,"minimum",K.value,K.message,q)}break;case"max":if(q.target==="jsonSchema7")if(K.inclusive)k6(_,"maximum",K.value,K.message,q);else k6(_,"exclusiveMaximum",K.value,K.message,q);else{if(!K.inclusive)_.exclusiveMaximum=!0;k6(_,"maximum",K.value,K.message,q)}break;case"multipleOf":k6(_,"multipleOf",K.value,K.message,q);break}return _}function Vz(){return{type:"boolean"}}function h7($,q){return _6($.type._def,q)}var Sz=($,q)=>{return _6($.innerType._def,q)};function C5($,q,_){let K=_??q.dateStrategy;if(Array.isArray(K))return{anyOf:K.map((P)=>C5($,q,P))};switch(K){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return uy($,q)}}var uy=($,q)=>{let _={type:"integer",format:"unix-time"};if(q.target==="openApi3")return _;for(let K of $.checks)switch(K.kind){case"min":k6(_,"minimum",K.value,K.message,q);break;case"max":k6(_,"maximum",K.value,K.message,q);break}return _};function Mz($,q){return{..._6($.innerType._def,q),default:$.defaultValue()}}function Nz($,q){return q.effectStrategy==="input"?_6($.schema._def,q):D6(q)}function Cz($){return{type:"string",enum:Array.from($.values)}}var xy=($)=>{if("type"in $&&$.type==="string")return!1;return"allOf"in $};function Ez($,q){let _=[_6($.left._def,{...q,currentPath:[...q.currentPath,"allOf","0"]}),_6($.right._def,{...q,currentPath:[...q.currentPath,"allOf","1"]})].filter((Y)=>!!Y),K=q.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,P=[];return _.forEach((Y)=>{if(xy(Y)){if(P.push(...Y.allOf),Y.unevaluatedProperties===void 0)K=void 0}else{let O=Y;if("additionalProperties"in Y&&Y.additionalProperties===!1){let{additionalProperties:z,...T}=Y;O=T}else K=void 0;P.push(O)}}),P.length?{allOf:P,...K}:void 0}function hz($,q){let _=typeof $.value;if(_!=="bigint"&&_!=="number"&&_!=="boolean"&&_!=="string")return{type:Array.isArray($.value)?"array":"object"};if(q.target==="openApi3")return{type:_==="bigint"?"integer":_,enum:[$.value]};return{type:_==="bigint"?"integer":_,const:$.value}}var Rz=void 0,A8={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:()=>{if(Rz===void 0)Rz=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return Rz},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 R7($,q){let _={type:"string"};if($.checks)for(let K of $.checks)switch(K.kind){case"min":k6(_,"minLength",typeof _.minLength==="number"?Math.max(_.minLength,K.value):K.value,K.message,q);break;case"max":k6(_,"maxLength",typeof _.maxLength==="number"?Math.min(_.maxLength,K.value):K.value,K.message,q);break;case"email":switch(q.emailStrategy){case"format:email":u8(_,"email",K.message,q);break;case"format:idn-email":u8(_,"idn-email",K.message,q);break;case"pattern:zod":uq(_,A8.email,K.message,q);break}break;case"url":u8(_,"uri",K.message,q);break;case"uuid":u8(_,"uuid",K.message,q);break;case"regex":uq(_,K.regex,K.message,q);break;case"cuid":uq(_,A8.cuid,K.message,q);break;case"cuid2":uq(_,A8.cuid2,K.message,q);break;case"startsWith":uq(_,RegExp(`^${Iz(K.value,q)}`),K.message,q);break;case"endsWith":uq(_,RegExp(`${Iz(K.value,q)}$`),K.message,q);break;case"datetime":u8(_,"date-time",K.message,q);break;case"date":u8(_,"date",K.message,q);break;case"time":u8(_,"time",K.message,q);break;case"duration":u8(_,"duration",K.message,q);break;case"length":k6(_,"minLength",typeof _.minLength==="number"?Math.max(_.minLength,K.value):K.value,K.message,q),k6(_,"maxLength",typeof _.maxLength==="number"?Math.min(_.maxLength,K.value):K.value,K.message,q);break;case"includes":uq(_,RegExp(Iz(K.value,q)),K.message,q);break;case"ip":if(K.version!=="v6")u8(_,"ipv4",K.message,q);if(K.version!=="v4")u8(_,"ipv6",K.message,q);break;case"base64url":uq(_,A8.base64url,K.message,q);break;case"jwt":uq(_,A8.jwt,K.message,q);break;case"cidr":if(K.version!=="v6")uq(_,A8.ipv4Cidr,K.message,q);if(K.version!=="v4")uq(_,A8.ipv6Cidr,K.message,q);break;case"emoji":uq(_,A8.emoji(),K.message,q);break;case"ulid":uq(_,A8.ulid,K.message,q);break;case"base64":switch(q.base64Strategy){case"format:binary":u8(_,"binary",K.message,q);break;case"contentEncoding:base64":k6(_,"contentEncoding","base64",K.message,q);break;case"pattern:zod":uq(_,A8.base64,K.message,q);break}break;case"nanoid":uq(_,A8.nanoid,K.message,q);break;case"toLowerCase":case"toUpperCase":case"trim":break;default:((P)=>{})(K)}return _}function Iz($,q){return q.patternStrategy==="escape"?cy($):$}var py=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function cy($){let q="";for(let _=0;_<$.length;_++){if(!py.has($[_]))q+="\\";q+=$[_]}return q}function u8($,q,_,K){if($.format||$.anyOf?.some((P)=>P.format)){if(!$.anyOf)$.anyOf=[];if($.format){if($.anyOf.push({format:$.format,...$.errorMessage&&K.errorMessages&&{errorMessage:{format:$.errorMessage.format}}}),delete $.format,$.errorMessage){if(delete $.errorMessage.format,Object.keys($.errorMessage).length===0)delete $.errorMessage}}$.anyOf.push({format:q,..._&&K.errorMessages&&{errorMessage:{format:_}}})}else k6($,"format",q,_,K)}function uq($,q,_,K){if($.pattern||$.allOf?.some((P)=>P.pattern)){if(!$.allOf)$.allOf=[];if($.pattern){if($.allOf.push({pattern:$.pattern,...$.errorMessage&&K.errorMessages&&{errorMessage:{pattern:$.errorMessage.pattern}}}),delete $.pattern,$.errorMessage){if(delete $.errorMessage.pattern,Object.keys($.errorMessage).length===0)delete $.errorMessage}}$.allOf.push({pattern:kk(q,K),..._&&K.errorMessages&&{errorMessage:{pattern:_}}})}else k6($,"pattern",kk(q,K),_,K)}function kk($,q){if(!q.applyRegexFlags||!$.flags)return $.source;let _={i:$.flags.includes("i"),m:$.flags.includes("m"),s:$.flags.includes("s")},K=_.i?$.source.toLowerCase():$.source,P="",Y=!1,O=!1,z=!1;for(let T=0;T<K.length;T++){if(Y){P+=K[T],Y=!1;continue}if(_.i){if(O){if(K[T].match(/[a-z]/)){if(z)P+=K[T],P+=`${K[T-2]}-${K[T]}`.toUpperCase(),z=!1;else if(K[T+1]==="-"&&K[T+2]?.match(/[a-z]/))P+=K[T],z=!0;else P+=`${K[T]}${K[T].toUpperCase()}`;continue}}else if(K[T].match(/[a-z]/)){P+=`[${K[T]}${K[T].toUpperCase()}]`;continue}}if(_.m){if(K[T]==="^"){P+=`(^|(?<=[\r
|
|
201
201
|
]))`;continue}else if(K[T]==="$"){P+=`($|(?=[\r
|
|
202
202
|
]))`;continue}}if(_.s&&K[T]==="."){P+=O?`${K[T]}\r
|
|
203
203
|
`:`[${K[T]}\r
|
|
204
|
-
]`;continue}if(P+=K[T],K[T]==="\\")Y=!0;else if(O&&K[T]==="]")O=!1;else if(!O&&K[T]==="[")O=!0}try{new RegExp(P)}catch{return console.warn(`Could not convert regex pattern at ${q.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),$.source}return P}function I7($,q){if(q.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(q.target==="openApi3"&&$.keyType?._def.typeName===m$.ZodEnum)return{type:"object",required:$.keyType._def.values,properties:$.keyType._def.values.reduce((K,P)=>({...K,[P]:_6($.valueType._def,{...q,currentPath:[...q.currentPath,"properties",P]})??D6(q)}),{}),additionalProperties:q.rejectedAdditionalProperties};let _={type:"object",additionalProperties:_6($.valueType._def,{...q,currentPath:[...q.currentPath,"additionalProperties"]})??q.allowedAdditionalProperties};if(q.target==="openApi3")return _;if($.keyType?._def.typeName===m$.ZodString&&$.keyType._def.checks?.length){let{type:K,...P}=R7($.keyType._def,q);return{..._,propertyNames:P}}else if($.keyType?._def.typeName===m$.ZodEnum)return{..._,propertyNames:{enum:$.keyType._def.values}};else if($.keyType?._def.typeName===m$.ZodBranded&&$.keyType._def.type._def.typeName===m$.ZodString&&$.keyType._def.type._def.checks?.length){let{type:K,...P}=h7($.keyType._def,q);return{..._,propertyNames:P}}return _}function Dz($,q){if(q.mapStrategy==="record")return I7($,q);let _=_6($.keyType._def,{...q,currentPath:[...q.currentPath,"items","items","0"]})||D6(q),K=_6($.valueType._def,{...q,currentPath:[...q.currentPath,"items","items","1"]})||D6(q);return{type:"array",maxItems:125,items:{type:"array",items:[_,K],minItems:2,maxItems:2}}}function Lz($){let q=$.values,K=Object.keys($.values).filter((Y)=>{return typeof q[q[Y]]!=="number"}).map((Y)=>q[Y]),P=Array.from(new Set(K.map((Y)=>typeof Y)));return{type:P.length===1?P[0]==="string"?"string":"number":["string","number"],enum:K}}function bz($){return $.target==="openAi"?void 0:{not:D6({...$,currentPath:[...$.currentPath,"not"]})}}function gz($){return $.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var R4={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function yz($,q){if(q.target==="openApi3")return Gk($,q);let _=$.options instanceof Map?Array.from($.options.values()):$.options;if(_.every((K)=>(K._def.typeName in R4)&&(!K._def.checks||!K._def.checks.length))){let K=_.reduce((P,Y)=>{let O=R4[Y._def.typeName];return O&&!P.includes(O)?[...P,O]:P},[]);return{type:K.length>1?K:K[0]}}else if(_.every((K)=>K._def.typeName==="ZodLiteral"&&!K.description)){let K=_.reduce((P,Y)=>{let O=typeof Y._def.value;switch(O){case"string":case"number":case"boolean":return[...P,O];case"bigint":return[...P,"integer"];case"object":if(Y._def.value===null)return[...P,"null"];return P;case"symbol":case"undefined":case"function":default:return P}},[]);if(K.length===_.length){let P=K.filter((Y,O,z)=>z.indexOf(Y)===O);return{type:P.length>1?P:P[0],enum:_.reduce((Y,O)=>{return Y.includes(O._def.value)?Y:[...Y,O._def.value]},[])}}}else if(_.every((K)=>K._def.typeName==="ZodEnum"))return{type:"string",enum:_.reduce((K,P)=>[...K,...P._def.values.filter((Y)=>!K.includes(Y))],[])};return Gk($,q)}var Gk=($,q)=>{let _=($.options instanceof Map?Array.from($.options.values()):$.options).map((K,P)=>_6(K._def,{...q,currentPath:[...q.currentPath,"anyOf",`${P}`]})).filter((K)=>!!K&&(!q.strictUnions||typeof K==="object"&&Object.keys(K).length>0));return _.length?{anyOf:_}:void 0};function uz($,q){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes($.innerType._def.typeName)&&(!$.innerType._def.checks||!$.innerType._def.checks.length)){if(q.target==="openApi3")return{type:R4[$.innerType._def.typeName],nullable:!0};return{type:[R4[$.innerType._def.typeName],"null"]}}if(q.target==="openApi3"){let K=_6($.innerType._def,{...q,currentPath:[...q.currentPath]});if(K&&"$ref"in K)return{allOf:[K],nullable:!0};return K&&{...K,nullable:!0}}let _=_6($.innerType._def,{...q,currentPath:[...q.currentPath,"anyOf","0"]});return _&&{anyOf:[_,{type:"null"}]}}function xz($,q){let _={type:"number"};if(!$.checks)return _;for(let K of $.checks)switch(K.kind){case"int":_.type="integer",G5(_,"type",K.message,q);break;case"min":if(q.target==="jsonSchema7")if(K.inclusive)G6(_,"minimum",K.value,K.message,q);else G6(_,"exclusiveMinimum",K.value,K.message,q);else{if(!K.inclusive)_.exclusiveMinimum=!0;G6(_,"minimum",K.value,K.message,q)}break;case"max":if(q.target==="jsonSchema7")if(K.inclusive)G6(_,"maximum",K.value,K.message,q);else G6(_,"exclusiveMaximum",K.value,K.message,q);else{if(!K.inclusive)_.exclusiveMaximum=!0;G6(_,"maximum",K.value,K.message,q)}break;case"multipleOf":G6(_,"multipleOf",K.value,K.message,q);break}return _}function pz($,q){let _=q.target==="openAi",K={type:"object",properties:{}},P=[],Y=$.shape();for(let z in Y){let T=Y[z];if(T===void 0||T._def===void 0)continue;let H=dy(T);if(H&&_){if(T._def.typeName==="ZodOptional")T=T._def.innerType;if(!T.isNullable())T=T.nullable();H=!1}let f=_6(T._def,{...q,currentPath:[...q.currentPath,"properties",z],propertyPath:[...q.currentPath,"properties",z]});if(f===void 0)continue;if(K.properties[z]=f,!H)P.push(z)}if(P.length)K.required=P;let O=my($,q);if(O!==void 0)K.additionalProperties=O;return K}function my($,q){if($.catchall._def.typeName!=="ZodNever")return _6($.catchall._def,{...q,currentPath:[...q.currentPath,"additionalProperties"]});switch($.unknownKeys){case"passthrough":return q.allowedAdditionalProperties;case"strict":return q.rejectedAdditionalProperties;case"strip":return q.removeAdditionalStrategy==="strict"?q.allowedAdditionalProperties:q.rejectedAdditionalProperties}}function dy($){try{return $.isOptional()}catch{return!0}}var cz=($,q)=>{if(q.currentPath.toString()===q.propertyPath?.toString())return _6($.innerType._def,q);let _=_6($.innerType._def,{...q,currentPath:[...q.currentPath,"anyOf","1"]});return _?{anyOf:[{not:D6(q)},_]}:D6(q)};var mz=($,q)=>{if(q.pipeStrategy==="input")return _6($.in._def,q);else if(q.pipeStrategy==="output")return _6($.out._def,q);let _=_6($.in._def,{...q,currentPath:[...q.currentPath,"allOf","0"]}),K=_6($.out._def,{...q,currentPath:[...q.currentPath,"allOf",_?"1":"0"]});return{allOf:[_,K].filter((P)=>P!==void 0)}};function dz($,q){return _6($.type._def,q)}function lz($,q){let K={type:"array",uniqueItems:!0,items:_6($.valueType._def,{...q,currentPath:[...q.currentPath,"items"]})};if($.minSize)G6(K,"minItems",$.minSize.value,$.minSize.message,q);if($.maxSize)G6(K,"maxItems",$.maxSize.value,$.maxSize.message,q);return K}function rz($,q){if($.rest)return{type:"array",minItems:$.items.length,items:$.items.map((_,K)=>_6(_._def,{...q,currentPath:[...q.currentPath,"items",`${K}`]})).reduce((_,K)=>K===void 0?_:[..._,K],[]),additionalItems:_6($.rest._def,{...q,currentPath:[...q.currentPath,"additionalItems"]})};else return{type:"array",minItems:$.items.length,maxItems:$.items.length,items:$.items.map((_,K)=>_6(_._def,{...q,currentPath:[...q.currentPath,"items",`${K}`]})).reduce((_,K)=>K===void 0?_:[..._,K],[])}}function oz($){return{not:D6($)}}function nz($){return D6($)}var iz=($,q)=>{return _6($.innerType._def,q)};var Bz=($,q,_)=>{switch(q){case m$.ZodString:return R7($,_);case m$.ZodNumber:return xz($,_);case m$.ZodObject:return pz($,_);case m$.ZodBigInt:return Gz($,_);case m$.ZodBoolean:return Vz();case m$.ZodDate:return C5($,_);case m$.ZodUndefined:return oz(_);case m$.ZodNull:return gz(_);case m$.ZodArray:return kz($,_);case m$.ZodUnion:case m$.ZodDiscriminatedUnion:return yz($,_);case m$.ZodIntersection:return Ez($,_);case m$.ZodTuple:return rz($,_);case m$.ZodRecord:return I7($,_);case m$.ZodLiteral:return hz($,_);case m$.ZodEnum:return Cz($);case m$.ZodNativeEnum:return Lz($);case m$.ZodNullable:return uz($,_);case m$.ZodOptional:return cz($,_);case m$.ZodMap:return Dz($,_);case m$.ZodSet:return lz($,_);case m$.ZodLazy:return()=>$.getter()._def;case m$.ZodPromise:return dz($,_);case m$.ZodNaN:case m$.ZodNever:return bz(_);case m$.ZodEffects:return Nz($,_);case m$.ZodAny:return D6(_);case m$.ZodUnknown:return nz(_);case m$.ZodDefault:return Mz($,_);case m$.ZodBranded:return h7($,_);case m$.ZodReadonly:return iz($,_);case m$.ZodCatch:return Sz($,_);case m$.ZodPipeline:return mz($,_);case m$.ZodFunction:case m$.ZodVoid:case m$.ZodSymbol:return;default:return((K)=>{return})(q)}};function _6($,q,_=!1){let K=q.seen.get($);if(q.override){let z=q.override?.($,q,K,_);if(z!==Tz)return z}if(K&&!_){let z=ly(K,q);if(z!==void 0)return z}let P={def:$,path:q.currentPath,jsonSchema:void 0};q.seen.set($,P);let Y=Bz($,$.typeName,q),O=typeof Y==="function"?_6(Y(),q):Y;if(O)ry($,q,O);if(q.postProcess){let z=q.postProcess(O,$,q);return P.jsonSchema=O,z}return P.jsonSchema=O,O}var ly=($,q)=>{switch(q.$refStrategy){case"root":return{$ref:$.path.join("/")};case"relative":return{$ref:k7(q.currentPath,$.path)};case"none":case"seen":if($.path.length<q.currentPath.length&&$.path.every((_,K)=>q.currentPath[K]===_))return console.warn(`Recursive reference detected at ${q.currentPath.join("/")}! Defaulting to any`),D6(q);return q.$refStrategy==="seen"?D6(q):void 0}},ry=($,q,_)=>{if($.description){if(_.description=$.description,q.markdownDescription)_.markdownDescription=$.description}return _};var tz=($,q)=>{let _=fz(q),K=typeof q==="object"&&q.definitions?Object.entries(q.definitions).reduce((T,[H,f])=>({...T,[H]:_6(f._def,{..._,currentPath:[..._.basePath,_.definitionPath,H]},!0)??D6(_)}),{}):void 0,P=typeof q==="string"?q:q?.nameStrategy==="title"?void 0:q?.name,Y=_6($._def,P===void 0?_:{..._,currentPath:[..._.basePath,_.definitionPath,P]},!1)??D6(_),O=typeof q==="object"&&q.name!==void 0&&q.nameStrategy==="title"?q.name:void 0;if(O!==void 0)Y.title=O;if(_.flags.hasReferencedOpenAiAnyType){if(!K)K={};if(!K[_.openAiAnyTypeName])K[_.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:_.$refStrategy==="relative"?"1":[..._.basePath,_.definitionPath,_.openAiAnyTypeName].join("/")}}}let z=P===void 0?K?{...Y,[_.definitionPath]:K}:Y:{$ref:[..._.$refStrategy==="relative"?[]:_.basePath,_.definitionPath,P].join("/"),[_.definitionPath]:{...K,[P]:Y}};if(_.target==="jsonSchema7")z.$schema="http://json-schema.org/draft-07/schema#";else if(_.target==="jsonSchema2019-09"||_.target==="openAi")z.$schema="https://json-schema.org/draft/2019-09/schema#";if(_.target==="openAi"&&(("anyOf"in z)||("oneOf"in z)||("allOf"in z)||("type"in z)&&Array.isArray(z.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return z};function e_($,q){let _=typeof $;if(_!==typeof q)return!1;if(Array.isArray($)){if(!Array.isArray(q))return!1;let K=$.length;if(K!==q.length)return!1;for(let P=0;P<K;P++)if(!e_($[P],q[P]))return!1;return!0}if(_==="object"){if(!$||!q)return $===q;let K=Object.keys($),P=Object.keys(q);if(K.length!==P.length)return!1;for(let O of K)if(!e_($[O],q[O]))return!1;return!0}return $===q}function O8($){return encodeURI(oy($))}function oy($){return $.replace(/~/g,"~0").replace(/\//g,"~1")}var ny={prefixItems:!0,items:!0,allOf:!0,anyOf:!0,oneOf:!0},iy={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependentSchemas:!0},By={id:!0,$id:!0,$ref:!0,$schema:!0,$anchor:!0,$vocabulary:!0,$comment:!0,default:!0,enum:!0,const:!0,required:!0,type:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0},ty=typeof self<"u"&&self.location&&self.location.origin!=="null"?new URL(self.location.origin+self.location.pathname+location.search):new URL("https://github.com/cfworker");function x8($,q=Object.create(null),_=ty,K=""){if($&&typeof $==="object"&&!Array.isArray($)){let Y=$.$id||$.id;if(Y){let O=new URL(Y,_.href);if(O.hash.length>1)q[O.href]=$;else if(O.hash="",K==="")_=O;else x8($,q,_)}}else if($!==!0&&$!==!1)return q;let P=_.href+(K?"#"+K:"");if(q[P]!==void 0)throw Error(`Duplicate schema URI "${P}".`);if(q[P]=$,$===!0||$===!1)return q;if($.__absolute_uri__===void 0)Object.defineProperty($,"__absolute_uri__",{enumerable:!1,value:P});if($.$ref&&$.__absolute_ref__===void 0){let Y=new URL($.$ref,_.href);Y.hash=Y.hash,Object.defineProperty($,"__absolute_ref__",{enumerable:!1,value:Y.href})}if($.$recursiveRef&&$.__absolute_recursive_ref__===void 0){let Y=new URL($.$recursiveRef,_.href);Y.hash=Y.hash,Object.defineProperty($,"__absolute_recursive_ref__",{enumerable:!1,value:Y.href})}if($.$anchor){let Y=new URL("#"+$.$anchor,_.href);q[Y.href]=$}for(let Y in $){if(By[Y])continue;let O=`${K}/${O8(Y)}`,z=$[Y];if(Array.isArray(z)){if(ny[Y]){let T=z.length;for(let H=0;H<T;H++)x8(z[H],q,_,`${O}/${H}`)}}else if(iy[Y])for(let T in z)x8(z[T],q,_,`${O}/${O8(T)}`);else x8(z,q,_,O)}return q}var Uy=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,Fy=[0,31,28,31,30,31,30,31,31,30,31,30,31],Qy=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,ay=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ey=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,sy=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,$u=/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,qu=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,_u=/^(?:\/(?:[^~/]|~0|~1)*)*$/,Ku=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,Pu=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,Yu=($)=>{if($[0]==='"')return!1;let[q,_,...K]=$.split("@");if(!q||!_||K.length!==0||q.length>64||_.length>253)return!1;if(q[0]==="."||q.endsWith(".")||q.includes(".."))return!1;if(!/^[a-z0-9.-]+$/i.test(_)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(q))return!1;return _.split(".").every((P)=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(P))},Ou=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ju=/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,vu=($)=>$.length>1&&$.length<80&&(/^P\d+([.,]\d+)?W$/.test($)||/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test($)&&/^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test($));function Q8($){return $.test.bind($)}var Uz={date:Vk,time:Sk.bind(void 0,!1),"date-time":Ju,duration:vu,uri:wu,"uri-reference":Q8(ey),"uri-template":Q8(sy),url:Q8($u),email:Yu,hostname:Q8(ay),ipv4:Q8(Ou),ipv6:Q8(ju),regex:Zu,uuid:Q8(qu),"json-pointer":Q8(_u),"json-pointer-uri-fragment":Q8(Ku),"relative-json-pointer":Q8(Pu)};function zu($){return $%4===0&&($%100!==0||$%400===0)}function Vk($){let q=$.match(Uy);if(!q)return!1;let _=+q[1],K=+q[2],P=+q[3];return K>=1&&K<=12&&P>=1&&P<=(K==2&&zu(_)?29:Fy[K])}function Sk($,q){let _=q.match(Qy);if(!_)return!1;let K=+_[1],P=+_[2],Y=+_[3],O=!!_[5];return(K<=23&&P<=59&&Y<=59||K==23&&P==59&&Y==60)&&(!$||O)}var Wu=/t|\s/i;function Ju($){let q=$.split(Wu);return q.length==2&&Vk(q[0])&&Sk(!0,q[1])}var Hu=/\/|:/,Tu=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function wu($){return Hu.test($)&&Tu.test($)}var fu=/[^\\]\\Z/;function Zu($){if(fu.test($))return!1;try{return new RegExp($,"u"),!0}catch(q){return!1}}function Mk($){let q=0,_=$.length,K=0,P;while(K<_)if(q++,P=$.charCodeAt(K++),P>=55296&&P<=56319&&K<_){if(P=$.charCodeAt(K),(P&64512)==56320)K++}return q}function g6($,q,_="2019-09",K=x8(q),P=!0,Y=null,O="#",z="#",T=Object.create(null)){if(q===!0)return{valid:!0,errors:[]};if(q===!1)return{valid:!1,errors:[{instanceLocation:O,keyword:"false",keywordLocation:O,error:"False boolean schema."}]};let H=typeof $,f;switch(H){case"boolean":case"number":case"string":f=H;break;case"object":if($===null)f="null";else if(Array.isArray($))f="array";else f="object";break;default:throw Error(`Instances of "${H}" type are not supported.`)}let{$ref:w,$recursiveRef:k,$recursiveAnchor:S,type:N,const:h,enum:C,required:I,not:D,anyOf:L,allOf:g,oneOf:y,if:p,then:o,else:s,format:Q,properties:m,patternProperties:e,additionalProperties:j,unevaluatedProperties:W,minProperties:X,maxProperties:J,propertyNames:Z,dependentRequired:G,dependentSchemas:M,dependencies:A,prefixItems:v,items:V,additionalItems:R,unevaluatedItems:E,contains:b,minContains:x,maxContains:l,minItems:F,maxItems:f$,uniqueItems:q$,minimum:B,maximum:v$,exclusiveMinimum:a,exclusiveMaximum:P$,multipleOf:o$,minLength:c,maxLength:r,pattern:J$,__absolute_ref__:$$,__absolute_recursive_ref__:_$}=q,O$=[];if(S===!0&&Y===null)Y=q;if(k==="#"){let n=Y===null?K[_$]:Y,H$=`${z}/$recursiveRef`,t=g6($,Y===null?q:Y,_,K,P,n,O,H$,T);if(!t.valid)O$.push({instanceLocation:O,keyword:"$recursiveRef",keywordLocation:H$,error:"A subschema had errors."},...t.errors)}if(w!==void 0){let H$=K[$$||w];if(H$===void 0){let A$=`Unresolved $ref "${w}".`;if($$&&$$!==w)A$+=` Absolute URI "${$$}".`;throw A$+=`
|
|
204
|
+
]`;continue}if(P+=K[T],K[T]==="\\")Y=!0;else if(O&&K[T]==="]")O=!1;else if(!O&&K[T]==="[")O=!0}try{new RegExp(P)}catch{return console.warn(`Could not convert regex pattern at ${q.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),$.source}return P}function I7($,q){if(q.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(q.target==="openApi3"&&$.keyType?._def.typeName===m$.ZodEnum)return{type:"object",required:$.keyType._def.values,properties:$.keyType._def.values.reduce((K,P)=>({...K,[P]:_6($.valueType._def,{...q,currentPath:[...q.currentPath,"properties",P]})??D6(q)}),{}),additionalProperties:q.rejectedAdditionalProperties};let _={type:"object",additionalProperties:_6($.valueType._def,{...q,currentPath:[...q.currentPath,"additionalProperties"]})??q.allowedAdditionalProperties};if(q.target==="openApi3")return _;if($.keyType?._def.typeName===m$.ZodString&&$.keyType._def.checks?.length){let{type:K,...P}=R7($.keyType._def,q);return{..._,propertyNames:P}}else if($.keyType?._def.typeName===m$.ZodEnum)return{..._,propertyNames:{enum:$.keyType._def.values}};else if($.keyType?._def.typeName===m$.ZodBranded&&$.keyType._def.type._def.typeName===m$.ZodString&&$.keyType._def.type._def.checks?.length){let{type:K,...P}=h7($.keyType._def,q);return{..._,propertyNames:P}}return _}function Dz($,q){if(q.mapStrategy==="record")return I7($,q);let _=_6($.keyType._def,{...q,currentPath:[...q.currentPath,"items","items","0"]})||D6(q),K=_6($.valueType._def,{...q,currentPath:[...q.currentPath,"items","items","1"]})||D6(q);return{type:"array",maxItems:125,items:{type:"array",items:[_,K],minItems:2,maxItems:2}}}function Lz($){let q=$.values,K=Object.keys($.values).filter((Y)=>{return typeof q[q[Y]]!=="number"}).map((Y)=>q[Y]),P=Array.from(new Set(K.map((Y)=>typeof Y)));return{type:P.length===1?P[0]==="string"?"string":"number":["string","number"],enum:K}}function bz($){return $.target==="openAi"?void 0:{not:D6({...$,currentPath:[...$.currentPath,"not"]})}}function gz($){return $.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var R4={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function yz($,q){if(q.target==="openApi3")return Gk($,q);let _=$.options instanceof Map?Array.from($.options.values()):$.options;if(_.every((K)=>(K._def.typeName in R4)&&(!K._def.checks||!K._def.checks.length))){let K=_.reduce((P,Y)=>{let O=R4[Y._def.typeName];return O&&!P.includes(O)?[...P,O]:P},[]);return{type:K.length>1?K:K[0]}}else if(_.every((K)=>K._def.typeName==="ZodLiteral"&&!K.description)){let K=_.reduce((P,Y)=>{let O=typeof Y._def.value;switch(O){case"string":case"number":case"boolean":return[...P,O];case"bigint":return[...P,"integer"];case"object":if(Y._def.value===null)return[...P,"null"];return P;case"symbol":case"undefined":case"function":default:return P}},[]);if(K.length===_.length){let P=K.filter((Y,O,z)=>z.indexOf(Y)===O);return{type:P.length>1?P:P[0],enum:_.reduce((Y,O)=>{return Y.includes(O._def.value)?Y:[...Y,O._def.value]},[])}}}else if(_.every((K)=>K._def.typeName==="ZodEnum"))return{type:"string",enum:_.reduce((K,P)=>[...K,...P._def.values.filter((Y)=>!K.includes(Y))],[])};return Gk($,q)}var Gk=($,q)=>{let _=($.options instanceof Map?Array.from($.options.values()):$.options).map((K,P)=>_6(K._def,{...q,currentPath:[...q.currentPath,"anyOf",`${P}`]})).filter((K)=>!!K&&(!q.strictUnions||typeof K==="object"&&Object.keys(K).length>0));return _.length?{anyOf:_}:void 0};function uz($,q){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes($.innerType._def.typeName)&&(!$.innerType._def.checks||!$.innerType._def.checks.length)){if(q.target==="openApi3")return{type:R4[$.innerType._def.typeName],nullable:!0};return{type:[R4[$.innerType._def.typeName],"null"]}}if(q.target==="openApi3"){let K=_6($.innerType._def,{...q,currentPath:[...q.currentPath]});if(K&&"$ref"in K)return{allOf:[K],nullable:!0};return K&&{...K,nullable:!0}}let _=_6($.innerType._def,{...q,currentPath:[...q.currentPath,"anyOf","0"]});return _&&{anyOf:[_,{type:"null"}]}}function xz($,q){let _={type:"number"};if(!$.checks)return _;for(let K of $.checks)switch(K.kind){case"int":_.type="integer",G5(_,"type",K.message,q);break;case"min":if(q.target==="jsonSchema7")if(K.inclusive)k6(_,"minimum",K.value,K.message,q);else k6(_,"exclusiveMinimum",K.value,K.message,q);else{if(!K.inclusive)_.exclusiveMinimum=!0;k6(_,"minimum",K.value,K.message,q)}break;case"max":if(q.target==="jsonSchema7")if(K.inclusive)k6(_,"maximum",K.value,K.message,q);else k6(_,"exclusiveMaximum",K.value,K.message,q);else{if(!K.inclusive)_.exclusiveMaximum=!0;k6(_,"maximum",K.value,K.message,q)}break;case"multipleOf":k6(_,"multipleOf",K.value,K.message,q);break}return _}function pz($,q){let _=q.target==="openAi",K={type:"object",properties:{}},P=[],Y=$.shape();for(let z in Y){let T=Y[z];if(T===void 0||T._def===void 0)continue;let H=dy(T);if(H&&_){if(T._def.typeName==="ZodOptional")T=T._def.innerType;if(!T.isNullable())T=T.nullable();H=!1}let f=_6(T._def,{...q,currentPath:[...q.currentPath,"properties",z],propertyPath:[...q.currentPath,"properties",z]});if(f===void 0)continue;if(K.properties[z]=f,!H)P.push(z)}if(P.length)K.required=P;let O=my($,q);if(O!==void 0)K.additionalProperties=O;return K}function my($,q){if($.catchall._def.typeName!=="ZodNever")return _6($.catchall._def,{...q,currentPath:[...q.currentPath,"additionalProperties"]});switch($.unknownKeys){case"passthrough":return q.allowedAdditionalProperties;case"strict":return q.rejectedAdditionalProperties;case"strip":return q.removeAdditionalStrategy==="strict"?q.allowedAdditionalProperties:q.rejectedAdditionalProperties}}function dy($){try{return $.isOptional()}catch{return!0}}var cz=($,q)=>{if(q.currentPath.toString()===q.propertyPath?.toString())return _6($.innerType._def,q);let _=_6($.innerType._def,{...q,currentPath:[...q.currentPath,"anyOf","1"]});return _?{anyOf:[{not:D6(q)},_]}:D6(q)};var mz=($,q)=>{if(q.pipeStrategy==="input")return _6($.in._def,q);else if(q.pipeStrategy==="output")return _6($.out._def,q);let _=_6($.in._def,{...q,currentPath:[...q.currentPath,"allOf","0"]}),K=_6($.out._def,{...q,currentPath:[...q.currentPath,"allOf",_?"1":"0"]});return{allOf:[_,K].filter((P)=>P!==void 0)}};function dz($,q){return _6($.type._def,q)}function lz($,q){let K={type:"array",uniqueItems:!0,items:_6($.valueType._def,{...q,currentPath:[...q.currentPath,"items"]})};if($.minSize)k6(K,"minItems",$.minSize.value,$.minSize.message,q);if($.maxSize)k6(K,"maxItems",$.maxSize.value,$.maxSize.message,q);return K}function rz($,q){if($.rest)return{type:"array",minItems:$.items.length,items:$.items.map((_,K)=>_6(_._def,{...q,currentPath:[...q.currentPath,"items",`${K}`]})).reduce((_,K)=>K===void 0?_:[..._,K],[]),additionalItems:_6($.rest._def,{...q,currentPath:[...q.currentPath,"additionalItems"]})};else return{type:"array",minItems:$.items.length,maxItems:$.items.length,items:$.items.map((_,K)=>_6(_._def,{...q,currentPath:[...q.currentPath,"items",`${K}`]})).reduce((_,K)=>K===void 0?_:[..._,K],[])}}function oz($){return{not:D6($)}}function nz($){return D6($)}var iz=($,q)=>{return _6($.innerType._def,q)};var Bz=($,q,_)=>{switch(q){case m$.ZodString:return R7($,_);case m$.ZodNumber:return xz($,_);case m$.ZodObject:return pz($,_);case m$.ZodBigInt:return Gz($,_);case m$.ZodBoolean:return Vz();case m$.ZodDate:return C5($,_);case m$.ZodUndefined:return oz(_);case m$.ZodNull:return gz(_);case m$.ZodArray:return kz($,_);case m$.ZodUnion:case m$.ZodDiscriminatedUnion:return yz($,_);case m$.ZodIntersection:return Ez($,_);case m$.ZodTuple:return rz($,_);case m$.ZodRecord:return I7($,_);case m$.ZodLiteral:return hz($,_);case m$.ZodEnum:return Cz($);case m$.ZodNativeEnum:return Lz($);case m$.ZodNullable:return uz($,_);case m$.ZodOptional:return cz($,_);case m$.ZodMap:return Dz($,_);case m$.ZodSet:return lz($,_);case m$.ZodLazy:return()=>$.getter()._def;case m$.ZodPromise:return dz($,_);case m$.ZodNaN:case m$.ZodNever:return bz(_);case m$.ZodEffects:return Nz($,_);case m$.ZodAny:return D6(_);case m$.ZodUnknown:return nz(_);case m$.ZodDefault:return Mz($,_);case m$.ZodBranded:return h7($,_);case m$.ZodReadonly:return iz($,_);case m$.ZodCatch:return Sz($,_);case m$.ZodPipeline:return mz($,_);case m$.ZodFunction:case m$.ZodVoid:case m$.ZodSymbol:return;default:return((K)=>{return})(q)}};function _6($,q,_=!1){let K=q.seen.get($);if(q.override){let z=q.override?.($,q,K,_);if(z!==Tz)return z}if(K&&!_){let z=ly(K,q);if(z!==void 0)return z}let P={def:$,path:q.currentPath,jsonSchema:void 0};q.seen.set($,P);let Y=Bz($,$.typeName,q),O=typeof Y==="function"?_6(Y(),q):Y;if(O)ry($,q,O);if(q.postProcess){let z=q.postProcess(O,$,q);return P.jsonSchema=O,z}return P.jsonSchema=O,O}var ly=($,q)=>{switch(q.$refStrategy){case"root":return{$ref:$.path.join("/")};case"relative":return{$ref:k7(q.currentPath,$.path)};case"none":case"seen":if($.path.length<q.currentPath.length&&$.path.every((_,K)=>q.currentPath[K]===_))return console.warn(`Recursive reference detected at ${q.currentPath.join("/")}! Defaulting to any`),D6(q);return q.$refStrategy==="seen"?D6(q):void 0}},ry=($,q,_)=>{if($.description){if(_.description=$.description,q.markdownDescription)_.markdownDescription=$.description}return _};var tz=($,q)=>{let _=fz(q),K=typeof q==="object"&&q.definitions?Object.entries(q.definitions).reduce((T,[H,f])=>({...T,[H]:_6(f._def,{..._,currentPath:[..._.basePath,_.definitionPath,H]},!0)??D6(_)}),{}):void 0,P=typeof q==="string"?q:q?.nameStrategy==="title"?void 0:q?.name,Y=_6($._def,P===void 0?_:{..._,currentPath:[..._.basePath,_.definitionPath,P]},!1)??D6(_),O=typeof q==="object"&&q.name!==void 0&&q.nameStrategy==="title"?q.name:void 0;if(O!==void 0)Y.title=O;if(_.flags.hasReferencedOpenAiAnyType){if(!K)K={};if(!K[_.openAiAnyTypeName])K[_.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:_.$refStrategy==="relative"?"1":[..._.basePath,_.definitionPath,_.openAiAnyTypeName].join("/")}}}let z=P===void 0?K?{...Y,[_.definitionPath]:K}:Y:{$ref:[..._.$refStrategy==="relative"?[]:_.basePath,_.definitionPath,P].join("/"),[_.definitionPath]:{...K,[P]:Y}};if(_.target==="jsonSchema7")z.$schema="http://json-schema.org/draft-07/schema#";else if(_.target==="jsonSchema2019-09"||_.target==="openAi")z.$schema="https://json-schema.org/draft/2019-09/schema#";if(_.target==="openAi"&&(("anyOf"in z)||("oneOf"in z)||("allOf"in z)||("type"in z)&&Array.isArray(z.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return z};function e_($,q){let _=typeof $;if(_!==typeof q)return!1;if(Array.isArray($)){if(!Array.isArray(q))return!1;let K=$.length;if(K!==q.length)return!1;for(let P=0;P<K;P++)if(!e_($[P],q[P]))return!1;return!0}if(_==="object"){if(!$||!q)return $===q;let K=Object.keys($),P=Object.keys(q);if(K.length!==P.length)return!1;for(let O of K)if(!e_($[O],q[O]))return!1;return!0}return $===q}function O8($){return encodeURI(oy($))}function oy($){return $.replace(/~/g,"~0").replace(/\//g,"~1")}var ny={prefixItems:!0,items:!0,allOf:!0,anyOf:!0,oneOf:!0},iy={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependentSchemas:!0},By={id:!0,$id:!0,$ref:!0,$schema:!0,$anchor:!0,$vocabulary:!0,$comment:!0,default:!0,enum:!0,const:!0,required:!0,type:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0},ty=typeof self<"u"&&self.location&&self.location.origin!=="null"?new URL(self.location.origin+self.location.pathname+location.search):new URL("https://github.com/cfworker");function x8($,q=Object.create(null),_=ty,K=""){if($&&typeof $==="object"&&!Array.isArray($)){let Y=$.$id||$.id;if(Y){let O=new URL(Y,_.href);if(O.hash.length>1)q[O.href]=$;else if(O.hash="",K==="")_=O;else x8($,q,_)}}else if($!==!0&&$!==!1)return q;let P=_.href+(K?"#"+K:"");if(q[P]!==void 0)throw Error(`Duplicate schema URI "${P}".`);if(q[P]=$,$===!0||$===!1)return q;if($.__absolute_uri__===void 0)Object.defineProperty($,"__absolute_uri__",{enumerable:!1,value:P});if($.$ref&&$.__absolute_ref__===void 0){let Y=new URL($.$ref,_.href);Y.hash=Y.hash,Object.defineProperty($,"__absolute_ref__",{enumerable:!1,value:Y.href})}if($.$recursiveRef&&$.__absolute_recursive_ref__===void 0){let Y=new URL($.$recursiveRef,_.href);Y.hash=Y.hash,Object.defineProperty($,"__absolute_recursive_ref__",{enumerable:!1,value:Y.href})}if($.$anchor){let Y=new URL("#"+$.$anchor,_.href);q[Y.href]=$}for(let Y in $){if(By[Y])continue;let O=`${K}/${O8(Y)}`,z=$[Y];if(Array.isArray(z)){if(ny[Y]){let T=z.length;for(let H=0;H<T;H++)x8(z[H],q,_,`${O}/${H}`)}}else if(iy[Y])for(let T in z)x8(z[T],q,_,`${O}/${O8(T)}`);else x8(z,q,_,O)}return q}var Uy=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,Fy=[0,31,28,31,30,31,30,31,31,30,31,30,31],Qy=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,ay=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ey=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,sy=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,$u=/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,qu=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,_u=/^(?:\/(?:[^~/]|~0|~1)*)*$/,Ku=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,Pu=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,Yu=($)=>{if($[0]==='"')return!1;let[q,_,...K]=$.split("@");if(!q||!_||K.length!==0||q.length>64||_.length>253)return!1;if(q[0]==="."||q.endsWith(".")||q.includes(".."))return!1;if(!/^[a-z0-9.-]+$/i.test(_)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(q))return!1;return _.split(".").every((P)=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(P))},Ou=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ju=/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,vu=($)=>$.length>1&&$.length<80&&(/^P\d+([.,]\d+)?W$/.test($)||/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test($)&&/^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test($));function Q8($){return $.test.bind($)}var Uz={date:Vk,time:Sk.bind(void 0,!1),"date-time":Ju,duration:vu,uri:wu,"uri-reference":Q8(ey),"uri-template":Q8(sy),url:Q8($u),email:Yu,hostname:Q8(ay),ipv4:Q8(Ou),ipv6:Q8(ju),regex:Zu,uuid:Q8(qu),"json-pointer":Q8(_u),"json-pointer-uri-fragment":Q8(Ku),"relative-json-pointer":Q8(Pu)};function zu($){return $%4===0&&($%100!==0||$%400===0)}function Vk($){let q=$.match(Uy);if(!q)return!1;let _=+q[1],K=+q[2],P=+q[3];return K>=1&&K<=12&&P>=1&&P<=(K==2&&zu(_)?29:Fy[K])}function Sk($,q){let _=q.match(Qy);if(!_)return!1;let K=+_[1],P=+_[2],Y=+_[3],O=!!_[5];return(K<=23&&P<=59&&Y<=59||K==23&&P==59&&Y==60)&&(!$||O)}var Wu=/t|\s/i;function Ju($){let q=$.split(Wu);return q.length==2&&Vk(q[0])&&Sk(!0,q[1])}var Hu=/\/|:/,Tu=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function wu($){return Hu.test($)&&Tu.test($)}var fu=/[^\\]\\Z/;function Zu($){if(fu.test($))return!1;try{return new RegExp($,"u"),!0}catch(q){return!1}}function Mk($){let q=0,_=$.length,K=0,P;while(K<_)if(q++,P=$.charCodeAt(K++),P>=55296&&P<=56319&&K<_){if(P=$.charCodeAt(K),(P&64512)==56320)K++}return q}function g6($,q,_="2019-09",K=x8(q),P=!0,Y=null,O="#",z="#",T=Object.create(null)){if(q===!0)return{valid:!0,errors:[]};if(q===!1)return{valid:!1,errors:[{instanceLocation:O,keyword:"false",keywordLocation:O,error:"False boolean schema."}]};let H=typeof $,f;switch(H){case"boolean":case"number":case"string":f=H;break;case"object":if($===null)f="null";else if(Array.isArray($))f="array";else f="object";break;default:throw Error(`Instances of "${H}" type are not supported.`)}let{$ref:w,$recursiveRef:k,$recursiveAnchor:S,type:N,const:h,enum:C,required:I,not:D,anyOf:L,allOf:g,oneOf:y,if:p,then:o,else:s,format:Q,properties:m,patternProperties:e,additionalProperties:j,unevaluatedProperties:W,minProperties:X,maxProperties:J,propertyNames:Z,dependentRequired:G,dependentSchemas:M,dependencies:A,prefixItems:v,items:V,additionalItems:R,unevaluatedItems:E,contains:b,minContains:x,maxContains:l,minItems:F,maxItems:f$,uniqueItems:q$,minimum:B,maximum:v$,exclusiveMinimum:a,exclusiveMaximum:P$,multipleOf:o$,minLength:c,maxLength:r,pattern:J$,__absolute_ref__:$$,__absolute_recursive_ref__:_$}=q,O$=[];if(S===!0&&Y===null)Y=q;if(k==="#"){let n=Y===null?K[_$]:Y,H$=`${z}/$recursiveRef`,t=g6($,Y===null?q:Y,_,K,P,n,O,H$,T);if(!t.valid)O$.push({instanceLocation:O,keyword:"$recursiveRef",keywordLocation:H$,error:"A subschema had errors."},...t.errors)}if(w!==void 0){let H$=K[$$||w];if(H$===void 0){let A$=`Unresolved $ref "${w}".`;if($$&&$$!==w)A$+=` Absolute URI "${$$}".`;throw A$+=`
|
|
205
205
|
Known schemas:
|
|
206
206
|
- ${Object.keys(K).join(`
|
|
207
207
|
- `)}`,Error(A$)}let t=`${z}/$ref`,U=g6($,H$,_,K,P,Y,O,t,T);if(!U.valid)O$.push({instanceLocation:O,keyword:"$ref",keywordLocation:t,error:"A subschema had errors."},...U.errors);if(_==="4"||_==="7")return{valid:O$.length===0,errors:O$}}if(Array.isArray(N)){let n=N.length,H$=!1;for(let t=0;t<n;t++)if(f===N[t]||N[t]==="integer"&&f==="number"&&$%1===0&&$===$){H$=!0;break}if(!H$)O$.push({instanceLocation:O,keyword:"type",keywordLocation:`${z}/type`,error:`Instance type "${f}" is invalid. Expected "${N.join('", "')}".`})}else if(N==="integer"){if(f!=="number"||$%1||$!==$)O$.push({instanceLocation:O,keyword:"type",keywordLocation:`${z}/type`,error:`Instance type "${f}" is invalid. Expected "${N}".`})}else if(N!==void 0&&f!==N)O$.push({instanceLocation:O,keyword:"type",keywordLocation:`${z}/type`,error:`Instance type "${f}" is invalid. Expected "${N}".`});if(h!==void 0){if(f==="object"||f==="array"){if(!e_($,h))O$.push({instanceLocation:O,keyword:"const",keywordLocation:`${z}/const`,error:`Instance does not match ${JSON.stringify(h)}.`})}else if($!==h)O$.push({instanceLocation:O,keyword:"const",keywordLocation:`${z}/const`,error:`Instance does not match ${JSON.stringify(h)}.`})}if(C!==void 0){if(f==="object"||f==="array"){if(!C.some((n)=>e_($,n)))O$.push({instanceLocation:O,keyword:"enum",keywordLocation:`${z}/enum`,error:`Instance does not match any of ${JSON.stringify(C)}.`})}else if(!C.some((n)=>$===n))O$.push({instanceLocation:O,keyword:"enum",keywordLocation:`${z}/enum`,error:`Instance does not match any of ${JSON.stringify(C)}.`})}if(D!==void 0){let n=`${z}/not`;if(g6($,D,_,K,P,Y,O,n).valid)O$.push({instanceLocation:O,keyword:"not",keywordLocation:n,error:'Instance matched "not" schema.'})}let d=[];if(L!==void 0){let n=`${z}/anyOf`,H$=O$.length,t=!1;for(let U=0;U<L.length;U++){let A$=L[U],W$=Object.create(T),z$=g6($,A$,_,K,P,S===!0?Y:null,O,`${n}/${U}`,W$);if(O$.push(...z$.errors),t=t||z$.valid,z$.valid)d.push(W$)}if(t)O$.length=H$;else O$.splice(H$,0,{instanceLocation:O,keyword:"anyOf",keywordLocation:n,error:"Instance does not match any subschemas."})}if(g!==void 0){let n=`${z}/allOf`,H$=O$.length,t=!0;for(let U=0;U<g.length;U++){let A$=g[U],W$=Object.create(T),z$=g6($,A$,_,K,P,S===!0?Y:null,O,`${n}/${U}`,W$);if(O$.push(...z$.errors),t=t&&z$.valid,z$.valid)d.push(W$)}if(t)O$.length=H$;else O$.splice(H$,0,{instanceLocation:O,keyword:"allOf",keywordLocation:n,error:"Instance does not match every subschema."})}if(y!==void 0){let n=`${z}/oneOf`,H$=O$.length,t=y.filter((U,A$)=>{let W$=Object.create(T),z$=g6($,U,_,K,P,S===!0?Y:null,O,`${n}/${A$}`,W$);if(O$.push(...z$.errors),z$.valid)d.push(W$);return z$.valid}).length;if(t===1)O$.length=H$;else O$.splice(H$,0,{instanceLocation:O,keyword:"oneOf",keywordLocation:n,error:`Instance does not match exactly one subschema (${t} matches).`})}if(f==="object"||f==="array")Object.assign(T,...d);if(p!==void 0){let n=`${z}/if`;if(g6($,p,_,K,P,Y,O,n,T).valid){if(o!==void 0){let t=g6($,o,_,K,P,Y,O,`${z}/then`,T);if(!t.valid)O$.push({instanceLocation:O,keyword:"if",keywordLocation:n,error:'Instance does not match "then" schema.'},...t.errors)}}else if(s!==void 0){let t=g6($,s,_,K,P,Y,O,`${z}/else`,T);if(!t.valid)O$.push({instanceLocation:O,keyword:"if",keywordLocation:n,error:'Instance does not match "else" schema.'},...t.errors)}}if(f==="object"){if(I!==void 0){for(let U of I)if(!(U in $))O$.push({instanceLocation:O,keyword:"required",keywordLocation:`${z}/required`,error:`Instance does not have required property "${U}".`})}let n=Object.keys($);if(X!==void 0&&n.length<X)O$.push({instanceLocation:O,keyword:"minProperties",keywordLocation:`${z}/minProperties`,error:`Instance does not have at least ${X} properties.`});if(J!==void 0&&n.length>J)O$.push({instanceLocation:O,keyword:"maxProperties",keywordLocation:`${z}/maxProperties`,error:`Instance does not have at least ${J} properties.`});if(Z!==void 0){let U=`${z}/propertyNames`;for(let A$ in $){let W$=`${O}/${O8(A$)}`,z$=g6(A$,Z,_,K,P,Y,W$,U);if(!z$.valid)O$.push({instanceLocation:O,keyword:"propertyNames",keywordLocation:U,error:`Property name "${A$}" does not match schema.`},...z$.errors)}}if(G!==void 0){let U=`${z}/dependantRequired`;for(let A$ in G)if(A$ in $){let W$=G[A$];for(let z$ of W$)if(!(z$ in $))O$.push({instanceLocation:O,keyword:"dependentRequired",keywordLocation:U,error:`Instance has "${A$}" but does not have "${z$}".`})}}if(M!==void 0)for(let U in M){let A$=`${z}/dependentSchemas`;if(U in $){let W$=g6($,M[U],_,K,P,Y,O,`${A$}/${O8(U)}`,T);if(!W$.valid)O$.push({instanceLocation:O,keyword:"dependentSchemas",keywordLocation:A$,error:`Instance has "${U}" but does not match dependant schema.`},...W$.errors)}}if(A!==void 0){let U=`${z}/dependencies`;for(let A$ in A)if(A$ in $){let W$=A[A$];if(Array.isArray(W$)){for(let z$ of W$)if(!(z$ in $))O$.push({instanceLocation:O,keyword:"dependencies",keywordLocation:U,error:`Instance has "${A$}" but does not have "${z$}".`})}else{let z$=g6($,W$,_,K,P,Y,O,`${U}/${O8(A$)}`);if(!z$.valid)O$.push({instanceLocation:O,keyword:"dependencies",keywordLocation:U,error:`Instance has "${A$}" but does not match dependant schema.`},...z$.errors)}}}let H$=Object.create(null),t=!1;if(m!==void 0){let U=`${z}/properties`;for(let A$ in m){if(!(A$ in $))continue;let W$=`${O}/${O8(A$)}`,z$=g6($[A$],m[A$],_,K,P,Y,W$,`${U}/${O8(A$)}`);if(z$.valid)T[A$]=H$[A$]=!0;else if(t=P,O$.push({instanceLocation:O,keyword:"properties",keywordLocation:U,error:`Property "${A$}" does not match schema.`},...z$.errors),t)break}}if(!t&&e!==void 0){let U=`${z}/patternProperties`;for(let A$ in e){let W$=new RegExp(A$,"u"),z$=e[A$];for(let Z6 in $){if(!W$.test(Z6))continue;let X$=`${O}/${O8(Z6)}`,k$=g6($[Z6],z$,_,K,P,Y,X$,`${U}/${O8(A$)}`);if(k$.valid)T[Z6]=H$[Z6]=!0;else t=P,O$.push({instanceLocation:O,keyword:"patternProperties",keywordLocation:U,error:`Property "${Z6}" matches pattern "${A$}" but does not match associated schema.`},...k$.errors)}}}if(!t&&j!==void 0){let U=`${z}/additionalProperties`;for(let A$ in $){if(H$[A$])continue;let W$=`${O}/${O8(A$)}`,z$=g6($[A$],j,_,K,P,Y,W$,U);if(z$.valid)T[A$]=!0;else t=P,O$.push({instanceLocation:O,keyword:"additionalProperties",keywordLocation:U,error:`Property "${A$}" does not match additional properties schema.`},...z$.errors)}}else if(!t&&W!==void 0){let U=`${z}/unevaluatedProperties`;for(let A$ in $)if(!T[A$]){let W$=`${O}/${O8(A$)}`,z$=g6($[A$],W,_,K,P,Y,W$,U);if(z$.valid)T[A$]=!0;else O$.push({instanceLocation:O,keyword:"unevaluatedProperties",keywordLocation:U,error:`Property "${A$}" does not match unevaluated properties schema.`},...z$.errors)}}}else if(f==="array"){if(f$!==void 0&&$.length>f$)O$.push({instanceLocation:O,keyword:"maxItems",keywordLocation:`${z}/maxItems`,error:`Array has too many items (${$.length} > ${f$}).`});if(F!==void 0&&$.length<F)O$.push({instanceLocation:O,keyword:"minItems",keywordLocation:`${z}/minItems`,error:`Array has too few items (${$.length} < ${F}).`});let n=$.length,H$=0,t=!1;if(v!==void 0){let U=`${z}/prefixItems`,A$=Math.min(v.length,n);for(;H$<A$;H$++){let W$=g6($[H$],v[H$],_,K,P,Y,`${O}/${H$}`,`${U}/${H$}`);if(T[H$]=!0,!W$.valid){if(t=P,O$.push({instanceLocation:O,keyword:"prefixItems",keywordLocation:U,error:"Items did not match schema."},...W$.errors),t)break}}}if(V!==void 0){let U=`${z}/items`;if(Array.isArray(V)){let A$=Math.min(V.length,n);for(;H$<A$;H$++){let W$=g6($[H$],V[H$],_,K,P,Y,`${O}/${H$}`,`${U}/${H$}`);if(T[H$]=!0,!W$.valid){if(t=P,O$.push({instanceLocation:O,keyword:"items",keywordLocation:U,error:"Items did not match schema."},...W$.errors),t)break}}}else for(;H$<n;H$++){let A$=g6($[H$],V,_,K,P,Y,`${O}/${H$}`,U);if(T[H$]=!0,!A$.valid){if(t=P,O$.push({instanceLocation:O,keyword:"items",keywordLocation:U,error:"Items did not match schema."},...A$.errors),t)break}}if(!t&&R!==void 0){let A$=`${z}/additionalItems`;for(;H$<n;H$++){let W$=g6($[H$],R,_,K,P,Y,`${O}/${H$}`,A$);if(T[H$]=!0,!W$.valid)t=P,O$.push({instanceLocation:O,keyword:"additionalItems",keywordLocation:A$,error:"Items did not match additional items schema."},...W$.errors)}}}if(b!==void 0)if(n===0&&x===void 0)O$.push({instanceLocation:O,keyword:"contains",keywordLocation:`${z}/contains`,error:"Array is empty. It must contain at least one item matching the schema."});else if(x!==void 0&&n<x)O$.push({instanceLocation:O,keyword:"minContains",keywordLocation:`${z}/minContains`,error:`Array has less items (${n}) than minContains (${x}).`});else{let U=`${z}/contains`,A$=O$.length,W$=0;for(let z$=0;z$<n;z$++){let Z6=g6($[z$],b,_,K,P,Y,`${O}/${z$}`,U);if(Z6.valid)T[z$]=!0,W$++;else O$.push(...Z6.errors)}if(W$>=(x||0))O$.length=A$;if(x===void 0&&l===void 0&&W$===0)O$.splice(A$,0,{instanceLocation:O,keyword:"contains",keywordLocation:U,error:"Array does not contain item matching schema."});else if(x!==void 0&&W$<x)O$.push({instanceLocation:O,keyword:"minContains",keywordLocation:`${z}/minContains`,error:`Array must contain at least ${x} items matching schema. Only ${W$} items were found.`});else if(l!==void 0&&W$>l)O$.push({instanceLocation:O,keyword:"maxContains",keywordLocation:`${z}/maxContains`,error:`Array may contain at most ${l} items matching schema. ${W$} items were found.`})}if(!t&&E!==void 0){let U=`${z}/unevaluatedItems`;for(H$;H$<n;H$++){if(T[H$])continue;let A$=g6($[H$],E,_,K,P,Y,`${O}/${H$}`,U);if(T[H$]=!0,!A$.valid)O$.push({instanceLocation:O,keyword:"unevaluatedItems",keywordLocation:U,error:"Items did not match unevaluated items schema."},...A$.errors)}}if(q$)for(let U=0;U<n;U++){let A$=$[U],W$=typeof A$==="object"&&A$!==null;for(let z$=0;z$<n;z$++){if(U===z$)continue;let Z6=$[z$];if(A$===Z6||W$&&(typeof Z6==="object"&&Z6!==null)&&e_(A$,Z6))O$.push({instanceLocation:O,keyword:"uniqueItems",keywordLocation:`${z}/uniqueItems`,error:`Duplicate items at indexes ${U} and ${z$}.`}),U=Number.MAX_SAFE_INTEGER,z$=Number.MAX_SAFE_INTEGER}}}else if(f==="number"){if(_==="4"){if(B!==void 0&&(a===!0&&$<=B||$<B))O$.push({instanceLocation:O,keyword:"minimum",keywordLocation:`${z}/minimum`,error:`${$} is less than ${a?"or equal to ":""} ${B}.`});if(v$!==void 0&&(P$===!0&&$>=v$||$>v$))O$.push({instanceLocation:O,keyword:"maximum",keywordLocation:`${z}/maximum`,error:`${$} is greater than ${P$?"or equal to ":""} ${v$}.`})}else{if(B!==void 0&&$<B)O$.push({instanceLocation:O,keyword:"minimum",keywordLocation:`${z}/minimum`,error:`${$} is less than ${B}.`});if(v$!==void 0&&$>v$)O$.push({instanceLocation:O,keyword:"maximum",keywordLocation:`${z}/maximum`,error:`${$} is greater than ${v$}.`});if(a!==void 0&&$<=a)O$.push({instanceLocation:O,keyword:"exclusiveMinimum",keywordLocation:`${z}/exclusiveMinimum`,error:`${$} is less than ${a}.`});if(P$!==void 0&&$>=P$)O$.push({instanceLocation:O,keyword:"exclusiveMaximum",keywordLocation:`${z}/exclusiveMaximum`,error:`${$} is greater than or equal to ${P$}.`})}if(o$!==void 0){let n=$%o$;if(Math.abs(0-n)>=0.00000011920929&&Math.abs(o$-n)>=0.00000011920929)O$.push({instanceLocation:O,keyword:"multipleOf",keywordLocation:`${z}/multipleOf`,error:`${$} is not a multiple of ${o$}.`})}}else if(f==="string"){let n=c===void 0&&r===void 0?0:Mk($);if(c!==void 0&&n<c)O$.push({instanceLocation:O,keyword:"minLength",keywordLocation:`${z}/minLength`,error:`String is too short (${n} < ${c}).`});if(r!==void 0&&n>r)O$.push({instanceLocation:O,keyword:"maxLength",keywordLocation:`${z}/maxLength`,error:`String is too long (${n} > ${r}).`});if(J$!==void 0&&!new RegExp(J$,"u").test($))O$.push({instanceLocation:O,keyword:"pattern",keywordLocation:`${z}/pattern`,error:"String does not match pattern."});if(Q!==void 0&&Uz[Q]&&!Uz[Q]($))O$.push({instanceLocation:O,keyword:"format",keywordLocation:`${z}/format`,error:`String does not match format "${Q}".`})}return{valid:O$.length===0,errors:O$}}class Fz{schema;draft;shortCircuit;lookup;constructor($,q="2019-09",_=!0){this.schema=$,this.draft=q,this.shortCircuit=_,this.lookup=x8($)}validate($){return g6($,this.schema,this.draft,this.lookup,this.shortCircuit)}addSchema($,q){if(q)$={...$,$id:q};x8($,this.lookup)}}var Xu={};f6(Xu,{Validator:()=>Fz,deepCompareStrict:()=>e_,toJsonSchema:()=>Qz,validatesOnlyStrings:()=>E5});function Qz($){if(X8($)){let q=Yk($,!0);if(H4(q)){let _=k5(q,!0);return J4(_)}else return J4($)}if(H_($))return tz($);return $}function E5($){if(!$||typeof $!=="object"||Object.keys($).length===0||Array.isArray($))return!1;if("type"in $){if(typeof $.type==="string")return $.type==="string";if(Array.isArray($.type))return $.type.every((q)=>q==="string");return!1}if("enum"in $)return Array.isArray($.enum)&&$.enum.length>0&&$.enum.every((q)=>typeof q==="string");if("const"in $)return typeof $.const==="string";if("allOf"in $&&Array.isArray($.allOf))return $.allOf.some((q)=>E5(q));if("anyOf"in $&&Array.isArray($.anyOf)||"oneOf"in $&&Array.isArray($.oneOf)){let q="anyOf"in $?$.anyOf:$.oneOf;return q.length>0&&q.every((_)=>E5(_))}if("not"in $)return!1;if("$ref"in $&&typeof $.$ref==="string"){let q=$.$ref,_=x8($);if(_[q])return E5(_[q]);return!1}return!1}var Au={};f6(Au,{Graph:()=>h5});function ku($,q){if($!==void 0&&!oK($))return $;else if(gP(q))try{let _=q.getName();return _=_.startsWith("Runnable")?_.slice(8):_,_}catch{return q.getName()}else return q.name??"UnknownSchema"}function Gu($){if(gP($.data))return{type:"runnable",data:{id:$.data.lc_id,name:$.data.getName()}};else return{type:"schema",data:{...Qz($.data.schema),title:$.data.name}}}var h5=class ${nodes={};edges=[];constructor(q){this.nodes=q?.nodes??this.nodes,this.edges=q?.edges??this.edges}toJSON(){let q={};return Object.values(this.nodes).forEach((_,K)=>{q[_.id]=oK(_.id)?K:_.id}),{nodes:Object.values(this.nodes).map((_)=>({id:q[_.id],...Gu(_)})),edges:this.edges.map((_)=>{let K={source:q[_.source],target:q[_.target]};if(typeof _.data<"u")K.data=_.data;if(typeof _.conditional<"u")K.conditional=_.conditional;return K})}}addNode(q,_,K){if(_!==void 0&&this.nodes[_]!==void 0)throw Error(`Node with id ${_} already exists`);let P=_??iq(),Y={id:P,data:q,name:ku(_,q),metadata:K};return this.nodes[P]=Y,Y}removeNode(q){delete this.nodes[q.id],this.edges=this.edges.filter((_)=>_.source!==q.id&&_.target!==q.id)}addEdge(q,_,K,P){if(this.nodes[q.id]===void 0)throw Error(`Source node ${q.id} not in graph`);if(this.nodes[_.id]===void 0)throw Error(`Target node ${_.id} not in graph`);let Y={source:q.id,target:_.id,data:K,conditional:P};return this.edges.push(Y),Y}firstNode(){return Nk(this)}lastNode(){return Ck(this)}extend(q,_=""){let K=_;if(Object.values(q.nodes).map((H)=>H.id).every(oK))K="";let Y=(H)=>{return K?`${K}:${H}`:H};Object.entries(q.nodes).forEach(([H,f])=>{this.nodes[Y(H)]={...f,id:Y(H)}});let O=q.edges.map((H)=>{return{...H,source:Y(H.source),target:Y(H.target)}});this.edges=[...this.edges,...O];let z=q.firstNode(),T=q.lastNode();return[z?{id:Y(z.id),data:z.data}:void 0,T?{id:Y(T.id),data:T.data}:void 0]}trimFirstNode(){let q=this.firstNode();if(q&&Nk(this,[q.id]))this.removeNode(q)}trimLastNode(){let q=this.lastNode();if(q&&Ck(this,[q.id]))this.removeNode(q)}reid(){let q=Object.fromEntries(Object.values(this.nodes).map((P)=>[P.id,P.name])),_=new Map;Object.values(q).forEach((P)=>{_.set(P,(_.get(P)||0)+1)});let K=(P)=>{let Y=q[P];if(oK(P)&&_.get(Y)===1)return Y;else return P};return new $({nodes:Object.fromEntries(Object.entries(this.nodes).map(([P,Y])=>[K(P),{...Y,id:K(P)}])),edges:this.edges.map((P)=>({...P,source:K(P.source),target:K(P.target)}))})}drawMermaid(q){let{withStyles:_,curveStyle:K,nodeColors:P={default:"fill:#f2f0ff,line-height:1.2",first:"fill-opacity:0",last:"fill:#bfb6fc"},wrapLabelNWords:Y}=q??{},O=this.reid(),z=O.firstNode(),T=O.lastNode();return Ok(O.nodes,O.edges,{firstNode:z?.id,lastNode:T?.id,withStyles:_,curveStyle:K,nodeColors:P,wrapLabelNWords:Y})}async drawMermaidPng(q){let _=this.drawMermaid(q);return jk(_,{backgroundColor:q?.backgroundColor})}};function Nk($,q=[]){let _=new Set($.edges.filter((P)=>!q.includes(P.source)).map((P)=>P.target)),K=[];for(let P of Object.values($.nodes))if(!q.includes(P.id)&&!_.has(P.id))K.push(P);return K.length===1?K[0]:void 0}function Ck($,q=[]){let _=new Set($.edges.filter((P)=>!q.includes(P.target)).map((P)=>P.source)),K=[];for(let P of Object.values($.nodes))if(!q.includes(P.id)&&!_.has(P.id))K.push(P);return K.length===1?K[0]:void 0}function Ek($){let q=new TextEncoder,_=new ReadableStream({async start(K){for await(let P of $)K.enqueue(q.encode(`event: data
|
|
@@ -429,7 +429,7 @@ ${f.content.text}`});return`${_?`Conversation: ${O.slice(-5)}
|
|
|
429
429
|
`)}).join(T.every((g)=>!g.text&&!g.description)?", ":`
|
|
430
430
|
`)})`:null,f=new Date(K.createdAt||0),w=f.getHours().toString().padStart(2,"0"),k=f.getMinutes().toString().padStart(2,"0"),S=`${w}:${k}`,N=xN(K.createdAt||0),h=O?`(${z}'s internal thought: ${O})`:null,C=`${S} (${N}) [${K.entityId}]`,I=P?`${C} ${z}: ${P}`:null,D=Y&&Y.length>0?`${I?"":C} (${z}'s actions: ${Y.join(", ")})`:null;return[I,h,D,H].filter(Boolean).join(`
|
|
431
431
|
`)}).join(`
|
|
432
|
-
`)},xN=($)=>{let _=new Date().getTime()-$,K=Math.abs(_),P=Math.floor(K/1000),Y=Math.floor(P/60),O=Math.floor(Y/60),z=Math.floor(O/24);if(K<60000)return"just now";if(Y<60)return`${Y} minute${Y!==1?"s":""} ago`;if(O<24)return`${O} hour${O!==1?"s":""} ago`;return`${z} day${z!==1?"s":""} ago`},lU=/```json\n([\s\S]*?)\n```/;function YK($){if(!$)return null;let q=null,_=$.indexOf("<response>");if(_!==-1){let O=_+10,z=$.indexOf("</response>",O);if(z!==-1)q=$.slice(O,z)}if(!q){let z=((T)=>{let H=0,f=T.length;while(H<f){let w=T.indexOf("<",H);if(w===-1)break;if(T.startsWith("</",w)||T.startsWith("<!--",w)||T.startsWith("<?",w)){H=w+1;continue}let k=w+1,S="";while(k<f){let L=T[k];if(/^[A-Za-z0-9_-]$/.test(L)){S+=L,k++;continue}break}if(!S){H=w+1;continue}let N=T.indexOf(">",k);if(N===-1)break;let h=T.slice(w,N+1);if(/\/\s*>$/.test(h)){H=N+1;continue}let C=`</${S}>`,I=1,D=N+1;while(I>0&&D<f){let L=T.indexOf(`<${S}`,D),g=T.indexOf(C,D);if(g===-1)break;if(L!==-1&&L<g){let y=T.indexOf(">",L+1);if(y===-1)break;let p=T.slice(L,y+1);if(/\/\s*>$/.test(p))D=y+1;else I++,D=y+1}else I--,D=g+C.length}if(I===0){let L=D-C.length,g=T.slice(N+1,L);return{tag:S,content:g}}H=N+1}return null})($);if(!z)return r2.warn({src:"core:utils"},"Could not find XML block in text"),null;q=z.content}let K={},Y=((O)=>{let z=[],T=O.length,H=0;while(H<T){let f=O.indexOf("<",H);if(f===-1)break;if(O.startsWith("</",f)||O.startsWith("<!--",f)||O.startsWith("<?",f)){H=f+1;continue}let w=f+1,k="";while(w<T){let y=O[w];if(/^[A-Za-z0-9_-]$/.test(y)){k+=y,w++;continue}break}if(!k){H=f+1;continue}let S=O.indexOf(">",w);if(S===-1)break;let N=O.slice(f,S+1);if(/\/\s*>$/.test(N)){H=S+1;continue}let h=`</${k}>`,C=1,I=S+1;while(C>0&&I<T){let y=O.indexOf(`<${k}`,I),p=O.indexOf(h,I);if(p===-1)break;if(y!==-1&&y<p){let o=O.indexOf(">",y+1);if(o===-1)break;let s=O.slice(y,o+1);if(!/\/\s*>$/.test(s))C++;I=o+1}else C--,I=p+h.length}if(C!==0){H=S+1;continue}let D=I-h.length,g=O.slice(S+1,D).replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'").trim();z.push({key:k,value:g}),H=I}return z})(q);for(let{key:O,value:z}of Y)if(O==="actions"||O==="providers"||O==="evaluators")K[O]=z?z.split(",").map((T)=>T.trim()):[];else if(O==="simple")K[O]=z.toLowerCase()==="true";else K[O]=z;if(Object.keys(K).length===0)return r2.warn({src:"core:utils"},"No key-value pairs extracted from XML content"),null;return K}function BY$($){let q=$.match(lU),_=null;try{if(q)_=JSON.parse(bN(q[1].trim()));else _=JSON.parse(bN($.trim()))}catch{return null}if(_&&typeof _==="object"&&!Array.isArray(_))return _;return null}var bN=($)=>{return $=$.replace(/\{\s+/,"{").replace(/\s+\}/,"}").trim(),$=$.replace(/("[\w\d_-]+")\s*: \s*(?!"|\[)([\s\S]+?)(?=(,\s*"|\}$))/g,'$1: "$2"'),$=$.replace(/"([^"]+)"\s*:\s*'([^']*)'/g,(q,_,K)=>`"${_}": "${K}"`),$=$.replace(/("[\w\d_-]+")\s*:\s*([A-Za-z_]+)(?!["\w])/g,'$1: "$2"'),$};function pN($,q){if($.length<=q)return $;let _=$.lastIndexOf(".",q-1);if(_!==-1){let Y=$.slice(0,_+1).trim();if(Y.length>0)return Y}let K=$.lastIndexOf(" ",q-1);if(K!==-1){let Y=$.slice(0,K).trim();if(Y.length>0)return`${Y}...`}return`${$.slice(0,q-3).trim()}...`}async function tY$($,q=512,_=20){return await new YW({chunkSize:Number(Math.floor(q*3.5)),chunkOverlap:Number(Math.floor(_*3.5))}).splitText($)}async function UY$($,q,_){if(!$)throw Error("Trim tokens received a null prompt");if($.length<q/5)return $;if(q<=0)throw Error("maxTokens must be positive");let K=await _.useModel(k6.TEXT_TOKENIZER_ENCODE,{prompt:$,modelType:k6.TEXT_TOKENIZER_ENCODE});if(K.length<=q)return $;let P=K.slice(-q);return await _.useModel(k6.TEXT_TOKENIZER_DECODE,{tokens:P,modelType:k6.TEXT_TOKENIZER_DECODE})}function FY$(){let $=new WeakSet;return function(q,_){if(typeof _==="object"&&_!==null){if($.has(_))return"[Circular]";$.add(_)}return _}}function n2($){if(!$)return!1;if(typeof $==="boolean")return $;let q=["YES","Y","TRUE","T","1","ON","ENABLE"],_=["NO","N","FALSE","F","0","OFF","DISABLE"],K=$.trim().toUpperCase();if(q.includes(K))return!0;if(_.includes(K))return!1;return!1}var rU=i$.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,"Invalid UUID format");function oU($){let q=rU.safeParse($);return q.success?q.data:null}function i2($){if(typeof $==="number")$=$.toString();if(typeof $!=="string")throw TypeError("Value must be string");let q=oU($);if(q)return q;let _=encodeURIComponent($),P=nU(_).slice(0,16);return P[8]=P[8]&63|128,P[6]=P[6]&15|0,BU(P)}async function QY$($){if(!zT())return;let q=$.map(async(_)=>{let K=encodeURIComponent(_),P=await cN(K);dK.set(K,P)});await Promise.all(q)}var dK=new Map,o2=null;function zT(){if(o2!==null)return o2;if(typeof globalThis<"u"&&globalThis.crypto&&globalThis.crypto.subtle&&typeof globalThis.crypto.subtle.digest==="function")return o2=!0,!0;return o2=!1,!1}function nU($){let q=dK.get($);if(q)return q;let _=mN($);if(dK.set($,_),zT())cN($).then((K)=>{dK.set($,K)}).catch(()=>{});if(dK.size>1e4)Array.from(dK.keys()).slice(0,5000).forEach((P)=>dK.delete(P));return _}async function cN($){if(zT()){let _=new TextEncoder().encode($),K=await globalThis.crypto.subtle.digest("SHA-1",_);return new Uint8Array(K)}return mN($)}function mN($){let q=iU($),_=q.length,K=new Uint8Array(_+9+63>>>6<<6);K.set(q),K[_]=128;let P=_*8,Y=new DataView(K.buffer);Y.setUint32(K.length-4,P>>>0,!1),Y.setUint32(K.length-8,Math.floor(P/4294967296)>>>0,!1);let O=1732584193,z=4023233417,T=2562383102,H=271733878,f=3285377520,w=new Uint32Array(80);for(let N=0;N<K.length;N+=64){for(let g=0;g<16;g++)w[g]=Y.getUint32(N+g*4,!1);for(let g=16;g<80;g++){let y=w[g-3]^w[g-8]^w[g-14]^w[g-16];w[g]=y<<1|y>>>31}let h=O,C=z,I=T,D=H,L=f;for(let g=0;g<80;g++){let y,p;if(g<20)y=C&I|~C&D,p=1518500249;else if(g<40)y=C^I^D,p=1859775393;else if(g<60)y=C&I|C&D|I&D,p=2400959708;else y=C^I^D,p=3395469782;let o=(h<<5|h>>>27)+y+L+p+w[g]>>>0;L=D,D=I,I=(C<<30|C>>>2)>>>0,C=h,h=o}O=O+h>>>0,z=z+C>>>0,T=T+I>>>0,H=H+D>>>0,f=f+L>>>0}let k=new Uint8Array(20),S=new DataView(k.buffer);return S.setUint32(0,O,!1),S.setUint32(4,z,!1),S.setUint32(8,T,!1),S.setUint32(12,H,!1),S.setUint32(16,f,!1),k}function iU($){if(typeof TextEncoder<"u")return new TextEncoder().encode($);let q=[];for(let _=0;_<$.length;_++){let K=$.charCodeAt(_);if(K<128)q.push(K);else if(K<2048)q.push(192|K>>6,128|K&63);else if(K<55296||K>=57344)q.push(224|K>>12,128|K>>6&63,128|K&63);else{_++;let P=65536+((K&1023)<<10|$.charCodeAt(_)&1023);q.push(240|P>>18,128|P>>12&63,128|P>>6&63,128|P&63)}}return new Uint8Array(q)}function BU($){let q=[];for(let _=0;_<$.length;_++){let K=$[_].toString(16).padStart(2,"0");q.push(K)}return q.slice(0,4).join("")+"-"+q.slice(4,6).join("")+"-"+q.slice(6,8).join("")+"-"+q.slice(8,10).join("")+"-"+q.slice(10,16).join("")}var aY$=($)=>{if($.startsWith("image/"))return"image";if($.startsWith("video/"))return"video";if($.startsWith("audio/"))return"audio";if($.includes("pdf")||$.includes("document")||$.startsWith("text/"))return"document";return};function dN($){return`http://localhost:${E_("SERVER_PORT","3000")}${$}`}var lN=i$.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,"Invalid UUID format").describe("Unique identifier for the character in UUID format"),tU=i$.object({id:i$.string().describe("Unique identifier for the media"),url:i$.string().describe("URL of the media file"),title:i$.string().optional().describe("Media title"),source:i$.string().optional().describe("Media source"),description:i$.string().optional().describe("Media description"),text:i$.string().optional().describe("Text content associated with the media"),contentType:i$.nativeEnum(OP).optional().describe("Type of media content")}).loose().describe("Media attachment with URL and metadata"),UU=i$.object({text:i$.string().optional().describe("The main text content of the message"),thought:i$.string().optional().describe("Internal thought process or reasoning"),actions:i$.array(i$.string()).optional().describe("Actions to be taken in response"),providers:i$.array(i$.string()).optional().describe("Data providers to use (e.g., KNOWLEDGE)"),source:i$.string().optional().describe("Source of the content"),target:i$.string().optional().describe("Target of the content"),url:i$.string().optional().describe("Related URL"),inReplyTo:lN.optional().describe("UUID of message this is replying to"),attachments:i$.array(tU).optional().describe("Array of media attachments (images, videos, documents, etc.)"),channelType:i$.enum(jP).optional().describe("Type of channel this content is for")}).catchall(i$.unknown()).describe("Content structure for messages in conversation examples"),FU=i$.object({name:i$.string().describe("Name of the speaker (can use {{name1}} placeholder for dynamic names)"),content:UU}).describe("A single message in a conversation example"),QU=i$.object({directory:i$.string().describe("Path to a directory containing knowledge files"),shared:i$.boolean().optional().describe("Whether this knowledge is shared across characters")}).describe("Directory-based knowledge source"),aU=i$.union([i$.string().describe("File path to a knowledge document"),i$.object({path:i$.string().describe("Path to a knowledge file"),shared:i$.boolean().optional().describe("Whether this knowledge is shared across characters")}),QU]).describe("Knowledge source - can be a file path, file object, or directory"),eU=i$.union([i$.string().describe("Template string with placeholders"),i$.function().optional()]).describe("Template for generating text - can be a string template or function"),sU=i$.object({all:i$.array(i$.string()).optional().describe("Style guidelines applied to all types of responses"),chat:i$.array(i$.string()).optional().describe("Style guidelines specific to chat/conversation responses"),post:i$.array(i$.string()).optional().describe("Style guidelines specific to social media posts")}).optional().describe("Style configuration defining how the character communicates across different contexts"),$F=i$.record(i$.string(),i$.union([i$.string(),i$.boolean(),i$.number(),i$.object({}).loose(),i$.array(i$.unknown())])).optional().describe("Character-specific settings like avatar URL, preferences, and configuration"),qF=i$.record(i$.string(),i$.union([i$.string(),i$.boolean(),i$.number()])).optional().describe("Secret values and API keys (should not be committed to version control)"),_F=i$.object({id:lN.optional().describe("Unique identifier for the character"),name:i$.string().min(1,"Character name is required").describe('The name of the character (e.g., "Eliza")'),username:i$.string().optional().describe("Username for the character on various platforms"),system:i$.string().optional().describe("System prompt that defines the character's core behavior and response style"),templates:i$.record(i$.string(),eU).optional().describe("Custom templates for generating different types of content"),bio:i$.union([i$.string(),i$.array(i$.string())]).describe("Character biography - can be a single string or array of biographical points"),messageExamples:i$.array(i$.array(FU)).optional().describe("Example conversations showing how the character responds in different scenarios"),postExamples:i$.array(i$.string()).optional().describe("Example social media posts demonstrating the character's voice and topics"),topics:i$.array(i$.string()).optional().describe("Topics the character is knowledgeable about and engages with"),adjectives:i$.array(i$.string()).optional().describe("Adjectives that describe the character's personality and traits"),knowledge:i$.array(aU).optional().describe("Knowledge sources (files, directories) the character can reference"),plugins:i$.array(i$.string()).optional().describe('List of plugin package names to load (e.g., ["@elizaos/plugin-sql", "@elizaos/plugin-bootstrap"] - these are commonly required)'),settings:$F,secrets:qF,style:sU}).strict().describe("Complete character definition including personality, behavior, and capabilities");function rN($){let q=_F.safeParse($);if(q.success)return{success:!0,data:q.data};return{success:!1,error:{message:`Character validation failed: ${q.error.message}`,issues:q.error.issues}}}function _O$($){try{let q=JSON.parse($);return rN(q)}catch(q){return{success:!1,error:{message:`Invalid JSON: ${q instanceof Error?q.message:"Unknown JSON parsing error"}`}}}}function KO$($){return rN($).success}function I_(){return typeof Buffer<"u"&&typeof Buffer.from==="function"}function KF($){let q=$.replace(/[^0-9a-fA-F]/g,"");if(I_())return Buffer.from(q,"hex");let _=new Uint8Array(q.length/2);for(let K=0;K<_.length;K++)_[K]=parseInt(q.substr(K*2,2),16);return _}function PF($,q="utf8"){if(I_()){let K=q==="utf-8"?"utf8":q;return Buffer.from($,K)}if(q==="base64"){let K=atob($),P=new Uint8Array(K.length);for(let Y=0;Y<K.length;Y++)P[Y]=K.charCodeAt(Y);return P}return new TextEncoder().encode($)}function oN($){if(I_()&&Buffer.isBuffer($))return $.toString("hex");let q=$ instanceof Uint8Array?$:new Uint8Array($),_="";for(let K=0;K<q.length;K++){let P=q[K].toString(16);_+=P.length===1?"0"+P:P}return _}function YF($,q="utf8"){if(I_()&&Buffer.isBuffer($)){let P=q==="utf-8"?"utf8":q;return $.toString(P)}let _=$ instanceof Uint8Array?$:new Uint8Array($);if(q==="hex")return oN(_);if(q==="base64"){let P="";for(let Y=0;Y<_.length;Y++)P+=String.fromCharCode(_[Y]);return btoa(P)}return new TextDecoder().decode(_)}function WT($){if(!$)return!1;if(I_()&&Buffer.isBuffer($))return!0;if($ instanceof Uint8Array||$ instanceof ArrayBuffer)return!0;if(typeof $==="object"&&$!==null&&!Array.isArray($)){let q=$;return q.buffer instanceof ArrayBuffer&&typeof q.byteLength==="number"}return!1}function OF($){if(I_())return Buffer.alloc($);return new Uint8Array($)}function jF($){if(I_())return Buffer.from($);return new Uint8Array($)}function vF($){if(I_()&&$.every((P)=>Buffer.isBuffer(P)))return Buffer.concat($);let q=0;for(let P of $)q+=P.length;let _=new Uint8Array(q),K=0;for(let P of $){let Y=P instanceof Uint8Array?P:new Uint8Array(P);_.set(Y,K),K+=Y.length}return _}function zF($,q,_){if(I_()&&Buffer.isBuffer($))return $.slice(q,_);return($ instanceof Uint8Array?$:new Uint8Array($)).slice(q,_)}function WF($,q){if($.length!==q.length)return!1;let _=$ instanceof Uint8Array?$:new Uint8Array($),K=q instanceof Uint8Array?q:new Uint8Array(q);for(let P=0;P<_.length;P++)if(_[P]!==K[P])return!1;return!0}function JF($){return $.length}function HF($){let q=new Uint8Array($),_=typeof globalThis<"u"?globalThis.crypto||globalThis.webcrypto:void 0;if(_&&typeof _.getRandomValues==="function")_.getRandomValues(q);else for(let K=0;K<$;K++)q[K]=Math.floor(Math.random()*256);return q}var OK={fromHex:KF,fromString:PF,fromBytes:jF,toHex:oN,toString:YF,isBuffer:WT,alloc:OF,concat:vF,slice:zF,equals:WF,byteLength:JF,randomBytes:HF};var jO$=($,q)=>{if(!$.length||q<=0)return"";let _=$.filter((O)=>O.examples&&Array.isArray(O.examples)&&O.examples.length>0);if(!_.length)return"";let K=_.map((O)=>[...O.examples||[]]),P=[],Y=K.map((O,z)=>O.length>0?z:-1).filter((O)=>O!==-1);while(P.length<q&&Y.length>0){let O=Math.floor(Math.random()*Y.length),z=Y[O],T=K[z],H=Math.floor(Math.random()*T.length);if(P.push(T.splice(H,1)[0]),T.length===0)Y.splice(O,1)}return TF(P)},TF=($)=>{return $.map((_)=>{let K=Array.from({length:5},()=>i5({dictionaries:[B5]}));return`
|
|
432
|
+
`)},xN=($)=>{let _=new Date().getTime()-$,K=Math.abs(_),P=Math.floor(K/1000),Y=Math.floor(P/60),O=Math.floor(Y/60),z=Math.floor(O/24);if(K<60000)return"just now";if(Y<60)return`${Y} minute${Y!==1?"s":""} ago`;if(O<24)return`${O} hour${O!==1?"s":""} ago`;return`${z} day${z!==1?"s":""} ago`},lU=/```json\n([\s\S]*?)\n```/;function YK($){if(!$)return null;let q=null,_=$.indexOf("<response>");if(_!==-1){let O=_+10,z=$.indexOf("</response>",O);if(z!==-1)q=$.slice(O,z)}if(!q){let z=((T)=>{let H=0,f=T.length;while(H<f){let w=T.indexOf("<",H);if(w===-1)break;if(T.startsWith("</",w)||T.startsWith("<!--",w)||T.startsWith("<?",w)){H=w+1;continue}let k=w+1,S="";while(k<f){let L=T[k];if(/^[A-Za-z0-9_-]$/.test(L)){S+=L,k++;continue}break}if(!S){H=w+1;continue}let N=T.indexOf(">",k);if(N===-1)break;let h=T.slice(w,N+1);if(/\/\s*>$/.test(h)){H=N+1;continue}let C=`</${S}>`,I=1,D=N+1;while(I>0&&D<f){let L=T.indexOf(`<${S}`,D),g=T.indexOf(C,D);if(g===-1)break;if(L!==-1&&L<g){let y=T.indexOf(">",L+1);if(y===-1)break;let p=T.slice(L,y+1);if(/\/\s*>$/.test(p))D=y+1;else I++,D=y+1}else I--,D=g+C.length}if(I===0){let L=D-C.length,g=T.slice(N+1,L);return{tag:S,content:g}}H=N+1}return null})($);if(!z)return r2.warn({src:"core:utils"},"Could not find XML block in text"),null;q=z.content}let K={},Y=((O)=>{let z=[],T=O.length,H=0;while(H<T){let f=O.indexOf("<",H);if(f===-1)break;if(O.startsWith("</",f)||O.startsWith("<!--",f)||O.startsWith("<?",f)){H=f+1;continue}let w=f+1,k="";while(w<T){let y=O[w];if(/^[A-Za-z0-9_-]$/.test(y)){k+=y,w++;continue}break}if(!k){H=f+1;continue}let S=O.indexOf(">",w);if(S===-1)break;let N=O.slice(f,S+1);if(/\/\s*>$/.test(N)){H=S+1;continue}let h=`</${k}>`,C=1,I=S+1;while(C>0&&I<T){let y=O.indexOf(`<${k}`,I),p=O.indexOf(h,I);if(p===-1)break;if(y!==-1&&y<p){let o=O.indexOf(">",y+1);if(o===-1)break;let s=O.slice(y,o+1);if(!/\/\s*>$/.test(s))C++;I=o+1}else C--,I=p+h.length}if(C!==0){H=S+1;continue}let D=I-h.length,g=O.slice(S+1,D).replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'").trim();z.push({key:k,value:g}),H=I}return z})(q);for(let{key:O,value:z}of Y)if(O==="actions"||O==="providers"||O==="evaluators")K[O]=z?z.split(",").map((T)=>T.trim()):[];else if(O==="simple")K[O]=z.toLowerCase()==="true";else K[O]=z;if(Object.keys(K).length===0)return r2.warn({src:"core:utils"},"No key-value pairs extracted from XML content"),null;return K}function BY$($){let q=$.match(lU),_=null;try{if(q)_=JSON.parse(bN(q[1].trim()));else _=JSON.parse(bN($.trim()))}catch{return null}if(_&&typeof _==="object"&&!Array.isArray(_))return _;return null}var bN=($)=>{return $=$.replace(/\{\s+/,"{").replace(/\s+\}/,"}").trim(),$=$.replace(/("[\w\d_-]+")\s*: \s*(?!"|\[)([\s\S]+?)(?=(,\s*"|\}$))/g,'$1: "$2"'),$=$.replace(/"([^"]+)"\s*:\s*'([^']*)'/g,(q,_,K)=>`"${_}": "${K}"`),$=$.replace(/("[\w\d_-]+")\s*:\s*([A-Za-z_]+)(?!["\w])/g,'$1: "$2"'),$};function pN($,q){if($.length<=q)return $;let _=$.lastIndexOf(".",q-1);if(_!==-1){let Y=$.slice(0,_+1).trim();if(Y.length>0)return Y}let K=$.lastIndexOf(" ",q-1);if(K!==-1){let Y=$.slice(0,K).trim();if(Y.length>0)return`${Y}...`}return`${$.slice(0,q-3).trim()}...`}async function tY$($,q=512,_=20){return await new YW({chunkSize:Number(Math.floor(q*3.5)),chunkOverlap:Number(Math.floor(_*3.5))}).splitText($)}async function UY$($,q,_){if(!$)throw Error("Trim tokens received a null prompt");if($.length<q/5)return $;if(q<=0)throw Error("maxTokens must be positive");let K=await _.useModel(G6.TEXT_TOKENIZER_ENCODE,{prompt:$,modelType:G6.TEXT_TOKENIZER_ENCODE});if(K.length<=q)return $;let P=K.slice(-q);return await _.useModel(G6.TEXT_TOKENIZER_DECODE,{tokens:P,modelType:G6.TEXT_TOKENIZER_DECODE})}function FY$(){let $=new WeakSet;return function(q,_){if(typeof _==="object"&&_!==null){if($.has(_))return"[Circular]";$.add(_)}return _}}function n2($){if(!$)return!1;if(typeof $==="boolean")return $;let q=["YES","Y","TRUE","T","1","ON","ENABLE"],_=["NO","N","FALSE","F","0","OFF","DISABLE"],K=$.trim().toUpperCase();if(q.includes(K))return!0;if(_.includes(K))return!1;return!1}var rU=i$.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,"Invalid UUID format");function oU($){let q=rU.safeParse($);return q.success?q.data:null}function i2($){if(typeof $==="number")$=$.toString();if(typeof $!=="string")throw TypeError("Value must be string");let q=oU($);if(q)return q;let _=encodeURIComponent($),P=nU(_).slice(0,16);return P[8]=P[8]&63|128,P[6]=P[6]&15|0,BU(P)}async function QY$($){if(!zT())return;let q=$.map(async(_)=>{let K=encodeURIComponent(_),P=await cN(K);dK.set(K,P)});await Promise.all(q)}var dK=new Map,o2=null;function zT(){if(o2!==null)return o2;if(typeof globalThis<"u"&&globalThis.crypto&&globalThis.crypto.subtle&&typeof globalThis.crypto.subtle.digest==="function")return o2=!0,!0;return o2=!1,!1}function nU($){let q=dK.get($);if(q)return q;let _=mN($);if(dK.set($,_),zT())cN($).then((K)=>{dK.set($,K)}).catch(()=>{});if(dK.size>1e4)Array.from(dK.keys()).slice(0,5000).forEach((P)=>dK.delete(P));return _}async function cN($){if(zT()){let _=new TextEncoder().encode($),K=await globalThis.crypto.subtle.digest("SHA-1",_);return new Uint8Array(K)}return mN($)}function mN($){let q=iU($),_=q.length,K=new Uint8Array(_+9+63>>>6<<6);K.set(q),K[_]=128;let P=_*8,Y=new DataView(K.buffer);Y.setUint32(K.length-4,P>>>0,!1),Y.setUint32(K.length-8,Math.floor(P/4294967296)>>>0,!1);let O=1732584193,z=4023233417,T=2562383102,H=271733878,f=3285377520,w=new Uint32Array(80);for(let N=0;N<K.length;N+=64){for(let g=0;g<16;g++)w[g]=Y.getUint32(N+g*4,!1);for(let g=16;g<80;g++){let y=w[g-3]^w[g-8]^w[g-14]^w[g-16];w[g]=y<<1|y>>>31}let h=O,C=z,I=T,D=H,L=f;for(let g=0;g<80;g++){let y,p;if(g<20)y=C&I|~C&D,p=1518500249;else if(g<40)y=C^I^D,p=1859775393;else if(g<60)y=C&I|C&D|I&D,p=2400959708;else y=C^I^D,p=3395469782;let o=(h<<5|h>>>27)+y+L+p+w[g]>>>0;L=D,D=I,I=(C<<30|C>>>2)>>>0,C=h,h=o}O=O+h>>>0,z=z+C>>>0,T=T+I>>>0,H=H+D>>>0,f=f+L>>>0}let k=new Uint8Array(20),S=new DataView(k.buffer);return S.setUint32(0,O,!1),S.setUint32(4,z,!1),S.setUint32(8,T,!1),S.setUint32(12,H,!1),S.setUint32(16,f,!1),k}function iU($){if(typeof TextEncoder<"u")return new TextEncoder().encode($);let q=[];for(let _=0;_<$.length;_++){let K=$.charCodeAt(_);if(K<128)q.push(K);else if(K<2048)q.push(192|K>>6,128|K&63);else if(K<55296||K>=57344)q.push(224|K>>12,128|K>>6&63,128|K&63);else{_++;let P=65536+((K&1023)<<10|$.charCodeAt(_)&1023);q.push(240|P>>18,128|P>>12&63,128|P>>6&63,128|P&63)}}return new Uint8Array(q)}function BU($){let q=[];for(let _=0;_<$.length;_++){let K=$[_].toString(16).padStart(2,"0");q.push(K)}return q.slice(0,4).join("")+"-"+q.slice(4,6).join("")+"-"+q.slice(6,8).join("")+"-"+q.slice(8,10).join("")+"-"+q.slice(10,16).join("")}var aY$=($)=>{if($.startsWith("image/"))return"image";if($.startsWith("video/"))return"video";if($.startsWith("audio/"))return"audio";if($.includes("pdf")||$.includes("document")||$.startsWith("text/"))return"document";return};function dN($){return`http://localhost:${E_("SERVER_PORT","3000")}${$}`}var lN=i$.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,"Invalid UUID format").describe("Unique identifier for the character in UUID format"),tU=i$.object({id:i$.string().describe("Unique identifier for the media"),url:i$.string().describe("URL of the media file"),title:i$.string().optional().describe("Media title"),source:i$.string().optional().describe("Media source"),description:i$.string().optional().describe("Media description"),text:i$.string().optional().describe("Text content associated with the media"),contentType:i$.nativeEnum(OP).optional().describe("Type of media content")}).loose().describe("Media attachment with URL and metadata"),UU=i$.object({text:i$.string().optional().describe("The main text content of the message"),thought:i$.string().optional().describe("Internal thought process or reasoning"),actions:i$.array(i$.string()).optional().describe("Actions to be taken in response"),providers:i$.array(i$.string()).optional().describe("Data providers to use (e.g., KNOWLEDGE)"),source:i$.string().optional().describe("Source of the content"),target:i$.string().optional().describe("Target of the content"),url:i$.string().optional().describe("Related URL"),inReplyTo:lN.optional().describe("UUID of message this is replying to"),attachments:i$.array(tU).optional().describe("Array of media attachments (images, videos, documents, etc.)"),channelType:i$.enum(jP).optional().describe("Type of channel this content is for")}).catchall(i$.unknown()).describe("Content structure for messages in conversation examples"),FU=i$.object({name:i$.string().describe("Name of the speaker (can use {{name1}} placeholder for dynamic names)"),content:UU}).describe("A single message in a conversation example"),QU=i$.object({directory:i$.string().describe("Path to a directory containing knowledge files"),shared:i$.boolean().optional().describe("Whether this knowledge is shared across characters")}).describe("Directory-based knowledge source"),aU=i$.union([i$.string().describe("File path to a knowledge document"),i$.object({path:i$.string().describe("Path to a knowledge file"),shared:i$.boolean().optional().describe("Whether this knowledge is shared across characters")}),QU]).describe("Knowledge source - can be a file path, file object, or directory"),eU=i$.union([i$.string().describe("Template string with placeholders"),i$.function().optional()]).describe("Template for generating text - can be a string template or function"),sU=i$.object({all:i$.array(i$.string()).optional().describe("Style guidelines applied to all types of responses"),chat:i$.array(i$.string()).optional().describe("Style guidelines specific to chat/conversation responses"),post:i$.array(i$.string()).optional().describe("Style guidelines specific to social media posts")}).optional().describe("Style configuration defining how the character communicates across different contexts"),$F=i$.record(i$.string(),i$.union([i$.string(),i$.boolean(),i$.number(),i$.object({}).loose(),i$.array(i$.unknown())])).optional().describe("Character-specific settings like avatar URL, preferences, and configuration"),qF=i$.record(i$.string(),i$.union([i$.string(),i$.boolean(),i$.number()])).optional().describe("Secret values and API keys (should not be committed to version control)"),_F=i$.object({id:lN.optional().describe("Unique identifier for the character"),name:i$.string().min(1,"Character name is required").describe('The name of the character (e.g., "Eliza")'),username:i$.string().optional().describe("Username for the character on various platforms"),system:i$.string().optional().describe("System prompt that defines the character's core behavior and response style"),templates:i$.record(i$.string(),eU).optional().describe("Custom templates for generating different types of content"),bio:i$.union([i$.string(),i$.array(i$.string())]).describe("Character biography - can be a single string or array of biographical points"),messageExamples:i$.array(i$.array(FU)).optional().describe("Example conversations showing how the character responds in different scenarios"),postExamples:i$.array(i$.string()).optional().describe("Example social media posts demonstrating the character's voice and topics"),topics:i$.array(i$.string()).optional().describe("Topics the character is knowledgeable about and engages with"),adjectives:i$.array(i$.string()).optional().describe("Adjectives that describe the character's personality and traits"),knowledge:i$.array(aU).optional().describe("Knowledge sources (files, directories) the character can reference"),plugins:i$.array(i$.string()).optional().describe('List of plugin package names to load (e.g., ["@elizaos/plugin-sql", "@elizaos/plugin-bootstrap"] - these are commonly required)'),settings:$F,secrets:qF,style:sU}).strict().describe("Complete character definition including personality, behavior, and capabilities");function rN($){let q=_F.safeParse($);if(q.success)return{success:!0,data:q.data};return{success:!1,error:{message:`Character validation failed: ${q.error.message}`,issues:q.error.issues}}}function _O$($){try{let q=JSON.parse($);return rN(q)}catch(q){return{success:!1,error:{message:`Invalid JSON: ${q instanceof Error?q.message:"Unknown JSON parsing error"}`}}}}function KO$($){return rN($).success}function I_(){return typeof Buffer<"u"&&typeof Buffer.from==="function"}function KF($){let q=$.replace(/[^0-9a-fA-F]/g,"");if(I_())return Buffer.from(q,"hex");let _=new Uint8Array(q.length/2);for(let K=0;K<_.length;K++)_[K]=parseInt(q.substr(K*2,2),16);return _}function PF($,q="utf8"){if(I_()){let K=q==="utf-8"?"utf8":q;return Buffer.from($,K)}if(q==="base64"){let K=atob($),P=new Uint8Array(K.length);for(let Y=0;Y<K.length;Y++)P[Y]=K.charCodeAt(Y);return P}return new TextEncoder().encode($)}function oN($){if(I_()&&Buffer.isBuffer($))return $.toString("hex");let q=$ instanceof Uint8Array?$:new Uint8Array($),_="";for(let K=0;K<q.length;K++){let P=q[K].toString(16);_+=P.length===1?"0"+P:P}return _}function YF($,q="utf8"){if(I_()&&Buffer.isBuffer($)){let P=q==="utf-8"?"utf8":q;return $.toString(P)}let _=$ instanceof Uint8Array?$:new Uint8Array($);if(q==="hex")return oN(_);if(q==="base64"){let P="";for(let Y=0;Y<_.length;Y++)P+=String.fromCharCode(_[Y]);return btoa(P)}return new TextDecoder().decode(_)}function WT($){if(!$)return!1;if(I_()&&Buffer.isBuffer($))return!0;if($ instanceof Uint8Array||$ instanceof ArrayBuffer)return!0;if(typeof $==="object"&&$!==null&&!Array.isArray($)){let q=$;return q.buffer instanceof ArrayBuffer&&typeof q.byteLength==="number"}return!1}function OF($){if(I_())return Buffer.alloc($);return new Uint8Array($)}function jF($){if(I_())return Buffer.from($);return new Uint8Array($)}function vF($){if(I_()&&$.every((P)=>Buffer.isBuffer(P)))return Buffer.concat($);let q=0;for(let P of $)q+=P.length;let _=new Uint8Array(q),K=0;for(let P of $){let Y=P instanceof Uint8Array?P:new Uint8Array(P);_.set(Y,K),K+=Y.length}return _}function zF($,q,_){if(I_()&&Buffer.isBuffer($))return $.slice(q,_);return($ instanceof Uint8Array?$:new Uint8Array($)).slice(q,_)}function WF($,q){if($.length!==q.length)return!1;let _=$ instanceof Uint8Array?$:new Uint8Array($),K=q instanceof Uint8Array?q:new Uint8Array(q);for(let P=0;P<_.length;P++)if(_[P]!==K[P])return!1;return!0}function JF($){return $.length}function HF($){let q=new Uint8Array($),_=typeof globalThis<"u"?globalThis.crypto||globalThis.webcrypto:void 0;if(_&&typeof _.getRandomValues==="function")_.getRandomValues(q);else for(let K=0;K<$;K++)q[K]=Math.floor(Math.random()*256);return q}var OK={fromHex:KF,fromString:PF,fromBytes:jF,toHex:oN,toString:YF,isBuffer:WT,alloc:OF,concat:vF,slice:zF,equals:WF,byteLength:JF,randomBytes:HF};var jO$=($,q)=>{if(!$.length||q<=0)return"";let _=$.filter((O)=>O.examples&&Array.isArray(O.examples)&&O.examples.length>0);if(!_.length)return"";let K=_.map((O)=>[...O.examples||[]]),P=[],Y=K.map((O,z)=>O.length>0?z:-1).filter((O)=>O!==-1);while(P.length<q&&Y.length>0){let O=Math.floor(Math.random()*Y.length),z=Y[O],T=K[z],H=Math.floor(Math.random()*T.length);if(P.push(T.splice(H,1)[0]),T.length===0)Y.splice(O,1)}return TF(P)},TF=($)=>{return $.map((_)=>{let K=Array.from({length:5},()=>i5({dictionaries:[B5]}));return`
|
|
433
433
|
${_.map((Y)=>{let O=`${Y.name}: ${Y.content.text}`;for(let z=0;z<K.length;z++)O=O.replaceAll(`{{name${z+1}}}`,K[z]);return O}).join(`
|
|
434
434
|
`)}`}).join(`
|
|
435
435
|
`)};function vO$($){if(!$?.length)return"";return[...$].sort(()=>Math.random()-0.5).map((q)=>q.name).join(", ")}function zO$($){if(!$?.length)return"";return[...$].sort(()=>Math.random()-0.5).map((q)=>`- **${q.name}**: ${q.description||"No description available"}`).join(`
|
|
@@ -672,15 +672,15 @@ Here are the actions taken by the assistant to fulfill the request:
|
|
|
672
672
|
<text>Your final message to the user</text>
|
|
673
673
|
</response>
|
|
674
674
|
</output>
|
|
675
|
-
`;async function RO$($,q,_){let K=K_($,_),P=await $.getWorld(K);if(!P||!P.metadata?.roles)return"NONE";if(P.metadata.roles[q])return P.metadata.roles[q];return"NONE"}async function IO$($,q){if(!q)return V6.error({src:"core:roles",agentId:$.agentId},"User ID is required to find server"),null;let _=await $.getAllWorlds();if(!_||_.length===0)return V6.debug({src:"core:roles",agentId:$.agentId},"No worlds found for agent"),null;let K=[];for(let P of _)if(P.metadata?.ownership?.ownerId===q)K.push(P);return K.length?K:null}var Vq=[];for(let $=0;$<256;++$)Vq.push(($+256).toString(16).slice(1));function aN($,q=0){return(Vq[$[q+0]]+Vq[$[q+1]]+Vq[$[q+2]]+Vq[$[q+3]]+"-"+Vq[$[q+4]]+Vq[$[q+5]]+"-"+Vq[$[q+6]]+Vq[$[q+7]]+"-"+Vq[$[q+8]]+Vq[$[q+9]]+"-"+Vq[$[q+10]]+Vq[$[q+11]]+Vq[$[q+12]]+Vq[$[q+13]]+Vq[$[q+14]]+Vq[$[q+15]]).toLowerCase()}var wT,AF=new Uint8Array(16);function fT(){if(!wT){if(typeof crypto>"u"||!crypto.getRandomValues)throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");wT=crypto.getRandomValues.bind(crypto)}return wT(AF)}var kF=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ZT={randomUUID:kF};function GF($,q,_){$=$||{};let K=$.random??$.rng?.()??fT();if(K.length<16)throw Error("Random bytes length must be >= 16");if(K[6]=K[6]&15|64,K[8]=K[8]&63|128,q){if(_=_||0,_<0||_+16>q.length)throw RangeError(`UUID byte range ${_}:${_+15} is out of buffer bounds`);for(let P=0;P<16;++P)q[_+P]=K[P];return q}return aN(K)}function VF($,q,_){if(ZT.randomUUID&&!q&&!$)return ZT.randomUUID();return GF($,q,_)}var q8=VF;function G1($){if(typeof $!=="object"||$===null)return!1;if(Array.isArray($))return!1;if(WT($))return!1;if($ instanceof Date)return!1;if($ instanceof RegExp)return!1;if($ instanceof Map)return!1;if($ instanceof Set)return!1;if($ instanceof WeakMap)return!1;if($ instanceof WeakSet)return!1;if($ instanceof Error)return!1;if($ instanceof Promise)return!1;return!0}var V1=new Map;class XT{async handleMessage($,q,_,K){let P={maxRetries:K?.maxRetries??3,timeoutDuration:K?.timeoutDuration??3600000,useMultiStep:K?.useMultiStep??n2(String($.getSetting("USE_MULTI_STEP")||"")),maxMultiStepIterations:K?.maxMultiStepIterations??parseInt(String($.getSetting("MAX_MULTISTEP_ITERATIONS")||"6")),onStreamChunk:K?.onStreamChunk},Y=void 0,O=e2(q8());try{if($.logger.info({src:"service:message",agentId:$.agentId,entityId:q.entityId,roomId:q.roomId},"Message received"),!V1.has($.agentId))V1.set($.agentId,new Map);let z=V1.get($.agentId);if(!z)throw Error("Agent responses map not found");let T=z.get(q.roomId);if(T)V6.debug({src:"service:message",roomId:q.roomId,previousResponseId:T,responseId:O},"Updating response ID");z.set(q.roomId,O);let H=$.startRun(q.roomId),f=Date.now();await $.emitEvent("RUN_STARTED",{runtime:$,source:"messageHandler",runId:H,messageId:q.id,roomId:q.roomId,entityId:q.entityId,startTime:f,status:"started"});let w=new Promise((h,C)=>{Y=setTimeout(async()=>{await $.emitEvent("RUN_TIMEOUT",{runtime:$,source:"messageHandler",runId:H,messageId:q.id,roomId:q.roomId,entityId:q.entityId,startTime:f,status:"timeout",endTime:Date.now(),duration:Date.now()-f,error:"Run exceeded timeout"}),C(Error("Run exceeded timeout"))},P.timeoutDuration)}),k;if(P.onStreamChunk){let h=new B2;k={onStreamChunk:async(C,I)=>{if(h.done)return;let D=h.push(C);if(D)await P.onStreamChunk(D,I)},messageId:O}}let S=C1(k,()=>this.processMessage($,q,_,O,H,f,P)),N=await Promise.race([S,w]);return clearTimeout(Y),N}finally{clearTimeout(Y)}}async processMessage($,q,_,K,P,Y,O){try{let z=V1.get($.agentId);if(!z)throw Error("Agent responses map not found");if(q.entityId===$.agentId)return $.logger.debug({src:"service:message",agentId:$.agentId},"Skipping message from self"),await this.emitRunEnded($,P,q,Y,"self"),{didRespond:!1,responseContent:null,responseMessages:[],state:{values:{},data:{},text:""},mode:"none"};$.logger.debug({src:"service:message",messagePreview:pN(q.content.text||"",50)},"Processing message"),$.logger.debug({src:"service:message"},"Saving message to memory");let T;if(q.id){let j=await $.getMemoryById(q.id);if(j)$.logger.debug({src:"service:message"},"Memory already exists, skipping creation"),T=j;else{let W=await $.createMemory(q,"messages");T={...q,id:W}}await $.queueEmbeddingGeneration(T,"high")}else{let j=await $.createMemory(q,"messages");q.id=j,T={...q,id:j},await $.queueEmbeddingGeneration(T,"normal")}let H=await $.getParticipantUserState(q.roomId,$.agentId);if(n2(String($.getSetting("BOOTSTRAP_DEFLLMOFF")||""))&&H===null)return $.logger.debug({src:"service:message"},"LLM is off by default"),await this.emitRunEnded($,P,q,Y,"off"),{didRespond:!1,responseContent:null,responseMessages:[],state:{values:{},data:{},text:""},mode:"none"};if(H==="MUTED"&&!q.content.text?.toLowerCase().includes($.character.name.toLowerCase()))return $.logger.debug({src:"service:message",roomId:q.roomId},"Ignoring muted room"),await this.emitRunEnded($,P,q,Y,"muted"),{didRespond:!1,responseContent:null,responseMessages:[],state:{values:{},data:{},text:""},mode:"none"};let w=await $.composeState(q,["ANXIETY","ENTITIES","CHARACTER","RECENT_MESSAGES","ACTIONS"],!0),k=q.content.mentionContext,S=await $.getRoom(q.roomId);if(q.content.attachments&&q.content.attachments.length>0){if(q.content.attachments=await this.processAttachments($,q.content.attachments),q.id)await $.updateMemory({id:q.id,content:q.content})}let N=this.shouldRespond($,q,S??void 0,k);$.logger.debug({src:"service:message",responseDecision:N},"Response decision");let h=!0;if(N.skipEvaluation)$.logger.debug({src:"service:message",agentName:$.character.name,reason:N.reason},"Skipping LLM evaluation"),h=N.shouldRespond;else{let j=A1({state:w,template:$.character.templates?.shouldRespondTemplate||BN});$.logger.debug({src:"service:message",agentName:$.character.name,reason:N.reason},"Using LLM evaluation");let W=await $.useModel(k6.TEXT_SMALL,{prompt:j});$.logger.debug({src:"service:message",response:W},"LLM evaluation result");let X=YK(W);$.logger.debug({src:"service:message",responseObject:X},"Parsed evaluation result");let J=["IGNORE","NONE"],Z=X?.action;h=typeof Z==="string"&&!J.includes(Z.toUpperCase())}let C=null,I=[],D="none";if(h){let j=O.useMultiStep?await this.runMultiStepCore($,q,w,_,O,K):await this.runSingleShotCore($,q,w,O,K);if(C=j.responseContent,I=j.responseMessages,w=j.state,D=j.mode,z.get(q.roomId)!==K)return $.logger.info({src:"service:message",agentId:$.agentId,roomId:q.roomId},"Response discarded - newer message being processed"),{didRespond:!1,responseContent:null,responseMessages:[],state:w,mode:"none"};if(C&&q.id)C.inReplyTo=K_($,q.id);if(C?.providers?.length&&C.providers.length>0)w=await $.composeState(q,C.providers||[]);if(C){if(D==="simple"){if(C.providers&&C.providers.length>0)$.logger.debug({src:"service:message",providers:C.providers},"Simple response used providers");if(_)await _(C)}else if(D==="actions")await $.processActions(q,I,w,async(X)=>{if($.logger.debug({src:"service:message",content:X},"Action callback"),C.actionCallbacks=X,_)return _(X);return[]},{onStreamChunk:O.onStreamChunk})}}else{$.logger.debug({src:"service:message"},"Agent decided not to respond");let j=z.get(q.roomId),W=n2(String($.getSetting("BOOTSTRAP_KEEP_RESP")||""));if(j!==K&&!W)return $.logger.info({src:"service:message",agentId:$.agentId,roomId:q.roomId},"Ignore response discarded - newer message being processed"),await this.emitRunEnded($,P,q,Y,"replaced"),{didRespond:!1,responseContent:null,responseMessages:[],state:w,mode:"none"};if(!q.id)return $.logger.error({src:"service:message",agentId:$.agentId},"Message ID is missing, cannot create ignore response"),await this.emitRunEnded($,P,q,Y,"noMessageId"),{didRespond:!1,responseContent:null,responseMessages:[],state:w,mode:"none"};let X={thought:"Agent decided not to respond to this message.",actions:["IGNORE"],simple:!0,inReplyTo:K_($,q.id)};if(_)await _(X);let J={id:e2(q8()),entityId:$.agentId,agentId:$.agentId,content:X,roomId:q.roomId,createdAt:Date.now()};await $.createMemory(J,"messages"),$.logger.debug({src:"service:message",memoryId:J.id},"Saved ignore response to memory")}if(z.delete(q.roomId),z.size===0)V1.delete($.agentId);await $.evaluate(q,w,h,async(j)=>{if($.logger.debug({src:"service:message",content:j},"Evaluate callback"),C)C.evalCallbacks=j;if(_)return _(j);return[]},I);let L="noname";if(q.metadata&&"entityName"in q.metadata&&typeof q.metadata.entityName==="string")L=q.metadata.entityName;let g=q.content?.channelType==="DM",y=L;if(!g){let j=await $.getRoomsByIds([q.roomId]);if(j?.length){let W=j[0];if(W.name)y=W.name;if(W.worldId){let X=await $.getWorld(W.worldId);if(X)y=X.name+"-"+y}}}let p=new Date,o=w.data?.providers,Q=(typeof o==="object"&&o!==null&&"ACTIONS"in o?o.ACTIONS:void 0)?.data?.actionsData,m=Array.isArray(Q)?Q.map((j)=>j.name):[-1],e={at:p.toString(),timestamp:parseInt(""+p.getTime()/1000),messageId:q.id,userEntityId:q.entityId,input:q.content.text,thought:C?.thought,simple:C?.simple,availableActions:m,actions:C?.actions,providers:C?.providers,irt:C?.inReplyTo,output:C?.text,entityName:L,source:q.content.source,channelType:q.content.channelType,roomName:y};return await $.emitEvent("RUN_ENDED",{runtime:$,source:"messageHandler",runId:P,messageId:q.id,roomId:q.roomId,entityId:q.entityId,startTime:Y,status:"completed",endTime:Date.now(),duration:Date.now()-Y}),{didRespond:h,responseContent:C,responseMessages:I,state:w,mode:D}}catch(z){let T=z instanceof Error?z.message:String(z);throw $.logger.error({src:"service:message",agentId:$.agentId,error:z},"Error processing message"),await $.emitEvent("RUN_ENDED",{runtime:$,source:"messageHandler",runId:P,messageId:q.id,roomId:q.roomId,entityId:q.entityId,startTime:Y,status:"completed",endTime:Date.now(),duration:Date.now()-Y,error:T}),z}}shouldRespond($,q,_,K){if(!_)return{shouldRespond:!1,skipEvaluation:!0,reason:"no room context"};function P(N){if(!N||typeof N!=="string")return[];return N.trim().replace(/^\[|\]$/g,"").split(",").map((C)=>C.trim()).filter(Boolean)}let Y=["DM","VOICE_DM","SELF","API"],O=["client_chat"],z=P($.getSetting("ALWAYS_RESPOND_CHANNELS")||$.getSetting("SHOULD_RESPOND_BYPASS_TYPES")),T=P($.getSetting("ALWAYS_RESPOND_SOURCES")||$.getSetting("SHOULD_RESPOND_BYPASS_SOURCES")),H=new Set([...Y.map((N)=>N.toString()),...z].map((N)=>N.trim().toLowerCase())),f=[...O,...T].map((N)=>N.trim().toLowerCase()),w=_.type?.toString().toLowerCase(),k=q.content.source?.toLowerCase()||"";if(H.has(w))return{shouldRespond:!0,skipEvaluation:!0,reason:`private channel: ${w}`};if(f.some((N)=>k.includes(N)))return{shouldRespond:!0,skipEvaluation:!0,reason:`whitelisted source: ${k}`};if(!!(K?.isMention||K?.isReply))return{shouldRespond:!0,skipEvaluation:!0,reason:`platform ${K?.isMention?"mention":"reply"}`};return{shouldRespond:!1,skipEvaluation:!1,reason:"needs LLM evaluation"}}async processAttachments($,q){if(!q||q.length===0)return[];$.logger.debug({src:"service:message",count:q.length},"Processing attachments");let _=[];for(let K of q){let P={...K},Y=/^(http|https):\/\//.test(K.url),O=Y?K.url:dN(K.url);if(K.contentType==="image"&&!K.description){$.logger.debug({src:"service:message",imageUrl:K.url},"Generating image description");let z=O;if(!Y){let H=await fetch(O);if(!H.ok)throw Error(`Failed to fetch image: ${H.statusText}`);let f=await H.arrayBuffer(),w=Buffer.from(f);z=`data:${H.headers.get("content-type")||"application/octet-stream"};base64,${w.toString("base64")}`}let T=await $.useModel(k6.IMAGE_DESCRIPTION,{prompt:UN,imageUrl:z});if(typeof T==="string"){let H=YK(T);if(H&&(H.description||H.text))P.description=(typeof H.description==="string"?H.description:"")||"",P.title=(typeof H.title==="string"?H.title:"Image")||"Image",P.text=(typeof H.text==="string"?H.text:"")||(typeof H.description==="string"?H.description:"")||"",$.logger.debug({src:"service:message",descriptionPreview:P.description?.substring(0,100)},"Generated image description");else{let f=T,w=f.match(/<title>([^<]+)<\/title>/),k=f.match(/<description>([^<]+)<\/description>/),S=f.match(/<text>([^<]+)<\/text>/);if(w||k||S)P.title=w?.[1]||"Image",P.description=k?.[1]||"",P.text=S?.[1]||k?.[1]||"",$.logger.debug({src:"service:message",descriptionPreview:P.description?.substring(0,100)},"Used fallback XML parsing for description");else $.logger.warn({src:"service:message"},"Failed to parse XML response for image description")}}else if(T&&typeof T==="object"&&"description"in T){let H=T;P.description=H.description,P.title=H.title||"Image",P.text=H.description,$.logger.debug({src:"service:message",descriptionPreview:P.description?.substring(0,100)},"Generated image description")}else $.logger.warn({src:"service:message"},"Unexpected response format for image description")}else if(K.contentType==="document"&&!K.text){let z=await fetch(O);if(!z.ok)throw Error(`Failed to fetch document: ${z.statusText}`);let T=z.headers.get("content-type")||"";if(T.startsWith("text/plain")){$.logger.debug({src:"service:message",documentUrl:K.url},"Processing plain text document");let f=await z.text();P.text=f,P.title=P.title||"Text File",$.logger.debug({src:"service:message",textPreview:P.text?.substring(0,100)},"Extracted text content")}else $.logger.warn({src:"service:message",contentType:T},"Skipping non-plain-text document")}_.push(P)}return _}async runSingleShotCore($,q,_,K,P){if(_=await $.composeState(q,["ACTIONS"]),!_.values?.actionNames)$.logger.warn({src:"service:message"},"actionNames data missing from state");let Y=A1({state:_,template:$.character.templates?.messageHandlerTemplate||tN}),O=null,z=0;while(z<K.maxRetries&&(!O?.thought||!O?.actions)){let f=await $.useModel(k6.TEXT_LARGE,{prompt:Y});$.logger.info({src:"service:message",responseLength:f.length,responsePreview:f.substring(0,500)},"Raw LLM response received");let w=YK(f);if($.logger.info({src:"service:message",parsedXml:w?{hasThought:!!w.thought,thoughtPreview:typeof w.thought==="string"?w.thought.substring(0,100):null,hasActions:!!w.actions,actions:w.actions,hasText:!!w.text,textPreview:typeof w.text==="string"?w.text.substring(0,100):null}:null},"Parsed XML content"),w){let k=typeof w.thought==="string"?w.thought:"",S=Array.isArray(w.actions)?w.actions.filter((I)=>typeof I==="string"):typeof w.actions==="string"?[w.actions]:["IGNORE"],N=Array.isArray(w.providers)?w.providers.filter((I)=>typeof I==="string"):[],h=typeof w.text==="string"?w.text:"",C=typeof w.simple==="boolean"?w.simple:!1;O={...w,thought:k,actions:S,providers:N,text:h,simple:C}}else O=null,$.logger.warn({src:"service:message",responsePreview:f.substring(0,300)},"parseKeyValueXml returned null - XML parsing failed");if(z++,!O?.thought||!O?.actions)$.logger.warn({src:"service:message",retries:z,maxRetries:K.maxRetries,hasThought:!!O?.thought,hasActions:!!O?.actions,actionsValue:O?.actions},"Missing required fields (thought or actions), retrying")}if(!O)return{responseContent:null,responseMessages:[],state:_,mode:"none"};if(O.actions&&O.actions.length>1){let f=(k)=>typeof k==="string"&&k.toUpperCase()==="IGNORE";if(O.actions.some(f))if(!O.text||O.text.trim()==="")O.actions=["IGNORE"];else{let k=O.actions.filter((S)=>!f(S));O.actions=k.length?k:["REPLY"]}}let T=O.actions?.length===1&&typeof O.actions[0]==="string"&&O.actions[0].toUpperCase()==="REPLY"&&(!O.providers||O.providers.length===0);O.simple=T,O.responseId=P;let H=[{id:P,entityId:$.agentId,agentId:$.agentId,content:O,roomId:q.roomId,createdAt:Date.now()}];return{responseContent:O,responseMessages:H,state:_,mode:T&&O.text?"simple":"actions"}}async runMultiStepCore($,q,_,K,P,Y){let O=[],z=_,T=0;while(T<P.maxMultiStepIterations){T++,$.logger.debug({src:"service:message",iteration:T,maxIterations:P.maxMultiStepIterations},"Starting multi-step iteration"),z=await $.composeState(q,["RECENT_MESSAGES","ACTION_STATE"]),z.data.actionResults=O;let h=A1({state:z,template:$.character.templates?.multiStepDecisionTemplate||FN}),C=await $.useModel(k6.TEXT_LARGE,{prompt:h}),I=YK(C);if(!I){$.logger.warn({src:"service:message",iteration:T},"Failed to parse multi-step result"),O.push({data:{actionName:"parse_error"},success:!1,error:"Failed to parse step result"});break}let D=typeof I.thought==="string"?I.thought:void 0,L=Array.isArray(I.providers)?I.providers:[],g=typeof I.action==="string"?I.action:void 0,y=I.isFinish;if(y==="true"||y===!0){if($.logger.info({src:"service:message",agentId:$.agentId,iteration:T},"Multi-step task completed"),K)await K({text:"",thought:typeof D==="string"?D:""});break}let p=Array.isArray(L)?L:[];if((!p||p.length===0)&&!g){$.logger.warn({src:"service:message",iteration:T},"No providers or action specified, forcing completion");break}let o=parseInt(String($.getSetting("PROVIDERS_TOTAL_TIMEOUT_MS")||"1000")),s=new Set,Q=p.filter((J)=>typeof J==="string").map(async(J)=>{let Z=$.providers.find((G)=>G.name===J);if(!Z)return $.logger.warn({src:"service:message",providerName:J},"Provider not found"),s.add(J),{providerName:J,success:!1,error:`Provider not found: ${J}`};try{let G=await Z.get($,q,_);if(s.add(J),!G)return $.logger.warn({src:"service:message",providerName:J},"Provider returned no result"),{providerName:J,success:!1,error:"Provider returned no result"};let M=!!G.text;return{providerName:J,success:M,text:M?G.text:void 0,error:M?void 0:"Provider returned no result"}}catch(G){s.add(J);let M=G instanceof Error?G.message:String(G);return $.logger.error({src:"service:message",providerName:J,error:M},"Provider execution failed"),{providerName:J,success:!1,error:M}}}),m,e=new Promise((J)=>{m=setTimeout(()=>J("timeout"),o)}),j=Promise.allSettled(Q),W=await Promise.race([j,e]);if(clearTimeout(m),W==="timeout"){let Z=p.filter((G)=>typeof G==="string").filter((G)=>!s.has(G));if($.logger.error({src:"service:message",timeoutMs:o,pendingProviders:Z,completedProviders:Array.from(s)},`Providers took too long (>${o}ms) - slow providers: ${Z.join(", ")}`),K)await K({text:"Providers took too long to respond. Please optimize your providers or use caching.",actions:[],thought:"Provider timeout - pipeline aborted"});return{responseContent:null,responseMessages:[],state:_,mode:"none"}}let X=W;for(let J of X)if(J.status==="fulfilled"){let{providerName:Z,success:G,text:M,error:A}=J.value;if(O.push({data:{actionName:Z},success:G,text:M,error:A}),K)await K({text:`\uD83D\uDD0E Provider executed: ${Z}`,actions:[Z],thought:typeof D==="string"?D:""})}else $.logger.error({src:"service:message",error:J.reason||"Unknown provider failure"},"Unexpected provider promise rejection");if(g){let J={text:`\uD83D\uDD0E Executing action: ${g}`,actions:[g],thought:D||""};await $.processActions(q,[{id:q8(),entityId:$.agentId,roomId:q.roomId,createdAt:Date.now(),content:J}],_,async()=>{return[]});let Z=$.stateCache?.get(`${q.id}_action_results`),G=Array.isArray(Z?.values?.actionResults)?Z.values.actionResults:[],M=G.length>0&&typeof G[0]==="object"&&G[0]!==null?G[0]:null,A=M&&"success"in M&&typeof M.success==="boolean"?M.success:!1;O.push({data:{actionName:typeof g==="string"?g:"unknown"},success:A,text:M&&"text"in M&&typeof M.text==="string"?M.text:void 0,values:M&&"values"in M&&typeof M.values==="object"&&M.values!==null?M.values:void 0,error:A?void 0:M&&("text"in M)&&typeof M.text==="string"?M.text:void 0})}}if(T>=P.maxMultiStepIterations)$.logger.warn({src:"service:message",maxIterations:P.maxMultiStepIterations},"Reached maximum iterations, forcing completion");z=await $.composeState(q,["RECENT_MESSAGES","ACTION_STATE"]);let H=A1({state:z,template:$.character.templates?.multiStepSummaryTemplate||QN}),f=await $.useModel(k6.TEXT_LARGE,{prompt:H}),w=YK(f),k=null,S=w?.text;if(typeof S==="string"&&S)k={actions:["MULTI_STEP_SUMMARY"],text:S,thought:(typeof w.thought==="string"?w.thought:"Final user-facing message after task completion.")||"Final user-facing message after task completion.",simple:!0,responseId:Y};let N=k?[{id:Y,entityId:$.agentId,agentId:$.agentId,content:k,roomId:q.roomId,createdAt:Date.now()}]:[];return{responseContent:k,responseMessages:N,state:z,mode:k?"simple":"none"}}async emitRunEnded($,q,_,K,P){await $.emitEvent("RUN_ENDED",{runtime:$,source:"messageHandler",runId:q,messageId:_.id,roomId:_.roomId,entityId:_.entityId,startTime:K,status:P,endTime:Date.now(),duration:Date.now()-K})}async deleteMessage($,q){try{if(!q.id){$.logger.error({src:"service:message",agentId:$.agentId},"Cannot delete memory: message ID is missing");return}$.logger.info({src:"service:message",agentId:$.agentId,messageId:q.id,roomId:q.roomId},"Deleting memory"),await $.deleteMemory(q.id),$.logger.debug({src:"service:message",messageId:q.id},"Successfully deleted memory")}catch(_){throw $.logger.error({src:"service:message",agentId:$.agentId,error:_},"Error in deleteMessage"),_}}async clearChannel($,q,_){try{$.logger.info({src:"service:message",agentId:$.agentId,channelId:_,roomId:q},"Clearing message memories from channel");let K=await $.getMemoriesByRoomIds({tableName:"messages",roomIds:[q]});$.logger.debug({src:"service:message",channelId:_,count:K.length},"Found message memories to delete");let P=0;for(let Y of K)if(Y.id)try{await $.deleteMemory(Y.id),P++}catch(O){$.logger.warn({src:"service:message",error:O,memoryId:Y.id},"Failed to delete message memory")}$.logger.info({src:"service:message",agentId:$.agentId,channelId:_,deletedCount:P,totalCount:K.length},"Cleared message memories from channel")}catch(K){throw $.logger.error({src:"service:message",agentId:$.agentId,error:K},"Error in clearChannel"),K}}}var D_=($)=>{switch($){case 97:case 101:case 105:case 111:case 117:case 121:return!0;default:return!1}},SF=($)=>{switch($){case 97:case 101:case 105:case 111:case 117:case 121:case 119:case 120:case 89:return!0;default:return!1}},MF=($)=>{switch($){case 99:case 100:case 101:case 103:case 104:case 107:case 109:case 110:case 114:case 116:return!0;default:return!1}},NF=($)=>{switch($){case 98:case 100:case 102:case 103:case 109:case 110:case 112:case 114:case 116:return!0;default:return!1}},eN=($,q)=>{return q>=2&&D_($[q-2])&&(q===2&&!D_($[q-1])||q>=3&&!D_($[q-3])&&!SF($[q-1]))},CF=($)=>{if($.length<3)return $;if($.length<=6)switch($){case"ski":return"ski";case"skies":return"sky";case"dying":return"die";case"lying":return"lie";case"tying":return"tie";case"idly":return"idl";case"gently":return"gentl";case"ugly":return"ugli";case"early":return"earli";case"only":return"onli";case"singly":return"singl";case"sky":case"news":case"howe":case"atlas":case"cosmos":case"bias":case"andes":return $}let q=$.charCodeAt(0)===39?1:0,_=$.length-q,K=Array(_),P=!1;for(let f=0;f<_;++f){let w=$.charCodeAt(f+q);if(w===121&&(f===0||D_(K[f-1]))){P=!0,K[f]=89;continue}K[f]=w}if(K[_-1]===39)--_;if(_>=2&&K[_-2]===39&&K[_-1]===115)_-=2;let Y=0;while(Y<_&&!D_(K[Y]))++Y;if(Y<_)++Y;let O=Y;if(_>=5&&(K[0]===103&&K[1]===101&&K[2]===110&&K[3]===101&&K[4]===114||K[0]===97&&K[1]===114&&K[2]===115&&K[3]===101&&K[4]===110))O=5;else if(_>=6&&K[0]===99&&K[1]===111&&K[2]===109&&K[3]===109&&K[4]===117&&K[5]===110)O=6;else{while(O<_&&D_(K[O]))++O;if(O<_)++O}let z=O;while(z<_&&!D_(K[z]))++z;while(z<_&&D_(K[z]))++z;if(z<_)++z;if(_>=3){if(K[_-1]===115){if(_>=4&&K[_-2]===101&&K[_-3]===115&&K[_-4]===115)_-=2;else if(K[_-2]===101&&K[_-3]===105)_-=_>=5?2:1;else if(K[_-2]!==117&&K[_-2]!==115&&Y<_-1)_-=1}else if(K[_-1]===100&&K[_-2]===101&&K[_-3]===105)_-=_>=5?2:1}if(_===6&&(K[0]===105&&K[1]===110&&K[2]===110&&K[3]===105&&K[4]===110&&K[5]===103||K[0]===111&&K[1]===117&&K[2]===116&&K[3]===105&&K[4]===110&&K[5]===103||K[0]===101&&K[1]===120&&K[2]===99&&K[3]===101&&K[4]===101&&K[5]===100)||_===7&&(K[0]===99&&K[1]===97&&K[2]===110&&K[3]===110&&K[4]===105&&K[5]===110&&K[6]===103||K[0]===104&&K[1]===101&&K[2]===114&&K[3]===114&&K[4]===105&&K[5]===110&&K[6]===103||K[0]===101&&K[1]===97&&K[2]===114&&K[3]===114&&K[4]===105&&K[5]===110&&K[6]===103||K[0]===112&&K[1]===114&&K[2]===111&&K[3]===99&&K[4]===101&&K[5]===101&&K[6]===100||K[0]===115&&K[1]===117&&K[2]===99&&K[3]===99&&K[4]===101&&K[5]===101&&K[6]===100)){let f="";for(let w=0;w<_;++w)f+=String.fromCharCode(K[w]);return f}let T=_>=2&&K[_-1]===121&&K[_-2]===108?_-2:_;if(T>=3)if(K[T-3]===101&&K[T-2]===101&&K[T-1]===100){if(T>=O+3)_=T-1}else{if(K[T-2]===101&&K[T-1]===100)T-=2;else if(K[T-3]===105&&K[T-2]===110&&K[T-1]===103)T-=3;else T=-1;if(T>=0&&Y<=T){if(_=T,_>=2){if(K[_-1]===116&&K[_-2]===97||K[_-1]===108&&K[_-2]===98||K[_-1]===122&&K[_-2]===105)K[_]=101,++_;else if(K[_-2]===K[_-1]&&NF(K[_-1]))--_;else if(O>=_&&eN(K,_))K[_]=101,++_}}}if(_>=3&&(K[_-1]===89||K[_-1]===121)&&!D_(K[_-2]))K[_-1]=105;if(_>=O+2)switch(K[_-1]){case 108:if(_>=O+6&&K[_-2]===97&&K[_-3]===110&&K[_-4]===111&&K[_-5]===105&&K[_-6]===116)if(_>=7&&K[_-7]===97){if(_>=O+7)_-=4,K[_-1]=101}else _-=2;break;case 110:if(_>=O+5&&K[_-2]===111&&K[_-3]===105&&K[_-4]===116&&K[_-5]===97)if(_>=7&&K[_-6]===122&&K[_-7]===105){if(_>=O+7)_-=4,K[_-1]=101}else _-=2,K[_-1]=101;break;case 114:if(_>=O+4){if(K[_-2]===101){if(K[_-3]===122&&K[_-4]===105)--_}else if(K[_-2]===111){if(K[_-3]===116&&K[_-4]===97)--_,K[_-1]=101}}break;case 115:if(_>=O+7&&K[_-2]===115&&K[_-3]===101&&K[_-4]===110&&(K[_-5]===108&&K[_-6]===117&&K[_-7]===102||K[_-5]===115&&K[_-6]===117&&K[_-7]===111||K[_-5]===101&&K[_-6]===118&&K[_-7]===105))_-=4;break;case 109:if(_>=O+5&&K[_-2]===115&&K[_-3]===105&&K[_-4]===108&&K[_-5]===97)_-=3;break;case 105:if(K[_-2]===99){if(_>=O+4&&(K[_-4]===101||K[_-4]===97)&&K[_-3]===110)K[_-1]=101}else if(K[_-2]===103){if(_>=O+3&&_>=4&&K[_-2]===103&&K[_-3]===111&&K[_-4]===108)--_}else if(K[_-2]===116){if(_>=O+5&&K[_-3]===105){if(K[_-4]===108){if(_>=6&&K[_-5]===105&&K[_-6]===98){if(_>=O+6)_-=3,K[_-2]=108,K[_-1]=101}else if(K[_-4]===108&&K[_-5]===97)_-=3}else if(K[_-4]===118&&K[_-5]===105)_-=2,K[_-1]=101}}else if(K[_-2]===108&&_>=3){if(K[_-3]===98){if(_>=4&&K[_-4]===97){if(_>=O+4)K[_-1]=101}else if(_>=O+3)K[_-1]=101}else if(K[_-3]===108){if(_>=5&&K[_-4]===117&&K[_-5]===102){if(_>=O+5)_-=2}else if(_>=O+4&&K[_-4]===97)_-=2}else if(K[_-3]===115){if(_>=6&&K[_-4]===115&&K[_-5]===101&&K[_-6]===108){if(_>=O+6)_-=2}else if(_>=O+5&&K[_-4]===117&&K[_-5]===111)_-=2}else if(_>=5&&K[_-3]===116&&K[_-4]===110&&K[_-5]===101){if(_>=O+5)_-=2}else if(MF(K[_-3]))_-=2}}if(_>=O+3)switch(K[_-1]){case 108:if(K[_-3]===99){if(_>=O+4&&K[_-4]===105&&K[_-2]===97)_-=2}else if(K[_-3]===102){if(K[_-2]===117)_-=3}else if(K[_-3]===110){if(_>=O+6&&K[_-2]===97&&K[_-4]===111&&K[_-5]===105&&K[_-6]===116)if(_>=7&&K[_-7]===97){if(_>=O+7)_-=4,K[_-1]=101}else _-=2}break;case 101:if(K[_-2]===122){if(_>=O+5&&K[_-3]===105&&K[_-4]===108&&K[_-5]===97)_-=3}else if(K[_-2]===116){if(_>=O+5&&K[_-3]===97&&K[_-4]===99&&K[_-5]===105)_-=3}else if(K[_-2]===118){if(_>=z+5&&K[_-3]===105&&K[_-4]===116&&K[_-5]===97)_-=5}break;case 105:if(_>=O+5&&K[_-2]===116&&K[_-3]===105&&K[_-4]===99&&K[_-5]===105)_-=3;break;case 115:if(_>=O+4&&K[_-2]===115&&K[_-3]===101&&K[_-4]===110)_-=4}if(_>=z+2)switch(K[_-1]){case 110:if(_>=z+3&&K[_-2]===111&&K[_-3]===105&&(K[_-4]===115||K[_-4]===116))_-=3;break;case 108:if(K[_-2]===97)_-=2;break;case 114:if(K[_-2]===101)_-=2;break;case 99:if(K[_-2]===105)_-=2;break;case 109:if(_>=z+3&&K[_-2]===115&&K[_-3]===105)_-=3;break;case 105:if(_>=z+3&&K[_-2]===116&&K[_-3]===105)_-=3;break;case 115:if(_>=z+3&&K[_-2]===117&&K[_-3]===111)_-=3;break;case 116:if(_>=z+3&&K[_-2]===110){if(K[_-3]===97)_-=3;else if(K[_-3]===101)if(_>=4&&K[_-4]===109){if(_>=5&&K[_-5]===101){if(_>=z+5)_-=5}else if(_>=z+4)_-=4}else _-=3}break;case 101:if(K[_-2]===99){if(_>=z+4&&K[_-3]===110&&(K[_-4]===97||K[_-4]===101))_-=4}else if(K[_-2]===108){if(_>=z+4&&K[_-3]===98&&(K[_-4]===97||K[_-4]===105))_-=4}else if(K[_-2]===116){if(_>=z+3&&K[_-3]===97)_-=3}else if(_>=z+3&&(K[_-2]===118||K[_-2]===122)&&K[_-3]===105)_-=3}if(_>=O+1&&(_>=z+1&&K[_-1]===108&&K[_-2]===108||K[_-1]===101&&(_>=z+1||!eN(K,_-1))))--_;let H="";if(P)for(let f=0;f<_;++f)H+=String.fromCharCode(K[f]===89?121:K[f]);else for(let f=0;f<_;++f)H+=String.fromCharCode(K[f]);return H},EF={k1:1.2,b:0.75,minLength:2,stopWords:new Set(["a","an","and","are","as","at","be","by","for","from","has","he","in","is","it","its","of","on","that","the","to","was","were","will","with"]),stemming:!1,stemWords:($)=>$};class AT{stopWords;minLength;stemming;stemmingRules;static DEFAULT_OPTIONS={stopWords:new Set,minLength:2,stemming:!1,stemmingRules:[]};constructor($={}){let q={...AT.DEFAULT_OPTIONS,...$};this.stopWords=q.stopWords,this.minLength=q.minLength,this.stemming=q.stemming,this.stemmingRules=q.stemmingRules.map((_)=>({..._,pattern:typeof _.pattern==="string"?new RegExp(_.pattern):_.pattern}))}tokenize($,q=!1){if(!$)throw Error("Input text cannot be null or empty");let _=Date.now(),K=$.split(/\s+/).filter((z)=>z.length>0),Y=this.cleanText($).split(/\s+/).filter((z)=>this.isValidToken(z)).map((z)=>this.stemming?this.stemWord(z):z),O=q?{originalWordCount:K.length,stopWordsRemoved:K.length-Y.length,stemmedWords:this.stemming?Y.length:0,processingTimeMs:Date.now()-_}:{originalWordCount:0,stopWordsRemoved:0,stemmedWords:0,processingTimeMs:0};return{tokens:Y,stats:O}}cleanText($){return $.toLowerCase().normalize("NFKD").replace(/[\u0000-\u001F\u007F-\u009F\u200B-\u200D\uFEFF]/g,"").replace(/[\u0300-\u036f]/g,"").replace(/[\p{Emoji_Presentation}\p{Extended_Pictographic}]/gu,"").replace(/[™®©℠‼]/g,"").replace(/[\p{P}]/gu," ").replace(/[^a-z0-9\u3040-\u30FF\u3400-\u4DBF\u4E00-\u9FFF\uAC00-\uD7AF\s]/gu," ").replace(/\s+/g," ").trim()}isValidToken($){let q=/^\d+$/.test($);return($.length>=this.minLength||q)&&!this.stopWords.has($)}stemWord($){if($.length<3)return $;let q=!1,_=$;for(let K of this.stemmingRules){let P=_.match(K.pattern);if(P){if(!K.minMeasure||this.measure(_.substring(0,P.index))>=K.minMeasure){if(typeof K.replacement==="string")_=_.replace(K.pattern,K.replacement);else _=_.replace(K.pattern,(...Y)=>K.replacement(...Y));q=!0}}}if(q&&_!==$)return _;return CF(_)}isConsonant($,q){let _=$[q];if("aeiou".includes(_))return!1;return _!=="y"||(q===0?!0:!this.isConsonant($,q-1))}measure($){let q=0,_=!1;for(let K=0;K<$.length;K++)if(this.isConsonant($,K)){if(_)q++,_=!1}else _=!0;return q}}class kT{termFrequencySaturation;lengthNormalizationFactor;tokenizer;documentLengths;averageDocLength;termToIndex;documentFrequency;termFrequencies;fieldBoosts;documents;constructor($,q={}){let _={...EF,...q};if(this.termFrequencySaturation=_.k1,this.lengthNormalizationFactor=_.b,this.tokenizer=new AT(_),this.fieldBoosts=_.fieldBoosts||{},this.documents=[],this.documentLengths=new Uint32Array(0),this.termToIndex=new Map,this.documentFrequency=new Uint32Array(0),this.averageDocLength=0,this.termFrequencies=new Map,$&&$.length>0){this.documents=[...$];let{documentLengths:K,termToIndex:P,documentFrequency:Y,averageDocLength:O,termFrequencies:z}=this.processDocuments($);this.documentLengths=K,this.termToIndex=P,this.documentFrequency=Y,this.averageDocLength=O,this.termFrequencies=z}}processDocuments($){let q=$.length,_=new Uint32Array(q),K=new Map,P=new Map,Y=new Map,O=0,z=0;$.forEach((H,f)=>{let w=0,k=new Map;Object.entries(H).forEach(([S,N])=>{if(typeof N!=="string")return;let h=this.fieldBoosts[S]||1,{tokens:C}=this.tokenizer.tokenize(N),I=C.length*h;w+=I,C.forEach((D)=>{if(!K.has(D))K.set(D,z++);let L=K.get(D);if(!P.has(D))P.set(D,new Set);P.get(D).add(f);let g=k.get(L)||0;k.set(L,g+h)})}),_[f]=w,O+=w,k.forEach((S,N)=>{if(!Y.has(N))Y.set(N,new Map);Y.get(N).set(f,S)})});let T=new Uint32Array(K.size);return P.forEach((H,f)=>{let w=K.get(f);T[w]=H.size}),{documentLengths:_,termToIndex:K,documentFrequency:T,averageDocLength:q>0?O/q:0,termFrequencies:Y}}recalculateAverageLength(){if(this.documentLengths.length===0){this.averageDocLength=0;return}let $=this.documentLengths.reduce((q,_)=>q+_,0);this.averageDocLength=$/this.documentLengths.length}search($,q=10){let{tokens:_}=this.tokenizer.tokenize($),K=new Float32Array(this.documentLengths.length).fill(0);return _.forEach((P)=>{let Y=this.termToIndex.get(P);if(Y===void 0)return;let O=this.calculateIdf(Y);if(O<=0)return;let z=this.termFrequencies.get(Y);if(!z)return;z.forEach((T,H)=>{let f=this.documentLengths[H],w=T*(this.termFrequencySaturation+1),k=T+this.termFrequencySaturation*(1-this.lengthNormalizationFactor+this.lengthNormalizationFactor*f/this.averageDocLength);K[H]+=O*(w/k)})}),Array.from({length:K.length},(P,Y)=>({index:Y,score:K[Y]})).filter((P)=>P.score>0).sort((P,Y)=>Y.score-P.score).slice(0,q)}searchPhrase($,q=10){let{tokens:_}=this.tokenizer.tokenize($);if(_.length===0)return[];let K=null;for(let Y of _){let O=this.termToIndex.get(Y);if(O===void 0)return[];let z=this.termFrequencies.get(O)?.keys();if(!z)return[];let T=new Set(z);if(K===null)K=T;else K=new Set([...K].filter((H)=>T.has(H)));if(K.size===0)return[]}if(K===null||K.size===0)return[];let P=new Map;return K.forEach((Y)=>{let O=this.getDocument(Y),z=!1;Object.entries(O).forEach(([T,H])=>{if(typeof H!=="string"||z)return;let f=this.fieldBoosts[T]||1,{tokens:w}=this.tokenizer.tokenize(H);for(let k=0;k<=w.length-_.length;k++){let S=!0;for(let N=0;N<_.length;N++)if(w[k+N]!==_[N]){S=!1;break}if(S){let N=this.calculatePhraseScore(_,Y)*f;P.set(Y,(P.get(Y)||0)+N),z=!0;break}}})}),Array.from(P.entries()).map(([Y,O])=>({index:Y,score:O})).sort((Y,O)=>O.score-Y.score).slice(0,q)}calculatePhraseScore($,q){return $.reduce((_,K)=>{let P=this.termToIndex.get(K);if(P===void 0)return _;let Y=this.calculateIdf(P),O=this.termFrequencies.get(P)?.get(q)||0,z=this.documentLengths[q],T=O*(this.termFrequencySaturation+1),H=O+this.termFrequencySaturation*(1-this.lengthNormalizationFactor+this.lengthNormalizationFactor*z/this.averageDocLength);return _+Y*(T/H)},0)}async addDocument($){if(!$)throw Error("Document cannot be null");let q=this.documentLengths.length;this.documents.push($);let _=new Uint32Array(q+1);_.set(this.documentLengths,0),this.documentLengths=_;let K=0,P=new Map;Object.entries($).forEach(([Y,O])=>{if(typeof O!=="string")return;let z=this.fieldBoosts[Y]||1,{tokens:T}=this.tokenizer.tokenize(O);K+=T.length*z,T.forEach((H)=>{let f;if(!this.termToIndex.has(H)){if(f=this.termToIndex.size,this.termToIndex.set(H,f),this.documentFrequency.length<=f){let k=this.documentFrequency,S=Math.max(f+1,k.length*2||1);this.documentFrequency=new Uint32Array(S),this.documentFrequency.set(k,0)}this.documentFrequency[f]=0}else f=this.termToIndex.get(H);let w=P.get(f)||0;P.set(f,w+z)})}),this.documentLengths[q]=K,P.forEach((Y,O)=>{if(!this.termFrequencies.has(O))this.termFrequencies.set(O,new Map);if(this.termFrequencies.get(O).set(q,Y),O<this.documentFrequency.length)this.documentFrequency[O]++}),this.recalculateAverageLength()}calculateIdf($){if($<0||$>=this.documentFrequency.length)return 0;let q=this.documentFrequency[$];if(q<=0||q>this.documentLengths.length)return 0;let K=this.documentLengths.length-q+0.5,P=q+0.5;return Math.log(1+K/P)}getTermFrequency($,q){return this.termFrequencies.get($)?.get(q)||0}getDocument($){if($<0||$>=this.documents.length)throw Error(`Document index ${$} out of bounds (0-${this.documents.length-1})`);return this.documents[$]}clearDocuments(){this.documents=[],this.documentLengths=new Uint32Array(0),this.termToIndex.clear(),this.documentFrequency=new Uint32Array(0),this.averageDocLength=0,this.termFrequencies.clear()}getDocumentCount(){return this.documents.length}async addDocuments($){return Promise.all($.map((q)=>this.addDocument(q)))}}var hF={};class RF{permits;waiting=[];constructor($){this.permits=$}async acquire(){if(this.permits>0)return this.permits-=1,Promise.resolve();return new Promise(($)=>{this.waiting.push($)})}release(){this.permits+=1;let $=this.waiting.shift();if($&&this.permits>0)this.permits-=1,$()}}class GT{#$=32;agentId;character;adapter;actions=[];evaluators=[];providers=[];plugins=[];events={};stateCache=new Map;fetch=fetch;services=new Map;serviceTypes=new Map;models=new Map;routes=[];taskWorkers=new Map;sendHandlers=new Map;eventHandlers=new Map;elizaOS;allAvailablePlugins=new Map;characterPlugins=[];logger;settings;servicePromiseHandlers=new Map;servicePromises=new Map;serviceRegistrationStatus=new Map;initPromise;initResolver;initRejecter;currentRunId;currentRoomId;currentActionContext;maxWorkingMemoryEntries=50;messageService=null;constructor($){if(this.agentId=$.character?.id??$?.agentId??i2($.character?.name??q8()),this.character=$.character,this.initPromise=new Promise((q,_)=>{this.initResolver=q,this.initRejecter=_}),this.logger=X1({namespace:this.character?.name}),this.#$=$.conversationLength??this.#$,$.adapter)this.registerDatabaseAdapter($.adapter);if(this.fetch=$.fetch??this.fetch,this.settings=$.settings??hF,this.plugins=[],this.characterPlugins=$?.plugins??[],$.allAvailablePlugins){for(let q of $.allAvailablePlugins)if(q?.name)this.allAvailablePlugins.set(q.name,q)}if(this.logger.debug({src:"agent",agentId:this.agentId,agentName:this.character?.name},"Initialized"),this.currentRunId=void 0,$.settings?.MAX_WORKING_MEMORY_ENTRIES)this.maxWorkingMemoryEntries=parseInt($.settings.MAX_WORKING_MEMORY_ENTRIES,10)||50;else this.maxWorkingMemoryEntries=xM("MAX_WORKING_MEMORY_ENTRIES",50)}createRunId(){return q8()}startRun($){return this.currentRunId=this.createRunId(),this.currentRoomId=$,this.currentRunId}endRun(){this.currentRunId=void 0,this.currentRoomId=void 0}getCurrentRunId(){if(!this.currentRunId)this.currentRunId=this.createRunId();return this.currentRunId}async registerPlugin($){if(!$?.name)throw this.logger.error({src:"agent",agentId:this.agentId,error:"Plugin or plugin name is undefined"},"Plugin registration failed"),Error("registerPlugin: Plugin or plugin name is undefined");if(this.plugins.find((_)=>_.name===$.name)){this.logger.warn({src:"agent",agentId:this.agentId,plugin:$.name},"Plugin already registered, skipping");return}if(this.plugins.push($),this.logger.debug({src:"agent",agentId:this.agentId,plugin:$.name},"Plugin added"),$.init){let _={};if($.config){for(let[K,P]of Object.entries($.config))if(P!==null&&P!==void 0)_[K]=String(P)}await $.init(_,this),this.logger.debug({src:"agent",agentId:this.agentId,plugin:$.name},"Plugin initialized")}if($.adapter)this.logger.debug({src:"agent",agentId:this.agentId,plugin:$.name},"Registering database adapter"),this.registerDatabaseAdapter($.adapter);if($.actions)for(let _ of $.actions)this.registerAction(_);if($.evaluators)for(let _ of $.evaluators)this.registerEvaluator(_);if($.providers)for(let _ of $.providers)this.registerProvider(_);if($.models)for(let[_,K]of Object.entries($.models))this.registerModel(_,K,$.name,$?.priority);if($.routes)for(let _ of $.routes){let K=_.path.startsWith("/")?_.path:`/${_.path}`;this.routes.push({..._,path:"/"+$.name+K})}if($.events)for(let[_,K]of Object.entries($.events))for(let P of K)this.registerEvent(_,P);if($.services)for(let _ of $.services){let K=_.serviceType;if(this.logger.debug({src:"agent",agentId:this.agentId,plugin:$.name,serviceType:K},"Registering service"),!this.servicePromises.has(K))this._createServiceResolver(K);this.serviceRegistrationStatus.set(K,"pending"),this.registerService(_).catch((P)=>{this.logger.error({src:"agent",agentId:this.agentId,plugin:$.name,serviceType:K,error:P instanceof Error?P.message:String(P)},"Service registration failed");let Y=this.servicePromiseHandlers.get(K);if(Y){let O=Error(`Service ${K} from plugin ${$.name} failed to register: ${P instanceof Error?P.message:String(P)}`);Y.reject(O),this.servicePromiseHandlers.delete(K),this.servicePromises.delete(K)}this.serviceRegistrationStatus.set(K,"failed")})}}getAllServices(){return this.services}async stop(){this.logger.debug({src:"agent",agentId:this.agentId},"Stopping runtime");for(let[$,q]of this.services){this.logger.debug({src:"agent",agentId:this.agentId,serviceType:$},"Stopping service");for(let _ of q)await _.stop()}this.elizaOS=void 0}async initialize($){let q=[],_=this.characterPlugins;for(let H of _)if(H)q.push(this.registerPlugin(H));if(await Promise.all(q),!this.adapter)throw this.logger.error({src:"agent",agentId:this.agentId},"Database adapter not initialized"),Error("Database adapter not initialized. The SQL plugin (@elizaos/plugin-sql) is required for agent initialization. Please ensure it is included in your character configuration.");if(!await this.adapter.isReady())await this.adapter.init();if(this.messageService=new XT,$?.skipMigrations??!1)this.logger.debug({src:"agent",agentId:this.agentId},"Skipping plugin migrations");else this.logger.debug({src:"agent",agentId:this.agentId},"Running plugin migrations"),await this.runPluginMigrations(),this.logger.debug({src:"agent",agentId:this.agentId},"Plugin migrations completed");let P=await this.ensureAgentExists({...this.character,id:this.agentId});if(!P){let H=`Agent ${this.agentId} does not exist in database after ensureAgentExists call`;throw Error(H)}if(P.settings){this.character.settings={...P.settings,...this.character.settings};let H=P.settings.secrets&&typeof P.settings.secrets==="object"?P.settings.secrets:{},f=this.character.settings.secrets&&typeof this.character.settings.secrets==="object"?this.character.settings.secrets:{},w=this.character.secrets&&typeof this.character.secrets==="object"?this.character.secrets:{},k={...H,...w,...f};if(Object.keys(k).length>0){let S={};for(let[N,h]of Object.entries(k))if(h!==null&&h!==void 0)S[N]=h;if(Object.keys(S).length>0)this.character.secrets=S,this.character.settings.secrets=S}}let Y=await this.getEntityById(this.agentId);if(!Y){if(!await this.createEntity({id:this.agentId,names:[this.character.name],metadata:{},agentId:P.id})){let f=`Failed to create entity for agent ${this.agentId}`;throw Error(f)}if(Y=await this.getEntityById(this.agentId),!Y)throw Error(`Agent entity not found for ${this.agentId}`);this.logger.debug({src:"agent",agentId:this.agentId},"Agent entity created")}if(!await this.getRoom(this.agentId))await this.createRoom({id:this.agentId,name:this.character.name,source:"elizaos",type:"SELF",channelId:this.agentId,messageServerId:this.agentId,worldId:this.agentId});if(!(await this.adapter.getParticipantsForRoom(this.agentId)).includes(this.agentId)){if(!await this.addParticipant(this.agentId,this.agentId))throw Error(`Failed to add agent ${this.agentId} as participant to its own room`);this.logger.debug({src:"agent",agentId:this.agentId},"Agent linked to room")}if(!this.getModel(k6.TEXT_EMBEDDING))this.logger.warn({src:"agent",agentId:this.agentId},"No TEXT_EMBEDDING model registered, skipping embedding setup");else await this.ensureEmbeddingDimension();if(this.initResolver)this.initResolver(),this.initResolver=void 0}async runPluginMigrations(){if(!this.adapter){this.logger.warn({src:"agent",agentId:this.agentId},"Database adapter not found, skipping plugin migrations");return}if(typeof this.adapter.runPluginMigrations!=="function"){this.logger.warn({src:"agent",agentId:this.agentId},"Database adapter does not support plugin migrations");return}let $=this.plugins.filter((K)=>K.schema).map((K)=>{let P=K.schema||{},Y={};for(let[O,z]of Object.entries(P))if(typeof z==="string"||typeof z==="number"||typeof z==="boolean"||z===null||typeof z==="object"&&z!==null&&!Array.isArray(z))Y[O]=z;return{name:K.name,schema:Y}});if($.length===0){this.logger.debug({src:"agent",agentId:this.agentId},"No plugins with schemas, skipping migrations");return}this.logger.debug({src:"agent",agentId:this.agentId,count:$.length},"Found plugins with schemas");let q=!1,_=process.env.ELIZA_ALLOW_DESTRUCTIVE_MIGRATIONS==="true";await this.adapter.runPluginMigrations($,{verbose:!q,force:_,dryRun:!1}),this.logger.debug({src:"agent",agentId:this.agentId},"Plugin migrations completed")}async getConnection(){if(!this.adapter)throw Error("Database adapter not registered");return this.adapter.getConnection()}setSetting($,q,_=!1){if(_){if(!this.character.secrets)this.character.secrets={};if(q!==null&&q!==void 0)this.character.secrets[$]=q}else{if(!this.character.settings)this.character.settings={};if(q!==null&&q!==void 0)this.character.settings[$]=q}}getSetting($){let q=this.character.settings,_=this.character.secrets,K=typeof q==="object"&&q!==null&&"secrets"in q&&typeof q.secrets==="object"&&q.secrets!==null?q.secrets:void 0,P=_?.[$]||q?.[$]||K?.[$]||this.settings[$];if(P===void 0||P===null)return null;if(typeof P==="number")return P;if(typeof P==="boolean")return P;if(typeof P==="string"){let Y=t2(P,L_());if(Y==="true")return!0;if(Y==="false")return!1;return Y}return null}getConversationLength(){return this.#$}registerDatabaseAdapter($){if(this.adapter)this.logger.warn({src:"agent",agentId:this.agentId},"Database adapter already registered, ignoring");else this.adapter=$,this.logger.debug({src:"agent",agentId:this.agentId},"Database adapter registered")}registerProvider($){this.providers.push($),this.logger.debug({src:"agent",agentId:this.agentId,provider:$.name},"Provider registered")}registerAction($){if(this.actions.find((q)=>q.name===$.name))this.logger.warn({src:"agent",agentId:this.agentId,action:$.name},"Action already registered, skipping");else this.actions.push($),this.logger.debug({src:"agent",agentId:this.agentId,action:$.name},"Action registered")}registerEvaluator($){this.evaluators.push($)}updateActionPlan($,q){return{...$,...q}}updateActionStep($,q,_){if(!$.steps||q<0||q>=$.steps.length)return this.logger.warn({src:"agent",agentId:this.agentId,index:q,stepsCount:$.steps?.length||0},"Invalid step index"),$;return{...$,steps:$.steps.map((K,P)=>P===q?{...K,..._}:K)}}async processActions($,q,_,K,P){let Y=[];for(let k of q)if(k.content?.actions&&k.content.actions.length>0)Y.push(...k.content.actions);let O=Y.length>1,z=this.getCurrentRunId(),T=this.createRunId(),H=void 0,f=q[0]?.content?.thought||`Executing ${Y.length} actions: ${Y.join(", ")}`;if(O)H={runId:T,totalSteps:Y.length,currentStep:0,steps:Y.map((k)=>({action:k,status:"pending"})),thought:f,startTime:Date.now()};let w=0;for(let k of q){let C=function(I){return I.toLowerCase().replace(/_/g,"")};if(!k.content?.actions||k.content.actions.length===0){this.logger.warn({src:"agent",agentId:this.agentId},"No action found in response");continue}let S=k.content.actions,N=[],h=_;this.logger.trace({src:"agent",agentId:this.agentId,actions:this.actions.map((I)=>C(I.name))},"Available actions");for(let I of S){if(H)H=this.updateActionPlan(H,{currentStep:w+1});if(h=await this.composeState($,["RECENT_MESSAGES","ACTION_STATE"]),H&&h.data)h.data.actionPlan=H,h.data.actionResults=N;this.logger.debug({src:"agent",agentId:this.agentId,action:I},"Processing action");let D=C(I),L=this.actions.find((G)=>C(G.name)===D);if(!L)L=this.actions.find((G)=>C(G.name).includes(D)||D.includes(C(G.name)));if(!L)for(let G of this.actions){if(G.similes?.find((v)=>C(v)===D)){L=G,this.logger.debug({src:"agent",agentId:this.agentId,action:L.name,match:"simile"},"Action resolved via simile");break}if(G.similes?.find((v)=>C(v).includes(D)||D.includes(C(v)))){L=G,this.logger.debug({src:"agent",agentId:this.agentId,action:L.name,match:"fuzzy"},"Action resolved via fuzzy match");break}}if(!L){let G=`Action not found: ${I}`;if(this.logger.error({src:"agent",agentId:this.agentId,action:I},"Action not found"),H&&H.steps[w])H=this.updateActionStep(H,w,{status:"failed",error:G});let M={id:q8(),entityId:$.entityId,roomId:$.roomId,worldId:$.worldId,content:{thought:G,source:"auto",type:"action_result",actionName:I,actionStatus:"failed",runId:T}};await this.createMemory(M,"messages"),w++;continue}if(!L.handler){if(this.logger.error({src:"agent",agentId:this.agentId,action:L.name},"Action has no handler"),H&&H.steps[w])H=this.updateActionStep(H,w,{status:"failed",error:"No handler"});w++;continue}this.logger.debug({src:"agent",agentId:this.agentId,action:L.name},"Executing action");let g=q8(),y=q8();this.currentActionContext={actionName:L.name,actionId:g,prompts:[]};let o={actionContext:{previousResults:N,getPreviousResult:(G)=>{return N.find((M)=>M.data?.actionName===G)}}};if(H)o.actionPlan={totalSteps:H.totalSteps,currentStep:H.currentStep,steps:H.steps,thought:H.thought};if(P?.onStreamChunk)o.onStreamChunk=P.onStreamChunk;await this.emitEvent("ACTION_STARTED",{messageId:g,roomId:$.roomId,world:$.worldId,content:{text:`Executing action: ${L.name}`,actions:[L.name],actionStatus:"executing",actionId:g,runId:T,type:"agent_action",thought:f,source:$.content?.source}});let s=[],Q=async(G)=>{return G.responseId=y,s.push(G),[]},m;if(P?.onStreamChunk){let G=null;m={messageId:y,onStreamChunk:async(M,A)=>{if(!G)G=new TT;let v=G.push(M);if(v)await P.onStreamChunk(v,A)},onStreamEnd:()=>{G=null}}}let e=await C1(m,()=>L.handler(this,$,h,o,Q,q)),j=e===void 0||e===null||typeof e==="boolean",W=null;if(!j){if(typeof e==="object"&&e!==null&&(("values"in e)||("data"in e)||("text"in e)))W={...e,success:"success"in e?e.success:!0};else W={success:!0,data:{actionName:L.name,legacyResult:e}};if(N.push(W),W.values){let G=Array.isArray(h.data?.actionResults)?h.data.actionResults:[];h={...h,values:{...h.values,...W.values},data:{...h.data||{},actionResults:[...G,W],actionPlan:H}}}if(W&&h.data){if(!h.data.workingMemory)h.data.workingMemory={};let M=`action_${W.data?.actionName||L.name}_${q8()}`,A={actionName:L.name,result:W,timestamp:Date.now()},v=h.data.workingMemory;v[M]=A;let V=Object.entries(v);if(V.length>this.maxWorkingMemoryEntries){let R=V.sort((E,b)=>{let x=E[1],l=b[1],F=x?.timestamp??0;return(l?.timestamp??0)-F});h.data.workingMemory=Object.fromEntries(R.slice(0,this.maxWorkingMemoryEntries))}}if(H&&H.steps[w])H=this.updateActionStep(H,w,{status:"completed",result:W})}let J=W?.success!==!1?"completed":"failed";if(await this.emitEvent("ACTION_COMPLETED",{messageId:g,roomId:$.roomId,world:$.worldId,content:{text:W?.text||"",actions:[L.name],actionStatus:J,actionId:g,type:"agent_action",thought:f,actionResult:W,source:$.content?.source}}),K)for(let G of s)await K(G);let Z={id:g,entityId:this.agentId,roomId:$.roomId,worldId:$.worldId,content:{text:W?.text||`Executed action: ${L.name}`,source:"action",type:"action_result",actionName:L.name,actionStatus:W?.success?"completed":"failed",actionResult:j?{legacy:e}:W,runId:T,...H&&{planStep:`${H.currentStep}/${H.totalSteps}`,planThought:H.thought}},metadata:{type:"action_result",actionName:L.name,runId:T,parentRunId:z,actionId:g,...H&&{totalSteps:H.totalSteps,currentStep:H.currentStep}}};await this.createMemory(Z,"messages"),this.logger.debug({src:"agent",agentId:this.agentId,action:L.name},"Action completed"),await this.adapter.log({entityId:$.entityId,roomId:$.roomId,type:"action",body:{action:L.name,actionId:g,message:$.content.text,messageId:$.id,state:h,responses:q,result:j?{legacy:e}:W,isLegacyReturn:j,prompts:this.currentActionContext?.prompts||[],promptCount:this.currentActionContext?.prompts.length||0,runId:T,parentRunId:z,...H&&{planStep:`${H.currentStep}/${H.totalSteps}`,planThought:H.thought}}}),this.currentActionContext=void 0,w++}if($.id)this.stateCache.set(`${$.id}_action_results`,{values:{actionResults:N},data:{actionResults:N,actionPlan:H},text:JSON.stringify(N)})}}getActionResults($){return this.stateCache?.get(`${$}_action_results`)?.data?.actionResults||[]}async evaluate($,q,_,K,P){let Y=this.evaluators.map(async(z)=>{if(!z.handler)return null;if(!_&&!z.alwaysRun)return null;if(await z.validate(this,$,q))return z;return null}),O=(await Promise.all(Y)).filter(Boolean);if(O.length===0)return[];return q=await this.composeState($,["RECENT_MESSAGES","EVALUATORS"]),await Promise.all(O.map(async(z)=>{if(z.handler)await z.handler(this,$,q,{},K,P),this.adapter.log({entityId:$.entityId,roomId:$.roomId,type:"evaluator",body:{evaluator:z.name,messageId:$.id,message:$.content.text,state:q,runId:this.getCurrentRunId()}})})),O}async ensureConnections($,q,_,K){if(!$){this.logger.error({src:"agent",agentId:this.agentId},"ensureConnections called without entities");return}if(!q||q.length===0){this.logger.error({src:"agent",agentId:this.agentId},"ensureConnections called without rooms");return}await this.ensureWorldExists({...K,agentId:this.agentId});let P=q[0],Y=(g,y)=>g.reduce((p,o,s)=>{if(s%y===0)p.push([]);return p[p.length-1].push(o),p},[]),O=q.map((g)=>g.id),T=(await this.getRoomsByIds(O))?.map((g)=>g.id),H=O.filter((g)=>!T?.includes(g)),f={worldId:K.id,messageServerId:K.messageServerId,source:_,agentId:this.agentId};if(H.length){this.logger.debug({src:"agent",agentId:this.agentId,count:H.length},"Creating rooms");let g=q.filter((y)=>H.includes(y.id)).map((y)=>({...y,...f,type:y.type||"GROUP"}));await this.createRooms(g)}let w=$.map((g)=>g.id).filter((g)=>g!==void 0),S=(await this.adapter.getEntitiesByIds(w))?.map((g)=>g.id).filter((g)=>g!==void 0)||[],N=$.filter((g)=>g.id!==void 0&&!S.includes(g.id)),h={roomId:P.id,channelId:P.channelId,type:P.type},C={worldId:K.id,messageServerId:K.messageServerId};if(N.length){this.logger.debug({src:"agent",agentId:this.agentId,count:N.length},"Creating entities");let g={...h,...C,source:_,agentId:this.agentId},y=N.map((o)=>({...o,...g,metadata:o.metadata||{}})),p=Y(y,5000);for(let o of p)await this.createEntities(o)}await this.ensureParticipantInRoom(this.agentId,P.id);let D=(await this.getParticipantsForRoom(P.id)).filter((g)=>g!==void 0),L=w.filter((g)=>!D.includes(g));if(L.length){this.logger.debug({src:"agent",agentId:this.agentId,count:L.length,channelId:P.id},"Adding missing participants");let g=Y(L,5000);for(let y of g)await this.addParticipantsRoom(y,P.id)}this.logger.success({src:"agent",agentId:this.agentId,worldId:K.id},"World connected")}async ensureConnection({entityId:$,roomId:q,worldId:_,worldName:K,userName:P,name:Y,source:O,type:z,channelId:T,messageServerId:H,userId:f,metadata:w}){if(!_&&H)_=K_(this,H);let k=[Y,P].filter(Boolean),S={[O]:{id:f,name:Y,userName:P}},N=await this.getEntityById($);if(!N)if(await this.createEntity({id:$,names:k,metadata:S,agentId:this.agentId}))this.logger.debug({src:"agent",agentId:this.agentId,entityId:$,userName:Y||P},"Entity created");else throw Error(`Failed to create entity ${$}`);else await this.adapter.updateEntity({id:$,names:[...new Set([...N.names||[],...k])].filter(Boolean),metadata:{...N.metadata,[O]:{...N.metadata?.[O]&&typeof N.metadata[O]==="object"?N.metadata[O]:{},id:f,name:Y,userName:P}},agentId:this.agentId});await this.ensureWorldExists({id:_,name:K||H?`World for server ${H}`:`World for room ${q}`,agentId:this.agentId,messageServerId:H,metadata:w}),await this.ensureRoomExists({id:q,name:Y||"default",source:O||"default",type:z||"DM",channelId:T,messageServerId:H,worldId:_}),await this.ensureParticipantInRoom($,q),await this.ensureParticipantInRoom(this.agentId,q),this.logger.debug({src:"agent",agentId:this.agentId,entityId:$,channelId:q},"Entity connected")}async ensureParticipantInRoom($,q){let _=await this.getEntityById($);if(!_&&$!==this.agentId)this.logger.warn({src:"agent",agentId:this.agentId,entityId:$},"Entity not accessible, attempting to add as participant");else if(!_&&$===this.agentId)throw Error(`Agent entity ${$} not found, cannot add as participant.`);else if(!_)throw Error(`User entity ${$} not found, cannot add as participant.`);if(!(await this.adapter.getParticipantsForRoom(q)).includes($)){if(!await this.addParticipant($,q))throw Error(`Failed to add participant ${$} to room ${q}`);if($===this.agentId)this.logger.debug({src:"agent",agentId:this.agentId,channelId:q},"Agent linked to room");else this.logger.debug({src:"agent",agentId:this.agentId,entityId:$,channelId:q},"User linked to room")}}async removeParticipant($,q){return await this.adapter.removeParticipant($,q)}async getParticipantsForEntity($){return await this.adapter.getParticipantsForEntity($)}async getParticipantsForRoom($){return await this.adapter.getParticipantsForRoom($)}async isRoomParticipant($,q){return await this.adapter.isRoomParticipant($,q)}async addParticipant($,q){return await this.adapter.addParticipantsRoom([$],q)}async addParticipantsRoom($,q){return await this.adapter.addParticipantsRoom($,q)}async ensureWorldExists({id:$,name:q,messageServerId:_,metadata:K}){if(!await this.getWorld($))this.logger.debug({src:"agent",agentId:this.agentId,worldId:$,name:q,messageServerId:_},"Creating world"),await this.adapter.createWorld({id:$,name:q,agentId:this.agentId,messageServerId:_,metadata:K}),this.logger.debug({src:"agent",agentId:this.agentId,worldId:$,messageServerId:_},"World created")}async ensureRoomExists({id:$,name:q,source:_,type:K,channelId:P,messageServerId:Y,worldId:O,metadata:z}){if(!O)throw Error("worldId is required");if(!await this.getRoom($))await this.createRoom({id:$,name:q,agentId:this.agentId,source:_,type:K,channelId:P,messageServerId:Y,worldId:O,metadata:z}),this.logger.debug({src:"agent",agentId:this.agentId,channelId:$},"Room created")}async composeState($,q=null,_=!1,K=!1){let P=_?q:null,Y={values:{},data:{},text:""},O=K||!$.id?Y:await this.stateCache.get($.id)||Y,z=new Set;if(P&&P.length>0)P.forEach((h)=>z.add(h));else this.providers.filter((h)=>!h.private&&!h.dynamic).forEach((h)=>z.add(h.name));if(!P&&q&&q.length>0)q.forEach((h)=>z.add(h));let T=Array.from(new Set(this.providers.filter((h)=>z.has(h.name)))).sort((h,C)=>(h.position||0)-(C.position||0)),H=await Promise.all(T.map(async(h)=>{let C=Date.now(),I=await h.get(this,$,O),D=Date.now()-C;if(D>100)this.logger.debug({src:"agent",agentId:this.agentId,provider:h.name,duration:D},"Slow provider");return{...I,providerName:h.name}})),f={...O.data?.providers||{}};for(let h of H)f[h.providerName]=h;let w=[];for(let h of T){let C=f[h.name];if(C&&C.text&&typeof C.text==="string"&&C.text.trim()!=="")w.push(C.text)}let k=w.join(`
|
|
676
|
-
`),S={...O.values||{}};for(let h of T){let C=f[h.name];if(C&&C.values&&typeof C.values==="object"&&C.values!==null)Object.assign(S,C.values)}for(let h in f)if(!T.some((C)=>C.name===h)){let C=f[h];if(C&&C.values&&typeof C.values==="object"&&C.values!==null)Object.assign(S,C.values)}let N={values:{...S,providers:k},data:{...O.data||{},providers:f},text:k};if($.id)this.stateCache.set($.id,N);return N}getService($){let q=this.services.get($);if(!q||q.length===0)return this.logger.debug({src:"agent",agentId:this.agentId,serviceName:$},"Service not found"),null;return q[0]}getTypedService($){return this.getService($)}getServicesByType($){let q=this.services.get($);if(!q||q.length===0)return this.logger.debug({src:"agent",agentId:this.agentId,serviceName:$},"No services found for type"),[];return q}getRegisteredServiceTypes(){return Array.from(this.services.keys())}hasService($){let q=this.services.get($);return q!==void 0&&q.length>0}getServiceRegistrationStatus($){return this.serviceRegistrationStatus.get($)||"unknown"}getServiceHealth(){let $={};for(let[q,_]of this.services)$[q]={status:this.getServiceRegistrationStatus(q),instances:_.length,hasPromise:this.servicePromises.has(q)};for(let[q,_]of this.serviceRegistrationStatus)if(!$[q])$[q]={status:_,instances:0,hasPromise:this.servicePromises.has(q)};return $}async registerService($){let q=$.serviceType,_=$.name||"Unknown";if(!q){this.logger.warn({src:"agent",agentId:this.agentId,serviceName:_},"Service missing serviceType property");return}this.logger.debug({src:"agent",agentId:this.agentId,serviceType:q},"Registering service"),this.serviceRegistrationStatus.set(q,"registering"),this.logger.debug({src:"agent",agentId:this.agentId,serviceType:q},"Service waiting for init");let K=new Promise((O,z)=>{setTimeout(()=>{z(Error(`Service ${q} registration timed out waiting for runtime initialization (30s timeout)`))},30000)});if(await Promise.race([this.initPromise,K]),typeof $.start!=="function")throw Error(`Service ${q} does not have a static start method. All services must implement static async start(runtime: IAgentRuntime): Promise<Service>.`);let P=await $.start(this);if(!P)throw Error(`Service ${q} start() method returned null or undefined. It must return a Service instance.`);if(!this.services.has(q))this.services.set(q,[]);if(!this.serviceTypes.has(q))this.serviceTypes.set(q,[]);this.services.get(q).push(P),this.serviceTypes.get(q).push($);let Y=this.servicePromiseHandlers.get(q);if(Y)Y.resolve(P),this.servicePromiseHandlers.delete(q);else this.logger.debug({src:"agent",agentId:this.agentId,serviceType:q},"Service has no promise handler");if($.registerSendHandlers)$.constructor.registerSendHandlers?.(this,P);this.serviceRegistrationStatus.set(q,"registered"),this.logger.debug({src:"agent",agentId:this.agentId,serviceType:q},"Service registered")}_createServiceResolver($){let q,_;if(this.servicePromises.set($,new Promise((K,P)=>{q=K,_=P})),!q)throw Error(`Failed to create resolver for service ${$}`);if(!_)throw Error(`Failed to create rejecter for service ${$}`);return this.servicePromiseHandlers.set($,{resolve:q,reject:_}),this.servicePromises.get($)}getServiceLoadPromise($){let q=this.servicePromises.get($);if(!q)q=this._createServiceResolver($);return q}registerModel($,q,_,K){let P=typeof $==="string"?$:
|
|
675
|
+
`;async function RO$($,q,_){let K=K_($,_),P=await $.getWorld(K);if(!P||!P.metadata?.roles)return"NONE";if(P.metadata.roles[q])return P.metadata.roles[q];return"NONE"}async function IO$($,q){if(!q)return V6.error({src:"core:roles",agentId:$.agentId},"User ID is required to find server"),null;let _=await $.getAllWorlds();if(!_||_.length===0)return V6.debug({src:"core:roles",agentId:$.agentId},"No worlds found for agent"),null;let K=[];for(let P of _)if(P.metadata?.ownership?.ownerId===q)K.push(P);return K.length?K:null}var Vq=[];for(let $=0;$<256;++$)Vq.push(($+256).toString(16).slice(1));function aN($,q=0){return(Vq[$[q+0]]+Vq[$[q+1]]+Vq[$[q+2]]+Vq[$[q+3]]+"-"+Vq[$[q+4]]+Vq[$[q+5]]+"-"+Vq[$[q+6]]+Vq[$[q+7]]+"-"+Vq[$[q+8]]+Vq[$[q+9]]+"-"+Vq[$[q+10]]+Vq[$[q+11]]+Vq[$[q+12]]+Vq[$[q+13]]+Vq[$[q+14]]+Vq[$[q+15]]).toLowerCase()}var wT,AF=new Uint8Array(16);function fT(){if(!wT){if(typeof crypto>"u"||!crypto.getRandomValues)throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");wT=crypto.getRandomValues.bind(crypto)}return wT(AF)}var kF=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ZT={randomUUID:kF};function GF($,q,_){$=$||{};let K=$.random??$.rng?.()??fT();if(K.length<16)throw Error("Random bytes length must be >= 16");if(K[6]=K[6]&15|64,K[8]=K[8]&63|128,q){if(_=_||0,_<0||_+16>q.length)throw RangeError(`UUID byte range ${_}:${_+15} is out of buffer bounds`);for(let P=0;P<16;++P)q[_+P]=K[P];return q}return aN(K)}function VF($,q,_){if(ZT.randomUUID&&!q&&!$)return ZT.randomUUID();return GF($,q,_)}var q8=VF;function G1($){if(typeof $!=="object"||$===null)return!1;if(Array.isArray($))return!1;if(WT($))return!1;if($ instanceof Date)return!1;if($ instanceof RegExp)return!1;if($ instanceof Map)return!1;if($ instanceof Set)return!1;if($ instanceof WeakMap)return!1;if($ instanceof WeakSet)return!1;if($ instanceof Error)return!1;if($ instanceof Promise)return!1;return!0}var V1=new Map;class XT{async handleMessage($,q,_,K){let P={maxRetries:K?.maxRetries??3,timeoutDuration:K?.timeoutDuration??3600000,useMultiStep:K?.useMultiStep??n2(String($.getSetting("USE_MULTI_STEP")||"")),maxMultiStepIterations:K?.maxMultiStepIterations??parseInt(String($.getSetting("MAX_MULTISTEP_ITERATIONS")||"6")),onStreamChunk:K?.onStreamChunk},Y=void 0,O=e2(q8());try{if($.logger.info({src:"service:message",agentId:$.agentId,entityId:q.entityId,roomId:q.roomId},"Message received"),!V1.has($.agentId))V1.set($.agentId,new Map);let z=V1.get($.agentId);if(!z)throw Error("Agent responses map not found");let T=z.get(q.roomId);if(T)V6.debug({src:"service:message",roomId:q.roomId,previousResponseId:T,responseId:O},"Updating response ID");z.set(q.roomId,O);let H=$.startRun(q.roomId),f=Date.now();await $.emitEvent("RUN_STARTED",{runtime:$,source:"messageHandler",runId:H,messageId:q.id,roomId:q.roomId,entityId:q.entityId,startTime:f,status:"started"});let w=new Promise((h,C)=>{Y=setTimeout(async()=>{await $.emitEvent("RUN_TIMEOUT",{runtime:$,source:"messageHandler",runId:H,messageId:q.id,roomId:q.roomId,entityId:q.entityId,startTime:f,status:"timeout",endTime:Date.now(),duration:Date.now()-f,error:"Run exceeded timeout"}),C(Error("Run exceeded timeout"))},P.timeoutDuration)}),k;if(P.onStreamChunk){let h=new B2;k={onStreamChunk:async(C,I)=>{if(h.done)return;let D=h.push(C);if(D)await P.onStreamChunk(D,I)},messageId:O}}let S=C1(k,()=>this.processMessage($,q,_,O,H,f,P)),N=await Promise.race([S,w]);return clearTimeout(Y),N}finally{clearTimeout(Y)}}async processMessage($,q,_,K,P,Y,O){try{let z=V1.get($.agentId);if(!z)throw Error("Agent responses map not found");if(q.entityId===$.agentId)return $.logger.debug({src:"service:message",agentId:$.agentId},"Skipping message from self"),await this.emitRunEnded($,P,q,Y,"self"),{didRespond:!1,responseContent:null,responseMessages:[],state:{values:{},data:{},text:""},mode:"none"};$.logger.debug({src:"service:message",messagePreview:pN(q.content.text||"",50)},"Processing message"),$.logger.debug({src:"service:message"},"Saving message to memory");let T;if(q.id){let j=await $.getMemoryById(q.id);if(j)$.logger.debug({src:"service:message"},"Memory already exists, skipping creation"),T=j;else{let W=await $.createMemory(q,"messages");T={...q,id:W}}await $.queueEmbeddingGeneration(T,"high")}else{let j=await $.createMemory(q,"messages");q.id=j,T={...q,id:j},await $.queueEmbeddingGeneration(T,"normal")}let H=await $.getParticipantUserState(q.roomId,$.agentId);if(n2(String($.getSetting("BOOTSTRAP_DEFLLMOFF")||""))&&H===null)return $.logger.debug({src:"service:message"},"LLM is off by default"),await this.emitRunEnded($,P,q,Y,"off"),{didRespond:!1,responseContent:null,responseMessages:[],state:{values:{},data:{},text:""},mode:"none"};if(H==="MUTED"&&!q.content.text?.toLowerCase().includes($.character.name.toLowerCase()))return $.logger.debug({src:"service:message",roomId:q.roomId},"Ignoring muted room"),await this.emitRunEnded($,P,q,Y,"muted"),{didRespond:!1,responseContent:null,responseMessages:[],state:{values:{},data:{},text:""},mode:"none"};let w=await $.composeState(q,["ANXIETY","ENTITIES","CHARACTER","RECENT_MESSAGES","ACTIONS"],!0),k=q.content.mentionContext,S=await $.getRoom(q.roomId);if(q.content.attachments&&q.content.attachments.length>0){if(q.content.attachments=await this.processAttachments($,q.content.attachments),q.id)await $.updateMemory({id:q.id,content:q.content})}let N=this.shouldRespond($,q,S??void 0,k);$.logger.debug({src:"service:message",responseDecision:N},"Response decision");let h=!0;if(N.skipEvaluation)$.logger.debug({src:"service:message",agentName:$.character.name,reason:N.reason},"Skipping LLM evaluation"),h=N.shouldRespond;else{let j=A1({state:w,template:$.character.templates?.shouldRespondTemplate||BN});$.logger.debug({src:"service:message",agentName:$.character.name,reason:N.reason},"Using LLM evaluation");let W=await $.useModel(G6.TEXT_SMALL,{prompt:j});$.logger.debug({src:"service:message",response:W},"LLM evaluation result");let X=YK(W);$.logger.debug({src:"service:message",responseObject:X},"Parsed evaluation result");let J=["IGNORE","NONE"],Z=X?.action;h=typeof Z==="string"&&!J.includes(Z.toUpperCase())}let C=null,I=[],D="none";if(h){let j=O.useMultiStep?await this.runMultiStepCore($,q,w,_,O,K):await this.runSingleShotCore($,q,w,O,K);if(C=j.responseContent,I=j.responseMessages,w=j.state,D=j.mode,z.get(q.roomId)!==K)return $.logger.info({src:"service:message",agentId:$.agentId,roomId:q.roomId},"Response discarded - newer message being processed"),{didRespond:!1,responseContent:null,responseMessages:[],state:w,mode:"none"};if(C&&q.id)C.inReplyTo=K_($,q.id);if(C?.providers?.length&&C.providers.length>0)w=await $.composeState(q,C.providers||[]);if(C){if(D==="simple"){if(C.providers&&C.providers.length>0)$.logger.debug({src:"service:message",providers:C.providers},"Simple response used providers");if(_)await _(C)}else if(D==="actions")await $.processActions(q,I,w,async(X)=>{if($.logger.debug({src:"service:message",content:X},"Action callback"),C.actionCallbacks=X,_)return _(X);return[]},{onStreamChunk:O.onStreamChunk})}}else{$.logger.debug({src:"service:message"},"Agent decided not to respond");let j=z.get(q.roomId),W=n2(String($.getSetting("BOOTSTRAP_KEEP_RESP")||""));if(j!==K&&!W)return $.logger.info({src:"service:message",agentId:$.agentId,roomId:q.roomId},"Ignore response discarded - newer message being processed"),await this.emitRunEnded($,P,q,Y,"replaced"),{didRespond:!1,responseContent:null,responseMessages:[],state:w,mode:"none"};if(!q.id)return $.logger.error({src:"service:message",agentId:$.agentId},"Message ID is missing, cannot create ignore response"),await this.emitRunEnded($,P,q,Y,"noMessageId"),{didRespond:!1,responseContent:null,responseMessages:[],state:w,mode:"none"};let X={thought:"Agent decided not to respond to this message.",actions:["IGNORE"],simple:!0,inReplyTo:K_($,q.id)};if(_)await _(X);let J={id:e2(q8()),entityId:$.agentId,agentId:$.agentId,content:X,roomId:q.roomId,createdAt:Date.now()};await $.createMemory(J,"messages"),$.logger.debug({src:"service:message",memoryId:J.id},"Saved ignore response to memory")}if(z.delete(q.roomId),z.size===0)V1.delete($.agentId);await $.evaluate(q,w,h,async(j)=>{if($.logger.debug({src:"service:message",content:j},"Evaluate callback"),C)C.evalCallbacks=j;if(_)return _(j);return[]},I);let L="noname";if(q.metadata&&"entityName"in q.metadata&&typeof q.metadata.entityName==="string")L=q.metadata.entityName;let g=q.content?.channelType==="DM",y=L;if(!g){let j=await $.getRoomsByIds([q.roomId]);if(j?.length){let W=j[0];if(W.name)y=W.name;if(W.worldId){let X=await $.getWorld(W.worldId);if(X)y=X.name+"-"+y}}}let p=new Date,o=w.data?.providers,Q=(typeof o==="object"&&o!==null&&"ACTIONS"in o?o.ACTIONS:void 0)?.data?.actionsData,m=Array.isArray(Q)?Q.map((j)=>j.name):[-1],e={at:p.toString(),timestamp:parseInt(""+p.getTime()/1000),messageId:q.id,userEntityId:q.entityId,input:q.content.text,thought:C?.thought,simple:C?.simple,availableActions:m,actions:C?.actions,providers:C?.providers,irt:C?.inReplyTo,output:C?.text,entityName:L,source:q.content.source,channelType:q.content.channelType,roomName:y};return await $.emitEvent("RUN_ENDED",{runtime:$,source:"messageHandler",runId:P,messageId:q.id,roomId:q.roomId,entityId:q.entityId,startTime:Y,status:"completed",endTime:Date.now(),duration:Date.now()-Y}),{didRespond:h,responseContent:C,responseMessages:I,state:w,mode:D}}catch(z){let T=z instanceof Error?z.message:String(z);throw $.logger.error({src:"service:message",agentId:$.agentId,error:z},"Error processing message"),await $.emitEvent("RUN_ENDED",{runtime:$,source:"messageHandler",runId:P,messageId:q.id,roomId:q.roomId,entityId:q.entityId,startTime:Y,status:"completed",endTime:Date.now(),duration:Date.now()-Y,error:T}),z}}shouldRespond($,q,_,K){if(!_)return{shouldRespond:!1,skipEvaluation:!0,reason:"no room context"};function P(N){if(!N||typeof N!=="string")return[];return N.trim().replace(/^\[|\]$/g,"").split(",").map((C)=>C.trim()).filter(Boolean)}let Y=["DM","VOICE_DM","SELF","API"],O=["client_chat"],z=P($.getSetting("ALWAYS_RESPOND_CHANNELS")||$.getSetting("SHOULD_RESPOND_BYPASS_TYPES")),T=P($.getSetting("ALWAYS_RESPOND_SOURCES")||$.getSetting("SHOULD_RESPOND_BYPASS_SOURCES")),H=new Set([...Y.map((N)=>N.toString()),...z].map((N)=>N.trim().toLowerCase())),f=[...O,...T].map((N)=>N.trim().toLowerCase()),w=_.type?.toString().toLowerCase(),k=q.content.source?.toLowerCase()||"";if(H.has(w))return{shouldRespond:!0,skipEvaluation:!0,reason:`private channel: ${w}`};if(f.some((N)=>k.includes(N)))return{shouldRespond:!0,skipEvaluation:!0,reason:`whitelisted source: ${k}`};if(!!(K?.isMention||K?.isReply))return{shouldRespond:!0,skipEvaluation:!0,reason:`platform ${K?.isMention?"mention":"reply"}`};return{shouldRespond:!1,skipEvaluation:!1,reason:"needs LLM evaluation"}}async processAttachments($,q){if(!q||q.length===0)return[];$.logger.debug({src:"service:message",count:q.length},"Processing attachments");let _=[];for(let K of q){let P={...K},Y=/^(http|https):\/\//.test(K.url),O=Y?K.url:dN(K.url);if(K.contentType==="image"&&!K.description){$.logger.debug({src:"service:message",imageUrl:K.url},"Generating image description");let z=O;if(!Y){let H=await fetch(O);if(!H.ok)throw Error(`Failed to fetch image: ${H.statusText}`);let f=await H.arrayBuffer(),w=Buffer.from(f);z=`data:${H.headers.get("content-type")||"application/octet-stream"};base64,${w.toString("base64")}`}let T=await $.useModel(G6.IMAGE_DESCRIPTION,{prompt:UN,imageUrl:z});if(typeof T==="string"){let H=YK(T);if(H&&(H.description||H.text))P.description=(typeof H.description==="string"?H.description:"")||"",P.title=(typeof H.title==="string"?H.title:"Image")||"Image",P.text=(typeof H.text==="string"?H.text:"")||(typeof H.description==="string"?H.description:"")||"",$.logger.debug({src:"service:message",descriptionPreview:P.description?.substring(0,100)},"Generated image description");else{let f=T,w=f.match(/<title>([^<]+)<\/title>/),k=f.match(/<description>([^<]+)<\/description>/),S=f.match(/<text>([^<]+)<\/text>/);if(w||k||S)P.title=w?.[1]||"Image",P.description=k?.[1]||"",P.text=S?.[1]||k?.[1]||"",$.logger.debug({src:"service:message",descriptionPreview:P.description?.substring(0,100)},"Used fallback XML parsing for description");else $.logger.warn({src:"service:message"},"Failed to parse XML response for image description")}}else if(T&&typeof T==="object"&&"description"in T){let H=T;P.description=H.description,P.title=H.title||"Image",P.text=H.description,$.logger.debug({src:"service:message",descriptionPreview:P.description?.substring(0,100)},"Generated image description")}else $.logger.warn({src:"service:message"},"Unexpected response format for image description")}else if(K.contentType==="document"&&!K.text){let z=await fetch(O);if(!z.ok)throw Error(`Failed to fetch document: ${z.statusText}`);let T=z.headers.get("content-type")||"";if(T.startsWith("text/plain")){$.logger.debug({src:"service:message",documentUrl:K.url},"Processing plain text document");let f=await z.text();P.text=f,P.title=P.title||"Text File",$.logger.debug({src:"service:message",textPreview:P.text?.substring(0,100)},"Extracted text content")}else $.logger.warn({src:"service:message",contentType:T},"Skipping non-plain-text document")}_.push(P)}return _}async runSingleShotCore($,q,_,K,P){if(_=await $.composeState(q,["ACTIONS"]),!_.values?.actionNames)$.logger.warn({src:"service:message"},"actionNames data missing from state");let Y=A1({state:_,template:$.character.templates?.messageHandlerTemplate||tN}),O=null,z=0;while(z<K.maxRetries&&(!O?.thought||!O?.actions)){let f=await $.useModel(G6.TEXT_LARGE,{prompt:Y});$.logger.info({src:"service:message",responseLength:f.length,responsePreview:f.substring(0,500)},"Raw LLM response received");let w=YK(f);if($.logger.info({src:"service:message",parsedXml:w?{hasThought:!!w.thought,thoughtPreview:typeof w.thought==="string"?w.thought.substring(0,100):null,hasActions:!!w.actions,actions:w.actions,hasText:!!w.text,textPreview:typeof w.text==="string"?w.text.substring(0,100):null}:null},"Parsed XML content"),w){let k=typeof w.thought==="string"?w.thought:"",S=Array.isArray(w.actions)?w.actions.filter((I)=>typeof I==="string"):typeof w.actions==="string"?[w.actions]:["IGNORE"],N=Array.isArray(w.providers)?w.providers.filter((I)=>typeof I==="string"):[],h=typeof w.text==="string"?w.text:"",C=typeof w.simple==="boolean"?w.simple:!1;O={...w,thought:k,actions:S,providers:N,text:h,simple:C}}else O=null,$.logger.warn({src:"service:message",responsePreview:f.substring(0,300)},"parseKeyValueXml returned null - XML parsing failed");if(z++,!O?.thought||!O?.actions)$.logger.warn({src:"service:message",retries:z,maxRetries:K.maxRetries,hasThought:!!O?.thought,hasActions:!!O?.actions,actionsValue:O?.actions},"Missing required fields (thought or actions), retrying")}if(!O)return{responseContent:null,responseMessages:[],state:_,mode:"none"};if(O.actions&&O.actions.length>1){let f=(k)=>typeof k==="string"&&k.toUpperCase()==="IGNORE";if(O.actions.some(f))if(!O.text||O.text.trim()==="")O.actions=["IGNORE"];else{let k=O.actions.filter((S)=>!f(S));O.actions=k.length?k:["REPLY"]}}let T=O.actions?.length===1&&typeof O.actions[0]==="string"&&O.actions[0].toUpperCase()==="REPLY"&&(!O.providers||O.providers.length===0);O.simple=T,O.responseId=P;let H=[{id:P,entityId:$.agentId,agentId:$.agentId,content:O,roomId:q.roomId,createdAt:Date.now()}];return{responseContent:O,responseMessages:H,state:_,mode:T&&O.text?"simple":"actions"}}async runMultiStepCore($,q,_,K,P,Y){let O=[],z=_,T=0;while(T<P.maxMultiStepIterations){T++,$.logger.debug({src:"service:message",iteration:T,maxIterations:P.maxMultiStepIterations},"Starting multi-step iteration"),z=await $.composeState(q,["RECENT_MESSAGES","ACTION_STATE"]),z.data.actionResults=O;let h=A1({state:z,template:$.character.templates?.multiStepDecisionTemplate||FN}),C=await $.useModel(G6.TEXT_LARGE,{prompt:h}),I=YK(C);if(!I){$.logger.warn({src:"service:message",iteration:T},"Failed to parse multi-step result"),O.push({data:{actionName:"parse_error"},success:!1,error:"Failed to parse step result"});break}let D=typeof I.thought==="string"?I.thought:void 0,L=Array.isArray(I.providers)?I.providers:[],g=typeof I.action==="string"?I.action:void 0,y=I.isFinish;if(y==="true"||y===!0){if($.logger.info({src:"service:message",agentId:$.agentId,iteration:T},"Multi-step task completed"),K)await K({text:"",thought:typeof D==="string"?D:""});break}let p=Array.isArray(L)?L:[];if((!p||p.length===0)&&!g){$.logger.warn({src:"service:message",iteration:T},"No providers or action specified, forcing completion");break}let o=parseInt(String($.getSetting("PROVIDERS_TOTAL_TIMEOUT_MS")||"1000")),s=new Set,Q=p.filter((J)=>typeof J==="string").map(async(J)=>{let Z=$.providers.find((G)=>G.name===J);if(!Z)return $.logger.warn({src:"service:message",providerName:J},"Provider not found"),s.add(J),{providerName:J,success:!1,error:`Provider not found: ${J}`};try{let G=await Z.get($,q,_);if(s.add(J),!G)return $.logger.warn({src:"service:message",providerName:J},"Provider returned no result"),{providerName:J,success:!1,error:"Provider returned no result"};let M=!!G.text;return{providerName:J,success:M,text:M?G.text:void 0,error:M?void 0:"Provider returned no result"}}catch(G){s.add(J);let M=G instanceof Error?G.message:String(G);return $.logger.error({src:"service:message",providerName:J,error:M},"Provider execution failed"),{providerName:J,success:!1,error:M}}}),m,e=new Promise((J)=>{m=setTimeout(()=>J("timeout"),o)}),j=Promise.allSettled(Q),W=await Promise.race([j,e]);if(clearTimeout(m),W==="timeout"){let Z=p.filter((G)=>typeof G==="string").filter((G)=>!s.has(G));if($.logger.error({src:"service:message",timeoutMs:o,pendingProviders:Z,completedProviders:Array.from(s)},`Providers took too long (>${o}ms) - slow providers: ${Z.join(", ")}`),K)await K({text:"Providers took too long to respond. Please optimize your providers or use caching.",actions:[],thought:"Provider timeout - pipeline aborted"});return{responseContent:null,responseMessages:[],state:_,mode:"none"}}let X=W;for(let J of X)if(J.status==="fulfilled"){let{providerName:Z,success:G,text:M,error:A}=J.value;if(O.push({data:{actionName:Z},success:G,text:M,error:A}),K)await K({text:`\uD83D\uDD0E Provider executed: ${Z}`,actions:[Z],thought:typeof D==="string"?D:""})}else $.logger.error({src:"service:message",error:J.reason||"Unknown provider failure"},"Unexpected provider promise rejection");if(g){let J={text:`\uD83D\uDD0E Executing action: ${g}`,actions:[g],thought:D||""};await $.processActions(q,[{id:q8(),entityId:$.agentId,roomId:q.roomId,createdAt:Date.now(),content:J}],_,async()=>{return[]});let Z=$.stateCache?.get(`${q.id}_action_results`),G=Array.isArray(Z?.values?.actionResults)?Z.values.actionResults:[],M=G.length>0&&typeof G[0]==="object"&&G[0]!==null?G[0]:null,A=M&&"success"in M&&typeof M.success==="boolean"?M.success:!1;O.push({data:{actionName:typeof g==="string"?g:"unknown"},success:A,text:M&&"text"in M&&typeof M.text==="string"?M.text:void 0,values:M&&"values"in M&&typeof M.values==="object"&&M.values!==null?M.values:void 0,error:A?void 0:M&&("text"in M)&&typeof M.text==="string"?M.text:void 0})}}if(T>=P.maxMultiStepIterations)$.logger.warn({src:"service:message",maxIterations:P.maxMultiStepIterations},"Reached maximum iterations, forcing completion");z=await $.composeState(q,["RECENT_MESSAGES","ACTION_STATE"]);let H=A1({state:z,template:$.character.templates?.multiStepSummaryTemplate||QN}),f=await $.useModel(G6.TEXT_LARGE,{prompt:H}),w=YK(f),k=null,S=w?.text;if(typeof S==="string"&&S)k={actions:["MULTI_STEP_SUMMARY"],text:S,thought:(typeof w.thought==="string"?w.thought:"Final user-facing message after task completion.")||"Final user-facing message after task completion.",simple:!0,responseId:Y};let N=k?[{id:Y,entityId:$.agentId,agentId:$.agentId,content:k,roomId:q.roomId,createdAt:Date.now()}]:[];return{responseContent:k,responseMessages:N,state:z,mode:k?"simple":"none"}}async emitRunEnded($,q,_,K,P){await $.emitEvent("RUN_ENDED",{runtime:$,source:"messageHandler",runId:q,messageId:_.id,roomId:_.roomId,entityId:_.entityId,startTime:K,status:P,endTime:Date.now(),duration:Date.now()-K})}async deleteMessage($,q){try{if(!q.id){$.logger.error({src:"service:message",agentId:$.agentId},"Cannot delete memory: message ID is missing");return}$.logger.info({src:"service:message",agentId:$.agentId,messageId:q.id,roomId:q.roomId},"Deleting memory"),await $.deleteMemory(q.id),$.logger.debug({src:"service:message",messageId:q.id},"Successfully deleted memory")}catch(_){throw $.logger.error({src:"service:message",agentId:$.agentId,error:_},"Error in deleteMessage"),_}}async clearChannel($,q,_){try{$.logger.info({src:"service:message",agentId:$.agentId,channelId:_,roomId:q},"Clearing message memories from channel");let K=await $.getMemoriesByRoomIds({tableName:"messages",roomIds:[q]});$.logger.debug({src:"service:message",channelId:_,count:K.length},"Found message memories to delete");let P=0;for(let Y of K)if(Y.id)try{await $.deleteMemory(Y.id),P++}catch(O){$.logger.warn({src:"service:message",error:O,memoryId:Y.id},"Failed to delete message memory")}$.logger.info({src:"service:message",agentId:$.agentId,channelId:_,deletedCount:P,totalCount:K.length},"Cleared message memories from channel")}catch(K){throw $.logger.error({src:"service:message",agentId:$.agentId,error:K},"Error in clearChannel"),K}}}var D_=($)=>{switch($){case 97:case 101:case 105:case 111:case 117:case 121:return!0;default:return!1}},SF=($)=>{switch($){case 97:case 101:case 105:case 111:case 117:case 121:case 119:case 120:case 89:return!0;default:return!1}},MF=($)=>{switch($){case 99:case 100:case 101:case 103:case 104:case 107:case 109:case 110:case 114:case 116:return!0;default:return!1}},NF=($)=>{switch($){case 98:case 100:case 102:case 103:case 109:case 110:case 112:case 114:case 116:return!0;default:return!1}},eN=($,q)=>{return q>=2&&D_($[q-2])&&(q===2&&!D_($[q-1])||q>=3&&!D_($[q-3])&&!SF($[q-1]))},CF=($)=>{if($.length<3)return $;if($.length<=6)switch($){case"ski":return"ski";case"skies":return"sky";case"dying":return"die";case"lying":return"lie";case"tying":return"tie";case"idly":return"idl";case"gently":return"gentl";case"ugly":return"ugli";case"early":return"earli";case"only":return"onli";case"singly":return"singl";case"sky":case"news":case"howe":case"atlas":case"cosmos":case"bias":case"andes":return $}let q=$.charCodeAt(0)===39?1:0,_=$.length-q,K=Array(_),P=!1;for(let f=0;f<_;++f){let w=$.charCodeAt(f+q);if(w===121&&(f===0||D_(K[f-1]))){P=!0,K[f]=89;continue}K[f]=w}if(K[_-1]===39)--_;if(_>=2&&K[_-2]===39&&K[_-1]===115)_-=2;let Y=0;while(Y<_&&!D_(K[Y]))++Y;if(Y<_)++Y;let O=Y;if(_>=5&&(K[0]===103&&K[1]===101&&K[2]===110&&K[3]===101&&K[4]===114||K[0]===97&&K[1]===114&&K[2]===115&&K[3]===101&&K[4]===110))O=5;else if(_>=6&&K[0]===99&&K[1]===111&&K[2]===109&&K[3]===109&&K[4]===117&&K[5]===110)O=6;else{while(O<_&&D_(K[O]))++O;if(O<_)++O}let z=O;while(z<_&&!D_(K[z]))++z;while(z<_&&D_(K[z]))++z;if(z<_)++z;if(_>=3){if(K[_-1]===115){if(_>=4&&K[_-2]===101&&K[_-3]===115&&K[_-4]===115)_-=2;else if(K[_-2]===101&&K[_-3]===105)_-=_>=5?2:1;else if(K[_-2]!==117&&K[_-2]!==115&&Y<_-1)_-=1}else if(K[_-1]===100&&K[_-2]===101&&K[_-3]===105)_-=_>=5?2:1}if(_===6&&(K[0]===105&&K[1]===110&&K[2]===110&&K[3]===105&&K[4]===110&&K[5]===103||K[0]===111&&K[1]===117&&K[2]===116&&K[3]===105&&K[4]===110&&K[5]===103||K[0]===101&&K[1]===120&&K[2]===99&&K[3]===101&&K[4]===101&&K[5]===100)||_===7&&(K[0]===99&&K[1]===97&&K[2]===110&&K[3]===110&&K[4]===105&&K[5]===110&&K[6]===103||K[0]===104&&K[1]===101&&K[2]===114&&K[3]===114&&K[4]===105&&K[5]===110&&K[6]===103||K[0]===101&&K[1]===97&&K[2]===114&&K[3]===114&&K[4]===105&&K[5]===110&&K[6]===103||K[0]===112&&K[1]===114&&K[2]===111&&K[3]===99&&K[4]===101&&K[5]===101&&K[6]===100||K[0]===115&&K[1]===117&&K[2]===99&&K[3]===99&&K[4]===101&&K[5]===101&&K[6]===100)){let f="";for(let w=0;w<_;++w)f+=String.fromCharCode(K[w]);return f}let T=_>=2&&K[_-1]===121&&K[_-2]===108?_-2:_;if(T>=3)if(K[T-3]===101&&K[T-2]===101&&K[T-1]===100){if(T>=O+3)_=T-1}else{if(K[T-2]===101&&K[T-1]===100)T-=2;else if(K[T-3]===105&&K[T-2]===110&&K[T-1]===103)T-=3;else T=-1;if(T>=0&&Y<=T){if(_=T,_>=2){if(K[_-1]===116&&K[_-2]===97||K[_-1]===108&&K[_-2]===98||K[_-1]===122&&K[_-2]===105)K[_]=101,++_;else if(K[_-2]===K[_-1]&&NF(K[_-1]))--_;else if(O>=_&&eN(K,_))K[_]=101,++_}}}if(_>=3&&(K[_-1]===89||K[_-1]===121)&&!D_(K[_-2]))K[_-1]=105;if(_>=O+2)switch(K[_-1]){case 108:if(_>=O+6&&K[_-2]===97&&K[_-3]===110&&K[_-4]===111&&K[_-5]===105&&K[_-6]===116)if(_>=7&&K[_-7]===97){if(_>=O+7)_-=4,K[_-1]=101}else _-=2;break;case 110:if(_>=O+5&&K[_-2]===111&&K[_-3]===105&&K[_-4]===116&&K[_-5]===97)if(_>=7&&K[_-6]===122&&K[_-7]===105){if(_>=O+7)_-=4,K[_-1]=101}else _-=2,K[_-1]=101;break;case 114:if(_>=O+4){if(K[_-2]===101){if(K[_-3]===122&&K[_-4]===105)--_}else if(K[_-2]===111){if(K[_-3]===116&&K[_-4]===97)--_,K[_-1]=101}}break;case 115:if(_>=O+7&&K[_-2]===115&&K[_-3]===101&&K[_-4]===110&&(K[_-5]===108&&K[_-6]===117&&K[_-7]===102||K[_-5]===115&&K[_-6]===117&&K[_-7]===111||K[_-5]===101&&K[_-6]===118&&K[_-7]===105))_-=4;break;case 109:if(_>=O+5&&K[_-2]===115&&K[_-3]===105&&K[_-4]===108&&K[_-5]===97)_-=3;break;case 105:if(K[_-2]===99){if(_>=O+4&&(K[_-4]===101||K[_-4]===97)&&K[_-3]===110)K[_-1]=101}else if(K[_-2]===103){if(_>=O+3&&_>=4&&K[_-2]===103&&K[_-3]===111&&K[_-4]===108)--_}else if(K[_-2]===116){if(_>=O+5&&K[_-3]===105){if(K[_-4]===108){if(_>=6&&K[_-5]===105&&K[_-6]===98){if(_>=O+6)_-=3,K[_-2]=108,K[_-1]=101}else if(K[_-4]===108&&K[_-5]===97)_-=3}else if(K[_-4]===118&&K[_-5]===105)_-=2,K[_-1]=101}}else if(K[_-2]===108&&_>=3){if(K[_-3]===98){if(_>=4&&K[_-4]===97){if(_>=O+4)K[_-1]=101}else if(_>=O+3)K[_-1]=101}else if(K[_-3]===108){if(_>=5&&K[_-4]===117&&K[_-5]===102){if(_>=O+5)_-=2}else if(_>=O+4&&K[_-4]===97)_-=2}else if(K[_-3]===115){if(_>=6&&K[_-4]===115&&K[_-5]===101&&K[_-6]===108){if(_>=O+6)_-=2}else if(_>=O+5&&K[_-4]===117&&K[_-5]===111)_-=2}else if(_>=5&&K[_-3]===116&&K[_-4]===110&&K[_-5]===101){if(_>=O+5)_-=2}else if(MF(K[_-3]))_-=2}}if(_>=O+3)switch(K[_-1]){case 108:if(K[_-3]===99){if(_>=O+4&&K[_-4]===105&&K[_-2]===97)_-=2}else if(K[_-3]===102){if(K[_-2]===117)_-=3}else if(K[_-3]===110){if(_>=O+6&&K[_-2]===97&&K[_-4]===111&&K[_-5]===105&&K[_-6]===116)if(_>=7&&K[_-7]===97){if(_>=O+7)_-=4,K[_-1]=101}else _-=2}break;case 101:if(K[_-2]===122){if(_>=O+5&&K[_-3]===105&&K[_-4]===108&&K[_-5]===97)_-=3}else if(K[_-2]===116){if(_>=O+5&&K[_-3]===97&&K[_-4]===99&&K[_-5]===105)_-=3}else if(K[_-2]===118){if(_>=z+5&&K[_-3]===105&&K[_-4]===116&&K[_-5]===97)_-=5}break;case 105:if(_>=O+5&&K[_-2]===116&&K[_-3]===105&&K[_-4]===99&&K[_-5]===105)_-=3;break;case 115:if(_>=O+4&&K[_-2]===115&&K[_-3]===101&&K[_-4]===110)_-=4}if(_>=z+2)switch(K[_-1]){case 110:if(_>=z+3&&K[_-2]===111&&K[_-3]===105&&(K[_-4]===115||K[_-4]===116))_-=3;break;case 108:if(K[_-2]===97)_-=2;break;case 114:if(K[_-2]===101)_-=2;break;case 99:if(K[_-2]===105)_-=2;break;case 109:if(_>=z+3&&K[_-2]===115&&K[_-3]===105)_-=3;break;case 105:if(_>=z+3&&K[_-2]===116&&K[_-3]===105)_-=3;break;case 115:if(_>=z+3&&K[_-2]===117&&K[_-3]===111)_-=3;break;case 116:if(_>=z+3&&K[_-2]===110){if(K[_-3]===97)_-=3;else if(K[_-3]===101)if(_>=4&&K[_-4]===109){if(_>=5&&K[_-5]===101){if(_>=z+5)_-=5}else if(_>=z+4)_-=4}else _-=3}break;case 101:if(K[_-2]===99){if(_>=z+4&&K[_-3]===110&&(K[_-4]===97||K[_-4]===101))_-=4}else if(K[_-2]===108){if(_>=z+4&&K[_-3]===98&&(K[_-4]===97||K[_-4]===105))_-=4}else if(K[_-2]===116){if(_>=z+3&&K[_-3]===97)_-=3}else if(_>=z+3&&(K[_-2]===118||K[_-2]===122)&&K[_-3]===105)_-=3}if(_>=O+1&&(_>=z+1&&K[_-1]===108&&K[_-2]===108||K[_-1]===101&&(_>=z+1||!eN(K,_-1))))--_;let H="";if(P)for(let f=0;f<_;++f)H+=String.fromCharCode(K[f]===89?121:K[f]);else for(let f=0;f<_;++f)H+=String.fromCharCode(K[f]);return H},EF={k1:1.2,b:0.75,minLength:2,stopWords:new Set(["a","an","and","are","as","at","be","by","for","from","has","he","in","is","it","its","of","on","that","the","to","was","were","will","with"]),stemming:!1,stemWords:($)=>$};class AT{stopWords;minLength;stemming;stemmingRules;static DEFAULT_OPTIONS={stopWords:new Set,minLength:2,stemming:!1,stemmingRules:[]};constructor($={}){let q={...AT.DEFAULT_OPTIONS,...$};this.stopWords=q.stopWords,this.minLength=q.minLength,this.stemming=q.stemming,this.stemmingRules=q.stemmingRules.map((_)=>({..._,pattern:typeof _.pattern==="string"?new RegExp(_.pattern):_.pattern}))}tokenize($,q=!1){if(!$)throw Error("Input text cannot be null or empty");let _=Date.now(),K=$.split(/\s+/).filter((z)=>z.length>0),Y=this.cleanText($).split(/\s+/).filter((z)=>this.isValidToken(z)).map((z)=>this.stemming?this.stemWord(z):z),O=q?{originalWordCount:K.length,stopWordsRemoved:K.length-Y.length,stemmedWords:this.stemming?Y.length:0,processingTimeMs:Date.now()-_}:{originalWordCount:0,stopWordsRemoved:0,stemmedWords:0,processingTimeMs:0};return{tokens:Y,stats:O}}cleanText($){return $.toLowerCase().normalize("NFKD").replace(/[\u0000-\u001F\u007F-\u009F\u200B-\u200D\uFEFF]/g,"").replace(/[\u0300-\u036f]/g,"").replace(/[\p{Emoji_Presentation}\p{Extended_Pictographic}]/gu,"").replace(/[™®©℠‼]/g,"").replace(/[\p{P}]/gu," ").replace(/[^a-z0-9\u3040-\u30FF\u3400-\u4DBF\u4E00-\u9FFF\uAC00-\uD7AF\s]/gu," ").replace(/\s+/g," ").trim()}isValidToken($){let q=/^\d+$/.test($);return($.length>=this.minLength||q)&&!this.stopWords.has($)}stemWord($){if($.length<3)return $;let q=!1,_=$;for(let K of this.stemmingRules){let P=_.match(K.pattern);if(P){if(!K.minMeasure||this.measure(_.substring(0,P.index))>=K.minMeasure){if(typeof K.replacement==="string")_=_.replace(K.pattern,K.replacement);else _=_.replace(K.pattern,(...Y)=>K.replacement(...Y));q=!0}}}if(q&&_!==$)return _;return CF(_)}isConsonant($,q){let _=$[q];if("aeiou".includes(_))return!1;return _!=="y"||(q===0?!0:!this.isConsonant($,q-1))}measure($){let q=0,_=!1;for(let K=0;K<$.length;K++)if(this.isConsonant($,K)){if(_)q++,_=!1}else _=!0;return q}}class kT{termFrequencySaturation;lengthNormalizationFactor;tokenizer;documentLengths;averageDocLength;termToIndex;documentFrequency;termFrequencies;fieldBoosts;documents;constructor($,q={}){let _={...EF,...q};if(this.termFrequencySaturation=_.k1,this.lengthNormalizationFactor=_.b,this.tokenizer=new AT(_),this.fieldBoosts=_.fieldBoosts||{},this.documents=[],this.documentLengths=new Uint32Array(0),this.termToIndex=new Map,this.documentFrequency=new Uint32Array(0),this.averageDocLength=0,this.termFrequencies=new Map,$&&$.length>0){this.documents=[...$];let{documentLengths:K,termToIndex:P,documentFrequency:Y,averageDocLength:O,termFrequencies:z}=this.processDocuments($);this.documentLengths=K,this.termToIndex=P,this.documentFrequency=Y,this.averageDocLength=O,this.termFrequencies=z}}processDocuments($){let q=$.length,_=new Uint32Array(q),K=new Map,P=new Map,Y=new Map,O=0,z=0;$.forEach((H,f)=>{let w=0,k=new Map;Object.entries(H).forEach(([S,N])=>{if(typeof N!=="string")return;let h=this.fieldBoosts[S]||1,{tokens:C}=this.tokenizer.tokenize(N),I=C.length*h;w+=I,C.forEach((D)=>{if(!K.has(D))K.set(D,z++);let L=K.get(D);if(!P.has(D))P.set(D,new Set);P.get(D).add(f);let g=k.get(L)||0;k.set(L,g+h)})}),_[f]=w,O+=w,k.forEach((S,N)=>{if(!Y.has(N))Y.set(N,new Map);Y.get(N).set(f,S)})});let T=new Uint32Array(K.size);return P.forEach((H,f)=>{let w=K.get(f);T[w]=H.size}),{documentLengths:_,termToIndex:K,documentFrequency:T,averageDocLength:q>0?O/q:0,termFrequencies:Y}}recalculateAverageLength(){if(this.documentLengths.length===0){this.averageDocLength=0;return}let $=this.documentLengths.reduce((q,_)=>q+_,0);this.averageDocLength=$/this.documentLengths.length}search($,q=10){let{tokens:_}=this.tokenizer.tokenize($),K=new Float32Array(this.documentLengths.length).fill(0);return _.forEach((P)=>{let Y=this.termToIndex.get(P);if(Y===void 0)return;let O=this.calculateIdf(Y);if(O<=0)return;let z=this.termFrequencies.get(Y);if(!z)return;z.forEach((T,H)=>{let f=this.documentLengths[H],w=T*(this.termFrequencySaturation+1),k=T+this.termFrequencySaturation*(1-this.lengthNormalizationFactor+this.lengthNormalizationFactor*f/this.averageDocLength);K[H]+=O*(w/k)})}),Array.from({length:K.length},(P,Y)=>({index:Y,score:K[Y]})).filter((P)=>P.score>0).sort((P,Y)=>Y.score-P.score).slice(0,q)}searchPhrase($,q=10){let{tokens:_}=this.tokenizer.tokenize($);if(_.length===0)return[];let K=null;for(let Y of _){let O=this.termToIndex.get(Y);if(O===void 0)return[];let z=this.termFrequencies.get(O)?.keys();if(!z)return[];let T=new Set(z);if(K===null)K=T;else K=new Set([...K].filter((H)=>T.has(H)));if(K.size===0)return[]}if(K===null||K.size===0)return[];let P=new Map;return K.forEach((Y)=>{let O=this.getDocument(Y),z=!1;Object.entries(O).forEach(([T,H])=>{if(typeof H!=="string"||z)return;let f=this.fieldBoosts[T]||1,{tokens:w}=this.tokenizer.tokenize(H);for(let k=0;k<=w.length-_.length;k++){let S=!0;for(let N=0;N<_.length;N++)if(w[k+N]!==_[N]){S=!1;break}if(S){let N=this.calculatePhraseScore(_,Y)*f;P.set(Y,(P.get(Y)||0)+N),z=!0;break}}})}),Array.from(P.entries()).map(([Y,O])=>({index:Y,score:O})).sort((Y,O)=>O.score-Y.score).slice(0,q)}calculatePhraseScore($,q){return $.reduce((_,K)=>{let P=this.termToIndex.get(K);if(P===void 0)return _;let Y=this.calculateIdf(P),O=this.termFrequencies.get(P)?.get(q)||0,z=this.documentLengths[q],T=O*(this.termFrequencySaturation+1),H=O+this.termFrequencySaturation*(1-this.lengthNormalizationFactor+this.lengthNormalizationFactor*z/this.averageDocLength);return _+Y*(T/H)},0)}async addDocument($){if(!$)throw Error("Document cannot be null");let q=this.documentLengths.length;this.documents.push($);let _=new Uint32Array(q+1);_.set(this.documentLengths,0),this.documentLengths=_;let K=0,P=new Map;Object.entries($).forEach(([Y,O])=>{if(typeof O!=="string")return;let z=this.fieldBoosts[Y]||1,{tokens:T}=this.tokenizer.tokenize(O);K+=T.length*z,T.forEach((H)=>{let f;if(!this.termToIndex.has(H)){if(f=this.termToIndex.size,this.termToIndex.set(H,f),this.documentFrequency.length<=f){let k=this.documentFrequency,S=Math.max(f+1,k.length*2||1);this.documentFrequency=new Uint32Array(S),this.documentFrequency.set(k,0)}this.documentFrequency[f]=0}else f=this.termToIndex.get(H);let w=P.get(f)||0;P.set(f,w+z)})}),this.documentLengths[q]=K,P.forEach((Y,O)=>{if(!this.termFrequencies.has(O))this.termFrequencies.set(O,new Map);if(this.termFrequencies.get(O).set(q,Y),O<this.documentFrequency.length)this.documentFrequency[O]++}),this.recalculateAverageLength()}calculateIdf($){if($<0||$>=this.documentFrequency.length)return 0;let q=this.documentFrequency[$];if(q<=0||q>this.documentLengths.length)return 0;let K=this.documentLengths.length-q+0.5,P=q+0.5;return Math.log(1+K/P)}getTermFrequency($,q){return this.termFrequencies.get($)?.get(q)||0}getDocument($){if($<0||$>=this.documents.length)throw Error(`Document index ${$} out of bounds (0-${this.documents.length-1})`);return this.documents[$]}clearDocuments(){this.documents=[],this.documentLengths=new Uint32Array(0),this.termToIndex.clear(),this.documentFrequency=new Uint32Array(0),this.averageDocLength=0,this.termFrequencies.clear()}getDocumentCount(){return this.documents.length}async addDocuments($){return Promise.all($.map((q)=>this.addDocument(q)))}}var hF={};class RF{permits;waiting=[];constructor($){this.permits=$}async acquire(){if(this.permits>0)return this.permits-=1,Promise.resolve();return new Promise(($)=>{this.waiting.push($)})}release(){this.permits+=1;let $=this.waiting.shift();if($&&this.permits>0)this.permits-=1,$()}}class GT{#$=32;agentId;character;adapter;actions=[];evaluators=[];providers=[];plugins=[];events={};stateCache=new Map;fetch=fetch;services=new Map;serviceTypes=new Map;models=new Map;routes=[];taskWorkers=new Map;sendHandlers=new Map;eventHandlers=new Map;elizaOS;allAvailablePlugins=new Map;characterPlugins=[];logger;settings;servicePromiseHandlers=new Map;servicePromises=new Map;serviceRegistrationStatus=new Map;initPromise;initResolver;initRejecter;currentRunId;currentRoomId;currentActionContext;maxWorkingMemoryEntries=50;messageService=null;constructor($){if(this.agentId=$.character?.id??$?.agentId??i2($.character?.name??q8()),this.character=$.character,this.initPromise=new Promise((q,_)=>{this.initResolver=q,this.initRejecter=_}),this.logger=X1({namespace:this.character?.name}),this.#$=$.conversationLength??this.#$,$.adapter)this.registerDatabaseAdapter($.adapter);if(this.fetch=$.fetch??this.fetch,this.settings=$.settings??hF,this.plugins=[],this.characterPlugins=$?.plugins??[],$.allAvailablePlugins){for(let q of $.allAvailablePlugins)if(q?.name)this.allAvailablePlugins.set(q.name,q)}if(this.logger.debug({src:"agent",agentId:this.agentId,agentName:this.character?.name},"Initialized"),this.currentRunId=void 0,$.settings?.MAX_WORKING_MEMORY_ENTRIES)this.maxWorkingMemoryEntries=parseInt($.settings.MAX_WORKING_MEMORY_ENTRIES,10)||50;else this.maxWorkingMemoryEntries=xM("MAX_WORKING_MEMORY_ENTRIES",50)}createRunId(){return q8()}startRun($){return this.currentRunId=this.createRunId(),this.currentRoomId=$,this.currentRunId}endRun(){this.currentRunId=void 0,this.currentRoomId=void 0}getCurrentRunId(){if(!this.currentRunId)this.currentRunId=this.createRunId();return this.currentRunId}async registerPlugin($){if(!$?.name)throw this.logger.error({src:"agent",agentId:this.agentId,error:"Plugin or plugin name is undefined"},"Plugin registration failed"),Error("registerPlugin: Plugin or plugin name is undefined");if(this.plugins.find((_)=>_.name===$.name)){this.logger.warn({src:"agent",agentId:this.agentId,plugin:$.name},"Plugin already registered, skipping");return}if(this.plugins.push($),this.logger.debug({src:"agent",agentId:this.agentId,plugin:$.name},"Plugin added"),$.init){let _={};if($.config){for(let[K,P]of Object.entries($.config))if(P!==null&&P!==void 0)_[K]=String(P)}await $.init(_,this),this.logger.debug({src:"agent",agentId:this.agentId,plugin:$.name},"Plugin initialized")}if($.adapter)this.logger.debug({src:"agent",agentId:this.agentId,plugin:$.name},"Registering database adapter"),this.registerDatabaseAdapter($.adapter);if($.actions)for(let _ of $.actions)this.registerAction(_);if($.evaluators)for(let _ of $.evaluators)this.registerEvaluator(_);if($.providers)for(let _ of $.providers)this.registerProvider(_);if($.models)for(let[_,K]of Object.entries($.models))this.registerModel(_,K,$.name,$?.priority);if($.routes)for(let _ of $.routes){let K=_.path.startsWith("/")?_.path:`/${_.path}`;this.routes.push({..._,path:"/"+$.name+K})}if($.events)for(let[_,K]of Object.entries($.events))for(let P of K)this.registerEvent(_,P);if($.services)for(let _ of $.services){let K=_.serviceType;if(this.logger.debug({src:"agent",agentId:this.agentId,plugin:$.name,serviceType:K},"Registering service"),!this.servicePromises.has(K))this._createServiceResolver(K);this.serviceRegistrationStatus.set(K,"pending"),this.registerService(_).catch((P)=>{this.logger.error({src:"agent",agentId:this.agentId,plugin:$.name,serviceType:K,error:P instanceof Error?P.message:String(P)},"Service registration failed");let Y=this.servicePromiseHandlers.get(K);if(Y){let O=Error(`Service ${K} from plugin ${$.name} failed to register: ${P instanceof Error?P.message:String(P)}`);Y.reject(O),this.servicePromiseHandlers.delete(K),this.servicePromises.delete(K)}this.serviceRegistrationStatus.set(K,"failed")})}}getAllServices(){return this.services}async stop(){this.logger.debug({src:"agent",agentId:this.agentId},"Stopping runtime");for(let[$,q]of this.services){this.logger.debug({src:"agent",agentId:this.agentId,serviceType:$},"Stopping service");for(let _ of q)await _.stop()}this.elizaOS=void 0}async initialize($){let q=[],_=this.characterPlugins;for(let H of _)if(H)q.push(this.registerPlugin(H));if(await Promise.all(q),!this.adapter)throw this.logger.error({src:"agent",agentId:this.agentId},"Database adapter not initialized"),Error("Database adapter not initialized. The SQL plugin (@elizaos/plugin-sql) is required for agent initialization. Please ensure it is included in your character configuration.");if(!await this.adapter.isReady())await this.adapter.init();if(this.messageService=new XT,$?.skipMigrations??!1)this.logger.debug({src:"agent",agentId:this.agentId},"Skipping plugin migrations");else this.logger.debug({src:"agent",agentId:this.agentId},"Running plugin migrations"),await this.runPluginMigrations(),this.logger.debug({src:"agent",agentId:this.agentId},"Plugin migrations completed");let P=await this.ensureAgentExists({...this.character,id:this.agentId});if(!P){let H=`Agent ${this.agentId} does not exist in database after ensureAgentExists call`;throw Error(H)}if(P.settings){this.character.settings={...P.settings,...this.character.settings};let H=P.settings.secrets&&typeof P.settings.secrets==="object"?P.settings.secrets:{},f=this.character.settings.secrets&&typeof this.character.settings.secrets==="object"?this.character.settings.secrets:{},w=this.character.secrets&&typeof this.character.secrets==="object"?this.character.secrets:{},k={...H,...w,...f};if(Object.keys(k).length>0){let S={};for(let[N,h]of Object.entries(k))if(h!==null&&h!==void 0)S[N]=h;if(Object.keys(S).length>0)this.character.secrets=S,this.character.settings.secrets=S}}let Y=await this.getEntityById(this.agentId);if(!Y){if(!await this.createEntity({id:this.agentId,names:[this.character.name],metadata:{},agentId:P.id})){let f=`Failed to create entity for agent ${this.agentId}`;throw Error(f)}if(Y=await this.getEntityById(this.agentId),!Y)throw Error(`Agent entity not found for ${this.agentId}`);this.logger.debug({src:"agent",agentId:this.agentId},"Agent entity created")}if(!await this.getRoom(this.agentId))await this.createRoom({id:this.agentId,name:this.character.name,source:"elizaos",type:"SELF",channelId:this.agentId,messageServerId:this.agentId,worldId:this.agentId});if(!(await this.adapter.getParticipantsForRoom(this.agentId)).includes(this.agentId)){if(!await this.addParticipant(this.agentId,this.agentId))throw Error(`Failed to add agent ${this.agentId} as participant to its own room`);this.logger.debug({src:"agent",agentId:this.agentId},"Agent linked to room")}if(!this.getModel(G6.TEXT_EMBEDDING))this.logger.warn({src:"agent",agentId:this.agentId},"No TEXT_EMBEDDING model registered, skipping embedding setup");else await this.ensureEmbeddingDimension();if(this.initResolver)this.initResolver(),this.initResolver=void 0}async runPluginMigrations(){if(!this.adapter){this.logger.warn({src:"agent",agentId:this.agentId},"Database adapter not found, skipping plugin migrations");return}if(typeof this.adapter.runPluginMigrations!=="function"){this.logger.warn({src:"agent",agentId:this.agentId},"Database adapter does not support plugin migrations");return}let $=this.plugins.filter((K)=>K.schema).map((K)=>{let P=K.schema||{},Y={};for(let[O,z]of Object.entries(P))if(typeof z==="string"||typeof z==="number"||typeof z==="boolean"||z===null||typeof z==="object"&&z!==null&&!Array.isArray(z))Y[O]=z;return{name:K.name,schema:Y}});if($.length===0){this.logger.debug({src:"agent",agentId:this.agentId},"No plugins with schemas, skipping migrations");return}this.logger.debug({src:"agent",agentId:this.agentId,count:$.length},"Found plugins with schemas");let q=!1,_=process.env.ELIZA_ALLOW_DESTRUCTIVE_MIGRATIONS==="true";await this.adapter.runPluginMigrations($,{verbose:!q,force:_,dryRun:!1}),this.logger.debug({src:"agent",agentId:this.agentId},"Plugin migrations completed")}async getConnection(){if(!this.adapter)throw Error("Database adapter not registered");return this.adapter.getConnection()}setSetting($,q,_=!1){if(_){if(!this.character.secrets)this.character.secrets={};if(q!==null&&q!==void 0)this.character.secrets[$]=q}else{if(!this.character.settings)this.character.settings={};if(q!==null&&q!==void 0)this.character.settings[$]=q}}getSetting($){let q=this.character.settings,_=this.character.secrets,K=typeof q==="object"&&q!==null&&"secrets"in q&&typeof q.secrets==="object"&&q.secrets!==null?q.secrets:void 0,P=_?.[$]||q?.[$]||K?.[$]||this.settings[$];if(P===void 0||P===null)return null;if(typeof P==="number")return P;if(typeof P==="boolean")return P;if(typeof P==="string"){let Y=t2(P,L_());if(Y==="true")return!0;if(Y==="false")return!1;return Y}return null}getConversationLength(){return this.#$}registerDatabaseAdapter($){if(this.adapter)this.logger.warn({src:"agent",agentId:this.agentId},"Database adapter already registered, ignoring");else this.adapter=$,this.logger.debug({src:"agent",agentId:this.agentId},"Database adapter registered")}registerProvider($){this.providers.push($),this.logger.debug({src:"agent",agentId:this.agentId,provider:$.name},"Provider registered")}registerAction($){if(this.actions.find((q)=>q.name===$.name))this.logger.warn({src:"agent",agentId:this.agentId,action:$.name},"Action already registered, skipping");else this.actions.push($),this.logger.debug({src:"agent",agentId:this.agentId,action:$.name},"Action registered")}registerEvaluator($){this.evaluators.push($)}updateActionPlan($,q){return{...$,...q}}updateActionStep($,q,_){if(!$.steps||q<0||q>=$.steps.length)return this.logger.warn({src:"agent",agentId:this.agentId,index:q,stepsCount:$.steps?.length||0},"Invalid step index"),$;return{...$,steps:$.steps.map((K,P)=>P===q?{...K,..._}:K)}}async processActions($,q,_,K,P){let Y=[];for(let k of q)if(k.content?.actions&&k.content.actions.length>0)Y.push(...k.content.actions);let O=Y.length>1,z=this.getCurrentRunId(),T=this.createRunId(),H=void 0,f=q[0]?.content?.thought||`Executing ${Y.length} actions: ${Y.join(", ")}`;if(O)H={runId:T,totalSteps:Y.length,currentStep:0,steps:Y.map((k)=>({action:k,status:"pending"})),thought:f,startTime:Date.now()};let w=0;for(let k of q){let C=function(I){return I.toLowerCase().replace(/_/g,"")};if(!k.content?.actions||k.content.actions.length===0){this.logger.warn({src:"agent",agentId:this.agentId},"No action found in response");continue}let S=k.content.actions,N=[],h=_;this.logger.trace({src:"agent",agentId:this.agentId,actions:this.actions.map((I)=>C(I.name))},"Available actions");for(let I of S){if(H)H=this.updateActionPlan(H,{currentStep:w+1});if(h=await this.composeState($,["RECENT_MESSAGES","ACTION_STATE"]),H&&h.data)h.data.actionPlan=H,h.data.actionResults=N;this.logger.debug({src:"agent",agentId:this.agentId,action:I},"Processing action");let D=C(I),L=this.actions.find((G)=>C(G.name)===D);if(!L)L=this.actions.find((G)=>C(G.name).includes(D)||D.includes(C(G.name)));if(!L)for(let G of this.actions){if(G.similes?.find((v)=>C(v)===D)){L=G,this.logger.debug({src:"agent",agentId:this.agentId,action:L.name,match:"simile"},"Action resolved via simile");break}if(G.similes?.find((v)=>C(v).includes(D)||D.includes(C(v)))){L=G,this.logger.debug({src:"agent",agentId:this.agentId,action:L.name,match:"fuzzy"},"Action resolved via fuzzy match");break}}if(!L){let G=`Action not found: ${I}`;if(this.logger.error({src:"agent",agentId:this.agentId,action:I},"Action not found"),H&&H.steps[w])H=this.updateActionStep(H,w,{status:"failed",error:G});let M={id:q8(),entityId:$.entityId,roomId:$.roomId,worldId:$.worldId,content:{thought:G,source:"auto",type:"action_result",actionName:I,actionStatus:"failed",runId:T}};await this.createMemory(M,"messages"),w++;continue}if(!L.handler){if(this.logger.error({src:"agent",agentId:this.agentId,action:L.name},"Action has no handler"),H&&H.steps[w])H=this.updateActionStep(H,w,{status:"failed",error:"No handler"});w++;continue}this.logger.debug({src:"agent",agentId:this.agentId,action:L.name},"Executing action");let g=q8(),y=q8();this.currentActionContext={actionName:L.name,actionId:g,prompts:[]};let o={actionContext:{previousResults:N,getPreviousResult:(G)=>{return N.find((M)=>M.data?.actionName===G)}}};if(H)o.actionPlan={totalSteps:H.totalSteps,currentStep:H.currentStep,steps:H.steps,thought:H.thought};if(P?.onStreamChunk)o.onStreamChunk=P.onStreamChunk;await this.emitEvent("ACTION_STARTED",{messageId:g,roomId:$.roomId,world:$.worldId,content:{text:`Executing action: ${L.name}`,actions:[L.name],actionStatus:"executing",actionId:g,runId:T,type:"agent_action",thought:f,source:$.content?.source}});let s=[],Q=async(G)=>{return G.responseId=y,s.push(G),[]},m;if(P?.onStreamChunk){let G=null;m={messageId:y,onStreamChunk:async(M,A)=>{if(!G)G=new TT;let v=G.push(M);if(v)await P.onStreamChunk(v,A)},onStreamEnd:()=>{G=null}}}let e=await C1(m,()=>L.handler(this,$,h,o,Q,q)),j=e===void 0||e===null||typeof e==="boolean",W=null;if(!j){if(typeof e==="object"&&e!==null&&(("values"in e)||("data"in e)||("text"in e)))W={...e,success:"success"in e?e.success:!0};else W={success:!0,data:{actionName:L.name,legacyResult:e}};if(N.push(W),W.values){let G=Array.isArray(h.data?.actionResults)?h.data.actionResults:[];h={...h,values:{...h.values,...W.values},data:{...h.data||{},actionResults:[...G,W],actionPlan:H}}}if(W&&h.data){if(!h.data.workingMemory)h.data.workingMemory={};let M=`action_${W.data?.actionName||L.name}_${q8()}`,A={actionName:L.name,result:W,timestamp:Date.now()},v=h.data.workingMemory;v[M]=A;let V=Object.entries(v);if(V.length>this.maxWorkingMemoryEntries){let R=V.sort((E,b)=>{let x=E[1],l=b[1],F=x?.timestamp??0;return(l?.timestamp??0)-F});h.data.workingMemory=Object.fromEntries(R.slice(0,this.maxWorkingMemoryEntries))}}if(H&&H.steps[w])H=this.updateActionStep(H,w,{status:"completed",result:W})}let J=W?.success!==!1?"completed":"failed";if(await this.emitEvent("ACTION_COMPLETED",{messageId:g,roomId:$.roomId,world:$.worldId,content:{text:W?.text||"",actions:[L.name],actionStatus:J,actionId:g,type:"agent_action",thought:f,actionResult:W,source:$.content?.source}}),K)for(let G of s)await K(G);let Z={id:g,entityId:this.agentId,roomId:$.roomId,worldId:$.worldId,content:{text:W?.text||`Executed action: ${L.name}`,source:"action",type:"action_result",actionName:L.name,actionStatus:W?.success?"completed":"failed",actionResult:j?{legacy:e}:W,runId:T,...H&&{planStep:`${H.currentStep}/${H.totalSteps}`,planThought:H.thought}},metadata:{type:"action_result",actionName:L.name,runId:T,parentRunId:z,actionId:g,...H&&{totalSteps:H.totalSteps,currentStep:H.currentStep}}};await this.createMemory(Z,"messages"),this.logger.debug({src:"agent",agentId:this.agentId,action:L.name},"Action completed"),await this.adapter.log({entityId:$.entityId,roomId:$.roomId,type:"action",body:{action:L.name,actionId:g,message:$.content.text,messageId:$.id,state:h,responses:q,result:j?{legacy:e}:W,isLegacyReturn:j,prompts:this.currentActionContext?.prompts||[],promptCount:this.currentActionContext?.prompts.length||0,runId:T,parentRunId:z,...H&&{planStep:`${H.currentStep}/${H.totalSteps}`,planThought:H.thought}}}),this.currentActionContext=void 0,w++}if($.id)this.stateCache.set(`${$.id}_action_results`,{values:{actionResults:N},data:{actionResults:N,actionPlan:H},text:JSON.stringify(N)})}}getActionResults($){return this.stateCache?.get(`${$}_action_results`)?.data?.actionResults||[]}async evaluate($,q,_,K,P){let Y=this.evaluators.map(async(z)=>{if(!z.handler)return null;if(!_&&!z.alwaysRun)return null;if(await z.validate(this,$,q))return z;return null}),O=(await Promise.all(Y)).filter(Boolean);if(O.length===0)return[];return q=await this.composeState($,["RECENT_MESSAGES","EVALUATORS"]),await Promise.all(O.map(async(z)=>{if(z.handler)await z.handler(this,$,q,{},K,P),this.adapter.log({entityId:$.entityId,roomId:$.roomId,type:"evaluator",body:{evaluator:z.name,messageId:$.id,message:$.content.text,state:q,runId:this.getCurrentRunId()}})})),O}async ensureConnections($,q,_,K){if(!$){this.logger.error({src:"agent",agentId:this.agentId},"ensureConnections called without entities");return}if(!q||q.length===0){this.logger.error({src:"agent",agentId:this.agentId},"ensureConnections called without rooms");return}await this.ensureWorldExists({...K,agentId:this.agentId});let P=q[0],Y=(g,y)=>g.reduce((p,o,s)=>{if(s%y===0)p.push([]);return p[p.length-1].push(o),p},[]),O=q.map((g)=>g.id),T=(await this.getRoomsByIds(O))?.map((g)=>g.id),H=O.filter((g)=>!T?.includes(g)),f={worldId:K.id,messageServerId:K.messageServerId,source:_,agentId:this.agentId};if(H.length){this.logger.debug({src:"agent",agentId:this.agentId,count:H.length},"Creating rooms");let g=q.filter((y)=>H.includes(y.id)).map((y)=>({...y,...f,type:y.type||"GROUP"}));await this.createRooms(g)}let w=$.map((g)=>g.id).filter((g)=>g!==void 0),S=(await this.adapter.getEntitiesByIds(w))?.map((g)=>g.id).filter((g)=>g!==void 0)||[],N=$.filter((g)=>g.id!==void 0&&!S.includes(g.id)),h={roomId:P.id,channelId:P.channelId,type:P.type},C={worldId:K.id,messageServerId:K.messageServerId};if(N.length){this.logger.debug({src:"agent",agentId:this.agentId,count:N.length},"Creating entities");let g={...h,...C,source:_,agentId:this.agentId},y=N.map((o)=>({...o,...g,metadata:o.metadata||{}})),p=Y(y,5000);for(let o of p)await this.createEntities(o)}await this.ensureParticipantInRoom(this.agentId,P.id);let D=(await this.getParticipantsForRoom(P.id)).filter((g)=>g!==void 0),L=w.filter((g)=>!D.includes(g));if(L.length){this.logger.debug({src:"agent",agentId:this.agentId,count:L.length,channelId:P.id},"Adding missing participants");let g=Y(L,5000);for(let y of g)await this.addParticipantsRoom(y,P.id)}this.logger.success({src:"agent",agentId:this.agentId,worldId:K.id},"World connected")}async ensureConnection({entityId:$,roomId:q,worldId:_,worldName:K,userName:P,name:Y,source:O,type:z,channelId:T,messageServerId:H,userId:f,metadata:w}){if(!_&&H)_=K_(this,H);let k=[Y,P].filter(Boolean),S={[O]:{id:f,name:Y,userName:P}},N=await this.getEntityById($);if(!N)if(await this.createEntity({id:$,names:k,metadata:S,agentId:this.agentId}))this.logger.debug({src:"agent",agentId:this.agentId,entityId:$,userName:Y||P},"Entity created");else throw Error(`Failed to create entity ${$}`);else await this.adapter.updateEntity({id:$,names:[...new Set([...N.names||[],...k])].filter(Boolean),metadata:{...N.metadata,[O]:{...N.metadata?.[O]&&typeof N.metadata[O]==="object"?N.metadata[O]:{},id:f,name:Y,userName:P}},agentId:this.agentId});await this.ensureWorldExists({id:_,name:K||H?`World for server ${H}`:`World for room ${q}`,agentId:this.agentId,messageServerId:H,metadata:w}),await this.ensureRoomExists({id:q,name:Y||"default",source:O||"default",type:z||"DM",channelId:T,messageServerId:H,worldId:_}),await this.ensureParticipantInRoom($,q),await this.ensureParticipantInRoom(this.agentId,q),this.logger.debug({src:"agent",agentId:this.agentId,entityId:$,channelId:q},"Entity connected")}async ensureParticipantInRoom($,q){let _=await this.getEntityById($);if(!_&&$!==this.agentId)this.logger.warn({src:"agent",agentId:this.agentId,entityId:$},"Entity not accessible, attempting to add as participant");else if(!_&&$===this.agentId)throw Error(`Agent entity ${$} not found, cannot add as participant.`);else if(!_)throw Error(`User entity ${$} not found, cannot add as participant.`);if(!(await this.adapter.getParticipantsForRoom(q)).includes($)){if(!await this.addParticipant($,q))throw Error(`Failed to add participant ${$} to room ${q}`);if($===this.agentId)this.logger.debug({src:"agent",agentId:this.agentId,channelId:q},"Agent linked to room");else this.logger.debug({src:"agent",agentId:this.agentId,entityId:$,channelId:q},"User linked to room")}}async removeParticipant($,q){return await this.adapter.removeParticipant($,q)}async getParticipantsForEntity($){return await this.adapter.getParticipantsForEntity($)}async getParticipantsForRoom($){return await this.adapter.getParticipantsForRoom($)}async isRoomParticipant($,q){return await this.adapter.isRoomParticipant($,q)}async addParticipant($,q){return await this.adapter.addParticipantsRoom([$],q)}async addParticipantsRoom($,q){return await this.adapter.addParticipantsRoom($,q)}async ensureWorldExists({id:$,name:q,messageServerId:_,metadata:K}){if(!await this.getWorld($))this.logger.debug({src:"agent",agentId:this.agentId,worldId:$,name:q,messageServerId:_},"Creating world"),await this.adapter.createWorld({id:$,name:q,agentId:this.agentId,messageServerId:_,metadata:K}),this.logger.debug({src:"agent",agentId:this.agentId,worldId:$,messageServerId:_},"World created")}async ensureRoomExists({id:$,name:q,source:_,type:K,channelId:P,messageServerId:Y,worldId:O,metadata:z}){if(!O)throw Error("worldId is required");if(!await this.getRoom($))await this.createRoom({id:$,name:q,agentId:this.agentId,source:_,type:K,channelId:P,messageServerId:Y,worldId:O,metadata:z}),this.logger.debug({src:"agent",agentId:this.agentId,channelId:$},"Room created")}async composeState($,q=null,_=!1,K=!1){let P=_?q:null,Y={values:{},data:{},text:""},O=K||!$.id?Y:await this.stateCache.get($.id)||Y,z=new Set;if(P&&P.length>0)P.forEach((h)=>z.add(h));else this.providers.filter((h)=>!h.private&&!h.dynamic).forEach((h)=>z.add(h.name));if(!P&&q&&q.length>0)q.forEach((h)=>z.add(h));let T=Array.from(new Set(this.providers.filter((h)=>z.has(h.name)))).sort((h,C)=>(h.position||0)-(C.position||0)),H=await Promise.all(T.map(async(h)=>{let C=Date.now(),I=await h.get(this,$,O),D=Date.now()-C;if(D>100)this.logger.debug({src:"agent",agentId:this.agentId,provider:h.name,duration:D},"Slow provider");return{...I,providerName:h.name}})),f={...O.data?.providers||{}};for(let h of H)f[h.providerName]=h;let w=[];for(let h of T){let C=f[h.name];if(C&&C.text&&typeof C.text==="string"&&C.text.trim()!=="")w.push(C.text)}let k=w.join(`
|
|
676
|
+
`),S={...O.values||{}};for(let h of T){let C=f[h.name];if(C&&C.values&&typeof C.values==="object"&&C.values!==null)Object.assign(S,C.values)}for(let h in f)if(!T.some((C)=>C.name===h)){let C=f[h];if(C&&C.values&&typeof C.values==="object"&&C.values!==null)Object.assign(S,C.values)}let N={values:{...S,providers:k},data:{...O.data||{},providers:f},text:k};if($.id)this.stateCache.set($.id,N);return N}getService($){let q=this.services.get($);if(!q||q.length===0)return this.logger.debug({src:"agent",agentId:this.agentId,serviceName:$},"Service not found"),null;return q[0]}getTypedService($){return this.getService($)}getServicesByType($){let q=this.services.get($);if(!q||q.length===0)return this.logger.debug({src:"agent",agentId:this.agentId,serviceName:$},"No services found for type"),[];return q}getRegisteredServiceTypes(){return Array.from(this.services.keys())}hasService($){let q=this.services.get($);return q!==void 0&&q.length>0}getServiceRegistrationStatus($){return this.serviceRegistrationStatus.get($)||"unknown"}getServiceHealth(){let $={};for(let[q,_]of this.services)$[q]={status:this.getServiceRegistrationStatus(q),instances:_.length,hasPromise:this.servicePromises.has(q)};for(let[q,_]of this.serviceRegistrationStatus)if(!$[q])$[q]={status:_,instances:0,hasPromise:this.servicePromises.has(q)};return $}async registerService($){let q=$.serviceType,_=$.name||"Unknown";if(!q){this.logger.warn({src:"agent",agentId:this.agentId,serviceName:_},"Service missing serviceType property");return}this.logger.debug({src:"agent",agentId:this.agentId,serviceType:q},"Registering service"),this.serviceRegistrationStatus.set(q,"registering"),this.logger.debug({src:"agent",agentId:this.agentId,serviceType:q},"Service waiting for init");let K=new Promise((O,z)=>{setTimeout(()=>{z(Error(`Service ${q} registration timed out waiting for runtime initialization (30s timeout)`))},30000)});if(await Promise.race([this.initPromise,K]),typeof $.start!=="function")throw Error(`Service ${q} does not have a static start method. All services must implement static async start(runtime: IAgentRuntime): Promise<Service>.`);let P=await $.start(this);if(!P)throw Error(`Service ${q} start() method returned null or undefined. It must return a Service instance.`);if(!this.services.has(q))this.services.set(q,[]);if(!this.serviceTypes.has(q))this.serviceTypes.set(q,[]);this.services.get(q).push(P),this.serviceTypes.get(q).push($);let Y=this.servicePromiseHandlers.get(q);if(Y)Y.resolve(P),this.servicePromiseHandlers.delete(q);else this.logger.debug({src:"agent",agentId:this.agentId,serviceType:q},"Service has no promise handler");if($.registerSendHandlers)$.constructor.registerSendHandlers?.(this,P);this.serviceRegistrationStatus.set(q,"registered"),this.logger.debug({src:"agent",agentId:this.agentId,serviceType:q},"Service registered")}_createServiceResolver($){let q,_;if(this.servicePromises.set($,new Promise((K,P)=>{q=K,_=P})),!q)throw Error(`Failed to create resolver for service ${$}`);if(!_)throw Error(`Failed to create rejecter for service ${$}`);return this.servicePromiseHandlers.set($,{resolve:q,reject:_}),this.servicePromises.get($)}getServiceLoadPromise($){let q=this.servicePromises.get($);if(!q)q=this._createServiceResolver($);return q}registerModel($,q,_,K){let P=typeof $==="string"?$:G6[$];if(!this.models.has(P))this.models.set(P,[]);let Y=Date.now();this.models.get(P)?.push({handler:q,provider:_,priority:K||0,registrationOrder:Y}),this.models.get(P)?.sort((O,z)=>{if((z.priority||0)!==(O.priority||0))return(z.priority||0)-(O.priority||0);return(O.registrationOrder||0)-(z.registrationOrder||0)})}getModel($){let q=typeof $==="string"?$:G6[$],_=this.models.get(q);if(!_?.length)return;return this.logger.debug({src:"agent",agentId:this.agentId,model:q,provider:_[0].provider},"Using model"),_[0].handler}getModelSettings($){let q={},_=(k,S)=>{if($){let C=`${$}_${k}`,I=this.getSetting(C);if(I!==null&&I!==void 0){let D=Number(I);if(!isNaN(D))return D}}let N=`DEFAULT_${k}`,h=this.getSetting(N);if(h!==null&&h!==void 0){let C=Number(h);if(!isNaN(C))return C}if(S){let C=this.getSetting(S);if(C!==null&&C!==void 0){let I=Number(C);if(!isNaN(I))return I}}return null},K=_("MAX_TOKENS",vP.MODEL_MAX_TOKEN),P=_("TEMPERATURE",vP.MODEL_TEMPERATURE),Y=_("TOP_P"),O=_("TOP_K"),z=_("MIN_P"),T=_("SEED"),H=_("REPETITION_PENALTY"),f=_("FREQUENCY_PENALTY",vP.MODEL_FREQ_PENALTY),w=_("PRESENCE_PENALTY",vP.MODEL_PRESENCE_PENALTY);if(K!==null)q.maxTokens=K;if(P!==null)q.temperature=P;if(Y!==null)q.topP=Y;if(O!==null)q.topK=O;if(z!==null)q.minP=z;if(T!==null)q.seed=T;if(H!==null)q.repetitionPenalty=H;if(f!==null)q.frequencyPenalty=f;if(w!==null)q.presencePenalty=w;return Object.keys(q).length>0?q:null}logModelCall($,q,_,K,P,Y,O){if(q!==G6.TEXT_EMBEDDING&&K){if(this.currentActionContext)this.currentActionContext.prompts.push({modelType:q,prompt:K,timestamp:Date.now()})}this.adapter.log({entityId:this.agentId,roomId:this.currentRoomId??this.agentId,body:{modelType:$,modelKey:q,params:{...typeof _==="object"&&!Array.isArray(_)&&_?_:{},prompt:K},prompt:K,systemPrompt:this.character?.system||null,runId:this.getCurrentRunId(),timestamp:Date.now(),executionTime:P,provider:Y||this.models.get(q)?.[0]?.provider||"unknown",actionContext:this.currentActionContext?{actionName:this.currentActionContext.actionName,actionId:this.currentActionContext.actionId}:void 0,response:Array.isArray(O)&&O.every((z)=>typeof z==="number")?"[array]":O},type:`useModel:${q}`})}async useModel($,q,_){let K=typeof $==="string"?$:G6[$],P=q,Y=(P&&"prompt"in P&&typeof P.prompt==="string"?P.prompt:null)||(P&&"input"in P&&typeof P.input==="string"?P.input:null)||(P&&"messages"in P&&Array.isArray(P.messages)?JSON.stringify(P.messages):null),O=this.getModel(K),z=_&&this.models.get(K)?.find((y)=>y.provider===_),T=z?z.handler:O;if(!T){let y=`No handler found for delegate type: ${K}`;throw Error(y)}if(![G6.TRANSCRIPTION,G6.IMAGE,G6.AUDIO,G6.VIDEO].includes(K))this.logger.trace({src:"agent",agentId:this.agentId,model:K,params:q},"Model input");else{let y="unknown size";if(Buffer.isBuffer(q))y=`${q.length} bytes`;else if(typeof Blob<"u"&&q instanceof Blob)y=`${q.size} bytes`;else if(typeof q==="object"&&q!==null){if("audio"in q&&Buffer.isBuffer(q.audio))y=`${q.audio.length} bytes`;else if("audio"in q&&typeof Blob<"u"&&q.audio instanceof Blob)y=`${q.audio.size} bytes`}this.logger.trace({src:"agent",agentId:this.agentId,model:K,size:y},"Model input (binary)")}let f;if(q===null||q===void 0||typeof q!=="object"||Array.isArray(q)||OK.isBuffer(q))f=q;else{let y=this.getModelSettings(K);if(y)f={...y,...q};else f=q;if(G1(f)){if(f.user===void 0&&this.character?.name){if(typeof f==="object"&&f!==null&&!Array.isArray(f))f.user=this.character.name}}}let w=typeof performance<"u"&&typeof performance.now==="function"?performance.now():Date.now(),k=a2(),S=G1(f)?f.onStreamChunk:void 0,N=k?.onStreamChunk,h=k?.messageId,C=k?.abortSignal,I=G1(f)?f.stream:void 0,D=I===!1?!1:!!(S||N||I);if(G1(f))f.stream=D,delete f.onStreamChunk;let L=await T(this,f);if(D&&(S||N)&&L&&typeof L==="object"&&"textStream"in L){let y="";for await(let s of L.textStream){if(C?.aborted)break;y+=s;try{if(S)await S(s,h)}catch{}try{if(N)await N(s,h)}catch{}}let p=a2()?.onStreamEnd;if(p)p();let o=(typeof performance<"u"&&typeof performance.now==="function"?performance.now():Date.now())-w;return this.logger.trace({src:"agent",agentId:this.agentId,model:K,duration:Number(o.toFixed(2)),streaming:!0},"Model output (stream with callback complete)"),this.logModelCall($,K,q,Y,o,_,y),y}let g=(typeof performance<"u"&&typeof performance.now==="function"?performance.now():Date.now())-w;return this.logger.trace({src:"agent",agentId:this.agentId,model:K,duration:Number(g.toFixed(2))},"Model output"),this.logModelCall($,K,q,Y,g,_,L),L}async generateText($,q){if(!$?.trim())throw Error("Input cannot be empty");let _=q?.includeCharacter??!0,K=q?.modelType??G6.TEXT_LARGE,P=$;if(_&&this.character){let z=this.character,T=[],H=Array.isArray(z.bio)?z.bio.join(" "):z.bio;if(H)T.push(`# About ${z.name}
|
|
677
677
|
${H}`);if(z.system)T.push(z.system);let f=[...z.style?.all||[],...z.style?.chat||[]];if(f.length>0)T.push(`Style:
|
|
678
678
|
${f.map((w)=>`- ${w}`).join(`
|
|
679
679
|
`)}`);if(T.length>0)P=`${T.join(`
|
|
680
680
|
|
|
681
681
|
`)}
|
|
682
682
|
|
|
683
|
-
${$}`}let Y={prompt:P,maxTokens:q?.maxTokens,minTokens:q?.minTokens,temperature:q?.temperature,topP:q?.topP,topK:q?.topK,minP:q?.minP,seed:q?.seed,repetitionPenalty:q?.repetitionPenalty,frequencyPenalty:q?.frequencyPenalty,presencePenalty:q?.presencePenalty,stopSequences:q?.stopSequences,user:q?.user!==void 0?q.user:this.character?.name,responseFormat:q?.responseFormat};return{text:await this.useModel(K,Y)}}registerEvent($,q){if(!this.events[$])this.events[$]=[];this.events[$].push(q)}getEvent($){return this.events[$]}async emitEvent($,q){let _=Array.isArray($)?$:[$];for(let K of _){let P=this.events[K];if(!P)continue;let Y={runtime:this,source:"runtime"};if(typeof q==="object"&&q&&q!==null){let O=q;Y={...O,runtime:this,source:O.source||"runtime"}}await Promise.all(P.map((O)=>O(Y)))}}async ensureEmbeddingDimension(){if(!this.adapter)throw Error("Database adapter not initialized before ensureEmbeddingDimension");if(!this.getModel(k6.TEXT_EMBEDDING))throw Error("No TEXT_EMBEDDING model registered");let q=await this.useModel(k6.TEXT_EMBEDDING,{text:""});if(!q||!q.length)throw Error("Invalid embedding received");await this.adapter.ensureEmbeddingDimension(q.length),this.logger.debug({src:"agent",agentId:this.agentId,dimension:q.length},"Embedding dimension set")}registerTaskWorker($){if(this.taskWorkers.has($.name))this.logger.warn({src:"agent",agentId:this.agentId,task:$.name},"Task worker already registered, overwriting");this.taskWorkers.set($.name,$)}getTaskWorker($){return this.taskWorkers.get($)}get db(){return this.adapter.db}async init(){await this.adapter.init()}async close(){if(this.adapter)await this.adapter.close()}async getAgent($){return await this.adapter.getAgent($)}async getAgents(){return await this.adapter.getAgents()}async createAgent($){return await this.adapter.createAgent($)}async updateAgent($,q){return await this.adapter.updateAgent($,q)}async deleteAgent($){return await this.adapter.deleteAgent($)}async ensureAgentExists($){if(!$.id)throw Error("Agent id is required");let q=await this.adapter.getAgent($.id);if(q){let P={...q.settings,...$.settings},Y=typeof q.settings?.secrets==="object"||typeof $.settings?.secrets==="object"?{...typeof q.settings?.secrets==="object"?q.settings.secrets:{},...typeof $.settings?.secrets==="object"?$.settings.secrets:{}}:void 0;if(Y)P.secrets=Y;let O={...q,...$,settings:P,id:$.id,updatedAt:Date.now()};await this.adapter.updateAgent($.id,O);let z=await this.adapter.getAgent($.id);if(!z)throw Error(`Failed to retrieve agent after update: ${$.id}`);return this.logger.debug({src:"agent",agentId:$.id},"Agent updated on restart"),z}let _={...$,id:$.id};if(!await this.adapter.createAgent(_))throw Error(`Failed to create agent: ${$.id}`);return this.logger.debug({src:"agent",agentId:$.id},"Agent created"),_}async getEntityById($){let q=await this.adapter.getEntitiesByIds([$]);if(!q?.length)return null;return q[0]}async getEntitiesByIds($){return await this.adapter.getEntitiesByIds($)}async getEntitiesForRoom($,q){return await this.adapter.getEntitiesForRoom($,q)}async createEntity($){if(!$.agentId)$.agentId=this.agentId;return await this.createEntities([$])}async createEntities($){return $.forEach((q)=>{q.agentId=this.agentId}),await this.adapter.createEntities($)}async updateEntity($){await this.adapter.updateEntity($)}async getComponent($,q,_,K){return await this.adapter.getComponent($,q,_,K)}async getComponents($,q,_){return await this.adapter.getComponents($,q,_)}async createComponent($){return await this.adapter.createComponent($)}async updateComponent($){await this.adapter.updateComponent($)}async deleteComponent($){await this.adapter.deleteComponent($)}async addEmbeddingToMemory($){if($.embedding)return $;let q=$.content.text;if(!q)throw Error("Cannot generate embedding: Memory content is empty");try{$.embedding=await this.useModel(k6.TEXT_EMBEDDING,{text:q})}catch(_){this.logger.error({src:"agent",agentId:this.agentId,error:_ instanceof Error?_.message:String(_)},"Embedding generation failed"),$.embedding=await this.useModel(k6.TEXT_EMBEDDING,{text:""})}return $}async queueEmbeddingGeneration($,q){if(q=q||"normal",!$)return;if($.embedding)return;if(!$.content?.text)return;await this.emitEvent("EMBEDDING_GENERATION_REQUESTED",{runtime:this,memory:$,priority:q,source:"runtime",retryCount:0,maxRetries:3,runId:this.getCurrentRunId()})}async getMemories($){return await this.adapter.getMemories($)}async getAllMemories(){let $=["memories","messages","facts","documents"],q=[];for(let _ of $)try{let K=await this.adapter.getMemories({agentId:this.agentId,tableName:_,count:1e4});q.push(...K)}catch(K){this.logger.debug({src:"agent",agentId:this.agentId,tableName:_,error:K instanceof Error?K.message:String(K)},"Failed to get memories")}return q}async getMemoryById($){return await this.adapter.getMemoryById($)}async getMemoriesByIds($,q){return await this.adapter.getMemoriesByIds($,q)}async getMemoriesByRoomIds($){return await this.adapter.getMemoriesByRoomIds($)}async getCachedEmbeddings($){return await this.adapter.getCachedEmbeddings($)}async log($){await this.adapter.log($)}async searchMemories($){let q=await this.adapter.searchMemories($);if($.query)return await this.rerankMemories($.query,q);return q}async rerankMemories($,q){let _=q.map((Y)=>({title:Y.id,content:Y.content.text}));return new kT(_).search($,q.length).map((Y)=>q[Y.index])}async createMemory($,q,_){if(_!==void 0)$.unique=_;return await this.adapter.createMemory($,q,_)}async updateMemory($){return await this.adapter.updateMemory($)}async deleteMemory($){await this.adapter.deleteMemory($)}async deleteManyMemories($){await this.adapter.deleteManyMemories($)}async clearAllAgentMemories(){this.logger.info({src:"agent",agentId:this.agentId},"Clearing all memories");let q=(await this.getAllMemories()).map((_)=>_.id).filter((_)=>_!==void 0);if(q.length===0){this.logger.debug({src:"agent",agentId:this.agentId},"No memories to delete");return}await this.adapter.deleteManyMemories(q),this.logger.info({src:"agent",agentId:this.agentId,count:q.length},"Memories cleared")}async deleteAllMemories($,q){await this.adapter.deleteAllMemories($,q)}async countMemories($,q,_){return await this.adapter.countMemories($,q,_)}async getLogs($){return await this.adapter.getLogs($)}async deleteLog($){await this.adapter.deleteLog($)}async createWorld($){return await this.adapter.createWorld($)}async getWorld($){return await this.adapter.getWorld($)}async removeWorld($){await this.adapter.removeWorld($)}async getAllWorlds(){return await this.adapter.getAllWorlds()}async updateWorld($){await this.adapter.updateWorld($)}async getRoom($){let q=await this.adapter.getRoomsByIds([$]);if(!q?.length)return null;return q[0]}async getRoomsByIds($){return await this.adapter.getRoomsByIds($)}async createRoom({id:$,name:q,source:_,type:K,channelId:P,messageServerId:Y,worldId:O}){if(!O)throw Error("worldId is required");let z=await this.adapter.createRooms([{id:$,name:q,source:_,type:K,channelId:P,messageServerId:Y,worldId:O}]);if(!z.length)throw Error("Failed to create room");return z[0]}async createRooms($){return await this.adapter.createRooms($)}async deleteRoom($){await this.adapter.deleteRoom($)}async deleteRoomsByWorldId($){await this.adapter.deleteRoomsByWorldId($)}async updateRoom($){await this.adapter.updateRoom($)}async getRoomsForParticipant($){return await this.adapter.getRoomsForParticipant($)}async getRoomsForParticipants($){return await this.adapter.getRoomsForParticipants($)}async getRooms($){return await this.adapter.getRoomsByWorld($)}async getRoomsByWorld($){return await this.adapter.getRoomsByWorld($)}async getParticipantUserState($,q){return await this.adapter.getParticipantUserState($,q)}async setParticipantUserState($,q,_){await this.adapter.setParticipantUserState($,q,_)}async createRelationship($){return await this.adapter.createRelationship($)}async updateRelationship($){await this.adapter.updateRelationship($)}async getRelationship($){return await this.adapter.getRelationship($)}async getRelationships($){return await this.adapter.getRelationships($)}async getCache($){return await this.adapter.getCache($)}async setCache($,q){return await this.adapter.setCache($,q)}async deleteCache($){return await this.adapter.deleteCache($)}async createTask($){return await this.adapter.createTask($)}async getTasks($){return await this.adapter.getTasks($)}async getTask($){return await this.adapter.getTask($)}async getTasksByName($){return await this.adapter.getTasksByName($)}async updateTask($,q){await this.adapter.updateTask($,q)}async deleteTask($){await this.adapter.deleteTask($)}on($,q){if(!this.eventHandlers.has($))this.eventHandlers.set($,[]);this.eventHandlers.get($)?.push(q)}off($,q){if(!this.eventHandlers.has($))return;let _=this.eventHandlers.get($),K=_.indexOf(q);if(K!==-1)_.splice(K,1)}emit($,q){if(!this.eventHandlers.has($))return;for(let _ of this.eventHandlers.get($))_(q)}async sendControlMessage($){let{roomId:q,action:_,target:K}=$,P={type:"control",payload:{action:_,target:K},roomId:q};try{await this.emitEvent("CONTROL_MESSAGE",{runtime:this,message:P,source:"agent"}),this.logger.debug({src:"agent",agentId:this.agentId,action:_,channelId:q},"Control message sent")}catch(Y){this.logger.error({src:"agent",agentId:this.agentId,error:Y instanceof Error?Y.message:String(Y)},"Control message failed")}}registerSendHandler($,q){if(this.sendHandlers.has($))this.logger.warn({src:"agent",agentId:this.agentId,handlerSource:$},"Send handler already registered, overwriting");this.sendHandlers.set($,q),this.logger.debug({src:"agent",agentId:this.agentId,handlerSource:$},"Send handler registered")}async sendMessageToTarget($,q){let _=this.sendHandlers.get($.source);if(!_){let K=`No send handler registered for source: ${$.source}`;throw this.logger.error({src:"agent",agentId:this.agentId,handlerSource:$.source},"Send handler not found"),Error(K)}try{await _(this,$,q)}catch(K){throw this.logger.error({src:"agent",agentId:this.agentId,handlerSource:$.source,error:K instanceof Error?K.message:String(K)},"Send handler failed"),K}}async getMemoriesByWorldId($){return await this.adapter.getMemoriesByWorldId($)}async runMigrations($){if(this.adapter?.runMigrations)await this.adapter.runMigrations($);else this.logger.warn({src:"agent",agentId:this.agentId},"Database adapter does not support migrations")}async isReady(){if(!this.adapter)throw Error("Database adapter not registered");return await this.adapter.isReady()}hasElizaOS(){return this.elizaOS!==void 0}}async function IF($){let q={};for(let[K,P]of Object.entries(process.env))if(P!==void 0)q[K]=P;if(!$.settings)$.settings={};let _=$.settings.secrets&&typeof $.settings.secrets==="object"?{...$.settings.secrets}:{};return $.settings.secrets={...q,..._},!0}async function sN($,q){if(B4()!=="node")return!1;if(q?.skipEnvMerge)return!1;return IF($)}function DF(){return typeof process<"u"&&(process.versions?.node!==void 0||process.versions?.bun!==void 0)}function VT(){if(DF())return lq(),J6(dq);return m8("crypto-browserify")}function ST($){let _=VT().createHash($);return{update(K){return _.update(K),this},digest(){return new Uint8Array(_.digest())}}}function $C($,q,_){if($!=="aes-256-cbc")throw Error(`Unsupported algorithm: ${$}. Only 'aes-256-cbc' is currently supported.`);let P=VT().createCipheriv($,q,_);return{update(Y,O,z){let T=P.update(Buffer.from(Y,O),void 0,z);return typeof T==="string"?T:T.toString(z)},final(Y){let O=P.final(Y);return typeof O==="string"?O:O.toString(Y)}}}function qC($,q,_){if($!=="aes-256-cbc")throw Error(`Unsupported algorithm: ${$}. Only 'aes-256-cbc' is currently supported.`);let P=VT().createDecipheriv($,q,_);return{update(Y,O,z){let T=P.update(Buffer.from(Y,O),void 0,z);return typeof T==="string"?T:T.toString(z)},final(Y){let O=P.final(Y);return typeof O==="string"?O:O.toString(Y)}}}function bF($){return{name:$.name,description:$.description,usageDescription:$.usageDescription||"",value:null,required:$.required,validation:$.validation||void 0,public:$.public||!1,secret:$.secret||!1,dependsOn:$.dependsOn||[],onSetAction:$.onSetAction||void 0,visibleIf:$.visibleIf||void 0}}var PP=null,MT=!1,gF=300000;function L_(){let $=E_("SECRET_SALT","secretsalt")||"secretsalt",q=Date.now();if(PP!==null){if(q-PP.timestamp<gF&&PP.value===$)return PP.value}if($==="secretsalt"&&!MT)V6.warn({src:"core:settings"},"SECRET_SALT is not set or using default value"),MT=!0;return PP={value:$,timestamp:q},$}function Z3$(){PP=null,MT=!1}function KC($,q){if($===void 0||$===null)return $;if(typeof $==="boolean"||typeof $==="number")return $;if(typeof $!=="string")return $;let _=$.split(":");if(_.length===2)try{if(OK.fromHex(_[0]).length===16)return $}catch{}let K=ST("sha256").update(q).digest().slice(0,32),P=OK.randomBytes(16),Y=$C("aes-256-cbc",K,P),O=Y.update($,"utf8","hex");return O+=Y.final("hex"),`${OK.toHex(P)}:${O}`}function t2($,q){try{let _=$.split(":");if(_.length!==2)return $;let K=OK.fromHex(_[0]),P=_[1];if(K.length!==16)return $;let Y=ST("sha256").update(q).digest().slice(0,32),O=qC("aes-256-cbc",Y,K),z=O.update(P,"hex","utf8");return z+=O.final("utf8"),z}catch(_){return V6.error({src:"core:settings",error:_},"Decryption failed"),$}}function yF($,q){let _={...$};if($.secret===!0&&typeof $.value==="string"&&$.value)_.value=KC($.value,q);return _}function uF($,q){let _={...$};if($.secret===!0&&typeof $.value==="string"&&$.value)_.value=t2($.value,q);return _}function xF($,q){let _={};for(let[K,P]of Object.entries($))_[K]=yF(P,q);return _}function PC($,q){let _={};for(let[K,P]of Object.entries($))_[K]=uF(P,q);return _}async function X3$($,q,_){let K=K_($,q),P=await $.getWorld(K);if(!P)return V6.error({src:"core:settings",serverId:q},"World not found"),!1;if(!P.metadata)P.metadata={};let Y=L_(),O=xF(_,Y);return P.metadata.settings=O,await $.updateWorld(P),!0}async function A3$($,q){let _=K_($,q),K=await $.getWorld(_);if(!K||!K.metadata?.settings)return null;let P=K.metadata.settings,Y=L_();return PC(P,Y)}async function k3$($,q,_){if(q.metadata?.settings){V6.debug({src:"core:settings",serverId:q.messageServerId},"Onboarding state already exists");let P=q.metadata.settings,Y=L_();return PC(P,Y)}let K={};if(_.settings)for(let[P,Y]of Object.entries(_.settings))K[P]=bF(Y);if(!q.metadata)q.metadata={};return q.metadata.settings=K,await $.updateWorld(q),V6.info({src:"core:settings",serverId:q.messageServerId},"Settings config initialized"),K}function G3$($){let q=JSON.parse(JSON.stringify($)),_=L_();if(q.settings?.secrets)q.settings.secrets=S1(q.settings.secrets,_);if(q.secrets)q.secrets=S1(q.secrets,_);return q}function V3$($,q){let _=JSON.parse(JSON.stringify($)),K=L_();if(_.settings?.secrets)_.settings.secrets=_C(_.settings.secrets,K);if(_.secrets)_.secrets=_C(_.secrets,K);return _}function S1($,q){let _={};for(let[K,P]of Object.entries($))if(typeof P==="string"&&P)_[K]=KC(P,q);else _[K]=P;return _}function _C($,q){let _={};for(let[K,P]of Object.entries($))if(typeof P==="string"&&P)_[K]=t2(P,q);else _[K]=P;return _}class YC{serviceType;startFn;stopFn;description;constructor($){this.serviceType=$,this.description=""}withDescription($){return this.description=$,this}withStart($){return this.startFn=$,this}withStop($){return this.stopFn=$,this}build(){let $=this.serviceType,q=this.description,_=this.startFn,K=this.stopFn;class P extends s2{static serviceType=$;capabilityDescription=q;static async start(Y){if(!_)throw Error(`Start function not defined for service ${$}`);return _(Y)}async stop(){if(K)await K()}}return P}}function pF($){return new YC($)}function N3$($){return pF($.serviceType).withDescription($.description).withStart($.start).withStop($.stop||(()=>Promise.resolve())).build()}var OC=new Set;function cF(){if(process.env.ELIZA_NO_AUTO_INSTALL==="true")return!1;if(process.env.ELIZA_NO_PLUGIN_AUTO_INSTALL==="true")return!1;if(process.env.CI==="true")return!1;if(process.env.ELIZA_TEST_MODE==="true")return!1;return!0}async function mF($){try{if(!cF())return V6.debug({src:"core:plugin",pluginName:$},"Auto-install disabled, skipping"),!1;if(OC.has($))return V6.debug({src:"core:plugin",pluginName:$},"Auto-install already attempted, skipping"),!1;if(OC.add($),typeof Bun>"u"||typeof Bun.spawn!=="function")return V6.warn({src:"core:plugin",pluginName:$},"Bun runtime not available, cannot auto-install"),!1;try{if(await Bun.spawn(["bun","--version"],{stdout:"pipe",stderr:"pipe"}).exited!==0)return V6.warn({src:"core:plugin",pluginName:$},"Bun not available on PATH, cannot auto-install"),!1}catch{return V6.warn({src:"core:plugin",pluginName:$},"Bun not available on PATH, cannot auto-install"),!1}V6.info({src:"core:plugin",pluginName:$},"Auto-installing missing plugin");let _=await Bun.spawn(["bun","add",$],{cwd:process.cwd(),env:process.env,stdout:"inherit",stderr:"inherit"}).exited;if(_===0)return V6.info({src:"core:plugin",pluginName:$},"Plugin installed, retrying import"),!0;return V6.error({src:"core:plugin",pluginName:$,exitCode:_},"Plugin installation failed"),!1}catch(q){let _=q instanceof Error?q.message:String(q);return V6.error({src:"core:plugin",pluginName:$,error:_},"Unexpected error during auto-install"),!1}}function jC($){if(!$||typeof $!=="object")return!1;let q=$;if(!q.name)return!1;return!!(q.init||q.services||q.providers||q.actions||q.evaluators||q.description)}function dF($){let q=[];if(!$)return q.push("Plugin is null or undefined"),{isValid:!1,errors:q};let _=$;if(!_.name)q.push("Plugin must have a name");if(_.actions){if(!Array.isArray(_.actions))q.push("Plugin actions must be an array");else if(_.actions.filter((P)=>typeof P!=="object"||!P).length>0)q.push("Plugin actions must be an array of action objects")}if(_.services){if(!Array.isArray(_.services))q.push("Plugin services must be an array");else if(_.services.filter((P)=>typeof P!=="function"&&(typeof P!=="object"||!P)).length>0)q.push("Plugin services must be an array of service classes or objects")}if(_.providers&&!Array.isArray(_.providers))q.push("Plugin providers must be an array");if(_.evaluators&&!Array.isArray(_.evaluators))q.push("Plugin evaluators must be an array");return{isValid:q.length===0,errors:q}}async function lF($){let q;try{q=await import($)}catch(Y){if(V6.warn({src:"core:plugin",pluginName:$,error:Y},"Failed to load plugin"),!await mF($))return null;try{q=await import($)}catch(z){return V6.error({src:"core:plugin",pluginName:$,error:z},"Import failed after auto-install"),null}}if(!q)return V6.error({src:"core:plugin",pluginName:$},"Failed to load plugin module"),null;let _=`${$.replace(/^@elizaos\/plugin-/,"").replace(/^@elizaos\//,"").replace(/-./g,(Y)=>Y[1].toUpperCase())}Plugin`,K=q,P=[K[_],K.default,...Object.values(K)];for(let Y of P){if(jC(Y))return Y;if(typeof Y==="function"&&Y.length===0){let O=Y();if(jC(O))return O}}return V6.warn({src:"core:plugin",pluginName:$},"No valid plugin export found"),null}function M1($){let q=$.match(/^@[^/]+\/plugin-(.+)$/);if(q)return q[1];return $}function zC($,q=!1){let _=[],K=new Set,P=new Set,Y=new Map;for(let[T,H]of $.entries()){if(Y.set(T,H),H.name!==T)Y.set(H.name,H);if(!H.name.startsWith("@"))Y.set(`@elizaos/plugin-${H.name}`,H);let f=M1(T);if(f!==T)Y.set(f,H)}function O(T){let H=Y.get(T);if(!H){let k=M1(T),S=Y.get(k);if(!S){V6.warn({src:"core:plugin",pluginName:T},"Plugin dependency not found, skipping");return}return O(S.name)}let f=H.name;if(K.has(f))return;if(P.has(f)){V6.error({src:"core:plugin",pluginName:f},"Circular dependency detected");return}P.add(f);let w=[...H.dependencies||[]];if(q)w.push(...H.testDependencies||[]);for(let k of w)O(k);P.delete(f),K.add(f),_.push(f)}for(let T of $.values())if(!K.has(T.name))O(T.name);let z=_.map((T)=>{for(let H of $.values())if(H.name===T)return H;return null}).filter((T)=>Boolean(T));return V6.debug({src:"core:plugin",plugins:z.map((T)=>T.name)},"Plugins resolved"),z}async function rF($){if(typeof $==="string")return lF($);let q=dF($);if(!q.isValid)return V6.error({src:"core:plugin",errors:q.errors},"Invalid plugin provided"),null;return $}function vC($,q,_,K){let P=M1($);if(!(q.has($)||q.has(P)||Array.from(_.keys()).some((O)=>M1(O)===P)||Array.from(_.values()).some((O)=>M1(O.name)===P||O.name===$||O.name===P)))q.add($),q.add(P),K.push($)}async function oF($,q=!1){let _=new Map,K=[...$],P=new Set;while(K.length>0){let Y=K.shift(),O=await rF(Y);if(!O)continue;let z=O.name;if(!_.has(z)){_.set(z,O);for(let T of O.dependencies??[])vC(T,P,_,K);if(q)for(let T of O.testDependencies??[])vC(T,P,_,K)}}return zC(_,q)}async function WC($,q=!1){if(B4()==="node")return oF($,q);let K=$.filter((Y)=>typeof Y!=="string");if($.some((Y)=>typeof Y==="string")){let Y=$.filter((O)=>typeof O==="string");V6.warn({src:"core:plugin",skippedPlugins:Y},"Browser environment: String plugin references not supported")}let P=new Map;for(let Y of K)P.set(Y.name,Y);return zC(P,q)}class nF extends EventTarget{runtimes=new Map;initFunctions=new Map;editableMode=!1;async addAgents($,q){let _=[],K=$.map(async(Y)=>{let O=JSON.parse(JSON.stringify(Y.character));await sN(O,{skipEnvMerge:q?.isTestMode});let z=L_();if(O.settings?.secrets&&typeof O.settings.secrets==="object")O.settings.secrets=S1(O.settings.secrets,z);if(O.secrets&&typeof O.secrets==="object")O.secrets=S1(O.secrets,z);let T=Y.plugins?await WC(Y.plugins,q?.isTestMode||!1):[];if(Y.databaseAdapter)T=T.filter((N)=>N.name!=="@elizaos/plugin-sql");let H=new GT({character:O,plugins:T,settings:Y.settings||{}});if(Y.databaseAdapter)H.registerDatabaseAdapter(Y.databaseAdapter);if(H.elizaOS=this,!q?.ephemeral)this.runtimes.set(H.agentId,H);if(typeof Y.init==="function")this.initFunctions.set(H.agentId,Y.init);let{settings:f,...w}=O,{secrets:k,...S}=f||{};return this.dispatchEvent(new CustomEvent("agent:added",{detail:{agentId:H.agentId,character:{...w,settings:S},ephemeral:q?.ephemeral}})),_.push(H),H.agentId}),P=await Promise.all(K);if(q?.autoStart)await Promise.all(_.map(async(Y)=>{await Y.initialize({skipMigrations:q?.skipMigrations});let O=this.initFunctions.get(Y.agentId);if(O)await O(Y),this.initFunctions.delete(Y.agentId);this.dispatchEvent(new CustomEvent("agent:started",{detail:{agentId:Y.agentId}}))}));if(this.dispatchEvent(new CustomEvent("agents:added",{detail:{agentIds:P,count:P.length,ephemeral:q?.ephemeral}})),q?.returnRuntimes)return _;return P}registerAgent($){if(this.runtimes.has($.agentId))throw Error(`Agent ${$.agentId} already registered`);$.elizaOS=this,this.runtimes.set($.agentId,$),this.dispatchEvent(new CustomEvent("agent:registered",{detail:{agentId:$.agentId,runtime:$}}))}async updateAgent($,q){if(!this.editableMode)throw Error("Editable mode not enabled");let _=this.runtimes.get($);if(!_)throw Error(`Agent ${$} not found`);Object.assign(_.character,q),this.dispatchEvent(new CustomEvent("agent:updated",{detail:{agentId:$,updates:q}}))}async deleteAgents($){await this.stopAgents($);for(let q of $)this.runtimes.delete(q),this.initFunctions.delete(q);this.dispatchEvent(new CustomEvent("agents:deleted",{detail:{agentIds:$,count:$.length}}))}async startAgents($){let q=$||Array.from(this.runtimes.keys());await Promise.all(q.map(async(_)=>{let K=this.runtimes.get(_);if(!K)throw Error(`Agent ${_} not found`);await K.initialize(),this.dispatchEvent(new CustomEvent("agent:started",{detail:{agentId:_}}))}));for(let _ of q){let K=this.initFunctions.get(_);if(K){let P=this.runtimes.get(_);if(P)await K(P),this.initFunctions.delete(_)}}this.dispatchEvent(new CustomEvent("agents:started",{detail:{agentIds:q,count:q.length}}))}async stopAgents($){let q=$||Array.from(this.runtimes.keys());await Promise.all(q.map(async(_)=>{let K=this.runtimes.get(_);if(K)await K.stop()})),this.dispatchEvent(new CustomEvent("agents:stopped",{detail:{agentIds:q,count:q.length}}))}getAgent($){return this.runtimes.get($)}getAgents(){return Array.from(this.runtimes.values())}getAgentsByIds($){return $.map((q)=>this.runtimes.get(q)).filter((q)=>q!==void 0)}getAgentsByNames($){let q=new Set($.map((_)=>_.toLowerCase()));return this.getAgents().filter((_)=>q.has(_.character.name.toLowerCase()))}getAgentById($){return this.getAgent($)}getAgentByName($){let q=$.toLowerCase();return this.getAgents().find((_)=>_.character.name.toLowerCase()===q)}getAgentByCharacterName($){return this.getAgentByName($)}getAgentByCharacterId($){return this.getAgents().find((q)=>q.character.id===$)}async handleMessage($,q,_){let K,P;if(typeof $==="string"){if(P=$,K=this.runtimes.get(P),!K)throw Error(`Agent ${P} not found in registry`)}else K=$,P=K.agentId;if(!K.messageService)throw Error("messageService is not initialized on runtime");let Y=q.id||q8(),O={...q,id:Y,agentId:q.agentId||K.agentId,createdAt:q.createdAt||Date.now(),entityId:q.entityId,roomId:q.roomId,content:q.content};await K.ensureConnection({entityId:O.entityId,roomId:O.roomId,worldId:q.worldId||O.roomId,source:O.content.source||"unknown",channelId:O.roomId});let z={maxRetries:_?.maxRetries,timeoutDuration:_?.timeoutDuration,useMultiStep:_?.useMultiStep,maxMultiStepIterations:_?.maxMultiStepIterations,onStreamChunk:_?.onStreamChunk},T=async(f)=>{if(K.withEntityContext)return await K.withEntityContext(O.entityId,f);else return await f()};if(!!_?.onResponse){let f=async(w)=>{try{if(_.onResponse)await _.onResponse(w)}catch(k){if(_.onError)await _.onError(k instanceof Error?k:Error(String(k)))}return[]};return T(()=>K.messageService.handleMessage(K,O,f,z)).then(()=>{if(_.onComplete)_.onComplete()}).catch((w)=>{if(_.onError)_.onError(w)}),this.dispatchEvent(new CustomEvent("message:sent",{detail:{agentId:P,messageId:Y,mode:"async"}})),{messageId:Y,userMessage:O}}else{let f=await T(()=>K.messageService.handleMessage(K,O,void 0,z));if(_?.onComplete)await _.onComplete();return this.dispatchEvent(new CustomEvent("message:sent",{detail:{agentId:P,messageId:Y,mode:"sync",processing:f}})),{messageId:Y,userMessage:O,processing:f}}}async handleMessages($){let q=await Promise.all($.map(async({agentId:_,message:K,options:P})=>{try{let Y=await this.handleMessage(_,K,P);return{agentId:_,result:Y}}catch(Y){return{agentId:_,result:{messageId:K.id||"",userMessage:K},error:Y instanceof Error?Y:Error(String(Y))}}}));return this.dispatchEvent(new CustomEvent("messages:sent",{detail:{results:q,count:$.length}})),q}async validateApiKeys($){let q=new Map,_=$||Array.from(this.runtimes.keys());for(let K of _){let P=this.runtimes.get(K);if(P){let Y=!!(P.getSetting("OPENAI_API_KEY")||P.getSetting("ANTHROPIC_API_KEY"));q.set(K,Y)}}return q}async healthCheck($){let q=new Map,_=$||Array.from(this.runtimes.keys());for(let K of _){let Y={alive:!!this.runtimes.get(K),responsive:!0};if(typeof process<"u")Y.memoryUsage=process.memoryUsage().heapUsed,Y.uptime=process.uptime();q.set(K,Y)}return q}getRuntimeAccessor(){return{getAgent:($)=>this.getAgent($),getAgents:()=>this.getAgents(),getState:($)=>{let q=this.getAgent($);if(!q)return;if(q.stateCache&&q.stateCache.size>0){let _=Array.from(q.stateCache.values());return _[_.length-1]}return}}}enableEditableMode(){this.editableMode=!0,this.dispatchEvent(new CustomEvent("mode:editable",{detail:{editable:!0}}))}}var iF=`# Task: Resolve Entity Name
|
|
683
|
+
${$}`}let Y={prompt:P,maxTokens:q?.maxTokens,minTokens:q?.minTokens,temperature:q?.temperature,topP:q?.topP,topK:q?.topK,minP:q?.minP,seed:q?.seed,repetitionPenalty:q?.repetitionPenalty,frequencyPenalty:q?.frequencyPenalty,presencePenalty:q?.presencePenalty,stopSequences:q?.stopSequences,user:q?.user!==void 0?q.user:this.character?.name,responseFormat:q?.responseFormat};return{text:await this.useModel(K,Y)}}registerEvent($,q){if(!this.events[$])this.events[$]=[];this.events[$].push(q)}getEvent($){return this.events[$]}async emitEvent($,q){let _=Array.isArray($)?$:[$];for(let K of _){let P=this.events[K];if(!P)continue;let Y={runtime:this,source:"runtime"};if(typeof q==="object"&&q&&q!==null){let O=q;Y={...O,runtime:this,source:O.source||"runtime"}}await Promise.all(P.map((O)=>O(Y)))}}async ensureEmbeddingDimension(){if(!this.adapter)throw Error("Database adapter not initialized before ensureEmbeddingDimension");if(!this.getModel(G6.TEXT_EMBEDDING))throw Error("No TEXT_EMBEDDING model registered");let $=this.getSetting("EMBEDDING_DIMENSION"),q=Number($),_=q>0,K=_?q:(await this.useModel(G6.TEXT_EMBEDDING,{text:""}))?.length;if(!K)throw Error("Invalid embedding dimension");await this.adapter.ensureEmbeddingDimension(K),this.logger.debug({src:"agent",agentId:this.agentId,dimension:K},_?"Embedding dimension set from config":"Embedding dimension set via API call")}registerTaskWorker($){if(this.taskWorkers.has($.name))this.logger.warn({src:"agent",agentId:this.agentId,task:$.name},"Task worker already registered, overwriting");this.taskWorkers.set($.name,$)}getTaskWorker($){return this.taskWorkers.get($)}get db(){return this.adapter.db}async init(){await this.adapter.init()}async close(){if(this.adapter)await this.adapter.close()}async getAgent($){return await this.adapter.getAgent($)}async getAgents(){return await this.adapter.getAgents()}async createAgent($){return await this.adapter.createAgent($)}async updateAgent($,q){return await this.adapter.updateAgent($,q)}async deleteAgent($){return await this.adapter.deleteAgent($)}async ensureAgentExists($){if(!$.id)throw Error("Agent id is required");let q=await this.adapter.getAgent($.id);if(q){let P={...q.settings,...$.settings},Y=typeof q.settings?.secrets==="object"||typeof $.settings?.secrets==="object"?{...typeof q.settings?.secrets==="object"?q.settings.secrets:{},...typeof $.settings?.secrets==="object"?$.settings.secrets:{}}:void 0;if(Y)P.secrets=Y;let O={...q,...$,settings:P,id:$.id,updatedAt:Date.now()};await this.adapter.updateAgent($.id,O);let z=await this.adapter.getAgent($.id);if(!z)throw Error(`Failed to retrieve agent after update: ${$.id}`);return this.logger.debug({src:"agent",agentId:$.id},"Agent updated on restart"),z}let _={...$,id:$.id};if(!await this.adapter.createAgent(_))throw Error(`Failed to create agent: ${$.id}`);return this.logger.debug({src:"agent",agentId:$.id},"Agent created"),_}async getEntityById($){let q=await this.adapter.getEntitiesByIds([$]);if(!q?.length)return null;return q[0]}async getEntitiesByIds($){return await this.adapter.getEntitiesByIds($)}async getEntitiesForRoom($,q){return await this.adapter.getEntitiesForRoom($,q)}async createEntity($){if(!$.agentId)$.agentId=this.agentId;return await this.createEntities([$])}async createEntities($){return $.forEach((q)=>{q.agentId=this.agentId}),await this.adapter.createEntities($)}async updateEntity($){await this.adapter.updateEntity($)}async getComponent($,q,_,K){return await this.adapter.getComponent($,q,_,K)}async getComponents($,q,_){return await this.adapter.getComponents($,q,_)}async createComponent($){return await this.adapter.createComponent($)}async updateComponent($){await this.adapter.updateComponent($)}async deleteComponent($){await this.adapter.deleteComponent($)}async addEmbeddingToMemory($){if($.embedding)return $;let q=$.content.text;if(!q)throw Error("Cannot generate embedding: Memory content is empty");try{$.embedding=await this.useModel(G6.TEXT_EMBEDDING,{text:q})}catch(_){this.logger.error({src:"agent",agentId:this.agentId,error:_ instanceof Error?_.message:String(_)},"Embedding generation failed"),$.embedding=await this.useModel(G6.TEXT_EMBEDDING,{text:""})}return $}async queueEmbeddingGeneration($,q){if(q=q||"normal",!$)return;if($.embedding)return;if(!$.content?.text)return;await this.emitEvent("EMBEDDING_GENERATION_REQUESTED",{runtime:this,memory:$,priority:q,source:"runtime",retryCount:0,maxRetries:3,runId:this.getCurrentRunId()})}async getMemories($){return await this.adapter.getMemories($)}async getAllMemories(){let $=["memories","messages","facts","documents"],q=[];for(let _ of $)try{let K=await this.adapter.getMemories({agentId:this.agentId,tableName:_,count:1e4});q.push(...K)}catch(K){this.logger.debug({src:"agent",agentId:this.agentId,tableName:_,error:K instanceof Error?K.message:String(K)},"Failed to get memories")}return q}async getMemoryById($){return await this.adapter.getMemoryById($)}async getMemoriesByIds($,q){return await this.adapter.getMemoriesByIds($,q)}async getMemoriesByRoomIds($){return await this.adapter.getMemoriesByRoomIds($)}async getCachedEmbeddings($){return await this.adapter.getCachedEmbeddings($)}async log($){await this.adapter.log($)}async searchMemories($){let q=await this.adapter.searchMemories($);if($.query)return await this.rerankMemories($.query,q);return q}async rerankMemories($,q){let _=q.map((Y)=>({title:Y.id,content:Y.content.text}));return new kT(_).search($,q.length).map((Y)=>q[Y.index])}async createMemory($,q,_){if(_!==void 0)$.unique=_;return await this.adapter.createMemory($,q,_)}async updateMemory($){return await this.adapter.updateMemory($)}async deleteMemory($){await this.adapter.deleteMemory($)}async deleteManyMemories($){await this.adapter.deleteManyMemories($)}async clearAllAgentMemories(){this.logger.info({src:"agent",agentId:this.agentId},"Clearing all memories");let q=(await this.getAllMemories()).map((_)=>_.id).filter((_)=>_!==void 0);if(q.length===0){this.logger.debug({src:"agent",agentId:this.agentId},"No memories to delete");return}await this.adapter.deleteManyMemories(q),this.logger.info({src:"agent",agentId:this.agentId,count:q.length},"Memories cleared")}async deleteAllMemories($,q){await this.adapter.deleteAllMemories($,q)}async countMemories($,q,_){return await this.adapter.countMemories($,q,_)}async getLogs($){return await this.adapter.getLogs($)}async deleteLog($){await this.adapter.deleteLog($)}async createWorld($){return await this.adapter.createWorld($)}async getWorld($){return await this.adapter.getWorld($)}async removeWorld($){await this.adapter.removeWorld($)}async getAllWorlds(){return await this.adapter.getAllWorlds()}async updateWorld($){await this.adapter.updateWorld($)}async getRoom($){let q=await this.adapter.getRoomsByIds([$]);if(!q?.length)return null;return q[0]}async getRoomsByIds($){return await this.adapter.getRoomsByIds($)}async createRoom({id:$,name:q,source:_,type:K,channelId:P,messageServerId:Y,worldId:O}){if(!O)throw Error("worldId is required");let z=await this.adapter.createRooms([{id:$,name:q,source:_,type:K,channelId:P,messageServerId:Y,worldId:O}]);if(!z.length)throw Error("Failed to create room");return z[0]}async createRooms($){return await this.adapter.createRooms($)}async deleteRoom($){await this.adapter.deleteRoom($)}async deleteRoomsByWorldId($){await this.adapter.deleteRoomsByWorldId($)}async updateRoom($){await this.adapter.updateRoom($)}async getRoomsForParticipant($){return await this.adapter.getRoomsForParticipant($)}async getRoomsForParticipants($){return await this.adapter.getRoomsForParticipants($)}async getRooms($){return await this.adapter.getRoomsByWorld($)}async getRoomsByWorld($){return await this.adapter.getRoomsByWorld($)}async getParticipantUserState($,q){return await this.adapter.getParticipantUserState($,q)}async setParticipantUserState($,q,_){await this.adapter.setParticipantUserState($,q,_)}async createRelationship($){return await this.adapter.createRelationship($)}async updateRelationship($){await this.adapter.updateRelationship($)}async getRelationship($){return await this.adapter.getRelationship($)}async getRelationships($){return await this.adapter.getRelationships($)}async getCache($){return await this.adapter.getCache($)}async setCache($,q){return await this.adapter.setCache($,q)}async deleteCache($){return await this.adapter.deleteCache($)}async createTask($){return await this.adapter.createTask($)}async getTasks($){return await this.adapter.getTasks($)}async getTask($){return await this.adapter.getTask($)}async getTasksByName($){return await this.adapter.getTasksByName($)}async updateTask($,q){await this.adapter.updateTask($,q)}async deleteTask($){await this.adapter.deleteTask($)}on($,q){if(!this.eventHandlers.has($))this.eventHandlers.set($,[]);this.eventHandlers.get($)?.push(q)}off($,q){if(!this.eventHandlers.has($))return;let _=this.eventHandlers.get($),K=_.indexOf(q);if(K!==-1)_.splice(K,1)}emit($,q){if(!this.eventHandlers.has($))return;for(let _ of this.eventHandlers.get($))_(q)}async sendControlMessage($){let{roomId:q,action:_,target:K}=$,P={type:"control",payload:{action:_,target:K},roomId:q};try{await this.emitEvent("CONTROL_MESSAGE",{runtime:this,message:P,source:"agent"}),this.logger.debug({src:"agent",agentId:this.agentId,action:_,channelId:q},"Control message sent")}catch(Y){this.logger.error({src:"agent",agentId:this.agentId,error:Y instanceof Error?Y.message:String(Y)},"Control message failed")}}registerSendHandler($,q){if(this.sendHandlers.has($))this.logger.warn({src:"agent",agentId:this.agentId,handlerSource:$},"Send handler already registered, overwriting");this.sendHandlers.set($,q),this.logger.debug({src:"agent",agentId:this.agentId,handlerSource:$},"Send handler registered")}async sendMessageToTarget($,q){let _=this.sendHandlers.get($.source);if(!_){let K=`No send handler registered for source: ${$.source}`;throw this.logger.error({src:"agent",agentId:this.agentId,handlerSource:$.source},"Send handler not found"),Error(K)}try{await _(this,$,q)}catch(K){throw this.logger.error({src:"agent",agentId:this.agentId,handlerSource:$.source,error:K instanceof Error?K.message:String(K)},"Send handler failed"),K}}async getMemoriesByWorldId($){return await this.adapter.getMemoriesByWorldId($)}async runMigrations($){if(this.adapter?.runMigrations)await this.adapter.runMigrations($);else this.logger.warn({src:"agent",agentId:this.agentId},"Database adapter does not support migrations")}async isReady(){if(!this.adapter)throw Error("Database adapter not registered");return await this.adapter.isReady()}hasElizaOS(){return this.elizaOS!==void 0}}async function IF($){let q={};for(let[K,P]of Object.entries(process.env))if(P!==void 0)q[K]=P;if(!$.settings)$.settings={};let _=$.settings.secrets&&typeof $.settings.secrets==="object"?{...$.settings.secrets}:{};return $.settings.secrets={...q,..._},!0}async function sN($,q){if(B4()!=="node")return!1;if(q?.skipEnvMerge)return!1;return IF($)}function DF(){return typeof process<"u"&&(process.versions?.node!==void 0||process.versions?.bun!==void 0)}function VT(){if(DF())return lq(),J6(dq);return m8("crypto-browserify")}function ST($){let _=VT().createHash($);return{update(K){return _.update(K),this},digest(){return new Uint8Array(_.digest())}}}function $C($,q,_){if($!=="aes-256-cbc")throw Error(`Unsupported algorithm: ${$}. Only 'aes-256-cbc' is currently supported.`);let P=VT().createCipheriv($,q,_);return{update(Y,O,z){let T=P.update(Buffer.from(Y,O),void 0,z);return typeof T==="string"?T:T.toString(z)},final(Y){let O=P.final(Y);return typeof O==="string"?O:O.toString(Y)}}}function qC($,q,_){if($!=="aes-256-cbc")throw Error(`Unsupported algorithm: ${$}. Only 'aes-256-cbc' is currently supported.`);let P=VT().createDecipheriv($,q,_);return{update(Y,O,z){let T=P.update(Buffer.from(Y,O),void 0,z);return typeof T==="string"?T:T.toString(z)},final(Y){let O=P.final(Y);return typeof O==="string"?O:O.toString(Y)}}}function bF($){return{name:$.name,description:$.description,usageDescription:$.usageDescription||"",value:null,required:$.required,validation:$.validation||void 0,public:$.public||!1,secret:$.secret||!1,dependsOn:$.dependsOn||[],onSetAction:$.onSetAction||void 0,visibleIf:$.visibleIf||void 0}}var PP=null,MT=!1,gF=300000;function L_(){let $=E_("SECRET_SALT","secretsalt")||"secretsalt",q=Date.now();if(PP!==null){if(q-PP.timestamp<gF&&PP.value===$)return PP.value}if($==="secretsalt"&&!MT)V6.warn({src:"core:settings"},"SECRET_SALT is not set or using default value"),MT=!0;return PP={value:$,timestamp:q},$}function Z3$(){PP=null,MT=!1}function KC($,q){if($===void 0||$===null)return $;if(typeof $==="boolean"||typeof $==="number")return $;if(typeof $!=="string")return $;let _=$.split(":");if(_.length===2)try{if(OK.fromHex(_[0]).length===16)return $}catch{}let K=ST("sha256").update(q).digest().slice(0,32),P=OK.randomBytes(16),Y=$C("aes-256-cbc",K,P),O=Y.update($,"utf8","hex");return O+=Y.final("hex"),`${OK.toHex(P)}:${O}`}function t2($,q){try{let _=$.split(":");if(_.length!==2)return $;let K=OK.fromHex(_[0]),P=_[1];if(K.length!==16)return $;let Y=ST("sha256").update(q).digest().slice(0,32),O=qC("aes-256-cbc",Y,K),z=O.update(P,"hex","utf8");return z+=O.final("utf8"),z}catch(_){return V6.error({src:"core:settings",error:_},"Decryption failed"),$}}function yF($,q){let _={...$};if($.secret===!0&&typeof $.value==="string"&&$.value)_.value=KC($.value,q);return _}function uF($,q){let _={...$};if($.secret===!0&&typeof $.value==="string"&&$.value)_.value=t2($.value,q);return _}function xF($,q){let _={};for(let[K,P]of Object.entries($))_[K]=yF(P,q);return _}function PC($,q){let _={};for(let[K,P]of Object.entries($))_[K]=uF(P,q);return _}async function X3$($,q,_){let K=K_($,q),P=await $.getWorld(K);if(!P)return V6.error({src:"core:settings",serverId:q},"World not found"),!1;if(!P.metadata)P.metadata={};let Y=L_(),O=xF(_,Y);return P.metadata.settings=O,await $.updateWorld(P),!0}async function A3$($,q){let _=K_($,q),K=await $.getWorld(_);if(!K||!K.metadata?.settings)return null;let P=K.metadata.settings,Y=L_();return PC(P,Y)}async function k3$($,q,_){if(q.metadata?.settings){V6.debug({src:"core:settings",serverId:q.messageServerId},"Onboarding state already exists");let P=q.metadata.settings,Y=L_();return PC(P,Y)}let K={};if(_.settings)for(let[P,Y]of Object.entries(_.settings))K[P]=bF(Y);if(!q.metadata)q.metadata={};return q.metadata.settings=K,await $.updateWorld(q),V6.info({src:"core:settings",serverId:q.messageServerId},"Settings config initialized"),K}function G3$($){let q=JSON.parse(JSON.stringify($)),_=L_();if(q.settings?.secrets)q.settings.secrets=S1(q.settings.secrets,_);if(q.secrets)q.secrets=S1(q.secrets,_);return q}function V3$($,q){let _=JSON.parse(JSON.stringify($)),K=L_();if(_.settings?.secrets)_.settings.secrets=_C(_.settings.secrets,K);if(_.secrets)_.secrets=_C(_.secrets,K);return _}function S1($,q){let _={};for(let[K,P]of Object.entries($))if(typeof P==="string"&&P)_[K]=KC(P,q);else _[K]=P;return _}function _C($,q){let _={};for(let[K,P]of Object.entries($))if(typeof P==="string"&&P)_[K]=t2(P,q);else _[K]=P;return _}class YC{serviceType;startFn;stopFn;description;constructor($){this.serviceType=$,this.description=""}withDescription($){return this.description=$,this}withStart($){return this.startFn=$,this}withStop($){return this.stopFn=$,this}build(){let $=this.serviceType,q=this.description,_=this.startFn,K=this.stopFn;class P extends s2{static serviceType=$;capabilityDescription=q;static async start(Y){if(!_)throw Error(`Start function not defined for service ${$}`);return _(Y)}async stop(){if(K)await K()}}return P}}function pF($){return new YC($)}function N3$($){return pF($.serviceType).withDescription($.description).withStart($.start).withStop($.stop||(()=>Promise.resolve())).build()}var OC=new Set;function cF(){if(process.env.ELIZA_NO_AUTO_INSTALL==="true")return!1;if(process.env.ELIZA_NO_PLUGIN_AUTO_INSTALL==="true")return!1;if(process.env.CI==="true")return!1;if(process.env.ELIZA_TEST_MODE==="true")return!1;return!0}async function mF($){try{if(!cF())return V6.debug({src:"core:plugin",pluginName:$},"Auto-install disabled, skipping"),!1;if(OC.has($))return V6.debug({src:"core:plugin",pluginName:$},"Auto-install already attempted, skipping"),!1;if(OC.add($),typeof Bun>"u"||typeof Bun.spawn!=="function")return V6.warn({src:"core:plugin",pluginName:$},"Bun runtime not available, cannot auto-install"),!1;try{if(await Bun.spawn(["bun","--version"],{stdout:"pipe",stderr:"pipe"}).exited!==0)return V6.warn({src:"core:plugin",pluginName:$},"Bun not available on PATH, cannot auto-install"),!1}catch{return V6.warn({src:"core:plugin",pluginName:$},"Bun not available on PATH, cannot auto-install"),!1}V6.info({src:"core:plugin",pluginName:$},"Auto-installing missing plugin");let _=await Bun.spawn(["bun","add",$],{cwd:process.cwd(),env:process.env,stdout:"inherit",stderr:"inherit"}).exited;if(_===0)return V6.info({src:"core:plugin",pluginName:$},"Plugin installed, retrying import"),!0;return V6.error({src:"core:plugin",pluginName:$,exitCode:_},"Plugin installation failed"),!1}catch(q){let _=q instanceof Error?q.message:String(q);return V6.error({src:"core:plugin",pluginName:$,error:_},"Unexpected error during auto-install"),!1}}function jC($){if(!$||typeof $!=="object")return!1;let q=$;if(!q.name)return!1;return!!(q.init||q.services||q.providers||q.actions||q.evaluators||q.description)}function dF($){let q=[];if(!$)return q.push("Plugin is null or undefined"),{isValid:!1,errors:q};let _=$;if(!_.name)q.push("Plugin must have a name");if(_.actions){if(!Array.isArray(_.actions))q.push("Plugin actions must be an array");else if(_.actions.filter((P)=>typeof P!=="object"||!P).length>0)q.push("Plugin actions must be an array of action objects")}if(_.services){if(!Array.isArray(_.services))q.push("Plugin services must be an array");else if(_.services.filter((P)=>typeof P!=="function"&&(typeof P!=="object"||!P)).length>0)q.push("Plugin services must be an array of service classes or objects")}if(_.providers&&!Array.isArray(_.providers))q.push("Plugin providers must be an array");if(_.evaluators&&!Array.isArray(_.evaluators))q.push("Plugin evaluators must be an array");return{isValid:q.length===0,errors:q}}async function lF($){let q;try{q=await import($)}catch(Y){if(V6.warn({src:"core:plugin",pluginName:$,error:Y},"Failed to load plugin"),!await mF($))return null;try{q=await import($)}catch(z){return V6.error({src:"core:plugin",pluginName:$,error:z},"Import failed after auto-install"),null}}if(!q)return V6.error({src:"core:plugin",pluginName:$},"Failed to load plugin module"),null;let _=`${$.replace(/^@elizaos\/plugin-/,"").replace(/^@elizaos\//,"").replace(/-./g,(Y)=>Y[1].toUpperCase())}Plugin`,K=q,P=[K[_],K.default,...Object.values(K)];for(let Y of P){if(jC(Y))return Y;if(typeof Y==="function"&&Y.length===0){let O=Y();if(jC(O))return O}}return V6.warn({src:"core:plugin",pluginName:$},"No valid plugin export found"),null}function M1($){let q=$.match(/^@[^/]+\/plugin-(.+)$/);if(q)return q[1];return $}function zC($,q=!1){let _=[],K=new Set,P=new Set,Y=new Map;for(let[T,H]of $.entries()){if(Y.set(T,H),H.name!==T)Y.set(H.name,H);if(!H.name.startsWith("@"))Y.set(`@elizaos/plugin-${H.name}`,H);let f=M1(T);if(f!==T)Y.set(f,H)}function O(T){let H=Y.get(T);if(!H){let k=M1(T),S=Y.get(k);if(!S){V6.warn({src:"core:plugin",pluginName:T},"Plugin dependency not found, skipping");return}return O(S.name)}let f=H.name;if(K.has(f))return;if(P.has(f)){V6.error({src:"core:plugin",pluginName:f},"Circular dependency detected");return}P.add(f);let w=[...H.dependencies||[]];if(q)w.push(...H.testDependencies||[]);for(let k of w)O(k);P.delete(f),K.add(f),_.push(f)}for(let T of $.values())if(!K.has(T.name))O(T.name);let z=_.map((T)=>{for(let H of $.values())if(H.name===T)return H;return null}).filter((T)=>Boolean(T));return V6.debug({src:"core:plugin",plugins:z.map((T)=>T.name)},"Plugins resolved"),z}async function rF($){if(typeof $==="string")return lF($);let q=dF($);if(!q.isValid)return V6.error({src:"core:plugin",errors:q.errors},"Invalid plugin provided"),null;return $}function vC($,q,_,K){let P=M1($);if(!(q.has($)||q.has(P)||Array.from(_.keys()).some((O)=>M1(O)===P)||Array.from(_.values()).some((O)=>M1(O.name)===P||O.name===$||O.name===P)))q.add($),q.add(P),K.push($)}async function oF($,q=!1){let _=new Map,K=[...$],P=new Set;while(K.length>0){let Y=K.shift(),O=await rF(Y);if(!O)continue;let z=O.name;if(!_.has(z)){_.set(z,O);for(let T of O.dependencies??[])vC(T,P,_,K);if(q)for(let T of O.testDependencies??[])vC(T,P,_,K)}}return zC(_,q)}async function WC($,q=!1){if(B4()==="node")return oF($,q);let K=$.filter((Y)=>typeof Y!=="string");if($.some((Y)=>typeof Y==="string")){let Y=$.filter((O)=>typeof O==="string");V6.warn({src:"core:plugin",skippedPlugins:Y},"Browser environment: String plugin references not supported")}let P=new Map;for(let Y of K)P.set(Y.name,Y);return zC(P,q)}class nF extends EventTarget{runtimes=new Map;initFunctions=new Map;editableMode=!1;async addAgents($,q){let _=[],K=$.map(async(Y)=>{let O=JSON.parse(JSON.stringify(Y.character));await sN(O,{skipEnvMerge:q?.isTestMode});let z=L_();if(O.settings?.secrets&&typeof O.settings.secrets==="object")O.settings.secrets=S1(O.settings.secrets,z);if(O.secrets&&typeof O.secrets==="object")O.secrets=S1(O.secrets,z);let T=Y.plugins?await WC(Y.plugins,q?.isTestMode||!1):[];if(Y.databaseAdapter)T=T.filter((N)=>N.name!=="@elizaos/plugin-sql");let H=new GT({character:O,plugins:T,settings:Y.settings||{}});if(Y.databaseAdapter)H.registerDatabaseAdapter(Y.databaseAdapter);if(H.elizaOS=this,!q?.ephemeral)this.runtimes.set(H.agentId,H);if(typeof Y.init==="function")this.initFunctions.set(H.agentId,Y.init);let{settings:f,...w}=O,{secrets:k,...S}=f||{};return this.dispatchEvent(new CustomEvent("agent:added",{detail:{agentId:H.agentId,character:{...w,settings:S},ephemeral:q?.ephemeral}})),_.push(H),H.agentId}),P=await Promise.all(K);if(q?.autoStart)await Promise.all(_.map(async(Y)=>{await Y.initialize({skipMigrations:q?.skipMigrations});let O=this.initFunctions.get(Y.agentId);if(O)await O(Y),this.initFunctions.delete(Y.agentId);this.dispatchEvent(new CustomEvent("agent:started",{detail:{agentId:Y.agentId}}))}));if(this.dispatchEvent(new CustomEvent("agents:added",{detail:{agentIds:P,count:P.length,ephemeral:q?.ephemeral}})),q?.returnRuntimes)return _;return P}registerAgent($){if(this.runtimes.has($.agentId))throw Error(`Agent ${$.agentId} already registered`);$.elizaOS=this,this.runtimes.set($.agentId,$),this.dispatchEvent(new CustomEvent("agent:registered",{detail:{agentId:$.agentId,runtime:$}}))}async updateAgent($,q){if(!this.editableMode)throw Error("Editable mode not enabled");let _=this.runtimes.get($);if(!_)throw Error(`Agent ${$} not found`);Object.assign(_.character,q),this.dispatchEvent(new CustomEvent("agent:updated",{detail:{agentId:$,updates:q}}))}async deleteAgents($){await this.stopAgents($);for(let q of $)this.runtimes.delete(q),this.initFunctions.delete(q);this.dispatchEvent(new CustomEvent("agents:deleted",{detail:{agentIds:$,count:$.length}}))}async startAgents($){let q=$||Array.from(this.runtimes.keys());await Promise.all(q.map(async(_)=>{let K=this.runtimes.get(_);if(!K)throw Error(`Agent ${_} not found`);await K.initialize(),this.dispatchEvent(new CustomEvent("agent:started",{detail:{agentId:_}}))}));for(let _ of q){let K=this.initFunctions.get(_);if(K){let P=this.runtimes.get(_);if(P)await K(P),this.initFunctions.delete(_)}}this.dispatchEvent(new CustomEvent("agents:started",{detail:{agentIds:q,count:q.length}}))}async stopAgents($){let q=$||Array.from(this.runtimes.keys());await Promise.all(q.map(async(_)=>{let K=this.runtimes.get(_);if(K)await K.stop()})),this.dispatchEvent(new CustomEvent("agents:stopped",{detail:{agentIds:q,count:q.length}}))}getAgent($){return this.runtimes.get($)}getAgents(){return Array.from(this.runtimes.values())}getAgentsByIds($){return $.map((q)=>this.runtimes.get(q)).filter((q)=>q!==void 0)}getAgentsByNames($){let q=new Set($.map((_)=>_.toLowerCase()));return this.getAgents().filter((_)=>q.has(_.character.name.toLowerCase()))}getAgentById($){return this.getAgent($)}getAgentByName($){let q=$.toLowerCase();return this.getAgents().find((_)=>_.character.name.toLowerCase()===q)}getAgentByCharacterName($){return this.getAgentByName($)}getAgentByCharacterId($){return this.getAgents().find((q)=>q.character.id===$)}async handleMessage($,q,_){let K,P;if(typeof $==="string"){if(P=$,K=this.runtimes.get(P),!K)throw Error(`Agent ${P} not found in registry`)}else K=$,P=K.agentId;if(!K.messageService)throw Error("messageService is not initialized on runtime");let Y=q.id||q8(),O={...q,id:Y,agentId:q.agentId||K.agentId,createdAt:q.createdAt||Date.now(),entityId:q.entityId,roomId:q.roomId,content:q.content};await K.ensureConnection({entityId:O.entityId,roomId:O.roomId,worldId:q.worldId||O.roomId,source:O.content.source||"unknown",channelId:O.roomId});let z={maxRetries:_?.maxRetries,timeoutDuration:_?.timeoutDuration,useMultiStep:_?.useMultiStep,maxMultiStepIterations:_?.maxMultiStepIterations,onStreamChunk:_?.onStreamChunk},T=async(f)=>{if(K.withEntityContext)return await K.withEntityContext(O.entityId,f);else return await f()};if(!!_?.onResponse){let f=async(w)=>{try{if(_.onResponse)await _.onResponse(w)}catch(k){if(_.onError)await _.onError(k instanceof Error?k:Error(String(k)))}return[]};return T(()=>K.messageService.handleMessage(K,O,f,z)).then(()=>{if(_.onComplete)_.onComplete()}).catch((w)=>{if(_.onError)_.onError(w)}),this.dispatchEvent(new CustomEvent("message:sent",{detail:{agentId:P,messageId:Y,mode:"async"}})),{messageId:Y,userMessage:O}}else{let f=await T(()=>K.messageService.handleMessage(K,O,void 0,z));if(_?.onComplete)await _.onComplete();return this.dispatchEvent(new CustomEvent("message:sent",{detail:{agentId:P,messageId:Y,mode:"sync",processing:f}})),{messageId:Y,userMessage:O,processing:f}}}async handleMessages($){let q=await Promise.all($.map(async({agentId:_,message:K,options:P})=>{try{let Y=await this.handleMessage(_,K,P);return{agentId:_,result:Y}}catch(Y){return{agentId:_,result:{messageId:K.id||"",userMessage:K},error:Y instanceof Error?Y:Error(String(Y))}}}));return this.dispatchEvent(new CustomEvent("messages:sent",{detail:{results:q,count:$.length}})),q}async validateApiKeys($){let q=new Map,_=$||Array.from(this.runtimes.keys());for(let K of _){let P=this.runtimes.get(K);if(P){let Y=!!(P.getSetting("OPENAI_API_KEY")||P.getSetting("ANTHROPIC_API_KEY"));q.set(K,Y)}}return q}async healthCheck($){let q=new Map,_=$||Array.from(this.runtimes.keys());for(let K of _){let Y={alive:!!this.runtimes.get(K),responsive:!0};if(typeof process<"u")Y.memoryUsage=process.memoryUsage().heapUsed,Y.uptime=process.uptime();q.set(K,Y)}return q}getRuntimeAccessor(){return{getAgent:($)=>this.getAgent($),getAgents:()=>this.getAgents(),getState:($)=>{let q=this.getAgent($);if(!q)return;if(q.stateCache&&q.stateCache.size>0){let _=Array.from(q.stateCache.values());return _[_.length-1]}return}}}enableEditableMode(){this.editableMode=!0,this.dispatchEvent(new CustomEvent("mode:editable",{detail:{editable:!0}}))}}var iF=`# Task: Resolve Entity Name
|
|
684
684
|
Message Sender: {{senderName}} (ID: {{senderId}})
|
|
685
685
|
Agent: {{agentName}} (ID: {{agentId}})
|
|
686
686
|
|
|
@@ -714,12 +714,12 @@ Return an XML response with:
|
|
|
714
714
|
</matches>
|
|
715
715
|
</response>
|
|
716
716
|
|
|
717
|
-
IMPORTANT: Your response must ONLY contain the <response></response> XML block above. Do not include any text, thinking, or reasoning before or after this XML block. Start your response immediately with <response> and end with </response>.`;async function BF($,q,_,K,P){let Y=[],O=await $.getMemories({tableName:"messages",roomId:K,count:20});for(let z of _){let T=[],H=0,f=O.filter((S)=>S.entityId===q&&S.content.inReplyTo===z.id||S.entityId===z.id&&S.content.inReplyTo===q);T.push(...f);let w=P.find((S)=>S.sourceEntityId===q&&S.targetEntityId===z.id||S.targetEntityId===q&&S.sourceEntityId===z.id);if(w?.metadata?.interactions)H=w.metadata.interactions;H+=f.length;let k=[...new Set(T)];Y.push({entity:z,interactions:k.slice(-5),count:Math.round(H)})}return Y.sort((z,T)=>T.count-z.count)}async function m3$($,q,_){let K=_.data.room??await $.getRoom(q.roomId);if(!K)return V6.warn({src:"core:entities",roomId:q.roomId},"Room not found for entity search"),null;let P=K.worldId?await $.getWorld(K.worldId):null,Y=await $.getEntitiesForRoom(K.id,!0),O=await Promise.all(Y.map(async(C)=>{if(!C.components)return C;let I=P?.metadata?.roles||{};return C.components=C.components.filter((D)=>{if(D.sourceEntityId===q.entityId)return!0;if(P&&D.sourceEntityId){let L=I[D.sourceEntityId];if(L==="OWNER"||L==="ADMIN")return!0}if(D.sourceEntityId===$.agentId)return!0;return!1}),C})),z=await $.getRelationships({entityId:q.entityId}),T=await Promise.all(z.map(async(C)=>{let I=C.sourceEntityId===q.entityId?C.targetEntityId:C.sourceEntityId;return $.getEntityById(I)})),H=[...O,...T.filter((C)=>C!==null)],f=await BF($,q.entityId,H,K.id,z),w=yN({state:{roomName:K.name||K.id,worldName:P?.name||"Unknown",entitiesInRoom:JSON.stringify(O,null,2),entityId:q.entityId,senderId:q.entityId},template:iF}),k=await $.useModel(
|
|
717
|
+
IMPORTANT: Your response must ONLY contain the <response></response> XML block above. Do not include any text, thinking, or reasoning before or after this XML block. Start your response immediately with <response> and end with </response>.`;async function BF($,q,_,K,P){let Y=[],O=await $.getMemories({tableName:"messages",roomId:K,count:20});for(let z of _){let T=[],H=0,f=O.filter((S)=>S.entityId===q&&S.content.inReplyTo===z.id||S.entityId===z.id&&S.content.inReplyTo===q);T.push(...f);let w=P.find((S)=>S.sourceEntityId===q&&S.targetEntityId===z.id||S.targetEntityId===q&&S.sourceEntityId===z.id);if(w?.metadata?.interactions)H=w.metadata.interactions;H+=f.length;let k=[...new Set(T)];Y.push({entity:z,interactions:k.slice(-5),count:Math.round(H)})}return Y.sort((z,T)=>T.count-z.count)}async function m3$($,q,_){let K=_.data.room??await $.getRoom(q.roomId);if(!K)return V6.warn({src:"core:entities",roomId:q.roomId},"Room not found for entity search"),null;let P=K.worldId?await $.getWorld(K.worldId):null,Y=await $.getEntitiesForRoom(K.id,!0),O=await Promise.all(Y.map(async(C)=>{if(!C.components)return C;let I=P?.metadata?.roles||{};return C.components=C.components.filter((D)=>{if(D.sourceEntityId===q.entityId)return!0;if(P&&D.sourceEntityId){let L=I[D.sourceEntityId];if(L==="OWNER"||L==="ADMIN")return!0}if(D.sourceEntityId===$.agentId)return!0;return!1}),C})),z=await $.getRelationships({entityId:q.entityId}),T=await Promise.all(z.map(async(C)=>{let I=C.sourceEntityId===q.entityId?C.targetEntityId:C.sourceEntityId;return $.getEntityById(I)})),H=[...O,...T.filter((C)=>C!==null)],f=await BF($,q.entityId,H,K.id,z),w=yN({state:{roomName:K.name||K.id,worldName:P?.name||"Unknown",entitiesInRoom:JSON.stringify(O,null,2),entityId:q.entityId,senderId:q.entityId},template:iF}),k=await $.useModel(G6.TEXT_SMALL,{prompt:w,stopSequences:[]}),S=YK(k);if(!S)return V6.warn({src:"core:entities"},"Failed to parse entity resolution result"),null;if(S.type==="EXACT_MATCH"&&S.entityId){let C=await $.getEntityById(S.entityId);if(C){if(C.components){let I=P?.metadata?.roles||{};C.components=C.components.filter((D)=>{if(D.sourceEntityId===q.entityId)return!0;if(P&&D.sourceEntityId){let L=I[D.sourceEntityId];if(L==="OWNER"||L==="ADMIN")return!0}if(D.sourceEntityId===$.agentId)return!0;return!1})}return C}}let N=[],h=S;if(h.matches?.match){let C=h.matches.match;N=Array.isArray(C)?C:[C]}if(N.length>0&&N[0]?.name){let C=N[0].name.toLowerCase(),I=H.find((D)=>{if(D.names.some((L)=>L.toLowerCase()===C))return!0;return D.components?.some((L)=>L.data.username?.toLowerCase()===C||L.data.handle?.toLowerCase()===C)});if(I)if(S.type==="RELATIONSHIP_MATCH"){let D=f.find((L)=>L.entity.id===I.id);if(D&&D.count>0)return I}else return I}return null}var K_=($,q)=>{if(q===$.agentId)return $.agentId;let _=`${q}:${$.agentId}`;return i2(_)};async function d3$({runtime:$,roomId:q}){let[_,K]=await Promise.all([$.getRoom(q),$.getEntitiesForRoom(q,!0)]),P=new Map;for(let Y of K){if(P.has(Y.id))continue;let O={};for(let H of Y.components||[])Object.assign(O,H.data);let z={};for(let[H,f]of Object.entries(O)){if(!z[H]){z[H]=f;continue}if(Array.isArray(z[H])&&Array.isArray(f))z[H]=[...new Set([...z[H],...f])];else if(typeof z[H]==="object"&&typeof f==="object")z[H]={...z[H],...f}}let T=(H)=>{let f=Y.metadata[H];if(f&&typeof f==="object"&&f!==null){let w=f;if("name"in w&&typeof w.name==="string")return w.name}return};P.set(Y.id,{id:Y.id,name:_?.source?T(_.source)||Y.names[0]:Y.names[0],names:Y.names,data:JSON.stringify({...z,...Y.metadata})})}return Array.from(P.values())}function l3$({entities:$}){return $.map((_)=>{return`"${_.names.join('" aka "')}"
|
|
718
718
|
ID: ${_.id}${_.metadata&&Object.keys(_.metadata).length>0?`
|
|
719
719
|
Data: ${JSON.stringify(_.metadata)}
|
|
720
720
|
`:`
|
|
721
721
|
`}`}).join(`
|
|
722
|
-
`)}RT(DT());var i3$=!0,B3$=!1,t3$={check:async()=>({status:"not-applicable",environment:"browser"}),isHealthy:()=>!0};export{oU as validateUuid,rN as validateCharacter,lN as uuidSchema,X3$ as updateWorldSettings,PC as unsaltWorldSettings,uF as unsaltSettingValue,pN as truncateToCompleteSentence,UY$ as trimTokens,YF as toString,oN as toHex,eU as templateTypeSchema,sU as styleSchema,i2 as stringToUuid,tY$ as splitChunks,zF as slice,BN as shouldRespondTemplate,$F as settingsSchema,RT as setStreamingContextManager,X5$ as setEnv,t3$ as serverHealth,qF as secretsSchema,xF as saltWorldSettings,yF as saltSettingValue,FY$ as safeReplacer,C1 as runWithStreamingContext,LY$ as removeLogListener,yY$ as recentLogs,HF as randomBytes,QY$ as prewarmUuidCache,MO$ as postCreationTemplate,YK as parseKeyValueXml,BY$ as parseJSONObjectFromText,n2 as parseBooleanFromText,_O$ as parseAndValidateCharacter,bN as normalizeJsonString,QN as multiStepSummaryTemplate,FN as multiStepDecisionTemplate,tN as messageHandlerTemplate,FU as messageExampleSchema,tU as mediaSchema,V6 as logger,S5$ as loadEnvFile,aU as knowledgeItemSchema,KO$ as isValidCharacter,YQ as isStreamableModelType,B3$ as isNode,ZO$ as isMessageMetadata,fO$ as isFragmentMetadata,GO$ as isFragmentMemory,wO$ as isDocumentMetadata,kO$ as isDocumentMemory,XO$ as isDescriptionMetadata,AO$ as isCustomMetadata,WT as isBuffer,i3$ as isBrowser,k3$ as initializeOnboarding,G5$ as initBrowserEnvironment,UN as imageDescriptionTemplate,A5$ as hasEnv,A3$ as getWorldSettings,RO$ as getUserServerRole,_Q as getTypedService,UF as getStreamingContextManager,a2 as getStreamingContext,L_ as getSalt,xM as getNumberEnv,VO$ as getMemoryText,dN as getLocalServerUrl,t4 as getEnvironment,E_ as getEnv,d3$ as getEntityDetails,aY$ as getContentTypeFromMimeType,k5$ as getBooleanEnv,PF as fromString,KF as fromHex,jF as fromBytes,xN as formatTimestamp,nY$ as formatPosts,iY$ as formatMessages,l3$ as formatEntities,zO$ as formatActions,vO$ as formatActionNames,IO$ as findWorldsForOwner,pt as findEnvFile,m3$ as findEntityByName,WF as equals,G3$ as encryptedCharacter,KC as encryptStringValue,S1 as encryptObjectValues,gY$ as elizaLogger,QU as directoryItemSchema,B4 as detectEnvironment,N3$ as defineService,V3$ as decryptedCharacter,t2 as decryptStringValue,t2 as decryptSecret,_C as decryptObjectValues,bY$ as customLevels,V5$ as currentRuntime,K_ as createUniqueUuid,bF as createSettingFromConfig,KQ as createServiceError,pF as createService,TO$ as createMessageMemory,X1 as createLogger,UU as contentSchema,vF as concat,A1 as composePromptFromState,yN as composePrompt,jO$ as composeActionExamples,Z3$ as clearSaltCache,_F as characterSchema,JF as byteLength,NO$ as booleanFooter,e2 as asUUID,OF as alloc,DY$ as addLogListener,oY$ as addHeader,hY$ as __loggerTestHooks,jQ as VECTOR_DIMS,kC as TeeType,AC as TEEMode,qQ as ServiceType,YC as ServiceBuilder,s2 as Service,RF as Semaphore,GC as SOCKET_MESSAGE_TYPE,wC as Role,XC as PlatformPrefix,
|
|
722
|
+
`)}RT(DT());var i3$=!0,B3$=!1,t3$={check:async()=>({status:"not-applicable",environment:"browser"}),isHealthy:()=>!0};export{oU as validateUuid,rN as validateCharacter,lN as uuidSchema,X3$ as updateWorldSettings,PC as unsaltWorldSettings,uF as unsaltSettingValue,pN as truncateToCompleteSentence,UY$ as trimTokens,YF as toString,oN as toHex,eU as templateTypeSchema,sU as styleSchema,i2 as stringToUuid,tY$ as splitChunks,zF as slice,BN as shouldRespondTemplate,$F as settingsSchema,RT as setStreamingContextManager,X5$ as setEnv,t3$ as serverHealth,qF as secretsSchema,xF as saltWorldSettings,yF as saltSettingValue,FY$ as safeReplacer,C1 as runWithStreamingContext,LY$ as removeLogListener,yY$ as recentLogs,HF as randomBytes,QY$ as prewarmUuidCache,MO$ as postCreationTemplate,YK as parseKeyValueXml,BY$ as parseJSONObjectFromText,n2 as parseBooleanFromText,_O$ as parseAndValidateCharacter,bN as normalizeJsonString,QN as multiStepSummaryTemplate,FN as multiStepDecisionTemplate,tN as messageHandlerTemplate,FU as messageExampleSchema,tU as mediaSchema,V6 as logger,S5$ as loadEnvFile,aU as knowledgeItemSchema,KO$ as isValidCharacter,YQ as isStreamableModelType,B3$ as isNode,ZO$ as isMessageMetadata,fO$ as isFragmentMetadata,GO$ as isFragmentMemory,wO$ as isDocumentMetadata,kO$ as isDocumentMemory,XO$ as isDescriptionMetadata,AO$ as isCustomMetadata,WT as isBuffer,i3$ as isBrowser,k3$ as initializeOnboarding,G5$ as initBrowserEnvironment,UN as imageDescriptionTemplate,A5$ as hasEnv,A3$ as getWorldSettings,RO$ as getUserServerRole,_Q as getTypedService,UF as getStreamingContextManager,a2 as getStreamingContext,L_ as getSalt,xM as getNumberEnv,VO$ as getMemoryText,dN as getLocalServerUrl,t4 as getEnvironment,E_ as getEnv,d3$ as getEntityDetails,aY$ as getContentTypeFromMimeType,k5$ as getBooleanEnv,PF as fromString,KF as fromHex,jF as fromBytes,xN as formatTimestamp,nY$ as formatPosts,iY$ as formatMessages,l3$ as formatEntities,zO$ as formatActions,vO$ as formatActionNames,IO$ as findWorldsForOwner,pt as findEnvFile,m3$ as findEntityByName,WF as equals,G3$ as encryptedCharacter,KC as encryptStringValue,S1 as encryptObjectValues,gY$ as elizaLogger,QU as directoryItemSchema,B4 as detectEnvironment,N3$ as defineService,V3$ as decryptedCharacter,t2 as decryptStringValue,t2 as decryptSecret,_C as decryptObjectValues,bY$ as customLevels,V5$ as currentRuntime,K_ as createUniqueUuid,bF as createSettingFromConfig,KQ as createServiceError,pF as createService,TO$ as createMessageMemory,X1 as createLogger,UU as contentSchema,vF as concat,A1 as composePromptFromState,yN as composePrompt,jO$ as composeActionExamples,Z3$ as clearSaltCache,_F as characterSchema,JF as byteLength,NO$ as booleanFooter,e2 as asUUID,OF as alloc,DY$ as addLogListener,oY$ as addHeader,hY$ as __loggerTestHooks,jQ as VECTOR_DIMS,kC as TeeType,AC as TEEMode,qQ as ServiceType,YC as ServiceBuilder,s2 as Service,RF as Semaphore,GC as SOCKET_MESSAGE_TYPE,wC as Role,XC as PlatformPrefix,G6 as ModelType,fC as MemoryType,vP as MODEL_SETTINGS,JQ as MESSAGE_STREAM_EVENT,$Y as EventType,uM as Environment,nF as ElizaOS,XT as DefaultMessageService,wF as DatabaseAdapter,OP as ContentType,jP as ChannelType,OK as BufferUtils,kT as BM25,ZC as AgentStatus,GT as AgentRuntime};
|
|
723
723
|
|
|
724
|
-
//# debugId=
|
|
724
|
+
//# debugId=33910CA31FA8115264756E2164756E21
|
|
725
725
|
//# sourceMappingURL=index.browser.js.map
|