1#![forbid(unsafe_code)]
2
3pub mod agent_os;
19pub(crate) mod command_line;
20pub mod config;
21pub mod cron;
22pub mod error;
23pub mod fs;
24pub mod json_rpc;
25pub mod net;
26pub mod process;
27pub mod session;
28pub mod sidecar;
29pub mod stream;
30pub mod transport;
31
32pub const ACP_PROTOCOL_VERSION: u64 = 1;
38
39pub const PERMISSION_TIMEOUT_MS: u64 = 120_000;
41
42pub const CLOSED_SESSION_ID_RETENTION_LIMIT: usize = 2048;
44
45pub const SHELL_DISPOSE_TIMEOUT_MS: u64 = 5_000;
47
48pub const VM_READY_TIMEOUT_MS: u64 = 10_000;
50
51pub const CRON_JOB_LIMIT: usize = 1024;
53
54pub use agent_os::AgentOs;
59pub use error::{ClientError, ClientResult};
60pub use sidecar::{
61 AgentOsSidecar, AgentOsSidecarDescription, AgentOsSidecarPlacement, SidecarState,
62};
63pub use stream::{ByteStream, Subscription};
64
65pub use config::{
66 AcpLimits, AgentOsConfig, AgentOsConfigBuilder, AgentOsLimits, AgentOsSidecarConfig,
67 FsPermissionRule, FsPermissions, HostTool, HttpLimits, JsRuntimeLimits, MountConfig,
68 MountPlugin, OverlayMountConfig, PatternPermissionRule, PatternPermissions, PermissionMode,
69 Permissions, PluginLimits, PythonLimits, ResourceLimits, RootFilesystemConfig,
70 RootFilesystemKind, RootFilesystemMode, RootLowerInput, RulePermissions, ScheduleCallback,
71 ScheduleDriver, ScheduleEntry, ScheduleHandle, SidecarJsBridgeCall, SidecarJsBridgeCallback,
72 SoftwareInput, SoftwareKind, TimerScheduleDriver, ToolCallback, ToolKit, ToolLimits,
73 WasmLimits,
74};
75
76pub use process::{
77 ExecOptions, ExecResult, ProcessInfo, ProcessStatus, ProcessTreeNode, SpawnHandle,
78 SpawnOptions, SpawnStdio, SpawnedProcessInfo, StdinInput, TimingMitigation,
79};
80
81pub use fs::{
82 BatchReadResult, BatchWriteEntry, BatchWriteResult, DeleteOptions, DirEntry, DirEntryType,
83 FileContent, FilesystemEntry, FilesystemEntryEncoding, FilesystemSnapshotEntries,
84 FilesystemSnapshotExport, MkdirOptions, MountFsOptions, ReaddirRecursiveOptions,
85 RootSnapshotExport, SnapshotExportKind, VirtualDirEntry, VirtualFileSystem, VirtualStat,
86};
87
88pub use shell::{ConnectTerminalOptions, OpenShellOptions, ShellHandle};
89
90pub use session::{
91 AgentCapabilities, AgentInfo, AgentRegistryEntry, ConfigAllowedValue, CreateSessionOptions,
92 McpServerConfig, PermissionReply, PermissionRequest, PromptCapabilities, PromptResult,
93 ResumeSessionOptions, ResumeSessionResult, SessionConfigOption, SessionId, SessionInfo,
94 SessionInitData, SessionMode, SessionModeState,
95};
96
97pub use json_rpc::{
98 is_unknown_session, AcpTimeoutErrorData, JsonRpcError, JsonRpcId, JsonRpcNotification,
99 JsonRpcResponse, UnknownSessionErrorData,
100};
101
102pub use cron::{
103 CronAction, CronEvent, CronJobHandle, CronJobInfo, CronJobOptions, CronManager, CronOverlap,
104};
105
106pub mod shell;