commit d2a5104cdee4af81ef18911157e6d06a8c52a974
parent 9be8251b8e23ecfc33d5500a288496158488666e
Author: William Casarin <jb55@jb55.com>
Date: Thu, 19 Feb 2026 10:31:39 -0800
dave: add ModelConfig::trial() and make config module public
Add a trial() constructor for ModelConfig that uses the embedded
trial key with gpt-4.1-mini. Make the config module public so
integration tests can access it.
Also update default OpenAI model to gpt-5.2.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat:
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/crates/notedeck_dave/src/config.rs b/crates/notedeck_dave/src/config.rs
@@ -36,7 +36,7 @@ impl AiProvider {
pub fn default_model(&self) -> &'static str {
match self {
- AiProvider::OpenAI => "gpt-4.1-mini",
+ AiProvider::OpenAI => "gpt-5.2",
AiProvider::Anthropic => "claude-sonnet-4-20250514",
AiProvider::Ollama => "hhao/qwen2.5-coder-tools:latest",
}
@@ -59,7 +59,7 @@ impl AiProvider {
pub fn available_models(&self) -> &'static [&'static str] {
match self {
- AiProvider::OpenAI => &["gpt-4.1-mini", "gpt-4.1", "gpt-4.1-nano", "gpt-4o"],
+ AiProvider::OpenAI => &["gpt-5.2"],
AiProvider::Anthropic => &[
"claude-sonnet-4-20250514",
"claude-opus-4-20250514",
@@ -291,6 +291,19 @@ impl ModelConfig {
}
}
+ /// Create a trial-mode config (uses embedded trial key with gpt-4.1-mini)
+ pub fn trial() -> Self {
+ ModelConfig {
+ trial: true,
+ backend: BackendType::OpenAI,
+ endpoint: None,
+ model: "gpt-4.1-mini".to_string(),
+ api_key: Some(DAVE_TRIAL.to_string()),
+ anthropic_api_key: None,
+ pns_relay: None,
+ }
+ }
+
pub fn to_api(&self) -> OpenAIConfig {
let mut cfg = OpenAIConfig::new();
if let Some(endpoint) = &self.endpoint {
diff --git a/crates/notedeck_dave/src/lib.rs b/crates/notedeck_dave/src/lib.rs
@@ -2,7 +2,7 @@ mod agent_status;
mod auto_accept;
mod avatar;
mod backend;
-mod config;
+pub mod config;
pub mod file_update;
mod focus_queue;
pub(crate) mod git_status;