beeai-framework 0.1.28 → 0.1.30
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.map +1 -1
- package/dist/adapters/a2a/agents/agent.d.cts +2 -2
- package/dist/adapters/a2a/agents/agent.d.ts +2 -2
- 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 +52 -11
- package/dist/adapters/a2a/agents/utils.cjs.map +1 -1
- package/dist/adapters/a2a/agents/utils.js +52 -11
- package/dist/adapters/a2a/agents/utils.js.map +1 -1
- package/dist/adapters/a2a/serve/agent_executor.cjs.map +1 -1
- package/dist/adapters/a2a/serve/agent_executor.d.cts +3 -3
- package/dist/adapters/a2a/serve/agent_executor.d.ts +3 -3
- package/dist/adapters/a2a/serve/agent_executor.js.map +1 -1
- package/dist/adapters/a2a/serve/server.cjs.map +1 -1
- package/dist/adapters/a2a/serve/server.d.cts +2 -2
- package/dist/adapters/a2a/serve/server.d.ts +2 -2
- package/dist/adapters/a2a/serve/server.js.map +1 -1
- package/dist/adapters/acp/agents/agent.cjs.map +1 -1
- package/dist/adapters/acp/agents/agent.d.cts +2 -2
- package/dist/adapters/acp/agents/agent.d.ts +2 -2
- package/dist/adapters/acp/agents/agent.js.map +1 -1
- package/dist/adapters/acp/agents/events.d.cts +1 -1
- package/dist/adapters/acp/agents/events.d.ts +1 -1
- package/dist/adapters/agentstack/agents/agent.cjs.map +1 -1
- package/dist/adapters/agentstack/agents/agent.d.cts +2 -2
- package/dist/adapters/agentstack/agents/agent.d.ts +2 -2
- package/dist/adapters/agentstack/agents/agent.js.map +1 -1
- package/dist/adapters/agentstack/agents/events.d.cts +1 -1
- package/dist/adapters/agentstack/agents/events.d.ts +1 -1
- package/dist/adapters/amazon-bedrock/backend/chat.cjs.map +1 -1
- package/dist/adapters/amazon-bedrock/backend/chat.d.cts +2 -2
- package/dist/adapters/amazon-bedrock/backend/chat.d.ts +2 -2
- 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.js.map +1 -1
- package/dist/adapters/amazon-bedrock/backend/embedding.cjs.map +1 -1
- package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +2 -2
- package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +2 -2
- 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 +3 -3
- package/dist/adapters/anthropic/backend/chat.d.ts +3 -3
- 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.js.map +1 -1
- package/dist/adapters/anthropic/backend/embedding.cjs.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/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 +3 -3
- package/dist/adapters/azure-openai/backend/chat.d.ts +3 -3
- 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.js.map +1 -1
- package/dist/adapters/azure-openai/backend/embedding.cjs.map +1 -1
- package/dist/adapters/azure-openai/backend/embedding.d.cts +2 -2
- package/dist/adapters/azure-openai/backend/embedding.d.ts +2 -2
- 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 +2 -2
- package/dist/adapters/dummy/backend/chat.d.ts +2 -2
- 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 +2 -2
- package/dist/adapters/dummy/backend/embedding.d.ts +2 -2
- 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 +3 -3
- package/dist/adapters/google-vertex/backend/chat.d.ts +3 -3
- 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.js.map +1 -1
- package/dist/adapters/google-vertex/backend/embedding.cjs.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/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 +3 -3
- package/dist/adapters/groq/backend/chat.d.ts +3 -3
- 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.js.map +1 -1
- package/dist/adapters/groq/backend/embedding.cjs.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/groq/backend/embedding.js.map +1 -1
- package/dist/adapters/langchain/backend/chat.cjs +6 -28
- package/dist/adapters/langchain/backend/chat.cjs.map +1 -1
- package/dist/adapters/langchain/backend/chat.d.cts +6 -5
- package/dist/adapters/langchain/backend/chat.d.ts +6 -5
- package/dist/adapters/langchain/backend/chat.js +6 -28
- package/dist/adapters/langchain/backend/chat.js.map +1 -1
- package/dist/adapters/langchain/backend/embedding.cjs +3 -2
- package/dist/adapters/langchain/backend/embedding.cjs.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/backend/embedding.js +3 -2
- package/dist/adapters/langchain/backend/embedding.js.map +1 -1
- package/dist/adapters/langchain/backend/utils.cjs +328 -0
- package/dist/adapters/langchain/backend/utils.cjs.map +1 -0
- package/dist/adapters/langchain/backend/utils.d.cts +39 -0
- package/dist/adapters/langchain/backend/utils.d.ts +39 -0
- package/dist/adapters/langchain/backend/utils.js +324 -0
- package/dist/adapters/langchain/backend/utils.js.map +1 -0
- package/dist/adapters/langchain/tools.cjs.map +1 -1
- package/dist/adapters/langchain/tools.d.cts +2 -2
- package/dist/adapters/langchain/tools.d.ts +2 -2
- package/dist/adapters/langchain/tools.js.map +1 -1
- package/dist/adapters/mcp/serve/http_server.cjs.map +1 -1
- package/dist/adapters/mcp/serve/http_server.js.map +1 -1
- package/dist/adapters/mcp/serve/in_memory_store.cjs.map +1 -1
- package/dist/adapters/mcp/serve/in_memory_store.js.map +1 -1
- package/dist/adapters/mcp/serve/server.cjs.map +1 -1
- package/dist/adapters/mcp/serve/server.js.map +1 -1
- package/dist/adapters/minimax/backend/chat.cjs +25 -0
- package/dist/adapters/minimax/backend/chat.cjs.map +1 -0
- package/dist/adapters/minimax/backend/chat.d.cts +38 -0
- package/dist/adapters/minimax/backend/chat.d.ts +38 -0
- package/dist/adapters/minimax/backend/chat.js +23 -0
- package/dist/adapters/minimax/backend/chat.js.map +1 -0
- package/dist/adapters/minimax/backend/client.cjs +31 -0
- package/dist/adapters/minimax/backend/client.cjs.map +1 -0
- package/dist/adapters/minimax/backend/client.d.cts +17 -0
- package/dist/adapters/minimax/backend/client.d.ts +17 -0
- package/dist/adapters/minimax/backend/client.js +29 -0
- package/dist/adapters/minimax/backend/client.js.map +1 -0
- package/dist/adapters/ollama/backend/chat.cjs.map +1 -1
- package/dist/adapters/ollama/backend/chat.d.cts +2 -2
- package/dist/adapters/ollama/backend/chat.d.ts +2 -2
- 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.js.map +1 -1
- package/dist/adapters/ollama/backend/embedding.cjs.map +1 -1
- package/dist/adapters/ollama/backend/embedding.d.cts +2 -2
- package/dist/adapters/ollama/backend/embedding.d.ts +2 -2
- 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 +2 -2
- package/dist/adapters/openai/backend/chat.d.ts +2 -2
- 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.js.map +1 -1
- package/dist/adapters/openai/backend/embedding.cjs.map +1 -1
- package/dist/adapters/openai/backend/embedding.d.cts +2 -2
- package/dist/adapters/openai/backend/embedding.d.ts +2 -2
- package/dist/adapters/openai/backend/embedding.js.map +1 -1
- package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
- package/dist/adapters/vercel/backend/chat.d.cts +2 -2
- package/dist/adapters/vercel/backend/chat.d.ts +2 -2
- 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 +2 -2
- package/dist/adapters/vercel/backend/embedding.d.ts +2 -2
- package/dist/adapters/vercel/backend/embedding.js.map +1 -1
- package/dist/adapters/vercel/backend/utils.cjs.map +1 -1
- package/dist/adapters/vercel/backend/utils.d.cts +2 -2
- package/dist/adapters/vercel/backend/utils.d.ts +2 -2
- package/dist/adapters/vercel/backend/utils.js.map +1 -1
- 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 +1 -1
- 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.js.map +1 -1
- package/dist/adapters/watsonx/backend/embedding.cjs.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/watsonx/backend/embedding.js.map +1 -1
- package/dist/adapters/xai/backend/chat.cjs.map +1 -1
- package/dist/adapters/xai/backend/chat.d.cts +2 -2
- package/dist/adapters/xai/backend/chat.d.ts +2 -2
- package/dist/adapters/xai/backend/chat.js.map +1 -1
- package/dist/adapters/xai/backend/client.cjs.map +1 -1
- package/dist/adapters/xai/backend/client.js.map +1 -1
- package/dist/{agent-BAVf6-xf.d.ts → agent-s3uhvAba.d.ts} +5 -5
- package/dist/{agent-DHO-oJQf.d.cts → agent-zfT__iq9.d.cts} +5 -5
- 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/replan/agent.cjs.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/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 +3 -3
- package/dist/agents/experimental/streamlit/agent.d.ts +3 -3
- package/dist/agents/experimental/streamlit/agent.js.map +1 -1
- package/dist/agents/experimental/streamlit/prompts.cjs +2 -2
- package/dist/agents/experimental/streamlit/prompts.cjs.map +1 -1
- package/dist/agents/experimental/streamlit/prompts.js +2 -2
- package/dist/agents/experimental/streamlit/prompts.js.map +1 -1
- package/dist/agents/react/agent.cjs +6 -6
- package/dist/agents/react/agent.cjs.map +1 -1
- package/dist/agents/react/agent.d.cts +4 -4
- package/dist/agents/react/agent.d.ts +4 -4
- 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 +1 -1
- package/dist/agents/react/prompts.d.ts +1 -1
- 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 +4 -4
- package/dist/agents/react/runners/base.d.ts +4 -4
- 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 +1 -1
- package/dist/agents/react/runners/deep-think/prompts.d.ts +1 -1
- 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 +5 -5
- package/dist/agents/react/runners/deep-think/runner.d.ts +5 -5
- 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 +5 -5
- package/dist/agents/react/runners/default/runner.d.ts +5 -5
- 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 +1 -1
- package/dist/agents/react/runners/granite/prompts.d.ts +1 -1
- 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 +5 -5
- package/dist/agents/react/runners/granite/runner.d.ts +5 -5
- package/dist/agents/react/runners/granite/runner.js.map +1 -1
- package/dist/agents/react/types.d.cts +2 -2
- package/dist/agents/react/types.d.ts +2 -2
- package/dist/agents/requirement/agent.cjs.map +1 -1
- package/dist/agents/requirement/agent.d.cts +5 -5
- package/dist/agents/requirement/agent.d.ts +5 -5
- package/dist/agents/requirement/agent.js.map +1 -1
- package/dist/agents/requirement/prompts.d.cts +2 -2
- package/dist/agents/requirement/prompts.d.ts +2 -2
- package/dist/agents/requirement/requirements/conditional.cjs.map +1 -1
- package/dist/agents/requirement/requirements/conditional.d.cts +5 -5
- package/dist/agents/requirement/requirements/conditional.d.ts +5 -5
- package/dist/agents/requirement/requirements/conditional.js.map +1 -1
- package/dist/agents/requirement/requirements/requirement.cjs.map +1 -1
- package/dist/agents/requirement/requirements/requirement.d.cts +4 -4
- package/dist/agents/requirement/requirements/requirement.d.ts +4 -4
- package/dist/agents/requirement/requirements/requirement.js.map +1 -1
- package/dist/agents/requirement/requirements/utils.cjs.map +1 -1
- package/dist/agents/requirement/requirements/utils.d.cts +1 -1
- package/dist/agents/requirement/requirements/utils.d.ts +1 -1
- package/dist/agents/requirement/requirements/utils.js.map +1 -1
- package/dist/agents/requirement/runner.cjs.map +1 -1
- package/dist/agents/requirement/runner.d.cts +5 -5
- package/dist/agents/requirement/runner.d.ts +5 -5
- package/dist/agents/requirement/runner.js.map +1 -1
- package/dist/agents/requirement/types.d.cts +4 -4
- package/dist/agents/requirement/types.d.ts +4 -4
- package/dist/agents/requirement/utils/llm.cjs.map +1 -1
- package/dist/agents/requirement/utils/llm.d.cts +4 -4
- package/dist/agents/requirement/utils/llm.d.ts +4 -4
- package/dist/agents/requirement/utils/llm.js.map +1 -1
- package/dist/agents/requirement/utils/tool.cjs.map +1 -1
- package/dist/agents/requirement/utils/tool.d.cts +4 -4
- package/dist/agents/requirement/utils/tool.d.ts +4 -4
- package/dist/agents/requirement/utils/tool.js.map +1 -1
- package/dist/agents/requirement/utils/toolCallChecker.cjs.map +1 -1
- package/dist/agents/requirement/utils/toolCallChecker.js.map +1 -1
- package/dist/agents/toolCalling/agent.cjs.map +1 -1
- package/dist/agents/toolCalling/agent.d.cts +4 -4
- package/dist/agents/toolCalling/agent.d.ts +4 -4
- package/dist/agents/toolCalling/agent.js.map +1 -1
- package/dist/agents/toolCalling/prompts.cjs.map +1 -1
- package/dist/agents/toolCalling/prompts.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.cjs.map +1 -1
- package/dist/backend/backend.d.cts +3 -3
- package/dist/backend/backend.d.ts +3 -3
- package/dist/backend/backend.js.map +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.map +1 -1
- package/dist/backend/client.cjs.map +1 -1
- package/dist/backend/client.js.map +1 -1
- package/dist/backend/constants.cjs +7 -0
- package/dist/backend/constants.cjs.map +1 -1
- package/dist/backend/constants.d.cts +5 -0
- package/dist/backend/constants.d.ts +5 -0
- package/dist/backend/constants.js +7 -0
- package/dist/backend/constants.js.map +1 -1
- package/dist/backend/core.d.cts +2 -2
- package/dist/backend/core.d.ts +2 -2
- package/dist/backend/embedding.cjs.map +1 -1
- package/dist/backend/embedding.d.cts +2 -2
- package/dist/backend/embedding.d.ts +2 -2
- package/dist/backend/embedding.js.map +1 -1
- package/dist/backend/errors.cjs.map +1 -1
- package/dist/backend/errors.d.cts +2 -2
- package/dist/backend/errors.d.ts +2 -2
- package/dist/backend/errors.js.map +1 -1
- package/dist/backend/message.cjs.map +1 -1
- package/dist/backend/message.js.map +1 -1
- package/dist/backend/utils.cjs.map +1 -1
- package/dist/backend/utils.d.cts +2 -2
- package/dist/backend/utils.d.ts +2 -2
- package/dist/backend/utils.js.map +1 -1
- package/dist/{base-BfhNzUYf.d.ts → base-BjzyQ8k6.d.ts} +2 -2
- package/dist/{base-BqzN2QwB.d.cts → base-s3ioVIE9.d.cts} +2 -2
- package/dist/cache/decoratorCache.cjs.map +1 -1
- package/dist/cache/decoratorCache.js.map +1 -1
- package/dist/cache/fileCache.cjs.map +1 -1
- package/dist/cache/fileCache.js.map +1 -1
- package/dist/cache/nullCache.cjs.map +1 -1
- package/dist/cache/nullCache.js.map +1 -1
- package/dist/cache/slidingCache.cjs.map +1 -1
- package/dist/cache/slidingCache.js.map +1 -1
- package/dist/cache/unconstrainedCache.cjs.map +1 -1
- package/dist/cache/unconstrainedCache.js.map +1 -1
- package/dist/{chat-DaqV3woF.d.cts → chat-C20nYj46.d.cts} +3 -3
- package/dist/{chat-DTxmaKP0.d.ts → chat-CfTNfR60.d.ts} +3 -3
- package/dist/context.cjs.map +1 -1
- package/dist/context.d.cts +1 -1
- package/dist/context.d.ts +1 -1
- 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/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.js.map +1 -1
- package/dist/{emitter-UkIkNrek.d.cts → emitter-D4OcelZ9.d.cts} +2 -2
- package/dist/{emitter-CL56qab4.d.ts → emitter-kHxkUxco.d.ts} +2 -2
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/internals/env.cjs.map +1 -1
- package/dist/internals/env.js.map +1 -1
- package/dist/internals/fetcher.cjs.map +1 -1
- package/dist/internals/fetcher.d.cts +1 -1
- package/dist/internals/fetcher.d.ts +1 -1
- package/dist/internals/fetcher.js.map +1 -1
- package/dist/internals/helpers/array.cjs.map +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.js.map +1 -1
- package/dist/internals/helpers/counter.cjs.map +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.js.map +1 -1
- package/dist/internals/helpers/hash.cjs.map +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.js.map +1 -1
- package/dist/internals/helpers/math.cjs.map +1 -1
- package/dist/internals/helpers/math.js.map +1 -1
- package/dist/internals/helpers/object.cjs +7 -1
- package/dist/internals/helpers/object.cjs.map +1 -1
- package/dist/internals/helpers/object.js +7 -1
- package/dist/internals/helpers/object.js.map +1 -1
- package/dist/internals/helpers/paginate.cjs.map +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.js.map +1 -1
- package/dist/internals/helpers/prototype.cjs.map +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.js.map +1 -1
- package/dist/internals/helpers/retryable.cjs.map +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 +4 -4
- package/dist/internals/helpers/schema.d.ts +4 -4
- package/dist/internals/helpers/schema.js.map +1 -1
- package/dist/internals/helpers/stream.cjs.map +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.js.map +1 -1
- package/dist/internals/helpers/weakRef.cjs.map +1 -1
- package/dist/internals/helpers/weakRef.js.map +1 -1
- package/dist/internals/serializable.cjs +3 -1
- package/dist/internals/serializable.cjs.map +1 -1
- package/dist/internals/serializable.d.cts +6 -0
- package/dist/internals/serializable.d.ts +6 -0
- package/dist/internals/serializable.js +3 -1
- package/dist/internals/serializable.js.map +1 -1
- package/dist/internals/types.cjs.map +1 -1
- package/dist/internals/types.js.map +1 -1
- package/dist/logger/logger.cjs.map +1 -1
- package/dist/logger/logger.d.cts +2 -2
- package/dist/logger/logger.d.ts +2 -2
- package/dist/logger/logger.js +2 -2
- 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 +2 -2
- package/dist/memory/summarizeMemory.d.ts +2 -2
- 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/middleware/streamToolCall.cjs.map +1 -1
- package/dist/middleware/streamToolCall.d.cts +2 -2
- package/dist/middleware/streamToolCall.d.ts +2 -2
- package/dist/middleware/streamToolCall.js.map +1 -1
- package/dist/middleware/trajectory.cjs.map +1 -1
- package/dist/middleware/trajectory.d.cts +2 -2
- package/dist/middleware/trajectory.d.ts +2 -2
- package/dist/middleware/trajectory.js.map +1 -1
- package/dist/parsers/errors.cjs.map +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 +1 -1
- package/dist/parsers/linePrefix.d.ts +1 -1
- package/dist/parsers/linePrefix.js.map +1 -1
- package/dist/serializer/error.cjs.map +1 -1
- package/dist/serializer/error.js.map +1 -1
- package/dist/serializer/serializer.cjs +16 -3
- 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 +16 -4
- 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-53t8gGQa.d.ts → serializer-BafOT48s.d.ts} +10 -4
- package/dist/{serializer-c51B2z6d.d.cts → serializer-CFDWYUco.d.cts} +10 -4
- package/dist/serve/server.cjs.map +1 -1
- package/dist/serve/server.js.map +1 -1
- package/dist/template.cjs.map +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 +3 -3
- package/dist/tools/calculator.d.ts +3 -3
- package/dist/tools/calculator.js.map +1 -1
- package/dist/tools/custom.cjs.map +1 -1
- package/dist/tools/custom.d.cts +3 -3
- package/dist/tools/custom.d.ts +3 -3
- package/dist/tools/custom.js.map +1 -1
- package/dist/tools/database/elasticsearch.cjs.map +1 -1
- package/dist/tools/database/elasticsearch.d.cts +3 -3
- package/dist/tools/database/elasticsearch.d.ts +3 -3
- package/dist/tools/database/elasticsearch.js.map +1 -1
- package/dist/tools/database/metadata.cjs.map +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 +3 -3
- package/dist/tools/database/milvus.d.ts +3 -3
- package/dist/tools/database/milvus.js.map +1 -1
- package/dist/tools/database/qdrant.cjs.map +1 -1
- package/dist/tools/database/qdrant.d.cts +2 -2
- package/dist/tools/database/qdrant.d.ts +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 +2 -2
- package/dist/tools/database/sql.d.ts +2 -2
- package/dist/tools/database/sql.js.map +1 -1
- package/dist/tools/handoff.cjs.map +1 -1
- package/dist/tools/handoff.d.cts +2 -2
- package/dist/tools/handoff.d.ts +2 -2
- package/dist/tools/handoff.js.map +1 -1
- package/dist/tools/llm.cjs +1 -1
- package/dist/tools/llm.cjs.map +1 -1
- package/dist/tools/llm.d.cts +3 -3
- package/dist/tools/llm.d.ts +3 -3
- package/dist/tools/llm.js +1 -1
- 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 +2 -2
- package/dist/tools/openapi.d.ts +2 -2
- package/dist/tools/openapi.js.map +1 -1
- package/dist/tools/python/output.cjs.map +1 -1
- package/dist/tools/python/output.d.cts +1 -1
- package/dist/tools/python/output.d.ts +1 -1
- package/dist/tools/python/output.js.map +1 -1
- package/dist/tools/python/python.cjs +5 -2
- package/dist/tools/python/python.cjs.map +1 -1
- package/dist/tools/python/python.d.cts +3 -3
- package/dist/tools/python/python.d.ts +3 -3
- package/dist/tools/python/python.js +5 -2
- package/dist/tools/python/python.js.map +1 -1
- package/dist/tools/python/storage.cjs.map +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 +2 -2
- package/dist/tools/search/googleSearch.d.ts +2 -2
- 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 +3 -3
- package/dist/tools/search/wikipedia.d.ts +3 -3
- 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/think.cjs.map +1 -1
- package/dist/tools/think.d.cts +2 -2
- package/dist/tools/think.d.ts +2 -2
- package/dist/tools/think.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 +2 -2
- package/dist/tools/web/webCrawler.d.ts +2 -2
- package/dist/tools/web/webCrawler.js.map +1 -1
- package/dist/{types-YoNQSxQH.d.cts → types-BNsa3W7Z.d.cts} +4 -4
- package/dist/{types-YT-WdK3m.d.ts → types-DYtzF6ya.d.ts} +4 -4
- package/dist/version.cjs +1 -1
- package/dist/version.js +1 -1
- package/dist/workflows/agent.cjs.map +1 -1
- package/dist/workflows/agent.d.cts +40 -40
- package/dist/workflows/agent.d.ts +40 -40
- 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 +38 -15
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OpenAIProvider } from '@ai-sdk/openai';
|
|
2
2
|
import { OpenAIClient, OpenAIClientSettings } from './client.js';
|
|
3
3
|
import { VercelChatModel } from '../../vercel/backend/chat.js';
|
|
4
|
-
import {
|
|
4
|
+
import { j as ChatModelParameters } from '../../../chat-CfTNfR60.js';
|
|
5
5
|
import '../../../backend/client.js';
|
|
6
6
|
import '../../../internals/serializable.js';
|
|
7
7
|
import '../../../internals/types.js';
|
|
@@ -10,7 +10,7 @@ import '../../../logger/logger.js';
|
|
|
10
10
|
import 'pino';
|
|
11
11
|
import '../../../errors.js';
|
|
12
12
|
import '../../../context.js';
|
|
13
|
-
import '../../../emitter-
|
|
13
|
+
import '../../../emitter-kHxkUxco.js';
|
|
14
14
|
import '../../../internals/helpers/promise.js';
|
|
15
15
|
import 'ai';
|
|
16
16
|
import '../../../backend/message.js';
|
|
@@ -1 +1 @@
|
|
|
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"]}
|
|
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,EAAA;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"]}
|
|
@@ -1 +1 @@
|
|
|
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
|
+
{"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,EAAA;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 +1 @@
|
|
|
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"]}
|
|
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,EAAA;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"]}
|
|
@@ -1 +1 @@
|
|
|
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"]}
|
|
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,EAAA;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-D4OcelZ9.cjs';
|
|
11
11
|
import '../../../internals/helpers/promise.cjs';
|
|
12
12
|
import '../../../errors.cjs';
|
|
13
|
-
import '../../../chat-
|
|
13
|
+
import '../../../chat-C20nYj46.cjs';
|
|
14
14
|
import '../../../backend/message.cjs';
|
|
15
15
|
import 'ai';
|
|
16
16
|
import 'promise-based-task';
|
|
@@ -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-kHxkUxco.js';
|
|
11
11
|
import '../../../internals/helpers/promise.js';
|
|
12
12
|
import '../../../errors.js';
|
|
13
|
-
import '../../../chat-
|
|
13
|
+
import '../../../chat-CfTNfR60.js';
|
|
14
14
|
import '../../../backend/message.js';
|
|
15
15
|
import 'ai';
|
|
16
16
|
import 'promise-based-task';
|
|
@@ -1 +1 @@
|
|
|
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"]}
|
|
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,EAAA;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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapters/vercel/backend/chat.ts"],"names":["globalThis","AI_SDK_LOG_WARNINGS","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","id","generateText","temperature","transformInput","abortSignal","signal","ChatModelOutput","transformMessages","extractTokenUsage","name","description","target","_input","ZodArray","Output","array","element","ZodEnum","choice","options","object","jsonSchema","json","AssistantMessage","JSON","stringify","undefined","_createStream","isEmpty","tools","fullStream","usagePromise","finishReasonPromise","responsePromise","streamText","streamEmpty","streamedToolCalls","Map","event","message","type","text","streamPartialToolCalls","chunk","toolName","toolCallId","set","delta","get","existingToolCall","delete","ChatModelError","error","ToolMessage","aborted","_","Promise","all","lastChunk","e","map","tool","inputSchema","getInputJsonSchema","msg","CustomMessage","encodeCustomMessage","role","content","UserMessage","SystemMessage","part","join","toolChoice","Tool","toolChoiceSupport","includes","logger","warn","parameters","mapToObj","length","flatMap","filter","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 AssistantModelMessage,\n ModelMessage,\n ToolModelMessage,\n generateText,\n jsonSchema,\n LanguageModel as _LanguageModel,\n streamText,\n TextPart,\n ToolCallPart,\n ToolChoice,\n Output,\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 { ZodArray, ZodEnum, ZodSchema } from \"zod\";\nimport { Tool } from \"@/tools/base.js\";\nimport { encodeCustomMessage, extractTokenUsage } from \"@/adapters/vercel/backend/utils.js\";\n\ntry {\n globalThis.AI_SDK_LOG_WARNINGS = false;\n} catch {\n /* empty */\n}\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, id },\n } = await generateText({\n temperature: 0,\n ...(await this.transformInput(input)),\n abortSignal: run.signal,\n });\n\n return new ChatModelOutput(\n this.transformMessages(messages, id),\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 { output, response, finishReason, usage } = await generateText({\n temperature: 0,\n ...(await this.transformInput(input)),\n abortSignal: run.signal,\n output: ((): Output.Output => {\n if (schema instanceof ZodSchema) {\n const [name, description] = [\"Schema\", schema.description];\n const target = schema._input || schema;\n if (target instanceof ZodArray) {\n return Output.array({ element: schema, name, description });\n }\n if (target instanceof ZodEnum) {\n return Output.choice({\n options: target.options,\n name: \"\",\n description: schema.description,\n });\n }\n return Output.object({ schema, name, description });\n }\n if (schema.schema) {\n return Output.object({\n schema: jsonSchema<T>(schema.schema),\n name: schema.name,\n description: schema.description,\n });\n }\n return Output.json({ name: schema.name, description: schema.description });\n })(),\n });\n\n return {\n object: output as T,\n output: new ChatModelOutput(\n [new AssistantMessage(JSON.stringify(output, null, 2), undefined, response.id)],\n extractTokenUsage(usage),\n finishReason,\n ),\n };\n }\n\n async *_createStream(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 yield output;\n return;\n }\n\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 temperature: 0,\n ...(await this.transformInput(input)),\n abortSignal: run.signal,\n });\n\n let streamEmpty = true;\n const streamedToolCalls = new Map<string, ToolCallPart>();\n for await (const event of fullStream) {\n let message: Message;\n switch (event.type) {\n case \"text-delta\":\n streamEmpty = false;\n message = new AssistantMessage(event.text, {}, event.id);\n yield new ChatModelOutput([message]);\n break;\n case \"text-end\":\n streamEmpty = false;\n break;\n case \"tool-input-start\": {\n if (!input.streamPartialToolCalls) {\n break;\n }\n\n const chunk: ToolCallPart = {\n type: \"tool-call\",\n toolName: event.toolName,\n toolCallId: event.id,\n input: \"\",\n };\n streamedToolCalls.set(event.id, chunk);\n const message = new AssistantMessage(chunk, {}, event.id);\n yield new ChatModelOutput([message]);\n break;\n }\n case \"tool-input-delta\": {\n if (!input.streamPartialToolCalls) {\n break;\n }\n\n if (event.delta) {\n const chunk = streamedToolCalls.get(event.id)!;\n const message = new AssistantMessage({ ...chunk, input: event.delta }, {}, event.id);\n yield new ChatModelOutput([message]);\n }\n break;\n }\n case \"tool-call\": {\n streamEmpty = false;\n const existingToolCall = streamedToolCalls.get(event.toolCallId);\n if (existingToolCall) {\n streamedToolCalls.delete(event.toolCallId);\n break;\n }\n message = new AssistantMessage(\n {\n type: event.type,\n toolCallId: event.toolCallId,\n toolName: event.toolName,\n input: event.input,\n },\n {},\n event.toolCallId,\n );\n yield new ChatModelOutput([message]);\n break;\n }\n case \"error\":\n throw new ChatModelError(\"Unhandled error\", [event.error as Error]);\n case \"tool-result\":\n streamEmpty = false;\n message = new ToolMessage(\n {\n type: event.type,\n toolCallId: event.toolCallId,\n toolName: event.toolName,\n output: event.output as any,\n },\n {},\n `tool_result_${event.toolCallId}`,\n );\n yield new ChatModelOutput([message]);\n break;\n case \"abort\":\n break;\n default:\n break;\n }\n }\n\n if (streamEmpty && !run.signal.aborted) {\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 const lastChunk = new ChatModelOutput([]);\n lastChunk.usage = extractTokenUsage(usage);\n lastChunk.finishReason = finishReason;\n yield lastChunk;\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(\n messages: (AssistantModelMessage | ToolModelMessage)[],\n id: string | undefined,\n ): Message[] {\n if (messages.length > 1) {\n id = undefined;\n }\n return messages.flatMap((msg) => {\n if (msg.role === \"tool\") {\n return new ToolMessage(\n msg.content.filter((part) => part.type === \"tool-result\"),\n msg.providerOptions,\n id,\n );\n }\n return new AssistantMessage(\n msg.content as TextPart | ToolCallPart | string,\n msg.providerOptions,\n id,\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":["globalThis","AI_SDK_LOG_WARNINGS","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","id","generateText","temperature","transformInput","abortSignal","signal","ChatModelOutput","transformMessages","extractTokenUsage","name","description","target","_input","ZodArray","Output","array","element","ZodEnum","choice","options","object","jsonSchema","json","AssistantMessage","JSON","stringify","undefined","_createStream","isEmpty","tools","fullStream","usagePromise","finishReasonPromise","responsePromise","streamText","streamEmpty","streamedToolCalls","Map","event","message","type","text","streamPartialToolCalls","chunk","toolName","toolCallId","set","delta","get","existingToolCall","delete","ChatModelError","error","ToolMessage","aborted","_","Promise","all","lastChunk","e","map","tool","inputSchema","getInputJsonSchema","msg","CustomMessage","encodeCustomMessage","role","content","UserMessage","SystemMessage","part","join","toolChoice","Tool","toolChoiceSupport","includes","logger","warn","parameters","mapToObj","length","flatMap","filter","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 AssistantModelMessage,\n ModelMessage,\n ToolModelMessage,\n generateText,\n jsonSchema,\n LanguageModel as _LanguageModel,\n streamText,\n TextPart,\n ToolCallPart,\n ToolChoice,\n Output,\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 { ZodArray, ZodEnum, ZodSchema } from \"zod\";\nimport { Tool } from \"@/tools/base.js\";\nimport { encodeCustomMessage, extractTokenUsage } from \"@/adapters/vercel/backend/utils.js\";\n\ntry {\n globalThis.AI_SDK_LOG_WARNINGS = false;\n} catch {\n /* empty */\n}\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, id },\n } = await generateText({\n temperature: 0,\n ...(await this.transformInput(input)),\n abortSignal: run.signal,\n });\n\n return new ChatModelOutput(\n this.transformMessages(messages, id),\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 { output, response, finishReason, usage } = await generateText({\n temperature: 0,\n ...(await this.transformInput(input)),\n abortSignal: run.signal,\n output: ((): Output.Output => {\n if (schema instanceof ZodSchema) {\n const [name, description] = [\"Schema\", schema.description];\n const target = schema._input || schema;\n if (target instanceof ZodArray) {\n return Output.array({ element: schema, name, description });\n }\n if (target instanceof ZodEnum) {\n return Output.choice({\n options: target.options,\n name: \"\",\n description: schema.description,\n });\n }\n return Output.object({ schema, name, description });\n }\n if (schema.schema) {\n return Output.object({\n schema: jsonSchema<T>(schema.schema),\n name: schema.name,\n description: schema.description,\n });\n }\n return Output.json({ name: schema.name, description: schema.description });\n })(),\n });\n\n return {\n object: output as T,\n output: new ChatModelOutput(\n [new AssistantMessage(JSON.stringify(output, null, 2), undefined, response.id)],\n extractTokenUsage(usage),\n finishReason,\n ),\n };\n }\n\n async *_createStream(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 yield output;\n return;\n }\n\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 temperature: 0,\n ...(await this.transformInput(input)),\n abortSignal: run.signal,\n });\n\n let streamEmpty = true;\n const streamedToolCalls = new Map<string, ToolCallPart>();\n for await (const event of fullStream) {\n let message: Message;\n switch (event.type) {\n case \"text-delta\":\n streamEmpty = false;\n message = new AssistantMessage(event.text, {}, event.id);\n yield new ChatModelOutput([message]);\n break;\n case \"text-end\":\n streamEmpty = false;\n break;\n case \"tool-input-start\": {\n if (!input.streamPartialToolCalls) {\n break;\n }\n\n const chunk: ToolCallPart = {\n type: \"tool-call\",\n toolName: event.toolName,\n toolCallId: event.id,\n input: \"\",\n };\n streamedToolCalls.set(event.id, chunk);\n const message = new AssistantMessage(chunk, {}, event.id);\n yield new ChatModelOutput([message]);\n break;\n }\n case \"tool-input-delta\": {\n if (!input.streamPartialToolCalls) {\n break;\n }\n\n if (event.delta) {\n const chunk = streamedToolCalls.get(event.id)!;\n const message = new AssistantMessage({ ...chunk, input: event.delta }, {}, event.id);\n yield new ChatModelOutput([message]);\n }\n break;\n }\n case \"tool-call\": {\n streamEmpty = false;\n const existingToolCall = streamedToolCalls.get(event.toolCallId);\n if (existingToolCall) {\n streamedToolCalls.delete(event.toolCallId);\n break;\n }\n message = new AssistantMessage(\n {\n type: event.type,\n toolCallId: event.toolCallId,\n toolName: event.toolName,\n input: event.input,\n },\n {},\n event.toolCallId,\n );\n yield new ChatModelOutput([message]);\n break;\n }\n case \"error\":\n throw new ChatModelError(\"Unhandled error\", [event.error as Error]);\n case \"tool-result\":\n streamEmpty = false;\n message = new ToolMessage(\n {\n type: event.type,\n toolCallId: event.toolCallId,\n toolName: event.toolName,\n output: event.output as any,\n },\n {},\n `tool_result_${event.toolCallId}`,\n );\n yield new ChatModelOutput([message]);\n break;\n case \"abort\":\n break;\n default:\n break;\n }\n }\n\n if (streamEmpty && !run.signal.aborted) {\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 const lastChunk = new ChatModelOutput([]);\n lastChunk.usage = extractTokenUsage(usage);\n lastChunk.finishReason = finishReason;\n yield lastChunk;\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(\n messages: (AssistantModelMessage | ToolModelMessage)[],\n id: string | undefined,\n ): Message[] {\n if (messages.length > 1) {\n id = undefined;\n }\n return messages.flatMap((msg) => {\n if (msg.role === \"tool\") {\n return new ToolMessage(\n msg.content.filter((part) => part.type === \"tool-result\"),\n msg.providerOptions,\n id,\n );\n }\n return new AssistantMessage(\n msg.content as TextPart | ToolCallPart | string,\n msg.providerOptions,\n id,\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,8 +1,8 @@
|
|
|
1
1
|
import { Logger } from '../../../logger/logger.cjs';
|
|
2
2
|
import { GetRunContext, MiddlewareType } from '../../../context.cjs';
|
|
3
|
-
import {
|
|
3
|
+
import { a as ChatModel, d as ChatModelEvents, f as ChatModelInput, i as ChatModelOutput, g as ChatModelObjectInput, h as ChatModelObjectOutput, b as ChatModelCache, j as ChatModelParameters, l as ChatModelToolChoiceSupport } from '../../../chat-C20nYj46.cjs';
|
|
4
4
|
import { LanguageModel, generateText, AssistantModelMessage, ToolModelMessage } from 'ai';
|
|
5
|
-
import { E as Emitter } from '../../../emitter-
|
|
5
|
+
import { E as Emitter } from '../../../emitter-D4OcelZ9.cjs';
|
|
6
6
|
import { Message } from '../../../backend/message.cjs';
|
|
7
7
|
import 'pino';
|
|
8
8
|
import '../../../errors.cjs';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Logger } from '../../../logger/logger.js';
|
|
2
2
|
import { GetRunContext, MiddlewareType } from '../../../context.js';
|
|
3
|
-
import {
|
|
3
|
+
import { a as ChatModel, d as ChatModelEvents, f as ChatModelInput, i as ChatModelOutput, g as ChatModelObjectInput, h as ChatModelObjectOutput, b as ChatModelCache, j as ChatModelParameters, l as ChatModelToolChoiceSupport } from '../../../chat-CfTNfR60.js';
|
|
4
4
|
import { LanguageModel, generateText, AssistantModelMessage, ToolModelMessage } from 'ai';
|
|
5
|
-
import { E as Emitter } from '../../../emitter-
|
|
5
|
+
import { E as Emitter } from '../../../emitter-kHxkUxco.js';
|
|
6
6
|
import { Message } from '../../../backend/message.js';
|
|
7
7
|
import 'pino';
|
|
8
8
|
import '../../../errors.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapters/vercel/backend/chat.ts"],"names":["globalThis","AI_SDK_LOG_WARNINGS","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","id","generateText","temperature","transformInput","abortSignal","signal","ChatModelOutput","transformMessages","extractTokenUsage","name","description","target","_input","ZodArray","Output","array","element","ZodEnum","choice","options","object","jsonSchema","json","AssistantMessage","JSON","stringify","undefined","_createStream","isEmpty","tools","fullStream","usagePromise","finishReasonPromise","responsePromise","streamText","streamEmpty","streamedToolCalls","Map","event","message","type","text","streamPartialToolCalls","chunk","toolName","toolCallId","set","delta","get","existingToolCall","delete","ChatModelError","error","ToolMessage","aborted","_","Promise","all","lastChunk","e","map","tool","inputSchema","getInputJsonSchema","msg","CustomMessage","encodeCustomMessage","role","content","UserMessage","SystemMessage","part","join","toolChoice","Tool","toolChoiceSupport","includes","logger","warn","parameters","mapToObj","length","flatMap","filter","providerOptions","createSnapshot","loadSnapshot","snapshot","instance","fromName","Error","destroy","Object","assign"],"mappings":"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","file":"chat.js","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 AssistantModelMessage,\n ModelMessage,\n ToolModelMessage,\n generateText,\n jsonSchema,\n LanguageModel as _LanguageModel,\n streamText,\n TextPart,\n ToolCallPart,\n ToolChoice,\n Output,\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 { ZodArray, ZodEnum, ZodSchema } from \"zod\";\nimport { Tool } from \"@/tools/base.js\";\nimport { encodeCustomMessage, extractTokenUsage } from \"@/adapters/vercel/backend/utils.js\";\n\ntry {\n globalThis.AI_SDK_LOG_WARNINGS = false;\n} catch {\n /* empty */\n}\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, id },\n } = await generateText({\n temperature: 0,\n ...(await this.transformInput(input)),\n abortSignal: run.signal,\n });\n\n return new ChatModelOutput(\n this.transformMessages(messages, id),\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 { output, response, finishReason, usage } = await generateText({\n temperature: 0,\n ...(await this.transformInput(input)),\n abortSignal: run.signal,\n output: ((): Output.Output => {\n if (schema instanceof ZodSchema) {\n const [name, description] = [\"Schema\", schema.description];\n const target = schema._input || schema;\n if (target instanceof ZodArray) {\n return Output.array({ element: schema, name, description });\n }\n if (target instanceof ZodEnum) {\n return Output.choice({\n options: target.options,\n name: \"\",\n description: schema.description,\n });\n }\n return Output.object({ schema, name, description });\n }\n if (schema.schema) {\n return Output.object({\n schema: jsonSchema<T>(schema.schema),\n name: schema.name,\n description: schema.description,\n });\n }\n return Output.json({ name: schema.name, description: schema.description });\n })(),\n });\n\n return {\n object: output as T,\n output: new ChatModelOutput(\n [new AssistantMessage(JSON.stringify(output, null, 2), undefined, response.id)],\n extractTokenUsage(usage),\n finishReason,\n ),\n };\n }\n\n async *_createStream(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 yield output;\n return;\n }\n\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 temperature: 0,\n ...(await this.transformInput(input)),\n abortSignal: run.signal,\n });\n\n let streamEmpty = true;\n const streamedToolCalls = new Map<string, ToolCallPart>();\n for await (const event of fullStream) {\n let message: Message;\n switch (event.type) {\n case \"text-delta\":\n streamEmpty = false;\n message = new AssistantMessage(event.text, {}, event.id);\n yield new ChatModelOutput([message]);\n break;\n case \"text-end\":\n streamEmpty = false;\n break;\n case \"tool-input-start\": {\n if (!input.streamPartialToolCalls) {\n break;\n }\n\n const chunk: ToolCallPart = {\n type: \"tool-call\",\n toolName: event.toolName,\n toolCallId: event.id,\n input: \"\",\n };\n streamedToolCalls.set(event.id, chunk);\n const message = new AssistantMessage(chunk, {}, event.id);\n yield new ChatModelOutput([message]);\n break;\n }\n case \"tool-input-delta\": {\n if (!input.streamPartialToolCalls) {\n break;\n }\n\n if (event.delta) {\n const chunk = streamedToolCalls.get(event.id)!;\n const message = new AssistantMessage({ ...chunk, input: event.delta }, {}, event.id);\n yield new ChatModelOutput([message]);\n }\n break;\n }\n case \"tool-call\": {\n streamEmpty = false;\n const existingToolCall = streamedToolCalls.get(event.toolCallId);\n if (existingToolCall) {\n streamedToolCalls.delete(event.toolCallId);\n break;\n }\n message = new AssistantMessage(\n {\n type: event.type,\n toolCallId: event.toolCallId,\n toolName: event.toolName,\n input: event.input,\n },\n {},\n event.toolCallId,\n );\n yield new ChatModelOutput([message]);\n break;\n }\n case \"error\":\n throw new ChatModelError(\"Unhandled error\", [event.error as Error]);\n case \"tool-result\":\n streamEmpty = false;\n message = new ToolMessage(\n {\n type: event.type,\n toolCallId: event.toolCallId,\n toolName: event.toolName,\n output: event.output as any,\n },\n {},\n `tool_result_${event.toolCallId}`,\n );\n yield new ChatModelOutput([message]);\n break;\n case \"abort\":\n break;\n default:\n break;\n }\n }\n\n if (streamEmpty && !run.signal.aborted) {\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 const lastChunk = new ChatModelOutput([]);\n lastChunk.usage = extractTokenUsage(usage);\n lastChunk.finishReason = finishReason;\n yield lastChunk;\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(\n messages: (AssistantModelMessage | ToolModelMessage)[],\n id: string | undefined,\n ): Message[] {\n if (messages.length > 1) {\n id = undefined;\n }\n return messages.flatMap((msg) => {\n if (msg.role === \"tool\") {\n return new ToolMessage(\n msg.content.filter((part) => part.type === \"tool-result\"),\n msg.providerOptions,\n id,\n );\n }\n return new AssistantMessage(\n msg.content as TextPart | ToolCallPart | string,\n msg.providerOptions,\n id,\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":["globalThis","AI_SDK_LOG_WARNINGS","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","id","generateText","temperature","transformInput","abortSignal","signal","ChatModelOutput","transformMessages","extractTokenUsage","name","description","target","_input","ZodArray","Output","array","element","ZodEnum","choice","options","object","jsonSchema","json","AssistantMessage","JSON","stringify","undefined","_createStream","isEmpty","tools","fullStream","usagePromise","finishReasonPromise","responsePromise","streamText","streamEmpty","streamedToolCalls","Map","event","message","type","text","streamPartialToolCalls","chunk","toolName","toolCallId","set","delta","get","existingToolCall","delete","ChatModelError","error","ToolMessage","aborted","_","Promise","all","lastChunk","e","map","tool","inputSchema","getInputJsonSchema","msg","CustomMessage","encodeCustomMessage","role","content","UserMessage","SystemMessage","part","join","toolChoice","Tool","toolChoiceSupport","includes","logger","warn","parameters","mapToObj","length","flatMap","filter","providerOptions","createSnapshot","loadSnapshot","snapshot","instance","fromName","Error","destroy","Object","assign"],"mappings":"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","file":"chat.js","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 AssistantModelMessage,\n ModelMessage,\n ToolModelMessage,\n generateText,\n jsonSchema,\n LanguageModel as _LanguageModel,\n streamText,\n TextPart,\n ToolCallPart,\n ToolChoice,\n Output,\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 { ZodArray, ZodEnum, ZodSchema } from \"zod\";\nimport { Tool } from \"@/tools/base.js\";\nimport { encodeCustomMessage, extractTokenUsage } from \"@/adapters/vercel/backend/utils.js\";\n\ntry {\n globalThis.AI_SDK_LOG_WARNINGS = false;\n} catch {\n /* empty */\n}\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, id },\n } = await generateText({\n temperature: 0,\n ...(await this.transformInput(input)),\n abortSignal: run.signal,\n });\n\n return new ChatModelOutput(\n this.transformMessages(messages, id),\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 { output, response, finishReason, usage } = await generateText({\n temperature: 0,\n ...(await this.transformInput(input)),\n abortSignal: run.signal,\n output: ((): Output.Output => {\n if (schema instanceof ZodSchema) {\n const [name, description] = [\"Schema\", schema.description];\n const target = schema._input || schema;\n if (target instanceof ZodArray) {\n return Output.array({ element: schema, name, description });\n }\n if (target instanceof ZodEnum) {\n return Output.choice({\n options: target.options,\n name: \"\",\n description: schema.description,\n });\n }\n return Output.object({ schema, name, description });\n }\n if (schema.schema) {\n return Output.object({\n schema: jsonSchema<T>(schema.schema),\n name: schema.name,\n description: schema.description,\n });\n }\n return Output.json({ name: schema.name, description: schema.description });\n })(),\n });\n\n return {\n object: output as T,\n output: new ChatModelOutput(\n [new AssistantMessage(JSON.stringify(output, null, 2), undefined, response.id)],\n extractTokenUsage(usage),\n finishReason,\n ),\n };\n }\n\n async *_createStream(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 yield output;\n return;\n }\n\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 temperature: 0,\n ...(await this.transformInput(input)),\n abortSignal: run.signal,\n });\n\n let streamEmpty = true;\n const streamedToolCalls = new Map<string, ToolCallPart>();\n for await (const event of fullStream) {\n let message: Message;\n switch (event.type) {\n case \"text-delta\":\n streamEmpty = false;\n message = new AssistantMessage(event.text, {}, event.id);\n yield new ChatModelOutput([message]);\n break;\n case \"text-end\":\n streamEmpty = false;\n break;\n case \"tool-input-start\": {\n if (!input.streamPartialToolCalls) {\n break;\n }\n\n const chunk: ToolCallPart = {\n type: \"tool-call\",\n toolName: event.toolName,\n toolCallId: event.id,\n input: \"\",\n };\n streamedToolCalls.set(event.id, chunk);\n const message = new AssistantMessage(chunk, {}, event.id);\n yield new ChatModelOutput([message]);\n break;\n }\n case \"tool-input-delta\": {\n if (!input.streamPartialToolCalls) {\n break;\n }\n\n if (event.delta) {\n const chunk = streamedToolCalls.get(event.id)!;\n const message = new AssistantMessage({ ...chunk, input: event.delta }, {}, event.id);\n yield new ChatModelOutput([message]);\n }\n break;\n }\n case \"tool-call\": {\n streamEmpty = false;\n const existingToolCall = streamedToolCalls.get(event.toolCallId);\n if (existingToolCall) {\n streamedToolCalls.delete(event.toolCallId);\n break;\n }\n message = new AssistantMessage(\n {\n type: event.type,\n toolCallId: event.toolCallId,\n toolName: event.toolName,\n input: event.input,\n },\n {},\n event.toolCallId,\n );\n yield new ChatModelOutput([message]);\n break;\n }\n case \"error\":\n throw new ChatModelError(\"Unhandled error\", [event.error as Error]);\n case \"tool-result\":\n streamEmpty = false;\n message = new ToolMessage(\n {\n type: event.type,\n toolCallId: event.toolCallId,\n toolName: event.toolName,\n output: event.output as any,\n },\n {},\n `tool_result_${event.toolCallId}`,\n );\n yield new ChatModelOutput([message]);\n break;\n case \"abort\":\n break;\n default:\n break;\n }\n }\n\n if (streamEmpty && !run.signal.aborted) {\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 const lastChunk = new ChatModelOutput([]);\n lastChunk.usage = extractTokenUsage(usage);\n lastChunk.finishReason = finishReason;\n yield lastChunk;\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(\n messages: (AssistantModelMessage | ToolModelMessage)[],\n id: string | undefined,\n ): Message[] {\n if (messages.length > 1) {\n id = undefined;\n }\n return messages.flatMap((msg) => {\n if (msg.role === \"tool\") {\n return new ToolMessage(\n msg.content.filter((part) => part.type === \"tool-result\"),\n msg.providerOptions,\n id,\n );\n }\n return new AssistantMessage(\n msg.content as TextPart | ToolCallPart | string,\n msg.providerOptions,\n id,\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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapters/vercel/backend/embedding.ts"],"names":["VercelEmbeddingModel","EmbeddingModel","emitter","model","Emitter","root","child","namespace","providerId","creator","modelId","provider","split","toCamelCase","_create","input","run","embedMany","values","abortSignal","signal","createSnapshot","loadSnapshot","snapshot","instance","fromName","Error","destroy","Object","assign"],"mappings":";;;;;;;;;AAmBO,MAAMA,6BAEHC,4BAAAA,CAAAA;EArBV;;;;AAsBkBC,EAAAA,OAAAA;AAEhB,EAAA,WAAA,CAA4BC,KAAAA,EAAU;AACpC,IAAA,KAAA,EAAK,EAAA,KADqBA,KAAAA,GAAAA,KAAAA;AAE1B,IAAA,IAAA,CAAKD,OAAAA,GAAUE,mBAAAA,CAAQC,IAAAA,CAAKC,KAAAA,CAAM;MAChCC,SAAAA,EAAW;AAAC,QAAA,SAAA;QAAW,IAAA,CAAKC,UAAAA;AAAY,QAAA;;MACxCC,OAAAA,EAAS;KACX,CAAA;AACF;AAEA,EAAA,IAAIC,OAAAA,GAAkB;AACpB,IAAA,OAAO,KAAKP,KAAAA,CAAMO,OAAAA;AACpB;AAEA,EAAA,IAAIF,UAAAA,GAAqB;AACvB,IAAA,MAAMG,QAAAA,GAAW,IAAA,CAAKR,KAAAA,CAAMQ,QAAAA,CAASC,KAAAA,CAAM,GAAA,CAAA,CAAK,CAAA,CAAA,CAAGA,KAAAA,CAAM,GAAA,CAAA,CAAK,CAAA,CAAA;AAC9D,IAAA,OAAOC,mBAAYF,QAAAA,CAAAA;AACrB;EAEA,MAAgBG,OAAAA,CACdC,OACAC,GAAAA,EAC+B;AAC/B,IAAA,OAAOC,YAAAA,CAAU;AACfd,MAAAA,KAAAA,EAAO,IAAA,CAAKA,KAAAA;AACZe,MAAAA,MAAAA,EAAQH,KAAAA,CAAMG,MAAAA;AACdC,MAAAA,WAAAA,EAAaH,GAAAA,CAAII;KACnB,CAAA;AACF;EAEAC,cAAAA,GAAiB;AACf,IAAA,OAAO;AACL,MAAA,GAAG,MAAMA,cAAAA,EAAAA;AACTb,MAAAA,UAAAA,EAAY,IAAA,CAAKA,UAAAA;AACjBE,MAAAA,OAAAA,EAAS,IAAA,CAAKP;AAChB,KAAA;AACF;AAEA,EAAA,MAAMmB,aAAa,EAAEd,UAAAA,EAAYE,OAAAA,EAAS,GAAGa,UAAAA,EAAoD;AAC/F,IAAA,MAAMC,QAAAA,GAAW,MAAMxB,oBAAAA,CAAqByB,QAAAA,CAC1C,GAAGjB,UAAAA,CAAAA,CAAAA,EAAcE,OAAAA,CAAAA,CAAS,CAAA;AAE5B,IAAA,IAAI,EAAEc,oBAAoBxB,oBAAAA,CAAAA,EAAuB;AAC/C,MAAA,MAAM,IAAI0B,MAAM,4BAAA,CAAA;AAClB;AACAF,IAAAA,QAAAA,CAASG,OAAAA,EAAO;AAChBC,IAAAA,MAAAA,CAAOC,OAAO,IAAA,EAAM;MAClB,GAAGN,QAAAA;AACHpB,MAAAA,KAAAA,EAAOqB,QAAAA,CAASrB;KAClB,CAAA;AACF;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 {\n EmbeddingModel,\n EmbeddingModelInput,\n EmbeddingModelOutput,\n EmbeddingModelEvents,\n} from \"@/backend/embedding.js\";\nimport { embedMany, EmbeddingModel as Model } from \"ai\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { toCamelCase } from \"remeda\";\nimport { FullModelName } from \"@/backend/utils.js\";\n\ntype InternalEmbeddingModel = Exclude<Model, string>;\n\nexport class VercelEmbeddingModel<\n R extends InternalEmbeddingModel = InternalEmbeddingModel,\n> extends EmbeddingModel {\n public readonly emitter: Emitter<EmbeddingModelEvents>;\n\n constructor(public readonly model: R) {\n super();\n this.emitter = Emitter.root.child({\n namespace: [\"backend\", this.providerId, \"embedding\"],\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(\n input: EmbeddingModelInput,\n run: GetRunContext<this>,\n ): Promise<EmbeddingModelOutput> {\n return embedMany({\n model: this.model,\n values: input.values,\n abortSignal: run.signal,\n });\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n providerId: this.providerId,\n modelId: this.model,\n };\n }\n\n async loadSnapshot({ providerId, modelId, ...snapshot }: ReturnType<typeof this.createSnapshot>) {\n const instance = await VercelEmbeddingModel.fromName(\n `${providerId}:${modelId}` as FullModelName,\n );\n if (!(instance instanceof VercelEmbeddingModel)) {\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/embedding.ts"],"names":["VercelEmbeddingModel","EmbeddingModel","emitter","model","Emitter","root","child","namespace","providerId","creator","modelId","provider","split","toCamelCase","_create","input","run","embedMany","values","abortSignal","signal","createSnapshot","loadSnapshot","snapshot","instance","fromName","Error","destroy","Object","assign"],"mappings":";;;;;;;;;AAmBO,MAAMA,6BAEHC,4BAAAA,CAAAA;EArBV;;;;AAsBkBC,EAAAA,OAAAA;AAEhB,EAAA,WAAA,CAA4BC,KAAAA,EAAU;AACpC,IAAA,KAAA,EAAK,EAAA,KADqBA,KAAAA,GAAAA,KAAAA;AAE1B,IAAA,IAAA,CAAKD,OAAAA,GAAUE,mBAAAA,CAAQC,IAAAA,CAAKC,KAAAA,CAAM;MAChCC,SAAAA,EAAW;AAAC,QAAA,SAAA;QAAW,IAAA,CAAKC,UAAAA;AAAY,QAAA;;MACxCC,OAAAA,EAAS;KACX,CAAA;AACF,EAAA;AAEA,EAAA,IAAIC,OAAAA,GAAkB;AACpB,IAAA,OAAO,KAAKP,KAAAA,CAAMO,OAAAA;AACpB,EAAA;AAEA,EAAA,IAAIF,UAAAA,GAAqB;AACvB,IAAA,MAAMG,QAAAA,GAAW,IAAA,CAAKR,KAAAA,CAAMQ,QAAAA,CAASC,KAAAA,CAAM,GAAA,CAAA,CAAK,CAAA,CAAA,CAAGA,KAAAA,CAAM,GAAA,CAAA,CAAK,CAAA,CAAA;AAC9D,IAAA,OAAOC,mBAAYF,QAAAA,CAAAA;AACrB,EAAA;EAEA,MAAgBG,OAAAA,CACdC,OACAC,GAAAA,EAC+B;AAC/B,IAAA,OAAOC,YAAAA,CAAU;AACfd,MAAAA,KAAAA,EAAO,IAAA,CAAKA,KAAAA;AACZe,MAAAA,MAAAA,EAAQH,KAAAA,CAAMG,MAAAA;AACdC,MAAAA,WAAAA,EAAaH,GAAAA,CAAII;KACnB,CAAA;AACF,EAAA;EAEAC,cAAAA,GAAiB;AACf,IAAA,OAAO;AACL,MAAA,GAAG,MAAMA,cAAAA,EAAAA;AACTb,MAAAA,UAAAA,EAAY,IAAA,CAAKA,UAAAA;AACjBE,MAAAA,OAAAA,EAAS,IAAA,CAAKP;AAChB,KAAA;AACF,EAAA;AAEA,EAAA,MAAMmB,aAAa,EAAEd,UAAAA,EAAYE,OAAAA,EAAS,GAAGa,UAAAA,EAAoD;AAC/F,IAAA,MAAMC,QAAAA,GAAW,MAAMxB,oBAAAA,CAAqByB,QAAAA,CAC1C,GAAGjB,UAAAA,CAAAA,CAAAA,EAAcE,OAAAA,CAAAA,CAAS,CAAA;AAE5B,IAAA,IAAI,EAAEc,oBAAoBxB,oBAAAA,CAAAA,EAAuB;AAC/C,MAAA,MAAM,IAAI0B,MAAM,4BAAA,CAAA;AAClB,IAAA;AACAF,IAAAA,QAAAA,CAASG,OAAAA,EAAO;AAChBC,IAAAA,MAAAA,CAAOC,OAAO,IAAA,EAAM;MAClB,GAAGN,QAAAA;AACHpB,MAAAA,KAAAA,EAAOqB,QAAAA,CAASrB;KAClB,CAAA;AACF,EAAA;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 {\n EmbeddingModel,\n EmbeddingModelInput,\n EmbeddingModelOutput,\n EmbeddingModelEvents,\n} from \"@/backend/embedding.js\";\nimport { embedMany, EmbeddingModel as Model } from \"ai\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { toCamelCase } from \"remeda\";\nimport { FullModelName } from \"@/backend/utils.js\";\n\ntype InternalEmbeddingModel = Exclude<Model, string>;\n\nexport class VercelEmbeddingModel<\n R extends InternalEmbeddingModel = InternalEmbeddingModel,\n> extends EmbeddingModel {\n public readonly emitter: Emitter<EmbeddingModelEvents>;\n\n constructor(public readonly model: R) {\n super();\n this.emitter = Emitter.root.child({\n namespace: [\"backend\", this.providerId, \"embedding\"],\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(\n input: EmbeddingModelInput,\n run: GetRunContext<this>,\n ): Promise<EmbeddingModelOutput> {\n return embedMany({\n model: this.model,\n values: input.values,\n abortSignal: run.signal,\n });\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n providerId: this.providerId,\n modelId: this.model,\n };\n }\n\n async loadSnapshot({ providerId, modelId, ...snapshot }: ReturnType<typeof this.createSnapshot>) {\n const instance = await VercelEmbeddingModel.fromName(\n `${providerId}:${modelId}` as FullModelName,\n );\n if (!(instance instanceof VercelEmbeddingModel)) {\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,12 +1,12 @@
|
|
|
1
1
|
import { EmbeddingModel as EmbeddingModel$1, EmbeddingModelEvents, EmbeddingModelInput, EmbeddingModelOutput } from '../../../backend/embedding.cjs';
|
|
2
2
|
import { EmbeddingModel } from 'ai';
|
|
3
|
-
import { E as Emitter } from '../../../emitter-
|
|
3
|
+
import { E as Emitter } from '../../../emitter-D4OcelZ9.cjs';
|
|
4
4
|
import { GetRunContext } from '../../../context.cjs';
|
|
5
5
|
import '../../../internals/serializable.cjs';
|
|
6
6
|
import '../../../internals/types.cjs';
|
|
7
7
|
import '../../../internals/helpers/guards.cjs';
|
|
8
8
|
import '../../../errors.cjs';
|
|
9
|
-
import '../../../chat-
|
|
9
|
+
import '../../../chat-C20nYj46.cjs';
|
|
10
10
|
import '../../../backend/message.cjs';
|
|
11
11
|
import 'promise-based-task';
|
|
12
12
|
import '../../../cache/base.cjs';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { EmbeddingModel as EmbeddingModel$1, EmbeddingModelEvents, EmbeddingModelInput, EmbeddingModelOutput } from '../../../backend/embedding.js';
|
|
2
2
|
import { EmbeddingModel } from 'ai';
|
|
3
|
-
import { E as Emitter } from '../../../emitter-
|
|
3
|
+
import { E as Emitter } from '../../../emitter-kHxkUxco.js';
|
|
4
4
|
import { GetRunContext } from '../../../context.js';
|
|
5
5
|
import '../../../internals/serializable.js';
|
|
6
6
|
import '../../../internals/types.js';
|
|
7
7
|
import '../../../internals/helpers/guards.js';
|
|
8
8
|
import '../../../errors.js';
|
|
9
|
-
import '../../../chat-
|
|
9
|
+
import '../../../chat-CfTNfR60.js';
|
|
10
10
|
import '../../../backend/message.js';
|
|
11
11
|
import 'promise-based-task';
|
|
12
12
|
import '../../../cache/base.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapters/vercel/backend/embedding.ts"],"names":["VercelEmbeddingModel","EmbeddingModel","emitter","model","Emitter","root","child","namespace","providerId","creator","modelId","provider","split","toCamelCase","_create","input","run","embedMany","values","abortSignal","signal","createSnapshot","loadSnapshot","snapshot","instance","fromName","Error","destroy","Object","assign"],"mappings":";;;;;;;AAmBO,MAAMA,6BAEHC,cAAAA,CAAAA;EArBV;;;;AAsBkBC,EAAAA,OAAAA;AAEhB,EAAA,WAAA,CAA4BC,KAAAA,EAAU;AACpC,IAAA,KAAA,EAAK,EAAA,KADqBA,KAAAA,GAAAA,KAAAA;AAE1B,IAAA,IAAA,CAAKD,OAAAA,GAAUE,OAAAA,CAAQC,IAAAA,CAAKC,KAAAA,CAAM;MAChCC,SAAAA,EAAW;AAAC,QAAA,SAAA;QAAW,IAAA,CAAKC,UAAAA;AAAY,QAAA;;MACxCC,OAAAA,EAAS;KACX,CAAA;AACF;AAEA,EAAA,IAAIC,OAAAA,GAAkB;AACpB,IAAA,OAAO,KAAKP,KAAAA,CAAMO,OAAAA;AACpB;AAEA,EAAA,IAAIF,UAAAA,GAAqB;AACvB,IAAA,MAAMG,QAAAA,GAAW,IAAA,CAAKR,KAAAA,CAAMQ,QAAAA,CAASC,KAAAA,CAAM,GAAA,CAAA,CAAK,CAAA,CAAA,CAAGA,KAAAA,CAAM,GAAA,CAAA,CAAK,CAAA,CAAA;AAC9D,IAAA,OAAOC,YAAYF,QAAAA,CAAAA;AACrB;EAEA,MAAgBG,OAAAA,CACdC,OACAC,GAAAA,EAC+B;AAC/B,IAAA,OAAOC,SAAAA,CAAU;AACfd,MAAAA,KAAAA,EAAO,IAAA,CAAKA,KAAAA;AACZe,MAAAA,MAAAA,EAAQH,KAAAA,CAAMG,MAAAA;AACdC,MAAAA,WAAAA,EAAaH,GAAAA,CAAII;KACnB,CAAA;AACF;EAEAC,cAAAA,GAAiB;AACf,IAAA,OAAO;AACL,MAAA,GAAG,MAAMA,cAAAA,EAAAA;AACTb,MAAAA,UAAAA,EAAY,IAAA,CAAKA,UAAAA;AACjBE,MAAAA,OAAAA,EAAS,IAAA,CAAKP;AAChB,KAAA;AACF;AAEA,EAAA,MAAMmB,aAAa,EAAEd,UAAAA,EAAYE,OAAAA,EAAS,GAAGa,UAAAA,EAAoD;AAC/F,IAAA,MAAMC,QAAAA,GAAW,MAAMxB,oBAAAA,CAAqByB,QAAAA,CAC1C,GAAGjB,UAAAA,CAAAA,CAAAA,EAAcE,OAAAA,CAAAA,CAAS,CAAA;AAE5B,IAAA,IAAI,EAAEc,oBAAoBxB,oBAAAA,CAAAA,EAAuB;AAC/C,MAAA,MAAM,IAAI0B,MAAM,4BAAA,CAAA;AAClB;AACAF,IAAAA,QAAAA,CAASG,OAAAA,EAAO;AAChBC,IAAAA,MAAAA,CAAOC,OAAO,IAAA,EAAM;MAClB,GAAGN,QAAAA;AACHpB,MAAAA,KAAAA,EAAOqB,QAAAA,CAASrB;KAClB,CAAA;AACF;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 {\n EmbeddingModel,\n EmbeddingModelInput,\n EmbeddingModelOutput,\n EmbeddingModelEvents,\n} from \"@/backend/embedding.js\";\nimport { embedMany, EmbeddingModel as Model } from \"ai\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { toCamelCase } from \"remeda\";\nimport { FullModelName } from \"@/backend/utils.js\";\n\ntype InternalEmbeddingModel = Exclude<Model, string>;\n\nexport class VercelEmbeddingModel<\n R extends InternalEmbeddingModel = InternalEmbeddingModel,\n> extends EmbeddingModel {\n public readonly emitter: Emitter<EmbeddingModelEvents>;\n\n constructor(public readonly model: R) {\n super();\n this.emitter = Emitter.root.child({\n namespace: [\"backend\", this.providerId, \"embedding\"],\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(\n input: EmbeddingModelInput,\n run: GetRunContext<this>,\n ): Promise<EmbeddingModelOutput> {\n return embedMany({\n model: this.model,\n values: input.values,\n abortSignal: run.signal,\n });\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n providerId: this.providerId,\n modelId: this.model,\n };\n }\n\n async loadSnapshot({ providerId, modelId, ...snapshot }: ReturnType<typeof this.createSnapshot>) {\n const instance = await VercelEmbeddingModel.fromName(\n `${providerId}:${modelId}` as FullModelName,\n );\n if (!(instance instanceof VercelEmbeddingModel)) {\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/embedding.ts"],"names":["VercelEmbeddingModel","EmbeddingModel","emitter","model","Emitter","root","child","namespace","providerId","creator","modelId","provider","split","toCamelCase","_create","input","run","embedMany","values","abortSignal","signal","createSnapshot","loadSnapshot","snapshot","instance","fromName","Error","destroy","Object","assign"],"mappings":";;;;;;;AAmBO,MAAMA,6BAEHC,cAAAA,CAAAA;EArBV;;;;AAsBkBC,EAAAA,OAAAA;AAEhB,EAAA,WAAA,CAA4BC,KAAAA,EAAU;AACpC,IAAA,KAAA,EAAK,EAAA,KADqBA,KAAAA,GAAAA,KAAAA;AAE1B,IAAA,IAAA,CAAKD,OAAAA,GAAUE,OAAAA,CAAQC,IAAAA,CAAKC,KAAAA,CAAM;MAChCC,SAAAA,EAAW;AAAC,QAAA,SAAA;QAAW,IAAA,CAAKC,UAAAA;AAAY,QAAA;;MACxCC,OAAAA,EAAS;KACX,CAAA;AACF,EAAA;AAEA,EAAA,IAAIC,OAAAA,GAAkB;AACpB,IAAA,OAAO,KAAKP,KAAAA,CAAMO,OAAAA;AACpB,EAAA;AAEA,EAAA,IAAIF,UAAAA,GAAqB;AACvB,IAAA,MAAMG,QAAAA,GAAW,IAAA,CAAKR,KAAAA,CAAMQ,QAAAA,CAASC,KAAAA,CAAM,GAAA,CAAA,CAAK,CAAA,CAAA,CAAGA,KAAAA,CAAM,GAAA,CAAA,CAAK,CAAA,CAAA;AAC9D,IAAA,OAAOC,YAAYF,QAAAA,CAAAA;AACrB,EAAA;EAEA,MAAgBG,OAAAA,CACdC,OACAC,GAAAA,EAC+B;AAC/B,IAAA,OAAOC,SAAAA,CAAU;AACfd,MAAAA,KAAAA,EAAO,IAAA,CAAKA,KAAAA;AACZe,MAAAA,MAAAA,EAAQH,KAAAA,CAAMG,MAAAA;AACdC,MAAAA,WAAAA,EAAaH,GAAAA,CAAII;KACnB,CAAA;AACF,EAAA;EAEAC,cAAAA,GAAiB;AACf,IAAA,OAAO;AACL,MAAA,GAAG,MAAMA,cAAAA,EAAAA;AACTb,MAAAA,UAAAA,EAAY,IAAA,CAAKA,UAAAA;AACjBE,MAAAA,OAAAA,EAAS,IAAA,CAAKP;AAChB,KAAA;AACF,EAAA;AAEA,EAAA,MAAMmB,aAAa,EAAEd,UAAAA,EAAYE,OAAAA,EAAS,GAAGa,UAAAA,EAAoD;AAC/F,IAAA,MAAMC,QAAAA,GAAW,MAAMxB,oBAAAA,CAAqByB,QAAAA,CAC1C,GAAGjB,UAAAA,CAAAA,CAAAA,EAAcE,OAAAA,CAAAA,CAAS,CAAA;AAE5B,IAAA,IAAI,EAAEc,oBAAoBxB,oBAAAA,CAAAA,EAAuB;AAC/C,MAAA,MAAM,IAAI0B,MAAM,4BAAA,CAAA;AAClB,IAAA;AACAF,IAAAA,QAAAA,CAASG,OAAAA,EAAO;AAChBC,IAAAA,MAAAA,CAAOC,OAAO,IAAA,EAAM;MAClB,GAAGN,QAAAA;AACHpB,MAAAA,KAAAA,EAAOqB,QAAAA,CAASrB;KAClB,CAAA;AACF,EAAA;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 {\n EmbeddingModel,\n EmbeddingModelInput,\n EmbeddingModelOutput,\n EmbeddingModelEvents,\n} from \"@/backend/embedding.js\";\nimport { embedMany, EmbeddingModel as Model } from \"ai\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { toCamelCase } from \"remeda\";\nimport { FullModelName } from \"@/backend/utils.js\";\n\ntype InternalEmbeddingModel = Exclude<Model, string>;\n\nexport class VercelEmbeddingModel<\n R extends InternalEmbeddingModel = InternalEmbeddingModel,\n> extends EmbeddingModel {\n public readonly emitter: Emitter<EmbeddingModelEvents>;\n\n constructor(public readonly model: R) {\n super();\n this.emitter = Emitter.root.child({\n namespace: [\"backend\", this.providerId, \"embedding\"],\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(\n input: EmbeddingModelInput,\n run: GetRunContext<this>,\n ): Promise<EmbeddingModelOutput> {\n return embedMany({\n model: this.model,\n values: input.values,\n abortSignal: run.signal,\n });\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n providerId: this.providerId,\n modelId: this.model,\n };\n }\n\n async loadSnapshot({ providerId, modelId, ...snapshot }: ReturnType<typeof this.createSnapshot>) {\n const instance = await VercelEmbeddingModel.fromName(\n `${providerId}:${modelId}` as FullModelName,\n );\n if (!(instance instanceof VercelEmbeddingModel)) {\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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapters/vercel/backend/utils.ts"],"names":["encodeCustomMessage","msg","UserMessage","type","text","role","content","slice","decodeCustomMessage","value","_","id","split","join","unmaskCustomMessage","Role","USER","key","Array","isArray","map","val","filter","isTruthy","decoded","vercelFetcher","customFetch","url","options","isString","body","getProp","headers","JSON","parse","isPlainObject","messages","forEach","stringify","fetcher","fetch","parseHeadersFromEnv","env","parseEnv","z","preprocess","Object","fromEntries","String","pair","includes","record","string","extractTokenUsage","usage","promptTokens","inputTokens","completionTokens","outputTokens","totalTokens","reasoningTokens","cachedPromptTokens","cachedInputTokens","mergeTokenUsage","target","sources","source","isToolCallValid","obj","toolName","toolCallId","input","Boolean","parseBrokenJson"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../../src/adapters/vercel/backend/utils.ts"],"names":["encodeCustomMessage","msg","UserMessage","type","text","role","content","slice","decodeCustomMessage","value","_","id","split","join","unmaskCustomMessage","Role","USER","key","Array","isArray","map","val","filter","isTruthy","decoded","vercelFetcher","customFetch","url","options","isString","body","getProp","headers","JSON","parse","isPlainObject","messages","forEach","stringify","fetcher","fetch","parseHeadersFromEnv","env","parseEnv","z","preprocess","Object","fromEntries","String","pair","includes","record","string","extractTokenUsage","usage","promptTokens","inputTokens","completionTokens","outputTokens","totalTokens","reasoningTokens","cachedPromptTokens","cachedInputTokens","mergeTokenUsage","target","sources","source","isToolCallValid","obj","toolName","toolCallId","input","Boolean","parseBrokenJson"],"mappings":"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","file":"utils.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CustomMessage, Role, UserMessage } from \"@/backend/message.js\";\nimport { isPlainObject, isString, isTruthy } from \"remeda\";\nimport { getProp } from \"@/internals/helpers/object.js\";\nimport { TextPart, LanguageModelUsage, ToolCallPart } from \"ai\";\nimport { z } from \"zod\";\nimport { parseEnv } from \"@/internals/env.js\";\nimport { ChatModelUsage } from \"@/backend/chat.js\";\nimport { parseBrokenJson } from \"@/internals/helpers/schema.js\";\n\nexport function encodeCustomMessage(msg: CustomMessage): UserMessage {\n return new UserMessage([\n {\n type: \"text\",\n text: `#custom_role#${msg.role}#`,\n },\n ...(msg.content.slice() as TextPart[]),\n ]);\n}\n\nexport function decodeCustomMessage(value: string) {\n const [_, id, role, ...content] = value.split(\"#\");\n if (id !== \"custom_role\") {\n return;\n }\n return { role, content: content.join(\"#\") };\n}\n\nfunction unmaskCustomMessage(msg: Record<string, any>) {\n if (msg.role !== Role.USER) {\n return;\n }\n\n for (const key of [\"content\", \"text\"]) {\n let value = msg[key];\n if (!value) {\n continue;\n }\n\n if (Array.isArray(value)) {\n value = value\n .map((val) => (val.type === \"text\" ? val.text || val.content : null))\n .filter(isTruthy)\n .join(\"\");\n }\n\n const decoded = decodeCustomMessage(value);\n if (decoded) {\n msg.role = decoded.role;\n msg[key] = decoded.content;\n break;\n }\n }\n}\n\nexport function vercelFetcher(customFetch?: typeof fetch): typeof fetch {\n return async (url, options) => {\n if (\n options &&\n isString(options.body) &&\n (getProp(options.headers, [\"content-type\"]) === \"application/json\" ||\n getProp(options.headers, [\"Content-Type\"]) === \"application/json\")\n ) {\n const body = JSON.parse(options.body);\n if (isPlainObject(body) && Array.isArray(body.messages)) {\n body.messages.forEach((msg) => {\n if (!isPlainObject(msg)) {\n return;\n }\n unmaskCustomMessage(msg);\n });\n }\n options.body = JSON.stringify(body);\n }\n\n const fetcher = customFetch ?? fetch;\n return await fetcher(url, options);\n };\n}\n\nexport function parseHeadersFromEnv(env: string): Record<string, any> {\n return parseEnv(\n env,\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\nexport function extractTokenUsage(usage: LanguageModelUsage): ChatModelUsage {\n return {\n promptTokens: usage.inputTokens ?? 0,\n completionTokens: usage.outputTokens ?? 0,\n totalTokens: usage.totalTokens ?? 0,\n reasoningTokens: usage.reasoningTokens,\n cachedPromptTokens: usage.cachedInputTokens,\n };\n}\n\nexport function mergeTokenUsage(target: ChatModelUsage, ...sources: ChatModelUsage[]): void {\n for (const source of sources) {\n target.totalTokens += source.totalTokens ?? 0;\n target.promptTokens += source.promptTokens ?? 0;\n target.completionTokens += source.completionTokens ?? 0;\n if (source.reasoningTokens) {\n target.reasoningTokens = (target.reasoningTokens ?? 0) + source.reasoningTokens;\n }\n if (source.cachedPromptTokens) {\n target.cachedPromptTokens = (target.cachedPromptTokens ?? 0) + source.cachedPromptTokens;\n }\n }\n}\n\nexport function isToolCallValid(obj: ToolCallPart) {\n if (!obj.toolName || !obj.toolCallId || !obj.input) {\n return false;\n }\n if (isString(obj.input)) {\n return Boolean(parseBrokenJson(obj.input, { pair: [\"{\", \"}\"] }));\n }\n return Boolean(obj.input);\n}\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { CustomMessage, UserMessage } from '../../../backend/message.cjs';
|
|
2
2
|
import { LanguageModelUsage, ToolCallPart } from 'ai';
|
|
3
|
-
import {
|
|
3
|
+
import { m as ChatModelUsage } from '../../../chat-C20nYj46.cjs';
|
|
4
4
|
import '../../../internals/serializable.cjs';
|
|
5
5
|
import '../../../internals/types.cjs';
|
|
6
6
|
import '../../../internals/helpers/guards.cjs';
|
|
7
7
|
import '../../../context.cjs';
|
|
8
|
-
import '../../../emitter-
|
|
8
|
+
import '../../../emitter-D4OcelZ9.cjs';
|
|
9
9
|
import '../../../internals/helpers/promise.cjs';
|
|
10
10
|
import '../../../errors.cjs';
|
|
11
11
|
import 'promise-based-task';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { CustomMessage, UserMessage } from '../../../backend/message.js';
|
|
2
2
|
import { LanguageModelUsage, ToolCallPart } from 'ai';
|
|
3
|
-
import {
|
|
3
|
+
import { m as ChatModelUsage } from '../../../chat-CfTNfR60.js';
|
|
4
4
|
import '../../../internals/serializable.js';
|
|
5
5
|
import '../../../internals/types.js';
|
|
6
6
|
import '../../../internals/helpers/guards.js';
|
|
7
7
|
import '../../../context.js';
|
|
8
|
-
import '../../../emitter-
|
|
8
|
+
import '../../../emitter-kHxkUxco.js';
|
|
9
9
|
import '../../../internals/helpers/promise.js';
|
|
10
10
|
import '../../../errors.js';
|
|
11
11
|
import 'promise-based-task';
|