fix mcp token file
This commit is contained in:
@@ -60,6 +60,21 @@ pub fn load_session() -> Result<Session> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Fallback: config.json (DID only, no auth tokens — for MCP tools that only need DID)
|
||||||
|
let config_path = path.with_file_name("config.json");
|
||||||
|
if let Ok(content) = fs::read_to_string(&config_path) {
|
||||||
|
if let Ok(config) = serde_json::from_str::<serde_json::Value>(&content) {
|
||||||
|
if let (Some(did), Some(handle)) = (config["did"].as_str(), config["handle"].as_str()) {
|
||||||
|
return Ok(Session {
|
||||||
|
did: did.to_string(),
|
||||||
|
handle: handle.to_string(),
|
||||||
|
access_jwt: String::new(),
|
||||||
|
refresh_jwt: String::new(),
|
||||||
|
pds: config["network"].as_str().map(|s| format!("https://{s}")),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Err(anyhow::anyhow!("Token file not found: {:?}. Run 'ailog login' or 'ailog oauth' first.", path))
|
Err(anyhow::anyhow!("Token file not found: {:?}. Run 'ailog login' or 'ailog oauth' first.", path))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,6 +109,22 @@ pub fn load_bot_session() -> Result<Session> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Fallback: config.json bot section (DID only)
|
||||||
|
let config_path = path.with_file_name("config.json");
|
||||||
|
if let Ok(content) = fs::read_to_string(&config_path) {
|
||||||
|
if let Ok(config) = serde_json::from_str::<serde_json::Value>(&content) {
|
||||||
|
let bot = &config["bot"];
|
||||||
|
if let (Some(did), Some(handle)) = (bot["did"].as_str(), bot["handle"].as_str()) {
|
||||||
|
return Ok(Session {
|
||||||
|
did: did.to_string(),
|
||||||
|
handle: handle.to_string(),
|
||||||
|
access_jwt: String::new(),
|
||||||
|
refresh_jwt: String::new(),
|
||||||
|
pds: config["network"].as_str().map(|s| format!("https://{s}")),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Err(anyhow::anyhow!("Bot token file not found: {:?}. Run 'ailog login --bot' or 'ailog oauth --bot' first.", path))
|
Err(anyhow::anyhow!("Bot token file not found: {:?}. Run 'ailog login --bot' or 'ailog oauth --bot' first.", path))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user