2026-08-15 15:02:35 +08:00
|
|
|
mod code_channel;
|
2026-08-13 12:21:04 +08:00
|
|
|
mod direct_local_broker;
|
|
|
|
|
mod direct_local_session;
|
2026-08-13 12:45:35 +08:00
|
|
|
mod dynamic_capability_routing;
|
2026-08-13 13:52:59 +08:00
|
|
|
mod home_status;
|
2026-08-15 15:02:35 +08:00
|
|
|
mod knowledge_base;
|
2026-08-13 00:35:40 +08:00
|
|
|
mod local_development_bridge;
|
2026-08-15 15:02:35 +08:00
|
|
|
mod personal_channel;
|
2026-08-13 13:17:30 +08:00
|
|
|
mod pncc_receipt_projection;
|
|
|
|
|
mod pncc_remote_git;
|
|
|
|
|
mod pncc_repository_binding;
|
2026-08-12 10:29:00 +08:00
|
|
|
mod release_trust;
|
2026-08-13 14:11:48 +08:00
|
|
|
mod release_update;
|
2026-08-12 10:29:00 +08:00
|
|
|
|
2026-08-13 12:21:04 +08:00
|
|
|
use tauri::Manager;
|
|
|
|
|
|
|
|
|
|
pub fn run_connector() -> Result<(), String> {
|
|
|
|
|
direct_local_broker::run_connector()
|
|
|
|
|
}
|
|
|
|
|
|
2026-08-12 10:29:00 +08:00
|
|
|
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
|
|
|
|
pub fn run() {
|
|
|
|
|
tauri::Builder::default()
|
2026-08-13 14:01:43 +08:00
|
|
|
.plugin(tauri_plugin_dialog::init())
|
2026-08-13 00:35:40 +08:00
|
|
|
.invoke_handler(tauri::generate_handler![
|
2026-08-13 13:52:59 +08:00
|
|
|
home_status::get_hololake_home_status,
|
2026-08-13 14:11:48 +08:00
|
|
|
release_update::check_hololake_update,
|
|
|
|
|
release_update::confirm_hololake_update_install,
|
2026-08-13 14:45:17 +08:00
|
|
|
release_update::get_hololake_release_recovery_status,
|
|
|
|
|
release_update::confirm_hololake_release_health,
|
|
|
|
|
release_update::rollback_hololake_update,
|
2026-08-13 12:21:04 +08:00
|
|
|
direct_local_session::issue_direct_local_discovery_ticket,
|
|
|
|
|
direct_local_session::open_direct_local_session,
|
|
|
|
|
direct_local_session::resume_direct_local_session,
|
|
|
|
|
direct_local_session::append_direct_local_session_event,
|
2026-08-13 00:35:40 +08:00
|
|
|
local_development_bridge::acquire_development_write_lane,
|
|
|
|
|
local_development_bridge::inspect_development_write_lane,
|
|
|
|
|
local_development_bridge::release_development_write_lane,
|
2026-08-15 15:02:35 +08:00
|
|
|
personal_channel::get_personal_channel_snapshot,
|
|
|
|
|
personal_channel::initialize_personal_channel,
|
|
|
|
|
personal_channel::create_personal_channel_task,
|
|
|
|
|
personal_channel::transition_personal_channel_task,
|
|
|
|
|
knowledge_base::get_knowledge_snapshot,
|
|
|
|
|
knowledge_base::read_knowledge_document,
|
|
|
|
|
knowledge_base::search_knowledge,
|
|
|
|
|
knowledge_base::save_knowledge_document,
|
|
|
|
|
knowledge_base::select_and_import_knowledge_folder,
|
|
|
|
|
code_channel::get_code_channel_snapshot,
|
|
|
|
|
code_channel::clone_code_channel,
|
|
|
|
|
code_channel::select_local_code_channel,
|
|
|
|
|
code_channel::browse_code_channel,
|
|
|
|
|
code_channel::read_code_channel_file,
|
2026-08-13 13:17:30 +08:00
|
|
|
pncc_repository_binding::inspect_mounted_pncc_repository,
|
2026-08-13 14:01:43 +08:00
|
|
|
pncc_repository_binding::select_pncc_repository_candidate,
|
|
|
|
|
pncc_repository_binding::confirm_pncc_repository_mount,
|
2026-08-13 13:17:30 +08:00
|
|
|
pncc_receipt_projection::query_pncc_receipt_projection,
|
2026-08-13 00:35:40 +08:00
|
|
|
])
|
2026-08-12 10:29:00 +08:00
|
|
|
.setup(|app| {
|
2026-08-13 12:21:04 +08:00
|
|
|
let broker = direct_local_broker::start(app.handle())?;
|
|
|
|
|
app.manage(broker);
|
2026-08-12 10:29:00 +08:00
|
|
|
release_trust::install_updater_if_provisioned(app.handle())?;
|
2026-08-13 14:45:17 +08:00
|
|
|
if let Err(error) = release_update::observe_release_startup(app.handle()) {
|
|
|
|
|
eprintln!("HoloLake update recovery requires maintenance: {error}");
|
|
|
|
|
}
|
2026-08-12 10:29:00 +08:00
|
|
|
Ok(())
|
|
|
|
|
})
|
|
|
|
|
.run(tauri::generate_context!())
|
|
|
|
|
.expect("failed to run HoloLake native desktop");
|
|
|
|
|
}
|