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 net;
25pub mod process;
26pub mod session;
27pub mod sidecar;
28pub mod stream;
29pub mod transport;
30
31pub const ACP_PROTOCOL_VERSION: u64 = 1;
37
38pub const CLOSED_SHELL_EXIT_CODE_RETENTION_LIMIT: usize = 2048;
40
41pub const SHELL_DISPOSE_TIMEOUT_MS: u64 = 5_000;
43
44pub const VM_READY_TIMEOUT_MS: u64 = 10_000;
46
47pub const CRON_JOB_LIMIT: usize = 1024;
49
50pub use agent_os::{AgentOs, PackageDescriptor, ProjectedAgent, SoftwareInfo};
55pub use error::{ClientError, ClientResult, ResourceLimitDetails};
56pub use sidecar::{
57 AgentOsSidecar, AgentOsSidecarDescription, AgentOsSidecarPlacement, SidecarState,
58};
59pub use stream::{ByteStream, Subscription};
60
61pub use config::{
62 node_modules_mount, AcpLimits, AgentOsConfig, AgentOsConfigBuilder, AgentOsLimits,
63 AgentOsSidecarConfig, Binding, BindingCallback, BindingLimits, Bindings, FsPermissionRule,
64 FsPermissions, HttpLimits, JsRuntimeLimits, MountConfig, MountPlugin, OverlayMountConfig,
65 PackageRef, PatternPermissionRule, PatternPermissions, PermissionMode, Permissions,
66 PluginLimits, PythonLimits, ResourceLimits, RootFilesystemConfig, RootFilesystemKind,
67 RootFilesystemMode, RootLowerInput, RulePermissions, ScheduleCallback, ScheduleDriver,
68 ScheduleEntry, ScheduleHandle, SidecarJsBridgeCall, SidecarJsBridgeCallback, SoftwareInput,
69 SoftwareKind, TimerScheduleDriver, VmGroupConfig, VmUserAccountConfig, VmUserConfig,
70 WasmLimits,
71};
72
73pub use process::{
74 ExecOptions, ExecResult, ProcessExit, ProcessInfo, ProcessOutput, ProcessStatus, ProcessStream,
75 ProcessTreeNode, SpawnHandle, SpawnOptions, SpawnStdio, SpawnedProcessInfo, StdinInput,
76 TimingMitigation,
77};
78
79pub use net::{HttpRequest, HttpResponse};
80
81pub use fs::{
82 BatchReadResult, BatchWriteEntry, BatchWriteResult, DirEntry, DirEntryType,
83 DynamicMountDescriptor, FileContent, FilesystemEntry, FilesystemEntryEncoding,
84 FilesystemSnapshotEntries, FilesystemSnapshotExport, MkdirOptions, MountInfo,
85 ReaddirRecursiveOptions, RemoveOptions, RootSnapshotExport, SnapshotExportKind,
86 VirtualDirEntry, VirtualFileSystem, VirtualStat,
87};
88
89pub use shell::{ConnectTerminalOptions, OpenShellOptions, ShellData, ShellExit, ShellHandle};
90
91pub use session::{
92 AgentExitEvent, AgentExitStream, AgentExitSubscription, AgentMessage, AgentRegistryEntry,
93 AgentRestartOutcome, CancelPromptStatus, ContentBlock, DurableEventKind, DurableSessionEvent,
94 DurableSessionEventEntry, DurableSessionEventStream, DurableSessionEventSubscription,
95 EphemeralEventKind, EphemeralSessionEvent, EphemeralSessionEventEntry, HistoryPage,
96 ListSessionsInput, McpServerConfig, OpenSessionInput, PendingPermissionRequest,
97 PermissionEventStatus, PermissionPolicy, PermissionResponseStatus, PermissionTerminalReason,
98 PromptInput, PromptResult, ReadHistoryInput, SessionCapabilities, SessionConfig,
99 SessionConfigOption, SessionConfigValue, SessionInfo, SessionPage, SessionState,
100 SessionStreamEntry, SessionSubscriptionError, SessionUpdate, StopReason,
101};
102
103pub use cron::{
104 CronAction, CronActionInfo, CronEvent, CronJobHandle, CronJobInfo, CronJobOptions, CronManager,
105 CronOverlap, CronSessionOptions,
106};
107
108pub mod shell;