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:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user