@ax-llm/ax 9.0.19 → 9.0.20

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 (310) hide show
  1. package/package.json +33 -85
  2. package/CHANGELOG.md +0 -184
  3. package/LICENSE +0 -201
  4. package/README.md +0 -569
  5. package/build/module/docs/assets/icons.d.ts +0 -1
  6. package/build/module/docs/assets/icons.js +0 -19
  7. package/build/module/docs/assets/icons.js.map +0 -1
  8. package/build/module/docs/assets/main.d.ts +0 -1
  9. package/build/module/docs/assets/main.js +0 -629
  10. package/build/module/docs/assets/main.js.map +0 -1
  11. package/build/module/docs/assets/navigation.d.ts +0 -1
  12. package/build/module/docs/assets/navigation.js +0 -3
  13. package/build/module/docs/assets/navigation.js.map +0 -1
  14. package/build/module/docs/assets/search.d.ts +0 -1
  15. package/build/module/docs/assets/search.js +0 -3
  16. package/build/module/docs/assets/search.js.map +0 -1
  17. package/build/module/src/ai/anthropic/api.d.ts +0 -19
  18. package/build/module/src/ai/anthropic/api.js +0 -326
  19. package/build/module/src/ai/anthropic/api.js.map +0 -1
  20. package/build/module/src/ai/anthropic/index.d.ts +0 -2
  21. package/build/module/src/ai/anthropic/index.js +0 -3
  22. package/build/module/src/ai/anthropic/index.js.map +0 -1
  23. package/build/module/src/ai/anthropic/info.d.ts +0 -2
  24. package/build/module/src/ai/anthropic/info.js +0 -40
  25. package/build/module/src/ai/anthropic/info.js.map +0 -1
  26. package/build/module/src/ai/anthropic/types.d.ts +0 -171
  27. package/build/module/src/ai/anthropic/types.js +0 -10
  28. package/build/module/src/ai/anthropic/types.js.map +0 -1
  29. package/build/module/src/ai/azure-openai/api.d.ts +0 -19
  30. package/build/module/src/ai/azure-openai/api.js +0 -30
  31. package/build/module/src/ai/azure-openai/api.js.map +0 -1
  32. package/build/module/src/ai/azure-openai/index.d.ts +0 -1
  33. package/build/module/src/ai/azure-openai/index.js +0 -2
  34. package/build/module/src/ai/azure-openai/index.js.map +0 -1
  35. package/build/module/src/ai/balance.d.ts +0 -23
  36. package/build/module/src/ai/balance.js +0 -87
  37. package/build/module/src/ai/balance.js.map +0 -1
  38. package/build/module/src/ai/base.d.ts +0 -55
  39. package/build/module/src/ai/base.js +0 -343
  40. package/build/module/src/ai/base.js.map +0 -1
  41. package/build/module/src/ai/cohere/api.d.ts +0 -22
  42. package/build/module/src/ai/cohere/api.js +0 -264
  43. package/build/module/src/ai/cohere/api.js.map +0 -1
  44. package/build/module/src/ai/cohere/index.d.ts +0 -2
  45. package/build/module/src/ai/cohere/index.js +0 -3
  46. package/build/module/src/ai/cohere/index.js.map +0 -1
  47. package/build/module/src/ai/cohere/info.d.ts +0 -2
  48. package/build/module/src/ai/cohere/info.js +0 -52
  49. package/build/module/src/ai/cohere/info.js.map +0 -1
  50. package/build/module/src/ai/cohere/types.d.ts +0 -102
  51. package/build/module/src/ai/cohere/types.js +0 -23
  52. package/build/module/src/ai/cohere/types.js.map +0 -1
  53. package/build/module/src/ai/deepseek/api.d.ts +0 -16
  54. package/build/module/src/ai/deepseek/api.js +0 -32
  55. package/build/module/src/ai/deepseek/api.js.map +0 -1
  56. package/build/module/src/ai/deepseek/index.d.ts +0 -2
  57. package/build/module/src/ai/deepseek/index.js +0 -3
  58. package/build/module/src/ai/deepseek/index.js.map +0 -1
  59. package/build/module/src/ai/deepseek/info.d.ts +0 -2
  60. package/build/module/src/ai/deepseek/info.js +0 -16
  61. package/build/module/src/ai/deepseek/info.js.map +0 -1
  62. package/build/module/src/ai/deepseek/types.d.ts +0 -8
  63. package/build/module/src/ai/deepseek/types.js +0 -10
  64. package/build/module/src/ai/deepseek/types.js.map +0 -1
  65. package/build/module/src/ai/google-gemini/api.d.ts +0 -36
  66. package/build/module/src/ai/google-gemini/api.js +0 -299
  67. package/build/module/src/ai/google-gemini/api.js.map +0 -1
  68. package/build/module/src/ai/google-gemini/index.d.ts +0 -2
  69. package/build/module/src/ai/google-gemini/index.js +0 -3
  70. package/build/module/src/ai/google-gemini/index.js.map +0 -1
  71. package/build/module/src/ai/google-gemini/info.d.ts +0 -6
  72. package/build/module/src/ai/google-gemini/info.js +0 -29
  73. package/build/module/src/ai/google-gemini/info.js.map +0 -1
  74. package/build/module/src/ai/google-gemini/types.d.ts +0 -146
  75. package/build/module/src/ai/google-gemini/types.js +0 -27
  76. package/build/module/src/ai/google-gemini/types.js.map +0 -1
  77. package/build/module/src/ai/groq/api.d.ts +0 -18
  78. package/build/module/src/ai/groq/api.js +0 -52
  79. package/build/module/src/ai/groq/api.js.map +0 -1
  80. package/build/module/src/ai/groq/index.d.ts +0 -1
  81. package/build/module/src/ai/groq/index.js +0 -2
  82. package/build/module/src/ai/groq/index.js.map +0 -1
  83. package/build/module/src/ai/groq/types.d.ts +0 -6
  84. package/build/module/src/ai/groq/types.js +0 -8
  85. package/build/module/src/ai/groq/types.js.map +0 -1
  86. package/build/module/src/ai/huggingface/api.d.ts +0 -19
  87. package/build/module/src/ai/huggingface/api.js +0 -115
  88. package/build/module/src/ai/huggingface/api.js.map +0 -1
  89. package/build/module/src/ai/huggingface/index.d.ts +0 -2
  90. package/build/module/src/ai/huggingface/index.js +0 -3
  91. package/build/module/src/ai/huggingface/index.js.map +0 -1
  92. package/build/module/src/ai/huggingface/info.d.ts +0 -6
  93. package/build/module/src/ai/huggingface/info.js +0 -6
  94. package/build/module/src/ai/huggingface/info.js.map +0 -1
  95. package/build/module/src/ai/huggingface/types.d.ts +0 -34
  96. package/build/module/src/ai/huggingface/types.js +0 -5
  97. package/build/module/src/ai/huggingface/types.js.map +0 -1
  98. package/build/module/src/ai/index.d.ts +0 -16
  99. package/build/module/src/ai/index.js +0 -16
  100. package/build/module/src/ai/index.js.map +0 -1
  101. package/build/module/src/ai/mistral/api.d.ts +0 -16
  102. package/build/module/src/ai/mistral/api.js +0 -32
  103. package/build/module/src/ai/mistral/api.js.map +0 -1
  104. package/build/module/src/ai/mistral/index.d.ts +0 -2
  105. package/build/module/src/ai/mistral/index.js +0 -3
  106. package/build/module/src/ai/mistral/index.js.map +0 -1
  107. package/build/module/src/ai/mistral/info.d.ts +0 -2
  108. package/build/module/src/ai/mistral/info.js +0 -34
  109. package/build/module/src/ai/mistral/info.js.map +0 -1
  110. package/build/module/src/ai/mistral/types.d.ts +0 -10
  111. package/build/module/src/ai/mistral/types.js +0 -13
  112. package/build/module/src/ai/mistral/types.js.map +0 -1
  113. package/build/module/src/ai/ollama/api.d.ts +0 -22
  114. package/build/module/src/ai/ollama/api.js +0 -32
  115. package/build/module/src/ai/ollama/api.js.map +0 -1
  116. package/build/module/src/ai/ollama/index.d.ts +0 -1
  117. package/build/module/src/ai/ollama/index.js +0 -2
  118. package/build/module/src/ai/ollama/index.js.map +0 -1
  119. package/build/module/src/ai/openai/api.d.ts +0 -29
  120. package/build/module/src/ai/openai/api.js +0 -283
  121. package/build/module/src/ai/openai/api.js.map +0 -1
  122. package/build/module/src/ai/openai/index.d.ts +0 -2
  123. package/build/module/src/ai/openai/index.js +0 -3
  124. package/build/module/src/ai/openai/index.js.map +0 -1
  125. package/build/module/src/ai/openai/info.d.ts +0 -6
  126. package/build/module/src/ai/openai/info.js +0 -50
  127. package/build/module/src/ai/openai/info.js.map +0 -1
  128. package/build/module/src/ai/openai/types.d.ts +0 -165
  129. package/build/module/src/ai/openai/types.js +0 -18
  130. package/build/module/src/ai/openai/types.js.map +0 -1
  131. package/build/module/src/ai/together/api.d.ts +0 -15
  132. package/build/module/src/ai/together/api.js +0 -28
  133. package/build/module/src/ai/together/api.js.map +0 -1
  134. package/build/module/src/ai/together/index.d.ts +0 -1
  135. package/build/module/src/ai/together/index.js +0 -2
  136. package/build/module/src/ai/together/index.js.map +0 -1
  137. package/build/module/src/ai/together/info.d.ts +0 -2
  138. package/build/module/src/ai/together/info.js +0 -2
  139. package/build/module/src/ai/together/info.js.map +0 -1
  140. package/build/module/src/ai/types.d.ts +0 -159
  141. package/build/module/src/ai/types.js +0 -2
  142. package/build/module/src/ai/types.js.map +0 -1
  143. package/build/module/src/ai/util.d.ts +0 -12
  144. package/build/module/src/ai/util.js +0 -63
  145. package/build/module/src/ai/util.js.map +0 -1
  146. package/build/module/src/ai/wrap.d.ts +0 -47
  147. package/build/module/src/ai/wrap.js +0 -95
  148. package/build/module/src/ai/wrap.js.map +0 -1
  149. package/build/module/src/db/base.d.ts +0 -23
  150. package/build/module/src/db/base.js +0 -87
  151. package/build/module/src/db/base.js.map +0 -1
  152. package/build/module/src/db/cloudflare.d.ts +0 -21
  153. package/build/module/src/db/cloudflare.js +0 -98
  154. package/build/module/src/db/cloudflare.js.map +0 -1
  155. package/build/module/src/db/index.d.ts +0 -6
  156. package/build/module/src/db/index.js +0 -7
  157. package/build/module/src/db/index.js.map +0 -1
  158. package/build/module/src/db/memory.d.ts +0 -21
  159. package/build/module/src/db/memory.js +0 -99
  160. package/build/module/src/db/memory.js.map +0 -1
  161. package/build/module/src/db/pinecone.d.ts +0 -21
  162. package/build/module/src/db/pinecone.js +0 -71
  163. package/build/module/src/db/pinecone.js.map +0 -1
  164. package/build/module/src/db/types.d.ts +0 -35
  165. package/build/module/src/db/types.js +0 -3
  166. package/build/module/src/db/types.js.map +0 -1
  167. package/build/module/src/db/weaviate.d.ts +0 -21
  168. package/build/module/src/db/weaviate.js +0 -127
  169. package/build/module/src/db/weaviate.js.map +0 -1
  170. package/build/module/src/db/wrap.d.ts +0 -13
  171. package/build/module/src/db/wrap.js +0 -35
  172. package/build/module/src/db/wrap.js.map +0 -1
  173. package/build/module/src/docs/index.d.ts +0 -4
  174. package/build/module/src/docs/index.js +0 -5
  175. package/build/module/src/docs/index.js.map +0 -1
  176. package/build/module/src/docs/manager.d.ts +0 -45
  177. package/build/module/src/docs/manager.js +0 -159
  178. package/build/module/src/docs/manager.js.map +0 -1
  179. package/build/module/src/docs/reranker.d.ts +0 -7
  180. package/build/module/src/docs/reranker.js +0 -26
  181. package/build/module/src/docs/reranker.js.map +0 -1
  182. package/build/module/src/docs/rewriter.d.ts +0 -4
  183. package/build/module/src/docs/rewriter.js +0 -9
  184. package/build/module/src/docs/rewriter.js.map +0 -1
  185. package/build/module/src/docs/tika.d.ts +0 -18
  186. package/build/module/src/docs/tika.js +0 -46
  187. package/build/module/src/docs/tika.js.map +0 -1
  188. package/build/module/src/dsp/asserts.d.ts +0 -32
  189. package/build/module/src/dsp/asserts.js +0 -91
  190. package/build/module/src/dsp/asserts.js.map +0 -1
  191. package/build/module/src/dsp/eval.d.ts +0 -43
  192. package/build/module/src/dsp/eval.js +0 -125
  193. package/build/module/src/dsp/eval.js.map +0 -1
  194. package/build/module/src/dsp/evaluate.d.ts +0 -12
  195. package/build/module/src/dsp/evaluate.js +0 -32
  196. package/build/module/src/dsp/evaluate.js.map +0 -1
  197. package/build/module/src/dsp/extract.d.ts +0 -25
  198. package/build/module/src/dsp/extract.js +0 -153
  199. package/build/module/src/dsp/extract.js.map +0 -1
  200. package/build/module/src/dsp/generate.d.ts +0 -55
  201. package/build/module/src/dsp/generate.js +0 -314
  202. package/build/module/src/dsp/generate.js.map +0 -1
  203. package/build/module/src/dsp/generate.test.d.ts +0 -1
  204. package/build/module/src/dsp/generate.test.js +0 -41
  205. package/build/module/src/dsp/generate.test.js.map +0 -1
  206. package/build/module/src/dsp/index.d.ts +0 -15
  207. package/build/module/src/dsp/index.js +0 -11
  208. package/build/module/src/dsp/index.js.map +0 -1
  209. package/build/module/src/dsp/loader.d.ts +0 -30
  210. package/build/module/src/dsp/loader.js +0 -81
  211. package/build/module/src/dsp/loader.js.map +0 -1
  212. package/build/module/src/dsp/optimize.d.ts +0 -27
  213. package/build/module/src/dsp/optimize.js +0 -95
  214. package/build/module/src/dsp/optimize.js.map +0 -1
  215. package/build/module/src/dsp/parser.d.ts +0 -87
  216. package/build/module/src/dsp/parser.js +0 -1542
  217. package/build/module/src/dsp/parser.js.map +0 -1
  218. package/build/module/src/dsp/program.d.ts +0 -73
  219. package/build/module/src/dsp/program.js +0 -116
  220. package/build/module/src/dsp/program.js.map +0 -1
  221. package/build/module/src/dsp/prompt.d.ts +0 -48
  222. package/build/module/src/dsp/prompt.js +0 -260
  223. package/build/module/src/dsp/prompt.js.map +0 -1
  224. package/build/module/src/dsp/registry.d.ts +0 -6
  225. package/build/module/src/dsp/registry.js +0 -15
  226. package/build/module/src/dsp/registry.js.map +0 -1
  227. package/build/module/src/dsp/router.d.ts +0 -26
  228. package/build/module/src/dsp/router.js +0 -71
  229. package/build/module/src/dsp/router.js.map +0 -1
  230. package/build/module/src/dsp/sig.d.ts +0 -37
  231. package/build/module/src/dsp/sig.js +0 -194
  232. package/build/module/src/dsp/sig.js.map +0 -1
  233. package/build/module/src/dsp/sig.test.d.ts +0 -1
  234. package/build/module/src/dsp/sig.test.js +0 -28
  235. package/build/module/src/dsp/sig.test.js.map +0 -1
  236. package/build/module/src/dsp/stopwords.d.ts +0 -1
  237. package/build/module/src/dsp/stopwords.js +0 -1164
  238. package/build/module/src/dsp/stopwords.js.map +0 -1
  239. package/build/module/src/dsp/strutil.d.ts +0 -11
  240. package/build/module/src/dsp/strutil.js +0 -60
  241. package/build/module/src/dsp/strutil.js.map +0 -1
  242. package/build/module/src/dsp/util.d.ts +0 -5
  243. package/build/module/src/dsp/util.js +0 -76
  244. package/build/module/src/dsp/util.js.map +0 -1
  245. package/build/module/src/funcs/code.d.ts +0 -9
  246. package/build/module/src/funcs/code.js +0 -63
  247. package/build/module/src/funcs/code.js.map +0 -1
  248. package/build/module/src/funcs/embed.d.ts +0 -6
  249. package/build/module/src/funcs/embed.js +0 -29
  250. package/build/module/src/funcs/embed.js.map +0 -1
  251. package/build/module/src/funcs/functions.d.ts +0 -16
  252. package/build/module/src/funcs/functions.js +0 -55
  253. package/build/module/src/funcs/functions.js.map +0 -1
  254. package/build/module/src/funcs/index.d.ts +0 -3
  255. package/build/module/src/funcs/index.js +0 -4
  256. package/build/module/src/funcs/index.js.map +0 -1
  257. package/build/module/src/funcs/jsonschema.d.ts +0 -2
  258. package/build/module/src/funcs/jsonschema.js +0 -97
  259. package/build/module/src/funcs/jsonschema.js.map +0 -1
  260. package/build/module/src/index.d.ts +0 -9
  261. package/build/module/src/index.js.map +0 -1
  262. package/build/module/src/mem/index.d.ts +0 -2
  263. package/build/module/src/mem/index.js +0 -3
  264. package/build/module/src/mem/index.js.map +0 -1
  265. package/build/module/src/mem/memory.d.ts +0 -16
  266. package/build/module/src/mem/memory.js +0 -77
  267. package/build/module/src/mem/memory.js.map +0 -1
  268. package/build/module/src/mem/types.d.ts +0 -10
  269. package/build/module/src/mem/types.js +0 -2
  270. package/build/module/src/mem/types.js.map +0 -1
  271. package/build/module/src/prompts/agent.d.ts +0 -34
  272. package/build/module/src/prompts/agent.js +0 -108
  273. package/build/module/src/prompts/agent.js.map +0 -1
  274. package/build/module/src/prompts/cot.d.ts +0 -9
  275. package/build/module/src/prompts/cot.js +0 -17
  276. package/build/module/src/prompts/cot.js.map +0 -1
  277. package/build/module/src/prompts/index.d.ts +0 -4
  278. package/build/module/src/prompts/index.js +0 -5
  279. package/build/module/src/prompts/index.js.map +0 -1
  280. package/build/module/src/prompts/prompts.test.d.ts +0 -1
  281. package/build/module/src/prompts/prompts.test.js +0 -54
  282. package/build/module/src/prompts/prompts.test.js.map +0 -1
  283. package/build/module/src/prompts/rag.d.ts +0 -23
  284. package/build/module/src/prompts/rag.js +0 -30
  285. package/build/module/src/prompts/rag.js.map +0 -1
  286. package/build/module/src/prompts/react.d.ts +0 -8
  287. package/build/module/src/prompts/react.js +0 -22
  288. package/build/module/src/prompts/react.js.map +0 -1
  289. package/build/module/src/trace/index.d.ts +0 -171
  290. package/build/module/src/trace/index.js +0 -67
  291. package/build/module/src/trace/index.js.map +0 -1
  292. package/build/module/src/util/apicall.d.ts +0 -18
  293. package/build/module/src/util/apicall.js +0 -50
  294. package/build/module/src/util/apicall.js.map +0 -1
  295. package/build/module/src/util/log.d.ts +0 -14
  296. package/build/module/src/util/log.js +0 -31
  297. package/build/module/src/util/log.js.map +0 -1
  298. package/build/module/src/util/other.d.ts +0 -1
  299. package/build/module/src/util/other.js +0 -5
  300. package/build/module/src/util/other.js.map +0 -1
  301. package/build/module/src/util/rate-limit.d.ts +0 -24
  302. package/build/module/src/util/rate-limit.js +0 -49
  303. package/build/module/src/util/rate-limit.js.map +0 -1
  304. package/build/module/src/util/stream.d.ts +0 -9
  305. package/build/module/src/util/stream.js +0 -29
  306. package/build/module/src/util/stream.js.map +0 -1
  307. package/build/module/src/util/transform.d.ts +0 -7
  308. package/build/module/src/util/transform.js +0 -59
  309. package/build/module/src/util/transform.js.map +0 -1
  310. /package/{build/module/src/index.js → index.js} +0 -0
@@ -1,18 +0,0 @@
1
- import { type ReadableStream } from 'stream/web';
2
- import type { AxSpan } from '../trace/index.js';
3
- /**
4
- * Util: API details
5
- * @export
6
- */
7
- export type API = {
8
- name?: string;
9
- headers?: Record<string, string>;
10
- put?: boolean;
11
- };
12
- export declare const apiCall: <TRequest = unknown, TResponse = unknown>(api: Readonly<API & {
13
- url: string | URL;
14
- stream?: boolean;
15
- debug?: boolean;
16
- fetch?: typeof fetch;
17
- span?: AxSpan;
18
- }>, json: TRequest) => Promise<TResponse | ReadableStream<TResponse>>;
@@ -1,50 +0,0 @@
1
- import path from 'path';
2
- import { TextDecoderStream as TextDecoderStreamNative } from 'stream/web';
3
- import { TextDecoderStreamPolyfill } from './stream.js';
4
- import { JSONStringifyStream } from './transform.js';
5
- const textDecoderStream = TextDecoderStreamNative ?? TextDecoderStreamPolyfill;
6
- // eslint-disable-next-line @typescript-eslint/naming-convention
7
- export const apiCall = async (api, json) => {
8
- const baseUrl = new URL(process.env.PROXY ?? api.url);
9
- const apiPath = path.join(baseUrl.pathname, api.name ?? '/', baseUrl.search);
10
- const apiUrl = new URL(apiPath, baseUrl);
11
- if (api.span?.isRecording()) {
12
- api.span.setAttributes({
13
- 'http.request.method': api.put ? 'PUT' : 'POST',
14
- 'url.full': apiUrl.href
15
- });
16
- }
17
- let res;
18
- try {
19
- res = await (api.fetch ?? fetch)(apiUrl, {
20
- method: api.put ? 'PUT' : 'POST',
21
- headers: {
22
- 'Content-Type': 'application/json',
23
- ...api.headers
24
- },
25
- body: JSON.stringify(json)
26
- });
27
- if (res.status >= 400) {
28
- const respBody = JSON.stringify(await res.json(), null, 2);
29
- throw new Error(`${res.status}, ${res.statusText}\n:Response Body: ${respBody}`);
30
- }
31
- if (!api.stream) {
32
- return (await res.json());
33
- }
34
- if (!res.body) {
35
- throw new Error('Response body is null');
36
- }
37
- const st = res.body
38
- .pipeThrough(new textDecoderStream())
39
- .pipeThrough(new JSONStringifyStream());
40
- return st;
41
- }
42
- catch (e) {
43
- if (api.span?.isRecording()) {
44
- api.span.recordAxSpanException(e);
45
- }
46
- const reqBody = JSON.stringify(json, null, 2);
47
- throw new Error(`API Error: ${apiUrl.href}, ${e}\nRequest Body: ${reqBody}`);
48
- }
49
- };
50
- //# sourceMappingURL=apicall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apicall.js","sourceRoot":"","sources":["../../../../src/util/apicall.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAEL,iBAAiB,IAAI,uBAAuB,EAC7C,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAarD,MAAM,iBAAiB,GAAG,uBAAuB,IAAI,yBAAyB,CAAC;AAE/E,gEAAgE;AAChE,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,GAQC,EACD,IAAc,EACkC,EAAE;IAClD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEzC,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;QAC5B,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;YACrB,qBAAqB,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;YAC/C,UAAU,EAAE,MAAM,CAAC,IAAI;SACxB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,GAAqD,CAAC;IAE1D,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE;YACvC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;YAChC,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,GAAG,CAAC,OAAO;aACf;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,UAAU,qBAAqB,QAAQ,EAAE,CAChE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAc,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI;aAChB,WAAW,CAAC,IAAI,iBAAiB,EAAE,CAAC;aACpC,WAAW,CAAC,IAAI,mBAAmB,EAAa,CAAC,CAAC;QAErD,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;YAC5B,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAU,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,OAAO,EAAE,CAC5D,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
@@ -1,14 +0,0 @@
1
- export declare class ColorLog {
2
- private readonly ANSI_WHITE_BRIGHT;
3
- private readonly ANSI_GREEN_BRIGHT;
4
- private readonly ANSI_BLUE_BRIGHT;
5
- private readonly ANSI_YELLOW;
6
- private readonly ANSI_RED;
7
- private readonly ANSI_RESET;
8
- private colorize;
9
- whiteBright(text: string): string;
10
- greenBright(text: string): string;
11
- blueBright(text: string): string;
12
- yellow(text: string): string;
13
- red(text: string): string;
14
- }
@@ -1,31 +0,0 @@
1
- // eslint-disable-next-line @typescript-eslint/naming-convention
2
- export class ColorLog {
3
- // ANSI escape codes for different colors
4
- ANSI_WHITE_BRIGHT = '\x1b[97m';
5
- ANSI_GREEN_BRIGHT = '\x1b[92m';
6
- ANSI_BLUE_BRIGHT = '\x1b[94m';
7
- ANSI_YELLOW = '\x1b[93m';
8
- ANSI_RED = '\x1b[91m';
9
- ANSI_RESET = '\x1b[0m';
10
- // Method to wrap text with the specified ANSI color code
11
- colorize(text, colorCode) {
12
- return `${colorCode}${text}${this.ANSI_RESET}`;
13
- }
14
- // Public methods to colorize text in various colors
15
- whiteBright(text) {
16
- return this.colorize(text, this.ANSI_WHITE_BRIGHT);
17
- }
18
- greenBright(text) {
19
- return this.colorize(text, this.ANSI_GREEN_BRIGHT);
20
- }
21
- blueBright(text) {
22
- return this.colorize(text, this.ANSI_BLUE_BRIGHT);
23
- }
24
- yellow(text) {
25
- return this.colorize(text, this.ANSI_YELLOW);
26
- }
27
- red(text) {
28
- return this.colorize(text, this.ANSI_RED);
29
- }
30
- }
31
- //# sourceMappingURL=log.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../src/util/log.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,MAAM,OAAO,QAAQ;IACnB,yCAAyC;IACxB,iBAAiB,GAAG,UAAU,CAAC;IAC/B,iBAAiB,GAAG,UAAU,CAAC;IAC/B,gBAAgB,GAAG,UAAU,CAAC;IAC9B,WAAW,GAAG,UAAU,CAAC;IACzB,QAAQ,GAAG,UAAU,CAAC;IACtB,UAAU,GAAG,SAAS,CAAC;IAExC,yDAAyD;IACjD,QAAQ,CAAC,IAAY,EAAE,SAAiB;QAC9C,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACjD,CAAC;IAED,oDAAoD;IAC7C,WAAW,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrD,CAAC;IAEM,WAAW,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrD,CAAC;IAEM,UAAU,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpD,CAAC;IAEM,MAAM,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAEM,GAAG,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;CACF"}
@@ -1 +0,0 @@
1
- export declare function sleep(ms: number): Promise<unknown>;
@@ -1,5 +0,0 @@
1
- // eslint-disable-next-line @typescript-eslint/naming-convention
2
- export async function sleep(ms) {
3
- return new Promise((resolve) => setTimeout(resolve, ms));
4
- }
5
- //# sourceMappingURL=other.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"other.js","sourceRoot":"","sources":["../../../../src/util/other.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,EAAU;IACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -1,24 +0,0 @@
1
- export interface AxRateLimiterTokenUsageOptions {
2
- debug?: boolean;
3
- }
4
- export declare class AxRateLimiterTokenUsage {
5
- private options?;
6
- private maxTokens;
7
- private refillRate;
8
- private currentTokens;
9
- private lastRefillTime;
10
- constructor(maxTokens: number, refillRate: number, options?: Readonly<AxRateLimiterTokenUsageOptions>);
11
- private refillTokens;
12
- private waitUntilTokensAvailable;
13
- acquire(tokens: number): Promise<void>;
14
- }
15
- /**
16
- * Example usage of the rate limiter. Limits to 5800 tokens per minute.
17
- const rateLimiter = new AxRateLimiterTokenUsage(5800, 5800 / 60);
18
-
19
- const axRateLimiterFunction = async (func, info) => {
20
- const totalTokens = info.modelUsage?.totalTokens || 0;
21
- await rateLimiter.acquire(totalTokens);
22
- return func();
23
- };
24
- **/
@@ -1,49 +0,0 @@
1
- import { ColorLog } from './log.js';
2
- const colorLog = new ColorLog();
3
- export class AxRateLimiterTokenUsage {
4
- options;
5
- maxTokens;
6
- refillRate;
7
- currentTokens;
8
- lastRefillTime;
9
- constructor(maxTokens, refillRate, options) {
10
- this.maxTokens = maxTokens;
11
- this.refillRate = refillRate;
12
- this.currentTokens = maxTokens;
13
- this.lastRefillTime = Date.now();
14
- this.options = options;
15
- }
16
- refillTokens() {
17
- const now = Date.now();
18
- const timeElapsed = (now - this.lastRefillTime) / 1000; // Convert ms to seconds
19
- const tokensToAdd = timeElapsed * this.refillRate;
20
- this.currentTokens = Math.min(this.maxTokens, this.currentTokens + tokensToAdd);
21
- this.lastRefillTime = now;
22
- }
23
- async waitUntilTokensAvailable(tokens) {
24
- this.refillTokens();
25
- if (this.currentTokens >= tokens) {
26
- this.currentTokens -= tokens;
27
- return;
28
- }
29
- if (this.options?.debug) {
30
- console.log(colorLog.red(`Rate limiter: Waiting for ${tokens - this.currentTokens} tokens`));
31
- }
32
- await new Promise((resolve) => setTimeout(resolve, 100)); // Wait for 100ms before checking again
33
- return this.waitUntilTokensAvailable(tokens); // Recursive call
34
- }
35
- async acquire(tokens) {
36
- await this.waitUntilTokensAvailable(tokens);
37
- }
38
- }
39
- /**
40
- * Example usage of the rate limiter. Limits to 5800 tokens per minute.
41
- const rateLimiter = new AxRateLimiterTokenUsage(5800, 5800 / 60);
42
-
43
- const axRateLimiterFunction = async (func, info) => {
44
- const totalTokens = info.modelUsage?.totalTokens || 0;
45
- await rateLimiter.acquire(totalTokens);
46
- return func();
47
- };
48
- **/
49
- //# sourceMappingURL=rate-limit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../../../src/util/rate-limit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAMhC,MAAM,OAAO,uBAAuB;IAC1B,OAAO,CAA4C;IACnD,SAAS,CAAS;IAClB,UAAU,CAAS;IACnB,aAAa,CAAS;IACtB,cAAc,CAAS;IAE/B,YACE,SAAiB,EACjB,UAAkB,EAClB,OAAkD;QAElD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEO,YAAY;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC,wBAAwB;QAChF,MAAM,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,GAAG,WAAW,CACjC,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,MAAc;QACnD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,aAAa,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CACT,QAAQ,CAAC,GAAG,CACV,6BAA6B,MAAM,GAAG,IAAI,CAAC,aAAa,SAAS,CAClE,CACF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,uCAAuC;QACjG,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB;IACjE,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,MAAc;QACjC,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;CACF;AAED;;;;;;;;;GASG"}
@@ -1,9 +0,0 @@
1
- import { TransformStream } from 'stream/web';
2
- export interface TextDecoderCommon {
3
- readonly encoding: string;
4
- readonly fatal: boolean;
5
- readonly ignoreBOM: boolean;
6
- }
7
- export declare class TextDecoderStreamPolyfill extends TransformStream<ArrayBuffer | Uint8Array, string> {
8
- constructor();
9
- }
@@ -1,29 +0,0 @@
1
- import { TransformStream } from 'stream/web';
2
- class TextDecodeTransformer {
3
- decoder;
4
- constructor() {
5
- this.decoder = new TextDecoder();
6
- }
7
- transform(chunk, controller) {
8
- if (!(chunk instanceof ArrayBuffer || ArrayBuffer.isView(chunk))) {
9
- throw new TypeError('Input data must be a BufferSource');
10
- }
11
- const text = this.decoder.decode(chunk, { stream: true });
12
- if (text.length !== 0) {
13
- controller.enqueue(text);
14
- }
15
- }
16
- flush(controller) {
17
- const text = this.decoder.decode();
18
- if (text.length !== 0) {
19
- controller.enqueue(text);
20
- }
21
- }
22
- }
23
- // eslint-disable-next-line @typescript-eslint/naming-convention
24
- export class TextDecoderStreamPolyfill extends TransformStream {
25
- constructor() {
26
- super(new TextDecodeTransformer());
27
- }
28
- }
29
- //# sourceMappingURL=stream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../../src/util/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EAEhB,MAAM,YAAY,CAAC;AASpB,MAAM,qBAAqB;IAGjB,OAAO,CAAC;IAEhB;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,SAAS,CACP,KAA+B,EAC/B,UAAoD;QAEpD,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAoD;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF;AAED,gEAAgE;AAChE,MAAM,OAAO,yBAA0B,SAAQ,eAG9C;IACC;QACE,KAAK,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IACrC,CAAC;CACF"}
@@ -1,7 +0,0 @@
1
- import { TransformStream } from 'stream/web';
2
- export declare class JSONStringifyStream<O> extends TransformStream<string, O> {
3
- constructor();
4
- }
5
- export declare class RespTransformStream<I, O> extends TransformStream<I, O> {
6
- constructor(transformFn: (arg0: I) => O, doneCallback?: (args0: readonly O[]) => Promise<void>);
7
- }
@@ -1,59 +0,0 @@
1
- import { TransformStream } from 'stream/web';
2
- class JSONTransformer {
3
- async transform(obj, controller) {
4
- (obj.split('\n') ?? [])
5
- .map(extractJson)
6
- .map((v) => {
7
- try {
8
- return v && v.length > 0 ? JSON.parse(v) : null;
9
- }
10
- catch (e) {
11
- return null;
12
- }
13
- })
14
- .filter((v) => v)
15
- .forEach((v) => v && controller.enqueue(v));
16
- }
17
- }
18
- // eslint-disable-next-line @typescript-eslint/naming-convention
19
- export class JSONStringifyStream extends TransformStream {
20
- constructor() {
21
- super(new JSONTransformer());
22
- }
23
- }
24
- class TypeTransformer {
25
- buffer;
26
- doneCallback;
27
- transformFn;
28
- constructor(transformFn, doneCallback) {
29
- this.transformFn = transformFn;
30
- this.doneCallback = doneCallback;
31
- this.buffer = doneCallback ? [] : undefined;
32
- }
33
- async transform(obj, controller) {
34
- const val = this.transformFn(obj);
35
- if (val) {
36
- controller.enqueue(val);
37
- this.buffer?.push(val);
38
- }
39
- }
40
- async flush(controller) {
41
- await this.doneCallback?.(this.buffer ?? []);
42
- controller.terminate();
43
- }
44
- }
45
- // eslint-disable-next-line @typescript-eslint/naming-convention
46
- export class RespTransformStream extends TransformStream {
47
- constructor(transformFn, doneCallback) {
48
- super(new TypeTransformer(transformFn, doneCallback));
49
- }
50
- }
51
- const extractJson = (str) => {
52
- const startIndex = str.indexOf('{');
53
- const endIndex = str.lastIndexOf('}');
54
- if (startIndex !== -1 && endIndex !== -1) {
55
- return str.substring(startIndex, endIndex + 1);
56
- }
57
- return null;
58
- };
59
- //# sourceMappingURL=transform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../../src/util/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EAEhB,MAAM,YAAY,CAAC;AAEpB,MAAM,eAAe;IACnB,KAAK,CAAC,SAAS,CACb,GAAW,EACX,UAA+C;QAE/C,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACpB,GAAG,CAAC,WAAW,CAAC;aAChB,GAAG,CAAI,CAAC,CAAC,EAAE,EAAE;YACZ,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5D,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAChB,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;CACF;AAED,gEAAgE;AAChE,MAAM,OAAO,mBAAuB,SAAQ,eAA0B;IACpE;QACE,KAAK,CAAC,IAAI,eAAe,EAAK,CAAC,CAAC;IAClC,CAAC;CACF;AAED,MAAM,eAAe;IACX,MAAM,CAAO;IACb,YAAY,CAA0C;IACtD,WAAW,CAAiB;IAEpC,YACE,WAA2B,EAC3B,YAAqD;QAErD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAM,EAAE,UAA+C;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,GAAG,EAAE,CAAC;YACR,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,UAA+C;QACzD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC7C,UAAU,CAAC,SAAS,EAAE,CAAC;IACzB,CAAC;CACF;AAED,gEAAgE;AAChE,MAAM,OAAO,mBAA0B,SAAQ,eAAqB;IAClE,YACE,WAA2B,EAC3B,YAAqD;QAErD,KAAK,CAAC,IAAI,eAAe,CAAO,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAC9D,CAAC;CACF;AAED,MAAM,WAAW,GAAG,CAAC,GAAW,EAAiB,EAAE;IACjD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEtC,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
File without changes