@compresr/sdk 1.3.2 → 1.5.1

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 +527 -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 +488 -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,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wrapToolWithCompression = wrapToolWithCompression;
4
+ exports.compressToolOutput = compressToolOutput;
5
+ /**
6
+ * Tool-output wrappers for LangChain.js.
7
+ *
8
+ * Mirrors Python `wrap_tool_with_compression`. Works without `createAgent`
9
+ * middleware — wrap any tool and call it directly in LCEL chains or
10
+ * LangGraph custom graphs.
11
+ *
12
+ * For `latte_v1` the unified Compresr query API applies (see middleware).
13
+ */
14
+ const tools_1 = require("@langchain/core/tools");
15
+ const index_js_1 = require("../_shared/index.js");
16
+ function isWrappableTool(t) {
17
+ if (typeof t !== 'object' || t === null)
18
+ return false;
19
+ const x = t;
20
+ return (typeof x.name === 'string' &&
21
+ (typeof x.func === 'function' ||
22
+ typeof x._call === 'function' ||
23
+ typeof x.invoke === 'function'));
24
+ }
25
+ /**
26
+ * Wrap a structured tool so its string output is compressed transparently.
27
+ *
28
+ * The wrapped tool preserves the original `name`, `description`, and schema.
29
+ * Accepts any tool that exposes `name` + (`func` | `_call` | `invoke`) — i.e.
30
+ * what the `tool()` factory and `StructuredTool` subclasses produce.
31
+ */
32
+ function wrapToolWithCompression(tool, options = {}) {
33
+ if (!isWrappableTool(tool)) {
34
+ throw new TypeError('wrapToolWithCompression supports structured tools (with `name` + ' +
35
+ '`func`/`_call`/`invoke`). Use the `tool()` factory from @langchain/core.');
36
+ }
37
+ const { apiKey, client, baseUrl, compressionModel = index_js_1.DEFAULT_MODEL, targetCompressionRatio = index_js_1.DEFAULT_RATIO, minTokens = index_js_1.DEFAULT_MIN_TOKENS, coarse, query, queryExtractor, queryArg, onError = index_js_1.DEFAULT_POLICY, } = options;
38
+ const compresr = client ?? (0, index_js_1.buildClient)({ apiKey, baseUrl, caller: 'wrapToolWithCompression' });
39
+ function resolveTheQuery(args) {
40
+ return (0, index_js_1.resolveQuery)({
41
+ staticQuery: query,
42
+ extractor: queryExtractor
43
+ ? (arg) => queryExtractor(arg)
44
+ : undefined,
45
+ extractorArg: queryExtractor ? args : undefined,
46
+ args,
47
+ argsKey: queryArg,
48
+ });
49
+ }
50
+ const t = tool;
51
+ const innerCall = pickCallable(t, tool);
52
+ const wrappedFunc = async (args) => {
53
+ const out = await innerCall(args);
54
+ if (typeof out !== 'string')
55
+ return out;
56
+ const q = resolveTheQuery(args);
57
+ return (0, index_js_1.compressSafe)(compresr, {
58
+ context: out,
59
+ ...(q !== undefined ? { query: q } : {}),
60
+ compressionModel,
61
+ targetCompressionRatio,
62
+ ...(coarse !== undefined ? { coarse } : {}),
63
+ minTokens,
64
+ onError,
65
+ contextLabel: `tool:${t.name}`,
66
+ });
67
+ };
68
+ const cfg = { name: t.name };
69
+ if (t.description !== undefined)
70
+ cfg.description = t.description;
71
+ if (t.schema !== undefined)
72
+ cfg.schema = t.schema;
73
+ return tools_1.tool(wrappedFunc, cfg);
74
+ }
75
+ function pickCallable(meta, tool) {
76
+ if (typeof meta.func === 'function')
77
+ return meta.func.bind(tool);
78
+ if (typeof meta._call === 'function')
79
+ return meta._call.bind(tool);
80
+ if (typeof meta.invoke === 'function')
81
+ return meta.invoke.bind(tool);
82
+ throw new TypeError(`Tool '${meta.name}' has no callable surface.`);
83
+ }
84
+ /** Decorator-style helper — for users who prefer function composition. */
85
+ function compressToolOutput(options = {}) {
86
+ return (tool) => wrapToolWithCompression(tool, options);
87
+ }
88
+ //# sourceMappingURL=wrappers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrappers.js","sourceRoot":"","sources":["../../../../src/integrations/langchain/wrappers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * `CompresrCheckpointSerializer` — compresses long string fields before
3
+ * they hit the checkpoint store.
4
+ *
5
+ * Lossy by design: there is no decompression — compressed strings persist
6
+ * in storage and flow back into state on resume. Use `fields` to restrict
7
+ * compression to known-large keys.
8
+ */
9
+ import type { CompressionClient } from '../../clients/compression.js';
10
+ import { type ErrorPolicy } from '../_shared/index.js';
11
+ export interface CompresrCheckpointSerializerOptions {
12
+ apiKey?: string;
13
+ client?: CompressionClient;
14
+ baseUrl?: string;
15
+ compressionModel?: string;
16
+ /**
17
+ * Query passed to `latte_v1`. If unset, the field name (e.g. `retrieved_text`)
18
+ * is used as the query — a reasonable hint for what the value represents.
19
+ */
20
+ query?: string;
21
+ targetCompressionRatio?: number;
22
+ minTokens?: number;
23
+ coarse?: boolean;
24
+ fields?: ReadonlySet<string>;
25
+ onError?: ErrorPolicy;
26
+ }
27
+ /**
28
+ * Drop-in for LangGraph.js checkpoint serializers. Calls
29
+ * `dumpsTyped(obj) → [tag, bytes]`; recursively rewrites long strings
30
+ * into a `{ __compresr__: true, v: <compressed> }` sentinel before
31
+ * JSON-encoding. `loadsTyped` returns the payload as-is (sentinels and all).
32
+ */
33
+ export declare class CompresrCheckpointSerializer {
34
+ private readonly compresr;
35
+ private readonly compressionModel;
36
+ private readonly query;
37
+ private readonly targetCompressionRatio;
38
+ private readonly minTokens;
39
+ private readonly coarse;
40
+ private readonly fields;
41
+ private readonly onError;
42
+ constructor(options: CompresrCheckpointSerializerOptions);
43
+ dumpsTyped(obj: unknown): Promise<[string, Uint8Array]>;
44
+ loadsTyped([_tag, bytes]: [string, Uint8Array]): unknown;
45
+ private walkCompress;
46
+ private shouldCompress;
47
+ private wrapCompressed;
48
+ }
49
+ //# sourceMappingURL=checkpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../../../src/integrations/langgraph/checkpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAML,KAAK,WAAW,EAEjB,MAAM,qBAAqB,CAAC;AAI7B,MAAM,WAAW,mCAAmC;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAE1B,OAAO,EAAE,mCAAmC;IAyBlD,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAM7D,UAAU,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,OAAO;YAI1C,YAAY;IAmB1B,OAAO,CAAC,cAAc;YAOR,cAAc;CAc7B"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CompresrCheckpointSerializer = void 0;
4
+ const index_js_1 = require("../_shared/index.js");
5
+ const SENTINEL_KEY = '__compresr__';
6
+ /**
7
+ * Drop-in for LangGraph.js checkpoint serializers. Calls
8
+ * `dumpsTyped(obj) → [tag, bytes]`; recursively rewrites long strings
9
+ * into a `{ __compresr__: true, v: <compressed> }` sentinel before
10
+ * JSON-encoding. `loadsTyped` returns the payload as-is (sentinels and all).
11
+ */
12
+ class CompresrCheckpointSerializer {
13
+ compresr;
14
+ compressionModel;
15
+ query;
16
+ targetCompressionRatio;
17
+ minTokens;
18
+ coarse;
19
+ fields;
20
+ onError;
21
+ constructor(options) {
22
+ const { apiKey, client, baseUrl, compressionModel = index_js_1.DEFAULT_MODEL, query, targetCompressionRatio = index_js_1.DEFAULT_RATIO, minTokens = 500, coarse, fields, onError = index_js_1.DEFAULT_POLICY, } = options;
23
+ this.compresr =
24
+ client ?? (0, index_js_1.buildClient)({ apiKey, baseUrl, caller: 'CompresrCheckpointSerializer' });
25
+ this.compressionModel = compressionModel;
26
+ this.query = query;
27
+ this.targetCompressionRatio = targetCompressionRatio;
28
+ this.minTokens = Math.max(1, minTokens);
29
+ this.coarse = coarse;
30
+ this.fields = fields;
31
+ this.onError = onError;
32
+ }
33
+ async dumpsTyped(obj) {
34
+ const transformed = await this.walkCompress(obj, undefined);
35
+ const encoded = new TextEncoder().encode(JSON.stringify(transformed));
36
+ return ['json', encoded];
37
+ }
38
+ loadsTyped([_tag, bytes]) {
39
+ return JSON.parse(new TextDecoder().decode(bytes));
40
+ }
41
+ async walkCompress(value, parentKey) {
42
+ if (typeof value === 'string') {
43
+ if (!this.shouldCompress(value, parentKey))
44
+ return value;
45
+ return await this.wrapCompressed(value, parentKey);
46
+ }
47
+ if (Array.isArray(value)) {
48
+ return Promise.all(value.map((v) => this.walkCompress(v, parentKey)));
49
+ }
50
+ if (value !== null && typeof value === 'object') {
51
+ const entries = await Promise.all(Object.entries(value).map(async ([k, v]) => [k, await this.walkCompress(v, k)]));
52
+ return Object.fromEntries(entries);
53
+ }
54
+ return value;
55
+ }
56
+ shouldCompress(text, parentKey) {
57
+ if (this.fields !== undefined && (parentKey === undefined || !this.fields.has(parentKey))) {
58
+ return false;
59
+ }
60
+ return (0, index_js_1.estimateTokens)(text) >= this.minTokens;
61
+ }
62
+ async wrapCompressed(text, parentKey) {
63
+ const compressed = await (0, index_js_1.compressSafe)(this.compresr, {
64
+ context: text,
65
+ query: this.query ?? parentKey ?? 'stored content',
66
+ compressionModel: this.compressionModel,
67
+ targetCompressionRatio: this.targetCompressionRatio,
68
+ ...(this.coarse !== undefined ? { coarse: this.coarse } : {}),
69
+ minTokens: 1,
70
+ onError: this.onError,
71
+ contextLabel: `checkpoint:${parentKey ?? '?'}`,
72
+ });
73
+ if (compressed === text)
74
+ return text;
75
+ return { [SENTINEL_KEY]: true, v: compressed };
76
+ }
77
+ }
78
+ exports.CompresrCheckpointSerializer = CompresrCheckpointSerializer;
79
+ //# sourceMappingURL=checkpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../../../src/integrations/langgraph/checkpoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { Command } from '@langchain/langgraph';
2
+ import { z } from 'zod';
3
+ import type { CompressionClient } from '../../clients/compression.js';
4
+ import { type ErrorPolicy } from '../_shared/index.js';
5
+ export interface CompresrHandoffToolOptions {
6
+ description?: string;
7
+ apiKey?: string;
8
+ client?: CompressionClient;
9
+ baseUrl?: string;
10
+ compressionModel?: string;
11
+ targetCompressionRatio?: number;
12
+ minTokens?: number;
13
+ coarse?: boolean;
14
+ onError?: ErrorPolicy;
15
+ }
16
+ /**
17
+ * Build a handoff tool for `agentName`.
18
+ *
19
+ * @example
20
+ * const supervisor = createAgent({
21
+ * model,
22
+ * tools: [
23
+ * compresrHandoffTool('researcher', { apiKey: process.env.COMPRESR_API_KEY }),
24
+ * compresrHandoffTool('writer', { apiKey: process.env.COMPRESR_API_KEY }),
25
+ * ],
26
+ * });
27
+ */
28
+ export declare function compresrHandoffTool(agentName: string, options?: CompresrHandoffToolOptions): import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
29
+ task_description: z.ZodString;
30
+ context: z.ZodDefault<z.ZodOptional<z.ZodString>>;
31
+ }, "strip", z.ZodTypeAny, {
32
+ context: string;
33
+ task_description: string;
34
+ }, {
35
+ task_description: string;
36
+ context?: string | undefined;
37
+ }>, {
38
+ task_description: string;
39
+ context?: string;
40
+ }, {
41
+ task_description: string;
42
+ context?: string | undefined;
43
+ }, Command<unknown, Record<string, unknown>, string>, unknown, string>;
44
+ //# sourceMappingURL=handoff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handoff.d.ts","sourceRoot":"","sources":["../../../../src/integrations/langgraph/handoff.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAOL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,0BAA+B;;;;;;;;;;sBA6C9D,MAAM;cAAY,MAAM;;;;uEAyCxD"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compresrHandoffTool = compresrHandoffTool;
4
+ /**
5
+ * `compresrHandoffTool` — supervisor → subagent handoff tool with
6
+ * compression baked in for LangGraph.js multi-agent systems.
7
+ *
8
+ * Returns a LangChain `DynamicStructuredTool` that emits a `Command`
9
+ * routing control to `agentName` with a compressed `task_description`
10
+ * and (optionally) compressed `context` field.
11
+ */
12
+ const messages_1 = require("@langchain/core/messages");
13
+ const tools_1 = require("@langchain/core/tools");
14
+ const langgraph_1 = require("@langchain/langgraph");
15
+ const zod_1 = require("zod");
16
+ const index_js_1 = require("../_shared/index.js");
17
+ /**
18
+ * Build a handoff tool for `agentName`.
19
+ *
20
+ * @example
21
+ * const supervisor = createAgent({
22
+ * model,
23
+ * tools: [
24
+ * compresrHandoffTool('researcher', { apiKey: process.env.COMPRESR_API_KEY }),
25
+ * compresrHandoffTool('writer', { apiKey: process.env.COMPRESR_API_KEY }),
26
+ * ],
27
+ * });
28
+ */
29
+ function compresrHandoffTool(agentName, options = {}) {
30
+ const { description, apiKey, client, baseUrl, compressionModel = index_js_1.DEFAULT_MODEL, targetCompressionRatio = index_js_1.DEFAULT_RATIO, minTokens = index_js_1.DEFAULT_MIN_TOKENS, coarse, onError = index_js_1.DEFAULT_POLICY, } = options;
31
+ const compresr = client ?? (0, index_js_1.buildClient)({ apiKey, baseUrl, caller: 'compresrHandoffTool' });
32
+ const toolName = `transfer_to_${agentName}`;
33
+ const toolDescription = description ??
34
+ `Hand off the task to the \`${agentName}\` agent. ` +
35
+ 'Provide a clear task_description and any context the agent needs.';
36
+ const schema = zod_1.z.object({
37
+ task_description: zod_1.z.string().describe(`Task description for the ${agentName} agent.`),
38
+ context: zod_1.z
39
+ .string()
40
+ .optional()
41
+ .default('')
42
+ .describe('Optional context excerpts to share with the agent.'),
43
+ });
44
+ async function maybeCompress(text, query, label) {
45
+ if (!text)
46
+ return text;
47
+ return await (0, index_js_1.compressSafe)(compresr, {
48
+ context: text,
49
+ query,
50
+ compressionModel,
51
+ targetCompressionRatio,
52
+ ...(coarse !== undefined ? { coarse } : {}),
53
+ minTokens,
54
+ onError,
55
+ contextLabel: label,
56
+ });
57
+ }
58
+ return (0, tools_1.tool)(async (input, runtime) => {
59
+ // latte_v1 requires a query — the task description itself is the natural
60
+ // one for the context excerpt (what the subagent will do with it).
61
+ const compressedTask = await maybeCompress(input.task_description, `task for ${agentName}`, 'handoff:task');
62
+ const ctx = input.context ?? '';
63
+ const compressedCtx = ctx
64
+ ? await maybeCompress(ctx, input.task_description || `context for ${agentName}`, 'handoff:context')
65
+ : '';
66
+ const ack = new messages_1.ToolMessage({
67
+ content: `Successfully transferred to ${agentName}.`,
68
+ tool_call_id: runtime.toolCallId ?? '',
69
+ name: toolName,
70
+ });
71
+ return new langgraph_1.Command({
72
+ goto: agentName,
73
+ update: {
74
+ messages: [ack],
75
+ task_description: compressedTask,
76
+ context: compressedCtx,
77
+ },
78
+ graph: langgraph_1.Command.PARENT,
79
+ });
80
+ }, {
81
+ name: toolName,
82
+ description: toolDescription,
83
+ schema,
84
+ });
85
+ }
86
+ //# sourceMappingURL=handoff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../../../src/integrations/langgraph/handoff.ts"],"names":[],"mappings":";;AAgDA,kDAsFC;AAtID;;;;;;;GAOG;AACH,uDAAuD;AACvD,iDAA+D;AAC/D,oDAA+C;AAC/C,6BAAwB;AAGxB,kDAQ6B;AAc7B;;;;;;;;;;;GAWG;AACH,SAAgB,mBAAmB,CAAC,SAAiB,EAAE,UAAsC,EAAE;IAC7F,MAAM,EACJ,WAAW,EACX,MAAM,EACN,MAAM,EACN,OAAO,EACP,gBAAgB,GAAG,wBAAa,EAChC,sBAAsB,GAAG,wBAAa,EACtC,SAAS,GAAG,6BAAkB,EAC9B,MAAM,EACN,OAAO,GAAG,yBAAc,GACzB,GAAG,OAAO,CAAC;IAEZ,MAAM,QAAQ,GAAG,MAAM,IAAI,IAAA,sBAAW,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC3F,MAAM,QAAQ,GAAG,eAAe,SAAS,EAAE,CAAC;IAC5C,MAAM,eAAe,GACnB,WAAW;QACX,8BAA8B,SAAS,YAAY;YACjD,mEAAmE,CAAC;IAExE,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QACtB,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,SAAS,SAAS,CAAC;QACrF,OAAO,EAAE,OAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,oDAAoD,CAAC;KAClE,CAAC,CAAC;IAEH,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,KAAa,EAAE,KAAa;QACrE,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,MAAM,IAAA,uBAAY,EAAC,QAAQ,EAAE;YAClC,OAAO,EAAE,IAAI;YACb,KAAK;YACL,gBAAgB;YAChB,sBAAsB;YACtB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,SAAS;YACT,OAAO;YACP,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAA,YAAI,EACT,KAAK,EACH,KAAqD,EACrD,OAAoB,EACF,EAAE;QACpB,yEAAyE;QACzE,mEAAmE;QACnE,MAAM,cAAc,GAAG,MAAM,aAAa,CACxC,KAAK,CAAC,gBAAgB,EACtB,YAAY,SAAS,EAAE,EACvB,cAAc,CACf,CAAC;QACF,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,GAAG;YACvB,CAAC,CAAC,MAAM,aAAa,CACjB,GAAG,EACH,KAAK,CAAC,gBAAgB,IAAI,eAAe,SAAS,EAAE,EACpD,iBAAiB,CAClB;YACH,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,GAAG,GAAG,IAAI,sBAAW,CAAC;YAC1B,OAAO,EAAE,+BAA+B,SAAS,GAAG;YACpD,YAAY,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;YACtC,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QAEH,OAAO,IAAI,mBAAO,CAAC;YACjB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE;gBACN,QAAQ,EAAE,CAAC,GAAG,CAAC;gBACf,gBAAgB,EAAE,cAAc;gBAChC,OAAO,EAAE,aAAa;aACvB;YACD,KAAK,EAAE,mBAAO,CAAC,MAAM;SACtB,CAAC,CAAC;IACL,CAAC,EACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,eAAe;QAC5B,MAAM;KACP,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * LangGraph.js integration for Compresr.
3
+ *
4
+ * npm install @langchain/langgraph @langchain/core # (peers)
5
+ *
6
+ * LangGraph 1.0+ uses the same middleware mechanism as LangChain's
7
+ * `createAgent`. Both middlewares below are re-exported from
8
+ * `@compresr/sdk/integrations/langchain` so they're discoverable here
9
+ * too — import either path you prefer.
10
+ */
11
+ export { compresrToolMiddleware, compresrSummarizationMiddleware, compresrPromptMiddleware, type CompresrMiddleware, type CompresrToolMiddlewareOptions, type CompresrSummarizationMiddlewareOptions, type CompresrPromptMiddlewareOptions, } from '../langchain/middleware.js';
12
+ export { makeCompresrNode, type MakeCompresrNodeOptions } from './nodes.js';
13
+ export { makeCompresrNode as compresrNode } from './nodes.js';
14
+ export { CompresrCheckpointSerializer, type CompresrCheckpointSerializerOptions, } from './checkpoint.js';
15
+ export { compresrHandoffTool, type CompresrHandoffToolOptions } from './handoff.js';
16
+ export { CompresrStore, type CompresrStoreOptions } from './store.js';
17
+ export type { ErrorPolicy } from '../_shared/index.js';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/integrations/langgraph/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,sBAAsB,EACtB,+BAA+B,EAC/B,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,KAAK,6BAA6B,EAClC,KAAK,sCAAsC,EAC3C,KAAK,+BAA+B,GACrC,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,gBAAgB,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EACL,4BAA4B,EAC5B,KAAK,mCAAmC,GACzC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,cAAc,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEtE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CompresrStore = exports.compresrHandoffTool = exports.CompresrCheckpointSerializer = exports.compresrNode = exports.makeCompresrNode = exports.compresrPromptMiddleware = exports.compresrSummarizationMiddleware = exports.compresrToolMiddleware = void 0;
4
+ /**
5
+ * LangGraph.js integration for Compresr.
6
+ *
7
+ * npm install @langchain/langgraph @langchain/core # (peers)
8
+ *
9
+ * LangGraph 1.0+ uses the same middleware mechanism as LangChain's
10
+ * `createAgent`. Both middlewares below are re-exported from
11
+ * `@compresr/sdk/integrations/langchain` so they're discoverable here
12
+ * too — import either path you prefer.
13
+ */
14
+ var middleware_js_1 = require("../langchain/middleware.js");
15
+ Object.defineProperty(exports, "compresrToolMiddleware", { enumerable: true, get: function () { return middleware_js_1.compresrToolMiddleware; } });
16
+ Object.defineProperty(exports, "compresrSummarizationMiddleware", { enumerable: true, get: function () { return middleware_js_1.compresrSummarizationMiddleware; } });
17
+ Object.defineProperty(exports, "compresrPromptMiddleware", { enumerable: true, get: function () { return middleware_js_1.compresrPromptMiddleware; } });
18
+ var nodes_js_1 = require("./nodes.js");
19
+ Object.defineProperty(exports, "makeCompresrNode", { enumerable: true, get: function () { return nodes_js_1.makeCompresrNode; } });
20
+ var nodes_js_2 = require("./nodes.js");
21
+ Object.defineProperty(exports, "compresrNode", { enumerable: true, get: function () { return nodes_js_2.makeCompresrNode; } });
22
+ var checkpoint_js_1 = require("./checkpoint.js");
23
+ Object.defineProperty(exports, "CompresrCheckpointSerializer", { enumerable: true, get: function () { return checkpoint_js_1.CompresrCheckpointSerializer; } });
24
+ var handoff_js_1 = require("./handoff.js");
25
+ Object.defineProperty(exports, "compresrHandoffTool", { enumerable: true, get: function () { return handoff_js_1.compresrHandoffTool; } });
26
+ var store_js_1 = require("./store.js");
27
+ Object.defineProperty(exports, "CompresrStore", { enumerable: true, get: function () { return store_js_1.CompresrStore; } });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/integrations/langgraph/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,4DAQoC;AAPlC,uHAAA,sBAAsB,OAAA;AACtB,gIAAA,+BAA+B,OAAA;AAC/B,yHAAA,wBAAwB,OAAA;AAO1B,uCAA4E;AAAnE,4GAAA,gBAAgB,OAAA;AACzB,uCAA8D;AAArD,wGAAA,gBAAgB,OAAgB;AACzC,iDAGyB;AAFvB,6HAAA,4BAA4B,OAAA;AAG9B,2CAAoF;AAA3E,iHAAA,mBAAmB,OAAA;AAC5B,uCAAsE;AAA7D,yGAAA,aAAa,OAAA"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Drop-in compression node for a custom `StateGraph`.
3
+ *
4
+ * Mirrors Python `make_compresr_node`. Reads a string field from state,
5
+ * compresses it, writes back. Same unified query API.
6
+ */
7
+ import type { CompressionClient } from '../../clients/compression.js';
8
+ import { type ErrorPolicy } from '../_shared/index.js';
9
+ export interface MakeCompresrNodeOptions<S extends Record<string, unknown>> {
10
+ apiKey?: string;
11
+ client?: CompressionClient;
12
+ baseUrl?: string;
13
+ /** State key holding the text to compress. Required. */
14
+ contextKey: keyof S & string;
15
+ compressionModel?: string;
16
+ targetCompressionRatio?: number;
17
+ minTokens?: number;
18
+ coarse?: boolean;
19
+ /** Static query (latte_v1 only). */
20
+ query?: string;
21
+ /** State key holding the query string. */
22
+ queryKey?: keyof S & string;
23
+ /** Custom extractor over state. Highest priority after `query`. */
24
+ queryExtractor?: (state: S) => string | undefined;
25
+ onError?: ErrorPolicy;
26
+ }
27
+ /**
28
+ * Build a state-graph node that compresses `state[contextKey]`.
29
+ *
30
+ * Returns an async function `(state) => Partial<State>` compatible with
31
+ * `graph.addNode("compress", node)` in LangGraph.js.
32
+ */
33
+ export declare function makeCompresrNode<S extends Record<string, unknown>>(options: MakeCompresrNodeOptions<S>): (state: S) => Promise<Partial<S>>;
34
+ //# sourceMappingURL=nodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../../src/integrations/langgraph/nodes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAOL,KAAK,WAAW,EAEjB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IAC5B,mEAAmE;IACnE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IAClD,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAClC,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CA2DnC"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeCompresrNode = makeCompresrNode;
4
+ const index_js_1 = require("../_shared/index.js");
5
+ /**
6
+ * Build a state-graph node that compresses `state[contextKey]`.
7
+ *
8
+ * Returns an async function `(state) => Partial<State>` compatible with
9
+ * `graph.addNode("compress", node)` in LangGraph.js.
10
+ */
11
+ function makeCompresrNode(options) {
12
+ const { apiKey, client, baseUrl, contextKey, compressionModel = index_js_1.DEFAULT_MODEL, targetCompressionRatio = index_js_1.DEFAULT_RATIO, minTokens = index_js_1.DEFAULT_MIN_TOKENS, coarse, query, queryKey, queryExtractor, onError = index_js_1.DEFAULT_POLICY, } = options;
13
+ const compresr = client ?? (0, index_js_1.buildClient)({ apiKey, baseUrl, caller: 'makeCompresrNode' });
14
+ function resolve(state) {
15
+ let argsDict = null;
16
+ if (queryKey !== undefined) {
17
+ const v = state[queryKey];
18
+ if (typeof v === 'string' && v.trim()) {
19
+ argsDict = { [queryKey]: v };
20
+ }
21
+ }
22
+ return (0, index_js_1.resolveQuery)({
23
+ staticQuery: query,
24
+ extractor: queryExtractor
25
+ ? (arg) => queryExtractor(arg)
26
+ : undefined,
27
+ extractorArg: queryExtractor ? state : undefined,
28
+ args: argsDict,
29
+ argsKey: queryKey,
30
+ });
31
+ }
32
+ return async (state) => {
33
+ const ctx = state[contextKey];
34
+ if (typeof ctx !== 'string' || !ctx.trim()) {
35
+ return {};
36
+ }
37
+ const q = resolve(state);
38
+ const compressed = await (0, index_js_1.compressSafe)(compresr, {
39
+ context: ctx,
40
+ ...(q !== undefined ? { query: q } : {}),
41
+ compressionModel,
42
+ targetCompressionRatio,
43
+ ...(coarse !== undefined ? { coarse } : {}),
44
+ minTokens,
45
+ onError,
46
+ contextLabel: `node:${String(contextKey)}`,
47
+ });
48
+ if (compressed === ctx) {
49
+ return {};
50
+ }
51
+ return { [contextKey]: compressed };
52
+ };
53
+ }
54
+ //# sourceMappingURL=nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../../../src/integrations/langgraph/nodes.ts"],"names":[],"mappings":";;AA2CA,4CA6DC;AAjGD,kDAS6B;AAqB7B;;;;;GAKG;AACH,SAAgB,gBAAgB,CAC9B,OAAmC;IAEnC,MAAM,EACJ,MAAM,EACN,MAAM,EACN,OAAO,EACP,UAAU,EACV,gBAAgB,GAAG,wBAAa,EAChC,sBAAsB,GAAG,wBAAa,EACtC,SAAS,GAAG,6BAAkB,EAC9B,MAAM,EACN,KAAK,EACL,QAAQ,EACR,cAAc,EACd,OAAO,GAAG,yBAAc,GACzB,GAAG,OAAO,CAAC;IAEZ,MAAM,QAAQ,GACZ,MAAM,IAAI,IAAA,sBAAW,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAEzE,SAAS,OAAO,CAAC,KAAQ;QACvB,IAAI,QAAQ,GAAmC,IAAI,CAAC;QACpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC1B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACtC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,OAAO,IAAA,uBAAY,EAAC;YAClB,WAAW,EAAE,KAAK;YAClB,SAAS,EAAE,cAAc;gBACvB,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAQ,CAAC;gBACnC,CAAC,CAAC,SAAS;YACb,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAChD,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,EAAE,KAAQ,EAAE,EAAE;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3C,OAAO,EAAgB,CAAC;QAC1B,CAAC;QACD,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACzB,MAAM,UAAU,GAAG,MAAM,IAAA,uBAAY,EAAC,QAAQ,EAAE;YAC9C,OAAO,EAAE,GAAG;YACZ,GAAG,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,gBAAgB;YAChB,sBAAsB;YACtB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,SAAS;YACT,OAAO;YACP,YAAY,EAAE,QAAQ,MAAM,CAAC,UAAU,CAAC,EAAE;SAC3C,CAAC,CAAC;QACH,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;YACvB,OAAO,EAAgB,CAAC;QAC1B,CAAC;QACD,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,EAAgB,CAAC;IACpD,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * `CompresrStore` — wrap a LangGraph.js `BaseStore` so long string fields
3
+ * are compressed before being persisted to the underlying store.
4
+ *
5
+ * Composition over inheritance: holds an inner store and proxies all
6
+ * methods, intercepting `put` and `batch` to walk the value object and
7
+ * rewrite strings above `minTokens` in place. Lossy — there is no
8
+ * decompression on read.
9
+ */
10
+ import { BaseStore, type Item, type Operation, type OperationResults, type SearchItem } from '@langchain/langgraph-checkpoint';
11
+ import type { CompressionClient } from '../../clients/compression.js';
12
+ import { type ErrorPolicy } from '../_shared/index.js';
13
+ export interface CompresrStoreOptions {
14
+ apiKey?: string;
15
+ client?: CompressionClient;
16
+ baseUrl?: string;
17
+ compressionModel?: string;
18
+ /**
19
+ * Query passed to `latte_v1`. If unset, the field name (e.g. `retrievedText`)
20
+ * is used as the query.
21
+ */
22
+ query?: string;
23
+ targetCompressionRatio?: number;
24
+ minTokens?: number;
25
+ coarse?: boolean;
26
+ fields?: ReadonlySet<string>;
27
+ onError?: ErrorPolicy;
28
+ }
29
+ /**
30
+ * Drop-in `BaseStore` wrapper that compresses string fields on write.
31
+ *
32
+ * @example
33
+ * import { InMemoryStore } from '@langchain/langgraph';
34
+ * import { CompresrStore } from '@compresr/sdk/integrations/langgraph';
35
+ *
36
+ * const store = new CompresrStore(new InMemoryStore(), {
37
+ * apiKey: process.env.COMPRESR_API_KEY!,
38
+ * fields: new Set(['retrievedText']),
39
+ * minTokens: 500,
40
+ * });
41
+ */
42
+ export declare class CompresrStore extends BaseStore {
43
+ private readonly inner;
44
+ private readonly compresr;
45
+ private readonly compressionModel;
46
+ private readonly query;
47
+ private readonly targetCompressionRatio;
48
+ private readonly minTokens;
49
+ private readonly coarse;
50
+ private readonly fields;
51
+ private readonly onError;
52
+ constructor(inner: BaseStore, options?: CompresrStoreOptions);
53
+ private shouldCompress;
54
+ private compressValue;
55
+ private walk;
56
+ put(namespace: string[], key: string, value: Record<string, unknown>, index?: false | string[]): Promise<void>;
57
+ batch<Op extends Operation[]>(operations: Op): Promise<OperationResults<Op>>;
58
+ get(namespace: string[], key: string): Promise<Item | null>;
59
+ search(namespacePrefix: string[], options?: {
60
+ filter?: Record<string, unknown>;
61
+ limit?: number;
62
+ offset?: number;
63
+ query?: string;
64
+ }): Promise<SearchItem[]>;
65
+ delete(namespace: string[], key: string): Promise<void>;
66
+ listNamespaces(options?: {
67
+ prefix?: string[];
68
+ suffix?: string[];
69
+ maxDepth?: number;
70
+ limit?: number;
71
+ offset?: number;
72
+ }): Promise<string[][]>;
73
+ start(): Promise<void>;
74
+ stop(): Promise<void>;
75
+ }
76
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/integrations/langgraph/store.ts"],"names":[],"mappings":"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"}