Complete agent monitoring and Galaxy Control integration

- expose command-monitor conversations and preserve visible agent transcripts
- add bounded polling and a dedicated shell interrupt tool
- improve direct-provider images, skills, tool history, and usage handling
- package and brand Galaxy Control across releases, installers, persistence, and docs
This commit is contained in:
2026-07-29 15:04:58 -05:00
parent 100f1eff1c
commit dbfa8bcd48
172 changed files with 6357 additions and 3825 deletions
+8 -8
View File
@@ -1,4 +1,4 @@
//! Private filesystem registry for discovering running local Warp instances.
//! Private filesystem registry for discovering running local Galaxy instances.
//!
//! This module answers “which compatible instances are available, and where
//! can a client begin authentication?” It does not listen for control requests
@@ -17,13 +17,13 @@
//! Before following a record, clients require the endpoint host to be exactly
//! `127.0.0.1` and the broker filename to be derived from the instance ID. A
//! discovery scan also rejects incompatible records, prunes dead PIDs, and
//! performs an authenticated `app.ping` probe. When Scripting is disabled,
//! performs an authenticated `app.ping` probe. When Galaxy Control is disabled,
//! records contain neither an endpoint nor a broker reference.
//!
//! The owner-only directory, records, and broker sockets protect against other
//! OS users. The broker's kernel-reported peer-UID check is the authoritative
//! same-user check before credential issuance. Neither mechanism distinguishes
//! trusted Warp code from arbitrary software already running as that user.
//! trusted Galaxy code from arbitrary software already running as that user.
use std::collections::HashSet;
use std::fs;
#[cfg(unix)]
@@ -38,12 +38,12 @@ use serde::{Deserialize, Serialize};
use crate::protocol::{ActionMetadata, ControlError, ErrorCode, PROTOCOL_VERSION};
const DISCOVERY_DIR_ENV: &str = "WARP_LOCAL_CONTROL_DISCOVERY_DIR";
const DISCOVERY_DIR_ENV: &str = "GALAXY_LOCAL_CONTROL_DISCOVERY_DIR";
const BROKER_SOCKET_SUFFIX: &str = ".broker.sock";
const TEMP_RECORD_SUFFIX: &str = ".json.tmp";
const ORPHAN_SOCKET_GRACE_PERIOD: Duration = Duration::from_secs(60);
/// Stable identifier for one running Warp instance.
/// Stable identifier for one running Galaxy instance.
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
#[serde(transparent)]
pub struct InstanceId(pub String);
@@ -93,7 +93,7 @@ pub struct CredentialBrokerReference {
pub socket_path: PathBuf,
}
/// Filesystem-published routing metadata for a running Warp app process.
/// Filesystem-published routing metadata for a running Galaxy app process.
///
/// An enabled record connects the three stages of the protocol: filesystem
/// discovery, Unix-socket credential issuance, and authenticated loopback HTTP
@@ -282,10 +282,10 @@ pub fn discovery_dir() -> PathBuf {
return PathBuf::from(path);
}
if let Some(path) = std::env::var_os("XDG_RUNTIME_DIR") {
return PathBuf::from(path).join("warp").join("local-control");
return PathBuf::from(path).join("galaxy").join("local-control");
}
let home = std::env::var_os("HOME").unwrap_or_else(|| ".".into());
PathBuf::from(home).join(".warp").join("local-control")
PathBuf::from(home).join(".galaxy").join("local-control")
}
/// Returns compatible live instances from `channel` that pass an authenticated app ping.