@isdk/ai-tool 0.5.1 → 0.5.2

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 (329) hide show
  1. package/package.json +1 -1
  2. package/docs/README.md +0 -250
  3. package/docs/_media/CONTRIBUTING.md +0 -18
  4. package/docs/_media/LICENSE-MIT +0 -22
  5. package/docs/classes/AbortError.md +0 -366
  6. package/docs/classes/AlreadyExistsError.md +0 -346
  7. package/docs/classes/BaseError.md +0 -359
  8. package/docs/classes/BinarySemaphore.md +0 -418
  9. package/docs/classes/CancelableAbility.md +0 -467
  10. package/docs/classes/ClientTools.md +0 -2715
  11. package/docs/classes/CommonError.md +0 -377
  12. package/docs/classes/ConfigFile.md +0 -353
  13. package/docs/classes/EnvPromptTemplate.md +0 -1158
  14. package/docs/classes/EventClient.md +0 -3149
  15. package/docs/classes/EventEmitter.md +0 -299
  16. package/docs/classes/EventServer.md +0 -3175
  17. package/docs/classes/EventToolFunc.md +0 -2557
  18. package/docs/classes/FStringPromptTemplate.md +0 -1158
  19. package/docs/classes/FewShotPromptTemplate.md +0 -1180
  20. package/docs/classes/GolangPromptTemplate.md +0 -1158
  21. package/docs/classes/HFEnvironment.md +0 -184
  22. package/docs/classes/HFInterpreter.md +0 -77
  23. package/docs/classes/HFTemplate.md +0 -67
  24. package/docs/classes/HfPromptTemplate.md +0 -1158
  25. package/docs/classes/IntSet.md +0 -216
  26. package/docs/classes/LRUCache.md +0 -601
  27. package/docs/classes/NotFoundError.md +0 -346
  28. package/docs/classes/NotImplementationError.md +0 -346
  29. package/docs/classes/PromptExampleSelector.md +0 -195
  30. package/docs/classes/PromptTemplate.md +0 -1088
  31. package/docs/classes/ReadableStreamError.md +0 -366
  32. package/docs/classes/ResClientTools.md +0 -2431
  33. package/docs/classes/ResServerTools.md +0 -2407
  34. package/docs/classes/SSEChannel.md +0 -270
  35. package/docs/classes/Semaphore.md +0 -538
  36. package/docs/classes/ServerTools.md +0 -2623
  37. package/docs/classes/SignalGate.md +0 -182
  38. package/docs/classes/TaskAbortController.md +0 -131
  39. package/docs/classes/ToolFunc.md +0 -2177
  40. package/docs/classes/YamlTypeBaseObject.md +0 -31
  41. package/docs/enumerations/AsyncFeatureBits.md +0 -33
  42. package/docs/enumerations/AsyncFeatures.md +0 -33
  43. package/docs/enumerations/ErrorCode.md +0 -177
  44. package/docs/enumerations/HashAlgorithm.md +0 -97
  45. package/docs/functions/AIArgProcessor.md +0 -33
  46. package/docs/functions/AIStream.md +0 -52
  47. package/docs/functions/ChoiceArgProcessor.md +0 -33
  48. package/docs/functions/ObjectArgsToArgsInfo.md +0 -29
  49. package/docs/functions/RateLimit.md +0 -37
  50. package/docs/functions/TemplateArgProcessor.md +0 -33
  51. package/docs/functions/assignDirs.md +0 -33
  52. package/docs/functions/backendEventable.md +0 -29
  53. package/docs/functions/beforeShutdown.md +0 -29
  54. package/docs/functions/canonicalize.md +0 -21
  55. package/docs/functions/completeSentences.md +0 -25
  56. package/docs/functions/concatText.md +0 -25
  57. package/docs/functions/countLLMTokens.md +0 -25
  58. package/docs/functions/countRegexMatches.md +0 -35
  59. package/docs/functions/createAbilityInjector.md +0 -119
  60. package/docs/functions/createCallbacksTransformer.md +0 -49
  61. package/docs/functions/createEmptyReadableStream.md +0 -21
  62. package/docs/functions/createEndWithRepetitionDetector.md +0 -31
  63. package/docs/functions/createError.md +0 -39
  64. package/docs/functions/createEventStreamTransformer.md +0 -33
  65. package/docs/functions/createHfValueFunc.md +0 -31
  66. package/docs/functions/createLRUCache.md +0 -25
  67. package/docs/functions/createYamlObjectTag.md +0 -25
  68. package/docs/functions/dateToText.md +0 -25
  69. package/docs/functions/decodeCharset.md +0 -25
  70. package/docs/functions/detectCharset.md +0 -25
  71. package/docs/functions/encodeLLMTokens.md +0 -25
  72. package/docs/functions/ensureQuoted.md +0 -25
  73. package/docs/functions/eventable.md +0 -82
  74. package/docs/functions/expandConfig.md +0 -25
  75. package/docs/functions/expandEnv.md +0 -40
  76. package/docs/functions/expandObjEnv.md +0 -58
  77. package/docs/functions/expandPath.md +0 -25
  78. package/docs/functions/extNameLevel.md +0 -43
  79. package/docs/functions/fileIsExists.md +0 -34
  80. package/docs/functions/filenameReservedRegex.md +0 -20
  81. package/docs/functions/filterValidFnScope.md +0 -21
  82. package/docs/functions/findIndexNonEmptyFrom.md +0 -25
  83. package/docs/functions/findPort.md +0 -25
  84. package/docs/functions/formatISO.md +0 -69
  85. package/docs/functions/formatTextWithSpace.md +0 -63
  86. package/docs/functions/getAllEnumKeys.md +0 -31
  87. package/docs/functions/getConfigFileNames.md +0 -25
  88. package/docs/functions/getConfigs.md +0 -25
  89. package/docs/functions/getEnvVairables.md +0 -21
  90. package/docs/functions/getFileMetaInfo.md +0 -21
  91. package/docs/functions/getHashAlgoBySize.md +0 -21
  92. package/docs/functions/getKeysPath.md +0 -38
  93. package/docs/functions/getLLMTokenizer.md +0 -21
  94. package/docs/functions/getMultiLevelExtname.md +0 -33
  95. package/docs/functions/getPackageDir.md +0 -39
  96. package/docs/functions/getRealFilepath.md +0 -34
  97. package/docs/functions/getResponseErrorReadableStream.md +0 -21
  98. package/docs/functions/getXDGConfigs.md +0 -37
  99. package/docs/functions/hasDirectoryIn.md +0 -40
  100. package/docs/functions/hash.md +0 -25
  101. package/docs/functions/hashFile.md +0 -25
  102. package/docs/functions/hashStream.md +0 -25
  103. package/docs/functions/hfParse.md +0 -24
  104. package/docs/functions/hfTokenize.md +0 -27
  105. package/docs/functions/initShutdown.md +0 -15
  106. package/docs/functions/interpolateEnv.md +0 -29
  107. package/docs/functions/interpolateFString.md +0 -29
  108. package/docs/functions/interpolateGolangTemplate.md +0 -35
  109. package/docs/functions/isLangUsingSpaces.md +0 -21
  110. package/docs/functions/isListItemString.md +0 -21
  111. package/docs/functions/isModelNameMatched.md +0 -47
  112. package/docs/functions/isPunctuationChar.md +0 -36
  113. package/docs/functions/isQuoted.md +0 -21
  114. package/docs/functions/isRegExp.md +0 -21
  115. package/docs/functions/isSameString.md +0 -36
  116. package/docs/functions/isSectionString.md +0 -25
  117. package/docs/functions/isSentenceEnding.md +0 -21
  118. package/docs/functions/isSepLineString.md +0 -21
  119. package/docs/functions/isStrWrapped.md +0 -25
  120. package/docs/functions/isSubdirectory.md +0 -41
  121. package/docs/functions/isTitleString.md +0 -25
  122. package/docs/functions/isValidFilename.md +0 -38
  123. package/docs/functions/isValidFilepath.md +0 -27
  124. package/docs/functions/isWebStream.md +0 -21
  125. package/docs/functions/jsonFilterToWhere.md +0 -47
  126. package/docs/functions/jsonToMarkdownStr.md +0 -39
  127. package/docs/functions/loadAIConfig.md +0 -21
  128. package/docs/functions/loadConfig.md +0 -25
  129. package/docs/functions/loadConfigFile.md +0 -25
  130. package/docs/functions/loadFileFromPaths.md +0 -64
  131. package/docs/functions/loadTextFromPaths.md +0 -37
  132. package/docs/functions/lrucache.md +0 -35
  133. package/docs/functions/makeToolFuncCancelable.md +0 -29
  134. package/docs/functions/matchUrlProtocol.md +0 -48
  135. package/docs/functions/memoize.md +0 -29
  136. package/docs/functions/messagesToText.md +0 -21
  137. package/docs/functions/paramsSizeToScaleStr.md +0 -34
  138. package/docs/functions/parseCommand.md +0 -29
  139. package/docs/functions/parseDateFormat.md +0 -362
  140. package/docs/functions/parseFString.md +0 -26
  141. package/docs/functions/parseISO.md +0 -70
  142. package/docs/functions/parseJsJson.md +0 -40
  143. package/docs/functions/parseJsJsonSimpleSync.md +0 -25
  144. package/docs/functions/parseObjectArgInfo.md +0 -33
  145. package/docs/functions/parseObjectArgumentInfos.md +0 -29
  146. package/docs/functions/parseObjectArguments.md +0 -72
  147. package/docs/functions/parseObjectArgumentsAsArgInfos.md +0 -46
  148. package/docs/functions/parseYaml.md +0 -25
  149. package/docs/functions/quoteStr.md +0 -21
  150. package/docs/functions/reControlCharsRegex.md +0 -19
  151. package/docs/functions/readFilenamesRecursiveSync.md +0 -53
  152. package/docs/functions/readTextFileChunks.md +0 -53
  153. package/docs/functions/readTextFileChunksEx.md +0 -25
  154. package/docs/functions/readableFromAsyncIterable.md +0 -28
  155. package/docs/functions/registerCoreTools.md +0 -15
  156. package/docs/functions/registerYamlTag.md +0 -21
  157. package/docs/functions/removeMarkdownBold.md +0 -25
  158. package/docs/functions/removeMarkdownBoldAndItalic.md +0 -25
  159. package/docs/functions/removeMarkdownItalic.md +0 -25
  160. package/docs/functions/replaceWithPlaceholder.md +0 -43
  161. package/docs/functions/restoreFromPlacehoders.md +0 -49
  162. package/docs/functions/sanitizeFilename.md +0 -39
  163. package/docs/functions/sanitizeFilepath.md +0 -33
  164. package/docs/functions/saveConfigFile.md +0 -29
  165. package/docs/functions/scaleStrToParamsSize.md +0 -27
  166. package/docs/functions/shutdown.md +0 -33
  167. package/docs/functions/simplifyObjectArguments.md +0 -21
  168. package/docs/functions/sortedValues.md +0 -25
  169. package/docs/functions/splitChunks.md +0 -25
  170. package/docs/functions/splitParagraph.md +0 -34
  171. package/docs/functions/splitSentence.md +0 -39
  172. package/docs/functions/stringifyYaml.md +0 -25
  173. package/docs/functions/stripConsoleColor.md +0 -21
  174. package/docs/functions/textToDate.md +0 -25
  175. package/docs/functions/throwError.md +0 -41
  176. package/docs/functions/toDate.md +0 -74
  177. package/docs/functions/toDateTime.md +0 -21
  178. package/docs/functions/toRegExp.md +0 -34
  179. package/docs/functions/trimStartOfStreamHelper.md +0 -41
  180. package/docs/functions/truncTo.md +0 -51
  181. package/docs/functions/truncateByToken.md +0 -25
  182. package/docs/functions/truncateToTokenLimit.md +0 -46
  183. package/docs/functions/truncateToTokenLimitEx.md +0 -25
  184. package/docs/functions/uuid.md +0 -25
  185. package/docs/functions/uuidParse.md +0 -21
  186. package/docs/functions/uuidStringify.md +0 -25
  187. package/docs/functions/uuidValidate.md +0 -21
  188. package/docs/functions/uuidVersion.md +0 -21
  189. package/docs/functions/uuidv1.md +0 -55
  190. package/docs/functions/uuidv4.md +0 -55
  191. package/docs/functions/uuidv5.md +0 -63
  192. package/docs/functions/wait.md +0 -21
  193. package/docs/functions/wrapEventEmitter.md +0 -27
  194. package/docs/functions/xxhash.md +0 -29
  195. package/docs/functions/xxhash32.md +0 -25
  196. package/docs/functions/xxhash64.md +0 -25
  197. package/docs/functions/xxhashAsStr.md +0 -29
  198. package/docs/globals.md +0 -329
  199. package/docs/interfaces/AIChatAssistantMessageParam.md +0 -129
  200. package/docs/interfaces/AIChatContentPartImage.md +0 -29
  201. package/docs/interfaces/AIChatContentPartText.md +0 -25
  202. package/docs/interfaces/AIChatMessageParamBase.md +0 -68
  203. package/docs/interfaces/AIChatMessageToolCall.md +0 -41
  204. package/docs/interfaces/AIChatSystemMessageParam.md +0 -105
  205. package/docs/interfaces/AIChatToolChoiceFuncObject.md +0 -37
  206. package/docs/interfaces/AIChatToolChoiceObject.md +0 -25
  207. package/docs/interfaces/AIChatToolFunc.md +0 -41
  208. package/docs/interfaces/AIChatToolFuncParam.md +0 -37
  209. package/docs/interfaces/AIChatToolMessageParam.md +0 -113
  210. package/docs/interfaces/AIChatToolParam.md +0 -25
  211. package/docs/interfaces/AIChatToolTypeObject.md +0 -17
  212. package/docs/interfaces/AIChatUserMessageParam.md +0 -137
  213. package/docs/interfaces/AIChoiceConfig.md +0 -65
  214. package/docs/interfaces/AIResult.md +0 -65
  215. package/docs/interfaces/AIStreamParser.md +0 -43
  216. package/docs/interfaces/AIStreamParserOptions.md +0 -21
  217. package/docs/interfaces/BaseFunc.md +0 -145
  218. package/docs/interfaces/BaseFuncItem.md +0 -93
  219. package/docs/interfaces/BinarySemaphoreAcquireOptions.md +0 -25
  220. package/docs/interfaces/BinarySemaphoreOptions.md +0 -57
  221. package/docs/interfaces/BinarySemaphoreReleaseOptions.md +0 -25
  222. package/docs/interfaces/BinarySemaphoreReleaserFunc.md +0 -37
  223. package/docs/interfaces/CancelableAbilityOptions.md +0 -113
  224. package/docs/interfaces/ClientFuncItem.md +0 -163
  225. package/docs/interfaces/DotenvExpandOptions.md +0 -43
  226. package/docs/interfaces/DotenvExpandOutput.md +0 -25
  227. package/docs/interfaces/DotenvParseInput.md +0 -13
  228. package/docs/interfaces/DotenvParseOutput.md +0 -13
  229. package/docs/interfaces/DotenvPopulateInput.md +0 -13
  230. package/docs/interfaces/EventClientFuncParams.md +0 -51
  231. package/docs/interfaces/EventServerFuncParams.md +0 -67
  232. package/docs/interfaces/FewShotPromptTemplateOptions.md +0 -147
  233. package/docs/interfaces/FuncItem.md +0 -131
  234. package/docs/interfaces/FuncParam.md +0 -61
  235. package/docs/interfaces/FuncParams.md +0 -13
  236. package/docs/interfaces/Funcs.md +0 -13
  237. package/docs/interfaces/HashAlgoParams.md +0 -33
  238. package/docs/interfaces/IFileMetaInfo.md +0 -65
  239. package/docs/interfaces/IReadTextFileChunksOptions.md +0 -143
  240. package/docs/interfaces/ITruncateToTokenLimitOptions.md +0 -99
  241. package/docs/interfaces/JsonFilter.md +0 -13
  242. package/docs/interfaces/ParseObjectArgumentOptions.md +0 -89
  243. package/docs/interfaces/PromptExampleSelectorOptions.md +0 -34
  244. package/docs/interfaces/PromptTemplateOptions.md +0 -65
  245. package/docs/interfaces/RemoteFuncItem.md +0 -152
  246. package/docs/interfaces/ReplacePlacehoderOptions.md +0 -41
  247. package/docs/interfaces/ResClientFuncParams.md +0 -37
  248. package/docs/interfaces/ResServerFuncParams.md +0 -69
  249. package/docs/interfaces/SanitizeFilenameOptions.md +0 -25
  250. package/docs/interfaces/SectionStringOptions.md +0 -25
  251. package/docs/interfaces/SemaphoreOptions.md +0 -89
  252. package/docs/interfaces/SemaphoreTaskItem.md +0 -73
  253. package/docs/interfaces/ServerFuncItem.md +0 -171
  254. package/docs/interfaces/ServerFuncParams.md +0 -35
  255. package/docs/interfaces/SplitSentenceOptions.md +0 -41
  256. package/docs/interfaces/StreamCallbacksAndOptions.md +0 -99
  257. package/docs/interfaces/TaskAbortControllers.md +0 -13
  258. package/docs/interfaces/TaskPromise.md +0 -138
  259. package/docs/interfaces/ToolFuncPackage.md +0 -47
  260. package/docs/namespaces/EventStates/README.md +0 -14
  261. package/docs/namespaces/EventStates/variables/ABORT.md +0 -11
  262. package/docs/namespaces/EventStates/variables/CONTINUE.md +0 -11
  263. package/docs/namespaces/EventStates/variables/DONE.md +0 -11
  264. package/docs/namespaces/EventStates/variables/STOPPED.md +0 -11
  265. package/docs/namespaces/uuidv5/README.md +0 -12
  266. package/docs/namespaces/uuidv5/variables/DNS.md +0 -11
  267. package/docs/namespaces/uuidv5/variables/URL.md +0 -11
  268. package/docs/type-aliases/AIChatContentPart.md +0 -11
  269. package/docs/type-aliases/AIChatMessageParam.md +0 -11
  270. package/docs/type-aliases/AIChatRole.md +0 -11
  271. package/docs/type-aliases/AIChatToolChoiceParam.md +0 -11
  272. package/docs/type-aliases/AIMessageType.md +0 -11
  273. package/docs/type-aliases/AIModelNameRule.md +0 -11
  274. package/docs/type-aliases/AIModelNameRuleFn.md +0 -21
  275. package/docs/type-aliases/AIModelNameRules.md +0 -11
  276. package/docs/type-aliases/AITextGenerationFinishReason.md +0 -11
  277. package/docs/type-aliases/ActionName.md +0 -11
  278. package/docs/type-aliases/AsyncTaskId.md +0 -11
  279. package/docs/type-aliases/BeforeShutdownListener.md +0 -23
  280. package/docs/type-aliases/EventErrorListenerFn.md +0 -33
  281. package/docs/type-aliases/EventListenerFn.md +0 -29
  282. package/docs/type-aliases/FStringPromptTemplateNode.md +0 -14
  283. package/docs/type-aliases/FuncParamType.md +0 -11
  284. package/docs/type-aliases/PromptExamples.md +0 -15
  285. package/docs/type-aliases/PromptTemplateType.md +0 -11
  286. package/docs/type-aliases/PromptType.md +0 -11
  287. package/docs/type-aliases/SemaphoreIsReadyFuncType.md +0 -15
  288. package/docs/type-aliases/TFunc.md +0 -25
  289. package/docs/variables/AIChatRoles.md +0 -11
  290. package/docs/variables/AIMessageTypes.md +0 -11
  291. package/docs/variables/AITextGenerationFinishReasons.md +0 -11
  292. package/docs/variables/AbortErrorCode.md +0 -11
  293. package/docs/variables/ActionNames.md +0 -11
  294. package/docs/variables/AlreadyExistsErrorCode.md +0 -11
  295. package/docs/variables/ClientToolFuncSchema.md +0 -101
  296. package/docs/variables/DEFAULT_CONFIG_NAME.md +0 -11
  297. package/docs/variables/DefaultAsyncSemaphoreCapacity.md +0 -11
  298. package/docs/variables/EventBusName.md +0 -11
  299. package/docs/variables/EventName.md +0 -11
  300. package/docs/variables/FilenameReservedRegex.md +0 -14
  301. package/docs/variables/HFBuiltins.md +0 -122
  302. package/docs/variables/InternalErrorCode.md +0 -11
  303. package/docs/variables/LLM_TOKENIZER_NAMES.md +0 -81
  304. package/docs/variables/LLM_TOKENIZER_NAMES_MAP.md +0 -11
  305. package/docs/variables/NotFoundErrorCode.md +0 -11
  306. package/docs/variables/NotImplementedErrorCode.md +0 -11
  307. package/docs/variables/PASSING_SCORE.md +0 -11
  308. package/docs/variables/PromptTemplateTypes.md +0 -11
  309. package/docs/variables/PromptTypes.md +0 -14
  310. package/docs/variables/RStreamErrCode.md +0 -11
  311. package/docs/variables/RemoteToolFuncSchema.md +0 -101
  312. package/docs/variables/ResponseRStreamErrCode.md +0 -11
  313. package/docs/variables/SHUTDOWN_SIGNALS.md +0 -17
  314. package/docs/variables/SSEChannelAlreadyClosedErrCode.md +0 -11
  315. package/docs/variables/SecondaryCache.md +0 -11
  316. package/docs/variables/ServerToolFuncSchema.md +0 -101
  317. package/docs/variables/ToolAsyncCancelableBit.md +0 -11
  318. package/docs/variables/ToolAsyncMultiTaskBit.md +0 -11
  319. package/docs/variables/ToolAsyncPriorityBit.md +0 -11
  320. package/docs/variables/ToolFuncSchema.md +0 -133
  321. package/docs/variables/WindowsReservedNameRegex.md +0 -13
  322. package/docs/variables/base32768.md +0 -11
  323. package/docs/variables/defaultTemplateFormat.md +0 -11
  324. package/docs/variables/event.md +0 -11
  325. package/docs/variables/eventClient.md +0 -11
  326. package/docs/variables/eventServer.md +0 -11
  327. package/docs/variables/lrucache.md +0 -11
  328. package/docs/variables/mimeType.md +0 -11
  329. package/docs/variables/uuidNIL.md +0 -11
@@ -1,418 +0,0 @@
1
- [**@isdk/ai-tool**](../README.md)
2
-
3
- ***
4
-
5
- [@isdk/ai-tool](../globals.md) / BinarySemaphore
6
-
7
- # Class: BinarySemaphore
8
-
9
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:88](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L88)
10
-
11
- A binary semaphore implementation for managing concurrency in asynchronous operations.
12
- Unlike a general semaphore, a binary semaphore allows only one caller to acquire the semaphore at a time.
13
- It provides methods to acquire, release, and manage waiting tasks efficiently.
14
-
15
- Example usage:
16
-
17
- ```typescript
18
- const semaphore = new Semaphore(5); // Allows 5 concurrent operations.
19
-
20
- const semaphore = new Semaphore(
21
- 4, // Allow 4 concurrent async calls
22
- {
23
- capacity: 100 // Prealloc space for 100 tokens
24
- }
25
- );
26
-
27
- async function fetchData(x) {
28
- await semaphore.acquire()
29
- try {
30
- console.log(semaphore.pendingCount + ' calls to fetch are waiting')
31
- // ... do some async stuff with x
32
- } finally {
33
- semaphore.release();
34
- }
35
- }
36
-
37
- const data = await Promise.all(array.map(fetchData));
38
- ```
39
-
40
- ## Extended by
41
-
42
- - [`Semaphore`](Semaphore.md)
43
-
44
- ## Constructors
45
-
46
- ### new BinarySemaphore()
47
-
48
- > **new BinarySemaphore**(`options`): [`BinarySemaphore`](BinarySemaphore.md)
49
-
50
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:145](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L145)
51
-
52
- Creates a binary semaphore object for managing concurrency in asynchronous operations.
53
-
54
- #### Parameters
55
-
56
- ##### options
57
-
58
- [`BinarySemaphoreOptions`](../interfaces/BinarySemaphoreOptions.md) = `{}`
59
-
60
- #### Returns
61
-
62
- [`BinarySemaphore`](BinarySemaphore.md)
63
-
64
- ## Properties
65
-
66
- ### \_activeCount
67
-
68
- > `protected` **\_activeCount**: `number`
69
-
70
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:97](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L97)
71
-
72
- ***
73
-
74
- ### emitter
75
-
76
- > `protected` **emitter**: [`EventEmitter`](EventEmitter.md)
77
-
78
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:91](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L91)
79
-
80
- ***
81
-
82
- ### free
83
-
84
- > `protected` **free**: `any`
85
-
86
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:90](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L90)
87
-
88
- ***
89
-
90
- ### initTokenFn()
91
-
92
- > `protected` **initTokenFn**: (`token`?) => `void`
93
-
94
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:95](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L95)
95
-
96
- #### Parameters
97
-
98
- ##### token?
99
-
100
- `any`
101
-
102
- #### Returns
103
-
104
- `void`
105
-
106
- ***
107
-
108
- ### paused
109
-
110
- > `protected` **paused**: `boolean`
111
-
112
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:96](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L96)
113
-
114
- ***
115
-
116
- ### pauseFn()?
117
-
118
- > `protected` `optional` **pauseFn**: () => `void`
119
-
120
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:93](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L93)
121
-
122
- #### Returns
123
-
124
- `void`
125
-
126
- ***
127
-
128
- ### resumeFn()?
129
-
130
- > `protected` `optional` **resumeFn**: () => `void`
131
-
132
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:94](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L94)
133
-
134
- #### Returns
135
-
136
- `void`
137
-
138
- ***
139
-
140
- ### useDefaultTokens
141
-
142
- > `protected` **useDefaultTokens**: `boolean`
143
-
144
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:92](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L92)
145
-
146
- ***
147
-
148
- ### waiting
149
-
150
- > `readonly` **waiting**: `Deque`\<`undefined` \| [`SemaphoreTaskItem`](../interfaces/SemaphoreTaskItem.md)\>
151
-
152
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:89](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L89)
153
-
154
- ## Accessors
155
-
156
- ### activeCount
157
-
158
- #### Get Signature
159
-
160
- > **get** **activeCount**(): `number`
161
-
162
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:318](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L318)
163
-
164
- Get the total count of all active operations.
165
-
166
- This method returns the number of operations that are either:
167
- - Waiting in the queue to acquire the semaphore (`pendingCount`).
168
- - Already acquired the semaphore but have not yet released it.
169
-
170
- ##### Returns
171
-
172
- `number`
173
-
174
- The total count of active operations, including both waiting and ongoing tasks.
175
-
176
- ***
177
-
178
- ### pendingCount
179
-
180
- #### Get Signature
181
-
182
- > **get** **pendingCount**(): `number`
183
-
184
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:327](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L327)
185
-
186
- Get the number of callers waiting on the semaphore, i.e. the number of pending promises.
187
-
188
- ##### Returns
189
-
190
- `number`
191
-
192
- The number of waiters in the waiting list.
193
-
194
- ## Methods
195
-
196
- ### \_dispatchTask()
197
-
198
- > **\_dispatchTask**(`task`, `options`?): `void`
199
-
200
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:212](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L212)
201
-
202
- #### Parameters
203
-
204
- ##### task
205
-
206
- [`SemaphoreTaskItem`](../interfaces/SemaphoreTaskItem.md)
207
-
208
- ##### options?
209
-
210
- [`BinarySemaphoreReleaseOptions`](../interfaces/BinarySemaphoreReleaseOptions.md)
211
-
212
- #### Returns
213
-
214
- `void`
215
-
216
- ***
217
-
218
- ### \_newReleaser()
219
-
220
- > **\_newReleaser**(`options`?): [`BinarySemaphoreReleaserFunc`](../interfaces/BinarySemaphoreReleaserFunc.md)
221
-
222
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:199](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L199)
223
-
224
- #### Parameters
225
-
226
- ##### options?
227
-
228
- [`BinarySemaphoreReleaseOptions`](../interfaces/BinarySemaphoreReleaseOptions.md)
229
-
230
- #### Returns
231
-
232
- [`BinarySemaphoreReleaserFunc`](../interfaces/BinarySemaphoreReleaserFunc.md)
233
-
234
- ***
235
-
236
- ### abort()
237
-
238
- > **abort**(`reason`?): `void`
239
-
240
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:301](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L301)
241
-
242
- #### Parameters
243
-
244
- ##### reason?
245
-
246
- `any`
247
-
248
- #### Returns
249
-
250
- `void`
251
-
252
- ***
253
-
254
- ### acquire()
255
-
256
- > **acquire**(`options`?): `Promise`\<[`BinarySemaphoreReleaserFunc`](../interfaces/BinarySemaphoreReleaserFunc.md)\>
257
-
258
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:243](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L243)
259
-
260
- 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.
261
-
262
- #### Parameters
263
-
264
- ##### options?
265
-
266
- [`BinarySemaphoreAcquireOptions`](../interfaces/BinarySemaphoreAcquireOptions.md)
267
-
268
- #### Returns
269
-
270
- `Promise`\<[`BinarySemaphoreReleaserFunc`](../interfaces/BinarySemaphoreReleaserFunc.md)\>
271
-
272
- A promise that resolves to a release function when a token is acquired. If the semaphore is full, the caller will be added to a waiting queue.
273
-
274
- ***
275
-
276
- ### drain()
277
-
278
- > **drain**(): `Promise`\<`any`[]\>
279
-
280
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:296](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L296)
281
-
282
- 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.
283
-
284
- #### Returns
285
-
286
- `Promise`\<`any`[]\>
287
-
288
- ***
289
-
290
- ### init()
291
-
292
- > **init**(`options`): `void`
293
-
294
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:193](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L193)
295
-
296
- #### Parameters
297
-
298
- ##### options
299
-
300
- [`BinarySemaphoreOptions`](../interfaces/BinarySemaphoreOptions.md)
301
-
302
- #### Returns
303
-
304
- `void`
305
-
306
- ***
307
-
308
- ### initFree()
309
-
310
- > **initFree**(`options`?): `void`
311
-
312
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:173](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L173)
313
-
314
- #### Parameters
315
-
316
- ##### options?
317
-
318
- [`BinarySemaphoreOptions`](../interfaces/BinarySemaphoreOptions.md)
319
-
320
- #### Returns
321
-
322
- `void`
323
-
324
- ***
325
-
326
- ### lock()
327
-
328
- > **lock**(`options`?): `any`
329
-
330
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:217](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L217)
331
-
332
- #### Parameters
333
-
334
- ##### options?
335
-
336
- [`BinarySemaphoreAcquireOptions`](../interfaces/BinarySemaphoreAcquireOptions.md)
337
-
338
- #### Returns
339
-
340
- `any`
341
-
342
- ***
343
-
344
- ### onReleased()
345
-
346
- > **onReleased**(`options`?): `void`
347
-
348
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:177](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L177)
349
-
350
- #### Parameters
351
-
352
- ##### options?
353
-
354
- [`BinarySemaphoreReleaseOptions`](../interfaces/BinarySemaphoreReleaseOptions.md)
355
-
356
- #### Returns
357
-
358
- `void`
359
-
360
- ***
361
-
362
- ### release()
363
-
364
- > **release**(`options`?): `void`
365
-
366
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:288](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L288)
367
-
368
- Releases the semaphore, incrementing the number of free execution slots. If there are tasks in the waiting queue, the next task will be dispatched.
369
-
370
- #### Parameters
371
-
372
- ##### options?
373
-
374
- [`BinarySemaphoreReleaseOptions`](../interfaces/BinarySemaphoreReleaseOptions.md)
375
-
376
- #### Returns
377
-
378
- `void`
379
-
380
- ***
381
-
382
- ### tryAcquire()
383
-
384
- > **tryAcquire**(`options`?): `any`
385
-
386
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:234](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L234)
387
-
388
- Attempt to acquire a token from the semaphore, if one is available immediately. Otherwise, return undefined.
389
-
390
- #### Parameters
391
-
392
- ##### options?
393
-
394
- [`BinarySemaphoreAcquireOptions`](../interfaces/BinarySemaphoreAcquireOptions.md)
395
-
396
- #### Returns
397
-
398
- `any`
399
-
400
- Returns a token if the semaphore is not full; otherwise, returns `undefined`.
401
-
402
- ***
403
-
404
- ### unlock()
405
-
406
- > **unlock**(`token`?): `void`
407
-
408
- Defined in: [packages/ai-tool/src/utils/async-semaphore.ts:225](https://github.com/isdk/ai-tool.js/blob/6a89194ac34437a1bc58f7ec590cd22976939ca6/src/utils/async-semaphore.ts#L225)
409
-
410
- #### Parameters
411
-
412
- ##### token?
413
-
414
- `any`
415
-
416
- #### Returns
417
-
418
- `void`