Skip to main content

Module config

Module config 

Source
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
AgentOsConfig
Resolved client options (= TS AgentOsOptions). All fields optional with documented defaults.
AgentOsConfigBuilder
Builder for AgentOsConfig.
AgentOsLimits
Operator-tunable runtime limits for a VM. Every field is optional; unset fields fall back to the sidecar defaults.
FsPermissionRule
{ mode; operations?; paths? }.
HostTool
A single host tool within a ToolKit.
HttpLimits
JsRuntimeLimits
MountPlugin
A native mount plugin descriptor.
OverlayMountConfig
Overlay mount filesystem config.
PatternPermissionRule
{ mode; operations?; patterns? }.
Permissions
Top-level permission policy. All domains optional (allowAll when omitted).
PluginLimits
PythonLimits
ResourceLimits
RootFilesystemConfig
Root filesystem configuration. Default: overlay + bundled base snapshot.
RulePermissions
{ default?: PermissionMode; rules: T[] }.
ScheduleEntry
A schedule entry handed to a ScheduleDriver. Mirrors TS ScheduleEntry (cron/schedule-driver.ts).
ScheduleHandle
Handle to a scheduled entry. Mirrors TS ScheduleHandle { id }. Identifies the entry to cancel via ScheduleDriver::cancel.
SidecarJsBridgeCall
A sidecar-initiated js_bridge-style filesystem callback.
SoftwareInput
A flattened software package input.
TimerScheduleDriver
Default schedule driver backed by tokio timers and the system clock.
ToolKit
A registered tool kit (in-process; tool implementations stay host-side). Tools are exposed to the guest as <toolkit>:<tool> and dispatched back to HostTool::execute via the sidecar host-callback channel.
ToolLimits
WasmLimits

Enums§

AgentOsSidecarConfig
How the client obtains its sidecar handle.
FsPermissions
PermissionMode | RulePermissions<FsPermissionRule>.
MountConfig
A filesystem mount. Plain.driver is an in-process trait object and cannot cross the wire.
PatternPermissions
PermissionMode | RulePermissions<PatternPermissionRule> (network/childProcess/process/env/binding).
PermissionMode
"allow" or "deny".
RootFilesystemKind
The root filesystem kind.
RootFilesystemMode
Root filesystem mode.
RootLowerInput
A lower (immutable) snapshot layer input.
SoftwareKind
The kind of a software package, which decides how it is mounted into the VM. Mirrors the TS descriptor type discriminator (packages/core/src/packages.ts).

Traits§

ScheduleDriver
Driver-owned scheduling abstraction. Mirrors the TS ScheduleDriver interface (cron/schedule-driver.ts) exactly: the driver parses the schedule, arms the timer, reschedules cron entries after each fire, and tears everything down on ScheduleDriver::dispose. This is the documented extension point: a custom driver (deterministic virtual-time test driver, fire-immediately driver, etc.) fully controls timing.

Type Aliases§

ScheduleCallback
The callback fired by a ScheduleDriver when a schedule entry triggers.
SidecarJsBridgeCallback
Host-side handler for sidecar JsBridgeCallRequest payloads.
ToolCallback
A host-side tool execute 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.