From 1dc29bfb498aad3ee56a0caf907d252e67efe880 Mon Sep 17 00:00:00 2001 From: Jack Amadeo Date: Mon, 8 Jun 2026 16:19:51 -0400 Subject: [PATCH] move formats/ollama --- crates/goose-providers/src/formats.rs | 1 + .../src}/formats/ollama.rs | 10 ++++------ crates/goose/src/providers/formats/mod.rs | 1 - crates/goose/src/providers/ollama.rs | 8 ++++---- 4 files changed, 9 insertions(+), 11 deletions(-) rename crates/{goose/src/providers => goose-providers/src}/formats/ollama.rs (98%) diff --git a/crates/goose-providers/src/formats.rs b/crates/goose-providers/src/formats.rs index 943612b1e2..e1502a9469 100644 --- a/crates/goose-providers/src/formats.rs +++ b/crates/goose-providers/src/formats.rs @@ -1,2 +1,3 @@ pub mod anthropic; +pub mod ollama; pub mod openai; diff --git a/crates/goose/src/providers/formats/ollama.rs b/crates/goose-providers/src/formats/ollama.rs similarity index 98% rename from crates/goose/src/providers/formats/ollama.rs rename to crates/goose-providers/src/formats/ollama.rs index 77e4634493..db257187a4 100644 --- a/crates/goose/src/providers/formats/ollama.rs +++ b/crates/goose-providers/src/formats/ollama.rs @@ -10,21 +10,19 @@ //! - qwen3-coder-32b use crate::conversation::message::{Message, MessageContent}; +use crate::conversation::token_usage::ProviderUsage; use async_stream::try_stream; use chrono; use futures::Stream; -use goose_providers::{ - conversation::token_usage::ProviderUsage, - formats::openai::{self, is_valid_function_name}, -}; use regex::Regex; use rmcp::model::{object, CallToolRequestParams, ErrorCode, ErrorData, Role}; use serde_json::Value; use std::borrow::Cow; use uuid::Uuid; -pub use goose_providers::formats::openai::{ - create_request, format_messages, format_tools, get_usage, validate_tool_schemas, +pub use super::openai::{ + self, create_request, format_messages, format_tools, get_usage, is_valid_function_name, + validate_tool_schemas, }; /// Parse XML-style tool calls from content (Ollama/Qwen3-coder fallback format). diff --git a/crates/goose/src/providers/formats/mod.rs b/crates/goose/src/providers/formats/mod.rs index f6ad1d4a7e..1351ba0b8d 100644 --- a/crates/goose/src/providers/formats/mod.rs +++ b/crates/goose/src/providers/formats/mod.rs @@ -3,7 +3,6 @@ pub mod bedrock; pub mod databricks; pub mod gcpvertexai; pub mod google; -pub mod ollama; pub mod openai_responses; pub mod openrouter; pub mod snowflake; diff --git a/crates/goose/src/providers/ollama.rs b/crates/goose/src/providers/ollama.rs index 062be1c59a..51589584e1 100644 --- a/crates/goose/src/providers/ollama.rs +++ b/crates/goose/src/providers/ollama.rs @@ -10,13 +10,13 @@ use super::utils::RequestLog; use crate::config::declarative_providers::DeclarativeProviderConfig; use crate::conversation::message::Message; use crate::model::ModelConfig; -use crate::providers::formats::ollama::{create_request, response_to_streaming_message_ollama}; use anyhow::{Error, Result}; use async_stream::try_stream; use async_trait::async_trait; use futures::future::BoxFuture; use futures::TryStreamExt; use goose_providers::errors::ProviderError; +use goose_providers::formats::ollama::{create_request, response_to_streaming_message_ollama}; use goose_providers::images::ImageFormat; use goose_providers::models::ModelConfigParams; use reqwest::Response; @@ -565,7 +565,7 @@ mod tests { #[test] fn test_raw_create_request_contains_unsupported_ollama_fields() { - use crate::providers::formats::ollama::create_request; + use goose_providers::formats::ollama::create_request; let model_config = ModelConfig::new("llama3.1") .unwrap() @@ -600,7 +600,7 @@ mod tests { #[test] fn test_apply_ollama_options_preserves_stream_options_by_default() { - use crate::providers::formats::ollama::create_request; + use goose_providers::formats::ollama::create_request; let _guard = env_lock::lock_env([ ("GOOSE_INPUT_LIMIT", None::<&str>), @@ -650,7 +650,7 @@ mod tests { #[test] fn test_apply_ollama_options_strips_stream_options_when_disabled() { - use crate::providers::formats::ollama::create_request; + use goose_providers::formats::ollama::create_request; let _guard = env_lock::lock_env([ ("GOOSE_INPUT_LIMIT", None::<&str>),