beeai-framework 0.1.2
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/README.md +226 -0
- package/dist/adapters/amazon-bedrock/backend/chat.cjs +21 -0
- package/dist/adapters/amazon-bedrock/backend/chat.cjs.map +1 -0
- package/dist/adapters/amazon-bedrock/backend/chat.d.cts +49 -0
- package/dist/adapters/amazon-bedrock/backend/chat.d.ts +49 -0
- package/dist/adapters/amazon-bedrock/backend/chat.js +19 -0
- package/dist/adapters/amazon-bedrock/backend/chat.js.map +1 -0
- package/dist/adapters/amazon-bedrock/backend/client.cjs +21 -0
- package/dist/adapters/amazon-bedrock/backend/client.cjs.map +1 -0
- package/dist/adapters/amazon-bedrock/backend/client.d.cts +28 -0
- package/dist/adapters/amazon-bedrock/backend/client.d.ts +28 -0
- package/dist/adapters/amazon-bedrock/backend/client.js +19 -0
- package/dist/adapters/amazon-bedrock/backend/client.js.map +1 -0
- package/dist/adapters/amazon-bedrock/backend/embedding.cjs +21 -0
- package/dist/adapters/amazon-bedrock/backend/embedding.cjs.map +1 -0
- package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +40 -0
- package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +40 -0
- package/dist/adapters/amazon-bedrock/backend/embedding.js +19 -0
- package/dist/adapters/amazon-bedrock/backend/embedding.js.map +1 -0
- package/dist/adapters/anthropic/backend/chat.cjs +24 -0
- package/dist/adapters/anthropic/backend/chat.cjs.map +1 -0
- package/dist/adapters/anthropic/backend/chat.d.cts +49 -0
- package/dist/adapters/anthropic/backend/chat.d.ts +49 -0
- package/dist/adapters/anthropic/backend/chat.js +22 -0
- package/dist/adapters/anthropic/backend/chat.js.map +1 -0
- package/dist/adapters/anthropic/backend/client.cjs +32 -0
- package/dist/adapters/anthropic/backend/client.cjs.map +1 -0
- package/dist/adapters/anthropic/backend/client.d.cts +28 -0
- package/dist/adapters/anthropic/backend/client.d.ts +28 -0
- package/dist/adapters/anthropic/backend/client.js +30 -0
- package/dist/adapters/anthropic/backend/client.js.map +1 -0
- package/dist/adapters/anthropic/backend/embedding.cjs +21 -0
- package/dist/adapters/anthropic/backend/embedding.cjs.map +1 -0
- package/dist/adapters/anthropic/backend/embedding.d.cts +40 -0
- package/dist/adapters/anthropic/backend/embedding.d.ts +40 -0
- package/dist/adapters/anthropic/backend/embedding.js +19 -0
- package/dist/adapters/anthropic/backend/embedding.js.map +1 -0
- package/dist/adapters/azure-openai/backend/chat.cjs +21 -0
- package/dist/adapters/azure-openai/backend/chat.cjs.map +1 -0
- package/dist/adapters/azure-openai/backend/chat.d.cts +49 -0
- package/dist/adapters/azure-openai/backend/chat.d.ts +49 -0
- package/dist/adapters/azure-openai/backend/chat.js +19 -0
- package/dist/adapters/azure-openai/backend/chat.js.map +1 -0
- package/dist/adapters/azure-openai/backend/client.cjs +26 -0
- package/dist/adapters/azure-openai/backend/client.cjs.map +1 -0
- package/dist/adapters/azure-openai/backend/client.d.cts +28 -0
- package/dist/adapters/azure-openai/backend/client.d.ts +28 -0
- package/dist/adapters/azure-openai/backend/client.js +24 -0
- package/dist/adapters/azure-openai/backend/client.js.map +1 -0
- package/dist/adapters/azure-openai/backend/embedding.cjs +21 -0
- package/dist/adapters/azure-openai/backend/embedding.cjs.map +1 -0
- package/dist/adapters/azure-openai/backend/embedding.d.cts +40 -0
- package/dist/adapters/azure-openai/backend/embedding.d.ts +40 -0
- package/dist/adapters/azure-openai/backend/embedding.js +19 -0
- package/dist/adapters/azure-openai/backend/embedding.js.map +1 -0
- package/dist/adapters/dummy/backend/chat.cjs +51 -0
- package/dist/adapters/dummy/backend/chat.cjs.map +1 -0
- package/dist/adapters/dummy/backend/chat.d.cts +39 -0
- package/dist/adapters/dummy/backend/chat.d.ts +39 -0
- package/dist/adapters/dummy/backend/chat.js +49 -0
- package/dist/adapters/dummy/backend/chat.js.map +1 -0
- package/dist/adapters/dummy/backend/embedding.cjs +44 -0
- package/dist/adapters/dummy/backend/embedding.cjs.map +1 -0
- package/dist/adapters/dummy/backend/embedding.d.cts +41 -0
- package/dist/adapters/dummy/backend/embedding.d.ts +41 -0
- package/dist/adapters/dummy/backend/embedding.js +42 -0
- package/dist/adapters/dummy/backend/embedding.js.map +1 -0
- package/dist/adapters/google-vertex/backend/chat.cjs +21 -0
- package/dist/adapters/google-vertex/backend/chat.cjs.map +1 -0
- package/dist/adapters/google-vertex/backend/chat.d.cts +49 -0
- package/dist/adapters/google-vertex/backend/chat.d.ts +49 -0
- package/dist/adapters/google-vertex/backend/chat.js +19 -0
- package/dist/adapters/google-vertex/backend/chat.js.map +1 -0
- package/dist/adapters/google-vertex/backend/client.cjs +25 -0
- package/dist/adapters/google-vertex/backend/client.cjs.map +1 -0
- package/dist/adapters/google-vertex/backend/client.d.cts +28 -0
- package/dist/adapters/google-vertex/backend/client.d.ts +28 -0
- package/dist/adapters/google-vertex/backend/client.js +23 -0
- package/dist/adapters/google-vertex/backend/client.js.map +1 -0
- package/dist/adapters/google-vertex/backend/embedding.cjs +21 -0
- package/dist/adapters/google-vertex/backend/embedding.cjs.map +1 -0
- package/dist/adapters/google-vertex/backend/embedding.d.cts +40 -0
- package/dist/adapters/google-vertex/backend/embedding.d.ts +40 -0
- package/dist/adapters/google-vertex/backend/embedding.js +19 -0
- package/dist/adapters/google-vertex/backend/embedding.js.map +1 -0
- package/dist/adapters/groq/backend/chat.cjs +24 -0
- package/dist/adapters/groq/backend/chat.cjs.map +1 -0
- package/dist/adapters/groq/backend/chat.d.cts +49 -0
- package/dist/adapters/groq/backend/chat.d.ts +49 -0
- package/dist/adapters/groq/backend/chat.js +22 -0
- package/dist/adapters/groq/backend/chat.js.map +1 -0
- package/dist/adapters/groq/backend/client.cjs +24 -0
- package/dist/adapters/groq/backend/client.cjs.map +1 -0
- package/dist/adapters/groq/backend/client.d.cts +28 -0
- package/dist/adapters/groq/backend/client.d.ts +28 -0
- package/dist/adapters/groq/backend/client.js +22 -0
- package/dist/adapters/groq/backend/client.js.map +1 -0
- package/dist/adapters/groq/backend/embedding.cjs +25 -0
- package/dist/adapters/groq/backend/embedding.cjs.map +1 -0
- package/dist/adapters/groq/backend/embedding.d.cts +40 -0
- package/dist/adapters/groq/backend/embedding.d.ts +40 -0
- package/dist/adapters/groq/backend/embedding.js +23 -0
- package/dist/adapters/groq/backend/embedding.js.map +1 -0
- package/dist/adapters/langchain/backend/chat.cjs +117 -0
- package/dist/adapters/langchain/backend/chat.cjs.map +1 -0
- package/dist/adapters/langchain/backend/chat.d.cts +48 -0
- package/dist/adapters/langchain/backend/chat.d.ts +48 -0
- package/dist/adapters/langchain/backend/chat.js +115 -0
- package/dist/adapters/langchain/backend/chat.js.map +1 -0
- package/dist/adapters/langchain/backend/embedding.cjs +56 -0
- package/dist/adapters/langchain/backend/embedding.cjs.map +1 -0
- package/dist/adapters/langchain/backend/embedding.d.cts +43 -0
- package/dist/adapters/langchain/backend/embedding.d.ts +43 -0
- package/dist/adapters/langchain/backend/embedding.js +54 -0
- package/dist/adapters/langchain/backend/embedding.js.map +1 -0
- package/dist/adapters/langchain/tools.cjs +114 -0
- package/dist/adapters/langchain/tools.cjs.map +1 -0
- package/dist/adapters/langchain/tools.d.cts +44 -0
- package/dist/adapters/langchain/tools.d.ts +44 -0
- package/dist/adapters/langchain/tools.js +92 -0
- package/dist/adapters/langchain/tools.js.map +1 -0
- package/dist/adapters/ollama/backend/chat.cjs +28 -0
- package/dist/adapters/ollama/backend/chat.cjs.map +1 -0
- package/dist/adapters/ollama/backend/chat.d.cts +50 -0
- package/dist/adapters/ollama/backend/chat.d.ts +50 -0
- package/dist/adapters/ollama/backend/chat.js +26 -0
- package/dist/adapters/ollama/backend/chat.js.map +1 -0
- package/dist/adapters/ollama/backend/client.cjs +23 -0
- package/dist/adapters/ollama/backend/client.cjs.map +1 -0
- package/dist/adapters/ollama/backend/client.d.cts +28 -0
- package/dist/adapters/ollama/backend/client.d.ts +28 -0
- package/dist/adapters/ollama/backend/client.js +21 -0
- package/dist/adapters/ollama/backend/client.js.map +1 -0
- package/dist/adapters/ollama/backend/embedding.cjs +21 -0
- package/dist/adapters/ollama/backend/embedding.cjs.map +1 -0
- package/dist/adapters/ollama/backend/embedding.d.cts +40 -0
- package/dist/adapters/ollama/backend/embedding.d.ts +40 -0
- package/dist/adapters/ollama/backend/embedding.js +19 -0
- package/dist/adapters/ollama/backend/embedding.js.map +1 -0
- package/dist/adapters/openai/backend/chat.cjs +21 -0
- package/dist/adapters/openai/backend/chat.cjs.map +1 -0
- package/dist/adapters/openai/backend/chat.d.cts +49 -0
- package/dist/adapters/openai/backend/chat.d.ts +49 -0
- package/dist/adapters/openai/backend/chat.js +19 -0
- package/dist/adapters/openai/backend/chat.js.map +1 -0
- package/dist/adapters/openai/backend/client.cjs +33 -0
- package/dist/adapters/openai/backend/client.cjs.map +1 -0
- package/dist/adapters/openai/backend/client.d.cts +28 -0
- package/dist/adapters/openai/backend/client.d.ts +28 -0
- package/dist/adapters/openai/backend/client.js +31 -0
- package/dist/adapters/openai/backend/client.js.map +1 -0
- package/dist/adapters/openai/backend/embedding.cjs +21 -0
- package/dist/adapters/openai/backend/embedding.cjs.map +1 -0
- package/dist/adapters/openai/backend/embedding.d.cts +40 -0
- package/dist/adapters/openai/backend/embedding.d.ts +40 -0
- package/dist/adapters/openai/backend/embedding.js +19 -0
- package/dist/adapters/openai/backend/embedding.js.map +1 -0
- package/dist/adapters/vercel/backend/chat.cjs +184 -0
- package/dist/adapters/vercel/backend/chat.cjs.map +1 -0
- package/dist/adapters/vercel/backend/chat.d.cts +45 -0
- package/dist/adapters/vercel/backend/chat.d.ts +45 -0
- package/dist/adapters/vercel/backend/chat.js +182 -0
- package/dist/adapters/vercel/backend/chat.js.map +1 -0
- package/dist/adapters/vercel/backend/embedding.cjs +63 -0
- package/dist/adapters/vercel/backend/embedding.cjs.map +1 -0
- package/dist/adapters/vercel/backend/embedding.d.cts +45 -0
- package/dist/adapters/vercel/backend/embedding.d.ts +45 -0
- package/dist/adapters/vercel/backend/embedding.js +61 -0
- package/dist/adapters/vercel/backend/embedding.js.map +1 -0
- package/dist/adapters/watsonx/backend/chat.cjs +199 -0
- package/dist/adapters/watsonx/backend/chat.cjs.map +1 -0
- package/dist/adapters/watsonx/backend/chat.d.cts +56 -0
- package/dist/adapters/watsonx/backend/chat.d.ts +56 -0
- package/dist/adapters/watsonx/backend/chat.js +193 -0
- package/dist/adapters/watsonx/backend/chat.js.map +1 -0
- package/dist/adapters/watsonx/backend/client.cjs +48 -0
- package/dist/adapters/watsonx/backend/client.cjs.map +1 -0
- package/dist/adapters/watsonx/backend/client.d.cts +38 -0
- package/dist/adapters/watsonx/backend/client.d.ts +38 -0
- package/dist/adapters/watsonx/backend/client.js +46 -0
- package/dist/adapters/watsonx/backend/client.js.map +1 -0
- package/dist/adapters/watsonx/backend/embedding.cjs +70 -0
- package/dist/adapters/watsonx/backend/embedding.cjs.map +1 -0
- package/dist/adapters/watsonx/backend/embedding.d.cts +50 -0
- package/dist/adapters/watsonx/backend/embedding.d.ts +50 -0
- package/dist/adapters/watsonx/backend/embedding.js +68 -0
- package/dist/adapters/watsonx/backend/embedding.js.map +1 -0
- package/dist/agent-BbaHVlob.d.cts +84 -0
- package/dist/agent-Bks2fOUl.d.ts +84 -0
- package/dist/agents/base.cjs +73 -0
- package/dist/agents/base.cjs.map +1 -0
- package/dist/agents/base.d.cts +18 -0
- package/dist/agents/base.d.ts +18 -0
- package/dist/agents/base.js +70 -0
- package/dist/agents/base.js.map +1 -0
- package/dist/agents/bee/agent.cjs +193 -0
- package/dist/agents/bee/agent.cjs.map +1 -0
- package/dist/agents/bee/agent.d.cts +32 -0
- package/dist/agents/bee/agent.d.ts +32 -0
- package/dist/agents/bee/agent.js +171 -0
- package/dist/agents/bee/agent.js.map +1 -0
- package/dist/agents/bee/prompts.cjs +176 -0
- package/dist/agents/bee/prompts.cjs.map +1 -0
- package/dist/agents/bee/prompts.d.cts +148 -0
- package/dist/agents/bee/prompts.d.ts +148 -0
- package/dist/agents/bee/prompts.js +166 -0
- package/dist/agents/bee/prompts.js.map +1 -0
- package/dist/agents/bee/runners/base.cjs +103 -0
- package/dist/agents/bee/runners/base.cjs.map +1 -0
- package/dist/agents/bee/runners/base.d.cts +32 -0
- package/dist/agents/bee/runners/base.d.ts +32 -0
- package/dist/agents/bee/runners/base.js +101 -0
- package/dist/agents/bee/runners/base.js.map +1 -0
- package/dist/agents/bee/runners/deep-think/prompts.cjs +92 -0
- package/dist/agents/bee/runners/deep-think/prompts.cjs.map +1 -0
- package/dist/agents/bee/runners/deep-think/prompts.d.cts +145 -0
- package/dist/agents/bee/runners/deep-think/prompts.d.ts +145 -0
- package/dist/agents/bee/runners/deep-think/prompts.js +84 -0
- package/dist/agents/bee/runners/deep-think/prompts.js.map +1 -0
- package/dist/agents/bee/runners/deep-think/runner.cjs +124 -0
- package/dist/agents/bee/runners/deep-think/runner.cjs.map +1 -0
- package/dist/agents/bee/runners/deep-think/runner.d.cts +166 -0
- package/dist/agents/bee/runners/deep-think/runner.d.ts +166 -0
- package/dist/agents/bee/runners/deep-think/runner.js +122 -0
- package/dist/agents/bee/runners/deep-think/runner.js.map +1 -0
- package/dist/agents/bee/runners/default/runner.cjs +416 -0
- package/dist/agents/bee/runners/default/runner.cjs.map +1 -0
- package/dist/agents/bee/runners/default/runner.d.cts +186 -0
- package/dist/agents/bee/runners/default/runner.d.ts +186 -0
- package/dist/agents/bee/runners/default/runner.js +414 -0
- package/dist/agents/bee/runners/default/runner.js.map +1 -0
- package/dist/agents/bee/runners/default/runner.spec.cjs +113 -0
- package/dist/agents/bee/runners/default/runner.spec.cjs.map +1 -0
- package/dist/agents/bee/runners/default/runner.spec.d.cts +2 -0
- package/dist/agents/bee/runners/default/runner.spec.d.ts +2 -0
- package/dist/agents/bee/runners/default/runner.spec.js +111 -0
- package/dist/agents/bee/runners/default/runner.spec.js.map +1 -0
- package/dist/agents/bee/runners/granite/prompts.cjs +94 -0
- package/dist/agents/bee/runners/granite/prompts.cjs.map +1 -0
- package/dist/agents/bee/runners/granite/prompts.d.cts +145 -0
- package/dist/agents/bee/runners/granite/prompts.d.ts +145 -0
- package/dist/agents/bee/runners/granite/prompts.js +86 -0
- package/dist/agents/bee/runners/granite/prompts.js.map +1 -0
- package/dist/agents/bee/runners/granite/runner.cjs +102 -0
- package/dist/agents/bee/runners/granite/runner.cjs.map +1 -0
- package/dist/agents/bee/runners/granite/runner.d.cts +167 -0
- package/dist/agents/bee/runners/granite/runner.d.ts +167 -0
- package/dist/agents/bee/runners/granite/runner.js +100 -0
- package/dist/agents/bee/runners/granite/runner.js.map +1 -0
- package/dist/agents/bee/types.cjs +4 -0
- package/dist/agents/bee/types.cjs.map +1 -0
- package/dist/agents/bee/types.d.cts +164 -0
- package/dist/agents/bee/types.d.ts +164 -0
- package/dist/agents/bee/types.js +3 -0
- package/dist/agents/bee/types.js.map +1 -0
- package/dist/agents/experimental/replan/agent.cjs +119 -0
- package/dist/agents/experimental/replan/agent.cjs.map +1 -0
- package/dist/agents/experimental/replan/agent.d.cts +96 -0
- package/dist/agents/experimental/replan/agent.d.ts +96 -0
- package/dist/agents/experimental/replan/agent.js +117 -0
- package/dist/agents/experimental/replan/agent.js.map +1 -0
- package/dist/agents/experimental/replan/prompts.cjs +89 -0
- package/dist/agents/experimental/replan/prompts.cjs.map +1 -0
- package/dist/agents/experimental/replan/prompts.d.cts +153 -0
- package/dist/agents/experimental/replan/prompts.d.ts +153 -0
- package/dist/agents/experimental/replan/prompts.js +85 -0
- package/dist/agents/experimental/replan/prompts.js.map +1 -0
- package/dist/agents/experimental/streamlit/agent.cjs +161 -0
- package/dist/agents/experimental/streamlit/agent.cjs.map +1 -0
- package/dist/agents/experimental/streamlit/agent.d.cts +95 -0
- package/dist/agents/experimental/streamlit/agent.d.ts +95 -0
- package/dist/agents/experimental/streamlit/agent.js +159 -0
- package/dist/agents/experimental/streamlit/agent.js.map +1 -0
- package/dist/agents/experimental/streamlit/prompts.cjs +312 -0
- package/dist/agents/experimental/streamlit/prompts.cjs.map +1 -0
- package/dist/agents/experimental/streamlit/prompts.d.cts +30 -0
- package/dist/agents/experimental/streamlit/prompts.d.ts +30 -0
- package/dist/agents/experimental/streamlit/prompts.js +310 -0
- package/dist/agents/experimental/streamlit/prompts.js.map +1 -0
- package/dist/agents/types.cjs +4 -0
- package/dist/agents/types.cjs.map +1 -0
- package/dist/agents/types.d.cts +18 -0
- package/dist/agents/types.d.ts +18 -0
- package/dist/agents/types.js +3 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/backend/backend.cjs +45 -0
- package/dist/backend/backend.cjs.map +1 -0
- package/dist/backend/backend.d.cts +56 -0
- package/dist/backend/backend.d.ts +56 -0
- package/dist/backend/backend.js +43 -0
- package/dist/backend/backend.js.map +1 -0
- package/dist/backend/chat.cjs +270 -0
- package/dist/backend/chat.cjs.map +1 -0
- package/dist/backend/chat.d.cts +141 -0
- package/dist/backend/chat.d.ts +141 -0
- package/dist/backend/chat.js +267 -0
- package/dist/backend/chat.js.map +1 -0
- package/dist/backend/client.cjs +40 -0
- package/dist/backend/client.cjs.map +1 -0
- package/dist/backend/client.d.cts +33 -0
- package/dist/backend/client.d.ts +33 -0
- package/dist/backend/client.js +38 -0
- package/dist/backend/client.js.map +1 -0
- package/dist/backend/constants.cjs +62 -0
- package/dist/backend/constants.cjs.map +1 -0
- package/dist/backend/constants.d.cts +62 -0
- package/dist/backend/constants.d.ts +62 -0
- package/dist/backend/constants.js +60 -0
- package/dist/backend/constants.js.map +1 -0
- package/dist/backend/core.cjs +42 -0
- package/dist/backend/core.cjs.map +1 -0
- package/dist/backend/core.d.cts +23 -0
- package/dist/backend/core.d.ts +23 -0
- package/dist/backend/core.js +7 -0
- package/dist/backend/core.js.map +1 -0
- package/dist/backend/embedding.cjs +70 -0
- package/dist/backend/embedding.cjs.map +1 -0
- package/dist/backend/embedding.d.cts +50 -0
- package/dist/backend/embedding.d.ts +50 -0
- package/dist/backend/embedding.js +68 -0
- package/dist/backend/embedding.js.map +1 -0
- package/dist/backend/errors.cjs +27 -0
- package/dist/backend/errors.cjs.map +1 -0
- package/dist/backend/errors.d.cts +28 -0
- package/dist/backend/errors.d.ts +28 -0
- package/dist/backend/errors.js +23 -0
- package/dist/backend/errors.js.map +1 -0
- package/dist/backend/message.cjs +201 -0
- package/dist/backend/message.cjs.map +1 -0
- package/dist/backend/message.d.cts +85 -0
- package/dist/backend/message.d.ts +85 -0
- package/dist/backend/message.js +193 -0
- package/dist/backend/message.js.map +1 -0
- package/dist/backend/utils.cjs +39 -0
- package/dist/backend/utils.cjs.map +1 -0
- package/dist/backend/utils.d.cts +29 -0
- package/dist/backend/utils.d.ts +29 -0
- package/dist/backend/utils.js +36 -0
- package/dist/backend/utils.js.map +1 -0
- package/dist/base-Csr9guq2.d.cts +66 -0
- package/dist/base-DHhpWHQm.d.ts +66 -0
- package/dist/cache/base.cjs +16 -0
- package/dist/cache/base.cjs.map +1 -0
- package/dist/cache/base.d.cts +31 -0
- package/dist/cache/base.d.ts +31 -0
- package/dist/cache/base.js +14 -0
- package/dist/cache/base.js.map +1 -0
- package/dist/cache/decoratorCache.cjs +289 -0
- package/dist/cache/decoratorCache.cjs.map +1 -0
- package/dist/cache/decoratorCache.d.cts +66 -0
- package/dist/cache/decoratorCache.d.ts +66 -0
- package/dist/cache/decoratorCache.js +259 -0
- package/dist/cache/decoratorCache.js.map +1 -0
- package/dist/cache/fileCache.cjs +121 -0
- package/dist/cache/fileCache.cjs.map +1 -0
- package/dist/cache/fileCache.d.cts +48 -0
- package/dist/cache/fileCache.d.ts +48 -0
- package/dist/cache/fileCache.js +115 -0
- package/dist/cache/fileCache.js.map +1 -0
- package/dist/cache/nullCache.cjs +40 -0
- package/dist/cache/nullCache.cjs.map +1 -0
- package/dist/cache/nullCache.d.cts +36 -0
- package/dist/cache/nullCache.d.ts +36 -0
- package/dist/cache/nullCache.js +38 -0
- package/dist/cache/nullCache.js.map +1 -0
- package/dist/cache/slidingCache.cjs +81 -0
- package/dist/cache/slidingCache.cjs.map +1 -0
- package/dist/cache/slidingCache.d.cts +53 -0
- package/dist/cache/slidingCache.d.ts +53 -0
- package/dist/cache/slidingCache.js +79 -0
- package/dist/cache/slidingCache.js.map +1 -0
- package/dist/cache/unconstrainedCache.cjs +46 -0
- package/dist/cache/unconstrainedCache.cjs.map +1 -0
- package/dist/cache/unconstrainedCache.d.cts +37 -0
- package/dist/cache/unconstrainedCache.d.ts +37 -0
- package/dist/cache/unconstrainedCache.js +44 -0
- package/dist/cache/unconstrainedCache.js.map +1 -0
- package/dist/context.cjs +162 -0
- package/dist/context.cjs.map +1 -0
- package/dist/context.d.cts +79 -0
- package/dist/context.d.ts +79 -0
- package/dist/context.js +159 -0
- package/dist/context.js.map +1 -0
- package/dist/emitter/emitter.cjs +222 -0
- package/dist/emitter/emitter.cjs.map +1 -0
- package/dist/emitter/emitter.d.cts +4 -0
- package/dist/emitter/emitter.d.ts +4 -0
- package/dist/emitter/emitter.js +220 -0
- package/dist/emitter/emitter.js.map +1 -0
- package/dist/emitter/errors.cjs +15 -0
- package/dist/emitter/errors.cjs.map +1 -0
- package/dist/emitter/errors.d.cts +24 -0
- package/dist/emitter/errors.d.ts +24 -0
- package/dist/emitter/errors.js +13 -0
- package/dist/emitter/errors.js.map +1 -0
- package/dist/emitter/types.cjs +4 -0
- package/dist/emitter/types.cjs.map +1 -0
- package/dist/emitter/types.d.cts +4 -0
- package/dist/emitter/types.d.ts +4 -0
- package/dist/emitter/types.js +3 -0
- package/dist/emitter/types.js.map +1 -0
- package/dist/emitter/utils.cjs +38 -0
- package/dist/emitter/utils.cjs.map +1 -0
- package/dist/emitter/utils.d.cts +21 -0
- package/dist/emitter/utils.d.ts +21 -0
- package/dist/emitter/utils.js +33 -0
- package/dist/emitter/utils.js.map +1 -0
- package/dist/emitter-BWtGHYn0.d.cts +121 -0
- package/dist/emitter-l0W9gC1A.d.ts +121 -0
- package/dist/errors.cjs +144 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.cts +50 -0
- package/dist/errors.d.ts +50 -0
- package/dist/errors.js +116 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.cjs +49 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +23 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/instrumentation/config.cjs +12 -0
- package/dist/instrumentation/config.cjs.map +1 -0
- package/dist/instrumentation/config.d.cts +19 -0
- package/dist/instrumentation/config.d.ts +19 -0
- package/dist/instrumentation/config.js +9 -0
- package/dist/instrumentation/config.js.map +1 -0
- package/dist/instrumentation/create-telemetry-middleware.cjs +239 -0
- package/dist/instrumentation/create-telemetry-middleware.cjs.map +1 -0
- package/dist/instrumentation/create-telemetry-middleware.d.cts +26 -0
- package/dist/instrumentation/create-telemetry-middleware.d.ts +26 -0
- package/dist/instrumentation/create-telemetry-middleware.js +237 -0
- package/dist/instrumentation/create-telemetry-middleware.js.map +1 -0
- package/dist/instrumentation/helpers/create-span.cjs +36 -0
- package/dist/instrumentation/helpers/create-span.cjs.map +1 -0
- package/dist/instrumentation/helpers/create-span.d.cts +34 -0
- package/dist/instrumentation/helpers/create-span.d.ts +34 -0
- package/dist/instrumentation/helpers/create-span.js +34 -0
- package/dist/instrumentation/helpers/create-span.js.map +1 -0
- package/dist/instrumentation/helpers/get-error-safe.cjs +20 -0
- package/dist/instrumentation/helpers/get-error-safe.cjs.map +1 -0
- package/dist/instrumentation/helpers/get-error-safe.d.cts +18 -0
- package/dist/instrumentation/helpers/get-error-safe.d.ts +18 -0
- package/dist/instrumentation/helpers/get-error-safe.js +18 -0
- package/dist/instrumentation/helpers/get-error-safe.js.map +1 -0
- package/dist/instrumentation/helpers/get-serialized-object-safe.cjs +27 -0
- package/dist/instrumentation/helpers/get-serialized-object-safe.cjs.map +1 -0
- package/dist/instrumentation/helpers/get-serialized-object-safe.d.cts +18 -0
- package/dist/instrumentation/helpers/get-serialized-object-safe.d.ts +18 -0
- package/dist/instrumentation/helpers/get-serialized-object-safe.js +25 -0
- package/dist/instrumentation/helpers/get-serialized-object-safe.js.map +1 -0
- package/dist/instrumentation/helpers/id-name-manager.cjs +34 -0
- package/dist/instrumentation/helpers/id-name-manager.cjs.map +1 -0
- package/dist/instrumentation/helpers/id-name-manager.d.cts +31 -0
- package/dist/instrumentation/helpers/id-name-manager.d.ts +31 -0
- package/dist/instrumentation/helpers/id-name-manager.js +32 -0
- package/dist/instrumentation/helpers/id-name-manager.js.map +1 -0
- package/dist/instrumentation/helpers/trace-serializer.cjs +30 -0
- package/dist/instrumentation/helpers/trace-serializer.cjs.map +1 -0
- package/dist/instrumentation/helpers/trace-serializer.d.cts +20 -0
- package/dist/instrumentation/helpers/trace-serializer.d.ts +20 -0
- package/dist/instrumentation/helpers/trace-serializer.js +28 -0
- package/dist/instrumentation/helpers/trace-serializer.js.map +1 -0
- package/dist/instrumentation/helpers/utils.cjs +14 -0
- package/dist/instrumentation/helpers/utils.cjs.map +1 -0
- package/dist/instrumentation/helpers/utils.d.cts +40 -0
- package/dist/instrumentation/helpers/utils.d.ts +40 -0
- package/dist/instrumentation/helpers/utils.js +12 -0
- package/dist/instrumentation/helpers/utils.js.map +1 -0
- package/dist/instrumentation/logger.cjs +12 -0
- package/dist/instrumentation/logger.cjs.map +1 -0
- package/dist/instrumentation/logger.d.cts +26 -0
- package/dist/instrumentation/logger.d.ts +26 -0
- package/dist/instrumentation/logger.js +10 -0
- package/dist/instrumentation/logger.js.map +1 -0
- package/dist/instrumentation/tracer.cjs +84 -0
- package/dist/instrumentation/tracer.cjs.map +1 -0
- package/dist/instrumentation/tracer.d.cts +36 -0
- package/dist/instrumentation/tracer.d.ts +36 -0
- package/dist/instrumentation/tracer.js +76 -0
- package/dist/instrumentation/tracer.js.map +1 -0
- package/dist/instrumentation/types.cjs +4 -0
- package/dist/instrumentation/types.cjs.map +1 -0
- package/dist/instrumentation/types.d.cts +39 -0
- package/dist/instrumentation/types.d.ts +39 -0
- package/dist/instrumentation/types.js +3 -0
- package/dist/instrumentation/types.js.map +1 -0
- package/dist/internals/env.cjs +43 -0
- package/dist/internals/env.cjs.map +1 -0
- package/dist/internals/env.d.cts +27 -0
- package/dist/internals/env.d.ts +27 -0
- package/dist/internals/env.js +39 -0
- package/dist/internals/env.js.map +1 -0
- package/dist/internals/fetcher.cjs +189 -0
- package/dist/internals/fetcher.cjs.map +1 -0
- package/dist/internals/fetcher.d.cts +101 -0
- package/dist/internals/fetcher.d.ts +101 -0
- package/dist/internals/fetcher.js +185 -0
- package/dist/internals/fetcher.js.map +1 -0
- package/dist/internals/helpers/array.cjs +30 -0
- package/dist/internals/helpers/array.cjs.map +1 -0
- package/dist/internals/helpers/array.d.cts +21 -0
- package/dist/internals/helpers/array.d.ts +21 -0
- package/dist/internals/helpers/array.js +26 -0
- package/dist/internals/helpers/array.js.map +1 -0
- package/dist/internals/helpers/cancellation.cjs +29 -0
- package/dist/internals/helpers/cancellation.cjs.map +1 -0
- package/dist/internals/helpers/cancellation.d.cts +19 -0
- package/dist/internals/helpers/cancellation.d.ts +19 -0
- package/dist/internals/helpers/cancellation.js +26 -0
- package/dist/internals/helpers/cancellation.js.map +1 -0
- package/dist/internals/helpers/counter.cjs +53 -0
- package/dist/internals/helpers/counter.cjs.map +1 -0
- package/dist/internals/helpers/counter.d.cts +40 -0
- package/dist/internals/helpers/counter.d.ts +40 -0
- package/dist/internals/helpers/counter.js +51 -0
- package/dist/internals/helpers/counter.js.map +1 -0
- package/dist/internals/helpers/general.cjs +31 -0
- package/dist/internals/helpers/general.cjs.map +1 -0
- package/dist/internals/helpers/general.d.cts +25 -0
- package/dist/internals/helpers/general.d.ts +25 -0
- package/dist/internals/helpers/general.js +28 -0
- package/dist/internals/helpers/general.js.map +1 -0
- package/dist/internals/helpers/guards.cjs +34 -0
- package/dist/internals/helpers/guards.cjs.map +1 -0
- package/dist/internals/helpers/guards.d.cts +19 -0
- package/dist/internals/helpers/guards.d.ts +19 -0
- package/dist/internals/helpers/guards.js +12 -0
- package/dist/internals/helpers/guards.js.map +1 -0
- package/dist/internals/helpers/hash.cjs +21 -0
- package/dist/internals/helpers/hash.cjs.map +1 -0
- package/dist/internals/helpers/hash.d.cts +19 -0
- package/dist/internals/helpers/hash.d.ts +19 -0
- package/dist/internals/helpers/hash.js +18 -0
- package/dist/internals/helpers/hash.js.map +1 -0
- package/dist/internals/helpers/map.cjs +16 -0
- package/dist/internals/helpers/map.cjs.map +1 -0
- package/dist/internals/helpers/map.d.cts +18 -0
- package/dist/internals/helpers/map.d.ts +18 -0
- package/dist/internals/helpers/map.js +14 -0
- package/dist/internals/helpers/map.js.map +1 -0
- package/dist/internals/helpers/math.cjs +31 -0
- package/dist/internals/helpers/math.cjs.map +1 -0
- package/dist/internals/helpers/math.d.cts +19 -0
- package/dist/internals/helpers/math.d.ts +19 -0
- package/dist/internals/helpers/math.js +28 -0
- package/dist/internals/helpers/math.js.map +1 -0
- package/dist/internals/helpers/number.cjs +48 -0
- package/dist/internals/helpers/number.cjs.map +1 -0
- package/dist/internals/helpers/number.d.cts +23 -0
- package/dist/internals/helpers/number.d.ts +23 -0
- package/dist/internals/helpers/number.js +24 -0
- package/dist/internals/helpers/number.js.map +1 -0
- package/dist/internals/helpers/object.cjs +142 -0
- package/dist/internals/helpers/object.cjs.map +1 -0
- package/dist/internals/helpers/object.d.cts +35 -0
- package/dist/internals/helpers/object.d.ts +35 -0
- package/dist/internals/helpers/object.js +108 -0
- package/dist/internals/helpers/object.js.map +1 -0
- package/dist/internals/helpers/paginate.cjs +28 -0
- package/dist/internals/helpers/paginate.cjs.map +1 -0
- package/dist/internals/helpers/paginate.d.cts +28 -0
- package/dist/internals/helpers/paginate.d.ts +28 -0
- package/dist/internals/helpers/paginate.js +26 -0
- package/dist/internals/helpers/paginate.js.map +1 -0
- package/dist/internals/helpers/promise.cjs +143 -0
- package/dist/internals/helpers/promise.cjs.map +1 -0
- package/dist/internals/helpers/promise.d.cts +45 -0
- package/dist/internals/helpers/promise.d.ts +45 -0
- package/dist/internals/helpers/promise.js +132 -0
- package/dist/internals/helpers/promise.js.map +1 -0
- package/dist/internals/helpers/prototype.cjs +56 -0
- package/dist/internals/helpers/prototype.cjs.map +1 -0
- package/dist/internals/helpers/prototype.d.cts +24 -0
- package/dist/internals/helpers/prototype.d.ts +24 -0
- package/dist/internals/helpers/prototype.js +32 -0
- package/dist/internals/helpers/prototype.js.map +1 -0
- package/dist/internals/helpers/retry.cjs +44 -0
- package/dist/internals/helpers/retry.cjs.map +1 -0
- package/dist/internals/helpers/retry.d.cts +29 -0
- package/dist/internals/helpers/retry.d.ts +29 -0
- package/dist/internals/helpers/retry.js +42 -0
- package/dist/internals/helpers/retry.js.map +1 -0
- package/dist/internals/helpers/retryable.cjs +169 -0
- package/dist/internals/helpers/retryable.cjs.map +1 -0
- package/dist/internals/helpers/retryable.d.cts +71 -0
- package/dist/internals/helpers/retryable.d.ts +71 -0
- package/dist/internals/helpers/retryable.js +146 -0
- package/dist/internals/helpers/retryable.js.map +1 -0
- package/dist/internals/helpers/schema.cjs +78 -0
- package/dist/internals/helpers/schema.cjs.map +1 -0
- package/dist/internals/helpers/schema.d.cts +36 -0
- package/dist/internals/helpers/schema.d.ts +36 -0
- package/dist/internals/helpers/schema.js +69 -0
- package/dist/internals/helpers/schema.js.map +1 -0
- package/dist/internals/helpers/stream.cjs +21 -0
- package/dist/internals/helpers/stream.cjs.map +1 -0
- package/dist/internals/helpers/stream.d.cts +19 -0
- package/dist/internals/helpers/stream.d.ts +19 -0
- package/dist/internals/helpers/stream.js +18 -0
- package/dist/internals/helpers/stream.js.map +1 -0
- package/dist/internals/helpers/string.cjs +230 -0
- package/dist/internals/helpers/string.cjs.map +1 -0
- package/dist/internals/helpers/string.d.cts +57 -0
- package/dist/internals/helpers/string.d.ts +57 -0
- package/dist/internals/helpers/string.js +201 -0
- package/dist/internals/helpers/string.js.map +1 -0
- package/dist/internals/helpers/weakRef.cjs +65 -0
- package/dist/internals/helpers/weakRef.cjs.map +1 -0
- package/dist/internals/helpers/weakRef.d.cts +29 -0
- package/dist/internals/helpers/weakRef.d.ts +29 -0
- package/dist/internals/helpers/weakRef.js +61 -0
- package/dist/internals/helpers/weakRef.js.map +1 -0
- package/dist/internals/serializable.cjs +63 -0
- package/dist/internals/serializable.cjs.map +1 -0
- package/dist/internals/serializable.d.cts +36 -0
- package/dist/internals/serializable.d.ts +36 -0
- package/dist/internals/serializable.js +61 -0
- package/dist/internals/serializable.js.map +1 -0
- package/dist/internals/types.cjs +15 -0
- package/dist/internals/types.cjs.map +1 -0
- package/dist/internals/types.d.cts +92 -0
- package/dist/internals/types.d.ts +92 -0
- package/dist/internals/types.js +13 -0
- package/dist/internals/types.js.map +1 -0
- package/dist/logger/logger.cjs +210 -0
- package/dist/logger/logger.cjs.map +1 -0
- package/dist/logger/logger.d.cts +48 -0
- package/dist/logger/logger.d.ts +48 -0
- package/dist/logger/logger.js +181 -0
- package/dist/logger/logger.js.map +1 -0
- package/dist/logger/pretty.cjs +79 -0
- package/dist/logger/pretty.cjs.map +1 -0
- package/dist/logger/pretty.d.cts +5 -0
- package/dist/logger/pretty.d.ts +5 -0
- package/dist/logger/pretty.js +72 -0
- package/dist/logger/pretty.js.map +1 -0
- package/dist/memory/base.cjs +98 -0
- package/dist/memory/base.cjs.map +1 -0
- package/dist/memory/base.d.cts +44 -0
- package/dist/memory/base.d.ts +44 -0
- package/dist/memory/base.js +93 -0
- package/dist/memory/base.js.map +1 -0
- package/dist/memory/slidingMemory.cjs +79 -0
- package/dist/memory/slidingMemory.cjs.map +1 -0
- package/dist/memory/slidingMemory.d.cts +30 -0
- package/dist/memory/slidingMemory.d.ts +30 -0
- package/dist/memory/slidingMemory.js +77 -0
- package/dist/memory/slidingMemory.js.map +1 -0
- package/dist/memory/summarizeMemory.cjs +82 -0
- package/dist/memory/summarizeMemory.cjs.map +1 -0
- package/dist/memory/summarizeMemory.d.cts +65 -0
- package/dist/memory/summarizeMemory.d.ts +65 -0
- package/dist/memory/summarizeMemory.js +79 -0
- package/dist/memory/summarizeMemory.js.map +1 -0
- package/dist/memory/tokenMemory.cjs +154 -0
- package/dist/memory/tokenMemory.cjs.map +1 -0
- package/dist/memory/tokenMemory.d.cts +55 -0
- package/dist/memory/tokenMemory.d.ts +55 -0
- package/dist/memory/tokenMemory.js +133 -0
- package/dist/memory/tokenMemory.js.map +1 -0
- package/dist/memory/unconstrainedMemory.cjs +43 -0
- package/dist/memory/unconstrainedMemory.cjs.map +1 -0
- package/dist/memory/unconstrainedMemory.d.cts +20 -0
- package/dist/memory/unconstrainedMemory.d.ts +20 -0
- package/dist/memory/unconstrainedMemory.js +41 -0
- package/dist/memory/unconstrainedMemory.js.map +1 -0
- package/dist/parsers/errors.cjs +32 -0
- package/dist/parsers/errors.cjs.map +1 -0
- package/dist/parsers/errors.d.cts +46 -0
- package/dist/parsers/errors.d.ts +46 -0
- package/dist/parsers/errors.js +30 -0
- package/dist/parsers/errors.js.map +1 -0
- package/dist/parsers/field.cjs +192 -0
- package/dist/parsers/field.cjs.map +1 -0
- package/dist/parsers/field.d.cts +68 -0
- package/dist/parsers/field.d.ts +68 -0
- package/dist/parsers/field.js +188 -0
- package/dist/parsers/field.js.map +1 -0
- package/dist/parsers/linePrefix.cjs +312 -0
- package/dist/parsers/linePrefix.cjs.map +1 -0
- package/dist/parsers/linePrefix.d.cts +127 -0
- package/dist/parsers/linePrefix.d.ts +127 -0
- package/dist/parsers/linePrefix.js +305 -0
- package/dist/parsers/linePrefix.js.map +1 -0
- package/dist/serializer/error.cjs +21 -0
- package/dist/serializer/error.cjs.map +1 -0
- package/dist/serializer/error.d.cts +25 -0
- package/dist/serializer/error.d.ts +25 -0
- package/dist/serializer/error.js +19 -0
- package/dist/serializer/error.js.map +1 -0
- package/dist/serializer/serializer.cjs +543 -0
- package/dist/serializer/serializer.cjs.map +1 -0
- package/dist/serializer/serializer.d.cts +4 -0
- package/dist/serializer/serializer.d.ts +4 -0
- package/dist/serializer/serializer.js +521 -0
- package/dist/serializer/serializer.js.map +1 -0
- package/dist/serializer/utils.cjs +261 -0
- package/dist/serializer/utils.cjs.map +1 -0
- package/dist/serializer/utils.d.cts +4 -0
- package/dist/serializer/utils.d.ts +4 -0
- package/dist/serializer/utils.js +226 -0
- package/dist/serializer/utils.js.map +1 -0
- package/dist/serializer-CJx5ZpUx.d.cts +125 -0
- package/dist/serializer-VYDhdryk.d.ts +125 -0
- package/dist/template.cjs +121 -0
- package/dist/template.cjs.map +1 -0
- package/dist/template.d.cts +75 -0
- package/dist/template.d.ts +75 -0
- package/dist/template.js +113 -0
- package/dist/template.js.map +1 -0
- package/dist/tools/arxiv.cjs +212 -0
- package/dist/tools/arxiv.cjs.map +1 -0
- package/dist/tools/arxiv.d.cts +196 -0
- package/dist/tools/arxiv.d.ts +196 -0
- package/dist/tools/arxiv.js +205 -0
- package/dist/tools/arxiv.js.map +1 -0
- package/dist/tools/base.cjs +434 -0
- package/dist/tools/base.cjs.map +1 -0
- package/dist/tools/base.d.cts +156 -0
- package/dist/tools/base.d.ts +156 -0
- package/dist/tools/base.js +407 -0
- package/dist/tools/base.js.map +1 -0
- package/dist/tools/calculator.cjs +74 -0
- package/dist/tools/calculator.cjs.map +1 -0
- package/dist/tools/calculator.d.cts +63 -0
- package/dist/tools/calculator.d.ts +63 -0
- package/dist/tools/calculator.js +72 -0
- package/dist/tools/calculator.js.map +1 -0
- package/dist/tools/custom.cjs +122 -0
- package/dist/tools/custom.cjs.map +1 -0
- package/dist/tools/custom.d.cts +110 -0
- package/dist/tools/custom.d.ts +110 -0
- package/dist/tools/custom.js +118 -0
- package/dist/tools/custom.js.map +1 -0
- package/dist/tools/database/elasticsearch.cjs +157 -0
- package/dist/tools/database/elasticsearch.cjs.map +1 -0
- package/dist/tools/database/elasticsearch.d.cts +78 -0
- package/dist/tools/database/elasticsearch.d.ts +78 -0
- package/dist/tools/database/elasticsearch.js +154 -0
- package/dist/tools/database/elasticsearch.js.map +1 -0
- package/dist/tools/database/metadata.cjs +114 -0
- package/dist/tools/database/metadata.cjs.map +1 -0
- package/dist/tools/database/metadata.d.cts +27 -0
- package/dist/tools/database/metadata.d.ts +27 -0
- package/dist/tools/database/metadata.js +112 -0
- package/dist/tools/database/metadata.js.map +1 -0
- package/dist/tools/database/milvus.cjs +191 -0
- package/dist/tools/database/milvus.cjs.map +1 -0
- package/dist/tools/database/milvus.d.cts +89 -0
- package/dist/tools/database/milvus.d.ts +89 -0
- package/dist/tools/database/milvus.js +188 -0
- package/dist/tools/database/milvus.js.map +1 -0
- package/dist/tools/database/sql.cjs +174 -0
- package/dist/tools/database/sql.cjs.map +1 -0
- package/dist/tools/database/sql.d.cts +71 -0
- package/dist/tools/database/sql.d.ts +71 -0
- package/dist/tools/database/sql.js +170 -0
- package/dist/tools/database/sql.js.map +1 -0
- package/dist/tools/llm.cjs +74 -0
- package/dist/tools/llm.cjs.map +1 -0
- package/dist/tools/llm.d.cts +68 -0
- package/dist/tools/llm.d.ts +68 -0
- package/dist/tools/llm.js +72 -0
- package/dist/tools/llm.js.map +1 -0
- package/dist/tools/mcp.cjs +73 -0
- package/dist/tools/mcp.cjs.map +1 -0
- package/dist/tools/mcp.d.cts +52 -0
- package/dist/tools/mcp.d.ts +52 -0
- package/dist/tools/mcp.js +70 -0
- package/dist/tools/mcp.js.map +1 -0
- package/dist/tools/openapi.cjs +178 -0
- package/dist/tools/openapi.cjs.map +1 -0
- package/dist/tools/openapi.d.cts +59 -0
- package/dist/tools/openapi.d.ts +59 -0
- package/dist/tools/openapi.js +175 -0
- package/dist/tools/openapi.js.map +1 -0
- package/dist/tools/python/output.cjs +65 -0
- package/dist/tools/python/output.cjs.map +1 -0
- package/dist/tools/python/output.d.cts +52 -0
- package/dist/tools/python/output.d.ts +52 -0
- package/dist/tools/python/output.js +63 -0
- package/dist/tools/python/output.js.map +1 -0
- package/dist/tools/python/python.cjs +163 -0
- package/dist/tools/python/python.cjs.map +1 -0
- package/dist/tools/python/python.d.cts +91 -0
- package/dist/tools/python/python.d.ts +91 -0
- package/dist/tools/python/python.js +160 -0
- package/dist/tools/python/python.js.map +1 -0
- package/dist/tools/python/storage.cjs +170 -0
- package/dist/tools/python/storage.cjs.map +1 -0
- package/dist/tools/python/storage.d.cts +83 -0
- package/dist/tools/python/storage.d.ts +83 -0
- package/dist/tools/python/storage.js +142 -0
- package/dist/tools/python/storage.js.map +1 -0
- package/dist/tools/search/base.cjs +77 -0
- package/dist/tools/search/base.cjs.map +1 -0
- package/dist/tools/search/base.d.cts +49 -0
- package/dist/tools/search/base.d.ts +49 -0
- package/dist/tools/search/base.js +55 -0
- package/dist/tools/search/base.js.map +1 -0
- package/dist/tools/search/duckDuckGoSearch.cjs +146 -0
- package/dist/tools/search/duckDuckGoSearch.cjs.map +1 -0
- package/dist/tools/search/duckDuckGoSearch.d.cts +75 -0
- package/dist/tools/search/duckDuckGoSearch.d.ts +75 -0
- package/dist/tools/search/duckDuckGoSearch.js +136 -0
- package/dist/tools/search/duckDuckGoSearch.js.map +1 -0
- package/dist/tools/search/googleSearch.cjs +155 -0
- package/dist/tools/search/googleSearch.cjs.map +1 -0
- package/dist/tools/search/googleSearch.d.cts +62 -0
- package/dist/tools/search/googleSearch.d.ts +62 -0
- package/dist/tools/search/googleSearch.js +152 -0
- package/dist/tools/search/googleSearch.js.map +1 -0
- package/dist/tools/search/searXNGSearch.cjs +86 -0
- package/dist/tools/search/searXNGSearch.cjs.map +1 -0
- package/dist/tools/search/searXNGSearch.d.cts +61 -0
- package/dist/tools/search/searXNGSearch.d.ts +61 -0
- package/dist/tools/search/searXNGSearch.js +83 -0
- package/dist/tools/search/searXNGSearch.js.map +1 -0
- package/dist/tools/search/wikipedia.cjs +338 -0
- package/dist/tools/search/wikipedia.cjs.map +1 -0
- package/dist/tools/search/wikipedia.d.cts +108 -0
- package/dist/tools/search/wikipedia.d.ts +108 -0
- package/dist/tools/search/wikipedia.js +310 -0
- package/dist/tools/search/wikipedia.js.map +1 -0
- package/dist/tools/similarity.cjs +61 -0
- package/dist/tools/similarity.cjs.map +1 -0
- package/dist/tools/similarity.d.cts +90 -0
- package/dist/tools/similarity.d.ts +90 -0
- package/dist/tools/similarity.js +58 -0
- package/dist/tools/similarity.js.map +1 -0
- package/dist/tools/weather/openMeteo.cjs +221 -0
- package/dist/tools/weather/openMeteo.cjs.map +1 -0
- package/dist/tools/weather/openMeteo.d.cts +123 -0
- package/dist/tools/weather/openMeteo.d.ts +123 -0
- package/dist/tools/weather/openMeteo.js +218 -0
- package/dist/tools/weather/openMeteo.js.map +1 -0
- package/dist/tools/web/webCrawler.cjs +111 -0
- package/dist/tools/web/webCrawler.cjs.map +1 -0
- package/dist/tools/web/webCrawler.d.cts +66 -0
- package/dist/tools/web/webCrawler.d.ts +66 -0
- package/dist/tools/web/webCrawler.js +108 -0
- package/dist/tools/web/webCrawler.js.map +1 -0
- package/dist/version.cjs +9 -0
- package/dist/version.cjs.map +1 -0
- package/dist/version.d.cts +18 -0
- package/dist/version.d.ts +18 -0
- package/dist/version.js +9 -0
- package/dist/version.js.map +1 -0
- package/dist/workflows/agent.cjs +95 -0
- package/dist/workflows/agent.cjs.map +1 -0
- package/dist/workflows/agent.d.cts +166 -0
- package/dist/workflows/agent.d.ts +166 -0
- package/dist/workflows/agent.js +93 -0
- package/dist/workflows/agent.js.map +1 -0
- package/dist/workflows/workflow.cjs +222 -0
- package/dist/workflows/workflow.cjs.map +1 -0
- package/dist/workflows/workflow.d.cts +118 -0
- package/dist/workflows/workflow.d.ts +118 -0
- package/dist/workflows/workflow.js +219 -0
- package/dist/workflows/workflow.js.map +1 -0
- package/package.json +339 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var duckDuckScrape = require('duck-duck-scrape');
|
|
4
|
+
var stringStripHtml = require('string-strip-html');
|
|
5
|
+
var pThrottle = require('p-throttle');
|
|
6
|
+
var base_cjs = require('./base.cjs');
|
|
7
|
+
var base_cjs$1 = require('../base.cjs');
|
|
8
|
+
var headerGenerator = require('header-generator');
|
|
9
|
+
var zod = require('zod');
|
|
10
|
+
var decoratorCache_cjs = require('../../cache/decoratorCache.cjs');
|
|
11
|
+
var paginate_cjs = require('../../internals/helpers/paginate.cjs');
|
|
12
|
+
var emitter_cjs = require('../../emitter/emitter.cjs');
|
|
13
|
+
|
|
14
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
+
|
|
16
|
+
var pThrottle__default = /*#__PURE__*/_interopDefault(pThrottle);
|
|
17
|
+
|
|
18
|
+
var __defProp = Object.defineProperty;
|
|
19
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
20
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
21
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
22
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
23
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
24
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
25
|
+
}
|
|
26
|
+
__name(_ts_decorate, "_ts_decorate");
|
|
27
|
+
function _ts_metadata(k, v) {
|
|
28
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
29
|
+
}
|
|
30
|
+
__name(_ts_metadata, "_ts_metadata");
|
|
31
|
+
class DuckDuckGoSearchToolOutput extends base_cjs.SearchToolOutput {
|
|
32
|
+
static {
|
|
33
|
+
__name(this, "DuckDuckGoSearchToolOutput");
|
|
34
|
+
}
|
|
35
|
+
results;
|
|
36
|
+
constructor(results) {
|
|
37
|
+
super(results), this.results = results;
|
|
38
|
+
}
|
|
39
|
+
static {
|
|
40
|
+
this.register();
|
|
41
|
+
}
|
|
42
|
+
createSnapshot() {
|
|
43
|
+
return {
|
|
44
|
+
results: this.results
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
loadSnapshot(snapshot) {
|
|
48
|
+
Object.assign(this, snapshot);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
class DuckDuckGoSearchTool extends base_cjs$1.Tool {
|
|
52
|
+
static {
|
|
53
|
+
__name(this, "DuckDuckGoSearchTool");
|
|
54
|
+
}
|
|
55
|
+
name = "DuckDuckGo";
|
|
56
|
+
description = "Search for online trends, news, current events, real-time information, or research topics.";
|
|
57
|
+
emitter = emitter_cjs.Emitter.root.child({
|
|
58
|
+
namespace: [
|
|
59
|
+
"tool",
|
|
60
|
+
"search",
|
|
61
|
+
"ddg"
|
|
62
|
+
],
|
|
63
|
+
creator: this
|
|
64
|
+
});
|
|
65
|
+
client;
|
|
66
|
+
inputSchema() {
|
|
67
|
+
return zod.z.object({
|
|
68
|
+
query: zod.z.string({
|
|
69
|
+
description: `Search query`
|
|
70
|
+
}).min(1).max(128)
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
constructor(options = {}) {
|
|
74
|
+
super({
|
|
75
|
+
...options,
|
|
76
|
+
maxResults: options?.maxResults ?? 15
|
|
77
|
+
});
|
|
78
|
+
this.client = this._createClient();
|
|
79
|
+
}
|
|
80
|
+
static {
|
|
81
|
+
this.register();
|
|
82
|
+
}
|
|
83
|
+
_createClient() {
|
|
84
|
+
const { throttle } = this.options;
|
|
85
|
+
return throttle === false ? duckDuckScrape.search : pThrottle__default.default({
|
|
86
|
+
...throttle,
|
|
87
|
+
limit: throttle?.limit ?? 1,
|
|
88
|
+
interval: throttle?.interval ?? 3e3
|
|
89
|
+
})(duckDuckScrape.search);
|
|
90
|
+
}
|
|
91
|
+
async _run({ query: input }, options, run) {
|
|
92
|
+
const headers = new headerGenerator.HeaderGenerator().getHeaders();
|
|
93
|
+
const results = await paginate_cjs.paginate({
|
|
94
|
+
size: this.options.maxResults,
|
|
95
|
+
handler: /* @__PURE__ */ __name(async ({ cursor = 0 }) => {
|
|
96
|
+
const { results: data, noResults: done } = await this.client(input, {
|
|
97
|
+
safeSearch: duckDuckScrape.SafeSearchType.MODERATE,
|
|
98
|
+
...this.options.search,
|
|
99
|
+
...options?.search,
|
|
100
|
+
offset: cursor
|
|
101
|
+
}, {
|
|
102
|
+
headers,
|
|
103
|
+
user_agent: headers["user-agent"],
|
|
104
|
+
...this.options?.httpClientOptions,
|
|
105
|
+
...options?.httpClientOptions,
|
|
106
|
+
signal: run.signal,
|
|
107
|
+
uri_modifier: /* @__PURE__ */ __name((rawUrl) => {
|
|
108
|
+
const url = new URL(rawUrl);
|
|
109
|
+
url.searchParams.delete("ss_mkt");
|
|
110
|
+
return url.toString();
|
|
111
|
+
}, "uri_modifier")
|
|
112
|
+
});
|
|
113
|
+
return {
|
|
114
|
+
data,
|
|
115
|
+
nextCursor: done ? void 0 : cursor + data.length
|
|
116
|
+
};
|
|
117
|
+
}, "handler")
|
|
118
|
+
});
|
|
119
|
+
return new DuckDuckGoSearchToolOutput(results.map((result) => ({
|
|
120
|
+
title: stringStripHtml.stripHtml(result.title).result,
|
|
121
|
+
description: stringStripHtml.stripHtml(result.description).result,
|
|
122
|
+
url: result.url
|
|
123
|
+
})));
|
|
124
|
+
}
|
|
125
|
+
loadSnapshot(snapshot) {
|
|
126
|
+
super.loadSnapshot(snapshot);
|
|
127
|
+
Object.assign(this, {
|
|
128
|
+
client: this._createClient()
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
_ts_decorate([
|
|
133
|
+
decoratorCache_cjs.Cache(),
|
|
134
|
+
_ts_metadata("design:type", Function),
|
|
135
|
+
_ts_metadata("design:paramtypes", []),
|
|
136
|
+
_ts_metadata("design:returntype", void 0)
|
|
137
|
+
], DuckDuckGoSearchTool.prototype, "inputSchema", null);
|
|
138
|
+
|
|
139
|
+
Object.defineProperty(exports, "DuckDuckGoSearchToolSearchType", {
|
|
140
|
+
enumerable: true,
|
|
141
|
+
get: function () { return duckDuckScrape.SafeSearchType; }
|
|
142
|
+
});
|
|
143
|
+
exports.DuckDuckGoSearchTool = DuckDuckGoSearchTool;
|
|
144
|
+
exports.DuckDuckGoSearchToolOutput = DuckDuckGoSearchToolOutput;
|
|
145
|
+
//# sourceMappingURL=duckDuckGoSearch.cjs.map
|
|
146
|
+
//# sourceMappingURL=duckDuckGoSearch.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/tools/search/duckDuckGoSearch.ts"],"names":["DuckDuckGoSearchToolOutput","SearchToolOutput","constructor","results","register","createSnapshot","loadSnapshot","snapshot","Object","assign","DuckDuckGoSearchTool","Tool","name","description","emitter","Emitter","root","child","namespace","creator","client","inputSchema","z","object","query","string","min","max","options","maxResults","_createClient","throttle","rawDDGSearch","pThrottle","limit","interval","_run","input","run","headers","HeaderGenerator","getHeaders","paginate","size","handler","cursor","data","noResults","done","safeSearch","SafeSearchType","MODERATE","search","offset","user_agent","httpClientOptions","signal","uri_modifier","rawUrl","url","URL","searchParams","delete","toString","nextCursor","undefined","length","map","result","title","stripHtml"],"mappings":"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","file":"duckDuckGoSearch.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { SearchOptions, search as rawDDGSearch, SafeSearchType } from \"duck-duck-scrape\";\nimport { stripHtml } from \"string-strip-html\";\nimport pThrottle, { Options as ThrottleOptions } from \"p-throttle\";\nimport {\n SearchToolOptions,\n SearchToolOutput,\n SearchToolResult,\n SearchToolRunOptions,\n} from \"./base.js\";\nimport { ToolEmitter, Tool, ToolInput } from \"@/tools/base.js\";\nimport { HeaderGenerator } from \"header-generator\";\nimport type { NeedleOptions } from \"needle\";\nimport { z } from \"zod\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { RunContext } from \"@/context.js\";\nimport { paginate } from \"@/internals/helpers/paginate.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\n\nexport { SafeSearchType as DuckDuckGoSearchToolSearchType };\n\nexport interface DuckDuckGoSearchToolOptions extends SearchToolOptions {\n search?: SearchOptions;\n throttle?: ThrottleOptions | false;\n httpClientOptions?: NeedleOptions;\n maxResults: number;\n}\n\nexport interface DuckDuckGoSearchToolRunOptions extends SearchToolRunOptions {\n search?: SearchOptions;\n httpClientOptions?: NeedleOptions;\n}\n\nexport interface DuckDuckGoSearchToolResult extends SearchToolResult {}\n\nexport class DuckDuckGoSearchToolOutput extends SearchToolOutput<DuckDuckGoSearchToolResult> {\n constructor(public readonly results: DuckDuckGoSearchToolResult[]) {\n super(results);\n }\n\n static {\n this.register();\n }\n\n createSnapshot() {\n return {\n results: this.results,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n\nexport class DuckDuckGoSearchTool extends Tool<\n DuckDuckGoSearchToolOutput,\n DuckDuckGoSearchToolOptions,\n DuckDuckGoSearchToolRunOptions\n> {\n name = \"DuckDuckGo\";\n description =\n \"Search for online trends, news, current events, real-time information, or research topics.\";\n\n public readonly emitter: ToolEmitter<ToolInput<this>, DuckDuckGoSearchToolOutput> =\n Emitter.root.child({\n namespace: [\"tool\", \"search\", \"ddg\"],\n creator: this,\n });\n\n protected readonly client: typeof rawDDGSearch;\n\n @Cache()\n inputSchema() {\n return z.object({\n query: z.string({ description: `Search query` }).min(1).max(128),\n });\n }\n\n public constructor(options: Partial<DuckDuckGoSearchToolOptions> = {}) {\n super({ ...options, maxResults: options?.maxResults ?? 15 });\n\n this.client = this._createClient();\n }\n\n static {\n this.register();\n }\n\n protected _createClient() {\n const { throttle } = this.options;\n\n return throttle === false\n ? rawDDGSearch\n : pThrottle({\n ...throttle,\n limit: throttle?.limit ?? 1,\n interval: throttle?.interval ?? 3000,\n })(rawDDGSearch);\n }\n\n protected async _run(\n { query: input }: ToolInput<this>,\n options: Partial<DuckDuckGoSearchToolRunOptions>,\n run: RunContext<this>,\n ) {\n const headers = new HeaderGenerator().getHeaders();\n\n const results = await paginate({\n size: this.options.maxResults,\n handler: async ({ cursor = 0 }) => {\n const { results: data, noResults: done } = await this.client(\n input,\n {\n safeSearch: SafeSearchType.MODERATE,\n ...this.options.search,\n ...options?.search,\n offset: cursor,\n },\n {\n headers,\n user_agent: headers[\"user-agent\"],\n ...this.options?.httpClientOptions,\n ...options?.httpClientOptions,\n signal: run.signal,\n uri_modifier: (rawUrl) => {\n const url = new URL(rawUrl);\n url.searchParams.delete(\"ss_mkt\");\n return url.toString();\n },\n },\n );\n\n return {\n data,\n nextCursor: done ? undefined : cursor + data.length,\n };\n },\n });\n\n return new DuckDuckGoSearchToolOutput(\n results.map((result) => ({\n title: stripHtml(result.title).result,\n description: stripHtml(result.description).result,\n url: result.url,\n })),\n );\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>): void {\n super.loadSnapshot(snapshot);\n Object.assign(this, { client: this._createClient() });\n }\n}\n"]}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { SearchOptions, search } from 'duck-duck-scrape';
|
|
2
|
+
export { SafeSearchType as DuckDuckGoSearchToolSearchType } from 'duck-duck-scrape';
|
|
3
|
+
import { Options } from 'p-throttle';
|
|
4
|
+
import { SearchToolOptions, SearchToolRunOptions, SearchToolResult, SearchToolOutput } from './base.cjs';
|
|
5
|
+
import { Tool, ToolEmitter, ToolInput } from '../base.cjs';
|
|
6
|
+
import { NeedleOptions } from 'needle';
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
import { RunContext } from '../../context.cjs';
|
|
9
|
+
import 'ajv';
|
|
10
|
+
import '../../emitter-BWtGHYn0.cjs';
|
|
11
|
+
import '../../internals/types.cjs';
|
|
12
|
+
import '../../internals/helpers/guards.cjs';
|
|
13
|
+
import '../../internals/serializable.cjs';
|
|
14
|
+
import '../../internals/helpers/promise.cjs';
|
|
15
|
+
import '../../errors.cjs';
|
|
16
|
+
import 'promise-based-task';
|
|
17
|
+
import '../../cache/base.cjs';
|
|
18
|
+
import '../../internals/helpers/schema.cjs';
|
|
19
|
+
import 'zod-to-json-schema';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Copyright 2025 IBM Corp.
|
|
23
|
+
*
|
|
24
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
25
|
+
* you may not use this file except in compliance with the License.
|
|
26
|
+
* You may obtain a copy of the License at
|
|
27
|
+
*
|
|
28
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
29
|
+
*
|
|
30
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
31
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
32
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
33
|
+
* See the License for the specific language governing permissions and
|
|
34
|
+
* limitations under the License.
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
interface DuckDuckGoSearchToolOptions extends SearchToolOptions {
|
|
38
|
+
search?: SearchOptions;
|
|
39
|
+
throttle?: Options | false;
|
|
40
|
+
httpClientOptions?: NeedleOptions;
|
|
41
|
+
maxResults: number;
|
|
42
|
+
}
|
|
43
|
+
interface DuckDuckGoSearchToolRunOptions extends SearchToolRunOptions {
|
|
44
|
+
search?: SearchOptions;
|
|
45
|
+
httpClientOptions?: NeedleOptions;
|
|
46
|
+
}
|
|
47
|
+
interface DuckDuckGoSearchToolResult extends SearchToolResult {
|
|
48
|
+
}
|
|
49
|
+
declare class DuckDuckGoSearchToolOutput extends SearchToolOutput<DuckDuckGoSearchToolResult> {
|
|
50
|
+
readonly results: DuckDuckGoSearchToolResult[];
|
|
51
|
+
constructor(results: DuckDuckGoSearchToolResult[]);
|
|
52
|
+
createSnapshot(): {
|
|
53
|
+
results: DuckDuckGoSearchToolResult[];
|
|
54
|
+
};
|
|
55
|
+
loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>): void;
|
|
56
|
+
}
|
|
57
|
+
declare class DuckDuckGoSearchTool extends Tool<DuckDuckGoSearchToolOutput, DuckDuckGoSearchToolOptions, DuckDuckGoSearchToolRunOptions> {
|
|
58
|
+
name: string;
|
|
59
|
+
description: string;
|
|
60
|
+
readonly emitter: ToolEmitter<ToolInput<this>, DuckDuckGoSearchToolOutput>;
|
|
61
|
+
protected readonly client: typeof search;
|
|
62
|
+
inputSchema(): z.ZodObject<{
|
|
63
|
+
query: z.ZodString;
|
|
64
|
+
}, "strip", z.ZodTypeAny, {
|
|
65
|
+
query: string;
|
|
66
|
+
}, {
|
|
67
|
+
query: string;
|
|
68
|
+
}>;
|
|
69
|
+
constructor(options?: Partial<DuckDuckGoSearchToolOptions>);
|
|
70
|
+
protected _createClient(): typeof search;
|
|
71
|
+
protected _run({ query: input }: ToolInput<this>, options: Partial<DuckDuckGoSearchToolRunOptions>, run: RunContext<this>): Promise<DuckDuckGoSearchToolOutput>;
|
|
72
|
+
loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>): void;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export { DuckDuckGoSearchTool, type DuckDuckGoSearchToolOptions, DuckDuckGoSearchToolOutput, type DuckDuckGoSearchToolResult, type DuckDuckGoSearchToolRunOptions };
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { SearchOptions, search } from 'duck-duck-scrape';
|
|
2
|
+
export { SafeSearchType as DuckDuckGoSearchToolSearchType } from 'duck-duck-scrape';
|
|
3
|
+
import { Options } from 'p-throttle';
|
|
4
|
+
import { SearchToolOptions, SearchToolRunOptions, SearchToolResult, SearchToolOutput } from './base.js';
|
|
5
|
+
import { Tool, ToolEmitter, ToolInput } from '../base.js';
|
|
6
|
+
import { NeedleOptions } from 'needle';
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
import { RunContext } from '../../context.js';
|
|
9
|
+
import 'ajv';
|
|
10
|
+
import '../../emitter-l0W9gC1A.js';
|
|
11
|
+
import '../../internals/types.js';
|
|
12
|
+
import '../../internals/helpers/guards.js';
|
|
13
|
+
import '../../internals/serializable.js';
|
|
14
|
+
import '../../internals/helpers/promise.js';
|
|
15
|
+
import '../../errors.js';
|
|
16
|
+
import 'promise-based-task';
|
|
17
|
+
import '../../cache/base.js';
|
|
18
|
+
import '../../internals/helpers/schema.js';
|
|
19
|
+
import 'zod-to-json-schema';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Copyright 2025 IBM Corp.
|
|
23
|
+
*
|
|
24
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
25
|
+
* you may not use this file except in compliance with the License.
|
|
26
|
+
* You may obtain a copy of the License at
|
|
27
|
+
*
|
|
28
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
29
|
+
*
|
|
30
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
31
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
32
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
33
|
+
* See the License for the specific language governing permissions and
|
|
34
|
+
* limitations under the License.
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
interface DuckDuckGoSearchToolOptions extends SearchToolOptions {
|
|
38
|
+
search?: SearchOptions;
|
|
39
|
+
throttle?: Options | false;
|
|
40
|
+
httpClientOptions?: NeedleOptions;
|
|
41
|
+
maxResults: number;
|
|
42
|
+
}
|
|
43
|
+
interface DuckDuckGoSearchToolRunOptions extends SearchToolRunOptions {
|
|
44
|
+
search?: SearchOptions;
|
|
45
|
+
httpClientOptions?: NeedleOptions;
|
|
46
|
+
}
|
|
47
|
+
interface DuckDuckGoSearchToolResult extends SearchToolResult {
|
|
48
|
+
}
|
|
49
|
+
declare class DuckDuckGoSearchToolOutput extends SearchToolOutput<DuckDuckGoSearchToolResult> {
|
|
50
|
+
readonly results: DuckDuckGoSearchToolResult[];
|
|
51
|
+
constructor(results: DuckDuckGoSearchToolResult[]);
|
|
52
|
+
createSnapshot(): {
|
|
53
|
+
results: DuckDuckGoSearchToolResult[];
|
|
54
|
+
};
|
|
55
|
+
loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>): void;
|
|
56
|
+
}
|
|
57
|
+
declare class DuckDuckGoSearchTool extends Tool<DuckDuckGoSearchToolOutput, DuckDuckGoSearchToolOptions, DuckDuckGoSearchToolRunOptions> {
|
|
58
|
+
name: string;
|
|
59
|
+
description: string;
|
|
60
|
+
readonly emitter: ToolEmitter<ToolInput<this>, DuckDuckGoSearchToolOutput>;
|
|
61
|
+
protected readonly client: typeof search;
|
|
62
|
+
inputSchema(): z.ZodObject<{
|
|
63
|
+
query: z.ZodString;
|
|
64
|
+
}, "strip", z.ZodTypeAny, {
|
|
65
|
+
query: string;
|
|
66
|
+
}, {
|
|
67
|
+
query: string;
|
|
68
|
+
}>;
|
|
69
|
+
constructor(options?: Partial<DuckDuckGoSearchToolOptions>);
|
|
70
|
+
protected _createClient(): typeof search;
|
|
71
|
+
protected _run({ query: input }: ToolInput<this>, options: Partial<DuckDuckGoSearchToolRunOptions>, run: RunContext<this>): Promise<DuckDuckGoSearchToolOutput>;
|
|
72
|
+
loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>): void;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export { DuckDuckGoSearchTool, type DuckDuckGoSearchToolOptions, DuckDuckGoSearchToolOutput, type DuckDuckGoSearchToolResult, type DuckDuckGoSearchToolRunOptions };
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { search, SafeSearchType } from 'duck-duck-scrape';
|
|
2
|
+
export { SafeSearchType as DuckDuckGoSearchToolSearchType } from 'duck-duck-scrape';
|
|
3
|
+
import { stripHtml } from 'string-strip-html';
|
|
4
|
+
import pThrottle from 'p-throttle';
|
|
5
|
+
import { SearchToolOutput } from './base.js';
|
|
6
|
+
import { Tool } from '../base.js';
|
|
7
|
+
import { HeaderGenerator } from 'header-generator';
|
|
8
|
+
import { z } from 'zod';
|
|
9
|
+
import { Cache } from '../../cache/decoratorCache.js';
|
|
10
|
+
import { paginate } from '../../internals/helpers/paginate.js';
|
|
11
|
+
import { Emitter } from '../../emitter/emitter.js';
|
|
12
|
+
|
|
13
|
+
var __defProp = Object.defineProperty;
|
|
14
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
15
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
16
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
17
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
18
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
19
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
20
|
+
}
|
|
21
|
+
__name(_ts_decorate, "_ts_decorate");
|
|
22
|
+
function _ts_metadata(k, v) {
|
|
23
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
24
|
+
}
|
|
25
|
+
__name(_ts_metadata, "_ts_metadata");
|
|
26
|
+
class DuckDuckGoSearchToolOutput extends SearchToolOutput {
|
|
27
|
+
static {
|
|
28
|
+
__name(this, "DuckDuckGoSearchToolOutput");
|
|
29
|
+
}
|
|
30
|
+
results;
|
|
31
|
+
constructor(results) {
|
|
32
|
+
super(results), this.results = results;
|
|
33
|
+
}
|
|
34
|
+
static {
|
|
35
|
+
this.register();
|
|
36
|
+
}
|
|
37
|
+
createSnapshot() {
|
|
38
|
+
return {
|
|
39
|
+
results: this.results
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
loadSnapshot(snapshot) {
|
|
43
|
+
Object.assign(this, snapshot);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
class DuckDuckGoSearchTool extends Tool {
|
|
47
|
+
static {
|
|
48
|
+
__name(this, "DuckDuckGoSearchTool");
|
|
49
|
+
}
|
|
50
|
+
name = "DuckDuckGo";
|
|
51
|
+
description = "Search for online trends, news, current events, real-time information, or research topics.";
|
|
52
|
+
emitter = Emitter.root.child({
|
|
53
|
+
namespace: [
|
|
54
|
+
"tool",
|
|
55
|
+
"search",
|
|
56
|
+
"ddg"
|
|
57
|
+
],
|
|
58
|
+
creator: this
|
|
59
|
+
});
|
|
60
|
+
client;
|
|
61
|
+
inputSchema() {
|
|
62
|
+
return z.object({
|
|
63
|
+
query: z.string({
|
|
64
|
+
description: `Search query`
|
|
65
|
+
}).min(1).max(128)
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
constructor(options = {}) {
|
|
69
|
+
super({
|
|
70
|
+
...options,
|
|
71
|
+
maxResults: options?.maxResults ?? 15
|
|
72
|
+
});
|
|
73
|
+
this.client = this._createClient();
|
|
74
|
+
}
|
|
75
|
+
static {
|
|
76
|
+
this.register();
|
|
77
|
+
}
|
|
78
|
+
_createClient() {
|
|
79
|
+
const { throttle } = this.options;
|
|
80
|
+
return throttle === false ? search : pThrottle({
|
|
81
|
+
...throttle,
|
|
82
|
+
limit: throttle?.limit ?? 1,
|
|
83
|
+
interval: throttle?.interval ?? 3e3
|
|
84
|
+
})(search);
|
|
85
|
+
}
|
|
86
|
+
async _run({ query: input }, options, run) {
|
|
87
|
+
const headers = new HeaderGenerator().getHeaders();
|
|
88
|
+
const results = await paginate({
|
|
89
|
+
size: this.options.maxResults,
|
|
90
|
+
handler: /* @__PURE__ */ __name(async ({ cursor = 0 }) => {
|
|
91
|
+
const { results: data, noResults: done } = await this.client(input, {
|
|
92
|
+
safeSearch: SafeSearchType.MODERATE,
|
|
93
|
+
...this.options.search,
|
|
94
|
+
...options?.search,
|
|
95
|
+
offset: cursor
|
|
96
|
+
}, {
|
|
97
|
+
headers,
|
|
98
|
+
user_agent: headers["user-agent"],
|
|
99
|
+
...this.options?.httpClientOptions,
|
|
100
|
+
...options?.httpClientOptions,
|
|
101
|
+
signal: run.signal,
|
|
102
|
+
uri_modifier: /* @__PURE__ */ __name((rawUrl) => {
|
|
103
|
+
const url = new URL(rawUrl);
|
|
104
|
+
url.searchParams.delete("ss_mkt");
|
|
105
|
+
return url.toString();
|
|
106
|
+
}, "uri_modifier")
|
|
107
|
+
});
|
|
108
|
+
return {
|
|
109
|
+
data,
|
|
110
|
+
nextCursor: done ? void 0 : cursor + data.length
|
|
111
|
+
};
|
|
112
|
+
}, "handler")
|
|
113
|
+
});
|
|
114
|
+
return new DuckDuckGoSearchToolOutput(results.map((result) => ({
|
|
115
|
+
title: stripHtml(result.title).result,
|
|
116
|
+
description: stripHtml(result.description).result,
|
|
117
|
+
url: result.url
|
|
118
|
+
})));
|
|
119
|
+
}
|
|
120
|
+
loadSnapshot(snapshot) {
|
|
121
|
+
super.loadSnapshot(snapshot);
|
|
122
|
+
Object.assign(this, {
|
|
123
|
+
client: this._createClient()
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
_ts_decorate([
|
|
128
|
+
Cache(),
|
|
129
|
+
_ts_metadata("design:type", Function),
|
|
130
|
+
_ts_metadata("design:paramtypes", []),
|
|
131
|
+
_ts_metadata("design:returntype", void 0)
|
|
132
|
+
], DuckDuckGoSearchTool.prototype, "inputSchema", null);
|
|
133
|
+
|
|
134
|
+
export { DuckDuckGoSearchTool, DuckDuckGoSearchToolOutput };
|
|
135
|
+
//# sourceMappingURL=duckDuckGoSearch.js.map
|
|
136
|
+
//# sourceMappingURL=duckDuckGoSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/tools/search/duckDuckGoSearch.ts"],"names":["DuckDuckGoSearchToolOutput","SearchToolOutput","constructor","results","register","createSnapshot","loadSnapshot","snapshot","Object","assign","DuckDuckGoSearchTool","Tool","name","description","emitter","Emitter","root","child","namespace","creator","client","inputSchema","z","object","query","string","min","max","options","maxResults","_createClient","throttle","rawDDGSearch","pThrottle","limit","interval","_run","input","run","headers","HeaderGenerator","getHeaders","paginate","size","handler","cursor","data","noResults","done","safeSearch","SafeSearchType","MODERATE","search","offset","user_agent","httpClientOptions","signal","uri_modifier","rawUrl","url","URL","searchParams","delete","toString","nextCursor","undefined","length","map","result","title","stripHtml"],"mappings":"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","file":"duckDuckGoSearch.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { SearchOptions, search as rawDDGSearch, SafeSearchType } from \"duck-duck-scrape\";\nimport { stripHtml } from \"string-strip-html\";\nimport pThrottle, { Options as ThrottleOptions } from \"p-throttle\";\nimport {\n SearchToolOptions,\n SearchToolOutput,\n SearchToolResult,\n SearchToolRunOptions,\n} from \"./base.js\";\nimport { ToolEmitter, Tool, ToolInput } from \"@/tools/base.js\";\nimport { HeaderGenerator } from \"header-generator\";\nimport type { NeedleOptions } from \"needle\";\nimport { z } from \"zod\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { RunContext } from \"@/context.js\";\nimport { paginate } from \"@/internals/helpers/paginate.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\n\nexport { SafeSearchType as DuckDuckGoSearchToolSearchType };\n\nexport interface DuckDuckGoSearchToolOptions extends SearchToolOptions {\n search?: SearchOptions;\n throttle?: ThrottleOptions | false;\n httpClientOptions?: NeedleOptions;\n maxResults: number;\n}\n\nexport interface DuckDuckGoSearchToolRunOptions extends SearchToolRunOptions {\n search?: SearchOptions;\n httpClientOptions?: NeedleOptions;\n}\n\nexport interface DuckDuckGoSearchToolResult extends SearchToolResult {}\n\nexport class DuckDuckGoSearchToolOutput extends SearchToolOutput<DuckDuckGoSearchToolResult> {\n constructor(public readonly results: DuckDuckGoSearchToolResult[]) {\n super(results);\n }\n\n static {\n this.register();\n }\n\n createSnapshot() {\n return {\n results: this.results,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n\nexport class DuckDuckGoSearchTool extends Tool<\n DuckDuckGoSearchToolOutput,\n DuckDuckGoSearchToolOptions,\n DuckDuckGoSearchToolRunOptions\n> {\n name = \"DuckDuckGo\";\n description =\n \"Search for online trends, news, current events, real-time information, or research topics.\";\n\n public readonly emitter: ToolEmitter<ToolInput<this>, DuckDuckGoSearchToolOutput> =\n Emitter.root.child({\n namespace: [\"tool\", \"search\", \"ddg\"],\n creator: this,\n });\n\n protected readonly client: typeof rawDDGSearch;\n\n @Cache()\n inputSchema() {\n return z.object({\n query: z.string({ description: `Search query` }).min(1).max(128),\n });\n }\n\n public constructor(options: Partial<DuckDuckGoSearchToolOptions> = {}) {\n super({ ...options, maxResults: options?.maxResults ?? 15 });\n\n this.client = this._createClient();\n }\n\n static {\n this.register();\n }\n\n protected _createClient() {\n const { throttle } = this.options;\n\n return throttle === false\n ? rawDDGSearch\n : pThrottle({\n ...throttle,\n limit: throttle?.limit ?? 1,\n interval: throttle?.interval ?? 3000,\n })(rawDDGSearch);\n }\n\n protected async _run(\n { query: input }: ToolInput<this>,\n options: Partial<DuckDuckGoSearchToolRunOptions>,\n run: RunContext<this>,\n ) {\n const headers = new HeaderGenerator().getHeaders();\n\n const results = await paginate({\n size: this.options.maxResults,\n handler: async ({ cursor = 0 }) => {\n const { results: data, noResults: done } = await this.client(\n input,\n {\n safeSearch: SafeSearchType.MODERATE,\n ...this.options.search,\n ...options?.search,\n offset: cursor,\n },\n {\n headers,\n user_agent: headers[\"user-agent\"],\n ...this.options?.httpClientOptions,\n ...options?.httpClientOptions,\n signal: run.signal,\n uri_modifier: (rawUrl) => {\n const url = new URL(rawUrl);\n url.searchParams.delete(\"ss_mkt\");\n return url.toString();\n },\n },\n );\n\n return {\n data,\n nextCursor: done ? undefined : cursor + data.length,\n };\n },\n });\n\n return new DuckDuckGoSearchToolOutput(\n results.map((result) => ({\n title: stripHtml(result.title).result,\n description: stripHtml(result.description).result,\n url: result.url,\n })),\n );\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>): void {\n super.loadSnapshot(snapshot);\n Object.assign(this, { client: this._createClient() });\n }\n}\n"]}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var customsearch = require('@googleapis/customsearch');
|
|
4
|
+
var base_cjs = require('./base.cjs');
|
|
5
|
+
var base_cjs$1 = require('../base.cjs');
|
|
6
|
+
var zod = require('zod');
|
|
7
|
+
var decoratorCache_cjs = require('../../cache/decoratorCache.cjs');
|
|
8
|
+
var errors_cjs = require('../../errors.cjs');
|
|
9
|
+
var env_cjs = require('../../internals/env.cjs');
|
|
10
|
+
var paginate_cjs = require('../../internals/helpers/paginate.cjs');
|
|
11
|
+
var ajv = require('ajv');
|
|
12
|
+
var emitter_cjs = require('../../emitter/emitter.cjs');
|
|
13
|
+
|
|
14
|
+
var __defProp = Object.defineProperty;
|
|
15
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
16
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
17
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
18
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
19
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
20
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
21
|
+
}
|
|
22
|
+
__name(_ts_decorate, "_ts_decorate");
|
|
23
|
+
function _ts_metadata(k, v) {
|
|
24
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
|
+
}
|
|
26
|
+
__name(_ts_metadata, "_ts_metadata");
|
|
27
|
+
class GoogleSearchToolOutput extends base_cjs.SearchToolOutput {
|
|
28
|
+
static {
|
|
29
|
+
__name(this, "GoogleSearchToolOutput");
|
|
30
|
+
}
|
|
31
|
+
results;
|
|
32
|
+
constructor(results) {
|
|
33
|
+
super(results), this.results = results;
|
|
34
|
+
}
|
|
35
|
+
static {
|
|
36
|
+
this.register();
|
|
37
|
+
}
|
|
38
|
+
createSnapshot() {
|
|
39
|
+
return {
|
|
40
|
+
results: this.results
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
loadSnapshot(snapshot) {
|
|
44
|
+
Object.assign(this, snapshot);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
class GoogleSearchTool extends base_cjs$1.Tool {
|
|
48
|
+
static {
|
|
49
|
+
__name(this, "GoogleSearchTool");
|
|
50
|
+
}
|
|
51
|
+
name = "GoogleSearch";
|
|
52
|
+
description = `Search for online trends, news, current events, real-time information, or research topics.`;
|
|
53
|
+
emitter = emitter_cjs.Emitter.root.child({
|
|
54
|
+
namespace: [
|
|
55
|
+
"tool",
|
|
56
|
+
"search",
|
|
57
|
+
"google"
|
|
58
|
+
],
|
|
59
|
+
creator: this
|
|
60
|
+
});
|
|
61
|
+
inputSchema() {
|
|
62
|
+
return zod.z.object({
|
|
63
|
+
query: zod.z.string({
|
|
64
|
+
description: `Search query`
|
|
65
|
+
}).min(1).max(2048)
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
apiKey;
|
|
69
|
+
cseId;
|
|
70
|
+
constructor(options = {
|
|
71
|
+
maxResults: 10
|
|
72
|
+
}) {
|
|
73
|
+
super(options);
|
|
74
|
+
this.apiKey = options.apiKey || env_cjs.parseEnv("GOOGLE_API_KEY", zod.z.string());
|
|
75
|
+
this.cseId = options.cseId || env_cjs.parseEnv("GOOGLE_CSE_ID", zod.z.string());
|
|
76
|
+
if (!this.apiKey || !this.cseId) {
|
|
77
|
+
throw new errors_cjs.ValueError([
|
|
78
|
+
`"apiKey" or "cseId" must both be provided.`,
|
|
79
|
+
`Either set them directly or put them in ENV ("GOOGLE_API_KEY" / "GOOGLE_CSE_ID")`
|
|
80
|
+
].join("\n"));
|
|
81
|
+
}
|
|
82
|
+
if (options.maxResults < 1 || options.maxResults > 100) {
|
|
83
|
+
throw new ajv.ValidationError([
|
|
84
|
+
{
|
|
85
|
+
message: "Property 'maxResults' must be between 1 and 100",
|
|
86
|
+
propertyName: "options.maxResults"
|
|
87
|
+
}
|
|
88
|
+
]);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
get client() {
|
|
92
|
+
return new customsearch.customsearch_v1.Customsearch({
|
|
93
|
+
auth: this.apiKey
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
static {
|
|
97
|
+
this.register();
|
|
98
|
+
}
|
|
99
|
+
async _run({ query: input }, _options, run) {
|
|
100
|
+
const results = await paginate_cjs.paginate({
|
|
101
|
+
size: this.options.maxResults,
|
|
102
|
+
handler: /* @__PURE__ */ __name(async ({ cursor = 0, limit }) => {
|
|
103
|
+
const maxChunkSize = 10;
|
|
104
|
+
const { data: { items = [] } } = await this.client.cse.list({
|
|
105
|
+
cx: this.cseId,
|
|
106
|
+
q: input,
|
|
107
|
+
start: cursor,
|
|
108
|
+
num: Math.min(limit, maxChunkSize),
|
|
109
|
+
safe: "active"
|
|
110
|
+
}, {
|
|
111
|
+
signal: run.signal
|
|
112
|
+
});
|
|
113
|
+
return {
|
|
114
|
+
data: items,
|
|
115
|
+
nextCursor: items.length < maxChunkSize ? void 0 : cursor + items.length
|
|
116
|
+
};
|
|
117
|
+
}, "handler")
|
|
118
|
+
});
|
|
119
|
+
return new GoogleSearchToolOutput(results.map((result) => ({
|
|
120
|
+
title: result.title || "",
|
|
121
|
+
description: result.snippet || "",
|
|
122
|
+
url: result.link || ""
|
|
123
|
+
})));
|
|
124
|
+
}
|
|
125
|
+
createSnapshot() {
|
|
126
|
+
return {
|
|
127
|
+
...super.createSnapshot(),
|
|
128
|
+
apiKey: this.apiKey,
|
|
129
|
+
cseId: this.cseId
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
loadSnapshot({ apiKey, cseId, ...snapshot }) {
|
|
133
|
+
super.loadSnapshot(snapshot);
|
|
134
|
+
Object.assign(this, {
|
|
135
|
+
apiKey,
|
|
136
|
+
cseId
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
_ts_decorate([
|
|
141
|
+
decoratorCache_cjs.Cache(),
|
|
142
|
+
_ts_metadata("design:type", Function),
|
|
143
|
+
_ts_metadata("design:paramtypes", []),
|
|
144
|
+
_ts_metadata("design:returntype", void 0)
|
|
145
|
+
], GoogleSearchTool.prototype, "inputSchema", null);
|
|
146
|
+
_ts_decorate([
|
|
147
|
+
decoratorCache_cjs.Cache(),
|
|
148
|
+
_ts_metadata("design:type", typeof customsearch.customsearch_v1 === "undefined" || typeof customsearch.customsearch_v1.Customsearch === "undefined" ? Object : customsearch.customsearch_v1.Customsearch),
|
|
149
|
+
_ts_metadata("design:paramtypes", [])
|
|
150
|
+
], GoogleSearchTool.prototype, "client", null);
|
|
151
|
+
|
|
152
|
+
exports.GoogleSearchTool = GoogleSearchTool;
|
|
153
|
+
exports.GoogleSearchToolOutput = GoogleSearchToolOutput;
|
|
154
|
+
//# sourceMappingURL=googleSearch.cjs.map
|
|
155
|
+
//# sourceMappingURL=googleSearch.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/tools/search/googleSearch.ts"],"names":["GoogleSearchToolOutput","SearchToolOutput","constructor","results","register","createSnapshot","loadSnapshot","snapshot","Object","assign","GoogleSearchTool","Tool","name","description","emitter","Emitter","root","child","namespace","creator","inputSchema","z","object","query","string","min","max","apiKey","cseId","options","maxResults","parseEnv","ValueError","join","ValidationError","message","propertyName","client","GoogleSearchAPI","Customsearch","auth","_run","input","_options","run","paginate","size","handler","cursor","limit","maxChunkSize","data","items","cse","list","cx","q","start","num","Math","safe","signal","nextCursor","length","undefined","map","result","title","snippet","url","link"],"mappings":"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","file":"googleSearch.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { customsearch_v1 as GoogleSearchAPI } from \"@googleapis/customsearch\";\nimport {\n SearchToolOptions,\n SearchToolOutput,\n SearchToolResult,\n SearchToolRunOptions,\n} from \"./base.js\";\nimport { ToolEmitter, Tool, ToolInput } from \"@/tools/base.js\";\nimport { z } from \"zod\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { ValueError } from \"@/errors.js\";\nimport { parseEnv } from \"@/internals/env.js\";\nimport { RunContext } from \"@/context.js\";\nimport { paginate } from \"@/internals/helpers/paginate.js\";\nimport { ValidationError } from \"ajv\";\nimport { Emitter } from \"@/emitter/emitter.js\";\n\nexport interface GoogleSearchToolOptions extends SearchToolOptions {\n apiKey?: string;\n cseId?: string;\n maxResults: number;\n}\n\ntype GoogleSearchToolRunOptions = SearchToolRunOptions;\n\nexport interface GoogleSearchToolResult extends SearchToolResult {}\n\nexport class GoogleSearchToolOutput extends SearchToolOutput<GoogleSearchToolResult> {\n constructor(public readonly results: GoogleSearchToolResult[]) {\n super(results);\n }\n\n static {\n this.register();\n }\n\n createSnapshot() {\n return {\n results: this.results,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n\nexport class GoogleSearchTool extends Tool<\n GoogleSearchToolOutput,\n GoogleSearchToolOptions,\n GoogleSearchToolRunOptions\n> {\n name = \"GoogleSearch\";\n description = `Search for online trends, news, current events, real-time information, or research topics.`;\n\n public readonly emitter: ToolEmitter<ToolInput<this>, GoogleSearchToolOutput> =\n Emitter.root.child({\n namespace: [\"tool\", \"search\", \"google\"],\n creator: this,\n });\n\n @Cache()\n inputSchema() {\n return z.object({\n query: z.string({ description: `Search query` }).min(1).max(2048),\n });\n }\n\n protected apiKey: string;\n protected cseId: string;\n\n public constructor(options: GoogleSearchToolOptions = { maxResults: 10 }) {\n super(options);\n\n this.apiKey = options.apiKey || parseEnv(\"GOOGLE_API_KEY\", z.string());\n this.cseId = options.cseId || parseEnv(\"GOOGLE_CSE_ID\", z.string());\n\n if (!this.apiKey || !this.cseId) {\n throw new ValueError(\n [\n `\"apiKey\" or \"cseId\" must both be provided.`,\n `Either set them directly or put them in ENV (\"GOOGLE_API_KEY\" / \"GOOGLE_CSE_ID\")`,\n ].join(\"\\n\"),\n );\n }\n\n if (options.maxResults < 1 || options.maxResults > 100) {\n throw new ValidationError([\n {\n message: \"Property 'maxResults' must be between 1 and 100\",\n propertyName: \"options.maxResults\",\n },\n ]);\n }\n }\n\n @Cache()\n protected get client(): GoogleSearchAPI.Customsearch {\n return new GoogleSearchAPI.Customsearch({\n auth: this.apiKey,\n });\n }\n\n static {\n this.register();\n }\n\n protected async _run(\n { query: input }: ToolInput<this>,\n _options: Partial<GoogleSearchToolRunOptions>,\n run: RunContext<this>,\n ) {\n const results = await paginate({\n size: this.options.maxResults,\n handler: async ({ cursor = 0, limit }) => {\n const maxChunkSize = 10;\n\n const {\n data: { items = [] },\n } = await this.client.cse.list(\n {\n cx: this.cseId,\n q: input,\n start: cursor,\n num: Math.min(limit, maxChunkSize),\n safe: \"active\",\n },\n {\n signal: run.signal,\n },\n );\n\n return {\n data: items,\n nextCursor: items.length < maxChunkSize ? undefined : cursor + items.length,\n };\n },\n });\n\n return new GoogleSearchToolOutput(\n results.map((result) => ({\n title: result.title || \"\",\n description: result.snippet || \"\",\n url: result.link || \"\",\n })),\n );\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n apiKey: this.apiKey,\n cseId: this.cseId,\n };\n }\n\n loadSnapshot({ apiKey, cseId, ...snapshot }: ReturnType<typeof this.createSnapshot>) {\n super.loadSnapshot(snapshot);\n Object.assign(this, {\n apiKey,\n cseId,\n });\n }\n}\n"]}
|