Expand description
Configuration types: AgentOsConfig (= TS AgentOsOptions), the permissions tree, root
filesystem config, mount config, and the schedule-driver abstraction.
Ported from packages/core/src/agent-os.ts (AgentOsOptions), runtime.ts (Permissions),
layers.ts / overlay-filesystem.ts (root/overlay), and cron/ (schedule driver).
Non-serializable parameters (MountConfig::Plain.driver, CronAction::Callback) are in-process
only and become Arc<dyn ...> trait objects; they cannot cross the wire and are gated exactly as
the actor layer gates them.
Structs§
- AcpLimits
- Agent
OsConfig - Resolved client options (= TS
AgentOsOptions). All fields optional with documented defaults. - Agent
OsConfig Builder - Builder for
AgentOsConfig. - Agent
OsLimits - Operator-tunable runtime limits for a VM. Every field is optional; unset fields fall back to the sidecar defaults.
- FsPermission
Rule { mode; operations?; paths? }.- Host
Function - A single host function. The key it is registered under names it, and the
input schema’s
descriptiondocuments it for the agent. - Host
Function Limits - Http
Limits - JsRuntime
Limits - Mount
Plugin - A native mount plugin descriptor.
- Overlay
Mount Config - Overlay mount filesystem config.
- Package
Ref - A reference to a packed
.aospkgpackage for the/opt/agentosprojection. A directory path remains accepted for local transition fixtures. - Pattern
Permission Rule { mode; operations?; patterns? }.- Permissions
- Top-level permission policy. All domains optional (
allowAllwhen omitted). - Plugin
Limits - Process
Limits - Python
Limits - Resolved
Host Function - A host function resolved to the names the VM uses.
- Resolved
Host Functions - A collection resolved to the names the VM uses. Keys arrive as identifiers and are converted once here, so the rest of the client and the sidecar only ever see kebab-case command names.
- Resource
Limits - Root
Filesystem Config - Root filesystem configuration. Default: overlay + bundled base snapshot.
- Rule
Permissions { default?: PermissionMode; rules: T[] }.- Schedule
Entry - A schedule entry handed to a
ScheduleDriver. Mirrors TSScheduleEntry(cron/schedule-driver.ts). - Schedule
Handle - Handle to a scheduled entry. Mirrors TS
ScheduleHandle { id }. Identifies the entry to cancel viaScheduleDriver::cancel. - Sidecar
JsBridge Call - A sidecar-initiated
js_bridge-style filesystem callback. - Software
Input - A flattened software package input.
- Sqlite
Limits - Timer
Schedule Driver - Default schedule driver backed by
tokiotimers and the system clock. - VmGroup
Config - VmUser
Account Config - VmUser
Config - Initial Linux-style credentials and account record for processes in a VM.
- Wasm
Limits
Enums§
- Agent
OsSidecar Config - How the client obtains its sidecar handle.
- FsPermissions
PermissionMode | RulePermissions<FsPermissionRule>.- Mount
Config - A filesystem mount.
Plain.driveris an in-process trait object and cannot cross the wire. - Pattern
Permissions PermissionMode | RulePermissions<PatternPermissionRule>(network/childProcess/process/env/hostFunction).- Permission
Mode "allow"or"deny".- Root
Filesystem Kind - The root filesystem kind.
- Root
Filesystem Mode - Root filesystem mode.
- Root
Lower Input - A lower (immutable) snapshot layer input.
- Software
Kind - The kind of a software package, which decides how it is mounted into the VM. Mirrors the TS
descriptor
typediscriminator (packages/core/src/packages.ts).
Traits§
- Schedule
Driver - Driver-owned scheduling abstraction. Mirrors the TS
ScheduleDriverinterface (cron/schedule-driver.ts) exactly: the driver parses the schedule, arms the timer, reschedules cron entries after each fire, and tears everything down onScheduleDriver::dispose. This is the documented extension point: a custom driver (deterministic virtual-time test driver, fire-immediately driver, etc.) fully controls timing.
Functions§
- host_
function_ command_ name - Convert a registration key to its command name.
listOrdersandlist-ordersboth becomelist-orders, so the guest sees one spelling whichever the caller wrote. MirrorshostFunctionCommandNamein the TypeScript client. - node_
modules_ mount - Mount a host
node_modulesdirectory into the VM at/root/node_modules. - resolve_
host_ functions - Resolve the caller’s collections into the shape the client and sidecar use. Fails on a key that cannot become a command name, and on two keys that collide once converted.
Type Aliases§
- Host
Function Callback - A host-side host function callback. Receives the validated JSON input, returns a JSON result or an error string. Stays host-side (never crosses to the guest); the guest invokes it by name via the sidecar host-callback channel.
- Host
Function Collection - One collection of host functions, keyed by function name. Each key becomes a subcommand of the collection’s CLI binary and a method on its guest global.
- Host
Function Collections - Host function collections, keyed by collection name (in-process;
implementations stay host-side). Each key becomes the CLI binary
agentos-{name}and a frozen guest global; functions are exposed to the guest as<collection>:<function>and dispatched back toHostFunction::executevia the sidecar host-callback channel. - Schedule
Callback - The callback fired by a
ScheduleDriverwhen a schedule entry triggers. - Sidecar
JsBridge Callback - Host-side handler for sidecar
JsBridgeCallRequestpayloads.