beeai-framework 0.1.10 → 0.1.12
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 +18 -6
- package/dist/adapters/amazon-bedrock/backend/chat.cjs.map +1 -1
- package/dist/adapters/amazon-bedrock/backend/chat.d.cts +7 -6
- package/dist/adapters/amazon-bedrock/backend/chat.d.ts +7 -6
- package/dist/adapters/amazon-bedrock/backend/chat.js.map +1 -1
- package/dist/adapters/amazon-bedrock/backend/client.cjs.map +1 -1
- package/dist/adapters/amazon-bedrock/backend/client.d.cts +1 -1
- package/dist/adapters/amazon-bedrock/backend/client.d.ts +1 -1
- package/dist/adapters/amazon-bedrock/backend/client.js.map +1 -1
- package/dist/adapters/amazon-bedrock/backend/embedding.cjs.map +1 -1
- package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +15 -4
- package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +15 -4
- package/dist/adapters/amazon-bedrock/backend/embedding.js.map +1 -1
- package/dist/adapters/anthropic/backend/chat.cjs.map +1 -1
- package/dist/adapters/anthropic/backend/chat.d.cts +9 -8
- package/dist/adapters/anthropic/backend/chat.d.ts +9 -8
- package/dist/adapters/anthropic/backend/chat.js.map +1 -1
- package/dist/adapters/anthropic/backend/client.cjs +5 -5
- package/dist/adapters/anthropic/backend/client.cjs.map +1 -1
- package/dist/adapters/anthropic/backend/client.d.cts +2 -2
- package/dist/adapters/anthropic/backend/client.d.ts +2 -2
- package/dist/adapters/anthropic/backend/client.js +5 -5
- package/dist/adapters/anthropic/backend/client.js.map +1 -1
- package/dist/adapters/anthropic/backend/embedding.cjs.map +1 -1
- package/dist/adapters/anthropic/backend/embedding.d.cts +15 -4
- package/dist/adapters/anthropic/backend/embedding.d.ts +15 -4
- package/dist/adapters/anthropic/backend/embedding.js.map +1 -1
- package/dist/adapters/azure-openai/backend/chat.cjs.map +1 -1
- package/dist/adapters/azure-openai/backend/chat.d.cts +9 -8
- package/dist/adapters/azure-openai/backend/chat.d.ts +9 -8
- package/dist/adapters/azure-openai/backend/chat.js.map +1 -1
- package/dist/adapters/azure-openai/backend/client.cjs +6 -6
- package/dist/adapters/azure-openai/backend/client.cjs.map +1 -1
- package/dist/adapters/azure-openai/backend/client.d.cts +2 -2
- package/dist/adapters/azure-openai/backend/client.d.ts +2 -2
- package/dist/adapters/azure-openai/backend/client.js +6 -6
- package/dist/adapters/azure-openai/backend/client.js.map +1 -1
- package/dist/adapters/azure-openai/backend/embedding.cjs.map +1 -1
- package/dist/adapters/azure-openai/backend/embedding.d.cts +15 -4
- package/dist/adapters/azure-openai/backend/embedding.d.ts +15 -4
- package/dist/adapters/azure-openai/backend/embedding.js.map +1 -1
- package/dist/adapters/dummy/backend/chat.cjs.map +1 -1
- package/dist/adapters/dummy/backend/chat.d.cts +12 -7
- package/dist/adapters/dummy/backend/chat.d.ts +12 -7
- package/dist/adapters/dummy/backend/chat.js.map +1 -1
- package/dist/adapters/dummy/backend/embedding.cjs.map +1 -1
- package/dist/adapters/dummy/backend/embedding.d.cts +15 -3
- package/dist/adapters/dummy/backend/embedding.d.ts +15 -3
- package/dist/adapters/dummy/backend/embedding.js.map +1 -1
- package/dist/adapters/google-vertex/backend/chat.cjs.map +1 -1
- package/dist/adapters/google-vertex/backend/chat.d.cts +9 -8
- package/dist/adapters/google-vertex/backend/chat.d.ts +9 -8
- package/dist/adapters/google-vertex/backend/chat.js.map +1 -1
- package/dist/adapters/google-vertex/backend/client.cjs.map +1 -1
- package/dist/adapters/google-vertex/backend/client.d.cts +1 -1
- package/dist/adapters/google-vertex/backend/client.d.ts +1 -1
- package/dist/adapters/google-vertex/backend/client.js.map +1 -1
- package/dist/adapters/google-vertex/backend/embedding.cjs.map +1 -1
- package/dist/adapters/google-vertex/backend/embedding.d.cts +15 -4
- package/dist/adapters/google-vertex/backend/embedding.d.ts +15 -4
- package/dist/adapters/google-vertex/backend/embedding.js.map +1 -1
- package/dist/adapters/groq/backend/chat.cjs.map +1 -1
- package/dist/adapters/groq/backend/chat.d.cts +9 -8
- package/dist/adapters/groq/backend/chat.d.ts +9 -8
- package/dist/adapters/groq/backend/chat.js.map +1 -1
- package/dist/adapters/groq/backend/client.cjs +3 -3
- package/dist/adapters/groq/backend/client.cjs.map +1 -1
- package/dist/adapters/groq/backend/client.d.cts +1 -1
- package/dist/adapters/groq/backend/client.d.ts +1 -1
- package/dist/adapters/groq/backend/client.js +3 -3
- package/dist/adapters/groq/backend/client.js.map +1 -1
- package/dist/adapters/groq/backend/embedding.cjs.map +1 -1
- package/dist/adapters/groq/backend/embedding.d.cts +15 -4
- package/dist/adapters/groq/backend/embedding.d.ts +15 -4
- package/dist/adapters/groq/backend/embedding.js.map +1 -1
- package/dist/adapters/langchain/backend/chat.cjs +5 -3
- package/dist/adapters/langchain/backend/chat.cjs.map +1 -1
- package/dist/adapters/langchain/backend/chat.d.cts +12 -7
- package/dist/adapters/langchain/backend/chat.d.ts +12 -7
- package/dist/adapters/langchain/backend/chat.js +5 -3
- package/dist/adapters/langchain/backend/chat.js.map +1 -1
- package/dist/adapters/langchain/backend/embedding.cjs.map +1 -1
- package/dist/adapters/langchain/backend/embedding.d.cts +15 -3
- package/dist/adapters/langchain/backend/embedding.d.ts +15 -3
- package/dist/adapters/langchain/backend/embedding.js.map +1 -1
- package/dist/adapters/langchain/tools.cjs.map +1 -1
- package/dist/adapters/langchain/tools.d.cts +1 -1
- package/dist/adapters/langchain/tools.d.ts +1 -1
- package/dist/adapters/langchain/tools.js.map +1 -1
- package/dist/adapters/ollama/backend/chat.cjs +4 -0
- package/dist/adapters/ollama/backend/chat.cjs.map +1 -1
- package/dist/adapters/ollama/backend/chat.d.cts +10 -8
- package/dist/adapters/ollama/backend/chat.d.ts +10 -8
- package/dist/adapters/ollama/backend/chat.js +4 -0
- package/dist/adapters/ollama/backend/chat.js.map +1 -1
- package/dist/adapters/ollama/backend/client.cjs.map +1 -1
- package/dist/adapters/ollama/backend/client.d.cts +1 -1
- package/dist/adapters/ollama/backend/client.d.ts +1 -1
- package/dist/adapters/ollama/backend/client.js.map +1 -1
- package/dist/adapters/ollama/backend/embedding.cjs.map +1 -1
- package/dist/adapters/ollama/backend/embedding.d.cts +15 -4
- package/dist/adapters/ollama/backend/embedding.d.ts +15 -4
- package/dist/adapters/ollama/backend/embedding.js.map +1 -1
- package/dist/adapters/openai/backend/chat.cjs.map +1 -1
- package/dist/adapters/openai/backend/chat.d.cts +7 -6
- package/dist/adapters/openai/backend/chat.d.ts +7 -6
- package/dist/adapters/openai/backend/chat.js.map +1 -1
- package/dist/adapters/openai/backend/client.cjs.map +1 -1
- package/dist/adapters/openai/backend/client.d.cts +1 -1
- package/dist/adapters/openai/backend/client.d.ts +1 -1
- package/dist/adapters/openai/backend/client.js.map +1 -1
- package/dist/adapters/openai/backend/embedding.cjs.map +1 -1
- package/dist/adapters/openai/backend/embedding.d.cts +15 -4
- package/dist/adapters/openai/backend/embedding.d.ts +15 -4
- package/dist/adapters/openai/backend/embedding.js.map +1 -1
- package/dist/adapters/vercel/backend/chat.cjs +41 -7
- package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
- package/dist/adapters/vercel/backend/chat.d.cts +12 -7
- package/dist/adapters/vercel/backend/chat.d.ts +12 -7
- package/dist/adapters/vercel/backend/chat.js +44 -10
- package/dist/adapters/vercel/backend/chat.js.map +1 -1
- package/dist/adapters/vercel/backend/embedding.cjs.map +1 -1
- package/dist/adapters/vercel/backend/embedding.d.cts +14 -3
- package/dist/adapters/vercel/backend/embedding.d.ts +14 -3
- package/dist/adapters/vercel/backend/embedding.js.map +1 -1
- package/dist/adapters/watsonx/backend/chat.cjs +25 -4
- package/dist/adapters/watsonx/backend/chat.cjs.map +1 -1
- package/dist/adapters/watsonx/backend/chat.d.cts +13 -7
- package/dist/adapters/watsonx/backend/chat.d.ts +13 -7
- package/dist/adapters/watsonx/backend/chat.js +25 -4
- package/dist/adapters/watsonx/backend/chat.js.map +1 -1
- package/dist/adapters/watsonx/backend/client.cjs +1 -1
- package/dist/adapters/watsonx/backend/client.cjs.map +1 -1
- package/dist/adapters/watsonx/backend/client.d.cts +1 -1
- package/dist/adapters/watsonx/backend/client.d.ts +1 -1
- package/dist/adapters/watsonx/backend/client.js +1 -1
- package/dist/adapters/watsonx/backend/client.js.map +1 -1
- package/dist/adapters/watsonx/backend/embedding.cjs.map +1 -1
- package/dist/adapters/watsonx/backend/embedding.d.cts +15 -3
- package/dist/adapters/watsonx/backend/embedding.d.ts +15 -3
- package/dist/adapters/watsonx/backend/embedding.js.map +1 -1
- package/dist/{agent-COg8SPbf.d.cts → agent-2C0Z9iYa.d.cts} +4 -4
- package/dist/{agent-Dv5YSk8H.d.ts → agent-DN_52QhH.d.ts} +4 -4
- package/dist/agents/base.cjs.map +1 -1
- package/dist/agents/base.d.cts +2 -2
- package/dist/agents/base.d.ts +2 -2
- package/dist/agents/base.js.map +1 -1
- package/dist/agents/experimental/remote/agent.cjs.map +1 -1
- package/dist/agents/experimental/remote/agent.d.cts +2 -2
- package/dist/agents/experimental/remote/agent.d.ts +2 -2
- package/dist/agents/experimental/remote/agent.js.map +1 -1
- package/dist/agents/experimental/replan/agent.cjs.map +1 -1
- package/dist/agents/experimental/replan/agent.d.cts +6 -6
- package/dist/agents/experimental/replan/agent.d.ts +6 -6
- package/dist/agents/experimental/replan/agent.js.map +1 -1
- package/dist/agents/experimental/replan/prompts.cjs.map +1 -1
- package/dist/agents/experimental/replan/prompts.d.cts +1 -1
- package/dist/agents/experimental/replan/prompts.d.ts +1 -1
- package/dist/agents/experimental/replan/prompts.js.map +1 -1
- package/dist/agents/experimental/streamlit/agent.cjs.map +1 -1
- package/dist/agents/experimental/streamlit/agent.d.cts +6 -6
- package/dist/agents/experimental/streamlit/agent.d.ts +6 -6
- package/dist/agents/experimental/streamlit/agent.js.map +1 -1
- package/dist/agents/experimental/streamlit/prompts.cjs.map +1 -1
- package/dist/agents/experimental/streamlit/prompts.d.cts +1 -1
- package/dist/agents/experimental/streamlit/prompts.d.ts +1 -1
- package/dist/agents/experimental/streamlit/prompts.js.map +1 -1
- package/dist/agents/react/agent.cjs.map +1 -1
- package/dist/agents/react/agent.d.cts +6 -6
- package/dist/agents/react/agent.d.ts +6 -6
- package/dist/agents/react/agent.js.map +1 -1
- package/dist/agents/react/prompts.cjs.map +1 -1
- package/dist/agents/react/prompts.d.cts +2 -2
- package/dist/agents/react/prompts.d.ts +2 -2
- package/dist/agents/react/prompts.js.map +1 -1
- package/dist/agents/react/runners/base.cjs.map +1 -1
- package/dist/agents/react/runners/base.d.cts +6 -6
- package/dist/agents/react/runners/base.d.ts +6 -6
- package/dist/agents/react/runners/base.js.map +1 -1
- package/dist/agents/react/runners/deep-think/prompts.cjs.map +1 -1
- package/dist/agents/react/runners/deep-think/prompts.d.cts +2 -2
- package/dist/agents/react/runners/deep-think/prompts.d.ts +2 -2
- package/dist/agents/react/runners/deep-think/prompts.js.map +1 -1
- package/dist/agents/react/runners/deep-think/runner.cjs.map +1 -1
- package/dist/agents/react/runners/deep-think/runner.d.cts +7 -7
- package/dist/agents/react/runners/deep-think/runner.d.ts +7 -7
- package/dist/agents/react/runners/deep-think/runner.js.map +1 -1
- package/dist/agents/react/runners/default/runner.cjs.map +1 -1
- package/dist/agents/react/runners/default/runner.d.cts +9 -9
- package/dist/agents/react/runners/default/runner.d.ts +9 -9
- package/dist/agents/react/runners/default/runner.js.map +1 -1
- package/dist/agents/react/runners/default/runner.spec.cjs.map +1 -1
- package/dist/agents/react/runners/default/runner.spec.js.map +1 -1
- package/dist/agents/react/runners/granite/prompts.cjs.map +1 -1
- package/dist/agents/react/runners/granite/prompts.d.cts +2 -2
- package/dist/agents/react/runners/granite/prompts.d.ts +2 -2
- package/dist/agents/react/runners/granite/prompts.js.map +1 -1
- package/dist/agents/react/runners/granite/runner.cjs.map +1 -1
- package/dist/agents/react/runners/granite/runner.d.cts +7 -7
- package/dist/agents/react/runners/granite/runner.d.ts +7 -7
- package/dist/agents/react/runners/granite/runner.js.map +1 -1
- package/dist/agents/react/types.d.cts +5 -5
- package/dist/agents/react/types.d.ts +5 -5
- package/dist/agents/toolCalling/agent.cjs +33 -12
- package/dist/agents/toolCalling/agent.cjs.map +1 -1
- package/dist/agents/toolCalling/agent.d.cts +7 -6
- package/dist/agents/toolCalling/agent.d.ts +7 -6
- package/dist/agents/toolCalling/agent.js +35 -14
- package/dist/agents/toolCalling/agent.js.map +1 -1
- package/dist/agents/toolCalling/prompts.cjs +3 -2
- package/dist/agents/toolCalling/prompts.cjs.map +1 -1
- package/dist/agents/toolCalling/prompts.d.cts +1 -1
- package/dist/agents/toolCalling/prompts.d.ts +1 -1
- package/dist/agents/toolCalling/prompts.js +3 -2
- package/dist/agents/toolCalling/prompts.js.map +1 -1
- package/dist/agents/toolCalling/types.d.cts +2 -2
- package/dist/agents/toolCalling/types.d.ts +2 -2
- package/dist/agents/types.d.cts +2 -2
- package/dist/agents/types.d.ts +2 -2
- package/dist/backend/backend.cjs.map +1 -1
- package/dist/backend/backend.d.cts +6 -5
- package/dist/backend/backend.d.ts +6 -5
- package/dist/backend/backend.js.map +1 -1
- package/dist/backend/chat.cjs +61 -3
- package/dist/backend/chat.cjs.map +1 -1
- package/dist/backend/chat.d.cts +17 -138
- package/dist/backend/chat.d.ts +17 -138
- package/dist/backend/chat.js +64 -6
- package/dist/backend/chat.js.map +1 -1
- package/dist/backend/client.cjs +1 -1
- package/dist/backend/client.cjs.map +1 -1
- package/dist/backend/client.d.cts +1 -1
- package/dist/backend/client.d.ts +1 -1
- package/dist/backend/client.js +1 -1
- package/dist/backend/client.js.map +1 -1
- package/dist/backend/constants.cjs +5 -0
- package/dist/backend/constants.cjs.map +1 -1
- package/dist/backend/constants.d.cts +6 -1
- package/dist/backend/constants.d.ts +6 -1
- package/dist/backend/constants.js +5 -0
- package/dist/backend/constants.js.map +1 -1
- package/dist/backend/core.d.cts +5 -4
- package/dist/backend/core.d.ts +5 -4
- package/dist/backend/embedding.cjs.map +1 -1
- package/dist/backend/embedding.d.cts +14 -2
- package/dist/backend/embedding.d.ts +14 -2
- package/dist/backend/embedding.js.map +1 -1
- package/dist/backend/errors.cjs.map +1 -1
- package/dist/backend/errors.d.cts +1 -1
- package/dist/backend/errors.d.ts +1 -1
- package/dist/backend/errors.js.map +1 -1
- package/dist/backend/message.cjs.map +1 -1
- package/dist/backend/message.d.cts +1 -1
- package/dist/backend/message.d.ts +1 -1
- package/dist/backend/message.js.map +1 -1
- package/dist/backend/utils.cjs +35 -0
- package/dist/backend/utils.cjs.map +1 -1
- package/dist/backend/utils.d.cts +20 -28
- package/dist/backend/utils.d.ts +20 -28
- package/dist/backend/utils.js +35 -2
- package/dist/backend/utils.js.map +1 -1
- package/dist/{base-Csr9guq2.d.cts → base-BPsHNV2O.d.cts} +2 -2
- package/dist/{base-DHhpWHQm.d.ts → base-ZnwDK6ZB.d.ts} +2 -2
- package/dist/cache/base.cjs.map +1 -1
- package/dist/cache/base.d.cts +1 -1
- package/dist/cache/base.d.ts +1 -1
- package/dist/cache/base.js.map +1 -1
- package/dist/cache/decoratorCache.cjs.map +1 -1
- package/dist/cache/decoratorCache.d.cts +1 -1
- package/dist/cache/decoratorCache.d.ts +1 -1
- package/dist/cache/decoratorCache.js.map +1 -1
- package/dist/cache/fileCache.cjs.map +1 -1
- package/dist/cache/fileCache.d.cts +1 -1
- package/dist/cache/fileCache.d.ts +1 -1
- package/dist/cache/fileCache.js.map +1 -1
- package/dist/cache/nullCache.cjs.map +1 -1
- package/dist/cache/nullCache.d.cts +1 -1
- package/dist/cache/nullCache.d.ts +1 -1
- package/dist/cache/nullCache.js.map +1 -1
- package/dist/cache/slidingCache.cjs.map +1 -1
- package/dist/cache/slidingCache.d.cts +1 -1
- package/dist/cache/slidingCache.d.ts +1 -1
- package/dist/cache/slidingCache.js.map +1 -1
- package/dist/cache/unconstrainedCache.cjs.map +1 -1
- package/dist/cache/unconstrainedCache.d.cts +1 -1
- package/dist/cache/unconstrainedCache.d.ts +1 -1
- package/dist/cache/unconstrainedCache.js.map +1 -1
- package/dist/chat-BvyMdWFo.d.cts +174 -0
- package/dist/chat-diSK3Sui.d.ts +174 -0
- package/dist/context.cjs.map +1 -1
- package/dist/context.d.cts +2 -2
- package/dist/context.d.ts +2 -2
- package/dist/context.js.map +1 -1
- package/dist/emitter/emitter.cjs.map +1 -1
- package/dist/emitter/emitter.d.cts +1 -1
- package/dist/emitter/emitter.d.ts +1 -1
- package/dist/emitter/emitter.js.map +1 -1
- package/dist/emitter/errors.cjs.map +1 -1
- package/dist/emitter/errors.d.cts +1 -1
- package/dist/emitter/errors.d.ts +1 -1
- package/dist/emitter/errors.js.map +1 -1
- package/dist/emitter/types.d.cts +1 -1
- package/dist/emitter/types.d.ts +1 -1
- package/dist/emitter/utils.cjs.map +1 -1
- package/dist/emitter/utils.d.cts +1 -1
- package/dist/emitter/utils.d.ts +1 -1
- package/dist/emitter/utils.js.map +1 -1
- package/dist/{emitter-BWtGHYn0.d.cts → emitter-BTr99H7I.d.cts} +2 -2
- package/dist/{emitter-l0W9gC1A.d.ts → emitter-DiGmS_5O.d.ts} +2 -2
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.cts +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.cts +4 -6
- package/dist/index.d.ts +4 -6
- package/dist/internals/env.cjs.map +1 -1
- package/dist/internals/env.d.cts +1 -1
- package/dist/internals/env.d.ts +1 -1
- package/dist/internals/env.js.map +1 -1
- package/dist/internals/fetcher.cjs.map +1 -1
- package/dist/internals/fetcher.d.cts +2 -2
- package/dist/internals/fetcher.d.ts +2 -2
- package/dist/internals/fetcher.js.map +1 -1
- package/dist/internals/helpers/array.cjs.map +1 -1
- package/dist/internals/helpers/array.d.cts +1 -1
- package/dist/internals/helpers/array.d.ts +1 -1
- package/dist/internals/helpers/array.js.map +1 -1
- package/dist/internals/helpers/cancellation.cjs.map +1 -1
- package/dist/internals/helpers/cancellation.d.cts +1 -1
- package/dist/internals/helpers/cancellation.d.ts +1 -1
- package/dist/internals/helpers/cancellation.js.map +1 -1
- package/dist/internals/helpers/counter.cjs.map +1 -1
- package/dist/internals/helpers/counter.d.cts +1 -1
- package/dist/internals/helpers/counter.d.ts +1 -1
- package/dist/internals/helpers/counter.js.map +1 -1
- package/dist/internals/helpers/general.cjs.map +1 -1
- package/dist/internals/helpers/general.d.cts +1 -1
- package/dist/internals/helpers/general.d.ts +1 -1
- package/dist/internals/helpers/general.js.map +1 -1
- package/dist/internals/helpers/guards.cjs.map +1 -1
- package/dist/internals/helpers/guards.d.cts +1 -1
- package/dist/internals/helpers/guards.d.ts +1 -1
- package/dist/internals/helpers/guards.js.map +1 -1
- package/dist/internals/helpers/hash.cjs.map +1 -1
- package/dist/internals/helpers/hash.d.cts +1 -1
- package/dist/internals/helpers/hash.d.ts +1 -1
- package/dist/internals/helpers/hash.js.map +1 -1
- package/dist/internals/helpers/map.cjs.map +1 -1
- package/dist/internals/helpers/map.d.cts +1 -1
- package/dist/internals/helpers/map.d.ts +1 -1
- package/dist/internals/helpers/map.js.map +1 -1
- package/dist/internals/helpers/math.cjs.map +1 -1
- package/dist/internals/helpers/math.d.cts +1 -1
- package/dist/internals/helpers/math.d.ts +1 -1
- package/dist/internals/helpers/math.js.map +1 -1
- package/dist/internals/helpers/number.cjs.map +1 -1
- package/dist/internals/helpers/number.d.cts +1 -1
- package/dist/internals/helpers/number.d.ts +1 -1
- package/dist/internals/helpers/number.js.map +1 -1
- package/dist/internals/helpers/object.cjs.map +1 -1
- package/dist/internals/helpers/object.d.cts +1 -1
- package/dist/internals/helpers/object.d.ts +1 -1
- package/dist/internals/helpers/object.js.map +1 -1
- package/dist/internals/helpers/paginate.cjs.map +1 -1
- package/dist/internals/helpers/paginate.d.cts +1 -1
- package/dist/internals/helpers/paginate.d.ts +1 -1
- package/dist/internals/helpers/paginate.js.map +1 -1
- package/dist/internals/helpers/promise.cjs.map +1 -1
- package/dist/internals/helpers/promise.d.cts +1 -1
- package/dist/internals/helpers/promise.d.ts +1 -1
- package/dist/internals/helpers/promise.js.map +1 -1
- package/dist/internals/helpers/prototype.cjs.map +1 -1
- package/dist/internals/helpers/prototype.d.cts +1 -1
- package/dist/internals/helpers/prototype.d.ts +1 -1
- package/dist/internals/helpers/prototype.js.map +1 -1
- package/dist/internals/helpers/retry.cjs.map +1 -1
- package/dist/internals/helpers/retry.d.cts +1 -1
- package/dist/internals/helpers/retry.d.ts +1 -1
- package/dist/internals/helpers/retry.js.map +1 -1
- package/dist/internals/helpers/retryable.cjs.map +1 -1
- package/dist/internals/helpers/retryable.d.cts +1 -1
- package/dist/internals/helpers/retryable.d.ts +1 -1
- package/dist/internals/helpers/retryable.js.map +1 -1
- package/dist/internals/helpers/schema.cjs.map +1 -1
- package/dist/internals/helpers/schema.d.cts +1 -1
- package/dist/internals/helpers/schema.d.ts +1 -1
- package/dist/internals/helpers/schema.js.map +1 -1
- package/dist/internals/helpers/stream.cjs.map +1 -1
- package/dist/internals/helpers/stream.d.cts +1 -1
- package/dist/internals/helpers/stream.d.ts +1 -1
- package/dist/internals/helpers/stream.js.map +1 -1
- package/dist/internals/helpers/string.cjs.map +1 -1
- package/dist/internals/helpers/string.d.cts +1 -1
- package/dist/internals/helpers/string.d.ts +1 -1
- package/dist/internals/helpers/string.js.map +1 -1
- package/dist/internals/helpers/weakRef.cjs.map +1 -1
- package/dist/internals/helpers/weakRef.d.cts +1 -1
- package/dist/internals/helpers/weakRef.d.ts +1 -1
- package/dist/internals/helpers/weakRef.js.map +1 -1
- package/dist/internals/serializable.cjs.map +1 -1
- package/dist/internals/serializable.d.cts +1 -1
- package/dist/internals/serializable.d.ts +1 -1
- package/dist/internals/serializable.js.map +1 -1
- package/dist/internals/types.cjs.map +1 -1
- package/dist/internals/types.d.cts +1 -1
- package/dist/internals/types.d.ts +1 -1
- package/dist/internals/types.js.map +1 -1
- package/dist/logger/logger.cjs.map +1 -1
- package/dist/logger/logger.js.map +1 -1
- package/dist/logger/pretty.cjs.map +1 -1
- package/dist/logger/pretty.js.map +1 -1
- package/dist/memory/base.cjs.map +1 -1
- package/dist/memory/base.js.map +1 -1
- package/dist/memory/slidingMemory.cjs.map +1 -1
- package/dist/memory/slidingMemory.js.map +1 -1
- package/dist/memory/summarizeMemory.cjs.map +1 -1
- package/dist/memory/summarizeMemory.d.cts +4 -4
- package/dist/memory/summarizeMemory.d.ts +4 -4
- package/dist/memory/summarizeMemory.js.map +1 -1
- package/dist/memory/tokenMemory.cjs.map +1 -1
- package/dist/memory/tokenMemory.js.map +1 -1
- package/dist/memory/unconstrainedMemory.cjs.map +1 -1
- package/dist/memory/unconstrainedMemory.js.map +1 -1
- package/dist/parsers/errors.cjs.map +1 -1
- package/dist/parsers/errors.d.cts +1 -1
- package/dist/parsers/errors.d.ts +1 -1
- package/dist/parsers/errors.js.map +1 -1
- package/dist/parsers/field.cjs.map +1 -1
- package/dist/parsers/field.js.map +1 -1
- package/dist/parsers/linePrefix.cjs.map +1 -1
- package/dist/parsers/linePrefix.d.cts +2 -2
- package/dist/parsers/linePrefix.d.ts +2 -2
- package/dist/parsers/linePrefix.js.map +1 -1
- package/dist/serializer/error.cjs.map +1 -1
- package/dist/serializer/error.d.cts +1 -1
- package/dist/serializer/error.d.ts +1 -1
- package/dist/serializer/error.js.map +1 -1
- package/dist/serializer/serializer.cjs.map +1 -1
- package/dist/serializer/serializer.d.cts +1 -1
- package/dist/serializer/serializer.d.ts +1 -1
- package/dist/serializer/serializer.js.map +1 -1
- package/dist/serializer/utils.cjs.map +1 -1
- package/dist/serializer/utils.d.cts +1 -1
- package/dist/serializer/utils.d.ts +1 -1
- package/dist/serializer/utils.js.map +1 -1
- package/dist/{serializer-VYDhdryk.d.ts → serializer-BswFRdT8.d.ts} +2 -2
- package/dist/{serializer-CJx5ZpUx.d.cts → serializer-Dz4AIM2O.d.cts} +2 -2
- package/dist/template.cjs.map +1 -1
- package/dist/template.d.cts +1 -1
- package/dist/template.d.ts +1 -1
- package/dist/template.js.map +1 -1
- package/dist/tools/arxiv.cjs.map +1 -1
- package/dist/tools/arxiv.d.cts +2 -2
- package/dist/tools/arxiv.d.ts +2 -2
- package/dist/tools/arxiv.js.map +1 -1
- package/dist/tools/base.cjs.map +1 -1
- package/dist/tools/base.d.cts +1 -1
- package/dist/tools/base.d.ts +1 -1
- package/dist/tools/base.js.map +1 -1
- package/dist/tools/calculator.cjs.map +1 -1
- package/dist/tools/calculator.d.cts +2 -2
- package/dist/tools/calculator.d.ts +2 -2
- package/dist/tools/calculator.js.map +1 -1
- package/dist/tools/custom.cjs.map +1 -1
- package/dist/tools/custom.d.cts +5 -5
- package/dist/tools/custom.d.ts +5 -5
- package/dist/tools/custom.js.map +1 -1
- package/dist/tools/database/elasticsearch.cjs.map +1 -1
- package/dist/tools/database/elasticsearch.d.cts +2 -2
- package/dist/tools/database/elasticsearch.d.ts +2 -2
- package/dist/tools/database/elasticsearch.js.map +1 -1
- package/dist/tools/database/metadata.cjs.map +1 -1
- package/dist/tools/database/metadata.d.cts +1 -1
- package/dist/tools/database/metadata.d.ts +1 -1
- package/dist/tools/database/metadata.js.map +1 -1
- package/dist/tools/database/milvus.cjs.map +1 -1
- package/dist/tools/database/milvus.d.cts +2 -2
- package/dist/tools/database/milvus.d.ts +2 -2
- package/dist/tools/database/milvus.js.map +1 -1
- package/dist/tools/database/sql.cjs.map +1 -1
- package/dist/tools/database/sql.d.cts +2 -2
- package/dist/tools/database/sql.d.ts +2 -2
- package/dist/tools/database/sql.js.map +1 -1
- package/dist/tools/llm.cjs.map +1 -1
- package/dist/tools/llm.d.cts +5 -5
- package/dist/tools/llm.d.ts +5 -5
- package/dist/tools/llm.js.map +1 -1
- package/dist/tools/mcp.cjs.map +1 -1
- package/dist/tools/mcp.d.cts +2 -2
- package/dist/tools/mcp.d.ts +2 -2
- package/dist/tools/mcp.js.map +1 -1
- package/dist/tools/openapi.cjs.map +1 -1
- package/dist/tools/openapi.d.cts +1 -1
- package/dist/tools/openapi.d.ts +1 -1
- package/dist/tools/openapi.js.map +1 -1
- package/dist/tools/python/output.cjs.map +1 -1
- package/dist/tools/python/output.d.cts +2 -2
- package/dist/tools/python/output.d.ts +2 -2
- package/dist/tools/python/output.js.map +1 -1
- package/dist/tools/python/python.cjs +3 -3
- package/dist/tools/python/python.cjs.map +1 -1
- package/dist/tools/python/python.d.cts +4 -4
- package/dist/tools/python/python.d.ts +4 -4
- package/dist/tools/python/python.js +3 -3
- package/dist/tools/python/python.js.map +1 -1
- package/dist/tools/python/storage.cjs.map +1 -1
- package/dist/tools/python/storage.d.cts +1 -1
- package/dist/tools/python/storage.d.ts +1 -1
- package/dist/tools/python/storage.js.map +1 -1
- package/dist/tools/search/base.cjs.map +1 -1
- package/dist/tools/search/base.d.cts +2 -2
- package/dist/tools/search/base.d.ts +2 -2
- package/dist/tools/search/base.js.map +1 -1
- package/dist/tools/search/duckDuckGoSearch.cjs.map +1 -1
- package/dist/tools/search/duckDuckGoSearch.d.cts +2 -2
- package/dist/tools/search/duckDuckGoSearch.d.ts +2 -2
- package/dist/tools/search/duckDuckGoSearch.js.map +1 -1
- package/dist/tools/search/googleSearch.cjs.map +1 -1
- package/dist/tools/search/googleSearch.d.cts +1 -1
- package/dist/tools/search/googleSearch.d.ts +1 -1
- package/dist/tools/search/googleSearch.js.map +1 -1
- package/dist/tools/search/searXNGSearch.cjs.map +1 -1
- package/dist/tools/search/searXNGSearch.d.cts +2 -2
- package/dist/tools/search/searXNGSearch.d.ts +2 -2
- package/dist/tools/search/searXNGSearch.js.map +1 -1
- package/dist/tools/search/wikipedia.cjs.map +1 -1
- package/dist/tools/search/wikipedia.d.cts +1 -1
- package/dist/tools/search/wikipedia.d.ts +1 -1
- package/dist/tools/search/wikipedia.js.map +1 -1
- package/dist/tools/similarity.cjs.map +1 -1
- package/dist/tools/similarity.d.cts +2 -2
- package/dist/tools/similarity.d.ts +2 -2
- package/dist/tools/similarity.js.map +1 -1
- package/dist/tools/weather/openMeteo.cjs.map +1 -1
- package/dist/tools/weather/openMeteo.d.cts +2 -2
- package/dist/tools/weather/openMeteo.d.ts +2 -2
- package/dist/tools/weather/openMeteo.js.map +1 -1
- package/dist/tools/web/webCrawler.cjs.map +1 -1
- package/dist/tools/web/webCrawler.d.cts +1 -1
- package/dist/tools/web/webCrawler.d.ts +1 -1
- package/dist/tools/web/webCrawler.js.map +1 -1
- package/dist/version.cjs +1 -1
- package/dist/version.cjs.map +1 -1
- package/dist/version.d.cts +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/dist/workflows/agent.cjs.map +1 -1
- package/dist/workflows/agent.d.cts +43 -43
- package/dist/workflows/agent.d.ts +43 -43
- package/dist/workflows/agent.js.map +1 -1
- package/dist/workflows/workflow.cjs.map +1 -1
- package/dist/workflows/workflow.d.cts +1 -1
- package/dist/workflows/workflow.d.ts +1 -1
- package/dist/workflows/workflow.js.map +1 -1
- package/package.json +18 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["similarity.ts"],"names":["documentSchema","z","object","text","string","passthrough","SimilarityToolOutput","JSONToolOutput","SimilarityTool","Tool","name","description","emitter","Emitter","root","child","namespace","creator","inputSchema","query","documents","array","register","_run","options","run","pipe","provider","map","score","idx","documentIndex","filter","minScore","sortBy","prop","take","maxResults","Infinity","data","document","index"],"mappings":";;;;;;;AA6BA,MAAMA,cAAAA,GAAiBC,EAAEC,MAAO,CAAA;AAAEC,EAAAA,IAAAA,EAAMC,MAAAA;AAAS,CAAA,EAAGC,WAAW,EAAA;AAgCxD,MAAMC,6BAA6BC,cAAAA,CAAAA;EA7D1C;;;AA6DkF;AAE3E,MAAMC,uBAAyCC,IAAAA,CAAAA;EA/DtD;;;EAoEEC,IAAO,GAAA,YAAA;EACPC,WAAc,GAAA,8CAAA;EAEEC,OAA8DC,GAAAA,OAAAA,CAAQC,KAAKC,KAAM,CAAA;IAC/FC,SAAW,EAAA;AAAC,MAAA,MAAA;AAAQ,MAAA;;IACpBC,OAAS,EAAA;GACX,CAAA;EAEAC,WAAc,GAAA;AACZ,IAAA,OAAOjB,EAAEC,MAAO,CAAA;AAAEiB,MAAAA,KAAAA,EAAOlB,EAAEG,MAAM,EAAA;MAAIgB,SAAWnB,EAAAA,CAAAA,CAAEoB,MAAMrB,cAAAA;KAAgB,CAAA;AAC1E;EAEA;AACE,IAAA,IAAA,CAAKsB,QAAQ,EAAA;AACf;AAEA,EAAA,MAAgBC,KACd,EAAEJ,KAAAA,EAAOC,SAAS,EAAA,EAClBI,SACAC,GACA,EAAA;AACA,IAAA,OAAOC,IACL,CAAA,MAAM,IAAKF,CAAAA,OAAAA,CAAQG,QACjB,CAAA;AACER,MAAAA,KAAAA;AACAC,MAAAA;KAEFI,EAAAA,OAAAA,EAASG,UACTF,GAAAA,CAAAA,EAEFG,IAAI,CAAC,EAAEC,KAAK,EAAA,EAAIC,GAAS,MAAA;MACvBC,aAAeD,EAAAA,GAAAA;AACfD,MAAAA;KACF,CAAA,CAAA,EACAG,MAAO,CAAA,CAAC,EAAEH,KAAAA,EAAYA,KAAAA,KAAAA,KAAUL,OAAQS,CAAAA,QAAAA,IAAY,CAAQ,QAAA,CAAA,CAAA,EAC5DC,MAAO,CAAA;AAACC,MAAAA,IAAAA,CAAK,OAAA,CAAA;AAAU,MAAA;AAAO,KAAA,CAAA,EAC9BC,KAAKZ,OAASa,EAAAA,UAAAA,IAAc,KAAKb,OAAQa,CAAAA,UAAAA,IAAcC,QAAAA,CACvD,EAAA,CAACC,IACC,KAAA,IAAIjC,qBACFiC,IAAKX,CAAAA,GAAAA,CAAI,CAAC,EAAEG,aAAAA,EAAeF,OAAa,MAAA;AACtCW,MAAAA,QAAAA,EAAUpB,UAAUW,aAAAA,CAAAA;MACpBU,KAAOV,EAAAA,aAAAA;AACPF,MAAAA;AACF,KAAA,CAAA,CAAA,CAAA,CAAA;AAGR;AACF","file":"similarity.js","sourcesContent":["/**\n * Copyright 2025
|
|
1
|
+
{"version":3,"sources":["similarity.ts"],"names":["documentSchema","z","object","text","string","passthrough","SimilarityToolOutput","JSONToolOutput","SimilarityTool","Tool","name","description","emitter","Emitter","root","child","namespace","creator","inputSchema","query","documents","array","register","_run","options","run","pipe","provider","map","score","idx","documentIndex","filter","minScore","sortBy","prop","take","maxResults","Infinity","data","document","index"],"mappings":";;;;;;;AA6BA,MAAMA,cAAAA,GAAiBC,EAAEC,MAAO,CAAA;AAAEC,EAAAA,IAAAA,EAAMC,MAAAA;AAAS,CAAA,EAAGC,WAAW,EAAA;AAgCxD,MAAMC,6BAA6BC,cAAAA,CAAAA;EA7D1C;;;AA6DkF;AAE3E,MAAMC,uBAAyCC,IAAAA,CAAAA;EA/DtD;;;EAoEEC,IAAO,GAAA,YAAA;EACPC,WAAc,GAAA,8CAAA;EAEEC,OAA8DC,GAAAA,OAAAA,CAAQC,KAAKC,KAAM,CAAA;IAC/FC,SAAW,EAAA;AAAC,MAAA,MAAA;AAAQ,MAAA;;IACpBC,OAAS,EAAA;GACX,CAAA;EAEAC,WAAc,GAAA;AACZ,IAAA,OAAOjB,EAAEC,MAAO,CAAA;AAAEiB,MAAAA,KAAAA,EAAOlB,EAAEG,MAAM,EAAA;MAAIgB,SAAWnB,EAAAA,CAAAA,CAAEoB,MAAMrB,cAAAA;KAAgB,CAAA;AAC1E;EAEA;AACE,IAAA,IAAA,CAAKsB,QAAQ,EAAA;AACf;AAEA,EAAA,MAAgBC,KACd,EAAEJ,KAAAA,EAAOC,SAAS,EAAA,EAClBI,SACAC,GACA,EAAA;AACA,IAAA,OAAOC,IACL,CAAA,MAAM,IAAKF,CAAAA,OAAAA,CAAQG,QACjB,CAAA;AACER,MAAAA,KAAAA;AACAC,MAAAA;KAEFI,EAAAA,OAAAA,EAASG,UACTF,GAAAA,CAAAA,EAEFG,IAAI,CAAC,EAAEC,KAAK,EAAA,EAAIC,GAAS,MAAA;MACvBC,aAAeD,EAAAA,GAAAA;AACfD,MAAAA;KACF,CAAA,CAAA,EACAG,MAAO,CAAA,CAAC,EAAEH,KAAAA,EAAYA,KAAAA,KAAAA,KAAUL,OAAQS,CAAAA,QAAAA,IAAY,CAAQ,QAAA,CAAA,CAAA,EAC5DC,MAAO,CAAA;AAACC,MAAAA,IAAAA,CAAK,OAAA,CAAA;AAAU,MAAA;AAAO,KAAA,CAAA,EAC9BC,KAAKZ,OAASa,EAAAA,UAAAA,IAAc,KAAKb,OAAQa,CAAAA,UAAAA,IAAcC,QAAAA,CACvD,EAAA,CAACC,IACC,KAAA,IAAIjC,qBACFiC,IAAKX,CAAAA,GAAAA,CAAI,CAAC,EAAEG,aAAAA,EAAeF,OAAa,MAAA;AACtCW,MAAAA,QAAAA,EAAUpB,UAAUW,aAAAA,CAAAA;MACpBU,KAAOV,EAAAA,aAAAA;AACPF,MAAAA;AACF,KAAA,CAAA,CAAA,CAAA,CAAA;AAGR;AACF","file":"similarity.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\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 {\n BaseToolOptions,\n BaseToolRunOptions,\n ToolEmitter,\n JSONToolOutput,\n Tool,\n ToolInput,\n} from \"./base.js\";\nimport { string, z } from \"zod\";\nimport { RunContext } from \"@/context.js\";\nimport { filter, map, pipe, prop, sortBy, take } from \"remeda\";\nimport { Emitter } from \"@/emitter/emitter.js\";\n\nconst documentSchema = z.object({ text: string() }).passthrough();\n\ntype Document = z.infer<typeof documentSchema>;\n\ninterface ProviderInput {\n query: string;\n documents: Document[];\n}\n\ntype Provider<TProviderOptions> = (\n input: ProviderInput,\n options: TProviderOptions | undefined,\n run: RunContext<SimilarityTool<TProviderOptions>>,\n) => Promise<{ score: number }[]>;\n\nexport interface SimilarityToolOptions<TProviderOptions = unknown> extends BaseToolOptions {\n provider: Provider<TProviderOptions>;\n maxResults?: number;\n}\n\nexport interface SimilarityToolRunOptions<TProviderOptions = unknown> extends BaseToolRunOptions {\n provider?: TProviderOptions;\n maxResults?: number;\n minScore?: number;\n}\n\nexport interface SimilarityToolResult {\n document: Document;\n index: number;\n score: number;\n}\n\nexport class SimilarityToolOutput extends JSONToolOutput<SimilarityToolResult[]> {}\n\nexport class SimilarityTool<TProviderOptions> extends Tool<\n SimilarityToolOutput,\n SimilarityToolOptions<TProviderOptions>,\n SimilarityToolRunOptions<TProviderOptions>\n> {\n name = \"Similarity\";\n description = \"Extract relevant information from documents.\";\n\n public readonly emitter: ToolEmitter<ToolInput<this>, SimilarityToolOutput> = Emitter.root.child({\n namespace: [\"tool\", \"similarity\"],\n creator: this,\n });\n\n inputSchema() {\n return z.object({ query: z.string(), documents: z.array(documentSchema) });\n }\n\n static {\n this.register();\n }\n\n protected async _run(\n { query, documents }: ToolInput<this>,\n options: Partial<SimilarityToolRunOptions<TProviderOptions>>,\n run: RunContext<this>,\n ) {\n return pipe(\n await this.options.provider(\n {\n query,\n documents,\n },\n options?.provider,\n run,\n ),\n map(({ score }, idx) => ({\n documentIndex: idx,\n score,\n })),\n filter(({ score }) => score >= (options.minScore ?? -Infinity)),\n sortBy([prop(\"score\"), \"desc\"]),\n take(options?.maxResults ?? this.options.maxResults ?? Infinity),\n (data) =>\n new SimilarityToolOutput(\n data.map(({ documentIndex, score }) => ({\n document: documents[documentIndex],\n index: documentIndex,\n score,\n })),\n ),\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["openMeteo.ts"],"names":["OpenMeteoToolOutput","JSONToolOutput","OpenMeteoTool","Tool","name","description","inputSchema","z","object","location","union","string","min","country","optional","language","default","strip","latitude","coerce","number","longitude","start_date","date","describe","end_date","temperature_unit","enum","emitter","Emitter","root","child","namespace","creator","register","options","responseFilter","excludedKeys","preprocessInput","rawInput","fixDate","key","value","getProp","setProp","substring","_run","startDate","endDate","input","_options","run","apiKey","prepareParams","extractLocation","response","_geocode","signal","pick","validateAndSetDates","startDateStr","endDateStr","now","Date","start","UTC","getFullYear","getMonth","getDate","end","ToolInputValidationError","toDateString","toISOString","split","createURLParams","pickBy","v","isNullish","current","daily","hourly","timezone","params","fetch","headers","Authorization","ok","ToolError","Error","text","data","json","omit","format","count","results","length"],"mappings":";;;;;;;;;;;;AAcC,SAAA,YAAA,CAAA,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,IAAA,EAAA;;;;;;AAAA,MAAA,CAAA,YAAA,EAAA,cAAA,CAAA;;;;;AA0DM,MAAMA,4BAA4BC,uBAAAA,CAAAA;EAxEzC;;;AAwEgF;AAEzE,MAAMC,sBAAsBC,aAAAA,CAAAA;EA1EnC;;;EA2EEC,IAAO,GAAA,WAAA;EACPC,WAAc,GAAA,CAAA,mEAAA,CAAA;EAEdC,WAAc,GAAA;AACZ,IAAA,OAAOC,MACJC,MAAO,CAAA;AACNC,MAAAA,QAAAA,EAAUF,MAAEG,KAAM,CAAA;AAChBH,QAAAA,KAAAA,CACGC,MAAO,CAAA;AACNJ,UAAAA,IAAAA,EAAMG,KAAEI,CAAAA,MAAAA,EAASC,CAAAA,GAAAA,CAAI,CAAA,CAAA;UACrBC,OAASN,EAAAA,KAAAA,CAAEI,MAAM,EAAA,CAAGG,QAAQ,EAAA;AAC5BC,UAAAA,QAAAA,EAAUR,KAAEI,CAAAA,MAAAA,EAASK,CAAAA,OAAAA,CAAQ,SAAA;AAC/B,SAAA,EACCC,KAAK,EAAA;AACRV,QAAAA,KAAAA,CACGC,MAAO,CAAA;UACNU,QAAUX,EAAAA,KAAAA,CAAEY,OAAOC,MAAM,EAAA;UACzBC,SAAWd,EAAAA,KAAAA,CAAEY,OAAOC,MAAM;AAC5B,SAAA,EACCH,KAAK;AACT,OAAA,CAAA;AACDK,MAAAA,UAAAA,EAAYf,MACTI,MAAM,EAAA,CACNY,IAAI,EAAA,CACJC,SAAS,oEAAA,CAAA;MACZC,QAAUlB,EAAAA,KAAAA,CACPI,QACAY,CAAAA,IAAAA,GACAC,QAAS,CAAA,kEAAA,EACTV,QAAQ,EAAA;AACXY,MAAAA,gBAAAA,EAAkBnB,MAAEoB,IAAK,CAAA;AAAC,QAAA,SAAA;AAAW,QAAA;AAAa,OAAA,CAAA,CAAEX,QAAQ,SAAA;AAC9D,KAAA,EACCC,KAAK,EAAA;AACV;EAEgBW,OAA6DC,GAAAA,mBAAAA,CAAQC,KAAKC,KAAM,CAAA;IAC9FC,SAAW,EAAA;AAAC,MAAA,MAAA;AAAQ,MAAA,SAAA;AAAW,MAAA;;IAC/BC,OAAS,EAAA;GACX,CAAA;EAEA;AACE,IAAA,IAAA,CAAKC,QAAQ,EAAA;AACf;EAEA,WAAmBC,CAAAA,OAAAA,GAAgC,EAAI,EAAA;AACrD,IAAM,KAAA,CAAA;MACJ,GAAGA,OAAAA;AACHC,MAAAA,cAAAA,EAAgBD,SAASC,cAAkB,IAAA;QACzCC,YAAc,EAAA;AACZ,UAAA,UAAA;AACA,UAAA,WAAA;AACA,UAAA,mBAAA;AACA,UAAA,oBAAA;AACA,UAAA,UAAA;AACA,UAAA,uBAAA;AACA,UAAA,WAAA;AACA,UAAA,QAAA;AACA,UAAA;;AAEJ;KACF,CAAA;AACF;AAEUC,EAAAA,eAAAA,CAAgBC,QAAmB,EAAA;AAC3C,IAAA,KAAA,CAAMD,gBAAgBC,QAAAA,CAAAA;AAEtB,IAAMC,MAAAA,OAAAA,2BAAWC,GAAAA,KAAAA;AACf,MAAMC,MAAAA,KAAAA,GAAQC,mBAAQJ,QAAU,EAAA;AAACE,QAAAA;AAAI,OAAA,CAAA;AACrC,MAAA,IAAIC,KAAO,EAAA;AACTE,QAAAA,kBAAAA,CAAQL,QAAU,EAAA;AAACE,UAAAA;WAAMC,KAAMG,CAAAA,SAAAA,CAAU,CAAG,EAAA,EAAA,CAAA,CAAA;AAC9C;KAJc,EAAA,SAAA,CAAA;AAOhBL,IAAAA,OAAAA,CAAQ,YAAA,CAAA;AACRA,IAAAA,OAAAA,CAAQ,UAAA,CAAA;AACV;EAEA,MAAgBM,IAAAA,CACd,EAAErC,QAAAA,EAAUa,UAAYyB,EAAAA,SAAAA,EAAWtB,QAAUuB,EAAAA,OAAAA,EAAS,GAAGC,KAAAA,EACzDC,EAAAA,QAAAA,EACAC,GACA,EAAA;AACA,IAAM,MAAA,EAAEC,MAAM,EAAA,GAAK,IAAKjB,CAAAA,OAAAA;AAExB,IAAA,MAAMkB,gCAAgB,MAAA,CAAA,YAAA;AACpB,MAAA,MAAMC,kCAAkB,MAAA,CAAA,YAAA;AACtB,QAAA,IAAI,UAAU7C,QAAU,EAAA;AACtB,UAAA,MAAM8C,YAAW,MAAM,IAAA,CAAKC,QAAS/C,CAAAA,QAAAA,EAAU0C,IAAIM,MAAM,CAAA;AACzD,UAAA,OAAOC,YAAKH,SAAU,EAAA;AAAC,YAAA,UAAA;AAAY,YAAA;AAAY,WAAA,CAAA;AACjD;AACA,QAAO9C,OAAAA,QAAAA;OALe,EAAA,iBAAA,CAAA;AAQxB,MAASkD,SAAAA,mBAAAA,CACPC,cACAC,UAAmB,EAAA;AAEnB,QAAMC,MAAAA,GAAAA,uBAAUC,IAAAA,EAAAA;AAChB,QAAA,MAAMC,SAAQJ,YACV,GAAA,IAAIG,KAAKH,YAAAA,CAAAA,GACT,IAAIG,IAAKA,CAAAA,IAAAA,CAAKE,IAAIH,GAAII,CAAAA,WAAAA,IAAeJ,GAAIK,CAAAA,QAAAA,IAAYL,GAAIM,CAAAA,OAAAA,EAAO,CAAA,CAAA;AAEpE,QAAA,IAAIP,UAAY,EAAA;AACd,UAAMQ,MAAAA,IAAAA,GAAM,IAAIN,IAAAA,CAAKF,UAAAA,CAAAA;AACrB,UAAA,IAAIQ,OAAML,MAAO,EAAA;AACf,YAAA,MAAM,IAAIM,iCACR,CAAA,CAAA,gBAAA,EAAmBT,UAAAA,CAAAA,6CAAAA,EAA0DD,YAAAA,CAAgB,EAAA,CAAA,CAAA;AAEjG;AACA,UAAO,OAAA;YAAEI,KAAOA,EAAAA,MAAAA;YAAOK,GAAKA,EAAAA;AAAI,WAAA;SAC3B,MAAA;AAEL,UAAO,OAAA;YAAEL,KAAOA,EAAAA,MAAAA;YAAOK,GAAK,EAAA,IAAIN,KAAKC,MAAAA;AAAO,WAAA;AAC9C;AACF;AArBSL,MAAAA,MAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AAuBT,MAAA,MAAM,EAAEK,KAAOK,EAAAA,GAAAA,EAAQV,GAAAA,mBAAAA,CAAoBZ,WAAWC,OAAAA,CAAAA;AAEtD,MAAMuB,MAAAA,YAAAA,mBAAgBhD,MAAAA,CAAAA,CAAAA,IAAAA,KAAeA,IAAKiD,CAAAA,WAAAA,GAAcC,KAAM,CAAA,GAAA,CAAK,CAAA,CAAA,CAA9C,EAAA,cAAA,CAAA;AAErB,MAAA,OAAOC,2BAAgB,CAAA;QACrB,GAAGC,aAAAA,CAAO1B,OAAO,CAAC2B,CAAAA,KAAM,CAACC,gBAAUD,CAAAA,CAAAA,CAAMA,IAAAA,CAAAA,KAAM,EAAA,CAAA;AAC/C,QAAA,GAAI,MAAMtB,eAAAA,EAAAA;AACVhC,QAAAA,UAAAA,EAAYiD,aAAaP,KAAAA,CAAAA;AACzBvC,QAAAA,QAAAA,EAAU8C,aAAaF,GAAAA,CAAAA;QACvBS,OAAS,EAAA;AAAC,UAAA,gBAAA;AAAkB,UAAA,MAAA;AAAQ,UAAA,sBAAA;AAAwB,UAAA;;QAC5DC,KAAO,EAAA;AAAC,UAAA,oBAAA;AAAsB,UAAA,oBAAA;AAAsB,UAAA;;QACpDC,MAAQ,EAAA;AAAC,UAAA,gBAAA;AAAkB,UAAA,sBAAA;AAAwB,UAAA;;QACnDC,QAAU,EAAA;OACZ,CAAA;KA7CoB,EAAA,eAAA,CAAA;AAgDtB,IAAMC,MAAAA,MAAAA,GAAS,MAAM7B,aAAAA,EAAAA;AACrB,IAAA,MAAME,QAAW,GAAA,MAAM4B,KAAM,CAAA,CAAA,uCAAA,EAA0CD,MAAAA,CAAU,CAAA,EAAA;MAC/EE,OAAS,EAAA;AACP,QAAA,GAAIhC,MAAU,IAAA;AACZiC,UAAAA,aAAAA,EAAe,UAAUjC,MAAAA,CAAAA;AAC3B;AACF,OAAA;AACAK,MAAAA,MAAAA,EAAQN,GAAIM,CAAAA;KACd,CAAA;AAEA,IAAI,IAAA,CAACF,SAAS+B,EAAI,EAAA;AAChB,MAAM,MAAA,IAAIC,mBAAU,sCAAwC,EAAA;AAC1D,QAAA,IAAIC,KAAM,CAAA,MAAMjC,QAASkC,CAAAA,IAAAA,EAAI;AAC9B,OAAA,CAAA;AACH;AAEA,IAAIC,IAAAA,IAAAA,GAA8B,MAAMnC,QAAAA,CAASoC,IAAI,EAAA;AAErD,IAAI,IAAA,IAAA,CAAKxD,OAASC,EAAAA,cAAAA,EAAgBC,YAAc,EAAA;AAC9CqD,MAAAA,IAAAA,GAAOE,WAAKF,CAAAA,IAAAA,EAAM,IAAKvD,CAAAA,OAAAA,CAAQC,eAAeC,YAAY,CAAA;AAC5D;AAEA,IAAO,OAAA,IAAIrC,oBAAoB0F,IAAAA,CAAAA;AACjC;EAEA,MACgBlC,QAAAA,CAAS/C,UAA0BgD,MAAqB,EAAA;AACtE,IAAM,MAAA,EAAEL,MAAM,EAAA,GAAK,IAAKjB,CAAAA,OAAAA;AAExB,IAAA,MAAM+C,SAASR,2BAAgB,CAAA;AAC7BtE,MAAAA,IAAAA,EAAMK,QAASL,CAAAA,IAAAA;AACfW,MAAAA,QAAAA,EAAUN,QAASM,CAAAA,QAAAA;AACnBF,MAAAA,OAAAA,EAASJ,QAASI,CAAAA,OAAAA;MAClBgF,MAAQ,EAAA,MAAA;MACRC,KAAO,EAAA;KACT,CAAA;AACA,IAAA,MAAMvC,QAAW,GAAA,MAAM4B,KAAM,CAAA,CAAA,+CAAA,EAAkDD,MAAAA,CAAU,CAAA,EAAA;MACvFE,OAAS,EAAA;AACP,QAAA,GAAIhC,MAAU,IAAA;AACZiC,UAAAA,aAAAA,EAAe,UAAUjC,MAAAA,CAAAA;AAC3B;AACF,OAAA;AACAK,MAAAA;KACF,CAAA;AACA,IAAI,IAAA,CAACF,SAAS+B,EAAI,EAAA;AAChB,MAAA,MAAM,IAAIC,kBAAAA,CAAU,CAAwC9E,qCAAAA,EAAAA,QAAAA,CAASL,IAAI,CAAM,EAAA,CAAA,EAAA;AAC7E,QAAA,IAAIoF,KAAM,CAAA,MAAMjC,QAASkC,CAAAA,IAAAA,EAAI;AAC9B,OAAA,CAAA;AACH;AAEA,IAAA,MAAM,EAAEM,OAAAA,EAAY,GAAA,MAAMxC,SAASoC,IAAI,EAAA;AACvC,IAAA,IAAI,CAACI,OAAAA,IAAWA,OAAQC,CAAAA,MAAAA,KAAW,CAAG,EAAA;AACpC,MAAA,MAAM,IAAIT,kBAAAA,CAAU,CAAa9E,UAAAA,EAAAA,QAAAA,CAASL,IAAI,CAAkB,gBAAA,CAAA,CAAA;AAClE;AACA,IAAA,OAAO2F,QAAQ,CAAA,CAAA;AACjB;AACF","file":"openMeteo.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 {\n BaseToolOptions,\n BaseToolRunOptions,\n ToolEmitter,\n JSONToolOutput,\n Tool,\n ToolError,\n ToolInput,\n ToolInputValidationError,\n} from \"@/tools/base.js\";\nimport { z } from \"zod\";\nimport { createURLParams } from \"@/internals/fetcher.js\";\nimport { isNullish, omit, pick, pickBy } from \"remeda\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { RunContext } from \"@/context.js\";\nimport { getProp, setProp } from \"@/internals/helpers/object.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\n\nexport interface ResponseFilter {\n excludedKeys: (keyof OpenMeteoToolResponse)[];\n}\n\ninterface ToolOptions extends BaseToolOptions {\n apiKey?: string;\n responseFilter?: ResponseFilter;\n}\n\ntype ToolRunOptions = BaseToolRunOptions;\n\ninterface Location {\n latitude: number;\n longitude: number;\n}\n\ninterface LocationSearch {\n name: string;\n country?: string;\n language?: string;\n}\n\nexport interface OpenMeteoToolResponse {\n latitude?: number;\n longitude?: number;\n generationtime_ms?: number;\n utc_offset_seconds?: number;\n timezone?: string;\n timezone_abbreviation?: string;\n elevation?: number;\n current_units?: Record<string, string>;\n current?: Record<string, string>;\n hourly_units?: Record<string, string>;\n hourly?: Record<string, any[]>;\n daily_units?: Record<string, string>;\n daily?: Record<string, any[]>;\n}\n\nexport class OpenMeteoToolOutput extends JSONToolOutput<OpenMeteoToolResponse> {}\n\nexport class OpenMeteoTool extends Tool<OpenMeteoToolOutput, ToolOptions, ToolRunOptions> {\n name = \"OpenMeteo\";\n description = `Retrieve current, past, or future weather forecasts for a location.`;\n\n inputSchema() {\n return z\n .object({\n location: z.union([\n z\n .object({\n name: z.string().min(1),\n country: z.string().optional(),\n language: z.string().default(\"English\"),\n })\n .strip(),\n z\n .object({\n latitude: z.coerce.number(),\n longitude: z.coerce.number(),\n })\n .strip(),\n ]),\n start_date: z\n .string()\n .date()\n .describe(\"Start date for the weather forecast in the format YYYY-MM-DD (UTC)\"),\n end_date: z\n .string()\n .date()\n .describe(\"End date for the weather forecast in the format YYYY-MM-DD (UTC)\")\n .optional(),\n temperature_unit: z.enum([\"celsius\", \"fahrenheit\"]).default(\"celsius\"),\n })\n .strip();\n }\n\n public readonly emitter: ToolEmitter<ToolInput<this>, OpenMeteoToolOutput> = Emitter.root.child({\n namespace: [\"tool\", \"weather\", \"openMeteo\"],\n creator: this,\n });\n\n static {\n this.register();\n }\n\n public constructor(options: Partial<ToolOptions> = {}) {\n super({\n ...options,\n responseFilter: options?.responseFilter ?? {\n excludedKeys: [\n \"latitude\",\n \"longitude\",\n \"generationtime_ms\",\n \"utc_offset_seconds\",\n \"timezone\",\n \"timezone_abbreviation\",\n \"elevation\",\n \"hourly\",\n \"hourly_units\",\n ],\n },\n });\n }\n\n protected preprocessInput(rawInput: unknown) {\n super.preprocessInput(rawInput);\n\n const fixDate = (key: keyof ToolInput<this>) => {\n const value = getProp(rawInput, [key]);\n if (value) {\n setProp(rawInput, [key], value.substring(0, 10));\n }\n };\n\n fixDate(\"start_date\");\n fixDate(\"end_date\");\n }\n\n protected async _run(\n { location, start_date: startDate, end_date: endDate, ...input }: ToolInput<this>,\n _options: Partial<BaseToolRunOptions>,\n run: RunContext<this>,\n ) {\n const { apiKey } = this.options;\n\n const prepareParams = async () => {\n const extractLocation = async (): Promise<Location> => {\n if (\"name\" in location) {\n const response = await this._geocode(location, run.signal);\n return pick(response, [\"latitude\", \"longitude\"]);\n }\n return location;\n };\n\n function validateAndSetDates(\n startDateStr: string,\n endDateStr?: string,\n ): { start: Date; end: Date } {\n const now = new Date();\n const start = startDateStr\n ? new Date(startDateStr)\n : new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate()));\n\n if (endDateStr) {\n const end = new Date(endDateStr);\n if (end < start) {\n throw new ToolInputValidationError(\n `The 'end_date' (${endDateStr}) has to occur on or after the 'start_date' (${startDateStr}).`,\n );\n }\n return { start: start, end: end };\n } else {\n // If endDate is undefined, set it to the start date\n return { start: start, end: new Date(start) };\n }\n }\n\n const { start, end } = validateAndSetDates(startDate, endDate);\n\n const toDateString = (date: Date) => date.toISOString().split(\"T\")[0];\n\n return createURLParams({\n ...pickBy(input, (v) => !isNullish(v) && v !== \"\"),\n ...(await extractLocation()),\n start_date: toDateString(start),\n end_date: toDateString(end),\n current: [\"temperature_2m\", \"rain\", \"relative_humidity_2m\", \"wind_speed_10m\"],\n daily: [\"temperature_2m_max\", \"temperature_2m_min\", \"rain_sum\"],\n hourly: [\"temperature_2m\", \"relative_humidity_2m\", \"rain\"],\n timezone: \"UTC\",\n });\n };\n\n const params = await prepareParams();\n const response = await fetch(`https://api.open-meteo.com/v1/forecast?${params}`, {\n headers: {\n ...(apiKey && {\n Authorization: `Bearer ${apiKey}`,\n }),\n },\n signal: run.signal,\n });\n\n if (!response.ok) {\n throw new ToolError(\"Request to OpenMeteo API has failed!\", [\n new Error(await response.text()),\n ]);\n }\n\n let data: OpenMeteoToolResponse = await response.json();\n\n if (this.options?.responseFilter?.excludedKeys) {\n data = omit(data, this.options.responseFilter.excludedKeys);\n }\n\n return new OpenMeteoToolOutput(data);\n }\n\n @Cache()\n protected async _geocode(location: LocationSearch, signal: AbortSignal) {\n const { apiKey } = this.options;\n\n const params = createURLParams({\n name: location.name,\n language: location.language,\n country: location.country,\n format: \"json\",\n count: 1,\n });\n const response = await fetch(`https://geocoding-api.open-meteo.com/v1/search?${params}`, {\n headers: {\n ...(apiKey && {\n Authorization: `Bearer ${apiKey}`,\n }),\n },\n signal,\n });\n if (!response.ok) {\n throw new ToolError(`Failed to GeoCode provided location (${location.name}).`, [\n new Error(await response.text()),\n ]);\n }\n\n const { results } = await response.json();\n if (!results || results.length === 0) {\n throw new ToolError(`Location '${location.name}' was not found.`);\n }\n return results[0];\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["openMeteo.ts"],"names":["OpenMeteoToolOutput","JSONToolOutput","OpenMeteoTool","Tool","name","description","inputSchema","z","object","location","union","string","min","country","optional","language","default","strip","latitude","coerce","number","longitude","start_date","date","describe","end_date","temperature_unit","enum","emitter","Emitter","root","child","namespace","creator","register","options","responseFilter","excludedKeys","preprocessInput","rawInput","fixDate","key","value","getProp","setProp","substring","_run","startDate","endDate","input","_options","run","apiKey","prepareParams","extractLocation","response","_geocode","signal","pick","validateAndSetDates","startDateStr","endDateStr","now","Date","start","UTC","getFullYear","getMonth","getDate","end","ToolInputValidationError","toDateString","toISOString","split","createURLParams","pickBy","v","isNullish","current","daily","hourly","timezone","params","fetch","headers","Authorization","ok","ToolError","Error","text","data","json","omit","format","count","results","length"],"mappings":"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","file":"openMeteo.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\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 {\n BaseToolOptions,\n BaseToolRunOptions,\n ToolEmitter,\n JSONToolOutput,\n Tool,\n ToolError,\n ToolInput,\n ToolInputValidationError,\n} from \"@/tools/base.js\";\nimport { z } from \"zod\";\nimport { createURLParams } from \"@/internals/fetcher.js\";\nimport { isNullish, omit, pick, pickBy } from \"remeda\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { RunContext } from \"@/context.js\";\nimport { getProp, setProp } from \"@/internals/helpers/object.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\n\nexport interface ResponseFilter {\n excludedKeys: (keyof OpenMeteoToolResponse)[];\n}\n\ninterface ToolOptions extends BaseToolOptions {\n apiKey?: string;\n responseFilter?: ResponseFilter;\n}\n\ntype ToolRunOptions = BaseToolRunOptions;\n\ninterface Location {\n latitude: number;\n longitude: number;\n}\n\ninterface LocationSearch {\n name: string;\n country?: string;\n language?: string;\n}\n\nexport interface OpenMeteoToolResponse {\n latitude?: number;\n longitude?: number;\n generationtime_ms?: number;\n utc_offset_seconds?: number;\n timezone?: string;\n timezone_abbreviation?: string;\n elevation?: number;\n current_units?: Record<string, string>;\n current?: Record<string, string>;\n hourly_units?: Record<string, string>;\n hourly?: Record<string, any[]>;\n daily_units?: Record<string, string>;\n daily?: Record<string, any[]>;\n}\n\nexport class OpenMeteoToolOutput extends JSONToolOutput<OpenMeteoToolResponse> {}\n\nexport class OpenMeteoTool extends Tool<OpenMeteoToolOutput, ToolOptions, ToolRunOptions> {\n name = \"OpenMeteo\";\n description = `Retrieve current, past, or future weather forecasts for a location.`;\n\n inputSchema() {\n return z\n .object({\n location: z.union([\n z\n .object({\n name: z.string().min(1),\n country: z.string().optional(),\n language: z.string().default(\"English\"),\n })\n .strip(),\n z\n .object({\n latitude: z.coerce.number(),\n longitude: z.coerce.number(),\n })\n .strip(),\n ]),\n start_date: z\n .string()\n .date()\n .describe(\"Start date for the weather forecast in the format YYYY-MM-DD (UTC)\"),\n end_date: z\n .string()\n .date()\n .describe(\"End date for the weather forecast in the format YYYY-MM-DD (UTC)\")\n .optional(),\n temperature_unit: z.enum([\"celsius\", \"fahrenheit\"]).default(\"celsius\"),\n })\n .strip();\n }\n\n public readonly emitter: ToolEmitter<ToolInput<this>, OpenMeteoToolOutput> = Emitter.root.child({\n namespace: [\"tool\", \"weather\", \"openMeteo\"],\n creator: this,\n });\n\n static {\n this.register();\n }\n\n public constructor(options: Partial<ToolOptions> = {}) {\n super({\n ...options,\n responseFilter: options?.responseFilter ?? {\n excludedKeys: [\n \"latitude\",\n \"longitude\",\n \"generationtime_ms\",\n \"utc_offset_seconds\",\n \"timezone\",\n \"timezone_abbreviation\",\n \"elevation\",\n \"hourly\",\n \"hourly_units\",\n ],\n },\n });\n }\n\n protected preprocessInput(rawInput: unknown) {\n super.preprocessInput(rawInput);\n\n const fixDate = (key: keyof ToolInput<this>) => {\n const value = getProp(rawInput, [key]);\n if (value) {\n setProp(rawInput, [key], value.substring(0, 10));\n }\n };\n\n fixDate(\"start_date\");\n fixDate(\"end_date\");\n }\n\n protected async _run(\n { location, start_date: startDate, end_date: endDate, ...input }: ToolInput<this>,\n _options: Partial<BaseToolRunOptions>,\n run: RunContext<this>,\n ) {\n const { apiKey } = this.options;\n\n const prepareParams = async () => {\n const extractLocation = async (): Promise<Location> => {\n if (\"name\" in location) {\n const response = await this._geocode(location, run.signal);\n return pick(response, [\"latitude\", \"longitude\"]);\n }\n return location;\n };\n\n function validateAndSetDates(\n startDateStr: string,\n endDateStr?: string,\n ): { start: Date; end: Date } {\n const now = new Date();\n const start = startDateStr\n ? new Date(startDateStr)\n : new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate()));\n\n if (endDateStr) {\n const end = new Date(endDateStr);\n if (end < start) {\n throw new ToolInputValidationError(\n `The 'end_date' (${endDateStr}) has to occur on or after the 'start_date' (${startDateStr}).`,\n );\n }\n return { start: start, end: end };\n } else {\n // If endDate is undefined, set it to the start date\n return { start: start, end: new Date(start) };\n }\n }\n\n const { start, end } = validateAndSetDates(startDate, endDate);\n\n const toDateString = (date: Date) => date.toISOString().split(\"T\")[0];\n\n return createURLParams({\n ...pickBy(input, (v) => !isNullish(v) && v !== \"\"),\n ...(await extractLocation()),\n start_date: toDateString(start),\n end_date: toDateString(end),\n current: [\"temperature_2m\", \"rain\", \"relative_humidity_2m\", \"wind_speed_10m\"],\n daily: [\"temperature_2m_max\", \"temperature_2m_min\", \"rain_sum\"],\n hourly: [\"temperature_2m\", \"relative_humidity_2m\", \"rain\"],\n timezone: \"UTC\",\n });\n };\n\n const params = await prepareParams();\n const response = await fetch(`https://api.open-meteo.com/v1/forecast?${params}`, {\n headers: {\n ...(apiKey && {\n Authorization: `Bearer ${apiKey}`,\n }),\n },\n signal: run.signal,\n });\n\n if (!response.ok) {\n throw new ToolError(\"Request to OpenMeteo API has failed!\", [\n new Error(await response.text()),\n ]);\n }\n\n let data: OpenMeteoToolResponse = await response.json();\n\n if (this.options?.responseFilter?.excludedKeys) {\n data = omit(data, this.options.responseFilter.excludedKeys);\n }\n\n return new OpenMeteoToolOutput(data);\n }\n\n @Cache()\n protected async _geocode(location: LocationSearch, signal: AbortSignal) {\n const { apiKey } = this.options;\n\n const params = createURLParams({\n name: location.name,\n language: location.language,\n country: location.country,\n format: \"json\",\n count: 1,\n });\n const response = await fetch(`https://geocoding-api.open-meteo.com/v1/search?${params}`, {\n headers: {\n ...(apiKey && {\n Authorization: `Bearer ${apiKey}`,\n }),\n },\n signal,\n });\n if (!response.ok) {\n throw new ToolError(`Failed to GeoCode provided location (${location.name}).`, [\n new Error(await response.text()),\n ]);\n }\n\n const { results } = await response.json();\n if (!results || results.length === 0) {\n throw new ToolError(`Location '${location.name}' was not found.`);\n }\n return results[0];\n }\n}\n"]}
|
|
@@ -10,11 +10,11 @@ import 'promise-based-task';
|
|
|
10
10
|
import '../../cache/base.cjs';
|
|
11
11
|
import '../../internals/helpers/schema.cjs';
|
|
12
12
|
import 'zod-to-json-schema';
|
|
13
|
-
import '../../emitter-
|
|
13
|
+
import '../../emitter-BTr99H7I.cjs';
|
|
14
14
|
import '../../internals/helpers/promise.cjs';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
* Copyright 2025
|
|
17
|
+
* Copyright 2025 © BeeAI a Series of LF Projects, LLC
|
|
18
18
|
*
|
|
19
19
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
20
20
|
* you may not use this file except in compliance with the License.
|
|
@@ -10,11 +10,11 @@ import 'promise-based-task';
|
|
|
10
10
|
import '../../cache/base.js';
|
|
11
11
|
import '../../internals/helpers/schema.js';
|
|
12
12
|
import 'zod-to-json-schema';
|
|
13
|
-
import '../../emitter-
|
|
13
|
+
import '../../emitter-DiGmS_5O.js';
|
|
14
14
|
import '../../internals/helpers/promise.js';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
* Copyright 2025
|
|
17
|
+
* Copyright 2025 © BeeAI a Series of LF Projects, LLC
|
|
18
18
|
*
|
|
19
19
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
20
20
|
* you may not use this file except in compliance with the License.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["openMeteo.ts"],"names":["OpenMeteoToolOutput","JSONToolOutput","OpenMeteoTool","Tool","name","description","inputSchema","z","object","location","union","string","min","country","optional","language","default","strip","latitude","coerce","number","longitude","start_date","date","describe","end_date","temperature_unit","enum","emitter","Emitter","root","child","namespace","creator","register","options","responseFilter","excludedKeys","preprocessInput","rawInput","fixDate","key","value","getProp","setProp","substring","_run","startDate","endDate","input","_options","run","apiKey","prepareParams","extractLocation","response","_geocode","signal","pick","validateAndSetDates","startDateStr","endDateStr","now","Date","start","UTC","getFullYear","getMonth","getDate","end","ToolInputValidationError","toDateString","toISOString","split","createURLParams","pickBy","v","isNullish","current","daily","hourly","timezone","params","fetch","headers","Authorization","ok","ToolError","Error","text","data","json","omit","format","count","results","length"],"mappings":"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","file":"openMeteo.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 {\n BaseToolOptions,\n BaseToolRunOptions,\n ToolEmitter,\n JSONToolOutput,\n Tool,\n ToolError,\n ToolInput,\n ToolInputValidationError,\n} from \"@/tools/base.js\";\nimport { z } from \"zod\";\nimport { createURLParams } from \"@/internals/fetcher.js\";\nimport { isNullish, omit, pick, pickBy } from \"remeda\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { RunContext } from \"@/context.js\";\nimport { getProp, setProp } from \"@/internals/helpers/object.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\n\nexport interface ResponseFilter {\n excludedKeys: (keyof OpenMeteoToolResponse)[];\n}\n\ninterface ToolOptions extends BaseToolOptions {\n apiKey?: string;\n responseFilter?: ResponseFilter;\n}\n\ntype ToolRunOptions = BaseToolRunOptions;\n\ninterface Location {\n latitude: number;\n longitude: number;\n}\n\ninterface LocationSearch {\n name: string;\n country?: string;\n language?: string;\n}\n\nexport interface OpenMeteoToolResponse {\n latitude?: number;\n longitude?: number;\n generationtime_ms?: number;\n utc_offset_seconds?: number;\n timezone?: string;\n timezone_abbreviation?: string;\n elevation?: number;\n current_units?: Record<string, string>;\n current?: Record<string, string>;\n hourly_units?: Record<string, string>;\n hourly?: Record<string, any[]>;\n daily_units?: Record<string, string>;\n daily?: Record<string, any[]>;\n}\n\nexport class OpenMeteoToolOutput extends JSONToolOutput<OpenMeteoToolResponse> {}\n\nexport class OpenMeteoTool extends Tool<OpenMeteoToolOutput, ToolOptions, ToolRunOptions> {\n name = \"OpenMeteo\";\n description = `Retrieve current, past, or future weather forecasts for a location.`;\n\n inputSchema() {\n return z\n .object({\n location: z.union([\n z\n .object({\n name: z.string().min(1),\n country: z.string().optional(),\n language: z.string().default(\"English\"),\n })\n .strip(),\n z\n .object({\n latitude: z.coerce.number(),\n longitude: z.coerce.number(),\n })\n .strip(),\n ]),\n start_date: z\n .string()\n .date()\n .describe(\"Start date for the weather forecast in the format YYYY-MM-DD (UTC)\"),\n end_date: z\n .string()\n .date()\n .describe(\"End date for the weather forecast in the format YYYY-MM-DD (UTC)\")\n .optional(),\n temperature_unit: z.enum([\"celsius\", \"fahrenheit\"]).default(\"celsius\"),\n })\n .strip();\n }\n\n public readonly emitter: ToolEmitter<ToolInput<this>, OpenMeteoToolOutput> = Emitter.root.child({\n namespace: [\"tool\", \"weather\", \"openMeteo\"],\n creator: this,\n });\n\n static {\n this.register();\n }\n\n public constructor(options: Partial<ToolOptions> = {}) {\n super({\n ...options,\n responseFilter: options?.responseFilter ?? {\n excludedKeys: [\n \"latitude\",\n \"longitude\",\n \"generationtime_ms\",\n \"utc_offset_seconds\",\n \"timezone\",\n \"timezone_abbreviation\",\n \"elevation\",\n \"hourly\",\n \"hourly_units\",\n ],\n },\n });\n }\n\n protected preprocessInput(rawInput: unknown) {\n super.preprocessInput(rawInput);\n\n const fixDate = (key: keyof ToolInput<this>) => {\n const value = getProp(rawInput, [key]);\n if (value) {\n setProp(rawInput, [key], value.substring(0, 10));\n }\n };\n\n fixDate(\"start_date\");\n fixDate(\"end_date\");\n }\n\n protected async _run(\n { location, start_date: startDate, end_date: endDate, ...input }: ToolInput<this>,\n _options: Partial<BaseToolRunOptions>,\n run: RunContext<this>,\n ) {\n const { apiKey } = this.options;\n\n const prepareParams = async () => {\n const extractLocation = async (): Promise<Location> => {\n if (\"name\" in location) {\n const response = await this._geocode(location, run.signal);\n return pick(response, [\"latitude\", \"longitude\"]);\n }\n return location;\n };\n\n function validateAndSetDates(\n startDateStr: string,\n endDateStr?: string,\n ): { start: Date; end: Date } {\n const now = new Date();\n const start = startDateStr\n ? new Date(startDateStr)\n : new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate()));\n\n if (endDateStr) {\n const end = new Date(endDateStr);\n if (end < start) {\n throw new ToolInputValidationError(\n `The 'end_date' (${endDateStr}) has to occur on or after the 'start_date' (${startDateStr}).`,\n );\n }\n return { start: start, end: end };\n } else {\n // If endDate is undefined, set it to the start date\n return { start: start, end: new Date(start) };\n }\n }\n\n const { start, end } = validateAndSetDates(startDate, endDate);\n\n const toDateString = (date: Date) => date.toISOString().split(\"T\")[0];\n\n return createURLParams({\n ...pickBy(input, (v) => !isNullish(v) && v !== \"\"),\n ...(await extractLocation()),\n start_date: toDateString(start),\n end_date: toDateString(end),\n current: [\"temperature_2m\", \"rain\", \"relative_humidity_2m\", \"wind_speed_10m\"],\n daily: [\"temperature_2m_max\", \"temperature_2m_min\", \"rain_sum\"],\n hourly: [\"temperature_2m\", \"relative_humidity_2m\", \"rain\"],\n timezone: \"UTC\",\n });\n };\n\n const params = await prepareParams();\n const response = await fetch(`https://api.open-meteo.com/v1/forecast?${params}`, {\n headers: {\n ...(apiKey && {\n Authorization: `Bearer ${apiKey}`,\n }),\n },\n signal: run.signal,\n });\n\n if (!response.ok) {\n throw new ToolError(\"Request to OpenMeteo API has failed!\", [\n new Error(await response.text()),\n ]);\n }\n\n let data: OpenMeteoToolResponse = await response.json();\n\n if (this.options?.responseFilter?.excludedKeys) {\n data = omit(data, this.options.responseFilter.excludedKeys);\n }\n\n return new OpenMeteoToolOutput(data);\n }\n\n @Cache()\n protected async _geocode(location: LocationSearch, signal: AbortSignal) {\n const { apiKey } = this.options;\n\n const params = createURLParams({\n name: location.name,\n language: location.language,\n country: location.country,\n format: \"json\",\n count: 1,\n });\n const response = await fetch(`https://geocoding-api.open-meteo.com/v1/search?${params}`, {\n headers: {\n ...(apiKey && {\n Authorization: `Bearer ${apiKey}`,\n }),\n },\n signal,\n });\n if (!response.ok) {\n throw new ToolError(`Failed to GeoCode provided location (${location.name}).`, [\n new Error(await response.text()),\n ]);\n }\n\n const { results } = await response.json();\n if (!results || results.length === 0) {\n throw new ToolError(`Location '${location.name}' was not found.`);\n }\n return results[0];\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["openMeteo.ts"],"names":["OpenMeteoToolOutput","JSONToolOutput","OpenMeteoTool","Tool","name","description","inputSchema","z","object","location","union","string","min","country","optional","language","default","strip","latitude","coerce","number","longitude","start_date","date","describe","end_date","temperature_unit","enum","emitter","Emitter","root","child","namespace","creator","register","options","responseFilter","excludedKeys","preprocessInput","rawInput","fixDate","key","value","getProp","setProp","substring","_run","startDate","endDate","input","_options","run","apiKey","prepareParams","extractLocation","response","_geocode","signal","pick","validateAndSetDates","startDateStr","endDateStr","now","Date","start","UTC","getFullYear","getMonth","getDate","end","ToolInputValidationError","toDateString","toISOString","split","createURLParams","pickBy","v","isNullish","current","daily","hourly","timezone","params","fetch","headers","Authorization","ok","ToolError","Error","text","data","json","omit","format","count","results","length"],"mappings":"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","file":"openMeteo.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\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 {\n BaseToolOptions,\n BaseToolRunOptions,\n ToolEmitter,\n JSONToolOutput,\n Tool,\n ToolError,\n ToolInput,\n ToolInputValidationError,\n} from \"@/tools/base.js\";\nimport { z } from \"zod\";\nimport { createURLParams } from \"@/internals/fetcher.js\";\nimport { isNullish, omit, pick, pickBy } from \"remeda\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { RunContext } from \"@/context.js\";\nimport { getProp, setProp } from \"@/internals/helpers/object.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\n\nexport interface ResponseFilter {\n excludedKeys: (keyof OpenMeteoToolResponse)[];\n}\n\ninterface ToolOptions extends BaseToolOptions {\n apiKey?: string;\n responseFilter?: ResponseFilter;\n}\n\ntype ToolRunOptions = BaseToolRunOptions;\n\ninterface Location {\n latitude: number;\n longitude: number;\n}\n\ninterface LocationSearch {\n name: string;\n country?: string;\n language?: string;\n}\n\nexport interface OpenMeteoToolResponse {\n latitude?: number;\n longitude?: number;\n generationtime_ms?: number;\n utc_offset_seconds?: number;\n timezone?: string;\n timezone_abbreviation?: string;\n elevation?: number;\n current_units?: Record<string, string>;\n current?: Record<string, string>;\n hourly_units?: Record<string, string>;\n hourly?: Record<string, any[]>;\n daily_units?: Record<string, string>;\n daily?: Record<string, any[]>;\n}\n\nexport class OpenMeteoToolOutput extends JSONToolOutput<OpenMeteoToolResponse> {}\n\nexport class OpenMeteoTool extends Tool<OpenMeteoToolOutput, ToolOptions, ToolRunOptions> {\n name = \"OpenMeteo\";\n description = `Retrieve current, past, or future weather forecasts for a location.`;\n\n inputSchema() {\n return z\n .object({\n location: z.union([\n z\n .object({\n name: z.string().min(1),\n country: z.string().optional(),\n language: z.string().default(\"English\"),\n })\n .strip(),\n z\n .object({\n latitude: z.coerce.number(),\n longitude: z.coerce.number(),\n })\n .strip(),\n ]),\n start_date: z\n .string()\n .date()\n .describe(\"Start date for the weather forecast in the format YYYY-MM-DD (UTC)\"),\n end_date: z\n .string()\n .date()\n .describe(\"End date for the weather forecast in the format YYYY-MM-DD (UTC)\")\n .optional(),\n temperature_unit: z.enum([\"celsius\", \"fahrenheit\"]).default(\"celsius\"),\n })\n .strip();\n }\n\n public readonly emitter: ToolEmitter<ToolInput<this>, OpenMeteoToolOutput> = Emitter.root.child({\n namespace: [\"tool\", \"weather\", \"openMeteo\"],\n creator: this,\n });\n\n static {\n this.register();\n }\n\n public constructor(options: Partial<ToolOptions> = {}) {\n super({\n ...options,\n responseFilter: options?.responseFilter ?? {\n excludedKeys: [\n \"latitude\",\n \"longitude\",\n \"generationtime_ms\",\n \"utc_offset_seconds\",\n \"timezone\",\n \"timezone_abbreviation\",\n \"elevation\",\n \"hourly\",\n \"hourly_units\",\n ],\n },\n });\n }\n\n protected preprocessInput(rawInput: unknown) {\n super.preprocessInput(rawInput);\n\n const fixDate = (key: keyof ToolInput<this>) => {\n const value = getProp(rawInput, [key]);\n if (value) {\n setProp(rawInput, [key], value.substring(0, 10));\n }\n };\n\n fixDate(\"start_date\");\n fixDate(\"end_date\");\n }\n\n protected async _run(\n { location, start_date: startDate, end_date: endDate, ...input }: ToolInput<this>,\n _options: Partial<BaseToolRunOptions>,\n run: RunContext<this>,\n ) {\n const { apiKey } = this.options;\n\n const prepareParams = async () => {\n const extractLocation = async (): Promise<Location> => {\n if (\"name\" in location) {\n const response = await this._geocode(location, run.signal);\n return pick(response, [\"latitude\", \"longitude\"]);\n }\n return location;\n };\n\n function validateAndSetDates(\n startDateStr: string,\n endDateStr?: string,\n ): { start: Date; end: Date } {\n const now = new Date();\n const start = startDateStr\n ? new Date(startDateStr)\n : new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate()));\n\n if (endDateStr) {\n const end = new Date(endDateStr);\n if (end < start) {\n throw new ToolInputValidationError(\n `The 'end_date' (${endDateStr}) has to occur on or after the 'start_date' (${startDateStr}).`,\n );\n }\n return { start: start, end: end };\n } else {\n // If endDate is undefined, set it to the start date\n return { start: start, end: new Date(start) };\n }\n }\n\n const { start, end } = validateAndSetDates(startDate, endDate);\n\n const toDateString = (date: Date) => date.toISOString().split(\"T\")[0];\n\n return createURLParams({\n ...pickBy(input, (v) => !isNullish(v) && v !== \"\"),\n ...(await extractLocation()),\n start_date: toDateString(start),\n end_date: toDateString(end),\n current: [\"temperature_2m\", \"rain\", \"relative_humidity_2m\", \"wind_speed_10m\"],\n daily: [\"temperature_2m_max\", \"temperature_2m_min\", \"rain_sum\"],\n hourly: [\"temperature_2m\", \"relative_humidity_2m\", \"rain\"],\n timezone: \"UTC\",\n });\n };\n\n const params = await prepareParams();\n const response = await fetch(`https://api.open-meteo.com/v1/forecast?${params}`, {\n headers: {\n ...(apiKey && {\n Authorization: `Bearer ${apiKey}`,\n }),\n },\n signal: run.signal,\n });\n\n if (!response.ok) {\n throw new ToolError(\"Request to OpenMeteo API has failed!\", [\n new Error(await response.text()),\n ]);\n }\n\n let data: OpenMeteoToolResponse = await response.json();\n\n if (this.options?.responseFilter?.excludedKeys) {\n data = omit(data, this.options.responseFilter.excludedKeys);\n }\n\n return new OpenMeteoToolOutput(data);\n }\n\n @Cache()\n protected async _geocode(location: LocationSearch, signal: AbortSignal) {\n const { apiKey } = this.options;\n\n const params = createURLParams({\n name: location.name,\n language: location.language,\n country: location.country,\n format: \"json\",\n count: 1,\n });\n const response = await fetch(`https://geocoding-api.open-meteo.com/v1/search?${params}`, {\n headers: {\n ...(apiKey && {\n Authorization: `Bearer ${apiKey}`,\n }),\n },\n signal,\n });\n if (!response.ok) {\n throw new ToolError(`Failed to GeoCode provided location (${location.name}).`, [\n new Error(await response.text()),\n ]);\n }\n\n const { results } = await response.json();\n if (!results || results.length === 0) {\n throw new ToolError(`Location '${location.name}' was not found.`);\n }\n return results[0];\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webCrawler.ts"],"names":["WebCrawlerToolOutput","JSONToolOutput","getTextContent","result","url","statusCode","statusText","contentType","content","join","defaultParser","response","text","headers","get","includes","stripHtml","WebCrawlerTool","Tool","name","description","inputSchema","z","object","string","describe","client","parser","emitter","Emitter","root","child","namespace","creator","constructor","options","fetch","_run","_options","run","redirect","request","signal","status","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":"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","file":"webCrawler.cjs","sourcesContent":["/**\n * Copyright 2025
|
|
1
|
+
{"version":3,"sources":["webCrawler.ts"],"names":["WebCrawlerToolOutput","JSONToolOutput","getTextContent","result","url","statusCode","statusText","contentType","content","join","defaultParser","response","text","headers","get","includes","stripHtml","WebCrawlerTool","Tool","name","description","inputSchema","z","object","string","describe","client","parser","emitter","Emitter","root","child","namespace","creator","constructor","options","fetch","_run","_options","run","redirect","request","signal","status","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":"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","file":"webCrawler.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\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 {\n BaseToolOptions,\n BaseToolRunOptions,\n ToolEmitter,\n JSONToolOutput,\n Tool,\n ToolInput,\n} from \"@/tools/base.js\";\nimport { z } from \"zod\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { stripHtml } from \"string-strip-html\";\nimport { RunContext } from \"@/context.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\n\ninterface CrawlerOutput {\n url: string;\n statusCode: number;\n statusText: string;\n contentType: string;\n content: string;\n}\n\nexport class WebCrawlerToolOutput extends JSONToolOutput<CrawlerOutput> {\n @Cache()\n getTextContent(): string {\n return [\n `URL: ${this.result.url}`,\n `STATUS: ${this.result.statusCode} (${this.result.statusText})`,\n `CONTENT-TYPE: ${this.result.contentType}`,\n `CONTENT: ${this.result.content}`,\n ].join(\"\\n\");\n }\n}\n\nexport type HttpClient = (url: string, options?: RequestInit) => Promise<HttpClientResponse>;\ninterface HttpClientResponse {\n status: number;\n statusText: string;\n headers: Headers;\n text(): Promise<string>;\n}\n\ntype Parser = (response: HttpClientResponse) => Promise<string>;\ninterface WebsiteCrawlerToolOptions extends BaseToolOptions {\n client?: HttpClient;\n parser?: Parser;\n request?: RequestInit;\n}\n\nasync function defaultParser(response: HttpClientResponse) {\n const text = await response.text();\n if (text) {\n const contentType = response.headers.get(\"content-type\") ?? \"\";\n if (contentType.includes(\"text/html\")) {\n return stripHtml(text).result;\n }\n }\n return text || \"No Content\";\n}\n\nexport class WebCrawlerTool extends Tool<WebCrawlerToolOutput, WebsiteCrawlerToolOptions> {\n name = \"WebCrawler\";\n description = `Retrieves content of an arbitrary website.`;\n inputSchema() {\n return z.object({\n url: z.string().url().describe(\"Website URL\"),\n });\n }\n\n protected client: HttpClient;\n protected parser: Parser;\n\n public readonly emitter: ToolEmitter<ToolInput<this>, WebCrawlerToolOutput> = Emitter.root.child({\n namespace: [\"tool\", \"webCrawler\"],\n creator: this,\n });\n\n constructor({ client, parser, ...options }: WebsiteCrawlerToolOptions = {}) {\n super(options);\n this.client = client ?? fetch;\n this.parser = parser ?? defaultParser;\n }\n\n protected async _run(\n { url }: ToolInput<this>,\n _options: Partial<BaseToolRunOptions>,\n run: RunContext<this>,\n ) {\n const response = await this.client(url, {\n redirect: \"follow\",\n ...this.options.request,\n signal: run.signal,\n });\n\n const content = await this.parser(response);\n return new WebCrawlerToolOutput({\n url,\n statusCode: response.status,\n statusText: response.statusText,\n contentType: response.headers.get(\"content-type\") ?? \"unknown\",\n content,\n });\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n client: this.client,\n parser: this.parser,\n };\n }\n\n loadSnapshot({ client, parser, ...snapshot }: ReturnType<typeof this.createSnapshot>) {\n super.loadSnapshot(snapshot);\n Object.assign(this, {\n client: client ?? fetch,\n parser: parser ?? defaultParser,\n });\n }\n}\n"]}
|
|
@@ -3,7 +3,7 @@ import * as promise_based_task from 'promise-based-task';
|
|
|
3
3
|
import { JSONToolOutput, Tool, BaseToolOptions, ToolEmitter, ToolInput, BaseToolRunOptions } from '../base.cjs';
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { RunContext } from '../../context.cjs';
|
|
6
|
-
import { E as Emitter } from '../../emitter-
|
|
6
|
+
import { E as Emitter } from '../../emitter-BTr99H7I.cjs';
|
|
7
7
|
import '../../internals/serializable.cjs';
|
|
8
8
|
import '../../internals/types.cjs';
|
|
9
9
|
import '../../internals/helpers/guards.cjs';
|
|
@@ -3,7 +3,7 @@ import * as promise_based_task from 'promise-based-task';
|
|
|
3
3
|
import { JSONToolOutput, Tool, BaseToolOptions, ToolEmitter, ToolInput, BaseToolRunOptions } from '../base.js';
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { RunContext } from '../../context.js';
|
|
6
|
-
import { E as Emitter } from '../../emitter-
|
|
6
|
+
import { E as Emitter } from '../../emitter-DiGmS_5O.js';
|
|
7
7
|
import '../../internals/serializable.js';
|
|
8
8
|
import '../../internals/types.js';
|
|
9
9
|
import '../../internals/helpers/guards.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webCrawler.ts"],"names":["WebCrawlerToolOutput","JSONToolOutput","getTextContent","result","url","statusCode","statusText","contentType","content","join","defaultParser","response","text","headers","get","includes","stripHtml","WebCrawlerTool","Tool","name","description","inputSchema","z","object","string","describe","client","parser","emitter","Emitter","root","child","namespace","creator","constructor","options","fetch","_run","_options","run","redirect","request","signal","status","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":"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","file":"webCrawler.js","sourcesContent":["/**\n * Copyright 2025
|
|
1
|
+
{"version":3,"sources":["webCrawler.ts"],"names":["WebCrawlerToolOutput","JSONToolOutput","getTextContent","result","url","statusCode","statusText","contentType","content","join","defaultParser","response","text","headers","get","includes","stripHtml","WebCrawlerTool","Tool","name","description","inputSchema","z","object","string","describe","client","parser","emitter","Emitter","root","child","namespace","creator","constructor","options","fetch","_run","_options","run","redirect","request","signal","status","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":"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","file":"webCrawler.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\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 {\n BaseToolOptions,\n BaseToolRunOptions,\n ToolEmitter,\n JSONToolOutput,\n Tool,\n ToolInput,\n} from \"@/tools/base.js\";\nimport { z } from \"zod\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { stripHtml } from \"string-strip-html\";\nimport { RunContext } from \"@/context.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\n\ninterface CrawlerOutput {\n url: string;\n statusCode: number;\n statusText: string;\n contentType: string;\n content: string;\n}\n\nexport class WebCrawlerToolOutput extends JSONToolOutput<CrawlerOutput> {\n @Cache()\n getTextContent(): string {\n return [\n `URL: ${this.result.url}`,\n `STATUS: ${this.result.statusCode} (${this.result.statusText})`,\n `CONTENT-TYPE: ${this.result.contentType}`,\n `CONTENT: ${this.result.content}`,\n ].join(\"\\n\");\n }\n}\n\nexport type HttpClient = (url: string, options?: RequestInit) => Promise<HttpClientResponse>;\ninterface HttpClientResponse {\n status: number;\n statusText: string;\n headers: Headers;\n text(): Promise<string>;\n}\n\ntype Parser = (response: HttpClientResponse) => Promise<string>;\ninterface WebsiteCrawlerToolOptions extends BaseToolOptions {\n client?: HttpClient;\n parser?: Parser;\n request?: RequestInit;\n}\n\nasync function defaultParser(response: HttpClientResponse) {\n const text = await response.text();\n if (text) {\n const contentType = response.headers.get(\"content-type\") ?? \"\";\n if (contentType.includes(\"text/html\")) {\n return stripHtml(text).result;\n }\n }\n return text || \"No Content\";\n}\n\nexport class WebCrawlerTool extends Tool<WebCrawlerToolOutput, WebsiteCrawlerToolOptions> {\n name = \"WebCrawler\";\n description = `Retrieves content of an arbitrary website.`;\n inputSchema() {\n return z.object({\n url: z.string().url().describe(\"Website URL\"),\n });\n }\n\n protected client: HttpClient;\n protected parser: Parser;\n\n public readonly emitter: ToolEmitter<ToolInput<this>, WebCrawlerToolOutput> = Emitter.root.child({\n namespace: [\"tool\", \"webCrawler\"],\n creator: this,\n });\n\n constructor({ client, parser, ...options }: WebsiteCrawlerToolOptions = {}) {\n super(options);\n this.client = client ?? fetch;\n this.parser = parser ?? defaultParser;\n }\n\n protected async _run(\n { url }: ToolInput<this>,\n _options: Partial<BaseToolRunOptions>,\n run: RunContext<this>,\n ) {\n const response = await this.client(url, {\n redirect: \"follow\",\n ...this.options.request,\n signal: run.signal,\n });\n\n const content = await this.parser(response);\n return new WebCrawlerToolOutput({\n url,\n statusCode: response.status,\n statusText: response.statusText,\n contentType: response.headers.get(\"content-type\") ?? \"unknown\",\n content,\n });\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n client: this.client,\n parser: this.parser,\n };\n }\n\n loadSnapshot({ client, parser, ...snapshot }: ReturnType<typeof this.createSnapshot>) {\n super.loadSnapshot(snapshot);\n Object.assign(this, {\n client: client ?? fetch,\n parser: parser ?? defaultParser,\n });\n }\n}\n"]}
|
package/dist/version.cjs
CHANGED
package/dist/version.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["version.ts"],"names":["Version","__LIBRARY_VERSION"],"mappings":";;AAkBIA,eAAU,GAAA;AACd,IAAI;AACFA,EAAUC,eAAAA,GAAAA,QAAAA;AACZ,CAAQ,CAAA,MAAA;AAER","file":"version.cjs","sourcesContent":["/**\n * Copyright 2025
|
|
1
|
+
{"version":3,"sources":["version.ts"],"names":["Version","__LIBRARY_VERSION"],"mappings":";;AAkBIA,eAAU,GAAA;AACd,IAAI;AACFA,EAAUC,eAAAA,GAAAA,QAAAA;AACZ,CAAQ,CAAA,MAAA;AAER","file":"version.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\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\ndeclare const __LIBRARY_VERSION: string;\n\nlet Version = \"0.0.0\";\ntry {\n Version = __LIBRARY_VERSION;\n} catch {\n /* empty */\n}\n\nexport { Version };\n"]}
|
package/dist/version.d.cts
CHANGED
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/dist/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["version.ts"],"names":["Version","__LIBRARY_VERSION"],"mappings":"AAkBA,IAAIA,OAAU,GAAA;AACd,IAAI;AACFA,EAAUC,OAAAA,GAAAA,QAAAA;AACZ,CAAQ,CAAA,MAAA;AAER","file":"version.js","sourcesContent":["/**\n * Copyright 2025
|
|
1
|
+
{"version":3,"sources":["version.ts"],"names":["Version","__LIBRARY_VERSION"],"mappings":"AAkBA,IAAIA,OAAU,GAAA;AACd,IAAI;AACFA,EAAUC,OAAAA,GAAAA,QAAAA;AACZ,CAAQ,CAAA,MAAA;AAER","file":"version.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\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\ndeclare const __LIBRARY_VERSION: string;\n\nlet Version = \"0.0.0\";\ntry {\n Version = __LIBRARY_VERSION;\n} catch {\n /* empty */\n}\n\nexport { Version };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["agent.ts"],"names":["AgentWorkflow","workflow","schema","z","object","inputs","array","prompt","string","optional","context","expectedOutput","union","instanceof","ZodSchema","finalAnswer","newMessages","Message","default","constructor","name","Workflow","outputSchema","required","run","options","map","input","text","addAgent","agent","BaseAgent","clone","then","factory","memory","_add","meta","randomString","isFunction","_createFactory","delAgent","delStep","ToolCallingAgent","llm","tools","description","instructions","execution","templates","system","template","fork","config","defaults","role","addStep","state","ctx","UnconstrainedMemory","addMany","runInput","shift","undefined","asReadOnly","result","signal","push","UserMessage"],"mappings":"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","file":"agent.cjs","sourcesContent":["/**\n * Copyright 2025
|
|
1
|
+
{"version":3,"sources":["agent.ts"],"names":["AgentWorkflow","workflow","schema","z","object","inputs","array","prompt","string","optional","context","expectedOutput","union","instanceof","ZodSchema","finalAnswer","newMessages","Message","default","constructor","name","Workflow","outputSchema","required","run","options","map","input","text","addAgent","agent","BaseAgent","clone","then","factory","memory","_add","meta","randomString","isFunction","_createFactory","delAgent","delStep","ToolCallingAgent","llm","tools","description","instructions","execution","templates","system","template","fork","config","defaults","role","addStep","state","ctx","UnconstrainedMemory","addMany","runInput","shift","undefined","asReadOnly","result","signal","push","UserMessage"],"mappings":"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","file":"agent.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\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 { Workflow, WorkflowRunOptions } from \"@/workflows/workflow.js\";\nimport { Message, UserMessage } from \"@/backend/message.js\";\nimport { AnyTool } from \"@/tools/base.js\";\nimport { BaseMemory, ReadOnlyMemory } from \"@/memory/base.js\";\nimport { z } from \"zod\";\nimport { UnconstrainedMemory } from \"@/memory/unconstrainedMemory.js\";\nimport { BaseAgent } from \"@/agents/base.js\";\nimport { isFunction, randomString } from \"remeda\";\nimport { ChatModel } from \"@/backend/chat.js\";\nimport { ToolCallingAgent } from \"@/agents/toolCalling/agent.js\";\nimport {\n ToolCallingAgentExecutionConfig,\n ToolCallingAgentRunInput,\n ToolCallingAgentRunOptions,\n ToolCallingAgentRunOutput,\n} from \"@/agents/toolCalling/types.js\";\n\ntype AgentInstance = BaseAgent<\n ToolCallingAgentRunInput,\n ToolCallingAgentRunOutput,\n ToolCallingAgentRunOptions\n>;\ntype AgentFactory = (memory: ReadOnlyMemory) => AgentInstance | Promise<AgentInstance>;\ninterface AgentFactoryInput {\n name?: string;\n role?: string;\n llm: ChatModel;\n instructions?: string;\n tools?: AnyTool[];\n execution?: ToolCallingAgentExecutionConfig;\n}\n\nexport class AgentWorkflow {\n protected readonly workflow;\n\n readonly schema = z.object({\n inputs: z.array(\n z.object({\n prompt: z.string().optional(),\n context: z.string().optional(),\n expectedOutput: z.union([z.string(), z.instanceof(z.ZodSchema)]).optional(),\n }),\n ),\n\n finalAnswer: z.string().optional(),\n newMessages: z.array(z.instanceof(Message)).default([]),\n });\n\n constructor(name = \"AgentWorkflow\") {\n this.workflow = new Workflow({\n name,\n schema: this.schema,\n outputSchema: this.schema.required(),\n });\n }\n\n run(inputs: (ToolCallingAgentRunInput | Message)[], options: WorkflowRunOptions<string> = {}) {\n return this.workflow.run(\n {\n inputs: inputs.map((input) => (input instanceof Message ? { prompt: input.text } : input)),\n },\n options,\n );\n }\n\n addAgent(agent: AgentFactory | AgentFactoryInput): this;\n addAgent(agent: AgentInstance): Promise<this>;\n addAgent(agent: AgentInstance | AgentFactory | AgentFactoryInput): this | Promise<this> {\n if (agent instanceof BaseAgent) {\n return agent.clone().then((clone) => {\n const factory: AgentFactory = (memory) => {\n clone.memory = memory;\n return clone;\n };\n return this._add(clone.meta.name, factory);\n });\n }\n\n const name = agent.name || `Agent${randomString(4)}`;\n return this._add(name, isFunction(agent) ? agent : this._createFactory(agent));\n }\n\n delAgent(name: string) {\n return this.workflow.delStep(name);\n }\n\n protected _createFactory(input: AgentFactoryInput): AgentFactory {\n return (memory: BaseMemory) =>\n new ToolCallingAgent({\n llm: input.llm,\n tools: input.tools ?? [],\n memory,\n meta: {\n name: input.name || `Agent${randomString(4)}`,\n description: input.instructions ?? \"\",\n },\n execution: input.execution,\n ...(input.instructions && {\n templates: {\n system: (template) =>\n template.fork((config) => {\n config.defaults.instructions = input.instructions || config.defaults.instructions;\n config.defaults.role = input.role || config.defaults.role;\n }),\n },\n }),\n });\n }\n\n protected _add(name: string, factory: AgentFactory) {\n this.workflow.addStep(name, async (state, ctx) => {\n const memory = new UnconstrainedMemory();\n await memory.addMany(state.newMessages);\n\n const runInput = state.inputs.shift() ?? { prompt: undefined };\n const agent = await factory(memory.asReadOnly());\n const { result } = await agent.run(runInput, { signal: ctx.signal });\n state.finalAnswer = result.text;\n if (runInput.prompt) {\n state.newMessages.push(new UserMessage(runInput.prompt));\n }\n state.newMessages.push(result);\n });\n return this;\n }\n}\n"]}
|