mirror of
https://github.com/openai/codex.git
synced 2026-09-20 12:47:38 +00:00
## What changed Add `EnvironmentAccess` and `FileSystemEnvironmentAccessor` to expose filesystem operations with a captured sandbox configuration, without allowing consumers to extract the filesystem or select another sandbox. Include a text-reading helper and an explicit unrestricted constructor. Provide opaque cache keys that compare filesystem identity and captured permissions without keeping the filesystem alive. Allow opened read streams to outlive the accessor. Export the new APIs through `codex-exec-server` and add `Environment::filesystem_ref()` for borrowing the shared filesystem. ## Testing Add local and remote coverage for text reads through `EnvironmentAccess`, streams surviving accessor disposal, and cache keys distinguishing changed permissions or a replacement filesystem. GitOrigin-RevId: 4f6787ed9ba0fb94adea2f31716c4d3132fed07d
225 lines
8.5 KiB
Rust
225 lines
8.5 KiB
Rust
mod arg0_exec_helper;
|
|
mod capability_discovery;
|
|
mod capability_discovery_cache;
|
|
mod client;
|
|
mod client_api;
|
|
mod client_telemetry;
|
|
mod client_transport;
|
|
mod connection;
|
|
mod environment;
|
|
mod environment_bootstrap;
|
|
mod environment_config;
|
|
mod environment_provider;
|
|
mod environment_registry;
|
|
mod environment_toml;
|
|
mod file_read;
|
|
mod forward;
|
|
mod fs_helper;
|
|
mod fs_helper_main;
|
|
mod fs_sandbox;
|
|
mod local_file_system;
|
|
mod local_process;
|
|
mod network_policy_decisions;
|
|
mod no_follow;
|
|
mod noise_channel;
|
|
mod noise_relay;
|
|
mod process;
|
|
mod process_sandbox;
|
|
mod process_telemetry;
|
|
mod regular_file;
|
|
mod relay;
|
|
mod relay_proto;
|
|
mod remote;
|
|
mod remote_file_system;
|
|
mod remote_process;
|
|
mod resolved_capability;
|
|
mod rpc;
|
|
mod rpc_server_requests;
|
|
mod runtime_paths;
|
|
mod sandbox_selection;
|
|
mod sandboxed_file_open;
|
|
mod sandboxed_file_system;
|
|
mod server;
|
|
#[cfg(unix)]
|
|
mod shell_snapshot;
|
|
mod telemetry;
|
|
mod trace_context;
|
|
mod websocket_pong_watchdog;
|
|
|
|
use codex_exec_server_protocol as protocol;
|
|
|
|
/// Process-local opt-in for tying a remote executor to its parent's stdin pipe.
|
|
pub const CODEX_EXEC_SERVER_EXIT_ON_STDIN_CLOSE_ENV_VAR: &str =
|
|
"CODEX_EXEC_SERVER_EXIT_ON_STDIN_CLOSE";
|
|
|
|
pub use arg0_exec_helper::CODEX_ARG0_EXEC_HELPER_ARG1;
|
|
pub use arg0_exec_helper::main as run_arg0_exec_helper_main;
|
|
pub use capability_discovery::CapabilityDiscoveryError;
|
|
pub use capability_discovery::discover_capability_roots;
|
|
pub use capability_discovery_cache::ExecutorCapabilityDiscoveryCache;
|
|
pub use client::ExecServerClient;
|
|
pub use client::ExecServerError;
|
|
pub use client::http_client::HttpResponseBodyStream;
|
|
pub use client::http_client::RouteAwareHttpClient;
|
|
pub use client_api::ExecServerClientConnectOptions;
|
|
pub use client_api::HttpClient;
|
|
pub use client_api::NoiseRendezvousConnectArgs;
|
|
pub use client_api::NoiseRendezvousConnectBundle;
|
|
pub use client_api::NoiseRendezvousConnectProvider;
|
|
pub use client_api::RemoteExecServerConnectArgs;
|
|
pub use codex_exec_server_protocol::ExecutorCapabilityDiscoverySnapshot;
|
|
pub use codex_exec_server_protocol::ProcessId;
|
|
pub use codex_file_system::CopyOptions;
|
|
pub use codex_file_system::CreateDirectoryOptions;
|
|
pub use codex_file_system::EnvironmentAccess;
|
|
pub use codex_file_system::EnvironmentAccessExt;
|
|
pub use codex_file_system::EnvironmentAccessKey;
|
|
pub use codex_file_system::ExecutorFileSystem;
|
|
pub use codex_file_system::ExecutorFileSystemFuture;
|
|
pub use codex_file_system::FILE_READ_CHUNK_SIZE;
|
|
pub use codex_file_system::FileMetadata;
|
|
pub use codex_file_system::FileSystemEnvironmentAccessor;
|
|
pub use codex_file_system::FileSystemReadStream;
|
|
pub use codex_file_system::FileSystemResult;
|
|
pub use codex_file_system::FileSystemSandboxContext;
|
|
pub use codex_file_system::GetMetadataOptions;
|
|
pub use codex_file_system::ReadDirectoryEntry;
|
|
pub use codex_file_system::ReadFileOptions;
|
|
pub use codex_file_system::RemoveOptions;
|
|
pub use codex_file_system::WalkEntry;
|
|
pub use codex_file_system::WalkEntryKind;
|
|
pub use codex_file_system::WalkError;
|
|
pub use codex_file_system::WalkOptions;
|
|
pub use codex_file_system::WalkOutcome;
|
|
pub use codex_file_system::WindowsSandboxSelection;
|
|
pub use codex_file_system::WriteFileOptions;
|
|
pub use codex_protocol::shell_environment::CODEX_EXEC_SERVER_NOISE_AUTH_TOKEN_ENV_VAR;
|
|
pub use environment::CODEX_EXEC_SERVER_NOISE_CHATGPT_ACCOUNT_ID_ENV_VAR;
|
|
pub use environment::CODEX_EXEC_SERVER_NOISE_ENVIRONMENT_ID_ENV_VAR;
|
|
pub use environment::CODEX_EXEC_SERVER_NOISE_REGISTRY_URL_ENV_VAR;
|
|
pub use environment::CODEX_EXEC_SERVER_URL_ENV_VAR;
|
|
pub use environment::Environment;
|
|
pub use environment::EnvironmentConnectionState;
|
|
pub use environment::EnvironmentManager;
|
|
pub use environment::EnvironmentObservedStatus;
|
|
pub use environment::EnvironmentReadyInfo;
|
|
pub use environment::LOCAL_ENVIRONMENT_ID;
|
|
pub use environment::MAX_SELECTED_CAPABILITY_ROOTS;
|
|
pub use environment::REMOTE_ENVIRONMENT_ID;
|
|
pub use environment::RemoteEnvironmentOptions;
|
|
pub use environment_bootstrap::PreparedEnvironmentManager;
|
|
pub use environment_provider::DefaultEnvironmentProvider;
|
|
pub use environment_provider::EnvironmentProvider;
|
|
pub use environment_provider::EnvironmentProviderFuture;
|
|
pub use environment_registry::EnvironmentRegistryConnectRequest;
|
|
pub use environment_registry::EnvironmentRegistryConnectResponse;
|
|
pub use environment_registry::EnvironmentRegistryHarnessKeyValidationRequest;
|
|
pub use environment_registry::EnvironmentRegistryHarnessKeyValidationResponse;
|
|
pub use environment_registry::EnvironmentRegistryRegistrationRequest;
|
|
pub use environment_registry::EnvironmentRegistryRegistrationResponse;
|
|
pub use fs_helper::CODEX_FS_HELPER_ARG1;
|
|
pub use fs_helper_main::main as run_fs_helper_main;
|
|
pub use local_file_system::LOCAL_FS;
|
|
pub use local_file_system::LocalFileSystem;
|
|
pub use noise_channel::NoiseChannelError;
|
|
pub use noise_channel::NoiseChannelIdentity;
|
|
pub use noise_channel::NoiseChannelPublicKey;
|
|
pub use process::ExecBackend;
|
|
pub use process::ExecBackendFuture;
|
|
pub use process::ExecProcess;
|
|
pub use process::ExecProcessEvent;
|
|
pub use process::ExecProcessEventReceiver;
|
|
pub use process::ExecProcessFuture;
|
|
pub use process::StartedExecProcess;
|
|
pub use protocol::ByteChunk;
|
|
pub use protocol::CAPABILITY_ROOTS_DISCOVER_METHOD;
|
|
pub use protocol::CapabilityRootDiscoverRequest;
|
|
pub use protocol::CapabilityRootDiscovery;
|
|
pub use protocol::CapabilityRootsDiscoverParams;
|
|
pub use protocol::CapabilityRootsDiscoverResponse;
|
|
pub use protocol::CapabilityTextFile;
|
|
pub use protocol::DiscoveredPluginFiles;
|
|
pub use protocol::DiscoveredSkillFiles;
|
|
pub use protocol::EnvironmentCapabilities;
|
|
pub use protocol::EnvironmentConfigLayer;
|
|
pub use protocol::EnvironmentConfigLayerStack;
|
|
pub use protocol::EnvironmentConfigReadParams;
|
|
pub use protocol::EnvironmentConfigReadResponse;
|
|
pub use protocol::EnvironmentInfo;
|
|
pub use protocol::EnvironmentStatus;
|
|
pub use protocol::EnvironmentStatusKind;
|
|
pub use protocol::ExecClosedNotification;
|
|
pub use protocol::ExecEnvPolicy;
|
|
pub use protocol::ExecExitedNotification;
|
|
pub use protocol::ExecMetadata;
|
|
pub use protocol::ExecOutputDeltaNotification;
|
|
pub use protocol::ExecOutputStream;
|
|
pub use protocol::ExecParams;
|
|
pub use protocol::ExecResponse;
|
|
pub use protocol::ExecServerNetworkPolicyDecision;
|
|
pub use protocol::ExecServerNetworkPolicyRequest;
|
|
pub use protocol::ExecServerNetworkProtocol;
|
|
pub use protocol::FsCanonicalizeParams;
|
|
pub use protocol::FsCanonicalizeResponse;
|
|
pub use protocol::FsCloseParams;
|
|
pub use protocol::FsCloseResponse;
|
|
pub use protocol::FsCopyParams;
|
|
pub use protocol::FsCopyResponse;
|
|
pub use protocol::FsCreateDirectoryParams;
|
|
pub use protocol::FsCreateDirectoryResponse;
|
|
pub use protocol::FsGetMetadataParams;
|
|
pub use protocol::FsGetMetadataResponse;
|
|
pub use protocol::FsOpenParams;
|
|
pub use protocol::FsOpenResponse;
|
|
pub use protocol::FsReadBlockParams;
|
|
pub use protocol::FsReadBlockResponse;
|
|
pub use protocol::FsReadDirectoryEntry;
|
|
pub use protocol::FsReadDirectoryParams;
|
|
pub use protocol::FsReadDirectoryResponse;
|
|
pub use protocol::FsReadFileParams;
|
|
pub use protocol::FsReadFileResponse;
|
|
pub use protocol::FsRemoveParams;
|
|
pub use protocol::FsRemoveResponse;
|
|
pub use protocol::FsWalkParams;
|
|
pub use protocol::FsWalkResponse;
|
|
pub use protocol::FsWriteFileParams;
|
|
pub use protocol::FsWriteFileResponse;
|
|
pub use protocol::HttpHeader;
|
|
pub use protocol::HttpRedirectPolicy;
|
|
pub use protocol::HttpRequestBodyDeltaNotification;
|
|
pub use protocol::HttpRequestParams;
|
|
pub use protocol::HttpRequestResponse;
|
|
pub use protocol::InitializeParams;
|
|
pub use protocol::InitializeResponse;
|
|
pub use protocol::NetworkPolicyRequestParams;
|
|
pub use protocol::NetworkPolicyRequestResponse;
|
|
pub use protocol::ProcessOutputChunk;
|
|
pub use protocol::ProcessSignal;
|
|
pub use protocol::ReadParams;
|
|
pub use protocol::ReadResponse;
|
|
pub use protocol::ShellInfo;
|
|
pub use protocol::ShellSnapshotRequest;
|
|
pub use protocol::SignalParams;
|
|
pub use protocol::SignalResponse;
|
|
pub use protocol::TerminateParams;
|
|
pub use protocol::TerminateResponse;
|
|
pub use protocol::WriteParams;
|
|
pub use protocol::WriteResponse;
|
|
pub use protocol::WriteStatus;
|
|
pub use regular_file::read_sensitive_file_to_string;
|
|
pub use remote::RemoteEnvironmentConfig;
|
|
pub use remote::RemoteEnvironmentTransport;
|
|
pub use remote::run_remote_environment;
|
|
pub use remote::run_remote_environment_forward_until_shutdown;
|
|
pub use remote::run_remote_environment_until_shutdown;
|
|
pub use resolved_capability::ResolvedSelectedCapabilityRoot;
|
|
pub use resolved_capability::SelectedCapabilityRootsStatus;
|
|
pub use runtime_paths::ExecServerRuntimePaths;
|
|
pub use server::ConcurrentRequestLimit;
|
|
pub use server::DEFAULT_LISTEN_URL;
|
|
pub use server::ExecServerListenUrlParseError;
|
|
pub use server::RequestDispatchMode;
|
|
pub use server::run_main;
|
|
pub use server::run_main_with_telemetry;
|
|
pub use telemetry::ExecServerTelemetry;
|