Partners
BeamWeaver partner adapters are native Elixir implementations of provider wire formats. Chat providers implement BeamWeaver.Core.ChatModel; TypeSafe Jev implements BeamWeaver.Core.DecisionModel. Each adapter owns its own message translation, tool rendering, streaming lifecycle, model profiles, request validation, and replay/fake transport coverage.
Use this page as the support matrix. The first matrix covers provider API surface. The second matrix covers composed agent capabilities: which model strings are practical choices when the agent needs planning, tools, filesystem-backed work, subagents, structured output, human review, and event streaming.
Capability Matrix
| Partner | Primary modules | Chat | Chat Completions | Responses API | Embeddings | Tools | Structured output | Streaming | Token counting |
|---|---|---|---|---|---|---|---|---|---|
| OpenAI |
BeamWeaver.OpenAI.*
| Yes | Yes | Yes | Yes | Function tools and Responses built-ins | JSON schema via Responses or Chat Completions | Text deltas, lifecycle events, reconstructed responses | Tokenizer/profile based |
| Anthropic |
BeamWeaver.Anthropic.*
| Yes | No | No | No | Custom tools and Anthropic server tools | Tool/schema strategy through model calls | Text deltas, typed events, reconstructed messages | Anthropic count-tokens endpoint |
BeamWeaver.Google.*
| Yes | No | No | No | Function declarations and Gemini built-ins | Gemini generation config schema | Text deltas, typed events, reconstructed messages | Gemini count-tokens endpoint | |
| DeepSeek |
BeamWeaver.DeepSeek.*
| Yes | Yes | Yes | No |
Function tools, hosted web search, and Responses apply_patch
| JSON object plus local validation in Chat; JSON Schema in Responses | Text/reasoning/tool deltas, named Responses events, reconstructed messages | Approximate fallback |
| Moonshot/Kimi |
BeamWeaver.Moonshot.*
| Yes | Yes | No | No |
OpenAI-compatible functions, K3 required/dynamic tools, and legacy Kimi $web_search
| JSON object/schema request options | Text/reasoning/tool-call deltas, choice- or response-level usage, typed events, reconstructed messages | Moonshot estimate-token endpoint |
| xAI |
BeamWeaver.XAI.*
| Yes | Yes | Yes | Yes | OpenAI-compatible function tools and xAI built-ins | JSON schema request options | Text deltas, typed events, reconstructed messages | Tokenizer/profile or approximate fallback |
| Z.ai |
BeamWeaver.ZAI.*
| Yes | Yes | No | No | OpenAI-compatible function tools | JSON object mode plus schema instructions and local validation | Text/reasoning/tool-call deltas, usage chunks, reconstructed messages | Approximate fallback |
Decision Models
TypeSafe / Jev
is available through Models.init_decision_model("typesafe:jev-1.13.0"). It supports Choice, Score, and Noul questions, typed results, batching, async calls, caching, rate limiting, usage/cost metadata, and tracing. Use it independently or with Agent.Middleware.TypeSafeModelRouter to select the chat model driving an agent.
Composed Agent Model Matrix
Deep-agent behavior is composition in BeamWeaver: TodoList planning, filesystem tools, skills, memory files, subagents, interrupts, context editing, and graph checkpoints are normal agent runtime capabilities. The model adapter determines whether a composed agent can reliably expose tools, parse structured output, stream useful events, and count enough tokens for context management.
| Model family | Recommended BeamWeaver strings | Composed agent fit | Tool loop | Structured output | Streaming and observability | Token budget support | Notes |
|---|---|---|---|---|---|---|---|
| OpenAI GPT |
openai:gpt-6-astra, openai:gpt-6.1-sol, openai:gpt-6-sol, openai:gpt-6-luna, openai:gpt-5.6-sol, openai:gpt-5.6-terra, openai:gpt-5.6-luna, openai:gpt-5.4-mini, explicit BeamWeaver.OpenAI.* structs
| Strong default | Custom function tools, Responses built-ins, raw Responses tool-result turns | Provider-native Responses or Chat Completions schema; tool strategy fallback at agent layer | Text, reasoning, tool-call lifecycle, reconstructed streamed responses | Tokenizer/profile based with approximate fallback |
GPT-6 has 1.05M context and low-through-max effort; Sol and Luna also permit none. Astra and 6.1 Sol require Responses for tools; Sol and Luna allow Chat Completions tools only at none effort. Hosted async, steering, multi-agent, and programmatic-tool surfaces are not yet wrapped.
|
| Anthropic Claude |
anthropic:claude-fable-5-1, anthropic:claude-mythos-5-1, anthropic:claude-opus-5-5, anthropic:claude-opus-5, anthropic:claude-sonnet-5, anthropic:claude-fable-5, anthropic:claude-mythos-5, anthropic:claude-sonnet-4-6, anthropic:claude-opus-*, anthropic:claude-haiku-*
| Strong default | Custom tools plus Anthropic server tools through provider helpers | Anthropic output config plus BeamWeaver parsing/validation | Text, typed Anthropic stream envelopes, reconstructed messages | Anthropic count-tokens endpoint |
Fable 5.1, Mythos 5.1, and Opus 5.5 use always-on adaptive thinking and reject forced tool choice. Opus 5.5 defaults to medium effort; prompt caching and server tools are provider-specific.
|
| Google Gemini |
google:gemini-3.8-flash, google:gemini-3.7-flash, google:gemini-3.6-flash, google:gemini-3.5-flash, google:gemini-3.5-flash-lite, google:gemini-3.1-flash-lite, other explicit google:gemini-* profiles
| Supported | Function declarations and model-qualified Gemini built-ins | Gemini generation config schema | Text, typed Gemini events, reconstructed messages | Gemini count-tokens endpoint |
Gemini identifiers must use the google: prefix. Stable Gemini 2.5 IDs remain compatible; retired preview IDs return replacement guidance. Computer use is profile-qualified and is not available on 3.1 Flash-Lite.
|
| DeepSeek V4.1 Flash / V4 Pro |
deepseek:deepseek-flash, deepseek:deepseek-v4-pro, legacy Flash aliases
| Supported |
Function tools; Responses adds hosted web search and apply_patch
| Chat JSON object plus local validation; Responses JSON Schema | Text/reasoning/tool chunks, typed events, reconstructed messages | Approximate fallback |
Explicit deepseek: prefix required. V4.1 Flash supports bounded image input on both APIs, including tool results; FIM requires non-thinking mode. Pro is scheduled to route to Flash on September 14, 2026.
|
| Moonshot/Kimi |
moonshot:kimi-k3, moonshot:kimi-k2.7-code, moonshot:kimi-k2.7-code-highspeed, moonshot:kimi-k2.6, moonshot:kimi-k2.5
| Supported with Kimi constraints |
OpenAI-compatible functions; K3 adds required choice and dynamic loading; legacy $web_search only where thinking can be disabled
| JSON object/schema request options | Text, reasoning, tool-call chunks, usage chunks, reconstructed messages | Moonshot estimate-token endpoint |
K3 has 1,048,576-token context/output limits, always reasons with reasoning_effort: "max", and rejects K2 thinking; web search is currently being updated by Kimi.
|
| xAI Grok |
xai:grok-4.6, xai:grok-4.5, xai:grok-4.3, explicit BeamWeaver.XAI.* structs
| Supported | OpenAI-compatible functions and xAI built-ins | JSON schema request options | Text, reasoning/citation metadata, typed events, reconstructed messages | Tokenizer/profile or approximate fallback | Grok 4.6 is the default for coding, agentic work, and Grok-specific reasoning/citation behavior; provider metadata is normalized. |
| Z.ai GLM |
zai:glm-5.3, zai:glm-5.3-flash, zai:glm-5.2, explicit BeamWeaver.ZAI.ChatModel structs
| Supported |
OpenAI-compatible functions with tool_stream for streamed arguments
| JSON object mode plus BeamWeaver schema instructions and local validation | Text, reasoning, tool-call chunks, usage chunks, reconstructed messages | Approximate fallback |
GLM-5.3 models are thinking-only with low, high, and max effort; GLM-5.3-Flash also accepts image, video, and PDF input. Usage includes cached-input and reasoning-token details for cost metadata.
|
| Fake chat |
fake:chat
| Test only | Fixture tool calls | Fixture structured responses | Fixture text/events | Fake or approximate | Use for deterministic composed-agent middleware, checkpoint, HITL, and subagent tests. |
This matrix is not a benchmark table. BeamWeaver verifies the runtime surfaces locally, but it does not publish cross-model Deep Agents eval scores. Validate model quality against your own tool set, prompts, and latency/cost constraints.
Common Contract
All first-class partner chat models:
-
implement
BeamWeaver.Core.ChatModel -
accept
BeamWeaver.Core.Messageinput -
return
BeamWeaver.Core.Messageoutput with normalized metadata where the provider exposes it -
route HTTP through
BeamWeaver.Transport -
support fake or replay transports for tests without live credentials
-
expose namespace constructors such as
BeamWeaver.OpenAI.chat_model/1 -
participate in
BeamWeaver.Models.init_chat_model/2provider-prefix routing