@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 };