chore: wave-0 baseline (Tauri2+React shell, platform detect, fake catalog)
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
mod commands;
|
||||
|
||||
use std::path::PathBuf;
|
||||
|
||||
/// 解析适配器目录。
|
||||
/// 优先级:环境变量 AGENTDOCK_ADAPTERS_DIR > CWD 相对路径(tauri dev 时 CWD=apps/desktop)
|
||||
/// > CARGO_MANIFEST_DIR 相对路径(仓库根)。
|
||||
fn adapters_dir() -> PathBuf {
|
||||
if let Ok(dir) = std::env::var("AGENTDOCK_ADAPTERS_DIR") {
|
||||
return PathBuf::from(dir);
|
||||
}
|
||||
let cwd = std::env::current_dir().unwrap_or_default();
|
||||
let cargo_dir = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
|
||||
let candidates = [
|
||||
cwd.join("../../adapters"),
|
||||
cargo_dir.join("../../../adapters"),
|
||||
];
|
||||
for c in candidates {
|
||||
if c.join("catalog.yaml").exists() {
|
||||
return c;
|
||||
}
|
||||
}
|
||||
cargo_dir.join("../../../adapters")
|
||||
}
|
||||
|
||||
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
||||
pub fn run() {
|
||||
tauri::Builder::default()
|
||||
.setup(|_app| {
|
||||
// 自测标记:`tauri dev` 启动后日志出现该行即代表壳已就绪
|
||||
println!("[agentdock] window-ready");
|
||||
// Wave 0:初始化 SQLite 空库(架构 §2 状态存储层)
|
||||
let _ = agentdock_store::Store::open_default();
|
||||
Ok(())
|
||||
})
|
||||
.invoke_handler(tauri::generate_handler![
|
||||
commands::env::detect_env,
|
||||
commands::catalog::list_catalog,
|
||||
])
|
||||
.run(tauri::generate_context!())
|
||||
.expect("error while running tauri application");
|
||||
}
|
||||
Reference in New Issue
Block a user