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 CLOSED_SHELL_EXIT_CODE_RETENTION_LIMIT: usize = 2048;
47
48pub const SHELL_DISPOSE_TIMEOUT_MS: u64 = 5_000;
50
51pub const VM_READY_TIMEOUT_MS: u64 = 10_000;
53
54pub const CRON_JOB_LIMIT: usize = 1024;
56
57pub use agent_os::{AgentOs, PackageDescriptor, ProjectedAgent};
62pub use error::{ClientError, ClientResult};
63pub use sidecar::{
64 AgentOsSidecar, AgentOsSidecarDescription, AgentOsSidecarPlacement, SidecarState,
65};
66pub use stream::{ByteStream, Subscription};
67
68pub use config::{
69 node_modules_mount, AcpLimits, AgentOsConfig, AgentOsConfigBuilder, AgentOsLimits,
70 AgentOsSidecarConfig, FsPermissionRule, FsPermissions, HostTool, HttpLimits, JsRuntimeLimits,
71 MountConfig, MountPlugin, OverlayMountConfig, PackageRef, PatternPermissionRule,
72 PatternPermissions, PermissionMode, Permissions, PluginLimits, PythonLimits, ResourceLimits,
73 RootFilesystemConfig, RootFilesystemKind, RootFilesystemMode, RootLowerInput, RulePermissions,
74 ScheduleCallback, ScheduleDriver, ScheduleEntry, ScheduleHandle, SidecarJsBridgeCall,
75 SidecarJsBridgeCallback, SoftwareInput, SoftwareKind, TimerScheduleDriver, ToolCallback,
76 ToolKit, ToolLimits, WasmLimits,
77};
78
79pub use process::{
80 ExecOptions, ExecResult, ProcessInfo, ProcessStatus, ProcessTreeNode, SpawnHandle,
81 SpawnOptions, SpawnStdio, SpawnedProcessInfo, StdinInput, TimingMitigation,
82};
83
84pub use fs::{
85 BatchReadResult, BatchWriteEntry, BatchWriteResult, DeleteOptions, DirEntry, DirEntryType,
86 FileContent, FilesystemEntry, FilesystemEntryEncoding, FilesystemSnapshotEntries,
87 FilesystemSnapshotExport, MkdirOptions, MountFsOptions, ReaddirRecursiveOptions,
88 RootSnapshotExport, SnapshotExportKind, VirtualDirEntry, VirtualFileSystem, VirtualStat,
89};
90
91pub use shell::{ConnectTerminalOptions, OpenShellOptions, ShellHandle};
92
93pub use session::{
94 AgentCapabilities, AgentExitEvent, AgentExitStream, AgentExitSubscription, AgentInfo,
95 AgentRegistryEntry, ConfigAllowedValue, CreateSessionOptions, McpServerConfig, PermissionReply,
96 PermissionRequest, PromptCapabilities, PromptResult, ResumeSessionOptions, ResumeSessionResult,
97 SessionConfigOption, SessionId, SessionInfo, SessionInitData, SessionMode, SessionModeState,
98};
99
100pub use json_rpc::{
101 is_unknown_session, AcpTimeoutErrorData, JsonRpcError, JsonRpcId, JsonRpcNotification,
102 JsonRpcResponse, UnknownSessionErrorData,
103};
104
105pub use cron::{
106 CronAction, CronEvent, CronJobHandle, CronJobInfo, CronJobOptions, CronManager, CronOverlap,
107};
108
109pub mod shell;