@isdk/ai-tool 0.8.2 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-BIJ2JH4U.mjs +1 -0
- package/dist/chunk-OYMVHUDZ.mjs +1 -0
- package/dist/funcs.d.mts +16 -5
- package/dist/funcs.d.ts +16 -5
- package/dist/funcs.js +1 -1
- package/dist/funcs.mjs +1 -1
- package/dist/index.d.mts +839 -563
- package/dist/index.d.ts +839 -563
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/test/util.d.mts +1 -1
- package/dist/test/util.d.ts +1 -1
- package/dist/test/util.js +1 -1
- package/dist/test/util.mjs +1 -1
- package/docs/api/@isdk/namespaces/ClientTools/README.md +11 -0
- package/docs/api/@isdk/namespaces/ClientTools/functions/get.md +27 -0
- package/docs/api/@isdk/namespaces/EventStates/variables/ABORT.md +1 -1
- package/docs/api/@isdk/namespaces/EventStates/variables/CONTINUE.md +1 -1
- package/docs/api/@isdk/namespaces/EventStates/variables/DONE.md +1 -1
- package/docs/api/@isdk/namespaces/EventStates/variables/STOPPED.md +1 -1
- package/docs/api/classes/BinarySemaphore.md +148 -67
- package/docs/api/classes/CancelableAbility.md +95 -43
- package/docs/api/classes/ClientToolTransport.md +31 -16
- package/docs/api/classes/ClientTools.md +868 -158
- package/docs/api/classes/CmdArgLexer.md +82 -0
- package/docs/api/classes/CmdArgParser.md +56 -0
- package/docs/api/classes/ConfigFile.md +6 -6
- package/docs/api/classes/EnvPromptTemplate.md +224 -52
- package/docs/api/classes/EventClient.md +902 -192
- package/docs/api/classes/EventEmitter.md +62 -12
- package/docs/api/classes/EventServer.md +895 -182
- package/docs/api/classes/EventToolFunc.md +801 -123
- package/docs/api/classes/FStringPromptTemplate.md +224 -52
- package/docs/api/classes/FewShotPromptTemplate.md +231 -59
- package/docs/api/classes/GolangPromptTemplate.md +224 -52
- package/docs/api/classes/HttpClientToolTransport.md +33 -19
- package/docs/api/classes/HttpServerToolTransport.md +15 -15
- package/docs/api/classes/IntSet.md +21 -21
- package/docs/api/classes/MailboxClientTransport.md +398 -0
- package/docs/api/classes/MailboxServerTransport.md +433 -0
- package/docs/api/classes/PromptExampleSelector.md +11 -11
- package/docs/api/classes/PromptTemplate.md +199 -51
- package/docs/api/classes/ReadableStreamError.md +2 -2
- package/docs/api/classes/ResClientTools.md +875 -165
- package/docs/api/classes/ResServerTools.md +869 -156
- package/docs/api/classes/RpcMethodsClientTool.md +870 -160
- package/docs/api/classes/RpcMethodsServerTool.md +865 -152
- package/docs/api/classes/SSEChannel.md +23 -23
- package/docs/api/classes/Semaphore.md +148 -76
- package/docs/api/classes/ServerToolTransport.md +14 -13
- package/docs/api/classes/ServerTools.md +854 -138
- package/docs/api/classes/SignalGate.md +12 -12
- package/docs/api/classes/SseClientPubSubTransport.md +4 -4
- package/docs/api/classes/SseServerPubSubTransport.md +13 -13
- package/docs/api/classes/TaskAbortController.md +33 -11
- package/docs/api/classes/ToolFunc.md +725 -119
- package/docs/api/classes/ToolTransport.md +7 -7
- package/docs/api/classes/YamlTypeBaseObject.md +2 -2
- package/docs/api/enumerations/AsyncFeatureBits.md +4 -4
- package/docs/api/enumerations/AsyncFeatures.md +4 -4
- package/docs/api/enumerations/CmdArgTokenType.md +129 -0
- package/docs/api/enumerations/HashAlgorithm.md +38 -12
- package/docs/api/functions/AIArgProcessor.md +8 -17
- package/docs/api/functions/AIStream.md +1 -1
- package/docs/api/functions/ChoiceArgProcessor.md +13 -15
- package/docs/api/functions/DefaultDateFormat.md +1 -1
- package/docs/api/functions/ObjectArgsToArgsInfo.md +11 -9
- package/docs/api/functions/RateLimit.md +33 -6
- package/docs/api/functions/TemplateArgProcessor.md +13 -15
- package/docs/api/functions/assignDirs.md +1 -1
- package/docs/api/functions/beforeShutdown.md +3 -3
- package/docs/api/functions/calcPerplexity.md +3 -3
- package/docs/api/functions/calcPerplexitySimple.md +3 -3
- package/docs/api/functions/cmdArgEvaluate.md +28 -0
- package/docs/api/functions/cmdArgsToMergedObject.md +34 -0
- package/docs/api/functions/completeSentences.md +1 -1
- package/docs/api/functions/concatText.md +1 -1
- package/docs/api/functions/countLLMTokens.md +1 -1
- package/docs/api/functions/countRegexMatches.md +1 -1
- package/docs/api/functions/createCallbacksTransformer.md +23 -19
- package/docs/api/functions/createEmptyReadableStream.md +1 -1
- package/docs/api/functions/createEndWithRepetitionDetector.md +4 -4
- package/docs/api/functions/createEventStreamTransformer.md +1 -1
- package/docs/api/functions/createHfValueFunc.md +1 -1
- package/docs/api/functions/createLRUCache.md +1 -1
- package/docs/api/functions/createYamlObjectTag.md +1 -1
- package/docs/api/functions/dateToText.md +1 -1
- package/docs/api/functions/decodeCharset.md +1 -1
- package/docs/api/functions/defaultsWithConcat.md +1 -1
- package/docs/api/functions/detectCharset.md +1 -1
- package/docs/api/functions/encodeLLMTokens.md +1 -1
- package/docs/api/functions/ensureQuoted.md +3 -1
- package/docs/api/functions/evaluateExpression.md +40 -0
- package/docs/api/functions/eventable.md +1 -1
- package/docs/api/functions/expandConfig.md +1 -1
- package/docs/api/functions/expandEnv.md +1 -1
- package/docs/api/functions/expandObjEnv.md +1 -1
- package/docs/api/functions/expandPath.md +1 -1
- package/docs/api/functions/expandPathInObject.md +1 -1
- package/docs/api/functions/expandPaths.md +1 -1
- package/docs/api/functions/extNameLevel.md +1 -1
- package/docs/api/functions/extractCodeBlock.md +51 -0
- package/docs/api/functions/fileIsExists.md +3 -3
- package/docs/api/functions/filterValidFnScope.md +3 -3
- package/docs/api/functions/findIndexNonEmptyFrom.md +1 -1
- package/docs/api/functions/findPort.md +13 -5
- package/docs/api/functions/formatTextWithSpace.md +1 -1
- package/docs/api/functions/funcGetMeta.md +1 -1
- package/docs/api/functions/funcWithMeta.md +4 -4
- package/docs/api/functions/genUrlParamsStr.md +1 -1
- package/docs/api/functions/getAllEnumKeys.md +1 -1
- package/docs/api/functions/getConfigFileNames.md +1 -1
- package/docs/api/functions/getConfigs.md +1 -1
- package/docs/api/functions/getEnvVairables.md +1 -1
- package/docs/api/functions/getFileMetaInfo.md +1 -1
- package/docs/api/functions/getHashAlgoBySize.md +1 -1
- package/docs/api/functions/getKeysPath.md +1 -1
- package/docs/api/functions/getLLMTokenizer.md +1 -1
- package/docs/api/functions/getMultiLevelExtname.md +1 -1
- package/docs/api/functions/getPackageDir.md +1 -1
- package/docs/api/functions/getRealFilepath.md +1 -1
- package/docs/api/functions/getResponseErrorReadableStream.md +2 -2
- package/docs/api/functions/getXDGConfigs.md +1 -1
- package/docs/api/functions/hasDirectoryIn.md +3 -3
- package/docs/api/functions/hash.md +25 -4
- package/docs/api/functions/hashFile.md +1 -1
- package/docs/api/functions/hashObject.md +23 -1
- package/docs/api/functions/hashStream.md +25 -4
- package/docs/api/functions/initShutdown.md +1 -1
- package/docs/api/functions/isIdentifier.md +30 -0
- package/docs/api/functions/isLangUsingSpaces.md +1 -1
- package/docs/api/functions/isListItemString.md +3 -3
- package/docs/api/functions/isModelNameMatched.md +3 -3
- package/docs/api/functions/isPathIdentifier.md +23 -0
- package/docs/api/functions/isPunctuationChar.md +1 -1
- package/docs/api/functions/isQuoted.md +4 -1
- package/docs/api/functions/isRegExp.md +20 -1
- package/docs/api/functions/isSameString.md +1 -1
- package/docs/api/functions/isSectionString.md +3 -3
- package/docs/api/functions/isSentenceEnding.md +1 -1
- package/docs/api/functions/isSepLineString.md +3 -3
- package/docs/api/functions/isStrWrapped.md +3 -1
- package/docs/api/functions/isSubdirectory.md +1 -1
- package/docs/api/functions/isTitleString.md +3 -3
- package/docs/api/functions/isValidFilename.md +1 -1
- package/docs/api/functions/isValidFilepath.md +1 -1
- package/docs/api/functions/isWebStream.md +1 -1
- package/docs/api/functions/joinSplitWords.md +1 -1
- package/docs/api/functions/jsonFilterToWhere.md +1 -1
- package/docs/api/functions/jsonToMarkdownStr.md +1 -1
- package/docs/api/functions/loadAIConfig.md +1 -1
- package/docs/api/functions/loadConfig.md +1 -1
- package/docs/api/functions/loadConfigFile.md +1 -1
- package/docs/api/functions/loadFileFromPaths.md +1 -1
- package/docs/api/functions/loadTextFromPaths.md +1 -1
- package/docs/api/functions/lrucache.md +1 -1
- package/docs/api/functions/matchUrlProtocol.md +3 -3
- package/docs/api/functions/memoize.md +1 -1
- package/docs/api/functions/mergeArray.md +1 -1
- package/docs/api/functions/messagesToText.md +1 -1
- package/docs/api/functions/normalizePath.md +1 -1
- package/docs/api/functions/paramsSizeToScaleStr.md +1 -1
- package/docs/api/functions/parseCommand.md +21 -4
- package/docs/api/functions/parseJsJson.md +1 -1
- package/docs/api/functions/parseJsJsonSimpleSync.md +1 -1
- package/docs/api/functions/parseObjectArguments.md +17 -33
- package/docs/api/functions/parseYaml.md +1 -1
- package/docs/api/functions/prependNewlineIfMultiline.md +39 -0
- package/docs/api/functions/pruneSubdirectories.md +1 -1
- package/docs/api/functions/pruneSubdirectoriesInPlace.md +1 -1
- package/docs/api/functions/quoteStr.md +4 -1
- package/docs/api/functions/readFilenamesRecursiveSync.md +1 -1
- package/docs/api/functions/readTextFileChunks.md +1 -1
- package/docs/api/functions/readTextFileChunksEx.md +1 -1
- package/docs/api/functions/readableFromAsyncIterable.md +1 -1
- package/docs/api/functions/registerCoreTools.md +1 -1
- package/docs/api/functions/registerYamlTag.md +2 -2
- package/docs/api/functions/removeMarkdownBold.md +1 -1
- package/docs/api/functions/removeMarkdownBoldAndItalic.md +1 -1
- package/docs/api/functions/removeMarkdownItalic.md +1 -1
- package/docs/api/functions/replaceWithPlaceholder.md +3 -18
- package/docs/api/functions/restoreFromPlacehoders.md +2 -20
- package/docs/api/functions/sanitizeFilename.md +1 -1
- package/docs/api/functions/sanitizeFilepath.md +1 -1
- package/docs/api/functions/saveConfigFile.md +1 -1
- package/docs/api/functions/scaleStrToParamsSize.md +1 -1
- package/docs/api/functions/shutdown.md +2 -2
- package/docs/api/functions/simplifyObjectArguments.md +4 -1
- package/docs/api/functions/simplifyResult.md +34 -0
- package/docs/api/functions/sleep.md +1 -1
- package/docs/api/functions/sortedValues.md +1 -1
- package/docs/api/functions/splitChunks.md +1 -1
- package/docs/api/functions/splitParagraph.md +1 -1
- package/docs/api/functions/splitSentence.md +1 -1
- package/docs/api/functions/splitWords.md +1 -1
- package/docs/api/functions/stringifyYaml.md +1 -1
- package/docs/api/functions/stripConsoleColor.md +1 -1
- package/docs/api/functions/textToDate.md +1 -1
- package/docs/api/functions/textify.md +43 -0
- package/docs/api/functions/toDateTime.md +3 -3
- package/docs/api/functions/toRegExp.md +1 -1
- package/docs/api/functions/trimStartOfStreamHelper.md +1 -1
- package/docs/api/functions/truncTo.md +1 -1
- package/docs/api/functions/truncateByToken.md +1 -1
- package/docs/api/functions/truncateToTokenLimit.md +1 -1
- package/docs/api/functions/truncateToTokenLimitEx.md +1 -1
- package/docs/api/functions/uuid.md +1 -1
- package/docs/api/functions/wrapEventEmitter.md +1 -1
- package/docs/api/functions/wrapFlagValue.md +29 -0
- package/docs/api/functions/xxhash.md +27 -6
- package/docs/api/functions/xxhash32.md +22 -4
- package/docs/api/functions/xxhash64.md +22 -4
- package/docs/api/functions/xxhashAsStr.md +27 -6
- package/docs/api/functions/yieldExec.md +1 -1
- package/docs/api/globals.md +51 -18
- package/docs/api/interfaces/AIChatAssistantMessageParam.md +14 -14
- package/docs/api/interfaces/AIChatContentPartBase.md +26 -0
- package/docs/api/interfaces/AIChatContentPartImage.md +15 -3
- package/docs/api/interfaces/AIChatContentPartText.md +15 -3
- package/docs/api/interfaces/AIChatMessageParamBase.md +9 -9
- package/docs/api/interfaces/AIChatMessageToolCall.md +12 -8
- package/docs/api/interfaces/AIChatSystemMessageParam.md +10 -10
- package/docs/api/interfaces/AIChatToolChoiceFuncObject.md +3 -3
- package/docs/api/interfaces/AIChatToolChoiceObject.md +2 -2
- package/docs/api/interfaces/AIChatToolDefinition.md +45 -0
- package/docs/api/interfaces/AIChatToolFunc.md +5 -5
- package/docs/api/interfaces/AIChatToolFuncParam.md +3 -3
- package/docs/api/interfaces/AIChatToolMessageParam.md +13 -13
- package/docs/api/interfaces/AIChatToolParam.md +2 -2
- package/docs/api/interfaces/AIChatToolTypeObject.md +2 -2
- package/docs/api/interfaces/AIChatUserMessageParam.md +14 -14
- package/docs/api/interfaces/AIResult.md +7 -7
- package/docs/api/interfaces/AIStreamParser.md +2 -2
- package/docs/api/interfaces/AIStreamParserOptions.md +2 -2
- package/docs/api/interfaces/BaseFunc.md +15 -15
- package/docs/api/interfaces/BaseFuncItem.md +16 -16
- package/docs/api/interfaces/BinarySemaphoreAcquireOptions.md +9 -2
- package/docs/api/interfaces/BinarySemaphoreOptions.md +22 -5
- package/docs/api/interfaces/BinarySemaphoreReleaseOptions.md +7 -5
- package/docs/api/interfaces/CancelableAbilityOptions.md +4 -4
- package/docs/api/interfaces/ClientFuncItem.md +70 -19
- package/docs/api/interfaces/CmdArgAIChoiceConfig.md +97 -0
- package/docs/api/interfaces/CmdArgArgsInfo.md +31 -0
- package/docs/api/interfaces/CmdArgContext.md +103 -0
- package/docs/api/interfaces/CmdArgFlagMetadata.md +21 -0
- package/docs/api/interfaces/CmdArgMapResult.md +41 -0
- package/docs/api/interfaces/CmdArgParseResult.md +51 -0
- package/docs/api/interfaces/CmdArgParsedCommand.md +41 -0
- package/docs/api/interfaces/CmdArgParserOptions.md +225 -0
- package/docs/api/interfaces/CmdArgProcessorResultOptions.md +22 -0
- package/docs/api/interfaces/CmdArgSimplifyOptions.md +101 -0
- package/docs/api/interfaces/CmdArgToken.md +51 -0
- package/docs/api/interfaces/EventClientFuncParams.md +5 -5
- package/docs/api/interfaces/EventServerFuncParams.md +21 -7
- package/docs/api/interfaces/FewShotPromptTemplateOptions.md +18 -6
- package/docs/api/interfaces/FuncItem.md +19 -15
- package/docs/api/interfaces/FuncParam.md +5 -5
- package/docs/api/interfaces/FuncParams.md +1 -1
- package/docs/api/interfaces/Funcs.md +1 -1
- package/docs/api/interfaces/HashAlgoParams.md +36 -5
- package/docs/api/interfaces/IClientToolTransport.md +24 -10
- package/docs/api/interfaces/IFileMetaInfo.md +8 -8
- package/docs/api/interfaces/IPubSubClientTransport.md +4 -4
- package/docs/api/interfaces/IPubSubServerTransport.md +14 -14
- package/docs/api/interfaces/IReadTextFileChunksOptions.md +11 -11
- package/docs/api/interfaces/IServerToolTransport.md +8 -8
- package/docs/api/interfaces/IToolTransport.md +5 -5
- package/docs/api/interfaces/ITruncateToTokenLimitOptions.md +10 -10
- package/docs/api/interfaces/JsonFilter.md +1 -1
- package/docs/api/interfaces/MailboxClientOptions.md +74 -0
- package/docs/api/interfaces/MailboxServerOptions.md +69 -0
- package/docs/api/interfaces/ProbabilityItem.md +4 -4
- package/docs/api/interfaces/PromptExampleSelectorOptions.md +3 -3
- package/docs/api/interfaces/PromptTemplateOptions.md +8 -0
- package/docs/api/interfaces/PubSubClientStream.md +11 -11
- package/docs/api/interfaces/PubSubServerSession.md +8 -8
- package/docs/api/interfaces/RegisterOptions.md +298 -0
- package/docs/api/interfaces/RemoteFuncItem.md +63 -20
- package/docs/api/interfaces/ReplacePlacehoderOptions.md +5 -5
- package/docs/api/interfaces/ResClientFuncParams.md +3 -3
- package/docs/api/interfaces/ResServerFuncParams.md +20 -6
- package/docs/api/interfaces/RpcMethodsClientFuncParams.md +2 -2
- package/docs/api/interfaces/RpcMethodsServerFuncParams.md +18 -4
- package/docs/api/interfaces/SanitizeFilenameOptions.md +3 -3
- package/docs/api/interfaces/SectionStringOptions.md +3 -3
- package/docs/api/interfaces/SemaphoreOptions.md +30 -7
- package/docs/api/interfaces/SemaphoreTaskItem.md +18 -5
- package/docs/api/interfaces/ServerFuncItem.md +71 -20
- package/docs/api/interfaces/ServerFuncParams.md +14 -4
- package/docs/api/interfaces/SplitSentenceOptions.md +5 -5
- package/docs/api/interfaces/StreamCallbacksAndOptions.md +80 -7
- package/docs/api/interfaces/TaskAbortControllers.md +2 -2
- package/docs/api/interfaces/TaskPromise.md +6 -6
- package/docs/api/interfaces/TextifyInlineOptions.md +51 -0
- package/docs/api/interfaces/TextifyOptions.md +108 -0
- package/docs/api/interfaces/ToolFuncContext.md +73 -0
- package/docs/api/interfaces/ToolFuncPackage.md +4 -4
- package/docs/api/interfaces/ToolFuncRegistryIsolateOptions.md +41 -0
- package/docs/api/interfaces/UnregisterOptions.md +56 -0
- package/docs/api/type-aliases/AIChatContentPart.md +2 -2
- package/docs/api/type-aliases/AIChatMessageParam.md +1 -1
- package/docs/api/type-aliases/AIChatRole.md +2 -2
- package/docs/api/type-aliases/AIChatTemplateCaps.md +239 -0
- package/docs/api/type-aliases/AIChatToolChoiceParam.md +1 -1
- package/docs/api/type-aliases/AIMessageType.md +1 -1
- package/docs/api/type-aliases/AIModelNameRule.md +1 -1
- package/docs/api/type-aliases/AIModelNameRuleFn.md +1 -1
- package/docs/api/type-aliases/AIModelNameRules.md +1 -1
- package/docs/api/type-aliases/AITextGenerationFinishReason.md +1 -1
- package/docs/api/type-aliases/ActionName.md +1 -1
- package/docs/api/type-aliases/ArgProcessor.md +24 -0
- package/docs/api/type-aliases/ArrayMergeWay.md +1 -1
- package/docs/api/type-aliases/AsyncTaskId.md +1 -1
- package/docs/api/type-aliases/BeforeShutdownListener.md +1 -1
- package/docs/api/type-aliases/CmdArgFlagValue.md +14 -0
- package/docs/api/type-aliases/CmdArgFlagsRecord.md +13 -0
- package/docs/api/type-aliases/EventErrorListenerFn.md +1 -1
- package/docs/api/type-aliases/EventListenerFn.md +1 -1
- package/docs/api/type-aliases/FuncParamType.md +1 -1
- package/docs/api/type-aliases/PromptExamples.md +1 -1
- package/docs/api/type-aliases/PubSubClientId.md +1 -1
- package/docs/api/type-aliases/PubSubCtx.md +6 -6
- package/docs/api/type-aliases/RpcMethodHandler.md +1 -1
- package/docs/api/type-aliases/SSEClient.md +5 -5
- package/docs/api/type-aliases/SemaphoreIsReadyFuncType.md +4 -1
- package/docs/api/type-aliases/SimplifiedResultType.md +14 -0
- package/docs/api/type-aliases/StreamCloseStatus.md +16 -0
- package/docs/api/type-aliases/TFunc.md +1 -1
- package/docs/api/type-aliases/TextifyInlineStyleMode.md +16 -0
- package/docs/api/type-aliases/TextifyStringQuoting.md +16 -0
- package/docs/api/type-aliases/UUIDVersions.md +3 -1
- package/docs/api/variables/AIChatRoles.md +2 -2
- package/docs/api/variables/AIMessageTypes.md +1 -1
- package/docs/api/variables/AITextGenerationFinishReasons.md +1 -1
- package/docs/api/variables/ActionNames.md +1 -1
- package/docs/api/variables/ArrayMergeWay.md +1 -1
- package/docs/api/variables/ArrayMergeWaySymbol.md +1 -1
- package/docs/api/variables/CMD_ARG_FLAG_SYMBOL.md +21 -0
- package/docs/api/variables/CMD_ARG_PROCESSOR_RESULT.md +22 -0
- package/docs/api/variables/CMD_ARG_UNRESOLVED_SYMBOL.md +16 -0
- package/docs/api/variables/ClientEventPrefix.md +2 -2
- package/docs/api/variables/ClientToolFuncSchema.md +27 -17
- package/docs/api/variables/DEFAULT_CONFIG_NAME.md +1 -1
- package/docs/api/variables/DefaultAsyncSemaphoreCapacity.md +4 -1
- package/docs/api/variables/EventBusName.md +2 -2
- package/docs/api/variables/EventName.md +2 -2
- package/docs/api/variables/FilenameReservedRegex.md +1 -1
- package/docs/api/variables/FuncMetaSymbol.md +2 -2
- package/docs/api/variables/IDENTIFIER_REGEX.md +14 -0
- package/docs/api/variables/LLM_TOKENIZER_NAMES.md +1 -1
- package/docs/api/variables/LLM_TOKENIZER_NAMES_MAP.md +1 -1
- package/docs/api/variables/PASSING_SCORE.md +1 -1
- package/docs/api/variables/PATH_IDENTIFIER_REGEX.md +13 -0
- package/docs/api/variables/RESERVED_WORDS.md +13 -0
- package/docs/api/variables/RStreamErrCode.md +1 -1
- package/docs/api/variables/RemoteToolFuncSchema.md +36 -4
- package/docs/api/variables/ResponseRStreamErrCode.md +1 -1
- package/docs/api/variables/RpcMethodsClientToolSchema.md +2 -2
- package/docs/api/variables/RpcMethodsServerToolSchema.md +2 -2
- package/docs/api/variables/SHUTDOWN_SIGNALS.md +1 -1
- package/docs/api/variables/SSEChannelAlreadyClosedErrCode.md +1 -1
- package/docs/api/variables/SecondaryCache.md +1 -1
- package/docs/api/variables/ServerToolFuncSchema.md +27 -17
- package/docs/api/variables/StrangeHumanName.md +1 -1
- package/docs/api/variables/ToolAsyncCancelableBit.md +1 -1
- package/docs/api/variables/ToolAsyncMultiTaskBit.md +1 -1
- package/docs/api/variables/ToolAsyncPriorityBit.md +1 -1
- package/docs/api/variables/ToolFuncSchema.md +13 -13
- package/docs/api/variables/WindowsReservedNameRegex.md +1 -1
- package/docs/api/variables/backendEventable.md +23 -3
- package/docs/api/variables/base32768.md +2 -2
- package/docs/api/variables/event.md +1 -1
- package/docs/api/variables/eventClient.md +1 -1
- package/docs/api/variables/eventServer.md +1 -1
- package/docs/api/variables/lrucache.md +1 -1
- package/docs/api/variables/makeToolFuncCancelable.md +23 -3
- package/docs/api/variables/wait.md +1 -1
- package/docs/transport.dev.md +206 -0
- package/package.json +12 -10
- package/dist/chunk-4FKBOPZI.mjs +0 -1
- package/dist/chunk-TGTHY57V.mjs +0 -1
- package/dist/find-port-qS1CZ9c-.d.mts +0 -3
- package/dist/find-port-qS1CZ9c-.d.ts +0 -3
- package/dist/index-BLW3R7VS.d.mts +0 -1826
- package/dist/index-BLW3R7VS.d.ts +0 -1826
- package/docs/api/@isdk/namespaces/uuidv5/README.md +0 -12
- package/docs/api/@isdk/namespaces/uuidv5/variables/DNS.md +0 -11
- package/docs/api/@isdk/namespaces/uuidv5/variables/URL.md +0 -11
- package/docs/api/functions/nanoid.md +0 -45
- package/docs/api/functions/parseObjectArgInfo.md +0 -33
- package/docs/api/functions/parseObjectArgumentInfos.md +0 -29
- package/docs/api/functions/parseObjectArgumentsAsArgInfos.md +0 -46
- package/docs/api/functions/uuidParse.md +0 -21
- package/docs/api/functions/uuidStringify.md +0 -25
- package/docs/api/functions/uuidValidate.md +0 -21
- package/docs/api/functions/uuidVersion.md +0 -21
- package/docs/api/functions/uuidv1.md +0 -61
- package/docs/api/functions/uuidv4.md +0 -61
- package/docs/api/functions/uuidv5.md +0 -69
- package/docs/api/functions/uuidv6.md +0 -61
- package/docs/api/functions/uuidv7.md +0 -61
- package/docs/api/interfaces/AIChoiceConfig.md +0 -65
- package/docs/api/interfaces/BinarySemaphoreReleaserFunc.md +0 -37
- package/docs/api/interfaces/ParseObjectArgumentOptions.md +0 -89
- package/docs/api/variables/uuidNIL.md +0 -11
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var t,e=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,s=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,a=(t,e,s,a)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let c of i(e))o.call(t,c)||c===s||n(t,c,{get:()=>e[c],enumerable:!(a=r(e,c))||a.enumerable});return t},c=(t,r,i)=>(i=null!=t?e(s(t)):{},a(!r&&t&&t.__esModule?i:n(i,"default",{value:t,enumerable:!0}),t)),u={};((t,e)=>{for(var r in e)n(t,r,{get:e[r],enumerable:!0})})(u,{AIArgProcessor:()=>Ee,AIChatRoles:()=>$,AIMessageTypes:()=>A,AIStream:()=>se,AITextGenerationFinishReasons:()=>k,AbortError:()=>y.AbortError,AbortErrorCode:()=>y.AbortErrorCode,ActionNames:()=>p,AlreadyExistsError:()=>y.AlreadyExistsError,AlreadyExistsErrorCode:()=>y.AlreadyExistsErrorCode,ArrayMergeWay:()=>gi,ArrayMergeWaySymbol:()=>bi,AsyncFeatureBits:()=>Hn,AsyncFeatures:()=>Zn,BaseError:()=>y.BaseError,BinarySemaphore:()=>Fn,CancelableAbility:()=>Vn,ChoiceArgProcessor:()=>Se,ClientEventPrefix:()=>os,ClientToolFuncSchema:()=>Fi,ClientToolTransport:()=>ls,ClientTools:()=>Pi,CommonError:()=>y.CommonError,ConfigFile:()=>mn.ConfigFile,DEFAULT_CONFIG_NAME:()=>Ur,DefaultAsyncSemaphoreCapacity:()=>jn,DefaultDateFormat:()=>g,EnvPromptTemplate:()=>I.EnvStringTemplate,ErrorCode:()=>y.ErrorCode,EventBusName:()=>gt,EventClient:()=>Yi,EventEmitter:()=>vt.EventEmitter,EventName:()=>bt,EventServer:()=>as,EventStates:()=>vt.states,EventToolFunc:()=>Di,FStringPromptTemplate:()=>I.FStringTemplate,FewShotPromptTemplate:()=>N,FilenameReservedRegex:()=>ce.FilenameReservedRegex,FuncMetaSymbol:()=>qi,GolangPromptTemplate:()=>I.GolangStringTemplate,HashAlgorithm:()=>Rt,HttpClientToolTransport:()=>vs,HttpServerToolTransport:()=>ws,IntSet:()=>Cn,InternalErrorCode:()=>y.InternalErrorCode,LLM_TOKENIZER_NAMES:()=>$r,LLM_TOKENIZER_NAMES_MAP:()=>xr,LRUCache:()=>Ji.LRUCache,NotFoundError:()=>y.NotFoundError,NotFoundErrorCode:()=>y.NotFoundErrorCode,NotImplementationError:()=>y.NotImplementationError,NotImplementedErrorCode:()=>y.NotImplementedErrorCode,ObjectArgsToArgsInfo:()=>ve,PASSING_SCORE:()=>d,PromptExampleSelector:()=>M,PromptTemplate:()=>I.StringTemplate,RStreamErrCode:()=>Vt,RateLimit:()=>_n,ReadableStreamError:()=>Yt,RemoteToolFuncSchema:()=>m,ResClientTools:()=>Vi,ResServerTools:()=>is,ResponseRStreamErrCode:()=>Qt,RpcMethodsClientTool:()=>Zi,RpcMethodsClientToolSchema:()=>Ki,RpcMethodsServerTool:()=>ns,RpcMethodsServerToolSchema:()=>rs,SHUTDOWN_SIGNALS:()=>ri,SSEChannel:()=>Zt,SSEChannelAlreadyClosedErrCode:()=>Ht,SecondaryCache:()=>Ui,Semaphore:()=>Ln,ServerToolFuncSchema:()=>_i,ServerToolTransport:()=>ds,ServerTools:()=>Li,SignalGate:()=>Bn,SseClientPubSubTransport:()=>gs,SseServerPubSubTransport:()=>bs,StrangeHumanName:()=>x,TaskAbortController:()=>Kn,TemplateArgProcessor:()=>Te,ToolAsyncCancelableBit:()=>Gn,ToolAsyncMultiTaskBit:()=>Un,ToolAsyncPriorityBit:()=>Wn,ToolFunc:()=>Ii,ToolFuncSchema:()=>Oi,ToolTransport:()=>hs,WindowsReservedNameRegex:()=>ce.WindowsReservedNameRegex,YamlTypeBaseObject:()=>zr,_lrucache:()=>Gi,addDate:()=>v.add,assignDirs:()=>fr,backendEventable:()=>St,base32768:()=>Xt,beforeShutdown:()=>ui,calcPerplexity:()=>mi,calcPerplexitySimple:()=>yi,canonicalize:()=>Dt.canonicalize,completeSentences:()=>V,concatText:()=>Y,countLLMTokens:()=>Or,countRegexMatches:()=>tr,createAbilityInjector:()=>l.createAbilityInjector,createCallbacksTransformer:()=>ae,createEmptyReadableStream:()=>ee,createEndWithRepetitionDetector:()=>We,createError:()=>y.createError,createEventStreamTransformer:()=>re,createHfValueFunc:()=>I.createHfValueFunc,createLRUCache:()=>Wi,createYamlObjectTag:()=>Dr,dateToText:()=>E,decodeCharset:()=>nn,defaultTemplateFormat:()=>I.defaultTemplateFormat,defaultsWithConcat:()=>Si,detectCharset:()=>un,encodeLLMTokens:()=>Ir,ensureQuoted:()=>$e,event:()=>Bi,eventClient:()=>ts,eventServer:()=>cs,eventable:()=>vt.eventable,expandConfig:()=>Wr,expandEnv:()=>I.expandEnv,expandObjEnv:()=>I.expandObjEnv,expandPath:()=>Vr,expandPathInObject:()=>Yr,expandPaths:()=>Qr,extNameLevel:()=>ce.extNameLevel,fileIsExists:()=>Qe,filterValidFnScope:()=>Je,findIndexNonEmptyFrom:()=>ct,findPort:()=>sr,formatISO:()=>v.formatISO,formatTextWithSpace:()=>qr,funcGetMeta:()=>Ri,funcWithMeta:()=>Ni,genUrlParamsStr:()=>Ai,getAllEnumKeys:()=>le,getConfigFileNames:()=>yn,getConfigs:()=>wn,getEnvVairables:()=>I.getEnvVairables,getFileMetaInfo:()=>an,getHashAlgoBySize:()=>cn,getKeysPath:()=>Ue,getLLMTokenizer:()=>Cr,getMultiLevelExtname:()=>ce.getMultiLevelExtname,getPackageDir:()=>cr,getRealFilepath:()=>sn,getResponseErrorReadableStream:()=>te,getXDGConfigs:()=>Kr,hasDirectoryIn:()=>lr,hash:()=>Ut,hashFile:()=>on,hashObject:()=>Gt,hashStream:()=>Jt,initShutdown:()=>hi,isLangUsingSpaces:()=>at,isListItemString:()=>rt,isModelNameMatched:()=>he,isPunctuationChar:()=>st,isQuoted:()=>ke,isRegExp:()=>wr,isSameString:()=>Br,isSectionString:()=>et,isSentenceEnding:()=>tt,isSepLineString:()=>it,isStrWrapped:()=>Ae,isSubdirectory:()=>hr,isTitleString:()=>nt,isValidFilename:()=>ce.isValidFilename,isValidFilepath:()=>ce.isValidFilepath,isWebStream:()=>Kt,joinSplitWords:()=>Ei,jsonFilterToWhere:()=>En,jsonToMarkdownStr:()=>xn,loadAIConfig:()=>Zr,loadConfig:()=>Hr,loadConfigFile:()=>Gr,loadFileFromPaths:()=>Ye,loadTextFromPaths:()=>en,lrucache:()=>Hi,makeToolFuncCancelable:()=>Yn,matchUrlProtocol:()=>kn,memoize:()=>rr,mergeArray:()=>Ti,messagesToText:()=>C,mimeType:()=>pn.mimeType,nanoid:()=>Tt.nanoid,normalizePath:()=>mr,paramsSizeToScaleStr:()=>An,parseCommand:()=>Re,parseDateFormat:()=>w.parse,parseISO:()=>v.parseISO,parseJsJson:()=>ze,parseJsJsonSimpleSync:()=>De,parseObjectArgInfo:()=>qe,parseObjectArgumentInfos:()=>ge,parseObjectArguments:()=>ye,parseObjectArgumentsAsArgInfos:()=>Ne,parseYaml:()=>mn.parseYaml,pruneSubdirectories:()=>dr,pruneSubdirectoriesInPlace:()=>pr,quoteStr:()=>xe,readFilenamesRecursiveSync:()=>rn,readTextFileChunks:()=>Pr,readTextFileChunksEx:()=>Fr,readableFromAsyncIterable:()=>oe,registerCoreTools:()=>us,registerYamlTag:()=>mn.registerYamlTag,removeMarkdownBold:()=>ut,removeMarkdownBoldAndItalic:()=>lt,removeMarkdownItalic:()=>ht,replaceWithPlaceholder:()=>Me,restoreFromPlacehoders:()=>Pe,sanitizeFilename:()=>ce.sanitizeFilename,sanitizeFilepath:()=>ce.sanitizeFilepath,saveConfigFile:()=>vn,scaleStrToParamsSize:()=>$n,shutdown:()=>ci,simplifyObjectArguments:()=>be,sleep:()=>pt,sortedValues:()=>q,splitChunks:()=>Lr,splitParagraph:()=>ft,splitSentence:()=>K,splitWords:()=>ki,stringifyYaml:()=>mn.stringifyYaml,stripConsoleColor:()=>vr,textToDate:()=>T,throwError:()=>y.throwError,toDate:()=>v.toDate,toDateTime:()=>S,toRegExp:()=>f.toRegExp,trimStartOfStreamHelper:()=>ie,truncTo:()=>dt,truncateByToken:()=>jr,truncateToTokenLimit:()=>Nr,truncateToTokenLimitEx:()=>Rr,uuid:()=>xt,uuidNIL:()=>At.NIL,uuidParse:()=>At.parse,uuidStringify:()=>At.stringify,uuidValidate:()=>At.validate,uuidVersion:()=>At.version,uuidv1:()=>At.v1,uuidv4:()=>At.v4,uuidv5:()=>At.v5,uuidv6:()=>At.v6,uuidv7:()=>At.v7,wait:()=>mt,wrapEventEmitter:()=>vt.wrapEventEmitter,xxhash:()=>_t,xxhash32:()=>Ft,xxhash64:()=>Lt,xxhashAsStr:()=>zt,yieldExec:()=>yt}),module.exports=(t=u,a(n({},"__esModule",{value:!0}),t));var h=(()=>"undefined"==typeof document?new URL(`file:${__filename}`).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href)(),l=require("custom-ability"),f=require("util-ex"),d=.618,p=["get","post","put","delete","patch","list","res"],m={action:{type:"string",assign:(t,e,n,r,i)=>t||"post"},fetchOptions:{type:"object"},allowExportFunc:{type:"boolean"}},y=require("@isdk/common-error"),w=require("date-fns"),v=require("date-fns"),b="MMMM d, y 'at' h:m:s b 'GMT'x";function g(t){return t&&(b=t),b}function S(t){let e;try{"string"==typeof t?e=(0,w.parseISO)(t):"number"==typeof t?e=new Date(t):t instanceof Date&&(e=t)}catch(t){console.error(t)}return e}function T(t,e=b){return(0,w.parse)(t,e,new Date)}function E(t,e=b){return(0,w.format)(t,e)}var k=["stop","length","content_filter","tool_calls","function_call","abort","error","other",null],A=["human","ai","generic","system","tool"],$=["user","assistant","system","tool","tool_calls"],x="陌生人";function C(t){let e="";for(const n of t)if(n.content){e+=n.role.toLowerCase()+":";let t=n.createdAt;if(t){const n=S(t);n&&(e+=" ["+E(n)+"]")}e+=" "+n.content+"\n"}return e}var I=require("@isdk/template-engines"),O=require("@isdk/template-engines");function q(t){return Object.keys(t).sort().map(e=>t[e])}var N=class extends O.StringTemplate{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 O.StringTemplate?t.examplePrompt:O.StringTemplate.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 n=await this.examplePrompt.format(t);e.push(n)}else if("string"==typeof t)e.push(t);else if(t){const n=q(t);n.length>0&&e.push(...n)}const n=[this.prefix,...e,this.suffix].join(this.exampleSeparator),r=this.templateFormat;return await O.StringTemplate.format({template:n,data:t,templateFormat:r})}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}};function R(t){return(e=t)&&"function"==typeof e[Symbol.iterator]?async function*(t){const e=t[Symbol.iterator]();let n;try{for(;;){n=!1;const t=e.next();if(n=!0,t.done)return n=!1,await t.value;yield await t.value}}finally{n&&await(e.return?.().value)}}(t):t;var e}O.StringTemplate.register(N,{name:"fewshot",aliases:["few_shot"]});var j=!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=>{j=t});var M=class{constructor(t,e){this.initialize(t,e)}initialize(t,e){const n=e?.maxLength;var r;n>0&&(this.maxLength=n),void 0!==e?.threshold&&(!0===e.threshold?this.threshold=.5:!1!==e.threshold&&(this.threshold=e.threshold)),this.examples=(r=t,j?r:R(r))}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 n of t){const t="number"==typeof this.threshold?Math.random():void 0;if(this.selectExample(n,t)){if(--e<0)break;yield n}}}async*[Symbol.asyncIterator](){yield*this.selectExamples()}},P=require("@isdk/detect-text-language"),F="@",L=/(\S.+?[.!?])(?=\s+|$)|(\S.+?)(?=[\n]|$)/g,_=/([A-Z][a-z]{1,2}\.)\s(\w)/g,z=/(\.[a-zA-Z]\.)\s(\w)/g,D=new RegExp("([A-Z][a-z]{1,2}\\.)"+F+"(\\w)","g"),B=new RegExp("(\\.[a-zA-Z]\\.)"+F+"(\\w)","g"),X=/(```)([\s\S]*?)(```)/g,J=">>>CODE_BLOCK<<<",U=/([*_`]{1,3})(\S.*?\S)\1/,G=">>> INLINE_BLOCK ",W=/>>> INLINE_BLOCK (\d+) <<</,H=1e4;function Z(t,e,n){const r="$1"+e+"$2";let i=t;for(let t=0;t<n.length;t++)i=i.replace(n[t],r);return i}function K(t,{best:e=!0,completeSentence:n,isMarkdown:r,ignoreEmptyLine:i}={}){const s=[],o=[];let a,c=0;for(;c++<H&&(a=X.exec(t));){const e=a[0];s.push(e),t=t.replace(e,"\n"+J+(s.length-1)+"\n")}for(c=0;c++<H&&(a=U.exec(t));){const e=a[0];o.push(e),t=t.replace(e,G+(o.length-1)+" <<<")}if(r){const e=t.split("\n");for(let t=0;t<e.length;t++){const n=e[t];nt(n,{isMarkdown:r,nextLine:e[t+1]})&&(s.push(n),e[t]=J+(s.length-1))}t=e.join("\n")}const u=(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 h=[];for(let t=0;t<u.length;t++){let n=u[t].trimEnd();if(!n){!r&&i||h.push("");continue}if(n.startsWith(J)){h.push(s[Number(n.slice(J.length))]);continue}if(r&&nt(n,{isMarkdown:r,nextLine:u[t+1]})){h.push(n);continue}if(!e){h.push(n);continue}let a=Z(n,F,[_,z]),c=Array.from(a.matchAll(L)),l=[];if(c.length)for(let t=0;t<c.length;t++)l.push(Z(c[t][0]," ",[D,B]));else l.push(n);h.push(...l.map(t=>ot(o,t)))}return n&&(h=V(h,{isMarkdown:r,ignoreEmptyLine:i})),h}function V(t,{isMarkdown:e,ignoreEmptyLine:n}={}){const r=[];let i=0,s="";for(n=!e&&n;i<t.length;){let o=t[i];if(o){let a;if(n){const n=ct(t,i+1);a=et(t[n],{isMarkdown:e,nextLine:-1===n?"":t[n+1]})}else a=et(t[i+1],{isMarkdown:e,nextLine:t[i+2]});Q(o,{isMarkdown:e,nextLine:t[i+1]})||""===t[i+1]||a?(s&&(o=Y(s,o),s=""),r.push(o)):(s&&(o=Y(s,o)),s=o)}else n||r[r.length-1]&&r.push(o);i++}return s&&r.push(s),r}function Q(t,e){return tt(t)||et(t,e)}function Y(t,e){const n=t+" "+e,r=(0,P.detectTextLanguage)(n,{isoCode:!0});return r&&!at(r)?(st(t)&&(t+=" "),e=t+e):e=t.endsWith("-")?(t=t.slice(0,-1))+e:n,e}function tt(t){if(!t)return!1;return/(([.。!!??]\s*['"”’]?)|```)\s*$/.test(t)}function et(t,e){let n=nt(t,e);return n||(n=rt(t)),n||(n=it(t)),n}function nt(t,e){if(!t)return null;let n=/^\s*第?\s*[壹贰叁肆伍陆柒捌玖拾一二三四五六七八九十百千萬万\d]+\s*([章節节编回部篇卷幕场場辑集段册冊期片題]|片段|段落|篇[章目]|小[节節]|(子)?部分|卷[册冊]|[单單]元|章[节節回]|[.、])[ \t]*(?<title>.*)(?=\n|$)/.exec(t);if(n||(n=/^\s*(Chapter|Book|Article|Part|Paragraph|Subsection|Subpart|Volume|Episode|Issue|Unit|Section|Segment|Act|Scene)\s*\d+.*(?=\n|$)/i.exec(t)),!n&&e?.isMarkdown){n=/^[ \t]{0,3}(#+)\s+(?<title>\S.*)$/.exec(t);const r=/^[ \t]{0,3}([-=]+)(?=\n|$)/;!n&&e.nextLine&&!r.test(t)&&/^[ \t]{0,3}\S/.test(t)&&r.test(e.nextLine)&&(n=/^\s*(?<title>.*)(?=\n|$)/.exec(t))}return n}function rt(t){return/^\s*([*+-]|\d+[.、])\s*(?<item>.*)(?=\n|$)/.exec(t)}function it(t){return/^[-=_]{3,}$/.exec(t)}function st(t){return/[。!??,、;;::'""“”‘’~~《》<>〈〉【】(){}【】\[\]\(\)…·]$/.test(t)}function ot(t,e){let n,r=0;for(;r++<H&&(n=W.exec(e));){const r=Number(n[1]);e=e.replace(n[0],t[r])}return e}function at(t){return!["zh","ja","th","lo","ta","ko"].includes(t)}function ct(t,e=0){for(let n=e;n<t.length;n++){const e=t[n];if(null!=e&&""!==e)return n}return-1}function ut(t,e){const n=/(?!\\)([*_])\1(?![ \t]|\1)(.+?)(?<!\\)\1{2}/;let r;for(;(r=n.exec(t))&&(t=t.slice(0,r.index)+r[2]+t.slice(r.index+r[0].length),!e););return t}function ht(t,e){const n=/(?!\\)([*_])(?![ \t]|\1)(.+?)(?<!\\)\1/;let r;for(;(r=n.exec(t))&&(t=t.slice(0,r.index)+r[2]+t.slice(r.index+r[0].length),!e););return t}function lt(t,e){return t=ht(t=ut(t,e),e)}function ft(t,e){const n=[],r=[],i=t.split("\n");for(let t=0;t<i.length;t++){let s=i[t];const o=0===s.trim().length;o||nt(s,{...e,nextLine:i[t+1]})?(r.length&&n.push([...r]),r.length=0,o||r.push(s)):r.push(s)}return r.length&&n.push([...r]),n}function dt(t,e=2,n=.5){const r=10**e;return Math.trunc((t+Number.EPSILON+n/r)*r)/r}async function pt(t){return new Promise(e=>setTimeout(e,t))}var mt=pt;async function yt(){return new Promise(t=>{setImmediate(t)})}var wt=require("custom-ability"),vt=require("events-ex"),bt="event",gt="event-bus";var St=(0,wt.createAbilityInjector)(function(t,e){const n=e?.eventBusName||gt;return class{static get emitter(){if(!this._emitter){const t=this.get(n)?.emitter;t&&(this._emitter=t,this.prototype._events=t._events)}return this._emitter}get emitter(){return this.constructor._emitter}on(e,n){const r=t.emitter;if(!r)throw new TypeError("EventBackend required");return r.on(e,n)}once(e,n){const r=t.emitter;if(!r)throw new TypeError("EventBackend required");return r.once(e,n)}off(e,n){const r=t.emitter;if(!r)throw new TypeError("EventBackend required");return r.off(e,n)}emit(e,...n){const r=t.emitter;if(!r)throw new TypeError("EventBackend required");return"error"===e?this.emitError.apply(this,n):r.emit.call(this,e,this.name,...n)}emitError(e,...n){const r=t.emitter;if(!r)throw new TypeError("EventBackend required");return r.emit.call(this,"error",e,this.name,...n)}async emitAsync(e,...n){const r=t.emitter;if(!r)throw new TypeError("EventBackend required");return r.emitAsync.call(this,e,this.name,...n)}}},!0),Tt=require("nanoid"),Et=require("uuid"),kt=c(require("base32768")),At=require("uuid"),$t={1:Et.v1,4:Et.v4,5:Et.v5,6:Et.v6,7:Et.v7};function xt(t,e){!0===t&&(e=!0),"number"==typeof t&&$t[t]||(t=1);const n=$t[t];return e?kt.encode(n(null,new Uint8Array(16))):n()}var Ct=c(require("xxhashjs")),It=c(require("base32768")),Ot=require("json-canonicalize"),qt=require("hash-wasm"),Nt=588213,Rt=(t=>(t[t.md5=1]="md5",t[t.sha1=2]="sha1",t[t.ripemd=3]="ripemd",t[t.sha256=8]="sha256",t[t.sha384=9]="sha384",t[t.sha512=10]="sha512",t[t.sha224=11]="sha224",t[t.xxhash=111]="xxhash",t[t.xxhash64=111]="xxhash64",t[t.xxhash32=112]="xxhash32",t[t.xxhash128=113]="xxhash128",t))(Rt||{}),jt={1:qt.createMD5,2:qt.createSHA1,8:qt.createSHA256,10:qt.createSHA512,11:qt.createSHA224,3:qt.createRIPEMD160,112:qt.createXXHash32,111:qt.createXXHash64,113:qt.createXXHash128},{h32:Mt,h64:Pt}=Ct.default;function Ft(t,e=16){return"object"==typeof t&&(t=(0,Ot.canonicalize)(t)),Mt(t.normalize(),Nt).toString(e)}function Lt(t,e=16){return"object"==typeof t&&(t=(0,Ot.canonicalize)(t)),Pt(t.normalize(),Nt).toString(e)}function _t(t,e=111,n=Nt){let r;return t.buffer&&(t=t.buffer),112!==e?(r=Pt(t,n),r=new Uint16Array([r._a00,r._a16,r._a32,r._a48]),r=new Uint8Array(r.buffer)):(r=Mt(t,n),r=new Uint16Array([r._low,r._high]),r=new Uint8Array(r.buffer)),r}function zt(t,e=111,n=Nt){return It.encode(_t(t,e,n))}var Dt=require("json-canonicalize"),Bt=c(require("base32768")),Xt=Bt;async function Jt(t,{hashAlgo:e=111,seed:n=Nt,outputType:r="string"}={}){const i=await jt[e](n);i.init();const s=t.getReader();for(;;){const{done:t,value:e}=await s.read();if(t)break;i.update(e)}return"string"!==r?i.digest(r):Bt.encode(i.digest("binary"))}async function Ut(t,{hashAlgo:e=111,seed:n=Nt,outputType:r="string"}={}){const i=await jt[e](n);i.init(),i.update(t);return"string"!==r?i.digest(r):Bt.encode(i.digest("binary"))}async function Gt(t,e){return Ut(t=(0,Dt.canonicalize)(t),e)}function Wt(t,e){return!t||t.some(t=>t instanceof RegExp?t.test(e):t===e)}var Ht=498,Zt=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 Map,this.messages=[],this.active=!0}publish(t,e,n){let r,i;this.active||(0,y.throwError)("Channel closed","SSEChannel",Ht);let s=e;if(t||e)i=this.nextID++,"object"==typeof t&&(t.event?(s=t.event,void 0!==t.data&&(t=JSON.stringify(t.data))):t=JSON.stringify(t)),t&&"string"!=typeof t&&(t=""+t),t=t?t.split(/[\r\n]+/).map(t=>"data: "+t).join("\n"):"",r="id: "+i+"\n"+(e?"event: "+e+"\n":"")+(t||"data: ")+"\n\n",this.messages.push({id:i,_eventName:s,output:r});else{if(!this.clients.size)return;r="data: \n\n"}if(n?.clientId){(Array.isArray(n.clientId)?n.clientId:[n.clientId]).forEach(t=>{const e=this.clients.get(t);e&&e.res.write(r)})}else this.clients.forEach(t=>{s&&!Wt(t.events,s)||t.res.write(r)});for(;this.messages.length>this.options.historySize;)this.messages.shift();return i}subscribe(t,e){this.active||(0,y.throwError)("Channel closed","SSEChannel",Ht),(e instanceof RegExp||"string"==typeof e)&&(e=[e]);const n=this.clients.get(t);if(n){n.events||(n.events=[]);for(const t of e)n.events.some(e=>e.toString()===t.toString())||n.events.push(t);return!0}return!1}unsubscribe(t,e){this.active||(0,y.throwError)("Channel closed","SSEChannel",Ht),(e instanceof RegExp||"string"==typeof e)&&(e=[e]);const n=this.clients.get(t);return!!n&&(n.events&&(n.events=n.events.filter(t=>!e.some(e=>e.toString()===t.toString()))),!0)}getClient(t){return this.clients.get(t)}connect(t,e,n,r){this.active||(0,y.throwError)("Channel closed","SSEChannel",Ht);const i=xt();if(this.clients.has(i)){const t=this.clients.get(i);t&&this.disconnect(t)}(n instanceof RegExp||"string"==typeof n)&&(n=[n]);const s={req:t,res:e,events:n,clientId:i},o=this.options.maxStreamDuration;let a="max-age=0, stale-while-revalidate=0, stale-if-error=0, no-transform";o>0&&(a+=", s-maxage="+(Math.floor(o/1e3)-1));const c={"Content-Type":"text/event-stream","Cache-Control":a,Connection:"keep-alive"};this.options.cors&&(c["Access-Control-Allow-Origin"]="*"),s.req.socket.setNoDelay(!0),s.res.writeHead(200,c);let u="retry: "+this.options.clientRetryInterval+"\n\n";const h=Number.parseInt(t.headers["last-event-id"],10),l=Number.isNaN(h)?this.options.rewind:this.nextID-1-h;return l&&this.messages.filter(t=>Wt(s.events,t.eventName)).slice(0-l).forEach(t=>{u+=t.output}),s.res.write(u),this.clients.set(s.clientId,s),this.publish({clientId:i},"welcome",{clientId:i}),o>0&&setTimeout(()=>{s.res.writableEnded||this.disconnect(s)},o),s.res.on("close",()=>this.disconnect(s)),s}disconnect(t){t.res.end(),this.clients.delete(t.clientId)}clearClients(){this.clients.forEach(t=>t.res.end()),this.clients.clear()}listClients(){const t={};return this.clients.forEach(e=>{const n=e.req.socket.remoteAddress??"";n in t||(t[n]=0),t[n]++}),t}getSubscriberCount(){return this.clients.size}};function Kt(t){return t instanceof ReadableStream||t instanceof WritableStream}var Vt=600,Qt=601,Yt=class extends y.BaseError{constructor(t,e=Vt){super(t,500)}};function te(t){if(t){const e=t.getReader();return new ReadableStream({async start(t){const{done:n,value:r}=await e.read();if(!n){const e=(new TextDecoder).decode(r);t.error(new Yt(`Response error: ${e}`,Qt))}}})}return new ReadableStream({start(t){t.error(new Yt("Response error: No response body",Qt))}})}function ee(){return new ReadableStream({start(t){t.close()}})}var ne=require("eventsource-parser");function re(t){const e=new TextDecoder;let n;return new TransformStream({async start(e){n=(0,ne.createParser)({onEvent:n=>{if("data"in n&&"[DONE]"===n.data||"done"===n.event)e.terminate();else if("data"in n){const r=t?t(n.data,{event:n.event}):n.data;r&&e.enqueue(r)}}})},transform(t){n.feed(e.decode(t))}})}function ie(){let t=!0;return e=>(t&&(e=e.trimStart())&&(t=!1),e)}function se(t,e){if(!t.ok)return te(t.body);let n=t.body||new ReadableStream({start(t){t.close()}});return n instanceof ReadableStream||(n=ReadableStream.from(n)),n.pipeThrough(re(e))}function oe(t){let e=t[Symbol.asyncIterator]();return new ReadableStream({async pull(t){const{done:n,value:r}=await e.next();n?t.close():t.enqueue(r)},async cancel(t){await(e.return?.(t))}})}function ae(t){const e=t||{};return new TransformStream({async start(t){const n=t.error;if(t.error=r=>{n.call(t,r),e.onError&&e.onError(r)},e.onStart)try{await e.onStart(t)}catch(e){t.error(e)}},async transform(t,n){try{let r;e.onTransform&&(r=await e.onTransform(t,n)),r||(r=t),n.enqueue(r)}catch(t){n.error(t)}},async flush(t){if(e.onFinal)try{await e.onFinal(t)}catch(e){return t.error(e)}t.terminate()}})}var ce=require("@isdk/util"),ue=require("util-ex");function he(t,e){if("string"!=typeof t)throw new y.CommonError("modelName must be a string","isModelNameMatched",y.ErrorCode.InvalidArgument);switch(typeof e){case"string":if((0,ue.isRegExpStr)(e)){const n=(e=(0,ue.toRegExp)(e)).exec(t);if(n)return n}else if(t.toLowerCase()===e.toLowerCase())return e;break;case"object":if(Array.isArray(e)){for(const n of e)if("string"==typeof n){if((0,ue.isRegExpStr)(n)){const r=(e=(0,ue.toRegExp)(n)).exec(t);if(r)return r}else if(t.toLowerCase()===n.toLowerCase())return n}else if(n instanceof RegExp){const e=n.exec(t);if(e)return e}else if("function"==typeof n){const e=n.call(this,t);if(e)return e}}else if(e instanceof RegExp){const n=e.exec(t);if(n)return n}break;case"function":const n=e.call(this,t);if(n)return n}}function le(t){return Object.keys(t).filter(t=>Number.isNaN(Number(t)))}var fe=require("lodash-es"),de=require("util-ex"),pe=require("lodash-es"),me=require("util-ex");async function ye(t,e,n){return ge(Ne(t,e,n),e,n)}function we(t){for(let e=1;e<t.length;e++)if(t[e]<=t[e-1])return!1;return!0}function ve(t){if(t&&!Array.isArray(t)&&"object"==typeof t){const e=Object.entries(t),n=Object.keys(t),r=n.filter(t=>!isNaN(parseInt(t)));if(1===e.length)void 0!==t[0]&&(t=[t[0]]);else if(n.every(t=>!isNaN(parseInt(t)))&&we(n.map(t=>parseInt(t))))t=Object.values(t);else if("0"===r[0]&&we(r.map(t=>parseInt(t)))){const n=e.filter(([t,e])=>isNaN(parseInt(t)));t=e.filter(([t,e])=>!isNaN(parseInt(t))).map(([t,e])=>e);let r=0;const i=[];for(;r<n.length&&n[r][1]===t[r];)i.push(r),r++;for(;i.length;)n.splice(i.pop(),1);t={args:t,kvArgs:Object.fromEntries(n)}}else t={args:[],kvArgs:t}}return Array.isArray(t)&&(t={args:t}),t}function be(t){if(t&&!Array.isArray(t)&&"object"==typeof t){const e=Object.entries(t),n=Object.keys(t);1===e.length&&void 0!==t[0]?t=t[0]:n.every(t=>!isNaN(parseInt(t)))?t=n.sort((t,e)=>parseInt(t)-parseInt(e)).map(e=>t[e]):2===e.length&&"0"===e[0][0]&&e[0][1]===e[1][1]&&(t=t[0])}return t}async function ge(t,e,n){if(t.length){const r=await Promise.all(t.map((t,r)=>qe(t,r,e,n))),i=n?.returnArrayOnly;let s;if(r?.length){s=De(`{${r.map(t=>t).join(",")}}`,e)}return s&&!i&&(s=be(s)),s}}function Se(t,e,n,r){const[i,s]=t;if(!i&&"|"===s[0])return"choice: {"+function(t,e,n){const r=Ne(t,e,{...n,delimiter:":"}),i={},s=r.map(([t,e],n)=>{if(t){const t=e.indexOf(":"),n=e.slice(0,t).trim();if(i[n])throw new Error("Only one "+n+" is allowed");return i[n]=!0,e}{if("|"===e[0]){if(i.items)throw new Error("Only one items is allowed");return i.items=!0,"items:["+function(t,e='"'){return t.map(t=>$e(t,e))}(e.split("|").filter(Boolean))+"]"}const t=parseInt(e.trim());if(!isNaN(t)){if(i.maxPick)throw new Error("Only one maxPick is allowed");return i.maxPick=!0,"maxPick:"+t}if("random"===e||"ai"===e)return i.type=!0,'type:"'+e+'"';if(ke(e)){if(i.separator)throw new Error("Only one separator is allowed");return i.separator=!0,"separator:"+e}}});return s}(s,n,r)+"}"}async function Te([t,e],n,r,i){let s,o;if(r||(r={}),t){const t=e.split(":");s=t[0].trim(),o=t[1].trim()}else o=e,s=n+"";const a={template:o,data:{...(0,pe.omitBy)(r,(t,e)=>!e||"_"===e[0]||"function"==typeof t),...i?.templateData}};i?.templateFormat&&(a.templateFormat=i.templateFormat);const c=await I.StringTemplate.formatIf(a);if(c)return o=ke(c)?c:JSON.stringify(c),s+":"+o}async function Ee(t,e,n,r){let i=Se(t,0,n,r);return i||(i=await Te(t,e,n,r)),i}function ke(t){const e=t[0];return('"'===e||"'"===e)&&t[t.length-1]===e}function Ae(t,e=['""',"''","{}"]){return e.some(e=>t[0]===e[0]&&t[t.length-1]===e[1])}function $e(t,e='"'){return ke(t)?t:e+t+e}function xe(t){return'"'+t.replace(/(?<!\\)"(?!\\)/g,'\\"')+'"'}var Ce=["true","false","null","undefined","NaN","Infinity"];async function Ie(t,e,n){const r=(0,me.newFunction)("async expression",[],`return ${t};`,Je(e));let i;try{i=await r.call(this)}catch(t){if(n||!(t instanceof ReferenceError))throw t}switch(typeof i){case"number":case"boolean":case"undefined":return i;case"function":return r.toString();default:return JSON.stringify(i)}}async function Oe(t,e,n){let r=t;if(["true","false"].includes(t.toLowerCase()))r=r.toLowerCase();else if(!(i=t,Ae(i)||!Number.isNaN(parseFloat(i))||Ce.includes(i)||_e(i)||e&&void 0!==(0,pe.get)(e,t)||_e(t)))try{r=n?.skipExpression?xe(t):await Ie.call(this,t,e,n?.preserveUnresolvedName)}catch(e){r=xe(t)}var i;return r}async function qe(t,e,n,r){const[i,s]=t,o=r?.argProcessor,a=r?.ignoreIndexNamed;if("function"==typeof o){const i=await o(t,e,n,r);if(i)return i}if(i){const t=s.indexOf(":");return s.slice(0,t).trim()+":"+await Oe(s.slice(t+1).trim(),n,r)}{const t=s.trim();if(n&&void 0!==(0,pe.get)(n,t)){return(a?"":e+":"+t+",")+'"'+t+'":'+t}return e+":"+await Oe(s.trim(),n,r)}}function Ne(t,e,n){const r=n?.delimiter??",",i=n?.assigner??"=";let s=[],o=!1,a="",c="",u=!1,h="";for(let e=0;e<t.length;e++){const n=t[e];if(n!==r||o||h)if("\\"===n)c+=n,e++,c+=t[e];else if("("!==n&&"["!==n||o)if(h&&n===h)h="",c+=n;else if("{"!==n||o)'"'===n||"'"===n?(o&&n===a?o=!1:o||(o=!0,a=n),c+=n):n!==i||o||u||!/^[\p{L}\p{N}_ ]+$/u.test(c)?c+=n:(c+=":",u=!0);else{let r,i=e,s=!1,o="",a=-1;for(;i<t.length&&("}"!==(r=t[i])||s||a>0);)"\\"===r?i++:"{"!==r||s?"}"!==r||s?'"'!==r&&"'"!==r||(s&&n===o?s=!1:s||(s=!0,o=n)):a--:a++,i++;i<t.length&&(c+=t.substring(e,i+1),e=i)}else h="("===n?")":"]",c+=n;else c=c.trim(),c.endsWith(":")&&(c+="undefined"),s.push([u,c]),c="",u=!1}return c&&(c=c.trim(),c.endsWith(":")&&(c+="undefined"),s.push([u,c])),s}async function Re(t,e,n){const r=t.match(/^([^(]+)(?:\((.*)\))?$/);if(!r){if(n?.raiseError)throw new Error("Invalid command format");return}const[,i,s]=r;let o;return s&&(o=await ye(s,e,n)),{command:i.trim(),args:o}}var je="__PlacEhoLdeR_";function Me(t,e){let n=e?.startChar?Array.isArray(e.startChar)?e.startChar:[e.startChar]:['"',"'"],r=e?.endChar?Array.isArray(e.endChar)?e.endChar:[e.endChar]:n;if(n.length!==r.length)throw new Error("start and end characters must have the same length");const i=e?.placeholder??je,s=n.every((t,e)=>t===r[e]),o=e?.placehoders??[];if(s){n=n.map(t=>"\\"+t);const e=new RegExp(`(?<!\\\\)(${n.join("|")}).*?(?<!\\\\)\\1`);let r;for(;null!==(r=e.exec(t));){const e=`${i}${o.length}`;t=t.replace(r[0],e),o.push(r[0])}}else{n=n.map(t=>"\\"+t),r=r.map(t=>"\\"+t);for(let e=0;e<n.length;e++){const s=new RegExp(`(?<!\\\\)${n[e]}.*?(?<!\\\\)${r[e]}`);let a;for(;null!==(a=s.exec(t));){const e=`${i}${o.length}`;t=t.replace(a[0],e),o.push(a[0])}}}return[t,o]}function Pe(t,e,n){const r=n?.placeholder??je;return e.reduce((t,e,n)=>t.replace(new RegExp(r+n,"g"),e),t)}var Fe="[a-zA-Z_$][a-zA-Z_\\d$]*",Le=new RegExp(`^\\s*(\\(\\s*\\)|${Fe}|\\(${`${Fe}\\s*(,\\s*${Fe})*`}\\))\\s*=>`);function _e(t){return Le.test(t)}async function ze(t,e){if(e&&(e=Je(e)),e&&(t=t.trim()).startsWith("{")&&t.endsWith("}")){return await ye(t.slice(1,-1),e,{assigner:":",ignoreIndexNamed:!0})}return De(t,e)}function De(t,e){if(e&&(e=Je(e)),e){const n=Object.keys(e);if(n.length){const r=Object.values(e);let i=0;for(;i++<100;)try{return(0,de.newFunction)("expression",n,`return ${t}`)(...r)}catch(t){if(!(t instanceof ReferenceError))throw t;{const e=/(.+)\s+is not defined/.exec(t.message);if(!e)throw t;n.push(e[1]),r.push(void 0)}}}}return(0,de.newFunction)("expression",[],`return ${t}`)()}var Be=/^[a-zA-Z_$][0-9a-zA-Z_$.]*$/,Xe=t=>Be.test(t);function Je(t){if(t){const e=Object.keys(t),n=e.length,r=e.filter(e=>Xe(e)&&null!==t[e]);if(n===r.length)return t;if(r.length)return t=(0,fe.pick)(t,r)}}function Ue(t){return t?Ge(t,[],{dot:""}):[]}function Ge(t,e,{dot:n=".",visited:r=new Set}={}){return r.has(t)?[e.join("")]:Array.isArray(t)?(r.add(t),t.flatMap((t,n)=>Ge(t,[...e,`[${n}]`],{dot:".",visited:r}))):(i=t)&&i.constructor===Object?(r.add(t),Object.entries(t).flatMap(([t,i])=>Ge(i,[...e,n+t],{dot:".",visited:r}))):[e.join("")];var i}function We(t){if(t<2)throw new y.CommonError("repetitionThreshold must be greater than 1","createEndWithRepetitionDetector",y.ErrorCode.InvalidArgument);const e=new RegExp(`([\\S\\s]+)(\\1{${t-1},})$`);return function(t){return e.exec(t)}}var He=c(require("path")),Ze=c(require("fs")),Ke=c(require("mime-type/with-db")),Ve=c(require("jschardet"));function Qe(t){const e=Ze.statSync(t,{throwIfNoEntry:!1});return e?.isFile()}function Ye(t,e,n,r){const i=r?.signal,s=r?.exclude;let o;if(He.default.isAbsolute(t)?o=Qe(t)?t:tn(He.default.basename(t),[He.default.dirname(t)],{extNames:n,exclude:s,signal:i}):(e||(e=["."]),o=tn(t,e,{extNames:n,exclude:s,signal:i})),!o)throw new y.NotFoundError(t,"loadFileFromPaths");{const t=o;o=Ze.readFileSync(o),r&&(r.filepath=t)}return o}function tn(t,e,{extNames:n,signal:r,exclude:i=[]}){let s;const o=n?n.map(e=>(0,ce.getMultiLevelExtname)(t,(0,ce.extNameLevel)(e))):void 0;"string"==typeof i&&(i=[i]);for(const a of e){if(r?.aborted)throw r.reason;const e=He.default.resolve(a,t);if(o)for(let t=0;t<o.length;t++){const r=e+(o[t]!==n[t]?n[t]:"");if(!i.includes(r)&&Qe(r)){s=r;break}}else if(!i.includes(e)&&Qe(e)){s=e;break}}return s}function en(t,e,n,r,i){let s;"string"==typeof r?(s=r,r=void 0):s=r?.encoding;return nn(Ye(t,e,n,r),s)}function nn(t,e){void 0===e&&(e=un(t)??"utf8");return new TextDecoder(e).decode(t)}function rn(t,e){const n=[],r="string"==typeof t?[{dir:t,level:0}]:[...t.map(t=>({dir:t,level:0}))],i=new Set,s=e?.signal,o=e?.isFileMatched,a=e?.level,c=e?.resolveSymlinks??!0;let u=0;for(;r.length>0;){if(s?.aborted)throw s.reason;const t=r.pop(),e=c?sn(t.dir):t.dir,h=He.default.resolve(e);if(i.has(h))continue;i.add(h);const l=Ze.statSync(e,{throwIfNoEntry:!1});if(l?.isDirectory()){u=t.level+1;const i=Ze.readdirSync(e,{withFileTypes:!0});for(let t=0;t<i.length;t++){let s=i[t],h=He.default.join(e,s.name);const l=h;if(s.isSymbolicLink()){const t=He.default.dirname(h);if(h=Ze.readlinkSync(h),h=He.default.resolve(t,h),s=Ze.statSync(h,{throwIfNoEntry:!1}),!s)continue}if(s.isDirectory())(!a||u<a)&&(o&&!o(h,s)||r.push({dir:h,level:u}));else if(s.isFile()&&(!o||o(h,s))){const t=c?h:l;n.includes(t)||n.push(t)}}}}return n}function sn(t){const e=Ze.lstatSync(t,{throwIfNoEntry:!1});return e?.isSymbolicLink()&&(t=Ze.readlinkSync(t)),t}async function on(t,e){return Jt(ReadableStream.from(Ze.createReadStream(t)),e)}async function an(t){const e=He.default.basename(t);t=He.default.resolve(t);const n=await Ze.promises.stat(t),r=n.mtime,i=n.ctime,s=n.size,o=cn(s),a=await on(t,{hashAlgo:o}),c=Ke.default.lookup(t);return{name:e,mtime:r,ctime:i,size:s,hash:Rt[o]+":"+a,mimeType:c,id:"file://"+t}}function cn(t){let e=111;return t<=2048?e=112:t<=1048576?e=111:t<=10485760?e=113:t>10485760&&(e=10),e}function un(t,e){return Ve.default.detect(t,e).encoding}var hn=require("fs"),ln=c(require("path")),fn=require("@isdk/util"),dn=require("yaml-types"),pn=require("mime-type/with-db"),mn=require("@isdk/util");function yn(t,e){const n=[],r=e?.after,i=e?.exclude?"string"==typeof e.exclude?[e.exclude]:e.exclude:void 0,s=e?.extensions?"string"==typeof e.extensions?[e.extensions]:e.extensions.map(t=>t.startsWith(".")?t:"."+t):[".yml",".yaml",".json"];return(0,fn.traverseFolderSync)(t,(t,e)=>{if(i?.includes(t)||!e.isFile())return;const o=ln.default.extname(t),a=(0,hn.statSync)(t);if(s.includes(o)){if(r?.hasOwnProperty(t)&&a.mtimeMs<=r[t])return;n.push(t)}}),n}function wn(t,e){return yn(t,e).map(t=>fn.ConfigFile.loadSync(t)).filter(t=>void 0!==t)}function vn(t,e,n=1){return fn.ConfigFile.saveSync(t,e,{extLevel:n})}function bn(t){t instanceof Date&&(t=t.toISOString());return function(t,e){return t?`'${e}'`:String(e)}("string"==typeof t,t)}function gn(t,e){return t.map(t=>En(t,e)).join(" AND ")}function Sn(t,e){return t.map(t=>En(t,e)).join(" OR ")}function Tn(t,e){const n=[];return Object.keys(e).forEach(r=>{const i=e[r];switch(r){case"$lt":case"<":n.push(`${t} < ${bn(i)}`);break;case"<=":case"$lte":n.push(`${t} <= ${bn(i)}`);break;case"$gt":case">":n.push(`${t} > ${bn(i)}`);break;case"$gte":case">=":n.push(`${t} >= ${bn(i)}`);break;case"$ne":case"!=":n.push(`${t} != ${bn(i)}`);break;case"=":case"$eq":n.push(`${t} = ${bn(i)}`);break;case"$in":n.push(`${t} IN (${i.map(t=>bn(t)).join(", ")})`);break;case"$nin":n.push(`${t} NOT IN (${i.map(t=>bn(t)).join(", ")})`);break;case"$regex":n.push(`${t} REGEXP '${i.source}'`);break;case"$like":n.push(`${t} LIKE '${i}'`);break;case"$nlike":n.push(`${t} NOT LIKE '${i}'`);break;case"$glob":n.push(`${t} GLOB '${i}'`);break;case"$nglob":n.push(`${t} NOT GLOB '${i}'`);break;default:throw new Error(`Unsupported condition operator: ${r}`)}}),n.join(" AND ")}function En(t,e){const n=[];if("function"!=typeof e&&(e=t=>t),Array.isArray(t))n.push(gn(t,e));else for(const[r,i]of Object.entries(t))if("$and"===r)n.push(`(${gn(t[r],e)})`);else if("$or"===r)n.push(`(${Sn(t[r],e)})`);else{const t=typeof i;if(null==i)n.push(`${e(r)} IS NULL`);else if(i instanceof Date)n.push(`${e(r)}='${i.toISOString()}'`);else if("object"!==t||Array.isArray(i))if("string"===t)n.push(`${e(r)}='${i}'`);else{if("number"!==t&&"boolean"!==t)throw new Error(`Unsupported value type for key ${r}`);n.push(`${e(r)}=${i}`)}else n.push(Tn(e(r),i))}return n.length>1?n.join(" AND "):n[0]}function kn(t){const e=t.indexOf("://");if(e>0)return t.substring(0,e)}function An(t,e=0){let n,r=t*10**e;return t>=1e12?(r=Math.round(r/1e12),n="T"):t>=1e9?(r=Math.round(r/1e9),n="B"):t>=1e6?(r=Math.round(r/1e6),n="M"):t>=1e3?(r=Math.round(r/1e3),n="K"):(r=Math.round(r),n=""),r/=10**e,r.toFixed(e)+n}function $n(t){const e=t.match(/^\s*[+]?(\d+(?:[.]\d+)?)\s*([TBMK])?\s*$/i);if(!e)throw new y.CommonError("Invalid formatted parameter size string.","scaleToSize",y.ErrorCode.InvalidArgument);const n=parseFloat(e[1]),r=e[2]?.toLowerCase();switch(r){case"t":return 1e12*n;case"b":return 1e9*n;case"m":return 1e6*n;case"k":return 1e3*n;default:return n}}function xn(t,e){const n=e?.level||0,r=e?.visiting||new Set,i=e?.objectTag||"*",s=e?.arrayTag||"-",o=!0===e?.title?"name":e?.title;let a=[];const c=" ".repeat(2*n);if(null!=t)switch(typeof t){case"object":r.has(t)?a=["[Circular]"]:(r.add(t),a=Array.isArray(t)?t.map(e=>s+u(e,t)):Object.entries(t).map(([e,n])=>i+" `"+e+"`:"+u(n,t)));break;case"string":return t;default:return JSON.stringify(t)}else a=["null"];return a.length?c+a.join("\n"+c):"";function u(t,e){const i=null!=t&&"object"==typeof t;let s="";return o&&"string"==typeof o&&i&&t[o]&&"string"==typeof t[o]&&(s=" "+t[o],delete t[o]),(i?s+"\n":" ")+xn(t,{level:n+1,visiting:r,parent:e})}}(0,fn.registerYamlTag)(dn.regexp);var Cn=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}},In=require("util-ex"),On=require("events-ex");function qn(t=0){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 Nn=class extends Array{constructor(t,e){Array.isArray(t)?(super(...t),this._length=t.length,t=void 0):(super(),this._length=0),this._capacity=qn(t),this._front=0,this._disableAutoResize=e}push(t){let e=this._length;this.checkCapacity(e+1);const n=this._front+e&this._capacity-1;return this[n]=t,++e<=this._capacity&&(this._length=e),n}unshift(t){let e=this._length;this.checkCapacity(++e);const n=this._capacity,r=(this._front-1&n-1^n)-n;return this[r]=t,this._front=r,e<=this._capacity&&(this._length=e),r}pop(t){let e=this._length;if(0===e)return;let n=this._front+e-1&this._capacity-1,r=this[n];for(;--e>0&&t&&null==r;)n--,r=this[n];return this[n]=void 0,this._length=e,r}shift(t){let e=this._length;if(0===e)return;let n=this._front,r=this[n];for(;--e>0&&t&&null==r;)n=n+1&this._capacity-1,r=this[n];return this[n]=void 0,this._front=n+1&this._capacity-1,this._length=e,r}get size(){return this._length}get(t){let e;if(t===(0|t)){const n=this._length;t<0&&(t+=n),t>=0&&t<n&&(e=this[this._front+t&this._capacity-1])}return e}peekBack(){const t=this._length;if(0===t)return;return this[this._front+t-1&this._capacity-1]}peekFront(){if(0!==this._length)return this[this._front]}clear(){const t=this._length,e=this._front,n=this._capacity;for(let r=0;r<t;++r)this[e+r&n-1]=void 0;this._length=0,this._front=0}isEmpty(){return 0===this._length}removeAt(t){const e=this._length;if(t<0||t>=e)return;const n=this._front,r=this._capacity-1,i=n+t&r,s=this[i];if(t<e/2)this.copyWithin(n+1&r,n,n+t&r),this[n]=void 0,this._front=n+1&r;else{this.copyWithin(i,i+1&r,n+e&r);this[n+e-1&r]=void 0}return this._length=e-1,s}checkCapacity(t){this._capacity<t&&!this._disableAutoResize&&this.resizeTo(qn(1.5*this._capacity+16))}resizeTo(t){const e=this._capacity;this._capacity=t;const n=this._front,r=this._length;if(n+r>e){!function(t,e,n,r,i){for(let s=0;s<i;++s)n[s+r]=t[s+e],t[s+e]=void 0}(this,0,this,e,n+r&e-1)}}},Rn=require("@isdk/common-error"),jn=32;function Mn(t){return"function"==typeof t}function Pn(){return"1"}var Fn=class{constructor(t={}){const{initFn:e=Pn,pauseFn:n,resumeFn:r,capacity:i=jn}=t;if(Mn(n)!==Mn(r))throw new Error("pauseFn and resumeFn must be both set for pausing");this.waiting=new Nn(i),this.emitter=new On.EventEmitter,this.useDefaultTokens=e===Pn,this.pauseFn=n,this.resumeFn=r,this.initTokenFn=e,this.paused=!1,this._activeCount=0,this.initFree(t),this.init(t)}initFree(t){this.free=this.initTokenFn()}onReleased(t){const e=t?.token,n=this.waiting.shift(!0);n?this._dispatchTask(n,t):(this.resumeFn&&this.paused&&(this.paused=!1,this.resumeFn()),this.unlock(e))}init(t){this.emitter.on("release",t=>{this.onReleased(t)})}_newReleaser(t){let e=!1;const n=()=>{e||(e=!0,this.release(t))};return t&&Object.assign(n,t),n}_dispatchTask(t,e){const{resolve:n}=t;n(this._newReleaser(e))}lock(t){let e=this.free;if(e)return this.free=void 0,e}unlock(t){this.free=this.useDefaultTokens?"1":t??this.initTokenFn()}tryAcquire(t){return this.lock(t)}async acquire(t){this._activeCount++;const e=t?.signal,n=t=>{this.pauseFn&&!this.paused&&(this.paused=!0,this.pauseFn());const n=this.waiting.push(t),r=t.reject;return e&&e.addEventListener("abort",()=>{this.waiting[n]=void 0;const t=e.reason instanceof Error?e.reason:new Rn.AbortError(e.reason||"aborted");e.alreadyRejected=!0,r(t)}),n};let r=this.tryAcquire(t);const i=r&&(0,In.isAsync)(r),s=e=>new Promise((r,i)=>{const s={...t,resolve:r,reject:i,token:e};void 0===e?n(s):this._dispatchTask(s,{...t,token:e})});return i?r.then(t=>s(t)):s(r)}release(t){this._activeCount--,this.emitter.emit("release",t)}drain(){const t=[this.acquire()];return Promise.all(t)}abort(t){let e;for(;e=this.waiting.shift(!0);)e.reject(new Rn.AbortError(t))}get activeCount(){return this._activeCount}get pendingCount(){return this.waiting.size}},Ln=class extends Fn{constructor(t,e){if("number"==typeof t)(e=e||{}).maxConcurrency=t;else{if("number"!=typeof(e=t).maxConcurrency)throw new Error("maxConcurrency must be set");t=e.maxConcurrency}super(e),this.maxConcurrency=e.maxConcurrency,e.isReadyFn&&(this.isReady=e.isReadyFn)}initFree(t){const e=t.maxConcurrency=Math.max(1,t.maxConcurrency);this.free=new Nn(e);for(let t=0;t<e;t++)this.free.push(this.initTokenFn())}tryAcquire(t){let e=this.isReady;if(e&&(0,In.isAsync)(e)){return e instanceof Promise||(e=e()),e.then(e=>{if(e)return this.lock(t)})}if(!e||e())return this.lock(t)}unlock(t){this.free.push(this.useDefaultTokens?"1":t??this.initTokenFn())}lock(t){return this.free.pop()}drain(){const t=new Array(this.maxConcurrency);for(let e=0;e<this.maxConcurrency;e++)t[e]=this.acquire();return Promise.all(t)}};function _n(t,{timeUnit:e=1e3,uniformDistribution:n=!1}={}){const r=new Ln(n?1:t),i=n?e/t:e;return async function(){await r.acquire(),setTimeout(()=>r.release(),i)}}var zn,Dn=require("@isdk/common-error"),Bn=class{constructor(){this._isSignaled=!1,this.waitQueue=[]}get signaled(){return this._isSignaled}signal(t){if(this._isSignaled)return;this._isSignaled=!0,this._signalValue=t;const e=this.waitQueue.slice();for(this.waitQueue.length=0;e.length>0;){const t=e.shift();t?.resolve(this._signalValue)}}reset(){this._isSignaled=!1,this._signalValue=void 0,this.waitQueue.length=0}abort(t){if(this.waitQueue.length){const e=this.waitQueue.slice();this.waitQueue.length=0;const n=new Dn.AbortError(t);for(;e.length>0;){const{reject:t}=e.shift();t(n)}}}async wait(){return new Promise((t,e)=>{this._isSignaled?t(this._signalValue):this.waitQueue.push({resolve:t,reject:e})})}},Xn=require("custom-ability"),Jn=require("util-ex"),Un=0,Gn=1,Wn=2,Hn=(t=>(t[t.MultiTask=Un]="MultiTask",t[t.Cancelable=Gn]="Cancelable",t[t.Priority=Wn]="Priority",t))(Hn||{}),Zn=((zn=Zn||{})[zn.MultiTask=1<<Un]="MultiTask",zn[zn.Cancelable=1<<Gn]="Cancelable",zn[zn.Priority=1<<Wn]="Priority",zn),Kn=class extends AbortController{constructor(t){super(),(0,Jn.defineProperty)(this,"parent",t)}abort(t,e){this.signal.aborted||("string"==typeof t&&(t=new y.AbortError(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 y.AbortError(e.reason||"aborted")}}},Vn=class{get maxTaskConcurrency(){return this._maxTaskConcurrency}get semaphore(){return this.getSemaphore()}getSemaphore(t=this._isReadyFn){let e=this._maxTaskConcurrency,n=this.__task_semaphore;return e>0&&!n&&(t&&(t=t.bind(this)),n=this.__task_semaphore=new Ln(e-1,{isReadyFn:t})),n}static hasAsyncFeature(t){const e=this.prototype;let n=e.asyncFeatures;return e._asyncFeatures&&(n|=e._asyncFeatures),Cn.has(n,t)}hasAsyncFeature(t){let e=this.asyncFeatures;return this._asyncFeatures&&(e|=this._asyncFeatures),Cn.has(e,t)}isAborted(t){const e=this.hasAsyncFeature(Un);let n=this.__task_aborter;if(n&&e){if(null==t)throw new y.CommonError("Missing taskId",this.name+".isAborted",y.ErrorCode.InvalidArgument);n=n[t]}return!n||n.signal.aborted}getRunningTask(t){const e=this.hasAsyncFeature(Un);let n=this.__task_aborter;if(n&&e){if(null==t)throw new y.CommonError("Missing taskId",this.name+".getRunningTask",y.ErrorCode.InvalidArgument);n=n[t]}return n?.signal.aborted&&(e?this.__task_aborter[t]=void 0:this.__task_aborter=void 0,n=void 0),n}getRunningTaskCount(){let t;if(this.hasAsyncFeature(Un)){const e=this.__task_aborter;t=e&&Object.entries(e).filter(([t,n])=>{if(!n?.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 n=this.super,r=this.self||this;return t=n?n.call(r,t):this._generateAsyncTaskId(t,e)}createAborter(t,e,n=!0){const r=this.hasAsyncFeature(Un);if(!r&&n&&this.getRunningTask())throw new y.CommonError("The task is running",this.name,y.ErrorCode.TooManyRequests);const i=t?.aborter||new Kn(this);if(!(i instanceof Kn)){if(!(i instanceof AbortController))throw new y.CommonError("aborter should be an AbortController",this.name,y.ErrorCode.InvalidArgument);Object.setPrototypeOf(i,new Kn(this))}if(r){null==this.__task_aborter&&(this.__task_aborter={});const t=this.__task_aborter;null==e&&(e=this.generateAsyncTaskId(e,t)),i.id=e,t[e]=i}else this.__task_aborter=i;const s=[...Qn(t?.signal),...Qn(t?.signals)];s.length&&function(t,e){if(!e.length)return;const n=[],r=()=>{for(const t of n)try{t()}catch{}n.length=0},i=e.find(t=>t.aborted);if(i){const e=i.reason;try{t.abort(e||"aborted")}catch{}return}for(const r of e){const e=()=>{const e=r.reason;try{t.abort(e||"aborted")}catch(t){console.log(t)}};r.addEventListener("abort",e,{once:!0}),n.push(()=>r.removeEventListener("abort",e))}const s=()=>r();t.signal.addEventListener("abort",s,{once:!0}),n.push(()=>t.signal.removeEventListener("abort",s))}(i,s);const o=t?.timeout;return o>0&&(i.timeoutId=setTimeout(()=>{i.timeoutId=void 0,this.abort("timeout",{timeout:o})},o)),i.signal.addEventListener("abort",()=>{const t=i.timeoutId;t&&(i.timeoutId=void 0,clearTimeout(t));const e=i.signal;try{this.emit&&this.emit("aborting",e.reason,e.reason?.data)}finally{try{i.streamController?.error?.(e.reason)}catch{}}}),i}$cleanMultiTaskAborter(t,e){const n=this.super,r=this.self||this;n?n.call(r,t,e):r._cleanMultiTaskAborter(t,e)}cleanTaskAborter(t){if(this.hasAsyncFeature(Un)){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,n){const r=this.createAborter(e,n?.taskId,n?.raiseError);void 0===e&&(e={}),"object"==typeof e&&(e.aborter=r);let i=t(e,r).then(t=>{if(t&&t instanceof ReadableStream){const e=()=>{this.cleanTaskAborter(r)},n=ae({onStart:t=>{(0,Jn.defineProperty)(r,"streamController",t)},onFinal:e,onError:e,onTransform:(t,e)=>(t&&"object"==typeof t&&(t.taskId=r.id),t)});t=t.pipeThrough(n)}else this.cleanTaskAborter(r);return t}).catch(t=>{throw this.cleanTaskAborter(r),t}).finally(()=>{r.timeoutId&&(clearTimeout(r.timeoutId),r.timeoutId=void 0)});return i.task=r,i}runAsyncCancelableTask(t={},e,n){let r=this.createTaskPromise(e,t,n);const i=this.getSemaphore(n?.isReadyFn);if(i){const t=r,e=t.task;r=i.acquire({signal:e.signal}).then(()=>t).finally(()=>{i.release()}),r.task=e}return r}abort(t,e){let n=this.__task_aborter;if(n){const r=n;if(this.hasAsyncFeature(Un)){const t=e?.taskId;if(null==t)throw new y.CommonError("Missing data.taskId",this.name+".abort",y.ErrorCode.InvalidArgument);n=n[t],this.cleanMultiTaskAborter(t,r)}else this.__task_aborter=void 0;n&&!n.signal.aborted&&n.abort(t,e)}}};function Qn(t){return t?Array.isArray(t)?t.filter(Boolean):[t]:[]}Vn.prototype.generateAsyncTaskId=function(t,e){return this._generateAsyncTaskId(t,e)},Vn.prototype.cleanMultiTaskAborter=function(t,e){return this._cleanMultiTaskAborter(t,e)};var Yn=(0,Xn.createAbilityInjector)(Vn,"abort",{afterInjection:function(t,e){let n=t.prototype._asyncFeatures||0;n|=Zn.Cancelable,e&&(e.asyncFeatures&&(n|=e.asyncFeatures),e.maxTaskConcurrency>0&&(t.prototype._maxTaskConcurrency=e.maxTaskConcurrency),e.isReadyFn&&"function"==typeof e.isReadyFn&&(t.prototype._isReadyFn=e.isReadyFn)),t.prototype._asyncFeatures=n}});function tr(t,e){const n=e.global?e:new RegExp(e.source,`${e.flags}g`);let r,i=0;for(;null!==(r=n.exec(t));)i++;return i}var er=c(require("memoizee")),nr=require("json-canonicalize");function rr(t,e){var n;void 0!==e?.promise||!function(t){return"function"==typeof t&&"AsyncFunction"===t.constructor.name}(t)&&(!(n=t)||"object"!=typeof n&&"function"!=typeof n||"function"!=typeof n.then)||(e={promise:!0,...e}),void 0===e?.length&&(e={length:!1,...e});const r=e?.normalizer;return(0,er.default)(t,{...e,normalizer:t=>{if(r){const e=r(t);if("string"===e)return e;e&&(t=e)}return zt((0,nr.canonicalize)(t))}})}var ir=c(require("net"));async function sr(t,e=10){return new Promise((n,r)=>{void 0===t?t=0:("string"==typeof t&&(t=parseInt(t)),t>=0||(t=0));const i=ir.default.createServer();i.on("error",n=>{"EADDRINUSE"===n.code&&(t++,--e>0)?i.listen(t):r(n)}),i.on("listening",async()=>{const t=i.address().port;i.close(e=>{e?r(e):n(t)})}),i.listen(t)})}var or=c(require("path")),ar=require("package-directory");function cr(t){const e=(0,ar.packageDirectorySync)({cwd:t});if(e)return e;const n=t.split(or.default.sep);let r=n.lastIndexOf("dist");if(r>0)return n.slice(0,r).join(or.default.sep);if(r=n.lastIndexOf("src"),r>0)return n.slice(0,r).join(or.default.sep);throw new Error("can not find package directory")}var ur=c(require("path"));function hr(t,e){try{const n=ur.default.relative(ur.default.resolve(t),ur.default.resolve(e));return!n.startsWith("..")&&!ur.default.isAbsolute(n)}catch{return!1}}function lr(t,e){return e?.some(e=>hr(e,t))}function fr(t,e){for(const n of e)lr(n,t)||t.push(n);return t}function dr(t){const e=t.slice();return pr(e),e}function pr(t){const e=t.length;if(e<=1)return;const n=new Map,r=[];for(let i=0;i<e;i++){const e=mr(t[i]);n.has(e)||(r.push(e),n.set(e,i))}const i=[...r].sort(),s=new Set;for(let t=0;t<i.length;t++){const e=i[t];let n=!1;for(const t of s)if(hr(t,e)){n=!0;break}n||s.add(e)}let o=0;for(let n=0;n<e;n++)s.has(r[n])&&(o!==n&&(t[o]=t[n]),o++);t.length=o}function mr(t){let e=ur.default.normalize(t);return e=e.split(/[/\\]/).join(ur.default.posix.sep),e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1)),e}var yr=require("util-ex");function wr(t){return(0,yr.isRegExpStr)(t)||(0,yr.isRegExp)(t)}function vr(t){return t.replace(/\x1B[[(?);]{0,2}(;?\d)*./g,"")}var br=c(require("path")),gr=require("url"),Sr=require("@huggingface/transformers"),Tr=(0,gr.fileURLToPath)(h),Er=br.default.dirname(Tr),kr=br.default.join(cr(Er),".cache"),Ar=new Map,$r={"deepseek-ai/DeepSeek-V2-Lite-Chat":"deepseek2","Qwen/Qwen2.5-0.5B":"Qwen2.5","Xenova/gpt-4":"gpt-4 / gpt-3.5-turbo / text-embedding-ada-002","Xenova/text-davinci-003":"text-davinci-003 / text-davinci-002","Xenova/gpt-3":"gpt-3","Xenova/grok-1-tokenizer":"Grok-1","Xenova/claude-tokenizer":"Claude","Xenova/mistral-tokenizer-v3":"Mistral v3","Xenova/mistral-tokenizer-v1":"Mistral v1","Xenova/gemma-tokenizer":"Gemma","Xenova/gemma2-tokenizer":"Gemma2","Xenova/llama3-tokenizer-new":"Llama 3","unsloth/Llama-3.2-1B-Instruct":"Llama 3.2","Xenova/llama-tokenizer":"LLaMA / Llama 2","Xenova/c4ai-command-r-v01-tokenizer":"Cohere Command-R","Xenova/t5-small":"T5","Xenova/bert-base-cased":"bert-base-cased"},xr={deepseek2:"deepseek-ai/DeepSeek-V2-Lite-Chat","qwen2.5":"Qwen/Qwen2.5-0.5B","gpt-4":"Xenova/gpt-4","gpt-3.5-turbo":"Xenova/gpt-4","text-embedding-ada-002":"Xenova/gpt-4","text-davinci-003":"Xenova/text-davinci-003","text-davinci-002":"Xenova/text-davinci-003","gpt-3":"Xenova/gpt-3","grok-1":"Xenova/grok-1-tokenizer",claude:"Xenova/claude-tokenizer",mistral:"Xenova/mistral-tokenizer-v3",mistral3:"Xenova/mistral-tokenizer-v3",mistral1:"Xenova/mistral-tokenizer-v1",gemma:"Xenova/gemma-tokenizer",gemma2:"Xenova/gemma2-tokenizer",llama3:"Xenova/llama3-tokenizer-new",llama2:"Xenova/llama-tokenizer",llama:"Xenova/llama-tokenizer","llama3.2":"unsloth/Llama-3.2-1B-Instruct","cohere-command-r":"Xenova/c4ai-command-r-v01-tokenizer",t5:"Xenova/t5-small","bert-cased":"Xenova/bert-base-cased"};async function Cr(t){let e=Ar.get(t);return e||(e=Sr.AutoTokenizer.from_pretrained(t,{cache_dir:kr}),Ar.set(t,e)),e}async function Ir(t,e="qwen2.5"){xr[e]&&(e=xr[e]);return(await Cr(e)).encode(t)}async function Or(t,e="qwen2.5"){return(await Ir(t,e)).length}function qr(t,e){const n=e?.capitalize??!0;let r=e?.delimiter??/[_-]/g;r instanceof RegExp&&(r.flags.includes("g")||(r=new RegExp(r.source,r.flags+"g")));let i=(t=t.replace(r," ")).split(" ").map(t=>t.trim()).filter(Boolean);return n&&(i=i.map(t=>t.charAt(0).toUpperCase()+t.slice(1))),t=i.join(" ")}async function Nr(t,e){let n,r=1984,i=!0,s=!1,o=!0,a=Or,c=!0;if(e&&(n=e.modelId,e.size>=0&&(r=e.size),void 0!==e.corrected&&(i=e.corrected),void 0!==e.completeSentence&&(s=e.completeSentence),void 0!==e.truncLastSection&&(o=e.truncLastSection),"function"==typeof e.countLLMTokens&&(a=e.countLLMTokens),void 0!==e.bySentence&&(c=e.bySentence)),!c)throw new y.NotImplementationError("truncateToTokenLimit only implemented by sentence","truncateToTokenLimit");if(r>0){let c=await a(t,n);const u=e?.sentences??K(t,e);if(c>r)for(c=await a(u.join("\n"),n);c>r&&u.length;){const e=u.pop();if(e){if(c-=await a(e+"\n",n),s||i)t=u.join("\n");else{const n=t.lastIndexOf(e);if(-1===n)throw new y.CommonError(`Can not find sentence: ${e}`,"truncateContentToTokenLimit");t=t.slice(0,n)}if(c<=1)throw new y.CommonError(`Can not truncate content to fit within the token limit: ${r}`,"truncateContentToTokenLimit");if(c<=r&&o){const e=u[u.length-1];if(e&&et(e)){if(c-await a(e,n)>9){const n=t.lastIndexOf(e);if(-1===n)throw new y.CommonError(`Can not find sentence: ${e}`,"truncateContentToTokenLimit");t=t.slice(0,n).trimEnd()}}}}else c--}else t=u.join("\n")}if(!t)throw new y.CommonError(`Can not truncate content to fit within the token limit: ${r}`,"truncateContentToTokenLimit");return t}async function Rr(t,e){let n,r=1984,i=!0,s=Or,o=!0;if(e&&(n=e.modelId,e.size>=0&&(r=e.size),void 0!==e.truncLastSection&&(i=e.truncLastSection),"function"==typeof e.countLLMTokens&&(s=e.countLLMTokens),void 0!==e.bySentence&&(o=e.bySentence)),!o)throw new y.NotImplementationError("truncateToTokenLimit only implemented by sentence","truncateToTokenLimit");if(r>0){const e=(t=t.slice()).join("\n");let o=await s(e,n);if(o>r)for(;o>r&&t.length;){const e=t.pop();if(e){if(o-=await s(e,n),o<=1)throw new y.CommonError(`Can not truncate content to fit within the token limit: ${r}`,"truncateContentToTokenLimit");if(o<=r&&i){const e=t[t.length-1];if(e&&et(e)){o-await s(e,n)>9&&t.pop()}}}}}if(!t.length)throw new y.CommonError(`Empty. Can not truncate content to fit within the token limit: ${r}`,"truncateContentToTokenLimit");return t}async function jr(t,e){let n,r=1984,i=Or;if(e&&(n=e.modelId,"function"==typeof e.countLLMTokens&&(e.size>=0&&(r=e.size),i=e.countLLMTokens)),r>0){await i(t,n)}}var Mr=c(require("fs"));async function*Pr(t,e){const n=(e={...e,completeSentence:!1,corrected:!1}).size??1984,r=e.modelId,i=e.metaInfo?.size??(await Mr.default.promises.stat(t)).size;let s=Math.trunc(i/2);if(s<=n){let i=nn(await Mr.default.promises.readFile(t));if(s=await Or(i,r),s<=n)yield i;else do{const t=await Nr(i,{...e,modelId:r,size:n});yield t,i=i.slice(t.length)}while(i)}else{const i=ReadableStream.from(Mr.default.createReadStream(t)).getReader();let s="";for(;;){const{done:t,value:o}=await i.read();if(t)break;s+=nn(o);const a=K(s,e);let c=a.pop();if(c){const t=s.lastIndexOf(c);c=s.slice(t),s=s.slice(0,t)}if(s.length>=n){const t=await Nr(s,{...e,modelId:r,size:n,sentences:a});s=s.slice(t.length),yield t}for(;s.length>n;){const t=K(s,e),i=await Nr(s,{...e,modelId:r,size:n,sentences:t});s=s.slice(i.length),yield i}void 0!==c&&(s+=c)}for(;s;){const t=K(s,e),i=await Nr(s,{...e,modelId:r,size:n,sentences:t});s=s.slice(i.length),yield i}}}async function*Fr(t,e){const n=e?.size??1984,r=e?.modelId,i=e?.metaInfo?.size??(await Mr.default.promises.stat(t)).size;let s=Math.trunc(i/2);if(s<=n){let i=nn(await Mr.default.promises.readFile(t));if(s=await Or(i,r),s<=n)yield K(i,e);else{let t=K(i,e);do{const i=await Rr(t,{...e,modelId:r,size:n});yield i,t=t.slice(i.length)}while(t.length)}}else{const i=ReadableStream.from(Mr.default.createReadStream(t)).getReader();let s="";const o=e?.completeSentence,a=e?.corrected,c=!o&&!a;let u;for(;;){const{done:t,value:o}=await i.read();if(t)break;s+=nn(o),u=K(s,e);let a=u.pop();if(s.length>=n){const t=await Rr(u,{...e,modelId:r,size:n});s=c?s.slice(t.length):u.join("\n"),u=u.slice(t.length),s=u.join("\n"),yield t}for(;s.length>n;){const t=await Rr(u,{...e,modelId:r,size:n});u=u.slice(t.length),s=u.join("\n"),yield t}a&&u.push(a)}if(u)for(;u.length;){const t=await Rr(u,{...e,modelId:r,size:n});u=u.slice(t.length),yield t}}}async function Lr(t,e){const n=e?.size??1984,r=e?.modelId;let i=K(t,e);const s=[];if(await Or(t,r)<=n)s.push(i);else do{const t=await Rr(i,{...e,modelId:r,size:n});s.push(t),i=i.slice(t.length)}while(i.length);return s}var _r=require("yaml"),zr=class{constructor(t){t&&Object.assign(this,t)}};function Dr(t,e){class n extends _r.YAMLMap{constructor(){super(...arguments),this.tag=t}toJSON(t,n){n={...n,mapAsMap:!1};const r=super.toJSON(t,n);return new e(r)}}return{tag:t,collection:"map",nodeClass:n,identify:t=>t instanceof e}}function Br(t,e){let n=t.length===e.length;if(n){const r=_t(t),i=_t(e);n=r.every((t,e)=>t===i[e])}return n}var Xr=require("lodash-es"),Jr=c(require("path")),Ur=".ai";function Gr(t,e=["."]){if(Jr.default.isAbsolute(t))return mn.ConfigFile.loadSync(t);const n=e.map(e=>mn.ConfigFile.loadSync(Jr.default.resolve(e,t))).filter(Boolean);return(0,Xr.defaultsDeep)({},...n.reverse())}function Wr(t,e){const n={...process.env,...e};return n.HOME||(n.HOME=process.env.USERPROFILE),(0,I.expandObjEnv)(t,{processEnv:n,parsed:n})}function Hr(t,e){let n=mn.ConfigFile.loadSync(Jr.default.resolve(e.configDir,t));n||(n={configDirs:["$XDG_BIN_HOME",e.configDir,"$HOME"],brainDir:Jr.default.join(e.dataDir,"brain"),agentDirs:[Jr.default.join(e.dataDir,"agent")],promptDirs:[Jr.default.join(e.dataDir,"prompt")],chatsDir:Jr.default.join(e.dataDir,"log","chats"),inputsDir:Jr.default.join(e.dataDir,"log","inputs")});const r=Kr(e);for(const[t,e]of Object.entries(r))n[t]=e;Wr(n,n);const i=n.configDirs;n.AI_CONFIG_BASENAME&&(t=n.AI_CONFIG_BASENAME);const s=Wr(Gr(t,i),n);return(0,Xr.defaultsDeep)(s,(0,Xr.omit)(n,Object.keys(r))),Yr(s),s}function Zr(t){return Hr(Ur,t)}function Kr(t){return{XDG_CONFIG_HOME:t.configDir,XDG_DATA_HOME:t.dataDir,XDG_CACHE_HOME:t.cacheDir,XDG_BIN_HOME:Jr.default.dirname(t.options.root)}}function Vr(t,e){t.startsWith("~")&&(t="$HOME"+t.slice(1));return Wr(t,e)}function Qr(t,e){return t.map(t=>Vr(t,e))}function Yr(t,e=["configDirs","brainDir","agentDirs","promptDirs","chatsDir","inputsDir"],n){for(const r of e){const e=(0,Xr.get)(t,r);if(!e)continue;let i;Array.isArray(e)&&e.length?i=Qr(e,n):"string"==typeof e&&(i=Vr(e,n)),i&&(0,Xr.set)(t,r,i)}}var{exit:ti}=process,ei=!1,ni=!1,ri=["SIGINT","SIGTERM","exit"],ii=3e5,si=[],oi=(t,e)=>t.forEach(t=>process.once(t,e)),ai=t=>()=>{setTimeout(()=>(console.warn(`Could not close resources gracefully after ${t}ms: forcing shutdown`),ti(1)),t).unref()};async function ci(t="shutdown",e=0){if(!ei){ei=!0,"number"==typeof t&&(e=t,t="shutdown");for(const e of si)try{await e(t)}catch(t){console.warn(`A shutdown handler failed before completing with: ${t.message||t}`)}return ti(e)}console.warn(`Shutdown already in progress, ignoring [${t}] signal`)}function ui(t){if(ni||hi(),!si.some(e=>e===t))return si.push(t),t}function hi(){ni||(ni=!0,process.exit=t=>{ei||ci(void 0,t).then()},oi(ri,ai(ii)),oi(ri,ci))}var li=["<BOS>","<EOS>","<PAD>","<UNK>"],fi=".,!?;?!",di=[" ","\n","\t","▁"," "],pi=["the","a","an","的","是","在"];function mi(t,e){const n=e?.exclude?function(t){const e=new Set;if(t.controlSymbols&&li.forEach(t=>e.add(t)),t.punctuation)for(let t=0;t<fi.length;t++)e.add(fi[t]);return t.stopWords&&pi.forEach(t=>e.add(t)),t.whitespace&&di.forEach(t=>e.add(t)),Array.isArray(t.tokens)&&t.tokens.forEach(t=>e.add(t)),[...e]}(e.exclude):void 0;return n&&n.length&&(t=t.filter(t=>!n.includes(t.token.trim()))),yi(t)}function yi(t){if(!Array.isArray(t)||0===t.length)return;const e=t.reduce((t,e)=>t+e.probability,0);return Math.exp(-e/t.length)}var wi=require("lodash-es"),vi=/^\s*@inheritMerge\s*(?:[(]\s*(?<arg>\.start|\.end|false)[)])?/,bi=Symbol("MergeWay"),gi={replace:0,start:1,end:2};function Si(t,...e){return(0,wi.mergeWith)(t,...e,(t,e)=>Array.isArray(t)&&Array.isArray(e)?Ti(t,e):void 0!==t&&"object"!=typeof t?t:void 0)}function Ti(t,e){let n=t[bi];return void 0===n&&(t=function(t){const e=t[0];let n=".start";if("string"==typeof e){const r=vi.exec(e);r&&(r.groups?.arg&&(n=r.groups?.arg),t=t.slice(1))}else e&&"object"==typeof e&&e.hasOwnProperty("@inheritMerge")&&(n=e["@inheritMerge"]||n,t=t.slice(1));n&&(n=n.toLowerCase());let r=gi.start;"false"===n||"no"===n||"not"===n?r=gi.replace:".end"===n&&(r=gi.end);return Object.defineProperty(t,bi,{value:r,enumerable:!1}),t}(t),n=t[bi]),t=n===gi.replace?e:n===gi.end?t.concat(e):e.concat(t),Object.defineProperty(t,bi,{value:n,enumerable:!1}),t}function Ei(t,e=" "){return ki(t).join(e)}function ki(t){return t.split(/(?<=[a-z])(?=[A-Z])|(?<=\d)(?=[A-Za-z])|(?<=[A-Z])(?=[A-Z][a-z])|[\s_]+/g).filter(t=>t.length>0)}function Ai(t,e){if(void 0!==t){const n=JSON.stringify(t);if("{}"!==n&&"[]"!==n&&'""'!==n){const t="p="+encodeURIComponent(n);return e?t:"?"+t}}return""}var $i=require("lodash-es"),xi=require("property-manager"),Ci=require("util-ex"),Ii=class t extends xi.AdvancePropertyManager{static{this.items={}}static{this.aliases={}}static get(t){let e=this.items[t];return!e&&(t=this.aliases[t])&&(e=this.items[t]),e}static list(){return this.items}static getByTag(t){let e;for(const n in this.list()){const r=this.get(n);let i=r.tags;if("string"==typeof i){if(i===t){e=r;break}}else if(Array.isArray(i)&&i.indexOf(t)>=0){e=r;break}}return e}static getAllByTag(t){let e=[];for(const n in this.list()){const r=this.get(n);let i=r.tags;"string"==typeof i?i===t&&e.push(r):Array.isArray(i)&&i.indexOf(t)>=0&&e.push(r)}return e}static hasAsyncFeature(t){const e=this.prototype;let n=e.asyncFeatures??0;return e._asyncFeatures&&(n|=e._asyncFeatures),Cn.has(n,t)}static run(t,e){const n=this.get(t);if(n)return n.run(e);throw new y.NotFoundError(`${t} to run`,this.name)}static runSync(t,e){const n=this.get(t);if(n)return n.runSync(e);throw new y.NotFoundError(`${t} to run`,this.name)}static getFunc(t){const e=this.get(t);return e?.getFunc()}static runWithPos(t,...e){const n=this.get(t);if(n)return n.runWithPos(...e);throw new y.NotFoundError(`${t} to run`,this.name)}static runWithPosSync(t,...e){const n=this.get(t);if(n)return n.runWithPosSync(...e);throw new y.NotFoundError(`${t} to run`,this.name)}static getFuncWithPos(t){const e=this.get(t);return e?.getFuncWithPos()}static register(e,n={}){switch(typeof e){case"string":n.name=e;break;case"function":n.func=e;break;case"object":n=e}e=n.name;let r=!!this.get(e);if(r)r=!1;else{if(!(n instanceof t))return r=new this(n),r.register();if(this.items[e]=n,n.alias){const t=n.alias;if("string"==typeof t)this.aliases[t]&&(0,y.throwError)(`Alias ${t} already exists for ${e}`),this.aliases[t]=e;else if(Array.isArray(t))for(const n of t)this.aliases[n]&&(0,y.throwError)(`Alias ${n} already exists for ${e}`),this.aliases[n]=e}r=n}return r}static unregister(t){const e=this.get(t);if(e&&(delete this.items[t],e.alias)){const t=e.alias;if("string"==typeof t)delete this.aliases[t];else if(Array.isArray(t))for(const e of t)delete this.aliases[e]}return 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,n=this.depends;if(n){const e=Object.keys(n);for(const r of e){const e=n[r];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={},n=Object.keys(this.params);let r=Math.min(n.length,t.length);for(let i=0;i<r;i++)e[n[i]]=t[i];t=[e]}return t}obj2ArrParams(t){const e=[];if(t&&this.params&&Array.isArray(this.params)){const n=Object.keys(t);let r=Math.min(n.length,this.params.length);for(let i=0;i<r;i++)e.push(t[n[i]])}return e}runSync(t){const e=this.params&&Array.isArray(this.params);if(Array.isArray(t)){if(e)return this.func(...t);(0,y.throwError)("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??0;return this._asyncFeatures&&(e|=this._asyncFeatures),Cn.has(e,t)}isStream(t){let e=this.stream;if(e){const n=this.params;n?.stream&&(e=t?.stream)}return e}},Oi={name:{type:"string"},description:{type:"string"},title:{type:"string"},func:{type:"function",assign(t,e,n,r,i){let s=t;const o=typeof t;return i.isExported?s="function"===o?t.toString():t:t&&("string"!==o&&(t=t.toString()),s=(0,Ci._createFunction)(t,e.scope)),s}},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"},alias:{type:["array","string"]}};Ii.defineProperties(Ii,Oi);var qi=Symbol("meta");function Ni(t,e,n=!0){if(e&&"object"==typeof e){if("function"==typeof t)return e=n?(0,$i.assign)({},t[qi],e):(0,$i.defaultsDeep)({},t[qi],e),t[qi]=e,t;if(t instanceof Ii)return t.assign(e)}}function Ri(t){return"function"==typeof t?t[qi]:t instanceof Ii?t.toObject():void 0}var ji=require("lodash-es"),Mi="A client transport has not been set. Use ClientTools.setTransport() or transport.mount(ClientTools) first.",Pi=class t extends Ii{static get apiRoot(){return this._transport||(0,y.throwError)(Mi,"ClientTools"),this._transport.apiRoot}static setTransport(t){if(t){this._transport=t;const e=this.constructor;t.Tools!==e&&(t.Tools=e)}}static get transport(){return this._transport}static async loadFrom(t){return t||(this._transport||(0,y.throwError)(Mi,"ClientTools"),t=await this._transport.loadApis()),t&&this.loadFromSync(t),t}static loadFromSync(e){for(const n in e){const r=this.get(n),i=e[n];r?r instanceof t?r.assign(i):(0,y.throwError)(`${n} already registered as ${r.constructor.name}`,"ClientTools"):this.register(i)}}static async fetch(t,e,...n){const r=this.get(t);if(r&&r.fetch)return r.fetch(e,...n)}get apiRoot(){return this.constructor.apiRoot}async fetch(t,e,n,r){const i=this.constructor;if(i._transport)return r=(0,ji.defaultsDeep)(r,this.fetchOptions),i._transport.fetch(this.name,t,e,n,r);(0,y.throwError)(Mi,"ClientTools")}async func(t){return await this.fetch(t)}},Fi={...m};Pi.defineProperties(Pi,Fi);var Li=class t extends Ii{static get apiRoot(){return this._apiRoot}static setApiRoot(t){this._apiRoot=t}static toJSON(){const e={};for(const n in this.items){let r=this.items[n];(r instanceof t||r.isApi)&&(r.allowExportFunc||(r=r.toJSON(),delete r.func),e[n]=r)}return e}run(t,e){return e&&(t._req=e.req,t._res=e.reply),super.run(t)}func(t){}},_i={...m};Li.defineProperties(Li,_i);var zi=require("events-ex"),Di=class extends Ii{constructor(){super(...arguments),this._emitter=new zi.EventEmitter,this.description="Return event bus",this.result="event"}get emitter(){return this._emitter}func(){return this.emitter}},Bi=new Di(gt),Xi=require("secondary-cache"),Ji=require("secondary-cache"),Ui=Xi.Cache;function Gi({key:t,value:e,options:n}={}){return void 0!==t?null===e?this.cache.del(t):void 0!==e?this.cache.set(t,e,n):this.cache.get(t):(n&&this.cache.setDefaultOptions(n),this.cache)}function Wi(t,e){let n=Ii.get(t);return n||(n=new Ii(t,{func:Gi,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"}),n.cache=new Xi.Cache(e)),n}var Hi=Wi("lrucache"),Zi=class extends Pi{async fetch(t,e,n,r){return t||(t={}),e?.startsWith("$")&&(t.act=e,e="post"),await super.fetch(t,e,n,r)}async _func(t,e,n){return await this.fetch(e,t,null,n)}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))}}},Ki={methods:{type:"array",assign(t,e,n,r,i){i?.isExported||e.assignMethods(t)}}};Zi.defineProperties(Zi,Ki);var Vi=class extends Zi{async fetch(t,e,...n){if(t||(t={}),e&&"res"===this.action){if("get"===e||"delete"===e){let n=t.id;return n||(0,y.throwError)("id is required"),"string"==typeof n&&(n=encodeURIComponent(n)),delete t.id,super.fetch(t,e,n)}"list"===e?e="get":e.startsWith("$")&&(t.act=e,e="post")}return await super.fetch(t,e,...n)}},Qi=require("lodash-es"),Yi=class extends Vi{constructor(){super(...arguments),this._sseListeners={},this._forwardEvents=new Set,this.description="subscribe server event",this.ebListener=async function(...t){const e=t[0];let n=t[1];const r=this.type;("string"!=typeof e||n&&"object"!=typeof n||t.length>2)&&(n=t,e&&e===this.target.name&&(n=t.slice(1))),this.target.publish&&await this.target.publish({data:n,event:r})}}static setPubSubTransport(t){t?.setApiRoot&&this.apiRoot&&t.setApiRoot(this.apiRoot),this._pubSubTransport=t}static get pubSubTransport(){if(!this._pubSubTransport)throw new Error("EventClient pubSubTransport not set");return this._pubSubTransport}get clientId(){return this._stream?.clientId}async getEvtSource(){let t=this._stream;return t&&2!==t.readyState||(t=await this.initEventStream(this._streamEvents)),t}get active(){return!!this._stream&&2!==this._stream.readyState}async setActive(t){t!==this.active&&(t?await this.initEventStream(this._streamEvents):this._stream&&this.close())}async initEventStream(t){const e="string"==typeof t?[t]:t;if(this._stream&&2!==this._stream.readyState){if(!this._streamEvents||e&&e.every(t=>this._streamEvents.includes(t)))return this._stream;this._stream.close()}const n=e?{event:e}:void 0,r=this._stream=await this.constructor.pubSubTransport.connect(this.name,n);return r.clientId&&(this.fetchOptions=(0,Qi.defaultsDeep)({clientId:r.clientId},this.fetchOptions)),Object.entries(this._sseListeners).forEach(([t,e])=>{r.on(t,e)}),this._streamEvents=e,r}esListener(t,e,n){if(!this._forwardEvents.has(t)){const n=this.emitter;n&&t&&(Array.isArray(e)?n.emit(t,...e):n.emit(t,e))}}async subscribe(t){this.active||await this.initEventStream(t);const e=await this.sub({event:t});"string"==typeof t&&(t=[t]);const n=await this.getEvtSource();for(const e of t)if(!this._sseListeners[e]){const t=this._sseListeners[e]=(t,n)=>this.esListener(e,t,n);n.on(e,t)}return e}async unsubscribe(t){"string"==typeof t&&(t=[t]);const e=await this.unsub({event:t}),n=await this.getEvtSource();for(const e of t){const t=this._sseListeners[e];t&&(delete this._sseListeners[e],n.off(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.setActive(!1),await this.initEventStream(t),t)return await this.subscribe(t)}close(){const t=this._stream;if(t)return this._stream=void 0,t.close()}},ts=new Yi(bt),es=require("util-ex"),ns=class extends Li{constructor(t,e={}){super(t,e),this.params={act:{type:"string"}};const n=this.methods=[];this.initRpcMethods(n)}get SpecialRpcMethodNames(){return this.constructor.SpecialRpcMethodNames}initRpcMethods(t=this.methods){const e=this.SpecialRpcMethodNames;if(Array.isArray(e))for(const n of e)"function"==typeof this[n]&&t.push(n);(0,es.getAllNames)(Object.getPrototypeOf(this)).filter(t=>t.startsWith("$")&&"function"==typeof this[t]).forEach(e=>{t.push(e);const n=e.slice(1);void 0===this[n]&&(this[n]=this[e])})}cast(t,e){let n=this.params[t];return n&&("string"!=typeof n&&(n=n.type),"number"===n&&(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 y.NotFoundError(e,this.name)}},rs={methods:{type:"array"}};ns.defineProperties(ns,rs);var is=class extends ns{constructor(t,e={}){super(t,e),this.action="res",this.params={id:{type:"string"},val:{type:"any"}}}static{this.SpecialRpcMethodNames=p}getMethodFromParams(t){let e=t?._req?.method?.toLowerCase();return"get"===e&&void 0===t.id?e="list":t.act&&(e=t.act),e}castParams(t){return void 0!==t.id&&(t.id=this.cast("id",t.id)),t}},ss=Bi.runSync(),os="client:",as=class t extends is{constructor(){super(...arguments),this.description="subscribe server event",this.result="event",this.depends={[gt]:Bi}}static{this.autoInjectToLocalBus=!1}static setPubSubTransport(t){this._pubSubTransport=t}static get pubSubTransport(){return this._pubSubTransport||console.warn("EventServer pubSubTransport not set"),this._pubSubTransport}get pubSubTransport(){return this.constructor.pubSubTransport}static publish(t,e,n){return this.pubSubTransport?.publish(t,e,n)}static ebListener(t,...e){this.pubSubTransport?.publish(t,e)}static alreadyForward(t){const e=ss.listeners(t);for(const t of e)if(t===this._boundEbListener)return!0}publishServerEvent(t,e){return this.constructor.publish(t,e)}forward(e){Array.isArray(e)||(e=[e]);const n=this.constructor;n._boundEbListener||(n._boundEbListener=function(...t){return n.ebListener(this.type,...t)});for(const r of e)t.alreadyForward(r)||ss.on(r,n._boundEbListener)}unforward(t){"string"==typeof t&&(t=[t]);const e=this.constructor;if(e._boundEbListener)for(const n of t)ss.off(n,e._boundEbListener)}list({_req:t,_res:e,event:n}){if(this.pubSubTransport)return this.pubSubTransport.connect({req:t,res:e,events:n});(0,y.throwError)("PubSub transport not available","list",y.ErrorCode.NotImplemented)}$sub({event:t,_req:e}){if(this.pubSubTransport||(0,y.throwError)("PubSub transport not available","sub",y.ErrorCode.NotImplemented),t){this.forward(t);const n=e&&this.pubSubTransport.getSessionFromReq?.(e);return n?(this.pubSubTransport.subscribe(n,Array.isArray(t)?t:[t]),{forward:!0,subscribed:!0,event:t,clientId:n.clientId}):(this.pubSubTransport.getSessionFromReq?console.warn("$sub: No session found for request"):e?console.warn(`$sub: The ${this.pubSubTransport.name} Transport does not support dynamic subscription`):console.warn("$sub: missing _req"),{forward:!0,event:t})}(0,y.throwError)("event is required","sub",y.ErrorCode.InvalidArgument)}$unsub({event:t,_req:e}){if(this.pubSubTransport||(0,y.throwError)("PubSub transport not available","unsub",y.ErrorCode.NotImplemented),t){this.unforward(t);const n=e&&this.pubSubTransport.getSessionFromReq?.(e);return n?(this.pubSubTransport.unsubscribe(n,Array.isArray(t)?t:[t]),{forward:!1,subscribed:!1,event:t,clientId:n.clientId}):(this.pubSubTransport.getSessionFromReq?console.warn("$unsub: No session found for request"):e?console.warn(`$unsub: The ${this.pubSubTransport.name} Transport does not support dynamic subscription`):console.warn("$sub: missing _req"),{forward:!1,event:t})}(0,y.throwError)("event is required","unsub",y.ErrorCode.InvalidArgument)}$publish({event:t,data:e,_req:n}){if(t&&e){const r=n&&this.pubSubTransport?.getSessionFromReq?.(n),i=r?.clientId,s=this.constructor;"string"==typeof t&&(t=[t]);for(const n of t)s.autoInjectToLocalBus&&ss.emit(os+n,e,{event:n,sender:r}),this.publishServerEvent(n,e);return{event:t,senderId:i}}(0,y.throwError)("event or data is required","pub",y.ErrorCode.InvalidArgument)}isStream(t){return"list"===this.getMethodFromParams(t)}},cs=new as(bt);function us(){Bi.register(),Hi.register()}var hs=class{setApiRoot(t){this.apiRoot=t}mount(t,e,n){if(e)this.setApiRoot(e);else if(!(e=this.apiRoot))throw new Error("apiRoot is required");return this.Tools=t,this.options=n,this._mount(t,e,n)}},ls=class extends hs{constructor(t){if(!t)throw new Error("apiRoot is required for HttpClientTransport");super(),this.setApiRoot(t)}async _mount(t,e,n){return t.setTransport(this),t.loadFrom()}async loadApis(){return this.fetch("",void 0,"get",void 0,{headers:{"Content-Type":"application/json"}})}async fetch(t,e,n,r,i){i={...this.options,...i};const s=await this._fetch(t,e,n,r,i);if(e?.stream)return s;return await this.toObject(s,e)}},fs=require("lodash-es"),ds=class extends hs{_mount(t,e,n){this.addDiscoveryHandler(e,()=>t),this.addRpcHandler(t,e,n)}start(t){return this.options&&(t=(0,fs.defaultsDeep)(t,this.options)),this._start(t)}},ps=c(require("http")),ms=require("url"),ys=require("lodash-es"),ws=class extends ds{constructor(t){super(),this.discoveryHandlerInfo=null,this.server=t?ps.default.createServer(t,this.requestListener.bind(this)):ps.default.createServer(this.requestListener.bind(this))}async requestListener(t,e){const{url:n,method:r}=t;if(!n)return e.statusCode=400,e.setHeader("Content-Type","application/json"),void e.end(JSON.stringify({error:"Bad Request"}));if(this.discoveryHandlerInfo&&"GET"===r&&n===this.discoveryHandlerInfo.prefix)try{const t=this.discoveryHandlerInfo.handler();e.setHeader("Content-Type","application/json"),e.statusCode=200,e.end(JSON.stringify(t)),console.log(`[HttpServerTransport] Handled GET ${n} for discovery`)}catch(t){e.statusCode=500,e.setHeader("Content-Type","application/json"),e.end(JSON.stringify({error:t.message||"Internal Server Error"}))}else this.apiRoot&&n.startsWith(this.apiRoot)?await this.handleRpcRequest(t,e):(e.statusCode=404,e.setHeader("Content-Type","application/json"),e.end(JSON.stringify({error:"Not Found"})))}addDiscoveryHandler(t,e){this.discoveryHandlerInfo={prefix:t,handler:e},console.log(`[HttpServerTransport] Mapped GET ${t} for discovery`)}addRpcHandler(t,e,n){e.endsWith("/")||(e+="/"),this.apiRoot=e,console.log(`[HttpServerTransport] Mapped RPC calls for prefix ${e}`)}async handleRpcRequest(t,e){const n=this.Tools;if(!n||!t.url)return e.statusCode=500,e.setHeader("Content-Type","application/json"),void e.end(JSON.stringify({error:"RPC handler not configured"}));const r=this.apiRoot,i=t.url.split("?")[0].substring(r.length),[s,o]=i.split("/").map(t=>void 0===t?t:decodeURIComponent(t)),a=n.get(s);if(!a)return e.statusCode=404,e.setHeader("Content-Type","application/json"),void e.end(JSON.stringify({error:`${s} Not Found`,data:{what:s}}));let c;const u=t.method;try{if("GET"===u||"DELETE"===u){const e=new ms.URL(t.url,`http://${t.headers.host}`).searchParams.get("p");c=e?JSON.parse(e):{}}else{const e=await this.getRequestBody(t);c=e?JSON.parse(e):{}}c._req=t,c._res=e,void 0!==o&&(c.id=o);let n=await a.run(c);a.isStream(c)?n&&"function"==typeof n.pipe?n.pipe(e):e.writableEnded:(e.setHeader("Content-Type","application/json"),e.statusCode=200,e.end(JSON.stringify(n)))}catch(t){if(console.error("Error during RPC execution:",t),e.headersSent)return;e.setHeader("Content-Type","application/json"),t.code&&"number"==typeof t.code?(e.statusCode=t.code,t.stack&&(t.stack=void 0),e.end(JSON.stringify(t))):(e.statusCode=500,e.end(JSON.stringify({error:t.message||"Internal Server Error"})))}}getRequestBody(t){return new Promise((e,n)=>{let r="";t.on("data",t=>{r+=t.toString()}),t.on("end",()=>{e(r)}),t.on("error",t=>{n(t)})})}async _start(t){const{port:e,host:n="0.0.0.0"}=(0,ys.defaultsDeep)(t,{port:3e3});return new Promise((t,r)=>{this.server.on("error",t=>{console.error("[HttpServerTransport] Server error:",t),r(t)}),this.server.listen(e,n,()=>{const e=this.server.address(),n="string"==typeof e?e:`${e?.address}:${e?.port}`;console.log(`[HttpServerTransport] Server listening on ${n}`),t()})})}async stop(t){return new Promise((e,n)=>{if(!this.server||!this.server.listening)return e();t&&this.server.closeAllConnections(),this.server.close(t=>{if(t)return n(t);e()})})}getRaw(){return this.server}},vs=class extends ls{async loadApis(){const t=await fetch(this.apiRoot,{headers:{"Content-Type":"application/json"}});if(!t.ok)throw new Error(`Failed to load tools from ${this.apiRoot}: ${t.statusText}`);return await t.json()}async _fetch(t,e,n,r,i){const s=["post","put","patch"];let o;n||(n=this.Tools.action||"post"),"res"===n&&(n="get"),i.headers&&i.headers["Content-Type"]||!s.includes(n)||(i.headers={"Content-Type":"application/json",...i.headers}),i?.clientId&&(i.headers||(i.headers={}),i.headers["x-client-id"]=i.clientId,delete i.clientId),e?.stream&&!i.headers.Connection&&(i.headers.Connection="keep-alive"),r?("string"!=typeof r&&(r=JSON.stringify(r)),t&&(r=t+"/"+r)):r=t,i.method=n.toUpperCase(),"get"===n||"delete"===n?o=r+Ai(e):(i.body=JSON.stringify(e),o=r),i.headers&&!s.includes(n)&&delete i.headers["Content-Type"];const a=await fetch(`${this.apiRoot}/${o}`,i);if(!a.ok){throw await this.errorFrom(t,a)}return a}async errorFrom(t,e){let n,r=e.status,i=e.statusText;if(e.body){const r=await e.text();try{const e=JSON.parse(r);e&&(e.error&&(i=e.error),e.name&&(t=e.name),e.data&&(n=e.data,n.name=t,n.what&&(n.msg=i,i=n.what)),e.message&&(i=i+":"+e.message))}catch(t){console.warn("🚀 ~ parse error body to json:",t)}}return(0,y.createError)(i,t,r)}async toObject(t,e){return await t.json()}},bs=class{constructor(){this.name="sse",this.protocol="sse",this.channel=new Zt,this.sessions=new Map}connect(t){const{req:e,res:n,clientId:r,events:i}=t??{};if(!e||!n)throw new Error("SSE connect requires options.req and options.res");const s=this.channel.connect(e,n,i,r),o={id:s.clientId,clientId:s.clientId,protocol:"sse",send:(t,e)=>{this.channel.publish(e,t,{clientId:s.clientId})},close:()=>this.channel.disconnect(s),raw:n};return this.sessions.set(s.clientId,o),this.onConn?.(o),e.on("close",()=>{this.sessions.delete(s.clientId),this.onDis?.(o)}),o}getSessionFromReq(t){const e=t.headers["x-client-id"];if(e){return this.sessions.get(e)}}subscribe(t,e){t.clientId&&this.channel.subscribe(t.clientId,e)}unsubscribe(t,e){t.clientId&&this.channel.unsubscribe(t.clientId,e)}publish(t,e,n){this.channel.publish(e,t,n)}onConnection(t){this.onConn=t}onDisconnect(t){this.onDis=t}},gs=class{constructor(){this.apiRoot=""}setApiRoot(t){this.apiRoot=t}async connect(t,e){if(!this.apiRoot&&!t.startsWith("http"))throw new Error("SseClientPubSubTransport requires apiRoot to be set or a full URL to be provided.");const n={...e};let r=t.startsWith("http")?t:`${this.apiRoot}/${t}`;if(n){const t=Ai(n,!0);t&&(r+=(r.includes("?")?"&":"?")+t)}const i=new EventSource(r),s=new Promise(t=>{const e=n=>{i.removeEventListener("welcome",e);const r=n.data,s=r?"string"==typeof r?JSON.parse(r):r:void 0;t(s)};i.addEventListener("welcome",e)}),o=(await s).clientId,a=new Map,c=(t,e)=>{const n=n=>{const r=n.data,i=r?"string"==typeof r?JSON.parse(r):r:void 0;e(i,{...n,event:t})};let r=a.get(t);r||(r=new Map,a.set(t,r)),r.set(e,n),i.addEventListener(t,n)},u=(t,e)=>{const n=a.get(t),r=n?.get(e);r&&(i.removeEventListener(t,r),n.delete(e))};return{clientId:o,protocol:"sse",get readyState(){return i.readyState},on:c,off:u,addEventListener:c,removeEventListener:u,close:()=>i.close()}}disconnect(t){return t.close()}};
|
|
1
|
+
"use strict";var e,t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,a=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},c=(e,t,o,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let c of i(t))s.call(e,c)||c===o||n(e,c,{get:()=>t[c],enumerable:!(a=r(t,c))||a.enumerable});return e},u=(e,t,n)=>(c(e,t,"default"),n&&c(n,t,"default")),l=(e,r,i)=>(i=null!=e?t(o(e)):{},c(!r&&e&&e.__esModule?i:n(i,"default",{value:e,enumerable:!0}),e)),f={};a(f,{AIArgProcessor:()=>st,AIChatRoles:()=>x,AIMessageTypes:()=>A,AIStream:()=>Ae,AITextGenerationFinishReasons:()=>$,AbortError:()=>y.AbortError,AbortErrorCode:()=>y.AbortErrorCode,AlreadyExistsError:()=>y.AlreadyExistsError,AlreadyExistsErrorCode:()=>y.AlreadyExistsErrorCode,ArrayMergeWay:()=>Ar,ArrayMergeWaySymbol:()=>$r,BaseError:()=>y.BaseError,BinarySemaphore:()=>nn.BinarySemaphore,CMD_ARG_FLAG_SYMBOL:()=>je,CMD_ARG_PROCESSOR_RESULT:()=>Le,CMD_ARG_UNRESOLVED_SYMBOL:()=>Me,ChoiceArgProcessor:()=>it,CmdArgLexer:()=>qe,CmdArgParser:()=>nt,CmdArgTokenType:()=>De,CommonError:()=>y.CommonError,ConfigFile:()=>Bt.ConfigFile,DEFAULT_CONFIG_NAME:()=>Zn,DefaultAsyncSemaphoreCapacity:()=>nn.DefaultAsyncSemaphoreCapacity,DefaultDateFormat:()=>v,EnvPromptTemplate:()=>C.EnvStringTemplate,ErrorCode:()=>y.ErrorCode,FStringPromptTemplate:()=>C.FStringTemplate,FewShotPromptTemplate:()=>N,FilenameReservedRegex:()=>Te.FilenameReservedRegex,GolangPromptTemplate:()=>C.GolangStringTemplate,HashAlgorithm:()=>Re.HashAlgorithm,IDENTIFIER_REGEX:()=>Fe,IntSet:()=>tn.IntSet,InternalErrorCode:()=>y.InternalErrorCode,LLM_TOKENIZER_NAMES:()=>Nn,LLM_TOKENIZER_NAMES_MAP:()=>In,LRUCache:()=>zr.LRUCache,NotFoundError:()=>y.NotFoundError,NotFoundErrorCode:()=>y.NotFoundErrorCode,NotImplementationError:()=>y.NotImplementationError,NotImplementedErrorCode:()=>y.NotImplementedErrorCode,ObjectArgsToArgsInfo:()=>dt,PASSING_SCORE:()=>p,PATH_IDENTIFIER_REGEX:()=>Be,PromptExampleSelector:()=>L,PromptTemplate:()=>C.StringTemplate,RESERVED_WORDS:()=>Pe,RStreamErrCode:()=>ge,RateLimit:()=>nn.RateLimit,ReadableStreamError:()=>be,ResponseRStreamErrCode:()=>we,SHUTDOWN_SIGNALS:()=>cr,SecondaryCache:()=>Pr,Semaphore:()=>nn.Semaphore,SignalGate:()=>rn.SignalGate,StrangeHumanName:()=>R,TemplateArgProcessor:()=>ot,WindowsReservedNameRegex:()=>Te.WindowsReservedNameRegex,YamlTypeBaseObject:()=>Wn,_lrucache:()=>Fr,addDate:()=>w.add,assignDirs:()=>gn,base32768:()=>Re.base32768,beforeShutdown:()=>mr,calcPerplexity:()=>vr,calcPerplexitySimple:()=>Sr,canonicalize:()=>_r.canonicalize,cmdArgEvaluate:()=>et,cmdArgsToMergedObject:()=>ct,completeSentences:()=>Z,concatText:()=>J,countLLMTokens:()=>Mn,countRegexMatches:()=>on,createAbilityInjector:()=>h.createAbilityInjector,createEmptyReadableStream:()=>Se,createEndWithRepetitionDetector:()=>St,createError:()=>y.createError,createEventStreamTransformer:()=>ke,createHfValueFunc:()=>C.createHfValueFunc,createLRUCache:()=>Br,createYamlObjectTag:()=>Un,dateToText:()=>k,decodeCharset:()=>Ot,defaultTemplateFormat:()=>C.defaultTemplateFormat,defaultsWithConcat:()=>xr,detectCharset:()=>jt,encodeLLMTokens:()=>Ln,ensureQuoted:()=>Ve,evaluateExpression:()=>tt,expandConfig:()=>Jn,expandEnv:()=>C.expandEnv,expandObjEnv:()=>C.expandObjEnv,expandPath:()=>nr,expandPathInObject:()=>ir,expandPaths:()=>rr,extNameLevel:()=>Te.extNameLevel,extractCodeBlock:()=>Lr.extractCodeBlock,fileIsExists:()=>xt,filterValidFnScope:()=>wt,findIndexNonEmptyFrom:()=>ae,findPort:()=>ln.findPort,formatISO:()=>w.formatISO,formatTextWithSpace:()=>jn,getAllEnumKeys:()=>Ne,getConfigFileNames:()=>Xt,getConfigs:()=>Gt,getEnvVairables:()=>C.getEnvVairables,getFileMetaInfo:()=>Lt,getHashAlgoBySize:()=>Mt,getKeysPath:()=>bt,getLLMTokenizer:()=>_n,getMultiLevelExtname:()=>Te.getMultiLevelExtname,getPackageDir:()=>hn,getRealFilepath:()=>It,getResponseErrorReadableStream:()=>ve,getXDGConfigs:()=>tr,hasDirectoryIn:()=>yn,hash:()=>Re.hash,hashFile:()=>_t,hashObject:()=>Re.hashObject,hashStream:()=>Re.hashStream,initShutdown:()=>pr,isIdentifier:()=>Xe,isLangUsingSpaces:()=>se,isListItemString:()=>ne,isModelNameMatched:()=>Oe,isPathIdentifier:()=>We,isPunctuationChar:()=>ie,isQuoted:()=>Ue,isRegExp:()=>En,isSameString:()=>Kn,isSectionString:()=>ee,isSentenceEnding:()=>Y,isSepLineString:()=>re,isStrWrapped:()=>Ke,isSubdirectory:()=>pn,isTitleString:()=>te,isValidFilename:()=>Te.isValidFilename,isValidFilepath:()=>Te.isValidFilepath,isWebStream:()=>ye,joinSplitWords:()=>Tr,jsonFilterToWhere:()=>Zt,jsonToMarkdownStr:()=>en,loadAIConfig:()=>er,loadConfig:()=>Yn,loadConfigFile:()=>Qn,loadFileFromPaths:()=>Rt,loadTextFromPaths:()=>Ct,lrucache:()=>Xr,matchUrlProtocol:()=>Qt,memoize:()=>un,mergeArray:()=>Rr,messagesToText:()=>T,mimeType:()=>Ft.mimeType,normalizePath:()=>vn,paramsSizeToScaleStr:()=>Jt,parseCommand:()=>ht,parseDateFormat:()=>g.parse,parseISO:()=>w.parseISO,parseJsJson:()=>mt,parseJsJsonSimpleSync:()=>pt,parseObjectArguments:()=>at,parseYaml:()=>Bt.parseYaml,prependNewlineIfMultiline:()=>Or,pruneSubdirectories:()=>wn,pruneSubdirectoriesInPlace:()=>bn,quoteStr:()=>He,readFilenamesRecursiveSync:()=>Nt,readTextFileChunks:()=>Fn,readTextFileChunksEx:()=>Bn,readableFromAsyncIterable:()=>xe,registerCoreTools:()=>Gr,registerYamlTag:()=>Bt.registerYamlTag,removeMarkdownBold:()=>ce,removeMarkdownBoldAndItalic:()=>le,removeMarkdownItalic:()=>ue,replaceWithPlaceholder:()=>Ze,restoreFromPlacehoders:()=>Qe,sanitizeFilename:()=>Te.sanitizeFilename,sanitizeFilepath:()=>Te.sanitizeFilepath,saveConfigFile:()=>Wt,scaleStrToParamsSize:()=>Yt,shutdown:()=>hr,simplifyObjectArguments:()=>lt,simplifyResult:()=>ut,sleep:()=>me.sleep,sortedValues:()=>O,splitChunks:()=>Xn,splitParagraph:()=>fe,splitSentence:()=>H,splitWords:()=>Cr,stringifyYaml:()=>Bt.stringifyYaml,stripConsoleColor:()=>kn,textToDate:()=>E,textify:()=>Ir,throwError:()=>y.throwError,toDate:()=>w.toDate,toDateTime:()=>S,toRegExp:()=>m.toRegExp,trimStartOfStreamHelper:()=>$e,truncTo:()=>de,truncateByToken:()=>zn,truncateToTokenLimit:()=>Dn,truncateToTokenLimitEx:()=>qn,uuid:()=>Re.uuid,wait:()=>pe,wrapFlagValue:()=>Ge,xxhash:()=>Re.xxhash,xxhash32:()=>Re.xxhash32,xxhash64:()=>Re.xxhash64,xxhashAsStr:()=>Re.xxhashAsStr,yieldExec:()=>me.yieldExec}),module.exports=(e=f,c(n({},"__esModule",{value:!0}),e));var d=(()=>"undefined"==typeof document?new URL(`file:${__filename}`).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href)();u(f,require("@isdk/tool-func"),module.exports),u(f,require("@isdk/tool-rpc"),module.exports),u(f,require("@isdk/tool-event"),module.exports);var h=require("custom-ability"),m=require("util-ex"),p=.618,y=require("@isdk/common-error"),g=require("date-fns"),w=require("date-fns"),b="MMMM d, y 'at' h:m:s b 'GMT'x";function v(e){return e&&(b=e),b}function S(e){let t;try{"string"==typeof e?t=(0,g.parseISO)(e):"number"==typeof e?t=new Date(e):e instanceof Date&&(t=e)}catch(e){console.error(e)}return t}function E(e,t=b){return(0,g.parse)(e,t,new Date)}function k(e,t=b){return(0,g.format)(e,t)}var $=["stop","length","content_filter","tool_calls","function_call","abort","error","other",null],A=["human","ai","generic","system","tool"],x=["user","assistant","system","tool"],R="陌生人";function T(e){let t="";for(const n of e)if(n.content){t+=n.role.toLowerCase()+":";let e=n.createdAt;if(e){const n=S(e);n&&(t+=" ["+k(n)+"]")}t+=" "+n.content+"\n"}return t}var C=require("@isdk/template-engines");function O(e){return Object.keys(e).sort().map(t=>e[t])}var N=class extends C.StringTemplate{static from(e){return new this(e)}constructor(e){super(e)}_initialize(e){e&&(e.suffix&&(this.suffix=e.suffix),e.exampleSeparator&&(this.exampleSeparator=e.exampleSeparator),e.prefix&&(this.prefix=e.prefix),e.examplePrompt&&(this.examplePrompt=e.examplePrompt instanceof C.StringTemplate?e.examplePrompt:C.StringTemplate.from(e.examplePrompt)),e.examples&&(this.examples=e.examples)),this.prefix||(this.prefix=""),this.exampleSeparator||(this.exampleSeparator="\n\n"),this.suffix||(this.suffix="")}async _format(e){const t=[];for await(const e of this.examples)if(this.examplePrompt){const n=await this.examplePrompt.format(e);t.push(n)}else if("string"==typeof e)t.push(e);else if(e){const n=O(e);n.length>0&&t.push(...n)}const n=[this.prefix,...t,this.suffix].join(this.exampleSeparator),r=this.templateFormat;return await C.StringTemplate.format({template:n,data:e,templateFormat:r})}toJSON(e=this){const t=super.toJSON(e);return e.suffix&&(t.suffix=e.suffix),e.exampleSeparator&&(t.exampleSeparator=e.exampleSeparator),e.prefix&&(t.prefix=e.prefix),e.examplePrompt&&(t.examplePrompt=e.examplePrompt),e.examples&&(t.examples=e.examples),t}};function I(e){return(t=e)&&"function"==typeof t[Symbol.iterator]?async function*(e){const t=e[Symbol.iterator]();let n;try{for(;;){n=!1;const e=t.next();if(n=!0,e.done)return n=!1,await e.value;yield await e.value}}finally{n&&await(t.return?.().value)}}(e):e;var t}C.StringTemplate.register(N,{name:"fewshot",aliases:["few_shot"]});var _=!1;(async function(){let e=!1,t=!1;try{for await(const t of function*(){try{yield Promise.reject()}finally{e=!0}}())throw new Error("impossible")}catch{t=!0}return t&&e})().then(e=>{_=e});var L=class{constructor(e,t){this.initialize(e,t)}initialize(e,t){const n=t?.maxLength;var r;n>0&&(this.maxLength=n),void 0!==t?.threshold&&(!0===t.threshold?this.threshold=.5:!1!==t.threshold&&(this.threshold=t.threshold)),this.examples=(r=e,_?r:I(r))}selectExample(e,t){if(void 0===t||t<=this.threshold)return e}async*selectExamples(e=this.examples){let t=this.maxLength||1/0;for await(const n of e){const e="number"==typeof this.threshold?Math.random():void 0;if(this.selectExample(n,e)){if(--t<0)break;yield n}}}async*[Symbol.asyncIterator](){yield*this.selectExamples()}},M=require("@isdk/detect-text-language"),j="@",D=/(\S.+?[.!?])(?=\s+|$)|(\S.+?)(?=[\n]|$)/g,q=/([A-Z][a-z]{1,2}\.)\s(\w)/g,z=/(\.[a-zA-Z]\.)\s(\w)/g,P=new RegExp("([A-Z][a-z]{1,2}\\.)"+j+"(\\w)","g"),F=new RegExp("(\\.[a-zA-Z]\\.)"+j+"(\\w)","g"),B=/(```)([\s\S]*?)(```)/g,X=">>>CODE_BLOCK<<<",G=/([*_`]{1,3})(\S.*?\S)\1/,W=">>> INLINE_BLOCK ",U=/>>> INLINE_BLOCK (\d+) <<</,K=1e4;function V(e,t,n){const r="$1"+t+"$2";let i=e;for(let e=0;e<n.length;e++)i=i.replace(n[e],r);return i}function H(e,{best:t=!0,completeSentence:n,isMarkdown:r,ignoreEmptyLine:i}={}){const o=[],s=[];let a,c=0;for(;c++<K&&(a=B.exec(e));){const t=a[0];o.push(t),e=e.replace(t,"\n"+X+(o.length-1)+"\n")}for(c=0;c++<K&&(a=G.exec(e));){const t=a[0];s.push(t),e=e.replace(t,W+(s.length-1)+" <<<")}if(r){const t=e.split("\n");for(let e=0;e<t.length;e++){const n=t[e];te(n,{isMarkdown:r,nextLine:t[e+1]})&&(o.push(n),t[e]=X+(o.length-1))}e=t.join("\n")}const u=(e=(e=(e=(e=(e=e.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 l=[];for(let e=0;e<u.length;e++){let n=u[e].trimEnd();if(!n){!r&&i||l.push("");continue}if(n.startsWith(X)){l.push(o[Number(n.slice(X.length))]);continue}if(r&&te(n,{isMarkdown:r,nextLine:u[e+1]})){l.push(n);continue}if(!t){l.push(n);continue}let a=V(n,j,[q,z]),c=Array.from(a.matchAll(D)),f=[];if(c.length)for(let e=0;e<c.length;e++)f.push(V(c[e][0]," ",[P,F]));else f.push(n);l.push(...f.map(e=>oe(s,e)))}return n&&(l=Z(l,{isMarkdown:r,ignoreEmptyLine:i})),l}function Z(e,{isMarkdown:t,ignoreEmptyLine:n}={}){const r=[];let i=0,o="";for(n=!t&&n;i<e.length;){let s=e[i];if(s){let a;if(n){const n=ae(e,i+1);a=ee(e[n],{isMarkdown:t,nextLine:-1===n?"":e[n+1]})}else a=ee(e[i+1],{isMarkdown:t,nextLine:e[i+2]});Q(s,{isMarkdown:t,nextLine:e[i+1]})||""===e[i+1]||a?(o&&(s=J(o,s),o=""),r.push(s)):(o&&(s=J(o,s)),o=s)}else n||r[r.length-1]&&r.push(s);i++}return o&&r.push(o),r}function Q(e,t){return Y(e)||ee(e,t)}function J(e,t){const n=e+" "+t,r=(0,M.detectTextLanguage)(n,{isoCode:!0});return r&&!se(r)?(ie(e)&&(e+=" "),t=e+t):t=e.endsWith("-")?(e=e.slice(0,-1))+t:n,t}function Y(e){if(!e)return!1;return/(([.。!!??]\s*['"”’]?)|```)\s*$/.test(e)}function ee(e,t){let n=te(e,t);return n||(n=ne(e)),n||(n=re(e)),n}function te(e,t){if(!e)return null;let n=/^\s*第?\s*[壹贰叁肆伍陆柒捌玖拾一二三四五六七八九十百千萬万\d]+\s*([章節节编回部篇卷幕场場辑集段册冊期片題]|片段|段落|篇[章目]|小[节節]|(子)?部分|卷[册冊]|[单單]元|章[节節回]|[.、])[ \t]*(?<title>.*)(?=\n|$)/.exec(e);if(n||(n=/^\s*(Chapter|Book|Article|Part|Paragraph|Subsection|Subpart|Volume|Episode|Issue|Unit|Section|Segment|Act|Scene)\s*\d+.*(?=\n|$)/i.exec(e)),!n&&t?.isMarkdown){n=/^[ \t]{0,3}(#+)\s+(?<title>\S.*)$/.exec(e);const r=/^[ \t]{0,3}([-=]+)(?=\n|$)/;!n&&t.nextLine&&!r.test(e)&&/^[ \t]{0,3}\S/.test(e)&&r.test(t.nextLine)&&(n=/^\s*(?<title>.*)(?=\n|$)/.exec(e))}return n}function ne(e){return/^\s*([*+-]|\d+[.、])\s*(?<item>.*)(?=\n|$)/.exec(e)}function re(e){return/^[-=_]{3,}$/.exec(e)}function ie(e){return/[。!??,、;;::'""“”‘’~~《》<>〈〉【】(){}【】\[\]\(\)…·]$/.test(e)}function oe(e,t){let n,r=0;for(;r++<K&&(n=U.exec(t));){const r=Number(n[1]);t=t.replace(n[0],e[r])}return t}function se(e){return!["zh","ja","th","lo","ta","ko"].includes(e)}function ae(e,t=0){for(let n=t;n<e.length;n++){const t=e[n];if(null!=t&&""!==t)return n}return-1}function ce(e,t){const n=/(?!\\)([*_])\1(?![ \t]|\1)(.+?)(?<!\\)\1{2}/;let r;for(;(r=n.exec(e))&&(e=e.slice(0,r.index)+r[2]+e.slice(r.index+r[0].length),!t););return e}function ue(e,t){const n=/(?!\\)([*_])(?![ \t]|\1)(.+?)(?<!\\)\1/;let r;for(;(r=n.exec(e))&&(e=e.slice(0,r.index)+r[2]+e.slice(r.index+r[0].length),!t););return e}function le(e,t){return e=ue(e=ce(e,t),t)}function fe(e,t){const n=[],r=[],i=e.split("\n");for(let e=0;e<i.length;e++){let o=i[e];const s=0===o.trim().length;s||te(o,{...t,nextLine:i[e+1]})?(r.length&&n.push([...r]),r.length=0,s||r.push(o)):r.push(o)}return r.length&&n.push([...r]),n}function de(e,t=2,n=.5){const r=10**t;return Math.trunc((e+Number.EPSILON+n/r)*r)/r}var he=require("@isdk/util"),me=require("@isdk/util"),pe=he.sleep;function ye(e){return e instanceof ReadableStream||e instanceof WritableStream}var ge=600,we=601,be=class extends y.BaseError{constructor(e,t=ge){super(e,500)}};function ve(e){if(e){const t=e.getReader();return new ReadableStream({async start(e){const{done:n,value:r}=await t.read();if(!n){const t=(new TextDecoder).decode(r);e.error(new be(`Response error: ${t}`,we))}}})}return new ReadableStream({start(e){e.error(new be("Response error: No response body",we))}})}function Se(){return new ReadableStream({start(e){e.close()}})}var Ee=require("eventsource-parser");function ke(e){const t=new TextDecoder;let n;return new TransformStream({async start(t){n=(0,Ee.createParser)({onEvent:n=>{if("data"in n&&"[DONE]"===n.data||"done"===n.event)t.terminate();else if("data"in n){const r=e?e(n.data,{event:n.event}):n.data;r&&t.enqueue(r)}}})},transform(e){n.feed(t.decode(e))}})}function $e(){let e=!0;return t=>(e&&(t=t.trimStart())&&(e=!1),t)}function Ae(e,t){if(!e.ok)return ve(e.body);let n=e.body||new ReadableStream({start(e){e.close()}});return n instanceof ReadableStream||(n=ReadableStream.from(n)),n.pipeThrough(ke(t))}function xe(e){let t=e[Symbol.asyncIterator]();return new ReadableStream({async pull(e){const{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(e){await(t.return?.(e))}})}var Re=require("@isdk/hash"),Te=require("@isdk/util"),Ce=require("util-ex");function Oe(e,t){if("string"!=typeof e)throw new y.CommonError("modelName must be a string","isModelNameMatched",y.ErrorCode.InvalidArgument);switch(typeof t){case"string":if((0,Ce.isRegExpStr)(t)){const n=(t=(0,Ce.toRegExp)(t)).exec(e);if(n)return n}else if(e.toLowerCase()===t.toLowerCase())return t;break;case"object":if(Array.isArray(t)){for(const n of t)if("string"==typeof n){if((0,Ce.isRegExpStr)(n)){const r=(t=(0,Ce.toRegExp)(n)).exec(e);if(r)return r}else if(e.toLowerCase()===n.toLowerCase())return n}else if(n instanceof RegExp){const t=n.exec(e);if(t)return t}else if("function"==typeof n){const t=n.call(this,e);if(t)return t}}else if(t instanceof RegExp){const n=t.exec(e);if(n)return n}break;case"function":const n=t.call(this,e);if(n)return n}}function Ne(e){return Object.keys(e).filter(e=>Number.isNaN(Number(e)))}var Ie=require("lodash-es"),_e=require("util-ex"),Le=Symbol("CMD_ARG_PROCESSOR_RESULT"),Me=Symbol("UNRESOLVED"),je=Symbol("flag"),De=(e=>(e.EOF="EOF",e.COMMA="COMMA",e.ASSIGN="ASSIGN",e.L_PAREN="L_PAREN",e.R_PAREN="R_PAREN",e.L_BRACKET="L_BRACKET",e.R_BRACKET="R_BRACKET",e.L_BRACE="L_BRACE",e.R_BRACE="R_BRACE",e.STRING="STRING",e.IDENTIFIER="IDENTIFIER",e.RAW="RAW",e))(De||{}),qe=class{constructor(e,t){this.pos=0,this.input=e,this.delimiter=t?.delimiter??",",this.assigner=t?.assigner??"="}peekToken(){const e=this.pos,t=this.nextToken();return this.pos=e,t}nextToken(){if(this.skipWhitespace(),this.pos>=this.input.length)return{type:"EOF",value:"",start:this.pos,end:this.pos};const e=this.input[this.pos],t=this.pos;return'"'===e||"'"===e||"`"===e?this.readString(e):"("===e?(this.pos++,{type:"L_PAREN",value:"(",start:t,end:this.pos}):")"===e?(this.pos++,{type:"R_PAREN",value:")",start:t,end:this.pos}):"["===e?(this.pos++,{type:"L_BRACKET",value:"[",start:t,end:this.pos}):"]"===e?(this.pos++,{type:"R_BRACKET",value:"]",start:t,end:this.pos}):"{"===e?(this.pos++,{type:"L_BRACE",value:"{",start:t,end:this.pos}):"}"===e?(this.pos++,{type:"R_BRACE",value:"}",start:t,end:this.pos}):e===this.delimiter?(this.pos++,{type:"COMMA",value:e,start:t,end:this.pos}):e===this.assigner?(this.pos++,{type:"ASSIGN",value:e,start:t,end:this.pos}):this.readRaw()}readString(e){const t=this.pos;let n=e;for(this.pos++;this.pos<this.input.length;){const t=this.input[this.pos];if("\\"===t)n+=t,this.pos++,this.pos<this.input.length&&(n+=this.input[this.pos],this.pos++);else{if(t===e){n+=t,this.pos++;break}n+=t,this.pos++}}return{type:"STRING",value:n,start:t,end:this.pos}}readRaw(){const e=this.pos,t=["(",")","[","]","{","}",this.delimiter,this.assigner,'"',"'","`"];for(;this.pos<this.input.length;){const e=this.input[this.pos];if(t.includes(e)||/\s/.test(e))break;this.pos++}return{type:"RAW",value:this.input.substring(e,this.pos),start:e,end:this.pos}}skipWhitespace(){for(;this.pos<this.input.length&&/\s/.test(this.input[this.pos]);)this.pos++}reset(){this.pos=0}},ze="__PlacEhoLdeR_",Pe=["true","false","null","undefined","nan","infinity"],Fe=/^[$_\p{ID_Start}][$_\p{ID_Continue}]*$/u,Be=/^[$_\p{ID_Start}][$_\p{ID_Continue}]*(?:\.[$_\p{ID_Start}][$_\p{ID_Continue}]*)*$/u;function Xe(e,t){let n=e;if(t?.flagPrefix){const r=(Array.isArray(t.flagPrefix)?t.flagPrefix:[t.flagPrefix]).find(t=>e.startsWith(t));r&&(n=e.slice(r.length))}return Fe.test(n)&&!Pe.includes(n.toLowerCase())}function Ge(e,t){let n=e;const r=typeof e;return"boolean"===r?n=new Boolean(e):"string"===r?n=new String(e):"number"===r&&(n=new Number(e)),!n||"object"!=typeof n&&"function"!=typeof n||Object.defineProperty(n,je,{value:t,enumerable:!1,configurable:!0,writable:!0}),n}function We(e){return Be.test(e)&&e.split(".").every(e=>!Pe.includes(e.toLowerCase()))}function Ue(e){if("string"!=typeof e)return!1;const t=e.trim();if(t.length<2)return!1;const n=t[0];return('"'===n||"'"===n||"`"===n)&&t[t.length-1]===n}function Ke(e,t=['""',"''","{}","``"]){const n=e.trim();return t.some(e=>n[0]===e[0]&&n[n.length-1]===e[1])}function Ve(e,t='"'){return Ue(e)?e:t+e+t}function He(e){return'"'+e.replace(/(?<!\\)"/g,'\\"')+'"'}function Ze(e,t){let n=t?.startChar?Array.isArray(t.startChar)?t.startChar:[t.startChar]:['"',"'"],r=t?.endChar?Array.isArray(t.endChar)?t.endChar:[t.endChar]:n;if(n.length!==r.length)throw new Error("start and end characters must have the same length");const i=t?.placeholder??ze,o=n.every((e,t)=>e===r[t]),s=t?.placehoders??[];if(o){const t=n.map(e=>"\\"+e),r=new RegExp(`(?<!\\\\)(${t.join("|")}).*?(?<!\\\\)\\1`,"g");e=e.replace(r,e=>{const t=`${i}${s.length}`;return s.push(e),t})}else for(let t=0;t<n.length;t++){const o="\\"+n[t],a="\\"+r[t],c=new RegExp(`(?<!\\\\)${o}.*?(?<!\\\\)${a}`,"g");e=e.replace(c,e=>{const t=`${i}${s.length}`;return s.push(e),t})}return[e,s]}function Qe(e,t,n){const r=n?.placeholder??ze;return t.reduce((e,t,n)=>e.replace(new RegExp(r+n,"g"),t),e)}var Je=require("util-ex"),Ye=require("lodash-es");async function et(e){const{scope:t,options:n,rawValue:r}=e,{argProcessor:i}=n;if("function"==typeof i){const r=await i(e);if(void 0!==r){if("string"==typeof r)return await tt(r,t,n);if(r&&"object"==typeof r&&r[Le]){const[e,i,o]=r[Le];if("string"==typeof e){const r=await tt(e,t,n);return{[Le]:[r,i,o]}}}return r}}return await tt(r,t,n)}async function tt(e,t,n){const r=e.trim();if(!r)return;if(n.skipExpression)return r;const i=r.toLowerCase();if("true"===i)return!0;if("false"===i)return!1;if("null"===i)return null;if("undefined"===i)return;if("nan"===i)return NaN;if("infinity"===i)return 1/0;const o=Number(r);if(!isNaN(o)&&""!==r)return o;if(t&&void 0!==(0,Ye.get)(t,r))return(0,Ye.get)(t,r);try{const e=(0,Je.newFunction)("async expression",[],`return ${r};`,wt(t||{})),n=await e.call(null);return"function"==typeof n?r:n}catch(e){if(e instanceof ReferenceError){if(n.raiseReferenceError??n.raiseError)throw e;return n.preserveUnresolvedName?{[Me]:r}:Xe(r,n)||We(r)?void 0:r}if(n.raiseError)throw e;if(Ue(r))try{return(0,Je.newFunction)(`return ${r};`)()}catch(e){return r.substring(1,r.length-1)}return r}}var nt=class{constructor(e,t){this.lexer=e,this.options={namedExcludePositional:!0,idAsName:!0,...t}}async parse(){const e=[],t={},n={},r=new Set;let i=0;for(;;){if("EOF"===this.lexer.peekToken().type)break;const o=this.collectUntilDelimiter();if(0===o.length){e[i]=void 0,this.consumeDelimiter(),i++;continue}if(this.options.flagPrefix&&1===o.length&&"RAW"===o[0].type){const e=o[0].value,t=(Array.isArray(this.options.flagPrefix)?this.options.flagPrefix:[this.options.flagPrefix]).find(t=>e.startsWith(t));if(t&&Xe(e,{flagPrefix:this.options.flagPrefix})){if(n[e.slice(t.length)]=Ge(!0,t),"EOF"===this.consumeDelimiter())break;continue}}const{name:s,valueTokens:a,flagPrefix:c}=this.splitNamedArgument(o),u=void 0!==s,l=void 0!==c;let f,d;if(!u&&1===a.length&&"RAW"===a[0].type){const e=a[0].value;We(e)&&(f=e)}if(a.length>0){const e=a[0],t=a[a.length-1],n={isNamed:u,name:s,identifierAsName:f,rawValue:this.lexer.input.substring(e.start,t.end).trim(),tokens:a,index:i,scope:this.options.scope,options:this.options,CmdArgParser:this};d=await et(n)}let h,m,p=d,y=!1;const g=e=>e&&"object"==typeof e&&e[Me]?(y=!0,e[Me]):e;if(d&&"object"==typeof d&&(d[Le]?([p,h,m]=d[Le],p=g(p)):p=g(d)),l&&s)n[s]=Ge(p,c);else{const n=s||h,o=m?.excludePositional;n?(t[n]=p,this.options.namedExcludePositional||o||(e[i]=p,r.add(i),i++)):o||(e[i]=p,this.options.idAsName&&f&&!y&&(t[f]=p,r.add(i)),i++)}if("EOF"===this.consumeDelimiter())break}return{args:e,namedArgs:t,flags:n,namedIndices:r}}collectUntilDelimiter(){const e=[];let t=0;for(;;){const n=this.lexer.peekToken();if("EOF"===n.type)break;if("COMMA"===n.type&&0===t)break;this.isLeftBracket(n.type)&&t++,this.isRightBracket(n.type)&&(t--,t<0&&(t=0)),e.push(this.lexer.nextToken())}return e}splitNamedArgument(e){if(e.length>=2&&"RAW"===e[0].type&&"ASSIGN"===e[1].type){const t=e[0].value;if(Xe(t,{flagPrefix:this.options.flagPrefix})){let n,r=t;if(this.options.flagPrefix){n=(Array.isArray(this.options.flagPrefix)?this.options.flagPrefix:[this.options.flagPrefix]).find(e=>t.startsWith(e)),n&&(r=t.slice(n.length))}return{name:r,valueTokens:e.slice(2),flagPrefix:n}}}return{valueTokens:e}}isLeftBracket(e){return"L_PAREN"===e||"L_BRACKET"===e||"L_BRACE"===e}isRightBracket(e){return"R_PAREN"===e||"R_BRACKET"===e||"R_BRACE"===e}consumeDelimiter(){const e=this.lexer.peekToken();return"COMMA"===e.type&&this.lexer.nextToken(),e.type}},rt=require("lodash-es");async function it(e){const{isNamed:t,rawValue:n,options:r}=e;if(!r?.isInternal&&!t&&n.startsWith("|")){const e=new nt(new qe(n,{...r,delimiter:":"}),{...r,isInternal:!0}),{args:t,namedArgs:i}=await e.parse(),o={...i};for(const e of t)"string"==typeof e&&e.startsWith("|")?o.items=e.split("|").filter(Boolean):"number"==typeof e?o.maxPick=e:"random"===e||"ai"===e?o.type=e:"string"==typeof e&&e&&(o.items?o.separator||(o.separator=e):o.items=e.split("|").filter(Boolean));return{[Le]:[o,"choice",{excludePositional:!0}]}}}async function ot(e){const{scope:t,options:n,rawValue:r}=e,i={...(0,rt.omitBy)(t||{},(e,t)=>!t||"_"===t[0]||"function"==typeof e),...n?.templateData},o=await C.StringTemplate.formatIf({template:r,data:i,templateFormat:n?.templateFormat});if(void 0!==o&&o!==r){const e="string"==typeof o?o.trim():o,t="string"!=typeof e||Ue(e)?e:JSON.stringify(e);return{[Le]:[t]}}}async function st(e){let t=await it(e);return void 0===t&&(t=await ot(e)),t}async function at(e,t,n){if(!e||!e.trim())return;const r=new qe(e,n),i=new nt(r,{...n,scope:t});return ut(await i.parse(),n)}function ct(e,t){const n={...e.namedArgs};return e.args.forEach((r,i)=>{if(void 0!==r||i in e.args){if(t?.excludeAutoNamedFromPositional&&e.namedIndices.has(i))return;n[i]=r}}),n}function ut(e,t){const n=t?.simplify;if(!1===n)return ct(e,t);const r={singleValue:!0,identicalPairSingular:!0,purePositionalAsArray:!0,mode:"auto"},i="object"==typeof n?{...r,...n}:r,{args:o,namedArgs:s,flags:a}=e,c=i.mode||"auto";let u,l=!1;if("map"===c){const e={args:o,namedArgs:s};return a&&Object.keys(a).length>0&&(e.flags=a),e}if("array"===c)u=[...o],l=!0,Object.defineProperty(u,"namedArgs",{value:{...s},enumerable:!1,writable:!0,configurable:!0});else if("object"===c)u=ct(e,t),l=!0;else{const n=ct(e,t),r=Object.keys(n),a=Object.keys(s);if(i.identicalPairSingular&&2===r.length&&1===a.length){if("0"in n||0 in n){const e=a[0];n[0]===n[e]&&(u=n[0],l=!0)}}l||0!==a.length||(i.singleValue&&1===o.length?(u=o[0],l=!0):i.purePositionalAsArray&&(u=o.filter((e,t)=>t in o),l=!0)),l||(u=n)}return null==u||"object"!=typeof u&&"function"!=typeof u||Object.keys(a).length>0&&Object.defineProperty(u,"flags",{value:{...a},enumerable:!1,writable:!0,configurable:!0}),u}function lt(e){if(e&&!Array.isArray(e)&&"object"==typeof e){const t=Object.entries(e),n=Object.keys(e);if(1===t.length&&void 0!==e[0])e=e[0];else if(n.every(e=>!isNaN(parseInt(e))))e=n.sort((e,t)=>parseInt(e)-parseInt(t)).map(t=>e[t]);else if(2===t.length&&("0"===t[0][0]||"0"===t[1][0])){const n="0"===t[0][0]?0:1,r=1-n;t[n][1]===t[r][1]&&(e=t[n][1])}}return e}function ft(e){for(let t=1;t<e.length;t++)if(e[t]<=e[t-1])return!1;return!0}function dt(e){let t;if(e&&!Array.isArray(e)&&"object"==typeof e){const n=Object.entries(e),r=Object.keys(e),i=r.filter(e=>!isNaN(parseInt(e)));if(1===n.length)t=void 0!==e[0]?{args:[e[0]]}:{args:[],namedArgs:e};else if(r.every(e=>!isNaN(parseInt(e)))&&ft(r.map(e=>parseInt(e))))t={args:Object.values(e)};else if("0"===i[0]&&ft(i.map(e=>parseInt(e)))){const e=n.filter(([e,t])=>isNaN(parseInt(e))),r=n.filter(([e,t])=>!isNaN(parseInt(e))).map(([e,t])=>t);let i=0;const o=[];for(;i<e.length&&e[i][1]===r[i];)o.push(i),i++;for(;o.length;)e.splice(o.pop(),1);t={args:r,namedArgs:Object.fromEntries(e)}}else t={args:[],namedArgs:e}}else t={args:[]};return Array.isArray(e)?t={args:e}:(!t||void 0===t.args||0===t.args.length&&void 0===t.namedArgs)&&(void 0!==e&&"object"!=typeof e?t={args:[e]}:t&&void 0!==t.args||(t={args:void 0===e?[]:[e]})),t}async function ht(e,t,n){const r=e.match(/^([^(]+)(?:\((.*)\))?$/);if(!r){if(n?.raiseError)throw new Error("Invalid command format");return}const[,i,o]=r;let s,a;if(o){const e=new qe(o,n),r=new nt(e,{...n,scope:t}),i=await r.parse();a=i.flags,s=ut(i,n)}const c={command:i.trim(),args:s};return a&&Object.keys(a).length>0&&(c.flags=a),c}async function mt(e,t){if(t&&(t=wt(t)),t&&(e=e.trim()).startsWith("{")&&e.endsWith("}")){return await at(e.slice(1,-1),t,{assigner:":",excludeAutoNamedFromPositional:!0})}return pt(e,t)}function pt(e,t){if(t&&(t=wt(t)),t){const n=Object.keys(t);if(n.length){const r=Object.values(t);let i=0;for(;i++<100;)try{return(0,_e.newFunction)("expression",n,`return ${e}`)(...r)}catch(e){if(!(e instanceof ReferenceError))throw e;{const t=/(.+)\s+is not defined/.exec(e.message);if(!t)throw e;n.push(t[1]),r.push(void 0)}}}}return(0,_e.newFunction)("expression",[],`return ${e}`)()}var yt=/^[a-zA-Z_$][0-9a-zA-Z_$.]*$/,gt=e=>yt.test(e);function wt(e){if(e){const t=Object.keys(e),n=t.length,r=t.filter(t=>gt(t)&&null!==e[t]);if(n===r.length)return e;if(r.length)return e=(0,Ie.pick)(e,r)}}function bt(e){return e?vt(e,[],{dot:""}):[]}function vt(e,t,{dot:n=".",visited:r=new Set}={}){return r.has(e)?[t.join("")]:Array.isArray(e)?(r.add(e),e.flatMap((e,n)=>vt(e,[...t,`[${n}]`],{dot:".",visited:r}))):(i=e)&&i.constructor===Object?(r.add(e),Object.entries(e).flatMap(([e,i])=>vt(i,[...t,n+e],{dot:".",visited:r}))):[t.join("")];var i}function St(e){if(e<2)throw new y.CommonError("repetitionThreshold must be greater than 1","createEndWithRepetitionDetector",y.ErrorCode.InvalidArgument);const t=new RegExp(`([\\S\\s]+)(\\1{${e-1},})$`);return function(e){return t.exec(e)}}var Et=l(require("path")),kt=l(require("fs")),$t=l(require("mime-type/with-db")),At=l(require("jschardet"));function xt(e){const t=kt.statSync(e,{throwIfNoEntry:!1});return t?.isFile()}function Rt(e,t,n,r){const i=r?.signal,o=r?.exclude;let s;if(Et.default.isAbsolute(e)?s=xt(e)?e:Tt(Et.default.basename(e),[Et.default.dirname(e)],{extNames:n,exclude:o,signal:i}):(t||(t=["."]),s=Tt(e,t,{extNames:n,exclude:o,signal:i})),!s)throw new y.NotFoundError(e,"loadFileFromPaths");{const e=s;s=kt.readFileSync(s),r&&(r.filepath=e)}return s}function Tt(e,t,{extNames:n,signal:r,exclude:i=[]}){let o;const s=n?n.map(t=>(0,Te.getMultiLevelExtname)(e,(0,Te.extNameLevel)(t))):void 0;"string"==typeof i&&(i=[i]);for(const a of t){if(r?.aborted)throw r.reason;const t=Et.default.resolve(a,e);if(s)for(let e=0;e<s.length;e++){const r=t+(s[e]!==n[e]?n[e]:"");if(!i.includes(r)&&xt(r)){o=r;break}}else if(!i.includes(t)&&xt(t)){o=t;break}}return o}function Ct(e,t,n,r,i){let o;"string"==typeof r?(o=r,r=void 0):o=r?.encoding;return Ot(Rt(e,t,n,r),o)}function Ot(e,t){void 0===t&&(t=jt(e)??"utf8");return new TextDecoder(t).decode(e)}function Nt(e,t){const n=[],r="string"==typeof e?[{dir:e,level:0}]:[...e.map(e=>({dir:e,level:0}))],i=new Set,o=t?.signal,s=t?.isFileMatched,a=t?.level,c=t?.resolveSymlinks??!0;let u=0;for(;r.length>0;){if(o?.aborted)throw o.reason;const e=r.pop(),t=c?It(e.dir):e.dir,l=Et.default.resolve(t);if(i.has(l))continue;i.add(l);const f=kt.statSync(t,{throwIfNoEntry:!1});if(f?.isDirectory()){u=e.level+1;const i=kt.readdirSync(t,{withFileTypes:!0});for(let e=0;e<i.length;e++){let o=i[e],l=Et.default.join(t,o.name);const f=l;if(o.isSymbolicLink()){const e=Et.default.dirname(l);if(l=kt.readlinkSync(l),l=Et.default.resolve(e,l),o=kt.statSync(l,{throwIfNoEntry:!1}),!o)continue}if(o.isDirectory())(!a||u<a)&&(s&&!s(l,o)||r.push({dir:l,level:u}));else if(o.isFile()&&(!s||s(l,o))){const e=c?l:f;n.includes(e)||n.push(e)}}}}return n}function It(e){const t=kt.lstatSync(e,{throwIfNoEntry:!1});return t?.isSymbolicLink()&&(e=kt.readlinkSync(e)),e}async function _t(e,t){const n=ReadableStream.from(kt.createReadStream(e));return(0,Re.hashStream)(n,t)}async function Lt(e){const t=Et.default.basename(e);e=Et.default.resolve(e);const n=await kt.promises.stat(e),r=n.mtime,i=n.ctime,o=n.size,s=Mt(o),a=await _t(e,{hashAlgo:s}),c=$t.default.lookup(e);return{name:t,mtime:r,ctime:i,size:o,hash:Re.HashAlgorithm[s]+":"+a,mimeType:c,id:"file://"+e}}function Mt(e){let t=Re.HashAlgorithm.xxhash;return e<=2048?t=Re.HashAlgorithm.xxhash32:e<=1048576?t=Re.HashAlgorithm.xxhash64:e<=10485760?t=Re.HashAlgorithm.xxhash128:e>10485760&&(t=Re.HashAlgorithm.sha512),t}function jt(e,t){return At.default.detect(e,t).encoding}var Dt=require("fs"),qt=l(require("path")),zt=require("@isdk/util"),Pt=require("yaml-types"),Ft=require("mime-type/with-db"),Bt=require("@isdk/util");function Xt(e,t){const n=[],r=t?.after,i=t?.exclude?"string"==typeof t.exclude?[t.exclude]:t.exclude:void 0,o=t?.extensions?"string"==typeof t.extensions?[t.extensions]:t.extensions.map(e=>e.startsWith(".")?e:"."+e):[".yml",".yaml",".json"];return(0,zt.traverseFolderSync)(e,(e,t)=>{if(i?.includes(e)||!t.isFile())return;const s=qt.default.extname(e),a=(0,Dt.statSync)(e);if(o.includes(s)){if(r?.hasOwnProperty(e)&&a.mtimeMs<=r[e])return;n.push(e)}}),n}function Gt(e,t){return Xt(e,t).map(e=>zt.ConfigFile.loadSync(e)).filter(e=>void 0!==e)}function Wt(e,t,n=1){return zt.ConfigFile.saveSync(e,t,{extLevel:n})}function Ut(e){e instanceof Date&&(e=e.toISOString());return function(e,t){return e?`'${t}'`:String(t)}("string"==typeof e,e)}function Kt(e,t){return e.map(e=>Zt(e,t)).join(" AND ")}function Vt(e,t){return e.map(e=>Zt(e,t)).join(" OR ")}function Ht(e,t){const n=[];return Object.keys(t).forEach(r=>{const i=t[r];switch(r){case"$lt":case"<":n.push(`${e} < ${Ut(i)}`);break;case"<=":case"$lte":n.push(`${e} <= ${Ut(i)}`);break;case"$gt":case">":n.push(`${e} > ${Ut(i)}`);break;case"$gte":case">=":n.push(`${e} >= ${Ut(i)}`);break;case"$ne":case"!=":n.push(`${e} != ${Ut(i)}`);break;case"=":case"$eq":n.push(`${e} = ${Ut(i)}`);break;case"$in":n.push(`${e} IN (${i.map(e=>Ut(e)).join(", ")})`);break;case"$nin":n.push(`${e} NOT IN (${i.map(e=>Ut(e)).join(", ")})`);break;case"$regex":n.push(`${e} REGEXP '${i.source}'`);break;case"$like":n.push(`${e} LIKE '${i}'`);break;case"$nlike":n.push(`${e} NOT LIKE '${i}'`);break;case"$glob":n.push(`${e} GLOB '${i}'`);break;case"$nglob":n.push(`${e} NOT GLOB '${i}'`);break;default:throw new Error(`Unsupported condition operator: ${r}`)}}),n.join(" AND ")}function Zt(e,t){const n=[];if("function"!=typeof t&&(t=e=>e),Array.isArray(e))n.push(Kt(e,t));else for(const[r,i]of Object.entries(e))if("$and"===r)n.push(`(${Kt(e[r],t)})`);else if("$or"===r)n.push(`(${Vt(e[r],t)})`);else{const e=typeof i;if(null==i)n.push(`${t(r)} IS NULL`);else if(i instanceof Date)n.push(`${t(r)}='${i.toISOString()}'`);else if("object"!==e||Array.isArray(i))if("string"===e)n.push(`${t(r)}='${i}'`);else{if("number"!==e&&"boolean"!==e)throw new Error(`Unsupported value type for key ${r}`);n.push(`${t(r)}=${i}`)}else n.push(Ht(t(r),i))}return n.length>1?n.join(" AND "):n[0]}function Qt(e){const t=e.indexOf("://");if(t>0)return e.substring(0,t)}function Jt(e,t=0){let n,r=e*10**t;return e>=1e12?(r=Math.round(r/1e12),n="T"):e>=1e9?(r=Math.round(r/1e9),n="B"):e>=1e6?(r=Math.round(r/1e6),n="M"):e>=1e3?(r=Math.round(r/1e3),n="K"):(r=Math.round(r),n=""),r/=10**t,r.toFixed(t)+n}function Yt(e){const t=e.match(/^\s*[+]?(\d+(?:[.]\d+)?)\s*([TBMK])?\s*$/i);if(!t)throw new y.CommonError("Invalid formatted parameter size string.","scaleToSize",y.ErrorCode.InvalidArgument);const n=parseFloat(t[1]),r=t[2]?.toLowerCase();switch(r){case"t":return 1e12*n;case"b":return 1e9*n;case"m":return 1e6*n;case"k":return 1e3*n;default:return n}}function en(e,t){const n=t?.level||0,r=t?.visiting||new Set,i=t?.objectTag||"*",o=t?.arrayTag||"-",s=!0===t?.title?"name":t?.title;let a=[];const c=" ".repeat(2*n);if(null!=e){if("object"!=typeof e)return JSON.stringify(e);r.has(e)?a=["[Circular]"]:(r.add(e),a=Array.isArray(e)?e.map(t=>o+u(t,e)):Object.entries(e).map(([t,n])=>i+" `"+t+"`:"+u(n,e)))}else a=["null"];return a.length?c+a.join("\n"+c):"";function u(e,t){const i=null!=e&&"object"==typeof e;let o="";return s&&"string"==typeof s&&i&&e[s]&&"string"==typeof e[s]&&(o=" "+e[s],delete e[s]),(i?o+"\n":" ")+en(e,{level:n+1,visiting:r,parent:t})}}(0,zt.registerYamlTag)(Pt.regexp);var tn=require("@isdk/util"),nn=require("@isdk/util"),rn=require("@isdk/util");function on(e,t){const n=t.global?t:new RegExp(t.source,`${t.flags}g`);let r,i=0;for(;null!==(r=n.exec(e));)i++;return i}var sn=l(require("memoizee")),an=require("@isdk/hash"),cn=require("json-canonicalize");function un(e,t){var n;void 0!==t?.promise||!function(e){return"function"==typeof e&&"AsyncFunction"===e.constructor.name}(e)&&(!(n=e)||"object"!=typeof n&&"function"!=typeof n||"function"!=typeof n.then)||(t={promise:!0,...t}),void 0===t?.length&&(t={length:!1,...t});const r=t?.normalizer;return(0,sn.default)(e,{...t,normalizer:e=>{if(r){const t=r(e);if("string"===t)return t;t&&(e=t)}return(0,an.xxhashAsStr)((0,cn.canonicalize)(e))}})}var ln=require("@isdk/util"),fn=l(require("path")),dn=require("package-directory");function hn(e){const t=(0,dn.packageDirectorySync)({cwd:e});if(t)return t;const n=e.split(fn.default.sep);let r=n.lastIndexOf("dist");if(r>0)return n.slice(0,r).join(fn.default.sep);if(r=n.lastIndexOf("src"),r>0)return n.slice(0,r).join(fn.default.sep);throw new Error("can not find package directory")}var mn=l(require("path"));function pn(e,t){try{const n=mn.default.relative(mn.default.resolve(e),mn.default.resolve(t));return!n.startsWith("..")&&!mn.default.isAbsolute(n)}catch{return!1}}function yn(e,t){return t?.some(t=>pn(t,e))}function gn(e,t){for(const n of t)yn(n,e)||e.push(n);return e}function wn(e){const t=e.slice();return bn(t),t}function bn(e){const t=e.length;if(t<=1)return;const n=new Map,r=[];for(let i=0;i<t;i++){const t=vn(e[i]);n.has(t)||(r.push(t),n.set(t,i))}const i=[...r].sort(),o=new Set;for(let e=0;e<i.length;e++){const t=i[e];let n=!1;for(const e of o)if(pn(e,t)){n=!0;break}n||o.add(t)}let s=0;for(let n=0;n<t;n++)o.has(r[n])&&(s!==n&&(e[s]=e[n]),s++);e.length=s}function vn(e){let t=mn.default.normalize(e);return t=t.split(/[/\\]/).join(mn.default.posix.sep),t.length>1&&t.endsWith("/")&&(t=t.slice(0,-1)),t}var Sn=require("util-ex");function En(e){return(0,Sn.isRegExpStr)(e)||(0,Sn.isRegExp)(e)}function kn(e){return e.replace(/\x1B[[(?);]{0,2}(;?\d)*./g,"")}var $n=l(require("path")),An=require("url"),xn=require("@huggingface/transformers"),Rn=(0,An.fileURLToPath)(d),Tn=$n.default.dirname(Rn),Cn=$n.default.join(hn(Tn),".cache"),On=new Map,Nn={"deepseek-ai/DeepSeek-V2-Lite-Chat":"deepseek2","Qwen/Qwen2.5-0.5B":"Qwen2.5","Xenova/gpt-4":"gpt-4 / gpt-3.5-turbo / text-embedding-ada-002","Xenova/text-davinci-003":"text-davinci-003 / text-davinci-002","Xenova/gpt-3":"gpt-3","Xenova/grok-1-tokenizer":"Grok-1","Xenova/claude-tokenizer":"Claude","Xenova/mistral-tokenizer-v3":"Mistral v3","Xenova/mistral-tokenizer-v1":"Mistral v1","Xenova/gemma-tokenizer":"Gemma","Xenova/gemma2-tokenizer":"Gemma2","Xenova/llama3-tokenizer-new":"Llama 3","unsloth/Llama-3.2-1B-Instruct":"Llama 3.2","Xenova/llama-tokenizer":"LLaMA / Llama 2","Xenova/c4ai-command-r-v01-tokenizer":"Cohere Command-R","Xenova/t5-small":"T5","Xenova/bert-base-cased":"bert-base-cased"},In={deepseek2:"deepseek-ai/DeepSeek-V2-Lite-Chat","qwen2.5":"Qwen/Qwen2.5-0.5B","gpt-4":"Xenova/gpt-4","gpt-3.5-turbo":"Xenova/gpt-4","text-embedding-ada-002":"Xenova/gpt-4","text-davinci-003":"Xenova/text-davinci-003","text-davinci-002":"Xenova/text-davinci-003","gpt-3":"Xenova/gpt-3","grok-1":"Xenova/grok-1-tokenizer",claude:"Xenova/claude-tokenizer",mistral:"Xenova/mistral-tokenizer-v3",mistral3:"Xenova/mistral-tokenizer-v3",mistral1:"Xenova/mistral-tokenizer-v1",gemma:"Xenova/gemma-tokenizer",gemma2:"Xenova/gemma2-tokenizer",llama3:"Xenova/llama3-tokenizer-new",llama2:"Xenova/llama-tokenizer",llama:"Xenova/llama-tokenizer","llama3.2":"unsloth/Llama-3.2-1B-Instruct","cohere-command-r":"Xenova/c4ai-command-r-v01-tokenizer",t5:"Xenova/t5-small","bert-cased":"Xenova/bert-base-cased"};async function _n(e){let t=On.get(e);return t||(t=xn.AutoTokenizer.from_pretrained(e,{cache_dir:Cn}),On.set(e,t)),t}async function Ln(e,t="qwen2.5"){In[t]&&(t=In[t]);return(await _n(t)).encode(e)}async function Mn(e,t="qwen2.5"){return(await Ln(e,t)).length}function jn(e,t){const n=t?.capitalize??!0;let r=t?.delimiter??/[_-]/g;r instanceof RegExp&&(r.flags.includes("g")||(r=new RegExp(r.source,r.flags+"g")));let i=(e=e.replace(r," ")).split(" ").map(e=>e.trim()).filter(Boolean);return n&&(i=i.map(e=>e.charAt(0).toUpperCase()+e.slice(1))),e=i.join(" ")}async function Dn(e,t){let n,r=1984,i=!0,o=!1,s=!0,a=Mn,c=!0;if(t&&(n=t.modelId,t.size>=0&&(r=t.size),void 0!==t.corrected&&(i=t.corrected),void 0!==t.completeSentence&&(o=t.completeSentence),void 0!==t.truncLastSection&&(s=t.truncLastSection),"function"==typeof t.countLLMTokens&&(a=t.countLLMTokens),void 0!==t.bySentence&&(c=t.bySentence)),!c)throw new y.NotImplementationError("truncateToTokenLimit only implemented by sentence","truncateToTokenLimit");if(r>0){let c=await a(e,n);const u=t?.sentences??H(e,t);if(c>r)for(c=await a(u.join("\n"),n);c>r&&u.length;){const t=u.pop();if(t){if(c-=await a(t+"\n",n),o||i)e=u.join("\n");else{const n=e.lastIndexOf(t);if(-1===n)throw new y.CommonError(`Can not find sentence: ${t}`,"truncateContentToTokenLimit");e=e.slice(0,n)}if(c<=1)throw new y.CommonError(`Can not truncate content to fit within the token limit: ${r}`,"truncateContentToTokenLimit");if(c<=r&&s){const t=u[u.length-1];if(t&&ee(t)){if(c-await a(t,n)>9){const n=e.lastIndexOf(t);if(-1===n)throw new y.CommonError(`Can not find sentence: ${t}`,"truncateContentToTokenLimit");e=e.slice(0,n).trimEnd()}}}}else c--}else e=u.join("\n")}if(!e)throw new y.CommonError(`Can not truncate content to fit within the token limit: ${r}`,"truncateContentToTokenLimit");return e}async function qn(e,t){let n,r=1984,i=!0,o=Mn,s=!0;if(t&&(n=t.modelId,t.size>=0&&(r=t.size),void 0!==t.truncLastSection&&(i=t.truncLastSection),"function"==typeof t.countLLMTokens&&(o=t.countLLMTokens),void 0!==t.bySentence&&(s=t.bySentence)),!s)throw new y.NotImplementationError("truncateToTokenLimit only implemented by sentence","truncateToTokenLimit");if(r>0){const t=(e=e.slice()).join("\n");let s=await o(t,n);if(s>r)for(;s>r&&e.length;){const t=e.pop();if(t){if(s-=await o(t,n),s<=1)throw new y.CommonError(`Can not truncate content to fit within the token limit: ${r}`,"truncateContentToTokenLimit");if(s<=r&&i){const t=e[e.length-1];if(t&&ee(t)){s-await o(t,n)>9&&e.pop()}}}}}if(!e.length)throw new y.CommonError(`Empty. Can not truncate content to fit within the token limit: ${r}`,"truncateContentToTokenLimit");return e}async function zn(e,t){let n,r=1984,i=Mn;if(t&&(n=t.modelId,"function"==typeof t.countLLMTokens&&(t.size>=0&&(r=t.size),i=t.countLLMTokens)),r>0){await i(e,n)}}var Pn=l(require("fs"));async function*Fn(e,t){const n=(t={...t,completeSentence:!1,corrected:!1}).size??1984,r=t.modelId,i=t.metaInfo?.size??(await Pn.default.promises.stat(e)).size;let o=Math.trunc(i/2);if(o<=n){let i=Ot(await Pn.default.promises.readFile(e));if(o=await Mn(i,r),o<=n)yield i;else do{const e=await Dn(i,{...t,modelId:r,size:n});yield e,i=i.slice(e.length)}while(i)}else{const i=ReadableStream.from(Pn.default.createReadStream(e)).getReader();let o="";for(;;){const{done:e,value:s}=await i.read();if(e)break;o+=Ot(s);const a=H(o,t);let c=a.pop();if(c){const e=o.lastIndexOf(c);c=o.slice(e),o=o.slice(0,e)}if(o.length>=n){const e=await Dn(o,{...t,modelId:r,size:n,sentences:a});o=o.slice(e.length),yield e}for(;o.length>n;){const e=H(o,t),i=await Dn(o,{...t,modelId:r,size:n,sentences:e});o=o.slice(i.length),yield i}void 0!==c&&(o+=c)}for(;o;){const e=H(o,t),i=await Dn(o,{...t,modelId:r,size:n,sentences:e});o=o.slice(i.length),yield i}}}async function*Bn(e,t){const n=t?.size??1984,r=t?.modelId,i=t?.metaInfo?.size??(await Pn.default.promises.stat(e)).size;let o=Math.trunc(i/2);if(o<=n){let i=Ot(await Pn.default.promises.readFile(e));if(o=await Mn(i,r),o<=n)yield H(i,t);else{let e=H(i,t);do{const i=await qn(e,{...t,modelId:r,size:n});yield i,e=e.slice(i.length)}while(e.length)}}else{const i=ReadableStream.from(Pn.default.createReadStream(e)).getReader();let o="";const s=t?.completeSentence,a=t?.corrected,c=!s&&!a;let u;for(;;){const{done:e,value:s}=await i.read();if(e)break;o+=Ot(s),u=H(o,t);let a=u.pop();if(o.length>=n){const e=await qn(u,{...t,modelId:r,size:n});o=c?o.slice(e.length):u.join("\n"),u=u.slice(e.length),o=u.join("\n"),yield e}for(;o.length>n;){const e=await qn(u,{...t,modelId:r,size:n});u=u.slice(e.length),o=u.join("\n"),yield e}a&&u.push(a)}if(u)for(;u.length;){const e=await qn(u,{...t,modelId:r,size:n});u=u.slice(e.length),yield e}}}async function Xn(e,t){const n=t?.size??1984,r=t?.modelId;let i=H(e,t);const o=[];if(await Mn(e,r)<=n)o.push(i);else do{const e=await qn(i,{...t,modelId:r,size:n});o.push(e),i=i.slice(e.length)}while(i.length);return o}var Gn=require("yaml"),Wn=class{constructor(e){e&&Object.assign(this,e)}};function Un(e,t){class n extends Gn.YAMLMap{constructor(){super(...arguments),this.tag=e}toJSON(e,n){n={...n,mapAsMap:!1};const r=super.toJSON(e,n);return new t(r)}}return{tag:e,collection:"map",nodeClass:n,identify:e=>e instanceof t}}function Kn(e,t){let n=e.length===t.length;if(n){const r=(0,Re.xxhash)(e),i=(0,Re.xxhash)(t);n=r.every((e,t)=>e===i[t])}return n}var Vn=require("lodash-es"),Hn=l(require("path")),Zn=".ai";function Qn(e,t=["."]){if(Hn.default.isAbsolute(e))return Bt.ConfigFile.loadSync(e);const n=t.map(t=>Bt.ConfigFile.loadSync(Hn.default.resolve(t,e))).filter(Boolean);return(0,Vn.defaultsDeep)({},...n.reverse())}function Jn(e,t){const n={...process.env,...t};return n.HOME||(n.HOME=process.env.USERPROFILE),(0,C.expandObjEnv)(e,{processEnv:n,parsed:n})}function Yn(e,t){let n=Bt.ConfigFile.loadSync(Hn.default.resolve(t.configDir,e));n||(n={configDirs:["$XDG_BIN_HOME",t.configDir,"$HOME"],brainDir:Hn.default.join(t.dataDir,"brain"),agentDirs:[Hn.default.join(t.dataDir,"agent")],promptDirs:[Hn.default.join(t.dataDir,"prompt")],chatsDir:Hn.default.join(t.dataDir,"log","chats"),inputsDir:Hn.default.join(t.dataDir,"log","inputs")});const r=tr(t);for(const[e,t]of Object.entries(r))n[e]=t;Jn(n,n);const i=n.configDirs;n.AI_CONFIG_BASENAME&&(e=n.AI_CONFIG_BASENAME);const o=Jn(Qn(e,i),n);return(0,Vn.defaultsDeep)(o,(0,Vn.omit)(n,Object.keys(r))),ir(o),o}function er(e){return Yn(Zn,e)}function tr(e){return{XDG_CONFIG_HOME:e.configDir,XDG_DATA_HOME:e.dataDir,XDG_CACHE_HOME:e.cacheDir,XDG_BIN_HOME:Hn.default.dirname(e.options.root)}}function nr(e,t){e.startsWith("~")&&(e="$HOME"+e.slice(1));return Jn(e,t)}function rr(e,t){return e.map(e=>nr(e,t))}function ir(e,t=["configDirs","brainDir","agentDirs","promptDirs","chatsDir","inputsDir"],n){for(const r of t){const t=(0,Vn.get)(e,r);if(!t)continue;let i;Array.isArray(t)&&t.length?i=rr(t,n):"string"==typeof t&&(i=nr(t,n)),i&&(0,Vn.set)(e,r,i)}}var{exit:or}=process,sr=!1,ar=!1,cr=["SIGINT","SIGTERM","exit"],ur=3e5,lr=[],fr=(e,t)=>e.forEach(e=>process.once(e,t)),dr=e=>()=>{setTimeout(()=>(console.warn(`Could not close resources gracefully after ${e}ms: forcing shutdown`),or(1)),e).unref()};async function hr(e="shutdown",t=0){if(!sr){sr=!0,"number"==typeof e&&(t=e,e="shutdown");for(const t of lr)try{await t(e)}catch(e){console.warn(`A shutdown handler failed before completing with: ${e.message||e}`)}return or(t)}console.warn(`Shutdown already in progress, ignoring [${e}] signal`)}function mr(e){if(ar||pr(),!lr.some(t=>t===e))return lr.push(e),e}function pr(){ar||(ar=!0,process.exit=e=>{sr||hr(void 0,e).then()},fr(cr,dr(ur)),fr(cr,hr))}var yr=["<BOS>","<EOS>","<PAD>","<UNK>"],gr=".,!?;?!",wr=[" ","\n","\t","▁"," "],br=["the","a","an","的","是","在"];function vr(e,t){const n=t?.exclude?function(e){const t=new Set;if(e.controlSymbols&&yr.forEach(e=>t.add(e)),e.punctuation)for(let e=0;e<gr.length;e++)t.add(gr[e]);return e.stopWords&&br.forEach(e=>t.add(e)),e.whitespace&&wr.forEach(e=>t.add(e)),Array.isArray(e.tokens)&&e.tokens.forEach(e=>t.add(e)),[...t]}(t.exclude):void 0;return n&&n.length&&(e=e.filter(e=>!n.includes(e.token.trim()))),Sr(e)}function Sr(e){if(!Array.isArray(e)||0===e.length)return;const t=e.reduce((e,t)=>e+t.probability,0);return Math.exp(-t/e.length)}var Er=require("lodash-es"),kr=/^\s*@inheritMerge\s*(?:[(]\s*(?<arg>\.start|\.end|false)[)])?/,$r=Symbol("MergeWay"),Ar={replace:0,start:1,end:2};function xr(e,...t){return(0,Er.mergeWith)(e,...t,(e,t)=>Array.isArray(e)&&Array.isArray(t)?Rr(e,t):void 0!==e&&"object"!=typeof e?e:void 0)}function Rr(e,t){let n=e[$r];return void 0===n&&(e=function(e){const t=e[0];let n=".start";if("string"==typeof t){const r=kr.exec(t);r&&(r.groups?.arg&&(n=r.groups?.arg),e=e.slice(1))}else t&&"object"==typeof t&&t.hasOwnProperty("@inheritMerge")&&(n=t["@inheritMerge"]||n,e=e.slice(1));n&&(n=n.toLowerCase());let r=Ar.start;"false"===n||"no"===n||"not"===n?r=Ar.replace:".end"===n&&(r=Ar.end);return Object.defineProperty(e,$r,{value:r,enumerable:!1}),e}(e),n=e[$r]),e=n===Ar.replace?t:n===Ar.end?e.concat(t):t.concat(e),Object.defineProperty(e,$r,{value:n,enumerable:!1}),e}function Tr(e,t=" "){return Cr(e).join(t)}function Cr(e){return e.split(/(?<=[a-z])(?=[A-Z])|(?<=\d)(?=[A-Za-z])|(?<=[A-Z])(?=[A-Z][a-z])|[\s_]+/g).filter(e=>e.length>0)}function Or(e){if("string"==typeof e){const t=e.includes("\n"),n=/^[ \t]*\r?\n/.test(e);t&&!n&&(e="\n"+e)}return e}var Nr=class{constructor(e){this.seen=new WeakSet;const t="string"==typeof e.inlineStyle?{mode:e.inlineStyle}:e.inlineStyle??{};this.options={indent:"number"==typeof e.indent?" ".repeat(e.indent):e.indent??" ",arrayPrefix:e.arrayPrefix??"-",objectPrefix:e.objectPrefix??"*",maxDepth:e.maxDepth??10,ensureNewLineForMultiline:e.ensureNewLineForMultiline??!1,stringQuoting:e.stringQuoting??"auto",inline:{mode:t.mode??"auto",threshold:t.threshold??40,spaceAfterSeparator:t.spaceAfterSeparator??!0,spaceInBraces:t.spaceInBraces??!1}}}getDataType(e){if(null===e)return"null";if(void 0===e)return"undefined";if(Array.isArray(e))return"array";const t=Object.prototype.toString.call(e).slice(8,-1).toLowerCase();return"date"===t?"date":"function"===t?"function":"symbol"===t?"symbol":t}indentText(e,t){return e.split("\n").map(e=>e.length?t+e:e).join("\n")}padSubsequentLines(e,t){const n=e.split("\n");if(n.length<=1)return e;const r=" ".repeat(t);return n[0]+"\n"+n.slice(1).map(e=>e.length?r+e:e).join("\n")}shouldQuote(e){const t=this.options.stringQuoting;if("always"===t)return!0;if("never"===t)return!1;if(""===e)return!0;if(/[:#,[\]{}"]/.test(e))return!0;const n=this.options.arrayPrefix.trim(),r=this.options.objectPrefix.trim();if(n.length&&e.startsWith(n))return!0;if(r.length&&e.startsWith(r))return!0;if(e!==e.trim())return!0;return!!["true","false","null","undefined","nan","infinity"].includes(e.toLowerCase())||e.length>0&&!isNaN(Number(e))}serializePrimitive(e){switch(this.getDataType(e)){case"null":case"undefined":case"boolean":case"number":default:return String(e);case"string":{const t=e;return this.shouldQuote(t)?`"${t.replace(/"/g,'\\"')}"`:t}case"function":return`[Function: ${e.name||"anonymous"}]`;case"symbol":return e.toString();case"date":return e.toISOString()}}serializeInline(e,t){if(t>=this.options.maxDepth)return"[Max Depth Exceeded]";const n=this.getDataType(e);if("array"===n){const n=e;if(0===n.length)return"[]";if(this.seen.has(n))return"[Circular]";this.seen.add(n);const r=[];for(const e of n){const i=this.serializeInline(e,t+1);if(null===i)return this.seen.delete(n),null;r.push(i)}this.seen.delete(n);const i=this.options.inline.spaceInBraces?" ":"",o=this.options.inline.spaceAfterSeparator?", ":",";return`[${i}${r.join(o)}${i}]`}if("object"===n){const n=e,r=Object.keys(n);if(0===r.length)return"{}";if(this.seen.has(n))return"[Circular]";this.seen.add(n);const i=[];for(const e of r){const r=n[e],o=this.serializeInline(r,t+1);if(null===o)return this.seen.delete(n),null;const s=this.options.inline.spaceAfterSeparator?": ":":";i.push(`${e}${s}${o}`)}this.seen.delete(n);const o=this.options.inline.spaceInBraces?" ":"",s=this.options.inline.spaceAfterSeparator?", ":",";return`{${o}${i.join(s)}${o}}`}const r=this.serializePrimitive(e);return r.includes("\n")?null:r}serializeArray(e,t){if(0===e.length)return"[]";if(this.seen.has(e))return"[Circular]";if(this.seen.add(e),t>=this.options.maxDepth)return"[Max Depth Exceeded]";const n=e.map(e=>{const n=this.getDataType(e),r=this.serialize(e,t+1,"object"===n),i="[]"===r||"{}"===r,o=r.startsWith("[Circular]")||r.startsWith("[Max Depth"),s=!(o||i||"{"!==r[0]&&"["!==r[0]||r.includes("\n")),a=this.options.arrayPrefix;if("array"!==n||i||o||s){const e=this.options.inline.spaceAfterSeparator,t=a.length&&!a.endsWith(" ")&&e?" ":"",n=`${a}${t}${r}`,i=r.length?n:n.trimEnd();return this.padSubsequentLines(i,a.length+t.length)}return a.length?`${a}\n${this.indentText(r,this.options.indent)}`:this.indentText(r,this.options.indent)});return this.seen.delete(e),n.join("\n")}serializeObject(e,t,n){const r=Object.keys(e);if(0===r.length)return"{}";if(this.seen.has(e))return"[Circular]";if(this.seen.add(e),t>=this.options.maxDepth)return"[Max Depth Exceeded]";const i=n?"":this.options.objectPrefix,o=r.map(n=>{const r=e[n],o=this.getDataType(r),s=this.serialize(r,t+1,!1),a="{}"===s||"[]"===s,c=s.startsWith("[Circular]")||s.startsWith("[Max Depth"),u=!(c||a||"{"!==s[0]&&"["!==s[0]||s.includes("\n")),l=!("object"!==o&&"array"!==o||a||c||u),f=i.length&&!i.endsWith(" ")?`${i} `:i,d=this.options.inline.spaceAfterSeparator;if(l){return`${`${f}${n}:`}\n${this.indentText(s,this.options.indent)}`}{const e=`${f}${n}:${d?" ":""}`,t=s.length?e+s:e.trimEnd();return this.padSubsequentLines(t,e.length)}});return this.seen.delete(e),o.join("\n")}serialize(e,t=0,n=!1){const r=this.getDataType(e);if(("array"===r||"object"===r)&&"never"!==this.options.inline.mode){const i=this.serializeInline(e,t);if(null!==i){if("always"===this.options.inline.mode||i.length<=this.options.inline.threshold){if(!("array"===r?1===e.length:1===Object.keys(e).length)||!("object"===r?0===t||n:0===t))return i}}}return"array"===r?this.serializeArray(e,t):"object"===r?this.serializeObject(e,t,n):this.serializePrimitive(e)}};function Ir(e,t){let n=new Nr(t??{}).serialize(e);return t?.ensureNewLineForMultiline&&n.includes("\n")&&!n.startsWith("\n")&&(n="\n"+n),n}var _r=require("json-canonicalize"),Lr=require("@isdk/util"),Mr={};a(Mr,{LRUCache:()=>zr.LRUCache,SecondaryCache:()=>Pr,_lrucache:()=>Fr,createLRUCache:()=>Br,lrucache:()=>Xr,registerCoreTools:()=>Gr});var jr=require("@isdk/tool-event"),Dr=require("secondary-cache"),qr=require("@isdk/tool-func"),zr=require("secondary-cache"),Pr=Dr.Cache;function Fr({key:e,value:t,options:n}={}){return void 0!==e?null===t?this.cache.del(e):void 0!==t?this.cache.set(e,t,n):this.cache.get(e):(n&&this.cache.setDefaultOptions(n),this.cache)}function Br(e,t){let n=qr.ToolFunc.get(e);return n||(n=new qr.ToolFunc(e,{func:Fr,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"}),n.cache=new Dr.Cache(t)),n}var Xr=Br("lrucache");function Gr(){jr.event.register(),Xr.register()}u(Mr,require("@isdk/tool-event")),u(f,Mr,module.exports);
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{AIArgProcessor as t,AIChatRoles as e,AIMessageTypes as s,AIStream as r,AITextGenerationFinishReasons as o,AbortError as n,AbortErrorCode as i,ActionNames as a,AlreadyExistsError as c,AlreadyExistsErrorCode as p,ArrayMergeWay as h,ArrayMergeWaySymbol as l,AsyncFeatureBits as u,AsyncFeatures as d,BaseError as f,BinarySemaphore as v,CancelableAbility as y,ChoiceArgProcessor as m,ClientEventPrefix as w,ClientToolFuncSchema as S,ClientTools as T,CommonError as E,ConfigFile as N,DEFAULT_CONFIG_NAME as C,DefaultAsyncSemaphoreCapacity as O,DefaultDateFormat as g,EnvStringTemplate as R,ErrorCode as J,EventBusName as j,EventClient as P,EventEmitter as $,EventName as b,EventServer as q,EventToolFunc as H,FStringTemplate as I,FewShotPromptTemplate as x,FilenameReservedRegex as F,FuncMetaSymbol as G,GolangStringTemplate as L,HashAlgorithm as D,IntSet as M,InternalErrorCode as A,LLM_TOKENIZER_NAMES as _,LLM_TOKENIZER_NAMES_MAP as k,LRUCache as B,NIL as V,NotFoundError as U,NotFoundErrorCode as K,NotImplementationError as Y,NotImplementedErrorCode as Z,ObjectArgsToArgsInfo as z,PASSING_SCORE as Q,PromptExampleSelector as W,RStreamErrCode as X,RateLimit as tt,ReadableStreamError as et,RemoteToolFuncSchema as st,ResClientTools as rt,ResServerTools as ot,ResponseRStreamErrCode as nt,RpcMethodsClientTool as it,RpcMethodsClientToolSchema as at,RpcMethodsServerTool as ct,RpcMethodsServerToolSchema as pt,SHUTDOWN_SIGNALS as ht,SSEChannel as lt,SSEChannelAlreadyClosedErrCode as ut,SecondaryCache as dt,Semaphore as ft,ServerToolFuncSchema as vt,ServerTools as yt,SignalGate as mt,StrangeHumanName as wt,StringTemplate as St,TaskAbortController as Tt,TemplateArgProcessor as Et,ToolAsyncCancelableBit as Nt,ToolAsyncMultiTaskBit as Ct,ToolAsyncPriorityBit as Ot,ToolFunc as gt,ToolFuncSchema as Rt,WindowsReservedNameRegex as Jt,YamlTypeBaseObject as jt,_lrucache as Pt,add as $t,assignDirs as bt,backendEventable as qt,base32768 as Ht,beforeShutdown as It,calcPerplexity as xt,calcPerplexitySimple as Ft,canonicalize as Gt,completeSentences as Lt,concatText as Dt,countLLMTokens as Mt,countRegexMatches as At,createAbilityInjector as _t,createCallbacksTransformer as kt,createEmptyReadableStream as Bt,createEndWithRepetitionDetector as Vt,createError as Ut,createEventStreamTransformer as Kt,createHfValueFunc as Yt,createLRUCache as Zt,createYamlObjectTag as zt,dateToText as Qt,decodeCharset as Wt,defaultTemplateFormat as Xt,defaultsWithConcat as te,detectCharset as ee,encodeLLMTokens as se,ensureQuoted as re,event as oe,eventClient as ne,eventServer as ie,eventable as ae,expandConfig as ce,expandEnv as pe,expandObjEnv as he,expandPath as le,expandPathInObject as ue,expandPaths as de,extNameLevel as fe,fileIsExists as ve,filterValidFnScope as ye,findIndexNonEmptyFrom as me,formatISO as we,formatTextWithSpace as Se,funcGetMeta as Te,funcWithMeta as Ee,genUrlParamsStr as Ne,getAllEnumKeys as Ce,getConfigFileNames as Oe,getConfigs as ge,getEnvVairables as Re,getFileMetaInfo as Je,getHashAlgoBySize as je,getKeysPath as Pe,getLLMTokenizer as $e,getMultiLevelExtname as be,getPackageDir as qe,getRealFilepath as He,getResponseErrorReadableStream as Ie,getXDGConfigs as xe,hasDirectoryIn as Fe,hash as Ge,hashFile as Le,hashObject as De,hashStream as Me,initShutdown as Ae,isLangUsingSpaces as _e,isListItemString as ke,isModelNameMatched as Be,isPunctuationChar as Ve,isQuoted as Ue,isRegExp as Ke,isSameString as Ye,isSectionString as Ze,isSentenceEnding as ze,isSepLineString as Qe,isStrWrapped as We,isSubdirectory as Xe,isTitleString as ts,isValidFilename as es,isValidFilepath as ss,isWebStream as rs,joinSplitWords as os,jsonFilterToWhere as ns,jsonToMarkdownStr as is,loadAIConfig as as,loadConfig as cs,loadConfigFile as ps,loadFileFromPaths as hs,loadTextFromPaths as ls,lrucache as us,makeToolFuncCancelable as ds,matchUrlProtocol as fs,memoize as vs,mergeArray as ys,messagesToText as ms,mimeType as ws,nanoid as Ss,normalizePath as Ts,paramsSizeToScaleStr as Es,parse as Ns,parseCommand as Cs,parseDateFormat as Os,parseISO as gs,parseJsJson as Rs,parseJsJsonSimpleSync as Js,parseObjectArgInfo as js,parseObjectArgumentInfos as Ps,parseObjectArguments as $s,parseObjectArgumentsAsArgInfos as bs,parseYaml as qs,pruneSubdirectories as Hs,pruneSubdirectoriesInPlace as Is,quoteStr as xs,readFilenamesRecursiveSync as Fs,readTextFileChunks as Gs,readTextFileChunksEx as Ls,readableFromAsyncIterable as Ds,registerCoreTools as Ms,registerYamlTag as As,removeMarkdownBold as _s,removeMarkdownBoldAndItalic as ks,removeMarkdownItalic as Bs,replaceWithPlaceholder as Vs,restoreFromPlacehoders as Us,sanitizeFilename as Ks,sanitizeFilepath as Ys,saveConfigFile as Zs,scaleStrToParamsSize as zs,shutdown as Qs,simplifyObjectArguments as Ws,sleep as Xs,sortedValues as tr,splitChunks as er,splitParagraph as sr,splitSentence as rr,splitWords as or,states as nr,stringify as ir,stringifyYaml as ar,stripConsoleColor as cr,textToDate as pr,throwError as hr,toDate as lr,toDateTime as ur,toRegExp as dr,trimStartOfStreamHelper as fr,truncTo as vr,truncateByToken as yr,truncateToTokenLimit as mr,truncateToTokenLimitEx as wr,uuid as Sr,v1 as Tr,v4 as Er,v5 as Nr,v6 as Cr,v7 as Or,validate as gr,version as Rr,wait as Jr,wrapEventEmitter as jr,xxhash as Pr,xxhash32 as $r,xxhash64 as br,xxhashAsStr as qr,yieldExec as Hr}from"./chunk-4FKBOPZI.mjs";import{findPort as Ir}from"./chunk-TGTHY57V.mjs";var xr=class{setApiRoot(t){this.apiRoot=t}mount(t,e,s){if(e)this.setApiRoot(e);else if(!(e=this.apiRoot))throw new Error("apiRoot is required");return this.Tools=t,this.options=s,this._mount(t,e,s)}},Fr=class extends xr{constructor(t){if(!t)throw new Error("apiRoot is required for HttpClientTransport");super(),this.setApiRoot(t)}async _mount(t,e,s){return t.setTransport(this),t.loadFrom()}async loadApis(){return this.fetch("",void 0,"get",void 0,{headers:{"Content-Type":"application/json"}})}async fetch(t,e,s,r,o){o={...this.options,...o};const n=await this._fetch(t,e,s,r,o);if(e?.stream)return n;return await this.toObject(n,e)}};import{defaultsDeep as Gr}from"lodash-es";var Lr=class extends xr{_mount(t,e,s){this.addDiscoveryHandler(e,()=>t),this.addRpcHandler(t,e,s)}start(t){return this.options&&(t=Gr(t,this.options)),this._start(t)}};import Dr from"http";import{URL as Mr}from"url";import{defaultsDeep as Ar}from"lodash-es";var _r=class extends Lr{constructor(t){super(),this.discoveryHandlerInfo=null,this.server=t?Dr.createServer(t,this.requestListener.bind(this)):Dr.createServer(this.requestListener.bind(this))}async requestListener(t,e){const{url:s,method:r}=t;if(!s)return e.statusCode=400,e.setHeader("Content-Type","application/json"),void e.end(JSON.stringify({error:"Bad Request"}));if(this.discoveryHandlerInfo&&"GET"===r&&s===this.discoveryHandlerInfo.prefix)try{const t=this.discoveryHandlerInfo.handler();e.setHeader("Content-Type","application/json"),e.statusCode=200,e.end(JSON.stringify(t)),console.log(`[HttpServerTransport] Handled GET ${s} for discovery`)}catch(t){e.statusCode=500,e.setHeader("Content-Type","application/json"),e.end(JSON.stringify({error:t.message||"Internal Server Error"}))}else this.apiRoot&&s.startsWith(this.apiRoot)?await this.handleRpcRequest(t,e):(e.statusCode=404,e.setHeader("Content-Type","application/json"),e.end(JSON.stringify({error:"Not Found"})))}addDiscoveryHandler(t,e){this.discoveryHandlerInfo={prefix:t,handler:e},console.log(`[HttpServerTransport] Mapped GET ${t} for discovery`)}addRpcHandler(t,e,s){e.endsWith("/")||(e+="/"),this.apiRoot=e,console.log(`[HttpServerTransport] Mapped RPC calls for prefix ${e}`)}async handleRpcRequest(t,e){const s=this.Tools;if(!s||!t.url)return e.statusCode=500,e.setHeader("Content-Type","application/json"),void e.end(JSON.stringify({error:"RPC handler not configured"}));const r=this.apiRoot,o=t.url.split("?")[0].substring(r.length),[n,i]=o.split("/").map(t=>void 0===t?t:decodeURIComponent(t)),a=s.get(n);if(!a)return e.statusCode=404,e.setHeader("Content-Type","application/json"),void e.end(JSON.stringify({error:`${n} Not Found`,data:{what:n}}));let c;const p=t.method;try{if("GET"===p||"DELETE"===p){const e=new Mr(t.url,`http://${t.headers.host}`).searchParams.get("p");c=e?JSON.parse(e):{}}else{const e=await this.getRequestBody(t);c=e?JSON.parse(e):{}}c._req=t,c._res=e,void 0!==i&&(c.id=i);let s=await a.run(c);a.isStream(c)?s&&"function"==typeof s.pipe?s.pipe(e):e.writableEnded:(e.setHeader("Content-Type","application/json"),e.statusCode=200,e.end(JSON.stringify(s)))}catch(t){if(console.error("Error during RPC execution:",t),e.headersSent)return;e.setHeader("Content-Type","application/json"),t.code&&"number"==typeof t.code?(e.statusCode=t.code,t.stack&&(t.stack=void 0),e.end(JSON.stringify(t))):(e.statusCode=500,e.end(JSON.stringify({error:t.message||"Internal Server Error"})))}}getRequestBody(t){return new Promise((e,s)=>{let r="";t.on("data",t=>{r+=t.toString()}),t.on("end",()=>{e(r)}),t.on("error",t=>{s(t)})})}async _start(t){const{port:e,host:s="0.0.0.0"}=Ar(t,{port:3e3});return new Promise((t,r)=>{this.server.on("error",t=>{console.error("[HttpServerTransport] Server error:",t),r(t)}),this.server.listen(e,s,()=>{const e=this.server.address(),s="string"==typeof e?e:`${e?.address}:${e?.port}`;console.log(`[HttpServerTransport] Server listening on ${s}`),t()})})}async stop(t){return new Promise((e,s)=>{if(!this.server||!this.server.listening)return e();t&&this.server.closeAllConnections(),this.server.close(t=>{if(t)return s(t);e()})})}getRaw(){return this.server}},kr=class extends Fr{async loadApis(){const t=await fetch(this.apiRoot,{headers:{"Content-Type":"application/json"}});if(!t.ok)throw new Error(`Failed to load tools from ${this.apiRoot}: ${t.statusText}`);return await t.json()}async _fetch(t,e,s,r,o){const n=["post","put","patch"];let i;s||(s=this.Tools.action||"post"),"res"===s&&(s="get"),o.headers&&o.headers["Content-Type"]||!n.includes(s)||(o.headers={"Content-Type":"application/json",...o.headers}),o?.clientId&&(o.headers||(o.headers={}),o.headers["x-client-id"]=o.clientId,delete o.clientId),e?.stream&&!o.headers.Connection&&(o.headers.Connection="keep-alive"),r?("string"!=typeof r&&(r=JSON.stringify(r)),t&&(r=t+"/"+r)):r=t,o.method=s.toUpperCase(),"get"===s||"delete"===s?i=r+Ne(e):(o.body=JSON.stringify(e),i=r),o.headers&&!n.includes(s)&&delete o.headers["Content-Type"];const a=await fetch(`${this.apiRoot}/${i}`,o);if(!a.ok){throw await this.errorFrom(t,a)}return a}async errorFrom(t,e){let s,r=e.status,o=e.statusText;if(e.body){const r=await e.text();try{const e=JSON.parse(r);e&&(e.error&&(o=e.error),e.name&&(t=e.name),e.data&&(s=e.data,s.name=t,s.what&&(s.msg=o,o=s.what)),e.message&&(o=o+":"+e.message))}catch(t){console.warn("🚀 ~ parse error body to json:",t)}}return Ut(o,t,r)}async toObject(t,e){return await t.json()}},Br=class{constructor(){this.name="sse",this.protocol="sse",this.channel=new lt,this.sessions=new Map}connect(t){const{req:e,res:s,clientId:r,events:o}=t??{};if(!e||!s)throw new Error("SSE connect requires options.req and options.res");const n=this.channel.connect(e,s,o,r),i={id:n.clientId,clientId:n.clientId,protocol:"sse",send:(t,e)=>{this.channel.publish(e,t,{clientId:n.clientId})},close:()=>this.channel.disconnect(n),raw:s};return this.sessions.set(n.clientId,i),this.onConn?.(i),e.on("close",()=>{this.sessions.delete(n.clientId),this.onDis?.(i)}),i}getSessionFromReq(t){const e=t.headers["x-client-id"];if(e){return this.sessions.get(e)}}subscribe(t,e){t.clientId&&this.channel.subscribe(t.clientId,e)}unsubscribe(t,e){t.clientId&&this.channel.unsubscribe(t.clientId,e)}publish(t,e,s){this.channel.publish(e,t,s)}onConnection(t){this.onConn=t}onDisconnect(t){this.onDis=t}},Vr=class{constructor(){this.apiRoot=""}setApiRoot(t){this.apiRoot=t}async connect(t,e){if(!this.apiRoot&&!t.startsWith("http"))throw new Error("SseClientPubSubTransport requires apiRoot to be set or a full URL to be provided.");const s={...e};let r=t.startsWith("http")?t:`${this.apiRoot}/${t}`;if(s){const t=Ne(s,!0);t&&(r+=(r.includes("?")?"&":"?")+t)}const o=new EventSource(r),n=new Promise(t=>{const e=s=>{o.removeEventListener("welcome",e);const r=s.data,n=r?"string"==typeof r?JSON.parse(r):r:void 0;t(n)};o.addEventListener("welcome",e)}),i=(await n).clientId,a=new Map,c=(t,e)=>{const s=s=>{const r=s.data,o=r?"string"==typeof r?JSON.parse(r):r:void 0;e(o,{...s,event:t})};let r=a.get(t);r||(r=new Map,a.set(t,r)),r.set(e,s),o.addEventListener(t,s)},p=(t,e)=>{const s=a.get(t),r=s?.get(e);r&&(o.removeEventListener(t,r),s.delete(e))};return{clientId:i,protocol:"sse",get readyState(){return o.readyState},on:c,off:p,addEventListener:c,removeEventListener:p,close:()=>o.close()}}disconnect(t){return t.close()}};export{t as AIArgProcessor,e as AIChatRoles,s as AIMessageTypes,r as AIStream,o as AITextGenerationFinishReasons,n as AbortError,i as AbortErrorCode,a as ActionNames,c as AlreadyExistsError,p as AlreadyExistsErrorCode,h as ArrayMergeWay,l as ArrayMergeWaySymbol,u as AsyncFeatureBits,d as AsyncFeatures,f as BaseError,v as BinarySemaphore,y as CancelableAbility,m as ChoiceArgProcessor,w as ClientEventPrefix,S as ClientToolFuncSchema,Fr as ClientToolTransport,T as ClientTools,E as CommonError,N as ConfigFile,C as DEFAULT_CONFIG_NAME,O as DefaultAsyncSemaphoreCapacity,g as DefaultDateFormat,R as EnvPromptTemplate,J as ErrorCode,j as EventBusName,P as EventClient,$ as EventEmitter,b as EventName,q as EventServer,nr as EventStates,H as EventToolFunc,I as FStringPromptTemplate,x as FewShotPromptTemplate,F as FilenameReservedRegex,G as FuncMetaSymbol,L as GolangPromptTemplate,D as HashAlgorithm,kr as HttpClientToolTransport,_r as HttpServerToolTransport,M as IntSet,A as InternalErrorCode,_ as LLM_TOKENIZER_NAMES,k as LLM_TOKENIZER_NAMES_MAP,B as LRUCache,U as NotFoundError,K as NotFoundErrorCode,Y as NotImplementationError,Z as NotImplementedErrorCode,z as ObjectArgsToArgsInfo,Q as PASSING_SCORE,W as PromptExampleSelector,St as PromptTemplate,X as RStreamErrCode,tt as RateLimit,et as ReadableStreamError,st as RemoteToolFuncSchema,rt as ResClientTools,ot as ResServerTools,nt as ResponseRStreamErrCode,it as RpcMethodsClientTool,at as RpcMethodsClientToolSchema,ct as RpcMethodsServerTool,pt as RpcMethodsServerToolSchema,ht as SHUTDOWN_SIGNALS,lt as SSEChannel,ut as SSEChannelAlreadyClosedErrCode,dt as SecondaryCache,ft as Semaphore,vt as ServerToolFuncSchema,Lr as ServerToolTransport,yt as ServerTools,mt as SignalGate,Vr as SseClientPubSubTransport,Br as SseServerPubSubTransport,wt as StrangeHumanName,Tt as TaskAbortController,Et as TemplateArgProcessor,Nt as ToolAsyncCancelableBit,Ct as ToolAsyncMultiTaskBit,Ot as ToolAsyncPriorityBit,gt as ToolFunc,Rt as ToolFuncSchema,xr as ToolTransport,Jt as WindowsReservedNameRegex,jt as YamlTypeBaseObject,Pt as _lrucache,$t as addDate,bt as assignDirs,qt as backendEventable,Ht as base32768,It as beforeShutdown,xt as calcPerplexity,Ft as calcPerplexitySimple,Gt as canonicalize,Lt as completeSentences,Dt as concatText,Mt as countLLMTokens,At as countRegexMatches,_t as createAbilityInjector,kt as createCallbacksTransformer,Bt as createEmptyReadableStream,Vt as createEndWithRepetitionDetector,Ut as createError,Kt as createEventStreamTransformer,Yt as createHfValueFunc,Zt as createLRUCache,zt as createYamlObjectTag,Qt as dateToText,Wt as decodeCharset,Xt as defaultTemplateFormat,te as defaultsWithConcat,ee as detectCharset,se as encodeLLMTokens,re as ensureQuoted,oe as event,ne as eventClient,ie as eventServer,ae as eventable,ce as expandConfig,pe as expandEnv,he as expandObjEnv,le as expandPath,ue as expandPathInObject,de as expandPaths,fe as extNameLevel,ve as fileIsExists,ye as filterValidFnScope,me as findIndexNonEmptyFrom,Ir as findPort,we as formatISO,Se as formatTextWithSpace,Te as funcGetMeta,Ee as funcWithMeta,Ne as genUrlParamsStr,Ce as getAllEnumKeys,Oe as getConfigFileNames,ge as getConfigs,Re as getEnvVairables,Je as getFileMetaInfo,je as getHashAlgoBySize,Pe as getKeysPath,$e as getLLMTokenizer,be as getMultiLevelExtname,qe as getPackageDir,He as getRealFilepath,Ie as getResponseErrorReadableStream,xe as getXDGConfigs,Fe as hasDirectoryIn,Ge as hash,Le as hashFile,De as hashObject,Me as hashStream,Ae as initShutdown,_e as isLangUsingSpaces,ke as isListItemString,Be as isModelNameMatched,Ve as isPunctuationChar,Ue as isQuoted,Ke as isRegExp,Ye as isSameString,Ze as isSectionString,ze as isSentenceEnding,Qe as isSepLineString,We as isStrWrapped,Xe as isSubdirectory,ts as isTitleString,es as isValidFilename,ss as isValidFilepath,rs as isWebStream,os as joinSplitWords,ns as jsonFilterToWhere,is as jsonToMarkdownStr,as as loadAIConfig,cs as loadConfig,ps as loadConfigFile,hs as loadFileFromPaths,ls as loadTextFromPaths,us as lrucache,ds as makeToolFuncCancelable,fs as matchUrlProtocol,vs as memoize,ys as mergeArray,ms as messagesToText,ws as mimeType,Ss as nanoid,Ts as normalizePath,Es as paramsSizeToScaleStr,Cs as parseCommand,Os as parseDateFormat,gs as parseISO,Rs as parseJsJson,Js as parseJsJsonSimpleSync,js as parseObjectArgInfo,Ps as parseObjectArgumentInfos,$s as parseObjectArguments,bs as parseObjectArgumentsAsArgInfos,qs as parseYaml,Hs as pruneSubdirectories,Is as pruneSubdirectoriesInPlace,xs as quoteStr,Fs as readFilenamesRecursiveSync,Gs as readTextFileChunks,Ls as readTextFileChunksEx,Ds as readableFromAsyncIterable,Ms as registerCoreTools,As as registerYamlTag,_s as removeMarkdownBold,ks as removeMarkdownBoldAndItalic,Bs as removeMarkdownItalic,Vs as replaceWithPlaceholder,Us as restoreFromPlacehoders,Ks as sanitizeFilename,Ys as sanitizeFilepath,Zs as saveConfigFile,zs as scaleStrToParamsSize,Qs as shutdown,Ws as simplifyObjectArguments,Xs as sleep,tr as sortedValues,er as splitChunks,sr as splitParagraph,rr as splitSentence,or as splitWords,ar as stringifyYaml,cr as stripConsoleColor,pr as textToDate,hr as throwError,lr as toDate,ur as toDateTime,dr as toRegExp,fr as trimStartOfStreamHelper,vr as truncTo,yr as truncateByToken,mr as truncateToTokenLimit,wr as truncateToTokenLimitEx,Sr as uuid,V as uuidNIL,Ns as uuidParse,ir as uuidStringify,gr as uuidValidate,Rr as uuidVersion,Tr as uuidv1,Er as uuidv4,Nr as uuidv5,Cr as uuidv6,Or as uuidv7,Jr as wait,jr as wrapEventEmitter,Pr as xxhash,$r as xxhash32,br as xxhash64,qr as xxhashAsStr,Hr as yieldExec};
|
|
1
|
+
import{LRUCache as t,SecondaryCache as e,_lrucache as n,createLRUCache as r,lrucache as i,registerCoreTools as o}from"./chunk-OYMVHUDZ.mjs";import{findPort as s}from"./chunk-BIJ2JH4U.mjs";export*from"@isdk/tool-func";export*from"@isdk/tool-rpc";export*from"@isdk/tool-event";import{createAbilityInjector as a}from"custom-ability";import{toRegExp as c}from"util-ex";var f=.618;import{AbortError as u,AbortErrorCode as l,AlreadyExistsError as m,AlreadyExistsErrorCode as h,BaseError as d,CommonError as p,createError as y,ErrorCode as w,InternalErrorCode as g,NotFoundErrorCode as b,NotFoundError as v,NotImplementedErrorCode as $,NotImplementationError as k,throwError as A}from"@isdk/common-error";import{format as E,parse as S,parseISO as x}from"date-fns";import{add as R,formatISO as N,parseISO as O,toDate as j}from"date-fns";var _="MMMM d, y 'at' h:m:s b 'GMT'x";function I(t){return t&&(_=t),_}function T(t){let e;try{"string"==typeof t?e=x(t):"number"==typeof t?e=new Date(t):t instanceof Date&&(e=t)}catch(t){console.error(t)}return e}function M(t,e=_){return S(t,e,new Date)}function C(t,e=_){return E(t,e)}var z=["stop","length","content_filter","tool_calls","function_call","abort","error","other",null],D=["human","ai","generic","system","tool"],L=["user","assistant","system","tool"],X="陌生人";function B(t){let e="";for(const n of t)if(n.content){e+=n.role.toLowerCase()+":";let t=n.createdAt;if(t){const n=T(t);n&&(e+=" ["+C(n)+"]")}e+=" "+n.content+"\n"}return e}import{StringTemplate as P,EnvStringTemplate as F,FStringTemplate as G,GolangStringTemplate as K,expandEnv as Z,expandObjEnv as H,defaultTemplateFormat as U,getEnvVairables as V,createHfValueFunc as W}from"@isdk/template-engines";function Q(t){return Object.keys(t).sort().map(e=>t[e])}var J=class extends P{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 P?t.examplePrompt:P.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 n=await this.examplePrompt.format(t);e.push(n)}else if("string"==typeof t)e.push(t);else if(t){const n=Q(t);n.length>0&&e.push(...n)}const n=[this.prefix,...e,this.suffix].join(this.exampleSeparator),r=this.templateFormat;return await P.format({template:n,data:t,templateFormat:r})}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}};function q(t){return(e=t)&&"function"==typeof e[Symbol.iterator]?async function*(t){const e=t[Symbol.iterator]();let n;try{for(;;){n=!1;const t=e.next();if(n=!0,t.done)return n=!1,await t.value;yield await t.value}}finally{n&&await(e.return?.().value)}}(t):t;var e}P.register(J,{name:"fewshot",aliases:["few_shot"]});var Y=!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=>{Y=t});var tt=class{constructor(t,e){this.initialize(t,e)}initialize(t,e){const n=e?.maxLength;var r;n>0&&(this.maxLength=n),void 0!==e?.threshold&&(!0===e.threshold?this.threshold=.5:!1!==e.threshold&&(this.threshold=e.threshold)),this.examples=(r=t,Y?r:q(r))}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 n of t){const t="number"==typeof this.threshold?Math.random():void 0;if(this.selectExample(n,t)){if(--e<0)break;yield n}}}async*[Symbol.asyncIterator](){yield*this.selectExamples()}};import{detectTextLanguage as et}from"@isdk/detect-text-language";var nt=/(\S.+?[.!?])(?=\s+|$)|(\S.+?)(?=[\n]|$)/g,rt=/([A-Z][a-z]{1,2}\.)\s(\w)/g,it=/(\.[a-zA-Z]\.)\s(\w)/g,ot=new RegExp("([A-Z][a-z]{1,2}\\.)@(\\w)","g"),st=new RegExp("(\\.[a-zA-Z]\\.)@(\\w)","g"),at=/(```)([\s\S]*?)(```)/g,ct=">>>CODE_BLOCK<<<",ft=/([*_`]{1,3})(\S.*?\S)\1/,ut=/>>> INLINE_BLOCK (\d+) <<</,lt=1e4;function mt(t,e,n){const r="$1"+e+"$2";let i=t;for(let t=0;t<n.length;t++)i=i.replace(n[t],r);return i}function ht(t,{best:e=!0,completeSentence:n,isMarkdown:r,ignoreEmptyLine:i}={}){const o=[],s=[];let a,c=0;for(;c++<lt&&(a=at.exec(t));){const e=a[0];o.push(e),t=t.replace(e,"\n"+ct+(o.length-1)+"\n")}for(c=0;c++<lt&&(a=ft.exec(t));){const e=a[0];s.push(e),t=t.replace(e,">>> INLINE_BLOCK "+(s.length-1)+" <<<")}if(r){const e=t.split("\n");for(let t=0;t<e.length;t++){const n=e[t];bt(n,{isMarkdown:r,nextLine:e[t+1]})&&(o.push(n),e[t]=ct+(o.length-1))}t=e.join("\n")}const f=(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 u=[];for(let t=0;t<f.length;t++){let n=f[t].trimEnd();if(!n){!r&&i||u.push("");continue}if(n.startsWith(ct)){u.push(o[Number(n.slice(16))]);continue}if(r&&bt(n,{isMarkdown:r,nextLine:f[t+1]})){u.push(n);continue}if(!e){u.push(n);continue}let a=mt(n,"@",[rt,it]),c=Array.from(a.matchAll(nt)),l=[];if(c.length)for(let t=0;t<c.length;t++)l.push(mt(c[t][0]," ",[ot,st]));else l.push(n);u.push(...l.map(t=>At(s,t)))}return n&&(u=dt(u,{isMarkdown:r,ignoreEmptyLine:i})),u}function dt(t,{isMarkdown:e,ignoreEmptyLine:n}={}){const r=[];let i=0,o="";for(n=!e&&n;i<t.length;){let s=t[i];if(s){let a;if(n){const n=St(t,i+1);a=gt(t[n],{isMarkdown:e,nextLine:-1===n?"":t[n+1]})}else a=gt(t[i+1],{isMarkdown:e,nextLine:t[i+2]});pt(s,{isMarkdown:e,nextLine:t[i+1]})||""===t[i+1]||a?(o&&(s=yt(o,s),o=""),r.push(s)):(o&&(s=yt(o,s)),o=s)}else n||r[r.length-1]&&r.push(s);i++}return o&&r.push(o),r}function pt(t,e){return wt(t)||gt(t,e)}function yt(t,e){const n=t+" "+e,r=et(n,{isoCode:!0});return r&&!Et(r)?(kt(t)&&(t+=" "),e=t+e):e=t.endsWith("-")?(t=t.slice(0,-1))+e:n,e}function wt(t){if(!t)return!1;return/(([.。!!??]\s*['"”’]?)|```)\s*$/.test(t)}function gt(t,e){let n=bt(t,e);return n||(n=vt(t)),n||(n=$t(t)),n}function bt(t,e){if(!t)return null;let n=/^\s*第?\s*[壹贰叁肆伍陆柒捌玖拾一二三四五六七八九十百千萬万\d]+\s*([章節节编回部篇卷幕场場辑集段册冊期片題]|片段|段落|篇[章目]|小[节節]|(子)?部分|卷[册冊]|[单單]元|章[节節回]|[.、])[ \t]*(?<title>.*)(?=\n|$)/.exec(t);if(n||(n=/^\s*(Chapter|Book|Article|Part|Paragraph|Subsection|Subpart|Volume|Episode|Issue|Unit|Section|Segment|Act|Scene)\s*\d+.*(?=\n|$)/i.exec(t)),!n&&e?.isMarkdown){n=/^[ \t]{0,3}(#+)\s+(?<title>\S.*)$/.exec(t);const r=/^[ \t]{0,3}([-=]+)(?=\n|$)/;!n&&e.nextLine&&!r.test(t)&&/^[ \t]{0,3}\S/.test(t)&&r.test(e.nextLine)&&(n=/^\s*(?<title>.*)(?=\n|$)/.exec(t))}return n}function vt(t){return/^\s*([*+-]|\d+[.、])\s*(?<item>.*)(?=\n|$)/.exec(t)}function $t(t){return/^[-=_]{3,}$/.exec(t)}function kt(t){return/[。!??,、;;::'""“”‘’~~《》<>〈〉【】(){}【】\[\]\(\)…·]$/.test(t)}function At(t,e){let n,r=0;for(;r++<lt&&(n=ut.exec(e));){const r=Number(n[1]);e=e.replace(n[0],t[r])}return e}function Et(t){return!["zh","ja","th","lo","ta","ko"].includes(t)}function St(t,e=0){for(let n=e;n<t.length;n++){const e=t[n];if(null!=e&&""!==e)return n}return-1}function xt(t,e){const n=/(?!\\)([*_])\1(?![ \t]|\1)(.+?)(?<!\\)\1{2}/;let r;for(;(r=n.exec(t))&&(t=t.slice(0,r.index)+r[2]+t.slice(r.index+r[0].length),!e););return t}function Rt(t,e){const n=/(?!\\)([*_])(?![ \t]|\1)(.+?)(?<!\\)\1/;let r;for(;(r=n.exec(t))&&(t=t.slice(0,r.index)+r[2]+t.slice(r.index+r[0].length),!e););return t}function Nt(t,e){return t=Rt(t=xt(t,e),e)}function Ot(t,e){const n=[],r=[],i=t.split("\n");for(let t=0;t<i.length;t++){let o=i[t];const s=0===o.trim().length;s||bt(o,{...e,nextLine:i[t+1]})?(r.length&&n.push([...r]),r.length=0,s||r.push(o)):r.push(o)}return r.length&&n.push([...r]),n}function jt(t,e=2,n=.5){const r=10**e;return Math.trunc((t+Number.EPSILON+n/r)*r)/r}import{sleep as _t}from"@isdk/util";import{sleep as It,yieldExec as Tt}from"@isdk/util";var Mt=_t;function Ct(t){return t instanceof ReadableStream||t instanceof WritableStream}var zt=600,Dt=601,Lt=class extends d{constructor(t,e=600){super(t,500)}};function Xt(t){if(t){const e=t.getReader();return new ReadableStream({async start(t){const{done:n,value:r}=await e.read();if(!n){const e=(new TextDecoder).decode(r);t.error(new Lt(`Response error: ${e}`,601))}}})}return new ReadableStream({start(t){t.error(new Lt("Response error: No response body",601))}})}function Bt(){return new ReadableStream({start(t){t.close()}})}import{createParser as Pt}from"eventsource-parser";function Ft(t){const e=new TextDecoder;let n;return new TransformStream({async start(e){n=Pt({onEvent:n=>{if("data"in n&&"[DONE]"===n.data||"done"===n.event)e.terminate();else if("data"in n){const r=t?t(n.data,{event:n.event}):n.data;r&&e.enqueue(r)}}})},transform(t){n.feed(e.decode(t))}})}function Gt(){let t=!0;return e=>(t&&(e=e.trimStart())&&(t=!1),e)}function Kt(t,e){if(!t.ok)return Xt(t.body);let n=t.body||new ReadableStream({start(t){t.close()}});return n instanceof ReadableStream||(n=ReadableStream.from(n)),n.pipeThrough(Ft(e))}function Zt(t){let e=t[Symbol.asyncIterator]();return new ReadableStream({async pull(t){const{done:n,value:r}=await e.next();n?t.close():t.enqueue(r)},async cancel(t){await(e.return?.(t))}})}import{HashAlgorithm as Ht,base32768 as Ut,hash as Vt,hashObject as Wt,hashStream as Qt,uuid as Jt,xxhash as qt,xxhash32 as Yt,xxhash64 as te,xxhashAsStr as ee}from"@isdk/hash";import{extNameLevel as ne,FilenameReservedRegex as re,getMultiLevelExtname as ie,isValidFilename as oe,isValidFilepath as se,sanitizeFilename as ae,sanitizeFilepath as ce,WindowsReservedNameRegex as fe}from"@isdk/util";import{isRegExpStr as ue,toRegExp as le}from"util-ex";function me(t,e){if("string"!=typeof t)throw new p("modelName must be a string","isModelNameMatched",w.InvalidArgument);switch(typeof e){case"string":if(ue(e)){const n=(e=le(e)).exec(t);if(n)return n}else if(t.toLowerCase()===e.toLowerCase())return e;break;case"object":if(Array.isArray(e)){for(const n of e)if("string"==typeof n){if(ue(n)){const r=(e=le(n)).exec(t);if(r)return r}else if(t.toLowerCase()===n.toLowerCase())return n}else if(n instanceof RegExp){const e=n.exec(t);if(e)return e}else if("function"==typeof n){const e=n.call(this,t);if(e)return e}}else if(e instanceof RegExp){const n=e.exec(t);if(n)return n}break;case"function":const n=e.call(this,t);if(n)return n}}function he(t){return Object.keys(t).filter(t=>Number.isNaN(Number(t)))}import{pick as de}from"lodash-es";import{newFunction as pe}from"util-ex";var ye=Symbol("CMD_ARG_PROCESSOR_RESULT"),we=Symbol("UNRESOLVED"),ge=Symbol("flag"),be=(t=>(t.EOF="EOF",t.COMMA="COMMA",t.ASSIGN="ASSIGN",t.L_PAREN="L_PAREN",t.R_PAREN="R_PAREN",t.L_BRACKET="L_BRACKET",t.R_BRACKET="R_BRACKET",t.L_BRACE="L_BRACE",t.R_BRACE="R_BRACE",t.STRING="STRING",t.IDENTIFIER="IDENTIFIER",t.RAW="RAW",t))(be||{}),ve=class{constructor(t,e){this.pos=0,this.input=t,this.delimiter=e?.delimiter??",",this.assigner=e?.assigner??"="}peekToken(){const t=this.pos,e=this.nextToken();return this.pos=t,e}nextToken(){if(this.skipWhitespace(),this.pos>=this.input.length)return{type:"EOF",value:"",start:this.pos,end:this.pos};const t=this.input[this.pos],e=this.pos;return'"'===t||"'"===t||"`"===t?this.readString(t):"("===t?(this.pos++,{type:"L_PAREN",value:"(",start:e,end:this.pos}):")"===t?(this.pos++,{type:"R_PAREN",value:")",start:e,end:this.pos}):"["===t?(this.pos++,{type:"L_BRACKET",value:"[",start:e,end:this.pos}):"]"===t?(this.pos++,{type:"R_BRACKET",value:"]",start:e,end:this.pos}):"{"===t?(this.pos++,{type:"L_BRACE",value:"{",start:e,end:this.pos}):"}"===t?(this.pos++,{type:"R_BRACE",value:"}",start:e,end:this.pos}):t===this.delimiter?(this.pos++,{type:"COMMA",value:t,start:e,end:this.pos}):t===this.assigner?(this.pos++,{type:"ASSIGN",value:t,start:e,end:this.pos}):this.readRaw()}readString(t){const e=this.pos;let n=t;for(this.pos++;this.pos<this.input.length;){const e=this.input[this.pos];if("\\"===e)n+=e,this.pos++,this.pos<this.input.length&&(n+=this.input[this.pos],this.pos++);else{if(e===t){n+=e,this.pos++;break}n+=e,this.pos++}}return{type:"STRING",value:n,start:e,end:this.pos}}readRaw(){const t=this.pos,e=["(",")","[","]","{","}",this.delimiter,this.assigner,'"',"'","`"];for(;this.pos<this.input.length;){const t=this.input[this.pos];if(e.includes(t)||/\s/.test(t))break;this.pos++}return{type:"RAW",value:this.input.substring(t,this.pos),start:t,end:this.pos}}skipWhitespace(){for(;this.pos<this.input.length&&/\s/.test(this.input[this.pos]);)this.pos++}reset(){this.pos=0}},$e="__PlacEhoLdeR_",ke=["true","false","null","undefined","nan","infinity"],Ae=/^[$_\p{ID_Start}][$_\p{ID_Continue}]*$/u,Ee=/^[$_\p{ID_Start}][$_\p{ID_Continue}]*(?:\.[$_\p{ID_Start}][$_\p{ID_Continue}]*)*$/u;function Se(t,e){let n=t;if(e?.flagPrefix){const r=(Array.isArray(e.flagPrefix)?e.flagPrefix:[e.flagPrefix]).find(e=>t.startsWith(e));r&&(n=t.slice(r.length))}return Ae.test(n)&&!ke.includes(n.toLowerCase())}function xe(t,e){let n=t;const r=typeof t;return"boolean"===r?n=new Boolean(t):"string"===r?n=new String(t):"number"===r&&(n=new Number(t)),!n||"object"!=typeof n&&"function"!=typeof n||Object.defineProperty(n,ge,{value:e,enumerable:!1,configurable:!0,writable:!0}),n}function Re(t){return Ee.test(t)&&t.split(".").every(t=>!ke.includes(t.toLowerCase()))}function Ne(t){if("string"!=typeof t)return!1;const e=t.trim();if(e.length<2)return!1;const n=e[0];return('"'===n||"'"===n||"`"===n)&&e[e.length-1]===n}function Oe(t,e=['""',"''","{}","``"]){const n=t.trim();return e.some(t=>n[0]===t[0]&&n[n.length-1]===t[1])}function je(t,e='"'){return Ne(t)?t:e+t+e}function _e(t){return'"'+t.replace(/(?<!\\)"/g,'\\"')+'"'}function Ie(t,e){let n=e?.startChar?Array.isArray(e.startChar)?e.startChar:[e.startChar]:['"',"'"],r=e?.endChar?Array.isArray(e.endChar)?e.endChar:[e.endChar]:n;if(n.length!==r.length)throw new Error("start and end characters must have the same length");const i=e?.placeholder??$e,o=n.every((t,e)=>t===r[e]),s=e?.placehoders??[];if(o){const e=n.map(t=>"\\"+t),r=new RegExp(`(?<!\\\\)(${e.join("|")}).*?(?<!\\\\)\\1`,"g");t=t.replace(r,t=>{const e=`${i}${s.length}`;return s.push(t),e})}else for(let e=0;e<n.length;e++){const o="\\"+n[e],a="\\"+r[e],c=new RegExp(`(?<!\\\\)${o}.*?(?<!\\\\)${a}`,"g");t=t.replace(c,t=>{const e=`${i}${s.length}`;return s.push(t),e})}return[t,s]}function Te(t,e,n){const r=n?.placeholder??$e;return e.reduce((t,e,n)=>t.replace(new RegExp(r+n,"g"),e),t)}import{newFunction as Me}from"util-ex";import{get as Ce}from"lodash-es";async function ze(t){const{scope:e,options:n,rawValue:r}=t,{argProcessor:i}=n;if("function"==typeof i){const r=await i(t);if(void 0!==r){if("string"==typeof r)return await De(r,e,n);if(r&&"object"==typeof r&&r[ye]){const[t,i,o]=r[ye];if("string"==typeof t){const r=await De(t,e,n);return{[ye]:[r,i,o]}}}return r}}return await De(r,e,n)}async function De(t,e,n){const r=t.trim();if(!r)return;if(n.skipExpression)return r;const i=r.toLowerCase();if("true"===i)return!0;if("false"===i)return!1;if("null"===i)return null;if("undefined"===i)return;if("nan"===i)return NaN;if("infinity"===i)return 1/0;const o=Number(r);if(!isNaN(o)&&""!==r)return o;if(e&&void 0!==Ce(e,r))return Ce(e,r);try{const t=Me("async expression",[],`return ${r};`,tn(e||{})),n=await t.call(null);return"function"==typeof n?r:n}catch(t){if(t instanceof ReferenceError){if(n.raiseReferenceError??n.raiseError)throw t;return n.preserveUnresolvedName?{[we]:r}:Se(r,n)||Re(r)?void 0:r}if(n.raiseError)throw t;if(Ne(r))try{return Me(`return ${r};`)()}catch(t){return r.substring(1,r.length-1)}return r}}var Le=class{constructor(t,e){this.lexer=t,this.options={namedExcludePositional:!0,idAsName:!0,...e}}async parse(){const t=[],e={},n={},r=new Set;let i=0;for(;;){if("EOF"===this.lexer.peekToken().type)break;const o=this.collectUntilDelimiter();if(0===o.length){t[i]=void 0,this.consumeDelimiter(),i++;continue}if(this.options.flagPrefix&&1===o.length&&"RAW"===o[0].type){const t=o[0].value,e=(Array.isArray(this.options.flagPrefix)?this.options.flagPrefix:[this.options.flagPrefix]).find(e=>t.startsWith(e));if(e&&Se(t,{flagPrefix:this.options.flagPrefix})){if(n[t.slice(e.length)]=xe(!0,e),"EOF"===this.consumeDelimiter())break;continue}}const{name:s,valueTokens:a,flagPrefix:c}=this.splitNamedArgument(o),f=void 0!==s,u=void 0!==c;let l,m;if(!f&&1===a.length&&"RAW"===a[0].type){const t=a[0].value;Re(t)&&(l=t)}if(a.length>0){const t=a[0],e=a[a.length-1],n={isNamed:f,name:s,identifierAsName:l,rawValue:this.lexer.input.substring(t.start,e.end).trim(),tokens:a,index:i,scope:this.options.scope,options:this.options,CmdArgParser:this};m=await ze(n)}let h,d,p=m,y=!1;const w=t=>t&&"object"==typeof t&&t[we]?(y=!0,t[we]):t;if(m&&"object"==typeof m&&(m[ye]?([p,h,d]=m[ye],p=w(p)):p=w(m)),u&&s)n[s]=xe(p,c);else{const n=s||h,o=d?.excludePositional;n?(e[n]=p,this.options.namedExcludePositional||o||(t[i]=p,r.add(i),i++)):o||(t[i]=p,this.options.idAsName&&l&&!y&&(e[l]=p,r.add(i)),i++)}if("EOF"===this.consumeDelimiter())break}return{args:t,namedArgs:e,flags:n,namedIndices:r}}collectUntilDelimiter(){const t=[];let e=0;for(;;){const n=this.lexer.peekToken();if("EOF"===n.type)break;if("COMMA"===n.type&&0===e)break;this.isLeftBracket(n.type)&&e++,this.isRightBracket(n.type)&&(e--,e<0&&(e=0)),t.push(this.lexer.nextToken())}return t}splitNamedArgument(t){if(t.length>=2&&"RAW"===t[0].type&&"ASSIGN"===t[1].type){const e=t[0].value;if(Se(e,{flagPrefix:this.options.flagPrefix})){let n,r=e;if(this.options.flagPrefix){n=(Array.isArray(this.options.flagPrefix)?this.options.flagPrefix:[this.options.flagPrefix]).find(t=>e.startsWith(t)),n&&(r=e.slice(n.length))}return{name:r,valueTokens:t.slice(2),flagPrefix:n}}}return{valueTokens:t}}isLeftBracket(t){return"L_PAREN"===t||"L_BRACKET"===t||"L_BRACE"===t}isRightBracket(t){return"R_PAREN"===t||"R_BRACKET"===t||"R_BRACE"===t}consumeDelimiter(){const t=this.lexer.peekToken();return"COMMA"===t.type&&this.lexer.nextToken(),t.type}};import{omitBy as Xe}from"lodash-es";async function Be(t){const{isNamed:e,rawValue:n,options:r}=t;if(!r?.isInternal&&!e&&n.startsWith("|")){const t=new Le(new ve(n,{...r,delimiter:":"}),{...r,isInternal:!0}),{args:e,namedArgs:i}=await t.parse(),o={...i};for(const t of e)"string"==typeof t&&t.startsWith("|")?o.items=t.split("|").filter(Boolean):"number"==typeof t?o.maxPick=t:"random"===t||"ai"===t?o.type=t:"string"==typeof t&&t&&(o.items?o.separator||(o.separator=t):o.items=t.split("|").filter(Boolean));return{[ye]:[o,"choice",{excludePositional:!0}]}}}async function Pe(t){const{scope:e,options:n,rawValue:r}=t,i={...Xe(e||{},(t,e)=>!e||"_"===e[0]||"function"==typeof t),...n?.templateData},o=await P.formatIf({template:r,data:i,templateFormat:n?.templateFormat});if(void 0!==o&&o!==r){const t="string"==typeof o?o.trim():o,e="string"!=typeof t||Ne(t)?t:JSON.stringify(t);return{[ye]:[e]}}}async function Fe(t){let e=await Be(t);return void 0===e&&(e=await Pe(t)),e}async function Ge(t,e,n){if(!t||!t.trim())return;const r=new ve(t,n),i=new Le(r,{...n,scope:e});return Ze(await i.parse(),n)}function Ke(t,e){const n={...t.namedArgs};return t.args.forEach((r,i)=>{if(void 0!==r||i in t.args){if(e?.excludeAutoNamedFromPositional&&t.namedIndices.has(i))return;n[i]=r}}),n}function Ze(t,e){const n=e?.simplify;if(!1===n)return Ke(t,e);const r={singleValue:!0,identicalPairSingular:!0,purePositionalAsArray:!0,mode:"auto"},i="object"==typeof n?{...r,...n}:r,{args:o,namedArgs:s,flags:a}=t,c=i.mode||"auto";let f,u=!1;if("map"===c){const t={args:o,namedArgs:s};return a&&Object.keys(a).length>0&&(t.flags=a),t}if("array"===c)f=[...o],u=!0,Object.defineProperty(f,"namedArgs",{value:{...s},enumerable:!1,writable:!0,configurable:!0});else if("object"===c)f=Ke(t,e),u=!0;else{const n=Ke(t,e),r=Object.keys(n),a=Object.keys(s);if(i.identicalPairSingular&&2===r.length&&1===a.length){if("0"in n||0 in n){const t=a[0];n[0]===n[t]&&(f=n[0],u=!0)}}u||0!==a.length||(i.singleValue&&1===o.length?(f=o[0],u=!0):i.purePositionalAsArray&&(f=o.filter((t,e)=>e in o),u=!0)),u||(f=n)}return null==f||"object"!=typeof f&&"function"!=typeof f||Object.keys(a).length>0&&Object.defineProperty(f,"flags",{value:{...a},enumerable:!1,writable:!0,configurable:!0}),f}function He(t){if(t&&!Array.isArray(t)&&"object"==typeof t){const e=Object.entries(t),n=Object.keys(t);if(1===e.length&&void 0!==t[0])t=t[0];else if(n.every(t=>!isNaN(parseInt(t))))t=n.sort((t,e)=>parseInt(t)-parseInt(e)).map(e=>t[e]);else if(2===e.length&&("0"===e[0][0]||"0"===e[1][0])){const n="0"===e[0][0]?0:1,r=1-n;e[n][1]===e[r][1]&&(t=e[n][1])}}return t}function Ue(t){for(let e=1;e<t.length;e++)if(t[e]<=t[e-1])return!1;return!0}function Ve(t){let e;if(t&&!Array.isArray(t)&&"object"==typeof t){const n=Object.entries(t),r=Object.keys(t),i=r.filter(t=>!isNaN(parseInt(t)));if(1===n.length)e=void 0!==t[0]?{args:[t[0]]}:{args:[],namedArgs:t};else if(r.every(t=>!isNaN(parseInt(t)))&&Ue(r.map(t=>parseInt(t))))e={args:Object.values(t)};else if("0"===i[0]&&Ue(i.map(t=>parseInt(t)))){const t=n.filter(([t,e])=>isNaN(parseInt(t))),r=n.filter(([t,e])=>!isNaN(parseInt(t))).map(([t,e])=>e);let i=0;const o=[];for(;i<t.length&&t[i][1]===r[i];)o.push(i),i++;for(;o.length;)t.splice(o.pop(),1);e={args:r,namedArgs:Object.fromEntries(t)}}else e={args:[],namedArgs:t}}else e={args:[]};return Array.isArray(t)?e={args:t}:(!e||void 0===e.args||0===e.args.length&&void 0===e.namedArgs)&&(void 0!==t&&"object"!=typeof t?e={args:[t]}:e&&void 0!==e.args||(e={args:void 0===t?[]:[t]})),e}async function We(t,e,n){const r=t.match(/^([^(]+)(?:\((.*)\))?$/);if(!r){if(n?.raiseError)throw new Error("Invalid command format");return}const[,i,o]=r;let s,a;if(o){const t=new ve(o,n),r=new Le(t,{...n,scope:e}),i=await r.parse();a=i.flags,s=Ze(i,n)}const c={command:i.trim(),args:s};return a&&Object.keys(a).length>0&&(c.flags=a),c}async function Qe(t,e){if(e&&(e=tn(e)),e&&(t=t.trim()).startsWith("{")&&t.endsWith("}")){return await Ge(t.slice(1,-1),e,{assigner:":",excludeAutoNamedFromPositional:!0})}return Je(t,e)}function Je(t,e){if(e&&(e=tn(e)),e){const n=Object.keys(e);if(n.length){const r=Object.values(e);let i=0;for(;i++<100;)try{return pe("expression",n,`return ${t}`)(...r)}catch(t){if(!(t instanceof ReferenceError))throw t;{const e=/(.+)\s+is not defined/.exec(t.message);if(!e)throw t;n.push(e[1]),r.push(void 0)}}}}return pe("expression",[],`return ${t}`)()}var qe=/^[a-zA-Z_$][0-9a-zA-Z_$.]*$/,Ye=t=>qe.test(t);function tn(t){if(t){const e=Object.keys(t),n=e.length,r=e.filter(e=>Ye(e)&&null!==t[e]);if(n===r.length)return t;if(r.length)return t=de(t,r)}}function en(t){return t?nn(t,[],{dot:""}):[]}function nn(t,e,{dot:n=".",visited:r=new Set}={}){return r.has(t)?[e.join("")]:Array.isArray(t)?(r.add(t),t.flatMap((t,n)=>nn(t,[...e,`[${n}]`],{dot:".",visited:r}))):(i=t)&&i.constructor===Object?(r.add(t),Object.entries(t).flatMap(([t,i])=>nn(i,[...e,n+t],{dot:".",visited:r}))):[e.join("")];var i}function rn(t){if(t<2)throw new p("repetitionThreshold must be greater than 1","createEndWithRepetitionDetector",w.InvalidArgument);const e=new RegExp(`([\\S\\s]+)(\\1{${t-1},})$`);return function(t){return e.exec(t)}}import on from"path";import*as sn from"fs";import an from"mime-type/with-db";import cn from"jschardet";function fn(t){const e=sn.statSync(t,{throwIfNoEntry:!1});return e?.isFile()}function un(t,e,n,r){const i=r?.signal,o=r?.exclude;let s;if(on.isAbsolute(t)?s=fn(t)?t:ln(on.basename(t),[on.dirname(t)],{extNames:n,exclude:o,signal:i}):(e||(e=["."]),s=ln(t,e,{extNames:n,exclude:o,signal:i})),!s)throw new v(t,"loadFileFromPaths");{const t=s;s=sn.readFileSync(s),r&&(r.filepath=t)}return s}function ln(t,e,{extNames:n,signal:r,exclude:i=[]}){let o;const s=n?n.map(e=>ie(t,ne(e))):void 0;"string"==typeof i&&(i=[i]);for(const a of e){if(r?.aborted)throw r.reason;const e=on.resolve(a,t);if(s)for(let t=0;t<s.length;t++){const r=e+(s[t]!==n[t]?n[t]:"");if(!i.includes(r)&&fn(r)){o=r;break}}else if(!i.includes(e)&&fn(e)){o=e;break}}return o}function mn(t,e,n,r,i){let o;"string"==typeof r?(o=r,r=void 0):o=r?.encoding;return hn(un(t,e,n,r),o)}function hn(t,e){void 0===e&&(e=bn(t)??"utf8");return new TextDecoder(e).decode(t)}function dn(t,e){const n=[],r="string"==typeof t?[{dir:t,level:0}]:[...t.map(t=>({dir:t,level:0}))],i=new Set,o=e?.signal,s=e?.isFileMatched,a=e?.level,c=e?.resolveSymlinks??!0;let f=0;for(;r.length>0;){if(o?.aborted)throw o.reason;const t=r.pop(),e=c?pn(t.dir):t.dir,u=on.resolve(e);if(i.has(u))continue;i.add(u);const l=sn.statSync(e,{throwIfNoEntry:!1});if(l?.isDirectory()){f=t.level+1;const i=sn.readdirSync(e,{withFileTypes:!0});for(let t=0;t<i.length;t++){let o=i[t],u=on.join(e,o.name);const l=u;if(o.isSymbolicLink()){const t=on.dirname(u);if(u=sn.readlinkSync(u),u=on.resolve(t,u),o=sn.statSync(u,{throwIfNoEntry:!1}),!o)continue}if(o.isDirectory())(!a||f<a)&&(s&&!s(u,o)||r.push({dir:u,level:f}));else if(o.isFile()&&(!s||s(u,o))){const t=c?u:l;n.includes(t)||n.push(t)}}}}return n}function pn(t){const e=sn.lstatSync(t,{throwIfNoEntry:!1});return e?.isSymbolicLink()&&(t=sn.readlinkSync(t)),t}async function yn(t,e){const n=ReadableStream.from(sn.createReadStream(t));return Qt(n,e)}async function wn(t){const e=on.basename(t);t=on.resolve(t);const n=await sn.promises.stat(t),r=n.mtime,i=n.ctime,o=n.size,s=gn(o),a=await yn(t,{hashAlgo:s}),c=an.lookup(t);return{name:e,mtime:r,ctime:i,size:o,hash:Ht[s]+":"+a,mimeType:c,id:"file://"+t}}function gn(t){let e=Ht.xxhash;return t<=2048?e=Ht.xxhash32:t<=1048576?e=Ht.xxhash64:t<=10485760?e=Ht.xxhash128:t>10485760&&(e=Ht.sha512),e}function bn(t,e){return cn.detect(t,e).encoding}import{statSync as vn}from"fs";import $n from"path";import{ConfigFile as kn,registerYamlTag as An,traverseFolderSync as En}from"@isdk/util";import{regexp as Sn}from"yaml-types";import{mimeType as xn}from"mime-type/with-db";import{ConfigFile as Rn,registerYamlTag as Nn,parseYaml as On,stringifyYaml as jn}from"@isdk/util";function _n(t,e){const n=[],r=e?.after,i=e?.exclude?"string"==typeof e.exclude?[e.exclude]:e.exclude:void 0,o=e?.extensions?"string"==typeof e.extensions?[e.extensions]:e.extensions.map(t=>t.startsWith(".")?t:"."+t):[".yml",".yaml",".json"];return En(t,(t,e)=>{if(i?.includes(t)||!e.isFile())return;const s=$n.extname(t),a=vn(t);if(o.includes(s)){if(r?.hasOwnProperty(t)&&a.mtimeMs<=r[t])return;n.push(t)}}),n}function In(t,e){return _n(t,e).map(t=>kn.loadSync(t)).filter(t=>void 0!==t)}function Tn(t,e,n=1){return kn.saveSync(t,e,{extLevel:n})}function Mn(t){t instanceof Date&&(t=t.toISOString());return function(t,e){return t?`'${e}'`:String(e)}("string"==typeof t,t)}function Cn(t,e){return t.map(t=>Ln(t,e)).join(" AND ")}function zn(t,e){return t.map(t=>Ln(t,e)).join(" OR ")}function Dn(t,e){const n=[];return Object.keys(e).forEach(r=>{const i=e[r];switch(r){case"$lt":case"<":n.push(`${t} < ${Mn(i)}`);break;case"<=":case"$lte":n.push(`${t} <= ${Mn(i)}`);break;case"$gt":case">":n.push(`${t} > ${Mn(i)}`);break;case"$gte":case">=":n.push(`${t} >= ${Mn(i)}`);break;case"$ne":case"!=":n.push(`${t} != ${Mn(i)}`);break;case"=":case"$eq":n.push(`${t} = ${Mn(i)}`);break;case"$in":n.push(`${t} IN (${i.map(t=>Mn(t)).join(", ")})`);break;case"$nin":n.push(`${t} NOT IN (${i.map(t=>Mn(t)).join(", ")})`);break;case"$regex":n.push(`${t} REGEXP '${i.source}'`);break;case"$like":n.push(`${t} LIKE '${i}'`);break;case"$nlike":n.push(`${t} NOT LIKE '${i}'`);break;case"$glob":n.push(`${t} GLOB '${i}'`);break;case"$nglob":n.push(`${t} NOT GLOB '${i}'`);break;default:throw new Error(`Unsupported condition operator: ${r}`)}}),n.join(" AND ")}function Ln(t,e){const n=[];if("function"!=typeof e&&(e=t=>t),Array.isArray(t))n.push(Cn(t,e));else for(const[r,i]of Object.entries(t))if("$and"===r)n.push(`(${Cn(t[r],e)})`);else if("$or"===r)n.push(`(${zn(t[r],e)})`);else{const t=typeof i;if(null==i)n.push(`${e(r)} IS NULL`);else if(i instanceof Date)n.push(`${e(r)}='${i.toISOString()}'`);else if("object"!==t||Array.isArray(i))if("string"===t)n.push(`${e(r)}='${i}'`);else{if("number"!==t&&"boolean"!==t)throw new Error(`Unsupported value type for key ${r}`);n.push(`${e(r)}=${i}`)}else n.push(Dn(e(r),i))}return n.length>1?n.join(" AND "):n[0]}function Xn(t){const e=t.indexOf("://");if(e>0)return t.substring(0,e)}function Bn(t,e=0){let n,r=t*10**e;return t>=1e12?(r=Math.round(r/1e12),n="T"):t>=1e9?(r=Math.round(r/1e9),n="B"):t>=1e6?(r=Math.round(r/1e6),n="M"):t>=1e3?(r=Math.round(r/1e3),n="K"):(r=Math.round(r),n=""),r/=10**e,r.toFixed(e)+n}function Pn(t){const e=t.match(/^\s*[+]?(\d+(?:[.]\d+)?)\s*([TBMK])?\s*$/i);if(!e)throw new p("Invalid formatted parameter size string.","scaleToSize",w.InvalidArgument);const n=parseFloat(e[1]),r=e[2]?.toLowerCase();switch(r){case"t":return 1e12*n;case"b":return 1e9*n;case"m":return 1e6*n;case"k":return 1e3*n;default:return n}}function Fn(t,e){const n=e?.level||0,r=e?.visiting||new Set,i=e?.objectTag||"*",o=e?.arrayTag||"-",s=!0===e?.title?"name":e?.title;let a=[];const c=" ".repeat(2*n);if(null!=t){if("object"!=typeof t)return JSON.stringify(t);r.has(t)?a=["[Circular]"]:(r.add(t),a=Array.isArray(t)?t.map(e=>o+f(e,t)):Object.entries(t).map(([e,n])=>i+" `"+e+"`:"+f(n,t)))}else a=["null"];return a.length?c+a.join("\n"+c):"";function f(t,e){const i=null!=t&&"object"==typeof t;let o="";return s&&"string"==typeof s&&i&&t[s]&&"string"==typeof t[s]&&(o=" "+t[s],delete t[s]),(i?o+"\n":" ")+Fn(t,{level:n+1,visiting:r,parent:e})}}An(Sn);import{IntSet as Gn}from"@isdk/util";import{DefaultAsyncSemaphoreCapacity as Kn,BinarySemaphore as Zn,Semaphore as Hn,RateLimit as Un}from"@isdk/util";import{SignalGate as Vn}from"@isdk/util";function Wn(t,e){const n=e.global?e:new RegExp(e.source,`${e.flags}g`);let r,i=0;for(;null!==(r=n.exec(t));)i++;return i}import Qn from"memoizee";import{xxhashAsStr as Jn}from"@isdk/hash";import{canonicalize as qn}from"json-canonicalize";function Yn(t,e){var n;void 0!==e?.promise||!function(t){return"function"==typeof t&&"AsyncFunction"===t.constructor.name}(t)&&(!(n=t)||"object"!=typeof n&&"function"!=typeof n||"function"!=typeof n.then)||(e={promise:!0,...e}),void 0===e?.length&&(e={length:!1,...e});const r=e?.normalizer;return Qn(t,{...e,normalizer:t=>{if(r){const e=r(t);if("string"===e)return e;e&&(t=e)}return Jn(qn(t))}})}import tr from"path";import{packageDirectorySync as er}from"package-directory";function nr(t){const e=er({cwd:t});if(e)return e;const n=t.split(tr.sep);let r=n.lastIndexOf("dist");if(r>0)return n.slice(0,r).join(tr.sep);if(r=n.lastIndexOf("src"),r>0)return n.slice(0,r).join(tr.sep);throw new Error("can not find package directory")}import rr from"path";function ir(t,e){try{const n=rr.relative(rr.resolve(t),rr.resolve(e));return!n.startsWith("..")&&!rr.isAbsolute(n)}catch{return!1}}function or(t,e){return e?.some(e=>ir(e,t))}function sr(t,e){for(const n of e)or(n,t)||t.push(n);return t}function ar(t){const e=t.slice();return cr(e),e}function cr(t){const e=t.length;if(e<=1)return;const n=new Map,r=[];for(let i=0;i<e;i++){const e=fr(t[i]);n.has(e)||(r.push(e),n.set(e,i))}const i=[...r].sort(),o=new Set;for(let t=0;t<i.length;t++){const e=i[t];let n=!1;for(const t of o)if(ir(t,e)){n=!0;break}n||o.add(e)}let s=0;for(let n=0;n<e;n++)o.has(r[n])&&(s!==n&&(t[s]=t[n]),s++);t.length=s}function fr(t){let e=rr.normalize(t);return e=e.split(/[/\\]/).join(rr.posix.sep),e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1)),e}import{isRegExp as ur,isRegExpStr as lr}from"util-ex";function mr(t){return lr(t)||ur(t)}function hr(t){return t.replace(/\x1B[[(?);]{0,2}(;?\d)*./g,"")}import dr from"path";import{fileURLToPath as pr}from"url";import{AutoTokenizer as yr}from"@huggingface/transformers";var wr=pr(import.meta.url),gr=dr.dirname(wr),br=dr.join(nr(gr),".cache"),vr=new Map,$r={"deepseek-ai/DeepSeek-V2-Lite-Chat":"deepseek2","Qwen/Qwen2.5-0.5B":"Qwen2.5","Xenova/gpt-4":"gpt-4 / gpt-3.5-turbo / text-embedding-ada-002","Xenova/text-davinci-003":"text-davinci-003 / text-davinci-002","Xenova/gpt-3":"gpt-3","Xenova/grok-1-tokenizer":"Grok-1","Xenova/claude-tokenizer":"Claude","Xenova/mistral-tokenizer-v3":"Mistral v3","Xenova/mistral-tokenizer-v1":"Mistral v1","Xenova/gemma-tokenizer":"Gemma","Xenova/gemma2-tokenizer":"Gemma2","Xenova/llama3-tokenizer-new":"Llama 3","unsloth/Llama-3.2-1B-Instruct":"Llama 3.2","Xenova/llama-tokenizer":"LLaMA / Llama 2","Xenova/c4ai-command-r-v01-tokenizer":"Cohere Command-R","Xenova/t5-small":"T5","Xenova/bert-base-cased":"bert-base-cased"},kr={deepseek2:"deepseek-ai/DeepSeek-V2-Lite-Chat","qwen2.5":"Qwen/Qwen2.5-0.5B","gpt-4":"Xenova/gpt-4","gpt-3.5-turbo":"Xenova/gpt-4","text-embedding-ada-002":"Xenova/gpt-4","text-davinci-003":"Xenova/text-davinci-003","text-davinci-002":"Xenova/text-davinci-003","gpt-3":"Xenova/gpt-3","grok-1":"Xenova/grok-1-tokenizer",claude:"Xenova/claude-tokenizer",mistral:"Xenova/mistral-tokenizer-v3",mistral3:"Xenova/mistral-tokenizer-v3",mistral1:"Xenova/mistral-tokenizer-v1",gemma:"Xenova/gemma-tokenizer",gemma2:"Xenova/gemma2-tokenizer",llama3:"Xenova/llama3-tokenizer-new",llama2:"Xenova/llama-tokenizer",llama:"Xenova/llama-tokenizer","llama3.2":"unsloth/Llama-3.2-1B-Instruct","cohere-command-r":"Xenova/c4ai-command-r-v01-tokenizer",t5:"Xenova/t5-small","bert-cased":"Xenova/bert-base-cased"};async function Ar(t){let e=vr.get(t);return e||(e=yr.from_pretrained(t,{cache_dir:br}),vr.set(t,e)),e}async function Er(t,e="qwen2.5"){kr[e]&&(e=kr[e]);return(await Ar(e)).encode(t)}async function Sr(t,e="qwen2.5"){return(await Er(t,e)).length}function xr(t,e){const n=e?.capitalize??!0;let r=e?.delimiter??/[_-]/g;r instanceof RegExp&&(r.flags.includes("g")||(r=new RegExp(r.source,r.flags+"g")));let i=(t=t.replace(r," ")).split(" ").map(t=>t.trim()).filter(Boolean);return n&&(i=i.map(t=>t.charAt(0).toUpperCase()+t.slice(1))),t=i.join(" ")}async function Rr(t,e){let n,r=1984,i=!0,o=!1,s=!0,a=Sr,c=!0;if(e&&(n=e.modelId,e.size>=0&&(r=e.size),void 0!==e.corrected&&(i=e.corrected),void 0!==e.completeSentence&&(o=e.completeSentence),void 0!==e.truncLastSection&&(s=e.truncLastSection),"function"==typeof e.countLLMTokens&&(a=e.countLLMTokens),void 0!==e.bySentence&&(c=e.bySentence)),!c)throw new k("truncateToTokenLimit only implemented by sentence","truncateToTokenLimit");if(r>0){let c=await a(t,n);const f=e?.sentences??ht(t,e);if(c>r)for(c=await a(f.join("\n"),n);c>r&&f.length;){const e=f.pop();if(e){if(c-=await a(e+"\n",n),o||i)t=f.join("\n");else{const n=t.lastIndexOf(e);if(-1===n)throw new p(`Can not find sentence: ${e}`,"truncateContentToTokenLimit");t=t.slice(0,n)}if(c<=1)throw new p(`Can not truncate content to fit within the token limit: ${r}`,"truncateContentToTokenLimit");if(c<=r&&s){const e=f[f.length-1];if(e&>(e)){if(c-await a(e,n)>9){const n=t.lastIndexOf(e);if(-1===n)throw new p(`Can not find sentence: ${e}`,"truncateContentToTokenLimit");t=t.slice(0,n).trimEnd()}}}}else c--}else t=f.join("\n")}if(!t)throw new p(`Can not truncate content to fit within the token limit: ${r}`,"truncateContentToTokenLimit");return t}async function Nr(t,e){let n,r=1984,i=!0,o=Sr,s=!0;if(e&&(n=e.modelId,e.size>=0&&(r=e.size),void 0!==e.truncLastSection&&(i=e.truncLastSection),"function"==typeof e.countLLMTokens&&(o=e.countLLMTokens),void 0!==e.bySentence&&(s=e.bySentence)),!s)throw new k("truncateToTokenLimit only implemented by sentence","truncateToTokenLimit");if(r>0){const e=(t=t.slice()).join("\n");let s=await o(e,n);if(s>r)for(;s>r&&t.length;){const e=t.pop();if(e){if(s-=await o(e,n),s<=1)throw new p(`Can not truncate content to fit within the token limit: ${r}`,"truncateContentToTokenLimit");if(s<=r&&i){const e=t[t.length-1];if(e&>(e)){s-await o(e,n)>9&&t.pop()}}}}}if(!t.length)throw new p(`Empty. Can not truncate content to fit within the token limit: ${r}`,"truncateContentToTokenLimit");return t}async function Or(t,e){let n,r=1984,i=Sr;if(e&&(n=e.modelId,"function"==typeof e.countLLMTokens&&(e.size>=0&&(r=e.size),i=e.countLLMTokens)),r>0){await i(t,n)}}import jr from"fs";async function*_r(t,e){const n=(e={...e,completeSentence:!1,corrected:!1}).size??1984,r=e.modelId,i=e.metaInfo?.size??(await jr.promises.stat(t)).size;let o=Math.trunc(i/2);if(o<=n){let i=hn(await jr.promises.readFile(t));if(o=await Sr(i,r),o<=n)yield i;else do{const t=await Rr(i,{...e,modelId:r,size:n});yield t,i=i.slice(t.length)}while(i)}else{const i=ReadableStream.from(jr.createReadStream(t)).getReader();let o="";for(;;){const{done:t,value:s}=await i.read();if(t)break;o+=hn(s);const a=ht(o,e);let c=a.pop();if(c){const t=o.lastIndexOf(c);c=o.slice(t),o=o.slice(0,t)}if(o.length>=n){const t=await Rr(o,{...e,modelId:r,size:n,sentences:a});o=o.slice(t.length),yield t}for(;o.length>n;){const t=ht(o,e),i=await Rr(o,{...e,modelId:r,size:n,sentences:t});o=o.slice(i.length),yield i}void 0!==c&&(o+=c)}for(;o;){const t=ht(o,e),i=await Rr(o,{...e,modelId:r,size:n,sentences:t});o=o.slice(i.length),yield i}}}async function*Ir(t,e){const n=e?.size??1984,r=e?.modelId,i=e?.metaInfo?.size??(await jr.promises.stat(t)).size;let o=Math.trunc(i/2);if(o<=n){let i=hn(await jr.promises.readFile(t));if(o=await Sr(i,r),o<=n)yield ht(i,e);else{let t=ht(i,e);do{const i=await Nr(t,{...e,modelId:r,size:n});yield i,t=t.slice(i.length)}while(t.length)}}else{const i=ReadableStream.from(jr.createReadStream(t)).getReader();let o="";const s=e?.completeSentence,a=e?.corrected,c=!s&&!a;let f;for(;;){const{done:t,value:s}=await i.read();if(t)break;o+=hn(s),f=ht(o,e);let a=f.pop();if(o.length>=n){const t=await Nr(f,{...e,modelId:r,size:n});o=c?o.slice(t.length):f.join("\n"),f=f.slice(t.length),o=f.join("\n"),yield t}for(;o.length>n;){const t=await Nr(f,{...e,modelId:r,size:n});f=f.slice(t.length),o=f.join("\n"),yield t}a&&f.push(a)}if(f)for(;f.length;){const t=await Nr(f,{...e,modelId:r,size:n});f=f.slice(t.length),yield t}}}async function Tr(t,e){const n=e?.size??1984,r=e?.modelId;let i=ht(t,e);const o=[];if(await Sr(t,r)<=n)o.push(i);else do{const t=await Nr(i,{...e,modelId:r,size:n});o.push(t),i=i.slice(t.length)}while(i.length);return o}import{YAMLMap as Mr}from"yaml";var Cr=class{constructor(t){t&&Object.assign(this,t)}};function zr(t,e){const n={tag:t,collection:"map",nodeClass:class extends Mr{constructor(){super(...arguments),this.tag=t}toJSON(t,n){n={...n,mapAsMap:!1};const r=super.toJSON(t,n);return new e(r)}},identify:t=>t instanceof e};return n}function Dr(t,e){let n=t.length===e.length;if(n){const r=qt(t),i=qt(e);n=r.every((t,e)=>t===i[e])}return n}import{defaultsDeep as Lr,get as Xr,omit as Br,set as Pr}from"lodash-es";import Fr from"path";var Gr=".ai";function Kr(t,e=["."]){if(Fr.isAbsolute(t))return Rn.loadSync(t);const n=e.map(e=>Rn.loadSync(Fr.resolve(e,t))).filter(Boolean);return Lr({},...n.reverse())}function Zr(t,e){const n={...process.env,...e};return n.HOME||(n.HOME=process.env.USERPROFILE),H(t,{processEnv:n,parsed:n})}function Hr(t,e){let n=Rn.loadSync(Fr.resolve(e.configDir,t));n||(n={configDirs:["$XDG_BIN_HOME",e.configDir,"$HOME"],brainDir:Fr.join(e.dataDir,"brain"),agentDirs:[Fr.join(e.dataDir,"agent")],promptDirs:[Fr.join(e.dataDir,"prompt")],chatsDir:Fr.join(e.dataDir,"log","chats"),inputsDir:Fr.join(e.dataDir,"log","inputs")});const r=Vr(e);for(const[t,e]of Object.entries(r))n[t]=e;Zr(n,n);const i=n.configDirs;n.AI_CONFIG_BASENAME&&(t=n.AI_CONFIG_BASENAME);const o=Zr(Kr(t,i),n);return Lr(o,Br(n,Object.keys(r))),Jr(o),o}function Ur(t){return Hr(".ai",t)}function Vr(t){return{XDG_CONFIG_HOME:t.configDir,XDG_DATA_HOME:t.dataDir,XDG_CACHE_HOME:t.cacheDir,XDG_BIN_HOME:Fr.dirname(t.options.root)}}function Wr(t,e){t.startsWith("~")&&(t="$HOME"+t.slice(1));return Zr(t,e)}function Qr(t,e){return t.map(t=>Wr(t,e))}function Jr(t,e=["configDirs","brainDir","agentDirs","promptDirs","chatsDir","inputsDir"],n){for(const r of e){const e=Xr(t,r);if(!e)continue;let i;Array.isArray(e)&&e.length?i=Qr(e,n):"string"==typeof e&&(i=Wr(e,n)),i&&Pr(t,r,i)}}var{exit:qr}=process,Yr=!1,ti=!1,ei=["SIGINT","SIGTERM","exit"],ni=[],ri=(t,e)=>t.forEach(t=>process.once(t,e));async function ii(t="shutdown",e=0){if(!Yr){Yr=!0,"number"==typeof t&&(e=t,t="shutdown");for(const e of ni)try{await e(t)}catch(t){console.warn(`A shutdown handler failed before completing with: ${t.message||t}`)}return qr(e)}console.warn(`Shutdown already in progress, ignoring [${t}] signal`)}function oi(t){if(ti||si(),!ni.some(e=>e===t))return ni.push(t),t}function si(){var t;ti||(ti=!0,process.exit=t=>{Yr||ii(void 0,t).then()},ri(ei,(t=3e5,()=>{setTimeout(()=>(console.warn(`Could not close resources gracefully after ${t}ms: forcing shutdown`),qr(1)),t).unref()})),ri(ei,ii))}var ai=["<BOS>","<EOS>","<PAD>","<UNK>"],ci=".,!?;?!",fi=[" ","\n","\t","▁"," "],ui=["the","a","an","的","是","在"];function li(t,e){const n=e?.exclude?function(t){const e=new Set;if(t.controlSymbols&&ai.forEach(t=>e.add(t)),t.punctuation)for(let t=0;t<7;t++)e.add(ci[t]);return t.stopWords&&ui.forEach(t=>e.add(t)),t.whitespace&&fi.forEach(t=>e.add(t)),Array.isArray(t.tokens)&&t.tokens.forEach(t=>e.add(t)),[...e]}(e.exclude):void 0;return n&&n.length&&(t=t.filter(t=>!n.includes(t.token.trim()))),mi(t)}function mi(t){if(!Array.isArray(t)||0===t.length)return;const e=t.reduce((t,e)=>t+e.probability,0);return Math.exp(-e/t.length)}import{mergeWith as hi}from"lodash-es";var di=/^\s*@inheritMerge\s*(?:[(]\s*(?<arg>\.start|\.end|false)[)])?/,pi=Symbol("MergeWay"),yi={replace:0,start:1,end:2};function wi(t,...e){return hi(t,...e,(t,e)=>Array.isArray(t)&&Array.isArray(e)?gi(t,e):void 0!==t&&"object"!=typeof t?t:void 0)}function gi(t,e){let n=t[pi];return void 0===n&&(t=function(t){const e=t[0];let n=".start";if("string"==typeof e){const r=di.exec(e);r&&(r.groups?.arg&&(n=r.groups?.arg),t=t.slice(1))}else e&&"object"==typeof e&&e.hasOwnProperty("@inheritMerge")&&(n=e["@inheritMerge"]||n,t=t.slice(1));n&&(n=n.toLowerCase());let r=yi.start;"false"===n||"no"===n||"not"===n?r=yi.replace:".end"===n&&(r=yi.end);return Object.defineProperty(t,pi,{value:r,enumerable:!1}),t}(t),n=t[pi]),t=n===yi.replace?e:n===yi.end?t.concat(e):e.concat(t),Object.defineProperty(t,pi,{value:n,enumerable:!1}),t}function bi(t,e=" "){return vi(t).join(e)}function vi(t){return t.split(/(?<=[a-z])(?=[A-Z])|(?<=\d)(?=[A-Za-z])|(?<=[A-Z])(?=[A-Z][a-z])|[\s_]+/g).filter(t=>t.length>0)}function $i(t){if("string"==typeof t){const e=t.includes("\n"),n=/^[ \t]*\r?\n/.test(t);e&&!n&&(t="\n"+t)}return t}var ki=class{constructor(t){this.seen=new WeakSet;const e="string"==typeof t.inlineStyle?{mode:t.inlineStyle}:t.inlineStyle??{};this.options={indent:"number"==typeof t.indent?" ".repeat(t.indent):t.indent??" ",arrayPrefix:t.arrayPrefix??"-",objectPrefix:t.objectPrefix??"*",maxDepth:t.maxDepth??10,ensureNewLineForMultiline:t.ensureNewLineForMultiline??!1,stringQuoting:t.stringQuoting??"auto",inline:{mode:e.mode??"auto",threshold:e.threshold??40,spaceAfterSeparator:e.spaceAfterSeparator??!0,spaceInBraces:e.spaceInBraces??!1}}}getDataType(t){if(null===t)return"null";if(void 0===t)return"undefined";if(Array.isArray(t))return"array";const e=Object.prototype.toString.call(t).slice(8,-1).toLowerCase();return"date"===e?"date":"function"===e?"function":"symbol"===e?"symbol":e}indentText(t,e){return t.split("\n").map(t=>t.length?e+t:t).join("\n")}padSubsequentLines(t,e){const n=t.split("\n");if(n.length<=1)return t;const r=" ".repeat(e);return n[0]+"\n"+n.slice(1).map(t=>t.length?r+t:t).join("\n")}shouldQuote(t){const e=this.options.stringQuoting;if("always"===e)return!0;if("never"===e)return!1;if(""===t)return!0;if(/[:#,[\]{}"]/.test(t))return!0;const n=this.options.arrayPrefix.trim(),r=this.options.objectPrefix.trim();if(n.length&&t.startsWith(n))return!0;if(r.length&&t.startsWith(r))return!0;if(t!==t.trim())return!0;return!!["true","false","null","undefined","nan","infinity"].includes(t.toLowerCase())||t.length>0&&!isNaN(Number(t))}serializePrimitive(t){switch(this.getDataType(t)){case"null":case"undefined":case"boolean":case"number":default:return String(t);case"string":{const e=t;return this.shouldQuote(e)?`"${e.replace(/"/g,'\\"')}"`:e}case"function":return`[Function: ${t.name||"anonymous"}]`;case"symbol":return t.toString();case"date":return t.toISOString()}}serializeInline(t,e){if(e>=this.options.maxDepth)return"[Max Depth Exceeded]";const n=this.getDataType(t);if("array"===n){const n=t;if(0===n.length)return"[]";if(this.seen.has(n))return"[Circular]";this.seen.add(n);const r=[];for(const t of n){const i=this.serializeInline(t,e+1);if(null===i)return this.seen.delete(n),null;r.push(i)}this.seen.delete(n);const i=this.options.inline.spaceInBraces?" ":"",o=this.options.inline.spaceAfterSeparator?", ":",";return`[${i}${r.join(o)}${i}]`}if("object"===n){const n=t,r=Object.keys(n);if(0===r.length)return"{}";if(this.seen.has(n))return"[Circular]";this.seen.add(n);const i=[];for(const t of r){const r=n[t],o=this.serializeInline(r,e+1);if(null===o)return this.seen.delete(n),null;const s=this.options.inline.spaceAfterSeparator?": ":":";i.push(`${t}${s}${o}`)}this.seen.delete(n);const o=this.options.inline.spaceInBraces?" ":"",s=this.options.inline.spaceAfterSeparator?", ":",";return`{${o}${i.join(s)}${o}}`}const r=this.serializePrimitive(t);return r.includes("\n")?null:r}serializeArray(t,e){if(0===t.length)return"[]";if(this.seen.has(t))return"[Circular]";if(this.seen.add(t),e>=this.options.maxDepth)return"[Max Depth Exceeded]";const n=t.map(t=>{const n=this.getDataType(t),r=this.serialize(t,e+1,"object"===n),i="[]"===r||"{}"===r,o=r.startsWith("[Circular]")||r.startsWith("[Max Depth"),s=!(o||i||"{"!==r[0]&&"["!==r[0]||r.includes("\n")),a=this.options.arrayPrefix;if("array"!==n||i||o||s){const t=this.options.inline.spaceAfterSeparator,e=a.length&&!a.endsWith(" ")&&t?" ":"",n=`${a}${e}${r}`,i=r.length?n:n.trimEnd();return this.padSubsequentLines(i,a.length+e.length)}return a.length?`${a}\n${this.indentText(r,this.options.indent)}`:this.indentText(r,this.options.indent)});return this.seen.delete(t),n.join("\n")}serializeObject(t,e,n){const r=Object.keys(t);if(0===r.length)return"{}";if(this.seen.has(t))return"[Circular]";if(this.seen.add(t),e>=this.options.maxDepth)return"[Max Depth Exceeded]";const i=n?"":this.options.objectPrefix,o=r.map(n=>{const r=t[n],o=this.getDataType(r),s=this.serialize(r,e+1,!1),a="{}"===s||"[]"===s,c=s.startsWith("[Circular]")||s.startsWith("[Max Depth"),f=!(c||a||"{"!==s[0]&&"["!==s[0]||s.includes("\n")),u=!("object"!==o&&"array"!==o||a||c||f),l=i.length&&!i.endsWith(" ")?`${i} `:i,m=this.options.inline.spaceAfterSeparator;if(u){return`${`${l}${n}:`}\n${this.indentText(s,this.options.indent)}`}{const t=`${l}${n}:${m?" ":""}`,e=s.length?t+s:t.trimEnd();return this.padSubsequentLines(e,t.length)}});return this.seen.delete(t),o.join("\n")}serialize(t,e=0,n=!1){const r=this.getDataType(t);if(("array"===r||"object"===r)&&"never"!==this.options.inline.mode){const i=this.serializeInline(t,e);if(null!==i){if("always"===this.options.inline.mode||i.length<=this.options.inline.threshold){if(!("array"===r?1===t.length:1===Object.keys(t).length)||!("object"===r?0===e||n:0===e))return i}}}return"array"===r?this.serializeArray(t,e):"object"===r?this.serializeObject(t,e,n):this.serializePrimitive(t)}};function Ai(t,e){let n=new ki(e??{}).serialize(t);return e?.ensureNewLineForMultiline&&n.includes("\n")&&!n.startsWith("\n")&&(n="\n"+n),n}import{canonicalize as Ei}from"json-canonicalize";import{extractCodeBlock as Si}from"@isdk/util";export{Fe as AIArgProcessor,L as AIChatRoles,D as AIMessageTypes,Kt as AIStream,z as AITextGenerationFinishReasons,u as AbortError,l as AbortErrorCode,m as AlreadyExistsError,h as AlreadyExistsErrorCode,yi as ArrayMergeWay,pi as ArrayMergeWaySymbol,d as BaseError,Zn as BinarySemaphore,ge as CMD_ARG_FLAG_SYMBOL,ye as CMD_ARG_PROCESSOR_RESULT,we as CMD_ARG_UNRESOLVED_SYMBOL,Be as ChoiceArgProcessor,ve as CmdArgLexer,Le as CmdArgParser,be as CmdArgTokenType,p as CommonError,Rn as ConfigFile,Gr as DEFAULT_CONFIG_NAME,Kn as DefaultAsyncSemaphoreCapacity,I as DefaultDateFormat,F as EnvPromptTemplate,w as ErrorCode,G as FStringPromptTemplate,J as FewShotPromptTemplate,re as FilenameReservedRegex,K as GolangPromptTemplate,Ht as HashAlgorithm,Ae as IDENTIFIER_REGEX,Gn as IntSet,g as InternalErrorCode,$r as LLM_TOKENIZER_NAMES,kr as LLM_TOKENIZER_NAMES_MAP,t as LRUCache,v as NotFoundError,b as NotFoundErrorCode,k as NotImplementationError,$ as NotImplementedErrorCode,Ve as ObjectArgsToArgsInfo,f as PASSING_SCORE,Ee as PATH_IDENTIFIER_REGEX,tt as PromptExampleSelector,P as PromptTemplate,ke as RESERVED_WORDS,zt as RStreamErrCode,Un as RateLimit,Lt as ReadableStreamError,Dt as ResponseRStreamErrCode,ei as SHUTDOWN_SIGNALS,e as SecondaryCache,Hn as Semaphore,Vn as SignalGate,X as StrangeHumanName,Pe as TemplateArgProcessor,fe as WindowsReservedNameRegex,Cr as YamlTypeBaseObject,n as _lrucache,R as addDate,sr as assignDirs,Ut as base32768,oi as beforeShutdown,li as calcPerplexity,mi as calcPerplexitySimple,Ei as canonicalize,ze as cmdArgEvaluate,Ke as cmdArgsToMergedObject,dt as completeSentences,yt as concatText,Sr as countLLMTokens,Wn as countRegexMatches,a as createAbilityInjector,Bt as createEmptyReadableStream,rn as createEndWithRepetitionDetector,y as createError,Ft as createEventStreamTransformer,W as createHfValueFunc,r as createLRUCache,zr as createYamlObjectTag,C as dateToText,hn as decodeCharset,U as defaultTemplateFormat,wi as defaultsWithConcat,bn as detectCharset,Er as encodeLLMTokens,je as ensureQuoted,De as evaluateExpression,Zr as expandConfig,Z as expandEnv,H as expandObjEnv,Wr as expandPath,Jr as expandPathInObject,Qr as expandPaths,ne as extNameLevel,Si as extractCodeBlock,fn as fileIsExists,tn as filterValidFnScope,St as findIndexNonEmptyFrom,s as findPort,N as formatISO,xr as formatTextWithSpace,he as getAllEnumKeys,_n as getConfigFileNames,In as getConfigs,V as getEnvVairables,wn as getFileMetaInfo,gn as getHashAlgoBySize,en as getKeysPath,Ar as getLLMTokenizer,ie as getMultiLevelExtname,nr as getPackageDir,pn as getRealFilepath,Xt as getResponseErrorReadableStream,Vr as getXDGConfigs,or as hasDirectoryIn,Vt as hash,yn as hashFile,Wt as hashObject,Qt as hashStream,si as initShutdown,Se as isIdentifier,Et as isLangUsingSpaces,vt as isListItemString,me as isModelNameMatched,Re as isPathIdentifier,kt as isPunctuationChar,Ne as isQuoted,mr as isRegExp,Dr as isSameString,gt as isSectionString,wt as isSentenceEnding,$t as isSepLineString,Oe as isStrWrapped,ir as isSubdirectory,bt as isTitleString,oe as isValidFilename,se as isValidFilepath,Ct as isWebStream,bi as joinSplitWords,Ln as jsonFilterToWhere,Fn as jsonToMarkdownStr,Ur as loadAIConfig,Hr as loadConfig,Kr as loadConfigFile,un as loadFileFromPaths,mn as loadTextFromPaths,i as lrucache,Xn as matchUrlProtocol,Yn as memoize,gi as mergeArray,B as messagesToText,xn as mimeType,fr as normalizePath,Bn as paramsSizeToScaleStr,We as parseCommand,S as parseDateFormat,O as parseISO,Qe as parseJsJson,Je as parseJsJsonSimpleSync,Ge as parseObjectArguments,On as parseYaml,$i as prependNewlineIfMultiline,ar as pruneSubdirectories,cr as pruneSubdirectoriesInPlace,_e as quoteStr,dn as readFilenamesRecursiveSync,_r as readTextFileChunks,Ir as readTextFileChunksEx,Zt as readableFromAsyncIterable,o as registerCoreTools,Nn as registerYamlTag,xt as removeMarkdownBold,Nt as removeMarkdownBoldAndItalic,Rt as removeMarkdownItalic,Ie as replaceWithPlaceholder,Te as restoreFromPlacehoders,ae as sanitizeFilename,ce as sanitizeFilepath,Tn as saveConfigFile,Pn as scaleStrToParamsSize,ii as shutdown,He as simplifyObjectArguments,Ze as simplifyResult,It as sleep,Q as sortedValues,Tr as splitChunks,Ot as splitParagraph,ht as splitSentence,vi as splitWords,jn as stringifyYaml,hr as stripConsoleColor,M as textToDate,Ai as textify,A as throwError,j as toDate,T as toDateTime,c as toRegExp,Gt as trimStartOfStreamHelper,jt as truncTo,Or as truncateByToken,Rr as truncateToTokenLimit,Nr as truncateToTokenLimitEx,Jt as uuid,Mt as wait,xe as wrapFlagValue,qt as xxhash,Yt as xxhash32,te as xxhash64,ee as xxhashAsStr,Tt as yieldExec};
|
package/dist/test/util.d.mts
CHANGED
package/dist/test/util.d.ts
CHANGED