beeai-framework 0.1.10 → 0.1.11
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.map +1 -1
- package/dist/adapters/anthropic/backend/client.d.cts +1 -1
- package/dist/adapters/anthropic/backend/client.d.ts +1 -1
- 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.map +1 -1
- package/dist/adapters/azure-openai/backend/client.d.cts +1 -1
- package/dist/adapters/azure-openai/backend/client.d.ts +1 -1
- 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.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.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.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.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-Ca5UE2P1.d.cts} +3 -3
- package/dist/{agent-Dv5YSk8H.d.ts → agent-CgsoqVL5.d.ts} +3 -3
- 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.map +1 -1
- package/dist/backend/client.d.cts +1 -1
- package/dist/backend/client.d.ts +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-DHhpWHQm.d.ts → base-BOCDDBvG.d.ts} +2 -2
- package/dist/{base-Csr9guq2.d.cts → base-szR2Izbt.d.cts} +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-BdN8hGWn.d.ts +174 -0
- package/dist/chat-DvMzAHj6.d.cts +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-l0W9gC1A.d.ts → emitter-C3dO-s2P.d.ts} +3 -3
- package/dist/{emitter-BWtGHYn0.d.cts → emitter-D5Mu0EEH.d.cts} +3 -3
- 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 +6 -6
- package/dist/workflows/agent.d.ts +6 -6
- 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
|
@@ -5,26 +5,27 @@ import '../../../backend/client.cjs';
|
|
|
5
5
|
import '../../../internals/serializable.cjs';
|
|
6
6
|
import '../../../internals/types.cjs';
|
|
7
7
|
import '../../../internals/helpers/guards.cjs';
|
|
8
|
-
import '../../../
|
|
8
|
+
import '../../../logger/logger.cjs';
|
|
9
|
+
import 'pino';
|
|
10
|
+
import '../../../errors.cjs';
|
|
11
|
+
import '../../../chat-DvMzAHj6.cjs';
|
|
9
12
|
import '../../../backend/message.cjs';
|
|
10
13
|
import 'ai';
|
|
11
14
|
import '../../../context.cjs';
|
|
12
|
-
import '../../../emitter-
|
|
15
|
+
import '../../../emitter-D5Mu0EEH.cjs';
|
|
13
16
|
import '../../../internals/helpers/promise.cjs';
|
|
14
|
-
import '../../../errors.cjs';
|
|
15
17
|
import 'promise-based-task';
|
|
16
18
|
import '../../../cache/base.cjs';
|
|
17
|
-
import '../../../backend/utils.cjs';
|
|
18
19
|
import '../../../backend/constants.cjs';
|
|
19
20
|
import '../../../tools/base.cjs';
|
|
20
21
|
import 'ajv';
|
|
21
22
|
import '../../../internals/helpers/schema.cjs';
|
|
22
23
|
import 'zod';
|
|
23
24
|
import 'zod-to-json-schema';
|
|
24
|
-
import '
|
|
25
|
+
import '../../../template.cjs';
|
|
25
26
|
|
|
26
27
|
/**
|
|
27
|
-
* Copyright 2025
|
|
28
|
+
* Copyright 2025 © BeeAI a Series of LF Projects, LLC
|
|
28
29
|
*
|
|
29
30
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
30
31
|
* you may not use this file except in compliance with the License.
|
|
@@ -5,26 +5,27 @@ import '../../../backend/client.js';
|
|
|
5
5
|
import '../../../internals/serializable.js';
|
|
6
6
|
import '../../../internals/types.js';
|
|
7
7
|
import '../../../internals/helpers/guards.js';
|
|
8
|
-
import '../../../
|
|
8
|
+
import '../../../logger/logger.js';
|
|
9
|
+
import 'pino';
|
|
10
|
+
import '../../../errors.js';
|
|
11
|
+
import '../../../chat-BdN8hGWn.js';
|
|
9
12
|
import '../../../backend/message.js';
|
|
10
13
|
import 'ai';
|
|
11
14
|
import '../../../context.js';
|
|
12
|
-
import '../../../emitter-
|
|
15
|
+
import '../../../emitter-C3dO-s2P.js';
|
|
13
16
|
import '../../../internals/helpers/promise.js';
|
|
14
|
-
import '../../../errors.js';
|
|
15
17
|
import 'promise-based-task';
|
|
16
18
|
import '../../../cache/base.js';
|
|
17
|
-
import '../../../backend/utils.js';
|
|
18
19
|
import '../../../backend/constants.js';
|
|
19
20
|
import '../../../tools/base.js';
|
|
20
21
|
import 'ajv';
|
|
21
22
|
import '../../../internals/helpers/schema.js';
|
|
22
23
|
import 'zod';
|
|
23
24
|
import 'zod-to-json-schema';
|
|
24
|
-
import '
|
|
25
|
+
import '../../../template.js';
|
|
25
26
|
|
|
26
27
|
/**
|
|
27
|
-
* Copyright 2025
|
|
28
|
+
* Copyright 2025 © BeeAI a Series of LF Projects, LLC
|
|
28
29
|
*
|
|
29
30
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
30
31
|
* you may not use this file except in compliance with the License.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["chat.ts"],"names":["OpenAIChatModel","VercelChatModel","constructor","modelId","getEnv","settings","client","model","OpenAIClient","ensure","instance","chat"],"mappings":";;;;;;AAyBO,MAAMA,wBAAwBC,eAAAA,CAAAA;EAzBrC;;;EA0BEC,WACEC,CAAAA,OAAAA,GAA6BC,OAAO,mBAAqB,EAAA,QAAA,GACzDC,QAAoC,GAAA,IACpCC,MACA,EAAA;AACA,IAAMC,MAAAA,KAAAA,GAAQC,aAAaC,MAAOH,CAAAA,MAAAA,EAAQI,QAASC,CAAAA,IAAAA,CAAKR,SAASE,QAAAA,CAAAA;AACjE,IAAA,KAAA,CAAME,KAAAA,CAAAA;AACR;AACF","file":"chat.js","sourcesContent":["/**\n * Copyright 2025
|
|
1
|
+
{"version":3,"sources":["chat.ts"],"names":["OpenAIChatModel","VercelChatModel","constructor","modelId","getEnv","settings","client","model","OpenAIClient","ensure","instance","chat"],"mappings":";;;;;;AAyBO,MAAMA,wBAAwBC,eAAAA,CAAAA;EAzBrC;;;EA0BEC,WACEC,CAAAA,OAAAA,GAA6BC,OAAO,mBAAqB,EAAA,QAAA,GACzDC,QAAoC,GAAA,IACpCC,MACA,EAAA;AACA,IAAMC,MAAAA,KAAAA,GAAQC,aAAaC,MAAOH,CAAAA,MAAAA,EAAQI,QAASC,CAAAA,IAAAA,CAAKR,SAASE,QAAAA,CAAAA;AACjE,IAAA,KAAA,CAAME,KAAAA,CAAAA;AACR;AACF","file":"chat.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 { OpenAIProvider } from \"@ai-sdk/openai\";\nimport { OpenAIClient, OpenAIClientSettings } from \"@/adapters/openai/backend/client.js\";\nimport { VercelChatModel } from \"@/adapters/vercel/backend/chat.js\";\nimport { getEnv } from \"@/internals/env.js\";\n\ntype OpenAIParameters = Parameters<OpenAIProvider[\"chat\"]>;\nexport type OpenAIChatModelId = NonNullable<OpenAIParameters[0]>;\nexport type OpenAIChatModelSettings = NonNullable<OpenAIParameters[1]>;\n\nexport class OpenAIChatModel extends VercelChatModel {\n constructor(\n modelId: OpenAIChatModelId = getEnv(\"OPENAI_CHAT_MODEL\", \"gpt-4o\"),\n settings: OpenAIChatModelSettings = {},\n client?: OpenAIClient | OpenAIClientSettings,\n ) {\n const model = OpenAIClient.ensure(client).instance.chat(modelId, settings);\n super(model);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["client.ts"],"names":["OpenAIClient","BackendClient","create","extraHeaders","parseEnv","z","preprocess","value","Object","fromEntries","String","split","filter","pair","includes","map","record","string","baseURL","settings","getEnv","compatibility","createOpenAI","apiKey","headers"],"mappings":";;;;;;;;;AAuBO,MAAMA,qBAAqBC,wBAAAA,CAAAA;EAvBlC;;;EAwBYC,MAAyB,GAAA;AACjC,IAAA,MAAMC,eAAeC,gBACnB,CAAA,oBAAA,EACAC,KAAEC,CAAAA,UAAAA,CAAW,CAACC,KAAAA,KAAAA;AACZ,MAAOC,OAAAA,MAAAA,CAAOC,WACZC,CAAAA,MAAAA,CAAOH,KAAS,IAAA,EAAA,EACbI,KAAM,CAAA,GAAA,CACNC,CAAAA,MAAAA,CAAO,CAACC,IAAAA,KAASA,KAAKC,QAAS,CAAA,GAAA,CAAA,CAAA,CAC/BC,GAAI,CAAA,CAACF,SAASA,IAAKF,CAAAA,KAAAA,CAAM,GAAA,CAAA,CAAA,CAAA;AAEhC,KAAA,EAAGN,MAAEW,MAAOX,CAAAA,KAAAA,CAAEY,MAAM,EAAA,CAAA,CAAA,CAAA;AAGtB,IAAA,MAAMC,OAAU,GAAA,IAAA,CAAKC,QAAUD,EAAAA,OAAAA,IAAWE,eAAO,qBAAA,CAAA;AACjD,IAAA,IAAIC,aACF,GAAA,IAAA,CAAKF,QAAUE,EAAAA,aAAAA,IAAiBD,eAAO,2BAAA,CAAA;AACzC,IAAIF,IAAAA,OAAAA,IAAW,CAACG,aAAe,EAAA;AAC7BA,MAAgB,aAAA,GAAA,YAAA;KACP,MAAA,IAAA,CAACH,OAAW,IAAA,CAACG,aAAe,EAAA;AACrCA,MAAgB,aAAA,GAAA,QAAA;AAClB;AAEA,IAAA,OAAOC,mBAAa,CAAA;AAClB,MAAA,GAAG,IAAKH,CAAAA,QAAAA;AACRE,MAAAA,aAAAA;AACAE,MAAAA,MAAAA,EAAQ,IAAKJ,CAAAA,QAAAA,EAAUI,MAAUH,IAAAA,cAAAA,CAAO,gBAAA,CAAA;AACxCF,MAAAA,OAAAA;MACAM,OAAS,EAAA;QACP,GAAGrB,YAAAA;AACH,QAAA,GAAG,KAAKgB,QAAUK,EAAAA;AACpB;KACF,CAAA;AACF;AACF","file":"client.cjs","sourcesContent":["/**\n * Copyright 2025
|
|
1
|
+
{"version":3,"sources":["client.ts"],"names":["OpenAIClient","BackendClient","create","extraHeaders","parseEnv","z","preprocess","value","Object","fromEntries","String","split","filter","pair","includes","map","record","string","baseURL","settings","getEnv","compatibility","createOpenAI","apiKey","headers"],"mappings":";;;;;;;;;AAuBO,MAAMA,qBAAqBC,wBAAAA,CAAAA;EAvBlC;;;EAwBYC,MAAyB,GAAA;AACjC,IAAA,MAAMC,eAAeC,gBACnB,CAAA,oBAAA,EACAC,KAAEC,CAAAA,UAAAA,CAAW,CAACC,KAAAA,KAAAA;AACZ,MAAOC,OAAAA,MAAAA,CAAOC,WACZC,CAAAA,MAAAA,CAAOH,KAAS,IAAA,EAAA,EACbI,KAAM,CAAA,GAAA,CACNC,CAAAA,MAAAA,CAAO,CAACC,IAAAA,KAASA,KAAKC,QAAS,CAAA,GAAA,CAAA,CAAA,CAC/BC,GAAI,CAAA,CAACF,SAASA,IAAKF,CAAAA,KAAAA,CAAM,GAAA,CAAA,CAAA,CAAA;AAEhC,KAAA,EAAGN,MAAEW,MAAOX,CAAAA,KAAAA,CAAEY,MAAM,EAAA,CAAA,CAAA,CAAA;AAGtB,IAAA,MAAMC,OAAU,GAAA,IAAA,CAAKC,QAAUD,EAAAA,OAAAA,IAAWE,eAAO,qBAAA,CAAA;AACjD,IAAA,IAAIC,aACF,GAAA,IAAA,CAAKF,QAAUE,EAAAA,aAAAA,IAAiBD,eAAO,2BAAA,CAAA;AACzC,IAAIF,IAAAA,OAAAA,IAAW,CAACG,aAAe,EAAA;AAC7BA,MAAgB,aAAA,GAAA,YAAA;KACP,MAAA,IAAA,CAACH,OAAW,IAAA,CAACG,aAAe,EAAA;AACrCA,MAAgB,aAAA,GAAA,QAAA;AAClB;AAEA,IAAA,OAAOC,mBAAa,CAAA;AAClB,MAAA,GAAG,IAAKH,CAAAA,QAAAA;AACRE,MAAAA,aAAAA;AACAE,MAAAA,MAAAA,EAAQ,IAAKJ,CAAAA,QAAAA,EAAUI,MAAUH,IAAAA,cAAAA,CAAO,gBAAA,CAAA;AACxCF,MAAAA,OAAAA;MACAM,OAAS,EAAA;QACP,GAAGrB,YAAAA;AACH,QAAA,GAAG,KAAKgB,QAAUK,EAAAA;AACpB;KACF,CAAA;AACF;AACF","file":"client.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 { createOpenAI, OpenAIProvider, OpenAIProviderSettings } from \"@ai-sdk/openai\";\nimport { getEnv, parseEnv } from \"@/internals/env.js\";\nimport { z } from \"zod\";\nimport { BackendClient } from \"@/backend/client.js\";\n\nexport type OpenAIClientSettings = OpenAIProviderSettings;\n\nexport class OpenAIClient extends BackendClient<OpenAIClientSettings, OpenAIProvider> {\n protected create(): OpenAIProvider {\n const extraHeaders = parseEnv(\n \"OPENAI_API_HEADERS\",\n z.preprocess((value) => {\n return Object.fromEntries(\n String(value || \"\")\n .split(\",\")\n .filter((pair) => pair.includes(\"=\"))\n .map((pair) => pair.split(\"=\")),\n );\n }, z.record(z.string())),\n );\n\n const baseURL = this.settings?.baseURL || getEnv(\"OPENAI_API_ENDPOINT\");\n let compatibility: string | undefined =\n this.settings?.compatibility || getEnv(\"OPENAI_COMPATIBILITY_MODE\");\n if (baseURL && !compatibility) {\n compatibility = \"compatible\";\n } else if (!baseURL && !compatibility) {\n compatibility = \"strict\";\n }\n\n return createOpenAI({\n ...this.settings,\n compatibility: compatibility as \"strict\" | \"compatible\" | undefined,\n apiKey: this.settings?.apiKey || getEnv(\"OPENAI_API_KEY\"),\n baseURL,\n headers: {\n ...extraHeaders,\n ...this.settings?.headers,\n },\n });\n }\n}\n"]}
|
|
@@ -5,7 +5,7 @@ import '../../../internals/types.cjs';
|
|
|
5
5
|
import '../../../internals/helpers/guards.cjs';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* Copyright 2025
|
|
8
|
+
* Copyright 2025 © BeeAI a Series of LF Projects, LLC
|
|
9
9
|
*
|
|
10
10
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11
11
|
* you may not use this file except in compliance with the License.
|
|
@@ -5,7 +5,7 @@ import '../../../internals/types.js';
|
|
|
5
5
|
import '../../../internals/helpers/guards.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* Copyright 2025
|
|
8
|
+
* Copyright 2025 © BeeAI a Series of LF Projects, LLC
|
|
9
9
|
*
|
|
10
10
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11
11
|
* you may not use this file except in compliance with the License.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["client.ts"],"names":["OpenAIClient","BackendClient","create","extraHeaders","parseEnv","z","preprocess","value","Object","fromEntries","String","split","filter","pair","includes","map","record","string","baseURL","settings","getEnv","compatibility","createOpenAI","apiKey","headers"],"mappings":";;;;;;;AAuBO,MAAMA,qBAAqBC,aAAAA,CAAAA;EAvBlC;;;EAwBYC,MAAyB,GAAA;AACjC,IAAA,MAAMC,eAAeC,QACnB,CAAA,oBAAA,EACAC,CAAEC,CAAAA,UAAAA,CAAW,CAACC,KAAAA,KAAAA;AACZ,MAAOC,OAAAA,MAAAA,CAAOC,WACZC,CAAAA,MAAAA,CAAOH,KAAS,IAAA,EAAA,EACbI,KAAM,CAAA,GAAA,CACNC,CAAAA,MAAAA,CAAO,CAACC,IAAAA,KAASA,KAAKC,QAAS,CAAA,GAAA,CAAA,CAAA,CAC/BC,GAAI,CAAA,CAACF,SAASA,IAAKF,CAAAA,KAAAA,CAAM,GAAA,CAAA,CAAA,CAAA;AAEhC,KAAA,EAAGN,EAAEW,MAAOX,CAAAA,CAAAA,CAAEY,MAAM,EAAA,CAAA,CAAA,CAAA;AAGtB,IAAA,MAAMC,OAAU,GAAA,IAAA,CAAKC,QAAUD,EAAAA,OAAAA,IAAWE,OAAO,qBAAA,CAAA;AACjD,IAAA,IAAIC,aACF,GAAA,IAAA,CAAKF,QAAUE,EAAAA,aAAAA,IAAiBD,OAAO,2BAAA,CAAA;AACzC,IAAIF,IAAAA,OAAAA,IAAW,CAACG,aAAe,EAAA;AAC7BA,MAAgB,aAAA,GAAA,YAAA;KACP,MAAA,IAAA,CAACH,OAAW,IAAA,CAACG,aAAe,EAAA;AACrCA,MAAgB,aAAA,GAAA,QAAA;AAClB;AAEA,IAAA,OAAOC,YAAa,CAAA;AAClB,MAAA,GAAG,IAAKH,CAAAA,QAAAA;AACRE,MAAAA,aAAAA;AACAE,MAAAA,MAAAA,EAAQ,IAAKJ,CAAAA,QAAAA,EAAUI,MAAUH,IAAAA,MAAAA,CAAO,gBAAA,CAAA;AACxCF,MAAAA,OAAAA;MACAM,OAAS,EAAA;QACP,GAAGrB,YAAAA;AACH,QAAA,GAAG,KAAKgB,QAAUK,EAAAA;AACpB;KACF,CAAA;AACF;AACF","file":"client.js","sourcesContent":["/**\n * Copyright 2025
|
|
1
|
+
{"version":3,"sources":["client.ts"],"names":["OpenAIClient","BackendClient","create","extraHeaders","parseEnv","z","preprocess","value","Object","fromEntries","String","split","filter","pair","includes","map","record","string","baseURL","settings","getEnv","compatibility","createOpenAI","apiKey","headers"],"mappings":";;;;;;;AAuBO,MAAMA,qBAAqBC,aAAAA,CAAAA;EAvBlC;;;EAwBYC,MAAyB,GAAA;AACjC,IAAA,MAAMC,eAAeC,QACnB,CAAA,oBAAA,EACAC,CAAEC,CAAAA,UAAAA,CAAW,CAACC,KAAAA,KAAAA;AACZ,MAAOC,OAAAA,MAAAA,CAAOC,WACZC,CAAAA,MAAAA,CAAOH,KAAS,IAAA,EAAA,EACbI,KAAM,CAAA,GAAA,CACNC,CAAAA,MAAAA,CAAO,CAACC,IAAAA,KAASA,KAAKC,QAAS,CAAA,GAAA,CAAA,CAAA,CAC/BC,GAAI,CAAA,CAACF,SAASA,IAAKF,CAAAA,KAAAA,CAAM,GAAA,CAAA,CAAA,CAAA;AAEhC,KAAA,EAAGN,EAAEW,MAAOX,CAAAA,CAAAA,CAAEY,MAAM,EAAA,CAAA,CAAA,CAAA;AAGtB,IAAA,MAAMC,OAAU,GAAA,IAAA,CAAKC,QAAUD,EAAAA,OAAAA,IAAWE,OAAO,qBAAA,CAAA;AACjD,IAAA,IAAIC,aACF,GAAA,IAAA,CAAKF,QAAUE,EAAAA,aAAAA,IAAiBD,OAAO,2BAAA,CAAA;AACzC,IAAIF,IAAAA,OAAAA,IAAW,CAACG,aAAe,EAAA;AAC7BA,MAAgB,aAAA,GAAA,YAAA;KACP,MAAA,IAAA,CAACH,OAAW,IAAA,CAACG,aAAe,EAAA;AACrCA,MAAgB,aAAA,GAAA,QAAA;AAClB;AAEA,IAAA,OAAOC,YAAa,CAAA;AAClB,MAAA,GAAG,IAAKH,CAAAA,QAAAA;AACRE,MAAAA,aAAAA;AACAE,MAAAA,MAAAA,EAAQ,IAAKJ,CAAAA,QAAAA,EAAUI,MAAUH,IAAAA,MAAAA,CAAO,gBAAA,CAAA;AACxCF,MAAAA,OAAAA;MACAM,OAAS,EAAA;QACP,GAAGrB,YAAAA;AACH,QAAA,GAAG,KAAKgB,QAAUK,EAAAA;AACpB;KACF,CAAA;AACF;AACF","file":"client.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 { createOpenAI, OpenAIProvider, OpenAIProviderSettings } from \"@ai-sdk/openai\";\nimport { getEnv, parseEnv } from \"@/internals/env.js\";\nimport { z } from \"zod\";\nimport { BackendClient } from \"@/backend/client.js\";\n\nexport type OpenAIClientSettings = OpenAIProviderSettings;\n\nexport class OpenAIClient extends BackendClient<OpenAIClientSettings, OpenAIProvider> {\n protected create(): OpenAIProvider {\n const extraHeaders = parseEnv(\n \"OPENAI_API_HEADERS\",\n z.preprocess((value) => {\n return Object.fromEntries(\n String(value || \"\")\n .split(\",\")\n .filter((pair) => pair.includes(\"=\"))\n .map((pair) => pair.split(\"=\")),\n );\n }, z.record(z.string())),\n );\n\n const baseURL = this.settings?.baseURL || getEnv(\"OPENAI_API_ENDPOINT\");\n let compatibility: string | undefined =\n this.settings?.compatibility || getEnv(\"OPENAI_COMPATIBILITY_MODE\");\n if (baseURL && !compatibility) {\n compatibility = \"compatible\";\n } else if (!baseURL && !compatibility) {\n compatibility = \"strict\";\n }\n\n return createOpenAI({\n ...this.settings,\n compatibility: compatibility as \"strict\" | \"compatible\" | undefined,\n apiKey: this.settings?.apiKey || getEnv(\"OPENAI_API_KEY\"),\n baseURL,\n headers: {\n ...extraHeaders,\n ...this.settings?.headers,\n },\n });\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["embedding.ts"],"names":["OpenAIEmbeddingModel","VercelEmbeddingModel","constructor","modelId","getEnv","settings","client","model","OpenAIClient","ensure","instance","embedding"],"mappings":";;;;;;;;AAyBO,MAAMA,6BAA6BC,kCAAAA,CAAAA;EAzB1C;;;EA0BEC,WACEC,CAAAA,OAAAA,GAAkCC,eAAO,wBAA0B,EAAA,wBAAA,GACnEC,QAAyC,GAAA,IACzCC,MACA,EAAA;AACA,IAAMC,MAAAA,KAAAA,GAAQC,wBAAaC,MAAOH,CAAAA,MAAAA,EAAQI,QAASC,CAAAA,SAAAA,CAAUR,SAASE,QAAAA,CAAAA;AACtE,IAAA,KAAA,CAAME,KAAAA,CAAAA;AACR;AACF","file":"embedding.cjs","sourcesContent":["/**\n * Copyright 2025
|
|
1
|
+
{"version":3,"sources":["embedding.ts"],"names":["OpenAIEmbeddingModel","VercelEmbeddingModel","constructor","modelId","getEnv","settings","client","model","OpenAIClient","ensure","instance","embedding"],"mappings":";;;;;;;;AAyBO,MAAMA,6BAA6BC,kCAAAA,CAAAA;EAzB1C;;;EA0BEC,WACEC,CAAAA,OAAAA,GAAkCC,eAAO,wBAA0B,EAAA,wBAAA,GACnEC,QAAyC,GAAA,IACzCC,MACA,EAAA;AACA,IAAMC,MAAAA,KAAAA,GAAQC,wBAAaC,MAAOH,CAAAA,MAAAA,EAAQI,QAASC,CAAAA,SAAAA,CAAUR,SAASE,QAAAA,CAAAA;AACtE,IAAA,KAAA,CAAME,KAAAA,CAAAA;AACR;AACF","file":"embedding.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 { OpenAIClient } from \"@/adapters/openai/backend/client.js\";\nimport { OpenAIProvider, OpenAIProviderSettings } from \"@ai-sdk/openai\";\nimport { VercelEmbeddingModel } from \"@/adapters/vercel/backend/embedding.js\";\nimport { getEnv } from \"@/internals/env.js\";\n\ntype OpenAIParameters = Parameters<OpenAIProvider[\"embedding\"]>;\nexport type OpenAIEmbeddingModelId = NonNullable<OpenAIParameters[0]>;\nexport type OpenAIEmbeddingModelSettings = NonNullable<OpenAIParameters[1]>;\n\nexport class OpenAIEmbeddingModel extends VercelEmbeddingModel {\n constructor(\n modelId: OpenAIEmbeddingModelId = getEnv(\"OPENAI_EMBEDDING_MODEL\", \"text-embedding-3-small\"),\n settings: OpenAIEmbeddingModelSettings = {},\n client?: OpenAIProviderSettings | OpenAIClient,\n ) {\n const model = OpenAIClient.ensure(client).instance.embedding(modelId, settings);\n super(model);\n }\n}\n"]}
|
|
@@ -7,15 +7,26 @@ import '../../../internals/types.cjs';
|
|
|
7
7
|
import '../../../internals/helpers/guards.cjs';
|
|
8
8
|
import '../../../backend/embedding.cjs';
|
|
9
9
|
import '../../../context.cjs';
|
|
10
|
-
import '../../../emitter-
|
|
10
|
+
import '../../../emitter-D5Mu0EEH.cjs';
|
|
11
11
|
import '../../../internals/helpers/promise.cjs';
|
|
12
12
|
import '../../../errors.cjs';
|
|
13
|
-
import '../../../
|
|
14
|
-
import '../../../backend/
|
|
13
|
+
import '../../../chat-DvMzAHj6.cjs';
|
|
14
|
+
import '../../../backend/message.cjs';
|
|
15
15
|
import 'ai';
|
|
16
|
+
import 'promise-based-task';
|
|
17
|
+
import '../../../cache/base.cjs';
|
|
18
|
+
import '../../../backend/constants.cjs';
|
|
19
|
+
import '../../../tools/base.cjs';
|
|
20
|
+
import 'ajv';
|
|
21
|
+
import '../../../internals/helpers/schema.cjs';
|
|
22
|
+
import 'zod';
|
|
23
|
+
import 'zod-to-json-schema';
|
|
24
|
+
import '../../../template.cjs';
|
|
25
|
+
import '../../../logger/logger.cjs';
|
|
26
|
+
import 'pino';
|
|
16
27
|
|
|
17
28
|
/**
|
|
18
|
-
* Copyright 2025
|
|
29
|
+
* Copyright 2025 © BeeAI a Series of LF Projects, LLC
|
|
19
30
|
*
|
|
20
31
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
21
32
|
* you may not use this file except in compliance with the License.
|
|
@@ -7,15 +7,26 @@ import '../../../internals/types.js';
|
|
|
7
7
|
import '../../../internals/helpers/guards.js';
|
|
8
8
|
import '../../../backend/embedding.js';
|
|
9
9
|
import '../../../context.js';
|
|
10
|
-
import '../../../emitter-
|
|
10
|
+
import '../../../emitter-C3dO-s2P.js';
|
|
11
11
|
import '../../../internals/helpers/promise.js';
|
|
12
12
|
import '../../../errors.js';
|
|
13
|
-
import '../../../
|
|
14
|
-
import '../../../backend/
|
|
13
|
+
import '../../../chat-BdN8hGWn.js';
|
|
14
|
+
import '../../../backend/message.js';
|
|
15
15
|
import 'ai';
|
|
16
|
+
import 'promise-based-task';
|
|
17
|
+
import '../../../cache/base.js';
|
|
18
|
+
import '../../../backend/constants.js';
|
|
19
|
+
import '../../../tools/base.js';
|
|
20
|
+
import 'ajv';
|
|
21
|
+
import '../../../internals/helpers/schema.js';
|
|
22
|
+
import 'zod';
|
|
23
|
+
import 'zod-to-json-schema';
|
|
24
|
+
import '../../../template.js';
|
|
25
|
+
import '../../../logger/logger.js';
|
|
26
|
+
import 'pino';
|
|
16
27
|
|
|
17
28
|
/**
|
|
18
|
-
* Copyright 2025
|
|
29
|
+
* Copyright 2025 © BeeAI a Series of LF Projects, LLC
|
|
19
30
|
*
|
|
20
31
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
21
32
|
* you may not use this file except in compliance with the License.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["embedding.ts"],"names":["OpenAIEmbeddingModel","VercelEmbeddingModel","constructor","modelId","getEnv","settings","client","model","OpenAIClient","ensure","instance","embedding"],"mappings":";;;;;;AAyBO,MAAMA,6BAA6BC,oBAAAA,CAAAA;EAzB1C;;;EA0BEC,WACEC,CAAAA,OAAAA,GAAkCC,OAAO,wBAA0B,EAAA,wBAAA,GACnEC,QAAyC,GAAA,IACzCC,MACA,EAAA;AACA,IAAMC,MAAAA,KAAAA,GAAQC,aAAaC,MAAOH,CAAAA,MAAAA,EAAQI,QAASC,CAAAA,SAAAA,CAAUR,SAASE,QAAAA,CAAAA;AACtE,IAAA,KAAA,CAAME,KAAAA,CAAAA;AACR;AACF","file":"embedding.js","sourcesContent":["/**\n * Copyright 2025
|
|
1
|
+
{"version":3,"sources":["embedding.ts"],"names":["OpenAIEmbeddingModel","VercelEmbeddingModel","constructor","modelId","getEnv","settings","client","model","OpenAIClient","ensure","instance","embedding"],"mappings":";;;;;;AAyBO,MAAMA,6BAA6BC,oBAAAA,CAAAA;EAzB1C;;;EA0BEC,WACEC,CAAAA,OAAAA,GAAkCC,OAAO,wBAA0B,EAAA,wBAAA,GACnEC,QAAyC,GAAA,IACzCC,MACA,EAAA;AACA,IAAMC,MAAAA,KAAAA,GAAQC,aAAaC,MAAOH,CAAAA,MAAAA,EAAQI,QAASC,CAAAA,SAAAA,CAAUR,SAASE,QAAAA,CAAAA;AACtE,IAAA,KAAA,CAAME,KAAAA,CAAAA;AACR;AACF","file":"embedding.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 { OpenAIClient } from \"@/adapters/openai/backend/client.js\";\nimport { OpenAIProvider, OpenAIProviderSettings } from \"@ai-sdk/openai\";\nimport { VercelEmbeddingModel } from \"@/adapters/vercel/backend/embedding.js\";\nimport { getEnv } from \"@/internals/env.js\";\n\ntype OpenAIParameters = Parameters<OpenAIProvider[\"embedding\"]>;\nexport type OpenAIEmbeddingModelId = NonNullable<OpenAIParameters[0]>;\nexport type OpenAIEmbeddingModelSettings = NonNullable<OpenAIParameters[1]>;\n\nexport class OpenAIEmbeddingModel extends VercelEmbeddingModel {\n constructor(\n modelId: OpenAIEmbeddingModelId = getEnv(\"OPENAI_EMBEDDING_MODEL\", \"text-embedding-3-small\"),\n settings: OpenAIEmbeddingModelSettings = {},\n client?: OpenAIProviderSettings | OpenAIClient,\n ) {\n const model = OpenAIClient.ensure(client).instance.embedding(modelId, settings);\n super(model);\n }\n}\n"]}
|
|
@@ -8,6 +8,7 @@ var errors_cjs = require('../../../errors.cjs');
|
|
|
8
8
|
var remeda = require('remeda');
|
|
9
9
|
var errors_cjs$1 = require('../../../backend/errors.cjs');
|
|
10
10
|
var zod = require('zod');
|
|
11
|
+
var base_cjs = require('../../../tools/base.cjs');
|
|
11
12
|
|
|
12
13
|
var __defProp = Object.defineProperty;
|
|
13
14
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
@@ -39,23 +40,38 @@ class VercelChatModel extends chat_cjs.ChatModel {
|
|
|
39
40
|
const provider = this.model.provider.split(".")[0].split("-")[0];
|
|
40
41
|
return remeda.toCamelCase(provider);
|
|
41
42
|
}
|
|
42
|
-
async _create(input,
|
|
43
|
+
async _create(input, run) {
|
|
44
|
+
const responseFormat = input.responseFormat;
|
|
45
|
+
if (responseFormat && (responseFormat instanceof zod.ZodSchema || responseFormat.schema)) {
|
|
46
|
+
const { output } = await this._createStructure({
|
|
47
|
+
...input,
|
|
48
|
+
schema: responseFormat
|
|
49
|
+
}, run);
|
|
50
|
+
return output;
|
|
51
|
+
}
|
|
43
52
|
const { finishReason, usage, response: { messages } } = await ai.generateText(await this.transformInput(input));
|
|
44
53
|
return new chat_cjs.ChatModelOutput(this.transformMessages(messages), usage, finishReason);
|
|
45
54
|
}
|
|
46
55
|
async _createStructure({ schema, ...input }, run) {
|
|
47
|
-
const inputSchema = schema._input || schema;
|
|
48
56
|
const response = await ai.generateObject({
|
|
49
57
|
temperature: 0,
|
|
50
58
|
...await this.transformInput(input),
|
|
51
|
-
schema,
|
|
52
59
|
abortSignal: run.signal,
|
|
53
60
|
model: this.model,
|
|
54
|
-
|
|
55
|
-
|
|
61
|
+
...schema instanceof zod.ZodSchema ? {
|
|
62
|
+
schema,
|
|
63
|
+
output: (schema._input || schema) instanceof zod.ZodArray ? "array" : (schema._input || schema) instanceof zod.ZodEnum ? "enum" : "object"
|
|
64
|
+
} : {
|
|
65
|
+
schema: schema.schema ? ai.jsonSchema(schema.schema) : zod.z.any(),
|
|
66
|
+
schemaName: schema.name,
|
|
67
|
+
schemaDescription: schema.description
|
|
68
|
+
}
|
|
56
69
|
});
|
|
57
70
|
return {
|
|
58
|
-
object: response.object
|
|
71
|
+
object: response.object,
|
|
72
|
+
output: new chat_cjs.ChatModelOutput([
|
|
73
|
+
new message_cjs.AssistantMessage(JSON.stringify(response.object, null, 2))
|
|
74
|
+
], response.usage, response.finishReason)
|
|
59
75
|
};
|
|
60
76
|
}
|
|
61
77
|
async *_createStream(input, run) {
|
|
@@ -137,7 +153,7 @@ class VercelChatModel extends chat_cjs.ChatModel {
|
|
|
137
153
|
};
|
|
138
154
|
} else if (msg instanceof message_cjs.UserMessage) {
|
|
139
155
|
return {
|
|
140
|
-
role:
|
|
156
|
+
role: msg.role,
|
|
141
157
|
content: msg.content
|
|
142
158
|
};
|
|
143
159
|
} else if (msg instanceof message_cjs.SystemMessage) {
|
|
@@ -151,9 +167,27 @@ class VercelChatModel extends chat_cjs.ChatModel {
|
|
|
151
167
|
content: msg.content
|
|
152
168
|
};
|
|
153
169
|
});
|
|
170
|
+
let toolChoice;
|
|
171
|
+
if (input.toolChoice && input.toolChoice instanceof base_cjs.Tool) {
|
|
172
|
+
if (this.toolChoiceSupport.includes("single")) {
|
|
173
|
+
toolChoice = {
|
|
174
|
+
type: "tool",
|
|
175
|
+
toolName: input.toolChoice.name
|
|
176
|
+
};
|
|
177
|
+
} else {
|
|
178
|
+
this.logger.warn(`The single tool choice is not supported.`);
|
|
179
|
+
}
|
|
180
|
+
} else if (input.toolChoice) {
|
|
181
|
+
if (this.toolChoiceSupport.includes(input.toolChoice)) {
|
|
182
|
+
toolChoice = input.toolChoice;
|
|
183
|
+
} else {
|
|
184
|
+
this.logger.warn(`The following tool choice value '${input.toolChoice}' is not supported.`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
154
187
|
return {
|
|
155
188
|
...this.parameters,
|
|
156
189
|
...input,
|
|
190
|
+
toolChoice,
|
|
157
191
|
model: this.model,
|
|
158
192
|
tools: remeda.mapToObj(tools, ({ name, ...tool }) => [
|
|
159
193
|
name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["chat.ts"],"names":["VercelChatModel","ChatModel","emitter","supportsToolStreaming","constructor","model","modelId","ValueError","Emitter","root","child","namespace","providerId","creator","provider","split","toCamelCase","_create","input","_run","finishReason","usage","response","messages","generateText","transformInput","ChatModelOutput","transformMessages","_createStructure","schema","run","inputSchema","_input","generateObject","temperature","abortSignal","signal","output","ZodArray","ZodEnum","object","_createStream","isEmpty","tools","fullStream","streamText","lastChunk","event","message","type","AssistantMessage","textDelta","toolCallId","toolName","args","ChatModelError","error","ToolMessage","result","Error","Promise","all","map","tool","name","description","parameters","jsonSchema","getInputJsonSchema","msg","role","content","UserMessage","SystemMessage","mapToObj","flatMap","providerOptions","createSnapshot","loadSnapshot","snapshot","instance","fromName","destroy","Object","assign"],"mappings":"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","file":"chat.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 ChatModelInput,\n ChatModel,\n ChatModelOutput,\n ChatModelEvents,\n ChatModelObjectInput,\n ChatModelObjectOutput,\n} from \"@/backend/chat.js\";\nimport {\n CoreAssistantMessage,\n CoreMessage,\n CoreToolMessage,\n generateObject,\n generateText,\n jsonSchema,\n LanguageModelV1,\n streamText,\n TextPart,\n ToolCallPart,\n} from \"ai\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport {\n AssistantMessage,\n Message,\n SystemMessage,\n ToolMessage,\n UserMessage,\n} from \"@/backend/message.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { ValueError } from \"@/errors.js\";\nimport { isEmpty, mapToObj, toCamelCase } from \"remeda\";\nimport { FullModelName } from \"@/backend/utils.js\";\nimport { ChatModelError } from \"@/backend/errors.js\";\nimport { ZodArray, ZodEnum } from \"zod\";\n\nexport abstract class VercelChatModel<\n M extends LanguageModelV1 = LanguageModelV1,\n> extends ChatModel {\n public readonly emitter: Emitter<ChatModelEvents>;\n public readonly supportsToolStreaming: boolean = true;\n\n constructor(private readonly model: M) {\n super();\n if (!this.modelId) {\n throw new ValueError(\"No modelId has been provided!\");\n }\n this.emitter = Emitter.root.child({\n namespace: [\"backend\", this.providerId, \"chat\"],\n creator: this,\n });\n }\n\n get modelId(): string {\n return this.model.modelId;\n }\n\n get providerId(): string {\n const provider = this.model.provider.split(\".\")[0].split(\"-\")[0];\n return toCamelCase(provider);\n }\n\n protected async _create(input: ChatModelInput, _run: GetRunContext<this>) {\n const {\n finishReason,\n usage,\n response: { messages },\n } = await generateText(await this.transformInput(input));\n\n return new ChatModelOutput(this.transformMessages(messages), usage, finishReason);\n }\n\n protected async _createStructure<T>(\n { schema, ...input }: ChatModelObjectInput<T>,\n run: GetRunContext<this>,\n ): Promise<ChatModelObjectOutput<T>> {\n const inputSchema = schema._input || schema;\n\n const response = await generateObject({\n temperature: 0,\n ...(await this.transformInput(input)),\n schema,\n abortSignal: run.signal,\n model: this.model,\n // @ts-expect-error\n output:\n inputSchema instanceof ZodArray\n ? \"array\"\n : inputSchema instanceof ZodEnum\n ? \"enum\"\n : \"object\",\n });\n\n return { object: response.object };\n }\n\n async *_createStream(input: ChatModelInput, run: GetRunContext<this>) {\n if (!this.supportsToolStreaming && !isEmpty(input.tools ?? [])) {\n const response = await this._create(input, run);\n yield response;\n return;\n }\n\n const { fullStream, usage, finishReason, response } = streamText({\n ...(await this.transformInput(input)),\n abortSignal: run.signal,\n });\n\n let lastChunk: ChatModelOutput | null = null;\n for await (const event of fullStream) {\n let message: Message;\n switch (event.type) {\n case \"text-delta\":\n message = new AssistantMessage(event.textDelta);\n break;\n case \"tool-call\":\n message = new AssistantMessage({\n type: event.type,\n toolCallId: event.toolCallId,\n toolName: event.toolName,\n args: event.args,\n });\n break;\n case \"error\":\n throw new ChatModelError(\"Unhandled error\", [event.error as Error]);\n case \"step-finish\":\n case \"step-start\":\n continue;\n case \"tool-result\":\n message = new ToolMessage({\n type: event.type,\n toolCallId: event.toolCallId,\n toolName: event.toolName,\n result: event.result,\n });\n break;\n case \"tool-call-streaming-start\":\n case \"tool-call-delta\":\n continue;\n case \"finish\":\n continue;\n default:\n throw new Error(`Unhandled event \"${event.type}\"`);\n }\n lastChunk = new ChatModelOutput([message]);\n yield lastChunk;\n }\n\n if (!lastChunk) {\n throw new ChatModelError(\"No chunks have been received!\");\n }\n lastChunk.usage = await usage;\n lastChunk.finishReason = await finishReason;\n await response;\n }\n\n protected async transformInput(\n input: ChatModelInput,\n ): Promise<Parameters<typeof generateText<Record<string, any>>>[0]> {\n const tools = await Promise.all(\n (input.tools ?? []).map(async (tool) => ({\n name: tool.name,\n description: tool.description,\n parameters: jsonSchema(await tool.getInputJsonSchema()),\n })),\n );\n\n const messages = input.messages.map((msg): CoreMessage => {\n if (msg instanceof AssistantMessage) {\n return { role: \"assistant\", content: msg.content };\n } else if (msg instanceof ToolMessage) {\n return { role: \"tool\", content: msg.content };\n } else if (msg instanceof UserMessage) {\n return { role: \"user\", content: msg.content };\n } else if (msg instanceof SystemMessage) {\n return { role: \"user\", content: msg.content };\n }\n return { role: msg.role, content: msg.content } as CoreMessage;\n });\n\n return {\n ...this.parameters,\n ...input,\n model: this.model,\n tools: mapToObj(tools, ({ name, ...tool }) => [name, tool]),\n messages,\n };\n }\n\n protected transformMessages(messages: (CoreAssistantMessage | CoreToolMessage)[]): Message[] {\n return messages.flatMap((msg) => {\n if (msg.role === \"tool\") {\n return new ToolMessage(msg.content, msg.providerOptions);\n }\n return new AssistantMessage(\n msg.content as TextPart | ToolCallPart | string,\n msg.providerOptions,\n );\n });\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n providerId: this.providerId,\n modelId: this.modelId,\n supportsToolStreaming: this.supportsToolStreaming,\n };\n }\n\n async loadSnapshot({ providerId, modelId, ...snapshot }: ReturnType<typeof this.createSnapshot>) {\n const instance = await ChatModel.fromName(`${providerId}:${modelId}` as FullModelName);\n if (!(instance instanceof VercelChatModel)) {\n throw new Error(\"Incorrect deserialization!\");\n }\n instance.destroy();\n Object.assign(this, {\n ...snapshot,\n model: instance.model,\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["chat.ts"],"names":["VercelChatModel","ChatModel","emitter","supportsToolStreaming","constructor","model","modelId","ValueError","Emitter","root","child","namespace","providerId","creator","provider","split","toCamelCase","_create","input","run","responseFormat","ZodSchema","schema","output","_createStructure","finishReason","usage","response","messages","generateText","transformInput","ChatModelOutput","transformMessages","generateObject","temperature","abortSignal","signal","_input","ZodArray","ZodEnum","jsonSchema","z","any","schemaName","name","schemaDescription","description","object","AssistantMessage","JSON","stringify","_createStream","isEmpty","tools","fullStream","streamText","lastChunk","event","message","type","textDelta","toolCallId","toolName","args","ChatModelError","error","ToolMessage","result","Error","Promise","all","map","tool","parameters","getInputJsonSchema","msg","role","content","UserMessage","SystemMessage","toolChoice","Tool","toolChoiceSupport","includes","logger","warn","mapToObj","flatMap","providerOptions","createSnapshot","loadSnapshot","snapshot","instance","fromName","destroy","Object","assign"],"mappings":"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","file":"chat.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 ChatModelInput,\n ChatModel,\n ChatModelOutput,\n ChatModelEvents,\n ChatModelObjectInput,\n ChatModelObjectOutput,\n} from \"@/backend/chat.js\";\nimport {\n CoreAssistantMessage,\n CoreMessage,\n CoreToolMessage,\n generateObject,\n generateText,\n jsonSchema,\n LanguageModelV1,\n streamText,\n TextPart,\n ToolCallPart,\n ToolChoice,\n} from \"ai\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport {\n AssistantMessage,\n Message,\n SystemMessage,\n ToolMessage,\n UserMessage,\n} from \"@/backend/message.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { ValueError } from \"@/errors.js\";\nimport { isEmpty, mapToObj, toCamelCase } from \"remeda\";\nimport { FullModelName } from \"@/backend/utils.js\";\nimport { ChatModelError } from \"@/backend/errors.js\";\nimport { z, ZodArray, ZodEnum, ZodSchema } from \"zod\";\nimport { Tool } from \"@/tools/base.js\";\n\nexport abstract class VercelChatModel<\n M extends LanguageModelV1 = LanguageModelV1,\n> extends ChatModel {\n public readonly emitter: Emitter<ChatModelEvents>;\n public readonly supportsToolStreaming: boolean = true;\n\n constructor(private readonly model: M) {\n super();\n if (!this.modelId) {\n throw new ValueError(\"No modelId has been provided!\");\n }\n this.emitter = Emitter.root.child({\n namespace: [\"backend\", this.providerId, \"chat\"],\n creator: this,\n });\n }\n\n get modelId(): string {\n return this.model.modelId;\n }\n\n get providerId(): string {\n const provider = this.model.provider.split(\".\")[0].split(\"-\")[0];\n return toCamelCase(provider);\n }\n\n protected async _create(input: ChatModelInput, run: GetRunContext<this>) {\n const responseFormat = input.responseFormat;\n if (responseFormat && (responseFormat instanceof ZodSchema || responseFormat.schema)) {\n const { output } = await this._createStructure(\n {\n ...input,\n schema: responseFormat,\n },\n run,\n );\n return output;\n }\n\n const {\n finishReason,\n usage,\n response: { messages },\n } = await generateText(await this.transformInput(input));\n\n return new ChatModelOutput(this.transformMessages(messages), usage, finishReason);\n }\n\n protected async _createStructure<T>(\n { schema, ...input }: ChatModelObjectInput<T>,\n run: GetRunContext<this>,\n ): Promise<ChatModelObjectOutput<T>> {\n const response = await generateObject<T>({\n temperature: 0,\n ...(await this.transformInput(input)),\n abortSignal: run.signal,\n model: this.model,\n ...(schema instanceof ZodSchema\n ? {\n schema,\n output: ((schema._input || schema) instanceof ZodArray\n ? \"array\"\n : (schema._input || schema) instanceof ZodEnum\n ? \"enum\"\n : \"object\") as any,\n }\n : {\n schema: schema.schema ? jsonSchema<T>(schema.schema) : z.any(),\n schemaName: schema.name,\n schemaDescription: schema.description,\n }),\n });\n\n return {\n object: response.object,\n output: new ChatModelOutput(\n [new AssistantMessage(JSON.stringify(response.object, null, 2))],\n response.usage,\n response.finishReason,\n ),\n };\n }\n\n async *_createStream(input: ChatModelInput, run: GetRunContext<this>) {\n if (!this.supportsToolStreaming && !isEmpty(input.tools ?? [])) {\n const response = await this._create(input, run);\n yield response;\n return;\n }\n\n const { fullStream, usage, finishReason, response } = streamText({\n ...(await this.transformInput(input)),\n abortSignal: run.signal,\n });\n\n let lastChunk: ChatModelOutput | null = null;\n for await (const event of fullStream) {\n let message: Message;\n switch (event.type) {\n case \"text-delta\":\n message = new AssistantMessage(event.textDelta);\n break;\n case \"tool-call\":\n message = new AssistantMessage({\n type: event.type,\n toolCallId: event.toolCallId,\n toolName: event.toolName,\n args: event.args,\n });\n break;\n case \"error\":\n throw new ChatModelError(\"Unhandled error\", [event.error as Error]);\n case \"step-finish\":\n case \"step-start\":\n continue;\n case \"tool-result\":\n message = new ToolMessage({\n type: event.type,\n toolCallId: event.toolCallId,\n toolName: event.toolName,\n result: event.result,\n });\n break;\n case \"tool-call-streaming-start\":\n case \"tool-call-delta\":\n continue;\n case \"finish\":\n continue;\n default:\n throw new Error(`Unhandled event \"${event.type}\"`);\n }\n lastChunk = new ChatModelOutput([message]);\n yield lastChunk;\n }\n\n if (!lastChunk) {\n throw new ChatModelError(\"No chunks have been received!\");\n }\n lastChunk.usage = await usage;\n lastChunk.finishReason = await finishReason;\n await response;\n }\n\n protected async transformInput(\n input: ChatModelInput,\n ): Promise<Parameters<typeof generateText<Record<string, any>>>[0]> {\n const tools = await Promise.all(\n (input.tools ?? []).map(async (tool) => ({\n name: tool.name,\n description: tool.description,\n parameters: jsonSchema(await tool.getInputJsonSchema()),\n })),\n );\n\n const messages = input.messages.map((msg): CoreMessage => {\n if (msg instanceof AssistantMessage) {\n return { role: \"assistant\", content: msg.content };\n } else if (msg instanceof ToolMessage) {\n return { role: \"tool\", content: msg.content };\n } else if (msg instanceof UserMessage) {\n return { role: msg.role, content: msg.content };\n } else if (msg instanceof SystemMessage) {\n return { role: \"user\", content: msg.content };\n }\n return { role: msg.role, content: msg.content } as CoreMessage;\n });\n\n let toolChoice: ToolChoice<Record<string, any>> | undefined;\n if (input.toolChoice && input.toolChoice instanceof Tool) {\n if (this.toolChoiceSupport.includes(\"single\")) {\n toolChoice = {\n type: \"tool\",\n toolName: input.toolChoice.name,\n };\n } else {\n this.logger.warn(`The single tool choice is not supported.`);\n }\n } else if (input.toolChoice) {\n if (this.toolChoiceSupport.includes(input.toolChoice)) {\n toolChoice = input.toolChoice;\n } else {\n this.logger.warn(`The following tool choice value '${input.toolChoice}' is not supported.`);\n }\n }\n\n return {\n ...this.parameters,\n ...input,\n toolChoice,\n model: this.model,\n tools: mapToObj(tools, ({ name, ...tool }) => [name, tool]),\n messages,\n };\n }\n\n protected transformMessages(messages: (CoreAssistantMessage | CoreToolMessage)[]): Message[] {\n return messages.flatMap((msg) => {\n if (msg.role === \"tool\") {\n return new ToolMessage(msg.content, msg.providerOptions);\n }\n return new AssistantMessage(\n msg.content as TextPart | ToolCallPart | string,\n msg.providerOptions,\n );\n });\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n providerId: this.providerId,\n modelId: this.modelId,\n supportsToolStreaming: this.supportsToolStreaming,\n };\n }\n\n async loadSnapshot({ providerId, modelId, ...snapshot }: ReturnType<typeof this.createSnapshot>) {\n const instance = await ChatModel.fromName(`${providerId}:${modelId}` as FullModelName);\n if (!(instance instanceof VercelChatModel)) {\n throw new Error(\"Incorrect deserialization!\");\n }\n instance.destroy();\n Object.assign(this, {\n ...snapshot,\n model: instance.model,\n });\n }\n}\n"]}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Logger } from '../../../logger/logger.cjs';
|
|
2
|
+
import { m as ChatModel, g as ChatModelEvents, d as ChatModelInput, n as ChatModelOutput, a as ChatModelObjectInput, b as ChatModelObjectOutput, i as ChatModelCache, C as ChatModelParameters, l as ChatModelToolChoiceSupport } from '../../../chat-DvMzAHj6.cjs';
|
|
2
3
|
import { LanguageModelV1, generateText, CoreAssistantMessage, CoreToolMessage } from 'ai';
|
|
3
|
-
import { E as Emitter } from '../../../emitter-
|
|
4
|
+
import { E as Emitter } from '../../../emitter-D5Mu0EEH.cjs';
|
|
4
5
|
import { Message } from '../../../backend/message.cjs';
|
|
5
6
|
import { GetRunContext } from '../../../context.cjs';
|
|
6
|
-
import '
|
|
7
|
+
import 'pino';
|
|
8
|
+
import '../../../errors.cjs';
|
|
7
9
|
import '../../../internals/types.cjs';
|
|
8
10
|
import '../../../internals/helpers/guards.cjs';
|
|
9
|
-
import '../../../
|
|
11
|
+
import '../../../internals/serializable.cjs';
|
|
10
12
|
import 'promise-based-task';
|
|
11
13
|
import '../../../cache/base.cjs';
|
|
12
|
-
import '../../../backend/utils.cjs';
|
|
13
14
|
import '../../../backend/constants.cjs';
|
|
14
15
|
import '../../../tools/base.cjs';
|
|
15
16
|
import 'ajv';
|
|
@@ -17,7 +18,7 @@ import '../../../internals/helpers/schema.cjs';
|
|
|
17
18
|
import 'zod';
|
|
18
19
|
import 'zod-to-json-schema';
|
|
19
20
|
import '../../../internals/helpers/promise.cjs';
|
|
20
|
-
import '
|
|
21
|
+
import '../../../template.cjs';
|
|
21
22
|
|
|
22
23
|
declare abstract class VercelChatModel<M extends LanguageModelV1 = LanguageModelV1> extends ChatModel {
|
|
23
24
|
private readonly model;
|
|
@@ -26,7 +27,7 @@ declare abstract class VercelChatModel<M extends LanguageModelV1 = LanguageModel
|
|
|
26
27
|
constructor(model: M);
|
|
27
28
|
get modelId(): string;
|
|
28
29
|
get providerId(): string;
|
|
29
|
-
protected _create(input: ChatModelInput,
|
|
30
|
+
protected _create(input: ChatModelInput, run: GetRunContext<this>): Promise<ChatModelOutput>;
|
|
30
31
|
protected _createStructure<T>({ schema, ...input }: ChatModelObjectInput<T>, run: GetRunContext<this>): Promise<ChatModelObjectOutput<T>>;
|
|
31
32
|
_createStream(input: ChatModelInput, run: GetRunContext<this>): AsyncGenerator<ChatModelOutput, void, unknown>;
|
|
32
33
|
protected transformInput(input: ChatModelInput): Promise<Parameters<typeof generateText<Record<string, any>>>[0]>;
|
|
@@ -38,6 +39,10 @@ declare abstract class VercelChatModel<M extends LanguageModelV1 = LanguageModel
|
|
|
38
39
|
cache: ChatModelCache;
|
|
39
40
|
emitter: Emitter<ChatModelEvents>;
|
|
40
41
|
parameters: ChatModelParameters;
|
|
42
|
+
logger: Logger;
|
|
43
|
+
toolChoiceSupport: ChatModelToolChoiceSupport[];
|
|
44
|
+
toolCallFallbackViaResponseFormat: boolean;
|
|
45
|
+
modelSupportsToolCalling: boolean;
|
|
41
46
|
};
|
|
42
47
|
loadSnapshot({ providerId, modelId, ...snapshot }: ReturnType<typeof this.createSnapshot>): Promise<void>;
|
|
43
48
|
}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Logger } from '../../../logger/logger.js';
|
|
2
|
+
import { m as ChatModel, g as ChatModelEvents, d as ChatModelInput, n as ChatModelOutput, a as ChatModelObjectInput, b as ChatModelObjectOutput, i as ChatModelCache, C as ChatModelParameters, l as ChatModelToolChoiceSupport } from '../../../chat-BdN8hGWn.js';
|
|
2
3
|
import { LanguageModelV1, generateText, CoreAssistantMessage, CoreToolMessage } from 'ai';
|
|
3
|
-
import { E as Emitter } from '../../../emitter-
|
|
4
|
+
import { E as Emitter } from '../../../emitter-C3dO-s2P.js';
|
|
4
5
|
import { Message } from '../../../backend/message.js';
|
|
5
6
|
import { GetRunContext } from '../../../context.js';
|
|
6
|
-
import '
|
|
7
|
+
import 'pino';
|
|
8
|
+
import '../../../errors.js';
|
|
7
9
|
import '../../../internals/types.js';
|
|
8
10
|
import '../../../internals/helpers/guards.js';
|
|
9
|
-
import '../../../
|
|
11
|
+
import '../../../internals/serializable.js';
|
|
10
12
|
import 'promise-based-task';
|
|
11
13
|
import '../../../cache/base.js';
|
|
12
|
-
import '../../../backend/utils.js';
|
|
13
14
|
import '../../../backend/constants.js';
|
|
14
15
|
import '../../../tools/base.js';
|
|
15
16
|
import 'ajv';
|
|
@@ -17,7 +18,7 @@ import '../../../internals/helpers/schema.js';
|
|
|
17
18
|
import 'zod';
|
|
18
19
|
import 'zod-to-json-schema';
|
|
19
20
|
import '../../../internals/helpers/promise.js';
|
|
20
|
-
import '
|
|
21
|
+
import '../../../template.js';
|
|
21
22
|
|
|
22
23
|
declare abstract class VercelChatModel<M extends LanguageModelV1 = LanguageModelV1> extends ChatModel {
|
|
23
24
|
private readonly model;
|
|
@@ -26,7 +27,7 @@ declare abstract class VercelChatModel<M extends LanguageModelV1 = LanguageModel
|
|
|
26
27
|
constructor(model: M);
|
|
27
28
|
get modelId(): string;
|
|
28
29
|
get providerId(): string;
|
|
29
|
-
protected _create(input: ChatModelInput,
|
|
30
|
+
protected _create(input: ChatModelInput, run: GetRunContext<this>): Promise<ChatModelOutput>;
|
|
30
31
|
protected _createStructure<T>({ schema, ...input }: ChatModelObjectInput<T>, run: GetRunContext<this>): Promise<ChatModelObjectOutput<T>>;
|
|
31
32
|
_createStream(input: ChatModelInput, run: GetRunContext<this>): AsyncGenerator<ChatModelOutput, void, unknown>;
|
|
32
33
|
protected transformInput(input: ChatModelInput): Promise<Parameters<typeof generateText<Record<string, any>>>[0]>;
|
|
@@ -38,6 +39,10 @@ declare abstract class VercelChatModel<M extends LanguageModelV1 = LanguageModel
|
|
|
38
39
|
cache: ChatModelCache;
|
|
39
40
|
emitter: Emitter<ChatModelEvents>;
|
|
40
41
|
parameters: ChatModelParameters;
|
|
42
|
+
logger: Logger;
|
|
43
|
+
toolChoiceSupport: ChatModelToolChoiceSupport[];
|
|
44
|
+
toolCallFallbackViaResponseFormat: boolean;
|
|
45
|
+
modelSupportsToolCalling: boolean;
|
|
41
46
|
};
|
|
42
47
|
loadSnapshot({ providerId, modelId, ...snapshot }: ReturnType<typeof this.createSnapshot>): Promise<void>;
|
|
43
48
|
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { ChatModel, ChatModelOutput } from '../../../backend/chat.js';
|
|
2
|
-
import { generateText, generateObject,
|
|
2
|
+
import { generateText, generateObject, jsonSchema, streamText } from 'ai';
|
|
3
3
|
import { Emitter } from '../../../emitter/emitter.js';
|
|
4
|
-
import {
|
|
4
|
+
import { AssistantMessage, ToolMessage, UserMessage, SystemMessage } from '../../../backend/message.js';
|
|
5
5
|
import { ValueError } from '../../../errors.js';
|
|
6
6
|
import { toCamelCase, isEmpty, mapToObj } from 'remeda';
|
|
7
7
|
import { ChatModelError } from '../../../backend/errors.js';
|
|
8
|
-
import { ZodArray, ZodEnum } from 'zod';
|
|
8
|
+
import { ZodSchema, z, ZodArray, ZodEnum } from 'zod';
|
|
9
|
+
import { Tool } from '../../../tools/base.js';
|
|
9
10
|
|
|
10
11
|
var __defProp = Object.defineProperty;
|
|
11
12
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
@@ -37,23 +38,38 @@ class VercelChatModel extends ChatModel {
|
|
|
37
38
|
const provider = this.model.provider.split(".")[0].split("-")[0];
|
|
38
39
|
return toCamelCase(provider);
|
|
39
40
|
}
|
|
40
|
-
async _create(input,
|
|
41
|
+
async _create(input, run) {
|
|
42
|
+
const responseFormat = input.responseFormat;
|
|
43
|
+
if (responseFormat && (responseFormat instanceof ZodSchema || responseFormat.schema)) {
|
|
44
|
+
const { output } = await this._createStructure({
|
|
45
|
+
...input,
|
|
46
|
+
schema: responseFormat
|
|
47
|
+
}, run);
|
|
48
|
+
return output;
|
|
49
|
+
}
|
|
41
50
|
const { finishReason, usage, response: { messages } } = await generateText(await this.transformInput(input));
|
|
42
51
|
return new ChatModelOutput(this.transformMessages(messages), usage, finishReason);
|
|
43
52
|
}
|
|
44
53
|
async _createStructure({ schema, ...input }, run) {
|
|
45
|
-
const inputSchema = schema._input || schema;
|
|
46
54
|
const response = await generateObject({
|
|
47
55
|
temperature: 0,
|
|
48
56
|
...await this.transformInput(input),
|
|
49
|
-
schema,
|
|
50
57
|
abortSignal: run.signal,
|
|
51
58
|
model: this.model,
|
|
52
|
-
|
|
53
|
-
|
|
59
|
+
...schema instanceof ZodSchema ? {
|
|
60
|
+
schema,
|
|
61
|
+
output: (schema._input || schema) instanceof ZodArray ? "array" : (schema._input || schema) instanceof ZodEnum ? "enum" : "object"
|
|
62
|
+
} : {
|
|
63
|
+
schema: schema.schema ? jsonSchema(schema.schema) : z.any(),
|
|
64
|
+
schemaName: schema.name,
|
|
65
|
+
schemaDescription: schema.description
|
|
66
|
+
}
|
|
54
67
|
});
|
|
55
68
|
return {
|
|
56
|
-
object: response.object
|
|
69
|
+
object: response.object,
|
|
70
|
+
output: new ChatModelOutput([
|
|
71
|
+
new AssistantMessage(JSON.stringify(response.object, null, 2))
|
|
72
|
+
], response.usage, response.finishReason)
|
|
57
73
|
};
|
|
58
74
|
}
|
|
59
75
|
async *_createStream(input, run) {
|
|
@@ -135,7 +151,7 @@ class VercelChatModel extends ChatModel {
|
|
|
135
151
|
};
|
|
136
152
|
} else if (msg instanceof UserMessage) {
|
|
137
153
|
return {
|
|
138
|
-
role:
|
|
154
|
+
role: msg.role,
|
|
139
155
|
content: msg.content
|
|
140
156
|
};
|
|
141
157
|
} else if (msg instanceof SystemMessage) {
|
|
@@ -149,9 +165,27 @@ class VercelChatModel extends ChatModel {
|
|
|
149
165
|
content: msg.content
|
|
150
166
|
};
|
|
151
167
|
});
|
|
168
|
+
let toolChoice;
|
|
169
|
+
if (input.toolChoice && input.toolChoice instanceof Tool) {
|
|
170
|
+
if (this.toolChoiceSupport.includes("single")) {
|
|
171
|
+
toolChoice = {
|
|
172
|
+
type: "tool",
|
|
173
|
+
toolName: input.toolChoice.name
|
|
174
|
+
};
|
|
175
|
+
} else {
|
|
176
|
+
this.logger.warn(`The single tool choice is not supported.`);
|
|
177
|
+
}
|
|
178
|
+
} else if (input.toolChoice) {
|
|
179
|
+
if (this.toolChoiceSupport.includes(input.toolChoice)) {
|
|
180
|
+
toolChoice = input.toolChoice;
|
|
181
|
+
} else {
|
|
182
|
+
this.logger.warn(`The following tool choice value '${input.toolChoice}' is not supported.`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
152
185
|
return {
|
|
153
186
|
...this.parameters,
|
|
154
187
|
...input,
|
|
188
|
+
toolChoice,
|
|
155
189
|
model: this.model,
|
|
156
190
|
tools: mapToObj(tools, ({ name, ...tool }) => [
|
|
157
191
|
name,
|