@ax-llm/ax 9.0.21 → 9.0.23

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 +7 -9
  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
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.axEvalUtil = void 0;
4
+ const stopwords_js_1 = require("./stopwords.js");
5
+ /**
6
+ * Filters out tokens based on a set of exclusion tokens.
7
+ *
8
+ * @param tokens The array of tokens to filter.
9
+ * @param exclusions A set containing tokens to exclude.
10
+ * @returns An array of filtered tokens.
11
+ */
12
+ function filterTokens(tokens, exclusions) {
13
+ return tokens.filter((token) => !exclusions.has(token));
14
+ }
15
+ /**
16
+ * Counts the occurrences of each token in an array of tokens.
17
+ *
18
+ * This function supports the preprocessing step for NLP tasks like text similarity
19
+ * and classification by transforming text into a bag-of-words model, facilitating
20
+ * the comparison of different texts based on their content.
21
+ *
22
+ * @param tokens An array of string tokens.
23
+ * @returns A Counter object mapping each token to its count.
24
+ */
25
+ function countTokens(tokens) {
26
+ const counter = {};
27
+ for (const token of tokens) {
28
+ counter[token] = (counter[token] || 0) + 1;
29
+ }
30
+ return counter;
31
+ }
32
+ /**
33
+ * Normalizes text by lowercasing, removing punctuation, and squashing multiple spaces.
34
+ *
35
+ * This normalization is crucial in NLP for reducing the complexity of the text data,
36
+ * minimizing the variance between words that should be considered the same for analysis
37
+ * purposes (e.g., "Dog!" and "dog" are treated as the same word).
38
+ *
39
+ * @param s A string to be normalized.
40
+ * @returns A normalized string.
41
+ */
42
+ function normalizeText(s) {
43
+ s = s.normalize('NFD');
44
+ s = s.replace(/\b(a|an|the)\b/g, ' ');
45
+ s = s.split(/\s+/).join(' ');
46
+ s = s.replace(/[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]/g, '');
47
+ return s.toLowerCase();
48
+ }
49
+ /**
50
+ * Calculates the Exact Match (EM) score between a prediction and ground truth.
51
+ *
52
+ * The EM score is a strict metric used in machine learning to assess if the predicted
53
+ * answer matches the ground truth exactly, commonly used in tasks like question answering.
54
+ *
55
+ * @param prediction The predicted text.
56
+ * @param groundTruth The actual correct text.
57
+ * @returns A boolean indicating if the prediction exactly matches the ground truth.
58
+ */
59
+ function emScore(prediction, groundTruth) {
60
+ return normalizeText(prediction) === normalizeText(groundTruth);
61
+ }
62
+ /**
63
+ * Calculates the F1 score between a prediction and ground truth.
64
+ *
65
+ * The F1 score is a harmonic mean of precision and recall, widely used in NLP to measure
66
+ * a model's accuracy in considering both false positives and false negatives, offering a
67
+ * balance for evaluating classification models.
68
+ *
69
+ * @param prediction The predicted text.
70
+ * @param groundTruth The actual correct text.
71
+ * @returns The F1 score as a number.
72
+ */
73
+ function f1Score(prediction, groundTruth) {
74
+ const predictionTokens = normalizeText(prediction).split(' ');
75
+ const groundTruthTokens = normalizeText(groundTruth).split(' ');
76
+ // Calculate the intersection of common tokens between prediction and ground truth
77
+ const predictionCounts = countTokens(predictionTokens);
78
+ const groundTruthCounts = countTokens(groundTruthTokens);
79
+ let numSame = 0;
80
+ for (const token in predictionCounts) {
81
+ const v1 = predictionCounts[token] ?? 0;
82
+ const v2 = groundTruthCounts[token] ?? 0;
83
+ numSame += Math.min(v1, v2);
84
+ }
85
+ if (numSame === 0) {
86
+ return 0;
87
+ }
88
+ const precision = numSame / predictionTokens.length;
89
+ const recall = numSame / groundTruthTokens.length;
90
+ return (2 * precision * recall) / (precision + recall);
91
+ }
92
+ /**
93
+ * Calculates a novel F1 score, taking into account a history of interaction and excluding stopwords.
94
+ *
95
+ * This metric extends the F1 score by considering contextual relevance and filtering out common words
96
+ * that might skew the assessment of the prediction's quality, especially in conversational models or
97
+ * when historical context is relevant.
98
+ *
99
+ * @param history The historical context or preceding interactions.
100
+ * @param prediction The predicted text.
101
+ * @param groundTruth The actual correct text.
102
+ * @param returnRecall Optionally return the recall score instead of F1.
103
+ * @returns The novel F1 or recall score as a number.
104
+ */
105
+ function novelF1ScoreOptimized(history, prediction, groundTruth, returnRecall = false) {
106
+ // Normalize and split the input texts into tokens
107
+ const historyTokens = normalizeText(history).split(' ');
108
+ let predictionTokens = normalizeText(prediction).split(' ');
109
+ let groundTruthTokens = normalizeText(groundTruth).split(' ');
110
+ // Combine stopwords and history tokens for exclusion
111
+ const exclusions = new Set([...stopwords_js_1.stopwords, ...historyTokens]);
112
+ // Filter prediction and ground truth tokens against the exclusions
113
+ predictionTokens = filterTokens(predictionTokens, exclusions);
114
+ groundTruthTokens = filterTokens(groundTruthTokens, exclusions);
115
+ // Proceed with calculating common tokens, precision, recall, and F1 score as previously outlined
116
+ // Placeholder for the calculation logic
117
+ const numSame = 0; // This should be calculated as before
118
+ const precision = numSame / predictionTokens.length;
119
+ const recall = numSame / groundTruthTokens.length;
120
+ const f1 = (2 * precision * recall) / (precision + recall);
121
+ return returnRecall ? recall : f1;
122
+ }
123
+ exports.axEvalUtil = {
124
+ emScore,
125
+ f1Score,
126
+ novelF1ScoreOptimized
127
+ };
128
+ //# sourceMappingURL=eval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../../dsp/eval.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { AxExample, AxMetricFn } from './optimize.js';
2
+ import type { AxGenIn, AxGenOut, AxProgram } from './program.js';
3
+ export type AxEvaluateArgs<IN extends AxGenIn, OUT extends AxGenOut> = {
4
+ program: Readonly<AxProgram<IN, OUT>>;
5
+ examples: Readonly<AxExample[]>;
6
+ };
7
+ export declare class AxTestPrompt<IN extends AxGenIn = AxGenIn, OUT extends AxGenOut = AxGenOut> {
8
+ private program;
9
+ private examples;
10
+ constructor({ program, examples }: Readonly<AxEvaluateArgs<IN, OUT>>);
11
+ run(metricFn: AxMetricFn): Promise<void>;
12
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AxTestPrompt = void 0;
4
+ const util_js_1 = require("./util.js");
5
+ class AxTestPrompt {
6
+ program;
7
+ examples;
8
+ constructor({ program, examples = [] }) {
9
+ if (examples.length == 0) {
10
+ throw new Error('No examples found');
11
+ }
12
+ this.program = program;
13
+ this.examples = examples;
14
+ }
15
+ async run(metricFn) {
16
+ const st = new Date().getTime();
17
+ const total = this.examples.length;
18
+ let successCount = 0;
19
+ for (let i = 0; i < total; i++) {
20
+ const ex = this.examples[i];
21
+ if (!ex) {
22
+ throw new Error('Invalid example');
23
+ }
24
+ const res = await this.program.forward(ex);
25
+ const success = metricFn({ prediction: res, example: ex });
26
+ if (success) {
27
+ successCount++;
28
+ }
29
+ const et = new Date().getTime() - st;
30
+ (0, util_js_1.updateProgressBar)(i, total, successCount, et, 30, 'Testing Prompt');
31
+ }
32
+ console.log('\nPerformance: ', successCount, '/', total, 'Accuracy: ', successCount / total, '\n');
33
+ }
34
+ }
35
+ exports.AxTestPrompt = AxTestPrompt;
36
+ //# sourceMappingURL=evaluate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../../dsp/evaluate.ts"],"names":[],"mappings":";;;AAEA,uCAA8C;AAO9C,MAAa,YAAY;IAIf,OAAO,CAA+B;IACtC,QAAQ,CAAwB;IAExC,YAAY,EAAE,OAAO,EAAE,QAAQ,GAAG,EAAE,EAAqC;QACvE,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAAoB;QACnC,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnC,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrC,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAQ,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3D,IAAI,OAAO,EAAE,CAAC;gBACZ,YAAY,EAAE,CAAC;YACjB,CAAC;YAED,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;YACrC,IAAA,2BAAiB,EAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,CAAC,GAAG,CACT,iBAAiB,EACjB,YAAY,EACZ,GAAG,EACH,KAAK,EACL,YAAY,EACZ,YAAY,GAAG,KAAK,EACpB,IAAI,CACL,CAAC;IACJ,CAAC;CACF;AA9CD,oCA8CC"}
@@ -0,0 +1,25 @@
1
+ import type { AxField, AxSignature } from './sig.js';
2
+ export declare const extractValues: (sig: Readonly<AxSignature>, values: Record<string, unknown>, content: string) => void;
3
+ export interface extractionState {
4
+ currField?: AxField;
5
+ s: number;
6
+ }
7
+ export declare const streamingExtractValues: (sig: Readonly<AxSignature>, values: Record<string, unknown>, state: extractionState, content: string) => void;
8
+ export declare const streamingExtractFinalValue: (values: Record<string, unknown>, state: extractionState, content: string) => void;
9
+ export declare class ValidationError extends Error {
10
+ private field;
11
+ private value;
12
+ constructor({ message, field, value }: Readonly<{
13
+ message: string;
14
+ field: AxField;
15
+ value: string;
16
+ }>);
17
+ getField: () => AxField;
18
+ getValue: () => string;
19
+ getFixingInstructions: () => {
20
+ name: string;
21
+ title: string;
22
+ description: string;
23
+ }[];
24
+ }
25
+ export declare const extractBlock: (input: string) => string;
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.extractBlock = exports.ValidationError = exports.streamingExtractFinalValue = exports.streamingExtractValues = exports.extractValues = void 0;
7
+ /* eslint-disable @typescript-eslint/naming-convention */
8
+ const json5_1 = __importDefault(require("json5"));
9
+ const extractValues = (sig, values, content) => {
10
+ const xstate = { s: -1 };
11
+ (0, exports.streamingExtractValues)(sig, values, xstate, content);
12
+ (0, exports.streamingExtractFinalValue)(values, xstate, content);
13
+ };
14
+ exports.extractValues = extractValues;
15
+ const streamingExtractValues = (sig, values,
16
+ // eslint-disable-next-line functional/prefer-immutable-types
17
+ state, content) => {
18
+ const fields = sig.getOutputFields();
19
+ for (const field of fields) {
20
+ if (field.name in values) {
21
+ continue;
22
+ }
23
+ const prefix = field.title + ':';
24
+ const e = content.indexOf(prefix, state.s + 1);
25
+ if (e === -1) {
26
+ continue;
27
+ }
28
+ if (state.currField) {
29
+ const val = content
30
+ .substring(state.s, e)
31
+ .trim()
32
+ .replace(/---+$/, '')
33
+ .trim();
34
+ if (state.currField.type) {
35
+ values[state.currField.name] = validateAndParseJson(state.currField, val);
36
+ }
37
+ else {
38
+ values[state.currField.name] = val;
39
+ }
40
+ }
41
+ state.s = e + prefix.length + 1;
42
+ state.currField = field;
43
+ }
44
+ };
45
+ exports.streamingExtractValues = streamingExtractValues;
46
+ const streamingExtractFinalValue = (values,
47
+ // eslint-disable-next-line functional/prefer-immutable-types
48
+ state, content) => {
49
+ if (!state.currField) {
50
+ return;
51
+ }
52
+ const val = content.substring(state.s).trim().replace(/---+$/, '').trim();
53
+ if (state.currField.type) {
54
+ values[state.currField.name] = validateAndParseJson(state.currField, val);
55
+ }
56
+ else {
57
+ values[state.currField.name] = val;
58
+ }
59
+ };
60
+ exports.streamingExtractFinalValue = streamingExtractFinalValue;
61
+ function validateAndParseJson(field, jsonString) {
62
+ const typeObj = field.type;
63
+ if (!typeObj) {
64
+ return jsonString;
65
+ }
66
+ const text = (0, exports.extractBlock)(jsonString);
67
+ // Attempt to parse the JSON string based on the expected type, if not a string
68
+ let value;
69
+ if (typeObj.name !== 'string' || typeObj.isArray) {
70
+ try {
71
+ value = json5_1.default.parse(text);
72
+ }
73
+ catch (e) {
74
+ const exp = typeObj.isArray ? `array of ${typeObj.name}` : typeObj.name;
75
+ const message = `Error '${e.message}', expected '${exp}' got '${text}'`;
76
+ throw new ValidationError({ message, field, value: text });
77
+ }
78
+ }
79
+ else {
80
+ // If the expected type is a string and not an array, use the jsonString directly
81
+ value = text;
82
+ }
83
+ // Now, validate the parsed value or direct string
84
+ const validateSingleValue = (expectedType, val) => {
85
+ switch (expectedType) {
86
+ case 'string':
87
+ return typeof val === 'string';
88
+ case 'number':
89
+ return typeof val === 'number';
90
+ case 'boolean':
91
+ return typeof val === 'boolean';
92
+ case 'json':
93
+ return typeof val === 'object' || Array.isArray(val);
94
+ default:
95
+ return false; // Unknown type
96
+ }
97
+ };
98
+ if (typeObj.isArray) {
99
+ if (!Array.isArray(value)) {
100
+ const message = `Expected an array, but got '${typeof value}'.`;
101
+ throw new ValidationError({ message, field, value: jsonString });
102
+ }
103
+ for (const item of value) {
104
+ if (!validateSingleValue(typeObj.name, item)) {
105
+ const message = `Expected all items in array to be of type '${typeObj.name}', but found an item of type '${typeof item}'.`;
106
+ throw new ValidationError({ message, field, value: jsonString });
107
+ }
108
+ }
109
+ }
110
+ else {
111
+ if (!validateSingleValue(typeObj.name, value)) {
112
+ const message = `Expected value of type '${typeObj.name}', but got '${typeof value}'.`;
113
+ throw new ValidationError({ message, field, value: jsonString });
114
+ }
115
+ }
116
+ // If validation passes, return null to indicate no error
117
+ return value;
118
+ }
119
+ class ValidationError extends Error {
120
+ field;
121
+ value;
122
+ constructor({ message, field, value }) {
123
+ super(message);
124
+ this.field = field;
125
+ this.value = value;
126
+ this.name = this.constructor.name;
127
+ Error.captureStackTrace(this, this.constructor);
128
+ }
129
+ getField = () => this.field;
130
+ getValue = () => this.value;
131
+ getFixingInstructions = () => {
132
+ const f = this.field;
133
+ const extraFields = [
134
+ {
135
+ name: `past_${f.name}`,
136
+ title: `Past ${f.title}`,
137
+ description: this.value
138
+ },
139
+ {
140
+ name: 'instructions',
141
+ title: 'Instructions',
142
+ description: this.message
143
+ }
144
+ ];
145
+ return extraFields;
146
+ };
147
+ }
148
+ exports.ValidationError = ValidationError;
149
+ const extractBlock = (input) => {
150
+ const jsonBlockPattern = /```([A-Za-z]+)?\s*([\s\S]*?)\s*```/g;
151
+ const match = jsonBlockPattern.exec(input);
152
+ if (!match) {
153
+ return input;
154
+ }
155
+ if (match.length === 3) {
156
+ return match[2];
157
+ }
158
+ if (match.length === 2) {
159
+ return match[1];
160
+ }
161
+ return input;
162
+ };
163
+ exports.extractBlock = extractBlock;
164
+ //# sourceMappingURL=extract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../dsp/extract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type { AxAIService, AxChatRequest, AxFunction, AxRateLimiterFunction } from '../ai/types.js';
2
+ import { type AxChatResponseFunctionCall } from '../funcs/functions.js';
3
+ import { type AxAIMemory, AxMemory } from '../mem/index.js';
4
+ import { type AxTracer } from '../trace/index.js';
5
+ import { type AxAssertion, type AxStreamingAssertion } from './asserts.js';
6
+ import { type AxGenIn, type AxGenOut, AxProgram, type AxProgramForwardOptions } from './program.js';
7
+ import { AxPromptTemplate } from './prompt.js';
8
+ import { AxSignature } from './sig.js';
9
+ export interface AxGenerateOptions {
10
+ maxCompletions?: number;
11
+ maxRetries?: number;
12
+ maxSteps?: number;
13
+ mem?: AxAIMemory;
14
+ tracer?: AxTracer;
15
+ rateLimiter?: AxRateLimiterFunction;
16
+ stream?: boolean;
17
+ debug?: boolean;
18
+ functions?: AxFunction[];
19
+ functionCall?: AxChatRequest['functionCall'];
20
+ promptTemplate?: typeof AxPromptTemplate;
21
+ asserts?: AxAssertion[];
22
+ streamingAsserts?: AxStreamingAssertion[];
23
+ }
24
+ export type AxGenerateResult<OUT extends AxGenOut> = OUT & {
25
+ functions?: AxChatResponseFunctionCall[];
26
+ };
27
+ export interface AxResponseHandlerArgs<T> {
28
+ res: T;
29
+ usageInfo: {
30
+ ai: string;
31
+ model: string;
32
+ };
33
+ mem: AxAIMemory;
34
+ sessionId?: string;
35
+ traceId?: string;
36
+ }
37
+ export declare class AxGenerate<IN extends AxGenIn = AxGenIn, OUT extends AxGenerateResult<AxGenOut> = AxGenerateResult<AxGenOut>> extends AxProgram<IN, OUT> {
38
+ private pt;
39
+ private asserts;
40
+ private streamingAsserts;
41
+ private options?;
42
+ private funcProc?;
43
+ private functionList?;
44
+ constructor(ai: AxAIService, signature: Readonly<AxSignature | string>, options?: Readonly<AxGenerateOptions>);
45
+ private updateSigForFunctions;
46
+ addAssert: (fn: AxAssertion["fn"], message?: string, optional?: boolean) => void;
47
+ addStreamingAssert: (fieldName: string, fn: AxStreamingAssertion["fn"], message?: string, optional?: boolean) => void;
48
+ private forwardSendRequest;
49
+ private forwardCore;
50
+ private processSteamingResponse;
51
+ private processResponse;
52
+ private _forward;
53
+ forward(values: IN, options?: Readonly<AxProgramForwardOptions>): Promise<OUT>;
54
+ processFunctions: (functionCalls: readonly AxChatResponseFunctionCall[], mem: Readonly<AxMemory>, sessionId?: string, traceId?: string) => Promise<void>;
55
+ }