@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,488 @@
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
+ /** Stable JSON for cache keying — sort object keys so {a:1,b:2} and {b:2,a:1}
7
+ * produce the same string. */
8
+ function stableStringify(value) {
9
+ if (value === null || typeof value !== 'object')
10
+ return JSON.stringify(value);
11
+ if (Array.isArray(value)) {
12
+ return `[${value.map(stableStringify).join(',')}]`;
13
+ }
14
+ const obj = value;
15
+ const keys = Object.keys(obj).sort();
16
+ return `{${keys.map((k) => `${JSON.stringify(k)}:${stableStringify(obj[k])}`).join(',')}}`;
17
+ }
18
+ /**
19
+ * Options that propagate to the underlying chat model via ``.bind(...)`` per call.
20
+ *
21
+ * Covers Anthropic / OpenAI / Gemini. LangChain.js normalizes most of these
22
+ * across providers; unsupported keys are silently ignored upstream. Binding is
23
+ * applied to a fresh wrapper per call so the cached chat model is never
24
+ * polluted across requests.
25
+ */
26
+ const LLM_BIND_OPTIONS = new Set([
27
+ 'temperature',
28
+ 'topP',
29
+ 'topK',
30
+ 'maxTokens',
31
+ 'maxOutputTokens',
32
+ 'stop',
33
+ 'stopSequences',
34
+ 'presencePenalty',
35
+ 'frequencyPenalty',
36
+ 'seed',
37
+ 'logprobs',
38
+ 'topLogprobs',
39
+ ]);
40
+ function resolvePolicy(input) {
41
+ const base = input ?? {};
42
+ const policy = {
43
+ targetCompressionRatio: base.targetCompressionRatio ?? DEFAULT_RATIO,
44
+ compressionModelName: base.compressionModelName ?? DEFAULT_MODEL,
45
+ minTokens: base.minTokens ?? DEFAULT_MIN_TOKENS,
46
+ onError: base.onError ?? DEFAULT_POLICY,
47
+ ...(base.coarse !== undefined ? { coarse: base.coarse } : {}),
48
+ ...(base.allowTools !== undefined
49
+ ? { allowTools: [...base.allowTools] }
50
+ : {}),
51
+ ...(base.ignoreTools !== undefined
52
+ ? { ignoreTools: [...base.ignoreTools] }
53
+ : {}),
54
+ };
55
+ return policy;
56
+ }
57
+ /**
58
+ * Parse an LLM spec into ``{ provider, modelName }``.
59
+ *
60
+ * Accepted forms:
61
+ * - Bare provider: ``"anthropic"`` -> ``{ provider, modelName: undefined }``.
62
+ * The model must then be supplied at the call site.
63
+ * - LangChain-style colon: ``"anthropic:claude-opus-4-8"``.
64
+ * - Vercel-style slash: ``"anthropic/claude-opus-4-8"`` — normalized to the
65
+ * colon form to match LangChain.js's ``initChatModel`` convention.
66
+ */
67
+ export function parseLlmSpec(llm) {
68
+ // Accept Vercel-style "anthropic/claude-..." by normalizing the first
69
+ // separator to a colon.
70
+ const normalized = llm.includes(':')
71
+ ? llm
72
+ : llm.includes('/')
73
+ ? llm.replace('/', ':')
74
+ : llm;
75
+ if (!normalized.includes(':')) {
76
+ // Bare provider — model deferred to the call site.
77
+ const provider = normalized.trim();
78
+ if (!provider) {
79
+ throw new CompresrError("llm must be a provider (e.g. 'anthropic') or 'provider:model' " +
80
+ "(e.g. 'anthropic:claude-opus-4-8')", 'invalid_llm_spec');
81
+ }
82
+ return { provider, modelName: undefined };
83
+ }
84
+ const idx = normalized.indexOf(':');
85
+ const provider = normalized.slice(0, idx).trim();
86
+ const modelName = normalized.slice(idx + 1).trim();
87
+ if (!provider || !modelName) {
88
+ throw new CompresrError("llm must be 'provider:model' (e.g. 'anthropic:claude-opus-4-8')", 'invalid_llm_spec');
89
+ }
90
+ return { provider, modelName };
91
+ }
92
+ let cachedLc;
93
+ async function importLangChain() {
94
+ if (cachedLc)
95
+ return cachedLc;
96
+ let mod;
97
+ try {
98
+ mod = (await import('langchain'));
99
+ }
100
+ catch (exc) {
101
+ throw new CompresrError('CompresrEngine requires langchain>=1.0. Install with: ' +
102
+ 'npm install langchain @langchain/core', 'missing_peer_dependency');
103
+ }
104
+ const initChatModel = mod.initChatModel;
105
+ const createAgent = mod.createAgent;
106
+ if (typeof initChatModel !== 'function' || typeof createAgent !== 'function') {
107
+ throw new CompresrError('langchain package is missing initChatModel / createAgent — ' +
108
+ 'upgrade to langchain>=1.0.', 'missing_peer_dependency');
109
+ }
110
+ cachedLc = { initChatModel, createAgent };
111
+ return cachedLc;
112
+ }
113
+ /**
114
+ * Test seam — lets vitest stub LangChain without monkey-patching
115
+ * ``node_modules``.
116
+ *
117
+ * @internal — not a stable public API; reserved for SDK tests only.
118
+ */
119
+ export function _setLangChainBindings(b) {
120
+ cachedLc = b;
121
+ }
122
+ // ---------------------------------------------------------------------------
123
+ // Normalization helpers
124
+ // ---------------------------------------------------------------------------
125
+ function contentText(msg) {
126
+ const content = msg?.content;
127
+ if (typeof content === 'string')
128
+ return content;
129
+ if (Array.isArray(content)) {
130
+ const parts = [];
131
+ for (const block of content) {
132
+ if (block && typeof block === 'object') {
133
+ const b = block;
134
+ if (b.type === 'text' && typeof b.text === 'string') {
135
+ parts.push(b.text);
136
+ }
137
+ else if (typeof b.text === 'string') {
138
+ parts.push(b.text);
139
+ }
140
+ }
141
+ else if (typeof block === 'string') {
142
+ parts.push(block);
143
+ }
144
+ }
145
+ return parts.join('');
146
+ }
147
+ return '';
148
+ }
149
+ function normalizeContentBlocks(msg) {
150
+ const m = msg;
151
+ if (Array.isArray(m?.content_blocks) && m.content_blocks.length > 0) {
152
+ return [...m.content_blocks];
153
+ }
154
+ if (Array.isArray(m?.content)) {
155
+ return [...m.content];
156
+ }
157
+ return [];
158
+ }
159
+ function normalizeToolUses(msg) {
160
+ const tcs = msg?.tool_calls;
161
+ if (!Array.isArray(tcs))
162
+ return [];
163
+ const out = [];
164
+ for (const raw of tcs) {
165
+ if (!raw || typeof raw !== 'object')
166
+ continue;
167
+ const tc = raw;
168
+ out.push({
169
+ ...(tc.id !== undefined ? { id: tc.id } : {}),
170
+ ...(tc.name !== undefined ? { name: tc.name } : {}),
171
+ ...(tc.args !== undefined ? { input: tc.args } : {}),
172
+ });
173
+ }
174
+ return out;
175
+ }
176
+ function extractCitations(msg) {
177
+ const out = [];
178
+ const blocks = normalizeContentBlocks(msg);
179
+ for (const block of blocks) {
180
+ if (!block || typeof block !== 'object')
181
+ continue;
182
+ const b = block;
183
+ // Anthropic-style citations on text blocks
184
+ for (const cit of b.citations ?? []) {
185
+ if (!cit || typeof cit !== 'object')
186
+ continue;
187
+ const c = cit;
188
+ if (c.type === undefined || c.type === 'web_search_result_location') {
189
+ if (!c.url)
190
+ continue;
191
+ out.push({
192
+ url: c.url,
193
+ ...(c.title !== undefined ? { title: c.title } : {}),
194
+ ...(c.cited_text !== undefined ? { citedText: c.cited_text } : {}),
195
+ providerMetadata: { ...c },
196
+ });
197
+ }
198
+ }
199
+ // OpenAI Responses: annotations with type="url_citation"
200
+ for (const ann of b.annotations ?? []) {
201
+ if (!ann || typeof ann !== 'object')
202
+ continue;
203
+ const a = ann;
204
+ if (a.type === 'url_citation') {
205
+ if (!a.url)
206
+ continue;
207
+ out.push({
208
+ url: a.url,
209
+ ...(a.title !== undefined ? { title: a.title } : {}),
210
+ ...(a.text !== undefined
211
+ ? { citedText: a.text }
212
+ : a.cited_text !== undefined
213
+ ? { citedText: a.cited_text }
214
+ : {}),
215
+ providerMetadata: { ...a },
216
+ });
217
+ }
218
+ }
219
+ }
220
+ // Gemini grounding metadata
221
+ const responseMetadata = msg?.response_metadata ?? {};
222
+ const grounding = responseMetadata['grounding_metadata'] ??
223
+ {};
224
+ const chunks = grounding['grounding_chunks'];
225
+ if (Array.isArray(chunks)) {
226
+ for (const chunk of chunks) {
227
+ if (!chunk || typeof chunk !== 'object')
228
+ continue;
229
+ const web = (chunk.web ?? {});
230
+ if (!web.uri)
231
+ continue;
232
+ out.push({
233
+ url: web.uri,
234
+ ...(web.title !== undefined ? { title: web.title } : {}),
235
+ providerMetadata: { ...chunk },
236
+ });
237
+ }
238
+ }
239
+ return out;
240
+ }
241
+ function normalizeStopReason(msg) {
242
+ const meta = msg
243
+ ?.response_metadata;
244
+ const stop = meta?.['stop_reason'] ?? meta?.['finish_reason'];
245
+ if (typeof stop === 'string' && stop)
246
+ return stop;
247
+ return 'end_turn';
248
+ }
249
+ function normalizeUsage(msg) {
250
+ const direct = msg
251
+ ?.usage_metadata;
252
+ if (direct && typeof direct === 'object') {
253
+ return coerceUsage(direct);
254
+ }
255
+ const meta = msg
256
+ ?.response_metadata;
257
+ const u = meta?.['usage'];
258
+ if (u && typeof u === 'object') {
259
+ return coerceUsage(u);
260
+ }
261
+ return {};
262
+ }
263
+ function coerceUsage(raw) {
264
+ const out = {};
265
+ for (const [k, v] of Object.entries(raw)) {
266
+ if (typeof v === 'number')
267
+ out[k] = v;
268
+ else if (typeof v === 'string' && !Number.isNaN(Number(v))) {
269
+ out[k] = Number(v);
270
+ }
271
+ }
272
+ return out;
273
+ }
274
+ function lastAiMessage(messages) {
275
+ for (let i = messages.length - 1; i >= 0; i--) {
276
+ const msg = messages[i];
277
+ const ctor = msg?.constructor?.name;
278
+ if (ctor === 'AIMessage')
279
+ return msg;
280
+ }
281
+ return messages.length > 0 ? messages[messages.length - 1] : null;
282
+ }
283
+ // ---------------------------------------------------------------------------
284
+ // CompresrEngine
285
+ // ---------------------------------------------------------------------------
286
+ export class CompresrEngine {
287
+ provider;
288
+ /**
289
+ * Default model bound to the engine, parsed from the constructor's ``llm``
290
+ * spec. ``undefined`` when the spec is a bare provider — in that case the
291
+ * model must be supplied per-call on :meth:`run`.
292
+ */
293
+ defaultModelName;
294
+ compresrClient;
295
+ llmApiKey;
296
+ policy;
297
+ chatModels = new Map();
298
+ constructor(options) {
299
+ const { provider, modelName } = parseLlmSpec(options.llm);
300
+ if (!KNOWN_PROVIDERS.has(provider)) {
301
+ // Warn-only — LangChain may know providers we don't.
302
+ getLogger().warn(`agents: unknown provider '${provider}'. ` +
303
+ `Supported: ${[...KNOWN_PROVIDERS].join(', ')}.`);
304
+ }
305
+ this.provider = provider;
306
+ this.defaultModelName = modelName;
307
+ this.compresrClient = options.compresrClient;
308
+ if (options.llmApiKey !== undefined) {
309
+ this.llmApiKey = options.llmApiKey;
310
+ }
311
+ this.policy = resolvePolicy(options.policy);
312
+ }
313
+ /**
314
+ * Back-compat alias for ``defaultModelName`` — returns the constructor
315
+ * default and may be ``undefined`` when the engine was built with a bare
316
+ * provider ``llm`` spec.
317
+ */
318
+ get modelName() {
319
+ return this.defaultModelName;
320
+ }
321
+ async getChatModel(modelName, extraKwargs) {
322
+ // LangChain.js's bind_tools strips a prior chat.bind(...)'s kwargs, so
323
+ // we bake the per-call knobs (maxTokens, temperature, …) into the chat-
324
+ // model constructor and cache per (modelName, extraKwargs).
325
+ const cacheKey = `${modelName}::${stableStringify(extraKwargs ?? {})}`;
326
+ const cached = this.chatModels.get(cacheKey);
327
+ if (cached !== undefined)
328
+ return cached;
329
+ const { initChatModel } = await importLangChain();
330
+ const kwargs = { ...(extraKwargs ?? {}) };
331
+ if (this.llmApiKey !== undefined)
332
+ kwargs['apiKey'] = this.llmApiKey;
333
+ let chat;
334
+ if (this.provider === 'openai') {
335
+ try {
336
+ chat = initChatModel(`${this.provider}:${modelName}`, {
337
+ ...kwargs,
338
+ outputVersion: 'responses/v1',
339
+ });
340
+ this.chatModels.set(cacheKey, chat);
341
+ return chat;
342
+ }
343
+ catch {
344
+ // older @langchain/openai rejects unknown kwargs
345
+ }
346
+ }
347
+ chat = initChatModel(`${this.provider}:${modelName}`, kwargs);
348
+ this.chatModels.set(cacheKey, chat);
349
+ return chat;
350
+ }
351
+ async buildMiddleware() {
352
+ // Lazy-load the existing langchain middleware so importing the engine
353
+ // doesn't drag in @langchain/core at module load.
354
+ const { compresrToolMiddleware } = await import('../integrations/langchain/middleware.js');
355
+ const mwOpts = {
356
+ client: this.compresrClient,
357
+ targetCompressionRatio: this.policy.targetCompressionRatio,
358
+ compressionModel: this.policy.compressionModelName,
359
+ minTokens: this.policy.minTokens,
360
+ onError: this.policy.onError,
361
+ };
362
+ if (this.policy.coarse !== undefined)
363
+ mwOpts['coarse'] = this.policy.coarse;
364
+ if (this.policy.allowTools !== undefined) {
365
+ mwOpts['allowTools'] = this.policy.allowTools;
366
+ }
367
+ if (this.policy.ignoreTools !== undefined) {
368
+ mwOpts['ignoreTools'] = this.policy.ignoreTools;
369
+ }
370
+ return [
371
+ compresrToolMiddleware(mwOpts),
372
+ ];
373
+ }
374
+ async buildAgent(chat, tools, system) {
375
+ const { createAgent } = await importLangChain();
376
+ const middleware = await this.buildMiddleware();
377
+ const params = {
378
+ model: chat,
379
+ tools: [...tools],
380
+ middleware,
381
+ };
382
+ if (system !== undefined)
383
+ params['systemPrompt'] = system;
384
+ try {
385
+ return createAgent(params);
386
+ }
387
+ catch (exc) {
388
+ // Only retry without ``systemPrompt`` when the error clearly signals
389
+ // an unknown-keyword failure from an older LangChain. Otherwise
390
+ // re-throw so we don't mask unrelated bugs (auth, validation, etc.).
391
+ const message = exc instanceof Error ? exc.message : String(exc);
392
+ const isUnknownKwarg = /unexpected keyword|unknown (?:argument|kwarg|option)|not a known argument|systemPrompt/i.test(message);
393
+ if (!isUnknownKwarg || system === undefined) {
394
+ throw exc;
395
+ }
396
+ delete params['systemPrompt'];
397
+ return createAgent(params);
398
+ }
399
+ }
400
+ /**
401
+ * Pull every option whose key lives in :data:`LLM_BIND_OPTIONS` and return a
402
+ * fresh object — the caller passes it to ``chat.bind(...)``. Non-LLM keys
403
+ * are silently ignored, which keeps the public ``RunOptions`` interface
404
+ * forgiving when callers mix in custom config.
405
+ *
406
+ * Gemini quirk: LangChain.js's ``ChatGoogleGenerativeAI`` uses
407
+ * ``maxOutputTokens`` instead of ``maxTokens``. We alias when the caller
408
+ * provided ``maxTokens`` without an explicit ``maxOutputTokens``.
409
+ */
410
+ extractBindOptions(options) {
411
+ const out = {};
412
+ for (const [key, value] of Object.entries(options)) {
413
+ if (value === undefined)
414
+ continue;
415
+ if (LLM_BIND_OPTIONS.has(key)) {
416
+ out[key] = value;
417
+ }
418
+ }
419
+ if (this.provider === 'google_genai' &&
420
+ out['maxTokens'] !== undefined &&
421
+ out['maxOutputTokens'] === undefined) {
422
+ const { maxTokens, ...rest } = out;
423
+ return { ...rest, maxOutputTokens: maxTokens };
424
+ }
425
+ return out;
426
+ }
427
+ async run(options) {
428
+ const effectiveModel = options.model ?? this.defaultModelName;
429
+ if (effectiveModel === undefined) {
430
+ throw new CompresrError("model is required — set it on the client " +
431
+ "(llm: 'anthropic:claude-...') or pass it to messages.create({ model: '...' }).", 'missing_model');
432
+ }
433
+ const tools = options.tools ?? [];
434
+ const bindOptions = this.extractBindOptions(options);
435
+ // Bake LLM knobs into the chat-model constructor (not chat.bind(...))
436
+ // so they survive create_agent's internal bind_tools call. Per-knob
437
+ // combinations are cached separately.
438
+ const chat = await this.getChatModel(effectiveModel, Object.keys(bindOptions).length > 0 ? bindOptions : undefined);
439
+ const agent = (await this.buildAgent(chat, tools, options.system));
440
+ let result;
441
+ try {
442
+ result = await Promise.resolve(agent.invoke({ messages: [...options.messages] }, options.config ?? {}));
443
+ }
444
+ catch (exc) {
445
+ // Re-wrap LangChain failures so callers always see a CompresrError
446
+ // (parity with Python M1). The original error is preserved via
447
+ // ``cause`` for debugging.
448
+ if (exc instanceof CompresrError)
449
+ throw exc;
450
+ const message = exc instanceof Error ? exc.message : String(exc);
451
+ const wrapped = new CompresrError(`Agent execution failed: ${message}`, 'agent_execution_failed');
452
+ // Native ``Error.cause`` is part of ES2022 — preserve the original
453
+ // for debugging without losing CompresrError typing.
454
+ wrapped.cause = exc;
455
+ throw wrapped;
456
+ }
457
+ return this.normalize(result);
458
+ }
459
+ normalize(agentResult) {
460
+ const messages = agentResult && typeof agentResult === 'object'
461
+ ? (agentResult.messages ?? [])
462
+ : [];
463
+ const msg = lastAiMessage(messages);
464
+ if (msg == null) {
465
+ return {
466
+ text: '',
467
+ contentBlocks: [],
468
+ toolUses: [],
469
+ citations: [],
470
+ stopReason: 'end_turn',
471
+ usage: {},
472
+ compresrStats: defaultCompresrStats(),
473
+ raw: null,
474
+ };
475
+ }
476
+ return {
477
+ text: contentText(msg),
478
+ contentBlocks: normalizeContentBlocks(msg),
479
+ toolUses: normalizeToolUses(msg),
480
+ citations: extractCitations(msg),
481
+ stopReason: normalizeStopReason(msg),
482
+ usage: normalizeUsage(msg),
483
+ compresrStats: defaultCompresrStats(),
484
+ raw: msg,
485
+ };
486
+ }
487
+ }
488
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/agents/engine.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,aAAa,GAEd,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,oBAAoB,GAIrB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;AAEzE;8BAC8B;AAC9B,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACrD,CAAC;IACD,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC7F,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS;IACvC,aAAa;IACb,MAAM;IACN,MAAM;IACN,WAAW;IACX,iBAAiB;IACjB,MAAM;IACN,eAAe;IACf,iBAAiB;IACjB,kBAAkB;IAClB,MAAM;IACN,UAAU;IACV,aAAa;CACd,CAAC,CAAC;AA2BH,SAAS,aAAa,CAAC,KAAgC;IACrD,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;IACzB,MAAM,MAAM,GAAmB;QAC7B,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,IAAI,aAAa;QACpE,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,IAAI,aAAa;QAChE,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,kBAAkB;QAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,cAAc;QACvC,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS;YAC/B,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE;YACtC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS;YAChC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE;YACxC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IAItC,sEAAsE;IACtE,wBAAwB;IACxB,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QAClC,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;YACjB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;YACvB,CAAC,CAAC,GAAG,CAAC;IAEV,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,mDAAmD;QACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,aAAa,CACrB,gEAAgE;gBAC9D,oCAAoC,EACtC,kBAAkB,CACnB,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEnD,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,aAAa,CACrB,iEAAiE,EACjE,kBAAkB,CACnB,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAiDD,IAAI,QAAuC,CAAC;AAE5C,KAAK,UAAU,eAAe;IAC5B,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,GAA4B,CAAC;IACjC,IAAI,CAAC;QACH,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAA4B,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,aAAa,CACrB,wDAAwD;YACtD,uCAAuC,EACzC,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,GAAG,CAAC,aAEb,CAAC;IACd,MAAM,WAAW,GAAG,GAAG,CAAC,WAEX,CAAC;IACd,IAAI,OAAO,aAAa,KAAK,UAAU,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;QAC7E,MAAM,IAAI,aAAa,CACrB,6DAA6D;YAC3D,4BAA4B,EAC9B,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IACD,QAAQ,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;IAC1C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,CAAgC;IACpE,QAAQ,GAAG,CAAC,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,SAAS,WAAW,CAAC,GAAY;IAC/B,MAAM,OAAO,GAAI,GAA6B,EAAE,OAAO,CAAC;IACxD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvC,MAAM,CAAC,GAAG,KAA0C,CAAC;gBACrD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACpD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;qBAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAY;IAC1C,MAAM,CAAC,GAAG,GAAwD,CAAC;IACnE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAI,CAAC,CAAC,OAAqB,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAY;IACrC,MAAM,GAAG,GAAI,GAAkC,EAAE,UAAU,CAAC;IAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,GAAG,GAAwB,EAAE,CAAC;IACpC,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,SAAS;QAC9C,MAAM,EAAE,GAAG,GAAqE,CAAC;QACjF,GAAG,CAAC,IAAI,CAAC;YACP,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAY;IACpC,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,MAAM,CAAC,GAAG,KAGT,CAAC;QACF,2CAA2C;QAC3C,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,SAAS;YAC9C,MAAM,CAAC,GAAG,GAKT,CAAC;YACF,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,4BAA4B,EAAE,CAAC;gBACpE,IAAI,CAAC,CAAC,CAAC,GAAG;oBAAE,SAAS;gBACrB,GAAG,CAAC,IAAI,CAAC;oBACP,GAAG,EAAE,CAAC,CAAC,GAAG;oBACV,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClE,gBAAgB,EAAE,EAAE,GAAG,CAAC,EAAE;iBAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,yDAAyD;QACzD,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,SAAS;YAC9C,MAAM,CAAC,GAAG,GAMT,CAAC;YACF,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC9B,IAAI,CAAC,CAAC,CAAC,GAAG;oBAAE,SAAS;gBACrB,GAAG,CAAC,IAAI,CAAC;oBACP,GAAG,EAAE,CAAC,CAAC,GAAG;oBACV,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS;wBACtB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;wBACvB,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS;4BAC1B,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE;4BAC7B,CAAC,CAAC,EAAE,CAAC;oBACT,gBAAgB,EAAE,EAAE,GAAG,CAAC,EAAE;iBAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,4BAA4B;IAC5B,MAAM,gBAAgB,GACnB,GAAuD,EAAE,iBAAiB,IAAI,EAAE,CAAC;IACpF,MAAM,SAAS,GACZ,gBAAgB,CAAC,oBAAoB,CAAyC;QAC/E,EAAE,CAAC;IACL,MAAM,MAAM,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,SAAS;YAClD,MAAM,GAAG,GAAG,CAAE,KAA2B,CAAC,GAAG,IAAI,EAAE,CAGlD,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,GAAG;gBAAE,SAAS;YACvB,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,gBAAgB,EAAE,EAAE,GAAI,KAAiC,EAAE;aAC5D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAY;IACvC,MAAM,IAAI,GAAI,GAAuD;QACnE,EAAE,iBAAiB,CAAC;IACtB,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,eAAe,CAAC,CAAC;IAC9D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAClD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,MAAM,MAAM,GAAI,GAAoD;QAClE,EAAE,cAAc,CAAC;IACnB,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,IAAI,GAAI,GAAuD;QACnE,EAAE,iBAAiB,CAAC;IACtB,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1B,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC,CAA4B,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,WAAW,CAAC,GAA4B;IAC/C,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACjC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CAAC,QAAmB;IACxC,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,IAAI,GAAI,GAA2C,EAAE,WAAW,EAAE,IAAI,CAAC;QAC7E,IAAI,IAAI,KAAK,WAAW;YAAE,OAAO,GAAG,CAAC;IACvC,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,MAAM,OAAO,cAAc;IAChB,QAAQ,CAAS;IAC1B;;;;OAIG;IACM,gBAAgB,CAAqB;IAE7B,cAAc,CAAoB;IAClC,SAAS,CAAU;IACnB,MAAM,CAAiB;IACvB,UAAU,GAAyB,IAAI,GAAG,EAAE,CAAC;IAE9D,YAAY,OAA8B;QACxC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,qDAAqD;YACrD,SAAS,EAAE,CAAC,IAAI,CACd,6BAA6B,QAAQ,KAAK;gBACxC,cAAc,CAAC,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACnD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,SAAiB,EACjB,WAAqC;QAErC,uEAAuE;QACvE,wEAAwE;QACxE,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,GAAG,SAAS,KAAK,eAAe,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;QAClD,MAAM,MAAM,GAA4B,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACpE,IAAI,IAAa,CAAC;QAClB,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,IAAI,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE,EAAE;oBACpD,GAAG,MAAM;oBACT,aAAa,EAAE,cAAc;iBAC9B,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACpC,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,iDAAiD;YACnD,CAAC;QACH,CAAC;QACD,IAAI,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,sEAAsE;QACtE,kDAAkD;QAClD,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAC7C,yCAAyC,CAC1C,CAAC;QACF,MAAM,MAAM,GAA4B;YACtC,MAAM,EAAE,IAAI,CAAC,cAAc;YAC3B,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB;YAC1D,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB;YAClD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SAC7B,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5E,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAChD,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QAClD,CAAC;QACD,OAAO;YACL,sBAAsB,CACpB,MAAsD,CACvD;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,IAAa,EACb,KAA6B,EAC7B,MAAe;QAEf,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAChD,MAAM,MAAM,GAA4B;YACtC,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;YACjB,UAAU;SACX,CAAC;QACF,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC;QAC1D,IAAI,CAAC;YACH,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qEAAqE;YACrE,gEAAgE;YAChE,qEAAqE;YACrE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,cAAc,GAAG,yFAAyF,CAAC,IAAI,CACnH,OAAO,CACR,CAAC;YACF,IAAI,CAAC,cAAc,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC5C,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC;YAC9B,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,kBAAkB,CACxB,OAAmB;QAEnB,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACnB,CAAC;QACH,CAAC;QACD,IACE,IAAI,CAAC,QAAQ,KAAK,cAAc;YAChC,GAAG,CAAC,WAAW,CAAC,KAAK,SAAS;YAC9B,GAAG,CAAC,iBAAiB,CAAC,KAAK,SAAS,EACpC,CAAC;YACD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;YACnC,OAAO,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;QACjD,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAmB;QAC3B,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC;QAC9D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,aAAa,CACrB,2CAA2C;gBACzC,gFAAgF,EAClF,eAAe,CAChB,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACrD,sEAAsE;QACtE,oEAAoE;QACpE,sCAAsC;QACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAClC,cAAc,EACd,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAC9D,CAAC;QACF,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAClC,IAAI,EACJ,KAAK,EACL,OAAO,CAAC,MAAM,CACf,CAEA,CAAC;QACF,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAC5B,KAAK,CAAC,MAAM,CACV,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,EACnC,OAAO,CAAC,MAAM,IAAI,EAAE,CACrB,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mEAAmE;YACnE,+DAA+D;YAC/D,2BAA2B;YAC3B,IAAI,GAAG,YAAY,aAAa;gBAAE,MAAM,GAAG,CAAC;YAC5C,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,IAAI,aAAa,CAC/B,2BAA2B,OAAO,EAAE,EACpC,wBAAwB,CACzB,CAAC;YACF,mEAAmE;YACnE,qDAAqD;YACpD,OAAuC,CAAC,KAAK,GAAG,GAAG,CAAC;YACrD,MAAM,OAAO,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEO,SAAS,CAAC,WAAoB;QACpC,MAAM,QAAQ,GACZ,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ;YAC5C,CAAC,CAAC,CAAE,WAAwC,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC5D,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAChB,OAAO;gBACL,IAAI,EAAE,EAAE;gBACR,aAAa,EAAE,EAAE;gBACjB,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE,UAAU;gBACtB,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,oBAAoB,EAAE;gBACrC,GAAG,EAAE,IAAI;aACV,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC;YACtB,aAAa,EAAE,sBAAsB,CAAC,GAAG,CAAC;YAC1C,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC;YAChC,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC;YAChC,UAAU,EAAE,mBAAmB,CAAC,GAAG,CAAC;YACpC,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC;YAC1B,aAAa,EAAE,oBAAoB,EAAE;YACrC,GAAG,EAAE,GAAG;SACT,CAAC;IACJ,CAAC;CACF"}
@@ -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"}