@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.
- package/LICENSE +201 -0
- package/README.md +237 -173
- package/dist/cjs/agents/engine.d.ts +121 -0
- package/dist/cjs/agents/engine.d.ts.map +1 -0
- package/dist/cjs/agents/engine.js +517 -0
- package/dist/cjs/agents/engine.js.map +1 -0
- package/dist/cjs/agents/facades/anthropic.d.ts +26 -0
- package/dist/cjs/agents/facades/anthropic.d.ts.map +1 -0
- package/dist/cjs/agents/facades/anthropic.js +46 -0
- package/dist/cjs/agents/facades/anthropic.js.map +1 -0
- package/dist/cjs/agents/facades/index.d.ts +4 -0
- package/dist/cjs/agents/facades/index.d.ts.map +1 -0
- package/dist/cjs/agents/facades/index.js +10 -0
- package/dist/cjs/agents/facades/index.js.map +1 -0
- package/dist/cjs/agents/facades/native.d.ts +29 -0
- package/dist/cjs/agents/facades/native.d.ts.map +1 -0
- package/dist/cjs/agents/facades/native.js +27 -0
- package/dist/cjs/agents/facades/native.js.map +1 -0
- package/dist/cjs/agents/facades/openai.d.ts +32 -0
- package/dist/cjs/agents/facades/openai.d.ts.map +1 -0
- package/dist/cjs/agents/facades/openai.js +55 -0
- package/dist/cjs/agents/facades/openai.js.map +1 -0
- package/dist/cjs/agents/index.d.ts +23 -0
- package/dist/cjs/agents/index.d.ts.map +1 -0
- package/dist/cjs/agents/index.js +37 -0
- package/dist/cjs/agents/index.js.map +1 -0
- package/dist/cjs/agents/normalized.d.ts +59 -0
- package/dist/cjs/agents/normalized.d.ts.map +1 -0
- package/dist/cjs/agents/normalized.js +35 -0
- package/dist/cjs/agents/normalized.js.map +1 -0
- package/dist/cjs/agents/schemas/anthropic.d.ts +46 -0
- package/dist/cjs/agents/schemas/anthropic.d.ts.map +1 -0
- package/dist/cjs/agents/schemas/anthropic.js +55 -0
- package/dist/cjs/agents/schemas/anthropic.js.map +1 -0
- package/dist/cjs/agents/schemas/index.d.ts +3 -0
- package/dist/cjs/agents/schemas/index.d.ts.map +1 -0
- package/dist/cjs/agents/schemas/index.js +8 -0
- package/dist/cjs/agents/schemas/index.js.map +1 -0
- package/dist/cjs/agents/schemas/openai.d.ts +51 -0
- package/dist/cjs/agents/schemas/openai.d.ts.map +1 -0
- package/dist/cjs/agents/schemas/openai.js +60 -0
- package/dist/cjs/agents/schemas/openai.js.map +1 -0
- package/dist/cjs/agents/tools/index.d.ts +2 -0
- package/dist/cjs/agents/tools/index.d.ts.map +1 -0
- package/dist/cjs/agents/tools/index.js +7 -0
- package/dist/cjs/agents/tools/index.js.map +1 -0
- package/dist/cjs/agents/tools/web-search.d.ts +56 -0
- package/dist/cjs/agents/tools/web-search.d.ts.map +1 -0
- package/dist/cjs/agents/tools/web-search.js +128 -0
- package/dist/cjs/agents/tools/web-search.js.map +1 -0
- package/dist/cjs/clients/compression.d.ts +39 -147
- package/dist/cjs/clients/compression.d.ts.map +1 -1
- package/dist/cjs/clients/compression.js +114 -194
- package/dist/cjs/clients/compression.js.map +1 -1
- package/dist/cjs/clients/index.d.ts +1 -1
- package/dist/cjs/clients/index.d.ts.map +1 -1
- package/dist/cjs/clients/index.js.map +1 -1
- package/dist/cjs/config/constants.d.ts +3 -28
- package/dist/cjs/config/constants.d.ts.map +1 -1
- package/dist/cjs/config/constants.js +4 -43
- package/dist/cjs/config/constants.js.map +1 -1
- package/dist/cjs/config/endpoints.d.ts +3 -15
- package/dist/cjs/config/endpoints.d.ts.map +1 -1
- package/dist/cjs/config/endpoints.js +3 -20
- package/dist/cjs/config/endpoints.js.map +1 -1
- package/dist/cjs/config/index.d.ts +1 -1
- package/dist/cjs/config/index.d.ts.map +1 -1
- package/dist/cjs/config/index.js +1 -7
- package/dist/cjs/config/index.js.map +1 -1
- package/dist/cjs/errors/exceptions.d.ts.map +1 -1
- package/dist/cjs/errors/exceptions.js +0 -6
- package/dist/cjs/errors/exceptions.js.map +1 -1
- package/dist/cjs/http/client.d.ts +5 -17
- package/dist/cjs/http/client.d.ts.map +1 -1
- package/dist/cjs/http/client.js +110 -115
- package/dist/cjs/http/client.js.map +1 -1
- package/dist/cjs/index.d.ts +7 -15
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +22 -25
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/integrations/_shared/client.d.ts +13 -0
- package/dist/cjs/integrations/_shared/client.d.ts.map +1 -0
- package/dist/cjs/integrations/_shared/client.js +21 -0
- package/dist/cjs/integrations/_shared/client.js.map +1 -0
- package/dist/cjs/integrations/_shared/compress.d.ts +28 -0
- package/dist/cjs/integrations/_shared/compress.d.ts.map +1 -0
- package/dist/cjs/integrations/_shared/compress.js +38 -0
- package/dist/cjs/integrations/_shared/compress.js.map +1 -0
- package/dist/cjs/integrations/_shared/errors.d.ts +20 -0
- package/dist/cjs/integrations/_shared/errors.d.ts.map +1 -0
- package/dist/cjs/integrations/_shared/errors.js +49 -0
- package/dist/cjs/integrations/_shared/errors.js.map +1 -0
- package/dist/cjs/integrations/_shared/filters.d.ts +20 -0
- package/dist/cjs/integrations/_shared/filters.d.ts.map +1 -0
- package/dist/cjs/integrations/_shared/filters.js +33 -0
- package/dist/cjs/integrations/_shared/filters.js.map +1 -0
- package/dist/cjs/integrations/_shared/index.d.ts +7 -0
- package/dist/cjs/integrations/_shared/index.d.ts.map +1 -0
- package/dist/cjs/integrations/_shared/index.js +26 -0
- package/dist/cjs/integrations/_shared/index.js.map +1 -0
- package/dist/cjs/integrations/_shared/query.d.ts +48 -0
- package/dist/cjs/integrations/_shared/query.d.ts.map +1 -0
- package/dist/cjs/integrations/_shared/query.js +141 -0
- package/dist/cjs/integrations/_shared/query.js.map +1 -0
- package/dist/cjs/integrations/_shared/tokens.d.ts +20 -0
- package/dist/cjs/integrations/_shared/tokens.d.ts.map +1 -0
- package/dist/cjs/integrations/_shared/tokens.js +26 -0
- package/dist/cjs/integrations/_shared/tokens.js.map +1 -0
- package/dist/cjs/integrations/langchain/index.d.ts +10 -0
- package/dist/cjs/integrations/langchain/index.d.ts.map +1 -0
- package/dist/cjs/integrations/langchain/index.js +18 -0
- package/dist/cjs/integrations/langchain/index.js.map +1 -0
- package/dist/cjs/integrations/langchain/middleware.d.ts +94 -0
- package/dist/cjs/integrations/langchain/middleware.d.ts.map +1 -0
- package/dist/cjs/integrations/langchain/middleware.js +273 -0
- package/dist/cjs/integrations/langchain/middleware.js.map +1 -0
- package/dist/cjs/integrations/langchain/retriever.d.ts +54 -0
- package/dist/cjs/integrations/langchain/retriever.d.ts.map +1 -0
- package/dist/cjs/integrations/langchain/retriever.js +118 -0
- package/dist/cjs/integrations/langchain/retriever.js.map +1 -0
- package/dist/cjs/integrations/langchain/wrappers.d.ts +39 -0
- package/dist/cjs/integrations/langchain/wrappers.d.ts.map +1 -0
- package/dist/cjs/integrations/langchain/wrappers.js +88 -0
- package/dist/cjs/integrations/langchain/wrappers.js.map +1 -0
- package/dist/cjs/integrations/langgraph/checkpoint.d.ts +49 -0
- package/dist/cjs/integrations/langgraph/checkpoint.d.ts.map +1 -0
- package/dist/cjs/integrations/langgraph/checkpoint.js +79 -0
- package/dist/cjs/integrations/langgraph/checkpoint.js.map +1 -0
- package/dist/cjs/integrations/langgraph/handoff.d.ts +44 -0
- package/dist/cjs/integrations/langgraph/handoff.d.ts.map +1 -0
- package/dist/cjs/integrations/langgraph/handoff.js +86 -0
- package/dist/cjs/integrations/langgraph/handoff.js.map +1 -0
- package/dist/cjs/integrations/langgraph/index.d.ts +18 -0
- package/dist/cjs/integrations/langgraph/index.d.ts.map +1 -0
- package/dist/cjs/integrations/langgraph/index.js +28 -0
- package/dist/cjs/integrations/langgraph/index.js.map +1 -0
- package/dist/cjs/integrations/langgraph/nodes.d.ts +34 -0
- package/dist/cjs/integrations/langgraph/nodes.d.ts.map +1 -0
- package/dist/cjs/integrations/langgraph/nodes.js +54 -0
- package/dist/cjs/integrations/langgraph/nodes.js.map +1 -0
- package/dist/cjs/integrations/langgraph/store.d.ts +76 -0
- package/dist/cjs/integrations/langgraph/store.d.ts.map +1 -0
- package/dist/cjs/integrations/langgraph/store.js +121 -0
- package/dist/cjs/integrations/langgraph/store.js.map +1 -0
- package/dist/cjs/integrations/llamaindex/index.d.ts +10 -0
- package/dist/cjs/integrations/llamaindex/index.d.ts.map +1 -0
- package/dist/cjs/integrations/llamaindex/index.js +15 -0
- package/dist/cjs/integrations/llamaindex/index.js.map +1 -0
- package/dist/cjs/integrations/llamaindex/memory.d.ts +74 -0
- package/dist/cjs/integrations/llamaindex/memory.d.ts.map +1 -0
- package/dist/cjs/integrations/llamaindex/memory.js +95 -0
- package/dist/cjs/integrations/llamaindex/memory.js.map +1 -0
- package/dist/cjs/integrations/llamaindex/postprocessor.d.ts +66 -0
- package/dist/cjs/integrations/llamaindex/postprocessor.d.ts.map +1 -0
- package/dist/cjs/integrations/llamaindex/postprocessor.js +172 -0
- package/dist/cjs/integrations/llamaindex/postprocessor.js.map +1 -0
- package/dist/cjs/integrations/llamaindex/wrappers.d.ts +38 -0
- package/dist/cjs/integrations/llamaindex/wrappers.d.ts.map +1 -0
- package/dist/cjs/integrations/llamaindex/wrappers.js +46 -0
- package/dist/cjs/integrations/llamaindex/wrappers.js.map +1 -0
- package/dist/cjs/logger.d.ts +18 -0
- package/dist/cjs/logger.d.ts.map +1 -0
- package/dist/cjs/logger.js +41 -0
- package/dist/cjs/logger.js.map +1 -0
- package/dist/cjs/schemas/compression.d.ts +10 -80
- package/dist/cjs/schemas/compression.d.ts.map +1 -1
- package/dist/cjs/schemas/compression.js +4 -57
- package/dist/cjs/schemas/compression.js.map +1 -1
- package/dist/cjs/schemas/index.d.ts +1 -4
- package/dist/cjs/schemas/index.d.ts.map +1 -1
- package/dist/cjs/schemas/index.js +1 -8
- package/dist/cjs/schemas/index.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/agents/engine.d.ts +121 -0
- package/dist/esm/agents/engine.d.ts.map +1 -0
- package/dist/esm/agents/engine.js +478 -0
- package/dist/esm/agents/engine.js.map +1 -0
- package/dist/esm/agents/facades/anthropic.d.ts +26 -0
- package/dist/esm/agents/facades/anthropic.d.ts.map +1 -0
- package/dist/esm/agents/facades/anthropic.js +43 -0
- package/dist/esm/agents/facades/anthropic.js.map +1 -0
- package/dist/esm/agents/facades/index.d.ts +4 -0
- package/dist/esm/agents/facades/index.d.ts.map +1 -0
- package/dist/esm/agents/facades/index.js +4 -0
- package/dist/esm/agents/facades/index.js.map +1 -0
- package/dist/esm/agents/facades/native.d.ts +29 -0
- package/dist/esm/agents/facades/native.d.ts.map +1 -0
- package/dist/esm/agents/facades/native.js +24 -0
- package/dist/esm/agents/facades/native.js.map +1 -0
- package/dist/esm/agents/facades/openai.d.ts +32 -0
- package/dist/esm/agents/facades/openai.d.ts.map +1 -0
- package/dist/esm/agents/facades/openai.js +52 -0
- package/dist/esm/agents/facades/openai.js.map +1 -0
- package/dist/esm/agents/index.d.ts +23 -0
- package/dist/esm/agents/index.d.ts.map +1 -0
- package/dist/esm/agents/index.js +23 -0
- package/dist/esm/agents/index.js.map +1 -0
- package/dist/esm/agents/normalized.d.ts +59 -0
- package/dist/esm/agents/normalized.d.ts.map +1 -0
- package/dist/esm/agents/normalized.js +31 -0
- package/dist/esm/agents/normalized.js.map +1 -0
- package/dist/esm/agents/schemas/anthropic.d.ts +46 -0
- package/dist/esm/agents/schemas/anthropic.d.ts.map +1 -0
- package/dist/esm/agents/schemas/anthropic.js +52 -0
- package/dist/esm/agents/schemas/anthropic.js.map +1 -0
- package/dist/esm/agents/schemas/index.d.ts +3 -0
- package/dist/esm/agents/schemas/index.d.ts.map +1 -0
- package/dist/esm/agents/schemas/index.js +3 -0
- package/dist/esm/agents/schemas/index.js.map +1 -0
- package/dist/esm/agents/schemas/openai.d.ts +51 -0
- package/dist/esm/agents/schemas/openai.d.ts.map +1 -0
- package/dist/esm/agents/schemas/openai.js +57 -0
- package/dist/esm/agents/schemas/openai.js.map +1 -0
- package/dist/esm/agents/tools/index.d.ts +2 -0
- package/dist/esm/agents/tools/index.d.ts.map +1 -0
- package/dist/esm/agents/tools/index.js +2 -0
- package/dist/esm/agents/tools/index.js.map +1 -0
- package/dist/esm/agents/tools/web-search.d.ts +56 -0
- package/dist/esm/agents/tools/web-search.d.ts.map +1 -0
- package/dist/esm/agents/tools/web-search.js +91 -0
- package/dist/esm/agents/tools/web-search.js.map +1 -0
- package/dist/esm/clients/compression.d.ts +39 -147
- package/dist/esm/clients/compression.d.ts.map +1 -1
- package/dist/esm/clients/compression.js +117 -197
- package/dist/esm/clients/compression.js.map +1 -1
- package/dist/esm/clients/index.d.ts +1 -1
- package/dist/esm/clients/index.d.ts.map +1 -1
- package/dist/esm/clients/index.js.map +1 -1
- package/dist/esm/config/constants.d.ts +3 -28
- package/dist/esm/config/constants.d.ts.map +1 -1
- package/dist/esm/config/constants.js +3 -42
- package/dist/esm/config/constants.js.map +1 -1
- package/dist/esm/config/endpoints.d.ts +3 -15
- package/dist/esm/config/endpoints.d.ts.map +1 -1
- package/dist/esm/config/endpoints.js +3 -20
- package/dist/esm/config/endpoints.js.map +1 -1
- package/dist/esm/config/index.d.ts +1 -1
- package/dist/esm/config/index.d.ts.map +1 -1
- package/dist/esm/config/index.js +1 -1
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/errors/exceptions.d.ts.map +1 -1
- package/dist/esm/errors/exceptions.js +0 -6
- package/dist/esm/errors/exceptions.js.map +1 -1
- package/dist/esm/http/client.d.ts +5 -17
- package/dist/esm/http/client.d.ts.map +1 -1
- package/dist/esm/http/client.js +110 -115
- package/dist/esm/http/client.js.map +1 -1
- package/dist/esm/index.d.ts +7 -15
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +7 -13
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/integrations/_shared/client.d.ts +13 -0
- package/dist/esm/integrations/_shared/client.d.ts.map +1 -0
- package/dist/esm/integrations/_shared/client.js +17 -0
- package/dist/esm/integrations/_shared/client.js.map +1 -0
- package/dist/esm/integrations/_shared/compress.d.ts +28 -0
- package/dist/esm/integrations/_shared/compress.d.ts.map +1 -0
- package/dist/esm/integrations/_shared/compress.js +35 -0
- package/dist/esm/integrations/_shared/compress.js.map +1 -0
- package/dist/esm/integrations/_shared/errors.d.ts +20 -0
- package/dist/esm/integrations/_shared/errors.d.ts.map +1 -0
- package/dist/esm/integrations/_shared/errors.js +44 -0
- package/dist/esm/integrations/_shared/errors.js.map +1 -0
- package/dist/esm/integrations/_shared/filters.d.ts +20 -0
- package/dist/esm/integrations/_shared/filters.d.ts.map +1 -0
- package/dist/esm/integrations/_shared/filters.js +30 -0
- package/dist/esm/integrations/_shared/filters.js.map +1 -0
- package/dist/esm/integrations/_shared/index.d.ts +7 -0
- package/dist/esm/integrations/_shared/index.d.ts.map +1 -0
- package/dist/esm/integrations/_shared/index.js +7 -0
- package/dist/esm/integrations/_shared/index.js.map +1 -0
- package/dist/esm/integrations/_shared/query.d.ts +48 -0
- package/dist/esm/integrations/_shared/query.d.ts.map +1 -0
- package/dist/esm/integrations/_shared/query.js +135 -0
- package/dist/esm/integrations/_shared/query.js.map +1 -0
- package/dist/esm/integrations/_shared/tokens.d.ts +20 -0
- package/dist/esm/integrations/_shared/tokens.d.ts.map +1 -0
- package/dist/esm/integrations/_shared/tokens.js +23 -0
- package/dist/esm/integrations/_shared/tokens.js.map +1 -0
- package/dist/esm/integrations/langchain/index.d.ts +10 -0
- package/dist/esm/integrations/langchain/index.d.ts.map +1 -0
- package/dist/esm/integrations/langchain/index.js +9 -0
- package/dist/esm/integrations/langchain/index.js.map +1 -0
- package/dist/esm/integrations/langchain/middleware.d.ts +94 -0
- package/dist/esm/integrations/langchain/middleware.d.ts.map +1 -0
- package/dist/esm/integrations/langchain/middleware.js +268 -0
- package/dist/esm/integrations/langchain/middleware.js.map +1 -0
- package/dist/esm/integrations/langchain/retriever.d.ts +54 -0
- package/dist/esm/integrations/langchain/retriever.d.ts.map +1 -0
- package/dist/esm/integrations/langchain/retriever.js +114 -0
- package/dist/esm/integrations/langchain/retriever.js.map +1 -0
- package/dist/esm/integrations/langchain/wrappers.d.ts +39 -0
- package/dist/esm/integrations/langchain/wrappers.d.ts.map +1 -0
- package/dist/esm/integrations/langchain/wrappers.js +84 -0
- package/dist/esm/integrations/langchain/wrappers.js.map +1 -0
- package/dist/esm/integrations/langgraph/checkpoint.d.ts +49 -0
- package/dist/esm/integrations/langgraph/checkpoint.d.ts.map +1 -0
- package/dist/esm/integrations/langgraph/checkpoint.js +75 -0
- package/dist/esm/integrations/langgraph/checkpoint.js.map +1 -0
- package/dist/esm/integrations/langgraph/handoff.d.ts +44 -0
- package/dist/esm/integrations/langgraph/handoff.d.ts.map +1 -0
- package/dist/esm/integrations/langgraph/handoff.js +83 -0
- package/dist/esm/integrations/langgraph/handoff.js.map +1 -0
- package/dist/esm/integrations/langgraph/index.d.ts +18 -0
- package/dist/esm/integrations/langgraph/index.d.ts.map +1 -0
- package/dist/esm/integrations/langgraph/index.js +17 -0
- package/dist/esm/integrations/langgraph/index.js.map +1 -0
- package/dist/esm/integrations/langgraph/nodes.d.ts +34 -0
- package/dist/esm/integrations/langgraph/nodes.d.ts.map +1 -0
- package/dist/esm/integrations/langgraph/nodes.js +51 -0
- package/dist/esm/integrations/langgraph/nodes.js.map +1 -0
- package/dist/esm/integrations/langgraph/store.d.ts +76 -0
- package/dist/esm/integrations/langgraph/store.d.ts.map +1 -0
- package/dist/esm/integrations/langgraph/store.js +117 -0
- package/dist/esm/integrations/langgraph/store.js.map +1 -0
- package/dist/esm/integrations/llamaindex/index.d.ts +10 -0
- package/dist/esm/integrations/llamaindex/index.d.ts.map +1 -0
- package/dist/esm/integrations/llamaindex/index.js +9 -0
- package/dist/esm/integrations/llamaindex/index.js.map +1 -0
- package/dist/esm/integrations/llamaindex/memory.d.ts +74 -0
- package/dist/esm/integrations/llamaindex/memory.d.ts.map +1 -0
- package/dist/esm/integrations/llamaindex/memory.js +91 -0
- package/dist/esm/integrations/llamaindex/memory.js.map +1 -0
- package/dist/esm/integrations/llamaindex/postprocessor.d.ts +66 -0
- package/dist/esm/integrations/llamaindex/postprocessor.d.ts.map +1 -0
- package/dist/esm/integrations/llamaindex/postprocessor.js +168 -0
- package/dist/esm/integrations/llamaindex/postprocessor.js.map +1 -0
- package/dist/esm/integrations/llamaindex/wrappers.d.ts +38 -0
- package/dist/esm/integrations/llamaindex/wrappers.d.ts.map +1 -0
- package/dist/esm/integrations/llamaindex/wrappers.js +43 -0
- package/dist/esm/integrations/llamaindex/wrappers.js.map +1 -0
- package/dist/esm/logger.d.ts +18 -0
- package/dist/esm/logger.d.ts.map +1 -0
- package/dist/esm/logger.js +37 -0
- package/dist/esm/logger.js.map +1 -0
- package/dist/esm/schemas/compression.d.ts +10 -80
- package/dist/esm/schemas/compression.d.ts.map +1 -1
- package/dist/esm/schemas/compression.js +3 -56
- package/dist/esm/schemas/compression.js.map +1 -1
- package/dist/esm/schemas/index.d.ts +1 -4
- package/dist/esm/schemas/index.d.ts.map +1 -1
- package/dist/esm/schemas/index.js +1 -6
- package/dist/esm/schemas/index.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +89 -4
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ``WebSearchTool`` — backed by Tavily or Brave.
|
|
3
|
+
*
|
|
4
|
+
* Returns a LangChain.js ``BaseTool`` whose output flows through Compresr's
|
|
5
|
+
* ``compresrToolMiddleware`` automatically when used with the SDK's engine
|
|
6
|
+
* (``client.messages.create`` / ``client.chat.completions.create`` /
|
|
7
|
+
* ``client.run``).
|
|
8
|
+
*
|
|
9
|
+
* Provider-native server tools (Anthropic ``web_search_20250305``, OpenAI
|
|
10
|
+
* ``web_search_preview``, Gemini ``google_search``) are intentionally NOT
|
|
11
|
+
* supported here — they execute server-side and return opaque/encrypted
|
|
12
|
+
* content that Compresr cannot read or compress. Use a real search API
|
|
13
|
+
* (Tavily or Brave) so the result is plaintext we can compress.
|
|
14
|
+
*
|
|
15
|
+
* Mirrors Python ``compresr/agents/tools/web_search.py``.
|
|
16
|
+
*/
|
|
17
|
+
import type { StructuredToolInterface } from '@langchain/core/tools';
|
|
18
|
+
/** Public return type for the web-search factories — any tool that satisfies
|
|
19
|
+
* LangChain.js's ``StructuredToolInterface`` is acceptable. We use the
|
|
20
|
+
* interface form (not the abstract class) so we avoid generic parameter
|
|
21
|
+
* gymnastics at the call site. */
|
|
22
|
+
export type WebSearchToolInstance = StructuredToolInterface;
|
|
23
|
+
export interface TavilyOptions {
|
|
24
|
+
apiKey?: string;
|
|
25
|
+
maxResults?: number;
|
|
26
|
+
allowedDomains?: ReadonlyArray<string>;
|
|
27
|
+
blockedDomains?: ReadonlyArray<string>;
|
|
28
|
+
/** Additional kwargs forwarded to the underlying LangChain tool. */
|
|
29
|
+
extra?: Record<string, unknown>;
|
|
30
|
+
}
|
|
31
|
+
export interface BraveOptions {
|
|
32
|
+
apiKey?: string;
|
|
33
|
+
maxResults?: number;
|
|
34
|
+
/** Additional kwargs forwarded to the underlying LangChain tool. */
|
|
35
|
+
extra?: Record<string, unknown>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Factory namespace for web-search tools — pick a provider via
|
|
39
|
+
* ``WebSearchTool.tavily(...)`` or ``WebSearchTool.brave(...)``.
|
|
40
|
+
*
|
|
41
|
+
* Each method returns a LangChain.js ``StructuredToolInterface`` ready to
|
|
42
|
+
* pass into the engine's ``tools: []`` array. The interface form is used
|
|
43
|
+
* (instead of the abstract ``StructuredTool`` class) so callers can drop
|
|
44
|
+
* in any compatible tool implementation without hitting generic-parameter
|
|
45
|
+
* mismatches.
|
|
46
|
+
*/
|
|
47
|
+
export declare const WebSearchTool: {
|
|
48
|
+
readonly tavily: (options?: TavilyOptions) => Promise<WebSearchToolInstance>;
|
|
49
|
+
readonly brave: (options?: BraveOptions) => Promise<WebSearchToolInstance>;
|
|
50
|
+
};
|
|
51
|
+
export type WebSearchTool = typeof WebSearchTool;
|
|
52
|
+
/** Direct factory for the Tavily variant — preferred when ``tools: [...]``
|
|
53
|
+
* needs a synchronous reference. Returns a promise that resolves to a tool. */
|
|
54
|
+
export declare function createWebSearchTool(provider: 'tavily', options?: TavilyOptions): Promise<WebSearchToolInstance>;
|
|
55
|
+
export declare function createWebSearchTool(provider: 'brave', options?: BraveOptions): Promise<WebSearchToolInstance>;
|
|
56
|
+
//# sourceMappingURL=web-search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-search.d.ts","sourceRoot":"","sources":["../../../../src/agents/tools/web-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAIrE;;;kCAGkC;AAClC,MAAM,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAE5D,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAwFD;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa;gCACR,aAAa,KAAQ,OAAO,CAAC,qBAAqB,CAAC;+BAGpD,YAAY,KAAQ,OAAO,CAAC,qBAAqB,CAAC;CAGzD,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC;AAEjD;+EAC+E;AAC/E,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAClC,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.WebSearchTool = void 0;
|
|
37
|
+
exports.createWebSearchTool = createWebSearchTool;
|
|
38
|
+
const index_js_1 = require("../../errors/index.js");
|
|
39
|
+
async function buildTavily(options) {
|
|
40
|
+
let mod;
|
|
41
|
+
try {
|
|
42
|
+
mod = (await Promise.resolve().then(() => __importStar(require(
|
|
43
|
+
// @ts-expect-error — optional peer; types not guaranteed at compile time
|
|
44
|
+
'@langchain/tavily'))));
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
throw new index_js_1.CompresrError("WebSearchTool.tavily requires '@langchain/tavily'. " +
|
|
48
|
+
'Install with: npm install @langchain/tavily', 'missing_peer_dependency');
|
|
49
|
+
}
|
|
50
|
+
const TavilySearch = (mod['TavilySearch'] ?? mod['default']);
|
|
51
|
+
if (typeof TavilySearch !== 'function') {
|
|
52
|
+
throw new index_js_1.CompresrError("'@langchain/tavily' is missing TavilySearch — upgrade the package.", 'missing_peer_dependency');
|
|
53
|
+
}
|
|
54
|
+
const init = {
|
|
55
|
+
maxResults: options.maxResults ?? 5,
|
|
56
|
+
};
|
|
57
|
+
if (options.apiKey) {
|
|
58
|
+
// TavilySearch accepts the key as a constructor option (``tavilyApiKey``).
|
|
59
|
+
// Passing it here avoids mutating ``process.env`` — see audit TS-CRITICAL.
|
|
60
|
+
init['tavilyApiKey'] = options.apiKey;
|
|
61
|
+
}
|
|
62
|
+
if (options.allowedDomains !== undefined) {
|
|
63
|
+
init['includeDomains'] = [...options.allowedDomains];
|
|
64
|
+
}
|
|
65
|
+
if (options.blockedDomains !== undefined) {
|
|
66
|
+
init['excludeDomains'] = [...options.blockedDomains];
|
|
67
|
+
}
|
|
68
|
+
// Merge ``extra`` first so trusted fields (apiKey, includeDomains, etc.)
|
|
69
|
+
// win on collision — see audit TS-M3.
|
|
70
|
+
const merged = { ...options.extra, ...init };
|
|
71
|
+
return new TavilySearch(merged);
|
|
72
|
+
}
|
|
73
|
+
async function buildBrave(options) {
|
|
74
|
+
let mod;
|
|
75
|
+
try {
|
|
76
|
+
mod = (await Promise.resolve().then(() => __importStar(require(
|
|
77
|
+
// @ts-expect-error — optional peer; types not guaranteed at compile time
|
|
78
|
+
'@langchain/community/tools/brave_search'))));
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
throw new index_js_1.CompresrError("WebSearchTool.brave requires '@langchain/community'. " +
|
|
82
|
+
'Install with: npm install @langchain/community', 'missing_peer_dependency');
|
|
83
|
+
}
|
|
84
|
+
const BraveSearch = (mod['BraveSearch'] ?? mod['default']);
|
|
85
|
+
if (typeof BraveSearch !== 'function') {
|
|
86
|
+
throw new index_js_1.CompresrError("'@langchain/community' is missing BraveSearch — upgrade the package.", 'missing_peer_dependency');
|
|
87
|
+
}
|
|
88
|
+
const key = options.apiKey ??
|
|
89
|
+
process.env['BRAVE_SEARCH_API_KEY'] ??
|
|
90
|
+
process.env['BRAVE_API_KEY'];
|
|
91
|
+
if (!key) {
|
|
92
|
+
throw new index_js_1.CompresrError('Brave requires apiKey or BRAVE_SEARCH_API_KEY env var.', 'missing_api_key');
|
|
93
|
+
}
|
|
94
|
+
const init = {
|
|
95
|
+
apiKey: key,
|
|
96
|
+
searchKwargs: { count: options.maxResults ?? 5 },
|
|
97
|
+
};
|
|
98
|
+
// Merge ``extra`` first so trusted fields (apiKey, searchKwargs) win on
|
|
99
|
+
// collision — see audit TS-M3.
|
|
100
|
+
const merged = { ...options.extra, ...init };
|
|
101
|
+
return new BraveSearch(merged);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Factory namespace for web-search tools — pick a provider via
|
|
105
|
+
* ``WebSearchTool.tavily(...)`` or ``WebSearchTool.brave(...)``.
|
|
106
|
+
*
|
|
107
|
+
* Each method returns a LangChain.js ``StructuredToolInterface`` ready to
|
|
108
|
+
* pass into the engine's ``tools: []`` array. The interface form is used
|
|
109
|
+
* (instead of the abstract ``StructuredTool`` class) so callers can drop
|
|
110
|
+
* in any compatible tool implementation without hitting generic-parameter
|
|
111
|
+
* mismatches.
|
|
112
|
+
*/
|
|
113
|
+
exports.WebSearchTool = {
|
|
114
|
+
tavily(options = {}) {
|
|
115
|
+
return buildTavily(options);
|
|
116
|
+
},
|
|
117
|
+
brave(options = {}) {
|
|
118
|
+
return buildBrave(options);
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
function createWebSearchTool(provider, options = {}) {
|
|
122
|
+
if (provider === 'tavily')
|
|
123
|
+
return buildTavily(options);
|
|
124
|
+
if (provider === 'brave')
|
|
125
|
+
return buildBrave(options);
|
|
126
|
+
throw new index_js_1.CompresrError(`Unknown web search provider: '${String(provider)}'. Use 'tavily' or 'brave'.`, 'invalid_provider');
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=web-search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../../../src/agents/tools/web-search.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,174 +1,66 @@
|
|
|
1
1
|
import { type HttpClientOptions } from '../http/client.js';
|
|
2
|
-
import { type
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import { type CompressBatchResponse, type CompressResponse, type StreamChunk } from '../schemas/index.js';
|
|
3
|
+
import { type CompressionPolicyOptions, type NormalizedResult } from '../agents/index.js';
|
|
4
|
+
import type { AnthropicMessagesFacade } from '../agents/facades/anthropic.js';
|
|
5
|
+
import type { OpenAIChatFacade } from '../agents/facades/openai.js';
|
|
6
|
+
import type { NativeRunOptions } from '../agents/facades/native.js';
|
|
6
7
|
export interface CompressOptions {
|
|
7
|
-
/** Context to compress (single string) */
|
|
8
8
|
context: string;
|
|
9
|
-
/** Compression model (default: espresso_v1) */
|
|
10
|
-
compressionModelName?: string;
|
|
11
|
-
/** Query for query-specific models (required for latte_v1) */
|
|
12
9
|
query?: string;
|
|
13
|
-
|
|
14
|
-
* Target compression ratio:
|
|
15
|
-
* - 0-1: percentage to keep (e.g., 0.5 = keep 50%)
|
|
16
|
-
* - >1: Nx factor (e.g., 4 = 4x compression = keep 25%)
|
|
17
|
-
*/
|
|
10
|
+
compressionModelName?: string;
|
|
18
11
|
targetCompressionRatio?: number;
|
|
19
|
-
/**
|
|
20
|
-
* Paragraph-level compression (only for query-specific with latte_v1).
|
|
21
|
-
* - true: faster, coarser compression (default for latte_v1)
|
|
22
|
-
* - false: slower, token-level compression
|
|
23
|
-
* Ignored for agnostic compression (no query).
|
|
24
|
-
*/
|
|
25
12
|
coarse?: boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Use heuristic chunking for better structure preservation.
|
|
28
|
-
* Only for query-specific models. Ignored for agnostic.
|
|
29
|
-
*/
|
|
30
13
|
heuristicChunking?: boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Disable placeholder tokens in compressed output.
|
|
33
|
-
* Only for query-specific models. Ignored for agnostic.
|
|
34
|
-
*/
|
|
35
14
|
disablePlaceholders?: boolean;
|
|
36
15
|
}
|
|
16
|
+
export interface BatchInput {
|
|
17
|
+
context: string;
|
|
18
|
+
query?: string;
|
|
19
|
+
}
|
|
37
20
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
21
|
+
* Two equivalent input forms:
|
|
22
|
+
* - Convenience: `contexts` (+ optional `queries` as string or string[]).
|
|
23
|
+
* - Pair form (matches the wire format): `inputs: [{ context, query }, ...]`.
|
|
24
|
+
* Pass exactly one of `inputs` or `contexts`.
|
|
41
25
|
*/
|
|
42
26
|
export interface CompressBatchOptions {
|
|
43
|
-
|
|
44
|
-
contexts: string[];
|
|
45
|
-
/** Single query for all contexts, or one query per context. Omit for agnostic batch. */
|
|
27
|
+
contexts?: string[];
|
|
46
28
|
queries?: string | string[];
|
|
47
|
-
|
|
29
|
+
inputs?: BatchInput[];
|
|
48
30
|
compressionModelName?: string;
|
|
49
|
-
/** Target compression ratio */
|
|
50
31
|
targetCompressionRatio?: number;
|
|
51
|
-
/**
|
|
52
|
-
* Paragraph-level compression (only for query-specific batch).
|
|
53
|
-
* Ignored for agnostic batch (queries undefined).
|
|
54
|
-
*/
|
|
55
32
|
coarse?: boolean;
|
|
56
|
-
/**
|
|
57
|
-
* Use heuristic chunking for better structure preservation.
|
|
58
|
-
* Only for query-specific batch. Ignored for agnostic.
|
|
59
|
-
*/
|
|
60
33
|
heuristicChunking?: boolean;
|
|
61
|
-
/**
|
|
62
|
-
* Disable placeholder tokens in compressed output.
|
|
63
|
-
* Only for query-specific batch. Ignored for agnostic.
|
|
64
|
-
*/
|
|
65
34
|
disablePlaceholders?: boolean;
|
|
66
35
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
* // Single agnostic compression
|
|
77
|
-
* const result = await client.compress({
|
|
78
|
-
* context: 'Your long context...',
|
|
79
|
-
* });
|
|
80
|
-
*
|
|
81
|
-
* // Single query-specific compression
|
|
82
|
-
* const result = await client.compress({
|
|
83
|
-
* context: 'Your long context...',
|
|
84
|
-
* query: 'What is the main conclusion?',
|
|
85
|
-
* compressionModelName: 'latte_v1',
|
|
86
|
-
* });
|
|
87
|
-
*
|
|
88
|
-
* // Batch agnostic compression
|
|
89
|
-
* const result = await client.compressBatch({
|
|
90
|
-
* contexts: ['Doc 1...', 'Doc 2...', 'Doc 3...'],
|
|
91
|
-
* });
|
|
92
|
-
*
|
|
93
|
-
* // Batch query-specific compression
|
|
94
|
-
* const result = await client.compressBatch({
|
|
95
|
-
* contexts: ['Doc 1...', 'Doc 2...', 'Doc 3...'],
|
|
96
|
-
* queries: 'What are the key points?',
|
|
97
|
-
* compressionModelName: 'latte_v1',
|
|
98
|
-
* });
|
|
99
|
-
* ```
|
|
100
|
-
*/
|
|
36
|
+
export interface CompressionClientOptions extends HttpClientOptions {
|
|
37
|
+
/** Optional ``"provider:model"`` (or ``"provider/model"``) selector to opt
|
|
38
|
+
* into the provider-shape facades (``.messages``, ``.chat``, ``run``). */
|
|
39
|
+
llm?: string;
|
|
40
|
+
/** Optional provider API key forwarded to the underlying LLM. */
|
|
41
|
+
llmApiKey?: string;
|
|
42
|
+
/** Optional compression policy applied to the agent's tool middleware. */
|
|
43
|
+
compression?: CompressionPolicyOptions;
|
|
44
|
+
}
|
|
101
45
|
export declare class CompressionClient {
|
|
102
46
|
private readonly http;
|
|
103
|
-
|
|
104
|
-
private
|
|
47
|
+
private readonly llm?;
|
|
48
|
+
private readonly llmApiKey?;
|
|
49
|
+
private readonly compressionPolicy?;
|
|
50
|
+
private engine?;
|
|
51
|
+
private anthropicFacade?;
|
|
52
|
+
private openaiFacade?;
|
|
53
|
+
constructor(options: CompressionClientOptions);
|
|
54
|
+
private requireEngine;
|
|
55
|
+
/** Anthropic-shaped facade: ``client.messages.create({...})``. */
|
|
56
|
+
get messages(): AnthropicMessagesFacade;
|
|
57
|
+
/** OpenAI-shaped facade: ``client.chat.completions.create({...})``. */
|
|
58
|
+
get chat(): OpenAIChatFacade;
|
|
59
|
+
/** Native facade — returns the provider-agnostic ``NormalizedResult``. */
|
|
60
|
+
run(options: NativeRunOptions): Promise<NormalizedResult>;
|
|
105
61
|
private buildRequest;
|
|
106
|
-
/**
|
|
107
|
-
* Compress a single context
|
|
108
|
-
*
|
|
109
|
-
* For multiple contexts, use compressBatch().
|
|
110
|
-
*
|
|
111
|
-
* @example
|
|
112
|
-
* ```typescript
|
|
113
|
-
* // Agnostic compression (no query)
|
|
114
|
-
* const result = await client.compress({
|
|
115
|
-
* context: 'Your long context text...',
|
|
116
|
-
* });
|
|
117
|
-
*
|
|
118
|
-
* // Query-specific compression (with query)
|
|
119
|
-
* const result = await client.compress({
|
|
120
|
-
* context: 'Your long context text...',
|
|
121
|
-
* query: 'What is the main conclusion?',
|
|
122
|
-
* compressionModelName: 'latte_v1',
|
|
123
|
-
* });
|
|
124
|
-
*
|
|
125
|
-
* console.log(`Saved ${result.data.tokens_saved} tokens!`);
|
|
126
|
-
* ```
|
|
127
|
-
*/
|
|
128
62
|
compress(options: CompressOptions): Promise<CompressResponse>;
|
|
129
|
-
/**
|
|
130
|
-
* Stream compression chunks
|
|
131
|
-
*
|
|
132
|
-
* @example
|
|
133
|
-
* ```typescript
|
|
134
|
-
* for await (const chunk of client.compressStream({
|
|
135
|
-
* context: 'Your long context...',
|
|
136
|
-
* })) {
|
|
137
|
-
* process.stdout.write(chunk.content);
|
|
138
|
-
* }
|
|
139
|
-
* ```
|
|
140
|
-
*/
|
|
141
63
|
compressStream(options: CompressOptions): AsyncGenerator<StreamChunk, void, undefined>;
|
|
142
|
-
/**
|
|
143
|
-
* Batch compress multiple contexts
|
|
144
|
-
*
|
|
145
|
-
* - If queries is undefined: uses agnostic endpoint (no queries required)
|
|
146
|
-
* - If queries is provided: uses query-specific endpoint
|
|
147
|
-
*
|
|
148
|
-
* @example
|
|
149
|
-
* ```typescript
|
|
150
|
-
* // Agnostic batch (no queries)
|
|
151
|
-
* const result = await client.compressBatch({
|
|
152
|
-
* contexts: ['Doc 1...', 'Doc 2...', 'Doc 3...'],
|
|
153
|
-
* });
|
|
154
|
-
*
|
|
155
|
-
* // Query-specific batch (same query for all)
|
|
156
|
-
* const result = await client.compressBatch({
|
|
157
|
-
* contexts: ['Doc 1...', 'Doc 2...', 'Doc 3...'],
|
|
158
|
-
* queries: 'What are the key points?',
|
|
159
|
-
* compressionModelName: 'latte_v1',
|
|
160
|
-
* });
|
|
161
|
-
*
|
|
162
|
-
* // Query-specific batch (different queries)
|
|
163
|
-
* const result = await client.compressBatch({
|
|
164
|
-
* contexts: ['ML doc...', 'NLP doc...'],
|
|
165
|
-
* queries: ['What is ML?', 'What is NLP?'],
|
|
166
|
-
* compressionModelName: 'latte_v1',
|
|
167
|
-
* });
|
|
168
|
-
*
|
|
169
|
-
* console.log(`Saved ${result.data.total_tokens_saved} tokens!`);
|
|
170
|
-
* ```
|
|
171
|
-
*/
|
|
172
64
|
compressBatch(options: CompressBatchOptions): Promise<CompressBatchResponse>;
|
|
173
65
|
}
|
|
174
66
|
//# sourceMappingURL=compression.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../../src/clients/compression.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../../src/clients/compression.ts"],"names":[],"mappings":"AAYA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAKL,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAKL,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE;8EAC0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACxC;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAA2B;IAC9D,OAAO,CAAC,MAAM,CAAC,CAAiB;IAChC,OAAO,CAAC,eAAe,CAAC,CAA0B;IAClD,OAAO,CAAC,YAAY,CAAC,CAAmB;gBAE5B,OAAO,EAAE,wBAAwB;IAS7C,OAAO,CAAC,aAAa;IAqBrB,kEAAkE;IAClE,IAAI,QAAQ,IAAI,uBAAuB,CAMtC;IAED,uEAAuE;IACvE,IAAI,IAAI,IAAI,gBAAgB,CAM3B;IAED,0EAA0E;IACpE,GAAG,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAK/D,OAAO,CAAC,YAAY;IAgBd,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAM5D,cAAc,CACnB,OAAO,EAAE,eAAe,GACvB,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC;IAQzC,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAkBnF"}
|