@isdk/ai-tool 0.4.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/dist/chunk-VIG2GB47.mjs +39 -1
  2. package/dist/chunk-VJ45JQBR.mjs +7829 -0
  3. package/dist/funcs.d.mts +3 -2
  4. package/dist/funcs.d.ts +3 -2
  5. package/dist/funcs.js +5156 -1
  6. package/dist/funcs.mjs +29 -1
  7. package/dist/index-Br-4ZYgE.d.mts +892 -0
  8. package/dist/index-Br-4ZYgE.d.ts +892 -0
  9. package/dist/index.d.mts +204 -237
  10. package/dist/index.d.ts +204 -237
  11. package/dist/index.js +8132 -1
  12. package/dist/index.mjs +476 -1
  13. package/dist/test/util.js +101 -1
  14. package/dist/test/util.mjs +30 -1
  15. package/docs/README.md +1 -1
  16. package/docs/classes/AbortError.md +80 -82
  17. package/docs/classes/AlreadyExistsError.md +80 -82
  18. package/docs/classes/BaseError.md +81 -81
  19. package/docs/classes/BinarySemaphore.md +418 -0
  20. package/docs/classes/CancelableAbility.md +193 -105
  21. package/docs/classes/ClientTools.md +655 -631
  22. package/docs/classes/CommonError.md +85 -85
  23. package/docs/classes/ConfigFile.md +131 -111
  24. package/docs/classes/EnvPromptTemplate.md +1158 -0
  25. package/docs/classes/EventClient.md +766 -736
  26. package/docs/classes/EventEmitter.md +299 -0
  27. package/docs/classes/EventServer.md +783 -757
  28. package/docs/classes/EventToolFunc.md +612 -588
  29. package/docs/classes/FStringPromptTemplate.md +246 -238
  30. package/docs/classes/FewShotPromptTemplate.md +240 -246
  31. package/docs/classes/GolangPromptTemplate.md +246 -238
  32. package/docs/classes/HFEnvironment.md +42 -44
  33. package/docs/classes/HFInterpreter.md +22 -20
  34. package/docs/classes/HFTemplate.md +19 -19
  35. package/docs/classes/HfPromptTemplate.md +246 -238
  36. package/docs/classes/IntSet.md +53 -53
  37. package/docs/classes/LRUCache.md +601 -0
  38. package/docs/classes/NotFoundError.md +80 -82
  39. package/docs/classes/NotImplementationError.md +80 -82
  40. package/docs/classes/PromptExampleSelector.md +39 -39
  41. package/docs/classes/PromptTemplate.md +235 -226
  42. package/docs/classes/ReadableStreamError.md +82 -84
  43. package/docs/classes/ResClientTools.md +662 -630
  44. package/docs/classes/ResServerTools.md +648 -626
  45. package/docs/classes/SSEChannel.md +61 -61
  46. package/docs/classes/Semaphore.md +401 -40
  47. package/docs/classes/ServerTools.md +622 -608
  48. package/docs/classes/SignalGate.md +182 -0
  49. package/docs/classes/TaskAbortController.md +27 -33
  50. package/docs/classes/ToolFunc.md +582 -552
  51. package/docs/classes/YamlTypeBaseObject.md +9 -7
  52. package/docs/enumerations/AsyncFeatureBits.md +6 -10
  53. package/docs/enumerations/AsyncFeatures.md +6 -10
  54. package/docs/enumerations/ErrorCode.md +24 -64
  55. package/docs/enumerations/HashAlgorithm.md +14 -34
  56. package/docs/functions/AIArgProcessor.md +15 -9
  57. package/docs/functions/AIStream.md +9 -7
  58. package/docs/functions/ChoiceArgProcessor.md +15 -9
  59. package/docs/functions/ObjectArgsToArgsInfo.md +29 -0
  60. package/docs/functions/RateLimit.md +13 -9
  61. package/docs/functions/TemplateArgProcessor.md +15 -9
  62. package/docs/functions/assignDirs.md +33 -0
  63. package/docs/functions/backendEventable.md +14 -8
  64. package/docs/functions/beforeShutdown.md +29 -0
  65. package/docs/functions/canonicalize.md +6 -6
  66. package/docs/functions/completeSentences.md +9 -7
  67. package/docs/functions/concatText.md +8 -6
  68. package/docs/functions/countLLMTokens.md +9 -7
  69. package/docs/functions/countRegexMatches.md +9 -7
  70. package/docs/functions/createAbilityInjector.md +66 -34
  71. package/docs/functions/createCallbacksTransformer.md +6 -6
  72. package/docs/functions/createEmptyReadableStream.md +3 -5
  73. package/docs/functions/createEndWithRepetitionDetector.md +9 -7
  74. package/docs/functions/createError.md +12 -8
  75. package/docs/functions/createEventStreamTransformer.md +8 -8
  76. package/docs/functions/createHfValueFunc.md +9 -7
  77. package/docs/functions/createLRUCache.md +9 -7
  78. package/docs/functions/createYamlObjectTag.md +9 -7
  79. package/docs/functions/dateToText.md +9 -7
  80. package/docs/functions/decodeCharset.md +9 -7
  81. package/docs/functions/detectCharset.md +9 -7
  82. package/docs/functions/encodeLLMTokens.md +9 -7
  83. package/docs/functions/ensureQuoted.md +25 -0
  84. package/docs/functions/eventable.md +82 -0
  85. package/docs/functions/expandConfig.md +25 -0
  86. package/docs/functions/expandEnv.md +6 -6
  87. package/docs/functions/expandObjEnv.md +12 -8
  88. package/docs/functions/expandPath.md +25 -0
  89. package/docs/functions/extNameLevel.md +6 -6
  90. package/docs/functions/fileIsExists.md +6 -6
  91. package/docs/functions/filenameReservedRegex.md +3 -5
  92. package/docs/functions/filterValidFnScope.md +6 -6
  93. package/docs/functions/findIndexNonEmptyFrom.md +9 -7
  94. package/docs/functions/findPort.md +9 -7
  95. package/docs/functions/formatISO.md +9 -11
  96. package/docs/functions/formatTextWithSpace.md +13 -9
  97. package/docs/functions/getAllEnumKeys.md +8 -8
  98. package/docs/functions/getConfigFileNames.md +9 -7
  99. package/docs/functions/getConfigs.md +9 -7
  100. package/docs/functions/getEnvVairables.md +21 -0
  101. package/docs/functions/getFileMetaInfo.md +6 -6
  102. package/docs/functions/getHashAlgoBySize.md +6 -6
  103. package/docs/functions/getKeysPath.md +6 -6
  104. package/docs/functions/getLLMTokenizer.md +6 -6
  105. package/docs/functions/getMultiLevelExtname.md +9 -7
  106. package/docs/functions/getPackageDir.md +6 -6
  107. package/docs/functions/getRealFilepath.md +6 -6
  108. package/docs/functions/getResponseErrorReadableStream.md +6 -6
  109. package/docs/functions/getXDGConfigs.md +37 -0
  110. package/docs/functions/hasDirectoryIn.md +9 -7
  111. package/docs/functions/hash.md +25 -0
  112. package/docs/functions/hashFile.md +10 -8
  113. package/docs/functions/hashStream.md +10 -8
  114. package/docs/functions/hfParse.md +6 -6
  115. package/docs/functions/hfTokenize.md +9 -7
  116. package/docs/functions/initShutdown.md +15 -0
  117. package/docs/functions/interpolateEnv.md +13 -9
  118. package/docs/functions/interpolateFString.md +9 -7
  119. package/docs/functions/interpolateGolangTemplate.md +12 -8
  120. package/docs/functions/isLangUsingSpaces.md +6 -6
  121. package/docs/functions/isListItemString.md +6 -6
  122. package/docs/functions/isModelNameMatched.md +9 -7
  123. package/docs/functions/isPunctuationChar.md +6 -6
  124. package/docs/functions/isQuoted.md +21 -0
  125. package/docs/functions/isRegExp.md +6 -6
  126. package/docs/functions/isSameString.md +36 -0
  127. package/docs/functions/isSectionString.md +9 -7
  128. package/docs/functions/isSentenceEnding.md +6 -6
  129. package/docs/functions/isSepLineString.md +6 -6
  130. package/docs/functions/isStrWrapped.md +25 -0
  131. package/docs/functions/isSubdirectory.md +9 -7
  132. package/docs/functions/isTitleString.md +9 -7
  133. package/docs/functions/isValidFilename.md +6 -6
  134. package/docs/functions/isValidFilepath.md +6 -6
  135. package/docs/functions/isWebStream.md +6 -6
  136. package/docs/functions/jsonFilterToWhere.md +9 -7
  137. package/docs/functions/jsonToMarkdownStr.md +18 -10
  138. package/docs/functions/loadAIConfig.md +21 -0
  139. package/docs/functions/loadConfig.md +25 -0
  140. package/docs/functions/loadConfigFile.md +25 -0
  141. package/docs/functions/loadFileFromPaths.md +24 -14
  142. package/docs/functions/loadTextFromPaths.md +18 -10
  143. package/docs/functions/lrucache.md +17 -11
  144. package/docs/functions/makeToolFuncCancelable.md +14 -8
  145. package/docs/functions/matchUrlProtocol.md +6 -6
  146. package/docs/functions/memoize.md +9 -7
  147. package/docs/functions/messagesToText.md +6 -6
  148. package/docs/functions/paramsSizeToScaleStr.md +9 -7
  149. package/docs/functions/parseCommand.md +13 -9
  150. package/docs/functions/parseDateFormat.md +15 -13
  151. package/docs/functions/parseFString.md +6 -6
  152. package/docs/functions/parseISO.md +9 -11
  153. package/docs/functions/parseJsJson.md +9 -7
  154. package/docs/functions/parseJsJsonSimpleSync.md +9 -7
  155. package/docs/functions/parseObjectArgInfo.md +15 -9
  156. package/docs/functions/parseObjectArgumentInfos.md +12 -8
  157. package/docs/functions/parseObjectArguments.md +12 -8
  158. package/docs/functions/parseObjectArgumentsAsArgInfos.md +12 -8
  159. package/docs/functions/parseYaml.md +11 -7
  160. package/docs/functions/quoteStr.md +6 -6
  161. package/docs/functions/reControlCharsRegex.md +3 -5
  162. package/docs/functions/readFilenamesRecursiveSync.md +16 -10
  163. package/docs/functions/readTextFileChunks.md +9 -7
  164. package/docs/functions/readTextFileChunksEx.md +9 -7
  165. package/docs/functions/readableFromAsyncIterable.md +6 -6
  166. package/docs/functions/registerCoreTools.md +3 -5
  167. package/docs/functions/registerYamlTag.md +6 -6
  168. package/docs/functions/removeMarkdownBold.md +9 -7
  169. package/docs/functions/removeMarkdownBoldAndItalic.md +9 -7
  170. package/docs/functions/removeMarkdownItalic.md +9 -7
  171. package/docs/functions/replaceWithPlaceholder.md +11 -9
  172. package/docs/functions/restoreFromPlacehoders.md +12 -8
  173. package/docs/functions/sanitizeFilename.md +9 -7
  174. package/docs/functions/sanitizeFilepath.md +9 -7
  175. package/docs/functions/saveConfigFile.md +12 -8
  176. package/docs/functions/scaleStrToParamsSize.md +6 -6
  177. package/docs/functions/shutdown.md +33 -0
  178. package/docs/functions/simplifyObjectArguments.md +6 -6
  179. package/docs/functions/sortedValues.md +6 -6
  180. package/docs/functions/splitChunks.md +9 -7
  181. package/docs/functions/splitParagraph.md +9 -7
  182. package/docs/functions/splitSentence.md +9 -7
  183. package/docs/functions/stringifyYaml.md +11 -7
  184. package/docs/functions/stripConsoleColor.md +6 -6
  185. package/docs/functions/textToDate.md +9 -7
  186. package/docs/functions/throwError.md +12 -8
  187. package/docs/functions/toDate.md +9 -11
  188. package/docs/functions/toDateTime.md +6 -6
  189. package/docs/functions/toRegExp.md +6 -6
  190. package/docs/functions/trimStartOfStreamHelper.md +6 -6
  191. package/docs/functions/truncTo.md +12 -8
  192. package/docs/functions/truncateByToken.md +9 -7
  193. package/docs/functions/truncateToTokenLimit.md +9 -7
  194. package/docs/functions/truncateToTokenLimitEx.md +9 -7
  195. package/docs/functions/uuid.md +9 -7
  196. package/docs/functions/uuidParse.md +6 -6
  197. package/docs/functions/uuidStringify.md +10 -8
  198. package/docs/functions/uuidValidate.md +6 -6
  199. package/docs/functions/uuidVersion.md +6 -6
  200. package/docs/functions/uuidv1.md +28 -20
  201. package/docs/functions/uuidv4.md +28 -20
  202. package/docs/functions/uuidv5.md +34 -22
  203. package/docs/functions/wait.md +6 -6
  204. package/docs/functions/wrapEventEmitter.md +27 -0
  205. package/docs/functions/xxhash.md +12 -8
  206. package/docs/functions/xxhash32.md +9 -7
  207. package/docs/functions/xxhash64.md +9 -7
  208. package/docs/functions/xxhashAsStr.md +12 -8
  209. package/docs/globals.md +45 -1
  210. package/docs/interfaces/AIChatAssistantMessageParam.md +42 -30
  211. package/docs/interfaces/AIChatContentPartImage.md +6 -8
  212. package/docs/interfaces/AIChatContentPartText.md +5 -7
  213. package/docs/interfaces/AIChatMessageParamBase.md +23 -13
  214. package/docs/interfaces/AIChatMessageToolCall.md +7 -11
  215. package/docs/interfaces/AIChatSystemMessageParam.md +40 -22
  216. package/docs/interfaces/AIChatToolChoiceFuncObject.md +37 -0
  217. package/docs/interfaces/AIChatToolChoiceObject.md +25 -0
  218. package/docs/interfaces/AIChatToolFunc.md +41 -0
  219. package/docs/interfaces/AIChatToolFuncParam.md +37 -0
  220. package/docs/interfaces/AIChatToolMessageParam.md +40 -24
  221. package/docs/interfaces/AIChatToolParam.md +25 -0
  222. package/docs/interfaces/AIChatToolTypeObject.md +17 -0
  223. package/docs/interfaces/AIChatUserMessageParam.md +44 -34
  224. package/docs/interfaces/AIChoiceConfig.md +10 -22
  225. package/docs/interfaces/AIResult.md +13 -21
  226. package/docs/interfaces/AIStreamParser.md +11 -7
  227. package/docs/interfaces/AIStreamParserOptions.md +5 -5
  228. package/docs/interfaces/BaseFunc.md +30 -40
  229. package/docs/interfaces/BaseFuncItem.md +18 -28
  230. package/docs/interfaces/BinarySemaphoreAcquireOptions.md +25 -0
  231. package/docs/interfaces/BinarySemaphoreOptions.md +57 -0
  232. package/docs/interfaces/BinarySemaphoreReleaseOptions.md +25 -0
  233. package/docs/interfaces/BinarySemaphoreReleaserFunc.md +37 -0
  234. package/docs/interfaces/CancelableAbilityOptions.md +27 -29
  235. package/docs/interfaces/ClientFuncItem.md +31 -47
  236. package/docs/interfaces/DotenvExpandOptions.md +8 -12
  237. package/docs/interfaces/DotenvExpandOutput.md +5 -7
  238. package/docs/interfaces/DotenvParseInput.md +4 -2
  239. package/docs/interfaces/DotenvParseOutput.md +4 -2
  240. package/docs/interfaces/DotenvPopulateInput.md +4 -2
  241. package/docs/interfaces/EventClientFuncParams.md +11 -15
  242. package/docs/interfaces/EventServerFuncParams.md +14 -18
  243. package/docs/interfaces/FewShotPromptTemplateOptions.md +29 -45
  244. package/docs/interfaces/FuncItem.md +26 -38
  245. package/docs/interfaces/FuncParam.md +11 -21
  246. package/docs/interfaces/FuncParams.md +4 -2
  247. package/docs/interfaces/Funcs.md +4 -2
  248. package/docs/interfaces/HashAlgoParams.md +6 -10
  249. package/docs/interfaces/IFileMetaInfo.md +10 -22
  250. package/docs/interfaces/IReadTextFileChunksOptions.md +29 -43
  251. package/docs/interfaces/ITruncateToTokenLimitOptions.md +19 -31
  252. package/docs/interfaces/JsonFilter.md +4 -2
  253. package/docs/interfaces/ParseObjectArgumentOptions.md +13 -31
  254. package/docs/interfaces/PromptExampleSelectorOptions.md +8 -10
  255. package/docs/interfaces/PromptTemplateOptions.md +10 -20
  256. package/docs/interfaces/RemoteFuncItem.md +28 -44
  257. package/docs/interfaces/ReplacePlacehoderOptions.md +7 -13
  258. package/docs/interfaces/ResClientFuncParams.md +10 -8
  259. package/docs/interfaces/ResServerFuncParams.md +15 -19
  260. package/docs/interfaces/SanitizeFilenameOptions.md +5 -7
  261. package/docs/interfaces/SectionStringOptions.md +5 -7
  262. package/docs/interfaces/SemaphoreOptions.md +89 -0
  263. package/docs/interfaces/SemaphoreTaskItem.md +73 -0
  264. package/docs/interfaces/ServerFuncItem.md +32 -50
  265. package/docs/interfaces/ServerFuncParams.md +6 -8
  266. package/docs/interfaces/SplitSentenceOptions.md +7 -13
  267. package/docs/interfaces/StreamCallbacksAndOptions.md +26 -22
  268. package/docs/interfaces/TaskAbortControllers.md +4 -2
  269. package/docs/interfaces/TaskPromise.md +24 -24
  270. package/docs/interfaces/ToolFuncPackage.md +11 -13
  271. package/docs/namespaces/EventStates/README.md +14 -0
  272. package/docs/namespaces/EventStates/variables/ABORT.md +11 -0
  273. package/docs/namespaces/EventStates/variables/CONTINUE.md +11 -0
  274. package/docs/namespaces/EventStates/variables/DONE.md +11 -0
  275. package/docs/namespaces/EventStates/variables/STOPPED.md +11 -0
  276. package/docs/namespaces/uuidv5/README.md +12 -0
  277. package/docs/namespaces/uuidv5/variables/DNS.md +11 -0
  278. package/docs/namespaces/uuidv5/variables/URL.md +11 -0
  279. package/docs/type-aliases/AIChatContentPart.md +2 -4
  280. package/docs/type-aliases/AIChatMessageParam.md +3 -5
  281. package/docs/type-aliases/AIChatRole.md +2 -4
  282. package/docs/type-aliases/AIChatToolChoiceParam.md +11 -0
  283. package/docs/type-aliases/AIMessageType.md +2 -4
  284. package/docs/type-aliases/AIModelNameRule.md +2 -4
  285. package/docs/type-aliases/AIModelNameRuleFn.md +6 -6
  286. package/docs/type-aliases/AIModelNameRules.md +2 -4
  287. package/docs/type-aliases/AITextGenerationFinishReason.md +2 -4
  288. package/docs/type-aliases/ActionName.md +2 -4
  289. package/docs/type-aliases/AsyncTaskId.md +2 -4
  290. package/docs/type-aliases/BeforeShutdownListener.md +23 -0
  291. package/docs/type-aliases/EventErrorListenerFn.md +15 -9
  292. package/docs/type-aliases/EventListenerFn.md +12 -8
  293. package/docs/type-aliases/FStringPromptTemplateNode.md +4 -6
  294. package/docs/type-aliases/FuncParamType.md +2 -4
  295. package/docs/type-aliases/PromptExamples.md +3 -5
  296. package/docs/type-aliases/PromptTemplateType.md +2 -4
  297. package/docs/type-aliases/PromptType.md +2 -4
  298. package/docs/type-aliases/SemaphoreIsReadyFuncType.md +15 -0
  299. package/docs/type-aliases/TFunc.md +9 -7
  300. package/docs/variables/AIChatRoles.md +3 -5
  301. package/docs/variables/AIMessageTypes.md +3 -5
  302. package/docs/variables/AITextGenerationFinishReasons.md +3 -5
  303. package/docs/variables/AbortErrorCode.md +2 -4
  304. package/docs/variables/ActionNames.md +3 -5
  305. package/docs/variables/AlreadyExistsErrorCode.md +2 -4
  306. package/docs/variables/ClientToolFuncSchema.md +40 -26
  307. package/docs/variables/DEFAULT_CONFIG_NAME.md +11 -0
  308. package/docs/variables/DefaultAsyncSemaphoreCapacity.md +2 -4
  309. package/docs/variables/EventBusName.md +2 -4
  310. package/docs/variables/EventName.md +2 -4
  311. package/docs/variables/FilenameReservedRegex.md +3 -5
  312. package/docs/variables/HFBuiltins.md +42 -12
  313. package/docs/variables/InternalErrorCode.md +2 -4
  314. package/docs/variables/LLM_TOKENIZER_NAMES.md +5 -7
  315. package/docs/variables/LLM_TOKENIZER_NAMES_MAP.md +2 -4
  316. package/docs/variables/NotFoundErrorCode.md +2 -4
  317. package/docs/variables/NotImplementedErrorCode.md +2 -4
  318. package/docs/variables/PASSING_SCORE.md +2 -4
  319. package/docs/variables/PromptTemplateTypes.md +3 -5
  320. package/docs/variables/PromptTypes.md +4 -6
  321. package/docs/variables/RStreamErrCode.md +2 -4
  322. package/docs/variables/RemoteToolFuncSchema.md +40 -26
  323. package/docs/variables/ResponseRStreamErrCode.md +2 -4
  324. package/docs/variables/SHUTDOWN_SIGNALS.md +17 -0
  325. package/docs/variables/SSEChannelAlreadyClosedErrCode.md +2 -4
  326. package/docs/variables/SecondaryCache.md +11 -0
  327. package/docs/variables/ServerToolFuncSchema.md +40 -26
  328. package/docs/variables/ToolAsyncCancelableBit.md +2 -4
  329. package/docs/variables/ToolAsyncMultiTaskBit.md +2 -4
  330. package/docs/variables/ToolAsyncPriorityBit.md +2 -4
  331. package/docs/variables/ToolFuncSchema.md +33 -25
  332. package/docs/variables/WindowsReservedNameRegex.md +3 -5
  333. package/docs/variables/base32768.md +2 -4
  334. package/docs/variables/defaultTemplateFormat.md +2 -4
  335. package/docs/variables/event.md +2 -4
  336. package/docs/variables/eventClient.md +2 -4
  337. package/docs/variables/eventServer.md +2 -4
  338. package/docs/variables/lrucache.md +2 -4
  339. package/docs/variables/mimeType.md +2 -4
  340. package/docs/variables/uuidNIL.md +3 -5
  341. package/package.json +31 -31
  342. package/dist/chunk-SIP3XWIH.mjs +0 -1
  343. package/dist/index-BC3GQn6-.d.mts +0 -488
  344. package/dist/index-BC3GQn6-.d.ts +0 -488
@@ -1,488 +0,0 @@
1
- import { EventEmitter, Event } from 'events-ex';
2
- import { AdvancePropertyManager } from 'property-manager';
3
- import { ICacheOptions, Cache } from 'secondary-cache';
4
- import * as _isdk_common_error from '@isdk/common-error';
5
- import { IncomingMessage, ServerResponse } from 'http';
6
-
7
- declare const ToolAsyncMultiTaskBit = 0;
8
- declare const ToolAsyncCancelableBit = 1;
9
- declare const ToolAsyncPriorityBit = 2;
10
- declare enum AsyncFeatureBits {
11
- MultiTask = 0,
12
- Cancelable = 1,
13
- Priority = 2
14
- }
15
- declare enum AsyncFeatures {
16
- MultiTask = 1,// B0001
17
- Cancelable = 2,// B010
18
- Priority = 4
19
- }
20
- type FuncParamType = string;
21
- interface FuncParam {
22
- name?: string;
23
- type?: FuncParamType;
24
- required?: boolean;
25
- description?: string;
26
- asyncFeatures?: number;
27
- depends?: {
28
- [name: string]: ToolFunc;
29
- };
30
- }
31
- interface FuncParams {
32
- [name: string]: FuncParam | FuncParamType;
33
- }
34
- type TFunc = (this: ToolFunc, ...params: any[]) => any;
35
- interface BaseFuncItem {
36
- name?: string;
37
- params?: FuncParams | FuncParam[];
38
- result?: string;
39
- scope?: any;
40
- tags?: string | string[];
41
- setup?: (this: ToolFunc, options?: FuncItem) => void;
42
- isApi?: boolean;
43
- stream?: boolean;
44
- }
45
- interface FuncItem extends BaseFuncItem {
46
- func?: TFunc;
47
- }
48
- interface BaseFunc extends BaseFuncItem {
49
- func(...params: any): any;
50
- }
51
- interface Funcs {
52
- [name: string]: ToolFunc;
53
- }
54
- interface ToolFuncPackage {
55
- name: string;
56
- register: (data?: any) => void;
57
- unregister?: () => void;
58
- }
59
- declare interface ToolFunc extends BaseFunc {
60
- [name: string]: any;
61
- }
62
- declare class ToolFunc extends AdvancePropertyManager {
63
- static items: Funcs;
64
- static dataPath: string;
65
- static get(name: string): ToolFunc;
66
- static list(): Funcs;
67
- static getByTag(tagName: string): ToolFunc | undefined;
68
- static getAllByTag(tagName: string): ToolFunc[];
69
- static hasAsyncFeature(feature: AsyncFeatureBits): boolean;
70
- static run(name: string, params?: any): Promise<any>;
71
- static runSync(name: string, params?: any): any;
72
- static getFunc(name: string): any;
73
- static runWithPos(name: string, ...params: any[]): Promise<any>;
74
- static runWithPosSync(name: string, ...params: any[]): any;
75
- static getFuncWithPos(name: string): any;
76
- static register(name: string, options: FuncItem): boolean | ToolFunc;
77
- static register(func: Function, options: FuncItem): boolean | ToolFunc;
78
- static register(name: string | ToolFunc | Function | FuncItem, options?: FuncItem): boolean | ToolFunc;
79
- static unregister(name: string): ToolFunc | undefined;
80
- constructor(name: string | Function | FuncItem, options?: FuncItem | any);
81
- register(): boolean | ToolFunc;
82
- unregister(): any;
83
- arr2ObjParams(params: any[]): any[];
84
- obj2ArrParams(params?: any): any[];
85
- runSync(params?: any): any;
86
- run(params?: any): Promise<any>;
87
- runAs(name: string, params?: any): Promise<any>;
88
- runAsSync(name: string, params?: any): any;
89
- getFunc(name?: string): any;
90
- runWithPosSync(...params: any[]): any;
91
- runWithPosAsSync(name: string, ...params: any[]): any;
92
- runWithPos(...params: any[]): Promise<any>;
93
- runWithPosAs(name: string, ...params: any[]): Promise<any>;
94
- getFuncWithPos(name?: string): any;
95
- hasAsyncFeature(feature: AsyncFeatureBits): boolean;
96
- isStream(params: any): boolean | undefined;
97
- }
98
- declare const ToolFuncSchema: {
99
- name: {
100
- type: string;
101
- };
102
- description: {
103
- type: string;
104
- };
105
- func: {
106
- type: string;
107
- assign(value: Function | string, dest: ToolFunc, src?: ToolFunc, name?: string, options?: any): string | Function;
108
- };
109
- params: {
110
- type: string;
111
- };
112
- result: {
113
- type: string;
114
- };
115
- setup: {
116
- type: string;
117
- };
118
- depends: {
119
- type: string;
120
- exported: boolean;
121
- };
122
- tags: {
123
- type: string[];
124
- };
125
- isApi: {
126
- type: string;
127
- };
128
- stream: {
129
- type: string;
130
- };
131
- asyncFeatures: {
132
- type: string;
133
- };
134
- };
135
-
136
- declare const PASSING_SCORE = 0.618;
137
- declare const ActionNames: readonly ["get", "post", "put", "delete", "patch", "list", "res"];
138
- type ActionName = typeof ActionNames[number];
139
- type AIModelNameRuleFn = (name: string) => string | RegExpExecArray | undefined;
140
- type AIModelNameRule = string | RegExp | AIModelNameRuleFn;
141
- type AIModelNameRules = AIModelNameRule | AIModelNameRule[];
142
- declare const RemoteToolFuncSchema: {
143
- apiRoot: {
144
- type: string;
145
- get(this: any): any;
146
- set(this: any, value: string): void;
147
- };
148
- action: {
149
- type: string;
150
- assign(value: ActionName, dest: any, src?: any, name?: string, options?: any): "get" | "post" | "put" | "delete" | "patch" | "list" | "res";
151
- };
152
- fetchOptions: {
153
- type: string;
154
- };
155
- allowExportFunc: {
156
- type: string;
157
- };
158
- };
159
- interface RemoteFuncItem extends BaseFuncItem {
160
- apiRoot?: string;
161
- action?: ActionName;
162
- fetchOptions?: any;
163
- }
164
-
165
- type Events = (string | RegExp)[];
166
- type Client = {
167
- req: IncomingMessage;
168
- res: ServerResponse;
169
- events?: Events;
170
- };
171
- declare const SSEChannelAlreadyClosedErrCode = 498;
172
- /**
173
- * A class for creating Server-Sent Events (SSE) channels.
174
- * @example
175
- * const sseChannel = new SSEChannel({ pingInterval: 5000 })
176
- * sseChannel.publish('Hello, world!', 'greeting')
177
- */
178
- declare class SSEChannel {
179
- _active: boolean;
180
- clients: Set<Client>;
181
- messages: Record<string, any>[];
182
- nextID: number;
183
- options: Record<string, any>;
184
- pingTimer?: NodeJS.Timeout;
185
- get active(): boolean;
186
- set active(v: boolean);
187
- /**
188
- * Creates a new SSE channel.
189
- * @param options - The options for the SSE channel.
190
- */
191
- constructor(options?: Record<string, any>);
192
- /**
193
- * Publishes a message to the SSE channel.
194
- * @param {string | Record<string, any>} data - The data to send. It can be a string or an object.
195
- * @param {string} eventName - The name of the event.
196
- * @returns {number | undefined} - Returns the ID of the message.
197
- * @throws Will throw an error if the channel is closed.
198
- */
199
- publish(data?: string | Record<string, any>, eventName?: string): number | undefined;
200
- /**
201
- * Subscribes a client to the SSE channel.
202
- * @param {IncomingMessage} req - The request object.
203
- * @param {ServerResponse} res - The response object.
204
- * @param {Events} events - The events to subscribe to.
205
- * @returns {Client} - Returns the client object.
206
- * @throws Will throw an error if the channel is closed.
207
- */
208
- subscribe(req: IncomingMessage, res: ServerResponse, events?: Events): {
209
- req: IncomingMessage;
210
- res: ServerResponse<IncomingMessage>;
211
- events: Events | undefined;
212
- };
213
- /**
214
- * Unsubscribes a client from the SSE channel.
215
- * @param {Client} c - The client to unsubscribe.
216
- */
217
- unsubscribe(c: Client): void;
218
- clearClients(): void;
219
- /**
220
- * Lists the clients connected to the SSE channel grouped by IP address.
221
- * @returns - Returns an object where the keys are the IP addresses and the values are the number of clients connected from each IP.
222
- */
223
- listClients(): Record<string, number>;
224
- /**
225
- * Gets the number of clients subscribed to the SSE channel.
226
- * @returns - Returns the number of clients.
227
- */
228
- getSubscriberCount(): number;
229
- }
230
-
231
- declare global {
232
- // eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
233
- interface SymbolConstructor {
234
- readonly observable: symbol;
235
- }
236
- }
237
-
238
- interface ClientFuncItem extends RemoteFuncItem {
239
- }
240
- declare interface ClientTools extends ClientFuncItem {
241
- [name: string]: any;
242
- }
243
- declare class ClientTools extends ToolFunc {
244
- apiRoot: string | undefined;
245
- private static _apiRoot?;
246
- static get apiRoot(): string | undefined;
247
- static setApiRoot(v: string): void;
248
- static loadFrom(): Promise<void>;
249
- static loadFromSync(items: Funcs): void;
250
- static fetch(name: string, objParam?: any): Promise<any>;
251
- getUrlParams(objParam: any): string;
252
- fetch(objParam?: any, act?: ActionName, subName?: any): Promise<Response>;
253
- errorFrom(res: Response): Promise<_isdk_common_error.CommonError>;
254
- func(objParam: any): Promise<any>;
255
- }
256
- declare const ClientToolFuncSchema: {
257
- apiRoot: {
258
- type: string;
259
- get(this: any): any;
260
- set(this: any, value: string): void;
261
- };
262
- action: {
263
- type: string;
264
- assign(value: ActionName, dest: any, src?: any, name?: string, options?: any): "get" | "post" | "put" | "delete" | "patch" | "list" | "res";
265
- };
266
- fetchOptions: {
267
- type: string;
268
- };
269
- allowExportFunc: {
270
- type: string;
271
- };
272
- };
273
-
274
- /**
275
- * Convention: Always pass _req, _res
276
- */
277
- interface ServerFuncParams {
278
- _req?: IncomingMessage;
279
- _res?: ServerResponse;
280
- [name: string]: any;
281
- }
282
- interface ServerFuncItem extends RemoteFuncItem {
283
- allowExportFunc?: boolean;
284
- }
285
- declare interface ServerTools extends ServerFuncItem {
286
- [name: string]: any;
287
- }
288
- declare class ServerTools extends ToolFunc {
289
- private static _apiRoot?;
290
- static get apiRoot(): string | undefined;
291
- static setApiRoot(v: string): void;
292
- static toJSON(): {
293
- [name: string]: ServerTools;
294
- };
295
- func({}: {}): Promise<any> | any;
296
- }
297
- declare const ServerToolFuncSchema: {
298
- apiRoot: {
299
- type: string;
300
- get(this: any): any;
301
- set(this: any, value: string): void;
302
- };
303
- action: {
304
- type: string;
305
- assign(value: ActionName, dest: any, src?: any, name?: string, options?: any): "get" | "post" | "put" | "delete" | "patch" | "list" | "res";
306
- };
307
- fetchOptions: {
308
- type: string;
309
- };
310
- allowExportFunc: {
311
- type: string;
312
- };
313
- };
314
-
315
- declare class EventToolFunc extends ToolFunc {
316
- _emitter: EventEmitter;
317
- description: string;
318
- result: string;
319
- get emitter(): EventEmitter;
320
- func(): EventEmitter;
321
- }
322
- declare const event: EventToolFunc;
323
-
324
- declare function _lrucache(this: ToolFunc, { key, value, options }?: {
325
- key?: string;
326
- value?: any;
327
- options?: ICacheOptions | number;
328
- }): Cache;
329
- declare function createLRUCache(name: string, options?: ICacheOptions | number): ToolFunc;
330
- declare const lrucache: ToolFunc;
331
-
332
- interface RpcMethodsClientFuncParams {
333
- act?: string;
334
- [name: string]: any;
335
- }
336
- declare class RpcMethodsClientTool extends ClientTools {
337
- _func(action: ActionName, options: RpcMethodsClientFuncParams): Promise<any>;
338
- func(options: RpcMethodsClientFuncParams): Promise<any>;
339
- assignMethods(methods: string[]): void;
340
- }
341
-
342
- interface ResClientFuncParams extends RpcMethodsClientFuncParams {
343
- id?: string | number;
344
- }
345
- interface ResClientTools {
346
- get?({ id }: ResClientFuncParams): any;
347
- post?(options: ResClientFuncParams): any;
348
- put?({ id }: ResClientFuncParams): any;
349
- delete?({ id }: ResClientFuncParams): any;
350
- list?(options: ResClientFuncParams): any;
351
- }
352
- declare class ResClientTools extends RpcMethodsClientTool {
353
- fetch(options: ResClientFuncParams, action: ActionName): Promise<Response>;
354
- }
355
-
356
- interface EventClientFuncParams {
357
- event?: string | string[];
358
- data?: any;
359
- act?: 'sub' | 'pub' | 'unsub' | 'init';
360
- listener?: (...args: any[]) => void;
361
- }
362
- declare class EventClient extends ResClientTools {
363
- _es: EventSource | undefined;
364
- _esEvents: string[] | undefined;
365
- _sseEvents: Record<string, (e: MessageEvent) => void>;
366
- _forwardEvents: Set<string>;
367
- get evtSource(): EventSource;
368
- get active(): boolean;
369
- set active(v: boolean);
370
- name: string;
371
- description: string;
372
- initEventSource(events?: string | string[]): EventSource;
373
- esListener(event: MessageEvent): void;
374
- ebListener: (this: Event, ...data: any[]) => Promise<void>;
375
- /**
376
- * subscribe server sent event(SSE)
377
- * @param events
378
- */
379
- subscribe(events: string | string[]): Promise<any>;
380
- /**
381
- * unsubscribe server sent event(SSE)
382
- * @param events
383
- */
384
- unsubscribe(events: string | string[]): Promise<any>;
385
- /**
386
- * forward local event(s) to server
387
- *
388
- * subscribe these local events to forward/publish to server
389
- *
390
- * Note: pls backendEventable(ClientTools or EventClient) first
391
- * @param events
392
- */
393
- forwardEvent(events: string | string[]): void;
394
- /**
395
- * unforward local event(s) to server
396
- *
397
- * unsubscribe these local events not to forward/publish to server
398
- *
399
- * Note: pls backendEventable(ClientTools or EventClient) first
400
- * @param events
401
- */
402
- unforwardEvent(events: string | string[]): void;
403
- init(events: string | string[]): Promise<any>;
404
- }
405
- declare const eventClient: EventClient;
406
-
407
- interface RpcMethodsServerFuncParams extends ServerFuncParams {
408
- act?: string;
409
- }
410
- interface RpcMethodsServerTool {
411
- methods: string[];
412
- }
413
- declare class RpcMethodsServerTool extends ServerTools {
414
- static SpecialRpcMethodNames?: string[];
415
- params: FuncParams;
416
- get SpecialRpcMethodNames(): any;
417
- initRpcMethods(methods?: string[]): void;
418
- constructor(name: string | Function | FuncItem, options?: FuncItem | any);
419
- cast(key: string, value: any): any;
420
- getMethodFromParams(params: RpcMethodsServerFuncParams): string | undefined;
421
- castParams(params: RpcMethodsServerFuncParams): RpcMethodsServerFuncParams;
422
- func(params: RpcMethodsServerFuncParams): any;
423
- }
424
-
425
- interface ResServerFuncParams extends RpcMethodsServerFuncParams {
426
- id?: string | number;
427
- val?: any;
428
- }
429
- interface ResServerTools {
430
- get?({ id }: ResServerFuncParams): any;
431
- post?(options: ResServerFuncParams): any;
432
- put?({ id }: ResServerFuncParams): any;
433
- delete?({ id }: ResServerFuncParams): any;
434
- list?(options?: ResServerFuncParams): any;
435
- }
436
- declare class ResServerTools extends RpcMethodsServerTool {
437
- static SpecialRpcMethodNames: any;
438
- action: ActionName;
439
- params: FuncParams;
440
- constructor(name: string | Function | FuncItem, options?: FuncItem | any);
441
- getMethodFromParams(params: ResServerFuncParams): string | undefined;
442
- castParams(params: RpcMethodsServerFuncParams): RpcMethodsServerFuncParams;
443
- }
444
-
445
- interface EventServerFuncParams extends ServerFuncParams {
446
- event?: string | string[];
447
- data?: any;
448
- act?: 'sub' | 'pub' | 'unsub';
449
- }
450
- declare class EventServer extends ResServerTools {
451
- static _sse: SSEChannel | undefined;
452
- static get sse(): SSEChannel;
453
- name: string;
454
- description: string;
455
- result: string;
456
- depends: {
457
- "event-bus": EventToolFunc;
458
- };
459
- get sse(): any;
460
- static publish(data: any, event: string): number | undefined;
461
- static ebListener: (this: Event, ...data: any[]) => void;
462
- static subscribe(req: IncomingMessage, res: ServerResponse, events?: string[]): {
463
- req: IncomingMessage;
464
- res: ServerResponse<IncomingMessage>;
465
- events: (string | RegExp)[] | undefined;
466
- };
467
- static alreadyForward(event: string): true | undefined;
468
- publishSSE(data: any, event: string): any;
469
- subscribeSSE(req: IncomingMessage, res: ServerResponse, events?: string | string[]): any;
470
- forward(events: string | string[]): void;
471
- unforward(events: string | string[]): void;
472
- list({ _req, _res, event }: EventServerFuncParams): void;
473
- $sub({ event }: EventServerFuncParams): {
474
- event: string | string[];
475
- } | undefined;
476
- $unsub({ event }: EventServerFuncParams): {
477
- event: string | string[];
478
- } | undefined;
479
- $publish({ event: events, data }: EventServerFuncParams): {
480
- event: string[];
481
- } | undefined;
482
- isStream(params: ServerFuncParams): boolean;
483
- }
484
- declare const eventServer: EventServer;
485
-
486
- declare function registerCoreTools(): void;
487
-
488
- export { AsyncFeatures as A, type BaseFuncItem as B, type ClientFuncItem as C, event as D, EventToolFunc as E, type FuncParamType as F, createLRUCache as G, lrucache as H, type EventClientFuncParams as I, EventClient as J, eventClient as K, type EventServerFuncParams as L, EventServer as M, eventServer as N, type ResClientFuncParams as O, PASSING_SCORE as P, ResClientTools as Q, RemoteToolFuncSchema as R, SSEChannelAlreadyClosedErrCode as S, ToolFunc as T, type ResServerFuncParams as U, ResServerTools as V, _lrucache as _, type AIModelNameRules as a, ActionNames as b, type ActionName as c, type AIModelNameRuleFn as d, type AIModelNameRule as e, type RemoteFuncItem as f, SSEChannel as g, ToolAsyncMultiTaskBit as h, ToolAsyncCancelableBit as i, ToolAsyncPriorityBit as j, AsyncFeatureBits as k, type FuncParam as l, type FuncParams as m, type TFunc as n, type FuncItem as o, type BaseFunc as p, type Funcs as q, type ToolFuncPackage as r, ToolFuncSchema as s, ClientTools as t, ClientToolFuncSchema as u, type ServerFuncParams as v, type ServerFuncItem as w, ServerTools as x, ServerToolFuncSchema as y, registerCoreTools as z };