summaryrefslogtreecommitdiffstats
path: root/src/client/claude.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/claude.rs')
-rw-r--r--src/client/claude.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/client/claude.rs b/src/client/claude.rs
index 8dc4dce..6296cda 100644
--- a/src/client/claude.rs
+++ b/src/client/claude.rs
@@ -1,7 +1,7 @@
use super::{
- catch_error, extract_system_message, message::*, sse_stream, ClaudeClient, CompletionOutput,
- ExtraConfig, ImageUrl, MessageContent, MessageContentPart, Model, ModelData, PromptAction,
- PromptKind, SendData, SsMmessage, SseHandler, ToolCall,
+ catch_error, extract_system_message, message::*, sse_stream, ClaudeClient, Client,
+ CompletionOutput, ExtraConfig, ImageUrl, MessageContent, MessageContentPart, Model, ModelData,
+ ModelPatches, PromptAction, PromptKind, SendData, SsMmessage, SseHandler, ToolCall,
};
use anyhow::{bail, Context, Result};
@@ -17,6 +17,7 @@ pub struct ClaudeConfig {
pub api_key: Option<String>,
#[serde(default)]
pub models: Vec<ModelData>,
+ pub patches: Option<ModelPatches>,
pub extra: Option<ExtraConfig>,
}
@@ -29,7 +30,8 @@ impl ClaudeClient {
fn request_builder(&self, client: &ReqwestClient, data: SendData) -> Result<RequestBuilder> {
let api_key = self.get_api_key().ok();
- let body = claude_build_body(data, &self.model)?;
+ let mut body = claude_build_body(data, &self.model)?;
+ self.patch_request_body(&mut body);
let url = API_BASE;