#![forbid(unsafe_code)]
pub mod agent_os;
pub(crate) mod command_line;
pub mod config;
pub mod cron;
pub mod error;
pub mod fs;
pub mod language_execution;
pub mod net;
pub mod process;
pub mod session;
pub mod sidecar;
pub mod stream;
pub mod transport;
pub const ACP_PROTOCOL_VERSION: u64 = 1;
pub const CLOSED_SHELL_EXIT_CODE_RETENTION_LIMIT: usize = 2048;
pub const SHELL_DISPOSE_TIMEOUT_MS: u64 = 5_000;
pub const VM_READY_TIMEOUT_MS: u64 = 10_000;
pub const CRON_JOB_LIMIT: usize = 1024;
pub use agent_os::{AgentOs, PackageDescriptor, ProjectedAgent, SoftwareInfo};
pub use error::{ClientError, ClientResult, ResourceLimitDetails};
pub use language_execution::{
CodeEvaluationResult, CodeExecutionResult, ContextDescriptor, ExecutionPtyOptions,
InlineExecutionOptions, JavaScriptExecutionOptions, JavaScriptModuleFormat,
LanguageExecutionOptions, LanguageSpawnOptions, ProcessDescriptor, TypeScriptDiagnostic,
};
pub use sidecar::{
AgentOsSidecar, AgentOsSidecarDescription, AgentOsSidecarPlacement, SidecarState,
};
pub use stream::{ByteStream, Subscription};
pub use config::{
node_modules_mount, AcpLimits, AgentOsConfig, AgentOsConfigBuilder, AgentOsLimits,
AgentOsSidecarConfig, Binding, BindingCallback, BindingLimits, Bindings, FsPermissionRule,
FsPermissions, HttpLimits, JsRuntimeLimits, MountConfig, MountPlugin, OverlayMountConfig,
PackageRef, PatternPermissionRule, PatternPermissions, PermissionMode, Permissions,
PluginLimits, PythonLimits, ResourceLimits, RootFilesystemConfig, RootFilesystemKind,
RootFilesystemMode, RootLowerInput, RulePermissions, ScheduleCallback, ScheduleDriver,
ScheduleEntry, ScheduleHandle, SidecarJsBridgeCall, SidecarJsBridgeCallback, SoftwareInput,
SoftwareKind, TimerScheduleDriver, VmGroupConfig, VmUserAccountConfig, VmUserConfig,
WasmLimits,
};
pub use process::{
ExecOptions, ExecResult, ProcessExit, ProcessInfo, ProcessOutput, ProcessStatus, ProcessStream,
ProcessTreeNode, SpawnHandle, SpawnOptions, SpawnStdio, SpawnedProcessInfo, StdinInput,
TimingMitigation,
};
pub use net::{HttpRequest, HttpResponse};
pub use fs::{
BatchReadResult, BatchWriteEntry, BatchWriteResult, DirEntry, DirEntryType,
DynamicMountDescriptor, FileContent, FilesystemEntry, FilesystemEntryEncoding,
FilesystemSnapshotEntries, FilesystemSnapshotExport, MkdirOptions, MountInfo,
ReaddirRecursiveOptions, RemoveOptions, RootSnapshotExport, SnapshotExportKind,
VirtualDirEntry, VirtualFileSystem, VirtualStat,
};
pub use shell::{ConnectTerminalOptions, OpenShellOptions, ShellData, ShellExit, ShellHandle};
pub use session::{
AgentExitEvent, AgentExitStream, AgentExitSubscription, AgentMessage, AgentRegistryEntry,
AgentRestartOutcome, CancelPromptStatus, ContentBlock, DurableEventKind, DurableSessionEvent,
DurableSessionEventEntry, DurableSessionEventStream, DurableSessionEventSubscription,
EphemeralEventKind, EphemeralSessionEvent, EphemeralSessionEventEntry, HistoryPage,
ListSessionsInput, McpServerConfig, OpenSessionInput, PendingPermissionRequest,
PermissionEventStatus, PermissionPolicy, PermissionResponseStatus, PermissionTerminalReason,
PromptInput, PromptResult, ReadHistoryInput, SessionCapabilities, SessionConfig,
SessionConfigOption, SessionConfigValue, SessionInfo, SessionPage, SessionState,
SessionStreamEntry, SessionSubscriptionError, SessionUpdate, StopReason,
};
pub use cron::{
CronAction, CronActionInfo, CronEvent, CronJobHandle, CronJobInfo, CronJobOptions, CronManager,
CronOverlap, CronSessionOptions,
};
pub mod shell;