diff --git a/codex-rs/exec-server/src/environment.rs b/codex-rs/exec-server/src/environment.rs index 8f9ebfddd4..55dc031273 100644 --- a/codex-rs/exec-server/src/environment.rs +++ b/codex-rs/exec-server/src/environment.rs @@ -230,6 +230,12 @@ impl EnvironmentManager { self.local_environment.as_ref().map(Arc::clone) } + /// Returns the default environment or local environment when either exists. + pub fn default_or_local_environment(&self) -> Option> { + self.default_environment() + .or_else(|| self.try_local_environment()) + } + /// Returns a named environment instance. pub fn get_environment(&self, environment_id: &str) -> Option> { self.environments diff --git a/codex-rs/exec-server/src/process_id.rs b/codex-rs/exec-server/src/process_id.rs index d5d022d816..f25c810090 100644 --- a/codex-rs/exec-server/src/process_id.rs +++ b/codex-rs/exec-server/src/process_id.rs @@ -10,9 +10,17 @@ use serde::Serialize; pub struct ProcessId(String); impl ProcessId { + pub fn new(value: impl Into) -> Self { + Self(value.into()) + } + pub fn as_str(&self) -> &str { &self.0 } + + pub fn into_inner(self) -> String { + self.0 + } } impl Deref for ProcessId {