beeai-framework 0.1.20 → 0.1.22
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/dist/adapters/a2a/agents/agent.cjs +4 -4
- package/dist/adapters/a2a/agents/agent.cjs.map +1 -1
- package/dist/adapters/a2a/agents/agent.d.cts +6 -10
- package/dist/adapters/a2a/agents/agent.d.ts +6 -10
- package/dist/adapters/a2a/agents/agent.js +4 -4
- package/dist/adapters/a2a/agents/agent.js.map +1 -1
- package/dist/adapters/a2a/agents/events.d.cts +1 -1
- package/dist/adapters/a2a/agents/events.d.ts +1 -1
- package/dist/adapters/a2a/agents/types.d.cts +2 -2
- package/dist/adapters/a2a/agents/types.d.ts +2 -2
- package/dist/adapters/a2a/agents/utils.cjs +2 -2
- package/dist/adapters/a2a/agents/utils.cjs.map +1 -1
- package/dist/adapters/a2a/agents/utils.js +2 -2
- package/dist/adapters/a2a/agents/utils.js.map +1 -1
- package/dist/adapters/a2a/serve/agent_executor.cjs +1 -3
- package/dist/adapters/a2a/serve/agent_executor.cjs.map +1 -1
- package/dist/adapters/a2a/serve/agent_executor.d.cts +4 -3
- package/dist/adapters/a2a/serve/agent_executor.d.ts +4 -3
- package/dist/adapters/a2a/serve/agent_executor.js +1 -3
- package/dist/adapters/a2a/serve/agent_executor.js.map +1 -1
- package/dist/adapters/a2a/serve/server.cjs +15 -0
- package/dist/adapters/a2a/serve/server.cjs.map +1 -1
- package/dist/adapters/a2a/serve/server.d.cts +4 -2
- package/dist/adapters/a2a/serve/server.d.ts +4 -2
- package/dist/adapters/a2a/serve/server.js +15 -0
- package/dist/adapters/a2a/serve/server.js.map +1 -1
- package/dist/adapters/acp/agents/agent.d.cts +6 -10
- package/dist/adapters/acp/agents/agent.d.ts +6 -10
- package/dist/adapters/acp/agents/events.d.cts +1 -1
- package/dist/adapters/acp/agents/events.d.ts +1 -1
- package/dist/adapters/{beeai_platform → agentstack}/agents/agent.cjs +4 -4
- package/dist/adapters/agentstack/agents/agent.cjs.map +1 -0
- package/dist/adapters/{beeai_platform → agentstack}/agents/agent.d.cts +18 -16
- package/dist/adapters/{beeai_platform → agentstack}/agents/agent.d.ts +18 -16
- package/dist/adapters/{beeai_platform → agentstack}/agents/agent.js +4 -4
- package/dist/adapters/agentstack/agents/agent.js.map +1 -0
- package/dist/adapters/agentstack/agents/events.d.cts +23 -0
- package/dist/adapters/agentstack/agents/events.d.ts +23 -0
- package/dist/adapters/{beeai_platform → agentstack}/agents/types.d.cts +4 -4
- package/dist/adapters/{beeai_platform → agentstack}/agents/types.d.ts +4 -4
- package/dist/adapters/amazon-bedrock/backend/chat.cjs +3 -2
- package/dist/adapters/amazon-bedrock/backend/chat.cjs.map +1 -1
- package/dist/adapters/amazon-bedrock/backend/chat.d.cts +5 -6
- package/dist/adapters/amazon-bedrock/backend/chat.d.ts +5 -6
- package/dist/adapters/amazon-bedrock/backend/chat.js +3 -2
- package/dist/adapters/amazon-bedrock/backend/chat.js.map +1 -1
- package/dist/adapters/amazon-bedrock/backend/embedding.cjs +2 -2
- package/dist/adapters/amazon-bedrock/backend/embedding.cjs.map +1 -1
- package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +4 -4
- package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +4 -4
- package/dist/adapters/amazon-bedrock/backend/embedding.js +2 -2
- package/dist/adapters/amazon-bedrock/backend/embedding.js.map +1 -1
- package/dist/adapters/anthropic/backend/chat.cjs +3 -2
- package/dist/adapters/anthropic/backend/chat.cjs.map +1 -1
- package/dist/adapters/anthropic/backend/chat.d.cts +5 -6
- package/dist/adapters/anthropic/backend/chat.d.ts +5 -6
- package/dist/adapters/anthropic/backend/chat.js +3 -2
- package/dist/adapters/anthropic/backend/chat.js.map +1 -1
- package/dist/adapters/anthropic/backend/embedding.d.cts +2 -2
- package/dist/adapters/anthropic/backend/embedding.d.ts +2 -2
- package/dist/adapters/azure-openai/backend/chat.cjs +3 -2
- package/dist/adapters/azure-openai/backend/chat.cjs.map +1 -1
- package/dist/adapters/azure-openai/backend/chat.d.cts +5 -6
- package/dist/adapters/azure-openai/backend/chat.d.ts +5 -6
- package/dist/adapters/azure-openai/backend/chat.js +3 -2
- package/dist/adapters/azure-openai/backend/chat.js.map +1 -1
- package/dist/adapters/azure-openai/backend/embedding.cjs +2 -2
- package/dist/adapters/azure-openai/backend/embedding.cjs.map +1 -1
- package/dist/adapters/azure-openai/backend/embedding.d.cts +3 -3
- package/dist/adapters/azure-openai/backend/embedding.d.ts +3 -3
- package/dist/adapters/azure-openai/backend/embedding.js +2 -2
- package/dist/adapters/azure-openai/backend/embedding.js.map +1 -1
- package/dist/adapters/dummy/backend/chat.d.cts +2 -2
- package/dist/adapters/dummy/backend/chat.d.ts +2 -2
- package/dist/adapters/dummy/backend/embedding.d.cts +2 -2
- package/dist/adapters/dummy/backend/embedding.d.ts +2 -2
- package/dist/adapters/google-vertex/backend/chat.cjs +3 -2
- package/dist/adapters/google-vertex/backend/chat.cjs.map +1 -1
- package/dist/adapters/google-vertex/backend/chat.d.cts +5 -6
- package/dist/adapters/google-vertex/backend/chat.d.ts +5 -6
- package/dist/adapters/google-vertex/backend/chat.js +3 -2
- package/dist/adapters/google-vertex/backend/chat.js.map +1 -1
- package/dist/adapters/google-vertex/backend/embedding.d.cts +2 -2
- package/dist/adapters/google-vertex/backend/embedding.d.ts +2 -2
- package/dist/adapters/groq/backend/chat.cjs +3 -2
- package/dist/adapters/groq/backend/chat.cjs.map +1 -1
- package/dist/adapters/groq/backend/chat.d.cts +5 -6
- package/dist/adapters/groq/backend/chat.d.ts +5 -6
- package/dist/adapters/groq/backend/chat.js +3 -2
- package/dist/adapters/groq/backend/chat.js.map +1 -1
- package/dist/adapters/groq/backend/embedding.d.cts +2 -2
- package/dist/adapters/groq/backend/embedding.d.ts +2 -2
- package/dist/adapters/langchain/backend/chat.cjs +6 -5
- package/dist/adapters/langchain/backend/chat.cjs.map +1 -1
- package/dist/adapters/langchain/backend/chat.d.cts +2 -2
- package/dist/adapters/langchain/backend/chat.d.ts +2 -2
- package/dist/adapters/langchain/backend/chat.js +6 -5
- package/dist/adapters/langchain/backend/chat.js.map +1 -1
- package/dist/adapters/langchain/backend/embedding.d.cts +3 -3
- package/dist/adapters/langchain/backend/embedding.d.ts +3 -3
- package/dist/adapters/langchain/tools.d.cts +1 -1
- package/dist/adapters/langchain/tools.d.ts +1 -1
- package/dist/adapters/ollama/backend/chat.cjs +1 -4
- package/dist/adapters/ollama/backend/chat.cjs.map +1 -1
- package/dist/adapters/ollama/backend/chat.d.cts +4 -4
- package/dist/adapters/ollama/backend/chat.d.ts +4 -4
- package/dist/adapters/ollama/backend/chat.js +1 -4
- package/dist/adapters/ollama/backend/chat.js.map +1 -1
- package/dist/adapters/ollama/backend/client.cjs +2 -2
- 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 +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 +3 -3
- package/dist/adapters/ollama/backend/embedding.d.ts +3 -3
- package/dist/adapters/ollama/backend/embedding.js.map +1 -1
- package/dist/adapters/openai/backend/chat.cjs +3 -2
- package/dist/adapters/openai/backend/chat.cjs.map +1 -1
- package/dist/adapters/openai/backend/chat.d.cts +5 -6
- package/dist/adapters/openai/backend/chat.d.ts +5 -6
- package/dist/adapters/openai/backend/chat.js +3 -2
- package/dist/adapters/openai/backend/chat.js.map +1 -1
- package/dist/adapters/openai/backend/client.cjs +2 -11
- package/dist/adapters/openai/backend/client.cjs.map +1 -1
- package/dist/adapters/openai/backend/client.js +3 -12
- package/dist/adapters/openai/backend/client.js.map +1 -1
- package/dist/adapters/openai/backend/embedding.cjs +2 -2
- package/dist/adapters/openai/backend/embedding.cjs.map +1 -1
- package/dist/adapters/openai/backend/embedding.d.cts +4 -4
- package/dist/adapters/openai/backend/embedding.d.ts +4 -4
- package/dist/adapters/openai/backend/embedding.js +2 -2
- package/dist/adapters/openai/backend/embedding.js.map +1 -1
- package/dist/adapters/vercel/backend/chat.cjs +26 -21
- package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
- package/dist/adapters/vercel/backend/chat.d.cts +6 -4
- package/dist/adapters/vercel/backend/chat.d.ts +6 -4
- package/dist/adapters/vercel/backend/chat.js +27 -22
- 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 +3 -3
- package/dist/adapters/vercel/backend/embedding.d.ts +3 -3
- package/dist/adapters/vercel/backend/embedding.js.map +1 -1
- package/dist/adapters/vercel/backend/utils.cjs +26 -0
- package/dist/adapters/vercel/backend/utils.cjs.map +1 -1
- package/dist/adapters/vercel/backend/utils.d.cts +20 -2
- package/dist/adapters/vercel/backend/utils.d.ts +20 -2
- package/dist/adapters/vercel/backend/utils.js +25 -1
- package/dist/adapters/vercel/backend/utils.js.map +1 -1
- package/dist/adapters/watsonx/backend/chat.cjs +10 -4
- package/dist/adapters/watsonx/backend/chat.cjs.map +1 -1
- package/dist/adapters/watsonx/backend/chat.d.cts +2 -2
- package/dist/adapters/watsonx/backend/chat.d.ts +2 -2
- package/dist/adapters/watsonx/backend/chat.js +10 -4
- package/dist/adapters/watsonx/backend/chat.js.map +1 -1
- package/dist/adapters/watsonx/backend/embedding.d.cts +2 -2
- package/dist/adapters/watsonx/backend/embedding.d.ts +2 -2
- package/dist/adapters/xai/backend/chat.cjs +3 -2
- package/dist/adapters/xai/backend/chat.cjs.map +1 -1
- package/dist/adapters/xai/backend/chat.d.cts +5 -6
- package/dist/adapters/xai/backend/chat.d.ts +5 -6
- package/dist/adapters/xai/backend/chat.js +3 -2
- package/dist/adapters/xai/backend/chat.js.map +1 -1
- package/dist/{agent-I0Saf4A1.d.cts → agent-BMfyig7X.d.cts} +5 -4
- package/dist/{agent-CtrCeN7o.d.ts → agent-Dxw8AGWb.d.ts} +5 -4
- package/dist/agents/base.cjs +5 -2
- 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 +5 -2
- package/dist/agents/base.js.map +1 -1
- package/dist/agents/experimental/replan/agent.d.cts +3 -3
- package/dist/agents/experimental/replan/agent.d.ts +3 -3
- package/dist/agents/experimental/replan/prompts.d.cts +1 -1
- package/dist/agents/experimental/replan/prompts.d.ts +1 -1
- package/dist/agents/experimental/streamlit/agent.d.cts +8 -12
- package/dist/agents/experimental/streamlit/agent.d.ts +8 -12
- package/dist/agents/react/agent.d.cts +5 -4
- package/dist/agents/react/agent.d.ts +5 -4
- package/dist/agents/react/prompts.d.cts +1 -1
- package/dist/agents/react/prompts.d.ts +1 -1
- package/dist/agents/react/runners/base.cjs.map +1 -1
- package/dist/agents/react/runners/base.d.cts +5 -4
- package/dist/agents/react/runners/base.d.ts +5 -4
- package/dist/agents/react/runners/base.js.map +1 -1
- package/dist/agents/react/runners/deep-think/prompts.d.cts +1 -1
- package/dist/agents/react/runners/deep-think/prompts.d.ts +1 -1
- package/dist/agents/react/runners/deep-think/runner.d.cts +6 -5
- package/dist/agents/react/runners/deep-think/runner.d.ts +6 -5
- package/dist/agents/react/runners/default/runner.cjs.map +1 -1
- package/dist/agents/react/runners/default/runner.d.cts +6 -5
- package/dist/agents/react/runners/default/runner.d.ts +6 -5
- package/dist/agents/react/runners/default/runner.js.map +1 -1
- package/dist/agents/react/runners/granite/prompts.d.cts +1 -1
- package/dist/agents/react/runners/granite/prompts.d.ts +1 -1
- package/dist/agents/react/runners/granite/runner.cjs +4 -2
- package/dist/agents/react/runners/granite/runner.cjs.map +1 -1
- package/dist/agents/react/runners/granite/runner.d.cts +6 -5
- package/dist/agents/react/runners/granite/runner.d.ts +6 -5
- package/dist/agents/react/runners/granite/runner.js +4 -2
- package/dist/agents/react/runners/granite/runner.js.map +1 -1
- package/dist/agents/react/types.d.cts +3 -2
- package/dist/agents/react/types.d.ts +3 -2
- package/dist/agents/requirement/agent.cjs +162 -0
- package/dist/agents/requirement/agent.cjs.map +1 -0
- package/dist/agents/requirement/agent.d.cts +29 -0
- package/dist/agents/requirement/agent.d.ts +29 -0
- package/dist/agents/requirement/agent.js +160 -0
- package/dist/agents/requirement/agent.js.map +1 -0
- package/dist/agents/requirement/prompts.cjs +95 -0
- package/dist/agents/requirement/prompts.cjs.map +1 -0
- package/dist/agents/requirement/prompts.d.cts +107 -0
- package/dist/agents/requirement/prompts.d.ts +107 -0
- package/dist/agents/requirement/prompts.js +90 -0
- package/dist/agents/requirement/prompts.js.map +1 -0
- package/dist/agents/requirement/requirements/conditional.cjs +190 -0
- package/dist/agents/requirement/requirements/conditional.cjs.map +1 -0
- package/dist/agents/requirement/requirements/conditional.d.cts +71 -0
- package/dist/agents/requirement/requirements/conditional.d.ts +71 -0
- package/dist/agents/requirement/requirements/conditional.js +188 -0
- package/dist/agents/requirement/requirements/conditional.js.map +1 -0
- package/dist/agents/requirement/requirements/requirement.cjs +107 -0
- package/dist/agents/requirement/requirements/requirement.cjs.map +1 -0
- package/dist/agents/requirement/requirements/requirement.d.cts +59 -0
- package/dist/agents/requirement/requirements/requirement.d.ts +59 -0
- package/dist/agents/requirement/requirements/requirement.js +104 -0
- package/dist/agents/requirement/requirements/requirement.js.map +1 -0
- package/dist/agents/requirement/requirements/utils.cjs +74 -0
- package/dist/agents/requirement/requirements/utils.cjs.map +1 -0
- package/dist/agents/requirement/requirements/utils.d.cts +40 -0
- package/dist/agents/requirement/requirements/utils.d.ts +40 -0
- package/dist/agents/requirement/requirements/utils.js +69 -0
- package/dist/agents/requirement/requirements/utils.js.map +1 -0
- package/dist/agents/requirement/runner.cjs +252 -0
- package/dist/agents/requirement/runner.cjs.map +1 -0
- package/dist/agents/requirement/runner.d.cts +117 -0
- package/dist/agents/requirement/runner.d.ts +117 -0
- package/dist/agents/requirement/runner.js +250 -0
- package/dist/agents/requirement/runner.js.map +1 -0
- package/dist/agents/requirement/types.cjs +40 -0
- package/dist/agents/requirement/types.cjs.map +1 -0
- package/dist/agents/requirement/types.d.cts +24 -0
- package/dist/agents/requirement/types.d.ts +24 -0
- package/dist/agents/requirement/types.js +35 -0
- package/dist/agents/requirement/types.js.map +1 -0
- package/dist/agents/requirement/utils/llm.cjs +202 -0
- package/dist/agents/requirement/utils/llm.cjs.map +1 -0
- package/dist/agents/requirement/utils/llm.d.cts +50 -0
- package/dist/agents/requirement/utils/llm.d.ts +50 -0
- package/dist/agents/requirement/utils/llm.js +199 -0
- package/dist/agents/requirement/utils/llm.js.map +1 -0
- package/dist/agents/requirement/utils/tool.cjs +94 -0
- package/dist/agents/requirement/utils/tool.cjs.map +1 -0
- package/dist/agents/requirement/utils/tool.d.cts +24 -0
- package/dist/agents/requirement/utils/tool.d.ts +24 -0
- package/dist/agents/requirement/utils/tool.js +91 -0
- package/dist/agents/requirement/utils/tool.js.map +1 -0
- package/dist/agents/requirement/utils/toolCallChecker.cjs +61 -0
- package/dist/agents/requirement/utils/toolCallChecker.cjs.map +1 -0
- package/dist/agents/requirement/utils/toolCallChecker.d.cts +28 -0
- package/dist/agents/requirement/utils/toolCallChecker.d.ts +28 -0
- package/dist/agents/requirement/utils/toolCallChecker.js +59 -0
- package/dist/agents/requirement/utils/toolCallChecker.js.map +1 -0
- package/dist/agents/toolCalling/agent.cjs +9 -5
- package/dist/agents/toolCalling/agent.cjs.map +1 -1
- package/dist/agents/toolCalling/agent.d.cts +8 -12
- package/dist/agents/toolCalling/agent.d.ts +8 -12
- package/dist/agents/toolCalling/agent.js +9 -5
- package/dist/agents/toolCalling/agent.js.map +1 -1
- package/dist/agents/toolCalling/types.d.cts +1 -1
- package/dist/agents/toolCalling/types.d.ts +1 -1
- package/dist/agents/types.d.cts +2 -2
- package/dist/agents/types.d.ts +2 -2
- package/dist/backend/backend.d.cts +2 -2
- package/dist/backend/backend.d.ts +2 -2
- package/dist/backend/chat.cjs +1 -1
- package/dist/backend/chat.cjs.map +1 -1
- package/dist/backend/chat.d.cts +2 -2
- package/dist/backend/chat.d.ts +2 -2
- package/dist/backend/chat.js +1 -1
- package/dist/backend/chat.js.map +1 -1
- package/dist/backend/core.d.cts +2 -2
- package/dist/backend/core.d.ts +2 -2
- package/dist/backend/embedding.d.cts +2 -2
- package/dist/backend/embedding.d.ts +2 -2
- package/dist/backend/message.cjs +59 -3
- package/dist/backend/message.cjs.map +1 -1
- package/dist/backend/message.d.cts +3 -0
- package/dist/backend/message.d.ts +3 -0
- package/dist/backend/message.js +59 -3
- package/dist/backend/message.js.map +1 -1
- package/dist/backend/utils.d.cts +2 -2
- package/dist/backend/utils.d.ts +2 -2
- package/dist/{base-BsY2baWy.d.ts → base-BurRTBA7.d.ts} +4 -2
- package/dist/{base-BP7v-NSL.d.cts → base-v-PYIq5G.d.cts} +4 -2
- package/dist/cache/fileCache.cjs.map +1 -1
- package/dist/cache/fileCache.js.map +1 -1
- package/dist/{chat-W9j8T6UU.d.ts → chat-BbCYMAdE.d.ts} +4 -2
- package/dist/{chat-CR4yfOR9.d.cts → chat-DB_cf15S.d.cts} +4 -2
- package/dist/context.cjs +22 -5
- package/dist/context.cjs.map +1 -1
- package/dist/context.d.cts +19 -6
- package/dist/context.d.ts +19 -6
- package/dist/context.js +23 -7
- package/dist/context.js.map +1 -1
- package/dist/emitter/emitter.cjs +19 -13
- 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 +19 -13
- package/dist/emitter/emitter.js.map +1 -1
- package/dist/emitter/types.d.cts +1 -1
- package/dist/emitter/types.d.ts +1 -1
- package/dist/{emitter-DWEsd-ud.d.cts → emitter-CGKd_-kK.d.cts} +6 -5
- package/dist/{emitter-C9nwGLt6.d.ts → emitter-CN7I4uSV.d.ts} +6 -5
- package/dist/index.d.cts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/internals/fetcher.d.cts +1 -1
- package/dist/internals/fetcher.d.ts +1 -1
- package/dist/internals/helpers/array.cjs +35 -0
- package/dist/internals/helpers/array.cjs.map +1 -1
- package/dist/internals/helpers/array.d.cts +6 -1
- package/dist/internals/helpers/array.d.ts +6 -1
- package/dist/internals/helpers/array.js +35 -1
- package/dist/internals/helpers/array.js.map +1 -1
- package/dist/internals/helpers/object.cjs +30 -5
- package/dist/internals/helpers/object.cjs.map +1 -1
- package/dist/internals/helpers/object.d.cts +3 -2
- package/dist/internals/helpers/object.d.ts +3 -2
- package/dist/internals/helpers/object.js +29 -5
- package/dist/internals/helpers/object.js.map +1 -1
- package/dist/internals/helpers/prototype.cjs +5 -0
- package/dist/internals/helpers/prototype.cjs.map +1 -1
- package/dist/internals/helpers/prototype.d.cts +2 -1
- package/dist/internals/helpers/prototype.d.ts +2 -1
- package/dist/internals/helpers/prototype.js +5 -1
- package/dist/internals/helpers/prototype.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 +8 -4
- package/dist/logger/logger.cjs.map +1 -1
- package/dist/logger/logger.d.cts +21 -15
- package/dist/logger/logger.d.ts +21 -15
- package/dist/logger/logger.js +6 -3
- package/dist/logger/logger.js.map +1 -1
- package/dist/logger/pretty.cjs +2 -2
- package/dist/logger/pretty.cjs.map +1 -1
- package/dist/logger/pretty.js +2 -2
- package/dist/logger/pretty.js.map +1 -1
- package/dist/memory/slidingMemory.d.cts +1 -1
- package/dist/memory/slidingMemory.d.ts +1 -1
- package/dist/memory/summarizeMemory.d.cts +2 -2
- package/dist/memory/summarizeMemory.d.ts +2 -2
- package/dist/middleware/trajectory.cjs +322 -0
- package/dist/middleware/trajectory.cjs.map +1 -0
- package/dist/middleware/trajectory.d.cts +115 -0
- package/dist/middleware/trajectory.d.ts +115 -0
- package/dist/middleware/trajectory.js +320 -0
- package/dist/middleware/trajectory.js.map +1 -0
- package/dist/parsers/linePrefix.cjs.map +1 -1
- package/dist/parsers/linePrefix.d.cts +4 -8
- package/dist/parsers/linePrefix.d.ts +4 -8
- package/dist/parsers/linePrefix.js.map +1 -1
- package/dist/serializer/serializer.cjs +5 -4
- 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 +5 -4
- package/dist/serializer/serializer.js.map +1 -1
- package/dist/serializer/utils.cjs +3 -0
- 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 +3 -0
- package/dist/serializer/utils.js.map +1 -1
- package/dist/{serializer-CQxucveV.d.ts → serializer-53t8gGQa.d.ts} +3 -2
- package/dist/{serializer-BKn50Vnx.d.cts → serializer-c51B2z6d.d.cts} +3 -2
- package/dist/template.cjs +20 -0
- package/dist/template.cjs.map +1 -1
- package/dist/template.d.cts +1 -0
- package/dist/template.d.ts +1 -0
- package/dist/template.js +20 -0
- package/dist/template.js.map +1 -1
- package/dist/tools/arxiv.cjs.map +1 -1
- package/dist/tools/arxiv.d.cts +1 -1
- package/dist/tools/arxiv.d.ts +1 -1
- package/dist/tools/arxiv.js.map +1 -1
- package/dist/tools/base.cjs.map +1 -1
- package/dist/tools/base.d.cts +3 -2
- package/dist/tools/base.d.ts +3 -2
- package/dist/tools/base.js.map +1 -1
- package/dist/tools/calculator.d.cts +1 -1
- package/dist/tools/calculator.d.ts +1 -1
- package/dist/tools/custom.d.cts +2 -2
- package/dist/tools/custom.d.ts +2 -2
- package/dist/tools/database/elasticsearch.cjs.map +1 -1
- package/dist/tools/database/elasticsearch.d.cts +1 -1
- package/dist/tools/database/elasticsearch.d.ts +1 -1
- package/dist/tools/database/elasticsearch.js.map +1 -1
- package/dist/tools/database/milvus.cjs +3 -3
- package/dist/tools/database/milvus.cjs.map +1 -1
- package/dist/tools/database/milvus.d.cts +3 -3
- package/dist/tools/database/milvus.d.ts +3 -3
- package/dist/tools/database/milvus.js +3 -3
- package/dist/tools/database/milvus.js.map +1 -1
- package/dist/tools/database/qdrant.cjs +2 -2
- package/dist/tools/database/qdrant.cjs.map +1 -1
- package/dist/tools/database/qdrant.d.cts +1 -1
- package/dist/tools/database/qdrant.d.ts +1 -1
- package/dist/tools/database/qdrant.js +2 -2
- package/dist/tools/database/qdrant.js.map +1 -1
- package/dist/tools/database/sql.cjs.map +1 -1
- package/dist/tools/database/sql.d.cts +1 -1
- package/dist/tools/database/sql.d.ts +1 -1
- package/dist/tools/database/sql.js.map +1 -1
- package/dist/tools/llm.d.cts +2 -2
- package/dist/tools/llm.d.ts +2 -2
- package/dist/tools/mcp.d.cts +1 -1
- package/dist/tools/mcp.d.ts +1 -1
- package/dist/tools/openapi.d.cts +1 -1
- package/dist/tools/openapi.d.ts +1 -1
- package/dist/tools/python/output.d.cts +1 -1
- package/dist/tools/python/output.d.ts +1 -1
- package/dist/tools/python/python.d.cts +2 -2
- package/dist/tools/python/python.d.ts +2 -2
- package/dist/tools/search/base.cjs.map +1 -1
- package/dist/tools/search/base.d.cts +1 -1
- package/dist/tools/search/base.d.ts +1 -1
- 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 +1 -1
- package/dist/tools/search/duckDuckGoSearch.d.ts +1 -1
- 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.d.cts +1 -1
- package/dist/tools/search/searXNGSearch.d.ts +1 -1
- package/dist/tools/search/wikipedia.cjs +25 -0
- package/dist/tools/search/wikipedia.cjs.map +1 -1
- package/dist/tools/search/wikipedia.d.cts +2 -3
- package/dist/tools/search/wikipedia.d.ts +2 -3
- package/dist/tools/search/wikipedia.js +23 -0
- package/dist/tools/search/wikipedia.js.map +1 -1
- package/dist/tools/similarity.d.cts +1 -1
- package/dist/tools/similarity.d.ts +1 -1
- package/dist/tools/think.cjs +52 -0
- package/dist/tools/think.cjs.map +1 -0
- package/dist/tools/think.d.cts +47 -0
- package/dist/tools/think.d.ts +47 -0
- package/dist/tools/think.js +50 -0
- package/dist/tools/think.js.map +1 -0
- package/dist/tools/weather/openMeteo.cjs.map +1 -1
- package/dist/tools/weather/openMeteo.d.cts +1 -1
- package/dist/tools/weather/openMeteo.d.ts +1 -1
- 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/types-BXkkbABd.d.ts +213 -0
- package/dist/types-Cx6f43du.d.cts +213 -0
- package/dist/version.cjs +1 -1
- package/dist/version.js +1 -1
- package/dist/workflows/agent.d.cts +3 -3
- package/dist/workflows/agent.d.ts +3 -3
- package/dist/workflows/workflow.d.cts +1 -1
- package/dist/workflows/workflow.d.ts +1 -1
- package/package.json +70 -69
- package/dist/adapters/beeai_platform/agents/agent.cjs.map +0 -1
- package/dist/adapters/beeai_platform/agents/agent.js.map +0 -1
- package/dist/adapters/beeai_platform/agents/events.d.cts +0 -23
- package/dist/adapters/beeai_platform/agents/events.d.ts +0 -23
- /package/dist/adapters/{beeai_platform → agentstack}/agents/events.cjs +0 -0
- /package/dist/adapters/{beeai_platform → agentstack}/agents/events.cjs.map +0 -0
- /package/dist/adapters/{beeai_platform → agentstack}/agents/events.js +0 -0
- /package/dist/adapters/{beeai_platform → agentstack}/agents/events.js.map +0 -0
- /package/dist/adapters/{beeai_platform → agentstack}/agents/types.cjs +0 -0
- /package/dist/adapters/{beeai_platform → agentstack}/agents/types.cjs.map +0 -0
- /package/dist/adapters/{beeai_platform → agentstack}/agents/types.js +0 -0
- /package/dist/adapters/{beeai_platform → agentstack}/agents/types.js.map +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapters/openai/backend/chat.ts"],"names":["OpenAIChatModel","VercelChatModel","modelId","getEnv","
|
|
1
|
+
{"version":3,"sources":["../../../../src/adapters/openai/backend/chat.ts"],"names":["OpenAIChatModel","VercelChatModel","modelId","getEnv","parameters","client","model","OpenAIClient","ensure","instance","chat","Object","assign"],"mappings":";;;;;;AAcO,MAAMA,wBAAwBC,eAAAA,CAAAA;EAdrC;;;EAeE,WAAA,CACEC,OAAAA,GAA6BC,OAAO,mBAAA,EAAqB,QAAA,GACzDC,UAAAA,GAAkC,IAClCC,MAAAA,EACA;AACA,IAAA,MAAMC,QAAQC,YAAAA,CAAaC,MAAAA,CAAOH,MAAAA,CAAAA,CAAQI,QAAAA,CAASC,KAAKR,OAAAA,CAAAA;AACxD,IAAA,KAAA,CAAMI,KAAAA,CAAAA;AACNK,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,IAAA,CAAKR,UAAAA,EAAYA,UAAAA,IAAc,EAAC,CAAA;AAChD;AACF","file":"chat.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\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\";\nimport { ChatModelParameters } from \"@/backend/chat.js\";\n\ntype OpenAIParameters = Parameters<OpenAIProvider[\"chat\"]>;\nexport type OpenAIChatModelId = NonNullable<OpenAIParameters[0]>;\n\nexport class OpenAIChatModel extends VercelChatModel {\n constructor(\n modelId: OpenAIChatModelId = getEnv(\"OPENAI_CHAT_MODEL\", \"gpt-4o\"),\n parameters: ChatModelParameters = {},\n client?: OpenAIClient | OpenAIClientSettings,\n ) {\n const model = OpenAIClient.ensure(client).instance.chat(modelId);\n super(model);\n Object.assign(this.parameters, parameters ?? {});\n }\n}\n"]}
|
|
@@ -12,21 +12,12 @@ class OpenAIClient extends client_cjs.BackendClient {
|
|
|
12
12
|
__name(this, "OpenAIClient");
|
|
13
13
|
}
|
|
14
14
|
create() {
|
|
15
|
-
const extraHeaders = utils_cjs.parseHeadersFromEnv("OPENAI_API_HEADERS");
|
|
16
|
-
const baseURL = this.settings?.baseURL || env_cjs.getEnv("OPENAI_API_ENDPOINT");
|
|
17
|
-
let compatibility = this.settings?.compatibility || env_cjs.getEnv("OPENAI_COMPATIBILITY_MODE");
|
|
18
|
-
if (baseURL && !compatibility) {
|
|
19
|
-
compatibility = "compatible";
|
|
20
|
-
} else if (!baseURL && !compatibility) {
|
|
21
|
-
compatibility = "strict";
|
|
22
|
-
}
|
|
23
15
|
return openai.createOpenAI({
|
|
24
16
|
...this.settings,
|
|
25
|
-
compatibility,
|
|
26
17
|
apiKey: this.settings?.apiKey || env_cjs.getEnv("OPENAI_API_KEY"),
|
|
27
|
-
baseURL,
|
|
18
|
+
baseURL: this.settings?.baseURL || env_cjs.getEnv("OPENAI_API_ENDPOINT"),
|
|
28
19
|
headers: {
|
|
29
|
-
...
|
|
20
|
+
...utils_cjs.parseHeadersFromEnv("OPENAI_API_HEADERS"),
|
|
30
21
|
...this.settings?.headers
|
|
31
22
|
},
|
|
32
23
|
fetch: utils_cjs.vercelFetcher(this.settings?.fetch)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapters/openai/backend/client.ts"],"names":["OpenAIClient","BackendClient","create","
|
|
1
|
+
{"version":3,"sources":["../../../../src/adapters/openai/backend/client.ts"],"names":["OpenAIClient","BackendClient","create","createOpenAI","settings","apiKey","getEnv","baseURL","headers","parseHeadersFromEnv","fetch","vercelFetcher"],"mappings":";;;;;;;;;AAYO,MAAMA,qBAAqBC,wBAAAA,CAAAA;EAZlC;;;EAaYC,MAAAA,GAAyB;AACjC,IAAA,OAAOC,mBAAAA,CAAa;AAClB,MAAA,GAAG,IAAA,CAAKC,QAAAA;AACRC,MAAAA,MAAAA,EAAQ,IAAA,CAAKD,QAAAA,EAAUC,MAAAA,IAAUC,cAAAA,CAAO,gBAAA,CAAA;AACxCC,MAAAA,OAAAA,EAAS,IAAA,CAAKH,QAAAA,EAAUG,OAAAA,IAAWD,cAAAA,CAAO,qBAAA,CAAA;MAC1CE,OAAAA,EAAS;AACP,QAAA,GAAGC,8BAAoB,oBAAA,CAAA;AACvB,QAAA,GAAG,KAAKL,QAAAA,EAAUI;AACpB,OAAA;MACAE,KAAAA,EAAOC,uBAAAA,CAAc,IAAA,CAAKP,QAAAA,EAAUM,KAAAA;KACtC,CAAA;AACF;AACF","file":"client.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { createOpenAI, OpenAIProvider, OpenAIProviderSettings } from \"@ai-sdk/openai\";\nimport { getEnv } from \"@/internals/env.js\";\nimport { BackendClient } from \"@/backend/client.js\";\nimport { parseHeadersFromEnv, vercelFetcher } from \"@/adapters/vercel/backend/utils.js\";\n\nexport type OpenAIClientSettings = OpenAIProviderSettings;\n\nexport class OpenAIClient extends BackendClient<OpenAIClientSettings, OpenAIProvider> {\n protected create(): OpenAIProvider {\n return createOpenAI({\n ...this.settings,\n apiKey: this.settings?.apiKey || getEnv(\"OPENAI_API_KEY\"),\n baseURL: this.settings?.baseURL || getEnv(\"OPENAI_API_ENDPOINT\"),\n headers: {\n ...parseHeadersFromEnv(\"OPENAI_API_HEADERS\"),\n ...this.settings?.headers,\n },\n fetch: vercelFetcher(this.settings?.fetch),\n });\n }\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createOpenAI } from '@ai-sdk/openai';
|
|
2
2
|
import { getEnv } from '../../../internals/env.js';
|
|
3
3
|
import { BackendClient } from '../../../backend/client.js';
|
|
4
|
-
import {
|
|
4
|
+
import { vercelFetcher, parseHeadersFromEnv } from '../../vercel/backend/utils.js';
|
|
5
5
|
|
|
6
6
|
var __defProp = Object.defineProperty;
|
|
7
7
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
@@ -10,21 +10,12 @@ class OpenAIClient extends BackendClient {
|
|
|
10
10
|
__name(this, "OpenAIClient");
|
|
11
11
|
}
|
|
12
12
|
create() {
|
|
13
|
-
const extraHeaders = parseHeadersFromEnv("OPENAI_API_HEADERS");
|
|
14
|
-
const baseURL = this.settings?.baseURL || getEnv("OPENAI_API_ENDPOINT");
|
|
15
|
-
let compatibility = this.settings?.compatibility || getEnv("OPENAI_COMPATIBILITY_MODE");
|
|
16
|
-
if (baseURL && !compatibility) {
|
|
17
|
-
compatibility = "compatible";
|
|
18
|
-
} else if (!baseURL && !compatibility) {
|
|
19
|
-
compatibility = "strict";
|
|
20
|
-
}
|
|
21
13
|
return createOpenAI({
|
|
22
14
|
...this.settings,
|
|
23
|
-
compatibility,
|
|
24
15
|
apiKey: this.settings?.apiKey || getEnv("OPENAI_API_KEY"),
|
|
25
|
-
baseURL,
|
|
16
|
+
baseURL: this.settings?.baseURL || getEnv("OPENAI_API_ENDPOINT"),
|
|
26
17
|
headers: {
|
|
27
|
-
...
|
|
18
|
+
...parseHeadersFromEnv("OPENAI_API_HEADERS"),
|
|
28
19
|
...this.settings?.headers
|
|
29
20
|
},
|
|
30
21
|
fetch: vercelFetcher(this.settings?.fetch)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapters/openai/backend/client.ts"],"names":["OpenAIClient","BackendClient","create","
|
|
1
|
+
{"version":3,"sources":["../../../../src/adapters/openai/backend/client.ts"],"names":["OpenAIClient","BackendClient","create","createOpenAI","settings","apiKey","getEnv","baseURL","headers","parseHeadersFromEnv","fetch","vercelFetcher"],"mappings":";;;;;;;AAYO,MAAMA,qBAAqBC,aAAAA,CAAAA;EAZlC;;;EAaYC,MAAAA,GAAyB;AACjC,IAAA,OAAOC,YAAAA,CAAa;AAClB,MAAA,GAAG,IAAA,CAAKC,QAAAA;AACRC,MAAAA,MAAAA,EAAQ,IAAA,CAAKD,QAAAA,EAAUC,MAAAA,IAAUC,MAAAA,CAAO,gBAAA,CAAA;AACxCC,MAAAA,OAAAA,EAAS,IAAA,CAAKH,QAAAA,EAAUG,OAAAA,IAAWD,MAAAA,CAAO,qBAAA,CAAA;MAC1CE,OAAAA,EAAS;AACP,QAAA,GAAGC,oBAAoB,oBAAA,CAAA;AACvB,QAAA,GAAG,KAAKL,QAAAA,EAAUI;AACpB,OAAA;MACAE,KAAAA,EAAOC,aAAAA,CAAc,IAAA,CAAKP,QAAAA,EAAUM,KAAAA;KACtC,CAAA;AACF;AACF","file":"client.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { createOpenAI, OpenAIProvider, OpenAIProviderSettings } from \"@ai-sdk/openai\";\nimport { getEnv } from \"@/internals/env.js\";\nimport { BackendClient } from \"@/backend/client.js\";\nimport { parseHeadersFromEnv, vercelFetcher } from \"@/adapters/vercel/backend/utils.js\";\n\nexport type OpenAIClientSettings = OpenAIProviderSettings;\n\nexport class OpenAIClient extends BackendClient<OpenAIClientSettings, OpenAIProvider> {\n protected create(): OpenAIProvider {\n return createOpenAI({\n ...this.settings,\n apiKey: this.settings?.apiKey || getEnv(\"OPENAI_API_KEY\"),\n baseURL: this.settings?.baseURL || getEnv(\"OPENAI_API_ENDPOINT\"),\n headers: {\n ...parseHeadersFromEnv(\"OPENAI_API_HEADERS\"),\n ...this.settings?.headers,\n },\n fetch: vercelFetcher(this.settings?.fetch),\n });\n }\n}\n"]}
|
|
@@ -10,8 +10,8 @@ class OpenAIEmbeddingModel extends embedding_cjs.VercelEmbeddingModel {
|
|
|
10
10
|
static {
|
|
11
11
|
__name(this, "OpenAIEmbeddingModel");
|
|
12
12
|
}
|
|
13
|
-
constructor(modelId = env_cjs.getEnv("OPENAI_EMBEDDING_MODEL", "text-embedding-3-small"),
|
|
14
|
-
const model = client_cjs.OpenAIClient.ensure(client).instance.embedding(modelId
|
|
13
|
+
constructor(modelId = env_cjs.getEnv("OPENAI_EMBEDDING_MODEL", "text-embedding-3-small"), _settings = {}, client) {
|
|
14
|
+
const model = client_cjs.OpenAIClient.ensure(client).instance.embedding(modelId);
|
|
15
15
|
super(model);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapters/openai/backend/embedding.ts"],"names":["OpenAIEmbeddingModel","VercelEmbeddingModel","modelId","getEnv","
|
|
1
|
+
{"version":3,"sources":["../../../../src/adapters/openai/backend/embedding.ts"],"names":["OpenAIEmbeddingModel","VercelEmbeddingModel","modelId","getEnv","_settings","client","model","OpenAIClient","ensure","instance","embedding"],"mappings":";;;;;;;;AAcO,MAAMA,6BAA6BC,kCAAAA,CAAAA;EAd1C;;;EAeE,WAAA,CACEC,OAAAA,GAAkCC,eAAO,wBAAA,EAA0B,wBAAA,GACnEC,SAAAA,GAA0C,IAC1CC,MAAAA,EACA;AACA,IAAA,MAAMC,QAAQC,uBAAAA,CAAaC,MAAAA,CAAOH,MAAAA,CAAAA,CAAQI,QAAAA,CAASC,UAAUR,OAAAA,CAAAA;AAC7D,IAAA,KAAA,CAAMI,KAAAA,CAAAA;AACR;AACF","file":"embedding.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\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 = any;\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);\n super(model);\n }\n}\n"]}
|
|
@@ -7,10 +7,10 @@ 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-CGKd_-kK.cjs';
|
|
11
11
|
import '../../../internals/helpers/promise.cjs';
|
|
12
12
|
import '../../../errors.cjs';
|
|
13
|
-
import '../../../chat-
|
|
13
|
+
import '../../../chat-DB_cf15S.cjs';
|
|
14
14
|
import '../../../backend/message.cjs';
|
|
15
15
|
import 'ai';
|
|
16
16
|
import 'promise-based-task';
|
|
@@ -32,9 +32,9 @@ import 'pino';
|
|
|
32
32
|
|
|
33
33
|
type OpenAIParameters = Parameters<OpenAIProvider["embedding"]>;
|
|
34
34
|
type OpenAIEmbeddingModelId = NonNullable<OpenAIParameters[0]>;
|
|
35
|
-
type OpenAIEmbeddingModelSettings =
|
|
35
|
+
type OpenAIEmbeddingModelSettings = any;
|
|
36
36
|
declare class OpenAIEmbeddingModel extends VercelEmbeddingModel {
|
|
37
|
-
constructor(modelId?: OpenAIEmbeddingModelId,
|
|
37
|
+
constructor(modelId?: OpenAIEmbeddingModelId, _settings?: OpenAIEmbeddingModelSettings, client?: OpenAIProviderSettings | OpenAIClient);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
export { OpenAIEmbeddingModel, type OpenAIEmbeddingModelId, type OpenAIEmbeddingModelSettings };
|
|
@@ -7,10 +7,10 @@ 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-CN7I4uSV.js';
|
|
11
11
|
import '../../../internals/helpers/promise.js';
|
|
12
12
|
import '../../../errors.js';
|
|
13
|
-
import '../../../chat-
|
|
13
|
+
import '../../../chat-BbCYMAdE.js';
|
|
14
14
|
import '../../../backend/message.js';
|
|
15
15
|
import 'ai';
|
|
16
16
|
import 'promise-based-task';
|
|
@@ -32,9 +32,9 @@ import 'pino';
|
|
|
32
32
|
|
|
33
33
|
type OpenAIParameters = Parameters<OpenAIProvider["embedding"]>;
|
|
34
34
|
type OpenAIEmbeddingModelId = NonNullable<OpenAIParameters[0]>;
|
|
35
|
-
type OpenAIEmbeddingModelSettings =
|
|
35
|
+
type OpenAIEmbeddingModelSettings = any;
|
|
36
36
|
declare class OpenAIEmbeddingModel extends VercelEmbeddingModel {
|
|
37
|
-
constructor(modelId?: OpenAIEmbeddingModelId,
|
|
37
|
+
constructor(modelId?: OpenAIEmbeddingModelId, _settings?: OpenAIEmbeddingModelSettings, client?: OpenAIProviderSettings | OpenAIClient);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
export { OpenAIEmbeddingModel, type OpenAIEmbeddingModelId, type OpenAIEmbeddingModelSettings };
|
|
@@ -8,8 +8,8 @@ class OpenAIEmbeddingModel extends VercelEmbeddingModel {
|
|
|
8
8
|
static {
|
|
9
9
|
__name(this, "OpenAIEmbeddingModel");
|
|
10
10
|
}
|
|
11
|
-
constructor(modelId = getEnv("OPENAI_EMBEDDING_MODEL", "text-embedding-3-small"),
|
|
12
|
-
const model = OpenAIClient.ensure(client).instance.embedding(modelId
|
|
11
|
+
constructor(modelId = getEnv("OPENAI_EMBEDDING_MODEL", "text-embedding-3-small"), _settings = {}, client) {
|
|
12
|
+
const model = OpenAIClient.ensure(client).instance.embedding(modelId);
|
|
13
13
|
super(model);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapters/openai/backend/embedding.ts"],"names":["OpenAIEmbeddingModel","VercelEmbeddingModel","modelId","getEnv","
|
|
1
|
+
{"version":3,"sources":["../../../../src/adapters/openai/backend/embedding.ts"],"names":["OpenAIEmbeddingModel","VercelEmbeddingModel","modelId","getEnv","_settings","client","model","OpenAIClient","ensure","instance","embedding"],"mappings":";;;;;;AAcO,MAAMA,6BAA6BC,oBAAAA,CAAAA;EAd1C;;;EAeE,WAAA,CACEC,OAAAA,GAAkCC,OAAO,wBAAA,EAA0B,wBAAA,GACnEC,SAAAA,GAA0C,IAC1CC,MAAAA,EACA;AACA,IAAA,MAAMC,QAAQC,YAAAA,CAAaC,MAAAA,CAAOH,MAAAA,CAAAA,CAAQI,QAAAA,CAASC,UAAUR,OAAAA,CAAAA;AAC7D,IAAA,KAAA,CAAMI,KAAAA,CAAAA;AACR;AACF","file":"embedding.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\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 = any;\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);\n super(model);\n }\n}\n"]}
|
|
@@ -51,7 +51,7 @@ class VercelChatModel extends chat_cjs.ChatModel {
|
|
|
51
51
|
return output;
|
|
52
52
|
}
|
|
53
53
|
const { finishReason, usage, response: { messages } } = await ai.generateText(await this.transformInput(input));
|
|
54
|
-
return new chat_cjs.ChatModelOutput(this.transformMessages(messages), usage, finishReason);
|
|
54
|
+
return new chat_cjs.ChatModelOutput(this.transformMessages(messages), utils_cjs.extractTokenUsage(usage), finishReason);
|
|
55
55
|
}
|
|
56
56
|
async _createStructure({ schema, ...input }, run) {
|
|
57
57
|
const response = await ai.generateObject({
|
|
@@ -72,16 +72,16 @@ class VercelChatModel extends chat_cjs.ChatModel {
|
|
|
72
72
|
object: response.object,
|
|
73
73
|
output: new chat_cjs.ChatModelOutput([
|
|
74
74
|
new message_cjs.AssistantMessage(JSON.stringify(response.object, null, 2))
|
|
75
|
-
], response.usage, response.finishReason)
|
|
75
|
+
], utils_cjs.extractTokenUsage(response.usage), response.finishReason)
|
|
76
76
|
};
|
|
77
77
|
}
|
|
78
78
|
async *_createStream(input, run) {
|
|
79
79
|
if (!this.supportsToolStreaming && !remeda.isEmpty(input.tools ?? [])) {
|
|
80
|
-
const
|
|
81
|
-
yield
|
|
80
|
+
const response = await this._create(input, run);
|
|
81
|
+
yield response;
|
|
82
82
|
return;
|
|
83
83
|
}
|
|
84
|
-
const { fullStream, usage, finishReason, response } = ai.streamText({
|
|
84
|
+
const { fullStream, usage: usagePromise, finishReason: finishReasonPromise, response: responsePromise } = ai.streamText({
|
|
85
85
|
...await this.transformInput(input),
|
|
86
86
|
abortSignal: run.signal
|
|
87
87
|
});
|
|
@@ -90,38 +90,33 @@ class VercelChatModel extends chat_cjs.ChatModel {
|
|
|
90
90
|
let message;
|
|
91
91
|
switch (event.type) {
|
|
92
92
|
case "text-delta":
|
|
93
|
-
message = new message_cjs.AssistantMessage(event.
|
|
93
|
+
message = new message_cjs.AssistantMessage(event.text);
|
|
94
94
|
break;
|
|
95
95
|
case "tool-call":
|
|
96
96
|
message = new message_cjs.AssistantMessage({
|
|
97
97
|
type: event.type,
|
|
98
98
|
toolCallId: event.toolCallId,
|
|
99
99
|
toolName: event.toolName,
|
|
100
|
-
|
|
100
|
+
input: event.input
|
|
101
101
|
});
|
|
102
102
|
break;
|
|
103
103
|
case "error":
|
|
104
104
|
throw new errors_cjs$1.ChatModelError("Unhandled error", [
|
|
105
105
|
event.error
|
|
106
106
|
]);
|
|
107
|
-
case "step-finish":
|
|
108
|
-
case "step-start":
|
|
109
|
-
continue;
|
|
110
107
|
case "tool-result":
|
|
111
108
|
message = new message_cjs.ToolMessage({
|
|
112
109
|
type: event.type,
|
|
113
110
|
toolCallId: event.toolCallId,
|
|
114
111
|
toolName: event.toolName,
|
|
115
|
-
|
|
112
|
+
output: event.output
|
|
116
113
|
});
|
|
117
114
|
break;
|
|
118
|
-
case "
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
case "finish":
|
|
122
|
-
continue;
|
|
115
|
+
case "abort":
|
|
116
|
+
message = new message_cjs.AssistantMessage([]);
|
|
117
|
+
break;
|
|
123
118
|
default:
|
|
124
|
-
|
|
119
|
+
continue;
|
|
125
120
|
}
|
|
126
121
|
lastChunk = new chat_cjs.ChatModelOutput([
|
|
127
122
|
message
|
|
@@ -131,15 +126,25 @@ class VercelChatModel extends chat_cjs.ChatModel {
|
|
|
131
126
|
if (!lastChunk) {
|
|
132
127
|
throw new errors_cjs$1.ChatModelError("No chunks have been received!");
|
|
133
128
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
129
|
+
try {
|
|
130
|
+
const [usage, finishReason, _] = await Promise.all([
|
|
131
|
+
usagePromise,
|
|
132
|
+
finishReasonPromise,
|
|
133
|
+
responsePromise
|
|
134
|
+
]);
|
|
135
|
+
lastChunk.usage = utils_cjs.extractTokenUsage(usage);
|
|
136
|
+
lastChunk.finishReason = finishReason;
|
|
137
|
+
} catch (e) {
|
|
138
|
+
if (!run.signal.aborted) {
|
|
139
|
+
throw e;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
137
142
|
}
|
|
138
143
|
async transformInput(input) {
|
|
139
144
|
const tools = await Promise.all((input.tools ?? []).map(async (tool) => ({
|
|
140
145
|
name: tool.name,
|
|
141
146
|
description: tool.description,
|
|
142
|
-
|
|
147
|
+
inputSchema: ai.jsonSchema(await tool.getInputJsonSchema())
|
|
143
148
|
})));
|
|
144
149
|
const messages = input.messages.map((msg) => {
|
|
145
150
|
if (msg instanceof message_cjs.CustomMessage) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapters/vercel/backend/chat.ts"],"names":["VercelChatModel","ChatModel","emitter","supportsToolStreaming","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","CustomMessage","encodeCustomMessage","role","content","UserMessage","SystemMessage","part","text","join","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 * SPDX-License-Identifier: Apache-2.0\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 CustomMessage,\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\";\nimport { encodeCustomMessage } from \"@/adapters/vercel/backend/utils.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 CustomMessage) {\n msg = encodeCustomMessage(msg);\n }\n\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: \"system\", content: msg.content.map((part) => part.text).join(\"\\n\") };\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
|
+
{"version":3,"sources":["../../../../src/adapters/vercel/backend/chat.ts"],"names":["VercelChatModel","ChatModel","emitter","supportsToolStreaming","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","extractTokenUsage","generateObject","temperature","abortSignal","signal","_input","ZodArray","ZodEnum","jsonSchema","z","any","schemaName","name","schemaDescription","description","object","AssistantMessage","JSON","stringify","_createStream","isEmpty","tools","fullStream","usagePromise","finishReasonPromise","responsePromise","streamText","lastChunk","event","message","type","text","toolCallId","toolName","ChatModelError","error","ToolMessage","_","Promise","all","e","aborted","map","tool","inputSchema","getInputJsonSchema","msg","CustomMessage","encodeCustomMessage","role","content","UserMessage","SystemMessage","part","join","toolChoice","Tool","toolChoiceSupport","includes","logger","warn","parameters","mapToObj","flatMap","providerOptions","createSnapshot","loadSnapshot","snapshot","instance","fromName","Error","destroy","Object","assign"],"mappings":"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","file":"chat.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n ChatModelInput,\n ChatModel,\n ChatModelOutput,\n ChatModelEvents,\n ChatModelObjectInput,\n ChatModelObjectOutput,\n} from \"@/backend/chat.js\";\nimport {\n CoreAssistantMessage,\n ModelMessage,\n CoreToolMessage,\n generateObject,\n generateText,\n jsonSchema,\n LanguageModel as _LanguageModel,\n streamText,\n TextPart,\n ToolCallPart,\n ToolChoice,\n} from \"ai\";\ntype LanguageModelV2 = Exclude<_LanguageModel, string>;\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport {\n AssistantMessage,\n CustomMessage,\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\";\nimport { encodeCustomMessage, extractTokenUsage } from \"@/adapters/vercel/backend/utils.js\";\n\nexport abstract class VercelChatModel<\n M extends LanguageModelV2 = LanguageModelV2,\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(\n this.transformMessages(messages),\n extractTokenUsage(usage),\n finishReason,\n );\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({\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 as T,\n output: new ChatModelOutput(\n [new AssistantMessage(JSON.stringify(response.object, null, 2))],\n extractTokenUsage(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 {\n fullStream,\n usage: usagePromise,\n finishReason: finishReasonPromise,\n response: responsePromise,\n } = 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.text);\n break;\n case \"tool-call\":\n message = new AssistantMessage({\n type: event.type,\n toolCallId: event.toolCallId,\n toolName: event.toolName,\n input: event.input,\n });\n break;\n case \"error\":\n throw new ChatModelError(\"Unhandled error\", [event.error as Error]);\n case \"tool-result\":\n message = new ToolMessage({\n type: event.type,\n toolCallId: event.toolCallId,\n toolName: event.toolName,\n output: event.output as any,\n });\n break;\n case \"abort\":\n message = new AssistantMessage([]);\n break;\n default:\n continue;\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\n try {\n const [usage, finishReason, _] = await Promise.all([\n usagePromise,\n finishReasonPromise,\n responsePromise,\n ]);\n lastChunk.usage = extractTokenUsage(usage);\n lastChunk.finishReason = finishReason;\n } catch (e) {\n if (!run.signal.aborted) {\n throw e;\n }\n }\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 inputSchema: jsonSchema(await tool.getInputJsonSchema()),\n })),\n );\n\n const messages = input.messages.map((msg): ModelMessage => {\n if (msg instanceof CustomMessage) {\n msg = encodeCustomMessage(msg);\n }\n\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: \"system\", content: msg.content.map((part) => part.text).join(\"\\n\") };\n }\n return { role: msg.role, content: msg.content } as ModelMessage;\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,7 +1,7 @@
|
|
|
1
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-
|
|
3
|
-
import {
|
|
4
|
-
import { E as Emitter } from '../../../emitter-
|
|
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-DB_cf15S.cjs';
|
|
3
|
+
import { LanguageModel, generateText, CoreAssistantMessage, CoreToolMessage } from 'ai';
|
|
4
|
+
import { E as Emitter } from '../../../emitter-CGKd_-kK.cjs';
|
|
5
5
|
import { Message } from '../../../backend/message.cjs';
|
|
6
6
|
import { GetRunContext } from '../../../context.cjs';
|
|
7
7
|
import 'pino';
|
|
@@ -20,7 +20,9 @@ import 'zod-to-json-schema';
|
|
|
20
20
|
import '../../../internals/helpers/promise.cjs';
|
|
21
21
|
import '../../../template.cjs';
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
type LanguageModelV2 = Exclude<LanguageModel, string>;
|
|
24
|
+
|
|
25
|
+
declare abstract class VercelChatModel<M extends LanguageModelV2 = LanguageModelV2> extends ChatModel {
|
|
24
26
|
private readonly model;
|
|
25
27
|
readonly emitter: Emitter<ChatModelEvents>;
|
|
26
28
|
readonly supportsToolStreaming: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
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-
|
|
3
|
-
import {
|
|
4
|
-
import { E as Emitter } from '../../../emitter-
|
|
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-BbCYMAdE.js';
|
|
3
|
+
import { LanguageModel, generateText, CoreAssistantMessage, CoreToolMessage } from 'ai';
|
|
4
|
+
import { E as Emitter } from '../../../emitter-CN7I4uSV.js';
|
|
5
5
|
import { Message } from '../../../backend/message.js';
|
|
6
6
|
import { GetRunContext } from '../../../context.js';
|
|
7
7
|
import 'pino';
|
|
@@ -20,7 +20,9 @@ import 'zod-to-json-schema';
|
|
|
20
20
|
import '../../../internals/helpers/promise.js';
|
|
21
21
|
import '../../../template.js';
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
type LanguageModelV2 = Exclude<LanguageModel, string>;
|
|
24
|
+
|
|
25
|
+
declare abstract class VercelChatModel<M extends LanguageModelV2 = LanguageModelV2> extends ChatModel {
|
|
24
26
|
private readonly model;
|
|
25
27
|
readonly emitter: Emitter<ChatModelEvents>;
|
|
26
28
|
readonly supportsToolStreaming: boolean;
|
|
@@ -7,7 +7,7 @@ import { toCamelCase, isEmpty, mapToObj } from 'remeda';
|
|
|
7
7
|
import { ChatModelError } from '../../../backend/errors.js';
|
|
8
8
|
import { ZodSchema, z, ZodArray, ZodEnum } from 'zod';
|
|
9
9
|
import { Tool } from '../../../tools/base.js';
|
|
10
|
-
import { encodeCustomMessage } from './utils.js';
|
|
10
|
+
import { extractTokenUsage, encodeCustomMessage } from './utils.js';
|
|
11
11
|
|
|
12
12
|
var __defProp = Object.defineProperty;
|
|
13
13
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
@@ -49,7 +49,7 @@ class VercelChatModel extends ChatModel {
|
|
|
49
49
|
return output;
|
|
50
50
|
}
|
|
51
51
|
const { finishReason, usage, response: { messages } } = await generateText(await this.transformInput(input));
|
|
52
|
-
return new ChatModelOutput(this.transformMessages(messages), usage, finishReason);
|
|
52
|
+
return new ChatModelOutput(this.transformMessages(messages), extractTokenUsage(usage), finishReason);
|
|
53
53
|
}
|
|
54
54
|
async _createStructure({ schema, ...input }, run) {
|
|
55
55
|
const response = await generateObject({
|
|
@@ -70,16 +70,16 @@ class VercelChatModel extends ChatModel {
|
|
|
70
70
|
object: response.object,
|
|
71
71
|
output: new ChatModelOutput([
|
|
72
72
|
new AssistantMessage(JSON.stringify(response.object, null, 2))
|
|
73
|
-
], response.usage, response.finishReason)
|
|
73
|
+
], extractTokenUsage(response.usage), response.finishReason)
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
76
|
async *_createStream(input, run) {
|
|
77
77
|
if (!this.supportsToolStreaming && !isEmpty(input.tools ?? [])) {
|
|
78
|
-
const
|
|
79
|
-
yield
|
|
78
|
+
const response = await this._create(input, run);
|
|
79
|
+
yield response;
|
|
80
80
|
return;
|
|
81
81
|
}
|
|
82
|
-
const { fullStream, usage, finishReason, response } = streamText({
|
|
82
|
+
const { fullStream, usage: usagePromise, finishReason: finishReasonPromise, response: responsePromise } = streamText({
|
|
83
83
|
...await this.transformInput(input),
|
|
84
84
|
abortSignal: run.signal
|
|
85
85
|
});
|
|
@@ -88,38 +88,33 @@ class VercelChatModel extends ChatModel {
|
|
|
88
88
|
let message;
|
|
89
89
|
switch (event.type) {
|
|
90
90
|
case "text-delta":
|
|
91
|
-
message = new AssistantMessage(event.
|
|
91
|
+
message = new AssistantMessage(event.text);
|
|
92
92
|
break;
|
|
93
93
|
case "tool-call":
|
|
94
94
|
message = new AssistantMessage({
|
|
95
95
|
type: event.type,
|
|
96
96
|
toolCallId: event.toolCallId,
|
|
97
97
|
toolName: event.toolName,
|
|
98
|
-
|
|
98
|
+
input: event.input
|
|
99
99
|
});
|
|
100
100
|
break;
|
|
101
101
|
case "error":
|
|
102
102
|
throw new ChatModelError("Unhandled error", [
|
|
103
103
|
event.error
|
|
104
104
|
]);
|
|
105
|
-
case "step-finish":
|
|
106
|
-
case "step-start":
|
|
107
|
-
continue;
|
|
108
105
|
case "tool-result":
|
|
109
106
|
message = new ToolMessage({
|
|
110
107
|
type: event.type,
|
|
111
108
|
toolCallId: event.toolCallId,
|
|
112
109
|
toolName: event.toolName,
|
|
113
|
-
|
|
110
|
+
output: event.output
|
|
114
111
|
});
|
|
115
112
|
break;
|
|
116
|
-
case "
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
case "finish":
|
|
120
|
-
continue;
|
|
113
|
+
case "abort":
|
|
114
|
+
message = new AssistantMessage([]);
|
|
115
|
+
break;
|
|
121
116
|
default:
|
|
122
|
-
|
|
117
|
+
continue;
|
|
123
118
|
}
|
|
124
119
|
lastChunk = new ChatModelOutput([
|
|
125
120
|
message
|
|
@@ -129,15 +124,25 @@ class VercelChatModel extends ChatModel {
|
|
|
129
124
|
if (!lastChunk) {
|
|
130
125
|
throw new ChatModelError("No chunks have been received!");
|
|
131
126
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
127
|
+
try {
|
|
128
|
+
const [usage, finishReason, _] = await Promise.all([
|
|
129
|
+
usagePromise,
|
|
130
|
+
finishReasonPromise,
|
|
131
|
+
responsePromise
|
|
132
|
+
]);
|
|
133
|
+
lastChunk.usage = extractTokenUsage(usage);
|
|
134
|
+
lastChunk.finishReason = finishReason;
|
|
135
|
+
} catch (e) {
|
|
136
|
+
if (!run.signal.aborted) {
|
|
137
|
+
throw e;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
135
140
|
}
|
|
136
141
|
async transformInput(input) {
|
|
137
142
|
const tools = await Promise.all((input.tools ?? []).map(async (tool) => ({
|
|
138
143
|
name: tool.name,
|
|
139
144
|
description: tool.description,
|
|
140
|
-
|
|
145
|
+
inputSchema: jsonSchema(await tool.getInputJsonSchema())
|
|
141
146
|
})));
|
|
142
147
|
const messages = input.messages.map((msg) => {
|
|
143
148
|
if (msg instanceof CustomMessage) {
|