@isdk/ai-tool 0.2.0 → 0.2.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 (248) hide show
  1. package/dist/chunk-TOUPOZHH.mjs +1 -0
  2. package/dist/funcs.d.mts +1 -1
  3. package/dist/funcs.d.ts +1 -1
  4. package/dist/funcs.js +1 -1
  5. package/dist/funcs.mjs +1 -1
  6. package/dist/{index-nP9lSU6E.d.mts → index-DUEs7T8M.d.mts} +2 -2
  7. package/dist/{index-nP9lSU6E.d.ts → index-DUEs7T8M.d.ts} +2 -2
  8. package/dist/index.d.mts +3 -3
  9. package/dist/index.d.ts +3 -3
  10. package/dist/index.js +1 -1
  11. package/dist/index.mjs +1 -1
  12. package/docs/README.md +5 -3
  13. package/docs/_media/CONTRIBUTING.md +18 -0
  14. package/docs/_media/LICENSE-MIT +22 -0
  15. package/docs/classes/AbortError.md +108 -129
  16. package/docs/classes/AlreadyExistsError.md +105 -126
  17. package/docs/classes/BaseError.md +112 -125
  18. package/docs/classes/CancelableAbility.md +136 -188
  19. package/docs/classes/ClientTools.md +1005 -1107
  20. package/docs/classes/CommonError.md +115 -136
  21. package/docs/classes/ConfigFile.md +150 -163
  22. package/docs/classes/EventClient.md +1128 -1282
  23. package/docs/classes/EventServer.md +1165 -1303
  24. package/docs/classes/EventToolFunc.md +958 -1028
  25. package/docs/classes/FStringPromptTemplate.md +352 -438
  26. package/docs/classes/FewShotPromptTemplate.md +364 -464
  27. package/docs/classes/GolangPromptTemplate.md +352 -438
  28. package/docs/classes/HFEnvironment.md +53 -79
  29. package/docs/classes/HFInterpreter.md +20 -377
  30. package/docs/classes/HFTemplate.md +21 -33
  31. package/docs/classes/HfPromptTemplate.md +352 -438
  32. package/docs/classes/IntSet.md +67 -100
  33. package/docs/classes/NotFoundError.md +105 -126
  34. package/docs/classes/NotImplementationError.md +105 -126
  35. package/docs/classes/PromptExampleSelector.md +58 -70
  36. package/docs/classes/PromptTemplate.md +338 -422
  37. package/docs/classes/ReadableStreamError.md +108 -129
  38. package/docs/classes/ResClientTools.md +916 -1026
  39. package/docs/classes/ResServerTools.md +919 -1026
  40. package/docs/classes/SSEChannel.md +93 -112
  41. package/docs/classes/Semaphore.md +44 -140
  42. package/docs/classes/ServerTools.md +981 -1072
  43. package/docs/classes/TaskAbortController.md +46 -66
  44. package/docs/classes/ToolFunc.md +840 -910
  45. package/docs/enumerations/AsyncFeatureBits.md +37 -0
  46. package/docs/enumerations/AsyncFeatures.md +37 -0
  47. package/docs/enumerations/ErrorCode.md +217 -0
  48. package/docs/enumerations/XXHashAlgorithm.md +27 -0
  49. package/docs/functions/AIArgProcessor.md +27 -0
  50. package/docs/functions/AIStream.md +50 -0
  51. package/docs/functions/ChoiceArgProcessor.md +27 -0
  52. package/docs/functions/RateLimit.md +33 -0
  53. package/docs/functions/TemplateArgProcessor.md +27 -0
  54. package/docs/functions/backendEventable.md +23 -0
  55. package/docs/functions/canonicalize.md +21 -0
  56. package/docs/functions/countRegexMatches.md +33 -0
  57. package/docs/functions/createAbilityInjector.md +87 -0
  58. package/docs/functions/createCallbacksTransformer.md +49 -0
  59. package/docs/functions/createEmptyReadableStream.md +23 -0
  60. package/docs/functions/createEndWithRepetitionDetector.md +29 -0
  61. package/docs/functions/createError.md +35 -0
  62. package/docs/functions/createEventStreamTransformer.md +33 -0
  63. package/docs/functions/createHfValueFunc.md +29 -0
  64. package/docs/functions/createLRUCache.md +23 -0
  65. package/docs/functions/dateToText.md +23 -0
  66. package/docs/functions/expandEnv.md +40 -0
  67. package/docs/functions/expandObjEnv.md +54 -0
  68. package/docs/functions/extNameLevel.md +43 -0
  69. package/docs/functions/fileIsExists.md +34 -0
  70. package/docs/functions/filenameReservedRegex.md +22 -0
  71. package/docs/functions/filterValidFnScope.md +21 -0
  72. package/docs/functions/findPort.md +23 -0
  73. package/docs/functions/formatISO.md +71 -0
  74. package/docs/functions/getAllEnumKeys.md +31 -0
  75. package/docs/functions/getConfigFileNames.md +23 -0
  76. package/docs/functions/getConfigs.md +23 -0
  77. package/docs/functions/getKeysPath.md +38 -0
  78. package/docs/functions/getMultiLevelExtname.md +31 -0
  79. package/docs/functions/getPackageDir.md +39 -0
  80. package/docs/functions/getRealFilepath.md +34 -0
  81. package/docs/functions/getResponseErrorReadableStream.md +21 -0
  82. package/docs/functions/hfParse.md +24 -0
  83. package/docs/functions/hfTokenize.md +25 -0
  84. package/docs/functions/interpolateEnv.md +25 -0
  85. package/docs/functions/interpolateFString.md +27 -0
  86. package/docs/functions/interpolateGolangTemplate.md +31 -0
  87. package/docs/functions/isModelNameMatched.md +45 -0
  88. package/docs/functions/isValidFilename.md +38 -0
  89. package/docs/functions/isValidFilepath.md +27 -0
  90. package/docs/functions/isWebStream.md +21 -0
  91. package/docs/functions/jsonFilterToWhere.md +45 -0
  92. package/docs/functions/jsonToMarkdownStr.md +31 -0
  93. package/docs/functions/loadFileFromPaths.md +54 -0
  94. package/docs/functions/loadTextFromPaths.md +29 -0
  95. package/docs/functions/lrucache.md +29 -0
  96. package/docs/functions/makeToolFuncCancelable.md +23 -0
  97. package/docs/functions/matchUrlProtocol.md +48 -0
  98. package/docs/functions/memoize.md +27 -0
  99. package/docs/functions/messagesToText.md +21 -0
  100. package/docs/functions/paramsSizeToScaleStr.md +32 -0
  101. package/docs/functions/parseCommand.md +33 -0
  102. package/docs/functions/parseDateFormat.md +360 -0
  103. package/docs/functions/parseFString.md +26 -0
  104. package/docs/functions/parseISO.md +72 -0
  105. package/docs/functions/parseJsJson.md +38 -0
  106. package/docs/functions/parseObjectArgInfo.md +27 -0
  107. package/docs/functions/parseObjectArgumentInfos.md +25 -0
  108. package/docs/functions/parseObjectArguments.md +68 -0
  109. package/docs/functions/parseObjectArgumentsAsArgInfos.md +42 -0
  110. package/docs/functions/parseYaml.md +21 -0
  111. package/docs/functions/quoteStr.md +21 -0
  112. package/docs/functions/reControlCharsRegex.md +21 -0
  113. package/docs/functions/readFilenamesRecursiveSync.md +47 -0
  114. package/docs/functions/readableFromAsyncIterable.md +28 -0
  115. package/docs/functions/registerCoreTools.md +17 -0
  116. package/docs/functions/registerYamlTag.md +21 -0
  117. package/docs/functions/sanitizeFilename.md +37 -0
  118. package/docs/functions/sanitizeFilepath.md +31 -0
  119. package/docs/functions/saveConfigFile.md +25 -0
  120. package/docs/functions/scaleStrToParamsSize.md +27 -0
  121. package/docs/functions/simplifyObjectArguments.md +21 -0
  122. package/docs/functions/sortedValues.md +25 -0
  123. package/docs/functions/splitSentence.md +37 -0
  124. package/docs/functions/stringifyYaml.md +49 -0
  125. package/docs/functions/textToDate.md +23 -0
  126. package/docs/functions/throwError.md +37 -0
  127. package/docs/functions/toDate.md +76 -0
  128. package/docs/functions/toDateTime.md +21 -0
  129. package/docs/functions/trimStartOfStreamHelper.md +41 -0
  130. package/docs/functions/truncTo.md +47 -0
  131. package/docs/functions/uuid.md +23 -0
  132. package/docs/functions/uuidParse.md +21 -0
  133. package/docs/functions/uuidStringify.md +23 -0
  134. package/docs/functions/uuidValidate.md +21 -0
  135. package/docs/functions/uuidVersion.md +21 -0
  136. package/docs/functions/uuidv1.md +47 -0
  137. package/docs/functions/uuidv4.md +47 -0
  138. package/docs/functions/uuidv5.md +51 -0
  139. package/docs/functions/wait.md +21 -0
  140. package/docs/functions/xxhash.md +25 -0
  141. package/docs/functions/xxhash32.md +23 -0
  142. package/docs/functions/xxhash64.md +23 -0
  143. package/docs/functions/xxhashAsStr.md +25 -0
  144. package/docs/globals.md +236 -0
  145. package/docs/interfaces/AIChatAssistantMessageParam.md +29 -38
  146. package/docs/interfaces/AIChatContentPartImage.md +11 -16
  147. package/docs/interfaces/AIChatContentPartText.md +9 -12
  148. package/docs/interfaces/AIChatMessageParamBase.md +12 -19
  149. package/docs/interfaces/AIChatMessageToolCall.md +18 -21
  150. package/docs/interfaces/AIChatSystemMessageParam.md +16 -22
  151. package/docs/interfaces/AIChatToolMessageParam.md +19 -26
  152. package/docs/interfaces/AIChatUserMessageParam.md +32 -42
  153. package/docs/interfaces/AIChoiceConfig.md +31 -39
  154. package/docs/interfaces/AIResult.md +26 -33
  155. package/docs/interfaces/AIStreamParser.md +24 -18
  156. package/docs/interfaces/AIStreamParserOptions.md +8 -10
  157. package/docs/interfaces/BaseFunc.md +55 -75
  158. package/docs/interfaces/BaseFuncItem.md +43 -61
  159. package/docs/interfaces/CancelableAbilityOptions.md +43 -54
  160. package/docs/interfaces/ClientFuncItem.md +66 -83
  161. package/docs/interfaces/DotenvExpandOptions.md +15 -19
  162. package/docs/interfaces/DotenvExpandOutput.md +11 -14
  163. package/docs/interfaces/DotenvParseInput.md +6 -2
  164. package/docs/interfaces/DotenvParseOutput.md +6 -2
  165. package/docs/interfaces/DotenvPopulateInput.md +6 -2
  166. package/docs/interfaces/EventClientFuncParams.md +22 -33
  167. package/docs/interfaces/EventServerFuncParams.md +27 -35
  168. package/docs/interfaces/FewShotPromptTemplateOptions.md +58 -74
  169. package/docs/interfaces/FuncItem.md +53 -70
  170. package/docs/interfaces/FuncParam.md +29 -36
  171. package/docs/interfaces/FuncParams.md +6 -2
  172. package/docs/interfaces/Funcs.md +6 -2
  173. package/docs/interfaces/JsonFilter.md +6 -2
  174. package/docs/interfaces/ParseObjectArgumentOptions.md +23 -29
  175. package/docs/interfaces/PromptExampleSelectorOptions.md +13 -16
  176. package/docs/interfaces/PromptTemplateOptions.md +31 -40
  177. package/docs/interfaces/RemoteFuncItem.md +64 -82
  178. package/docs/interfaces/ResClientFuncParams.md +14 -19
  179. package/docs/interfaces/ResServerFuncParams.md +28 -36
  180. package/docs/interfaces/SanitizeFilenameOptions.md +11 -14
  181. package/docs/interfaces/ServerFuncItem.md +70 -88
  182. package/docs/interfaces/ServerFuncParams.md +15 -20
  183. package/docs/interfaces/StreamCallbacksAndOptions.md +36 -65
  184. package/docs/interfaces/TaskAbortControllers.md +6 -2
  185. package/docs/interfaces/TaskPromise.md +48 -61
  186. package/docs/interfaces/ToolFuncPackage.md +18 -32
  187. package/docs/type-aliases/AIChatContentPart.md +13 -0
  188. package/docs/type-aliases/AIChatMessageParam.md +13 -0
  189. package/docs/type-aliases/AIChatRole.md +13 -0
  190. package/docs/type-aliases/AIMessageType.md +13 -0
  191. package/docs/type-aliases/AIModelNameRule.md +13 -0
  192. package/docs/type-aliases/AIModelNameRuleFn.md +21 -0
  193. package/docs/type-aliases/AIModelNameRules.md +13 -0
  194. package/docs/type-aliases/AITextGenerationFinishReason.md +13 -0
  195. package/docs/type-aliases/ActionName.md +13 -0
  196. package/docs/type-aliases/AsyncTaskId.md +13 -0
  197. package/docs/type-aliases/EventErrorListenerFn.md +27 -0
  198. package/docs/type-aliases/EventListenerFn.md +25 -0
  199. package/docs/type-aliases/FStringPromptTemplateNode.md +16 -0
  200. package/docs/type-aliases/FuncParamType.md +13 -0
  201. package/docs/type-aliases/PromptExamples.md +17 -0
  202. package/docs/type-aliases/PromptTemplateType.md +13 -0
  203. package/docs/type-aliases/PromptType.md +13 -0
  204. package/docs/type-aliases/TFunc.md +23 -0
  205. package/docs/variables/AIChatRoles.md +13 -0
  206. package/docs/variables/AIMessageTypes.md +13 -0
  207. package/docs/variables/AITextGenerationFinishReasons.md +13 -0
  208. package/docs/variables/AbortErrorCode.md +13 -0
  209. package/docs/variables/ActionNames.md +13 -0
  210. package/docs/variables/AlreadyExistsErrorCode.md +13 -0
  211. package/docs/variables/ClientToolFuncSchema.md +87 -0
  212. package/docs/variables/DefaultAsyncSemaphoreCapacity.md +13 -0
  213. package/docs/variables/EventBusName.md +13 -0
  214. package/docs/variables/EventName.md +13 -0
  215. package/docs/variables/FilenameReservedRegex.md +16 -0
  216. package/docs/variables/HFBuiltins.md +92 -0
  217. package/docs/variables/InternalErrorCode.md +13 -0
  218. package/docs/variables/NotFoundErrorCode.md +13 -0
  219. package/docs/variables/NotImplementedErrorCode.md +13 -0
  220. package/docs/variables/PASSING_SCORE.md +13 -0
  221. package/docs/variables/PromptTemplateTypes.md +13 -0
  222. package/docs/variables/PromptTypes.md +16 -0
  223. package/docs/variables/RStreamErrCode.md +13 -0
  224. package/docs/variables/RemoteToolFuncSchema.md +87 -0
  225. package/docs/variables/ResponseRStreamErrCode.md +13 -0
  226. package/docs/variables/SSEChannelAlreadyClosedErrCode.md +13 -0
  227. package/docs/variables/ServerToolFuncSchema.md +87 -0
  228. package/docs/variables/ToolAsyncCancelableBit.md +13 -0
  229. package/docs/variables/ToolAsyncMultiTaskBit.md +13 -0
  230. package/docs/variables/ToolAsyncPriorityBit.md +13 -0
  231. package/docs/variables/ToolFuncSchema.md +125 -0
  232. package/docs/variables/WindowsReservedNameRegex.md +15 -0
  233. package/docs/variables/base32768.md +13 -0
  234. package/docs/variables/defaultTemplateFormat.md +13 -0
  235. package/docs/variables/event.md +13 -0
  236. package/docs/variables/eventClient.md +13 -0
  237. package/docs/variables/eventServer.md +13 -0
  238. package/docs/variables/lrucache.md +13 -0
  239. package/docs/variables/mimeType.md +13 -0
  240. package/docs/variables/uuidNIL.md +13 -0
  241. package/package.json +26 -27
  242. package/dist/chunk-W2LO3HZT.mjs +0 -1
  243. package/docs/.nojekyll +0 -1
  244. package/docs/enums/AsyncFeatureBits.md +0 -41
  245. package/docs/enums/AsyncFeatures.md +0 -41
  246. package/docs/enums/ErrorCode.md +0 -239
  247. package/docs/enums/XXHashAlgorithm.md +0 -30
  248. package/docs/modules.md +0 -4062
@@ -0,0 +1,39 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / getPackageDir
6
+
7
+ # Function: getPackageDir()
8
+
9
+ > **getPackageDir**(`cwd`): `string`
10
+
11
+ Retrieves the package directory from the current working directory.
12
+
13
+ ## Parameters
14
+
15
+ • **cwd**: `string`
16
+
17
+ The current working directory.
18
+
19
+ Notes:
20
+ - The project root directory must contain either the `src` (source files directory) or `dist` (compiled files directory) as a fallback.
21
+ - If `packageDirectorySync` fails to find the package directory, it falls back to checking for `src` or `dist` directories.
22
+ - If none of these directories are found, an error is thrown.
23
+ *
24
+
25
+ ## Returns
26
+
27
+ `string`
28
+
29
+ ## Example
30
+
31
+ ```ts
32
+ // Example usage
33
+ const packageDir = getPackageDir(__dirname);
34
+ console.log(packageDir); // Output: '/path/to/project'
35
+ ```
36
+
37
+ ## Defined in
38
+
39
+ [packages/ai-tool/src/utils/get-package-dir.ts:18](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/get-package-dir.ts#L18)
@@ -0,0 +1,34 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / getRealFilepath
6
+
7
+ # Function: getRealFilepath()
8
+
9
+ > **getRealFilepath**(`filepath`): `string`
10
+
11
+ Resolves the real file path, handling symbolic links.
12
+
13
+ ## Parameters
14
+
15
+ • **filepath**: `string`
16
+
17
+ The file path to resolve.
18
+
19
+ ## Returns
20
+
21
+ `string`
22
+
23
+ The real file path.
24
+
25
+ ## Example
26
+
27
+ ```typescript
28
+ const realPath = getRealFilepath('/path/to/symbolic/link');
29
+ console.log(realPath); // Outputs the resolved path.
30
+ ```
31
+
32
+ ## Defined in
33
+
34
+ [packages/ai-tool/src/utils/load-file-from-paths.ts:172](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/load-file-from-paths.ts#L172)
@@ -0,0 +1,21 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / getResponseErrorReadableStream
6
+
7
+ # Function: getResponseErrorReadableStream()
8
+
9
+ > **getResponseErrorReadableStream**(`body`?): `ReadableStream`\<`any`\>
10
+
11
+ ## Parameters
12
+
13
+ • **body?**: `null` \| `ReadableStream`\<`Uint8Array`\>
14
+
15
+ ## Returns
16
+
17
+ `ReadableStream`\<`any`\>
18
+
19
+ ## Defined in
20
+
21
+ [packages/ai-tool/src/utils/stream/error-readable-stream.ts:12](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/stream/error-readable-stream.ts#L12)
@@ -0,0 +1,24 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / hfParse
6
+
7
+ # Function: hfParse()
8
+
9
+ > **hfParse**(`tokens`): `Program`
10
+
11
+ Generate the Abstract Syntax Tree (AST) from a list of tokens.
12
+ Operator precedence can be found here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_precedence#table
13
+
14
+ ## Parameters
15
+
16
+ • **tokens**: `Token`[]
17
+
18
+ ## Returns
19
+
20
+ `Program`
21
+
22
+ ## Defined in
23
+
24
+ [packages/ai-tool/src/utils/prompt/template/jinja/src/parser.ts:32](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/prompt/template/jinja/src/parser.ts#L32)
@@ -0,0 +1,25 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / hfTokenize
6
+
7
+ # Function: hfTokenize()
8
+
9
+ > **hfTokenize**(`source`, `options`): `Token`[]
10
+
11
+ Generate a list of tokens from a source string.
12
+
13
+ ## Parameters
14
+
15
+ • **source**: `string`
16
+
17
+ • **options**: `PreprocessOptions` = `{}`
18
+
19
+ ## Returns
20
+
21
+ `Token`[]
22
+
23
+ ## Defined in
24
+
25
+ [packages/ai-tool/src/utils/prompt/template/jinja/src/lexer.ts:200](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/prompt/template/jinja/src/lexer.ts#L200)
@@ -0,0 +1,25 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / interpolateEnv
6
+
7
+ # Function: interpolateEnv()
8
+
9
+ > **interpolateEnv**(`value`, `processEnv`, `parsed`): `any`
10
+
11
+ ## Parameters
12
+
13
+ • **value**: `string`
14
+
15
+ • **processEnv**: `any`
16
+
17
+ • **parsed**: `any`
18
+
19
+ ## Returns
20
+
21
+ `any`
22
+
23
+ ## Defined in
24
+
25
+ [packages/ai-tool/src/utils/prompt/template/env.ts:17](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/prompt/template/env.ts#L17)
@@ -0,0 +1,27 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / interpolateFString
6
+
7
+ # Function: interpolateFString()
8
+
9
+ > **interpolateFString**(`nodes`, `values`): `string`
10
+
11
+ Type that represents a function that takes a template string and a set
12
+ of input values, and returns a string where all variables in the
13
+ template have been replaced with their corresponding values.
14
+
15
+ ## Parameters
16
+
17
+ • **nodes**: [`FStringPromptTemplateNode`](../type-aliases/FStringPromptTemplateNode.md)[]
18
+
19
+ • **values**: `Record`\<`string`, `any`\>
20
+
21
+ ## Returns
22
+
23
+ `string`
24
+
25
+ ## Defined in
26
+
27
+ [packages/ai-tool/src/utils/prompt/template/python.ts:71](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/prompt/template/python.ts#L71)
@@ -0,0 +1,31 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / interpolateGolangTemplate
6
+
7
+ # Function: interpolateGolangTemplate()
8
+
9
+ > **interpolateGolangTemplate**(`str`, `variables`, `initVars`?): `string`
10
+
11
+ Parse and interpolate template
12
+
13
+ ## Parameters
14
+
15
+ • **str**: `string`
16
+
17
+ golang style template
18
+
19
+ • **variables**: `Record`\<`string`, `any`\>
20
+
21
+ object of variables to insert
22
+
23
+ • **initVars?**: `boolean`
24
+
25
+ ## Returns
26
+
27
+ `string`
28
+
29
+ ## Defined in
30
+
31
+ [packages/ai-tool/src/utils/prompt/template/golang.ts:269](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/prompt/template/golang.ts#L269)
@@ -0,0 +1,45 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / isModelNameMatched
6
+
7
+ # Function: isModelNameMatched()
8
+
9
+ > **isModelNameMatched**(`modelName`, `rule`?): `undefined` \| `string` \| `RegExpExecArray`
10
+
11
+ Checks if the provided model name matches the given rule.
12
+
13
+ ## Parameters
14
+
15
+ • **modelName**: `string`
16
+
17
+ The name of the model to check.
18
+
19
+ • **rule?**: [`AIModelNameRules`](../type-aliases/AIModelNameRules.md)
20
+
21
+ An optional rule that can be a string, an array of strings, a regular expression, or a function.
22
+
23
+ ## Returns
24
+
25
+ `undefined` \| `string` \| `RegExpExecArray`
26
+
27
+ matched result if the model name matches the rule, undefined otherwise.
28
+
29
+ ## Example
30
+
31
+ ```ts
32
+ IsModelNameMatched("gpt-3", "gpt-3") // returns true
33
+ IsModelNameMatched("GPT-3", "gpt-3") // returns true
34
+ IsModelNameMatched("GPT-3", ["gpt-3", "gpt-4"]) // returns true
35
+ IsModelNameMatched("gpt-3", /^gpt-\d+$/) // returns true
36
+ IsModelNameMatched("gpt-3", (modelName) => modelName.startsWith("gpt-")) // returns true
37
+ IsModelNameMatched("gpt-2", "gpt-3") // returns false
38
+ IsModelNameMatched("gpt-2", ["gpt-3", "gpt-4"]) // returns false
39
+ IsModelNameMatched("gpt-2", /^gpt-\d+$/) // returns false
40
+ IsModelNameMatched("gpt-2", (modelName) => modelName.startsWith("gpt-")) // returns false
41
+ ```
42
+
43
+ ## Defined in
44
+
45
+ [packages/ai-tool/src/utils/is-model-name-matched.ts:21](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/is-model-name-matched.ts#L21)
@@ -0,0 +1,38 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / isValidFilename
6
+
7
+ # Function: isValidFilename()
8
+
9
+ > **isValidFilename**(`filename`): `boolean` \| `""`
10
+
11
+ Validates if a given string is a valid filename.
12
+
13
+ ## Parameters
14
+
15
+ • **filename**: `string`
16
+
17
+ The filename to be validated.
18
+
19
+ ## Returns
20
+
21
+ `boolean` \| `""`
22
+
23
+ True if the filename is valid, false otherwise.
24
+
25
+ ## Throws
26
+
27
+ If the input is not a string.
28
+
29
+ ## Example
30
+
31
+ ```ts
32
+ isValidFilename('myFile.txt'); // Returns true
33
+ isValidFilename('my<file.txt'); // Returns false
34
+ ```
35
+
36
+ ## Defined in
37
+
38
+ [packages/ai-tool/src/utils/filename.ts:63](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/filename.ts#L63)
@@ -0,0 +1,27 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / isValidFilepath
6
+
7
+ # Function: isValidFilepath()
8
+
9
+ > **isValidFilepath**(`filepath`): `boolean`
10
+
11
+ Validates whether the given filepath is valid.
12
+
13
+ ## Parameters
14
+
15
+ • **filepath**: `string`
16
+
17
+ The filepath to be checked, represented as a string.
18
+
19
+ ## Returns
20
+
21
+ `boolean`
22
+
23
+ A boolean indicating whether the filepath is valid. Returns true if valid; false otherwise.
24
+
25
+ ## Defined in
26
+
27
+ [packages/ai-tool/src/utils/filename.ts:72](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/filename.ts#L72)
@@ -0,0 +1,21 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / isWebStream
6
+
7
+ # Function: isWebStream()
8
+
9
+ > **isWebStream**(`val`): val is ReadableStream\<any\> \| WritableStream\<any\>
10
+
11
+ ## Parameters
12
+
13
+ • **val**: `any`
14
+
15
+ ## Returns
16
+
17
+ val is ReadableStream\<any\> \| WritableStream\<any\>
18
+
19
+ ## Defined in
20
+
21
+ [packages/ai-tool/src/utils/stream/is-web-stream.ts:1](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/stream/is-web-stream.ts#L1)
@@ -0,0 +1,45 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / jsonFilterToWhere
6
+
7
+ # Function: jsonFilterToWhere()
8
+
9
+ > **jsonFilterToWhere**(`filter`, `wrapKey`?): `string`
10
+
11
+ Converts a filter object to a SQLite WHERE clause.
12
+
13
+ ## Parameters
14
+
15
+ • **filter**: [`JsonFilter`](../interfaces/JsonFilter.md) \| [`JsonFilter`](../interfaces/JsonFilter.md)[]
16
+
17
+ The filter object to convert.
18
+
19
+ • **wrapKey?**
20
+
21
+ ## Returns
22
+
23
+ `string`
24
+
25
+ The generated WHERE clause.
26
+
27
+ ## Example
28
+
29
+ ```ts
30
+ const jsonFilter: Filter = {
31
+ $and: [
32
+ { age: { $gt: 18, $lt: 30 } },
33
+ { name: { $like: 'John%', $nlike: 'Doe%' } },
34
+ { hobbies: { $in: ['reading', 'writing'] } },
35
+ { $or: [{ gender: 'male' }, { country: 'USA' }] },
36
+ { $and: [{ status: 'active' }, { registered: new Date('2020-01-01') }] },
37
+ ],
38
+ };
39
+
40
+ console.log(jsonFilterToWhere(jsonFilter)); // Outputs a WHERE clause based on the given filter
41
+ ```
42
+
43
+ ## Defined in
44
+
45
+ [packages/ai-tool/src/utils/json-filter.ts:123](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/json-filter.ts#L123)
@@ -0,0 +1,31 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / jsonToMarkdownStr
6
+
7
+ # Function: jsonToMarkdownStr()
8
+
9
+ > **jsonToMarkdownStr**(`mem`, `options`?): `string`
10
+
11
+ ## Parameters
12
+
13
+ • **mem**: `any`
14
+
15
+ • **options?**
16
+
17
+ • **options.arrayTag?**: `string`
18
+
19
+ • **options.level?**: `number`
20
+
21
+ • **options.objectTag?**: `string`
22
+
23
+ • **options.visiting?**: `Set`\<`any`\>
24
+
25
+ ## Returns
26
+
27
+ `string`
28
+
29
+ ## Defined in
30
+
31
+ [packages/ai-tool/src/utils/json-to-markdown-str.ts:2](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/json-to-markdown-str.ts#L2)
@@ -0,0 +1,54 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / loadFileFromPaths
6
+
7
+ # Function: loadFileFromPaths()
8
+
9
+ > **loadFileFromPaths**(`filename`, `searchPaths`?, `extNames`?, `options`?): `Buffer`
10
+
11
+ Loads a file from given paths, optionally searching for specific extensions.
12
+
13
+ ## Parameters
14
+
15
+ • **filename**: `string`
16
+
17
+ The base filename to search for, without any file extension.
18
+
19
+ • **searchPaths?**: `string`[]
20
+
21
+ An array of directories to search for the file. Defaults to the current directory (`"."`) if not provided.
22
+
23
+ • **extNames?**: `string`[]
24
+
25
+ An array of file extensions to try, in order of preference. If not provided, the file will be searched for
26
+ without any extension.
27
+
28
+ • **options?**
29
+
30
+ • **options.exclude?**: `string` \| `string`[]
31
+
32
+ • **options.filepath?**: `string`
33
+
34
+ • **options.signal?**: `AbortSignal`
35
+
36
+ ## Returns
37
+
38
+ `Buffer`
39
+
40
+ The contents of the found file as a Buffer.
41
+
42
+ ## Throws
43
+
44
+ If the file is not found in any of the search paths.
45
+
46
+ ## Example
47
+
48
+ ```typescript
49
+ const content = loadFileFromPaths('config', ['/etc', '/usr/local/etc'], ['.json', '.yaml']);
50
+ ```
51
+
52
+ ## Defined in
53
+
54
+ [packages/ai-tool/src/utils/load-file-from-paths.ts:39](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/load-file-from-paths.ts#L39)
@@ -0,0 +1,29 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / loadTextFromPaths
6
+
7
+ # Function: loadTextFromPaths()
8
+
9
+ > **loadTextFromPaths**(`filename`, `searchPaths`?, `extNames`?, `options`?, `exclude`?): `string`
10
+
11
+ ## Parameters
12
+
13
+ • **filename**: `string`
14
+
15
+ • **searchPaths?**: `string`[]
16
+
17
+ • **extNames?**: `string`[]
18
+
19
+ • **options?**: `BufferEncoding` \| `object`
20
+
21
+ • **exclude?**: `string` \| `string`[]
22
+
23
+ ## Returns
24
+
25
+ `string`
26
+
27
+ ## Defined in
28
+
29
+ [packages/ai-tool/src/utils/load-file-from-paths.ts:96](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/load-file-from-paths.ts#L96)
@@ -0,0 +1,29 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / \_lrucache
6
+
7
+ # Function: \_lrucache()
8
+
9
+ > **\_lrucache**(`this`, `__namedParameters`): `_Cache`
10
+
11
+ ## Parameters
12
+
13
+ • **this**: [`ToolFunc`](../classes/ToolFunc.md)
14
+
15
+ • **\_\_namedParameters** = `{}`
16
+
17
+ • **\_\_namedParameters.key?**: `string`
18
+
19
+ • **\_\_namedParameters.options?**: `number` \| `ICacheOptions`
20
+
21
+ • **\_\_namedParameters.value?**: `any`
22
+
23
+ ## Returns
24
+
25
+ `_Cache`
26
+
27
+ ## Defined in
28
+
29
+ [packages/ai-tool/src/funcs/lrucache.ts:6](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/funcs/lrucache.ts#L6)
@@ -0,0 +1,23 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / makeToolFuncCancelable
6
+
7
+ # Function: makeToolFuncCancelable()
8
+
9
+ > **makeToolFuncCancelable**(`Tool`, `options`?): *typeof* [`ToolFunc`](../classes/ToolFunc.md)
10
+
11
+ ## Parameters
12
+
13
+ • **Tool**: *typeof* [`ToolFunc`](../classes/ToolFunc.md)
14
+
15
+ • **options?**: [`CancelableAbilityOptions`](../interfaces/CancelableAbilityOptions.md)
16
+
17
+ ## Returns
18
+
19
+ *typeof* [`ToolFunc`](../classes/ToolFunc.md)
20
+
21
+ ## Defined in
22
+
23
+ [packages/ai-tool/src/utils/cancelable-ability.ts:340](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/cancelable-ability.ts#L340)
@@ -0,0 +1,48 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / matchUrlProtocol
6
+
7
+ # Function: matchUrlProtocol()
8
+
9
+ > **matchUrlProtocol**(`name`): `undefined` \| `string`
10
+
11
+ Extracts the protocol part from a URL-like string.
12
+
13
+ This function checks a given string to find the protocol section of a URL.
14
+ If the string contains the sequence '://', it returns the substring from the start of the string
15
+ up to the '//' characters. If the sequence is not found, the function returns undefined.
16
+
17
+ ## Parameters
18
+
19
+ • **name**: `string`
20
+
21
+ The string to inspect, expected to contain a URL.
22
+
23
+ ## Returns
24
+
25
+ `undefined` \| `string`
26
+
27
+ - The protocol part if '://' is found; otherwise, undefined.
28
+
29
+ ## Examples
30
+
31
+ ```ts
32
+ // Returns "http"
33
+ matchUrlProtocol("http://example.com");
34
+ ```
35
+
36
+ ```ts
37
+ // Returns "ftp"
38
+ matchUrlProtocol("ftp://myftpserver.com");
39
+ ```
40
+
41
+ ```ts
42
+ // Returns undefined
43
+ matchUrlProtocol("noProtocolHere");
44
+ ```
45
+
46
+ ## Defined in
47
+
48
+ [packages/ai-tool/src/utils/match-url-protocol.ts:23](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/match-url-protocol.ts#L23)
@@ -0,0 +1,27 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / memoize
6
+
7
+ # Function: memoize()
8
+
9
+ > **memoize**\<`F`\>(`fn`, `options`?): `F` & `Memoized`\<`F`\>
10
+
11
+ ## Type Parameters
12
+
13
+ • **F** *extends* (...`args`) => `any`
14
+
15
+ ## Parameters
16
+
17
+ • **fn**: `any`
18
+
19
+ • **options?**: `Options`\<`F`\>
20
+
21
+ ## Returns
22
+
23
+ `F` & `Memoized`\<`F`\>
24
+
25
+ ## Defined in
26
+
27
+ [packages/ai-tool/src/utils/memoize.ts:14](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/memoize.ts#L14)
@@ -0,0 +1,21 @@
1
+ [**@isdk/ai-tool**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [@isdk/ai-tool](../globals.md) / messagesToText
6
+
7
+ # Function: messagesToText()
8
+
9
+ > **messagesToText**(`messages`): `string`
10
+
11
+ ## Parameters
12
+
13
+ • **messages**: [`AIChatMessageParamBase`](../interfaces/AIChatMessageParamBase.md)[]
14
+
15
+ ## Returns
16
+
17
+ `string`
18
+
19
+ ## Defined in
20
+
21
+ [packages/ai-tool/src/utils/chat.ts:116](https://github.com/isdk/ai-tool.js/blob/5f9f0083c734722103ff5468e424b48c212a55f0/src/utils/chat.ts#L116)