Make it startable from playwright and also isolate (#5016)

Co-authored-by: Douwe Osinga <douwe@squareup.com>
This commit is contained in:
Douwe Osinga
2025-10-06 20:59:26 -04:00
committed by GitHub
parent 1690cf9091
commit d3a222ddbf
22 changed files with 150 additions and 144 deletions
+5 -9
View File
@@ -1,4 +1,4 @@
use crate::config::APP_STRATEGY;
use crate::config::paths::Paths;
use crate::conversation::message::Message;
use crate::conversation::Conversation;
use crate::providers::base::{Provider, MSG_COUNT_FOR_SESSION_NAME_GENERATION};
@@ -6,7 +6,6 @@ use crate::recipe::Recipe;
use crate::session::extension_data::ExtensionData;
use anyhow::Result;
use chrono::{DateTime, Utc};
use etcetera::{choose_app_strategy, AppStrategy};
use rmcp::model::Role;
use serde::{Deserialize, Serialize};
use sqlx::sqlite::SqliteConnectOptions;
@@ -241,16 +240,13 @@ pub struct SessionStorage {
}
pub fn ensure_session_dir() -> Result<PathBuf> {
let data_dir = choose_app_strategy(APP_STRATEGY.clone())
.expect("goose requires a home dir")
.data_dir()
.join("sessions");
let session_dir = Paths::data_dir().join("sessions");
if !data_dir.exists() {
fs::create_dir_all(&data_dir)?;
if !session_dir.exists() {
fs::create_dir_all(&session_dir)?;
}
Ok(data_dir)
Ok(session_dir)
}
fn role_to_string(role: &Role) -> &'static str {