split out src/mind
This commit is contained in:
parent
ce04568454
commit
79e384f005
21 changed files with 1865 additions and 2175 deletions
|
|
@ -460,7 +460,7 @@ pub struct ResolvedModel {
|
|||
|
||||
impl AppConfig {
|
||||
/// Resolve the active backend and assemble prompts into a SessionConfig.
|
||||
pub fn resolve(&self, cli: &crate::user::cli::CliArgs) -> Result<SessionConfig> {
|
||||
pub fn resolve(&self, cli: &crate::user::CliArgs) -> Result<SessionConfig> {
|
||||
let cwd = std::env::current_dir().context("Failed to get current directory")?;
|
||||
|
||||
let (api_base, api_key, model, prompt_file);
|
||||
|
|
@ -494,8 +494,8 @@ impl AppConfig {
|
|||
.with_context(|| format!("Failed to read {}", path.display()))?;
|
||||
(content, Vec::new(), 0, 0)
|
||||
} else {
|
||||
let system_prompt = crate::user::identity::assemble_system_prompt();
|
||||
let (context_parts, cc, mc) = crate::user::identity::assemble_context_message(&cwd, &prompt_file, self.memory_project.as_deref(), &context_groups)?;
|
||||
let system_prompt = crate::mind::identity::assemble_system_prompt();
|
||||
let (context_parts, cc, mc) = crate::mind::identity::assemble_context_message(&cwd, &prompt_file, self.memory_project.as_deref(), &context_groups)?;
|
||||
(system_prompt, context_parts, cc, mc)
|
||||
};
|
||||
|
||||
|
|
@ -603,7 +603,7 @@ macro_rules! merge_opt {
|
|||
};
|
||||
}
|
||||
|
||||
fn build_figment(cli: &crate::user::cli::CliArgs) -> Figment {
|
||||
fn build_figment(cli: &crate::user::CliArgs) -> Figment {
|
||||
let mut f = Figment::from(Serialized::defaults(AppConfig::default()))
|
||||
.merge(Json5File(config_path()));
|
||||
|
||||
|
|
@ -622,14 +622,14 @@ fn build_figment(cli: &crate::user::cli::CliArgs) -> Figment {
|
|||
}
|
||||
|
||||
/// Load just the AppConfig — no validation, no prompt assembly.
|
||||
pub fn load_app(cli: &crate::user::cli::CliArgs) -> Result<(AppConfig, Figment)> {
|
||||
pub fn load_app(cli: &crate::user::CliArgs) -> Result<(AppConfig, Figment)> {
|
||||
let figment = build_figment(cli);
|
||||
let app: AppConfig = figment.extract().context("Failed to load configuration")?;
|
||||
Ok((app, figment))
|
||||
}
|
||||
|
||||
/// Load the full config: figment → AppConfig → resolve backend → assemble prompts.
|
||||
pub fn load_session(cli: &crate::user::cli::CliArgs) -> Result<(SessionConfig, Figment)> {
|
||||
pub fn load_session(cli: &crate::user::CliArgs) -> Result<(SessionConfig, Figment)> {
|
||||
let (app, figment) = load_app(cli)?;
|
||||
let config = app.resolve(cli)?;
|
||||
Ok((config, figment))
|
||||
|
|
@ -645,9 +645,9 @@ pub fn reload_for_model(app: &AppConfig, prompt_file: &str) -> Result<(String, V
|
|||
return Ok((content, Vec::new()));
|
||||
}
|
||||
|
||||
let system_prompt = crate::user::identity::assemble_system_prompt();
|
||||
let system_prompt = crate::mind::identity::assemble_system_prompt();
|
||||
let context_groups = get().context_groups.clone();
|
||||
let (context_parts, _, _) = crate::user::identity::assemble_context_message(&cwd, prompt_file, app.memory_project.as_deref(), &context_groups)?;
|
||||
let (context_parts, _, _) = crate::mind::identity::assemble_context_message(&cwd, prompt_file, app.memory_project.as_deref(), &context_groups)?;
|
||||
Ok((system_prompt, context_parts))
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue