@isdk/ai-tool 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) 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 +206 -238
  10. package/dist/index.d.ts +206 -238
  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/package.json +31 -31
  16. package/dist/chunk-JHHFTTVE.mjs +0 -1
  17. package/dist/index-BC3GQn6-.d.mts +0 -488
  18. package/dist/index-BC3GQn6-.d.ts +0 -488
  19. package/docs/README.md +0 -250
  20. package/docs/_media/CONTRIBUTING.md +0 -18
  21. package/docs/_media/LICENSE-MIT +0 -22
  22. package/docs/classes/AbortError.md +0 -368
  23. package/docs/classes/AlreadyExistsError.md +0 -348
  24. package/docs/classes/BaseError.md +0 -359
  25. package/docs/classes/CancelableAbility.md +0 -379
  26. package/docs/classes/ClientTools.md +0 -2691
  27. package/docs/classes/CommonError.md +0 -377
  28. package/docs/classes/ConfigFile.md +0 -333
  29. package/docs/classes/EventClient.md +0 -3119
  30. package/docs/classes/EventServer.md +0 -3149
  31. package/docs/classes/EventToolFunc.md +0 -2533
  32. package/docs/classes/FStringPromptTemplate.md +0 -1150
  33. package/docs/classes/FewShotPromptTemplate.md +0 -1186
  34. package/docs/classes/GolangPromptTemplate.md +0 -1150
  35. package/docs/classes/HFEnvironment.md +0 -186
  36. package/docs/classes/HFInterpreter.md +0 -75
  37. package/docs/classes/HFTemplate.md +0 -67
  38. package/docs/classes/HfPromptTemplate.md +0 -1150
  39. package/docs/classes/IntSet.md +0 -216
  40. package/docs/classes/NotFoundError.md +0 -348
  41. package/docs/classes/NotImplementationError.md +0 -348
  42. package/docs/classes/PromptExampleSelector.md +0 -195
  43. package/docs/classes/PromptTemplate.md +0 -1079
  44. package/docs/classes/ReadableStreamError.md +0 -368
  45. package/docs/classes/ResClientTools.md +0 -2399
  46. package/docs/classes/ResServerTools.md +0 -2385
  47. package/docs/classes/SSEChannel.md +0 -270
  48. package/docs/classes/Semaphore.md +0 -177
  49. package/docs/classes/ServerTools.md +0 -2609
  50. package/docs/classes/TaskAbortController.md +0 -137
  51. package/docs/classes/ToolFunc.md +0 -2147
  52. package/docs/classes/YamlTypeBaseObject.md +0 -29
  53. package/docs/enumerations/AsyncFeatureBits.md +0 -37
  54. package/docs/enumerations/AsyncFeatures.md +0 -37
  55. package/docs/enumerations/ErrorCode.md +0 -217
  56. package/docs/enumerations/HashAlgorithm.md +0 -117
  57. package/docs/functions/AIArgProcessor.md +0 -27
  58. package/docs/functions/AIStream.md +0 -50
  59. package/docs/functions/ChoiceArgProcessor.md +0 -27
  60. package/docs/functions/RateLimit.md +0 -33
  61. package/docs/functions/TemplateArgProcessor.md +0 -27
  62. package/docs/functions/backendEventable.md +0 -23
  63. package/docs/functions/canonicalize.md +0 -21
  64. package/docs/functions/completeSentences.md +0 -23
  65. package/docs/functions/concatText.md +0 -23
  66. package/docs/functions/countLLMTokens.md +0 -23
  67. package/docs/functions/countRegexMatches.md +0 -33
  68. package/docs/functions/createAbilityInjector.md +0 -87
  69. package/docs/functions/createCallbacksTransformer.md +0 -49
  70. package/docs/functions/createEmptyReadableStream.md +0 -23
  71. package/docs/functions/createEndWithRepetitionDetector.md +0 -29
  72. package/docs/functions/createError.md +0 -35
  73. package/docs/functions/createEventStreamTransformer.md +0 -33
  74. package/docs/functions/createHfValueFunc.md +0 -29
  75. package/docs/functions/createLRUCache.md +0 -23
  76. package/docs/functions/createYamlObjectTag.md +0 -23
  77. package/docs/functions/dateToText.md +0 -23
  78. package/docs/functions/decodeCharset.md +0 -23
  79. package/docs/functions/detectCharset.md +0 -23
  80. package/docs/functions/encodeLLMTokens.md +0 -23
  81. package/docs/functions/expandEnv.md +0 -40
  82. package/docs/functions/expandObjEnv.md +0 -54
  83. package/docs/functions/extNameLevel.md +0 -43
  84. package/docs/functions/fileIsExists.md +0 -34
  85. package/docs/functions/filenameReservedRegex.md +0 -22
  86. package/docs/functions/filterValidFnScope.md +0 -21
  87. package/docs/functions/findIndexNonEmptyFrom.md +0 -23
  88. package/docs/functions/findPort.md +0 -23
  89. package/docs/functions/formatISO.md +0 -71
  90. package/docs/functions/formatTextWithSpace.md +0 -59
  91. package/docs/functions/getAllEnumKeys.md +0 -31
  92. package/docs/functions/getConfigFileNames.md +0 -23
  93. package/docs/functions/getConfigs.md +0 -23
  94. package/docs/functions/getFileMetaInfo.md +0 -21
  95. package/docs/functions/getHashAlgoBySize.md +0 -21
  96. package/docs/functions/getKeysPath.md +0 -38
  97. package/docs/functions/getLLMTokenizer.md +0 -21
  98. package/docs/functions/getMultiLevelExtname.md +0 -31
  99. package/docs/functions/getPackageDir.md +0 -39
  100. package/docs/functions/getRealFilepath.md +0 -34
  101. package/docs/functions/getResponseErrorReadableStream.md +0 -21
  102. package/docs/functions/hasDirectoryIn.md +0 -38
  103. package/docs/functions/hashFile.md +0 -23
  104. package/docs/functions/hashStream.md +0 -23
  105. package/docs/functions/hfParse.md +0 -24
  106. package/docs/functions/hfTokenize.md +0 -25
  107. package/docs/functions/interpolateEnv.md +0 -25
  108. package/docs/functions/interpolateFString.md +0 -27
  109. package/docs/functions/interpolateGolangTemplate.md +0 -31
  110. package/docs/functions/isLangUsingSpaces.md +0 -21
  111. package/docs/functions/isListItemString.md +0 -21
  112. package/docs/functions/isModelNameMatched.md +0 -45
  113. package/docs/functions/isPunctuationChar.md +0 -36
  114. package/docs/functions/isRegExp.md +0 -21
  115. package/docs/functions/isSectionString.md +0 -23
  116. package/docs/functions/isSentenceEnding.md +0 -21
  117. package/docs/functions/isSepLineString.md +0 -21
  118. package/docs/functions/isSubdirectory.md +0 -39
  119. package/docs/functions/isTitleString.md +0 -23
  120. package/docs/functions/isValidFilename.md +0 -38
  121. package/docs/functions/isValidFilepath.md +0 -27
  122. package/docs/functions/isWebStream.md +0 -21
  123. package/docs/functions/jsonFilterToWhere.md +0 -45
  124. package/docs/functions/jsonToMarkdownStr.md +0 -31
  125. package/docs/functions/loadFileFromPaths.md +0 -54
  126. package/docs/functions/loadTextFromPaths.md +0 -29
  127. package/docs/functions/lrucache.md +0 -29
  128. package/docs/functions/makeToolFuncCancelable.md +0 -23
  129. package/docs/functions/matchUrlProtocol.md +0 -48
  130. package/docs/functions/memoize.md +0 -27
  131. package/docs/functions/messagesToText.md +0 -21
  132. package/docs/functions/paramsSizeToScaleStr.md +0 -32
  133. package/docs/functions/parseCommand.md +0 -33
  134. package/docs/functions/parseDateFormat.md +0 -360
  135. package/docs/functions/parseFString.md +0 -26
  136. package/docs/functions/parseISO.md +0 -72
  137. package/docs/functions/parseJsJson.md +0 -38
  138. package/docs/functions/parseJsJsonSimpleSync.md +0 -23
  139. package/docs/functions/parseObjectArgInfo.md +0 -27
  140. package/docs/functions/parseObjectArgumentInfos.md +0 -25
  141. package/docs/functions/parseObjectArguments.md +0 -68
  142. package/docs/functions/parseObjectArgumentsAsArgInfos.md +0 -42
  143. package/docs/functions/parseYaml.md +0 -21
  144. package/docs/functions/quoteStr.md +0 -21
  145. package/docs/functions/reControlCharsRegex.md +0 -21
  146. package/docs/functions/readFilenamesRecursiveSync.md +0 -47
  147. package/docs/functions/readTextFileChunks.md +0 -51
  148. package/docs/functions/readTextFileChunksEx.md +0 -23
  149. package/docs/functions/readableFromAsyncIterable.md +0 -28
  150. package/docs/functions/registerCoreTools.md +0 -17
  151. package/docs/functions/registerYamlTag.md +0 -21
  152. package/docs/functions/removeMarkdownBold.md +0 -23
  153. package/docs/functions/removeMarkdownBoldAndItalic.md +0 -23
  154. package/docs/functions/removeMarkdownItalic.md +0 -23
  155. package/docs/functions/replaceWithPlaceholder.md +0 -41
  156. package/docs/functions/restoreFromPlacehoders.md +0 -45
  157. package/docs/functions/sanitizeFilename.md +0 -37
  158. package/docs/functions/sanitizeFilepath.md +0 -31
  159. package/docs/functions/saveConfigFile.md +0 -25
  160. package/docs/functions/scaleStrToParamsSize.md +0 -27
  161. package/docs/functions/simplifyObjectArguments.md +0 -21
  162. package/docs/functions/sortedValues.md +0 -25
  163. package/docs/functions/splitChunks.md +0 -23
  164. package/docs/functions/splitParagraph.md +0 -32
  165. package/docs/functions/splitSentence.md +0 -37
  166. package/docs/functions/stringifyYaml.md +0 -21
  167. package/docs/functions/stripConsoleColor.md +0 -21
  168. package/docs/functions/textToDate.md +0 -23
  169. package/docs/functions/throwError.md +0 -37
  170. package/docs/functions/toDate.md +0 -76
  171. package/docs/functions/toDateTime.md +0 -21
  172. package/docs/functions/toRegExp.md +0 -34
  173. package/docs/functions/trimStartOfStreamHelper.md +0 -41
  174. package/docs/functions/truncTo.md +0 -47
  175. package/docs/functions/truncateByToken.md +0 -23
  176. package/docs/functions/truncateToTokenLimit.md +0 -44
  177. package/docs/functions/truncateToTokenLimitEx.md +0 -23
  178. package/docs/functions/uuid.md +0 -23
  179. package/docs/functions/uuidParse.md +0 -21
  180. package/docs/functions/uuidStringify.md +0 -23
  181. package/docs/functions/uuidValidate.md +0 -21
  182. package/docs/functions/uuidVersion.md +0 -21
  183. package/docs/functions/uuidv1.md +0 -47
  184. package/docs/functions/uuidv4.md +0 -47
  185. package/docs/functions/uuidv5.md +0 -51
  186. package/docs/functions/wait.md +0 -21
  187. package/docs/functions/xxhash.md +0 -25
  188. package/docs/functions/xxhash32.md +0 -23
  189. package/docs/functions/xxhash64.md +0 -23
  190. package/docs/functions/xxhashAsStr.md +0 -25
  191. package/docs/globals.md +0 -285
  192. package/docs/interfaces/AIChatAssistantMessageParam.md +0 -117
  193. package/docs/interfaces/AIChatContentPartImage.md +0 -31
  194. package/docs/interfaces/AIChatContentPartText.md +0 -27
  195. package/docs/interfaces/AIChatMessageParamBase.md +0 -58
  196. package/docs/interfaces/AIChatMessageToolCall.md +0 -45
  197. package/docs/interfaces/AIChatSystemMessageParam.md +0 -87
  198. package/docs/interfaces/AIChatToolMessageParam.md +0 -97
  199. package/docs/interfaces/AIChatUserMessageParam.md +0 -127
  200. package/docs/interfaces/AIChoiceConfig.md +0 -77
  201. package/docs/interfaces/AIResult.md +0 -73
  202. package/docs/interfaces/AIStreamParser.md +0 -39
  203. package/docs/interfaces/AIStreamParserOptions.md +0 -21
  204. package/docs/interfaces/BaseFunc.md +0 -155
  205. package/docs/interfaces/BaseFuncItem.md +0 -103
  206. package/docs/interfaces/CancelableAbilityOptions.md +0 -115
  207. package/docs/interfaces/ClientFuncItem.md +0 -179
  208. package/docs/interfaces/DotenvExpandOptions.md +0 -47
  209. package/docs/interfaces/DotenvExpandOutput.md +0 -27
  210. package/docs/interfaces/DotenvParseInput.md +0 -11
  211. package/docs/interfaces/DotenvParseOutput.md +0 -11
  212. package/docs/interfaces/DotenvPopulateInput.md +0 -11
  213. package/docs/interfaces/EventClientFuncParams.md +0 -55
  214. package/docs/interfaces/EventServerFuncParams.md +0 -71
  215. package/docs/interfaces/FewShotPromptTemplateOptions.md +0 -163
  216. package/docs/interfaces/FuncItem.md +0 -143
  217. package/docs/interfaces/FuncParam.md +0 -71
  218. package/docs/interfaces/FuncParams.md +0 -11
  219. package/docs/interfaces/Funcs.md +0 -11
  220. package/docs/interfaces/HashAlgoParams.md +0 -37
  221. package/docs/interfaces/IFileMetaInfo.md +0 -77
  222. package/docs/interfaces/IReadTextFileChunksOptions.md +0 -157
  223. package/docs/interfaces/ITruncateToTokenLimitOptions.md +0 -111
  224. package/docs/interfaces/JsonFilter.md +0 -11
  225. package/docs/interfaces/ParseObjectArgumentOptions.md +0 -97
  226. package/docs/interfaces/PromptExampleSelectorOptions.md +0 -36
  227. package/docs/interfaces/PromptTemplateOptions.md +0 -75
  228. package/docs/interfaces/RemoteFuncItem.md +0 -168
  229. package/docs/interfaces/ReplacePlacehoderOptions.md +0 -47
  230. package/docs/interfaces/ResClientFuncParams.md +0 -35
  231. package/docs/interfaces/ResServerFuncParams.md +0 -73
  232. package/docs/interfaces/SanitizeFilenameOptions.md +0 -27
  233. package/docs/interfaces/SectionStringOptions.md +0 -27
  234. package/docs/interfaces/ServerFuncItem.md +0 -189
  235. package/docs/interfaces/ServerFuncParams.md +0 -37
  236. package/docs/interfaces/SplitSentenceOptions.md +0 -47
  237. package/docs/interfaces/StreamCallbacksAndOptions.md +0 -95
  238. package/docs/interfaces/TaskAbortControllers.md +0 -11
  239. package/docs/interfaces/TaskPromise.md +0 -138
  240. package/docs/interfaces/ToolFuncPackage.md +0 -49
  241. package/docs/type-aliases/AIChatContentPart.md +0 -13
  242. package/docs/type-aliases/AIChatMessageParam.md +0 -13
  243. package/docs/type-aliases/AIChatRole.md +0 -13
  244. package/docs/type-aliases/AIMessageType.md +0 -13
  245. package/docs/type-aliases/AIModelNameRule.md +0 -13
  246. package/docs/type-aliases/AIModelNameRuleFn.md +0 -21
  247. package/docs/type-aliases/AIModelNameRules.md +0 -13
  248. package/docs/type-aliases/AITextGenerationFinishReason.md +0 -13
  249. package/docs/type-aliases/ActionName.md +0 -13
  250. package/docs/type-aliases/AsyncTaskId.md +0 -13
  251. package/docs/type-aliases/EventErrorListenerFn.md +0 -27
  252. package/docs/type-aliases/EventListenerFn.md +0 -25
  253. package/docs/type-aliases/FStringPromptTemplateNode.md +0 -16
  254. package/docs/type-aliases/FuncParamType.md +0 -13
  255. package/docs/type-aliases/PromptExamples.md +0 -17
  256. package/docs/type-aliases/PromptTemplateType.md +0 -13
  257. package/docs/type-aliases/PromptType.md +0 -13
  258. package/docs/type-aliases/TFunc.md +0 -23
  259. package/docs/variables/AIChatRoles.md +0 -13
  260. package/docs/variables/AIMessageTypes.md +0 -13
  261. package/docs/variables/AITextGenerationFinishReasons.md +0 -13
  262. package/docs/variables/AbortErrorCode.md +0 -13
  263. package/docs/variables/ActionNames.md +0 -13
  264. package/docs/variables/AlreadyExistsErrorCode.md +0 -13
  265. package/docs/variables/ClientToolFuncSchema.md +0 -87
  266. package/docs/variables/DefaultAsyncSemaphoreCapacity.md +0 -13
  267. package/docs/variables/EventBusName.md +0 -13
  268. package/docs/variables/EventName.md +0 -13
  269. package/docs/variables/FilenameReservedRegex.md +0 -16
  270. package/docs/variables/HFBuiltins.md +0 -92
  271. package/docs/variables/InternalErrorCode.md +0 -13
  272. package/docs/variables/LLM_TOKENIZER_NAMES.md +0 -83
  273. package/docs/variables/LLM_TOKENIZER_NAMES_MAP.md +0 -13
  274. package/docs/variables/NotFoundErrorCode.md +0 -13
  275. package/docs/variables/NotImplementedErrorCode.md +0 -13
  276. package/docs/variables/PASSING_SCORE.md +0 -13
  277. package/docs/variables/PromptTemplateTypes.md +0 -13
  278. package/docs/variables/PromptTypes.md +0 -16
  279. package/docs/variables/RStreamErrCode.md +0 -13
  280. package/docs/variables/RemoteToolFuncSchema.md +0 -87
  281. package/docs/variables/ResponseRStreamErrCode.md +0 -13
  282. package/docs/variables/SSEChannelAlreadyClosedErrCode.md +0 -13
  283. package/docs/variables/ServerToolFuncSchema.md +0 -87
  284. package/docs/variables/ToolAsyncCancelableBit.md +0 -13
  285. package/docs/variables/ToolAsyncMultiTaskBit.md +0 -13
  286. package/docs/variables/ToolAsyncPriorityBit.md +0 -13
  287. package/docs/variables/ToolFuncSchema.md +0 -125
  288. package/docs/variables/WindowsReservedNameRegex.md +0 -15
  289. package/docs/variables/base32768.md +0 -13
  290. package/docs/variables/defaultTemplateFormat.md +0 -13
  291. package/docs/variables/event.md +0 -13
  292. package/docs/variables/eventClient.md +0 -13
  293. package/docs/variables/eventServer.md +0 -13
  294. package/docs/variables/lrucache.md +0 -13
  295. package/docs/variables/mimeType.md +0 -13
  296. package/docs/variables/uuidNIL.md +0 -13
@@ -1,270 +0,0 @@
1
- [**@isdk/ai-tool**](../README.md) • **Docs**
2
-
3
- ***
4
-
5
- [@isdk/ai-tool](../globals.md) / SSEChannel
6
-
7
- # Class: SSEChannel
8
-
9
- A class for creating Server-Sent Events (SSE) channels.
10
-
11
- ## Example
12
-
13
- ```ts
14
- const sseChannel = new SSEChannel({ pingInterval: 5000 })
15
- sseChannel.publish('Hello, world!', 'greeting')
16
- ```
17
-
18
- ## Constructors
19
-
20
- ### new SSEChannel()
21
-
22
- > **new SSEChannel**(`options`?): [`SSEChannel`](SSEChannel.md)
23
-
24
- Creates a new SSE channel.
25
-
26
- #### Parameters
27
-
28
- • **options?**: `Record`\<`string`, `any`\>
29
-
30
- The options for the SSE channel.
31
-
32
- #### Returns
33
-
34
- [`SSEChannel`](SSEChannel.md)
35
-
36
- #### Defined in
37
-
38
- [packages/ai-tool/src/utils/event/sse-channel.ts:65](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/event/sse-channel.ts#L65)
39
-
40
- ## Properties
41
-
42
- ### \_active
43
-
44
- > **\_active**: `boolean`
45
-
46
- #### Defined in
47
-
48
- [packages/ai-tool/src/utils/event/sse-channel.ts:26](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/event/sse-channel.ts#L26)
49
-
50
- ***
51
-
52
- ### clients
53
-
54
- > **clients**: `Set`\<`Client`\>
55
-
56
- #### Defined in
57
-
58
- [packages/ai-tool/src/utils/event/sse-channel.ts:27](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/event/sse-channel.ts#L27)
59
-
60
- ***
61
-
62
- ### messages
63
-
64
- > **messages**: `Record`\<`string`, `any`\>[]
65
-
66
- #### Defined in
67
-
68
- [packages/ai-tool/src/utils/event/sse-channel.ts:28](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/event/sse-channel.ts#L28)
69
-
70
- ***
71
-
72
- ### nextID
73
-
74
- > **nextID**: `number`
75
-
76
- #### Defined in
77
-
78
- [packages/ai-tool/src/utils/event/sse-channel.ts:29](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/event/sse-channel.ts#L29)
79
-
80
- ***
81
-
82
- ### options
83
-
84
- > **options**: `Record`\<`string`, `any`\>
85
-
86
- #### Defined in
87
-
88
- [packages/ai-tool/src/utils/event/sse-channel.ts:30](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/event/sse-channel.ts#L30)
89
-
90
- ***
91
-
92
- ### pingTimer?
93
-
94
- > `optional` **pingTimer**: `Timeout`
95
-
96
- #### Defined in
97
-
98
- [packages/ai-tool/src/utils/event/sse-channel.ts:31](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/event/sse-channel.ts#L31)
99
-
100
- ## Accessors
101
-
102
- ### active
103
-
104
- > `get` **active**(): `boolean`
105
-
106
- > `set` **active**(`v`): `void`
107
-
108
- #### Parameters
109
-
110
- • **v**: `boolean`
111
-
112
- #### Returns
113
-
114
- `boolean`
115
-
116
- #### Defined in
117
-
118
- [packages/ai-tool/src/utils/event/sse-channel.ts:33](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/event/sse-channel.ts#L33)
119
-
120
- ## Methods
121
-
122
- ### clearClients()
123
-
124
- > **clearClients**(): `void`
125
-
126
- #### Returns
127
-
128
- `void`
129
-
130
- #### Defined in
131
-
132
- [packages/ai-tool/src/utils/event/sse-channel.ts:195](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/event/sse-channel.ts#L195)
133
-
134
- ***
135
-
136
- ### getSubscriberCount()
137
-
138
- > **getSubscriberCount**(): `number`
139
-
140
- Gets the number of clients subscribed to the SSE channel.
141
-
142
- #### Returns
143
-
144
- `number`
145
-
146
- - Returns the number of clients.
147
-
148
- #### Defined in
149
-
150
- [packages/ai-tool/src/utils/event/sse-channel.ts:220](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/event/sse-channel.ts#L220)
151
-
152
- ***
153
-
154
- ### listClients()
155
-
156
- > **listClients**(): `Record`\<`string`, `number`\>
157
-
158
- Lists the clients connected to the SSE channel grouped by IP address.
159
-
160
- #### Returns
161
-
162
- `Record`\<`string`, `number`\>
163
-
164
- - Returns an object where the keys are the IP addresses and the values are the number of clients connected from each IP.
165
-
166
- #### Defined in
167
-
168
- [packages/ai-tool/src/utils/event/sse-channel.ts:204](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/event/sse-channel.ts#L204)
169
-
170
- ***
171
-
172
- ### publish()
173
-
174
- > **publish**(`data`?, `eventName`?): `undefined` \| `number`
175
-
176
- Publishes a message to the SSE channel.
177
-
178
- #### Parameters
179
-
180
- • **data?**: `string` \| `Record`\<`string`, `any`\>
181
-
182
- The data to send. It can be a string or an object.
183
-
184
- • **eventName?**: `string`
185
-
186
- The name of the event.
187
-
188
- #### Returns
189
-
190
- `undefined` \| `number`
191
-
192
- - Returns the ID of the message.
193
-
194
- #### Throws
195
-
196
- Will throw an error if the channel is closed.
197
-
198
- #### Defined in
199
-
200
- [packages/ai-tool/src/utils/event/sse-channel.ts:93](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/event/sse-channel.ts#L93)
201
-
202
- ***
203
-
204
- ### subscribe()
205
-
206
- > **subscribe**(`req`, `res`, `events`?): `object`
207
-
208
- Subscribes a client to the SSE channel.
209
-
210
- #### Parameters
211
-
212
- • **req**: `IncomingMessage`
213
-
214
- The request object.
215
-
216
- • **res**: `ServerResponse`\<`IncomingMessage`\>
217
-
218
- The response object.
219
-
220
- • **events?**: `Events`
221
-
222
- The events to subscribe to.
223
-
224
- #### Returns
225
-
226
- `object`
227
-
228
- - Returns the client object.
229
-
230
- ##### events
231
-
232
- > **events**: `undefined` \| `Events`
233
-
234
- ##### req
235
-
236
- > **req**: `IncomingMessage`
237
-
238
- ##### res
239
-
240
- > **res**: `ServerResponse`\<`IncomingMessage`\>
241
-
242
- #### Throws
243
-
244
- Will throw an error if the channel is closed.
245
-
246
- #### Defined in
247
-
248
- [packages/ai-tool/src/utils/event/sse-channel.ts:143](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/event/sse-channel.ts#L143)
249
-
250
- ***
251
-
252
- ### unsubscribe()
253
-
254
- > **unsubscribe**(`c`): `void`
255
-
256
- Unsubscribes a client from the SSE channel.
257
-
258
- #### Parameters
259
-
260
- • **c**: `Client`
261
-
262
- The client to unsubscribe.
263
-
264
- #### Returns
265
-
266
- `void`
267
-
268
- #### Defined in
269
-
270
- [packages/ai-tool/src/utils/event/sse-channel.ts:190](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/event/sse-channel.ts#L190)
@@ -1,177 +0,0 @@
1
- [**@isdk/ai-tool**](../README.md) • **Docs**
2
-
3
- ***
4
-
5
- [@isdk/ai-tool](../globals.md) / Semaphore
6
-
7
- # Class: Semaphore
8
-
9
- A Semaphore implementation for managing concurrency in asynchronous operations.
10
- Semaphores allow a fixed number of resources to be accessed concurrently.
11
-
12
- Example usage:
13
-
14
- ```typescript
15
- const semaphore = new Semaphore(5); // Allows 5 concurrent operations.
16
-
17
- const semaphore = new Semaphore(
18
- 4, // Allow 4 concurrent async calls
19
- {
20
- capacity: 100 // Prealloc space for 100 tokens
21
- }
22
- );
23
-
24
- async function fetchData(x) {
25
- await semaphore.acquire()
26
- try {
27
- console.log(semaphore.pendingCount() + ' calls to fetch are waiting')
28
- // ... do some async stuff with x
29
- } finally {
30
- semaphore.release();
31
- }
32
- }
33
-
34
- const data = await Promise.all(array.map(fetchData));
35
- ```
36
-
37
- ## Constructors
38
-
39
- ### new Semaphore()
40
-
41
- > **new Semaphore**(`maxConcurrency`, `__namedParameters`): [`Semaphore`](Semaphore.md)
42
-
43
- Creates a semaphore object. The first argument is the maximum concurrently number and the second argument is optional.
44
-
45
- #### Parameters
46
-
47
- • **maxConcurrency**: `number`
48
-
49
- The maximum number of callers allowed to acquire the semaphore concurrently.
50
-
51
- • **\_\_namedParameters** = `{}`
52
-
53
- • **\_\_namedParameters.capacity?**: `number` = `DefaultAsyncSemaphoreCapacity`
54
-
55
- • **\_\_namedParameters.initFn?** = `defaultInit`
56
-
57
- • **\_\_namedParameters.pauseFn?**
58
-
59
- • **\_\_namedParameters.resumeFn?**
60
-
61
- #### Returns
62
-
63
- [`Semaphore`](Semaphore.md)
64
-
65
- #### Defined in
66
-
67
- [packages/ai-tool/src/utils/async-semaphore.ts:207](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/async-semaphore.ts#L207)
68
-
69
- ## Properties
70
-
71
- ### maxConcurrency
72
-
73
- > `readonly` **maxConcurrency**: `number`
74
-
75
- #### Defined in
76
-
77
- [packages/ai-tool/src/utils/async-semaphore.ts:151](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/async-semaphore.ts#L151)
78
-
79
- ***
80
-
81
- ### waiting
82
-
83
- > `readonly` **waiting**: `Deque`
84
-
85
- #### Defined in
86
-
87
- [packages/ai-tool/src/utils/async-semaphore.ts:152](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/async-semaphore.ts#L152)
88
-
89
- ## Methods
90
-
91
- ### acquire()
92
-
93
- > **acquire**(`signal`?): `Promise`\<`any`\>
94
-
95
- Acquire a token from the semaphore, thus decrement the number of available execution slots. If initFn is not used then the return value of the function can be discarded.
96
-
97
- #### Parameters
98
-
99
- • **signal?**: `AbortSignal`
100
-
101
- #### Returns
102
-
103
- `Promise`\<`any`\>
104
-
105
- #### Defined in
106
-
107
- [packages/ai-tool/src/utils/async-semaphore.ts:265](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/async-semaphore.ts#L265)
108
-
109
- ***
110
-
111
- ### drain()
112
-
113
- > **drain**(): `Promise`\<`any`[]\>
114
-
115
- Drains the semaphore and returns all the initialized tokens in an array. Draining is an ideal way to ensure there are no pending async tasks, for example before a process will terminate.
116
-
117
- #### Returns
118
-
119
- `Promise`\<`any`[]\>
120
-
121
- #### Defined in
122
-
123
- [packages/ai-tool/src/utils/async-semaphore.ts:301](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/async-semaphore.ts#L301)
124
-
125
- ***
126
-
127
- ### pendingCount()
128
-
129
- > **pendingCount**(): `number`
130
-
131
- Returns the number of callers waiting on the semaphore, i.e. the number of pending promises.
132
-
133
- #### Returns
134
-
135
- `number`
136
-
137
- The number of waiters in the waiting list.
138
-
139
- #### Defined in
140
-
141
- [packages/ai-tool/src/utils/async-semaphore.ts:314](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/async-semaphore.ts#L314)
142
-
143
- ***
144
-
145
- ### release()
146
-
147
- > **release**(`token`?): `void`
148
-
149
- Release the semaphore, thus increment the number of free execution slots. If initFn is used then the token returned by acquire() should be given as an argument when calling this function.
150
-
151
- #### Parameters
152
-
153
- • **token?**: `any`
154
-
155
- #### Returns
156
-
157
- `void`
158
-
159
- #### Defined in
160
-
161
- [packages/ai-tool/src/utils/async-semaphore.ts:294](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/async-semaphore.ts#L294)
162
-
163
- ***
164
-
165
- ### tryAcquire()
166
-
167
- > **tryAcquire**(): `any`
168
-
169
- Attempt to acquire a token from the semaphore, if one is available immediately. Otherwise, return undefined.
170
-
171
- #### Returns
172
-
173
- `any`
174
-
175
- #### Defined in
176
-
177
- [packages/ai-tool/src/utils/async-semaphore.ts:258](https://github.com/isdk/ai-tool.js/blob/e324043799402aa2caa41711a9168487ab85c166/src/utils/async-semaphore.ts#L258)