@ax-llm/ax 9.0.20 → 9.0.22

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 (570) hide show
  1. package/ai/anthropic/api.d.ts +19 -0
  2. package/ai/anthropic/api.js +326 -0
  3. package/ai/anthropic/api.js.map +1 -0
  4. package/ai/anthropic/index.d.ts +2 -0
  5. package/ai/anthropic/index.js +3 -0
  6. package/ai/anthropic/index.js.map +1 -0
  7. package/ai/anthropic/info.d.ts +2 -0
  8. package/ai/anthropic/info.js +40 -0
  9. package/ai/anthropic/info.js.map +1 -0
  10. package/ai/anthropic/types.d.ts +171 -0
  11. package/ai/anthropic/types.js +10 -0
  12. package/ai/anthropic/types.js.map +1 -0
  13. package/ai/azure-openai/api.d.ts +19 -0
  14. package/ai/azure-openai/api.js +30 -0
  15. package/ai/azure-openai/api.js.map +1 -0
  16. package/ai/azure-openai/index.d.ts +1 -0
  17. package/ai/azure-openai/index.js +2 -0
  18. package/ai/azure-openai/index.js.map +1 -0
  19. package/ai/balance.d.ts +23 -0
  20. package/ai/balance.js +87 -0
  21. package/ai/balance.js.map +1 -0
  22. package/ai/base.d.ts +55 -0
  23. package/ai/base.js +343 -0
  24. package/ai/base.js.map +1 -0
  25. package/ai/cohere/api.d.ts +22 -0
  26. package/ai/cohere/api.js +264 -0
  27. package/ai/cohere/api.js.map +1 -0
  28. package/ai/cohere/index.d.ts +2 -0
  29. package/ai/cohere/index.js +3 -0
  30. package/ai/cohere/index.js.map +1 -0
  31. package/ai/cohere/info.d.ts +2 -0
  32. package/ai/cohere/info.js +52 -0
  33. package/ai/cohere/info.js.map +1 -0
  34. package/ai/cohere/types.d.ts +102 -0
  35. package/ai/cohere/types.js +23 -0
  36. package/ai/cohere/types.js.map +1 -0
  37. package/ai/deepseek/api.d.ts +16 -0
  38. package/ai/deepseek/api.js +32 -0
  39. package/ai/deepseek/api.js.map +1 -0
  40. package/ai/deepseek/index.d.ts +2 -0
  41. package/ai/deepseek/index.js +3 -0
  42. package/ai/deepseek/index.js.map +1 -0
  43. package/ai/deepseek/info.d.ts +2 -0
  44. package/ai/deepseek/info.js +16 -0
  45. package/ai/deepseek/info.js.map +1 -0
  46. package/ai/deepseek/types.d.ts +8 -0
  47. package/ai/deepseek/types.js +10 -0
  48. package/ai/deepseek/types.js.map +1 -0
  49. package/ai/google-gemini/api.d.ts +36 -0
  50. package/ai/google-gemini/api.js +299 -0
  51. package/ai/google-gemini/api.js.map +1 -0
  52. package/ai/google-gemini/index.d.ts +2 -0
  53. package/ai/google-gemini/index.js +3 -0
  54. package/ai/google-gemini/index.js.map +1 -0
  55. package/ai/google-gemini/info.d.ts +6 -0
  56. package/ai/google-gemini/info.js +29 -0
  57. package/ai/google-gemini/info.js.map +1 -0
  58. package/ai/google-gemini/types.d.ts +146 -0
  59. package/ai/google-gemini/types.js +27 -0
  60. package/ai/google-gemini/types.js.map +1 -0
  61. package/ai/groq/api.d.ts +18 -0
  62. package/ai/groq/api.js +52 -0
  63. package/ai/groq/api.js.map +1 -0
  64. package/ai/groq/index.d.ts +1 -0
  65. package/ai/groq/index.js +2 -0
  66. package/ai/groq/index.js.map +1 -0
  67. package/ai/groq/types.d.ts +6 -0
  68. package/ai/groq/types.js +8 -0
  69. package/ai/groq/types.js.map +1 -0
  70. package/ai/huggingface/api.d.ts +19 -0
  71. package/ai/huggingface/api.js +115 -0
  72. package/ai/huggingface/api.js.map +1 -0
  73. package/ai/huggingface/index.d.ts +2 -0
  74. package/ai/huggingface/index.js +3 -0
  75. package/ai/huggingface/index.js.map +1 -0
  76. package/ai/huggingface/info.d.ts +6 -0
  77. package/ai/huggingface/info.js +6 -0
  78. package/ai/huggingface/info.js.map +1 -0
  79. package/ai/huggingface/types.d.ts +34 -0
  80. package/ai/huggingface/types.js +5 -0
  81. package/ai/huggingface/types.js.map +1 -0
  82. package/ai/index.d.ts +16 -0
  83. package/ai/index.js +16 -0
  84. package/ai/index.js.map +1 -0
  85. package/ai/mistral/api.d.ts +16 -0
  86. package/ai/mistral/api.js +32 -0
  87. package/ai/mistral/api.js.map +1 -0
  88. package/ai/mistral/index.d.ts +2 -0
  89. package/ai/mistral/index.js +3 -0
  90. package/ai/mistral/index.js.map +1 -0
  91. package/ai/mistral/info.d.ts +2 -0
  92. package/ai/mistral/info.js +34 -0
  93. package/ai/mistral/info.js.map +1 -0
  94. package/ai/mistral/types.d.ts +10 -0
  95. package/ai/mistral/types.js +13 -0
  96. package/ai/mistral/types.js.map +1 -0
  97. package/ai/ollama/api.d.ts +22 -0
  98. package/ai/ollama/api.js +32 -0
  99. package/ai/ollama/api.js.map +1 -0
  100. package/ai/ollama/index.d.ts +1 -0
  101. package/ai/ollama/index.js +2 -0
  102. package/ai/ollama/index.js.map +1 -0
  103. package/ai/openai/api.d.ts +29 -0
  104. package/ai/openai/api.js +283 -0
  105. package/ai/openai/api.js.map +1 -0
  106. package/ai/openai/index.d.ts +2 -0
  107. package/ai/openai/index.js +3 -0
  108. package/ai/openai/index.js.map +1 -0
  109. package/ai/openai/info.d.ts +6 -0
  110. package/ai/openai/info.js +50 -0
  111. package/ai/openai/info.js.map +1 -0
  112. package/ai/openai/types.d.ts +165 -0
  113. package/ai/openai/types.js +18 -0
  114. package/ai/openai/types.js.map +1 -0
  115. package/ai/together/api.d.ts +15 -0
  116. package/ai/together/api.js +28 -0
  117. package/ai/together/api.js.map +1 -0
  118. package/ai/together/index.d.ts +1 -0
  119. package/ai/together/index.js +2 -0
  120. package/ai/together/index.js.map +1 -0
  121. package/ai/together/info.d.ts +2 -0
  122. package/ai/together/info.js +2 -0
  123. package/ai/together/info.js.map +1 -0
  124. package/ai/types.d.ts +159 -0
  125. package/ai/types.js +2 -0
  126. package/ai/types.js.map +1 -0
  127. package/ai/util.d.ts +12 -0
  128. package/ai/util.js +63 -0
  129. package/ai/util.js.map +1 -0
  130. package/ai/wrap.d.ts +47 -0
  131. package/ai/wrap.js +95 -0
  132. package/ai/wrap.js.map +1 -0
  133. package/cjs/ai/anthropic/api.d.ts +19 -0
  134. package/cjs/ai/anthropic/api.js +331 -0
  135. package/cjs/ai/anthropic/api.js.map +1 -0
  136. package/cjs/ai/anthropic/index.d.ts +2 -0
  137. package/cjs/ai/anthropic/index.js +19 -0
  138. package/cjs/ai/anthropic/index.js.map +1 -0
  139. package/cjs/ai/anthropic/info.d.ts +2 -0
  140. package/cjs/ai/anthropic/info.js +43 -0
  141. package/cjs/ai/anthropic/info.js.map +1 -0
  142. package/cjs/ai/anthropic/types.d.ts +171 -0
  143. package/cjs/ai/anthropic/types.js +13 -0
  144. package/cjs/ai/anthropic/types.js.map +1 -0
  145. package/cjs/ai/azure-openai/api.d.ts +19 -0
  146. package/cjs/ai/azure-openai/api.js +34 -0
  147. package/cjs/ai/azure-openai/api.js.map +1 -0
  148. package/cjs/ai/azure-openai/index.d.ts +1 -0
  149. package/cjs/ai/azure-openai/index.js +18 -0
  150. package/cjs/ai/azure-openai/index.js.map +1 -0
  151. package/cjs/ai/balance.d.ts +23 -0
  152. package/cjs/ai/balance.js +91 -0
  153. package/cjs/ai/balance.js.map +1 -0
  154. package/cjs/ai/base.d.ts +55 -0
  155. package/cjs/ai/base.js +349 -0
  156. package/cjs/ai/base.js.map +1 -0
  157. package/cjs/ai/cohere/api.d.ts +22 -0
  158. package/cjs/ai/cohere/api.js +270 -0
  159. package/cjs/ai/cohere/api.js.map +1 -0
  160. package/cjs/ai/cohere/index.d.ts +2 -0
  161. package/cjs/ai/cohere/index.js +19 -0
  162. package/cjs/ai/cohere/index.js.map +1 -0
  163. package/cjs/ai/cohere/info.d.ts +2 -0
  164. package/cjs/ai/cohere/info.js +55 -0
  165. package/cjs/ai/cohere/info.js.map +1 -0
  166. package/cjs/ai/cohere/types.d.ts +102 -0
  167. package/cjs/ai/cohere/types.js +26 -0
  168. package/cjs/ai/cohere/types.js.map +1 -0
  169. package/cjs/ai/deepseek/api.d.ts +16 -0
  170. package/cjs/ai/deepseek/api.js +38 -0
  171. package/cjs/ai/deepseek/api.js.map +1 -0
  172. package/cjs/ai/deepseek/index.d.ts +2 -0
  173. package/cjs/ai/deepseek/index.js +19 -0
  174. package/cjs/ai/deepseek/index.js.map +1 -0
  175. package/cjs/ai/deepseek/info.d.ts +2 -0
  176. package/cjs/ai/deepseek/info.js +19 -0
  177. package/cjs/ai/deepseek/info.js.map +1 -0
  178. package/cjs/ai/deepseek/types.d.ts +8 -0
  179. package/cjs/ai/deepseek/types.js +13 -0
  180. package/cjs/ai/deepseek/types.js.map +1 -0
  181. package/cjs/ai/google-gemini/api.d.ts +36 -0
  182. package/cjs/ai/google-gemini/api.js +305 -0
  183. package/cjs/ai/google-gemini/api.js.map +1 -0
  184. package/cjs/ai/google-gemini/index.d.ts +2 -0
  185. package/cjs/ai/google-gemini/index.js +19 -0
  186. package/cjs/ai/google-gemini/index.js.map +1 -0
  187. package/cjs/ai/google-gemini/info.d.ts +6 -0
  188. package/cjs/ai/google-gemini/info.js +32 -0
  189. package/cjs/ai/google-gemini/info.js.map +1 -0
  190. package/cjs/ai/google-gemini/types.d.ts +146 -0
  191. package/cjs/ai/google-gemini/types.js +30 -0
  192. package/cjs/ai/google-gemini/types.js.map +1 -0
  193. package/cjs/ai/groq/api.d.ts +18 -0
  194. package/cjs/ai/groq/api.js +56 -0
  195. package/cjs/ai/groq/api.js.map +1 -0
  196. package/cjs/ai/groq/index.d.ts +1 -0
  197. package/cjs/ai/groq/index.js +18 -0
  198. package/cjs/ai/groq/index.js.map +1 -0
  199. package/cjs/ai/groq/types.d.ts +6 -0
  200. package/cjs/ai/groq/types.js +11 -0
  201. package/cjs/ai/groq/types.js.map +1 -0
  202. package/cjs/ai/huggingface/api.d.ts +19 -0
  203. package/cjs/ai/huggingface/api.js +121 -0
  204. package/cjs/ai/huggingface/api.js.map +1 -0
  205. package/cjs/ai/huggingface/index.d.ts +2 -0
  206. package/cjs/ai/huggingface/index.js +19 -0
  207. package/cjs/ai/huggingface/index.js.map +1 -0
  208. package/cjs/ai/huggingface/info.d.ts +6 -0
  209. package/cjs/ai/huggingface/info.js +9 -0
  210. package/cjs/ai/huggingface/info.js.map +1 -0
  211. package/cjs/ai/huggingface/types.d.ts +34 -0
  212. package/cjs/ai/huggingface/types.js +8 -0
  213. package/cjs/ai/huggingface/types.js.map +1 -0
  214. package/cjs/ai/index.d.ts +16 -0
  215. package/cjs/ai/index.js +32 -0
  216. package/cjs/ai/index.js.map +1 -0
  217. package/cjs/ai/mistral/api.d.ts +16 -0
  218. package/cjs/ai/mistral/api.js +38 -0
  219. package/cjs/ai/mistral/api.js.map +1 -0
  220. package/cjs/ai/mistral/index.d.ts +2 -0
  221. package/cjs/ai/mistral/index.js +19 -0
  222. package/cjs/ai/mistral/index.js.map +1 -0
  223. package/cjs/ai/mistral/info.d.ts +2 -0
  224. package/cjs/ai/mistral/info.js +37 -0
  225. package/cjs/ai/mistral/info.js.map +1 -0
  226. package/cjs/ai/mistral/types.d.ts +10 -0
  227. package/cjs/ai/mistral/types.js +16 -0
  228. package/cjs/ai/mistral/types.js.map +1 -0
  229. package/cjs/ai/ollama/api.d.ts +22 -0
  230. package/cjs/ai/ollama/api.js +38 -0
  231. package/cjs/ai/ollama/api.js.map +1 -0
  232. package/cjs/ai/ollama/index.d.ts +1 -0
  233. package/cjs/ai/ollama/index.js +18 -0
  234. package/cjs/ai/ollama/index.js.map +1 -0
  235. package/cjs/ai/openai/api.d.ts +29 -0
  236. package/cjs/ai/openai/api.js +291 -0
  237. package/cjs/ai/openai/api.js.map +1 -0
  238. package/cjs/ai/openai/index.d.ts +2 -0
  239. package/cjs/ai/openai/index.js +19 -0
  240. package/cjs/ai/openai/index.js.map +1 -0
  241. package/cjs/ai/openai/info.d.ts +6 -0
  242. package/cjs/ai/openai/info.js +53 -0
  243. package/cjs/ai/openai/info.js.map +1 -0
  244. package/cjs/ai/openai/types.d.ts +165 -0
  245. package/cjs/ai/openai/types.js +21 -0
  246. package/cjs/ai/openai/types.js.map +1 -0
  247. package/cjs/ai/together/api.d.ts +15 -0
  248. package/cjs/ai/together/api.js +33 -0
  249. package/cjs/ai/together/api.js.map +1 -0
  250. package/cjs/ai/together/index.d.ts +1 -0
  251. package/cjs/ai/together/index.js +18 -0
  252. package/cjs/ai/together/index.js.map +1 -0
  253. package/cjs/ai/together/info.d.ts +2 -0
  254. package/cjs/ai/together/info.js +5 -0
  255. package/cjs/ai/together/info.js.map +1 -0
  256. package/cjs/ai/types.d.ts +159 -0
  257. package/cjs/ai/types.js +3 -0
  258. package/cjs/ai/types.js.map +1 -0
  259. package/cjs/ai/util.d.ts +12 -0
  260. package/cjs/ai/util.js +71 -0
  261. package/cjs/ai/util.js.map +1 -0
  262. package/cjs/ai/wrap.d.ts +47 -0
  263. package/cjs/ai/wrap.js +99 -0
  264. package/cjs/ai/wrap.js.map +1 -0
  265. package/cjs/db/base.d.ts +23 -0
  266. package/cjs/db/base.js +91 -0
  267. package/cjs/db/base.js.map +1 -0
  268. package/cjs/db/cloudflare.d.ts +21 -0
  269. package/cjs/db/cloudflare.js +102 -0
  270. package/cjs/db/cloudflare.js.map +1 -0
  271. package/cjs/db/index.d.ts +6 -0
  272. package/cjs/db/index.js +23 -0
  273. package/cjs/db/index.js.map +1 -0
  274. package/cjs/db/memory.d.ts +21 -0
  275. package/cjs/db/memory.js +103 -0
  276. package/cjs/db/memory.js.map +1 -0
  277. package/cjs/db/pinecone.d.ts +21 -0
  278. package/cjs/db/pinecone.js +75 -0
  279. package/cjs/db/pinecone.js.map +1 -0
  280. package/cjs/db/types.d.ts +35 -0
  281. package/cjs/db/types.js +4 -0
  282. package/cjs/db/types.js.map +1 -0
  283. package/cjs/db/weaviate.d.ts +21 -0
  284. package/cjs/db/weaviate.js +131 -0
  285. package/cjs/db/weaviate.js.map +1 -0
  286. package/cjs/db/wrap.d.ts +13 -0
  287. package/cjs/db/wrap.js +39 -0
  288. package/cjs/db/wrap.js.map +1 -0
  289. package/cjs/docs/index.d.ts +4 -0
  290. package/cjs/docs/index.js +21 -0
  291. package/cjs/docs/index.js.map +1 -0
  292. package/cjs/docs/manager.d.ts +45 -0
  293. package/cjs/docs/manager.js +162 -0
  294. package/cjs/docs/manager.js.map +1 -0
  295. package/cjs/docs/reranker.d.ts +7 -0
  296. package/cjs/docs/reranker.js +30 -0
  297. package/cjs/docs/reranker.js.map +1 -0
  298. package/cjs/docs/rewriter.d.ts +4 -0
  299. package/cjs/docs/rewriter.js +13 -0
  300. package/cjs/docs/rewriter.js.map +1 -0
  301. package/cjs/docs/tika.d.ts +18 -0
  302. package/cjs/docs/tika.js +50 -0
  303. package/cjs/docs/tika.js.map +1 -0
  304. package/cjs/dsp/asserts.d.ts +32 -0
  305. package/cjs/dsp/asserts.js +98 -0
  306. package/cjs/dsp/asserts.js.map +1 -0
  307. package/cjs/dsp/eval.d.ts +43 -0
  308. package/cjs/dsp/eval.js +128 -0
  309. package/cjs/dsp/eval.js.map +1 -0
  310. package/cjs/dsp/evaluate.d.ts +12 -0
  311. package/cjs/dsp/evaluate.js +36 -0
  312. package/cjs/dsp/evaluate.js.map +1 -0
  313. package/cjs/dsp/extract.d.ts +25 -0
  314. package/cjs/dsp/extract.js +164 -0
  315. package/cjs/dsp/extract.js.map +1 -0
  316. package/cjs/dsp/generate.d.ts +55 -0
  317. package/cjs/dsp/generate.js +314 -0
  318. package/cjs/dsp/generate.js.map +1 -0
  319. package/cjs/dsp/index.d.ts +15 -0
  320. package/cjs/dsp/index.js +27 -0
  321. package/cjs/dsp/index.js.map +1 -0
  322. package/cjs/dsp/loader.d.ts +30 -0
  323. package/cjs/dsp/loader.js +85 -0
  324. package/cjs/dsp/loader.js.map +1 -0
  325. package/cjs/dsp/optimize.d.ts +27 -0
  326. package/cjs/dsp/optimize.js +99 -0
  327. package/cjs/dsp/optimize.js.map +1 -0
  328. package/cjs/dsp/parser.d.ts +87 -0
  329. package/cjs/dsp/parser.js +1545 -0
  330. package/cjs/dsp/parser.js.map +1 -0
  331. package/cjs/dsp/program.d.ts +73 -0
  332. package/cjs/dsp/program.js +120 -0
  333. package/cjs/dsp/program.js.map +1 -0
  334. package/cjs/dsp/prompt.d.ts +48 -0
  335. package/cjs/dsp/prompt.js +263 -0
  336. package/cjs/dsp/prompt.js.map +1 -0
  337. package/cjs/dsp/registry.d.ts +6 -0
  338. package/cjs/dsp/registry.js +19 -0
  339. package/cjs/dsp/registry.js.map +1 -0
  340. package/cjs/dsp/router.d.ts +26 -0
  341. package/cjs/dsp/router.js +76 -0
  342. package/cjs/dsp/router.js.map +1 -0
  343. package/cjs/dsp/sig.d.ts +37 -0
  344. package/cjs/dsp/sig.js +197 -0
  345. package/cjs/dsp/sig.js.map +1 -0
  346. package/cjs/dsp/stopwords.d.ts +1 -0
  347. package/cjs/dsp/stopwords.js +1167 -0
  348. package/cjs/dsp/stopwords.js.map +1 -0
  349. package/cjs/dsp/strutil.d.ts +11 -0
  350. package/cjs/dsp/strutil.js +63 -0
  351. package/cjs/dsp/strutil.js.map +1 -0
  352. package/cjs/dsp/util.d.ts +5 -0
  353. package/cjs/dsp/util.js +82 -0
  354. package/cjs/dsp/util.js.map +1 -0
  355. package/cjs/funcs/code.d.ts +9 -0
  356. package/cjs/funcs/code.js +90 -0
  357. package/cjs/funcs/code.js.map +1 -0
  358. package/cjs/funcs/embed.d.ts +6 -0
  359. package/cjs/funcs/embed.js +33 -0
  360. package/cjs/funcs/embed.js.map +1 -0
  361. package/cjs/funcs/functions.d.ts +16 -0
  362. package/cjs/funcs/functions.js +62 -0
  363. package/cjs/funcs/functions.js.map +1 -0
  364. package/cjs/funcs/index.d.ts +3 -0
  365. package/cjs/funcs/index.js +20 -0
  366. package/cjs/funcs/index.js.map +1 -0
  367. package/cjs/funcs/jsonschema.d.ts +2 -0
  368. package/cjs/funcs/jsonschema.js +101 -0
  369. package/cjs/funcs/jsonschema.js.map +1 -0
  370. package/cjs/index.d.ts +9 -0
  371. package/cjs/index.js +34 -0
  372. package/cjs/index.js.map +1 -0
  373. package/cjs/mem/index.d.ts +2 -0
  374. package/cjs/mem/index.js +19 -0
  375. package/cjs/mem/index.js.map +1 -0
  376. package/cjs/mem/memory.d.ts +16 -0
  377. package/cjs/mem/memory.js +81 -0
  378. package/cjs/mem/memory.js.map +1 -0
  379. package/cjs/mem/types.d.ts +10 -0
  380. package/cjs/mem/types.js +3 -0
  381. package/cjs/mem/types.js.map +1 -0
  382. package/cjs/prompts/agent.d.ts +34 -0
  383. package/cjs/prompts/agent.js +110 -0
  384. package/cjs/prompts/agent.js.map +1 -0
  385. package/cjs/prompts/cot.d.ts +9 -0
  386. package/cjs/prompts/cot.js +21 -0
  387. package/cjs/prompts/cot.js.map +1 -0
  388. package/cjs/prompts/index.d.ts +4 -0
  389. package/cjs/prompts/index.js +21 -0
  390. package/cjs/prompts/index.js.map +1 -0
  391. package/cjs/prompts/rag.d.ts +23 -0
  392. package/cjs/prompts/rag.js +33 -0
  393. package/cjs/prompts/rag.js.map +1 -0
  394. package/cjs/prompts/react.d.ts +8 -0
  395. package/cjs/prompts/react.js +26 -0
  396. package/cjs/prompts/react.js.map +1 -0
  397. package/cjs/trace/index.d.ts +171 -0
  398. package/cjs/trace/index.js +70 -0
  399. package/cjs/trace/index.js.map +1 -0
  400. package/cjs/util/apicall.d.ts +18 -0
  401. package/cjs/util/apicall.js +57 -0
  402. package/cjs/util/apicall.js.map +1 -0
  403. package/cjs/util/log.d.ts +14 -0
  404. package/cjs/util/log.js +35 -0
  405. package/cjs/util/log.js.map +1 -0
  406. package/cjs/util/other.d.ts +1 -0
  407. package/cjs/util/other.js +8 -0
  408. package/cjs/util/other.js.map +1 -0
  409. package/cjs/util/rate-limit.d.ts +24 -0
  410. package/cjs/util/rate-limit.js +53 -0
  411. package/cjs/util/rate-limit.js.map +1 -0
  412. package/cjs/util/stream.d.ts +9 -0
  413. package/cjs/util/stream.js +33 -0
  414. package/cjs/util/stream.js.map +1 -0
  415. package/cjs/util/transform.d.ts +7 -0
  416. package/cjs/util/transform.js +64 -0
  417. package/cjs/util/transform.js.map +1 -0
  418. package/db/base.d.ts +23 -0
  419. package/db/base.js +87 -0
  420. package/db/base.js.map +1 -0
  421. package/db/cloudflare.d.ts +21 -0
  422. package/db/cloudflare.js +98 -0
  423. package/db/cloudflare.js.map +1 -0
  424. package/db/index.d.ts +6 -0
  425. package/db/index.js +7 -0
  426. package/db/index.js.map +1 -0
  427. package/db/memory.d.ts +21 -0
  428. package/db/memory.js +99 -0
  429. package/db/memory.js.map +1 -0
  430. package/db/pinecone.d.ts +21 -0
  431. package/db/pinecone.js +71 -0
  432. package/db/pinecone.js.map +1 -0
  433. package/db/types.d.ts +35 -0
  434. package/db/types.js +3 -0
  435. package/db/types.js.map +1 -0
  436. package/db/weaviate.d.ts +21 -0
  437. package/db/weaviate.js +127 -0
  438. package/db/weaviate.js.map +1 -0
  439. package/db/wrap.d.ts +13 -0
  440. package/db/wrap.js +35 -0
  441. package/db/wrap.js.map +1 -0
  442. package/docs/index.d.ts +4 -0
  443. package/docs/index.js +5 -0
  444. package/docs/index.js.map +1 -0
  445. package/docs/manager.d.ts +45 -0
  446. package/docs/manager.js +159 -0
  447. package/docs/manager.js.map +1 -0
  448. package/docs/reranker.d.ts +7 -0
  449. package/docs/reranker.js +26 -0
  450. package/docs/reranker.js.map +1 -0
  451. package/docs/rewriter.d.ts +4 -0
  452. package/docs/rewriter.js +9 -0
  453. package/docs/rewriter.js.map +1 -0
  454. package/docs/tika.d.ts +18 -0
  455. package/docs/tika.js +46 -0
  456. package/docs/tika.js.map +1 -0
  457. package/dsp/asserts.d.ts +32 -0
  458. package/dsp/asserts.js +91 -0
  459. package/dsp/asserts.js.map +1 -0
  460. package/dsp/eval.d.ts +43 -0
  461. package/dsp/eval.js +125 -0
  462. package/dsp/eval.js.map +1 -0
  463. package/dsp/evaluate.d.ts +12 -0
  464. package/dsp/evaluate.js +32 -0
  465. package/dsp/evaluate.js.map +1 -0
  466. package/dsp/extract.d.ts +25 -0
  467. package/dsp/extract.js +153 -0
  468. package/dsp/extract.js.map +1 -0
  469. package/dsp/generate.d.ts +55 -0
  470. package/dsp/generate.js +311 -0
  471. package/dsp/generate.js.map +1 -0
  472. package/dsp/index.d.ts +15 -0
  473. package/dsp/index.js +11 -0
  474. package/dsp/index.js.map +1 -0
  475. package/dsp/loader.d.ts +30 -0
  476. package/dsp/loader.js +81 -0
  477. package/dsp/loader.js.map +1 -0
  478. package/dsp/optimize.d.ts +27 -0
  479. package/dsp/optimize.js +95 -0
  480. package/dsp/optimize.js.map +1 -0
  481. package/dsp/parser.d.ts +87 -0
  482. package/dsp/parser.js +1542 -0
  483. package/dsp/parser.js.map +1 -0
  484. package/dsp/program.d.ts +73 -0
  485. package/dsp/program.js +116 -0
  486. package/dsp/program.js.map +1 -0
  487. package/dsp/prompt.d.ts +48 -0
  488. package/dsp/prompt.js +260 -0
  489. package/dsp/prompt.js.map +1 -0
  490. package/dsp/registry.d.ts +6 -0
  491. package/dsp/registry.js +15 -0
  492. package/dsp/registry.js.map +1 -0
  493. package/dsp/router.d.ts +26 -0
  494. package/dsp/router.js +71 -0
  495. package/dsp/router.js.map +1 -0
  496. package/dsp/sig.d.ts +37 -0
  497. package/dsp/sig.js +193 -0
  498. package/dsp/sig.js.map +1 -0
  499. package/dsp/stopwords.d.ts +1 -0
  500. package/dsp/stopwords.js +1164 -0
  501. package/dsp/stopwords.js.map +1 -0
  502. package/dsp/strutil.d.ts +11 -0
  503. package/dsp/strutil.js +60 -0
  504. package/dsp/strutil.js.map +1 -0
  505. package/dsp/util.d.ts +5 -0
  506. package/dsp/util.js +76 -0
  507. package/dsp/util.js.map +1 -0
  508. package/funcs/code.d.ts +9 -0
  509. package/funcs/code.js +63 -0
  510. package/funcs/code.js.map +1 -0
  511. package/funcs/embed.d.ts +6 -0
  512. package/funcs/embed.js +29 -0
  513. package/funcs/embed.js.map +1 -0
  514. package/funcs/functions.d.ts +16 -0
  515. package/funcs/functions.js +55 -0
  516. package/funcs/functions.js.map +1 -0
  517. package/funcs/index.d.ts +3 -0
  518. package/funcs/index.js +4 -0
  519. package/funcs/index.js.map +1 -0
  520. package/funcs/jsonschema.d.ts +2 -0
  521. package/funcs/jsonschema.js +97 -0
  522. package/funcs/jsonschema.js.map +1 -0
  523. package/index.d.ts +9 -0
  524. package/index.js.map +1 -0
  525. package/mem/index.d.ts +2 -0
  526. package/mem/index.js +3 -0
  527. package/mem/index.js.map +1 -0
  528. package/mem/memory.d.ts +16 -0
  529. package/mem/memory.js +77 -0
  530. package/mem/memory.js.map +1 -0
  531. package/mem/types.d.ts +10 -0
  532. package/mem/types.js +2 -0
  533. package/mem/types.js.map +1 -0
  534. package/package.json +4 -7
  535. package/prompts/agent.d.ts +34 -0
  536. package/prompts/agent.js +108 -0
  537. package/prompts/agent.js.map +1 -0
  538. package/prompts/cot.d.ts +9 -0
  539. package/prompts/cot.js +17 -0
  540. package/prompts/cot.js.map +1 -0
  541. package/prompts/index.d.ts +4 -0
  542. package/prompts/index.js +5 -0
  543. package/prompts/index.js.map +1 -0
  544. package/prompts/rag.d.ts +23 -0
  545. package/prompts/rag.js +30 -0
  546. package/prompts/rag.js.map +1 -0
  547. package/prompts/react.d.ts +8 -0
  548. package/prompts/react.js +22 -0
  549. package/prompts/react.js.map +1 -0
  550. package/trace/index.d.ts +171 -0
  551. package/trace/index.js +67 -0
  552. package/trace/index.js.map +1 -0
  553. package/util/apicall.d.ts +18 -0
  554. package/util/apicall.js +50 -0
  555. package/util/apicall.js.map +1 -0
  556. package/util/log.d.ts +14 -0
  557. package/util/log.js +31 -0
  558. package/util/log.js.map +1 -0
  559. package/util/other.d.ts +1 -0
  560. package/util/other.js +5 -0
  561. package/util/other.js.map +1 -0
  562. package/util/rate-limit.d.ts +24 -0
  563. package/util/rate-limit.js +49 -0
  564. package/util/rate-limit.js.map +1 -0
  565. package/util/stream.d.ts +9 -0
  566. package/util/stream.js +29 -0
  567. package/util/stream.js.map +1 -0
  568. package/util/transform.d.ts +7 -0
  569. package/util/transform.js +59 -0
  570. package/util/transform.js.map +1 -0
package/cjs/db/wrap.js ADDED
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AxDB = void 0;
4
+ const cloudflare_js_1 = require("./cloudflare.js");
5
+ const memory_js_1 = require("./memory.js");
6
+ const pinecone_js_1 = require("./pinecone.js");
7
+ const weaviate_js_1 = require("./weaviate.js");
8
+ class AxDB {
9
+ db;
10
+ constructor(args) {
11
+ switch (args.name) {
12
+ case 'weaviate':
13
+ this.db = new weaviate_js_1.AxDBWeaviate(args);
14
+ break;
15
+ case 'pinecone':
16
+ this.db = new pinecone_js_1.AxDBPinecone(args);
17
+ break;
18
+ case 'cloudflare':
19
+ this.db = new cloudflare_js_1.AxDBCloudflare(args);
20
+ break;
21
+ case 'memory':
22
+ this.db = new memory_js_1.AxDBMemory(args);
23
+ break;
24
+ default:
25
+ throw new Error(`Unknown DB`);
26
+ }
27
+ }
28
+ async upsert(req, update) {
29
+ return await this.db.upsert(req, update);
30
+ }
31
+ async batchUpsert(batchReq, update) {
32
+ return await this.db.batchUpsert(batchReq, update);
33
+ }
34
+ async query(req) {
35
+ return await this.db.query(req);
36
+ }
37
+ }
38
+ exports.AxDB = AxDB;
39
+ //# sourceMappingURL=wrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../../db/wrap.ts"],"names":[],"mappings":";;;AAAA,mDAA0E;AAC1E,2CAA8D;AAC9D,+CAAoE;AAQpE,+CAAoE;AAQpE,MAAa,IAAI;IACP,EAAE,CAAc;IACxB,YAAY,IAAwB;QAClC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,UAAU;gBACb,IAAI,CAAC,EAAE,GAAG,IAAI,0BAAY,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,EAAE,GAAG,IAAI,0BAAY,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,CAAC,EAAE,GAAG,IAAI,8BAAc,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,EAAE,GAAG,IAAI,sBAAU,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,KAAK,CAAC,MAAM,CACV,GAAgC,EAChC,MAAgB;QAEhB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,WAAW,CACf,QAAuC,EACvC,MAAgB;QAEhB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAA+B;QACzC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;CACF;AArCD,oBAqCC"}
@@ -0,0 +1,4 @@
1
+ export * from './tika.js';
2
+ export * from './manager.js';
3
+ export * from './reranker.js';
4
+ export * from './rewriter.js';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./tika.js"), exports);
18
+ __exportStar(require("./manager.js"), exports);
19
+ __exportStar(require("./reranker.js"), exports);
20
+ __exportStar(require("./rewriter.js"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../docs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,+CAA6B;AAC7B,gDAA8B;AAC9B,gDAA8B"}
@@ -0,0 +1,45 @@
1
+ import { type AxAIService, type AxDBService, type AxProgram } from '../index.js';
2
+ export type AxRewriteIn = {
3
+ query: string;
4
+ };
5
+ export type AxRewriteOut = {
6
+ rewrittenQuery: string;
7
+ };
8
+ export type AxRerankerIn = {
9
+ query: string;
10
+ items: string[];
11
+ };
12
+ export type AxRerankerOut = {
13
+ rankedItems: string[];
14
+ };
15
+ export interface AxDBLoaderOptions {
16
+ chunker?: (text: string) => string[];
17
+ rewriter?: AxProgram<AxRewriteIn, AxRewriteOut>;
18
+ reranker?: AxProgram<AxRerankerIn, AxRerankerOut>;
19
+ }
20
+ export interface AxDBManagerArgs {
21
+ ai: AxAIService;
22
+ db: AxDBService;
23
+ config?: AxDBLoaderOptions;
24
+ }
25
+ export interface AxDBMatch {
26
+ score: number;
27
+ text: string;
28
+ }
29
+ export declare class AxDBManager {
30
+ private ai;
31
+ private db;
32
+ private chunker;
33
+ private rewriter?;
34
+ private reranker?;
35
+ constructor({ ai, db, config }: Readonly<AxDBManagerArgs>);
36
+ private defaultChunker;
37
+ insert: (text: Readonly<string | string[]>, options?: Readonly<{
38
+ batchSize?: number;
39
+ maxWordsPerChunk?: number;
40
+ minWordsPerChunk?: number;
41
+ }>) => Promise<void>;
42
+ query: (query: Readonly<string | string[] | number | number[]>, { topPercent }?: Readonly<{
43
+ topPercent?: number;
44
+ }> | undefined) => Promise<AxDBMatch[][]>;
45
+ }
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AxDBManager = void 0;
4
+ const table = '_internal';
5
+ class AxDBManager {
6
+ ai;
7
+ db;
8
+ chunker;
9
+ rewriter;
10
+ reranker;
11
+ constructor({ ai, db, config }) {
12
+ this.ai = ai;
13
+ this.db = db;
14
+ this.chunker = config?.chunker ?? this.defaultChunker;
15
+ this.reranker = config?.reranker;
16
+ this.rewriter = config?.rewriter;
17
+ }
18
+ defaultChunker = (text) => {
19
+ // Default chunking by paragraphs
20
+ return text.split(/\n\n+/);
21
+ };
22
+ insert = async (text, options) => {
23
+ try {
24
+ const chunkerInput = Array.isArray(text)
25
+ ? text.join('\n\n')
26
+ : text;
27
+ // Chunk the text using the specified or default chunking function
28
+ const initialChunks = this.chunker(chunkerInput).filter((chunk) => chunk.length > 0);
29
+ const maxWordsPerChunk = options?.maxWordsPerChunk;
30
+ const minWordsPerChunk = options?.minWordsPerChunk;
31
+ const chunks = processChunks({
32
+ initialChunks,
33
+ minWordsPerChunk,
34
+ maxWordsPerChunk
35
+ });
36
+ const bs = options?.batchSize ?? 10;
37
+ // Process chunks in batches of 10
38
+ for (let i = 0; i < chunks.length; i += bs) {
39
+ const batch = chunks.slice(i, i + bs);
40
+ // Get embeddings for the whole batch from the AI service in one call
41
+ const ret = await this.ai.embed({ texts: batch });
42
+ // Prepare batch for bulk upsert
43
+ const embeddings = ret.embeddings
44
+ .map((embedding, index) => ({
45
+ id: `chunk_${Date.now() + index}`, // Unique ID for each chunk, adjusted by index
46
+ table,
47
+ values: embedding,
48
+ metadata: { text: batch[index] ?? '' }
49
+ }))
50
+ .filter((v) => v.metadata?.text && v.metadata?.text.length > 0);
51
+ // Batch upsert embeddings
52
+ await this.db.batchUpsert(embeddings);
53
+ }
54
+ }
55
+ catch (error) {
56
+ throw new Error(`Error processing text: ${error}`);
57
+ }
58
+ };
59
+ query = async (query, { topPercent } = {}) => {
60
+ const texts = Array.isArray(query) ? query : [query];
61
+ if (typeof texts[0] === 'string' && this.rewriter) {
62
+ for (const [i, text] of texts.entries()) {
63
+ const { rewrittenQuery } = await this.rewriter.forward({
64
+ query: text
65
+ });
66
+ texts[i] = rewrittenQuery;
67
+ }
68
+ }
69
+ let queries;
70
+ if (typeof texts[0] === 'string') {
71
+ const embedResults = await this.ai.embed({ texts });
72
+ queries = embedResults.embeddings.map((values) => this.db.query({ table, values }));
73
+ }
74
+ else {
75
+ queries = texts.map((values) => this.db.query({ table, values }));
76
+ }
77
+ const queryResults = await Promise.all(queries);
78
+ const res = [];
79
+ for (const { matches } of queryResults) {
80
+ const m = matches
81
+ .filter((v) => v.metadata?.text && v.metadata?.text.length > 0)
82
+ .map(({ score, metadata }) => ({ score, text: metadata?.text ?? '' }));
83
+ const tp = topPercent && topPercent > 1 ? topPercent / 100 : topPercent;
84
+ const resultItems = tp ? getTopInPercent(m, tp) : m;
85
+ if (this.reranker) {
86
+ const { rankedItems } = await this.reranker.forward({
87
+ query: texts[0],
88
+ items: resultItems.map((item) => item.text)
89
+ });
90
+ const items = rankedItems
91
+ .map((item) => resultItems.find((r) => r.text === item))
92
+ .filter((v) => v !== undefined);
93
+ res.push(items);
94
+ }
95
+ else {
96
+ res.push(resultItems);
97
+ }
98
+ }
99
+ return res;
100
+ };
101
+ }
102
+ exports.AxDBManager = AxDBManager;
103
+ const processChunks = ({ initialChunks, maxWordsPerChunk = 350, minWordsPerChunk = 250 }) => {
104
+ const chunks = [];
105
+ let currentChunk = '';
106
+ let currentWordCount = 0;
107
+ initialChunks.forEach((chunk) => {
108
+ const words = chunk.split(/\s+/); // Split the chunk into words
109
+ const wordCount = words.length; // Count words in the current chunk
110
+ if (currentWordCount + wordCount <= maxWordsPerChunk) {
111
+ // Add to the current chunk if within the max size limit
112
+ currentChunk += chunk + '\n\n';
113
+ currentWordCount += wordCount;
114
+ }
115
+ else if (currentWordCount > 0 &&
116
+ currentWordCount + wordCount <= maxWordsPerChunk * 1.5) {
117
+ // If the total word count exceeds the limit but is less than 150% of the maxWordsPerChunk
118
+ currentChunk += chunk + '\n\n';
119
+ currentWordCount += wordCount;
120
+ }
121
+ else {
122
+ // If the current chunk is not empty and adding the new chunk exceeds the adjusted limit
123
+ if (currentWordCount > minWordsPerChunk) {
124
+ chunks.push(currentChunk.trim());
125
+ currentChunk = '';
126
+ currentWordCount = 0;
127
+ }
128
+ // Handle the case where the chunk itself is larger than the limit
129
+ if (wordCount > maxWordsPerChunk) {
130
+ const remainingWords = words;
131
+ while (remainingWords.length > maxWordsPerChunk * 1.5) {
132
+ const slice = remainingWords.splice(0, maxWordsPerChunk);
133
+ chunks.push(slice.join(' '));
134
+ }
135
+ // Add the last portion if it fits the condition of being within 150% of maxWordsPerChunk
136
+ if (remainingWords.length > 0) {
137
+ currentChunk += remainingWords.join(' ') + '\n\n';
138
+ currentWordCount += remainingWords.length;
139
+ }
140
+ }
141
+ else {
142
+ // If the new chunk is smaller than the maximum words per chunk
143
+ currentChunk = chunk + '\n\n';
144
+ currentWordCount = wordCount;
145
+ }
146
+ }
147
+ });
148
+ // Push the last chunk if it exists and meets the minimum words condition
149
+ if (currentWordCount > minWordsPerChunk || chunks.length === 0) {
150
+ chunks.push(currentChunk.trim());
151
+ }
152
+ return chunks;
153
+ };
154
+ const getTopInPercent = (entries, percent = 0.1) => {
155
+ // Sort entries by score in ascending order
156
+ const sortedEntries = [...entries].sort((a, b) => a.score - b.score);
157
+ // Calculate the number of entries to take (top 10%)
158
+ const topTenPercentCount = Math.ceil(sortedEntries.length * percent);
159
+ // Return the top 10% of entries
160
+ return sortedEntries.slice(0, topTenPercentCount);
161
+ };
162
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../docs/manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { AxAIService } from '../ai/types.js';
2
+ import { AxGenerate, type AxGenerateOptions, type AxProgramForwardOptions } from '../dsp/index.js';
3
+ import type { AxRerankerIn, AxRerankerOut } from './manager.js';
4
+ export declare class AxDefaultResultReranker extends AxGenerate<AxRerankerIn, AxRerankerOut> {
5
+ constructor(ai: AxAIService, options?: Readonly<AxGenerateOptions>);
6
+ forward: (input: Readonly<AxRerankerIn>, options?: Readonly<AxProgramForwardOptions>) => Promise<AxRerankerOut>;
7
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AxDefaultResultReranker = void 0;
4
+ const index_js_1 = require("../dsp/index.js");
5
+ class AxDefaultResultReranker extends index_js_1.AxGenerate {
6
+ constructor(ai, options) {
7
+ const signature = `"You are a re-ranker assistant tasked with evaluating a set of content items in relation to a specific question. Your role involves critically analyzing each content item to determine its relevance to the question and re-ranking them accordingly. This process includes assigning a relevance score from 0 to 10 to each content item based on how well it answers the question, its coverage of the topic, and the reliability of its information. This re-ranked list should start with the content item that is most relevant to the question and end with the least relevant. Output only the list."
8
+ query: string, items: string[] -> rankedItems: string[] "list of id, 5-words Rationale, relevance score"`;
9
+ super(ai, signature, options);
10
+ }
11
+ forward = async (input, options) => {
12
+ const { rankedItems } = await super.forward(input, options);
13
+ const sortedIndexes = rankedItems.map((item) => {
14
+ const { id: index } = index_js_1.axStringUtil.extractIdAndText(item);
15
+ return index;
16
+ });
17
+ // Ensure all elements are strings and filter out null or undefined
18
+ const sortedItems = input.items
19
+ .map((_, index) => {
20
+ const originalIndex = sortedIndexes[index];
21
+ return originalIndex !== undefined
22
+ ? input.items[originalIndex]
23
+ : undefined;
24
+ })
25
+ .filter((item) => item !== undefined);
26
+ return { rankedItems: sortedItems };
27
+ };
28
+ }
29
+ exports.AxDefaultResultReranker = AxDefaultResultReranker;
30
+ //# sourceMappingURL=reranker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reranker.js","sourceRoot":"","sources":["../../../docs/reranker.ts"],"names":[],"mappings":";;;AACA,8CAKyB;AAIzB,MAAa,uBAAwB,SAAQ,qBAG5C;IACC,YAAY,EAAe,EAAE,OAAqC;QAChE,MAAM,SAAS,GAAG;6GACuF,CAAC;QAE1G,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IAEe,OAAO,GAAG,KAAK,EAC7B,KAA6B,EAC7B,OAA2C,EACnB,EAAE;QAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE5D,MAAM,aAAa,GAAa,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACvD,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,uBAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,mEAAmE;QACnE,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK;aAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAChB,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,aAAa,KAAK,SAAS;gBAChC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC5B,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAExD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IACtC,CAAC,CAAC;CACH;AAlCD,0DAkCC"}
@@ -0,0 +1,4 @@
1
+ import { type AxAIService, AxGenerate, type AxGenerateOptions, type AxRewriteIn, type AxRewriteOut } from '../index.js';
2
+ export declare class AxDefaultQueryRewriter extends AxGenerate<AxRewriteIn, AxRewriteOut> {
3
+ constructor(ai: AxAIService, options?: Readonly<AxGenerateOptions>);
4
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AxDefaultQueryRewriter = void 0;
4
+ const index_js_1 = require("../index.js");
5
+ class AxDefaultQueryRewriter extends index_js_1.AxGenerate {
6
+ constructor(ai, options) {
7
+ const signature = `"You are a query rewriter assistant tasked with rewriting a given query to improve its clarity, specificity, and relevance. Your role involves analyzing the query to identify any ambiguities, generalizations, or irrelevant information and then rephrasing it to make it more focused and precise. The rewritten query should be concise, easy to understand, and directly related to the original query. Output only the rewritten query."
8
+ query: string -> rewrittenQuery: string`;
9
+ super(ai, signature, options);
10
+ }
11
+ }
12
+ exports.AxDefaultQueryRewriter = AxDefaultQueryRewriter;
13
+ //# sourceMappingURL=rewriter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rewriter.js","sourceRoot":"","sources":["../../../docs/rewriter.ts"],"names":[],"mappings":";;;AAAA,0CAMqB;AAErB,MAAa,sBAAuB,SAAQ,qBAG3C;IACC,YAAY,EAAe,EAAE,OAAqC;QAChE,MAAM,SAAS,GAAG;4CACsB,CAAC;QAEzC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;CACF;AAVD,wDAUC"}
@@ -0,0 +1,18 @@
1
+ export interface AxApacheTikaArgs {
2
+ url?: string | URL;
3
+ fetch?: typeof fetch;
4
+ }
5
+ export interface AxApacheTikaConvertOptions {
6
+ format?: 'text' | 'html';
7
+ }
8
+ export declare class AxApacheTika {
9
+ private tikaUrl;
10
+ private fetch?;
11
+ constructor(args?: Readonly<AxApacheTikaArgs>);
12
+ private _convert;
13
+ convert(files: Readonly<string[] | Blob[]>, options?: Readonly<{
14
+ batchSize?: number;
15
+ format?: 'html' | 'text';
16
+ }>): Promise<string[]>;
17
+ }
18
+ export default AxApacheTika;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AxApacheTika = void 0;
4
+ const node_fs_1 = require("node:fs");
5
+ class AxApacheTika {
6
+ tikaUrl;
7
+ fetch;
8
+ constructor(args) {
9
+ const _args = args ?? { url: 'http://localhost:9998/' };
10
+ this.tikaUrl = new URL('/tika', _args.url);
11
+ this.fetch = _args.fetch;
12
+ }
13
+ async _convert(file, options) {
14
+ const fileData = typeof file === 'string' ? (0, node_fs_1.createReadStream)(file) : file.stream();
15
+ if (!fileData) {
16
+ throw new Error('Failed to read file data');
17
+ }
18
+ const acceptValue = options?.format === 'html' ? 'text/html' : 'text/plain';
19
+ try {
20
+ const res = await (this.fetch ?? fetch)(this.tikaUrl, {
21
+ body: fileData,
22
+ headers: { Accept: acceptValue },
23
+ duplex: 'half',
24
+ method: 'PUT'
25
+ });
26
+ if (!res.ok) {
27
+ throw new Error(`Failed to upload file: ${res.statusText}`);
28
+ }
29
+ const text = await res.text();
30
+ return text;
31
+ }
32
+ catch (error) {
33
+ throw new Error(`Error converting file: ${error}`);
34
+ }
35
+ }
36
+ async convert(files, options) {
37
+ const results = [];
38
+ const bs = options?.batchSize ?? 10;
39
+ for (let i = 0; i < files.length; i += bs) {
40
+ const batch = files.slice(i, i + bs);
41
+ const uploadPromises = batch.map((files) => this._convert(files, { format: options?.format }));
42
+ const batchResults = await Promise.all(uploadPromises);
43
+ results.push(...batchResults);
44
+ }
45
+ return results;
46
+ }
47
+ }
48
+ exports.AxApacheTika = AxApacheTika;
49
+ exports.default = AxApacheTika;
50
+ //# sourceMappingURL=tika.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tika.js","sourceRoot":"","sources":["../../../docs/tika.ts"],"names":[],"mappings":";;;AAAA,qCAA2C;AAW3C,MAAa,YAAY;IACf,OAAO,CAAM;IACb,KAAK,CAAgB;IAE7B,YAAY,IAAiC;QAC3C,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,GAAG,EAAE,wBAAwB,EAAE,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,QAAQ,CACpB,IAAmB,EACnB,OAA8C;QAE9C,MAAM,QAAQ,GACZ,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,0BAAgB,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAEpE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;QAE5E,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;gBACpD,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,KAAkC,EAClC,OAAoE;QAEpE,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC;QAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YACrC,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAClD,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AA5DD,oCA4DC;AACD,kBAAe,YAAY,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { extractionState } from './extract.js';
2
+ import type { AxSignature } from './sig.js';
3
+ export interface AxAssertion {
4
+ fn(values: Record<string, unknown>): boolean | undefined;
5
+ message?: string;
6
+ optional?: boolean;
7
+ }
8
+ export interface AxStreamingAssertion {
9
+ fieldName: string;
10
+ fn(content: string): boolean | undefined;
11
+ message?: string;
12
+ optional?: boolean;
13
+ }
14
+ export declare class AxAssertionError extends Error {
15
+ private values;
16
+ private optional?;
17
+ constructor({ message, values, optional }: Readonly<{
18
+ message: string;
19
+ values: Record<string, unknown>;
20
+ optional?: boolean;
21
+ }>);
22
+ getValue: () => Record<string, unknown>;
23
+ getOptional: () => boolean | undefined;
24
+ getFixingInstructions: (_sig: Readonly<AxSignature>) => {
25
+ name: string;
26
+ title: string;
27
+ description: string;
28
+ }[];
29
+ }
30
+ export declare const assertAssertions: (asserts: readonly AxAssertion[], values: Record<string, unknown>) => void;
31
+ export declare const assertStreamingAssertions: (asserts: readonly AxStreamingAssertion[], values: Record<string, unknown>, xstate: Readonly<extractionState>, content: string) => void;
32
+ export declare const assertRequiredFields: (sig: Readonly<AxSignature>, values: Record<string, unknown>) => void;
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertRequiredFields = exports.assertStreamingAssertions = exports.assertAssertions = exports.AxAssertionError = void 0;
4
+ class AxAssertionError extends Error {
5
+ values;
6
+ optional;
7
+ constructor({ message, values, optional }) {
8
+ super(message);
9
+ this.values = values;
10
+ this.optional = optional;
11
+ this.name = this.constructor.name;
12
+ this.stack = new Error().stack;
13
+ }
14
+ getValue = () => this.values;
15
+ getOptional = () => this.optional;
16
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
+ getFixingInstructions = (_sig) => {
18
+ const extraFields = [];
19
+ // for (const f of sig.getOutputFields()) {
20
+ // extraFields.push({
21
+ // name: `past_${f.name}`,
22
+ // title: `Past ${f.title}`,
23
+ // description: JSON.stringify(this.values[f.name])
24
+ // });
25
+ // }
26
+ extraFields.push({
27
+ name: 'instructions',
28
+ title: 'Instructions',
29
+ description: this.message
30
+ });
31
+ return extraFields;
32
+ };
33
+ }
34
+ exports.AxAssertionError = AxAssertionError;
35
+ // eslint-disable-next-line @typescript-eslint/naming-convention
36
+ const assertAssertions = (asserts, values) => {
37
+ for (const assert of asserts) {
38
+ const { fn, message, optional } = assert;
39
+ try {
40
+ const res = fn(values);
41
+ if (res === undefined) {
42
+ continue;
43
+ }
44
+ if (!res && message) {
45
+ throw new AxAssertionError({ message, values, optional });
46
+ }
47
+ }
48
+ catch (e) {
49
+ const message = e.message;
50
+ throw new AxAssertionError({ message, values, optional });
51
+ }
52
+ }
53
+ };
54
+ exports.assertAssertions = assertAssertions;
55
+ // eslint-disable-next-line @typescript-eslint/naming-convention
56
+ const assertStreamingAssertions = (asserts, values, xstate, content) => {
57
+ if (!xstate.currField ||
58
+ xstate.s === -1 ||
59
+ !asserts ||
60
+ asserts.length === 0) {
61
+ return;
62
+ }
63
+ const fieldAsserts = asserts.filter((a) => a.fieldName === xstate.currField?.name);
64
+ if (fieldAsserts.length === 0) {
65
+ return;
66
+ }
67
+ const currValue = content.substring(xstate.s);
68
+ for (const assert of fieldAsserts) {
69
+ const { message, optional, fn } = assert;
70
+ try {
71
+ const res = fn(currValue);
72
+ if (res === undefined) {
73
+ continue;
74
+ }
75
+ if (!res && message) {
76
+ throw new AxAssertionError({ message, values, optional });
77
+ }
78
+ }
79
+ catch (e) {
80
+ const message = e.message;
81
+ throw new AxAssertionError({ message, values, optional });
82
+ }
83
+ }
84
+ };
85
+ exports.assertStreamingAssertions = assertStreamingAssertions;
86
+ // eslint-disable-next-line @typescript-eslint/naming-convention
87
+ const assertRequiredFields = (sig, values) => {
88
+ const fields = sig.getOutputFields();
89
+ const missingFields = fields.filter((f) => !(f.name in values));
90
+ if (missingFields.length > 0) {
91
+ throw new AxAssertionError({
92
+ message: `Missing required fields: ${missingFields.map((f) => f.name).join(', ')}`,
93
+ values
94
+ });
95
+ }
96
+ };
97
+ exports.assertRequiredFields = assertRequiredFields;
98
+ //# sourceMappingURL=asserts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asserts.js","sourceRoot":"","sources":["../../../dsp/asserts.ts"],"names":[],"mappings":";;;AAgBA,MAAa,gBAAiB,SAAQ,KAAK;IACjC,MAAM,CAA0B;IAChC,QAAQ,CAAW;IAE3B,YAAY,EACV,OAAO,EACP,MAAM,EACN,QAAQ,EAKR;QACA,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;IACjC,CAAC;IACM,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;IAC7B,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;IAEzC,6DAA6D;IACtD,qBAAqB,GAAG,CAAC,IAA2B,EAAE,EAAE;QAC7D,MAAM,WAAW,GAAG,EAAE,CAAC;QAEvB,2CAA2C;QAC3C,uBAAuB;QACvB,8BAA8B;QAC9B,gCAAgC;QAChC,uDAAuD;QACvD,QAAQ;QACR,IAAI;QAEJ,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,IAAI,CAAC,OAAO;SAC1B,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;CACH;AA1CD,4CA0CC;AAED,gEAAgE;AACzD,MAAM,gBAAgB,GAAG,CAC9B,OAA+B,EAC/B,MAA+B,EAC/B,EAAE;IACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAEzC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;YACvB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,SAAS;YACX,CAAC;YAED,IAAI,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,gBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,OAAO,GAAI,CAAW,CAAC,OAAO,CAAC;YACrC,MAAM,IAAI,gBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AArBW,QAAA,gBAAgB,oBAqB3B;AAEF,gEAAgE;AACzD,MAAM,yBAAyB,GAAG,CACvC,OAAwC,EACxC,MAA+B,EAC/B,MAAiC,EACjC,OAAe,EACf,EAAE;IACF,IACE,CAAC,MAAM,CAAC,SAAS;QACjB,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;QACf,CAAC,OAAO;QACR,OAAO,CAAC,MAAM,KAAK,CAAC,EACpB,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAC9C,CAAC;IAEF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAE9C,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;QAEzC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,SAAS;YACX,CAAC;YAED,IAAI,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,gBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,OAAO,GAAI,CAAW,CAAC,OAAO,CAAC;YACrC,MAAM,IAAI,gBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AA1CW,QAAA,yBAAyB,6BA0CpC;AAEF,gEAAgE;AACzD,MAAM,oBAAoB,GAAG,CAClC,GAA0B,EAC1B,MAA+B,EAC/B,EAAE;IACF,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;IACrC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC;IAChE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,gBAAgB,CAAC;YACzB,OAAO,EAAE,4BAA4B,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAClF,MAAM;SACP,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,oBAAoB,wBAY/B"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Calculates the Exact Match (EM) score between a prediction and ground truth.
3
+ *
4
+ * The EM score is a strict metric used in machine learning to assess if the predicted
5
+ * answer matches the ground truth exactly, commonly used in tasks like question answering.
6
+ *
7
+ * @param prediction The predicted text.
8
+ * @param groundTruth The actual correct text.
9
+ * @returns A boolean indicating if the prediction exactly matches the ground truth.
10
+ */
11
+ declare function emScore(prediction: string, groundTruth: string): boolean;
12
+ /**
13
+ * Calculates the F1 score between a prediction and ground truth.
14
+ *
15
+ * The F1 score is a harmonic mean of precision and recall, widely used in NLP to measure
16
+ * a model's accuracy in considering both false positives and false negatives, offering a
17
+ * balance for evaluating classification models.
18
+ *
19
+ * @param prediction The predicted text.
20
+ * @param groundTruth The actual correct text.
21
+ * @returns The F1 score as a number.
22
+ */
23
+ declare function f1Score(prediction: string, groundTruth: string): number;
24
+ /**
25
+ * Calculates a novel F1 score, taking into account a history of interaction and excluding stopwords.
26
+ *
27
+ * This metric extends the F1 score by considering contextual relevance and filtering out common words
28
+ * that might skew the assessment of the prediction's quality, especially in conversational models or
29
+ * when historical context is relevant.
30
+ *
31
+ * @param history The historical context or preceding interactions.
32
+ * @param prediction The predicted text.
33
+ * @param groundTruth The actual correct text.
34
+ * @param returnRecall Optionally return the recall score instead of F1.
35
+ * @returns The novel F1 or recall score as a number.
36
+ */
37
+ declare function novelF1ScoreOptimized(history: string, prediction: string, groundTruth: string, returnRecall?: boolean): number;
38
+ export declare const axEvalUtil: {
39
+ emScore: typeof emScore;
40
+ f1Score: typeof f1Score;
41
+ novelF1ScoreOptimized: typeof novelF1ScoreOptimized;
42
+ };
43
+ export {};