@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,478 @@
1
+ import { CompresrError } from '../errors/index.js';
2
+ import { getLogger } from '../logger.js';
3
+ import { DEFAULT_MIN_TOKENS, DEFAULT_MODEL, DEFAULT_POLICY, DEFAULT_RATIO, } from '../integrations/_shared/index.js';
4
+ import { defaultCompresrStats, } from './normalized.js';
5
+ const KNOWN_PROVIDERS = new Set(['anthropic', 'openai', 'google_genai']);
6
+ /**
7
+ * Options that propagate to the underlying chat model via ``.bind(...)`` per call.
8
+ *
9
+ * Covers Anthropic / OpenAI / Gemini. LangChain.js normalizes most of these
10
+ * across providers; unsupported keys are silently ignored upstream. Binding is
11
+ * applied to a fresh wrapper per call so the cached chat model is never
12
+ * polluted across requests.
13
+ */
14
+ const LLM_BIND_OPTIONS = new Set([
15
+ 'temperature',
16
+ 'topP',
17
+ 'topK',
18
+ 'maxTokens',
19
+ 'maxOutputTokens',
20
+ 'stop',
21
+ 'stopSequences',
22
+ 'presencePenalty',
23
+ 'frequencyPenalty',
24
+ 'seed',
25
+ 'logprobs',
26
+ 'topLogprobs',
27
+ ]);
28
+ function resolvePolicy(input) {
29
+ const base = input ?? {};
30
+ const policy = {
31
+ targetCompressionRatio: base.targetCompressionRatio ?? DEFAULT_RATIO,
32
+ compressionModelName: base.compressionModelName ?? DEFAULT_MODEL,
33
+ minTokens: base.minTokens ?? DEFAULT_MIN_TOKENS,
34
+ onError: base.onError ?? DEFAULT_POLICY,
35
+ ...(base.coarse !== undefined ? { coarse: base.coarse } : {}),
36
+ ...(base.allowTools !== undefined
37
+ ? { allowTools: [...base.allowTools] }
38
+ : {}),
39
+ ...(base.ignoreTools !== undefined
40
+ ? { ignoreTools: [...base.ignoreTools] }
41
+ : {}),
42
+ };
43
+ return policy;
44
+ }
45
+ /**
46
+ * Parse an LLM spec into ``{ provider, modelName }``.
47
+ *
48
+ * Accepted forms:
49
+ * - Bare provider: ``"anthropic"`` -> ``{ provider, modelName: undefined }``.
50
+ * The model must then be supplied at the call site.
51
+ * - LangChain-style colon: ``"anthropic:claude-opus-4-8"``.
52
+ * - Vercel-style slash: ``"anthropic/claude-opus-4-8"`` — normalized to the
53
+ * colon form to match LangChain.js's ``initChatModel`` convention.
54
+ */
55
+ export function parseLlmSpec(llm) {
56
+ // Accept Vercel-style "anthropic/claude-..." by normalizing the first
57
+ // separator to a colon.
58
+ const normalized = llm.includes(':')
59
+ ? llm
60
+ : llm.includes('/')
61
+ ? llm.replace('/', ':')
62
+ : llm;
63
+ if (!normalized.includes(':')) {
64
+ // Bare provider — model deferred to the call site.
65
+ const provider = normalized.trim();
66
+ if (!provider) {
67
+ throw new CompresrError("llm must be a provider (e.g. 'anthropic') or 'provider:model' " +
68
+ "(e.g. 'anthropic:claude-opus-4-8')", 'invalid_llm_spec');
69
+ }
70
+ return { provider, modelName: undefined };
71
+ }
72
+ const idx = normalized.indexOf(':');
73
+ const provider = normalized.slice(0, idx).trim();
74
+ const modelName = normalized.slice(idx + 1).trim();
75
+ if (!provider || !modelName) {
76
+ throw new CompresrError("llm must be 'provider:model' (e.g. 'anthropic:claude-opus-4-8')", 'invalid_llm_spec');
77
+ }
78
+ return { provider, modelName };
79
+ }
80
+ let cachedLc;
81
+ async function importLangChain() {
82
+ if (cachedLc)
83
+ return cachedLc;
84
+ let mod;
85
+ try {
86
+ mod = (await import('langchain'));
87
+ }
88
+ catch (exc) {
89
+ throw new CompresrError('CompresrEngine requires langchain>=1.0. Install with: ' +
90
+ 'npm install langchain @langchain/core', 'missing_peer_dependency');
91
+ }
92
+ const initChatModel = mod.initChatModel;
93
+ const createAgent = mod.createAgent;
94
+ if (typeof initChatModel !== 'function' || typeof createAgent !== 'function') {
95
+ throw new CompresrError('langchain package is missing initChatModel / createAgent — ' +
96
+ 'upgrade to langchain>=1.0.', 'missing_peer_dependency');
97
+ }
98
+ cachedLc = { initChatModel, createAgent };
99
+ return cachedLc;
100
+ }
101
+ /**
102
+ * Test seam — lets vitest stub LangChain without monkey-patching
103
+ * ``node_modules``.
104
+ *
105
+ * @internal — not a stable public API; reserved for SDK tests only.
106
+ */
107
+ export function _setLangChainBindings(b) {
108
+ cachedLc = b;
109
+ }
110
+ // ---------------------------------------------------------------------------
111
+ // Normalization helpers
112
+ // ---------------------------------------------------------------------------
113
+ function contentText(msg) {
114
+ const content = msg?.content;
115
+ if (typeof content === 'string')
116
+ return content;
117
+ if (Array.isArray(content)) {
118
+ const parts = [];
119
+ for (const block of content) {
120
+ if (block && typeof block === 'object') {
121
+ const b = block;
122
+ if (b.type === 'text' && typeof b.text === 'string') {
123
+ parts.push(b.text);
124
+ }
125
+ else if (typeof b.text === 'string') {
126
+ parts.push(b.text);
127
+ }
128
+ }
129
+ else if (typeof block === 'string') {
130
+ parts.push(block);
131
+ }
132
+ }
133
+ return parts.join('');
134
+ }
135
+ return '';
136
+ }
137
+ function normalizeContentBlocks(msg) {
138
+ const m = msg;
139
+ if (Array.isArray(m?.content_blocks) && m.content_blocks.length > 0) {
140
+ return [...m.content_blocks];
141
+ }
142
+ if (Array.isArray(m?.content)) {
143
+ return [...m.content];
144
+ }
145
+ return [];
146
+ }
147
+ function normalizeToolUses(msg) {
148
+ const tcs = msg?.tool_calls;
149
+ if (!Array.isArray(tcs))
150
+ return [];
151
+ const out = [];
152
+ for (const raw of tcs) {
153
+ if (!raw || typeof raw !== 'object')
154
+ continue;
155
+ const tc = raw;
156
+ out.push({
157
+ ...(tc.id !== undefined ? { id: tc.id } : {}),
158
+ ...(tc.name !== undefined ? { name: tc.name } : {}),
159
+ ...(tc.args !== undefined ? { input: tc.args } : {}),
160
+ });
161
+ }
162
+ return out;
163
+ }
164
+ function extractCitations(msg) {
165
+ const out = [];
166
+ const blocks = normalizeContentBlocks(msg);
167
+ for (const block of blocks) {
168
+ if (!block || typeof block !== 'object')
169
+ continue;
170
+ const b = block;
171
+ // Anthropic-style citations on text blocks
172
+ for (const cit of b.citations ?? []) {
173
+ if (!cit || typeof cit !== 'object')
174
+ continue;
175
+ const c = cit;
176
+ if (c.type === undefined || c.type === 'web_search_result_location') {
177
+ if (!c.url)
178
+ continue;
179
+ out.push({
180
+ url: c.url,
181
+ ...(c.title !== undefined ? { title: c.title } : {}),
182
+ ...(c.cited_text !== undefined ? { citedText: c.cited_text } : {}),
183
+ providerMetadata: { ...c },
184
+ });
185
+ }
186
+ }
187
+ // OpenAI Responses: annotations with type="url_citation"
188
+ for (const ann of b.annotations ?? []) {
189
+ if (!ann || typeof ann !== 'object')
190
+ continue;
191
+ const a = ann;
192
+ if (a.type === 'url_citation') {
193
+ if (!a.url)
194
+ continue;
195
+ out.push({
196
+ url: a.url,
197
+ ...(a.title !== undefined ? { title: a.title } : {}),
198
+ ...(a.text !== undefined
199
+ ? { citedText: a.text }
200
+ : a.cited_text !== undefined
201
+ ? { citedText: a.cited_text }
202
+ : {}),
203
+ providerMetadata: { ...a },
204
+ });
205
+ }
206
+ }
207
+ }
208
+ // Gemini grounding metadata
209
+ const responseMetadata = msg?.response_metadata ?? {};
210
+ const grounding = responseMetadata['grounding_metadata'] ??
211
+ {};
212
+ const chunks = grounding['grounding_chunks'];
213
+ if (Array.isArray(chunks)) {
214
+ for (const chunk of chunks) {
215
+ if (!chunk || typeof chunk !== 'object')
216
+ continue;
217
+ const web = (chunk.web ?? {});
218
+ if (!web.uri)
219
+ continue;
220
+ out.push({
221
+ url: web.uri,
222
+ ...(web.title !== undefined ? { title: web.title } : {}),
223
+ providerMetadata: { ...chunk },
224
+ });
225
+ }
226
+ }
227
+ return out;
228
+ }
229
+ function normalizeStopReason(msg) {
230
+ const meta = msg
231
+ ?.response_metadata;
232
+ const stop = meta?.['stop_reason'] ?? meta?.['finish_reason'];
233
+ if (typeof stop === 'string' && stop)
234
+ return stop;
235
+ return 'end_turn';
236
+ }
237
+ function normalizeUsage(msg) {
238
+ const direct = msg
239
+ ?.usage_metadata;
240
+ if (direct && typeof direct === 'object') {
241
+ return coerceUsage(direct);
242
+ }
243
+ const meta = msg
244
+ ?.response_metadata;
245
+ const u = meta?.['usage'];
246
+ if (u && typeof u === 'object') {
247
+ return coerceUsage(u);
248
+ }
249
+ return {};
250
+ }
251
+ function coerceUsage(raw) {
252
+ const out = {};
253
+ for (const [k, v] of Object.entries(raw)) {
254
+ if (typeof v === 'number')
255
+ out[k] = v;
256
+ else if (typeof v === 'string' && !Number.isNaN(Number(v))) {
257
+ out[k] = Number(v);
258
+ }
259
+ }
260
+ return out;
261
+ }
262
+ function lastAiMessage(messages) {
263
+ for (let i = messages.length - 1; i >= 0; i--) {
264
+ const msg = messages[i];
265
+ const ctor = msg?.constructor?.name;
266
+ if (ctor === 'AIMessage')
267
+ return msg;
268
+ }
269
+ return messages.length > 0 ? messages[messages.length - 1] : null;
270
+ }
271
+ // ---------------------------------------------------------------------------
272
+ // CompresrEngine
273
+ // ---------------------------------------------------------------------------
274
+ export class CompresrEngine {
275
+ provider;
276
+ /**
277
+ * Default model bound to the engine, parsed from the constructor's ``llm``
278
+ * spec. ``undefined`` when the spec is a bare provider — in that case the
279
+ * model must be supplied per-call on :meth:`run`.
280
+ */
281
+ defaultModelName;
282
+ compresrClient;
283
+ llmApiKey;
284
+ policy;
285
+ chatModels = new Map();
286
+ constructor(options) {
287
+ const { provider, modelName } = parseLlmSpec(options.llm);
288
+ if (!KNOWN_PROVIDERS.has(provider)) {
289
+ // Warn-only — LangChain may know providers we don't.
290
+ getLogger().warn(`agents: unknown provider '${provider}'. ` +
291
+ `Supported: ${[...KNOWN_PROVIDERS].join(', ')}.`);
292
+ }
293
+ this.provider = provider;
294
+ this.defaultModelName = modelName;
295
+ this.compresrClient = options.compresrClient;
296
+ if (options.llmApiKey !== undefined) {
297
+ this.llmApiKey = options.llmApiKey;
298
+ }
299
+ this.policy = resolvePolicy(options.policy);
300
+ }
301
+ /**
302
+ * Back-compat alias for ``defaultModelName`` — returns the constructor
303
+ * default and may be ``undefined`` when the engine was built with a bare
304
+ * provider ``llm`` spec.
305
+ */
306
+ get modelName() {
307
+ return this.defaultModelName;
308
+ }
309
+ async getChatModel(modelName) {
310
+ const cached = this.chatModels.get(modelName);
311
+ if (cached !== undefined)
312
+ return cached;
313
+ const { initChatModel } = await importLangChain();
314
+ const kwargs = {};
315
+ if (this.llmApiKey !== undefined)
316
+ kwargs['apiKey'] = this.llmApiKey;
317
+ let chat;
318
+ if (this.provider === 'openai') {
319
+ try {
320
+ chat = initChatModel(`${this.provider}:${modelName}`, {
321
+ ...kwargs,
322
+ outputVersion: 'responses/v1',
323
+ });
324
+ this.chatModels.set(modelName, chat);
325
+ return chat;
326
+ }
327
+ catch {
328
+ // older @langchain/openai rejects unknown kwargs
329
+ }
330
+ }
331
+ chat = initChatModel(`${this.provider}:${modelName}`, kwargs);
332
+ this.chatModels.set(modelName, chat);
333
+ return chat;
334
+ }
335
+ async buildMiddleware() {
336
+ // Lazy-load the existing langchain middleware so importing the engine
337
+ // doesn't drag in @langchain/core at module load.
338
+ const { compresrToolMiddleware } = await import('../integrations/langchain/middleware.js');
339
+ const mwOpts = {
340
+ client: this.compresrClient,
341
+ targetCompressionRatio: this.policy.targetCompressionRatio,
342
+ compressionModel: this.policy.compressionModelName,
343
+ minTokens: this.policy.minTokens,
344
+ onError: this.policy.onError,
345
+ };
346
+ if (this.policy.coarse !== undefined)
347
+ mwOpts['coarse'] = this.policy.coarse;
348
+ if (this.policy.allowTools !== undefined) {
349
+ mwOpts['allowTools'] = this.policy.allowTools;
350
+ }
351
+ if (this.policy.ignoreTools !== undefined) {
352
+ mwOpts['ignoreTools'] = this.policy.ignoreTools;
353
+ }
354
+ return [
355
+ compresrToolMiddleware(mwOpts),
356
+ ];
357
+ }
358
+ async buildAgent(chat, tools, system) {
359
+ const { createAgent } = await importLangChain();
360
+ const middleware = await this.buildMiddleware();
361
+ const params = {
362
+ model: chat,
363
+ tools: [...tools],
364
+ middleware,
365
+ };
366
+ if (system !== undefined)
367
+ params['systemPrompt'] = system;
368
+ try {
369
+ return createAgent(params);
370
+ }
371
+ catch (exc) {
372
+ // Only retry without ``systemPrompt`` when the error clearly signals
373
+ // an unknown-keyword failure from an older LangChain. Otherwise
374
+ // re-throw so we don't mask unrelated bugs (auth, validation, etc.).
375
+ const message = exc instanceof Error ? exc.message : String(exc);
376
+ const isUnknownKwarg = /unexpected keyword|unknown (?:argument|kwarg|option)|not a known argument|systemPrompt/i.test(message);
377
+ if (!isUnknownKwarg || system === undefined) {
378
+ throw exc;
379
+ }
380
+ delete params['systemPrompt'];
381
+ return createAgent(params);
382
+ }
383
+ }
384
+ /**
385
+ * Pull every option whose key lives in :data:`LLM_BIND_OPTIONS` and return a
386
+ * fresh object — the caller passes it to ``chat.bind(...)``. Non-LLM keys
387
+ * are silently ignored, which keeps the public ``RunOptions`` interface
388
+ * forgiving when callers mix in custom config.
389
+ *
390
+ * Gemini quirk: LangChain.js's ``ChatGoogleGenerativeAI`` uses
391
+ * ``maxOutputTokens`` instead of ``maxTokens``. We alias when the caller
392
+ * provided ``maxTokens`` without an explicit ``maxOutputTokens``.
393
+ */
394
+ extractBindOptions(options) {
395
+ const out = {};
396
+ for (const [key, value] of Object.entries(options)) {
397
+ if (value === undefined)
398
+ continue;
399
+ if (LLM_BIND_OPTIONS.has(key)) {
400
+ out[key] = value;
401
+ }
402
+ }
403
+ if (this.provider === 'google_genai' &&
404
+ out['maxTokens'] !== undefined &&
405
+ out['maxOutputTokens'] === undefined) {
406
+ const { maxTokens, ...rest } = out;
407
+ return { ...rest, maxOutputTokens: maxTokens };
408
+ }
409
+ return out;
410
+ }
411
+ async run(options) {
412
+ const effectiveModel = options.model ?? this.defaultModelName;
413
+ if (effectiveModel === undefined) {
414
+ throw new CompresrError("model is required — set it on the client " +
415
+ "(llm: 'anthropic:claude-...') or pass it to messages.create({ model: '...' }).", 'missing_model');
416
+ }
417
+ const tools = options.tools ?? [];
418
+ const cachedChat = await this.getChatModel(effectiveModel);
419
+ const bindOptions = this.extractBindOptions(options);
420
+ // Bind per call so the cached chat instance stays unpolluted across
421
+ // concurrent requests with different temperature / maxTokens / etc.
422
+ let chat = cachedChat;
423
+ if (Object.keys(bindOptions).length > 0) {
424
+ const bindable = cachedChat;
425
+ if (typeof bindable.bind === 'function') {
426
+ chat = bindable.bind(bindOptions);
427
+ }
428
+ }
429
+ const agent = (await this.buildAgent(chat, tools, options.system));
430
+ let result;
431
+ try {
432
+ result = await Promise.resolve(agent.invoke({ messages: [...options.messages] }, options.config ?? {}));
433
+ }
434
+ catch (exc) {
435
+ // Re-wrap LangChain failures so callers always see a CompresrError
436
+ // (parity with Python M1). The original error is preserved via
437
+ // ``cause`` for debugging.
438
+ if (exc instanceof CompresrError)
439
+ throw exc;
440
+ const message = exc instanceof Error ? exc.message : String(exc);
441
+ const wrapped = new CompresrError(`Agent execution failed: ${message}`, 'agent_execution_failed');
442
+ // Native ``Error.cause`` is part of ES2022 — preserve the original
443
+ // for debugging without losing CompresrError typing.
444
+ wrapped.cause = exc;
445
+ throw wrapped;
446
+ }
447
+ return this.normalize(result);
448
+ }
449
+ normalize(agentResult) {
450
+ const messages = agentResult && typeof agentResult === 'object'
451
+ ? (agentResult.messages ?? [])
452
+ : [];
453
+ const msg = lastAiMessage(messages);
454
+ if (msg == null) {
455
+ return {
456
+ text: '',
457
+ contentBlocks: [],
458
+ toolUses: [],
459
+ citations: [],
460
+ stopReason: 'end_turn',
461
+ usage: {},
462
+ compresrStats: defaultCompresrStats(),
463
+ raw: null,
464
+ };
465
+ }
466
+ return {
467
+ text: contentText(msg),
468
+ contentBlocks: normalizeContentBlocks(msg),
469
+ toolUses: normalizeToolUses(msg),
470
+ citations: extractCitations(msg),
471
+ stopReason: normalizeStopReason(msg),
472
+ usage: normalizeUsage(msg),
473
+ compresrStats: defaultCompresrStats(),
474
+ raw: msg,
475
+ };
476
+ }
477
+ }
478
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/agents/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { CompresrEngine } from '../engine.js';
2
+ import { type AnthropicMessage } from '../schemas/anthropic.js';
3
+ export interface AnthropicMessagesCreateOptions {
4
+ /**
5
+ * Optional per-call model. Defaults to the model encoded on the engine's
6
+ * ``llm`` spec (``'anthropic:claude-...'``). If neither is set, the engine
7
+ * throws ``CompresrError("missing_model")``.
8
+ */
9
+ model?: string;
10
+ messages: ReadonlyArray<unknown>;
11
+ maxTokens?: number;
12
+ tools?: ReadonlyArray<unknown>;
13
+ system?: string;
14
+ config?: Record<string, unknown>;
15
+ temperature?: number;
16
+ topP?: number;
17
+ topK?: number;
18
+ stopSequences?: string[];
19
+ }
20
+ export interface AnthropicMessagesFacade {
21
+ create(options: AnthropicMessagesCreateOptions): Promise<AnthropicMessage>;
22
+ /** Streaming not yet implemented — throws. */
23
+ stream(options: AnthropicMessagesCreateOptions): Promise<never>;
24
+ }
25
+ export declare function anthropicMessages(engine: CompresrEngine): AnthropicMessagesFacade;
26
+ //# sourceMappingURL=anthropic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../../src/agents/facades/anthropic.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3E,8CAA8C;IAC9C,MAAM,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CACjE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,uBAAuB,CA8BjF"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Anthropic-shaped facade — ``client.messages.create(...)``.
3
+ *
4
+ * Delegates the actual run to a private :class:`CompresrEngine` and remaps the
5
+ * returned :class:`NormalizedResult` into an Anthropic ``Message`` shape.
6
+ *
7
+ * Mirrors Python ``compresr/agents/facades/anthropic.py``.
8
+ */
9
+ import { CompresrError } from '../../errors/index.js';
10
+ import { toAnthropicMessage, } from '../schemas/anthropic.js';
11
+ export function anthropicMessages(engine) {
12
+ return {
13
+ async create(options) {
14
+ const runOpts = {
15
+ messages: options.messages,
16
+ tools: options.tools ?? [],
17
+ maxTokens: options.maxTokens ?? 4096,
18
+ };
19
+ if (options.model !== undefined)
20
+ runOpts.model = options.model;
21
+ if (options.system !== undefined)
22
+ runOpts.system = options.system;
23
+ if (options.config !== undefined)
24
+ runOpts.config = options.config;
25
+ if (options.temperature !== undefined)
26
+ runOpts.temperature = options.temperature;
27
+ if (options.topP !== undefined)
28
+ runOpts.topP = options.topP;
29
+ if (options.topK !== undefined)
30
+ runOpts.topK = options.topK;
31
+ if (options.stopSequences !== undefined) {
32
+ runOpts.stopSequences = options.stopSequences;
33
+ }
34
+ const result = await engine.run(runOpts);
35
+ const responseModel = options.model ?? engine.defaultModelName ?? '';
36
+ return toAnthropicMessage(result, { model: responseModel });
37
+ },
38
+ stream(_options) {
39
+ return Promise.reject(new CompresrError('streaming not yet implemented — Phase 2 work item', 'not_implemented'));
40
+ },
41
+ };
42
+ }
43
+ //# sourceMappingURL=anthropic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../../src/agents/facades/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EACL,kBAAkB,GAEnB,MAAM,yBAAyB,CAAC;AA6BjC,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACtD,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,OAAuC;YAClD,MAAM,OAAO,GAAqC;gBAChD,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;gBAC1B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;aACrC,CAAC;YACF,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;gBAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAClE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAClE,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;gBAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YACjF,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC5D,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC5D,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACxC,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;YAChD,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;YACrE,OAAO,kBAAkB,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,CAAC,QAAwC;YAC7C,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,aAAa,CACf,mDAAmD,EACnD,iBAAiB,CAClB,CACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { anthropicMessages, type AnthropicMessagesFacade, type AnthropicMessagesCreateOptions, } from './anthropic.js';
2
+ export { openaiChatCompletions, type OpenAIChatFacade, type OpenAICompletionsFacade, type OpenAICompletionsCreateOptions, } from './openai.js';
3
+ export { nativeRun, type NativeRunOptions } from './native.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/agents/facades/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,GACpC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,GACpC,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { anthropicMessages, } from './anthropic.js';
2
+ export { openaiChatCompletions, } from './openai.js';
3
+ export { nativeRun } from './native.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/agents/facades/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAGlB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qBAAqB,GAItB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAyB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Native facade — ``client.run({ prompt, tools, ... })``.
3
+ *
4
+ * The native surface returns :class:`NormalizedResult` directly so callers who
5
+ * don't need provider-specific shapes can skip the remappers entirely.
6
+ *
7
+ * Mirrors Python ``compresr/agents/facades/native.py``.
8
+ */
9
+ import type { CompresrEngine } from '../engine.js';
10
+ import type { NormalizedResult } from '../normalized.js';
11
+ export interface NativeRunOptions {
12
+ prompt: string;
13
+ /**
14
+ * Optional per-call model. Defaults to the model encoded on the engine's
15
+ * ``llm`` spec. If neither is set, the engine throws
16
+ * ``CompresrError("missing_model")``.
17
+ */
18
+ model?: string;
19
+ tools?: ReadonlyArray<unknown>;
20
+ system?: string;
21
+ maxTokens?: number;
22
+ config?: Record<string, unknown>;
23
+ temperature?: number;
24
+ topP?: number;
25
+ topK?: number;
26
+ stopSequences?: string[];
27
+ }
28
+ export declare function nativeRun(engine: CompresrEngine, options: NativeRunOptions): Promise<NormalizedResult>;
29
+ //# sourceMappingURL=native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../../src/agents/facades/native.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAgB3B"}
@@ -0,0 +1,24 @@
1
+ export async function nativeRun(engine, options) {
2
+ const runOpts = {
3
+ messages: [{ role: 'user', content: options.prompt }],
4
+ tools: options.tools ?? [],
5
+ maxTokens: options.maxTokens ?? 4096,
6
+ };
7
+ if (options.model !== undefined)
8
+ runOpts.model = options.model;
9
+ if (options.system !== undefined)
10
+ runOpts.system = options.system;
11
+ if (options.config !== undefined)
12
+ runOpts.config = options.config;
13
+ if (options.temperature !== undefined)
14
+ runOpts.temperature = options.temperature;
15
+ if (options.topP !== undefined)
16
+ runOpts.topP = options.topP;
17
+ if (options.topK !== undefined)
18
+ runOpts.topK = options.topK;
19
+ if (options.stopSequences !== undefined) {
20
+ runOpts.stopSequences = options.stopSequences;
21
+ }
22
+ return engine.run(runOpts);
23
+ }
24
+ //# sourceMappingURL=native.js.map