@isdk/ai-tool 0.5.2 → 0.5.4

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 (331) hide show
  1. package/dist/funcs.js +1 -1
  2. package/dist/index.js +1 -1
  3. package/docs/README.md +250 -0
  4. package/docs/_media/CONTRIBUTING.md +18 -0
  5. package/docs/_media/LICENSE-MIT +22 -0
  6. package/docs/classes/AbortError.md +366 -0
  7. package/docs/classes/AlreadyExistsError.md +346 -0
  8. package/docs/classes/BaseError.md +359 -0
  9. package/docs/classes/BinarySemaphore.md +418 -0
  10. package/docs/classes/CancelableAbility.md +467 -0
  11. package/docs/classes/ClientTools.md +2715 -0
  12. package/docs/classes/CommonError.md +377 -0
  13. package/docs/classes/ConfigFile.md +353 -0
  14. package/docs/classes/EnvPromptTemplate.md +1158 -0
  15. package/docs/classes/EventClient.md +3149 -0
  16. package/docs/classes/EventEmitter.md +299 -0
  17. package/docs/classes/EventServer.md +3175 -0
  18. package/docs/classes/EventToolFunc.md +2557 -0
  19. package/docs/classes/FStringPromptTemplate.md +1158 -0
  20. package/docs/classes/FewShotPromptTemplate.md +1180 -0
  21. package/docs/classes/GolangPromptTemplate.md +1158 -0
  22. package/docs/classes/HFEnvironment.md +184 -0
  23. package/docs/classes/HFInterpreter.md +77 -0
  24. package/docs/classes/HFTemplate.md +67 -0
  25. package/docs/classes/HfPromptTemplate.md +1158 -0
  26. package/docs/classes/IntSet.md +216 -0
  27. package/docs/classes/LRUCache.md +601 -0
  28. package/docs/classes/NotFoundError.md +346 -0
  29. package/docs/classes/NotImplementationError.md +346 -0
  30. package/docs/classes/PromptExampleSelector.md +195 -0
  31. package/docs/classes/PromptTemplate.md +1088 -0
  32. package/docs/classes/ReadableStreamError.md +366 -0
  33. package/docs/classes/ResClientTools.md +2431 -0
  34. package/docs/classes/ResServerTools.md +2407 -0
  35. package/docs/classes/SSEChannel.md +270 -0
  36. package/docs/classes/Semaphore.md +538 -0
  37. package/docs/classes/ServerTools.md +2623 -0
  38. package/docs/classes/SignalGate.md +182 -0
  39. package/docs/classes/TaskAbortController.md +131 -0
  40. package/docs/classes/ToolFunc.md +2177 -0
  41. package/docs/classes/YamlTypeBaseObject.md +31 -0
  42. package/docs/enumerations/AsyncFeatureBits.md +33 -0
  43. package/docs/enumerations/AsyncFeatures.md +33 -0
  44. package/docs/enumerations/ErrorCode.md +177 -0
  45. package/docs/enumerations/HashAlgorithm.md +97 -0
  46. package/docs/functions/AIArgProcessor.md +33 -0
  47. package/docs/functions/AIStream.md +52 -0
  48. package/docs/functions/ChoiceArgProcessor.md +33 -0
  49. package/docs/functions/ObjectArgsToArgsInfo.md +29 -0
  50. package/docs/functions/RateLimit.md +37 -0
  51. package/docs/functions/TemplateArgProcessor.md +33 -0
  52. package/docs/functions/assignDirs.md +33 -0
  53. package/docs/functions/backendEventable.md +29 -0
  54. package/docs/functions/beforeShutdown.md +29 -0
  55. package/docs/functions/canonicalize.md +21 -0
  56. package/docs/functions/completeSentences.md +25 -0
  57. package/docs/functions/concatText.md +25 -0
  58. package/docs/functions/countLLMTokens.md +25 -0
  59. package/docs/functions/countRegexMatches.md +35 -0
  60. package/docs/functions/createAbilityInjector.md +119 -0
  61. package/docs/functions/createCallbacksTransformer.md +49 -0
  62. package/docs/functions/createEmptyReadableStream.md +21 -0
  63. package/docs/functions/createEndWithRepetitionDetector.md +31 -0
  64. package/docs/functions/createError.md +39 -0
  65. package/docs/functions/createEventStreamTransformer.md +33 -0
  66. package/docs/functions/createHfValueFunc.md +31 -0
  67. package/docs/functions/createLRUCache.md +25 -0
  68. package/docs/functions/createYamlObjectTag.md +25 -0
  69. package/docs/functions/dateToText.md +25 -0
  70. package/docs/functions/decodeCharset.md +25 -0
  71. package/docs/functions/detectCharset.md +25 -0
  72. package/docs/functions/encodeLLMTokens.md +25 -0
  73. package/docs/functions/ensureQuoted.md +25 -0
  74. package/docs/functions/eventable.md +82 -0
  75. package/docs/functions/expandConfig.md +25 -0
  76. package/docs/functions/expandEnv.md +40 -0
  77. package/docs/functions/expandObjEnv.md +58 -0
  78. package/docs/functions/expandPath.md +25 -0
  79. package/docs/functions/extNameLevel.md +43 -0
  80. package/docs/functions/fileIsExists.md +34 -0
  81. package/docs/functions/filenameReservedRegex.md +20 -0
  82. package/docs/functions/filterValidFnScope.md +21 -0
  83. package/docs/functions/findIndexNonEmptyFrom.md +25 -0
  84. package/docs/functions/findPort.md +25 -0
  85. package/docs/functions/formatISO.md +69 -0
  86. package/docs/functions/formatTextWithSpace.md +63 -0
  87. package/docs/functions/getAllEnumKeys.md +31 -0
  88. package/docs/functions/getConfigFileNames.md +25 -0
  89. package/docs/functions/getConfigs.md +25 -0
  90. package/docs/functions/getEnvVairables.md +21 -0
  91. package/docs/functions/getFileMetaInfo.md +21 -0
  92. package/docs/functions/getHashAlgoBySize.md +21 -0
  93. package/docs/functions/getKeysPath.md +38 -0
  94. package/docs/functions/getLLMTokenizer.md +21 -0
  95. package/docs/functions/getMultiLevelExtname.md +33 -0
  96. package/docs/functions/getPackageDir.md +39 -0
  97. package/docs/functions/getRealFilepath.md +34 -0
  98. package/docs/functions/getResponseErrorReadableStream.md +21 -0
  99. package/docs/functions/getXDGConfigs.md +37 -0
  100. package/docs/functions/hasDirectoryIn.md +40 -0
  101. package/docs/functions/hash.md +25 -0
  102. package/docs/functions/hashFile.md +25 -0
  103. package/docs/functions/hashStream.md +25 -0
  104. package/docs/functions/hfParse.md +24 -0
  105. package/docs/functions/hfTokenize.md +27 -0
  106. package/docs/functions/initShutdown.md +15 -0
  107. package/docs/functions/interpolateEnv.md +29 -0
  108. package/docs/functions/interpolateFString.md +29 -0
  109. package/docs/functions/interpolateGolangTemplate.md +35 -0
  110. package/docs/functions/isLangUsingSpaces.md +21 -0
  111. package/docs/functions/isListItemString.md +21 -0
  112. package/docs/functions/isModelNameMatched.md +47 -0
  113. package/docs/functions/isPunctuationChar.md +36 -0
  114. package/docs/functions/isQuoted.md +21 -0
  115. package/docs/functions/isRegExp.md +21 -0
  116. package/docs/functions/isSameString.md +36 -0
  117. package/docs/functions/isSectionString.md +25 -0
  118. package/docs/functions/isSentenceEnding.md +21 -0
  119. package/docs/functions/isSepLineString.md +21 -0
  120. package/docs/functions/isStrWrapped.md +25 -0
  121. package/docs/functions/isSubdirectory.md +41 -0
  122. package/docs/functions/isTitleString.md +25 -0
  123. package/docs/functions/isValidFilename.md +38 -0
  124. package/docs/functions/isValidFilepath.md +27 -0
  125. package/docs/functions/isWebStream.md +21 -0
  126. package/docs/functions/jsonFilterToWhere.md +47 -0
  127. package/docs/functions/jsonToMarkdownStr.md +39 -0
  128. package/docs/functions/loadAIConfig.md +21 -0
  129. package/docs/functions/loadConfig.md +25 -0
  130. package/docs/functions/loadConfigFile.md +25 -0
  131. package/docs/functions/loadFileFromPaths.md +64 -0
  132. package/docs/functions/loadTextFromPaths.md +37 -0
  133. package/docs/functions/lrucache.md +35 -0
  134. package/docs/functions/makeToolFuncCancelable.md +29 -0
  135. package/docs/functions/matchUrlProtocol.md +48 -0
  136. package/docs/functions/memoize.md +29 -0
  137. package/docs/functions/messagesToText.md +21 -0
  138. package/docs/functions/paramsSizeToScaleStr.md +34 -0
  139. package/docs/functions/parseCommand.md +29 -0
  140. package/docs/functions/parseDateFormat.md +362 -0
  141. package/docs/functions/parseFString.md +26 -0
  142. package/docs/functions/parseISO.md +70 -0
  143. package/docs/functions/parseJsJson.md +40 -0
  144. package/docs/functions/parseJsJsonSimpleSync.md +25 -0
  145. package/docs/functions/parseObjectArgInfo.md +33 -0
  146. package/docs/functions/parseObjectArgumentInfos.md +29 -0
  147. package/docs/functions/parseObjectArguments.md +72 -0
  148. package/docs/functions/parseObjectArgumentsAsArgInfos.md +46 -0
  149. package/docs/functions/parseYaml.md +25 -0
  150. package/docs/functions/quoteStr.md +21 -0
  151. package/docs/functions/reControlCharsRegex.md +19 -0
  152. package/docs/functions/readFilenamesRecursiveSync.md +53 -0
  153. package/docs/functions/readTextFileChunks.md +53 -0
  154. package/docs/functions/readTextFileChunksEx.md +25 -0
  155. package/docs/functions/readableFromAsyncIterable.md +28 -0
  156. package/docs/functions/registerCoreTools.md +15 -0
  157. package/docs/functions/registerYamlTag.md +21 -0
  158. package/docs/functions/removeMarkdownBold.md +25 -0
  159. package/docs/functions/removeMarkdownBoldAndItalic.md +25 -0
  160. package/docs/functions/removeMarkdownItalic.md +25 -0
  161. package/docs/functions/replaceWithPlaceholder.md +43 -0
  162. package/docs/functions/restoreFromPlacehoders.md +49 -0
  163. package/docs/functions/sanitizeFilename.md +39 -0
  164. package/docs/functions/sanitizeFilepath.md +33 -0
  165. package/docs/functions/saveConfigFile.md +29 -0
  166. package/docs/functions/scaleStrToParamsSize.md +27 -0
  167. package/docs/functions/shutdown.md +33 -0
  168. package/docs/functions/simplifyObjectArguments.md +21 -0
  169. package/docs/functions/sortedValues.md +25 -0
  170. package/docs/functions/splitChunks.md +25 -0
  171. package/docs/functions/splitParagraph.md +34 -0
  172. package/docs/functions/splitSentence.md +39 -0
  173. package/docs/functions/stringifyYaml.md +25 -0
  174. package/docs/functions/stripConsoleColor.md +21 -0
  175. package/docs/functions/textToDate.md +25 -0
  176. package/docs/functions/throwError.md +41 -0
  177. package/docs/functions/toDate.md +74 -0
  178. package/docs/functions/toDateTime.md +21 -0
  179. package/docs/functions/toRegExp.md +34 -0
  180. package/docs/functions/trimStartOfStreamHelper.md +41 -0
  181. package/docs/functions/truncTo.md +51 -0
  182. package/docs/functions/truncateByToken.md +25 -0
  183. package/docs/functions/truncateToTokenLimit.md +46 -0
  184. package/docs/functions/truncateToTokenLimitEx.md +25 -0
  185. package/docs/functions/uuid.md +25 -0
  186. package/docs/functions/uuidParse.md +21 -0
  187. package/docs/functions/uuidStringify.md +25 -0
  188. package/docs/functions/uuidValidate.md +21 -0
  189. package/docs/functions/uuidVersion.md +21 -0
  190. package/docs/functions/uuidv1.md +55 -0
  191. package/docs/functions/uuidv4.md +55 -0
  192. package/docs/functions/uuidv5.md +63 -0
  193. package/docs/functions/wait.md +21 -0
  194. package/docs/functions/wrapEventEmitter.md +27 -0
  195. package/docs/functions/xxhash.md +29 -0
  196. package/docs/functions/xxhash32.md +25 -0
  197. package/docs/functions/xxhash64.md +25 -0
  198. package/docs/functions/xxhashAsStr.md +29 -0
  199. package/docs/globals.md +329 -0
  200. package/docs/interfaces/AIChatAssistantMessageParam.md +129 -0
  201. package/docs/interfaces/AIChatContentPartImage.md +29 -0
  202. package/docs/interfaces/AIChatContentPartText.md +25 -0
  203. package/docs/interfaces/AIChatMessageParamBase.md +68 -0
  204. package/docs/interfaces/AIChatMessageToolCall.md +41 -0
  205. package/docs/interfaces/AIChatSystemMessageParam.md +105 -0
  206. package/docs/interfaces/AIChatToolChoiceFuncObject.md +37 -0
  207. package/docs/interfaces/AIChatToolChoiceObject.md +25 -0
  208. package/docs/interfaces/AIChatToolFunc.md +41 -0
  209. package/docs/interfaces/AIChatToolFuncParam.md +37 -0
  210. package/docs/interfaces/AIChatToolMessageParam.md +113 -0
  211. package/docs/interfaces/AIChatToolParam.md +25 -0
  212. package/docs/interfaces/AIChatToolTypeObject.md +17 -0
  213. package/docs/interfaces/AIChatUserMessageParam.md +137 -0
  214. package/docs/interfaces/AIChoiceConfig.md +65 -0
  215. package/docs/interfaces/AIResult.md +65 -0
  216. package/docs/interfaces/AIStreamParser.md +43 -0
  217. package/docs/interfaces/AIStreamParserOptions.md +21 -0
  218. package/docs/interfaces/BaseFunc.md +145 -0
  219. package/docs/interfaces/BaseFuncItem.md +93 -0
  220. package/docs/interfaces/BinarySemaphoreAcquireOptions.md +25 -0
  221. package/docs/interfaces/BinarySemaphoreOptions.md +57 -0
  222. package/docs/interfaces/BinarySemaphoreReleaseOptions.md +25 -0
  223. package/docs/interfaces/BinarySemaphoreReleaserFunc.md +37 -0
  224. package/docs/interfaces/CancelableAbilityOptions.md +113 -0
  225. package/docs/interfaces/ClientFuncItem.md +163 -0
  226. package/docs/interfaces/DotenvExpandOptions.md +43 -0
  227. package/docs/interfaces/DotenvExpandOutput.md +25 -0
  228. package/docs/interfaces/DotenvParseInput.md +13 -0
  229. package/docs/interfaces/DotenvParseOutput.md +13 -0
  230. package/docs/interfaces/DotenvPopulateInput.md +13 -0
  231. package/docs/interfaces/EventClientFuncParams.md +51 -0
  232. package/docs/interfaces/EventServerFuncParams.md +67 -0
  233. package/docs/interfaces/FewShotPromptTemplateOptions.md +147 -0
  234. package/docs/interfaces/FuncItem.md +131 -0
  235. package/docs/interfaces/FuncParam.md +61 -0
  236. package/docs/interfaces/FuncParams.md +13 -0
  237. package/docs/interfaces/Funcs.md +13 -0
  238. package/docs/interfaces/HashAlgoParams.md +33 -0
  239. package/docs/interfaces/IFileMetaInfo.md +65 -0
  240. package/docs/interfaces/IReadTextFileChunksOptions.md +143 -0
  241. package/docs/interfaces/ITruncateToTokenLimitOptions.md +99 -0
  242. package/docs/interfaces/JsonFilter.md +13 -0
  243. package/docs/interfaces/ParseObjectArgumentOptions.md +89 -0
  244. package/docs/interfaces/PromptExampleSelectorOptions.md +34 -0
  245. package/docs/interfaces/PromptTemplateOptions.md +65 -0
  246. package/docs/interfaces/RemoteFuncItem.md +152 -0
  247. package/docs/interfaces/ReplacePlacehoderOptions.md +41 -0
  248. package/docs/interfaces/ResClientFuncParams.md +37 -0
  249. package/docs/interfaces/ResServerFuncParams.md +69 -0
  250. package/docs/interfaces/SanitizeFilenameOptions.md +25 -0
  251. package/docs/interfaces/SectionStringOptions.md +25 -0
  252. package/docs/interfaces/SemaphoreOptions.md +89 -0
  253. package/docs/interfaces/SemaphoreTaskItem.md +73 -0
  254. package/docs/interfaces/ServerFuncItem.md +171 -0
  255. package/docs/interfaces/ServerFuncParams.md +35 -0
  256. package/docs/interfaces/SplitSentenceOptions.md +41 -0
  257. package/docs/interfaces/StreamCallbacksAndOptions.md +99 -0
  258. package/docs/interfaces/TaskAbortControllers.md +13 -0
  259. package/docs/interfaces/TaskPromise.md +138 -0
  260. package/docs/interfaces/ToolFuncPackage.md +47 -0
  261. package/docs/namespaces/EventStates/README.md +14 -0
  262. package/docs/namespaces/EventStates/variables/ABORT.md +11 -0
  263. package/docs/namespaces/EventStates/variables/CONTINUE.md +11 -0
  264. package/docs/namespaces/EventStates/variables/DONE.md +11 -0
  265. package/docs/namespaces/EventStates/variables/STOPPED.md +11 -0
  266. package/docs/namespaces/uuidv5/README.md +12 -0
  267. package/docs/namespaces/uuidv5/variables/DNS.md +11 -0
  268. package/docs/namespaces/uuidv5/variables/URL.md +11 -0
  269. package/docs/type-aliases/AIChatContentPart.md +11 -0
  270. package/docs/type-aliases/AIChatMessageParam.md +11 -0
  271. package/docs/type-aliases/AIChatRole.md +11 -0
  272. package/docs/type-aliases/AIChatToolChoiceParam.md +11 -0
  273. package/docs/type-aliases/AIMessageType.md +11 -0
  274. package/docs/type-aliases/AIModelNameRule.md +11 -0
  275. package/docs/type-aliases/AIModelNameRuleFn.md +21 -0
  276. package/docs/type-aliases/AIModelNameRules.md +11 -0
  277. package/docs/type-aliases/AITextGenerationFinishReason.md +11 -0
  278. package/docs/type-aliases/ActionName.md +11 -0
  279. package/docs/type-aliases/AsyncTaskId.md +11 -0
  280. package/docs/type-aliases/BeforeShutdownListener.md +23 -0
  281. package/docs/type-aliases/EventErrorListenerFn.md +33 -0
  282. package/docs/type-aliases/EventListenerFn.md +29 -0
  283. package/docs/type-aliases/FStringPromptTemplateNode.md +14 -0
  284. package/docs/type-aliases/FuncParamType.md +11 -0
  285. package/docs/type-aliases/PromptExamples.md +15 -0
  286. package/docs/type-aliases/PromptTemplateType.md +11 -0
  287. package/docs/type-aliases/PromptType.md +11 -0
  288. package/docs/type-aliases/SemaphoreIsReadyFuncType.md +15 -0
  289. package/docs/type-aliases/TFunc.md +25 -0
  290. package/docs/variables/AIChatRoles.md +11 -0
  291. package/docs/variables/AIMessageTypes.md +11 -0
  292. package/docs/variables/AITextGenerationFinishReasons.md +11 -0
  293. package/docs/variables/AbortErrorCode.md +11 -0
  294. package/docs/variables/ActionNames.md +11 -0
  295. package/docs/variables/AlreadyExistsErrorCode.md +11 -0
  296. package/docs/variables/ClientToolFuncSchema.md +101 -0
  297. package/docs/variables/DEFAULT_CONFIG_NAME.md +11 -0
  298. package/docs/variables/DefaultAsyncSemaphoreCapacity.md +11 -0
  299. package/docs/variables/EventBusName.md +11 -0
  300. package/docs/variables/EventName.md +11 -0
  301. package/docs/variables/FilenameReservedRegex.md +14 -0
  302. package/docs/variables/HFBuiltins.md +122 -0
  303. package/docs/variables/InternalErrorCode.md +11 -0
  304. package/docs/variables/LLM_TOKENIZER_NAMES.md +81 -0
  305. package/docs/variables/LLM_TOKENIZER_NAMES_MAP.md +11 -0
  306. package/docs/variables/NotFoundErrorCode.md +11 -0
  307. package/docs/variables/NotImplementedErrorCode.md +11 -0
  308. package/docs/variables/PASSING_SCORE.md +11 -0
  309. package/docs/variables/PromptTemplateTypes.md +11 -0
  310. package/docs/variables/PromptTypes.md +14 -0
  311. package/docs/variables/RStreamErrCode.md +11 -0
  312. package/docs/variables/RemoteToolFuncSchema.md +101 -0
  313. package/docs/variables/ResponseRStreamErrCode.md +11 -0
  314. package/docs/variables/SHUTDOWN_SIGNALS.md +17 -0
  315. package/docs/variables/SSEChannelAlreadyClosedErrCode.md +11 -0
  316. package/docs/variables/SecondaryCache.md +11 -0
  317. package/docs/variables/ServerToolFuncSchema.md +101 -0
  318. package/docs/variables/ToolAsyncCancelableBit.md +11 -0
  319. package/docs/variables/ToolAsyncMultiTaskBit.md +11 -0
  320. package/docs/variables/ToolAsyncPriorityBit.md +11 -0
  321. package/docs/variables/ToolFuncSchema.md +133 -0
  322. package/docs/variables/WindowsReservedNameRegex.md +13 -0
  323. package/docs/variables/base32768.md +11 -0
  324. package/docs/variables/defaultTemplateFormat.md +11 -0
  325. package/docs/variables/event.md +11 -0
  326. package/docs/variables/eventClient.md +11 -0
  327. package/docs/variables/eventServer.md +11 -0
  328. package/docs/variables/lrucache.md +11 -0
  329. package/docs/variables/mimeType.md +11 -0
  330. package/docs/variables/uuidNIL.md +11 -0
  331. package/package.json +2 -2
@@ -0,0 +1,82 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / eventable
6
+
7
+ # Function: eventable()
8
+
9
+ > **eventable**\<`T`\>(`targetClass`?, `options`?): `T` & (`aClass`?) => `Function` & `T` *extends* (...`args`) => `any` ? `InstanceType`\<`T`\<`T`\>\> : `T`
10
+
11
+ Defined in: node\_modules/.pnpm/events-ex@2.0.1/node\_modules/events-ex/lib/eventable.d.ts:48
12
+
13
+ Adds event-emitting capabilities to a class by injecting necessary methods and properties.
14
+
15
+ This function uses `createAbilityInjector` from `custom-ability` to inject event-related methods
16
+ into the target class. The injected methods include standard EventEmitter functionality such as
17
+ `on`, `off`, `emit`, `emitAsync`, `once`, `listeners`, `@listenerCount` and more. It also ensures compatibility with Node.js `EventEmitter`
18
+ by including methods like `listenerCount`, `setMaxListeners`, `addListener`, `removeListener`, and `removeAllListeners`.
19
+
20
+ ## Type Parameters
21
+
22
+ • **T** *extends* `Function` \| (...`args`) => `any`
23
+
24
+ ## Parameters
25
+
26
+ ### targetClass?
27
+
28
+ `T`
29
+
30
+ ### options?
31
+
32
+ `AbilityOptions`
33
+
34
+ Optional configuration for the injection process:
35
+ * `include` (string[]|string): Specifies which methods should be added.
36
+ Static methods should use the prefix '@'.
37
+ * `exclude` (string[]|string): Specifies which methods should not be added.
38
+ Static methods should use the prefix '@'.
39
+ * `methods` (Object): Custom methods to override or extend the default behavior.
40
+ Use `this.super()` to call the original method and `this.self` to access the original context.
41
+ * `classMethods` (Object): Custom static methods to be added to the class.
42
+
43
+ ## Returns
44
+
45
+ `T` & (`aClass`?) => `Function` & `T` *extends* (...`args`) => `any` ? `InstanceType`\<`T`\<`T`\>\> : `T`
46
+
47
+ The same `aClass` class with event capabilities injected. The return value is the modified `aClass` itself.
48
+
49
+ ## Function
50
+
51
+ eventable
52
+
53
+ ## Examples
54
+
55
+ ```ts
56
+ import { eventable } from 'events-ex';
57
+
58
+ class MyClass {}
59
+
60
+ // Inject only specific methods: 'on', 'off', 'emit', 'emitAsync', and the static 'listenerCount'
61
+ eventable(MyClass, { include: ['on', 'off', 'emit', 'emitAsync', '@listenerCount'] });
62
+ ```
63
+
64
+ ```ts
65
+ import { eventable } from 'events-ex';
66
+
67
+ class OtherClass {
68
+ exec() {
69
+ console.log("Original exec");
70
+ }
71
+ }
72
+
73
+ // Inject event capabilities and override the `exec` method
74
+ eventable(OtherClass, {
75
+ methods: {
76
+ exec() {
77
+ console.log("New exec");
78
+ this.super(); // Calls the original `exec` method
79
+ }
80
+ }
81
+ });
82
+ ```
@@ -0,0 +1,25 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / expandConfig
6
+
7
+ # Function: expandConfig()
8
+
9
+ > **expandConfig**(`config`, `defaultConfig`): `any`
10
+
11
+ Defined in: [packages/ai-tool/src/utils/load-config.ts:18](https://github.com/isdk/ai-tool.js/blob/7135b3a67072644f21685b76900b7f351401749e/src/utils/load-config.ts#L18)
12
+
13
+ ## Parameters
14
+
15
+ ### config
16
+
17
+ `any`
18
+
19
+ ### defaultConfig
20
+
21
+ `any`
22
+
23
+ ## Returns
24
+
25
+ `any`
@@ -0,0 +1,40 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / expandEnv
6
+
7
+ # Function: expandEnv()
8
+
9
+ > **expandEnv**(`options`): [`DotenvExpandOptions`](../interfaces/DotenvExpandOptions.md)
10
+
11
+ Defined in: [packages/ai-tool/src/utils/prompt/template/env.ts:97](https://github.com/isdk/ai-tool.js/blob/7135b3a67072644f21685b76900b7f351401749e/src/utils/prompt/template/env.ts#L97)
12
+
13
+ Expand environment variables in the parsed object
14
+
15
+ ## Parameters
16
+
17
+ ### options
18
+
19
+ [`DotenvExpandOptions`](../interfaces/DotenvExpandOptions.md)
20
+
21
+ ## Returns
22
+
23
+ [`DotenvExpandOptions`](../interfaces/DotenvExpandOptions.md)
24
+
25
+ ## Example
26
+
27
+ ```ts
28
+ const myEnv = {}
29
+ const env = {
30
+ processEnv: myEnv,
31
+ parsed: {
32
+ WORD: 'World',
33
+ HELLO: 'Hello ${WORD}'
34
+ }
35
+ }
36
+ expandEnv.expand(env)
37
+
38
+ console.log(myEnv.HELLO) // Hello World
39
+ console.log(process.env.HELLO) // undefined
40
+ ```
@@ -0,0 +1,58 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / expandObjEnv
6
+
7
+ # Function: expandObjEnv()
8
+
9
+ > **expandObjEnv**(`obj`, `options`, `parsedObjs`?): `any`
10
+
11
+ Defined in: [packages/ai-tool/src/utils/prompt/template/env.ts:157](https://github.com/isdk/ai-tool.js/blob/7135b3a67072644f21685b76900b7f351401749e/src/utils/prompt/template/env.ts#L157)
12
+
13
+ Expands environment variables in an object/array or string.
14
+
15
+ This function replaces placeholders like `${VAR}` in strings and recursively
16
+ processes objects and arrays with environment variable references.
17
+
18
+ ## Parameters
19
+
20
+ ### obj
21
+
22
+ `any`
23
+
24
+ The object/array or string to be processed. Can be any value, but
25
+ primarily designed for objects, array and strings.
26
+
27
+ ### options
28
+
29
+ [`DotenvExpandOptions`](../interfaces/DotenvExpandOptions.md) = `{}`
30
+
31
+ Configuration options:
32
+ - processEnv: - An object to source environment variables from, defaults to `process.env`.
33
+ - parsed: - Specify an object to provide the value of environment variables.
34
+
35
+ ### parsedObjs?
36
+
37
+ `WeakSet`\<`any`\>
38
+
39
+ ## Returns
40
+
41
+ `any`
42
+
43
+ - Returns the expanded object or string.
44
+
45
+ ## Example
46
+
47
+ ```ts
48
+ const obj = {
49
+ name: 'MyApp',
50
+ envVar: '${ENV_VAR_NAME}',
51
+ config: {
52
+ url: 'http://${HOST}:${PORT}'
53
+ },
54
+ list: ['item1', '${ITEM2}']
55
+ };
56
+ // the expandedObj will have the actual values instead of placeholders.
57
+ const expandedObj = expandObjEnv(obj, { processEnv: myCustomEnv }); // Assuming 'ENV_VAR_NAME' is defined as 'Production' and 'HOST', 'PORT', 'ITEM2' are set,
58
+ ```
@@ -0,0 +1,25 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / expandPath
6
+
7
+ # Function: expandPath()
8
+
9
+ > **expandPath**(`path`, `config`?): `any`
10
+
11
+ Defined in: [packages/ai-tool/src/utils/load-config.ts:67](https://github.com/isdk/ai-tool.js/blob/7135b3a67072644f21685b76900b7f351401749e/src/utils/load-config.ts#L67)
12
+
13
+ ## Parameters
14
+
15
+ ### path
16
+
17
+ `string`
18
+
19
+ ### config?
20
+
21
+ `any`
22
+
23
+ ## Returns
24
+
25
+ `any`
@@ -0,0 +1,43 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / extNameLevel
6
+
7
+ # Function: extNameLevel()
8
+
9
+ > **extNameLevel**(`extName`): `number`
10
+
11
+ Defined in: [packages/ai-tool/src/utils/filename.ts:209](https://github.com/isdk/ai-tool.js/blob/7135b3a67072644f21685b76900b7f351401749e/src/utils/filename.ts#L209)
12
+
13
+ Calculates the level of an extension name.
14
+
15
+ The level represents the number of dots ('.') in the extension name, excluding the first dot which separates
16
+ the base filename from the extension. For example, the level of ".txt" is 1, and the level of ".tar.gz" is 2.
17
+
18
+ ## Parameters
19
+
20
+ ### extName
21
+
22
+ `string`
23
+
24
+ The extension name to analyze. It should start with a dot ('.').
25
+
26
+ ## Returns
27
+
28
+ `number`
29
+
30
+ The level of the extension name, which is the count of dots minus one.
31
+
32
+ ## Example
33
+
34
+ ```typescript
35
+ // Returns 0
36
+ extNameLevel("no-file-ext");
37
+
38
+ // Returns 2
39
+ extNameLevel(".tar.gz");
40
+
41
+ // Returns 1
42
+ extNameLevel(".json5");
43
+ ```
@@ -0,0 +1,34 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / fileIsExists
6
+
7
+ # Function: fileIsExists()
8
+
9
+ > **fileIsExists**(`filepath`): `undefined` \| `boolean`
10
+
11
+ Defined in: [packages/ai-tool/src/utils/load-file-from-paths.ts:23](https://github.com/isdk/ai-tool.js/blob/7135b3a67072644f21685b76900b7f351401749e/src/utils/load-file-from-paths.ts#L23)
12
+
13
+ Checks if a file (not a directory) exists at the specified path.
14
+
15
+ ## Parameters
16
+
17
+ ### filepath
18
+
19
+ `string`
20
+
21
+ The path to the file to check.
22
+
23
+ ## Returns
24
+
25
+ `undefined` \| `boolean`
26
+
27
+ true if the file exists and is not a directory; otherwise, false.
28
+
29
+ ## Example
30
+
31
+ ```typescript
32
+ const exists = fileIsExists('path/to/file.txt');
33
+ console.log(exists); // Outputs: true or false
34
+ ```
@@ -0,0 +1,20 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / filenameReservedRegex
6
+
7
+ # Function: filenameReservedRegex()
8
+
9
+ > **filenameReservedRegex**(): `RegExp`
10
+
11
+ Defined in: [packages/ai-tool/src/utils/filename.ts:42](https://github.com/isdk/ai-tool.js/blob/7135b3a67072644f21685b76900b7f351401749e/src/utils/filename.ts#L42)
12
+
13
+ Returns a new regular expression instance for reserved filename characters with the 'g' flag.
14
+ use this to reset the with global option
15
+
16
+ ## Returns
17
+
18
+ `RegExp`
19
+
20
+ A compiled regular expression for reserved filename characters.
@@ -0,0 +1,21 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / filterValidFnScope
6
+
7
+ # Function: filterValidFnScope()
8
+
9
+ > **filterValidFnScope**(`scope`?): `undefined` \| `Record`\<`string`, `any`\>
10
+
11
+ Defined in: [packages/ai-tool/src/utils/parse-js-json.ts:58](https://github.com/isdk/ai-tool.js/blob/7135b3a67072644f21685b76900b7f351401749e/src/utils/parse-js-json.ts#L58)
12
+
13
+ ## Parameters
14
+
15
+ ### scope?
16
+
17
+ `Record`\<`string`, `any`\>
18
+
19
+ ## Returns
20
+
21
+ `undefined` \| `Record`\<`string`, `any`\>
@@ -0,0 +1,25 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / findIndexNonEmptyFrom
6
+
7
+ # Function: findIndexNonEmptyFrom()
8
+
9
+ > **findIndexNonEmptyFrom**(`arr`, `start`): `number`
10
+
11
+ Defined in: [packages/ai-tool/src/utils/split-sentence.ts:282](https://github.com/isdk/ai-tool.js/blob/7135b3a67072644f21685b76900b7f351401749e/src/utils/split-sentence.ts#L282)
12
+
13
+ ## Parameters
14
+
15
+ ### arr
16
+
17
+ `any`[]
18
+
19
+ ### start
20
+
21
+ `number` = `0`
22
+
23
+ ## Returns
24
+
25
+ `number`
@@ -0,0 +1,25 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / findPort
6
+
7
+ # Function: findPort()
8
+
9
+ > **findPort**(`port`, `portRetryCount`): `Promise`\<`number`\>
10
+
11
+ Defined in: [packages/ai-tool/src/utils/find-port.ts:3](https://github.com/isdk/ai-tool.js/blob/7135b3a67072644f21685b76900b7f351401749e/src/utils/find-port.ts#L3)
12
+
13
+ ## Parameters
14
+
15
+ ### port
16
+
17
+ `string` | `number`
18
+
19
+ ### portRetryCount
20
+
21
+ `number` = `10`
22
+
23
+ ## Returns
24
+
25
+ `Promise`\<`number`\>
@@ -0,0 +1,69 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / formatISO
6
+
7
+ # Function: formatISO()
8
+
9
+ > **formatISO**(`date`, `options`?): `string`
10
+
11
+ Defined in: node\_modules/.pnpm/date-fns@4.1.0/node\_modules/date-fns/formatISO.d.ts:43
12
+
13
+ ## Parameters
14
+
15
+ ### date
16
+
17
+ The original date
18
+
19
+ `string` | `number` | `Date`
20
+
21
+ ### options?
22
+
23
+ `FormatISOOptions`
24
+
25
+ An object with options.
26
+
27
+ ## Returns
28
+
29
+ `string`
30
+
31
+ The formatted date string (in local time zone)
32
+
33
+ ## Name
34
+
35
+ formatISO
36
+
37
+ ## Description
38
+
39
+ Return the formatted date string in ISO 8601 format. Options may be passed to control the parts and notations of the date.
40
+
41
+ ## Throws
42
+
43
+ `date` must not be Invalid Date
44
+
45
+ ## Examples
46
+
47
+ ```ts
48
+ // Represent 18 September 2019 in ISO 8601 format (local time zone is UTC):
49
+ const result = formatISO(new Date(2019, 8, 18, 19, 0, 52))
50
+ //=> '2019-09-18T19:00:52Z'
51
+ ```
52
+
53
+ ```ts
54
+ // Represent 18 September 2019 in ISO 8601, short format (local time zone is UTC):
55
+ const result = formatISO(new Date(2019, 8, 18, 19, 0, 52), { format: 'basic' })
56
+ //=> '20190918T190052'
57
+ ```
58
+
59
+ ```ts
60
+ // Represent 18 September 2019 in ISO 8601 format, date only:
61
+ const result = formatISO(new Date(2019, 8, 18, 19, 0, 52), { representation: 'date' })
62
+ //=> '2019-09-18'
63
+ ```
64
+
65
+ ```ts
66
+ // Represent 18 September 2019 in ISO 8601 format, time only (local time zone is UTC):
67
+ const result = formatISO(new Date(2019, 8, 18, 19, 0, 52), { representation: 'time' })
68
+ //=> '19:00:52Z'
69
+ ```
@@ -0,0 +1,63 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / formatTextWithSpace
6
+
7
+ # Function: formatTextWithSpace()
8
+
9
+ > **formatTextWithSpace**(`input`, `options`?): `string`
10
+
11
+ Defined in: [packages/ai-tool/src/utils/format-text-with-space.ts:25](https://github.com/isdk/ai-tool.js/blob/7135b3a67072644f21685b76900b7f351401749e/src/utils/format-text-with-space.ts#L25)
12
+
13
+ Formats the input text by replacing delimiters with spaces and optionally capitalizing the first letter of each word.
14
+
15
+ ## Parameters
16
+
17
+ ### input
18
+
19
+ `string`
20
+
21
+ The input string to be formatted.
22
+
23
+ ### options?
24
+
25
+ Optional configuration for formatting.
26
+
27
+ #### capitalize?
28
+
29
+ `boolean`
30
+
31
+ Whether to capitalize the first letter of each word. Defaults to `true`.
32
+
33
+ #### delimiter?
34
+
35
+ `string` \| `RegExp`
36
+
37
+ The delimiter used to split the words. Defaults to `/[_-]/g`.
38
+
39
+ ## Returns
40
+
41
+ `string`
42
+
43
+ ## Examples
44
+
45
+ ```ts
46
+ // Returns "Hello World"
47
+ formatTextWithSpace("hello_world");
48
+ ```
49
+
50
+ ```ts
51
+ // Returns "This Is A Test"
52
+ formatTextWithSpace("this-is-a-test", { delimiter: /-/g });
53
+ ```
54
+
55
+ ```ts
56
+ // Returns "hello world"
57
+ formatTextWithSpace("hello_world", { capitalize: false });
58
+ ```
59
+
60
+ ```ts
61
+ // Returns "Hello World This Is A Test"
62
+ formatTextWithSpace("hello-world_this_is_a_test");
63
+ ```
@@ -0,0 +1,31 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / getAllEnumKeys
6
+
7
+ # Function: getAllEnumKeys()
8
+
9
+ > **getAllEnumKeys**\<`T`\>(`enumType`): keyof `T`[]
10
+
11
+ Defined in: [packages/ai-tool/src/utils/get-all-enum-keys.ts:7](https://github.com/isdk/ai-tool.js/blob/7135b3a67072644f21685b76900b7f351401749e/src/utils/get-all-enum-keys.ts#L7)
12
+
13
+ Retrieves all string keys from the given enumeration(number).
14
+
15
+ ## Type Parameters
16
+
17
+ • **T** *extends* `object`
18
+
19
+ ## Parameters
20
+
21
+ ### enumType
22
+
23
+ `T`
24
+
25
+ The enumeration type with numeric values for which to retrieve keys.
26
+
27
+ ## Returns
28
+
29
+ keyof `T`[]
30
+
31
+ An array containing all string keys of the specified enumeration.
@@ -0,0 +1,25 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / getConfigFileNames
6
+
7
+ # Function: getConfigFileNames()
8
+
9
+ > **getConfigFileNames**(`directoryPath`, `filter`?): `string`[]
10
+
11
+ Defined in: [packages/ai-tool/src/utils/config.ts:85](https://github.com/isdk/ai-tool.js/blob/7135b3a67072644f21685b76900b7f351401749e/src/utils/config.ts#L85)
12
+
13
+ ## Parameters
14
+
15
+ ### directoryPath
16
+
17
+ `string`
18
+
19
+ ### filter?
20
+
21
+ `ConfigFilesFilter`
22
+
23
+ ## Returns
24
+
25
+ `string`[]
@@ -0,0 +1,25 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / getConfigs
6
+
7
+ # Function: getConfigs()
8
+
9
+ > **getConfigs**(`directoryPath`, `filter`?): `any`[]
10
+
11
+ Defined in: [packages/ai-tool/src/utils/config.ts:109](https://github.com/isdk/ai-tool.js/blob/7135b3a67072644f21685b76900b7f351401749e/src/utils/config.ts#L109)
12
+
13
+ ## Parameters
14
+
15
+ ### directoryPath
16
+
17
+ `string`
18
+
19
+ ### filter?
20
+
21
+ `ConfigFilesFilter`
22
+
23
+ ## Returns
24
+
25
+ `any`[]
@@ -0,0 +1,21 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / getEnvVairables
6
+
7
+ # Function: getEnvVairables()
8
+
9
+ > **getEnvVairables**(`value`): `string`[]
10
+
11
+ Defined in: [packages/ai-tool/src/utils/prompt/template/env.ts:17](https://github.com/isdk/ai-tool.js/blob/7135b3a67072644f21685b76900b7f351401749e/src/utils/prompt/template/env.ts#L17)
12
+
13
+ ## Parameters
14
+
15
+ ### value
16
+
17
+ `string`
18
+
19
+ ## Returns
20
+
21
+ `string`[]
@@ -0,0 +1,21 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / getFileMetaInfo
6
+
7
+ # Function: getFileMetaInfo()
8
+
9
+ > **getFileMetaInfo**(`filepath`): `Promise`\<[`IFileMetaInfo`](../interfaces/IFileMetaInfo.md)\>
10
+
11
+ Defined in: [packages/ai-tool/src/utils/load-file-from-paths.ts:221](https://github.com/isdk/ai-tool.js/blob/7135b3a67072644f21685b76900b7f351401749e/src/utils/load-file-from-paths.ts#L221)
12
+
13
+ ## Parameters
14
+
15
+ ### filepath
16
+
17
+ `string`
18
+
19
+ ## Returns
20
+
21
+ `Promise`\<[`IFileMetaInfo`](../interfaces/IFileMetaInfo.md)\>
@@ -0,0 +1,21 @@
1
+ [**@isdk/ai-tool**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / getHashAlgoBySize
6
+
7
+ # Function: getHashAlgoBySize()
8
+
9
+ > **getHashAlgoBySize**(`size`): [`HashAlgorithm`](../enumerations/HashAlgorithm.md)
10
+
11
+ Defined in: [packages/ai-tool/src/utils/load-file-from-paths.ts:234](https://github.com/isdk/ai-tool.js/blob/7135b3a67072644f21685b76900b7f351401749e/src/utils/load-file-from-paths.ts#L234)
12
+
13
+ ## Parameters
14
+
15
+ ### size
16
+
17
+ `number`
18
+
19
+ ## Returns
20
+
21
+ [`HashAlgorithm`](../enumerations/HashAlgorithm.md)