@compresr/sdk 1.3.2 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +237 -173
  3. package/dist/cjs/agents/engine.d.ts +121 -0
  4. package/dist/cjs/agents/engine.d.ts.map +1 -0
  5. package/dist/cjs/agents/engine.js +517 -0
  6. package/dist/cjs/agents/engine.js.map +1 -0
  7. package/dist/cjs/agents/facades/anthropic.d.ts +26 -0
  8. package/dist/cjs/agents/facades/anthropic.d.ts.map +1 -0
  9. package/dist/cjs/agents/facades/anthropic.js +46 -0
  10. package/dist/cjs/agents/facades/anthropic.js.map +1 -0
  11. package/dist/cjs/agents/facades/index.d.ts +4 -0
  12. package/dist/cjs/agents/facades/index.d.ts.map +1 -0
  13. package/dist/cjs/agents/facades/index.js +10 -0
  14. package/dist/cjs/agents/facades/index.js.map +1 -0
  15. package/dist/cjs/agents/facades/native.d.ts +29 -0
  16. package/dist/cjs/agents/facades/native.d.ts.map +1 -0
  17. package/dist/cjs/agents/facades/native.js +27 -0
  18. package/dist/cjs/agents/facades/native.js.map +1 -0
  19. package/dist/cjs/agents/facades/openai.d.ts +32 -0
  20. package/dist/cjs/agents/facades/openai.d.ts.map +1 -0
  21. package/dist/cjs/agents/facades/openai.js +55 -0
  22. package/dist/cjs/agents/facades/openai.js.map +1 -0
  23. package/dist/cjs/agents/index.d.ts +23 -0
  24. package/dist/cjs/agents/index.d.ts.map +1 -0
  25. package/dist/cjs/agents/index.js +37 -0
  26. package/dist/cjs/agents/index.js.map +1 -0
  27. package/dist/cjs/agents/normalized.d.ts +59 -0
  28. package/dist/cjs/agents/normalized.d.ts.map +1 -0
  29. package/dist/cjs/agents/normalized.js +35 -0
  30. package/dist/cjs/agents/normalized.js.map +1 -0
  31. package/dist/cjs/agents/schemas/anthropic.d.ts +46 -0
  32. package/dist/cjs/agents/schemas/anthropic.d.ts.map +1 -0
  33. package/dist/cjs/agents/schemas/anthropic.js +55 -0
  34. package/dist/cjs/agents/schemas/anthropic.js.map +1 -0
  35. package/dist/cjs/agents/schemas/index.d.ts +3 -0
  36. package/dist/cjs/agents/schemas/index.d.ts.map +1 -0
  37. package/dist/cjs/agents/schemas/index.js +8 -0
  38. package/dist/cjs/agents/schemas/index.js.map +1 -0
  39. package/dist/cjs/agents/schemas/openai.d.ts +51 -0
  40. package/dist/cjs/agents/schemas/openai.d.ts.map +1 -0
  41. package/dist/cjs/agents/schemas/openai.js +60 -0
  42. package/dist/cjs/agents/schemas/openai.js.map +1 -0
  43. package/dist/cjs/agents/tools/index.d.ts +2 -0
  44. package/dist/cjs/agents/tools/index.d.ts.map +1 -0
  45. package/dist/cjs/agents/tools/index.js +7 -0
  46. package/dist/cjs/agents/tools/index.js.map +1 -0
  47. package/dist/cjs/agents/tools/web-search.d.ts +56 -0
  48. package/dist/cjs/agents/tools/web-search.d.ts.map +1 -0
  49. package/dist/cjs/agents/tools/web-search.js +128 -0
  50. package/dist/cjs/agents/tools/web-search.js.map +1 -0
  51. package/dist/cjs/clients/compression.d.ts +39 -147
  52. package/dist/cjs/clients/compression.d.ts.map +1 -1
  53. package/dist/cjs/clients/compression.js +114 -194
  54. package/dist/cjs/clients/compression.js.map +1 -1
  55. package/dist/cjs/clients/index.d.ts +1 -1
  56. package/dist/cjs/clients/index.d.ts.map +1 -1
  57. package/dist/cjs/clients/index.js.map +1 -1
  58. package/dist/cjs/config/constants.d.ts +3 -28
  59. package/dist/cjs/config/constants.d.ts.map +1 -1
  60. package/dist/cjs/config/constants.js +4 -43
  61. package/dist/cjs/config/constants.js.map +1 -1
  62. package/dist/cjs/config/endpoints.d.ts +3 -15
  63. package/dist/cjs/config/endpoints.d.ts.map +1 -1
  64. package/dist/cjs/config/endpoints.js +3 -20
  65. package/dist/cjs/config/endpoints.js.map +1 -1
  66. package/dist/cjs/config/index.d.ts +1 -1
  67. package/dist/cjs/config/index.d.ts.map +1 -1
  68. package/dist/cjs/config/index.js +1 -7
  69. package/dist/cjs/config/index.js.map +1 -1
  70. package/dist/cjs/errors/exceptions.d.ts.map +1 -1
  71. package/dist/cjs/errors/exceptions.js +0 -6
  72. package/dist/cjs/errors/exceptions.js.map +1 -1
  73. package/dist/cjs/http/client.d.ts +5 -17
  74. package/dist/cjs/http/client.d.ts.map +1 -1
  75. package/dist/cjs/http/client.js +110 -115
  76. package/dist/cjs/http/client.js.map +1 -1
  77. package/dist/cjs/index.d.ts +7 -15
  78. package/dist/cjs/index.d.ts.map +1 -1
  79. package/dist/cjs/index.js +22 -25
  80. package/dist/cjs/index.js.map +1 -1
  81. package/dist/cjs/integrations/_shared/client.d.ts +13 -0
  82. package/dist/cjs/integrations/_shared/client.d.ts.map +1 -0
  83. package/dist/cjs/integrations/_shared/client.js +21 -0
  84. package/dist/cjs/integrations/_shared/client.js.map +1 -0
  85. package/dist/cjs/integrations/_shared/compress.d.ts +28 -0
  86. package/dist/cjs/integrations/_shared/compress.d.ts.map +1 -0
  87. package/dist/cjs/integrations/_shared/compress.js +38 -0
  88. package/dist/cjs/integrations/_shared/compress.js.map +1 -0
  89. package/dist/cjs/integrations/_shared/errors.d.ts +20 -0
  90. package/dist/cjs/integrations/_shared/errors.d.ts.map +1 -0
  91. package/dist/cjs/integrations/_shared/errors.js +49 -0
  92. package/dist/cjs/integrations/_shared/errors.js.map +1 -0
  93. package/dist/cjs/integrations/_shared/filters.d.ts +20 -0
  94. package/dist/cjs/integrations/_shared/filters.d.ts.map +1 -0
  95. package/dist/cjs/integrations/_shared/filters.js +33 -0
  96. package/dist/cjs/integrations/_shared/filters.js.map +1 -0
  97. package/dist/cjs/integrations/_shared/index.d.ts +7 -0
  98. package/dist/cjs/integrations/_shared/index.d.ts.map +1 -0
  99. package/dist/cjs/integrations/_shared/index.js +26 -0
  100. package/dist/cjs/integrations/_shared/index.js.map +1 -0
  101. package/dist/cjs/integrations/_shared/query.d.ts +48 -0
  102. package/dist/cjs/integrations/_shared/query.d.ts.map +1 -0
  103. package/dist/cjs/integrations/_shared/query.js +141 -0
  104. package/dist/cjs/integrations/_shared/query.js.map +1 -0
  105. package/dist/cjs/integrations/_shared/tokens.d.ts +20 -0
  106. package/dist/cjs/integrations/_shared/tokens.d.ts.map +1 -0
  107. package/dist/cjs/integrations/_shared/tokens.js +26 -0
  108. package/dist/cjs/integrations/_shared/tokens.js.map +1 -0
  109. package/dist/cjs/integrations/langchain/index.d.ts +10 -0
  110. package/dist/cjs/integrations/langchain/index.d.ts.map +1 -0
  111. package/dist/cjs/integrations/langchain/index.js +18 -0
  112. package/dist/cjs/integrations/langchain/index.js.map +1 -0
  113. package/dist/cjs/integrations/langchain/middleware.d.ts +94 -0
  114. package/dist/cjs/integrations/langchain/middleware.d.ts.map +1 -0
  115. package/dist/cjs/integrations/langchain/middleware.js +273 -0
  116. package/dist/cjs/integrations/langchain/middleware.js.map +1 -0
  117. package/dist/cjs/integrations/langchain/retriever.d.ts +54 -0
  118. package/dist/cjs/integrations/langchain/retriever.d.ts.map +1 -0
  119. package/dist/cjs/integrations/langchain/retriever.js +118 -0
  120. package/dist/cjs/integrations/langchain/retriever.js.map +1 -0
  121. package/dist/cjs/integrations/langchain/wrappers.d.ts +39 -0
  122. package/dist/cjs/integrations/langchain/wrappers.d.ts.map +1 -0
  123. package/dist/cjs/integrations/langchain/wrappers.js +88 -0
  124. package/dist/cjs/integrations/langchain/wrappers.js.map +1 -0
  125. package/dist/cjs/integrations/langgraph/checkpoint.d.ts +49 -0
  126. package/dist/cjs/integrations/langgraph/checkpoint.d.ts.map +1 -0
  127. package/dist/cjs/integrations/langgraph/checkpoint.js +79 -0
  128. package/dist/cjs/integrations/langgraph/checkpoint.js.map +1 -0
  129. package/dist/cjs/integrations/langgraph/handoff.d.ts +44 -0
  130. package/dist/cjs/integrations/langgraph/handoff.d.ts.map +1 -0
  131. package/dist/cjs/integrations/langgraph/handoff.js +86 -0
  132. package/dist/cjs/integrations/langgraph/handoff.js.map +1 -0
  133. package/dist/cjs/integrations/langgraph/index.d.ts +18 -0
  134. package/dist/cjs/integrations/langgraph/index.d.ts.map +1 -0
  135. package/dist/cjs/integrations/langgraph/index.js +28 -0
  136. package/dist/cjs/integrations/langgraph/index.js.map +1 -0
  137. package/dist/cjs/integrations/langgraph/nodes.d.ts +34 -0
  138. package/dist/cjs/integrations/langgraph/nodes.d.ts.map +1 -0
  139. package/dist/cjs/integrations/langgraph/nodes.js +54 -0
  140. package/dist/cjs/integrations/langgraph/nodes.js.map +1 -0
  141. package/dist/cjs/integrations/langgraph/store.d.ts +76 -0
  142. package/dist/cjs/integrations/langgraph/store.d.ts.map +1 -0
  143. package/dist/cjs/integrations/langgraph/store.js +121 -0
  144. package/dist/cjs/integrations/langgraph/store.js.map +1 -0
  145. package/dist/cjs/integrations/llamaindex/index.d.ts +10 -0
  146. package/dist/cjs/integrations/llamaindex/index.d.ts.map +1 -0
  147. package/dist/cjs/integrations/llamaindex/index.js +15 -0
  148. package/dist/cjs/integrations/llamaindex/index.js.map +1 -0
  149. package/dist/cjs/integrations/llamaindex/memory.d.ts +74 -0
  150. package/dist/cjs/integrations/llamaindex/memory.d.ts.map +1 -0
  151. package/dist/cjs/integrations/llamaindex/memory.js +95 -0
  152. package/dist/cjs/integrations/llamaindex/memory.js.map +1 -0
  153. package/dist/cjs/integrations/llamaindex/postprocessor.d.ts +66 -0
  154. package/dist/cjs/integrations/llamaindex/postprocessor.d.ts.map +1 -0
  155. package/dist/cjs/integrations/llamaindex/postprocessor.js +172 -0
  156. package/dist/cjs/integrations/llamaindex/postprocessor.js.map +1 -0
  157. package/dist/cjs/integrations/llamaindex/wrappers.d.ts +38 -0
  158. package/dist/cjs/integrations/llamaindex/wrappers.d.ts.map +1 -0
  159. package/dist/cjs/integrations/llamaindex/wrappers.js +46 -0
  160. package/dist/cjs/integrations/llamaindex/wrappers.js.map +1 -0
  161. package/dist/cjs/logger.d.ts +18 -0
  162. package/dist/cjs/logger.d.ts.map +1 -0
  163. package/dist/cjs/logger.js +41 -0
  164. package/dist/cjs/logger.js.map +1 -0
  165. package/dist/cjs/schemas/compression.d.ts +10 -80
  166. package/dist/cjs/schemas/compression.d.ts.map +1 -1
  167. package/dist/cjs/schemas/compression.js +4 -57
  168. package/dist/cjs/schemas/compression.js.map +1 -1
  169. package/dist/cjs/schemas/index.d.ts +1 -4
  170. package/dist/cjs/schemas/index.d.ts.map +1 -1
  171. package/dist/cjs/schemas/index.js +1 -8
  172. package/dist/cjs/schemas/index.js.map +1 -1
  173. package/dist/cjs/version.d.ts +1 -1
  174. package/dist/cjs/version.js +1 -1
  175. package/dist/esm/agents/engine.d.ts +121 -0
  176. package/dist/esm/agents/engine.d.ts.map +1 -0
  177. package/dist/esm/agents/engine.js +478 -0
  178. package/dist/esm/agents/engine.js.map +1 -0
  179. package/dist/esm/agents/facades/anthropic.d.ts +26 -0
  180. package/dist/esm/agents/facades/anthropic.d.ts.map +1 -0
  181. package/dist/esm/agents/facades/anthropic.js +43 -0
  182. package/dist/esm/agents/facades/anthropic.js.map +1 -0
  183. package/dist/esm/agents/facades/index.d.ts +4 -0
  184. package/dist/esm/agents/facades/index.d.ts.map +1 -0
  185. package/dist/esm/agents/facades/index.js +4 -0
  186. package/dist/esm/agents/facades/index.js.map +1 -0
  187. package/dist/esm/agents/facades/native.d.ts +29 -0
  188. package/dist/esm/agents/facades/native.d.ts.map +1 -0
  189. package/dist/esm/agents/facades/native.js +24 -0
  190. package/dist/esm/agents/facades/native.js.map +1 -0
  191. package/dist/esm/agents/facades/openai.d.ts +32 -0
  192. package/dist/esm/agents/facades/openai.d.ts.map +1 -0
  193. package/dist/esm/agents/facades/openai.js +52 -0
  194. package/dist/esm/agents/facades/openai.js.map +1 -0
  195. package/dist/esm/agents/index.d.ts +23 -0
  196. package/dist/esm/agents/index.d.ts.map +1 -0
  197. package/dist/esm/agents/index.js +23 -0
  198. package/dist/esm/agents/index.js.map +1 -0
  199. package/dist/esm/agents/normalized.d.ts +59 -0
  200. package/dist/esm/agents/normalized.d.ts.map +1 -0
  201. package/dist/esm/agents/normalized.js +31 -0
  202. package/dist/esm/agents/normalized.js.map +1 -0
  203. package/dist/esm/agents/schemas/anthropic.d.ts +46 -0
  204. package/dist/esm/agents/schemas/anthropic.d.ts.map +1 -0
  205. package/dist/esm/agents/schemas/anthropic.js +52 -0
  206. package/dist/esm/agents/schemas/anthropic.js.map +1 -0
  207. package/dist/esm/agents/schemas/index.d.ts +3 -0
  208. package/dist/esm/agents/schemas/index.d.ts.map +1 -0
  209. package/dist/esm/agents/schemas/index.js +3 -0
  210. package/dist/esm/agents/schemas/index.js.map +1 -0
  211. package/dist/esm/agents/schemas/openai.d.ts +51 -0
  212. package/dist/esm/agents/schemas/openai.d.ts.map +1 -0
  213. package/dist/esm/agents/schemas/openai.js +57 -0
  214. package/dist/esm/agents/schemas/openai.js.map +1 -0
  215. package/dist/esm/agents/tools/index.d.ts +2 -0
  216. package/dist/esm/agents/tools/index.d.ts.map +1 -0
  217. package/dist/esm/agents/tools/index.js +2 -0
  218. package/dist/esm/agents/tools/index.js.map +1 -0
  219. package/dist/esm/agents/tools/web-search.d.ts +56 -0
  220. package/dist/esm/agents/tools/web-search.d.ts.map +1 -0
  221. package/dist/esm/agents/tools/web-search.js +91 -0
  222. package/dist/esm/agents/tools/web-search.js.map +1 -0
  223. package/dist/esm/clients/compression.d.ts +39 -147
  224. package/dist/esm/clients/compression.d.ts.map +1 -1
  225. package/dist/esm/clients/compression.js +117 -197
  226. package/dist/esm/clients/compression.js.map +1 -1
  227. package/dist/esm/clients/index.d.ts +1 -1
  228. package/dist/esm/clients/index.d.ts.map +1 -1
  229. package/dist/esm/clients/index.js.map +1 -1
  230. package/dist/esm/config/constants.d.ts +3 -28
  231. package/dist/esm/config/constants.d.ts.map +1 -1
  232. package/dist/esm/config/constants.js +3 -42
  233. package/dist/esm/config/constants.js.map +1 -1
  234. package/dist/esm/config/endpoints.d.ts +3 -15
  235. package/dist/esm/config/endpoints.d.ts.map +1 -1
  236. package/dist/esm/config/endpoints.js +3 -20
  237. package/dist/esm/config/endpoints.js.map +1 -1
  238. package/dist/esm/config/index.d.ts +1 -1
  239. package/dist/esm/config/index.d.ts.map +1 -1
  240. package/dist/esm/config/index.js +1 -1
  241. package/dist/esm/config/index.js.map +1 -1
  242. package/dist/esm/errors/exceptions.d.ts.map +1 -1
  243. package/dist/esm/errors/exceptions.js +0 -6
  244. package/dist/esm/errors/exceptions.js.map +1 -1
  245. package/dist/esm/http/client.d.ts +5 -17
  246. package/dist/esm/http/client.d.ts.map +1 -1
  247. package/dist/esm/http/client.js +110 -115
  248. package/dist/esm/http/client.js.map +1 -1
  249. package/dist/esm/index.d.ts +7 -15
  250. package/dist/esm/index.d.ts.map +1 -1
  251. package/dist/esm/index.js +7 -13
  252. package/dist/esm/index.js.map +1 -1
  253. package/dist/esm/integrations/_shared/client.d.ts +13 -0
  254. package/dist/esm/integrations/_shared/client.d.ts.map +1 -0
  255. package/dist/esm/integrations/_shared/client.js +17 -0
  256. package/dist/esm/integrations/_shared/client.js.map +1 -0
  257. package/dist/esm/integrations/_shared/compress.d.ts +28 -0
  258. package/dist/esm/integrations/_shared/compress.d.ts.map +1 -0
  259. package/dist/esm/integrations/_shared/compress.js +35 -0
  260. package/dist/esm/integrations/_shared/compress.js.map +1 -0
  261. package/dist/esm/integrations/_shared/errors.d.ts +20 -0
  262. package/dist/esm/integrations/_shared/errors.d.ts.map +1 -0
  263. package/dist/esm/integrations/_shared/errors.js +44 -0
  264. package/dist/esm/integrations/_shared/errors.js.map +1 -0
  265. package/dist/esm/integrations/_shared/filters.d.ts +20 -0
  266. package/dist/esm/integrations/_shared/filters.d.ts.map +1 -0
  267. package/dist/esm/integrations/_shared/filters.js +30 -0
  268. package/dist/esm/integrations/_shared/filters.js.map +1 -0
  269. package/dist/esm/integrations/_shared/index.d.ts +7 -0
  270. package/dist/esm/integrations/_shared/index.d.ts.map +1 -0
  271. package/dist/esm/integrations/_shared/index.js +7 -0
  272. package/dist/esm/integrations/_shared/index.js.map +1 -0
  273. package/dist/esm/integrations/_shared/query.d.ts +48 -0
  274. package/dist/esm/integrations/_shared/query.d.ts.map +1 -0
  275. package/dist/esm/integrations/_shared/query.js +135 -0
  276. package/dist/esm/integrations/_shared/query.js.map +1 -0
  277. package/dist/esm/integrations/_shared/tokens.d.ts +20 -0
  278. package/dist/esm/integrations/_shared/tokens.d.ts.map +1 -0
  279. package/dist/esm/integrations/_shared/tokens.js +23 -0
  280. package/dist/esm/integrations/_shared/tokens.js.map +1 -0
  281. package/dist/esm/integrations/langchain/index.d.ts +10 -0
  282. package/dist/esm/integrations/langchain/index.d.ts.map +1 -0
  283. package/dist/esm/integrations/langchain/index.js +9 -0
  284. package/dist/esm/integrations/langchain/index.js.map +1 -0
  285. package/dist/esm/integrations/langchain/middleware.d.ts +94 -0
  286. package/dist/esm/integrations/langchain/middleware.d.ts.map +1 -0
  287. package/dist/esm/integrations/langchain/middleware.js +268 -0
  288. package/dist/esm/integrations/langchain/middleware.js.map +1 -0
  289. package/dist/esm/integrations/langchain/retriever.d.ts +54 -0
  290. package/dist/esm/integrations/langchain/retriever.d.ts.map +1 -0
  291. package/dist/esm/integrations/langchain/retriever.js +114 -0
  292. package/dist/esm/integrations/langchain/retriever.js.map +1 -0
  293. package/dist/esm/integrations/langchain/wrappers.d.ts +39 -0
  294. package/dist/esm/integrations/langchain/wrappers.d.ts.map +1 -0
  295. package/dist/esm/integrations/langchain/wrappers.js +84 -0
  296. package/dist/esm/integrations/langchain/wrappers.js.map +1 -0
  297. package/dist/esm/integrations/langgraph/checkpoint.d.ts +49 -0
  298. package/dist/esm/integrations/langgraph/checkpoint.d.ts.map +1 -0
  299. package/dist/esm/integrations/langgraph/checkpoint.js +75 -0
  300. package/dist/esm/integrations/langgraph/checkpoint.js.map +1 -0
  301. package/dist/esm/integrations/langgraph/handoff.d.ts +44 -0
  302. package/dist/esm/integrations/langgraph/handoff.d.ts.map +1 -0
  303. package/dist/esm/integrations/langgraph/handoff.js +83 -0
  304. package/dist/esm/integrations/langgraph/handoff.js.map +1 -0
  305. package/dist/esm/integrations/langgraph/index.d.ts +18 -0
  306. package/dist/esm/integrations/langgraph/index.d.ts.map +1 -0
  307. package/dist/esm/integrations/langgraph/index.js +17 -0
  308. package/dist/esm/integrations/langgraph/index.js.map +1 -0
  309. package/dist/esm/integrations/langgraph/nodes.d.ts +34 -0
  310. package/dist/esm/integrations/langgraph/nodes.d.ts.map +1 -0
  311. package/dist/esm/integrations/langgraph/nodes.js +51 -0
  312. package/dist/esm/integrations/langgraph/nodes.js.map +1 -0
  313. package/dist/esm/integrations/langgraph/store.d.ts +76 -0
  314. package/dist/esm/integrations/langgraph/store.d.ts.map +1 -0
  315. package/dist/esm/integrations/langgraph/store.js +117 -0
  316. package/dist/esm/integrations/langgraph/store.js.map +1 -0
  317. package/dist/esm/integrations/llamaindex/index.d.ts +10 -0
  318. package/dist/esm/integrations/llamaindex/index.d.ts.map +1 -0
  319. package/dist/esm/integrations/llamaindex/index.js +9 -0
  320. package/dist/esm/integrations/llamaindex/index.js.map +1 -0
  321. package/dist/esm/integrations/llamaindex/memory.d.ts +74 -0
  322. package/dist/esm/integrations/llamaindex/memory.d.ts.map +1 -0
  323. package/dist/esm/integrations/llamaindex/memory.js +91 -0
  324. package/dist/esm/integrations/llamaindex/memory.js.map +1 -0
  325. package/dist/esm/integrations/llamaindex/postprocessor.d.ts +66 -0
  326. package/dist/esm/integrations/llamaindex/postprocessor.d.ts.map +1 -0
  327. package/dist/esm/integrations/llamaindex/postprocessor.js +168 -0
  328. package/dist/esm/integrations/llamaindex/postprocessor.js.map +1 -0
  329. package/dist/esm/integrations/llamaindex/wrappers.d.ts +38 -0
  330. package/dist/esm/integrations/llamaindex/wrappers.d.ts.map +1 -0
  331. package/dist/esm/integrations/llamaindex/wrappers.js +43 -0
  332. package/dist/esm/integrations/llamaindex/wrappers.js.map +1 -0
  333. package/dist/esm/logger.d.ts +18 -0
  334. package/dist/esm/logger.d.ts.map +1 -0
  335. package/dist/esm/logger.js +37 -0
  336. package/dist/esm/logger.js.map +1 -0
  337. package/dist/esm/schemas/compression.d.ts +10 -80
  338. package/dist/esm/schemas/compression.d.ts.map +1 -1
  339. package/dist/esm/schemas/compression.js +3 -56
  340. package/dist/esm/schemas/compression.js.map +1 -1
  341. package/dist/esm/schemas/index.d.ts +1 -4
  342. package/dist/esm/schemas/index.d.ts.map +1 -1
  343. package/dist/esm/schemas/index.js +1 -6
  344. package/dist/esm/schemas/index.js.map +1 -1
  345. package/dist/esm/version.d.ts +1 -1
  346. package/dist/esm/version.js +1 -1
  347. package/package.json +89 -4
@@ -0,0 +1,91 @@
1
+ import { CompresrError } from '../../errors/index.js';
2
+ async function buildTavily(options) {
3
+ let mod;
4
+ try {
5
+ mod = (await import(
6
+ // @ts-expect-error — optional peer; types not guaranteed at compile time
7
+ '@langchain/tavily'));
8
+ }
9
+ catch {
10
+ throw new CompresrError("WebSearchTool.tavily requires '@langchain/tavily'. " +
11
+ 'Install with: npm install @langchain/tavily', 'missing_peer_dependency');
12
+ }
13
+ const TavilySearch = (mod['TavilySearch'] ?? mod['default']);
14
+ if (typeof TavilySearch !== 'function') {
15
+ throw new CompresrError("'@langchain/tavily' is missing TavilySearch — upgrade the package.", 'missing_peer_dependency');
16
+ }
17
+ const init = {
18
+ maxResults: options.maxResults ?? 5,
19
+ };
20
+ if (options.apiKey) {
21
+ // TavilySearch accepts the key as a constructor option (``tavilyApiKey``).
22
+ // Passing it here avoids mutating ``process.env`` — see audit TS-CRITICAL.
23
+ init['tavilyApiKey'] = options.apiKey;
24
+ }
25
+ if (options.allowedDomains !== undefined) {
26
+ init['includeDomains'] = [...options.allowedDomains];
27
+ }
28
+ if (options.blockedDomains !== undefined) {
29
+ init['excludeDomains'] = [...options.blockedDomains];
30
+ }
31
+ // Merge ``extra`` first so trusted fields (apiKey, includeDomains, etc.)
32
+ // win on collision — see audit TS-M3.
33
+ const merged = { ...options.extra, ...init };
34
+ return new TavilySearch(merged);
35
+ }
36
+ async function buildBrave(options) {
37
+ let mod;
38
+ try {
39
+ mod = (await import(
40
+ // @ts-expect-error — optional peer; types not guaranteed at compile time
41
+ '@langchain/community/tools/brave_search'));
42
+ }
43
+ catch {
44
+ throw new CompresrError("WebSearchTool.brave requires '@langchain/community'. " +
45
+ 'Install with: npm install @langchain/community', 'missing_peer_dependency');
46
+ }
47
+ const BraveSearch = (mod['BraveSearch'] ?? mod['default']);
48
+ if (typeof BraveSearch !== 'function') {
49
+ throw new CompresrError("'@langchain/community' is missing BraveSearch — upgrade the package.", 'missing_peer_dependency');
50
+ }
51
+ const key = options.apiKey ??
52
+ process.env['BRAVE_SEARCH_API_KEY'] ??
53
+ process.env['BRAVE_API_KEY'];
54
+ if (!key) {
55
+ throw new CompresrError('Brave requires apiKey or BRAVE_SEARCH_API_KEY env var.', 'missing_api_key');
56
+ }
57
+ const init = {
58
+ apiKey: key,
59
+ searchKwargs: { count: options.maxResults ?? 5 },
60
+ };
61
+ // Merge ``extra`` first so trusted fields (apiKey, searchKwargs) win on
62
+ // collision — see audit TS-M3.
63
+ const merged = { ...options.extra, ...init };
64
+ return new BraveSearch(merged);
65
+ }
66
+ /**
67
+ * Factory namespace for web-search tools — pick a provider via
68
+ * ``WebSearchTool.tavily(...)`` or ``WebSearchTool.brave(...)``.
69
+ *
70
+ * Each method returns a LangChain.js ``StructuredToolInterface`` ready to
71
+ * pass into the engine's ``tools: []`` array. The interface form is used
72
+ * (instead of the abstract ``StructuredTool`` class) so callers can drop
73
+ * in any compatible tool implementation without hitting generic-parameter
74
+ * mismatches.
75
+ */
76
+ export const WebSearchTool = {
77
+ tavily(options = {}) {
78
+ return buildTavily(options);
79
+ },
80
+ brave(options = {}) {
81
+ return buildBrave(options);
82
+ },
83
+ };
84
+ export function createWebSearchTool(provider, options = {}) {
85
+ if (provider === 'tavily')
86
+ return buildTavily(options);
87
+ if (provider === 'brave')
88
+ return buildBrave(options);
89
+ throw new CompresrError(`Unknown web search provider: '${String(provider)}'. Use 'tavily' or 'brave'.`, 'invalid_provider');
90
+ }
91
+ //# sourceMappingURL=web-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../../../src/agents/tools/web-search.ts"],"names":[],"mappings":"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"}
@@ -1,174 +1,66 @@
1
1
  import { type HttpClientOptions } from '../http/client.js';
2
- import { type CompressResponse, type CompressBatchResponse, type StreamChunk } from '../schemas/index.js';
3
- /**
4
- * Options for single compression
5
- */
2
+ import { type CompressBatchResponse, type CompressResponse, type StreamChunk } from '../schemas/index.js';
3
+ import { type CompressionPolicyOptions, type NormalizedResult } from '../agents/index.js';
4
+ import type { AnthropicMessagesFacade } from '../agents/facades/anthropic.js';
5
+ import type { OpenAIChatFacade } from '../agents/facades/openai.js';
6
+ import type { NativeRunOptions } from '../agents/facades/native.js';
6
7
  export interface CompressOptions {
7
- /** Context to compress (single string) */
8
8
  context: string;
9
- /** Compression model (default: espresso_v1) */
10
- compressionModelName?: string;
11
- /** Query for query-specific models (required for latte_v1) */
12
9
  query?: string;
13
- /**
14
- * Target compression ratio:
15
- * - 0-1: percentage to keep (e.g., 0.5 = keep 50%)
16
- * - >1: Nx factor (e.g., 4 = 4x compression = keep 25%)
17
- */
10
+ compressionModelName?: string;
18
11
  targetCompressionRatio?: number;
19
- /**
20
- * Paragraph-level compression (only for query-specific with latte_v1).
21
- * - true: faster, coarser compression (default for latte_v1)
22
- * - false: slower, token-level compression
23
- * Ignored for agnostic compression (no query).
24
- */
25
12
  coarse?: boolean;
26
- /**
27
- * Use heuristic chunking for better structure preservation.
28
- * Only for query-specific models. Ignored for agnostic.
29
- */
30
13
  heuristicChunking?: boolean;
31
- /**
32
- * Disable placeholder tokens in compressed output.
33
- * Only for query-specific models. Ignored for agnostic.
34
- */
35
14
  disablePlaceholders?: boolean;
36
15
  }
16
+ export interface BatchInput {
17
+ context: string;
18
+ query?: string;
19
+ }
37
20
  /**
38
- * Options for batch compression
39
- * - If queries is undefined: uses agnostic endpoint (no queries required)
40
- * - If queries is provided: uses query-specific endpoint
21
+ * Two equivalent input forms:
22
+ * - Convenience: `contexts` (+ optional `queries` as string or string[]).
23
+ * - Pair form (matches the wire format): `inputs: [{ context, query }, ...]`.
24
+ * Pass exactly one of `inputs` or `contexts`.
41
25
  */
42
26
  export interface CompressBatchOptions {
43
- /** List of contexts to compress (1-100 items) */
44
- contexts: string[];
45
- /** Single query for all contexts, or one query per context. Omit for agnostic batch. */
27
+ contexts?: string[];
46
28
  queries?: string | string[];
47
- /** Compression model (default: espresso_v1) */
29
+ inputs?: BatchInput[];
48
30
  compressionModelName?: string;
49
- /** Target compression ratio */
50
31
  targetCompressionRatio?: number;
51
- /**
52
- * Paragraph-level compression (only for query-specific batch).
53
- * Ignored for agnostic batch (queries undefined).
54
- */
55
32
  coarse?: boolean;
56
- /**
57
- * Use heuristic chunking for better structure preservation.
58
- * Only for query-specific batch. Ignored for agnostic.
59
- */
60
33
  heuristicChunking?: boolean;
61
- /**
62
- * Disable placeholder tokens in compressed output.
63
- * Only for query-specific batch. Ignored for agnostic.
64
- */
65
34
  disablePlaceholders?: boolean;
66
35
  }
67
- /**
68
- * Token-level compression client
69
- *
70
- * @example
71
- * ```typescript
72
- * import { CompressionClient } from 'compresr';
73
- *
74
- * const client = new CompressionClient({ apiKey: 'cmp_...' });
75
- *
76
- * // Single agnostic compression
77
- * const result = await client.compress({
78
- * context: 'Your long context...',
79
- * });
80
- *
81
- * // Single query-specific compression
82
- * const result = await client.compress({
83
- * context: 'Your long context...',
84
- * query: 'What is the main conclusion?',
85
- * compressionModelName: 'latte_v1',
86
- * });
87
- *
88
- * // Batch agnostic compression
89
- * const result = await client.compressBatch({
90
- * contexts: ['Doc 1...', 'Doc 2...', 'Doc 3...'],
91
- * });
92
- *
93
- * // Batch query-specific compression
94
- * const result = await client.compressBatch({
95
- * contexts: ['Doc 1...', 'Doc 2...', 'Doc 3...'],
96
- * queries: 'What are the key points?',
97
- * compressionModelName: 'latte_v1',
98
- * });
99
- * ```
100
- */
36
+ export interface CompressionClientOptions extends HttpClientOptions {
37
+ /** Optional ``"provider:model"`` (or ``"provider/model"``) selector to opt
38
+ * into the provider-shape facades (``.messages``, ``.chat``, ``run``). */
39
+ llm?: string;
40
+ /** Optional provider API key forwarded to the underlying LLM. */
41
+ llmApiKey?: string;
42
+ /** Optional compression policy applied to the agent's tool middleware. */
43
+ compression?: CompressionPolicyOptions;
44
+ }
101
45
  export declare class CompressionClient {
102
46
  private readonly http;
103
- constructor(options: HttpClientOptions);
104
- private resolveEndpoints;
47
+ private readonly llm?;
48
+ private readonly llmApiKey?;
49
+ private readonly compressionPolicy?;
50
+ private engine?;
51
+ private anthropicFacade?;
52
+ private openaiFacade?;
53
+ constructor(options: CompressionClientOptions);
54
+ private requireEngine;
55
+ /** Anthropic-shaped facade: ``client.messages.create({...})``. */
56
+ get messages(): AnthropicMessagesFacade;
57
+ /** OpenAI-shaped facade: ``client.chat.completions.create({...})``. */
58
+ get chat(): OpenAIChatFacade;
59
+ /** Native facade — returns the provider-agnostic ``NormalizedResult``. */
60
+ run(options: NativeRunOptions): Promise<NormalizedResult>;
105
61
  private buildRequest;
106
- /**
107
- * Compress a single context
108
- *
109
- * For multiple contexts, use compressBatch().
110
- *
111
- * @example
112
- * ```typescript
113
- * // Agnostic compression (no query)
114
- * const result = await client.compress({
115
- * context: 'Your long context text...',
116
- * });
117
- *
118
- * // Query-specific compression (with query)
119
- * const result = await client.compress({
120
- * context: 'Your long context text...',
121
- * query: 'What is the main conclusion?',
122
- * compressionModelName: 'latte_v1',
123
- * });
124
- *
125
- * console.log(`Saved ${result.data.tokens_saved} tokens!`);
126
- * ```
127
- */
128
62
  compress(options: CompressOptions): Promise<CompressResponse>;
129
- /**
130
- * Stream compression chunks
131
- *
132
- * @example
133
- * ```typescript
134
- * for await (const chunk of client.compressStream({
135
- * context: 'Your long context...',
136
- * })) {
137
- * process.stdout.write(chunk.content);
138
- * }
139
- * ```
140
- */
141
63
  compressStream(options: CompressOptions): AsyncGenerator<StreamChunk, void, undefined>;
142
- /**
143
- * Batch compress multiple contexts
144
- *
145
- * - If queries is undefined: uses agnostic endpoint (no queries required)
146
- * - If queries is provided: uses query-specific endpoint
147
- *
148
- * @example
149
- * ```typescript
150
- * // Agnostic batch (no queries)
151
- * const result = await client.compressBatch({
152
- * contexts: ['Doc 1...', 'Doc 2...', 'Doc 3...'],
153
- * });
154
- *
155
- * // Query-specific batch (same query for all)
156
- * const result = await client.compressBatch({
157
- * contexts: ['Doc 1...', 'Doc 2...', 'Doc 3...'],
158
- * queries: 'What are the key points?',
159
- * compressionModelName: 'latte_v1',
160
- * });
161
- *
162
- * // Query-specific batch (different queries)
163
- * const result = await client.compressBatch({
164
- * contexts: ['ML doc...', 'NLP doc...'],
165
- * queries: ['What is ML?', 'What is NLP?'],
166
- * compressionModelName: 'latte_v1',
167
- * });
168
- *
169
- * console.log(`Saved ${result.data.total_tokens_saved} tokens!`);
170
- * ```
171
- */
172
64
  compressBatch(options: CompressBatchOptions): Promise<CompressBatchResponse>;
173
65
  }
174
66
  //# sourceMappingURL=compression.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../../src/clients/compression.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAML,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,+CAA+C;IAC/C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,+BAA+B;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;gBAEtB,OAAO,EAAE,iBAAiB;IAItC,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,YAAY;IAqCpB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQnE;;;;;;;;;;;OAWG;IACI,cAAc,CACnB,OAAO,EAAE,eAAe,GACvB,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC;IAc/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,aAAa,CACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;CA+DlC"}
1
+ {"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../../src/clients/compression.ts"],"names":[],"mappings":"AAYA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAKL,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAKL,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE;8EAC0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACxC;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAA2B;IAC9D,OAAO,CAAC,MAAM,CAAC,CAAiB;IAChC,OAAO,CAAC,eAAe,CAAC,CAA0B;IAClD,OAAO,CAAC,YAAY,CAAC,CAAmB;gBAE5B,OAAO,EAAE,wBAAwB;IAS7C,OAAO,CAAC,aAAa;IAqBrB,kEAAkE;IAClE,IAAI,QAAQ,IAAI,uBAAuB,CAMtC;IAED,uEAAuE;IACvE,IAAI,IAAI,IAAI,gBAAgB,CAM3B;IAED,0EAA0E;IACpE,GAAG,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAK/D,OAAO,CAAC,YAAY;IAgBd,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAM5D,cAAc,CACnB,OAAO,EAAE,eAAe,GACvB,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC;IAQzC,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAkBnF"}