@isdk/ai-tool 0.0.10 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-4LD7IUUG.mjs +1 -0
- package/dist/funcs.d.mts +1 -1
- package/dist/funcs.d.ts +1 -1
- package/dist/funcs.js +1 -1
- package/dist/funcs.mjs +1 -1
- package/dist/{index-Dgo3ZXPQ.d.mts → index-DvpywQaE.d.mts} +43 -35
- package/dist/{index-Dgo3ZXPQ.d.ts → index-DvpywQaE.d.ts} +43 -35
- package/dist/index.d.mts +120 -3
- package/dist/index.d.ts +120 -3
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/docs/classes/AbortError.md +8 -8
- package/docs/classes/AlreadyExistsError.md +8 -8
- package/docs/classes/BaseError.md +8 -8
- package/docs/classes/CancelableAbility.md +20 -20
- package/docs/classes/ClientTools.md +94 -56
- package/docs/classes/CommonError.md +8 -8
- package/docs/classes/EventClient.md +117 -77
- package/docs/classes/EventServer.md +173 -74
- package/docs/classes/EventToolFunc.md +98 -43
- package/docs/classes/FStringPromptTemplate.md +18 -18
- package/docs/classes/FewShotPromptTemplate.md +22 -22
- package/docs/classes/GolangPromptTemplate.md +18 -18
- package/docs/classes/HFEnvironment.md +9 -9
- package/docs/classes/HFInterpreter.md +19 -19
- package/docs/classes/HFTemplate.md +4 -4
- package/docs/classes/HfPromptTemplate.md +18 -18
- package/docs/classes/IntSet.md +12 -12
- package/docs/classes/NotFoundError.md +8 -8
- package/docs/classes/NotImplementationError.md +8 -8
- package/docs/classes/PromptExampleSelector.md +8 -8
- package/docs/classes/PromptTemplate.md +17 -17
- package/docs/classes/ReadableStreamError.md +8 -8
- package/docs/classes/ResClientTools.md +91 -491
- package/docs/classes/ResServerTools.md +133 -474
- package/docs/classes/SSEChannel.md +15 -15
- package/docs/classes/Semaphore.md +14 -14
- package/docs/classes/ServerTools.md +71 -54
- package/docs/classes/TaskAbortController.md +7 -7
- package/docs/classes/ToolFunc.md +91 -40
- package/docs/enums/AsyncFeatureBits.md +3 -3
- package/docs/enums/AsyncFeatures.md +3 -3
- package/docs/enums/ErrorCode.md +21 -21
- package/docs/enums/XXHashAlgorithm.md +2 -2
- package/docs/interfaces/AIChatAssistantMessageParam.md +6 -6
- package/docs/interfaces/AIChatContentPartImage.md +2 -2
- package/docs/interfaces/AIChatContentPartText.md +2 -2
- package/docs/interfaces/AIChatMessageParamBase.md +1 -1
- package/docs/interfaces/AIChatMessageToolCall.md +3 -3
- package/docs/interfaces/AIChatSystemMessageParam.md +3 -3
- package/docs/interfaces/AIChatToolMessageParam.md +4 -4
- package/docs/interfaces/AIChatUserMessageParam.md +7 -7
- package/docs/interfaces/AIChoiceConfig.md +85 -0
- package/docs/interfaces/AIResult.md +5 -5
- package/docs/interfaces/AIStreamParser.md +1 -1
- package/docs/interfaces/AIStreamParserOptions.md +1 -1
- package/docs/interfaces/BaseFunc.md +37 -7
- package/docs/interfaces/BaseFuncItem.md +28 -6
- package/docs/interfaces/CancelableAbilityOptions.md +2 -2
- package/docs/interfaces/ClientFuncItem.md +25 -10
- package/docs/interfaces/DotenvExpandOptions.md +3 -3
- package/docs/interfaces/DotenvExpandOutput.md +2 -2
- package/docs/interfaces/EventClientFuncParams.md +4 -4
- package/docs/interfaces/EventServerFuncParams.md +5 -5
- package/docs/interfaces/FewShotPromptTemplateOptions.md +11 -11
- package/docs/interfaces/FuncItem.md +37 -7
- package/docs/interfaces/FuncParam.md +6 -6
- package/docs/interfaces/PromptExampleSelectorOptions.md +2 -2
- package/docs/interfaces/PromptTemplateOptions.md +6 -6
- package/docs/interfaces/RemoteFuncItem.md +29 -10
- package/docs/interfaces/ResClientFuncParams.md +10 -4
- package/docs/interfaces/ResServerFuncParams.md +12 -10
- package/docs/interfaces/SanitizeFilenameOptions.md +2 -2
- package/docs/interfaces/ServerFuncItem.md +26 -11
- package/docs/interfaces/ServerFuncParams.md +2 -4
- package/docs/interfaces/StreamCallbacksAndOptions.md +4 -4
- package/docs/interfaces/TaskPromise.md +1 -1
- package/docs/interfaces/ToolFuncPackage.md +3 -3
- package/docs/modules.md +466 -161
- package/package.json +3 -1
- package/dist/chunk-VNNDL7E2.mjs +0 -1
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var t,e=Object.create,r=Object.defineProperty,n=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,i=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,a=(t,e)=>{for(var n in e)r(t,n,{get:e[n],enumerable:!0})},c=(t,e,i,a)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let c of s(e))o.call(t,c)||c===i||r(t,c,{get:()=>e[c],enumerable:!(a=n(e,c))||a.enumerable});return t},u=(t,e,r)=>(c(t,e,"default"),r&&c(r,e,"default")),l=(t,n,s)=>(s=null!=t?e(i(t)):{},c(!n&&t&&t.__esModule?s:r(s,"default",{value:t,enumerable:!0}),t)),h={};a(h,{AIChatRoles:()=>U,AIMessageTypes:()=>B,AIStream:()=>ze,AITextGenerationFinishReasons:()=>q,AbortError:()=>F,AbortErrorCode:()=>S,ActionNames:()=>d,AlreadyExistsError:()=>C,AlreadyExistsErrorCode:()=>v,AsyncFeatureBits:()=>An,AsyncFeatures:()=>Cn,BaseError:()=>$,CancelableAbility:()=>In,ClientToolFuncSchema:()=>Pn,ClientTools:()=>Mn,CommonError:()=>k,ConfigFile:()=>zr.Config,DefaultAsyncSemaphoreCapacity:()=>fn,ErrorCode:()=>b,EventBusName:()=>Fe,EventClient:()=>Kn,EventName:()=>Ce,EventServer:()=>ts,EventToolFunc:()=>Un,FStringPromptTemplate:()=>oe,FewShotPromptTemplate:()=>he,FilenameReservedRegex:()=>fr,GolangPromptTemplate:()=>ue,HFBuiltins:()=>Kt,HFEnvironment:()=>Xt,HFInterpreter:()=>Dt,HFTemplate:()=>Yt,HfPromptTemplate:()=>ee,IntSet:()=>ln,InternalErrorCode:()=>g,NotFoundError:()=>A,NotFoundErrorCode:()=>x,NotImplementationError:()=>T,NotImplementedErrorCode:()=>E,PASSING_SCORE:()=>w,PromptExampleSelector:()=>G,PromptTemplate:()=>W,PromptTemplateTypes:()=>z,PromptTypes:()=>_,RStreamErrCode:()=>Me,RateLimit:()=>gn,ReadableStreamError:()=>Ve,RemoteToolFuncSchema:()=>m,ResClientTools:()=>Wn,ResClientToolsSchema:()=>Hn,ResServerTools:()=>Yn,ResServerToolsSchema:()=>Zn,ResponseRStreamErrCode:()=>Pe,SSEChannel:()=>Ie,SSEChannelAlreadyClosedErrCode:()=>Ne,Semaphore:()=>bn,ServerToolFuncSchema:()=>qn,ServerTools:()=>Vn,TaskAbortController:()=>Nn,ToolAsyncCancelableBit:()=>kn,ToolAsyncMultiTaskBit:()=>$n,ToolAsyncPriorityBit:()=>Tn,ToolFunc:()=>Fn,ToolFuncSchema:()=>On,WindowsReservedNameRegex:()=>pr,XXHashAlgorithm:()=>cr,_lrucache:()=>zn,backendEventable:()=>Oe,base32768:()=>rr,createAbilityInjector:()=>p.createAbilityInjector,createCallbacksTransformer:()=>Je,createEmptyReadableStream:()=>Be,createEndWithRepetitionDetector:()=>Ir,createError:()=>O,createEventStreamTransformer:()=>Le,createHfValueFunc:()=>re,createLRUCache:()=>Dn,dateToText:()=>V,defaultTemplateFormat:()=>J,event:()=>Ln,eventClient:()=>Gn,eventServer:()=>es,expandEnv:()=>de,expandObjEnv:()=>me,extNameLevel:()=>kr,filenameReservedRegex:()=>br,formatISO:()=>I.formatISO,getAllEnumKeys:()=>Cr,getConfigFileNames:()=>Yr,getConfigs:()=>Zr,getKeysPath:()=>jr,getMultiLevelExtname:()=>$r,getRealFilepath:()=>Ur,getResponseErrorReadableStream:()=>qe,hfParse:()=>Ct,hfTokenize:()=>nt,interpolateEnv:()=>we,interpolateFString:()=>se,interpolateGolangTemplate:()=>ce,isModelNameMatched:()=>Ar,isValidFilename:()=>Er,isValidFilepath:()=>xr,isWebStream:()=>Re,jsonFilterToWhere:()=>sn,jsonToMarkdownStr:()=>un,loadFileFromPaths:()=>Pr,loadTextFromPaths:()=>qr,lrucache:()=>Jn,makeToolFuncCancelable:()=>Rn,matchUrlProtocol:()=>on,messagesToText:()=>L,mimeType:()=>Wr.mimeType,paramsSizeToScaleStr:()=>an,parseDateFormat:()=>N.parse,parseFString:()=>ne,parseISO:()=>I.parseISO,parseJsJson:()=>Or,parseYaml:()=>Xr,reControlCharsRegex:()=>gr,readFilenamesRecursiveSync:()=>Br,readableFromAsyncIterable:()=>De,registerCoreTools:()=>rs,registerYamlTag:()=>Gr,sanitizeFilename:()=>vr,sanitizeFilepath:()=>Sr,saveConfigFile:()=>Qr,scaleStrToParamsSize:()=>cn,sortedValues:()=>le,splitSentence:()=>$e,stringifyYaml:()=>Hr.stringify,textToDate:()=>P,throwError:()=>j,toDate:()=>I.toDate,toDateTime:()=>M,trimStartOfStreamHelper:()=>_e,truncTo:()=>ke,uuid:()=>Ye,uuidNIL:()=>Ge.NIL,uuidParse:()=>Ge.parse,uuidStringify:()=>Ge.stringify,uuidValidate:()=>Ge.validate,uuidVersion:()=>Ge.version,uuidv1:()=>Ge.v1,uuidv4:()=>Ge.v4,uuidv5:()=>Ge.v5,wait:()=>Te,xxhash:()=>ur,xxhash32:()=>or,xxhash64:()=>ar,xxhashAsStr:()=>lr}),module.exports=(t=h,c(r({},"__esModule",{value:!0}),t));var f={};a(f,{AIChatRoles:()=>U,AIMessageTypes:()=>B,AIStream:()=>ze,AITextGenerationFinishReasons:()=>q,AbortError:()=>F,AbortErrorCode:()=>S,ActionNames:()=>d,AlreadyExistsError:()=>C,AlreadyExistsErrorCode:()=>v,BaseError:()=>$,CancelableAbility:()=>In,CommonError:()=>k,ConfigFile:()=>zr.Config,DefaultAsyncSemaphoreCapacity:()=>fn,ErrorCode:()=>b,EventBusName:()=>Fe,EventName:()=>Ce,FStringPromptTemplate:()=>oe,FewShotPromptTemplate:()=>he,FilenameReservedRegex:()=>fr,GolangPromptTemplate:()=>ue,HFBuiltins:()=>Kt,HFEnvironment:()=>Xt,HFInterpreter:()=>Dt,HFTemplate:()=>Yt,HfPromptTemplate:()=>ee,IntSet:()=>ln,InternalErrorCode:()=>g,NotFoundError:()=>A,NotFoundErrorCode:()=>x,NotImplementationError:()=>T,NotImplementedErrorCode:()=>E,PASSING_SCORE:()=>w,PromptExampleSelector:()=>G,PromptTemplate:()=>W,PromptTemplateTypes:()=>z,PromptTypes:()=>_,RStreamErrCode:()=>Me,RateLimit:()=>gn,ReadableStreamError:()=>Ve,RemoteToolFuncSchema:()=>m,ResponseRStreamErrCode:()=>Pe,SSEChannel:()=>Ie,SSEChannelAlreadyClosedErrCode:()=>Ne,Semaphore:()=>bn,TaskAbortController:()=>Nn,WindowsReservedNameRegex:()=>pr,XXHashAlgorithm:()=>cr,backendEventable:()=>Oe,base32768:()=>rr,createAbilityInjector:()=>p.createAbilityInjector,createCallbacksTransformer:()=>Je,createEmptyReadableStream:()=>Be,createEndWithRepetitionDetector:()=>Ir,createError:()=>O,createEventStreamTransformer:()=>Le,createHfValueFunc:()=>re,dateToText:()=>V,defaultTemplateFormat:()=>J,expandEnv:()=>de,expandObjEnv:()=>me,extNameLevel:()=>kr,filenameReservedRegex:()=>br,formatISO:()=>I.formatISO,getAllEnumKeys:()=>Cr,getConfigFileNames:()=>Yr,getConfigs:()=>Zr,getKeysPath:()=>jr,getMultiLevelExtname:()=>$r,getRealFilepath:()=>Ur,getResponseErrorReadableStream:()=>qe,hfParse:()=>Ct,hfTokenize:()=>nt,interpolateEnv:()=>we,interpolateFString:()=>se,interpolateGolangTemplate:()=>ce,isModelNameMatched:()=>Ar,isValidFilename:()=>Er,isValidFilepath:()=>xr,isWebStream:()=>Re,jsonFilterToWhere:()=>sn,jsonToMarkdownStr:()=>un,loadFileFromPaths:()=>Pr,loadTextFromPaths:()=>qr,makeToolFuncCancelable:()=>Rn,matchUrlProtocol:()=>on,messagesToText:()=>L,mimeType:()=>Wr.mimeType,paramsSizeToScaleStr:()=>an,parseDateFormat:()=>N.parse,parseFString:()=>ne,parseISO:()=>I.parseISO,parseJsJson:()=>Or,parseYaml:()=>Xr,reControlCharsRegex:()=>gr,readFilenamesRecursiveSync:()=>Br,readableFromAsyncIterable:()=>De,registerYamlTag:()=>Gr,sanitizeFilename:()=>vr,sanitizeFilepath:()=>Sr,saveConfigFile:()=>Qr,scaleStrToParamsSize:()=>cn,sortedValues:()=>le,splitSentence:()=>$e,stringifyYaml:()=>Hr.stringify,textToDate:()=>P,throwError:()=>j,toDate:()=>I.toDate,toDateTime:()=>M,trimStartOfStreamHelper:()=>_e,truncTo:()=>ke,uuid:()=>Ye,uuidNIL:()=>Ge.NIL,uuidParse:()=>Ge.parse,uuidStringify:()=>Ge.stringify,uuidValidate:()=>Ge.validate,uuidVersion:()=>Ge.version,uuidv1:()=>Ge.v1,uuidv4:()=>Ge.v4,uuidv5:()=>Ge.v5,wait:()=>Te,xxhash:()=>ur,xxhash32:()=>or,xxhash64:()=>ar,xxhashAsStr:()=>lr});var p=require("custom-ability"),w=.618,d=["get","post","put","delete","patch","list","res"],m={apiRoot:{type:"string",get(){return this._apiRoot??this.constructor.apiRoot},set(t){this._apiRoot=t}},action:{type:"string",assign:(t,e,r,n,s)=>t||"post"},fetchOptions:{type:"object"},allowExportFunc:{type:"boolean"},stream:{type:"boolean"}},y=require("abstract-error"),b=(t=>(t[t.OK=200]="OK",t[t.Accepted=202]="Accepted",t[t.BadRequest=400]="BadRequest",t[t.InvalidArgument=400]="InvalidArgument",t[t.Unauthorized=401]="Unauthorized",t[t.PaymentRequired=402]="PaymentRequired",t[t.Forbidden=403]="Forbidden",t[t.NotFound=404]="NotFound",t[t.MethodNotAllowed=405]="MethodNotAllowed",t[t.NotAcceptable=406]="NotAcceptable",t[t.RequestTimeout=408]="RequestTimeout",t[t.Conflict=409]="Conflict",t[t.Corruption=409]="Corruption",t[t.TooManyRequests=429]="TooManyRequests",t[t.Aborted=499]="Aborted",t[t.InternalError=500]="InternalError",t[t.NotImplemented=501]="NotImplemented",t[t.NotSupported=501]="NotSupported",t[t.BadGateway=502]="BadGateway",t[t.ServiceUnavailable=503]="ServiceUnavailable",t[t.GatewayTimeout=504]="GatewayTimeout",t))(b||{}),g=500,E=501,x=404,v=409,S=499,$=class t extends y.AbstractError{static createErrorClass(e,r,n=t){return(0,y.createErrorClass)(e,r,n)}constructor(t,e,r){super(t,e);const n=this.constructor;null!=e?this.code=e:n.code?this.code=n.code:this.code=n.name,r?"string"==typeof r?this.name=r:Object.assign(this,r):"string"==typeof this.code?this.name=this.code:this.name=n.name}toJSON(){const t={name:this.name,code:this.code,data:this.data,caller:this.caller,error:this.message,stack:this.stack};return Object.keys(t).forEach((e=>void 0===t[e]&&delete t[e])),t}fromJSON(e){const r=new t(e.message);return r.code=e.code,r.data=e.data,r.caller=e.caller,r.message=e.error,r.stack=e.stack,r}},k=class extends ${constructor(t,e,r=g){super(t,r,e)}},T=class extends k{constructor(t,e){t||(t="Not Implementation."),super(t,e,501)}};k[E]=T;var A=class extends k{static{this.code=x}constructor(t,e){super(`Could not find ${t}.`,e,x),this.data={what:t}}};k[x]=A;var C=class extends k{static{this.code=v}constructor(t,e){super(`The ${t} already exists.`,e,v),this.data={what:t}}};k[v]=C;var F=class extends k{static{this.code=S}constructor(t,e){e||(e="AbortError"),super(t?`The operation was aborted for ${t}.`:"The operation was aborted.",e,S),t&&(this.data={what:t})}};function O(t,e,r=g){const n=new(k[r]||k)(t,e,r);return"number"!=typeof n.code&&(n.code=r),n}function j(t,e,r=g){throw O(t,e,r)}k[S]=F;var N=require("date-fns"),I=require("date-fns"),R="MMMM d, y 'at' h:m:s b 'GMT'x";function M(t){let e;try{"string"==typeof t?e=(0,N.parseISO)(t):"number"==typeof t?e=new Date(t):t instanceof Date&&(e=t)}catch(t){console.error(t)}return e}function P(t,e=R){return(0,N.parse)(t,e,new Date)}function V(t,e=R){return(0,N.format)(t,e)}var q=["stop","length","content-filter","tool-calls","abort","error","other",null],B=["human","ai","generic","system","tool"],U=["user","assistant","system","tool","tool_calls"];function L(t){let e="";for(const r of t)if(r.content){e+=r.role.toLowerCase()+":";let t=r.createdAt;if(t){const r=M(t);r&&(e+=" ["+V(r)+"]")}e+=" "+r.content+"\n"}return e}var _=["chat","char","plan"],z=["internal","hf","fill"],D=require("custom-factory");var J="default",W=class t extends D.BaseFactory{static from(t,e){return new this(t,e)}static async format(t){return new this(t).format()}static async formatIf(t){if(this.isTemplate(t)){return new this(t).format()}}static isTemplate(e){if(e?.template){const r=e.templateFormat||J,n=t.get(r);return n.isTemplate!==t.isTemplate&&n.isTemplate(e)}}filterData(t){return Array.isArray(this.inputVariables)&&(t=Object.fromEntries(Object.entries(t).filter((([t])=>this.inputVariables.includes(t))))),t}constructor(e,r){"string"==typeof e?(r||(r={}),r.template=e):e&&(e=(r=e).template);const{templateFormat:n}=r||{};if(super(r),this.constructor===t){const e=t.get(n||J);if(e)return Reflect.construct(e,arguments);throw new k(`Prompt template type ${n} not found`,"PromptTemplate",400)}}_initialize(t){throw new T("Not implemented","PromptTemplate")}initialize(e){this.constructor!==t&&(Object.assign(this,this.toJSON(e)),e?.ignoreInitialize||this._initialize(e))}_format(t){throw new T("Not implemented","PromptTemplate")}async format(e){const r=this.data;if(e={...r,...e},r)for(const[t,n]of Object.entries(r))e[t]===n&&"function"==typeof n&&(delete e[t],e[t]=await n(e));for(const[r,n]of Object.entries(e))n instanceof t&&(delete e[r],e[r]=await n.format(e));return this._format(e)}partial(t){t={...this.data,...t};const e=this.toJSON();return e.data=t,e.ignoreInitialize=!0,new this.constructor(e)}toJSON(e=this){let r={template:e.template,data:e.data,inputVariables:e.inputVariables,compiledTemplate:e.compiledTemplate};var n;return e.templateFormat&&t.get(e.templateFormat)!==this.constructor&&(r.templateFormat=e.templateFormat),n=r,r=Object.keys(n).reduce(((t,e)=>{const r=n[e];return null!=r&&(t[e]=r),t}),{}),r}};function H(t){return(e=t)&&"function"==typeof e[Symbol.iterator]?async function*(t){const e=t[Symbol.iterator]();let r;try{for(;;){r=!1;const t=e.next();if(r=!0,t.done)return r=!1,await t.value;yield await t.value}}finally{r&&await(e.return?.().value)}}(t):t;var e}var K=!1;(async function(){let t=!1,e=!1;try{for await(const e of function*(){try{yield Promise.reject()}finally{t=!0}}())throw new Error("impossible")}catch{e=!0}return e&&t})().then((t=>{K=t}));var G=class{constructor(t,e){this.initialize(t,e)}initialize(t,e){const r=e?.maxLength;var n;r>0&&(this.maxLength=r),void 0!==e?.threshold&&(!0===e.threshold?this.threshold=.5:!1!==e.threshold&&(this.threshold=e.threshold)),this.examples=(n=t,K?n:H(n))}selectExample(t,e){if(void 0===e||e<=this.threshold)return t}async*selectExamples(t=this.examples){let e=this.maxLength||1/0;for await(const r of t){const t="number"==typeof this.threshold?Math.random():void 0;if(this.selectExample(r,t)){if(--e<0)break;yield r}}}async*[Symbol.asyncIterator](){yield*this.selectExamples()}},X=Object.freeze({Text:"Text",NumericLiteral:"NumericLiteral",BooleanLiteral:"BooleanLiteral",StringLiteral:"StringLiteral",Identifier:"Identifier",Equals:"Equals",OpenParen:"OpenParen",CloseParen:"CloseParen",OpenStatement:"OpenStatement",CloseStatement:"CloseStatement",OpenExpression:"OpenExpression",CloseExpression:"CloseExpression",OpenSquareBracket:"OpenSquareBracket",CloseSquareBracket:"CloseSquareBracket",OpenCurlyBracket:"OpenCurlyBracket",CloseCurlyBracket:"CloseCurlyBracket",Comma:"Comma",Dot:"Dot",Colon:"Colon",Pipe:"Pipe",CallOperator:"CallOperator",AdditiveBinaryOperator:"AdditiveBinaryOperator",MultiplicativeBinaryOperator:"MultiplicativeBinaryOperator",ComparisonBinaryOperator:"ComparisonBinaryOperator",UnaryOperator:"UnaryOperator",Set:"Set",If:"If",For:"For",In:"In",Is:"Is",NotIn:"NotIn",Else:"Else",EndIf:"EndIf",ElseIf:"ElseIf",EndFor:"EndFor",And:"And",Or:"Or",Not:"UnaryOperator",Macro:"Macro",EndMacro:"EndMacro"}),Y=Object.freeze({set:X.Set,for:X.For,in:X.In,is:X.Is,if:X.If,else:X.Else,endif:X.EndIf,elif:X.ElseIf,endfor:X.EndFor,and:X.And,or:X.Or,not:X.Not,"not in":X.NotIn,macro:X.Macro,endmacro:X.EndMacro,true:X.BooleanLiteral,false:X.BooleanLiteral,True:X.BooleanLiteral,False:X.BooleanLiteral}),Z=class{constructor(t,e){this.value=t,this.type=e}};function Q(t){return/\w/.test(t)}function tt(t){return/[0-9]/.test(t)}var et=[["{%",X.OpenStatement],["%}",X.CloseStatement],["{{",X.OpenExpression],["}}",X.CloseExpression],["(",X.OpenParen],[")",X.CloseParen],["{",X.OpenCurlyBracket],["}",X.CloseCurlyBracket],["[",X.OpenSquareBracket],["]",X.CloseSquareBracket],[",",X.Comma],[".",X.Dot],[":",X.Colon],["|",X.Pipe],["<=",X.ComparisonBinaryOperator],[">=",X.ComparisonBinaryOperator],["==",X.ComparisonBinaryOperator],["!=",X.ComparisonBinaryOperator],["<",X.ComparisonBinaryOperator],[">",X.ComparisonBinaryOperator],["+",X.AdditiveBinaryOperator],["-",X.AdditiveBinaryOperator],["*",X.MultiplicativeBinaryOperator],["/",X.MultiplicativeBinaryOperator],["%",X.MultiplicativeBinaryOperator],["=",X.Equals]],rt=new Map([["n","\n"],["t","\t"],["r","\r"],["b","\b"],["f","\f"],["v","\v"],["'","'"],['"','"'],["\\","\\"]]);function nt(t,e={}){const r=[],n=function(t,e={}){return t.endsWith("\n")&&(t=t.slice(0,-1)),t=t.replace(/{#.*?#}/gs,"{##}"),e.lstrip_blocks&&(t=t.replace(/^[ \t]*({[#%])/gm,"$1")),e.trim_blocks&&(t=t.replace(/([#%]})\n/g,"$1")),t.replace(/{##}/g,"").replace(/-%}\s*/g,"%}").replace(/\s*{%-/g,"{%").replace(/-}}\s*/g,"}}").replace(/\s*{{-/g,"{{")}(t,e);let s=0;const i=t=>{let e="";for(;t(n[s]);)if("\\"!==n[s]){if(e+=n[s++],s>=n.length)throw new SyntaxError("Unexpected end of input")}else{if(++s,s>=n.length)throw new SyntaxError("Unexpected end of input");const t=n[s++],r=rt.get(t);if(void 0===r)throw new SyntaxError(`Unexpected escaped character: ${t}`);e+=r}return e};t:for(;s<n.length;){const t=r.at(-1)?.type;if(void 0===t||t===X.CloseStatement||t===X.CloseExpression){let t="";for(;s<n.length&&("{"!==n[s]||"%"!==n[s+1]&&"{"!==n[s+1]);)t+=n[s++];if(t.length>0){r.push(new Z(t,X.Text));continue}}i((t=>/\s/.test(t)));const e=n[s];if("-"===e||"+"===e){const t=r.at(-1)?.type;if(t===X.Text||void 0===t)throw new SyntaxError(`Unexpected character: ${e}`);switch(t){case X.Identifier:case X.NumericLiteral:case X.BooleanLiteral:case X.StringLiteral:case X.CloseParen:case X.CloseSquareBracket:break;default:{++s;const t=i(tt);r.push(new Z(`${e}${t}`,t.length>0?X.NumericLiteral:X.UnaryOperator));continue}}}for(const[t,e]of et){if(n.slice(s,s+t.length)===t){r.push(new Z(t,e)),s+=t.length;continue t}}if("'"!==e&&'"'!==e)if(tt(e)){const t=i(tt);r.push(new Z(t,X.NumericLiteral))}else{if(!Q(e))throw new SyntaxError(`Unexpected character: ${e}`);{const t=i(Q),e=Object.hasOwn(Y,t)?Y[t]:X.Identifier;e===X.In&&r.at(-1)?.type===X.Not?(r.pop(),r.push(new Z("not in",X.NotIn))):r.push(new Z(t,e))}}else{++s;const t=i((t=>t!==e));r.push(new Z(t,X.StringLiteral)),++s}}return r}var st=class{constructor(){this.type="Statement"}},it=class extends st{constructor(t){super(),this.body=t,this.type="Program"}},ot=class extends st{constructor(t,e,r){super(),this.test=t,this.body=e,this.alternate=r,this.type="If"}},at=class extends st{constructor(t,e,r,n){super(),this.loopvar=t,this.iterable=e,this.body=r,this.defaultBlock=n,this.type="For"}},ct=class extends st{constructor(t,e){super(),this.assignee=t,this.value=e,this.type="Set"}},ut=class extends st{constructor(t,e,r){super(),this.name=t,this.args=e,this.body=r,this.type="Macro"}},lt=class extends st{constructor(){super(...arguments),this.type="Expression"}},ht=class extends lt{constructor(t,e,r){super(),this.object=t,this.property=e,this.computed=r,this.type="MemberExpression"}},ft=class extends lt{constructor(t,e){super(),this.callee=t,this.args=e,this.type="CallExpression"}},pt=class extends lt{constructor(t){super(),this.value=t,this.type="Identifier"}},wt=class extends lt{constructor(t){super(),this.value=t,this.type="Literal"}},dt=class extends wt{constructor(){super(...arguments),this.type="NumericLiteral"}},mt=class extends wt{constructor(){super(...arguments),this.type="StringLiteral"}},yt=class extends wt{constructor(){super(...arguments),this.type="BooleanLiteral"}},bt=class extends wt{constructor(){super(...arguments),this.type="ArrayLiteral"}},gt=class extends wt{constructor(){super(...arguments),this.type="TupleLiteral"}},Et=class extends wt{constructor(){super(...arguments),this.type="ObjectLiteral"}},xt=class extends lt{constructor(t,e,r){super(),this.operator=t,this.left=e,this.right=r,this.type="BinaryExpression"}},vt=class extends lt{constructor(t,e){super(),this.operand=t,this.filter=e,this.type="FilterExpression"}},St=class extends lt{constructor(t,e){super(),this.iterable=t,this.test=e,this.type="SelectExpression"}},$t=class extends lt{constructor(t,e,r){super(),this.operand=t,this.negate=e,this.test=r,this.type="TestExpression"}},kt=class extends lt{constructor(t,e){super(),this.operator=t,this.argument=e,this.type="UnaryExpression"}},Tt=class extends lt{constructor(t=void 0,e=void 0,r=void 0){super(),this.start=t,this.stop=e,this.step=r,this.type="SliceExpression"}},At=class extends lt{constructor(t,e){super(),this.key=t,this.value=e,this.type="KeywordArgumentExpression"}};function Ct(t){const e=new it([]);let r=0;function n(e,n){const s=t[r++];if(!s||s.type!==e)throw new Error(`Parser Error: ${n}. ${s.type} !== ${e}.`);return s}function s(){let e;switch(t[r].type){case X.Text:e=new mt(n(X.Text,"Expected text token").value);break;case X.OpenStatement:e=function(){let e;switch(n(X.OpenStatement,"Expected opening statement token"),t[r].type){case X.Set:++r,e=a(),n(X.CloseStatement,"Expected closing statement token");break;case X.If:++r,e=c(),n(X.OpenStatement,"Expected {% token"),n(X.EndIf,"Expected endif token"),n(X.CloseStatement,"Expected %} token");break;case X.Macro:++r,e=function(){const t=x();if("Identifier"!==t.type)throw new SyntaxError("Expected identifier following macro statement");const e=y();n(X.CloseStatement,"Expected closing statement token");const r=[];for(;i(X.OpenStatement,X.EndMacro);)r.push(s());return new ut(t,e,r)}(),n(X.OpenStatement,"Expected {% token"),n(X.EndMacro,"Expected endmacro token"),n(X.CloseStatement,"Expected %} token");break;case X.For:++r,e=function(){const t=u(!0);if(!(t instanceof pt||t instanceof gt))throw new SyntaxError(`Expected identifier/tuple for the loop variable, got ${t.type} instead`);n(X.In,"Expected `in` keyword following loop variable");const e=l();n(X.CloseStatement,"Expected closing statement token");const a=[];for(;i(X.OpenStatement,X.EndFor)&&i(X.OpenStatement,X.Else);)a.push(s());const c=[];if(o(X.OpenStatement,X.Else))for(++r,++r,n(X.CloseStatement,"Expected closing statement token");i(X.OpenStatement,X.EndFor);)c.push(s());return new at(t,e,a,c)}(),n(X.OpenStatement,"Expected {% token"),n(X.EndFor,"Expected endfor token"),n(X.CloseStatement,"Expected %} token");break;default:throw new SyntaxError(`Unknown statement type: ${t[r].type} ${t[r].value}`)}return e}(),e.isStatement=!0;break;case X.OpenExpression:e=function(){n(X.OpenExpression,"Expected opening expression token");const t=l();return n(X.CloseExpression,"Expected closing expression token"),t}(),e.isStatement=!0;break;default:throw new SyntaxError(`Unexpected token type: ${t[r].type}`)}return e}function i(...e){return r+e.length<=t.length&&e.some(((e,n)=>e!==t[r+n].type))}function o(...e){return r+e.length<=t.length&&e.every(((e,n)=>e===t[r+n].type))}function a(){const t=l();if(o(X.Equals)){++r;const e=a();return new ct(t,e)}return t}function c(){const e=l();n(X.CloseStatement,"Expected closing statement token");const i=[],a=[];for(;t[r]?.type!==X.OpenStatement||t[r+1]?.type!==X.ElseIf&&t[r+1]?.type!==X.Else&&t[r+1]?.type!==X.EndIf;)i.push(s());if(t[r]?.type===X.OpenStatement&&t[r+1]?.type!==X.EndIf)if(++r,o(X.ElseIf))n(X.ElseIf,"Expected elseif token"),a.push(c());else for(n(X.Else,"Expected else token"),n(X.CloseStatement,"Expected closing statement token");t[r]?.type!==X.OpenStatement||t[r+1]?.type!==X.EndIf;)a.push(s());return new ot(e,i,a)}function u(t=!1){const e=t?x:l,n=[e()],s=o(X.Comma);for(;s&&(++r,n.push(e()),o(X.Comma)););return s?new gt(n):n[0]}function l(){return function(){const t=h();if(o(X.If)){++r;const e=h();if(o(X.Else)){++r;const n=h();return new ot(e,[t],[n])}return new St(t,e)}return t}()}function h(){let e=f();for(;o(X.Or);){const n=t[r];++r;const s=f();e=new xt(n,e,s)}return e}function f(){let e=p();for(;o(X.And);){const n=t[r];++r;const s=p();e=new xt(n,e,s)}return e}function p(){let e;for(;o(X.Not);){const n=t[r];++r;const s=p();e=new kt(n,s)}return e??function(){let e=w();for(;o(X.ComparisonBinaryOperator)||o(X.In)||o(X.NotIn);){const n=t[r];++r;const s=w();e=new xt(n,e,s)}return e}()}function w(){let e=g();for(;o(X.AdditiveBinaryOperator);){const n=t[r];++r;const s=g();e=new xt(n,e,s)}return e}function d(){const e=function(){let e=x();for(;o(X.Dot)||o(X.OpenSquareBracket);){const s=t[r];let i;++r;const o=s.type!==X.Dot;if(o)i=b(),n(X.CloseSquareBracket,"Expected closing square bracket");else if(i=x(),"Identifier"!==i.type)throw new SyntaxError("Expected identifier following dot operator");e=new ht(e,i,o)}return e}();return o(X.OpenParen)?m(e):e}function m(t){let e=new ft(t,y());return o(X.OpenParen)&&(e=m(e)),e}function y(){n(X.OpenParen,"Expected opening parenthesis for arguments list");const t=function(){const t=[];for(;!o(X.CloseParen);){let e=l();if(o(X.Equals)){if(++r,!(e instanceof pt))throw new SyntaxError("Expected identifier for keyword argument");const t=l();e=new At(e,t)}t.push(e),o(X.Comma)&&++r}return t}();return n(X.CloseParen,"Expected closing parenthesis for arguments list"),t}function b(){const t=[];let e=!1;for(;!o(X.CloseSquareBracket);)o(X.Colon)?(t.push(void 0),++r,e=!0):(t.push(l()),o(X.Colon)&&(++r,e=!0));if(0===t.length)throw new SyntaxError("Expected at least one argument for member/slice expression");if(e){if(t.length>3)throw new SyntaxError("Expected 0-3 arguments for slice expression");return new Tt(...t)}return t[0]}function g(){let e=E();for(;o(X.MultiplicativeBinaryOperator);){const n=t[r];++r;const s=E();e=new xt(n,e,s)}return e}function E(){let t=function(){let t=d();for(;o(X.Pipe);){++r;let e=x();if(!(e instanceof pt))throw new SyntaxError("Expected identifier for the filter");o(X.OpenParen)&&(e=m(e)),t=new vt(t,e)}return t}();for(;o(X.Is);){++r;const e=o(X.Not);e&&++r;let n=x();if(n instanceof yt&&(n=new pt(n.value.toString())),!(n instanceof pt))throw new SyntaxError("Expected identifier for the test");t=new $t(t,e,n)}return t}function x(){const e=t[r];switch(e.type){case X.NumericLiteral:return++r,new dt(Number(e.value));case X.StringLiteral:return++r,new mt(e.value);case X.BooleanLiteral:return++r,new yt("true"===e.value.toLowerCase());case X.Identifier:return++r,new pt(e.value);case X.OpenParen:{++r;const e=u();if(t[r].type!==X.CloseParen)throw new SyntaxError(`Expected closing parenthesis, got ${t[r].type} instead`);return++r,e}case X.OpenSquareBracket:{++r;const t=[];for(;!o(X.CloseSquareBracket);)t.push(l()),o(X.Comma)&&++r;return++r,new bt(t)}case X.OpenCurlyBracket:{++r;const t=new Map;for(;!o(X.CloseCurlyBracket);){const e=l();n(X.Colon,"Expected colon between key and value in object literal");const s=l();t.set(e,s),o(X.Comma)&&++r}return++r,new Et(t)}default:throw new SyntaxError(`Unexpected token: ${e.type}`)}}for(;r<t.length;)e.body.push(s());return e}function Ft(t,e,r=1){void 0===e&&(e=t,t=0);const n=[];for(let s=t;s<e;s+=r)n.push(s);return n}function Ot(t,e,r,n=1){const s=Math.sign(n);s>=0?(e=(e??=0)<0?Math.max(t.length+e,0):Math.min(e,t.length),r=(r??=t.length)<0?Math.max(t.length+r,0):Math.min(r,t.length)):(e=(e??=t.length-1)<0?Math.max(t.length+e,-1):Math.min(e,t.length-1),r=(r??=-1)<-1?Math.max(t.length+r,-1):Math.min(r,t.length-1));const i=[];for(let o=e;s*o<s*r;o+=n)i.push(t[o]);return i}function jt(t){return t.replace(/\b\w/g,(t=>t.toUpperCase()))}var Nt=class{constructor(t=void 0){this.type="RuntimeValue",this.builtins=new Map,this.value=t}__bool__(){return new Mt(!!this.value)}toString(){return""+this.value}toJSON(){return this.value}},It=class extends Nt{constructor(){super(...arguments),this.type="NumericValue"}},Rt=class t extends Nt{constructor(){super(...arguments),this.type="StringValue",this.builtins=new Map([["upper",new Ut((()=>new t(this.value.toUpperCase())))],["lower",new Ut((()=>new t(this.value.toLowerCase())))],["strip",new Ut((()=>new t(this.value.trim())))],["title",new Ut((()=>new t(jt(this.value))))],["length",new It(this.value.length)],["rstrip",new Ut((()=>new t(this.value.trimEnd())))],["lstrip",new Ut((()=>new t(this.value.trimStart())))]])}},Mt=class extends Nt{constructor(){super(...arguments),this.type="BooleanValue"}},Pt=class extends Nt{constructor(t,e){super(t),this.orgValue=e,this.type="ObjectValue",this.builtins=new Map([["get",new Ut((([t,e])=>{if(!(t instanceof Rt))throw new Error(`Object key must be a string: got ${t.type}`);return this.value.get(t.value)??e??new Lt}))],["items",new Ut((()=>new qt(Array.from(this.value.entries()).map((([t,e])=>new qt([new Rt(t),e]))))))]])}toString(){let t;return t=this.orgValue&&this.orgValue.toString!==Object.prototype.toString?this.orgValue.toString():JSON.stringify(Object.fromEntries(this.value.entries())),t}toJSON(){return this.orgValue?this.orgValue:Object.fromEntries(this.value.entries())}__bool__(){return new Mt(this.value.size>0)}},Vt=class extends Pt{constructor(){super(...arguments),this.type="KeywordArgumentsValue"}},qt=class extends Nt{constructor(){super(...arguments),this.type="ArrayValue",this.builtins=new Map([["length",new It(this.value.length)]])}__bool__(){return new Mt(this.value.length>0)}},Bt=class extends qt{constructor(){super(...arguments),this.type="TupleValue"}},Ut=class extends Nt{constructor(){super(...arguments),this.type="FunctionValue"}},Lt=class extends Nt{constructor(){super(...arguments),this.type="NullValue"}},_t=class extends Nt{constructor(){super(...arguments),this.type="UndefinedValue"}},zt=class{constructor(t){this.parent=t,this.variables=new Map([["namespace",new Ut((t=>{if(0===t.length)return new Pt(new Map);if(1!==t.length||!(t[0]instanceof Pt))throw new Error("`namespace` expects either zero arguments or a single object argument");return t[0]}))]]),this.tests=new Map([["boolean",t=>"BooleanValue"===t.type],["callable",t=>t instanceof Ut],["odd",t=>{if("NumericValue"!==t.type)throw new Error(`Cannot apply test "odd" to type: ${t.type}`);return t.value%2!=0}],["even",t=>{if("NumericValue"!==t.type)throw new Error(`Cannot apply test "even" to type: ${t.type}`);return t.value%2==0}],["false",t=>"BooleanValue"===t.type&&!t.value],["true",t=>"BooleanValue"===t.type&&t.value],["string",t=>"StringValue"===t.type],["number",t=>"NumericValue"===t.type],["integer",t=>"NumericValue"===t.type&&Number.isInteger(t.value)],["iterable",t=>t instanceof qt||t instanceof Rt],["lower",t=>{const e=t.value;return"StringValue"===t.type&&e===e.toLowerCase()}],["upper",t=>{const e=t.value;return"StringValue"===t.type&&e===e.toUpperCase()}],["none",t=>"NullValue"===t.type],["defined",t=>"UndefinedValue"!==t.type],["undefined",t=>"UndefinedValue"===t.type],["equalto",(t,e)=>t.value===e.value],["eq",(t,e)=>t.value===e.value]])}set(t,e){return this.declareVariable(t,Jt(e))}declareVariable(t,e){if(this.variables.has(t))throw new SyntaxError(`Variable already declared: ${t}`);return this.variables.set(t,e),e}setVariable(t,e){return this.variables.set(t,e),e}resolve(t){if(this.variables.has(t))return this;if(this.parent)return this.parent.resolve(t);throw new Error(`Unknown variable: ${t}`)}lookupVariable(t){try{return this.resolve(t).variables.get(t)??new _t}catch{return new _t}}},Dt=class{constructor(t){this.global=t??new zt}run(t){return this.evaluate(t,this.global)}evaluateBinaryExpression(t,e){const r=this.evaluate(t.left,e);switch(t.operator.value){case"and":return r.__bool__().value?this.evaluate(t.right,e):r;case"or":return r.__bool__().value?r:this.evaluate(t.right,e)}const n=this.evaluate(t.right,e);switch(t.operator.value){case"==":return new Mt(r.value==n.value);case"!=":return new Mt(r.value!=n.value)}if(r instanceof _t||n instanceof _t)throw new Error("Cannot perform operation on undefined values");if(r instanceof Lt||n instanceof Lt)throw new Error("Cannot perform operation on null values");if(r instanceof It&&n instanceof It)switch(t.operator.value){case"+":return new It(r.value+n.value);case"-":return new It(r.value-n.value);case"*":return new It(r.value*n.value);case"/":return new It(r.value/n.value);case"%":return new It(r.value%n.value);case"<":return new Mt(r.value<n.value);case">":return new Mt(r.value>n.value);case">=":return new Mt(r.value>=n.value);case"<=":return new Mt(r.value<=n.value)}else if(r instanceof qt&&n instanceof qt){if("+"===t.operator.value)return new qt(r.value.concat(n.value))}else if(n instanceof qt){const e=void 0!==n.value.find((t=>t.value===r.value));switch(t.operator.value){case"in":return new Mt(e);case"not in":return new Mt(!e)}}if((r instanceof Rt||n instanceof Rt)&&"+"===t.operator.value)return new Rt(r.toString()+n.toString());if(r instanceof Rt&&n instanceof Rt)switch(t.operator.value){case"in":return new Mt(n.value.includes(r.value));case"not in":return new Mt(!n.value.includes(r.value))}if(r instanceof Rt&&n instanceof Pt)switch(t.operator.value){case"in":return new Mt(n.value.has(r.value));case"not in":return new Mt(!n.value.has(r.value))}throw new SyntaxError(`Unknown operator "${t.operator.value}" between ${r.type} and ${n.type}`)}evaluateArguments(t,e){const r=[],n=new Map;for(const s of t)if("KeywordArgumentExpression"===s.type){const t=s;n.set(t.key.value,this.evaluate(t.value,e))}else{if(n.size>0)throw new Error("Positional arguments must come before keyword arguments");r.push(this.evaluate(s,e))}return[r,n]}evaluateFilterExpression(t,e){const r=this.evaluate(t.operand,e);if("Identifier"===t.filter.type){const n=t.filter,s=e.lookupVariable(n.value);if(s instanceof Ut)return s.value([r],e);if(r instanceof qt)switch(n.value){case"list":return r;case"first":return r.value[0];case"last":return r.value[r.value.length-1];case"length":return new It(r.value.length);case"reverse":return new qt(r.value.reverse());case"sort":return new qt(r.value.sort(((t,e)=>{if(t.type!==e.type)throw new Error(`Cannot compare different types: ${t.type} and ${e.type}`);switch(t.type){case"NumericValue":return t.value-e.value;case"StringValue":return t.value.localeCompare(e.value);default:throw new Error(`Cannot compare type: ${t.type}`)}})));default:throw new Error(`Unknown ArrayValue filter: ${n.value}`)}else if(r instanceof Rt)switch(n.value){case"length":return new It(r.value.length);case"upper":return new Rt(r.value.toUpperCase());case"lower":return new Rt(r.value.toLowerCase());case"title":return new Rt(jt(r.value));case"capitalize":return new Rt(r.value.charAt(0).toUpperCase()+r.value.slice(1));case"trim":return new Rt(r.value.trim());case"trimStart":return new Rt(r.value.trimStart());case"trimEnd":return new Rt(r.value.trimEnd());case"indent":return new Rt(r.value.split("\n").map(((t,e)=>0===e||0===t.length?t:" "+t)).join("\n"));case"string":return r;default:throw new Error(`Unknown StringValue filter: ${n.value}`)}else{if(r instanceof It){if("abs"===n.value)return new It(Math.abs(r.value));throw new Error(`Unknown NumericValue filter: ${n.value}`)}if(r instanceof Pt)switch(n.value){case"items":return new qt(Array.from(r.value.entries()).map((([t,e])=>new qt([new Rt(t),e]))));case"length":return new It(r.value.size);case"string":return new Rt(r.toString());default:throw new Error(`Unknown ObjectValue filter: ${n.value}`)}}throw new Error(`Cannot apply filter "${n.value}" to type: ${r.type}`)}if("CallExpression"===t.filter.type){const n=t.filter;if("Identifier"!==n.callee.type)throw new Error(`Unknown filter: ${n.callee.type}`);const s=n.callee.value,i=e.lookupVariable(s);if(i instanceof Ut){const[t,s]=this.evaluateArguments(n.args,e);return s.size>0&&t.push(new Vt(s)),i.value([r,...t],e)}if(r instanceof qt){switch(s){case"selectattr":{if(r.value.some((t=>!(t instanceof Pt))))throw new Error("`selectattr` can only be applied to array of objects");if(n.args.some((t=>"StringLiteral"!==t.type)))throw new Error("arguments of `selectattr` must be strings");const[t,s,i]=n.args.map((t=>this.evaluate(t,e)));let o;if(s){const t=e.tests.get(s.value);if(!t)throw new Error(`Unknown test: ${s.value}`);o=t}else o=(...t)=>t[0].__bool__().value;const a=r.value.filter((e=>{const r=e.value.get(t.value);return!!r&&o(r,i)}));return new qt(a)}case"map":{const[,t]=this.evaluateArguments(n.args,e);if(t.has("attribute")){const e=t.get("attribute");if(!(e instanceof Rt))throw new Error("attribute must be a string");const n=t.get("default"),s=r.value.map((t=>{if(!(t instanceof Pt))throw new Error("items in map must be an object");return t.value.get(e.value)??n??new _t}));return new qt(s)}throw new Error("`map` expressions without `attribute` set are not currently supported.")}}throw new Error(`Unknown ArrayValue filter: ${s}`)}if(r instanceof Rt){if("indent"===s){const[t,s]=this.evaluateArguments(n.args,e),i=t.at(0)??s.get("width")??new It(4);if(!(i instanceof It))throw new Error("width must be a number");const o=t.at(1)??s.get("first")??new Mt(!1),a=t.at(2)??s.get("blank")??new Mt(!1),c=r.value.split("\n"),u=" ".repeat(i.value),l=c.map(((t,e)=>!o.value&&0===e||!a.value&&0===t.length?t:u+t));return new Rt(l.join("\n"))}throw new Error(`Unknown StringValue filter: ${s}`)}throw new Error(`Cannot apply filter "${s}" to type: ${r.type}`)}throw new Error(`Unknown filter: ${t.filter.type}`)}evaluateTestExpression(t,e){const r=this.evaluate(t.operand,e),n=e.tests.get(t.test.value);if(!n)throw new Error(`Unknown test: ${t.test.value}`);const s=n(r);return new Mt(t.negate?!s:s)}evaluateUnaryExpression(t,e){const r=this.evaluate(t.argument,e);if("not"===t.operator.value)return new Mt(!r.value);throw new SyntaxError(`Unknown operator: ${t.operator.value}`)}evalProgram(t,e){return this.evaluateBlock(t.body,e)}evaluateBlock(t,e){let r="";for(const n of t){const t=this.evaluate(n,e);"NullValue"!==t.type&&"UndefinedValue"!==t.type&&(r+=t)}return new Rt(r)}evaluateIdentifier(t,e){return e.lookupVariable(t.value)}evaluateCallExpression(t,e){const[r,n]=this.evaluateArguments(t.args,e);n.size>0&&r.push(new Vt(n));const s=this.evaluate(t.callee,e);if("FunctionValue"!==s.type)throw new Error(`Cannot call something that is not a function: got ${s.type}`);return s.value(r,e)}evaluateSliceExpression(t,e,r){if(!(t instanceof qt||t instanceof Rt))throw new Error("Slice object must be an array or string");const n=this.evaluate(e.start,r),s=this.evaluate(e.stop,r),i=this.evaluate(e.step,r);if(!(n instanceof It||n instanceof _t))throw new Error("Slice start must be numeric or undefined");if(!(s instanceof It||s instanceof _t))throw new Error("Slice stop must be numeric or undefined");if(!(i instanceof It||i instanceof _t))throw new Error("Slice step must be numeric or undefined");return t instanceof qt?new qt(Ot(t.value,n.value,s.value,i.value)):new Rt(Ot(Array.from(t.value),n.value,s.value,i.value).join(""))}evaluateMemberExpression(t,e){const r=this.evaluate(t.object,e);let n,s;if(t.computed){if("SliceExpression"===t.property.type)return this.evaluateSliceExpression(r,t.property,e);n=this.evaluate(t.property,e)}else n=new Rt(t.property.value);if(r instanceof Pt){if(!(n instanceof Rt))throw new Error(`Cannot access property with non-string: got ${n.type}`);s=r.value.get(n.value)??r.builtins.get(n.value)}else if(r instanceof qt||r instanceof Rt)if(n instanceof It)s=r.value.at(n.value),r instanceof Rt&&(s=new Rt(r.value.at(n.value)));else{if(!(n instanceof Rt))throw new Error(`Cannot access property with non-string/non-number: got ${n.type}`);s=r.builtins.get(n.value)}else{if(!(n instanceof Rt))throw new Error(`Cannot access property with non-string: got ${n.type}`);s=r.builtins.get(n.value)}return s instanceof Nt?s:new _t}evaluateSet(t,e){const r=this.evaluate(t.value,e);if("Identifier"===t.assignee.type){const n=t.assignee.value;e.setVariable(n,r)}else{if("MemberExpression"!==t.assignee.type)throw new Error(`Invalid LHS inside assignment expression: ${JSON.stringify(t.assignee)}`);{const n=t.assignee,s=this.evaluate(n.object,e);if(!(s instanceof Pt))throw new Error("Cannot assign to member of non-object");if("Identifier"!==n.property.type)throw new Error("Cannot assign to member with non-identifier property");s.value.set(n.property.value,r)}}return new Lt}evaluateIf(t,e){const r=this.evaluate(t.test,e);return this.evaluateBlock(r.__bool__().value?t.body:t.alternate,e)}evaluateFor(t,e){const r=new zt(e);let n,s;if("SelectExpression"===t.iterable.type){const e=t.iterable;s=this.evaluate(e.iterable,r),n=e.test}else s=this.evaluate(t.iterable,r);if(!(s instanceof qt))throw new Error(`Expected iterable type in for loop: got ${s.type}`);const i=[],o=[];for(let e=0;e<s.value.length;++e){const a=new zt(r),c=s.value[e];let u;if("Identifier"===t.loopvar.type)u=e=>e.setVariable(t.loopvar.value,c);else{if("TupleLiteral"!==t.loopvar.type)throw new Error(`Invalid loop variable(s): ${t.loopvar.type}`);{const e=t.loopvar;if("ArrayValue"!==c.type)throw new Error(`Cannot unpack non-iterable type: ${c.type}`);const r=c;if(e.value.length!==r.value.length)throw new Error(`Too ${e.value.length>r.value.length?"few":"many"} items to unpack`);u=t=>{for(let n=0;n<e.value.length;++n){if("Identifier"!==e.value[n].type)throw new Error(`Cannot unpack non-identifier type: ${e.value[n].type}`);t.setVariable(e.value[n].value,r.value[n])}}}}if(n){u(a);if(!this.evaluate(n,a).__bool__().value)continue}i.push(c),o.push(u)}let a="",c=!0;for(let e=0;e<i.length;++e){const n=new Map([["index",new It(e+1)],["index0",new It(e)],["revindex",new It(i.length-e)],["revindex0",new It(i.length-e-1)],["first",new Mt(0===e)],["last",new Mt(e===i.length-1)],["length",new It(i.length)],["previtem",e>0?i[e-1]:new _t],["nextitem",e<i.length-1?i[e+1]:new _t]]);r.setVariable("loop",new Pt(n)),o[e](r);a+=this.evaluateBlock(t.body,r).value,c=!1}if(c){a+=this.evaluateBlock(t.defaultBlock,r).value}return new Rt(a)}evaluateMacro(t,e){return e.setVariable(t.name.value,new Ut(((e,r)=>{const n=new zt(r);let s;e=e.slice(),"KeywordArgumentsValue"===e.at(-1)?.type&&(s=e.pop());for(let r=0;r<t.args.length;++r){const i=t.args[r],o=e[r];if("Identifier"===i.type){const t=i;if(!o)throw new Error(`Missing positional argument: ${t.value}`);n.setVariable(t.value,o)}else{if("KeywordArgumentExpression"!==i.type)throw new Error(`Unknown argument type: ${i.type}`);{const t=i,e=o??s?.value.get(t.key.value)??this.evaluate(t.value,n);n.setVariable(t.key.value,e)}}}return this.evaluateBlock(t.body,n)}))),new Lt}evaluate(t,e){if(void 0===t)return new _t;switch(t.type){case"Program":return this.evalProgram(t,e);case"Set":return this.evaluateSet(t,e);case"If":return this.evaluateIf(t,e);case"For":return this.evaluateFor(t,e);case"Macro":return this.evaluateMacro(t,e);case"NumericLiteral":return new It(Number(t.value));case"StringLiteral":return new Rt(t.value);case"BooleanLiteral":return new Mt(t.value);case"ArrayLiteral":return new qt(t.value.map((t=>this.evaluate(t,e))));case"TupleLiteral":return new Bt(t.value.map((t=>this.evaluate(t,e))));case"ObjectLiteral":{const r=new Map;for(const[n,s]of t.value){const t=this.evaluate(n,e);if(!(t instanceof Rt))throw new Error(`Object keys must be strings: got ${t.type}`);r.set(t.value,this.evaluate(s,e))}return new Pt(r,t.value)}case"Identifier":return this.evaluateIdentifier(t,e);case"CallExpression":return this.evaluateCallExpression(t,e);case"MemberExpression":return this.evaluateMemberExpression(t,e);case"UnaryExpression":return this.evaluateUnaryExpression(t,e);case"BinaryExpression":return this.evaluateBinaryExpression(t,e);case"FilterExpression":return this.evaluateFilterExpression(t,e);case"TestExpression":return this.evaluateTestExpression(t,e);default:throw new SyntaxError(`Unknown node type: ${t.type}`)}}};function Jt(t){switch(typeof t){case"number":return new It(t);case"string":return new Rt(t);case"boolean":return new Mt(t);case"undefined":return new _t;case"object":return null===t?new Lt:Array.isArray(t)?new qt(t.map(Jt)):new Pt(new Map(Object.entries(t).map((([t,e])=>[t,Jt(e)]))),t);case"function":return new Ut(((e,r)=>{const n=e.map((t=>Wt(t)));return Jt(t(...n)??null)}));default:throw new Error(`Cannot convert to runtime value: ${t}`)}}function Wt(t){let e=t;if(Array.isArray(t))e=t.map((t=>Wt(t)));else if(t instanceof Map)e={},t.forEach(((t,r)=>{e[r]=Wt(t)}));else switch(t.type){case"NullValue":e=null;break;case"UndefinedValue":e=void 0;break;case"ArrayValue":e=t.value.map((t=>Wt(t)));break;case"KeywordArgumentsValue":case"ObjectValue":e=t.orgValue?t.orgValue:Wt(t.value),"KeywordArgumentsValue"===t.type&&Object.setPrototypeOf(e,{jinja_kargs:!0});break;default:t.type&&(e=t.value)}return e}function Ht(t,e=0){return Math.floor(Math.random()*(t-e+1))+e}var Kt={randomInt:Ht,select:function(t,e){if(Array.isArray(t)||"string"==typeof t)return void 0===e?e=Ht(t.length-1):"string"==typeof e&&(e=parseInt(e)),e<0&&(e=t.length+e),t[e];if(t&&"object"==typeof t){if(void 0===e){const r=Object.keys(t);e=r[Ht(r.length-1)]}return t[e]}},tojson:function(t,e,r){return e&&"object"==typeof e&&(e.depth&&(r=e.depth),e=e.indent),Gt(t,e,r)}};function Gt(t,e,r){let n="";const s=r??0;if(null===t)n="null";else{const r=typeof t;switch(r){case"undefined":n="null";case"number":case"string":case"boolean":return JSON.stringify(t);case"object":{const r=e?" ".repeat(e):"",n="\n"+r.repeat(s),i=n+r;if(Array.isArray(t)){const r=t.map((t=>Gt(t,e,s+1)));return e?`[${i}${r.join(`,${i}`)}${n}]`:`[${r.join(", ")}]`}{const r=Array.from(Object.entries(t)).map((([t,r])=>{const n=`"${t}": ${Gt(r,e,s+1)}`;return e?`${i}${n}`:n}));return e?`{${r.join(",")}${n}}`:`{${r.join(", ")}}`}}default:throw new Error(`Cannot convert to JSON: ${r}`)}}return n}var Xt=class extends zt{constructor(t){super(t),this.parent=t}assign(t){for(const[e,r]of Object.entries(t))this.set(e,r)}clear(){this.variables.clear()}},Yt=class t{static{this.global=new Xt}constructor(t,e={}){const r=nt(t,e={lstrip_blocks:!0,trim_blocks:!0,...e});this.parsed=Ct(r)}render(e){const r=new zt(t.global);r.set("false",!1),r.set("true",!0),r.set("raise_exception",(t=>{throw new Error(t)})),r.set("range",Ft);for(const[t,n]of Object.entries(e))r.set(t,n);return new Dt(r).run(this.parsed).toString()}};function Zt(t,e){let r;switch(t.type){case"Identifier":r=t.value;break;case"MemberExpression":r=Zt(t.object,e);break;case"FilterExpression":r=Zt(t.operand,e);break;case"Set":{e||(e=[]);const n=Zt(t.assignee);n&&e.push(n),r=Zt(t.value,e);break}}return r&&e?.includes(r)&&(r=void 0),r}function Qt(t){let e;if("Program"===t.type)e=t.body.some((t=>Qt(t)));else e=t.isStatement;return e}function te(t,e){let r=[];if(Array.isArray(t))r=t.map((t=>te(t,e))).filter(Boolean).flat();else switch(t.type){case"Program":r=t.body.map((t=>te(t,e))).filter(Boolean).flat();break;case"If":r=[Zt(t.test,e),...te(t.body,e),...te(t.alternate,e)].filter(Boolean);break;case"BinaryExpression":r=[Zt(t.left,e),Zt(t.right,e)].filter(Boolean);break;case"For":{const n=Zt(t.loopvar);n&&(e||(e=[]),e.push(n)),r=[Zt(t.iterable,e),...te(t.body,e)].filter(Boolean);break}case"CallExpression":r=[Zt(t.callee,e),...te(t.args,e)].filter(Boolean);break;default:r=[Zt(t,e)].filter(Boolean)}return r}Yt.global.assign(Kt);var ee=class extends W{static isTemplate(t){let e,r,n=!1;if("object"==typeof t?(r=t.template,e=t.compiledTemplate):r=t,!e&&r)try{e=new Yt(r)}catch(t){}return e&&(n=Qt(e.parsed)),n}getVariables(t=this.compiledTemplate){return te(t.parsed,[]).filter(((t,e,r)=>r.indexOf(t)===e))}_initialize(t){const e=t?.template;if("string"!=typeof e)throw new k("Prompt template must be a string","PromptTemplate",400);this.compiledTemplate=new Yt(e),this.inputVariables=Array.isArray(t?.inputVariables)?t.inputVariables:this.getVariables()}_format(t){return this.compiledTemplate.render(t)}};function re(t){return function(e){return t}}function ne(t){const e=t.split(""),r=[],n=(t,r)=>{for(let n=r;n<e.length;n+=1)if(t.includes(e[n]))return n;return-1};let s=0;for(;s<e.length;)if("{"===e[s]&&s+1<e.length&&"{"===e[s+1])r.push({type:"literal",text:"{"}),s+=2;else if("}"===e[s]&&s+1<e.length&&"}"===e[s+1])r.push({type:"literal",text:"}"}),s+=2;else if("{"===e[s]){const t=n("}",s);if(t<0)throw new Error("Unclosed '{' in template.");r.push({type:"variable",name:e.slice(s+1,t).join("")}),s=t+1}else{if("}"===e[s])throw new Error("Single '}' in template.");{const t=n("{}",s),i=(t<0?e.slice(s):e.slice(s,t)).join("");r.push({type:"literal",text:i}),s=t<0?e.length:t}}return r}function se(t,e){return t.reduce(((t,r)=>{let n;return n="variable"===r.type?r.name in e?t+e[r.name]:t:t+r.text,n}),"")}function ie(t){const e=new Set;return t.forEach((t=>{"variable"===t.type&&e.add(t.name)})),[...e]}W.register(ee,{name:"hf",aliases:["huggingface","internal","default"]});var oe=class extends W{static isTemplate(t){let e,r,n=!1;if("object"==typeof t?(r=t.template,e=t.compiledTemplate):r=t,!e&&r)try{e=ne(r)}catch(t){}if(e){n=ie(e).length>0}return n}getVariables(t=this.compiledTemplate){return ie(t)}_initialize(t){const e=t?.template;if("string"!=typeof e)throw new k("Prompt template must be a string","PromptTemplate",400);this.compiledTemplate=ne(e),this.inputVariables=Array.isArray(t?.inputVariables)?t.inputVariables:this.getVariables()}_format(t){return se(this.compiledTemplate,t)}};function ae(t,e){return"string"==typeof e&&(e=e.split(".").filter((t=>t.length))),e.reduce(((t,e)=>t?.[e]),t)}function ce(t,e,r){let n=function(t,e,r){return t.replace(/{{\s*re_replace\s+\.(.+?)\s+(["'])([^\2]*?)\2\s+(["'])([^\4]*?)\4\s*}}/g,((t,n,s,i,o,a)=>{if(r)return e[n]=null,t;const c=new RegExp(i,"g");return ae(e,n).replace(c,a)}))}(t,e,r);return n=function(t,e,r){return t.replace(/{{\s*join\s+\.(.+?)\s+(["'])([^\2]*?)\2\s*}}/g,((t,n,s,i)=>r?(e[n]=null,t):ae(e,n).join(i)))}(n,e,r),n=function(t,e,r){return t.replace(/{{\s*if\s*(\S+?)\s*}}([^{]*)({{\s*else\s*}}([^{]*))?{{\s*end\s*}}/g,((t,n,s,i,o)=>{if(r)return n.startsWith(".")&&(n=n.substring(1)),e[n]=null,t;let a;if(!n.startsWith("."))throw new Error("Functionality not implemented");{const t=ae(e,n.substring(1));if(null==t)a=o??"";else if("string"==typeof t)a=t.length>0?s:o??"";else if(Array.isArray(t))a=t.length>0?s:o??"";else{if("boolean"!=typeof t)throw new Error(`Unexpected type for variable ${n}: ${typeof t}`);a=t?s:o??""}}return a}))}(n,e,r),n=function(t,e,r){return t.replace(/{{\s*range\s*[.$]([^{}\s]+?)\s*}}([^{]*?){{\.}}([^{]*?){{\s*end\s*}}/g,((t,n,s,i)=>{if(r)return e[n]=null,t;const o=ae(e,n);if(Array.isArray(o)){let t="";for(const e of o)t+=`${s}${e}${i}`;return t}return t}))}(n,e,r),n=function(t,e,r){return t.replace(/{{\s*\.([^{}\s]+?)\s*}}/g,((t,n)=>r?(e[n]=null,t):ae(e,n)||""))}(n,e,r),n=function(t,e,r){return t.replace(/{{\s*index\s*\.(.+?)\s+(.+?)\s*}}/g,((t,n,s)=>{if(r)return e[n]=null,t;const i=ae(e,n);let o;return o=isNaN(s)?i[s.substring(1,s.length-1)]:i[parseInt(s,10)],o||""}))}(n,e,r),n}W.register(oe,{name:"fstring",aliases:["python","f-string","langchain"]});var ue=class extends W{static isTemplate(t){const e="string"==typeof t?t:t.template;return e?.includes("{{")&&e.includes("}}")}getVariables(t){const e={};return ce(t,e,!0),[...Object.keys(e)]}_initialize(t){const e=t?.template;if("string"!=typeof e)throw new k("Prompt template must be a string","PromptTemplate",400);this.inputVariables=Array.isArray(t?.inputVariables)?t.inputVariables:this.getVariables(e)}_format(t){return ce(this.template,t)}};function le(t){return Object.keys(t).sort().map((e=>t[e]))}W.register(ue,{name:"golang",aliases:["localai","ollama"]});var he=class extends W{static from(t){return new this(t)}constructor(t){super(t)}_initialize(t){t&&(t.suffix&&(this.suffix=t.suffix),t.exampleSeparator&&(this.exampleSeparator=t.exampleSeparator),t.prefix&&(this.prefix=t.prefix),t.examplePrompt&&(this.examplePrompt=t.examplePrompt instanceof W?t.examplePrompt:W.from(t.examplePrompt)),t.examples&&(this.examples=t.examples)),this.prefix||(this.prefix=""),this.exampleSeparator||(this.exampleSeparator="\n\n"),this.suffix||(this.suffix="")}async _format(t){const e=[];for await(const t of this.examples)if(this.examplePrompt){const r=await this.examplePrompt.format(t);e.push(r)}else if("string"==typeof t)e.push(t);else if(t){const r=le(t);r.length>0&&e.push(...r)}const r=[this.prefix,...e,this.suffix].join(this.exampleSeparator),n=this.templateFormat;return await W.format({template:r,data:t,templateFormat:n})}toJSON(t=this){const e=super.toJSON(t);return t.suffix&&(e.suffix=t.suffix),t.exampleSeparator&&(e.exampleSeparator=t.exampleSeparator),t.prefix&&(e.prefix=t.prefix),t.examplePrompt&&(e.examplePrompt=t.examplePrompt),t.examples&&(e.examples=t.examples),e}};W.register(he,{name:"fewshot",aliases:["few_shot"]});var fe=/(\\)?(\$)(?!\()(\{?)([\w.]+)(?::?-((?:\$\{(?:\$\{(?:\$\{[^}]*\}|[^}])*}|[^}])*}|[^}])+))?(\}?)/gi;function pe(t){return t.replace(/\\\$/g,"$")}function we(t,e,r){return t.replace(fe,((n,s,i,o,a,c,u)=>"\\"===s?n.slice(1):e[a]?e[a]===r[a]?e[a]:we(e[a],e,r):r[a]?r[a]===t?r[a]:we(r[a],e,r):c?c.startsWith("$")?we(c,e,r):c:""))}function de(t){let e=process.env;t&&null!=t.processEnv&&(e=t.processEnv);for(const r in t.parsed){let n=t.parsed[r];if(!n)continue;n=Object.prototype.hasOwnProperty.call(e,r)?e[r]===t.parsed[r]?we(n,e,t.parsed):e[r]:we(n,e,t.parsed),t.parsed[r]=n?pe(n):n}for(const r in t.parsed)e[r]=t.parsed[r];return t}function me(t,e={},r){switch(r||(r=new WeakSet),e.processEnv||(e.processEnv={...process.env}),e.parsed||(e.parsed=e.processEnv),typeof t){case"string":t=we(t,e.processEnv,e.parsed);break;case"object":if(r.has(t))return t;if(r.add(t),Array.isArray(t))for(let n=0;n<t.length;n++){const s=t[n];"string"!=typeof s&&"object"!=typeof s||(t[n]=me(t[n],e,r))}else for(const[n,s]of Object.entries(t))"string"!=typeof s&&"object"!=typeof s||(t[n]=me(s,e,r))}return t}var ye="@",be=/(\S.+?[.!?])(?=\s+|$)|(\S.+?)(?=[\n]|$)/g,ge=/([A-Z][a-z]{1,2}\.)\s(\w)/g,Ee=/(\.[a-zA-Z]\.)\s(\w)/g,xe=new RegExp("([A-Z][a-z]{1,2}\\.)"+ye+"(\\w)","g"),ve=new RegExp("(\\.[a-zA-Z]\\.)"+ye+"(\\w)","g");function Se(t,e,r){const n="$1"+e+"$2";let s=t;for(let t=0;t<r.length;t++)s=s.replace(r[t],n);return s}function $e(t,e=!0){const r=(t=(t=(t=(t=(t=t.replace(/([。!??])\1+/g,"$1")).replace(/([。!??])([^”’])/g,"$1\n$2")).replace(/(\.{6})([^”’])/g,"$1\n$2")).replace(/(…{2})([^”’])/g,"$1\n$2")).replace(/([。!??][”’])([^,。!??])/g,"$1\n$2")).split("\n");let n=[];for(let t=0;t<r.length;t++){let s=r[t].trim();if(!s)continue;if(!e){n.push(s);continue}let i=Se(s,ye,[ge,Ee]),o=Array.from(i.matchAll(be));if(o.length)for(let t=0;t<o.length;t++){let e=Se(o[t][0]," ",[xe,ve]);n.push(e)}else n.push(s)}return n}function ke(t,e=2,r=.5){const n=10**e;return Math.trunc((t+Number.EPSILON+r/n)*n)/n}async function Te(t){return new Promise((e=>setTimeout(e,t)))}var Ae=require("custom-ability"),Ce="event",Fe="event-bus";var Oe=(0,Ae.createAbilityInjector)((function(t){return class{static get emitter(){if(!this._emitter){const t=this.get(Fe)?.emitter;t&&(this._emitter=t,this.prototype._events=t._events)}return this._emitter}get emitter(){return this.constructor._emitter}on(e,r){const n=t.emitter;if(!n)throw new TypeError("EventBackend required");return n.on(e,r)}once(e,r){const n=t.emitter;if(!n)throw new TypeError("EventBackend required");return n.once(e,r)}off(e,r){const n=t.emitter;if(!n)throw new TypeError("EventBackend required");return n.off(e,r)}emit(e,...r){const n=t.emitter;if(!n)throw new TypeError("EventBackend required");return"error"===e?this.emitError.apply(this,r):n.emit.call(this,e,this.name,...r)}emitError(e,...r){const n=t.emitter;if(!n)throw new TypeError("EventBackend required");return n.emit.call(this,"error",e,this.name,...r)}async emitAsync(e,...r){const n=t.emitter;if(!n)throw new TypeError("EventBackend required");return n.emitAsync.call(this,e,this.name,...r)}}}),!0);function je(t,e){return!t||t.some((t=>t instanceof RegExp?t.test(e):t===e))}var Ne=498,Ie=class{get active(){return this._active}set active(t){t!==this._active&&(t?(this.pingTimer&&(clearInterval(this.pingTimer),this.pingTimer=void 0),this.options.pingInterval>0&&(this.pingTimer=setInterval((()=>this.publish()),this.options.pingInterval))):(this.clients.size&&this.clearClients(),this.pingTimer&&(clearInterval(this.pingTimer),this.pingTimer=void 0)),this._active=t)}constructor(t){this.options=Object.assign({},{pingInterval:3e3,maxStreamDuration:3e4,clientRetryInterval:1e3,startId:1,historySize:100,rewind:0,cors:!1},t),this.nextID=this.options.startId,this.clients=new Set,this.messages=[],this.active=!0}publish(t,e){let r,n;this.active||j("Channel closed","SSEChannel",Ne);let s=e;if(t||e)n=this.nextID++,"object"==typeof t&&(t.event?(s=t.event,void 0!==t.data&&(t=JSON.stringify(t.data))):t=JSON.stringify(t)),t=t?t.split(/[\r\n]+/).map((t=>"data: "+t)).join("\n"):"",r="id: "+n+"\n"+(e?"event: "+e+"\n":"")+(t||"data: ")+"\n\n",this.messages.push({id:n,_eventName:s,output:r});else{if(!this.clients.size)return;r="data: \n\n"}for([...this.clients].filter((t=>!s||je(t.events,s))).forEach(((t,e)=>{t.res.write(r)}));this.messages.length>this.options.historySize;)this.messages.shift();return n}subscribe(t,e,r){this.active||j("Channel closed","SSEChannel",Ne);const n={req:t,res:e,events:r},s=this.options.maxStreamDuration;let i="max-age=0, stale-while-revalidate=0, stale-if-error=0, no-transform";s>0&&(i+=", s-maxage="+(Math.floor(s/1e3)-1));const o={"Content-Type":"text/event-stream","Cache-Control":i,Connection:"keep-alive"};this.options.cors&&(o["access-control-allow-origin"]="*"),n.req.socket.setNoDelay(!0),n.res.writeHead(200,o);let a="retry: "+this.options.clientRetryInterval+"\n\n";const c=Number.parseInt(t.headers["last-event-id"],10),u=Number.isNaN(c)?this.options.rewind:this.nextID-1-c;return u&&this.messages.filter((t=>je(n.events,t.eventName))).slice(0-u).forEach((t=>{a+=t.output})),n.res.write(a),this.clients.add(n),s>0&&setTimeout((()=>{n.res.writableEnded||this.unsubscribe(n)}),s),n.res.on("close",(()=>this.unsubscribe(n))),n}unsubscribe(t){t.res.end(),this.clients.delete(t)}clearClients(){this.clients.forEach((t=>t.res.end())),this.clients.clear()}listClients(){const t={};return this.clients.forEach((e=>{const r=e.req.socket.remoteAddress??"";r in t||(t[r]=0),t[r]++})),t}getSubscriberCount(){return this.clients.size}};function Re(t){return t instanceof ReadableStream||t instanceof WritableStream}var Me=600,Pe=601,Ve=class extends ${constructor(t,e=Me){super(t,500)}};function qe(t){if(t){const e=t.getReader();return new ReadableStream({async start(t){const{done:r,value:n}=await e.read();if(!r){const e=(new TextDecoder).decode(n);t.error(new Ve(`Response error: ${e}`,Pe))}}})}return new ReadableStream({start(t){t.error(new Ve("Response error: No response body",Pe))}})}function Be(){return new ReadableStream({start(t){t.close()}})}var Ue=require("eventsource-parser");function Le(t){const e=new TextDecoder;let r;return new TransformStream({async start(e){r=(0,Ue.createParser)((r=>{if("data"in r&&"event"===r.type&&"[DONE]"===r.data||"done"===r.event)e.terminate();else if("data"in r){const n=t?t(r.data,{event:r.event}):r.data;n&&e.enqueue(n)}}))},transform(t){r.feed(e.decode(t))}})}function _e(){let t=!0;return e=>(t&&(e=e.trimStart())&&(t=!1),e)}function ze(t,e){if(!t.ok)return qe(t.body);let r=t.body||new ReadableStream({start(t){t.close()}});return r instanceof ReadableStream||(r=ReadableStream.from(r)),r.pipeThrough(Le(e))}function De(t){let e=t[Symbol.asyncIterator]();return new ReadableStream({async pull(t){const{done:r,value:n}=await e.next();r?t.close():t.enqueue(n)},async cancel(t){await(e.return?.(t))}})}function Je(t){const e=t||{};return new TransformStream({async start(t){const r=t.error;if(t.error=n=>{r.call(t,n),e.onError&&e.onError(n)},e.onStart)try{await e.onStart(t)}catch(e){t.error(e)}},async transform(t,r){try{let n;e.onTransform&&(n=await e.onTransform(t,r)),n||(n=t),r.enqueue(n)}catch(t){r.error(t)}},async flush(t){if(e.onFinal)try{await e.onFinal(t)}catch(e){return t.error(e)}t.terminate()}})}var We={};a(We,{XXHashAlgorithm:()=>cr,base32768:()=>rr,uuid:()=>Ye,uuidNIL:()=>Ge.NIL,uuidParse:()=>Ge.parse,uuidStringify:()=>Ge.stringify,uuidValidate:()=>Ge.validate,uuidVersion:()=>Ge.version,uuidv1:()=>Ge.v1,uuidv4:()=>Ge.v4,uuidv5:()=>Ge.v5,xxhash:()=>ur,xxhash32:()=>or,xxhash64:()=>ar,xxhashAsStr:()=>lr});var He=require("uuid"),Ke=l(require("base32768")),Ge=require("uuid"),Xe={1:He.v1,4:He.v4,5:He.v5};function Ye(t=1,e){const r=Xe[t];return e?Ke.encode(r(null,[])):r()}var Ze={};a(Ze,{XXHashAlgorithm:()=>cr,base32768:()=>rr,xxhash:()=>ur,xxhash32:()=>or,xxhash64:()=>ar,xxhashAsStr:()=>lr});var Qe=l(require("xxhashjs")),tr=l(require("base32768")),er=require("json-canonicalize");u(Ze,require("json-canonicalize"));var rr=tr,{h32:nr,h64:sr}=Qe.default,ir=588213;function or(t,e=16){return"object"==typeof t&&(t=(0,er.canonicalize)(t)),nr(t,ir).toString(e)}function ar(t,e=16){return"object"==typeof t&&(t=(0,er.canonicalize)(t)),sr(t,ir).toString(e)}var cr=(t=>(t[t.xxhash64=111]="xxhash64",t[t.xxhash32=112]="xxhash32",t))(cr||{});function ur(t,e=111,r=ir){let n;return t.buffer&&(t=t.buffer),112!==e?(n=sr(t,r),n=new Uint16Array([n._a00,n._a16,n._a32,n._a48]),n=new Uint8Array(n.buffer)):(n=nr(t,r),n=new Uint16Array([n._low,n._high]),n=new Uint8Array(n.buffer)),n}function lr(t,e=111,r=ir){return tr.encode(ur(t,e,r))}u(We,Ze),u(f,We);var hr=l(require("path")),fr=/[<>:"/\\|?*\u0000-\u001F]/,pr=/^(con|prn|aux|nul|com\d|lpt\d)$/i,wr=100,dr=/^\.+(\\|\/)|^\.+$/,mr=/\.+$/,yr=/[\u0000-\u001F\u0080-\u009F\u200E\u200F\u202A-\u202E\u2066-\u2069]/;function br(){return new RegExp(fr.source,"g")}function gr(){return new RegExp(yr.source,"g")}function Er(t){return t&&!(fr.test(t)||gr().test(t)||dr.test(t)||mr.test(t))}function xr(t){const e=t.split(hr.default.sep);return("/"===t[0]||e[0]&&hr.default.dirname(e[0])===e[0])&&e.shift(),e.every(Er)}function vr(t,e={}){const r=e.replacement||"!";if((fr.test(r)||yr.test(r))&&j("Replacement string cannot contain reserved filename characters","sanitizeFilename",400),r.length>0){const e=/([<>:"/\\|?*\u0000-\u001F]){2,}/;t=t.replace(e,"$1")}if(t=(t=(t=(t=(t=t.normalize("NFD")).replace(dr,r)).replace(br(),r)).replace(gr(),r)).replace(mr,""),r.length>0){"."===t[0]||"."!==t[0]||(t=r+t),"."===t[t.length-1]&&(t+=r)}t=pr.test(t)?t+r:t;const n="number"==typeof e.maxLength?e.maxLength:wr;if(t.length>n){const e=t.lastIndexOf(".");if(-1===e)t=t.slice(0,n);else{const r=t.slice(0,e),s=t.slice(e);t=r.slice(0,Math.max(1,n-s.length))+s}}return t}function Sr(t,e={}){const r=t.split(hr.default.sep);let n;("/"===t[0]||r[0]&&hr.default.dirname(r[0])===r[0])&&(n=r.shift());const s=r.map((t=>vr(t,e)));return void 0!==n&&s.unshift(n),s.join(hr.default.sep)}function $r(t,e=1){let r="";for(;e--;){const e=hr.default.extname(t);if(!e)break;r=e+r,t=hr.default.basename(t,e)}return r}function kr(t){return t.split(".").length-1}var Tr=require("util-ex");function Ar(t,e){if("string"!=typeof t)throw new k("modelName must be a string","isModelNameMatched",400);switch(typeof e){case"string":if((0,Tr.isRegExpStr)(e)){const r=(e=(0,Tr.toRegExp)(e)).exec(t);if(r)return r}else if(t.toLowerCase()===e.toLowerCase())return e;break;case"object":if(Array.isArray(e)){for(const r of e)if("string"==typeof r){if((0,Tr.isRegExpStr)(r)){const n=(e=(0,Tr.toRegExp)(r)).exec(t);if(n)return n}else if(t.toLowerCase()===r.toLowerCase())return r}else if(r instanceof RegExp){const e=r.exec(t);if(e)return e}else if("function"==typeof r){const e=r.call(this,t);if(e)return e}}else if(e instanceof RegExp){const r=e.exec(t);if(r)return r}break;case"function":const r=e.call(this,t);if(r)return r}}function Cr(t){return Object.keys(t).filter((t=>Number.isNaN(Number(t))))}var Fr=require("util-ex");function Or(t,e){if(e){const r=Object.keys(e);if(r.length){const n=Object.values(e);return(0,Fr.newFunction)("expression",r,`return ${t}`)(...n)}}return(0,Fr.newFunction)("expression",[],`return ${t}`)()}function jr(t){return t?Nr(t,[],""):[]}function Nr(t,e,r="."){return Array.isArray(t)?t.flatMap(((t,r)=>Nr(t,[...e,`[${r}]`]))):(n=t)&&n.constructor===Object?Object.entries(t).flatMap((([t,n])=>Nr(n,[...e,r+t]))):[e.join("")];var n}function Ir(t){if(t<2)throw new k("repetitionThreshold must be greater than 1","createEndWithRepetitionDetector",400);const e=new RegExp(`([\\S\\s]+)(\\1{${t-1},})$`);return function(t){return e.exec(t)}}var Rr=l(require("path")),Mr=l(require("fs"));function Pr(t,e,r,n){const s=n?.signal,i=n?.exclude;let o;if(Rr.default.isAbsolute(t)?o=Mr.existsSync(t)?t:Vr(Rr.default.basename(t),[Rr.default.dirname(t)],{extNames:r,exclude:i,signal:s}):(e||(e=["."]),o=Vr(t,e,{extNames:r,exclude:i,signal:s})),!o)throw new A(t,"loadFileFromPaths");{const t=o;o=Mr.readFileSync(o),n&&(n.filepath=t)}return o}function Vr(t,e,{extNames:r,signal:n,exclude:s=[]}){let i;const o=r?r.map((e=>$r(t,kr(e)))):void 0;"string"==typeof s&&(s=[s]);for(const a of e){if(n?.aborted)throw n.reason;const e=Rr.default.resolve(a,t);if(o)for(let t=0;t<o.length;t++){const n=e+(o[t]!==r[t]?r[t]:"");if(!s.includes(n)&&Mr.existsSync(n)){i=n;break}}else if(!s.includes(e)&&Mr.existsSync(e)){i=e;break}}return i}function qr(t,e,r,n,s){let i;"string"==typeof n?(i=n,n=void 0):i=n?.encoding??"utf8";return Pr(t,e,r,n).toString(i)}function Br(t,e,r){const n=[],s="string"==typeof t?[t]:[...t],i=new Set;for(;s.length>0;){if(r?.aborted)throw r.reason;const t=Ur(s.pop()),o=Rr.default.resolve(t);if(i.has(o))continue;i.add(o);const a=Mr.statSync(t,{throwIfNoEntry:!1});if(a?.isDirectory()){const r=Mr.readdirSync(t,{withFileTypes:!0});for(let i=0;i<r.length;i++){const o=r[i],a=Rr.default.join(t,o.name);o.isDirectory()?s.push(a):!o.isFile()||e&&!e(a)||n.push(a)}}}return n}function Ur(t){const e=Mr.lstatSync(t,{throwIfNoEntry:!1});return e?.isSymbolicLink()&&(t=Mr.readlinkSync(t)),t}var Lr=require("fs"),_r=l(require("path")),zr=require("load-config-file"),Dr=require("yaml"),Jr=require("yaml-types"),Wr=require("mime-type/with-db"),Hr=require("yaml"),Kr=[Jr.regexp];function Gr(t){Array.isArray(t)||(t=[t]);for(const e of t){-1===Kr.indexOf(e)&&Kr.push(e)}}function Xr(t){return(0,Dr.parse)(t,{customTags:Kr})}function Yr(t,e){const r=[],n=e?.after,s=e?.exclude?"string"==typeof e.exclude?[e.exclude]:e.exclude:void 0,i=e?.extensions?"string"==typeof e.extensions?[e.extensions]:e.extensions.map((t=>t.startsWith(".")?t:"."+t)):[".yml",".yaml",".json"];return function(t,e){const r=(0,Lr.readdirSync)(t,{withFileTypes:!0,recursive:!0});for(const n of r){const r=_r.default.join(t,n.name);n.isFile()&&e(r,n)}}(t,((t,e)=>{if(s?.includes(t))return;const o=_r.default.extname(t),a=(0,Lr.statSync)(t);if(i.includes(o)){if(n?.hasOwnProperty(t)&&a.mtimeMs<=n[t])return;r.push(t)}})),r}function Zr(t,e){return Yr(t,e).map((t=>zr.Config.loadSync(t))).filter((t=>void 0!==t))}function Qr(t,e,r=1){"."===t[0]&&r++;const n=$r(t,r);(!n||n.split(".").length<=1)&&(t+=".yaml");const s=Wr.mimeType.lookup(t);if("application/json"===s)e=JSON.stringify(e,null,2);else{if("text/yaml"!==s)throw new Error(`${t} unsupported mime type: ${s}`);e=(0,Dr.stringify)(e)}const i=_r.default.dirname(t);return(0,Lr.existsSync)(i)||(0,Lr.mkdirSync)(i,{recursive:!0}),(0,Lr.writeFileSync)(t,e,{encoding:"utf8"}),t}function tn(t){t instanceof Date&&(t=t.toISOString());return function(t,e){return t?`'${e}'`:String(e)}("string"==typeof t,t)}function en(t,e){return t.map((t=>sn(t,e))).join(" AND ")}function rn(t,e){return t.map((t=>sn(t,e))).join(" OR ")}function nn(t,e){const r=[];return Object.keys(e).forEach((n=>{const s=e[n];switch(n){case"$lt":case"<":r.push(`${t} < ${tn(s)}`);break;case"<=":case"$lte":r.push(`${t} <= ${tn(s)}`);break;case"$gt":case">":r.push(`${t} > ${tn(s)}`);break;case"$gte":case">=":r.push(`${t} >= ${tn(s)}`);break;case"$ne":case"!=":r.push(`${t} != ${tn(s)}`);break;case"=":case"$eq":r.push(`${t} = ${tn(s)}`);break;case"$in":r.push(`${t} IN (${s.map((t=>tn(t))).join(", ")})`);break;case"$nin":r.push(`${t} NOT IN (${s.map((t=>tn(t))).join(", ")})`);break;case"$regex":r.push(`${t} REGEXP '${s.source}'`);break;case"$like":r.push(`${t} LIKE '${s}'`);break;case"$nlike":r.push(`${t} NOT LIKE '${s}'`);break;case"$glob":r.push(`${t} GLOB '${s}'`);break;case"$nglob":r.push(`${t} NOT GLOB '${s}'`);break;default:throw new Error(`Unsupported condition operator: ${n}`)}})),r.join(" AND ")}function sn(t,e){const r=[];if("function"!=typeof e&&(e=t=>t),Array.isArray(t))r.push(en(t,e));else for(const[n,s]of Object.entries(t))if("$and"===n)r.push(`(${en(t[n],e)})`);else if("$or"===n)r.push(`(${rn(t[n],e)})`);else{const t=typeof s;if(null==s)r.push(`${e(n)} IS NULL`);else if(s instanceof Date)r.push(`${e(n)}='${s.toISOString()}'`);else if("object"!==t||Array.isArray(s))if("string"===t)r.push(`${e(n)}='${s}'`);else{if("number"!==t&&"boolean"!==t)throw new Error(`Unsupported value type for key ${n}`);r.push(`${e(n)}=${s}`)}else r.push(nn(e(n),s))}return r.length>1?r.join(" AND "):r[0]}function on(t){const e=t.indexOf("://");if(e>0)return t.substring(0,e)}function an(t,e=0){let r,n=t*10**e;return t>=1e12?(n=Math.round(n/1e12),r="T"):t>=1e9?(n=Math.round(n/1e9),r="B"):t>=1e6?(n=Math.round(n/1e6),r="M"):t>=1e3?(n=Math.round(n/1e3),r="K"):(n=Math.round(n),r=""),n/=10**e,n.toFixed(e)+r}function cn(t){const e=t.match(/^\s*[+]?(\d+(?:[.]\d+)?)\s*([TBMK])?\s*$/i);if(!e)throw new k("Invalid formatted parameter size string.","scaleToSize",400);const r=parseFloat(e[1]),n=e[2]?.toLowerCase();switch(n){case"t":return 1e12*r;case"b":return 1e9*r;case"m":return 1e6*r;case"k":return 1e3*r;default:return r}}function un(t,e){const r=e?.level||0,n=e?.visiting||new Set,s=e?.objectTag||"*",i=e?.arrayTag||"-";let o=[];const a=" ".repeat(2*r);if(null!=t)switch(typeof t){case"object":n.has(t)?o=["[Circular]"]:(n.add(t),o=Array.isArray(t)?t.map((t=>i+c(t))):Object.entries(t).map((([t,e])=>s+" `"+t+"`:"+c(e))));break;case"string":return t;default:return JSON.stringify(t)}else o=["null"];return o.length?a+o.join("\n"+a):"";function c(t){return(null!=t&&"object"==typeof t?"\n":" ")+un(t,{level:r+1,visiting:n})}}zr.Config.register([".yml",".yaml"],Xr),zr.Config.register([".json"],(function(t){return JSON.parse(t)}));var ln=class t{constructor(t=0){this.bitField=t}static has(t,e){return!!(t&1<<e)}static add(t,e){return t|1<<e}static delete(t,e){return t&~(1<<e)}add(t){return this.bitField|=1<<t,this}delete(t){return this.bitField&=~(1<<t),this}has(e){return t.has(this.bitField,e)}clear(){return this.bitField=0,this}valueOf(){return this.bitField}toString(){return this.bitField.toString()}toJSON(){return this.bitField}},hn=require("events-ex"),fn=32;function pn(t){return e=Math.min(Math.max(16,t),1073741824),e>>>=0,e-=1,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,1+(e|=e>>16);var e}var wn=class{constructor(t){this._capacity=pn(t),this._length=0,this._front=0,this.arr=[]}push(t){const e=this._length;this.checkCapacity(e+1);const r=this._front+e&this._capacity-1;return this.arr[r]=t,this._length=e+1,r}pop(){const t=this._length;if(0===t)return;const e=this._front+t-1&this._capacity-1,r=this.arr[e];return this.arr[e]=void 0,this._length=t-1,r}shift(){const t=this._length;if(0===t)return;const e=this._front,r=this.arr[e];return this.arr[e]=void 0,this._front=e+1&this._capacity-1,this._length=t-1,r}get length(){return this._length}checkCapacity(t){this._capacity<t&&this.resizeTo(pn(1.5*this._capacity+16))}resizeTo(t){const e=this._capacity;this._capacity=t;const r=this._front,n=this._length;if(r+n>e){const t=r+n&e-1;!function(t,e,r,n,s){for(let i=0;i<s;++i)r[i+n]=t[i+e],t[i+e]=void 0}(this.arr,0,this.arr,e,t)}}},dn=class extends hn.EventEmitter{};function mn(t){return"function"==typeof t}function yn(){return"1"}var bn=class{constructor(t,{initFn:e=yn,pauseFn:r,resumeFn:n,capacity:s=fn}={}){if(mn(r)!==mn(n))throw new Error("pauseFn and resumeFn must be both set for pausing");this.maxConcurrency=t,this.free=new wn(t),this.waiting=new wn(s),this.releaseEmitter=new dn,this.useDefaultTokens=e===yn,this.pauseFn=r,this.resumeFn=n,this.paused=!1,this.releaseEmitter.on("release",(t=>{const e=this.waiting.shift();e?e.resolve(t):(this.resumeFn&&this.paused&&(this.paused=!1,this.resumeFn()),this.free.push(t))}));for(let r=0;r<t;r++)this.free.push(e())}tryAcquire(){return this.free.pop()}acquire(t){let e=this.tryAcquire();return void 0!==e?Promise.resolve(e):new Promise(((e,r)=>{this.pauseFn&&!this.paused&&(this.paused=!0,this.pauseFn());const n=this.waiting.push({resolve:e,reject:r});return t&&t.addEventListener("abort",(()=>{this.waiting[n]=void 0;const e=t.reason instanceof Error?t.reason:new Error(t.reason||"aborted");t.alreadyRejected=!0,r(e)})),n}))}release(t){this.releaseEmitter.emit("release",this.useDefaultTokens?"1":t)}drain(){const t=new Array(this.maxConcurrency);for(let e=0;e<this.maxConcurrency;e++)t[e]=this.acquire();return Promise.all(t)}pendingCount(){return this.waiting.length}};function gn(t,{timeUnit:e=1e3,uniformDistribution:r=!1}={}){const n=new bn(r?1:t),s=r?e/t:e;return async function(){await n.acquire(),setTimeout((()=>n.release()),s)}}var En,xn=require("custom-ability"),vn=require("property-manager"),Sn=require("util-ex"),$n=0,kn=1,Tn=2,An=(t=>(t[t.MultiTask=$n]="MultiTask",t[t.Cancelable=kn]="Cancelable",t[t.Priority=Tn]="Priority",t))(An||{}),Cn=((En=Cn||{})[En.MultiTask=1<<$n]="MultiTask",En[En.Cancelable=1<<kn]="Cancelable",En[En.Priority=1<<Tn]="Priority",En),Fn=class t extends vn.AdvancePropertyManager{static{this.items={}}static get(t){return this.items[t]}static list(){return this.items}static getByTag(t){let e;for(const r in this.list()){const n=this.get(r);let s=n.tags;if("string"==typeof s){if(s===t){e=n;break}}else if(Array.isArray(s)&&s.indexOf(t)>=0){e=n;break}}return e}static getAllByTag(t){let e=[];for(const r in this.list()){const n=this.get(r);let s=n.tags;"string"==typeof s?s===t&&e.push(n):Array.isArray(s)&&s.indexOf(t)>=0&&e.push(n)}return e}static hasAsyncFeature(t){const e=this.prototype;let r=e.asyncFeatures;return e._asyncFeatures&&(r|=e._asyncFeatures),ln.has(r,t)}static run(t,e){const r=this.get(t);if(r)return r.run(e);throw new A(`${t} to run`,this.name)}static runSync(t,e){const r=this.get(t);if(r)return r.runSync(e);throw new A(`${t} to run`,this.name)}static getFunc(t){const e=this.get(t);return e?.getFunc()}static runWithPos(t,...e){const r=this.get(t);if(r)return r.runWithPos(...e);throw new A(`${t} to run`,this.name)}static runWithPosSync(t,...e){const r=this.get(t);if(r)return r.runWithPosSync(...e);throw new A(`${t} to run`,this.name)}static getFuncWithPos(t){const e=this.get(t);return e?.getFuncWithPos()}static register(e,r={}){switch(typeof e){case"string":r.name=e;break;case"function":r.func=e;break;case"object":r=e}e=r.name;let n=!!this.get(e);if(n)n=!1;else{if(!(r instanceof t))return n=new this(r),n.register();this.items[e]=r,n=r}return n}static unregister(t){const e=this.items[t];return e&&delete this.items[t],e}constructor(t,e={}){switch(super(),typeof t){case"string":e.name=t;break;case"function":e.func=t;break;case"object":e=t}this.name=t=e.name,e.scope&&(this.scope=e.scope),"function"==typeof e.setup&&e.setup.call(this,e),this.initialize(e)}register(){const e=this.constructor,r=this.depends;if(r){const e=Object.keys(r);for(const n of e){const e=r[n];e instanceof t&&e.register()}}return e.register(this)}unregister(){return this.constructor.unregister(this.name)}arr2ObjParams(t){if(this.params&&(t.length>1||Array.isArray(t[0])||t[0]&&"object"!=typeof t[0])){const e={},r=Object.keys(this.params);let n=Math.min(r.length,t.length);for(let s=0;s<n;s++)e[r[s]]=t[s];t=[e]}return t}obj2ArrParams(t){const e=[];if(t&&this.params&&Array.isArray(this.params)){const r=Object.keys(t);let n=Math.min(r.length,this.params.length);for(let s=0;s<n;s++)e.push(t[r[s]])}return e}runSync(t){const e=this.params&&Array.isArray(this.params);if(Array.isArray(t)){if(e)return this.func(...t);j("the function is not support array params, the params must be object!",this.name)}return e?(t=this.obj2ArrParams(t),console.warn('Warning:Use runWithPos() instead of run() for the "'+this.name+'" is function with position params'),this.func(...t)):this.func(t)}run(t){return this.runSync(t)}runAs(t,e){return this.runAsSync(t,e)}runAsSync(t,e){return this.constructor.runSync(t,e)}getFunc(t){return t?this.constructor.getFunc(t):this.runSync.bind(this)}runWithPosSync(...t){return this.params&&!Array.isArray(this.params)&&(t=this.arr2ObjParams(t)),this.func(...t)}runWithPosAsSync(t,...e){return this.constructor.runWithPosSync(t,...e)}runWithPos(...t){return this.runWithPosSync(...t)}runWithPosAs(t,...e){return this.runWithPosAsSync(t,...e)}getFuncWithPos(t){return t?this.constructor.getFuncWithPos(t):this.runWithPosSync.bind(this)}hasAsyncFeature(t){let e=this.asyncFeatures;return this._asyncFeatures&&(e|=this._asyncFeatures),ln.has(e,t)}},On={name:{type:"string"},description:{type:"string"},func:{type:"function",assign(t,e,r,n,s){let i=t;const o=typeof t;return s.isExported?i="function"===o?t.toString():t:t&&("string"!==o&&(t=t.toString()),i=(0,Sn._createFunction)(t,e.scope)),i}},params:{type:"object"},result:{type:"any"},setup:{type:"function"},depends:{type:"object",exported:!1},tags:{type:["array","string"]},asyncFeatures:{type:"number"}};Fn.defineProperties(Fn,On);var jn=require("util-ex"),Nn=class extends AbortController{constructor(t){super(),(0,jn.defineProperty)(this,"parent",t)}abort(t,e){this.signal.aborted||("string"==typeof t&&(t=new F(t)),t&&e&&"object"==typeof t&&Object.assign(t.data,e),super.abort(t))}throwRejected(t){const e=this.signal;if(e.aborted){if(void 0===t&&(t=e.alreadyRejected),t)return!0;throw e.reason instanceof Error?e.reason:new F(e.reason||"aborted")}}},In=class{get maxTaskConcurrency(){return this._maxTaskConcurrency}get semaphore(){const t=this._maxTaskConcurrency;let e=this.__task_semaphore;return t>0&&!e&&(e=this.__task_semaphore=new bn(t-1)),e}isAborted(t){const e=this.hasAsyncFeature($n);let r=this.__task_aborter;if(r&&e){if(null==t)throw new k("Missing taskId",this.name+".isAborted",400);r=r[t]}return!r||r.signal.aborted}getRunningTask(t){const e=this.hasAsyncFeature($n);let r=this.__task_aborter;if(r&&e){if(null==t)throw new k("Missing taskId",this.name+".getRunningTask",400);r=r[t]}return r?.signal.aborted&&(e?this.__task_aborter[t]=void 0:this.__task_aborter=void 0,r=void 0),r}getRunningTaskCount(){let t;if(this.hasAsyncFeature($n)){const e=this.__task_aborter;t=e&&Object.entries(e).filter((([t,r])=>{if(!r?.signal.aborted)return!0;e[t]=void 0})).length}else{const e=this.__task_aborter;t=e?.signal.aborted?0:1}return t}_generateAsyncTaskId(t,e){if(e||(e=this.__task_aborter),null==t&&(t=0,e))for(;e[t];)t++;return t}$generateAsyncTaskId(t,e){const r=this.super,n=this.self||this;return t=r?r.call(n,t):this._generateAsyncTaskId(t,e)}createAborter(t,e,r=!0){const n=this.hasAsyncFeature($n);if(!n&&r&&this.getRunningTask())throw new k("The task is running",this.name,429);const s=t?.aborter||new Nn(this);if(!(s instanceof Nn)){if(!(s instanceof AbortController))throw new k("aborter should be an AbortController",this.name,400);Object.setPrototypeOf(s,new Nn(this))}if(n){null==this.__task_aborter&&(this.__task_aborter={});const t=this.__task_aborter;null==e&&(e=this.generateAsyncTaskId(e,t)),s.id=e,t[e]=s}else this.__task_aborter=s;const i=t?.timeout;return i>0&&(s.timeoutId=setTimeout((()=>{s.timeoutId=void 0,this.abort("timeout",{timeout:i})}),i)),s.signal.addEventListener("abort",(()=>{const t=s.timeoutId;t&&(s.timeoutId=void 0,clearTimeout(t));const e=s.signal;try{this.emit&&this.emit("aborting",e.reason,e.reason?.data)}finally{s.streamController?.error(e.reason)}})),s}$cleanMultiTaskAborter(t,e){const r=this.super,n=this.self||this;r?r.call(n,t,e):n._cleanMultiTaskAborter(t,e)}cleanTaskAborter(t){if(this.hasAsyncFeature($n)){const e=this.__task_aborter;this.cleanMultiTaskAborter(t.id,e)}else this.__task_aborter=void 0}_cleanMultiTaskAborter(t,e){"number"==typeof t?e[t]=void 0:delete e[t]}createTaskPromise(t,e,r){const n=this.createAborter(e,r?.taskId,r?.raiseError);void 0===e&&(e={}),"object"==typeof e&&(e.aborter=n);let s=t(e,n).then((t=>{if(t&&t instanceof ReadableStream){const e=()=>{this.cleanTaskAborter(n)},r=Je({onStart:t=>{(0,jn.defineProperty)(n,"streamController",t)},onFinal:e,onError:e,onTransform:(t,e)=>(t&&"object"==typeof t&&(t.taskId=n.id),t)});t=t.pipeThrough(r)}else this.cleanTaskAborter(n);return t})).catch((t=>{throw this.cleanTaskAborter(n),t})).finally((()=>{n.timeoutId&&(clearTimeout(n.timeoutId),n.timeoutId=void 0)}));return s.task=n,s}runAsyncCancelableTask(t={},e,r){let n=this.createTaskPromise(e,t,r);const s=this.semaphore;if(s){const t=n,e=t.task;n=s.acquire(e.signal).then((()=>t)).finally((()=>{s.release()})),n.task=e}return n}abort(t,e){let r=this.__task_aborter;if(r){const n=r;if(this.hasAsyncFeature($n)){const t=e?.taskId;if(null==t)throw new k("Missing data.taskId",this.name+".abort",400);r=r[t],this.cleanMultiTaskAborter(t,n)}else this.__task_aborter=void 0;r&&!r.signal.aborted&&r.abort(t,e)}}};In.prototype.generateAsyncTaskId=function(t,e){return this._generateAsyncTaskId(t,e)},In.prototype.cleanMultiTaskAborter=function(t,e){return this._cleanMultiTaskAborter(t,e)};var Rn=(0,xn.createAbilityInjector)(In,"abort",{afterInjection:function(t,e){let r=t.prototype._asyncFeatures||0;r|=Cn.Cancelable,e&&(e.asyncFeatures&&(r|=e.asyncFeatures),e.maxTaskConcurrency>0&&(t.prototype._maxTaskConcurrency=e.maxTaskConcurrency)),t.prototype._asyncFeatures=r}});u(h,f,module.exports);var Mn=class t extends Fn{static get apiRoot(){return t._apiRoot}static setApiRoot(e){t._apiRoot=e}static async loadFrom(){if(this._apiRoot){const t=await fetch(this._apiRoot,{headers:{"Content-Type":"application/json"}}),e=await t.json();e&&this.loadFromSync(e)}else j("missing apiRoot to load tools","ClientTools")}static loadFromSync(e){for(const r in e){const n=this.get(r),s=e[r];n?n instanceof t?n.assign(s):j(`${r} already registered as ${n.constructor.name}`,"ClientTools"):this.register(s)}}static async fetch(t,e){const r=this.get(t);if(r&&r.fetch)return r.fetch(e)}getUrlParams(t){if(void 0!==t){const e=JSON.stringify(t);if("{}"!==e&&"[]"!==e&&'""'!==e)return"?p="+encodeURIComponent(e)}return""}async fetch(t,e,r){const n={...this.fetchOptions};let s;n.headers&&n.headers["Content-Type"]||(n.headers={"Content-Type":"application/json",...n.headers}),t?.stream&&!n.headers.Connection&&(n.headers.Connection="keep-alive"),e||(e=this.action||"post"),"res"===e&&(e="get"),r?("string"!=typeof r&&(r=JSON.stringify(r)),r=this.name+"/"+r):r=this.name,n.method=e.toUpperCase(),"get"===e||"delete"===e?s=r+this.getUrlParams(t):(n.body=JSON.stringify(t),s=r);const i=await fetch(`${this.apiRoot}/${s}`,n);if(!i.ok){throw await this.errorFrom(i)}return i}async errorFrom(t){let e,r=t.status,n=t.statusText,s=this.name;if(t.body){const r=await t.text();try{const t=JSON.parse(r);t&&(t.error&&(n=t.error),t.name&&(s=t.name),t.data&&(e=t.data,e.name=s,e.what&&(e.msg=n,n=e.what)),t.message&&(n=n+":"+t.message))}catch(t){console.warn("🚀 ~ parse error body to json:",t)}}return O(n,s,r)}async func(t){const e=await this.fetch(t);if(t?.stream)return e;return await e.json()}},Pn={...m};Mn.defineProperties(Mn,Pn);var Vn=class t extends Fn{static get apiRoot(){return t._apiRoot}static setApiRoot(e){t._apiRoot=e}static toJSON(){const e={};for(const r in this.items){let n=this.items[r];n instanceof t&&(n.allowExportFunc||(n=n.toJSON(),delete n.func),e[r]=n)}return e}isStream(t){return this.stream}func({}){}},qn={...m};Vn.defineProperties(Vn,qn);var Bn=require("events-ex"),Un=class extends Fn{constructor(){super(...arguments),this._emitter=new Bn.EventEmitter,this.description="Return event bus",this.result="event"}get emitter(){return this._emitter}func(){return this.emitter}},Ln=new Un(Fe),_n=require("secondary-cache");function zn({key:t,value:e,options:r}={}){return void 0!==t?null===e?this.cache.del(t):void 0!==e?this.cache.set(t,e,r):this.cache.get(t):(r&&this.cache.setDefaultOptions(r),this.cache)}function Dn(t,e){let r=Fn.get(t);return r||(r=new Fn(t,{func:zn,description:"get/set LRU cache or return the LRUCache object",params:{key:{name:"key",type:"string",description:"the key is undefined means change the default cache options"},value:{name:"value",type:"any",description:"the value to store, if value is null means remove the key"},options:{name:"options",type:"object|number",description:"the optional cache options:{capacity,expires,cleanInterval} or expires"}},result:"any"}),r.cache=new _n.Cache(e)),r}var Jn=Dn("lrucache"),Wn=class extends Mn{async fetch(t,e){if(t||(t={}),e&&"res"===this.action){if("get"===e||"delete"===e){let r=t.id;return r||j("id is required"),"string"==typeof r&&(r=encodeURIComponent(r)),delete t.id,super.fetch(t,e,r)}"list"===e?e="get":e.startsWith("$")&&(t.act=e,e="post")}return await super.fetch(t,e)}async _func(t,e){const r=await this.fetch(e,t);if(e?.stream)return r;return await r.json()}async func(t){const e=t.action;return e&&delete t.action,this._func(e,t)}assignMethods(t){if(Array.isArray(t))for(const e of t){const t=e.startsWith("$")?e.slice(1):e;this[t]||(this[t]=(t=>this._func.bind(this,t))(e))}}},Hn={methods:{type:"array",assign(t,e,r,n,s){s?.isExported||e.assignMethods(t)}}};Wn.defineProperties(Wn,Hn);var Kn=class extends Wn{constructor(){super(...arguments),this._sseEvents={},this._forwardEvents=new Set,this.name=Ce,this.description="subscribe server sent event",this.ebListener=async function(...t){const e=this.type;this.target.publish&&await this.target.publish({data:t,event:e})}}get evtSource(){let t=this._es;return t&&t.readyState!==EventSource.CLOSED||(t=this.initEventSource(this._esEvents)),t}get active(){return!!this._es&&this._es.readyState!==EventSource.CLOSED}set active(t){t!==this.active&&(t?this.initEventSource(this._esEvents):this._es&&(this._es.close(),this._es=void 0))}initEventSource(t){if("string"==typeof t&&(t=[t]),this._es&&this._es.readyState!==EventSource.CLOSED){if(!this._esEvents||t&&t.every((t=>this._esEvents.includes(t))))return this._es;this._es.close()}const e=t?this.getUrlParams({event:t}):"",r=`${this.apiRoot}/${this.name}${e}`,n=this._es=new EventSource(r);return Object.entries(this._sseEvents).forEach((([t,e])=>{n.addEventListener(t,e)})),this._esEvents=t,n}esListener(t){const e=t.data?JSON.parse(t.data):void 0,r=t.type;if(!this._forwardEvents.has(r)){const t=this.emitter;t&&e&&r&&(Array.isArray(e)?t.emit(r,...e):t.emit(r,e))}}async subscribe(t){const e=await this.sub({event:t});"string"==typeof t&&(t=[t]);const r=this.evtSource;for(const e of t)if(!this._sseEvents[e]){const t=this._sseEvents[e]=this.esListener.bind(this);r.addEventListener(e,t)}return e}async unsubscribe(t){const e=await this.unsub({event:t});"string"==typeof t&&(t=[t]);for(const e of t){const t=this._sseEvents[e];t&&(delete this._sseEvents[e],this.evtSource.removeEventListener(e,t))}return e}forwardEvent(t){"string"==typeof t&&(t=[t]);for(const e of t)this._forwardEvents.has(e)||(this._forwardEvents.add(e),this.on&&this.on(e,this.ebListener))}unforwardEvent(t){"string"==typeof t&&(t=[t]);for(const e of t)this._forwardEvents.has(e)&&(this._forwardEvents.delete(e),this.off&&this.off(e,this.ebListener))}async init(t){if(this.active=!1,this.initEventSource(t),t)return await this.subscribe(t)}},Gn=new Kn(Ce),Xn=require("util-ex"),Yn=class extends Vn{constructor(t,e={}){super(t,e),this.action="res",this.params={id:{type:"string"},val:{type:"any"}};const r=this.methods=[];for(const t of d)"function"==typeof this[t]&&r.push(t);(0,Xn.getAllNames)(Object.getPrototypeOf(this)).filter((t=>t.startsWith("$")&&"function"==typeof this[t])).forEach((t=>{r.push(t);const e=t.slice(1);void 0===this[e]&&(this[e]=this[t])}))}cast(t,e){let r=this.params[t];return r&&("string"!=typeof r&&(r=r.type),"number"===r&&(e=Number(e))),e}getMethodFromParams(t){let e=t?._req?.method?.toLowerCase();return"get"===e&&void 0===t.id&&(e="list"),"post"===e&&t.act&&(e=t.act),e}func(t){const e=this.getMethodFromParams(t);if(e&&"function"==typeof this[e])return void 0!==t.id&&(t.id=this.cast("id",t.id)),this[e](t);throw new A(e,this.name)}},Zn={methods:{type:"array"}};Yn.defineProperties(Yn,Zn);var Qn=Ln.runSync(),ts=class t extends Yn{constructor(){super(...arguments),this.name=Ce,this.description="subscribe server sent event",this.result="event",this.depends={[Fe]:Ln}}static get sse(){return this._sse||(this._sse=new Ie),this._sse}get sse(){return this.constructor.sse}static publish(e,r){return t.sse.publish(e,r)}static{this.ebListener=function(...e){t.sse.publish(e,this.type)}}static subscribe(e,r,n){return t.sse.subscribe(e,r,n)}static alreadyForward(e){const r=Qn.listeners(e);for(const e of r)if(e===t.ebListener)return!0}publishSSE(t,e){return this.constructor.publish(t,e)}subscribeSSE(t,e,r){return"string"==typeof r&&(r=[r]),this.constructor.subscribe(t,e,r)}forward(e){Array.isArray(e)||(e=[e]);for(const r of e)t.alreadyForward(r)||Qn.on(r,t.ebListener)}unforward(e){"string"==typeof e&&(e=[e]);for(const r of e)Qn.off(r,t.ebListener)}list({_req:t,_res:e,event:r}){t&&e&&this.subscribeSSE(t,e,r)}$sub({event:t}){if(t)return this.forward(t),{event:t};j("event is required","sub",400)}$unsub({event:t}){if(t)return this.unforward(t),{event:t};j("event is required","unsub",400)}$publish({event:t,data:e}){if(t&&e){"string"==typeof t&&(t=[t]);for(const r of t)this.publishSSE(e,r);return{event:t}}j("event or data is required","pub",400)}isStream(t){return"list"===this.getMethodFromParams(t)}},es=new ts(Ce);function rs(){Ln.register(),Jn.register()}
|
|
1
|
+
"use strict";var t,e=Object.create,r=Object.defineProperty,n=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,i=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,a=(t,e)=>{for(var n in e)r(t,n,{get:e[n],enumerable:!0})},c=(t,e,i,a)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let c of s(e))o.call(t,c)||c===i||r(t,c,{get:()=>e[c],enumerable:!(a=n(e,c))||a.enumerable});return t},u=(t,e,r)=>(c(t,e,"default"),r&&c(r,e,"default")),l=(t,n,s)=>(s=null!=t?e(i(t)):{},c(!n&&t&&t.__esModule?s:r(s,"default",{value:t,enumerable:!0}),t)),h={};a(h,{AIArgProcessor:()=>Hn,AIChatRoles:()=>U,AIMessageTypes:()=>B,AIStream:()=>ze,AITextGenerationFinishReasons:()=>V,AbortError:()=>O,AbortErrorCode:()=>S,ActionNames:()=>w,AlreadyExistsError:()=>C,AlreadyExistsErrorCode:()=>v,AsyncFeatureBits:()=>Nn,AsyncFeatures:()=>In,BaseError:()=>$,CancelableAbility:()=>Vn,ChoiceArgProcessor:()=>Jn,ClientToolFuncSchema:()=>rs,ClientTools:()=>es,CommonError:()=>A,ConfigFile:()=>Kr.Config,DefaultAsyncSemaphoreCapacity:()=>yn,ErrorCode:()=>b,EventBusName:()=>Oe,EventClient:()=>ws,EventName:()=>Ce,EventServer:()=>xs,EventToolFunc:()=>os,FStringPromptTemplate:()=>oe,FewShotPromptTemplate:()=>he,FilenameReservedRegex:()=>fr,GolangPromptTemplate:()=>ue,HFBuiltins:()=>Kt,HFEnvironment:()=>Xt,HFInterpreter:()=>Dt,HFTemplate:()=>Zt,HfPromptTemplate:()=>ee,IntSet:()=>wn,InternalErrorCode:()=>g,NotFoundError:()=>T,NotFoundErrorCode:()=>x,NotImplementationError:()=>k,NotImplementedErrorCode:()=>E,PASSING_SCORE:()=>d,PromptExampleSelector:()=>G,PromptTemplate:()=>W,PromptTemplateTypes:()=>z,PromptTypes:()=>L,RStreamErrCode:()=>Pe,RateLimit:()=>$n,ReadableStreamError:()=>qe,RemoteToolFuncSchema:()=>m,ResClientTools:()=>ds,ResServerTools:()=>gs,ResponseRStreamErrCode:()=>Me,SSEChannel:()=>Ie,SSEChannelAlreadyClosedErrCode:()=>Ne,Semaphore:()=>Sn,ServerToolFuncSchema:()=>ss,ServerTools:()=>ns,TaskAbortController:()=>qn,TemplateArgProcessor:()=>Wn,ToolAsyncCancelableBit:()=>jn,ToolAsyncMultiTaskBit:()=>On,ToolAsyncPriorityBit:()=>Fn,ToolFunc:()=>Rn,ToolFuncSchema:()=>Pn,WindowsReservedNameRegex:()=>pr,XXHashAlgorithm:()=>cr,_lrucache:()=>us,backendEventable:()=>je,base32768:()=>rr,countRegexMatches:()=>Un,createAbilityInjector:()=>p.createAbilityInjector,createCallbacksTransformer:()=>Je,createEmptyReadableStream:()=>Be,createEndWithRepetitionDetector:()=>qr,createError:()=>j,createEventStreamTransformer:()=>_e,createHfValueFunc:()=>re,createLRUCache:()=>ls,dateToText:()=>q,defaultTemplateFormat:()=>J,event:()=>as,eventClient:()=>ms,eventServer:()=>vs,expandEnv:()=>we,expandObjEnv:()=>me,extNameLevel:()=>Ar,fileIsExists:()=>Ur,filenameReservedRegex:()=>br,filterValidFnScope:()=>Rr,formatISO:()=>I.formatISO,getAllEnumKeys:()=>Cr,getConfigFileNames:()=>rn,getConfigs:()=>nn,getKeysPath:()=>Pr,getMultiLevelExtname:()=>$r,getRealFilepath:()=>Jr,getResponseErrorReadableStream:()=>Ve,hfParse:()=>Ct,hfTokenize:()=>nt,interpolateEnv:()=>de,interpolateFString:()=>se,interpolateGolangTemplate:()=>ce,isModelNameMatched:()=>Tr,isValidFilename:()=>Er,isValidFilepath:()=>xr,isWebStream:()=>Re,jsonFilterToWhere:()=>ln,jsonToMarkdownStr:()=>dn,loadFileFromPaths:()=>_r,loadTextFromPaths:()=>zr,lrucache:()=>hs,makeToolFuncCancelable:()=>Bn,matchUrlProtocol:()=>hn,messagesToText:()=>_,mimeType:()=>Zr.mimeType,paramsSizeToScaleStr:()=>fn,parseCommand:()=>Qn,parseDateFormat:()=>N.parse,parseFString:()=>ne,parseISO:()=>I.parseISO,parseJsJson:()=>Fr,parseObjectArgInfo:()=>Zn,parseObjectArgumentInfos:()=>Dn,parseObjectArguments:()=>zn,parseObjectArgumentsAsArgInfos:()=>Yn,parseYaml:()=>en,quoteStr:()=>Gn,reControlCharsRegex:()=>gr,readFilenamesRecursiveSync:()=>Dr,readableFromAsyncIterable:()=>De,registerCoreTools:()=>Ss,registerYamlTag:()=>tn,sanitizeFilename:()=>vr,sanitizeFilepath:()=>Sr,saveConfigFile:()=>sn,scaleStrToParamsSize:()=>pn,sortedValues:()=>le,splitSentence:()=>$e,stringifyYaml:()=>Yr.stringify,textToDate:()=>M,throwError:()=>F,toDate:()=>I.toDate,toDateTime:()=>P,trimStartOfStreamHelper:()=>Le,truncTo:()=>Ae,uuid:()=>Ze,uuidNIL:()=>Ge.NIL,uuidParse:()=>Ge.parse,uuidStringify:()=>Ge.stringify,uuidValidate:()=>Ge.validate,uuidVersion:()=>Ge.version,uuidv1:()=>Ge.v1,uuidv4:()=>Ge.v4,uuidv5:()=>Ge.v5,wait:()=>ke,xxhash:()=>ur,xxhash32:()=>or,xxhash64:()=>ar,xxhashAsStr:()=>lr}),module.exports=(t=h,c(r({},"__esModule",{value:!0}),t));var f={};a(f,{AIArgProcessor:()=>Hn,AIChatRoles:()=>U,AIMessageTypes:()=>B,AIStream:()=>ze,AITextGenerationFinishReasons:()=>V,AbortError:()=>O,AbortErrorCode:()=>S,ActionNames:()=>w,AlreadyExistsError:()=>C,AlreadyExistsErrorCode:()=>v,BaseError:()=>$,CancelableAbility:()=>Vn,ChoiceArgProcessor:()=>Jn,CommonError:()=>A,ConfigFile:()=>Kr.Config,DefaultAsyncSemaphoreCapacity:()=>yn,ErrorCode:()=>b,EventBusName:()=>Oe,EventName:()=>Ce,FStringPromptTemplate:()=>oe,FewShotPromptTemplate:()=>he,FilenameReservedRegex:()=>fr,GolangPromptTemplate:()=>ue,HFBuiltins:()=>Kt,HFEnvironment:()=>Xt,HFInterpreter:()=>Dt,HFTemplate:()=>Zt,HfPromptTemplate:()=>ee,IntSet:()=>wn,InternalErrorCode:()=>g,NotFoundError:()=>T,NotFoundErrorCode:()=>x,NotImplementationError:()=>k,NotImplementedErrorCode:()=>E,PASSING_SCORE:()=>d,PromptExampleSelector:()=>G,PromptTemplate:()=>W,PromptTemplateTypes:()=>z,PromptTypes:()=>L,RStreamErrCode:()=>Pe,RateLimit:()=>$n,ReadableStreamError:()=>qe,RemoteToolFuncSchema:()=>m,ResponseRStreamErrCode:()=>Me,SSEChannel:()=>Ie,SSEChannelAlreadyClosedErrCode:()=>Ne,Semaphore:()=>Sn,TaskAbortController:()=>qn,TemplateArgProcessor:()=>Wn,WindowsReservedNameRegex:()=>pr,XXHashAlgorithm:()=>cr,backendEventable:()=>je,base32768:()=>rr,countRegexMatches:()=>Un,createAbilityInjector:()=>p.createAbilityInjector,createCallbacksTransformer:()=>Je,createEmptyReadableStream:()=>Be,createEndWithRepetitionDetector:()=>qr,createError:()=>j,createEventStreamTransformer:()=>_e,createHfValueFunc:()=>re,dateToText:()=>q,defaultTemplateFormat:()=>J,expandEnv:()=>we,expandObjEnv:()=>me,extNameLevel:()=>Ar,fileIsExists:()=>Ur,filenameReservedRegex:()=>br,filterValidFnScope:()=>Rr,formatISO:()=>I.formatISO,getAllEnumKeys:()=>Cr,getConfigFileNames:()=>rn,getConfigs:()=>nn,getKeysPath:()=>Pr,getMultiLevelExtname:()=>$r,getRealFilepath:()=>Jr,getResponseErrorReadableStream:()=>Ve,hfParse:()=>Ct,hfTokenize:()=>nt,interpolateEnv:()=>de,interpolateFString:()=>se,interpolateGolangTemplate:()=>ce,isModelNameMatched:()=>Tr,isValidFilename:()=>Er,isValidFilepath:()=>xr,isWebStream:()=>Re,jsonFilterToWhere:()=>ln,jsonToMarkdownStr:()=>dn,loadFileFromPaths:()=>_r,loadTextFromPaths:()=>zr,makeToolFuncCancelable:()=>Bn,matchUrlProtocol:()=>hn,messagesToText:()=>_,mimeType:()=>Zr.mimeType,paramsSizeToScaleStr:()=>fn,parseCommand:()=>Qn,parseDateFormat:()=>N.parse,parseFString:()=>ne,parseISO:()=>I.parseISO,parseJsJson:()=>Fr,parseObjectArgInfo:()=>Zn,parseObjectArgumentInfos:()=>Dn,parseObjectArguments:()=>zn,parseObjectArgumentsAsArgInfos:()=>Yn,parseYaml:()=>en,quoteStr:()=>Gn,reControlCharsRegex:()=>gr,readFilenamesRecursiveSync:()=>Dr,readableFromAsyncIterable:()=>De,registerYamlTag:()=>tn,sanitizeFilename:()=>vr,sanitizeFilepath:()=>Sr,saveConfigFile:()=>sn,scaleStrToParamsSize:()=>pn,sortedValues:()=>le,splitSentence:()=>$e,stringifyYaml:()=>Yr.stringify,textToDate:()=>M,throwError:()=>F,toDate:()=>I.toDate,toDateTime:()=>P,trimStartOfStreamHelper:()=>Le,truncTo:()=>Ae,uuid:()=>Ze,uuidNIL:()=>Ge.NIL,uuidParse:()=>Ge.parse,uuidStringify:()=>Ge.stringify,uuidValidate:()=>Ge.validate,uuidVersion:()=>Ge.version,uuidv1:()=>Ge.v1,uuidv4:()=>Ge.v4,uuidv5:()=>Ge.v5,wait:()=>ke,xxhash:()=>ur,xxhash32:()=>or,xxhash64:()=>ar,xxhashAsStr:()=>lr});var p=require("custom-ability"),d=.618,w=["get","post","put","delete","patch","list","res"],m={apiRoot:{type:"string",get(){return this._apiRoot??this.constructor.apiRoot},set(t){this._apiRoot=t}},action:{type:"string",assign:(t,e,r,n,s)=>t||"post"},fetchOptions:{type:"object"},allowExportFunc:{type:"boolean"}},y=require("abstract-error"),b=(t=>(t[t.OK=200]="OK",t[t.Accepted=202]="Accepted",t[t.BadRequest=400]="BadRequest",t[t.InvalidArgument=400]="InvalidArgument",t[t.Unauthorized=401]="Unauthorized",t[t.PaymentRequired=402]="PaymentRequired",t[t.Forbidden=403]="Forbidden",t[t.NotFound=404]="NotFound",t[t.MethodNotAllowed=405]="MethodNotAllowed",t[t.NotAcceptable=406]="NotAcceptable",t[t.RequestTimeout=408]="RequestTimeout",t[t.Conflict=409]="Conflict",t[t.Corruption=409]="Corruption",t[t.TooManyRequests=429]="TooManyRequests",t[t.Aborted=499]="Aborted",t[t.InternalError=500]="InternalError",t[t.NotImplemented=501]="NotImplemented",t[t.NotSupported=501]="NotSupported",t[t.BadGateway=502]="BadGateway",t[t.ServiceUnavailable=503]="ServiceUnavailable",t[t.GatewayTimeout=504]="GatewayTimeout",t))(b||{}),g=500,E=501,x=404,v=409,S=499,$=class t extends y.AbstractError{static createErrorClass(e,r,n=t){return(0,y.createErrorClass)(e,r,n)}constructor(t,e,r){super(t,e);const n=this.constructor;null!=e?this.code=e:n.code?this.code=n.code:this.code=n.name,r?"string"==typeof r?this.name=r:Object.assign(this,r):"string"==typeof this.code?this.name=this.code:this.name=n.name}toJSON(){const t={name:this.name,code:this.code,data:this.data,caller:this.caller,error:this.message,stack:this.stack};return Object.keys(t).forEach((e=>void 0===t[e]&&delete t[e])),t}fromJSON(e){const r=new t(e.message);return r.code=e.code,r.data=e.data,r.caller=e.caller,r.message=e.error,r.stack=e.stack,r}},A=class extends ${constructor(t,e,r=g){super(t,r,e)}},k=class extends A{constructor(t,e){t||(t="Not Implementation."),super(t,e,501)}};A[E]=k;var T=class extends A{static{this.code=x}constructor(t,e){super(`Could not find ${t}.`,e,x),this.data={what:t}}};A[x]=T;var C=class extends A{static{this.code=v}constructor(t,e){super(`The ${t} already exists.`,e,v),this.data={what:t}}};A[v]=C;var O=class extends A{static{this.code=S}constructor(t,e){e||(e="AbortError"),super(t?`The operation was aborted for ${t}.`:"The operation was aborted.",e,S),t&&(this.data={what:t})}};function j(t,e,r=g){const n=new(A[r]||A)(t,e,r);return"number"!=typeof n.code&&(n.code=r),n}function F(t,e,r=g){throw j(t,e,r)}A[S]=O;var N=require("date-fns"),I=require("date-fns"),R="MMMM d, y 'at' h:m:s b 'GMT'x";function P(t){let e;try{"string"==typeof t?e=(0,N.parseISO)(t):"number"==typeof t?e=new Date(t):t instanceof Date&&(e=t)}catch(t){console.error(t)}return e}function M(t,e=R){return(0,N.parse)(t,e,new Date)}function q(t,e=R){return(0,N.format)(t,e)}var V=["stop","length","content-filter","tool-calls","abort","error","other",null],B=["human","ai","generic","system","tool"],U=["user","assistant","system","tool","tool_calls"];function _(t){let e="";for(const r of t)if(r.content){e+=r.role.toLowerCase()+":";let t=r.createdAt;if(t){const r=P(t);r&&(e+=" ["+q(r)+"]")}e+=" "+r.content+"\n"}return e}var L=["chat","char","plan"],z=["internal","hf","fill"],D=require("custom-factory");var J="default",W=class t extends D.BaseFactory{static from(t,e){return new this(t,e)}static async format(t){return new this(t).format()}static async formatIf(t){if(this.isTemplate(t)){return new this(t).format()}}static isTemplate(e){if(e?.template){const r=e.templateFormat||J,n=t.get(r);return n.isTemplate!==t.isTemplate&&n.isTemplate(e)}}filterData(t){return Array.isArray(this.inputVariables)&&(t=Object.fromEntries(Object.entries(t).filter((([t])=>this.inputVariables.includes(t))))),t}constructor(e,r){"string"==typeof e?(r||(r={}),r.template=e):e&&(e=(r=e).template);const{templateFormat:n}=r||{};if(super(r),this.constructor===t){const e=t.get(n||J);if(e)return Reflect.construct(e,arguments);throw new A(`Prompt template type ${n} not found`,"PromptTemplate",400)}}_initialize(t){throw new k("Not implemented","PromptTemplate")}initialize(e){this.constructor!==t&&(Object.assign(this,this.toJSON(e)),e?.ignoreInitialize||this._initialize(e))}_format(t){throw new k("Not implemented","PromptTemplate")}async format(e){const r=this.data;if(e={...r,...e},r)for(const[t,n]of Object.entries(r))e[t]===n&&"function"==typeof n&&(delete e[t],e[t]=await n(e));for(const[r,n]of Object.entries(e))n instanceof t&&(delete e[r],e[r]=await n.format(e));return this._format(e)}partial(t){t={...this.data,...t};const e=this.toJSON();return e.data=t,e.ignoreInitialize=!0,new this.constructor(e)}toJSON(e=this){let r={template:e.template,data:e.data,inputVariables:e.inputVariables,compiledTemplate:e.compiledTemplate};var n;return e.templateFormat&&t.get(e.templateFormat)!==this.constructor&&(r.templateFormat=e.templateFormat),n=r,r=Object.keys(n).reduce(((t,e)=>{const r=n[e];return null!=r&&(t[e]=r),t}),{}),r}};function H(t){return(e=t)&&"function"==typeof e[Symbol.iterator]?async function*(t){const e=t[Symbol.iterator]();let r;try{for(;;){r=!1;const t=e.next();if(r=!0,t.done)return r=!1,await t.value;yield await t.value}}finally{r&&await(e.return?.().value)}}(t):t;var e}var K=!1;(async function(){let t=!1,e=!1;try{for await(const e of function*(){try{yield Promise.reject()}finally{t=!0}}())throw new Error("impossible")}catch{e=!0}return e&&t})().then((t=>{K=t}));var G=class{constructor(t,e){this.initialize(t,e)}initialize(t,e){const r=e?.maxLength;var n;r>0&&(this.maxLength=r),void 0!==e?.threshold&&(!0===e.threshold?this.threshold=.5:!1!==e.threshold&&(this.threshold=e.threshold)),this.examples=(n=t,K?n:H(n))}selectExample(t,e){if(void 0===e||e<=this.threshold)return t}async*selectExamples(t=this.examples){let e=this.maxLength||1/0;for await(const r of t){const t="number"==typeof this.threshold?Math.random():void 0;if(this.selectExample(r,t)){if(--e<0)break;yield r}}}async*[Symbol.asyncIterator](){yield*this.selectExamples()}},X=Object.freeze({Text:"Text",NumericLiteral:"NumericLiteral",BooleanLiteral:"BooleanLiteral",StringLiteral:"StringLiteral",Identifier:"Identifier",Equals:"Equals",OpenParen:"OpenParen",CloseParen:"CloseParen",OpenStatement:"OpenStatement",CloseStatement:"CloseStatement",OpenExpression:"OpenExpression",CloseExpression:"CloseExpression",OpenSquareBracket:"OpenSquareBracket",CloseSquareBracket:"CloseSquareBracket",OpenCurlyBracket:"OpenCurlyBracket",CloseCurlyBracket:"CloseCurlyBracket",Comma:"Comma",Dot:"Dot",Colon:"Colon",Pipe:"Pipe",CallOperator:"CallOperator",AdditiveBinaryOperator:"AdditiveBinaryOperator",MultiplicativeBinaryOperator:"MultiplicativeBinaryOperator",ComparisonBinaryOperator:"ComparisonBinaryOperator",UnaryOperator:"UnaryOperator",Set:"Set",If:"If",For:"For",In:"In",Is:"Is",NotIn:"NotIn",Else:"Else",EndIf:"EndIf",ElseIf:"ElseIf",EndFor:"EndFor",And:"And",Or:"Or",Not:"UnaryOperator",Macro:"Macro",EndMacro:"EndMacro"}),Z=Object.freeze({set:X.Set,for:X.For,in:X.In,is:X.Is,if:X.If,else:X.Else,endif:X.EndIf,elif:X.ElseIf,endfor:X.EndFor,and:X.And,or:X.Or,not:X.Not,"not in":X.NotIn,macro:X.Macro,endmacro:X.EndMacro,true:X.BooleanLiteral,false:X.BooleanLiteral,True:X.BooleanLiteral,False:X.BooleanLiteral}),Y=class{constructor(t,e){this.value=t,this.type=e}};function Q(t){return/\w/.test(t)}function tt(t){return/[0-9]/.test(t)}var et=[["{%",X.OpenStatement],["%}",X.CloseStatement],["{{",X.OpenExpression],["}}",X.CloseExpression],["(",X.OpenParen],[")",X.CloseParen],["{",X.OpenCurlyBracket],["}",X.CloseCurlyBracket],["[",X.OpenSquareBracket],["]",X.CloseSquareBracket],[",",X.Comma],[".",X.Dot],[":",X.Colon],["|",X.Pipe],["<=",X.ComparisonBinaryOperator],[">=",X.ComparisonBinaryOperator],["==",X.ComparisonBinaryOperator],["!=",X.ComparisonBinaryOperator],["<",X.ComparisonBinaryOperator],[">",X.ComparisonBinaryOperator],["+",X.AdditiveBinaryOperator],["-",X.AdditiveBinaryOperator],["*",X.MultiplicativeBinaryOperator],["/",X.MultiplicativeBinaryOperator],["%",X.MultiplicativeBinaryOperator],["=",X.Equals]],rt=new Map([["n","\n"],["t","\t"],["r","\r"],["b","\b"],["f","\f"],["v","\v"],["'","'"],['"','"'],["\\","\\"]]);function nt(t,e={}){const r=[],n=function(t,e={}){return t.endsWith("\n")&&(t=t.slice(0,-1)),t=t.replace(/{#.*?#}/gs,"{##}"),e.lstrip_blocks&&(t=t.replace(/^[ \t]*({[#%])/gm,"$1")),e.trim_blocks&&(t=t.replace(/([#%]})\n/g,"$1")),t.replace(/{##}/g,"").replace(/-%}\s*/g,"%}").replace(/\s*{%-/g,"{%").replace(/-}}\s*/g,"}}").replace(/\s*{{-/g,"{{")}(t,e);let s=0;const i=t=>{let e="";for(;t(n[s]);)if("\\"!==n[s]){if(e+=n[s++],s>=n.length)throw new SyntaxError("Unexpected end of input")}else{if(++s,s>=n.length)throw new SyntaxError("Unexpected end of input");const t=n[s++],r=rt.get(t);if(void 0===r)throw new SyntaxError(`Unexpected escaped character: ${t}`);e+=r}return e};t:for(;s<n.length;){const t=r.at(-1)?.type;if(void 0===t||t===X.CloseStatement||t===X.CloseExpression){let t="";for(;s<n.length&&("{"!==n[s]||"%"!==n[s+1]&&"{"!==n[s+1]);)t+=n[s++];if(t.length>0){r.push(new Y(t,X.Text));continue}}i((t=>/\s/.test(t)));const e=n[s];if("-"===e||"+"===e){const t=r.at(-1)?.type;if(t===X.Text||void 0===t)throw new SyntaxError(`Unexpected character: ${e}`);switch(t){case X.Identifier:case X.NumericLiteral:case X.BooleanLiteral:case X.StringLiteral:case X.CloseParen:case X.CloseSquareBracket:break;default:{++s;const t=i(tt);r.push(new Y(`${e}${t}`,t.length>0?X.NumericLiteral:X.UnaryOperator));continue}}}for(const[t,e]of et){if(n.slice(s,s+t.length)===t){r.push(new Y(t,e)),s+=t.length;continue t}}if("'"!==e&&'"'!==e)if(tt(e)){const t=i(tt);r.push(new Y(t,X.NumericLiteral))}else{if(!Q(e))throw new SyntaxError(`Unexpected character: ${e}`);{const t=i(Q),e=Object.hasOwn(Z,t)?Z[t]:X.Identifier;e===X.In&&r.at(-1)?.type===X.Not?(r.pop(),r.push(new Y("not in",X.NotIn))):r.push(new Y(t,e))}}else{++s;const t=i((t=>t!==e));r.push(new Y(t,X.StringLiteral)),++s}}return r}var st=class{constructor(){this.type="Statement"}},it=class extends st{constructor(t){super(),this.body=t,this.type="Program"}},ot=class extends st{constructor(t,e,r){super(),this.test=t,this.body=e,this.alternate=r,this.type="If"}},at=class extends st{constructor(t,e,r,n){super(),this.loopvar=t,this.iterable=e,this.body=r,this.defaultBlock=n,this.type="For"}},ct=class extends st{constructor(t,e){super(),this.assignee=t,this.value=e,this.type="Set"}},ut=class extends st{constructor(t,e,r){super(),this.name=t,this.args=e,this.body=r,this.type="Macro"}},lt=class extends st{constructor(){super(...arguments),this.type="Expression"}},ht=class extends lt{constructor(t,e,r){super(),this.object=t,this.property=e,this.computed=r,this.type="MemberExpression"}},ft=class extends lt{constructor(t,e){super(),this.callee=t,this.args=e,this.type="CallExpression"}},pt=class extends lt{constructor(t){super(),this.value=t,this.type="Identifier"}},dt=class extends lt{constructor(t){super(),this.value=t,this.type="Literal"}},wt=class extends dt{constructor(){super(...arguments),this.type="NumericLiteral"}},mt=class extends dt{constructor(){super(...arguments),this.type="StringLiteral"}},yt=class extends dt{constructor(){super(...arguments),this.type="BooleanLiteral"}},bt=class extends dt{constructor(){super(...arguments),this.type="ArrayLiteral"}},gt=class extends dt{constructor(){super(...arguments),this.type="TupleLiteral"}},Et=class extends dt{constructor(){super(...arguments),this.type="ObjectLiteral"}},xt=class extends lt{constructor(t,e,r){super(),this.operator=t,this.left=e,this.right=r,this.type="BinaryExpression"}},vt=class extends lt{constructor(t,e){super(),this.operand=t,this.filter=e,this.type="FilterExpression"}},St=class extends lt{constructor(t,e){super(),this.iterable=t,this.test=e,this.type="SelectExpression"}},$t=class extends lt{constructor(t,e,r){super(),this.operand=t,this.negate=e,this.test=r,this.type="TestExpression"}},At=class extends lt{constructor(t,e){super(),this.operator=t,this.argument=e,this.type="UnaryExpression"}},kt=class extends lt{constructor(t=void 0,e=void 0,r=void 0){super(),this.start=t,this.stop=e,this.step=r,this.type="SliceExpression"}},Tt=class extends lt{constructor(t,e){super(),this.key=t,this.value=e,this.type="KeywordArgumentExpression"}};function Ct(t){const e=new it([]);let r=0;function n(e,n){const s=t[r++];if(!s||s.type!==e)throw new Error(`Parser Error: ${n}. ${s.type} !== ${e}.`);return s}function s(){let e;switch(t[r].type){case X.Text:e=new mt(n(X.Text,"Expected text token").value);break;case X.OpenStatement:e=function(){let e;switch(n(X.OpenStatement,"Expected opening statement token"),t[r].type){case X.Set:++r,e=a(),n(X.CloseStatement,"Expected closing statement token");break;case X.If:++r,e=c(),n(X.OpenStatement,"Expected {% token"),n(X.EndIf,"Expected endif token"),n(X.CloseStatement,"Expected %} token");break;case X.Macro:++r,e=function(){const t=x();if("Identifier"!==t.type)throw new SyntaxError("Expected identifier following macro statement");const e=y();n(X.CloseStatement,"Expected closing statement token");const r=[];for(;i(X.OpenStatement,X.EndMacro);)r.push(s());return new ut(t,e,r)}(),n(X.OpenStatement,"Expected {% token"),n(X.EndMacro,"Expected endmacro token"),n(X.CloseStatement,"Expected %} token");break;case X.For:++r,e=function(){const t=u(!0);if(!(t instanceof pt||t instanceof gt))throw new SyntaxError(`Expected identifier/tuple for the loop variable, got ${t.type} instead`);n(X.In,"Expected `in` keyword following loop variable");const e=l();n(X.CloseStatement,"Expected closing statement token");const a=[];for(;i(X.OpenStatement,X.EndFor)&&i(X.OpenStatement,X.Else);)a.push(s());const c=[];if(o(X.OpenStatement,X.Else))for(++r,++r,n(X.CloseStatement,"Expected closing statement token");i(X.OpenStatement,X.EndFor);)c.push(s());return new at(t,e,a,c)}(),n(X.OpenStatement,"Expected {% token"),n(X.EndFor,"Expected endfor token"),n(X.CloseStatement,"Expected %} token");break;default:throw new SyntaxError(`Unknown statement type: ${t[r].type} ${t[r].value}`)}return e}(),e.isStatement=!0;break;case X.OpenExpression:e=function(){n(X.OpenExpression,"Expected opening expression token");const t=l();return n(X.CloseExpression,"Expected closing expression token"),t}(),e.isStatement=!0;break;default:throw new SyntaxError(`Unexpected token type: ${t[r].type}`)}return e}function i(...e){return r+e.length<=t.length&&e.some(((e,n)=>e!==t[r+n].type))}function o(...e){return r+e.length<=t.length&&e.every(((e,n)=>e===t[r+n].type))}function a(){const t=l();if(o(X.Equals)){++r;const e=a();return new ct(t,e)}return t}function c(){const e=l();n(X.CloseStatement,"Expected closing statement token");const i=[],a=[];for(;t[r]?.type!==X.OpenStatement||t[r+1]?.type!==X.ElseIf&&t[r+1]?.type!==X.Else&&t[r+1]?.type!==X.EndIf;)i.push(s());if(t[r]?.type===X.OpenStatement&&t[r+1]?.type!==X.EndIf)if(++r,o(X.ElseIf))n(X.ElseIf,"Expected elseif token"),a.push(c());else for(n(X.Else,"Expected else token"),n(X.CloseStatement,"Expected closing statement token");t[r]?.type!==X.OpenStatement||t[r+1]?.type!==X.EndIf;)a.push(s());return new ot(e,i,a)}function u(t=!1){const e=t?x:l,n=[e()],s=o(X.Comma);for(;s&&(++r,n.push(e()),o(X.Comma)););return s?new gt(n):n[0]}function l(){return function(){const t=h();if(o(X.If)){++r;const e=h();if(o(X.Else)){++r;const n=h();return new ot(e,[t],[n])}return new St(t,e)}return t}()}function h(){let e=f();for(;o(X.Or);){const n=t[r];++r;const s=f();e=new xt(n,e,s)}return e}function f(){let e=p();for(;o(X.And);){const n=t[r];++r;const s=p();e=new xt(n,e,s)}return e}function p(){let e;for(;o(X.Not);){const n=t[r];++r;const s=p();e=new At(n,s)}return e??function(){let e=d();for(;o(X.ComparisonBinaryOperator)||o(X.In)||o(X.NotIn);){const n=t[r];++r;const s=d();e=new xt(n,e,s)}return e}()}function d(){let e=g();for(;o(X.AdditiveBinaryOperator);){const n=t[r];++r;const s=g();e=new xt(n,e,s)}return e}function w(){const e=function(){let e=x();for(;o(X.Dot)||o(X.OpenSquareBracket);){const s=t[r];let i;++r;const o=s.type!==X.Dot;if(o)i=b(),n(X.CloseSquareBracket,"Expected closing square bracket");else if(i=x(),"Identifier"!==i.type)throw new SyntaxError("Expected identifier following dot operator");e=new ht(e,i,o)}return e}();return o(X.OpenParen)?m(e):e}function m(t){let e=new ft(t,y());return o(X.OpenParen)&&(e=m(e)),e}function y(){n(X.OpenParen,"Expected opening parenthesis for arguments list");const t=function(){const t=[];for(;!o(X.CloseParen);){let e=l();if(o(X.Equals)){if(++r,!(e instanceof pt))throw new SyntaxError("Expected identifier for keyword argument");const t=l();e=new Tt(e,t)}t.push(e),o(X.Comma)&&++r}return t}();return n(X.CloseParen,"Expected closing parenthesis for arguments list"),t}function b(){const t=[];let e=!1;for(;!o(X.CloseSquareBracket);)o(X.Colon)?(t.push(void 0),++r,e=!0):(t.push(l()),o(X.Colon)&&(++r,e=!0));if(0===t.length)throw new SyntaxError("Expected at least one argument for member/slice expression");if(e){if(t.length>3)throw new SyntaxError("Expected 0-3 arguments for slice expression");return new kt(...t)}return t[0]}function g(){let e=E();for(;o(X.MultiplicativeBinaryOperator);){const n=t[r];++r;const s=E();e=new xt(n,e,s)}return e}function E(){let t=function(){let t=w();for(;o(X.Pipe);){++r;let e=x();if(!(e instanceof pt))throw new SyntaxError("Expected identifier for the filter");o(X.OpenParen)&&(e=m(e)),t=new vt(t,e)}return t}();for(;o(X.Is);){++r;const e=o(X.Not);e&&++r;let n=x();if(n instanceof yt&&(n=new pt(n.value.toString())),!(n instanceof pt))throw new SyntaxError("Expected identifier for the test");t=new $t(t,e,n)}return t}function x(){const e=t[r];switch(e.type){case X.NumericLiteral:return++r,new wt(Number(e.value));case X.StringLiteral:return++r,new mt(e.value);case X.BooleanLiteral:return++r,new yt("true"===e.value.toLowerCase());case X.Identifier:return++r,new pt(e.value);case X.OpenParen:{++r;const e=u();if(t[r].type!==X.CloseParen)throw new SyntaxError(`Expected closing parenthesis, got ${t[r].type} instead`);return++r,e}case X.OpenSquareBracket:{++r;const t=[];for(;!o(X.CloseSquareBracket);)t.push(l()),o(X.Comma)&&++r;return++r,new bt(t)}case X.OpenCurlyBracket:{++r;const t=new Map;for(;!o(X.CloseCurlyBracket);){const e=l();n(X.Colon,"Expected colon between key and value in object literal");const s=l();t.set(e,s),o(X.Comma)&&++r}return++r,new Et(t)}default:throw new SyntaxError(`Unexpected token: ${e.type}`)}}for(;r<t.length;)e.body.push(s());return e}function Ot(t,e,r=1){void 0===e&&(e=t,t=0);const n=[];for(let s=t;s<e;s+=r)n.push(s);return n}function jt(t,e,r,n=1){const s=Math.sign(n);s>=0?(e=(e??=0)<0?Math.max(t.length+e,0):Math.min(e,t.length),r=(r??=t.length)<0?Math.max(t.length+r,0):Math.min(r,t.length)):(e=(e??=t.length-1)<0?Math.max(t.length+e,-1):Math.min(e,t.length-1),r=(r??=-1)<-1?Math.max(t.length+r,-1):Math.min(r,t.length-1));const i=[];for(let o=e;s*o<s*r;o+=n)i.push(t[o]);return i}function Ft(t){return t.replace(/\b\w/g,(t=>t.toUpperCase()))}var Nt=class{constructor(t=void 0){this.type="RuntimeValue",this.builtins=new Map,this.value=t}__bool__(){return new Pt(!!this.value)}toString(){return""+this.value}toJSON(){return this.value}},It=class extends Nt{constructor(){super(...arguments),this.type="NumericValue"}},Rt=class t extends Nt{constructor(){super(...arguments),this.type="StringValue",this.builtins=new Map([["upper",new Ut((()=>new t(this.value.toUpperCase())))],["lower",new Ut((()=>new t(this.value.toLowerCase())))],["strip",new Ut((()=>new t(this.value.trim())))],["title",new Ut((()=>new t(Ft(this.value))))],["length",new It(this.value.length)],["rstrip",new Ut((()=>new t(this.value.trimEnd())))],["lstrip",new Ut((()=>new t(this.value.trimStart())))]])}},Pt=class extends Nt{constructor(){super(...arguments),this.type="BooleanValue"}},Mt=class extends Nt{constructor(t,e){super(t),this.orgValue=e,this.type="ObjectValue",this.builtins=new Map([["get",new Ut((([t,e])=>{if(!(t instanceof Rt))throw new Error(`Object key must be a string: got ${t.type}`);return this.value.get(t.value)??e??new _t}))],["items",new Ut((()=>new Vt(Array.from(this.value.entries()).map((([t,e])=>new Vt([new Rt(t),e]))))))]])}toString(){let t;return t=this.orgValue&&this.orgValue.toString!==Object.prototype.toString?this.orgValue.toString():JSON.stringify(Object.fromEntries(this.value.entries())),t}toJSON(){return this.orgValue?this.orgValue:Object.fromEntries(this.value.entries())}__bool__(){return new Pt(this.value.size>0)}},qt=class extends Mt{constructor(){super(...arguments),this.type="KeywordArgumentsValue"}},Vt=class extends Nt{constructor(){super(...arguments),this.type="ArrayValue",this.builtins=new Map([["length",new It(this.value.length)]])}__bool__(){return new Pt(this.value.length>0)}},Bt=class extends Vt{constructor(){super(...arguments),this.type="TupleValue"}},Ut=class extends Nt{constructor(){super(...arguments),this.type="FunctionValue"}},_t=class extends Nt{constructor(){super(...arguments),this.type="NullValue"}},Lt=class extends Nt{constructor(){super(...arguments),this.type="UndefinedValue"}},zt=class{constructor(t){this.parent=t,this.variables=new Map([["namespace",new Ut((t=>{if(0===t.length)return new Mt(new Map);if(1!==t.length||!(t[0]instanceof Mt))throw new Error("`namespace` expects either zero arguments or a single object argument");return t[0]}))]]),this.tests=new Map([["boolean",t=>"BooleanValue"===t.type],["callable",t=>t instanceof Ut],["odd",t=>{if("NumericValue"!==t.type)throw new Error(`Cannot apply test "odd" to type: ${t.type}`);return t.value%2!=0}],["even",t=>{if("NumericValue"!==t.type)throw new Error(`Cannot apply test "even" to type: ${t.type}`);return t.value%2==0}],["false",t=>"BooleanValue"===t.type&&!t.value],["true",t=>"BooleanValue"===t.type&&t.value],["string",t=>"StringValue"===t.type],["number",t=>"NumericValue"===t.type],["integer",t=>"NumericValue"===t.type&&Number.isInteger(t.value)],["iterable",t=>t instanceof Vt||t instanceof Rt],["lower",t=>{const e=t.value;return"StringValue"===t.type&&e===e.toLowerCase()}],["upper",t=>{const e=t.value;return"StringValue"===t.type&&e===e.toUpperCase()}],["none",t=>"NullValue"===t.type],["defined",t=>"UndefinedValue"!==t.type],["undefined",t=>"UndefinedValue"===t.type],["equalto",(t,e)=>t.value===e.value],["eq",(t,e)=>t.value===e.value]])}set(t,e){return this.declareVariable(t,Jt(e))}declareVariable(t,e){if(this.variables.has(t))throw new SyntaxError(`Variable already declared: ${t}`);return this.variables.set(t,e),e}setVariable(t,e){return this.variables.set(t,e),e}resolve(t){if(this.variables.has(t))return this;if(this.parent)return this.parent.resolve(t);throw new Error(`Unknown variable: ${t}`)}lookupVariable(t){try{return this.resolve(t).variables.get(t)??new Lt}catch{return new Lt}}},Dt=class{constructor(t){this.global=t??new zt}run(t){return this.evaluate(t,this.global)}evaluateBinaryExpression(t,e){const r=this.evaluate(t.left,e);switch(t.operator.value){case"and":return r.__bool__().value?this.evaluate(t.right,e):r;case"or":return r.__bool__().value?r:this.evaluate(t.right,e)}const n=this.evaluate(t.right,e);switch(t.operator.value){case"==":return new Pt(r.value==n.value);case"!=":return new Pt(r.value!=n.value)}if(r instanceof Lt||n instanceof Lt)throw new Error("Cannot perform operation on undefined values");if(r instanceof _t||n instanceof _t)throw new Error("Cannot perform operation on null values");if(r instanceof It&&n instanceof It)switch(t.operator.value){case"+":return new It(r.value+n.value);case"-":return new It(r.value-n.value);case"*":return new It(r.value*n.value);case"/":return new It(r.value/n.value);case"%":return new It(r.value%n.value);case"<":return new Pt(r.value<n.value);case">":return new Pt(r.value>n.value);case">=":return new Pt(r.value>=n.value);case"<=":return new Pt(r.value<=n.value)}else if(r instanceof Vt&&n instanceof Vt){if("+"===t.operator.value)return new Vt(r.value.concat(n.value))}else if(n instanceof Vt){const e=void 0!==n.value.find((t=>t.value===r.value));switch(t.operator.value){case"in":return new Pt(e);case"not in":return new Pt(!e)}}if((r instanceof Rt||n instanceof Rt)&&"+"===t.operator.value)return new Rt(r.toString()+n.toString());if(r instanceof Rt&&n instanceof Rt)switch(t.operator.value){case"in":return new Pt(n.value.includes(r.value));case"not in":return new Pt(!n.value.includes(r.value))}if(r instanceof Rt&&n instanceof Mt)switch(t.operator.value){case"in":return new Pt(n.value.has(r.value));case"not in":return new Pt(!n.value.has(r.value))}throw new SyntaxError(`Unknown operator "${t.operator.value}" between ${r.type} and ${n.type}`)}evaluateArguments(t,e){const r=[],n=new Map;for(const s of t)if("KeywordArgumentExpression"===s.type){const t=s;n.set(t.key.value,this.evaluate(t.value,e))}else{if(n.size>0)throw new Error("Positional arguments must come before keyword arguments");r.push(this.evaluate(s,e))}return[r,n]}evaluateFilterExpression(t,e){const r=this.evaluate(t.operand,e);if("Identifier"===t.filter.type){const n=t.filter,s=e.lookupVariable(n.value);if(s instanceof Ut)return s.value([r],e);if(r instanceof Vt)switch(n.value){case"list":return r;case"first":return r.value[0];case"last":return r.value[r.value.length-1];case"length":return new It(r.value.length);case"reverse":return new Vt(r.value.reverse());case"sort":return new Vt(r.value.sort(((t,e)=>{if(t.type!==e.type)throw new Error(`Cannot compare different types: ${t.type} and ${e.type}`);switch(t.type){case"NumericValue":return t.value-e.value;case"StringValue":return t.value.localeCompare(e.value);default:throw new Error(`Cannot compare type: ${t.type}`)}})));default:throw new Error(`Unknown ArrayValue filter: ${n.value}`)}else if(r instanceof Rt)switch(n.value){case"length":return new It(r.value.length);case"upper":return new Rt(r.value.toUpperCase());case"lower":return new Rt(r.value.toLowerCase());case"title":return new Rt(Ft(r.value));case"capitalize":return new Rt(r.value.charAt(0).toUpperCase()+r.value.slice(1));case"trim":return new Rt(r.value.trim());case"trimStart":return new Rt(r.value.trimStart());case"trimEnd":return new Rt(r.value.trimEnd());case"indent":return new Rt(r.value.split("\n").map(((t,e)=>0===e||0===t.length?t:" "+t)).join("\n"));case"string":return r;default:throw new Error(`Unknown StringValue filter: ${n.value}`)}else{if(r instanceof It){if("abs"===n.value)return new It(Math.abs(r.value));throw new Error(`Unknown NumericValue filter: ${n.value}`)}if(r instanceof Mt)switch(n.value){case"items":return new Vt(Array.from(r.value.entries()).map((([t,e])=>new Vt([new Rt(t),e]))));case"length":return new It(r.value.size);case"string":return new Rt(r.toString());default:throw new Error(`Unknown ObjectValue filter: ${n.value}`)}}throw new Error(`Cannot apply filter "${n.value}" to type: ${r.type}`)}if("CallExpression"===t.filter.type){const n=t.filter;if("Identifier"!==n.callee.type)throw new Error(`Unknown filter: ${n.callee.type}`);const s=n.callee.value,i=e.lookupVariable(s);if(i instanceof Ut){const[t,s]=this.evaluateArguments(n.args,e);return s.size>0&&t.push(new qt(s)),i.value([r,...t],e)}if(r instanceof Vt){switch(s){case"selectattr":{if(r.value.some((t=>!(t instanceof Mt))))throw new Error("`selectattr` can only be applied to array of objects");if(n.args.some((t=>"StringLiteral"!==t.type)))throw new Error("arguments of `selectattr` must be strings");const[t,s,i]=n.args.map((t=>this.evaluate(t,e)));let o;if(s){const t=e.tests.get(s.value);if(!t)throw new Error(`Unknown test: ${s.value}`);o=t}else o=(...t)=>t[0].__bool__().value;const a=r.value.filter((e=>{const r=e.value.get(t.value);return!!r&&o(r,i)}));return new Vt(a)}case"map":{const[,t]=this.evaluateArguments(n.args,e);if(t.has("attribute")){const e=t.get("attribute");if(!(e instanceof Rt))throw new Error("attribute must be a string");const n=t.get("default"),s=r.value.map((t=>{if(!(t instanceof Mt))throw new Error("items in map must be an object");return t.value.get(e.value)??n??new Lt}));return new Vt(s)}throw new Error("`map` expressions without `attribute` set are not currently supported.")}}throw new Error(`Unknown ArrayValue filter: ${s}`)}if(r instanceof Rt){if("indent"===s){const[t,s]=this.evaluateArguments(n.args,e),i=t.at(0)??s.get("width")??new It(4);if(!(i instanceof It))throw new Error("width must be a number");const o=t.at(1)??s.get("first")??new Pt(!1),a=t.at(2)??s.get("blank")??new Pt(!1),c=r.value.split("\n"),u=" ".repeat(i.value),l=c.map(((t,e)=>!o.value&&0===e||!a.value&&0===t.length?t:u+t));return new Rt(l.join("\n"))}throw new Error(`Unknown StringValue filter: ${s}`)}throw new Error(`Cannot apply filter "${s}" to type: ${r.type}`)}throw new Error(`Unknown filter: ${t.filter.type}`)}evaluateTestExpression(t,e){const r=this.evaluate(t.operand,e),n=e.tests.get(t.test.value);if(!n)throw new Error(`Unknown test: ${t.test.value}`);const s=n(r);return new Pt(t.negate?!s:s)}evaluateUnaryExpression(t,e){const r=this.evaluate(t.argument,e);if("not"===t.operator.value)return new Pt(!r.value);throw new SyntaxError(`Unknown operator: ${t.operator.value}`)}evalProgram(t,e){return this.evaluateBlock(t.body,e)}evaluateBlock(t,e){let r="";for(const n of t){const t=this.evaluate(n,e);"NullValue"!==t.type&&"UndefinedValue"!==t.type&&(r+=t)}return new Rt(r)}evaluateIdentifier(t,e){return e.lookupVariable(t.value)}evaluateCallExpression(t,e){const[r,n]=this.evaluateArguments(t.args,e);n.size>0&&r.push(new qt(n));const s=this.evaluate(t.callee,e);if("FunctionValue"!==s.type)throw new Error(`Cannot call something that is not a function: got ${s.type}`);return s.value(r,e)}evaluateSliceExpression(t,e,r){if(!(t instanceof Vt||t instanceof Rt))throw new Error("Slice object must be an array or string");const n=this.evaluate(e.start,r),s=this.evaluate(e.stop,r),i=this.evaluate(e.step,r);if(!(n instanceof It||n instanceof Lt))throw new Error("Slice start must be numeric or undefined");if(!(s instanceof It||s instanceof Lt))throw new Error("Slice stop must be numeric or undefined");if(!(i instanceof It||i instanceof Lt))throw new Error("Slice step must be numeric or undefined");return t instanceof Vt?new Vt(jt(t.value,n.value,s.value,i.value)):new Rt(jt(Array.from(t.value),n.value,s.value,i.value).join(""))}evaluateMemberExpression(t,e){const r=this.evaluate(t.object,e);let n,s;if(t.computed){if("SliceExpression"===t.property.type)return this.evaluateSliceExpression(r,t.property,e);n=this.evaluate(t.property,e)}else n=new Rt(t.property.value);if(r instanceof Mt){if(!(n instanceof Rt))throw new Error(`Cannot access property with non-string: got ${n.type}`);s=r.value.get(n.value)??r.builtins.get(n.value)}else if(r instanceof Vt||r instanceof Rt)if(n instanceof It)s=r.value.at(n.value),r instanceof Rt&&(s=new Rt(r.value.at(n.value)));else{if(!(n instanceof Rt))throw new Error(`Cannot access property with non-string/non-number: got ${n.type}`);s=r.builtins.get(n.value)}else{if(!(n instanceof Rt))throw new Error(`Cannot access property with non-string: got ${n.type}`);s=r.builtins.get(n.value)}return s instanceof Nt?s:new Lt}evaluateSet(t,e){const r=this.evaluate(t.value,e);if("Identifier"===t.assignee.type){const n=t.assignee.value;e.setVariable(n,r)}else{if("MemberExpression"!==t.assignee.type)throw new Error(`Invalid LHS inside assignment expression: ${JSON.stringify(t.assignee)}`);{const n=t.assignee,s=this.evaluate(n.object,e);if(!(s instanceof Mt))throw new Error("Cannot assign to member of non-object");if("Identifier"!==n.property.type)throw new Error("Cannot assign to member with non-identifier property");s.value.set(n.property.value,r)}}return new _t}evaluateIf(t,e){const r=this.evaluate(t.test,e);return this.evaluateBlock(r.__bool__().value?t.body:t.alternate,e)}evaluateFor(t,e){const r=new zt(e);let n,s;if("SelectExpression"===t.iterable.type){const e=t.iterable;s=this.evaluate(e.iterable,r),n=e.test}else s=this.evaluate(t.iterable,r);if(!(s instanceof Vt))throw new Error(`Expected iterable type in for loop: got ${s.type}`);const i=[],o=[];for(let e=0;e<s.value.length;++e){const a=new zt(r),c=s.value[e];let u;if("Identifier"===t.loopvar.type)u=e=>e.setVariable(t.loopvar.value,c);else{if("TupleLiteral"!==t.loopvar.type)throw new Error(`Invalid loop variable(s): ${t.loopvar.type}`);{const e=t.loopvar;if("ArrayValue"!==c.type)throw new Error(`Cannot unpack non-iterable type: ${c.type}`);const r=c;if(e.value.length!==r.value.length)throw new Error(`Too ${e.value.length>r.value.length?"few":"many"} items to unpack`);u=t=>{for(let n=0;n<e.value.length;++n){if("Identifier"!==e.value[n].type)throw new Error(`Cannot unpack non-identifier type: ${e.value[n].type}`);t.setVariable(e.value[n].value,r.value[n])}}}}if(n){u(a);if(!this.evaluate(n,a).__bool__().value)continue}i.push(c),o.push(u)}let a="",c=!0;for(let e=0;e<i.length;++e){const n=new Map([["index",new It(e+1)],["index0",new It(e)],["revindex",new It(i.length-e)],["revindex0",new It(i.length-e-1)],["first",new Pt(0===e)],["last",new Pt(e===i.length-1)],["length",new It(i.length)],["previtem",e>0?i[e-1]:new Lt],["nextitem",e<i.length-1?i[e+1]:new Lt]]);r.setVariable("loop",new Mt(n)),o[e](r);a+=this.evaluateBlock(t.body,r).value,c=!1}if(c){a+=this.evaluateBlock(t.defaultBlock,r).value}return new Rt(a)}evaluateMacro(t,e){return e.setVariable(t.name.value,new Ut(((e,r)=>{const n=new zt(r);let s;e=e.slice(),"KeywordArgumentsValue"===e.at(-1)?.type&&(s=e.pop());for(let r=0;r<t.args.length;++r){const i=t.args[r],o=e[r];if("Identifier"===i.type){const t=i;if(!o)throw new Error(`Missing positional argument: ${t.value}`);n.setVariable(t.value,o)}else{if("KeywordArgumentExpression"!==i.type)throw new Error(`Unknown argument type: ${i.type}`);{const t=i,e=o??s?.value.get(t.key.value)??this.evaluate(t.value,n);n.setVariable(t.key.value,e)}}}return this.evaluateBlock(t.body,n)}))),new _t}evaluate(t,e){if(void 0===t)return new Lt;switch(t.type){case"Program":return this.evalProgram(t,e);case"Set":return this.evaluateSet(t,e);case"If":return this.evaluateIf(t,e);case"For":return this.evaluateFor(t,e);case"Macro":return this.evaluateMacro(t,e);case"NumericLiteral":return new It(Number(t.value));case"StringLiteral":return new Rt(t.value);case"BooleanLiteral":return new Pt(t.value);case"ArrayLiteral":return new Vt(t.value.map((t=>this.evaluate(t,e))));case"TupleLiteral":return new Bt(t.value.map((t=>this.evaluate(t,e))));case"ObjectLiteral":{const r=new Map;for(const[n,s]of t.value){const t=this.evaluate(n,e);if(!(t instanceof Rt))throw new Error(`Object keys must be strings: got ${t.type}`);r.set(t.value,this.evaluate(s,e))}return new Mt(r,t.value)}case"Identifier":return this.evaluateIdentifier(t,e);case"CallExpression":return this.evaluateCallExpression(t,e);case"MemberExpression":return this.evaluateMemberExpression(t,e);case"UnaryExpression":return this.evaluateUnaryExpression(t,e);case"BinaryExpression":return this.evaluateBinaryExpression(t,e);case"FilterExpression":return this.evaluateFilterExpression(t,e);case"TestExpression":return this.evaluateTestExpression(t,e);default:throw new SyntaxError(`Unknown node type: ${t.type}`)}}};function Jt(t){switch(typeof t){case"number":return new It(t);case"string":return new Rt(t);case"boolean":return new Pt(t);case"undefined":return new Lt;case"object":return null===t?new _t:Array.isArray(t)?new Vt(t.map(Jt)):new Mt(new Map(Object.entries(t).map((([t,e])=>[t,Jt(e)]))),t);case"function":return new Ut(((e,r)=>{const n=e.map((t=>Wt(t)));return Jt(t(...n)??null)}));default:throw new Error(`Cannot convert to runtime value: ${t}`)}}function Wt(t){let e=t;if(Array.isArray(t))e=t.map((t=>Wt(t)));else if(t instanceof Map)e={},t.forEach(((t,r)=>{e[r]=Wt(t)}));else switch(t.type){case"NullValue":e=null;break;case"UndefinedValue":e=void 0;break;case"ArrayValue":e=t.value.map((t=>Wt(t)));break;case"KeywordArgumentsValue":case"ObjectValue":e=t.orgValue?t.orgValue:Wt(t.value),"KeywordArgumentsValue"===t.type&&Object.setPrototypeOf(e,{jinja_kargs:!0});break;default:t.type&&(e=t.value)}return e}function Ht(t,e=0){return Math.floor(Math.random()*(t-e+1))+e}var Kt={randomInt:Ht,select:function(t,e){if(Array.isArray(t)||"string"==typeof t)return void 0===e?e=Ht(t.length-1):"string"==typeof e&&(e=parseInt(e)),e<0&&(e=t.length+e),t[e];if(t&&"object"==typeof t){if(void 0===e){const r=Object.keys(t);e=r[Ht(r.length-1)]}return t[e]}},tojson:function(t,e,r){return e&&"object"==typeof e&&(e.depth&&(r=e.depth),e=e.indent),Gt(t,e,r)}};function Gt(t,e,r){let n="";const s=r??0;if(null===t)n="null";else{const r=typeof t;switch(r){case"undefined":n="null";case"number":case"string":case"boolean":return JSON.stringify(t);case"object":{const r=e?" ".repeat(e):"",n="\n"+r.repeat(s),i=n+r;if(Array.isArray(t)){const r=t.map((t=>Gt(t,e,s+1)));return e?`[${i}${r.join(`,${i}`)}${n}]`:`[${r.join(", ")}]`}{const r=Array.from(Object.entries(t)).map((([t,r])=>{const n=`"${t}": ${Gt(r,e,s+1)}`;return e?`${i}${n}`:n}));return e?`{${r.join(",")}${n}}`:`{${r.join(", ")}}`}}default:throw new Error(`Cannot convert to JSON: ${r}`)}}return n}var Xt=class extends zt{constructor(t){super(t),this.parent=t}assign(t){for(const[e,r]of Object.entries(t))this.set(e,r)}clear(){this.variables.clear()}},Zt=class t{static{this.global=new Xt}constructor(t,e={}){const r=nt(t,e={lstrip_blocks:!0,trim_blocks:!0,...e});this.parsed=Ct(r)}render(e){const r=new zt(t.global);r.set("false",!1),r.set("true",!0),r.set("raise_exception",(t=>{throw new Error(t)})),r.set("range",Ot);for(const[t,n]of Object.entries(e))r.set(t,n);return new Dt(r).run(this.parsed).toString()}};function Yt(t,e){let r;switch(t.type){case"Identifier":r=t.value;break;case"MemberExpression":r=Yt(t.object,e);break;case"FilterExpression":r=Yt(t.operand,e);break;case"Set":{e||(e=[]);const n=Yt(t.assignee);n&&e.push(n),r=Yt(t.value,e);break}}return r&&e?.includes(r)&&(r=void 0),r}function Qt(t){let e;if("Program"===t.type)e=t.body.some((t=>Qt(t)));else e=t.isStatement;return e}function te(t,e){let r=[];if(Array.isArray(t))r=t.map((t=>te(t,e))).filter(Boolean).flat();else switch(t.type){case"Program":r=t.body.map((t=>te(t,e))).filter(Boolean).flat();break;case"If":r=[Yt(t.test,e),...te(t.body,e),...te(t.alternate,e)].filter(Boolean);break;case"BinaryExpression":r=[Yt(t.left,e),Yt(t.right,e)].filter(Boolean);break;case"For":{const n=Yt(t.loopvar);n&&(e||(e=[]),e.push(n)),r=[Yt(t.iterable,e),...te(t.body,e)].filter(Boolean);break}case"CallExpression":r=[Yt(t.callee,e),...te(t.args,e)].filter(Boolean);break;default:r=[Yt(t,e)].filter(Boolean)}return r}Zt.global.assign(Kt);var ee=class extends W{static isTemplate(t){let e,r,n=!1;if("object"==typeof t?(r=t.template,e=t.compiledTemplate):r=t,!e&&r)try{e=new Zt(r)}catch(t){}return e&&(n=Qt(e.parsed)),n}getVariables(t=this.compiledTemplate){return te(t.parsed,[]).filter(((t,e,r)=>r.indexOf(t)===e))}_initialize(t){const e=t?.template;if("string"!=typeof e)throw new A("Prompt template must be a string","PromptTemplate",400);this.compiledTemplate=new Zt(e),this.inputVariables=Array.isArray(t?.inputVariables)?t.inputVariables:this.getVariables()}_format(t){return this.compiledTemplate.render(t)}};function re(t){return function(e){return t}}function ne(t){const e=t.split(""),r=[],n=(t,r)=>{for(let n=r;n<e.length;n+=1)if(t.includes(e[n]))return n;return-1};let s=0;for(;s<e.length;)if("{"===e[s]&&s+1<e.length&&"{"===e[s+1])r.push({type:"literal",text:"{"}),s+=2;else if("}"===e[s]&&s+1<e.length&&"}"===e[s+1])r.push({type:"literal",text:"}"}),s+=2;else if("{"===e[s]){const t=n("}",s);if(t<0)throw new Error("Unclosed '{' in template.");r.push({type:"variable",name:e.slice(s+1,t).join("")}),s=t+1}else{if("}"===e[s])throw new Error("Single '}' in template.");{const t=n("{}",s),i=(t<0?e.slice(s):e.slice(s,t)).join("");r.push({type:"literal",text:i}),s=t<0?e.length:t}}return r}function se(t,e){return t.reduce(((t,r)=>{let n;return n="variable"===r.type?r.name in e?t+e[r.name]:t:t+r.text,n}),"")}function ie(t){const e=new Set;return t.forEach((t=>{"variable"===t.type&&e.add(t.name)})),[...e]}W.register(ee,{name:"hf",aliases:["huggingface","internal","default"]});var oe=class extends W{static isTemplate(t){let e,r,n=!1;if("object"==typeof t?(r=t.template,e=t.compiledTemplate):r=t,!e&&r)try{e=ne(r)}catch(t){}if(e){n=ie(e).length>0}return n}getVariables(t=this.compiledTemplate){return ie(t)}_initialize(t){const e=t?.template;if("string"!=typeof e)throw new A("Prompt template must be a string","PromptTemplate",400);this.compiledTemplate=ne(e),this.inputVariables=Array.isArray(t?.inputVariables)?t.inputVariables:this.getVariables()}_format(t){return se(this.compiledTemplate,t)}};function ae(t,e){return"string"==typeof e&&(e=e.split(".").filter((t=>t.length))),e.reduce(((t,e)=>t?.[e]),t)}function ce(t,e,r){let n=function(t,e,r){return t.replace(/{{\s*re_replace\s+\.(.+?)\s+(["'])([^\2]*?)\2\s+(["'])([^\4]*?)\4\s*}}/g,((t,n,s,i,o,a)=>{if(r)return e[n]=null,t;const c=new RegExp(i,"g");return ae(e,n).replace(c,a)}))}(t,e,r);return n=function(t,e,r){return t.replace(/{{\s*join\s+\.(.+?)\s+(["'])([^\2]*?)\2\s*}}/g,((t,n,s,i)=>r?(e[n]=null,t):ae(e,n).join(i)))}(n,e,r),n=function(t,e,r){return t.replace(/{{\s*if\s*(\S+?)\s*}}([^{]*)({{\s*else\s*}}([^{]*))?{{\s*end\s*}}/g,((t,n,s,i,o)=>{if(r)return n.startsWith(".")&&(n=n.substring(1)),e[n]=null,t;let a;if(!n.startsWith("."))throw new Error("Functionality not implemented");{const t=ae(e,n.substring(1));if(null==t)a=o??"";else if("string"==typeof t)a=t.length>0?s:o??"";else if(Array.isArray(t))a=t.length>0?s:o??"";else{if("boolean"!=typeof t)throw new Error(`Unexpected type for variable ${n}: ${typeof t}`);a=t?s:o??""}}return a}))}(n,e,r),n=function(t,e,r){return t.replace(/{{\s*range\s*[.$]([^{}\s]+?)\s*}}([^{]*?){{\.}}([^{]*?){{\s*end\s*}}/g,((t,n,s,i)=>{if(r)return e[n]=null,t;const o=ae(e,n);if(Array.isArray(o)){let t="";for(const e of o)t+=`${s}${e}${i}`;return t}return t}))}(n,e,r),n=function(t,e,r){return t.replace(/{{\s*\.([^{}\s]+?)\s*}}/g,((t,n)=>r?(e[n]=null,t):ae(e,n)||""))}(n,e,r),n=function(t,e,r){return t.replace(/{{\s*index\s*\.(.+?)\s+(.+?)\s*}}/g,((t,n,s)=>{if(r)return e[n]=null,t;const i=ae(e,n);let o;return o=isNaN(s)?i[s.substring(1,s.length-1)]:i[parseInt(s,10)],o||""}))}(n,e,r),n}W.register(oe,{name:"fstring",aliases:["python","f-string","langchain"]});var ue=class extends W{static isTemplate(t){const e="string"==typeof t?t:t.template;return e?.includes("{{")&&e.includes("}}")}getVariables(t){const e={};return ce(t,e,!0),[...Object.keys(e)]}_initialize(t){const e=t?.template;if("string"!=typeof e)throw new A("Prompt template must be a string","PromptTemplate",400);this.inputVariables=Array.isArray(t?.inputVariables)?t.inputVariables:this.getVariables(e)}_format(t){return ce(this.template,t)}};function le(t){return Object.keys(t).sort().map((e=>t[e]))}W.register(ue,{name:"golang",aliases:["localai","ollama"]});var he=class extends W{static from(t){return new this(t)}constructor(t){super(t)}_initialize(t){t&&(t.suffix&&(this.suffix=t.suffix),t.exampleSeparator&&(this.exampleSeparator=t.exampleSeparator),t.prefix&&(this.prefix=t.prefix),t.examplePrompt&&(this.examplePrompt=t.examplePrompt instanceof W?t.examplePrompt:W.from(t.examplePrompt)),t.examples&&(this.examples=t.examples)),this.prefix||(this.prefix=""),this.exampleSeparator||(this.exampleSeparator="\n\n"),this.suffix||(this.suffix="")}async _format(t){const e=[];for await(const t of this.examples)if(this.examplePrompt){const r=await this.examplePrompt.format(t);e.push(r)}else if("string"==typeof t)e.push(t);else if(t){const r=le(t);r.length>0&&e.push(...r)}const r=[this.prefix,...e,this.suffix].join(this.exampleSeparator),n=this.templateFormat;return await W.format({template:r,data:t,templateFormat:n})}toJSON(t=this){const e=super.toJSON(t);return t.suffix&&(e.suffix=t.suffix),t.exampleSeparator&&(e.exampleSeparator=t.exampleSeparator),t.prefix&&(e.prefix=t.prefix),t.examplePrompt&&(e.examplePrompt=t.examplePrompt),t.examples&&(e.examples=t.examples),e}};W.register(he,{name:"fewshot",aliases:["few_shot"]});var fe=/(\\)?(\$)(?!\()(\{?)([\w.]+)(?::?-((?:\$\{(?:\$\{(?:\$\{[^}]*\}|[^}])*}|[^}])*}|[^}])+))?(\}?)/gi;function pe(t){return t.replace(/\\\$/g,"$")}function de(t,e,r){return t.replace(fe,((n,s,i,o,a,c,u)=>"\\"===s?n.slice(1):e[a]?e[a]===r[a]?e[a]:de(e[a],e,r):r[a]?r[a]===t?r[a]:de(r[a],e,r):c?c.startsWith("$")?de(c,e,r):c:""))}function we(t){let e=process.env;t&&null!=t.processEnv&&(e=t.processEnv);for(const r in t.parsed){let n=t.parsed[r];if(!n)continue;n=Object.prototype.hasOwnProperty.call(e,r)?e[r]===t.parsed[r]?de(n,e,t.parsed):e[r]:de(n,e,t.parsed),t.parsed[r]=n?pe(n):n}for(const r in t.parsed)e[r]=t.parsed[r];return t}function me(t,e={},r){switch(r||(r=new WeakSet),e.processEnv||(e.processEnv={...process.env}),e.parsed||(e.parsed=e.processEnv),typeof t){case"string":t=de(t,e.processEnv,e.parsed);break;case"object":if(r.has(t))return t;if(r.add(t),Array.isArray(t))for(let n=0;n<t.length;n++){const s=t[n];"string"!=typeof s&&"object"!=typeof s||(t[n]=me(t[n],e,r))}else for(const[n,s]of Object.entries(t))"string"!=typeof s&&"object"!=typeof s||(t[n]=me(s,e,r))}return t}var ye="@",be=/(\S.+?[.!?])(?=\s+|$)|(\S.+?)(?=[\n]|$)/g,ge=/([A-Z][a-z]{1,2}\.)\s(\w)/g,Ee=/(\.[a-zA-Z]\.)\s(\w)/g,xe=new RegExp("([A-Z][a-z]{1,2}\\.)"+ye+"(\\w)","g"),ve=new RegExp("(\\.[a-zA-Z]\\.)"+ye+"(\\w)","g");function Se(t,e,r){const n="$1"+e+"$2";let s=t;for(let t=0;t<r.length;t++)s=s.replace(r[t],n);return s}function $e(t,e=!0){const r=(t=(t=(t=(t=(t=t.replace(/([。!??])\1+/g,"$1")).replace(/([。!??])([^”’])/g,"$1\n$2")).replace(/(\.{6})([^”’])/g,"$1\n$2")).replace(/(…{2})([^”’])/g,"$1\n$2")).replace(/([。!??][”’])([^,。!??])/g,"$1\n$2")).split("\n");let n=[];for(let t=0;t<r.length;t++){let s=r[t].trim();if(!s)continue;if(!e){n.push(s);continue}let i=Se(s,ye,[ge,Ee]),o=Array.from(i.matchAll(be));if(o.length)for(let t=0;t<o.length;t++){let e=Se(o[t][0]," ",[xe,ve]);n.push(e)}else n.push(s)}return n}function Ae(t,e=2,r=.5){const n=10**e;return Math.trunc((t+Number.EPSILON+r/n)*n)/n}async function ke(t){return new Promise((e=>setTimeout(e,t)))}var Te=require("custom-ability"),Ce="event",Oe="event-bus";var je=(0,Te.createAbilityInjector)((function(t){return class{static get emitter(){if(!this._emitter){const t=this.get(Oe)?.emitter;t&&(this._emitter=t,this.prototype._events=t._events)}return this._emitter}get emitter(){return this.constructor._emitter}on(e,r){const n=t.emitter;if(!n)throw new TypeError("EventBackend required");return n.on(e,r)}once(e,r){const n=t.emitter;if(!n)throw new TypeError("EventBackend required");return n.once(e,r)}off(e,r){const n=t.emitter;if(!n)throw new TypeError("EventBackend required");return n.off(e,r)}emit(e,...r){const n=t.emitter;if(!n)throw new TypeError("EventBackend required");return"error"===e?this.emitError.apply(this,r):n.emit.call(this,e,this.name,...r)}emitError(e,...r){const n=t.emitter;if(!n)throw new TypeError("EventBackend required");return n.emit.call(this,"error",e,this.name,...r)}async emitAsync(e,...r){const n=t.emitter;if(!n)throw new TypeError("EventBackend required");return n.emitAsync.call(this,e,this.name,...r)}}}),!0);function Fe(t,e){return!t||t.some((t=>t instanceof RegExp?t.test(e):t===e))}var Ne=498,Ie=class{get active(){return this._active}set active(t){t!==this._active&&(t?(this.pingTimer&&(clearInterval(this.pingTimer),this.pingTimer=void 0),this.options.pingInterval>0&&(this.pingTimer=setInterval((()=>this.publish()),this.options.pingInterval))):(this.clients.size&&this.clearClients(),this.pingTimer&&(clearInterval(this.pingTimer),this.pingTimer=void 0)),this._active=t)}constructor(t){this.options=Object.assign({},{pingInterval:3e3,maxStreamDuration:3e4,clientRetryInterval:1e3,startId:1,historySize:100,rewind:0,cors:!1},t),this.nextID=this.options.startId,this.clients=new Set,this.messages=[],this.active=!0}publish(t,e){let r,n;this.active||F("Channel closed","SSEChannel",Ne);let s=e;if(t||e)n=this.nextID++,"object"==typeof t&&(t.event?(s=t.event,void 0!==t.data&&(t=JSON.stringify(t.data))):t=JSON.stringify(t)),t=t?t.split(/[\r\n]+/).map((t=>"data: "+t)).join("\n"):"",r="id: "+n+"\n"+(e?"event: "+e+"\n":"")+(t||"data: ")+"\n\n",this.messages.push({id:n,_eventName:s,output:r});else{if(!this.clients.size)return;r="data: \n\n"}for([...this.clients].filter((t=>!s||Fe(t.events,s))).forEach(((t,e)=>{t.res.write(r)}));this.messages.length>this.options.historySize;)this.messages.shift();return n}subscribe(t,e,r){this.active||F("Channel closed","SSEChannel",Ne);const n={req:t,res:e,events:r},s=this.options.maxStreamDuration;let i="max-age=0, stale-while-revalidate=0, stale-if-error=0, no-transform";s>0&&(i+=", s-maxage="+(Math.floor(s/1e3)-1));const o={"Content-Type":"text/event-stream","Cache-Control":i,Connection:"keep-alive"};this.options.cors&&(o["access-control-allow-origin"]="*"),n.req.socket.setNoDelay(!0),n.res.writeHead(200,o);let a="retry: "+this.options.clientRetryInterval+"\n\n";const c=Number.parseInt(t.headers["last-event-id"],10),u=Number.isNaN(c)?this.options.rewind:this.nextID-1-c;return u&&this.messages.filter((t=>Fe(n.events,t.eventName))).slice(0-u).forEach((t=>{a+=t.output})),n.res.write(a),this.clients.add(n),s>0&&setTimeout((()=>{n.res.writableEnded||this.unsubscribe(n)}),s),n.res.on("close",(()=>this.unsubscribe(n))),n}unsubscribe(t){t.res.end(),this.clients.delete(t)}clearClients(){this.clients.forEach((t=>t.res.end())),this.clients.clear()}listClients(){const t={};return this.clients.forEach((e=>{const r=e.req.socket.remoteAddress??"";r in t||(t[r]=0),t[r]++})),t}getSubscriberCount(){return this.clients.size}};function Re(t){return t instanceof ReadableStream||t instanceof WritableStream}var Pe=600,Me=601,qe=class extends ${constructor(t,e=Pe){super(t,500)}};function Ve(t){if(t){const e=t.getReader();return new ReadableStream({async start(t){const{done:r,value:n}=await e.read();if(!r){const e=(new TextDecoder).decode(n);t.error(new qe(`Response error: ${e}`,Me))}}})}return new ReadableStream({start(t){t.error(new qe("Response error: No response body",Me))}})}function Be(){return new ReadableStream({start(t){t.close()}})}var Ue=require("eventsource-parser");function _e(t){const e=new TextDecoder;let r;return new TransformStream({async start(e){r=(0,Ue.createParser)((r=>{if("data"in r&&"event"===r.type&&"[DONE]"===r.data||"done"===r.event)e.terminate();else if("data"in r){const n=t?t(r.data,{event:r.event}):r.data;n&&e.enqueue(n)}}))},transform(t){r.feed(e.decode(t))}})}function Le(){let t=!0;return e=>(t&&(e=e.trimStart())&&(t=!1),e)}function ze(t,e){if(!t.ok)return Ve(t.body);let r=t.body||new ReadableStream({start(t){t.close()}});return r instanceof ReadableStream||(r=ReadableStream.from(r)),r.pipeThrough(_e(e))}function De(t){let e=t[Symbol.asyncIterator]();return new ReadableStream({async pull(t){const{done:r,value:n}=await e.next();r?t.close():t.enqueue(n)},async cancel(t){await(e.return?.(t))}})}function Je(t){const e=t||{};return new TransformStream({async start(t){const r=t.error;if(t.error=n=>{r.call(t,n),e.onError&&e.onError(n)},e.onStart)try{await e.onStart(t)}catch(e){t.error(e)}},async transform(t,r){try{let n;e.onTransform&&(n=await e.onTransform(t,r)),n||(n=t),r.enqueue(n)}catch(t){r.error(t)}},async flush(t){if(e.onFinal)try{await e.onFinal(t)}catch(e){return t.error(e)}t.terminate()}})}var We={};a(We,{XXHashAlgorithm:()=>cr,base32768:()=>rr,uuid:()=>Ze,uuidNIL:()=>Ge.NIL,uuidParse:()=>Ge.parse,uuidStringify:()=>Ge.stringify,uuidValidate:()=>Ge.validate,uuidVersion:()=>Ge.version,uuidv1:()=>Ge.v1,uuidv4:()=>Ge.v4,uuidv5:()=>Ge.v5,xxhash:()=>ur,xxhash32:()=>or,xxhash64:()=>ar,xxhashAsStr:()=>lr});var He=require("uuid"),Ke=l(require("base32768")),Ge=require("uuid"),Xe={1:He.v1,4:He.v4,5:He.v5};function Ze(t=1,e){const r=Xe[t];return e?Ke.encode(r(null,[])):r()}var Ye={};a(Ye,{XXHashAlgorithm:()=>cr,base32768:()=>rr,xxhash:()=>ur,xxhash32:()=>or,xxhash64:()=>ar,xxhashAsStr:()=>lr});var Qe=l(require("xxhashjs")),tr=l(require("base32768")),er=require("json-canonicalize");u(Ye,require("json-canonicalize"));var rr=tr,{h32:nr,h64:sr}=Qe.default,ir=588213;function or(t,e=16){return"object"==typeof t&&(t=(0,er.canonicalize)(t)),nr(t,ir).toString(e)}function ar(t,e=16){return"object"==typeof t&&(t=(0,er.canonicalize)(t)),sr(t,ir).toString(e)}var cr=(t=>(t[t.xxhash64=111]="xxhash64",t[t.xxhash32=112]="xxhash32",t))(cr||{});function ur(t,e=111,r=ir){let n;return t.buffer&&(t=t.buffer),112!==e?(n=sr(t,r),n=new Uint16Array([n._a00,n._a16,n._a32,n._a48]),n=new Uint8Array(n.buffer)):(n=nr(t,r),n=new Uint16Array([n._low,n._high]),n=new Uint8Array(n.buffer)),n}function lr(t,e=111,r=ir){return tr.encode(ur(t,e,r))}u(We,Ye),u(f,We);var hr=l(require("path")),fr=/[<>:"/\\|?*\u0000-\u001F]/,pr=/^(con|prn|aux|nul|com\d|lpt\d)$/i,dr=100,wr=/^\.+(\\|\/)|^\.+$/,mr=/\.+$/,yr=/[\u0000-\u001F\u0080-\u009F\u200E\u200F\u202A-\u202E\u2066-\u2069]/;function br(){return new RegExp(fr.source,"g")}function gr(){return new RegExp(yr.source,"g")}function Er(t){return t&&!(fr.test(t)||gr().test(t)||wr.test(t)||mr.test(t))}function xr(t){const e=t.split(hr.default.sep);return("/"===t[0]||e[0]&&hr.default.dirname(e[0])===e[0])&&e.shift(),e.every(Er)}function vr(t,e={}){const r=e.replacement||"!";if((fr.test(r)||yr.test(r))&&F("Replacement string cannot contain reserved filename characters","sanitizeFilename",400),r.length>0){const e=/([<>:"/\\|?*\u0000-\u001F]){2,}/;t=t.replace(e,"$1")}if(t=(t=(t=(t=(t=t.normalize("NFD")).replace(wr,r)).replace(br(),r)).replace(gr(),r)).replace(mr,""),r.length>0){"."===t[0]||"."!==t[0]||(t=r+t),"."===t[t.length-1]&&(t+=r)}t=pr.test(t)?t+r:t;const n="number"==typeof e.maxLength?e.maxLength:dr;if(t.length>n){const e=t.lastIndexOf(".");if(-1===e)t=t.slice(0,n);else{const r=t.slice(0,e),s=t.slice(e);t=r.slice(0,Math.max(1,n-s.length))+s}}return t}function Sr(t,e={}){const r=t.split(hr.default.sep);let n;("/"===t[0]||r[0]&&hr.default.dirname(r[0])===r[0])&&(n=r.shift());const s=r.map((t=>vr(t,e)));return void 0!==n&&s.unshift(n),s.join(hr.default.sep)}function $r(t,e=1){let r="";for(;e--;){const e=hr.default.extname(t);if(!e)break;r=e+r,t=hr.default.basename(t,e)}return r}function Ar(t){return t.split(".").length-1}var kr=require("util-ex");function Tr(t,e){if("string"!=typeof t)throw new A("modelName must be a string","isModelNameMatched",400);switch(typeof e){case"string":if((0,kr.isRegExpStr)(e)){const r=(e=(0,kr.toRegExp)(e)).exec(t);if(r)return r}else if(t.toLowerCase()===e.toLowerCase())return e;break;case"object":if(Array.isArray(e)){for(const r of e)if("string"==typeof r){if((0,kr.isRegExpStr)(r)){const n=(e=(0,kr.toRegExp)(r)).exec(t);if(n)return n}else if(t.toLowerCase()===r.toLowerCase())return r}else if(r instanceof RegExp){const e=r.exec(t);if(e)return e}else if("function"==typeof r){const e=r.call(this,t);if(e)return e}}else if(e instanceof RegExp){const r=e.exec(t);if(r)return r}break;case"function":const r=e.call(this,t);if(r)return r}}function Cr(t){return Object.keys(t).filter((t=>Number.isNaN(Number(t))))}var Or=require("lodash-es"),jr=require("util-ex");function Fr(t,e){if(e&&(e=Rr(e)),e){const r=Object.keys(e);if(r.length){const n=Object.values(e);return(0,jr.newFunction)("expression",r,`return ${t}`)(...n)}}return(0,jr.newFunction)("expression",[],`return ${t}`)()}var Nr=/^[a-zA-Z_$][0-9a-zA-Z_$]*$/,Ir=t=>Nr.test(t);function Rr(t){if(t){const e=Object.keys(t),r=e.length,n=e.filter((e=>Ir(e)&&null!==t[e]));if(r===n.length)return t;if(n.length)return t=(0,Or.pick)(t,n)}}function Pr(t){return t?Mr(t,[],""):[]}function Mr(t,e,r="."){return Array.isArray(t)?t.flatMap(((t,r)=>Mr(t,[...e,`[${r}]`]))):(n=t)&&n.constructor===Object?Object.entries(t).flatMap((([t,n])=>Mr(n,[...e,r+t]))):[e.join("")];var n}function qr(t){if(t<2)throw new A("repetitionThreshold must be greater than 1","createEndWithRepetitionDetector",400);const e=new RegExp(`([\\S\\s]+)(\\1{${t-1},})$`);return function(t){return e.exec(t)}}var Vr=l(require("path")),Br=l(require("fs"));function Ur(t){const e=Br.statSync(t,{throwIfNoEntry:!1});return e?.isFile()}function _r(t,e,r,n){const s=n?.signal,i=n?.exclude;let o;if(Vr.default.isAbsolute(t)?o=Ur(t)?t:Lr(Vr.default.basename(t),[Vr.default.dirname(t)],{extNames:r,exclude:i,signal:s}):(e||(e=["."]),o=Lr(t,e,{extNames:r,exclude:i,signal:s})),!o)throw new T(t,"loadFileFromPaths");{const t=o;o=Br.readFileSync(o),n&&(n.filepath=t)}return o}function Lr(t,e,{extNames:r,signal:n,exclude:s=[]}){let i;const o=r?r.map((e=>$r(t,Ar(e)))):void 0;"string"==typeof s&&(s=[s]);for(const a of e){if(n?.aborted)throw n.reason;const e=Vr.default.resolve(a,t);if(o)for(let t=0;t<o.length;t++){const n=e+(o[t]!==r[t]?r[t]:"");if(!s.includes(n)&&Ur(n)){i=n;break}}else if(!s.includes(e)&&Ur(e)){i=e;break}}return i}function zr(t,e,r,n,s){let i;"string"==typeof n?(i=n,n=void 0):i=n?.encoding??"utf8";return _r(t,e,r,n).toString(i)}function Dr(t,e,r){const n=[],s="string"==typeof t?[t]:[...t],i=new Set;for(;s.length>0;){if(r?.aborted)throw r.reason;const t=Jr(s.pop()),o=Vr.default.resolve(t);if(i.has(o))continue;i.add(o);const a=Br.statSync(t,{throwIfNoEntry:!1});if(a?.isDirectory()){const r=Br.readdirSync(t,{withFileTypes:!0});for(let i=0;i<r.length;i++){const o=r[i],a=Vr.default.join(t,o.name);o.isDirectory()?s.push(a):!o.isFile()||e&&!e(a)||n.push(a)}}}return n}function Jr(t){const e=Br.lstatSync(t,{throwIfNoEntry:!1});return e?.isSymbolicLink()&&(t=Br.readlinkSync(t)),t}var Wr=require("fs"),Hr=l(require("path")),Kr=require("load-config-file"),Gr=require("yaml"),Xr=require("yaml-types"),Zr=require("mime-type/with-db"),Yr=require("yaml"),Qr=[Xr.regexp];function tn(t){Array.isArray(t)||(t=[t]);for(const e of t){-1===Qr.indexOf(e)&&Qr.push(e)}}function en(t){return(0,Gr.parse)(t,{customTags:Qr})}function rn(t,e){const r=[],n=e?.after,s=e?.exclude?"string"==typeof e.exclude?[e.exclude]:e.exclude:void 0,i=e?.extensions?"string"==typeof e.extensions?[e.extensions]:e.extensions.map((t=>t.startsWith(".")?t:"."+t)):[".yml",".yaml",".json"];return function(t,e){const r=(0,Wr.readdirSync)(t,{withFileTypes:!0,recursive:!0});for(const n of r){const r=Hr.default.join(t,n.name);n.isFile()&&e(r,n)}}(t,((t,e)=>{if(s?.includes(t))return;const o=Hr.default.extname(t),a=(0,Wr.statSync)(t);if(i.includes(o)){if(n?.hasOwnProperty(t)&&a.mtimeMs<=n[t])return;r.push(t)}})),r}function nn(t,e){return rn(t,e).map((t=>Kr.Config.loadSync(t))).filter((t=>void 0!==t))}function sn(t,e,r=1){"."===t[0]&&r++;const n=$r(t,r);(!n||n.split(".").length<=1)&&(t+=".yaml");const s=Zr.mimeType.lookup(t);if("application/json"===s)e=JSON.stringify(e,null,2);else{if("text/yaml"!==s)throw new Error(`${t} unsupported mime type: ${s}`);e=(0,Gr.stringify)(e)}const i=Hr.default.dirname(t);return(0,Wr.existsSync)(i)||(0,Wr.mkdirSync)(i,{recursive:!0}),(0,Wr.writeFileSync)(t,e,{encoding:"utf8"}),t}function on(t){t instanceof Date&&(t=t.toISOString());return function(t,e){return t?`'${e}'`:String(e)}("string"==typeof t,t)}function an(t,e){return t.map((t=>ln(t,e))).join(" AND ")}function cn(t,e){return t.map((t=>ln(t,e))).join(" OR ")}function un(t,e){const r=[];return Object.keys(e).forEach((n=>{const s=e[n];switch(n){case"$lt":case"<":r.push(`${t} < ${on(s)}`);break;case"<=":case"$lte":r.push(`${t} <= ${on(s)}`);break;case"$gt":case">":r.push(`${t} > ${on(s)}`);break;case"$gte":case">=":r.push(`${t} >= ${on(s)}`);break;case"$ne":case"!=":r.push(`${t} != ${on(s)}`);break;case"=":case"$eq":r.push(`${t} = ${on(s)}`);break;case"$in":r.push(`${t} IN (${s.map((t=>on(t))).join(", ")})`);break;case"$nin":r.push(`${t} NOT IN (${s.map((t=>on(t))).join(", ")})`);break;case"$regex":r.push(`${t} REGEXP '${s.source}'`);break;case"$like":r.push(`${t} LIKE '${s}'`);break;case"$nlike":r.push(`${t} NOT LIKE '${s}'`);break;case"$glob":r.push(`${t} GLOB '${s}'`);break;case"$nglob":r.push(`${t} NOT GLOB '${s}'`);break;default:throw new Error(`Unsupported condition operator: ${n}`)}})),r.join(" AND ")}function ln(t,e){const r=[];if("function"!=typeof e&&(e=t=>t),Array.isArray(t))r.push(an(t,e));else for(const[n,s]of Object.entries(t))if("$and"===n)r.push(`(${an(t[n],e)})`);else if("$or"===n)r.push(`(${cn(t[n],e)})`);else{const t=typeof s;if(null==s)r.push(`${e(n)} IS NULL`);else if(s instanceof Date)r.push(`${e(n)}='${s.toISOString()}'`);else if("object"!==t||Array.isArray(s))if("string"===t)r.push(`${e(n)}='${s}'`);else{if("number"!==t&&"boolean"!==t)throw new Error(`Unsupported value type for key ${n}`);r.push(`${e(n)}=${s}`)}else r.push(un(e(n),s))}return r.length>1?r.join(" AND "):r[0]}function hn(t){const e=t.indexOf("://");if(e>0)return t.substring(0,e)}function fn(t,e=0){let r,n=t*10**e;return t>=1e12?(n=Math.round(n/1e12),r="T"):t>=1e9?(n=Math.round(n/1e9),r="B"):t>=1e6?(n=Math.round(n/1e6),r="M"):t>=1e3?(n=Math.round(n/1e3),r="K"):(n=Math.round(n),r=""),n/=10**e,n.toFixed(e)+r}function pn(t){const e=t.match(/^\s*[+]?(\d+(?:[.]\d+)?)\s*([TBMK])?\s*$/i);if(!e)throw new A("Invalid formatted parameter size string.","scaleToSize",400);const r=parseFloat(e[1]),n=e[2]?.toLowerCase();switch(n){case"t":return 1e12*r;case"b":return 1e9*r;case"m":return 1e6*r;case"k":return 1e3*r;default:return r}}function dn(t,e){const r=e?.level||0,n=e?.visiting||new Set,s=e?.objectTag||"*",i=e?.arrayTag||"-";let o=[];const a=" ".repeat(2*r);if(null!=t)switch(typeof t){case"object":n.has(t)?o=["[Circular]"]:(n.add(t),o=Array.isArray(t)?t.map((t=>i+c(t))):Object.entries(t).map((([t,e])=>s+" `"+t+"`:"+c(e))));break;case"string":return t;default:return JSON.stringify(t)}else o=["null"];return o.length?a+o.join("\n"+a):"";function c(t){return(null!=t&&"object"==typeof t?"\n":" ")+dn(t,{level:r+1,visiting:n})}}Kr.Config.register([".yml",".yaml"],en),Kr.Config.register([".json"],(function(t){return JSON.parse(t)}));var wn=class t{constructor(t=0){this.bitField=t}static has(t,e){return!!(t&1<<e)}static add(t,e){return t|1<<e}static delete(t,e){return t&~(1<<e)}add(t){return this.bitField|=1<<t,this}delete(t){return this.bitField&=~(1<<t),this}has(e){return t.has(this.bitField,e)}clear(){return this.bitField=0,this}valueOf(){return this.bitField}toString(){return this.bitField.toString()}toJSON(){return this.bitField}},mn=require("events-ex"),yn=32;function bn(t){return e=Math.min(Math.max(16,t),1073741824),e>>>=0,e-=1,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,1+(e|=e>>16);var e}var gn=class{constructor(t){this._capacity=bn(t),this._length=0,this._front=0,this.arr=[]}push(t){const e=this._length;this.checkCapacity(e+1);const r=this._front+e&this._capacity-1;return this.arr[r]=t,this._length=e+1,r}pop(){const t=this._length;if(0===t)return;const e=this._front+t-1&this._capacity-1,r=this.arr[e];return this.arr[e]=void 0,this._length=t-1,r}shift(){const t=this._length;if(0===t)return;const e=this._front,r=this.arr[e];return this.arr[e]=void 0,this._front=e+1&this._capacity-1,this._length=t-1,r}get length(){return this._length}checkCapacity(t){this._capacity<t&&this.resizeTo(bn(1.5*this._capacity+16))}resizeTo(t){const e=this._capacity;this._capacity=t;const r=this._front,n=this._length;if(r+n>e){const t=r+n&e-1;!function(t,e,r,n,s){for(let i=0;i<s;++i)r[i+n]=t[i+e],t[i+e]=void 0}(this.arr,0,this.arr,e,t)}}},En=class extends mn.EventEmitter{};function xn(t){return"function"==typeof t}function vn(){return"1"}var Sn=class{constructor(t,{initFn:e=vn,pauseFn:r,resumeFn:n,capacity:s=yn}={}){if(xn(r)!==xn(n))throw new Error("pauseFn and resumeFn must be both set for pausing");this.maxConcurrency=t,this.free=new gn(t),this.waiting=new gn(s),this.releaseEmitter=new En,this.useDefaultTokens=e===vn,this.pauseFn=r,this.resumeFn=n,this.paused=!1,this.releaseEmitter.on("release",(t=>{const e=this.waiting.shift();e?e.resolve(t):(this.resumeFn&&this.paused&&(this.paused=!1,this.resumeFn()),this.free.push(t))}));for(let r=0;r<t;r++)this.free.push(e())}tryAcquire(){return this.free.pop()}acquire(t){let e=this.tryAcquire();return void 0!==e?Promise.resolve(e):new Promise(((e,r)=>{this.pauseFn&&!this.paused&&(this.paused=!0,this.pauseFn());const n=this.waiting.push({resolve:e,reject:r});return t&&t.addEventListener("abort",(()=>{this.waiting[n]=void 0;const e=t.reason instanceof Error?t.reason:new Error(t.reason||"aborted");t.alreadyRejected=!0,r(e)})),n}))}release(t){this.releaseEmitter.emit("release",this.useDefaultTokens?"1":t)}drain(){const t=new Array(this.maxConcurrency);for(let e=0;e<this.maxConcurrency;e++)t[e]=this.acquire();return Promise.all(t)}pendingCount(){return this.waiting.length}};function $n(t,{timeUnit:e=1e3,uniformDistribution:r=!1}={}){const n=new Sn(r?1:t),s=r?e/t:e;return async function(){await n.acquire(),setTimeout((()=>n.release()),s)}}var An,kn=require("custom-ability"),Tn=require("property-manager"),Cn=require("util-ex"),On=0,jn=1,Fn=2,Nn=(t=>(t[t.MultiTask=On]="MultiTask",t[t.Cancelable=jn]="Cancelable",t[t.Priority=Fn]="Priority",t))(Nn||{}),In=((An=In||{})[An.MultiTask=1<<On]="MultiTask",An[An.Cancelable=1<<jn]="Cancelable",An[An.Priority=1<<Fn]="Priority",An),Rn=class t extends Tn.AdvancePropertyManager{static{this.items={}}static get(t){return this.items[t]}static list(){return this.items}static getByTag(t){let e;for(const r in this.list()){const n=this.get(r);let s=n.tags;if("string"==typeof s){if(s===t){e=n;break}}else if(Array.isArray(s)&&s.indexOf(t)>=0){e=n;break}}return e}static getAllByTag(t){let e=[];for(const r in this.list()){const n=this.get(r);let s=n.tags;"string"==typeof s?s===t&&e.push(n):Array.isArray(s)&&s.indexOf(t)>=0&&e.push(n)}return e}static hasAsyncFeature(t){const e=this.prototype;let r=e.asyncFeatures;return e._asyncFeatures&&(r|=e._asyncFeatures),wn.has(r,t)}static run(t,e){const r=this.get(t);if(r)return r.run(e);throw new T(`${t} to run`,this.name)}static runSync(t,e){const r=this.get(t);if(r)return r.runSync(e);throw new T(`${t} to run`,this.name)}static getFunc(t){const e=this.get(t);return e?.getFunc()}static runWithPos(t,...e){const r=this.get(t);if(r)return r.runWithPos(...e);throw new T(`${t} to run`,this.name)}static runWithPosSync(t,...e){const r=this.get(t);if(r)return r.runWithPosSync(...e);throw new T(`${t} to run`,this.name)}static getFuncWithPos(t){const e=this.get(t);return e?.getFuncWithPos()}static register(e,r={}){switch(typeof e){case"string":r.name=e;break;case"function":r.func=e;break;case"object":r=e}e=r.name;let n=!!this.get(e);if(n)n=!1;else{if(!(r instanceof t))return n=new this(r),n.register();this.items[e]=r,n=r}return n}static unregister(t){const e=this.items[t];return e&&delete this.items[t],e}constructor(t,e={}){switch(super(),typeof t){case"string":e.name=t;break;case"function":e.func=t;break;case"object":e=t}this.name=t=e.name,e.scope&&(this.scope=e.scope),"function"==typeof e.setup&&e.setup.call(this,e),this.initialize(e)}register(){const e=this.constructor,r=this.depends;if(r){const e=Object.keys(r);for(const n of e){const e=r[n];e instanceof t&&e.register()}}return e.register(this)}unregister(){return this.constructor.unregister(this.name)}arr2ObjParams(t){if(this.params&&(t.length>1||Array.isArray(t[0])||t[0]&&"object"!=typeof t[0])){const e={},r=Object.keys(this.params);let n=Math.min(r.length,t.length);for(let s=0;s<n;s++)e[r[s]]=t[s];t=[e]}return t}obj2ArrParams(t){const e=[];if(t&&this.params&&Array.isArray(this.params)){const r=Object.keys(t);let n=Math.min(r.length,this.params.length);for(let s=0;s<n;s++)e.push(t[r[s]])}return e}runSync(t){const e=this.params&&Array.isArray(this.params);if(Array.isArray(t)){if(e)return this.func(...t);F("the function is not support array params, the params must be object!",this.name)}return e?(t=this.obj2ArrParams(t),console.warn('Warning:Use runWithPos() instead of run() for the "'+this.name+'" is function with position params'),this.func(...t)):this.func(t)}run(t){return this.runSync(t)}runAs(t,e){return this.runAsSync(t,e)}runAsSync(t,e){return this.constructor.runSync(t,e)}getFunc(t){return t?this.constructor.getFunc(t):this.runSync.bind(this)}runWithPosSync(...t){return this.params&&!Array.isArray(this.params)&&(t=this.arr2ObjParams(t)),this.func(...t)}runWithPosAsSync(t,...e){return this.constructor.runWithPosSync(t,...e)}runWithPos(...t){return this.runWithPosSync(...t)}runWithPosAs(t,...e){return this.runWithPosAsSync(t,...e)}getFuncWithPos(t){return t?this.constructor.getFuncWithPos(t):this.runWithPosSync.bind(this)}hasAsyncFeature(t){let e=this.asyncFeatures;return this._asyncFeatures&&(e|=this._asyncFeatures),wn.has(e,t)}isStream(t){return this.stream}},Pn={name:{type:"string"},description:{type:"string"},func:{type:"function",assign(t,e,r,n,s){let i=t;const o=typeof t;return s.isExported?i="function"===o?t.toString():t:t&&("string"!==o&&(t=t.toString()),i=(0,Cn._createFunction)(t,e.scope)),i}},params:{type:"object"},result:{type:"any"},setup:{type:"function"},depends:{type:"object",exported:!1},tags:{type:["array","string"]},isApi:{type:"boolean"},stream:{type:"boolean"},asyncFeatures:{type:"number"}};Rn.defineProperties(Rn,Pn);var Mn=require("util-ex"),qn=class extends AbortController{constructor(t){super(),(0,Mn.defineProperty)(this,"parent",t)}abort(t,e){this.signal.aborted||("string"==typeof t&&(t=new O(t)),t&&e&&"object"==typeof t&&Object.assign(t.data,e),super.abort(t))}throwRejected(t){const e=this.signal;if(e.aborted){if(void 0===t&&(t=e.alreadyRejected),t)return!0;throw e.reason instanceof Error?e.reason:new O(e.reason||"aborted")}}},Vn=class{get maxTaskConcurrency(){return this._maxTaskConcurrency}get semaphore(){const t=this._maxTaskConcurrency;let e=this.__task_semaphore;return t>0&&!e&&(e=this.__task_semaphore=new Sn(t-1)),e}isAborted(t){const e=this.hasAsyncFeature(On);let r=this.__task_aborter;if(r&&e){if(null==t)throw new A("Missing taskId",this.name+".isAborted",400);r=r[t]}return!r||r.signal.aborted}getRunningTask(t){const e=this.hasAsyncFeature(On);let r=this.__task_aborter;if(r&&e){if(null==t)throw new A("Missing taskId",this.name+".getRunningTask",400);r=r[t]}return r?.signal.aborted&&(e?this.__task_aborter[t]=void 0:this.__task_aborter=void 0,r=void 0),r}getRunningTaskCount(){let t;if(this.hasAsyncFeature(On)){const e=this.__task_aborter;t=e&&Object.entries(e).filter((([t,r])=>{if(!r?.signal.aborted)return!0;e[t]=void 0})).length}else{const e=this.__task_aborter;t=e?.signal.aborted?0:1}return t}_generateAsyncTaskId(t,e){if(e||(e=this.__task_aborter),null==t&&(t=0,e))for(;e[t];)t++;return t}$generateAsyncTaskId(t,e){const r=this.super,n=this.self||this;return t=r?r.call(n,t):this._generateAsyncTaskId(t,e)}createAborter(t,e,r=!0){const n=this.hasAsyncFeature(On);if(!n&&r&&this.getRunningTask())throw new A("The task is running",this.name,429);const s=t?.aborter||new qn(this);if(!(s instanceof qn)){if(!(s instanceof AbortController))throw new A("aborter should be an AbortController",this.name,400);Object.setPrototypeOf(s,new qn(this))}if(n){null==this.__task_aborter&&(this.__task_aborter={});const t=this.__task_aborter;null==e&&(e=this.generateAsyncTaskId(e,t)),s.id=e,t[e]=s}else this.__task_aborter=s;const i=t?.timeout;return i>0&&(s.timeoutId=setTimeout((()=>{s.timeoutId=void 0,this.abort("timeout",{timeout:i})}),i)),s.signal.addEventListener("abort",(()=>{const t=s.timeoutId;t&&(s.timeoutId=void 0,clearTimeout(t));const e=s.signal;try{this.emit&&this.emit("aborting",e.reason,e.reason?.data)}finally{s.streamController?.error(e.reason)}})),s}$cleanMultiTaskAborter(t,e){const r=this.super,n=this.self||this;r?r.call(n,t,e):n._cleanMultiTaskAborter(t,e)}cleanTaskAborter(t){if(this.hasAsyncFeature(On)){const e=this.__task_aborter;this.cleanMultiTaskAborter(t.id,e)}else this.__task_aborter=void 0}_cleanMultiTaskAborter(t,e){"number"==typeof t?e[t]=void 0:delete e[t]}createTaskPromise(t,e,r){const n=this.createAborter(e,r?.taskId,r?.raiseError);void 0===e&&(e={}),"object"==typeof e&&(e.aborter=n);let s=t(e,n).then((t=>{if(t&&t instanceof ReadableStream){const e=()=>{this.cleanTaskAborter(n)},r=Je({onStart:t=>{(0,Mn.defineProperty)(n,"streamController",t)},onFinal:e,onError:e,onTransform:(t,e)=>(t&&"object"==typeof t&&(t.taskId=n.id),t)});t=t.pipeThrough(r)}else this.cleanTaskAborter(n);return t})).catch((t=>{throw this.cleanTaskAborter(n),t})).finally((()=>{n.timeoutId&&(clearTimeout(n.timeoutId),n.timeoutId=void 0)}));return s.task=n,s}runAsyncCancelableTask(t={},e,r){let n=this.createTaskPromise(e,t,r);const s=this.semaphore;if(s){const t=n,e=t.task;n=s.acquire(e.signal).then((()=>t)).finally((()=>{s.release()})),n.task=e}return n}abort(t,e){let r=this.__task_aborter;if(r){const n=r;if(this.hasAsyncFeature(On)){const t=e?.taskId;if(null==t)throw new A("Missing data.taskId",this.name+".abort",400);r=r[t],this.cleanMultiTaskAborter(t,n)}else this.__task_aborter=void 0;r&&!r.signal.aborted&&r.abort(t,e)}}};Vn.prototype.generateAsyncTaskId=function(t,e){return this._generateAsyncTaskId(t,e)},Vn.prototype.cleanMultiTaskAborter=function(t,e){return this._cleanMultiTaskAborter(t,e)};var Bn=(0,kn.createAbilityInjector)(Vn,"abort",{afterInjection:function(t,e){let r=t.prototype._asyncFeatures||0;r|=In.Cancelable,e&&(e.asyncFeatures&&(r|=e.asyncFeatures),e.maxTaskConcurrency>0&&(t.prototype._maxTaskConcurrency=e.maxTaskConcurrency)),t.prototype._asyncFeatures=r}});function Un(t,e){const r=e.global?e:new RegExp(e.source,`${e.flags}g`);let n,s=0;for(;null!==(n=r.exec(t));)s++;return s}var _n=require("lodash-es"),Ln=require("util-ex");async function zn(t,e,r){return Dn(Yn(t,e,r),e,r)}async function Dn(t,e,r){if(t.length){const n=await Promise.all(t.map(((t,n)=>Zn(t,n,e,r?.argProcessor)))),s=r?.returnArrayOnly;let i=n?.length?Fr(`{${n.map((t=>function(t){const e={"\n":"\\n","\r":"\\r","\t":"\\t","\b":"\\b","\f":"\\f","\\":"\\\\"};return t.replace(/\\?[\n\r\t\b\f\\]/g,(t=>t.startsWith("\\")?t:e[t]))}(t))).join(",")}}`,e):void 0;if(i){const t=Object.keys(i);1===t.length&&void 0!==i[0]?i=i[0]:t.every((t=>!isNaN(parseInt(t))))&&(i=t.sort(((t,e)=>parseInt(t)-parseInt(e))).map((t=>i[t])))}if(i&&!s){const t=Object.entries(i);(1===t.length&&void 0!==i[0]||2===t.length&&"0"===t[0][0]&&t[0][1]===t[1][1])&&(i=i[0])}return i&&s&&1===Object.keys(i).length&&void 0!==i[0]?i[0]:i}}function Jn(t,e,r){const[n,s]=t;if(!n&&"|"===s[0])return"choice: {"+function(t,e){const r=Yn(t,e,{delimiter:":"}),n={},s=r.map((([t,e],r)=>{if(t){const t=e.indexOf(":"),r=e.slice(0,t).trim();if(n[r])throw new Error("Only one "+r+" is allowed");return n[r]=!0,e}{if("|"===e[0]){if(n.items)throw new Error("Only one items is allowed");return n.items=!0,"items:["+function(t,e='"'){return t.map((t=>Kn(t)?t:e+t+e))}(e.split("|").filter(Boolean))+"]"}const t=parseInt(e.trim());if(!isNaN(t)){if(n.maxPick)throw new Error("Only one maxPick is allowed");return n.maxPick=!0,"maxPick:"+t}if("random"===e||"ai"===e)return n.type=!0,'type:"'+e+'"';if(Kn(e)){if(n.separator)throw new Error("Only one separator is allowed");return n.separator=!0,"separator:"+e}}}));return s}(s,r)+"}"}async function Wn([t,e],r,n){if(!n)return;let s,i;if(t){const t=e.split(":");s=t[0].trim(),i=t[1].trim()}else i=e,s=r+"";const o={template:i,data:n};n.templateFormat&&(o.templateFormat=n.templateFormat);const a=await W.formatIf(o);return a?(i=a,s+":"+Gn(i)):void 0}async function Hn(t,e,r){let n=Jn(t,0,r);return n||(n=await Wn(t,e,r)),n}function Kn(t){const e=t[0];return('"'===e||"'"===e)&&t[t.length-1]===e}function Gn(t){return'"'+t.replace(/(?<!\\)"(?!\\)/g,'\\"')+'"'}function Xn(t){return function(t,e=['""',"''","{}"]){return e.some((e=>t[0]===e[0]&&t[t.length-1]===e[1]))}(t)||!Number.isNaN(parseFloat(t))||"true"===t||"false"===t||(e=t,ts.test(e));var e}async function Zn(t,e,r,n){const[s,i]=t;if("function"==typeof n){const s=await n(t,e,r);if(s)return s}if(s)return i;if(r&&void 0!==(0,_n.get)(r,i))return e+":"+i+', "'+i+'":'+i;if(Xn(i))return e+":"+i;try{const t=(0,Ln.newFunction)("async expression",[],`return ${i};`,Rr(r)),n=await t.call(this);switch(typeof n){case"number":case"boolean":case"undefined":return e+":"+n;case"function":return e+":"+t.toString();default:return e+":"+JSON.stringify(n)}}catch(t){}return e+":"+Gn(i)}function Yn(t,e,r){const n=r?.delimiter??",";let s=[],i=!1,o="",a="",c=!1,u="";for(let e=0;e<t.length;e++){const r=t[e];if(r!==n||i||u)if("\\"===r)a+=r,e++,a+=t[e];else if("("!==r&&"["!==r||i)if(u&&r===u)u="",a+=r;else if("{"!==r||i)'"'===r||"'"===r?(i&&r===o?i=!1:i||(i=!0,o=r),a+=r):"="!==r||i||c||!/^[\p{L}\p{N}_ ]+$/u.test(a)?a+=r:(a+=":",c=!0);else{let n,s=e,i=!1,o="",c=-1;for(;s<t.length&&("}"!==(n=t[s])||i||c>0);)"\\"===n?s++:"{"!==n||i?"}"!==n||i?'"'!==n&&"'"!==n||(i&&r===o?i=!1:i||(i=!0,o=r)):c--:c++,s++;s<t.length&&(a+=t.substring(e,s+1),e=s)}else u="("===r?")":"]",a+=r;else a=a.trim(),a.endsWith(":")&&(a+="undefined"),s.push([c,a]),a="",c=!1}return a&&(a=a.trim(),a.endsWith(":")&&(a+="undefined"),s.push([c,a])),s}async function Qn(t,e,r){const n=t.match(/^([^(]+)(?:\((.*)\))?$/);if(!n)throw new Error("Invalid command format");const[,s,i]=n;let o;return i&&(o=await zn(i,e,r)),{command:s.trim(),args:o}}var ts=/^\s*\(\)|\(([a-zA-Z_$][\w\d$]*)(\s*,\s*([a-zA-Z_$][\w\d$]*))*\)=>/;u(h,f,module.exports);var es=class t extends Rn{static get apiRoot(){return t._apiRoot}static setApiRoot(e){t._apiRoot=e}static async loadFrom(){if(this._apiRoot){const t=await fetch(this._apiRoot,{headers:{"Content-Type":"application/json"}}),e=await t.json();e&&this.loadFromSync(e)}else F("missing apiRoot to load tools","ClientTools")}static loadFromSync(e){for(const r in e){const n=this.get(r),s=e[r];n?n instanceof t?n.assign(s):F(`${r} already registered as ${n.constructor.name}`,"ClientTools"):this.register(s)}}static async fetch(t,e){const r=this.get(t);if(r&&r.fetch)return r.fetch(e)}getUrlParams(t){if(void 0!==t){const e=JSON.stringify(t);if("{}"!==e&&"[]"!==e&&'""'!==e)return"?p="+encodeURIComponent(e)}return""}async fetch(t,e,r){const n={...this.fetchOptions};let s;n.headers&&n.headers["Content-Type"]||(n.headers={"Content-Type":"application/json",...n.headers}),t?.stream&&!n.headers.Connection&&(n.headers.Connection="keep-alive"),e||(e=this.action||"post"),"res"===e&&(e="get"),r?("string"!=typeof r&&(r=JSON.stringify(r)),r=this.name+"/"+r):r=this.name,n.method=e.toUpperCase(),"get"===e||"delete"===e?s=r+this.getUrlParams(t):(n.body=JSON.stringify(t),s=r);const i=await fetch(`${this.apiRoot}/${s}`,n);if(!i.ok){throw await this.errorFrom(i)}return i}async errorFrom(t){let e,r=t.status,n=t.statusText,s=this.name;if(t.body){const r=await t.text();try{const t=JSON.parse(r);t&&(t.error&&(n=t.error),t.name&&(s=t.name),t.data&&(e=t.data,e.name=s,e.what&&(e.msg=n,n=e.what)),t.message&&(n=n+":"+t.message))}catch(t){console.warn("🚀 ~ parse error body to json:",t)}}return j(n,s,r)}async func(t){const e=await this.fetch(t);if(t?.stream)return e;return await e.json()}},rs={...m};es.defineProperties(es,rs);var ns=class t extends Rn{static get apiRoot(){return this._apiRoot}static setApiRoot(t){this._apiRoot=t}static toJSON(){const e={};for(const r in this.items){let n=this.items[r];(n instanceof t||n.isApi)&&(n.allowExportFunc||(n=n.toJSON(),delete n.func),e[r]=n)}return e}func({}){}},ss={...m};ns.defineProperties(ns,ss);var is=require("events-ex"),os=class extends Rn{constructor(){super(...arguments),this._emitter=new is.EventEmitter,this.description="Return event bus",this.result="event"}get emitter(){return this._emitter}func(){return this.emitter}},as=new os(Oe),cs=require("secondary-cache");function us({key:t,value:e,options:r}={}){return void 0!==t?null===e?this.cache.del(t):void 0!==e?this.cache.set(t,e,r):this.cache.get(t):(r&&this.cache.setDefaultOptions(r),this.cache)}function ls(t,e){let r=Rn.get(t);return r||(r=new Rn(t,{func:us,description:"get/set LRU cache or return the LRUCache object",params:{key:{name:"key",type:"string",description:"the key is undefined means change the default cache options"},value:{name:"value",type:"any",description:"the value to store, if value is null means remove the key"},options:{name:"options",type:"object|number",description:"the optional cache options:{capacity,expires,cleanInterval} or expires"}},result:"any"}),r.cache=new cs.Cache(e)),r}var hs=ls("lrucache"),fs=class extends es{async _func(t,e){const r=await this.fetch(e,t);if(e?.stream)return r;return await r.json()}async func(t){const e=t.action;return e&&delete t.action,this._func(e,t)}assignMethods(t){if(Array.isArray(t))for(const e of t){const t=e.startsWith("$")?e.slice(1):e;this[t]||(this[t]=(t=>this._func.bind(this,t))(e))}}},ps={methods:{type:"array",assign(t,e,r,n,s){s?.isExported||e.assignMethods(t)}}};fs.defineProperties(fs,ps);var ds=class extends fs{async fetch(t,e){if(t||(t={}),e&&"res"===this.action){if("get"===e||"delete"===e){let r=t.id;return r||F("id is required"),"string"==typeof r&&(r=encodeURIComponent(r)),delete t.id,super.fetch(t,e,r)}"list"===e?e="get":e.startsWith("$")&&(t.act=e,e="post")}return await super.fetch(t,e)}},ws=class extends ds{constructor(){super(...arguments),this._sseEvents={},this._forwardEvents=new Set,this.name=Ce,this.description="subscribe server sent event",this.ebListener=async function(...t){const e=this.type;this.target.publish&&await this.target.publish({data:t,event:e})}}get evtSource(){let t=this._es;return t&&t.readyState!==EventSource.CLOSED||(t=this.initEventSource(this._esEvents)),t}get active(){return!!this._es&&this._es.readyState!==EventSource.CLOSED}set active(t){t!==this.active&&(t?this.initEventSource(this._esEvents):this._es&&(this._es.close(),this._es=void 0))}initEventSource(t){if("string"==typeof t&&(t=[t]),this._es&&this._es.readyState!==EventSource.CLOSED){if(!this._esEvents||t&&t.every((t=>this._esEvents.includes(t))))return this._es;this._es.close()}const e=t?this.getUrlParams({event:t}):"",r=`${this.apiRoot}/${this.name}${e}`,n=this._es=new EventSource(r);return Object.entries(this._sseEvents).forEach((([t,e])=>{n.addEventListener(t,e)})),this._esEvents=t,n}esListener(t){const e=t.data?JSON.parse(t.data):void 0,r=t.type;if(!this._forwardEvents.has(r)){const t=this.emitter;t&&e&&r&&(Array.isArray(e)?t.emit(r,...e):t.emit(r,e))}}async subscribe(t){const e=await this.sub({event:t});"string"==typeof t&&(t=[t]);const r=this.evtSource;for(const e of t)if(!this._sseEvents[e]){const t=this._sseEvents[e]=this.esListener.bind(this);r.addEventListener(e,t)}return e}async unsubscribe(t){const e=await this.unsub({event:t});"string"==typeof t&&(t=[t]);for(const e of t){const t=this._sseEvents[e];t&&(delete this._sseEvents[e],this.evtSource.removeEventListener(e,t))}return e}forwardEvent(t){"string"==typeof t&&(t=[t]);for(const e of t)this._forwardEvents.has(e)||(this._forwardEvents.add(e),this.on&&this.on(e,this.ebListener))}unforwardEvent(t){"string"==typeof t&&(t=[t]);for(const e of t)this._forwardEvents.has(e)&&(this._forwardEvents.delete(e),this.off&&this.off(e,this.ebListener))}async init(t){if(this.active=!1,this.initEventSource(t),t)return await this.subscribe(t)}},ms=new ws(Ce),ys=require("util-ex"),bs=class extends ns{constructor(t,e={}){super(t,e),this.params={act:{type:"string"}};const r=this.methods=[];this.initRpcMethods(r)}get SpecialRpcMethodNames(){return this.constructor.SpecialRpcMethodNames}initRpcMethods(t=this.methods){const e=this.SpecialRpcMethodNames;if(Array.isArray(e))for(const r of e)"function"==typeof this[r]&&t.push(r);(0,ys.getAllNames)(Object.getPrototypeOf(this)).filter((t=>t.startsWith("$")&&"function"==typeof this[t])).forEach((e=>{t.push(e);const r=e.slice(1);void 0===this[r]&&(this[r]=this[e])}))}cast(t,e){let r=this.params[t];return r&&("string"!=typeof r&&(r=r.type),"number"===r&&(e=Number(e))),e}getMethodFromParams(t){const e=t?.act;return e}castParams(t){return t}func(t){const e=this.getMethodFromParams(t);if(e&&"function"==typeof this[e])return t=this.castParams(t),this[e](t);throw new T(e,this.name)}};bs.defineProperties(bs,{methods:{type:"array"}});var gs=class extends bs{constructor(t,e={}){super(t,e),this.action="res",this.params={id:{type:"string"},val:{type:"any"}}}static{this.SpecialRpcMethodNames=w}getMethodFromParams(t){let e=t?._req?.method?.toLowerCase();return"get"===e&&void 0===t.id&&(e="list"),"post"===e&&t.act&&(e=t.act),e}castParams(t){return void 0!==t.id&&(t.id=this.cast("id",t.id)),t}},Es=as.runSync(),xs=class t extends gs{constructor(){super(...arguments),this.name=Ce,this.description="subscribe server sent event",this.result="event",this.depends={[Oe]:as}}static get sse(){return this._sse||(this._sse=new Ie),this._sse}get sse(){return this.constructor.sse}static publish(e,r){return t.sse.publish(e,r)}static{this.ebListener=function(...e){t.sse.publish(e,this.type)}}static subscribe(e,r,n){return t.sse.subscribe(e,r,n)}static alreadyForward(e){const r=Es.listeners(e);for(const e of r)if(e===t.ebListener)return!0}publishSSE(t,e){return this.constructor.publish(t,e)}subscribeSSE(t,e,r){return"string"==typeof r&&(r=[r]),this.constructor.subscribe(t,e,r)}forward(e){Array.isArray(e)||(e=[e]);for(const r of e)t.alreadyForward(r)||Es.on(r,t.ebListener)}unforward(e){"string"==typeof e&&(e=[e]);for(const r of e)Es.off(r,t.ebListener)}list({_req:t,_res:e,event:r}){t&&e&&this.subscribeSSE(t,e,r)}$sub({event:t}){if(t)return this.forward(t),{event:t};F("event is required","sub",400)}$unsub({event:t}){if(t)return this.unforward(t),{event:t};F("event is required","unsub",400)}$publish({event:t,data:e}){if(t&&e){"string"==typeof t&&(t=[t]);for(const r of t)this.publishSSE(e,r);return{event:t}}F("event or data is required","pub",400)}isStream(t){return"list"===this.getMethodFromParams(t)}},vs=new xs(Ce);function Ss(){as.register(),hs.register()}
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{AIChatRoles as e,AIMessageTypes as r,AIStream as a,AITextGenerationFinishReasons as t,AbortError as o,AbortErrorCode as s,ActionNames as n,AlreadyExistsError as i,AlreadyExistsErrorCode as l,AsyncFeatureBits as m,AsyncFeatures as u,BaseError as d,CancelableAbility as c,ClientToolFuncSchema as p,ClientTools as S,CommonError as T,ConfigFile as h,DefaultAsyncSemaphoreCapacity as F,EnvironmentEx as E,ErrorCode as v,EventBusName as C,EventClient as g,EventName as R,EventServer as y,EventToolFunc as x,FStringPromptTemplate as A,FewShotPromptTemplate as f,FilenameReservedRegex as b,GolangPromptTemplate as P,HfPromptTemplate as I,IntSet as N,InternalErrorCode as H,Interpreter as k,NIL as D,NotFoundError as V,NotFoundErrorCode as B,NotImplementationError as L,NotImplementedErrorCode as j,PASSING_SCORE as z,PromptExampleSelector as M,PromptTemplate as w,PromptTemplateTypes as O,PromptTypes as Y,RStreamErrCode as G,RateLimit as W,ReadableStreamError as U,RemoteToolFuncSchema as J,ResClientTools as K,ResClientToolsSchema as X,ResServerTools as _,ResServerToolsSchema as Q,ResponseRStreamErrCode as q,SSEChannel as Z,SSEChannelAlreadyClosedErrCode as $,Semaphore as ee,ServerToolFuncSchema as re,ServerTools as ae,TaskAbortController as te,Template as oe,ToolAsyncCancelableBit as se,ToolAsyncMultiTaskBit as ne,ToolAsyncPriorityBit as ie,ToolFunc as le,ToolFuncSchema as me,WindowsReservedNameRegex as ue,XXHashAlgorithm as de,_lrucache as ce,backendEventable as pe,base32768 as Se,builtins as Te,createAbilityInjector as he,createCallbacksTransformer as Fe,createEmptyReadableStream as Ee,createEndWithRepetitionDetector as ve,createError as Ce,createEventStreamTransformer as ge,createHfValueFunc as Re,createLRUCache as ye,dateToText as xe,defaultTemplateFormat as Ae,event as fe,eventClient as be,eventServer as Pe,expandEnv as Ie,expandObjEnv as Ne,extNameLevel as He,filenameReservedRegex as ke,formatISO as De,getAllEnumKeys as Ve,getConfigFileNames as Be,getConfigs as Le,getKeysPath as je,getMultiLevelExtname as ze,getRealFilepath as Me,getResponseErrorReadableStream as we,interpolateEnv as Oe,interpolateFString as Ye,interpolateGolangTemplate as Ge,isModelNameMatched as We,isValidFilename as Ue,isValidFilepath as Je,isWebStream as Ke,jsonFilterToWhere as Xe,jsonToMarkdownStr as _e,loadFileFromPaths as Qe,loadTextFromPaths as qe,lrucache as Ze,makeToolFuncCancelable as $e,matchUrlProtocol as er,messagesToText as rr,mimeType as ar,paramsSizeToScaleStr as tr,parse as or,parse2 as sr,parseDateFormat as nr,parseFString as ir,parseISO as lr,parseJsJson as mr,parseYaml as ur,reControlCharsRegex as dr,readFilenamesRecursiveSync as cr,readableFromAsyncIterable as pr,registerCoreTools as Sr,registerYamlTag as Tr,sanitizeFilename as hr,sanitizeFilepath as Fr,saveConfigFile as Er,scaleStrToParamsSize as vr,sortedValues as Cr,splitSentence as gr,stringify as Rr,stringify2 as yr,textToDate as xr,throwError as Ar,toDate as fr,toDateTime as br,tokenize as Pr,trimStartOfStreamHelper as Ir,truncTo as Nr,utils_exports as Hr,uuid as kr,v1 as Dr,v4 as Vr,v5 as Br,validate as Lr,version as jr,wait as zr,xxhash as Mr,xxhash32 as wr,xxhash64 as Or,xxhashAsStr as Yr}from"./chunk-VNNDL7E2.mjs";import{__export as Gr,__reExport as Wr}from"./chunk-U5DDQYSF.mjs";var Ur={};Gr(Ur,{AIChatRoles:()=>e,AIMessageTypes:()=>r,AIStream:()=>a,AITextGenerationFinishReasons:()=>t,AbortError:()=>o,AbortErrorCode:()=>s,ActionNames:()=>n,AlreadyExistsError:()=>i,AlreadyExistsErrorCode:()=>l,AsyncFeatureBits:()=>m,AsyncFeatures:()=>u,BaseError:()=>d,CancelableAbility:()=>c,ClientToolFuncSchema:()=>p,ClientTools:()=>S,CommonError:()=>T,ConfigFile:()=>h,DefaultAsyncSemaphoreCapacity:()=>F,ErrorCode:()=>v,EventBusName:()=>C,EventClient:()=>g,EventName:()=>R,EventServer:()=>y,EventToolFunc:()=>x,FStringPromptTemplate:()=>A,FewShotPromptTemplate:()=>f,FilenameReservedRegex:()=>b,GolangPromptTemplate:()=>P,HFBuiltins:()=>Te,HFEnvironment:()=>E,HFInterpreter:()=>k,HFTemplate:()=>oe,HfPromptTemplate:()=>I,IntSet:()=>N,InternalErrorCode:()=>H,NotFoundError:()=>V,NotFoundErrorCode:()=>B,NotImplementationError:()=>L,NotImplementedErrorCode:()=>j,PASSING_SCORE:()=>z,PromptExampleSelector:()=>M,PromptTemplate:()=>w,PromptTemplateTypes:()=>O,PromptTypes:()=>Y,RStreamErrCode:()=>G,RateLimit:()=>W,ReadableStreamError:()=>U,RemoteToolFuncSchema:()=>J,ResClientTools:()=>K,ResClientToolsSchema:()=>X,ResServerTools:()=>_,ResServerToolsSchema:()=>Q,ResponseRStreamErrCode:()=>q,SSEChannel:()=>Z,SSEChannelAlreadyClosedErrCode:()=>$,Semaphore:()=>ee,ServerToolFuncSchema:()=>re,ServerTools:()=>ae,TaskAbortController:()=>te,ToolAsyncCancelableBit:()=>se,ToolAsyncMultiTaskBit:()=>ne,ToolAsyncPriorityBit:()=>ie,ToolFunc:()=>le,ToolFuncSchema:()=>me,WindowsReservedNameRegex:()=>ue,XXHashAlgorithm:()=>de,_lrucache:()=>ce,backendEventable:()=>pe,base32768:()=>Se,createAbilityInjector:()=>he,createCallbacksTransformer:()=>Fe,createEmptyReadableStream:()=>Ee,createEndWithRepetitionDetector:()=>ve,createError:()=>Ce,createEventStreamTransformer:()=>ge,createHfValueFunc:()=>Re,createLRUCache:()=>ye,dateToText:()=>xe,defaultTemplateFormat:()=>Ae,event:()=>fe,eventClient:()=>be,eventServer:()=>Pe,expandEnv:()=>Ie,expandObjEnv:()=>Ne,extNameLevel:()=>He,filenameReservedRegex:()=>ke,formatISO:()=>De,getAllEnumKeys:()=>Ve,getConfigFileNames:()=>Be,getConfigs:()=>Le,getKeysPath:()=>je,getMultiLevelExtname:()=>ze,getRealFilepath:()=>Me,getResponseErrorReadableStream:()=>we,hfParse:()=>or,hfTokenize:()=>Pr,interpolateEnv:()=>Oe,interpolateFString:()=>Ye,interpolateGolangTemplate:()=>Ge,isModelNameMatched:()=>We,isValidFilename:()=>Ue,isValidFilepath:()=>Je,isWebStream:()=>Ke,jsonFilterToWhere:()=>Xe,jsonToMarkdownStr:()=>_e,loadFileFromPaths:()=>Qe,loadTextFromPaths:()=>qe,lrucache:()=>Ze,makeToolFuncCancelable:()=>$e,matchUrlProtocol:()=>er,messagesToText:()=>rr,mimeType:()=>ar,paramsSizeToScaleStr:()=>tr,parseDateFormat:()=>nr,parseFString:()=>ir,parseISO:()=>lr,parseJsJson:()=>mr,parseYaml:()=>ur,reControlCharsRegex:()=>dr,readFilenamesRecursiveSync:()=>cr,readableFromAsyncIterable:()=>pr,registerCoreTools:()=>Sr,registerYamlTag:()=>Tr,sanitizeFilename:()=>hr,sanitizeFilepath:()=>Fr,saveConfigFile:()=>Er,scaleStrToParamsSize:()=>vr,sortedValues:()=>Cr,splitSentence:()=>gr,stringifyYaml:()=>yr,textToDate:()=>xr,throwError:()=>Ar,toDate:()=>fr,toDateTime:()=>br,trimStartOfStreamHelper:()=>Ir,truncTo:()=>Nr,uuid:()=>kr,uuidNIL:()=>D,uuidParse:()=>sr,uuidStringify:()=>Rr,uuidValidate:()=>Lr,uuidVersion:()=>jr,uuidv1:()=>Dr,uuidv4:()=>Vr,uuidv5:()=>Br,wait:()=>zr,xxhash:()=>Mr,xxhash32:()=>wr,xxhash64:()=>Or,xxhashAsStr:()=>Yr}),Wr(Ur,Hr);export{e as AIChatRoles,r as AIMessageTypes,a as AIStream,t as AITextGenerationFinishReasons,o as AbortError,s as AbortErrorCode,n as ActionNames,i as AlreadyExistsError,l as AlreadyExistsErrorCode,m as AsyncFeatureBits,u as AsyncFeatures,d as BaseError,c as CancelableAbility,p as ClientToolFuncSchema,S as ClientTools,T as CommonError,h as ConfigFile,F as DefaultAsyncSemaphoreCapacity,v as ErrorCode,C as EventBusName,g as EventClient,R as EventName,y as EventServer,x as EventToolFunc,A as FStringPromptTemplate,f as FewShotPromptTemplate,b as FilenameReservedRegex,P as GolangPromptTemplate,Te as HFBuiltins,E as HFEnvironment,k as HFInterpreter,oe as HFTemplate,I as HfPromptTemplate,N as IntSet,H as InternalErrorCode,V as NotFoundError,B as NotFoundErrorCode,L as NotImplementationError,j as NotImplementedErrorCode,z as PASSING_SCORE,M as PromptExampleSelector,w as PromptTemplate,O as PromptTemplateTypes,Y as PromptTypes,G as RStreamErrCode,W as RateLimit,U as ReadableStreamError,J as RemoteToolFuncSchema,K as ResClientTools,X as ResClientToolsSchema,_ as ResServerTools,Q as ResServerToolsSchema,q as ResponseRStreamErrCode,Z as SSEChannel,$ as SSEChannelAlreadyClosedErrCode,ee as Semaphore,re as ServerToolFuncSchema,ae as ServerTools,te as TaskAbortController,se as ToolAsyncCancelableBit,ne as ToolAsyncMultiTaskBit,ie as ToolAsyncPriorityBit,le as ToolFunc,me as ToolFuncSchema,ue as WindowsReservedNameRegex,de as XXHashAlgorithm,ce as _lrucache,pe as backendEventable,Se as base32768,he as createAbilityInjector,Fe as createCallbacksTransformer,Ee as createEmptyReadableStream,ve as createEndWithRepetitionDetector,Ce as createError,ge as createEventStreamTransformer,Re as createHfValueFunc,ye as createLRUCache,xe as dateToText,Ae as defaultTemplateFormat,fe as event,be as eventClient,Pe as eventServer,Ie as expandEnv,Ne as expandObjEnv,He as extNameLevel,ke as filenameReservedRegex,De as formatISO,Ve as getAllEnumKeys,Be as getConfigFileNames,Le as getConfigs,je as getKeysPath,ze as getMultiLevelExtname,Me as getRealFilepath,we as getResponseErrorReadableStream,or as hfParse,Pr as hfTokenize,Oe as interpolateEnv,Ye as interpolateFString,Ge as interpolateGolangTemplate,We as isModelNameMatched,Ue as isValidFilename,Je as isValidFilepath,Ke as isWebStream,Xe as jsonFilterToWhere,_e as jsonToMarkdownStr,Qe as loadFileFromPaths,qe as loadTextFromPaths,Ze as lrucache,$e as makeToolFuncCancelable,er as matchUrlProtocol,rr as messagesToText,ar as mimeType,tr as paramsSizeToScaleStr,nr as parseDateFormat,ir as parseFString,lr as parseISO,mr as parseJsJson,ur as parseYaml,dr as reControlCharsRegex,cr as readFilenamesRecursiveSync,pr as readableFromAsyncIterable,Sr as registerCoreTools,Tr as registerYamlTag,hr as sanitizeFilename,Fr as sanitizeFilepath,Er as saveConfigFile,vr as scaleStrToParamsSize,Cr as sortedValues,gr as splitSentence,yr as stringifyYaml,xr as textToDate,Ar as throwError,fr as toDate,br as toDateTime,Ir as trimStartOfStreamHelper,Nr as truncTo,kr as uuid,D as uuidNIL,sr as uuidParse,Rr as uuidStringify,Lr as uuidValidate,jr as uuidVersion,Dr as uuidv1,Vr as uuidv4,Br as uuidv5,zr as wait,Mr as xxhash,wr as xxhash32,Or as xxhash64,Yr as xxhashAsStr};
|
|
1
|
+
import{AIArgProcessor as e,AIChatRoles as r,AIMessageTypes as t,AIStream as a,AITextGenerationFinishReasons as o,AbortError as s,AbortErrorCode as n,ActionNames as i,AlreadyExistsError as l,AlreadyExistsErrorCode as m,AsyncFeatureBits as u,AsyncFeatures as c,BaseError as d,CancelableAbility as p,ChoiceArgProcessor as S,ClientToolFuncSchema as T,ClientTools as h,CommonError as F,ConfigFile as E,DefaultAsyncSemaphoreCapacity as g,EnvironmentEx as C,ErrorCode as v,EventBusName as A,EventClient as f,EventName as x,EventServer as y,EventToolFunc as R,FStringPromptTemplate as b,FewShotPromptTemplate as I,FilenameReservedRegex as P,GolangPromptTemplate as N,HfPromptTemplate as H,IntSet as j,InternalErrorCode as k,Interpreter as D,NIL as O,NotFoundError as V,NotFoundErrorCode as B,NotImplementationError as L,NotImplementedErrorCode as M,PASSING_SCORE as z,PromptExampleSelector as w,PromptTemplate as G,PromptTemplateTypes as U,PromptTypes as Y,RStreamErrCode as W,RateLimit as J,ReadableStreamError as K,RemoteToolFuncSchema as X,ResClientTools as _,ResServerTools as q,ResponseRStreamErrCode as Q,SSEChannel as Z,SSEChannelAlreadyClosedErrCode as $,Semaphore as ee,ServerToolFuncSchema as re,ServerTools as te,TaskAbortController as ae,Template as oe,TemplateArgProcessor as se,ToolAsyncCancelableBit as ne,ToolAsyncMultiTaskBit as ie,ToolAsyncPriorityBit as le,ToolFunc as me,ToolFuncSchema as ue,WindowsReservedNameRegex as ce,XXHashAlgorithm as de,_lrucache as pe,backendEventable as Se,base32768 as Te,builtins as he,countRegexMatches as Fe,createAbilityInjector as Ee,createCallbacksTransformer as ge,createEmptyReadableStream as Ce,createEndWithRepetitionDetector as ve,createError as Ae,createEventStreamTransformer as fe,createHfValueFunc as xe,createLRUCache as ye,dateToText as Re,defaultTemplateFormat as be,event as Ie,eventClient as Pe,eventServer as Ne,expandEnv as He,expandObjEnv as je,extNameLevel as ke,fileIsExists as De,filenameReservedRegex as Oe,filterValidFnScope as Ve,formatISO as Be,getAllEnumKeys as Le,getConfigFileNames as Me,getConfigs as ze,getKeysPath as we,getMultiLevelExtname as Ge,getRealFilepath as Ue,getResponseErrorReadableStream as Ye,interpolateEnv as We,interpolateFString as Je,interpolateGolangTemplate as Ke,isModelNameMatched as Xe,isValidFilename as _e,isValidFilepath as qe,isWebStream as Qe,jsonFilterToWhere as Ze,jsonToMarkdownStr as $e,loadFileFromPaths as er,loadTextFromPaths as rr,lrucache as tr,makeToolFuncCancelable as ar,matchUrlProtocol as or,messagesToText as sr,mimeType as nr,paramsSizeToScaleStr as ir,parse as lr,parse2 as mr,parseCommand as ur,parseDateFormat as cr,parseFString as dr,parseISO as pr,parseJsJson as Sr,parseObjectArgInfo as Tr,parseObjectArgumentInfos as hr,parseObjectArguments as Fr,parseObjectArgumentsAsArgInfos as Er,parseYaml as gr,quoteStr as Cr,reControlCharsRegex as vr,readFilenamesRecursiveSync as Ar,readableFromAsyncIterable as fr,registerCoreTools as xr,registerYamlTag as yr,sanitizeFilename as Rr,sanitizeFilepath as br,saveConfigFile as Ir,scaleStrToParamsSize as Pr,sortedValues as Nr,splitSentence as Hr,stringify as jr,stringify2 as kr,textToDate as Dr,throwError as Or,toDate as Vr,toDateTime as Br,tokenize as Lr,trimStartOfStreamHelper as Mr,truncTo as zr,utils_exports as wr,uuid as Gr,v1 as Ur,v4 as Yr,v5 as Wr,validate as Jr,version as Kr,wait as Xr,xxhash as _r,xxhash32 as qr,xxhash64 as Qr,xxhashAsStr as Zr}from"./chunk-4LD7IUUG.mjs";import{__export as $r,__reExport as et}from"./chunk-U5DDQYSF.mjs";var rt={};$r(rt,{AIArgProcessor:()=>e,AIChatRoles:()=>r,AIMessageTypes:()=>t,AIStream:()=>a,AITextGenerationFinishReasons:()=>o,AbortError:()=>s,AbortErrorCode:()=>n,ActionNames:()=>i,AlreadyExistsError:()=>l,AlreadyExistsErrorCode:()=>m,AsyncFeatureBits:()=>u,AsyncFeatures:()=>c,BaseError:()=>d,CancelableAbility:()=>p,ChoiceArgProcessor:()=>S,ClientToolFuncSchema:()=>T,ClientTools:()=>h,CommonError:()=>F,ConfigFile:()=>E,DefaultAsyncSemaphoreCapacity:()=>g,ErrorCode:()=>v,EventBusName:()=>A,EventClient:()=>f,EventName:()=>x,EventServer:()=>y,EventToolFunc:()=>R,FStringPromptTemplate:()=>b,FewShotPromptTemplate:()=>I,FilenameReservedRegex:()=>P,GolangPromptTemplate:()=>N,HFBuiltins:()=>he,HFEnvironment:()=>C,HFInterpreter:()=>D,HFTemplate:()=>oe,HfPromptTemplate:()=>H,IntSet:()=>j,InternalErrorCode:()=>k,NotFoundError:()=>V,NotFoundErrorCode:()=>B,NotImplementationError:()=>L,NotImplementedErrorCode:()=>M,PASSING_SCORE:()=>z,PromptExampleSelector:()=>w,PromptTemplate:()=>G,PromptTemplateTypes:()=>U,PromptTypes:()=>Y,RStreamErrCode:()=>W,RateLimit:()=>J,ReadableStreamError:()=>K,RemoteToolFuncSchema:()=>X,ResClientTools:()=>_,ResServerTools:()=>q,ResponseRStreamErrCode:()=>Q,SSEChannel:()=>Z,SSEChannelAlreadyClosedErrCode:()=>$,Semaphore:()=>ee,ServerToolFuncSchema:()=>re,ServerTools:()=>te,TaskAbortController:()=>ae,TemplateArgProcessor:()=>se,ToolAsyncCancelableBit:()=>ne,ToolAsyncMultiTaskBit:()=>ie,ToolAsyncPriorityBit:()=>le,ToolFunc:()=>me,ToolFuncSchema:()=>ue,WindowsReservedNameRegex:()=>ce,XXHashAlgorithm:()=>de,_lrucache:()=>pe,backendEventable:()=>Se,base32768:()=>Te,countRegexMatches:()=>Fe,createAbilityInjector:()=>Ee,createCallbacksTransformer:()=>ge,createEmptyReadableStream:()=>Ce,createEndWithRepetitionDetector:()=>ve,createError:()=>Ae,createEventStreamTransformer:()=>fe,createHfValueFunc:()=>xe,createLRUCache:()=>ye,dateToText:()=>Re,defaultTemplateFormat:()=>be,event:()=>Ie,eventClient:()=>Pe,eventServer:()=>Ne,expandEnv:()=>He,expandObjEnv:()=>je,extNameLevel:()=>ke,fileIsExists:()=>De,filenameReservedRegex:()=>Oe,filterValidFnScope:()=>Ve,formatISO:()=>Be,getAllEnumKeys:()=>Le,getConfigFileNames:()=>Me,getConfigs:()=>ze,getKeysPath:()=>we,getMultiLevelExtname:()=>Ge,getRealFilepath:()=>Ue,getResponseErrorReadableStream:()=>Ye,hfParse:()=>lr,hfTokenize:()=>Lr,interpolateEnv:()=>We,interpolateFString:()=>Je,interpolateGolangTemplate:()=>Ke,isModelNameMatched:()=>Xe,isValidFilename:()=>_e,isValidFilepath:()=>qe,isWebStream:()=>Qe,jsonFilterToWhere:()=>Ze,jsonToMarkdownStr:()=>$e,loadFileFromPaths:()=>er,loadTextFromPaths:()=>rr,lrucache:()=>tr,makeToolFuncCancelable:()=>ar,matchUrlProtocol:()=>or,messagesToText:()=>sr,mimeType:()=>nr,paramsSizeToScaleStr:()=>ir,parseCommand:()=>ur,parseDateFormat:()=>cr,parseFString:()=>dr,parseISO:()=>pr,parseJsJson:()=>Sr,parseObjectArgInfo:()=>Tr,parseObjectArgumentInfos:()=>hr,parseObjectArguments:()=>Fr,parseObjectArgumentsAsArgInfos:()=>Er,parseYaml:()=>gr,quoteStr:()=>Cr,reControlCharsRegex:()=>vr,readFilenamesRecursiveSync:()=>Ar,readableFromAsyncIterable:()=>fr,registerCoreTools:()=>xr,registerYamlTag:()=>yr,sanitizeFilename:()=>Rr,sanitizeFilepath:()=>br,saveConfigFile:()=>Ir,scaleStrToParamsSize:()=>Pr,sortedValues:()=>Nr,splitSentence:()=>Hr,stringifyYaml:()=>kr,textToDate:()=>Dr,throwError:()=>Or,toDate:()=>Vr,toDateTime:()=>Br,trimStartOfStreamHelper:()=>Mr,truncTo:()=>zr,uuid:()=>Gr,uuidNIL:()=>O,uuidParse:()=>mr,uuidStringify:()=>jr,uuidValidate:()=>Jr,uuidVersion:()=>Kr,uuidv1:()=>Ur,uuidv4:()=>Yr,uuidv5:()=>Wr,wait:()=>Xr,xxhash:()=>_r,xxhash32:()=>qr,xxhash64:()=>Qr,xxhashAsStr:()=>Zr}),et(rt,wr);export{e as AIArgProcessor,r as AIChatRoles,t as AIMessageTypes,a as AIStream,o as AITextGenerationFinishReasons,s as AbortError,n as AbortErrorCode,i as ActionNames,l as AlreadyExistsError,m as AlreadyExistsErrorCode,u as AsyncFeatureBits,c as AsyncFeatures,d as BaseError,p as CancelableAbility,S as ChoiceArgProcessor,T as ClientToolFuncSchema,h as ClientTools,F as CommonError,E as ConfigFile,g as DefaultAsyncSemaphoreCapacity,v as ErrorCode,A as EventBusName,f as EventClient,x as EventName,y as EventServer,R as EventToolFunc,b as FStringPromptTemplate,I as FewShotPromptTemplate,P as FilenameReservedRegex,N as GolangPromptTemplate,he as HFBuiltins,C as HFEnvironment,D as HFInterpreter,oe as HFTemplate,H as HfPromptTemplate,j as IntSet,k as InternalErrorCode,V as NotFoundError,B as NotFoundErrorCode,L as NotImplementationError,M as NotImplementedErrorCode,z as PASSING_SCORE,w as PromptExampleSelector,G as PromptTemplate,U as PromptTemplateTypes,Y as PromptTypes,W as RStreamErrCode,J as RateLimit,K as ReadableStreamError,X as RemoteToolFuncSchema,_ as ResClientTools,q as ResServerTools,Q as ResponseRStreamErrCode,Z as SSEChannel,$ as SSEChannelAlreadyClosedErrCode,ee as Semaphore,re as ServerToolFuncSchema,te as ServerTools,ae as TaskAbortController,se as TemplateArgProcessor,ne as ToolAsyncCancelableBit,ie as ToolAsyncMultiTaskBit,le as ToolAsyncPriorityBit,me as ToolFunc,ue as ToolFuncSchema,ce as WindowsReservedNameRegex,de as XXHashAlgorithm,pe as _lrucache,Se as backendEventable,Te as base32768,Fe as countRegexMatches,Ee as createAbilityInjector,ge as createCallbacksTransformer,Ce as createEmptyReadableStream,ve as createEndWithRepetitionDetector,Ae as createError,fe as createEventStreamTransformer,xe as createHfValueFunc,ye as createLRUCache,Re as dateToText,be as defaultTemplateFormat,Ie as event,Pe as eventClient,Ne as eventServer,He as expandEnv,je as expandObjEnv,ke as extNameLevel,De as fileIsExists,Oe as filenameReservedRegex,Ve as filterValidFnScope,Be as formatISO,Le as getAllEnumKeys,Me as getConfigFileNames,ze as getConfigs,we as getKeysPath,Ge as getMultiLevelExtname,Ue as getRealFilepath,Ye as getResponseErrorReadableStream,lr as hfParse,Lr as hfTokenize,We as interpolateEnv,Je as interpolateFString,Ke as interpolateGolangTemplate,Xe as isModelNameMatched,_e as isValidFilename,qe as isValidFilepath,Qe as isWebStream,Ze as jsonFilterToWhere,$e as jsonToMarkdownStr,er as loadFileFromPaths,rr as loadTextFromPaths,tr as lrucache,ar as makeToolFuncCancelable,or as matchUrlProtocol,sr as messagesToText,nr as mimeType,ir as paramsSizeToScaleStr,ur as parseCommand,cr as parseDateFormat,dr as parseFString,pr as parseISO,Sr as parseJsJson,Tr as parseObjectArgInfo,hr as parseObjectArgumentInfos,Fr as parseObjectArguments,Er as parseObjectArgumentsAsArgInfos,gr as parseYaml,Cr as quoteStr,vr as reControlCharsRegex,Ar as readFilenamesRecursiveSync,fr as readableFromAsyncIterable,xr as registerCoreTools,yr as registerYamlTag,Rr as sanitizeFilename,br as sanitizeFilepath,Ir as saveConfigFile,Pr as scaleStrToParamsSize,Nr as sortedValues,Hr as splitSentence,kr as stringifyYaml,Dr as textToDate,Or as throwError,Vr as toDate,Br as toDateTime,Mr as trimStartOfStreamHelper,zr as truncTo,Gr as uuid,O as uuidNIL,mr as uuidParse,jr as uuidStringify,Jr as uuidValidate,Kr as uuidVersion,Ur as uuidv1,Yr as uuidv4,Wr as uuidv5,Xr as wait,_r as xxhash,qr as xxhash32,Qr as xxhash64,Zr as xxhashAsStr};
|