@isdk/ai-tool 0.7.0 → 0.8.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.
Files changed (359) hide show
  1. package/dist/chunk-4FKBOPZI.mjs +1 -0
  2. package/dist/{chunk-VIG2GB47.mjs → chunk-TGTHY57V.mjs} +1 -1
  3. package/dist/funcs.d.mts +1 -2
  4. package/dist/funcs.d.ts +1 -2
  5. package/dist/funcs.js +1 -1
  6. package/dist/funcs.mjs +1 -1
  7. package/dist/{index-BCco-g_I.d.mts → index-BLW3R7VS.d.mts} +114 -69
  8. package/dist/{index-BCco-g_I.d.ts → index-BLW3R7VS.d.ts} +114 -69
  9. package/dist/index.d.mts +101 -38
  10. package/dist/index.d.ts +101 -38
  11. package/dist/index.js +1 -1
  12. package/dist/index.mjs +1 -1
  13. package/dist/test/util.js +1 -1
  14. package/dist/test/util.mjs +1 -1
  15. package/docs/api/{namespaces → @isdk/namespaces}/EventStates/README.md +2 -2
  16. package/docs/api/{namespaces → @isdk/namespaces}/EventStates/variables/ABORT.md +2 -2
  17. package/docs/api/{namespaces → @isdk/namespaces}/EventStates/variables/CONTINUE.md +2 -2
  18. package/docs/api/{namespaces → @isdk/namespaces}/EventStates/variables/DONE.md +2 -2
  19. package/docs/api/{namespaces → @isdk/namespaces}/EventStates/variables/STOPPED.md +2 -2
  20. package/docs/api/@isdk/namespaces/uuidv5/README.md +12 -0
  21. package/docs/api/{namespaces → @isdk/namespaces}/uuidv5/variables/DNS.md +2 -2
  22. package/docs/api/{namespaces → @isdk/namespaces}/uuidv5/variables/URL.md +2 -2
  23. package/docs/api/_media/pubsub.md +427 -105
  24. package/docs/api/_media/server_client_tools.md +5 -3
  25. package/docs/api/_media/toolFunc.md +3 -1
  26. package/docs/api/classes/AbortError.md +8 -8
  27. package/docs/api/classes/AlreadyExistsError.md +8 -8
  28. package/docs/api/classes/BaseError.md +14 -14
  29. package/docs/api/classes/BinarySemaphore.md +39 -39
  30. package/docs/api/classes/CancelableAbility.md +43 -39
  31. package/docs/api/classes/ClientToolTransport.md +22 -22
  32. package/docs/api/classes/ClientTools.md +182 -154
  33. package/docs/api/classes/CommonError.md +12 -12
  34. package/docs/api/classes/ConfigFile.md +6 -6
  35. package/docs/api/classes/EnvPromptTemplate.md +14 -14
  36. package/docs/api/classes/EventClient.md +258 -201
  37. package/docs/api/classes/EventEmitter.md +14 -14
  38. package/docs/api/classes/EventServer.md +220 -237
  39. package/docs/api/classes/EventToolFunc.md +144 -116
  40. package/docs/api/classes/FStringPromptTemplate.md +14 -14
  41. package/docs/api/classes/FewShotPromptTemplate.md +30 -26
  42. package/docs/api/classes/GolangPromptTemplate.md +13 -13
  43. package/docs/api/classes/HttpClientToolTransport.md +23 -23
  44. package/docs/api/classes/HttpServerToolTransport.md +40 -27
  45. package/docs/api/classes/IntSet.md +21 -21
  46. package/docs/api/classes/LRUCache.md +18 -18
  47. package/docs/api/classes/NotFoundError.md +8 -8
  48. package/docs/api/classes/NotImplementationError.md +8 -8
  49. package/docs/api/classes/PromptExampleSelector.md +17 -15
  50. package/docs/api/classes/PromptTemplate.md +15 -15
  51. package/docs/api/classes/ReadableStreamError.md +12 -12
  52. package/docs/api/classes/ResClientTools.md +658 -143
  53. package/docs/api/classes/ResServerTools.md +643 -133
  54. package/docs/api/classes/RpcMethodsClientTool.md +3303 -0
  55. package/docs/api/classes/RpcMethodsServerTool.md +3248 -0
  56. package/docs/api/classes/SSEChannel.md +142 -52
  57. package/docs/api/classes/Semaphore.md +40 -40
  58. package/docs/api/classes/ServerToolTransport.md +32 -27
  59. package/docs/api/classes/ServerTools.md +167 -139
  60. package/docs/api/classes/SignalGate.md +19 -17
  61. package/docs/api/classes/SseClientPubSubTransport.md +38 -10
  62. package/docs/api/classes/SseServerPubSubTransport.md +115 -42
  63. package/docs/api/classes/TaskAbortController.md +13 -13
  64. package/docs/api/classes/ToolFunc.md +157 -129
  65. package/docs/api/classes/ToolTransport.md +13 -13
  66. package/docs/api/classes/YamlTypeBaseObject.md +5 -5
  67. package/docs/api/enumerations/AsyncFeatureBits.md +4 -4
  68. package/docs/api/enumerations/AsyncFeatures.md +4 -4
  69. package/docs/api/enumerations/HashAlgorithm.md +12 -12
  70. package/docs/api/functions/AIArgProcessor.md +2 -2
  71. package/docs/api/functions/AIStream.md +8 -4
  72. package/docs/api/functions/ChoiceArgProcessor.md +2 -2
  73. package/docs/api/functions/DefaultDateFormat.md +2 -2
  74. package/docs/api/functions/ObjectArgsToArgsInfo.md +1 -1
  75. package/docs/api/functions/RateLimit.md +2 -2
  76. package/docs/api/functions/TemplateArgProcessor.md +2 -2
  77. package/docs/api/functions/addDate.md +7 -3
  78. package/docs/api/functions/assignDirs.md +1 -1
  79. package/docs/api/functions/beforeShutdown.md +1 -1
  80. package/docs/api/functions/calcPerplexity.md +2 -2
  81. package/docs/api/functions/calcPerplexitySimple.md +1 -1
  82. package/docs/api/functions/canonicalize.md +1 -1
  83. package/docs/api/functions/completeSentences.md +1 -1
  84. package/docs/api/functions/concatText.md +1 -1
  85. package/docs/api/functions/countLLMTokens.md +1 -1
  86. package/docs/api/functions/countRegexMatches.md +1 -1
  87. package/docs/api/functions/createAbilityInjector.md +16 -8
  88. package/docs/api/functions/createCallbacksTransformer.md +7 -3
  89. package/docs/api/functions/createEmptyReadableStream.md +1 -1
  90. package/docs/api/functions/createEndWithRepetitionDetector.md +2 -2
  91. package/docs/api/functions/createError.md +1 -1
  92. package/docs/api/functions/createEventStreamTransformer.md +8 -4
  93. package/docs/api/functions/createHfValueFunc.md +1 -1
  94. package/docs/api/functions/createLRUCache.md +2 -2
  95. package/docs/api/functions/createYamlObjectTag.md +1 -1
  96. package/docs/api/functions/dateToText.md +1 -1
  97. package/docs/api/functions/decodeCharset.md +2 -2
  98. package/docs/api/functions/defaultsWithConcat.md +1 -1
  99. package/docs/api/functions/detectCharset.md +2 -2
  100. package/docs/api/functions/encodeLLMTokens.md +1 -1
  101. package/docs/api/functions/ensureQuoted.md +1 -1
  102. package/docs/api/functions/eventable.md +6 -8
  103. package/docs/api/functions/expandConfig.md +2 -2
  104. package/docs/api/functions/expandObjEnv.md +1 -1
  105. package/docs/api/functions/expandPath.md +2 -2
  106. package/docs/api/functions/expandPathInObject.md +2 -2
  107. package/docs/api/functions/expandPaths.md +2 -2
  108. package/docs/api/functions/fileIsExists.md +1 -1
  109. package/docs/api/functions/filterValidFnScope.md +2 -2
  110. package/docs/api/functions/findIndexNonEmptyFrom.md +1 -1
  111. package/docs/api/functions/findPort.md +1 -1
  112. package/docs/api/functions/formatISO.md +1 -1
  113. package/docs/api/functions/formatTextWithSpace.md +2 -2
  114. package/docs/api/functions/funcGetMeta.md +1 -1
  115. package/docs/api/functions/funcWithMeta.md +2 -2
  116. package/docs/api/functions/genUrlParamsStr.md +8 -2
  117. package/docs/api/functions/getAllEnumKeys.md +4 -2
  118. package/docs/api/functions/getConfigFileNames.md +2 -2
  119. package/docs/api/functions/getConfigs.md +2 -2
  120. package/docs/api/functions/getFileMetaInfo.md +1 -1
  121. package/docs/api/functions/getHashAlgoBySize.md +1 -1
  122. package/docs/api/functions/getKeysPath.md +4 -2
  123. package/docs/api/functions/getLLMTokenizer.md +1 -1
  124. package/docs/api/functions/getMultiLevelExtname.md +1 -1
  125. package/docs/api/functions/getPackageDir.md +1 -1
  126. package/docs/api/functions/getRealFilepath.md +1 -1
  127. package/docs/api/functions/getResponseErrorReadableStream.md +2 -2
  128. package/docs/api/functions/getXDGConfigs.md +1 -1
  129. package/docs/api/functions/hasDirectoryIn.md +2 -2
  130. package/docs/api/functions/hash.md +1 -1
  131. package/docs/api/functions/hashFile.md +2 -2
  132. package/docs/api/functions/hashObject.md +2 -2
  133. package/docs/api/functions/hashStream.md +1 -1
  134. package/docs/api/functions/initShutdown.md +1 -1
  135. package/docs/api/functions/isLangUsingSpaces.md +1 -1
  136. package/docs/api/functions/isListItemString.md +1 -1
  137. package/docs/api/functions/isModelNameMatched.md +2 -2
  138. package/docs/api/functions/isPunctuationChar.md +1 -1
  139. package/docs/api/functions/isQuoted.md +1 -1
  140. package/docs/api/functions/isRegExp.md +1 -1
  141. package/docs/api/functions/isSameString.md +1 -1
  142. package/docs/api/functions/isSectionString.md +2 -2
  143. package/docs/api/functions/isSentenceEnding.md +1 -1
  144. package/docs/api/functions/isSepLineString.md +1 -1
  145. package/docs/api/functions/isStrWrapped.md +1 -1
  146. package/docs/api/functions/isSubdirectory.md +1 -1
  147. package/docs/api/functions/isTitleString.md +2 -2
  148. package/docs/api/functions/isWebStream.md +1 -1
  149. package/docs/api/functions/joinSplitWords.md +1 -1
  150. package/docs/api/functions/jsonFilterToWhere.md +2 -2
  151. package/docs/api/functions/jsonToMarkdownStr.md +2 -2
  152. package/docs/api/functions/loadAIConfig.md +1 -1
  153. package/docs/api/functions/loadConfig.md +1 -1
  154. package/docs/api/functions/loadConfigFile.md +1 -1
  155. package/docs/api/functions/loadFileFromPaths.md +2 -2
  156. package/docs/api/functions/loadTextFromPaths.md +3 -3
  157. package/docs/api/functions/lrucache.md +1 -1
  158. package/docs/api/functions/matchUrlProtocol.md +1 -1
  159. package/docs/api/functions/memoize.md +5 -3
  160. package/docs/api/functions/mergeArray.md +1 -1
  161. package/docs/api/functions/messagesToText.md +1 -1
  162. package/docs/api/functions/nanoid.md +45 -0
  163. package/docs/api/functions/normalizePath.md +1 -1
  164. package/docs/api/functions/paramsSizeToScaleStr.md +1 -1
  165. package/docs/api/functions/parseCommand.md +3 -3
  166. package/docs/api/functions/parseDateFormat.md +7 -3
  167. package/docs/api/functions/parseISO.md +7 -3
  168. package/docs/api/functions/parseJsJson.md +2 -2
  169. package/docs/api/functions/parseJsJsonSimpleSync.md +2 -2
  170. package/docs/api/functions/parseObjectArgInfo.md +2 -2
  171. package/docs/api/functions/parseObjectArgumentInfos.md +2 -2
  172. package/docs/api/functions/parseObjectArguments.md +2 -2
  173. package/docs/api/functions/parseObjectArgumentsAsArgInfos.md +2 -2
  174. package/docs/api/functions/parseYaml.md +1 -1
  175. package/docs/api/functions/pruneSubdirectories.md +1 -1
  176. package/docs/api/functions/pruneSubdirectoriesInPlace.md +1 -1
  177. package/docs/api/functions/quoteStr.md +1 -1
  178. package/docs/api/functions/readFilenamesRecursiveSync.md +2 -2
  179. package/docs/api/functions/readTextFileChunks.md +2 -2
  180. package/docs/api/functions/readTextFileChunksEx.md +2 -2
  181. package/docs/api/functions/readableFromAsyncIterable.md +4 -2
  182. package/docs/api/functions/registerCoreTools.md +1 -1
  183. package/docs/api/functions/removeMarkdownBold.md +2 -2
  184. package/docs/api/functions/removeMarkdownBoldAndItalic.md +2 -2
  185. package/docs/api/functions/removeMarkdownItalic.md +2 -2
  186. package/docs/api/functions/replaceWithPlaceholder.md +2 -2
  187. package/docs/api/functions/restoreFromPlacehoders.md +2 -2
  188. package/docs/api/functions/sanitizeFilename.md +1 -1
  189. package/docs/api/functions/sanitizeFilepath.md +1 -1
  190. package/docs/api/functions/saveConfigFile.md +1 -1
  191. package/docs/api/functions/scaleStrToParamsSize.md +1 -1
  192. package/docs/api/functions/shutdown.md +1 -1
  193. package/docs/api/functions/simplifyObjectArguments.md +1 -1
  194. package/docs/api/functions/sleep.md +1 -1
  195. package/docs/api/functions/sortedValues.md +4 -2
  196. package/docs/api/functions/splitChunks.md +2 -2
  197. package/docs/api/functions/splitParagraph.md +2 -2
  198. package/docs/api/functions/splitSentence.md +1 -1
  199. package/docs/api/functions/splitWords.md +1 -1
  200. package/docs/api/functions/stringifyYaml.md +1 -1
  201. package/docs/api/functions/stripConsoleColor.md +1 -1
  202. package/docs/api/functions/textToDate.md +1 -1
  203. package/docs/api/functions/throwError.md +1 -1
  204. package/docs/api/functions/toDate.md +7 -3
  205. package/docs/api/functions/toDateTime.md +1 -1
  206. package/docs/api/functions/trimStartOfStreamHelper.md +3 -3
  207. package/docs/api/functions/truncTo.md +1 -1
  208. package/docs/api/functions/truncateByToken.md +2 -2
  209. package/docs/api/functions/truncateToTokenLimit.md +2 -2
  210. package/docs/api/functions/truncateToTokenLimitEx.md +2 -2
  211. package/docs/api/functions/uuid.md +15 -6
  212. package/docs/api/functions/uuidStringify.md +1 -1
  213. package/docs/api/functions/uuidv1.md +5 -3
  214. package/docs/api/functions/uuidv4.md +5 -3
  215. package/docs/api/functions/uuidv5.md +5 -3
  216. package/docs/api/functions/uuidv6.md +61 -0
  217. package/docs/api/functions/uuidv7.md +61 -0
  218. package/docs/api/functions/wrapEventEmitter.md +1 -1
  219. package/docs/api/functions/xxhash.md +1 -1
  220. package/docs/api/functions/xxhash32.md +1 -1
  221. package/docs/api/functions/xxhash64.md +1 -1
  222. package/docs/api/functions/xxhashAsStr.md +1 -1
  223. package/docs/api/functions/yieldExec.md +1 -1
  224. package/docs/api/globals.md +17 -6
  225. package/docs/api/interfaces/AIChatAssistantMessageParam.md +12 -12
  226. package/docs/api/interfaces/AIChatContentPartImage.md +3 -3
  227. package/docs/api/interfaces/AIChatContentPartText.md +3 -3
  228. package/docs/api/interfaces/AIChatMessageParamBase.md +7 -7
  229. package/docs/api/interfaces/AIChatMessageToolCall.md +4 -4
  230. package/docs/api/interfaces/AIChatSystemMessageParam.md +9 -9
  231. package/docs/api/interfaces/AIChatToolChoiceFuncObject.md +3 -3
  232. package/docs/api/interfaces/AIChatToolChoiceObject.md +2 -2
  233. package/docs/api/interfaces/AIChatToolFunc.md +5 -5
  234. package/docs/api/interfaces/AIChatToolFuncParam.md +3 -3
  235. package/docs/api/interfaces/AIChatToolMessageParam.md +10 -10
  236. package/docs/api/interfaces/AIChatToolParam.md +2 -2
  237. package/docs/api/interfaces/AIChatToolTypeObject.md +2 -2
  238. package/docs/api/interfaces/AIChatUserMessageParam.md +13 -13
  239. package/docs/api/interfaces/AIChoiceConfig.md +8 -8
  240. package/docs/api/interfaces/AIResult.md +12 -8
  241. package/docs/api/interfaces/AIStreamParser.md +8 -6
  242. package/docs/api/interfaces/AIStreamParserOptions.md +2 -2
  243. package/docs/api/interfaces/BaseFunc.md +17 -17
  244. package/docs/api/interfaces/BaseFuncItem.md +15 -15
  245. package/docs/api/interfaces/BinarySemaphoreAcquireOptions.md +2 -2
  246. package/docs/api/interfaces/BinarySemaphoreOptions.md +5 -5
  247. package/docs/api/interfaces/BinarySemaphoreReleaseOptions.md +2 -2
  248. package/docs/api/interfaces/BinarySemaphoreReleaserFunc.md +3 -3
  249. package/docs/api/interfaces/CancelableAbilityOptions.md +4 -4
  250. package/docs/api/interfaces/ClientFuncItem.md +21 -25
  251. package/docs/api/interfaces/EventClientFuncParams.md +5 -5
  252. package/docs/api/interfaces/EventServerFuncParams.md +14 -6
  253. package/docs/api/interfaces/FewShotPromptTemplateOptions.md +9 -7
  254. package/docs/api/interfaces/FuncItem.md +18 -18
  255. package/docs/api/interfaces/FuncParam.md +5 -5
  256. package/docs/api/interfaces/FuncParams.md +1 -1
  257. package/docs/api/interfaces/Funcs.md +1 -1
  258. package/docs/api/interfaces/HashAlgoParams.md +4 -4
  259. package/docs/api/interfaces/IClientToolTransport.md +9 -9
  260. package/docs/api/interfaces/IFileMetaInfo.md +8 -8
  261. package/docs/api/interfaces/IPubSubClientTransport.md +31 -7
  262. package/docs/api/interfaces/IPubSubServerTransport.md +92 -47
  263. package/docs/api/interfaces/IReadTextFileChunksOptions.md +13 -13
  264. package/docs/api/interfaces/IServerToolTransport.md +19 -14
  265. package/docs/api/interfaces/IToolTransport.md +6 -6
  266. package/docs/api/interfaces/ITruncateToTokenLimitOptions.md +11 -11
  267. package/docs/api/interfaces/JsonFilter.md +1 -1
  268. package/docs/api/interfaces/ParseObjectArgumentOptions.md +11 -11
  269. package/docs/api/interfaces/ProbabilityItem.md +4 -4
  270. package/docs/api/interfaces/PromptExampleSelectorOptions.md +3 -3
  271. package/docs/api/interfaces/PubSubClientStream.md +26 -14
  272. package/docs/api/interfaces/PubSubServerSession.md +8 -8
  273. package/docs/api/interfaces/RemoteFuncItem.md +21 -25
  274. package/docs/api/interfaces/ReplacePlacehoderOptions.md +5 -5
  275. package/docs/api/interfaces/ResClientFuncParams.md +5 -5
  276. package/docs/api/interfaces/ResServerFuncParams.md +14 -10
  277. package/docs/api/interfaces/RpcMethodsClientFuncParams.md +25 -0
  278. package/docs/api/interfaces/RpcMethodsServerFuncParams.md +61 -0
  279. package/docs/api/interfaces/SectionStringOptions.md +3 -3
  280. package/docs/api/interfaces/SemaphoreOptions.md +7 -7
  281. package/docs/api/interfaces/SemaphoreTaskItem.md +6 -6
  282. package/docs/api/interfaces/ServerFuncItem.md +22 -26
  283. package/docs/api/interfaces/ServerFuncParams.md +4 -3
  284. package/docs/api/interfaces/SplitSentenceOptions.md +5 -5
  285. package/docs/api/interfaces/StreamCallbacksAndOptions.md +11 -7
  286. package/docs/api/interfaces/TaskAbortControllers.md +1 -1
  287. package/docs/api/interfaces/TaskPromise.md +17 -9
  288. package/docs/api/interfaces/ToolFuncPackage.md +5 -5
  289. package/docs/api/type-aliases/AIChatContentPart.md +2 -2
  290. package/docs/api/type-aliases/AIChatMessageParam.md +2 -2
  291. package/docs/api/type-aliases/AIChatRole.md +2 -2
  292. package/docs/api/type-aliases/AIChatToolChoiceParam.md +2 -2
  293. package/docs/api/type-aliases/AIMessageType.md +2 -2
  294. package/docs/api/type-aliases/AIModelNameRule.md +2 -2
  295. package/docs/api/type-aliases/AIModelNameRuleFn.md +2 -2
  296. package/docs/api/type-aliases/AIModelNameRules.md +2 -2
  297. package/docs/api/type-aliases/AITextGenerationFinishReason.md +2 -2
  298. package/docs/api/type-aliases/ActionName.md +2 -2
  299. package/docs/api/type-aliases/ArrayMergeWay.md +2 -2
  300. package/docs/api/type-aliases/AsyncTaskId.md +2 -2
  301. package/docs/api/type-aliases/BeforeShutdownListener.md +2 -2
  302. package/docs/api/type-aliases/EventErrorListenerFn.md +2 -2
  303. package/docs/api/type-aliases/EventListenerFn.md +2 -2
  304. package/docs/api/type-aliases/FuncParamType.md +2 -2
  305. package/docs/api/type-aliases/PromptExamples.md +5 -3
  306. package/docs/api/type-aliases/PubSubClientId.md +2 -2
  307. package/docs/api/type-aliases/PubSubCtx.md +24 -4
  308. package/docs/api/type-aliases/RpcMethodHandler.md +2 -2
  309. package/docs/api/type-aliases/SSEClient.md +53 -0
  310. package/docs/api/type-aliases/SemaphoreIsReadyFuncType.md +2 -2
  311. package/docs/api/type-aliases/TFunc.md +2 -2
  312. package/docs/api/type-aliases/UUIDVersions.md +11 -0
  313. package/docs/api/variables/AIChatRoles.md +1 -1
  314. package/docs/api/variables/AIMessageTypes.md +1 -1
  315. package/docs/api/variables/AITextGenerationFinishReasons.md +1 -1
  316. package/docs/api/variables/ActionNames.md +1 -1
  317. package/docs/api/variables/ArrayMergeWay.md +2 -2
  318. package/docs/api/variables/ArrayMergeWaySymbol.md +2 -2
  319. package/docs/api/variables/ClientEventPrefix.md +11 -0
  320. package/docs/api/variables/ClientToolFuncSchema.md +4 -2
  321. package/docs/api/variables/DEFAULT_CONFIG_NAME.md +1 -1
  322. package/docs/api/variables/DefaultAsyncSemaphoreCapacity.md +1 -1
  323. package/docs/api/variables/EventBusName.md +1 -1
  324. package/docs/api/variables/EventName.md +1 -1
  325. package/docs/api/variables/FuncMetaSymbol.md +2 -2
  326. package/docs/api/variables/LLM_TOKENIZER_NAMES.md +4 -4
  327. package/docs/api/variables/LLM_TOKENIZER_NAMES_MAP.md +1 -1
  328. package/docs/api/variables/PASSING_SCORE.md +1 -1
  329. package/docs/api/variables/RStreamErrCode.md +1 -1
  330. package/docs/api/variables/RemoteToolFuncSchema.md +4 -2
  331. package/docs/api/variables/ResponseRStreamErrCode.md +1 -1
  332. package/docs/api/variables/RpcMethodsClientToolSchema.md +51 -0
  333. package/docs/api/variables/RpcMethodsServerToolSchema.md +21 -0
  334. package/docs/api/variables/SHUTDOWN_SIGNALS.md +1 -1
  335. package/docs/api/variables/SSEChannelAlreadyClosedErrCode.md +1 -1
  336. package/docs/api/variables/SecondaryCache.md +1 -1
  337. package/docs/api/variables/ServerToolFuncSchema.md +4 -2
  338. package/docs/api/variables/StrangeHumanName.md +1 -1
  339. package/docs/api/variables/ToolAsyncCancelableBit.md +1 -1
  340. package/docs/api/variables/ToolAsyncMultiTaskBit.md +1 -1
  341. package/docs/api/variables/ToolAsyncPriorityBit.md +1 -1
  342. package/docs/api/variables/ToolFuncSchema.md +4 -2
  343. package/docs/api/variables/backendEventable.md +11 -0
  344. package/docs/api/variables/base32768.md +1 -1
  345. package/docs/api/variables/event.md +1 -1
  346. package/docs/api/variables/eventClient.md +1 -1
  347. package/docs/api/variables/eventServer.md +1 -1
  348. package/docs/api/variables/lrucache.md +1 -1
  349. package/docs/api/variables/makeToolFuncCancelable.md +11 -0
  350. package/docs/api/{functions → variables}/wait.md +16 -14
  351. package/docs/pubsub.md +427 -105
  352. package/docs/server_client_tools.md +5 -3
  353. package/docs/toolFunc.md +3 -1
  354. package/package.json +10 -9
  355. package/dist/chunk-LNTIQQNN.mjs +0 -1
  356. package/docs/api/functions/backendEventable.md +0 -29
  357. package/docs/api/functions/makeToolFuncCancelable.md +0 -29
  358. package/docs/api/interfaces/PubSubClient.md +0 -27
  359. package/docs/api/namespaces/uuidv5/README.md +0 -12
@@ -3,7 +3,6 @@ import { AdvancePropertyManager } from 'property-manager';
3
3
  import { AbilityOptions } from 'custom-ability';
4
4
  import { CommonError } from '@isdk/common-error';
5
5
  import { Cache, ICacheOptions } from 'secondary-cache';
6
- import { IncomingMessage, ServerResponse } from 'http';
7
6
 
8
7
  /**
9
8
  * Represents the data type of a function parameter as a string (e.g., `'string'`, `'number'`).
@@ -681,9 +680,8 @@ interface RemoteFuncItem extends BaseFuncItem {
681
680
  */
682
681
  action?: ActionName;
683
682
  /**
684
- * Options to be passed to the underlying `fetch` call in an HTTP transport.
683
+ * Addtional options to be passed to the underlying `fetch` call in a transport.
685
684
  * @type {any}
686
- * @deprecated Use `transport` instead.
687
685
  */
688
686
  fetchOptions?: any;
689
687
  }
@@ -1210,8 +1208,8 @@ declare class ClientTools extends ToolFunc {
1210
1208
  static action?: ActionName | string;
1211
1209
  private static _transport;
1212
1210
  /**
1213
- * @deprecated This property is now mainly for informational purposes.
1214
- * The actual endpoint is managed by the transport.
1211
+ * Gets the root URL for API endpoints from the configured transport.
1212
+ * This is used as the base for constructing request URLs.
1215
1213
  */
1216
1214
  static get apiRoot(): string;
1217
1215
  /**
@@ -1234,11 +1232,11 @@ declare class ClientTools extends ToolFunc {
1234
1232
  static loadFromSync(items: Funcs): void;
1235
1233
  static fetch(name: string, objParam?: any, ...args: any[]): Promise<any>;
1236
1234
  /**
1237
- * @deprecated This property is now mainly for informational purposes.
1238
- * The actual endpoint is managed by the transport.
1235
+ * Gets the root URL for API endpoints from the configured transport.
1236
+ * This is used as the base for constructing request URLs.
1239
1237
  */
1240
1238
  get apiRoot(): string;
1241
- fetch(objParam?: any, act?: ActionName, subName?: any): Promise<any>;
1239
+ fetch(objParam?: any, act?: ActionName, subName?: any, fetchOptions?: any): Promise<any>;
1242
1240
  /**
1243
1241
  * The core implementation for a client-side tool. When a `ClientTools` instance
1244
1242
  * is "run", this `func` method is executed. It delegates the call to the
@@ -1391,11 +1389,17 @@ interface RpcMethodsClientFuncParams {
1391
1389
  [name: string]: any;
1392
1390
  }
1393
1391
  declare class RpcMethodsClientTool extends ClientTools {
1394
- fetch(options: RpcMethodsClientFuncParams, action: ActionName, subName?: any): Promise<any>;
1395
- _func(action: ActionName, options: RpcMethodsClientFuncParams): Promise<any>;
1392
+ fetch(options: RpcMethodsClientFuncParams, action: ActionName, subName?: any, fetchOptions?: any): Promise<any>;
1393
+ _func(action: ActionName, options: RpcMethodsClientFuncParams, fetchOptions?: any): Promise<any>;
1396
1394
  func(options: RpcMethodsClientFuncParams): Promise<any>;
1397
1395
  assignMethods(methods: string[]): void;
1398
1396
  }
1397
+ declare const RpcMethodsClientToolSchema: {
1398
+ methods: {
1399
+ type: string;
1400
+ assign(value: string[], dest: RpcMethodsClientTool, src?: any, name?: string, options?: any): void;
1401
+ };
1402
+ };
1399
1403
 
1400
1404
  interface ResClientFuncParams extends RpcMethodsClientFuncParams {
1401
1405
  id?: string | number;
@@ -1408,7 +1412,7 @@ interface ResClientTools {
1408
1412
  list?(options?: ResClientFuncParams): any;
1409
1413
  }
1410
1414
  declare class ResClientTools extends RpcMethodsClientTool {
1411
- fetch(options: ResClientFuncParams, action: ActionName): Promise<any>;
1415
+ fetch(options: ResClientFuncParams, action: ActionName, ...args: any[]): Promise<any>;
1412
1416
  }
1413
1417
 
1414
1418
  type PubSubCtx<T = any> = {
@@ -1428,6 +1432,12 @@ type PubSubCtx<T = any> = {
1428
1432
  * and managing the connection state.
1429
1433
  */
1430
1434
  interface PubSubClientStream {
1435
+ /**
1436
+ * A unique identifier for this specific stream instance.
1437
+ * This ID is typically generated by the client transport and sent to the
1438
+ * server to establish a stable session identity.
1439
+ */
1440
+ clientId: string;
1431
1441
  /**
1432
1442
  * The protocol being used for this stream (e.g., 'sse', 'ws', 'ipc').
1433
1443
  */
@@ -1485,12 +1495,12 @@ interface PubSubClientStream {
1485
1495
  interface IPubSubClientTransport {
1486
1496
  /**
1487
1497
  * Establishes a connection to a server endpoint.
1488
- * @param url The URL of the server's PubSub endpoint.
1498
+ * @param url The full URL of the endpoint, or a path relative to the `apiRoot` that may have been configured on the transport.
1489
1499
  * @param params Optional parameters for the connection, which might include
1490
1500
  * things like authentication tokens, initial subscription topics, or a client ID.
1491
1501
  * @returns A `PubSubClientStream` instance that represents the active connection.
1492
1502
  */
1493
- connect: (url: string, params?: Record<string, any>) => PubSubClientStream;
1503
+ connect: (url: string, params?: any) => PubSubClientStream | Promise<PubSubClientStream>;
1494
1504
  /**
1495
1505
  * Optional. Disconnects a given stream.
1496
1506
  * While the `close` method exists on the stream itself, placing `disconnect`
@@ -1499,6 +1509,13 @@ interface IPubSubClientTransport {
1499
1509
  * @param stream The stream to disconnect.
1500
1510
  */
1501
1511
  disconnect?: (stream: PubSubClientStream) => void;
1512
+ /**
1513
+ * Optional. Configures the transport with a base URL.
1514
+ * If implemented, this allows the transport to resolve relative paths
1515
+ * passed to the `connect` method.
1516
+ * @param apiRoot The base URL for the API.
1517
+ */
1518
+ setApiRoot?: (apiRoot: string) => void;
1502
1519
  }
1503
1520
 
1504
1521
  /**
@@ -1506,21 +1523,6 @@ interface IPubSubClientTransport {
1506
1523
  * This ID is used for targeted message publishing.
1507
1524
  */
1508
1525
  type PubSubClientId = string;
1509
- /**
1510
- * Represents a client as seen by the transport layer after a subscription is made.
1511
- * It contains the client's ID and can hold other transport-specific metadata.
1512
- */
1513
- interface PubSubClient {
1514
- /**
1515
- * The unique identifier for this client.
1516
- * This can be assigned by the client during connection or generated by the server.
1517
- */
1518
- clientId?: PubSubClientId;
1519
- /**
1520
- * Allows for storing additional, transport-specific properties about the client.
1521
- */
1522
- [k: string]: any;
1523
- }
1524
1526
  /**
1525
1527
  * Represents an active client connection session on the server.
1526
1528
  * This object provides a standardized way for the `EventServer` to interact
@@ -1575,37 +1577,44 @@ interface IPubSubServerTransport {
1575
1577
  */
1576
1578
  readonly protocol: 'sse' | 'ws' | 'ipc' | string;
1577
1579
  /**
1578
- * Optional method to mount or register the transport's endpoint with an HTTP
1579
- * server or framework. This is typically required for protocols like SSE or
1580
- * WebSockets that need to handle incoming HTTP requests at a specific path.
1581
- *
1582
- * @param path The URL path to handle (e.g., '/api/events').
1583
- * @param options Additional options for mounting, specific to the framework.
1584
- */
1585
- mount?: (path: string, options?: Record<string, any>) => void;
1586
- /**
1587
- * Establishes a connection with a client and subscribes it to an event stream.
1580
+ * Connects a client, establishing a persistent communication channel.
1588
1581
  *
1589
1582
  * This method is designed to be generic. Transport-specific details, such as
1590
- * HTTP request/response objects or connection handles, should be passed
1591
- * inside the `options` parameter to avoid polluting the abstraction layer.
1583
+ * HTTP request/response objects, are passed inside the `options` parameter.
1584
+ * For protocols like SSE, initial events can be passed to be subscribed to at connection time.
1592
1585
  *
1593
- * @param events Optional array of event names to initially subscribe the client to.
1594
- * @param options A container for transport-specific parameters.
1595
- * @param options.req The underlying request object (e.g., `http.IncomingMessage`).
1596
- * @param options.res The underlying response object (e.g., `http.ServerResponse`).
1597
- * @param options.clientId An optional ID provided by the client. If not provided,
1598
- * the transport should generate one.
1599
- * @param options.headers HTTP headers from the client request.
1600
- * @returns A `PubSubClient` object representing the newly connected client.
1601
- */
1602
- subscribe: (events?: string[], options?: {
1603
- req?: any;
1604
- res?: any;
1586
+ * @param options A container for transport-specific parameters, including optional initial events.
1587
+ * @returns A `PubSubServerSession` object representing the newly connected client session.
1588
+ */
1589
+ connect: (options?: {
1590
+ req: any;
1591
+ res: any;
1605
1592
  clientId?: PubSubClientId;
1606
- headers?: Record<string, string>;
1593
+ events?: string[];
1607
1594
  [k: string]: any;
1608
- }) => PubSubClient;
1595
+ }) => PubSubServerSession;
1596
+ /**
1597
+ * Subscribes a client session to one or more events.
1598
+ *
1599
+ * Note: Not all transports may support subscribing to new events after the
1600
+ * initial connection. For transports like SSE, this might be a no-op or
1601
+ * throw an error.
1602
+ *
1603
+ * @param session The `PubSubServerSession` of the client.
1604
+ * @param events An array of event names to subscribe to.
1605
+ */
1606
+ subscribe: (session: PubSubServerSession, events: string[]) => void;
1607
+ /**
1608
+ * Unsubscribes a client session from one or more events.
1609
+ *
1610
+ * Note: Not all transports may support unsubscribing from events after the
1611
+ * initial connection. For transports like SSE, this might be a no-op or
1612
+ * throw an error.
1613
+ *
1614
+ * @param session The `PubSubServerSession` of the client.
1615
+ * @param events An array of event names to unsubscribe from.
1616
+ */
1617
+ unsubscribe: (session: PubSubServerSession, events: string[]) => void;
1609
1618
  /**
1610
1619
  * Publishes an event from the server to connected clients.
1611
1620
  *
@@ -1642,6 +1651,14 @@ interface IPubSubServerTransport {
1642
1651
  * @param cb The callback function that receives the session, event name, data, and context.
1643
1652
  */
1644
1653
  onMessage?: (cb: (session: PubSubServerSession, event: string, data: any, ctx?: PubSubCtx) => void) => void;
1654
+ /**
1655
+ * Optional. Finds and returns a session based on a request object.
1656
+ * This is used by higher-level tools to find the correct session
1657
+ * for operations like adding a subscription via a generic RPC call.
1658
+ * @param req The request object (e.g., http.IncomingMessage or Electron.IpcMainEvent).
1659
+ * @returns The corresponding session, or undefined if not found.
1660
+ */
1661
+ getSessionFromReq?: (req: any) => PubSubServerSession | undefined;
1645
1662
  }
1646
1663
 
1647
1664
  interface EventClientFuncParams {
@@ -1658,20 +1675,21 @@ declare class EventClient extends ResClientTools {
1658
1675
  _streamEvents: string[] | undefined;
1659
1676
  _sseListeners: Record<string, (data: any, ctx?: PubSubCtx) => void>;
1660
1677
  _forwardEvents: Set<string>;
1661
- get evtSource(): PubSubClientStream;
1678
+ get clientId(): string | undefined;
1679
+ getEvtSource(): Promise<PubSubClientStream>;
1662
1680
  get active(): boolean;
1663
- set active(v: boolean);
1681
+ setActive(v: boolean): Promise<void>;
1664
1682
  description: string;
1665
- initEventStream(events?: string | string[]): PubSubClientStream;
1683
+ initEventStream(events?: string | string[]): Promise<PubSubClientStream>;
1666
1684
  esListener(evtType: string, data: any, ctx?: PubSubCtx): void;
1667
- ebListener: (this: Event, ...data: any[]) => Promise<void>;
1685
+ ebListener: (this: Event, ...args: any[]) => Promise<void>;
1668
1686
  /**
1669
- * subscribe server sent event(SSE)
1687
+ * subscribe server event
1670
1688
  * @param events
1671
1689
  */
1672
1690
  subscribe(events: string | string[]): Promise<any>;
1673
1691
  /**
1674
- * unsubscribe server sent event(SSE)
1692
+ * unsubscribe server event
1675
1693
  * @param events
1676
1694
  */
1677
1695
  unsubscribe(events: string | string[]): Promise<any>;
@@ -1715,6 +1733,11 @@ declare class RpcMethodsServerTool extends ServerTools {
1715
1733
  castParams(params: RpcMethodsServerFuncParams): RpcMethodsServerFuncParams;
1716
1734
  func(params: RpcMethodsServerFuncParams): any;
1717
1735
  }
1736
+ declare const RpcMethodsServerToolSchema: {
1737
+ methods: {
1738
+ type: string;
1739
+ };
1740
+ };
1718
1741
 
1719
1742
  interface ResServerFuncParams extends RpcMethodsServerFuncParams {
1720
1743
  id?: string | number;
@@ -1736,12 +1759,19 @@ declare class ResServerTools extends RpcMethodsServerTool {
1736
1759
  castParams(params: RpcMethodsServerFuncParams): RpcMethodsServerFuncParams;
1737
1760
  }
1738
1761
 
1762
+ declare const ClientEventPrefix = "client:";
1739
1763
  interface EventServerFuncParams extends ServerFuncParams {
1740
1764
  event?: string | string[];
1741
1765
  data?: any;
1742
1766
  act?: 'sub' | 'pub' | 'unsub';
1767
+ clientId?: string;
1743
1768
  }
1744
1769
  declare class EventServer extends ResServerTools {
1770
+ /**
1771
+ * Controls whether the client-published events are auto-emitted on server's localBus.
1772
+ * Defaults to false for security. Must be explicitly enabled for 'client:' prefixed events to be emitted.
1773
+ */
1774
+ static autoInjectToLocalBus: boolean;
1745
1775
  private static _boundEbListener?;
1746
1776
  static _pubSubTransport: IPubSubServerTransport | undefined;
1747
1777
  static setPubSubTransport(t?: IPubSubServerTransport): void;
@@ -1752,25 +1782,40 @@ declare class EventServer extends ResServerTools {
1752
1782
  "event-bus": EventToolFunc;
1753
1783
  };
1754
1784
  get pubSubTransport(): IPubSubServerTransport | undefined;
1755
- static publish(data: any, event: string, target?: {
1785
+ static publish(event: string, data: any, target?: {
1756
1786
  clientId?: string | string[];
1757
1787
  }): void | undefined;
1758
1788
  static ebListener(eventType: string, ...data: any[]): void;
1759
- static subscribe(req: IncomingMessage, res: ServerResponse, events?: string[], options?: any): PubSubClient | undefined;
1760
1789
  static alreadyForward(event: string): true | undefined;
1761
- publishSSE(data: any, event: string): any;
1762
- subscribeSSE(req: IncomingMessage, res: ServerResponse, events?: string | string[]): any;
1790
+ publishServerEvent(event: string, data: any): any;
1763
1791
  forward(events: string | string[]): void;
1764
1792
  unforward(events: string | string[]): void;
1765
- list({ _req, _res, event }: EventServerFuncParams): void;
1766
- $sub({ event }: EventServerFuncParams): {
1793
+ list({ _req, _res, event }: EventServerFuncParams): PubSubServerSession;
1794
+ $sub({ event, _req }: EventServerFuncParams): {
1795
+ forward: boolean;
1796
+ subscribed: boolean;
1767
1797
  event: string | string[];
1798
+ clientId: any;
1799
+ } | {
1800
+ forward: boolean;
1801
+ event: string | string[];
1802
+ subscribed?: undefined;
1803
+ clientId?: undefined;
1768
1804
  };
1769
- $unsub({ event }: EventServerFuncParams): {
1805
+ $unsub({ event, _req }: EventServerFuncParams): {
1806
+ forward: boolean;
1807
+ subscribed: boolean;
1808
+ event: string | string[];
1809
+ clientId: any;
1810
+ } | {
1811
+ forward: boolean;
1770
1812
  event: string | string[];
1813
+ subscribed?: undefined;
1814
+ clientId?: undefined;
1771
1815
  };
1772
- $publish({ event: events, data }: EventServerFuncParams): {
1816
+ $publish({ event: events, data, _req }: EventServerFuncParams): {
1773
1817
  event: string[];
1818
+ senderId: any;
1774
1819
  };
1775
1820
  isStream(params: ServerFuncParams): boolean;
1776
1821
  }
@@ -1778,4 +1823,4 @@ declare const eventServer: EventServer;
1778
1823
 
1779
1824
  declare function registerCoreTools(): void;
1780
1825
 
1781
- export { funcGetMeta as $, type AsyncTaskId as A, type BinarySemaphoreOptions as B, ClientToolTransport as C, DefaultAsyncSemaphoreCapacity as D, TaskAbortController as E, type Funcs as F, type TaskAbortControllers as G, type TaskPromise as H, type IPubSubServerTransport as I, CancelableAbility as J, makeToolFuncCancelable as K, type FuncParamType as L, type FuncParam as M, type FuncParams as N, type TFunc as O, type PubSubClientId as P, type BaseFuncItem as Q, RemoteToolFuncSchema as R, ServerTools as S, ToolTransport as T, type FuncItem as U, type BaseFunc as V, type ToolFuncPackage as W, ToolFunc as X, ToolFuncSchema as Y, FuncMetaSymbol as Z, funcWithMeta as _, type AIModelNameRules as a, ClientTools as a0, type ClientFuncItem as a1, ClientToolFuncSchema as a2, type ServerFuncParams as a3, type ServerFuncItem as a4, ServerToolFuncSchema as a5, registerCoreTools as a6, EventToolFunc as a7, event as a8, SecondaryCache as a9, _lrucache as aa, createLRUCache as ab, lrucache as ac, type EventClientFuncParams as ad, EventClient as ae, eventClient as af, type EventServerFuncParams as ag, EventServer as ah, eventServer as ai, type ResClientFuncParams as aj, ResClientTools as ak, type ResServerFuncParams as al, ResServerTools as am, type RpcMethodHandler as an, type IClientToolTransport as ao, type PubSubCtx as ap, type PubSubClient as aq, type PubSubServerSession as b, type IPubSubClientTransport as c, type PubSubClientStream as d, type IToolTransport as e, type ActionName as f, PASSING_SCORE as g, ActionNames as h, type AIModelNameRuleFn as i, type AIModelNameRule as j, type RemoteFuncItem as k, type SemaphoreIsReadyFuncType as l, type BinarySemaphoreAcquireOptions as m, type BinarySemaphoreReleaseOptions as n, type BinarySemaphoreReleaserFunc as o, type SemaphoreOptions as p, type SemaphoreTaskItem as q, BinarySemaphore as r, Semaphore as s, RateLimit as t, ToolAsyncMultiTaskBit as u, ToolAsyncCancelableBit as v, ToolAsyncPriorityBit as w, AsyncFeatureBits as x, AsyncFeatures as y, type CancelableAbilityOptions as z };
1826
+ export { funcGetMeta as $, type AsyncTaskId as A, type BinarySemaphoreOptions as B, ClientToolTransport as C, DefaultAsyncSemaphoreCapacity as D, TaskAbortController as E, type Funcs as F, type TaskAbortControllers as G, type TaskPromise as H, type IPubSubServerTransport as I, CancelableAbility as J, makeToolFuncCancelable as K, type FuncParamType as L, type FuncParam as M, type FuncParams as N, type TFunc as O, type PubSubServerSession as P, type BaseFuncItem as Q, RemoteToolFuncSchema as R, ServerTools as S, ToolTransport as T, type FuncItem as U, type BaseFunc as V, type ToolFuncPackage as W, ToolFunc as X, ToolFuncSchema as Y, FuncMetaSymbol as Z, funcWithMeta as _, type AIModelNameRules as a, ClientTools as a0, type ClientFuncItem as a1, ClientToolFuncSchema as a2, type ServerFuncParams as a3, type ServerFuncItem as a4, ServerToolFuncSchema as a5, registerCoreTools as a6, EventToolFunc as a7, event as a8, SecondaryCache as a9, _lrucache as aa, createLRUCache as ab, lrucache as ac, type EventClientFuncParams as ad, EventClient as ae, eventClient as af, ClientEventPrefix as ag, type EventServerFuncParams as ah, EventServer as ai, eventServer as aj, type RpcMethodsClientFuncParams as ak, RpcMethodsClientTool as al, RpcMethodsClientToolSchema as am, type RpcMethodsServerFuncParams as an, RpcMethodsServerTool as ao, RpcMethodsServerToolSchema as ap, type ResClientFuncParams as aq, ResClientTools as ar, type ResServerFuncParams as as, ResServerTools as at, type RpcMethodHandler as au, type IClientToolTransport as av, type PubSubCtx as aw, type PubSubClientId as b, type IPubSubClientTransport as c, type PubSubClientStream as d, type IToolTransport as e, type ActionName as f, PASSING_SCORE as g, ActionNames as h, type AIModelNameRuleFn as i, type AIModelNameRule as j, type RemoteFuncItem as k, type SemaphoreIsReadyFuncType as l, type BinarySemaphoreAcquireOptions as m, type BinarySemaphoreReleaseOptions as n, type BinarySemaphoreReleaserFunc as o, type SemaphoreOptions as p, type SemaphoreTaskItem as q, BinarySemaphore as r, Semaphore as s, RateLimit as t, ToolAsyncMultiTaskBit as u, ToolAsyncCancelableBit as v, ToolAsyncPriorityBit as w, AsyncFeatureBits as x, AsyncFeatures as y, type CancelableAbilityOptions as z };
package/dist/index.d.mts CHANGED
@@ -1,8 +1,8 @@
1
1
  import * as custom_ability from 'custom-ability';
2
2
  export { createAbilityInjector } from 'custom-ability';
3
3
  export { toRegExp } from 'util-ex';
4
- import { A as AsyncTaskId, a as AIModelNameRules, I as IPubSubServerTransport, P as PubSubClientId, b as PubSubServerSession, c as IPubSubClientTransport, d as PubSubClientStream, e as IToolTransport, S as ServerTools, T as ToolTransport, C as ClientToolTransport, F as Funcs, f as ActionName } from './index-BCco-g_I.mjs';
5
- export { j as AIModelNameRule, i as AIModelNameRuleFn, h as ActionNames, x as AsyncFeatureBits, y as AsyncFeatures, V as BaseFunc, Q as BaseFuncItem, r as BinarySemaphore, m as BinarySemaphoreAcquireOptions, B as BinarySemaphoreOptions, n as BinarySemaphoreReleaseOptions, o as BinarySemaphoreReleaserFunc, J as CancelableAbility, z as CancelableAbilityOptions, a1 as ClientFuncItem, a2 as ClientToolFuncSchema, a0 as ClientTools, D as DefaultAsyncSemaphoreCapacity, ae as EventClient, ad as EventClientFuncParams, ah as EventServer, ag as EventServerFuncParams, a7 as EventToolFunc, U as FuncItem, Z as FuncMetaSymbol, M as FuncParam, L as FuncParamType, N as FuncParams, ao as IClientToolTransport, g as PASSING_SCORE, aq as PubSubClient, ap as PubSubCtx, t as RateLimit, k as RemoteFuncItem, R as RemoteToolFuncSchema, aj as ResClientFuncParams, ak as ResClientTools, al as ResServerFuncParams, am as ResServerTools, an as RpcMethodHandler, a9 as SecondaryCache, s as Semaphore, l as SemaphoreIsReadyFuncType, p as SemaphoreOptions, q as SemaphoreTaskItem, a4 as ServerFuncItem, a3 as ServerFuncParams, a5 as ServerToolFuncSchema, O as TFunc, E as TaskAbortController, G as TaskAbortControllers, H as TaskPromise, v as ToolAsyncCancelableBit, u as ToolAsyncMultiTaskBit, w as ToolAsyncPriorityBit, X as ToolFunc, W as ToolFuncPackage, Y as ToolFuncSchema, aa as _lrucache, ab as createLRUCache, a8 as event, af as eventClient, ai as eventServer, $ as funcGetMeta, _ as funcWithMeta, ac as lrucache, K as makeToolFuncCancelable, a6 as registerCoreTools } from './index-BCco-g_I.mjs';
4
+ import { A as AsyncTaskId, a as AIModelNameRules, I as IPubSubServerTransport, P as PubSubServerSession, b as PubSubClientId, c as IPubSubClientTransport, d as PubSubClientStream, e as IToolTransport, S as ServerTools, T as ToolTransport, C as ClientToolTransport, F as Funcs, f as ActionName } from './index-BLW3R7VS.mjs';
5
+ export { j as AIModelNameRule, i as AIModelNameRuleFn, h as ActionNames, x as AsyncFeatureBits, y as AsyncFeatures, V as BaseFunc, Q as BaseFuncItem, r as BinarySemaphore, m as BinarySemaphoreAcquireOptions, B as BinarySemaphoreOptions, n as BinarySemaphoreReleaseOptions, o as BinarySemaphoreReleaserFunc, J as CancelableAbility, z as CancelableAbilityOptions, ag as ClientEventPrefix, a1 as ClientFuncItem, a2 as ClientToolFuncSchema, a0 as ClientTools, D as DefaultAsyncSemaphoreCapacity, ae as EventClient, ad as EventClientFuncParams, ai as EventServer, ah as EventServerFuncParams, a7 as EventToolFunc, U as FuncItem, Z as FuncMetaSymbol, M as FuncParam, L as FuncParamType, N as FuncParams, av as IClientToolTransport, g as PASSING_SCORE, aw as PubSubCtx, t as RateLimit, k as RemoteFuncItem, R as RemoteToolFuncSchema, aq as ResClientFuncParams, ar as ResClientTools, as as ResServerFuncParams, at as ResServerTools, au as RpcMethodHandler, ak as RpcMethodsClientFuncParams, al as RpcMethodsClientTool, am as RpcMethodsClientToolSchema, an as RpcMethodsServerFuncParams, ao as RpcMethodsServerTool, ap as RpcMethodsServerToolSchema, a9 as SecondaryCache, s as Semaphore, l as SemaphoreIsReadyFuncType, p as SemaphoreOptions, q as SemaphoreTaskItem, a4 as ServerFuncItem, a3 as ServerFuncParams, a5 as ServerToolFuncSchema, O as TFunc, E as TaskAbortController, G as TaskAbortControllers, H as TaskPromise, v as ToolAsyncCancelableBit, u as ToolAsyncMultiTaskBit, w as ToolAsyncPriorityBit, X as ToolFunc, W as ToolFuncPackage, Y as ToolFuncSchema, aa as _lrucache, ab as createLRUCache, a8 as event, af as eventClient, aj as eventServer, $ as funcGetMeta, _ as funcWithMeta, ac as lrucache, K as makeToolFuncCancelable, a6 as registerCoreTools } from './index-BLW3R7VS.mjs';
6
6
  import * as _isdk_common_error from '@isdk/common-error';
7
7
  import { BaseError } from '@isdk/common-error';
8
8
  export { AbortError, AbortErrorCode, AlreadyExistsError, AlreadyExistsErrorCode, BaseError, CommonError, ErrorCode, InternalErrorCode, NotFoundError, NotFoundErrorCode, NotImplementationError, NotImplementedErrorCode, createError, throwError } from '@isdk/common-error';
@@ -11,6 +11,9 @@ export { EnvStringTemplate as EnvPromptTemplate, FStringTemplate as FStringPromp
11
11
  import { Event, EventEmitter } from 'events-ex';
12
12
  export { EventEmitter, states as EventStates, eventable, wrapEventEmitter } from 'events-ex';
13
13
  import http, { IncomingMessage, ServerResponse } from 'http';
14
+ export { nanoid } from 'nanoid';
15
+ import { v1, v4, v5, v6, v7 } from 'uuid';
16
+ export { NIL as uuidNIL, parse as uuidParse, stringify as uuidStringify, validate as uuidValidate, version as uuidVersion, v1 as uuidv1, v4 as uuidv4, v5 as uuidv5, v6 as uuidv6, v7 as uuidv7 } from 'uuid';
14
17
  import * as _base32768 from 'base32768';
15
18
  import { IDataType } from 'hash-wasm';
16
19
  export { ConfigFile, FilenameReservedRegex, SanitizeFilenameOptions, WindowsReservedNameRegex, extNameLevel, getMultiLevelExtname, isValidFilename, isValidFilepath, parseYaml, registerYamlTag, sanitizeFilename, sanitizeFilepath, stringifyYaml } from '@isdk/util';
@@ -18,7 +21,6 @@ import * as fs from 'fs';
18
21
  import _memoize, { Options } from 'memoizee';
19
22
  export { f as findPort } from './find-port-qS1CZ9c-.mjs';
20
23
  import { PreTrainedTokenizer } from '@huggingface/transformers';
21
- export { NIL as uuidNIL, parse as uuidParse, stringify as uuidStringify, validate as uuidValidate, version as uuidVersion, v1 as uuidv1, v4 as uuidv4, v5 as uuidv5 } from 'uuid';
22
24
  export { canonicalize } from 'json-canonicalize';
23
25
  export { mimeType } from 'mime-type/with-db';
24
26
  export { add as addDate, formatISO, parse as parseDateFormat, parseISO, toDate } from 'date-fns';
@@ -374,7 +376,9 @@ declare const EventName = "event";
374
376
  declare const EventBusName = "event-bus";
375
377
  type EventListenerFn = (this: Event, name: string, ...args: any) => any;
376
378
  type EventErrorListenerFn = (this: Event, err: Error, name: string, ...args: any) => any;
377
- declare function getEventableClass(Backend: any): {
379
+ declare function getEventableClass(Backend: any, options?: {
380
+ eventBusName?: string;
381
+ }): {
378
382
  new (): {
379
383
  name: string;
380
384
  _events: any;
@@ -395,7 +399,7 @@ type Events = (string | RegExp)[];
395
399
  /**
396
400
  * Represents a client connected to the SSE channel.
397
401
  */
398
- type Client = {
402
+ type SSEClient = {
399
403
  /** The incoming HTTP request from the client. */
400
404
  req: IncomingMessage;
401
405
  /** The server response object used to send events to the client. */
@@ -404,9 +408,8 @@ type Client = {
404
408
  events?: Events;
405
409
  /**
406
410
  * A unique identifier for the client.
407
- * If not provided during subscription, it defaults to `remoteAddress:remotePort`.
408
411
  */
409
- clientId?: string;
412
+ clientId: string;
410
413
  };
411
414
  declare const SSEChannelAlreadyClosedErrCode = 498;
412
415
  /**
@@ -417,16 +420,27 @@ declare const SSEChannelAlreadyClosedErrCode = 498;
417
420
  */
418
421
  declare class SSEChannel {
419
422
  _active: boolean;
420
- clients: Set<Client>;
423
+ clients: Map<string, SSEClient>;
421
424
  messages: Record<string, any>[];
422
425
  nextID: number;
423
426
  options: Record<string, any>;
424
427
  pingTimer?: NodeJS.Timeout;
428
+ /**
429
+ * Gets the active status of the channel.
430
+ * @returns True if the channel is active, false otherwise.
431
+ */
425
432
  get active(): boolean;
426
433
  set active(v: boolean);
427
434
  /**
428
435
  * Creates a new SSE channel.
429
436
  * @param options - The options for the SSE channel.
437
+ * @param options.pingInterval - Interval in milliseconds to send ping messages (default: 3000).
438
+ * @param options.maxStreamDuration - Maximum duration of a client connection in milliseconds (default: 30000).
439
+ * @param options.clientRetryInterval - Interval in milliseconds for clients to retry connection (default: 1000).
440
+ * @param options.startId - Starting ID for messages (default: 1).
441
+ * @param options.historySize - Maximum number of messages to keep in history (default: 100).
442
+ * @param options.rewind - Number of historical messages to send to new clients (default: 0).
443
+ * @param options.cors - Whether to enable CORS headers (default: false).
430
444
  */
431
445
  constructor(options?: Record<string, any>);
432
446
  /**
@@ -442,21 +456,44 @@ declare class SSEChannel {
442
456
  clientId?: string | string[];
443
457
  }): number | undefined;
444
458
  /**
445
- * Subscribes a client to the SSE channel.
459
+ * Adds event subscriptions to an active client.
460
+ * @param clientId The ID of the client to modify.
461
+ * @param events An array of event names or patterns to add.
462
+ * @returns `true` if the client was found and updated, otherwise `false`.
463
+ */
464
+ subscribe(clientId: string, events: Events): boolean;
465
+ /**
466
+ * Removes event subscriptions from an active client.
467
+ * @param clientId The ID of the client to modify.
468
+ * @param events An array of event names or patterns to remove.
469
+ * @returns `true` if the client was found and updated, otherwise `false`.
470
+ */
471
+ unsubscribe(clientId: string, events: Events): boolean;
472
+ /**
473
+ * Finds a client instance by its unique ID.
474
+ * @param clientId The unique ID of the client.
475
+ * @returns The matching SSEClient, or undefined if not found.
476
+ */
477
+ getClient(clientId: string): SSEClient | undefined;
478
+ /**
479
+ * Establishes a new SSE connection with a client and adds it to the channel.
446
480
  *
447
- * @param req The incoming HTTP request.
448
- * @param res The server response.
449
- * @param events An array of event names or patterns to subscribe to.
450
- * @param clientId An optional unique ID for the client. If not provided, it defaults to `remoteAddress:remotePort`.
451
- * @returns The newly created client object.
452
- * @throws An error if the channel is closed.
481
+ * @param req The incoming HTTP request from the client.
482
+ * @param res The server response object used to send events to the client.
483
+ * @param events An array of event names or patterns that the client wants to subscribe to.
484
+ * @param clientId An optional unique identifier for the client. If not provided, one will be generated based on the client's IP and port.
485
+ * @returns The newly created client object representing the connected client.
486
+ * @throws An error if the channel is closed or if a client ID cannot be determined.
453
487
  */
454
- subscribe(req: IncomingMessage, res: ServerResponse, events?: Events, clientId?: string): Client;
488
+ connect(req: IncomingMessage, res: ServerResponse, events?: Events, clientId?: string): SSEClient;
455
489
  /**
456
- * Unsubscribes a client from the SSE channel.
457
- * @param c - The client to unsubscribe.
490
+ * Disconnects a client from the SSE channel and cleans up resources.
491
+ * @param c - The client to disconnect.
492
+ */
493
+ disconnect(c: SSEClient): void;
494
+ /**
495
+ * Disconnects all clients from the SSE channel.
458
496
  */
459
- unsubscribe(c: Client): void;
460
497
  clearClients(): void;
461
498
  /**
462
499
  * Lists the clients connected to the SSE channel grouped by IP address.
@@ -589,7 +626,26 @@ interface StreamCallbacksAndOptions<I = any, O = any> {
589
626
  */
590
627
  declare function createCallbacksTransformer<I = any, O = any>(cb: StreamCallbacksAndOptions<I, O> | undefined): TransformStream<I, O>;
591
628
 
592
- declare function uuid(ver?: 1 | 4 | 5, encode?: boolean): string;
629
+ declare const uuids: {
630
+ 1: typeof v1;
631
+ 4: typeof v4;
632
+ 5: typeof v5;
633
+ 6: typeof v6;
634
+ 7: typeof v7;
635
+ };
636
+ type UUIDVersions = keyof typeof uuids;
637
+ /**
638
+ * Generates a UUID (Universally Unique Identifier) based on the specified version and encoding options.
639
+ *
640
+ * @param encode - Whether to encode the generated UUID using Base32768 encoding. Defaults to `false`.
641
+ *
642
+ * @returns A string representing the generated UUID. If `encode` is `true`, the UUID will be encoded in Base32768 format.
643
+ *
644
+ * @example
645
+ * // Generate an encoded UUID version 1 using Base32768
646
+ * const encodedUuid1 = uuid(true);
647
+ */
648
+ declare function uuid(encode?: boolean): string;
593
649
 
594
650
  declare enum HashAlgorithm {
595
651
  md5 = 1,
@@ -2304,28 +2360,28 @@ declare function splitWords(input: string): string[];
2304
2360
 
2305
2361
  /**
2306
2362
  * Utility to serialize an object into a URL query parameter string.
2307
- * @param {any} objParam - The parameter object.
2308
- * @returns {string} The URL-encoded query string or an empty string.
2363
+ * @param objParam The parameter object.
2364
+ * @param omitQuestionMark If true, omits the leading '?' from the result. Defaults to false.
2365
+ * @returns The URL-encoded query string or an empty string.
2309
2366
  */
2310
- declare function genUrlParamsStr(objParam: any): string;
2367
+ declare function genUrlParamsStr(objParam: any, omitQuestionMark?: boolean): string;
2311
2368
 
2312
2369
  declare class SseServerPubSubTransport implements IPubSubServerTransport {
2313
2370
  readonly name = "sse";
2314
2371
  readonly protocol: "sse";
2315
2372
  private channel;
2373
+ private sessions;
2316
2374
  private onConn?;
2317
2375
  private onDis?;
2318
- mount?(): void;
2319
- subscribe(events?: string[], options?: {
2320
- req?: IncomingMessage;
2321
- res?: ServerResponse;
2322
- clientId?: string;
2323
- }): {
2376
+ connect(options?: {
2324
2377
  req: IncomingMessage;
2325
2378
  res: ServerResponse;
2326
- events?: (string | RegExp)[];
2327
2379
  clientId?: string;
2328
- };
2380
+ events?: string[];
2381
+ }): PubSubServerSession;
2382
+ getSessionFromReq(req: IncomingMessage): PubSubServerSession | undefined;
2383
+ subscribe(session: PubSubServerSession, events: string[]): void;
2384
+ unsubscribe(session: PubSubServerSession, events: string[]): void;
2329
2385
  publish(event: string, data: any, target?: {
2330
2386
  clientId?: PubSubClientId | PubSubClientId[];
2331
2387
  }): void;
@@ -2334,7 +2390,9 @@ declare class SseServerPubSubTransport implements IPubSubServerTransport {
2334
2390
  }
2335
2391
 
2336
2392
  declare class SseClientPubSubTransport implements IPubSubClientTransport {
2337
- connect(url: string, params?: Record<string, any>): PubSubClientStream;
2393
+ private apiRoot;
2394
+ setApiRoot(apiRoot: string): void;
2395
+ connect(url: string, params?: any): Promise<PubSubClientStream>;
2338
2396
  disconnect(stream: PubSubClientStream): void;
2339
2397
  }
2340
2398
 
@@ -2345,9 +2403,15 @@ declare class SseClientPubSubTransport implements IPubSubClientTransport {
2345
2403
  interface IServerToolTransport extends IToolTransport {
2346
2404
  /**
2347
2405
  * Mounts the ServerTools registry, creating the necessary API routes.
2348
- * @param serverTools The ServerTools class.
2349
- * @param apiPrefix An optional prefix for all API routes.
2350
- * @param options Additional options for the transport start.
2406
+ *
2407
+ * This method is responsible for integrating the tool-handling logic with a
2408
+ * running server instance.
2409
+ *
2410
+ * @param serverTools The ServerTools class containing the tool definitions.
2411
+ * @param apiPrefix An optional prefix for all API routes (e.g., '/api').
2412
+ * @param options A container for transport-specific options. For example,
2413
+ * an HTTP-based transport would expect an `{ server: http.Server }` object
2414
+ * to attach its route handlers to.
2351
2415
  */
2352
2416
  mount(serverTools: typeof ServerTools, apiPrefix?: string, options?: any): void;
2353
2417
  /**
@@ -2389,7 +2453,6 @@ declare abstract class ServerToolTransport extends ToolTransport implements ISer
2389
2453
  declare class HttpServerToolTransport extends ServerToolTransport {
2390
2454
  server: http.Server;
2391
2455
  private discoveryHandlerInfo;
2392
- private rpcHandlerInfo;
2393
2456
  constructor(options?: http.ServerOptions);
2394
2457
  private requestListener;
2395
2458
  addDiscoveryHandler(apiPrefix: string, handler: () => any): void;
@@ -2400,7 +2463,7 @@ declare class HttpServerToolTransport extends ServerToolTransport {
2400
2463
  port: number;
2401
2464
  host?: string;
2402
2465
  }): Promise<void>;
2403
- stop(): Promise<void>;
2466
+ stop(force?: boolean): Promise<void>;
2404
2467
  getRaw(): http.Server;
2405
2468
  }
2406
2469
 
@@ -2424,4 +2487,4 @@ declare class HttpClientToolTransport extends ClientToolTransport {
2424
2487
  toObject(res: any, args?: any): Promise<any>;
2425
2488
  }
2426
2489
 
2427
- export { AIArgProcessor, type AIChatAssistantMessageParam, type AIChatContentPart, type AIChatContentPartImage, type AIChatContentPartText, type AIChatMessageParam, type AIChatMessageParamBase, type AIChatMessageToolCall, type AIChatRole, AIChatRoles, type AIChatSystemMessageParam, type AIChatToolChoiceFuncObject, type AIChatToolChoiceObject, type AIChatToolChoiceParam, type AIChatToolFunc, type AIChatToolFuncParam, type AIChatToolMessageParam, type AIChatToolParam, type AIChatToolTypeObject, type AIChatUserMessageParam, type AIChoiceConfig, type AIMessageType, AIMessageTypes, AIModelNameRules, type AIResult, AIStream, type AIStreamParser, type AIStreamParserOptions, type AITextGenerationFinishReason, AITextGenerationFinishReasons, ActionName, ArrayMergeWay, ArrayMergeWaySymbol, AsyncTaskId, type BeforeShutdownListener, ChoiceArgProcessor, ClientToolTransport, DEFAULT_CONFIG_NAME, DefaultDateFormat, EventBusName, type EventErrorListenerFn, type EventListenerFn, EventName, FewShotPromptTemplate, type FewShotPromptTemplateOptions, Funcs, type HashAlgoParams, HashAlgorithm, HttpClientToolTransport, HttpServerToolTransport, type IFileMetaInfo, IPubSubClientTransport, IPubSubServerTransport, type IReadTextFileChunksOptions, type IServerToolTransport, IToolTransport, type ITruncateToTokenLimitOptions, IntSet, type JsonFilter, LLM_TOKENIZER_NAMES, LLM_TOKENIZER_NAMES_MAP, ObjectArgsToArgsInfo, type ParseObjectArgumentOptions, type ProbabilityItem, PromptExampleSelector, type PromptExampleSelectorOptions, type PromptExamples, PubSubClientId, PubSubClientStream, PubSubServerSession, RStreamErrCode, ReadableStreamError, type ReplacePlacehoderOptions, ResponseRStreamErrCode, SHUTDOWN_SIGNALS, SSEChannel, SSEChannelAlreadyClosedErrCode, type SectionStringOptions, ServerToolTransport, ServerTools, SignalGate, type SplitSentenceOptions, SseClientPubSubTransport, SseServerPubSubTransport, StrangeHumanName, type StreamCallbacksAndOptions, TemplateArgProcessor, ToolTransport, YamlTypeBaseObject, assignDirs, backendEventable, base32768, beforeShutdown, calcPerplexity, calcPerplexitySimple, completeSentences, concatText, countLLMTokens, countRegexMatches, createCallbacksTransformer, createEmptyReadableStream, createEndWithRepetitionDetector, createEventStreamTransformer, createYamlObjectTag, dateToText, decodeCharset, defaultsWithConcat, detectCharset, encodeLLMTokens, ensureQuoted, expandConfig, expandPath, expandPathInObject, expandPaths, fileIsExists, filterValidFnScope, findIndexNonEmptyFrom, formatTextWithSpace, genUrlParamsStr, getAllEnumKeys, getConfigFileNames, getConfigs, getFileMetaInfo, getHashAlgoBySize, getKeysPath, getLLMTokenizer, getPackageDir, getRealFilepath, getResponseErrorReadableStream, getXDGConfigs, hasDirectoryIn, hash, hashFile, hashObject, hashStream, initShutdown, isLangUsingSpaces, isListItemString, isModelNameMatched, isPunctuationChar, isQuoted, isRegExp, isSameString, isSectionString, isSentenceEnding, isSepLineString, isStrWrapped, isSubdirectory, isTitleString, isWebStream, joinSplitWords, jsonFilterToWhere, jsonToMarkdownStr, loadAIConfig, loadConfig, loadConfigFile, loadFileFromPaths, loadTextFromPaths, matchUrlProtocol, memoize, mergeArray, messagesToText, normalizePath, paramsSizeToScaleStr, parseCommand, parseJsJson, parseJsJsonSimpleSync, parseObjectArgInfo, parseObjectArgumentInfos, parseObjectArguments, parseObjectArgumentsAsArgInfos, pruneSubdirectories, pruneSubdirectoriesInPlace, quoteStr, readFilenamesRecursiveSync, readTextFileChunks, readTextFileChunksEx, readableFromAsyncIterable, removeMarkdownBold, removeMarkdownBoldAndItalic, removeMarkdownItalic, replaceWithPlaceholder, restoreFromPlacehoders, saveConfigFile, scaleStrToParamsSize, shutdown, simplifyObjectArguments, sleep, sortedValues, splitChunks, splitParagraph, splitSentence, splitWords, stripConsoleColor, textToDate, toDateTime, trimStartOfStreamHelper, truncTo, truncateByToken, truncateToTokenLimit, truncateToTokenLimitEx, uuid, wait, xxhash, xxhash32, xxhash64, xxhashAsStr, yieldExec };
2490
+ export { AIArgProcessor, type AIChatAssistantMessageParam, type AIChatContentPart, type AIChatContentPartImage, type AIChatContentPartText, type AIChatMessageParam, type AIChatMessageParamBase, type AIChatMessageToolCall, type AIChatRole, AIChatRoles, type AIChatSystemMessageParam, type AIChatToolChoiceFuncObject, type AIChatToolChoiceObject, type AIChatToolChoiceParam, type AIChatToolFunc, type AIChatToolFuncParam, type AIChatToolMessageParam, type AIChatToolParam, type AIChatToolTypeObject, type AIChatUserMessageParam, type AIChoiceConfig, type AIMessageType, AIMessageTypes, AIModelNameRules, type AIResult, AIStream, type AIStreamParser, type AIStreamParserOptions, type AITextGenerationFinishReason, AITextGenerationFinishReasons, ActionName, ArrayMergeWay, ArrayMergeWaySymbol, AsyncTaskId, type BeforeShutdownListener, ChoiceArgProcessor, ClientToolTransport, DEFAULT_CONFIG_NAME, DefaultDateFormat, EventBusName, type EventErrorListenerFn, type EventListenerFn, EventName, FewShotPromptTemplate, type FewShotPromptTemplateOptions, Funcs, type HashAlgoParams, HashAlgorithm, HttpClientToolTransport, HttpServerToolTransport, type IFileMetaInfo, IPubSubClientTransport, IPubSubServerTransport, type IReadTextFileChunksOptions, type IServerToolTransport, IToolTransport, type ITruncateToTokenLimitOptions, IntSet, type JsonFilter, LLM_TOKENIZER_NAMES, LLM_TOKENIZER_NAMES_MAP, ObjectArgsToArgsInfo, type ParseObjectArgumentOptions, type ProbabilityItem, PromptExampleSelector, type PromptExampleSelectorOptions, type PromptExamples, PubSubClientId, PubSubClientStream, PubSubServerSession, RStreamErrCode, ReadableStreamError, type ReplacePlacehoderOptions, ResponseRStreamErrCode, SHUTDOWN_SIGNALS, SSEChannel, SSEChannelAlreadyClosedErrCode, type SSEClient, type SectionStringOptions, ServerToolTransport, ServerTools, SignalGate, type SplitSentenceOptions, SseClientPubSubTransport, SseServerPubSubTransport, StrangeHumanName, type StreamCallbacksAndOptions, TemplateArgProcessor, ToolTransport, type UUIDVersions, YamlTypeBaseObject, assignDirs, backendEventable, base32768, beforeShutdown, calcPerplexity, calcPerplexitySimple, completeSentences, concatText, countLLMTokens, countRegexMatches, createCallbacksTransformer, createEmptyReadableStream, createEndWithRepetitionDetector, createEventStreamTransformer, createYamlObjectTag, dateToText, decodeCharset, defaultsWithConcat, detectCharset, encodeLLMTokens, ensureQuoted, expandConfig, expandPath, expandPathInObject, expandPaths, fileIsExists, filterValidFnScope, findIndexNonEmptyFrom, formatTextWithSpace, genUrlParamsStr, getAllEnumKeys, getConfigFileNames, getConfigs, getFileMetaInfo, getHashAlgoBySize, getKeysPath, getLLMTokenizer, getPackageDir, getRealFilepath, getResponseErrorReadableStream, getXDGConfigs, hasDirectoryIn, hash, hashFile, hashObject, hashStream, initShutdown, isLangUsingSpaces, isListItemString, isModelNameMatched, isPunctuationChar, isQuoted, isRegExp, isSameString, isSectionString, isSentenceEnding, isSepLineString, isStrWrapped, isSubdirectory, isTitleString, isWebStream, joinSplitWords, jsonFilterToWhere, jsonToMarkdownStr, loadAIConfig, loadConfig, loadConfigFile, loadFileFromPaths, loadTextFromPaths, matchUrlProtocol, memoize, mergeArray, messagesToText, normalizePath, paramsSizeToScaleStr, parseCommand, parseJsJson, parseJsJsonSimpleSync, parseObjectArgInfo, parseObjectArgumentInfos, parseObjectArguments, parseObjectArgumentsAsArgInfos, pruneSubdirectories, pruneSubdirectoriesInPlace, quoteStr, readFilenamesRecursiveSync, readTextFileChunks, readTextFileChunksEx, readableFromAsyncIterable, removeMarkdownBold, removeMarkdownBoldAndItalic, removeMarkdownItalic, replaceWithPlaceholder, restoreFromPlacehoders, saveConfigFile, scaleStrToParamsSize, shutdown, simplifyObjectArguments, sleep, sortedValues, splitChunks, splitParagraph, splitSentence, splitWords, stripConsoleColor, textToDate, toDateTime, trimStartOfStreamHelper, truncTo, truncateByToken, truncateToTokenLimit, truncateToTokenLimitEx, uuid, wait, xxhash, xxhash32, xxhash64, xxhashAsStr, yieldExec };