fix(ci): repair parking_lot migration regressions in PR #535
This commit is contained in:
parent
ee05d62ce4
commit
9e0958dee5
10 changed files with 51 additions and 115 deletions
|
|
@ -688,8 +688,8 @@ impl Provider for OpenAiCompatibleProvider {
|
|||
temperature: f64,
|
||||
options: StreamOptions,
|
||||
) -> stream::BoxStream<'static, StreamResult<StreamChunk>> {
|
||||
let api_key = match self.api_key.as_ref() {
|
||||
Some(key) => key.clone(),
|
||||
let credential = match self.credential.as_ref() {
|
||||
Some(value) => value.clone(),
|
||||
None => {
|
||||
let provider_name = self.name.clone();
|
||||
return stream::once(async move {
|
||||
|
|
@ -735,10 +735,10 @@ impl Provider for OpenAiCompatibleProvider {
|
|||
// Apply auth header
|
||||
req_builder = match &auth_header {
|
||||
AuthStyle::Bearer => {
|
||||
req_builder.header("Authorization", format!("Bearer {}", api_key))
|
||||
req_builder.header("Authorization", format!("Bearer {}", credential))
|
||||
}
|
||||
AuthStyle::XApiKey => req_builder.header("x-api-key", &api_key),
|
||||
AuthStyle::Custom(header) => req_builder.header(header, &api_key),
|
||||
AuthStyle::XApiKey => req_builder.header("x-api-key", &credential),
|
||||
AuthStyle::Custom(header) => req_builder.header(header, &credential),
|
||||
};
|
||||
|
||||
// Set accept header for streaming
|
||||
|
|
|
|||
|
|
@ -767,7 +767,7 @@ mod tests {
|
|||
.unwrap();
|
||||
assert_eq!(result, "ok from sonnet");
|
||||
|
||||
let seen = mock.models_seen.lock().unwrap();
|
||||
let seen = mock.models_seen.lock();
|
||||
assert_eq!(seen.len(), 2);
|
||||
assert_eq!(seen[0], "claude-opus");
|
||||
assert_eq!(seen[1], "claude-sonnet");
|
||||
|
|
@ -802,7 +802,7 @@ mod tests {
|
|||
.expect_err("all models should fail");
|
||||
assert!(err.to_string().contains("All providers/models failed"));
|
||||
|
||||
let seen = mock.models_seen.lock().unwrap();
|
||||
let seen = mock.models_seen.lock();
|
||||
assert_eq!(seen.len(), 3);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -76,6 +76,13 @@ pub struct ChatRequest<'a> {
|
|||
pub tools: Option<&'a [ToolSpec]>,
|
||||
}
|
||||
|
||||
/// Declares optional provider features.
|
||||
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
|
||||
pub struct ProviderCapabilities {
|
||||
/// Provider can perform native tool calling without prompt-level emulation.
|
||||
pub native_tool_calling: bool,
|
||||
}
|
||||
|
||||
/// A tool result to feed back to the LLM.
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct ToolResultMessage {
|
||||
|
|
@ -319,11 +326,11 @@ pub trait Provider: Send + Sync {
|
|||
_temperature: f64,
|
||||
_options: StreamOptions,
|
||||
) -> stream::BoxStream<'static, StreamResult<StreamChunk>> {
|
||||
let system = messages
|
||||
let _system = messages
|
||||
.iter()
|
||||
.find(|m| m.role == "system")
|
||||
.map(|m| m.content.clone());
|
||||
let last_user = messages
|
||||
let _last_user = messages
|
||||
.iter()
|
||||
.rfind(|m| m.role == "user")
|
||||
.map(|m| m.content.clone())
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue