@rivet-dev/agentos-core 0.2.5-rc.3 → 0.2.5-rc.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/agent-os.d.ts +25 -28
- package/dist/agent-os.js +129 -403
- package/dist/agentos-package.d.ts +3 -3
- package/dist/agentos-package.js +7 -1
- package/dist/cron/types.d.ts +1 -1
- package/dist/default-software.d.ts +6 -46
- package/dist/default-software.js +7 -90
- package/dist/generated/AcpLimitsConfig.d.ts +4 -0
- package/dist/generated/AcpLimitsConfig.js +2 -0
- package/dist/generated/CreateVmConfig.d.ts +26 -0
- package/dist/generated/CreateVmConfig.js +1 -0
- package/dist/generated/FsPermissionRule.d.ts +6 -0
- package/dist/generated/FsPermissionRule.js +1 -0
- package/dist/generated/FsPermissionRuleSet.d.ts +6 -0
- package/dist/generated/FsPermissionRuleSet.js +1 -0
- package/dist/generated/FsPermissionScope.d.ts +3 -0
- package/dist/generated/FsPermissionScope.js +1 -0
- package/dist/generated/HttpLimitsConfig.d.ts +3 -0
- package/dist/generated/HttpLimitsConfig.js +2 -0
- package/dist/generated/JsModuleResolution.d.ts +1 -0
- package/dist/generated/JsModuleResolution.js +2 -0
- package/dist/generated/JsRuntimeConfig.d.ts +31 -0
- package/dist/generated/JsRuntimeConfig.js +1 -0
- package/dist/generated/JsRuntimeLimitsConfig.d.ts +11 -0
- package/dist/generated/JsRuntimeLimitsConfig.js +2 -0
- package/dist/generated/JsRuntimePlatform.d.ts +1 -0
- package/dist/generated/JsRuntimePlatform.js +2 -0
- package/dist/generated/MountPluginDescriptor.d.ts +4 -0
- package/dist/generated/MountPluginDescriptor.js +2 -0
- package/dist/generated/NativeRootFilesystemConfig.d.ts +5 -0
- package/dist/generated/NativeRootFilesystemConfig.js +1 -0
- package/dist/generated/PatternPermissionRule.d.ts +6 -0
- package/dist/generated/PatternPermissionRule.js +1 -0
- package/dist/generated/PatternPermissionRuleSet.d.ts +6 -0
- package/dist/generated/PatternPermissionRuleSet.js +1 -0
- package/dist/generated/PatternPermissionScope.d.ts +3 -0
- package/dist/generated/PatternPermissionScope.js +1 -0
- package/dist/generated/PermissionMode.d.ts +1 -0
- package/dist/generated/PermissionMode.js +2 -0
- package/dist/generated/PermissionsPolicy.d.ts +10 -0
- package/dist/generated/PermissionsPolicy.js +1 -0
- package/dist/generated/PluginLimitsConfig.d.ts +4 -0
- package/dist/generated/PluginLimitsConfig.js +2 -0
- package/dist/generated/PythonLimitsConfig.d.ts +6 -0
- package/dist/generated/PythonLimitsConfig.js +2 -0
- package/dist/generated/ResourceLimitsConfig.d.ts +24 -0
- package/dist/generated/ResourceLimitsConfig.js +2 -0
- package/dist/generated/RootFilesystemConfig.d.ts +9 -0
- package/dist/generated/RootFilesystemConfig.js +1 -0
- package/dist/generated/RootFilesystemEntry.d.ts +13 -0
- package/dist/generated/RootFilesystemEntry.js +1 -0
- package/dist/generated/RootFilesystemEntryEncoding.d.ts +1 -0
- package/dist/generated/RootFilesystemEntryEncoding.js +2 -0
- package/dist/generated/RootFilesystemEntryKind.d.ts +1 -0
- package/dist/generated/RootFilesystemEntryKind.js +2 -0
- package/dist/generated/RootFilesystemLowerDescriptor.d.ts +7 -0
- package/dist/generated/RootFilesystemLowerDescriptor.js +1 -0
- package/dist/generated/RootFilesystemMode.d.ts +1 -0
- package/dist/generated/RootFilesystemMode.js +2 -0
- package/dist/generated/ToolLimitsConfig.d.ts +10 -0
- package/dist/generated/ToolLimitsConfig.js +2 -0
- package/dist/generated/VmDnsConfig.d.ts +6 -0
- package/dist/generated/VmDnsConfig.js +2 -0
- package/dist/generated/VmLimitsConfig.d.ts +18 -0
- package/dist/generated/VmLimitsConfig.js +1 -0
- package/dist/generated/VmListenPolicyConfig.d.ts +5 -0
- package/dist/generated/VmListenPolicyConfig.js +2 -0
- package/dist/generated/WasmLimitsConfig.d.ts +7 -0
- package/dist/generated/WasmLimitsConfig.js +2 -0
- package/dist/host-dir-mount.d.ts +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/options-schema.d.ts +14 -1
- package/dist/options-schema.js +27 -21
- package/dist/packages.d.ts +2 -2
- package/dist/packages.js +20 -6
- package/dist/runtime-compat.d.ts +17 -4
- package/dist/runtime-compat.js +51 -88
- package/dist/runtime.d.ts +27 -0
- package/dist/sandbox.d.ts +112 -0
- package/dist/sandbox.js +264 -0
- package/dist/sidecar/agentos-protocol.d.ts +27 -1
- package/dist/sidecar/agentos-protocol.js +77 -20
- package/dist/sidecar/native-process-client.d.ts +5 -4
- package/dist/sidecar/native-process-client.js +4 -4
- package/dist/sidecar/permissions.d.ts +1 -1
- package/dist/sidecar/rpc-client.d.ts +21 -2
- package/dist/sidecar/rpc-client.js +113 -41
- package/dist/types.d.ts +7 -1
- package/package.json +34 -35
- package/dist/agents.d.ts +0 -79
- package/dist/agents.js +0 -48
package/README.md
CHANGED
|
@@ -112,7 +112,7 @@ await vm.dispose();
|
|
|
112
112
|
|
|
113
113
|
| Method | Signature | Description |
|
|
114
114
|
|--------|-----------|-------------|
|
|
115
|
-
| `createSession` | `createSession(agentType: AgentType
|
|
115
|
+
| `createSession` | `createSession(agentType: AgentType, options?: CreateSessionOptions): Promise<{ sessionId: string }>` | Launch an agent and return a session ID |
|
|
116
116
|
| `listSessions` | `listSessions(): SessionInfo[]` | List active sessions |
|
|
117
117
|
| `destroySession` | `destroySession(sessionId: string): Promise<void>` | Gracefully cancel and close a session |
|
|
118
118
|
|
|
@@ -157,7 +157,7 @@ await vm.dispose();
|
|
|
157
157
|
- `MountConfigCustom` — Caller-provided VirtualFileSystem
|
|
158
158
|
- `NativeMountConfig` — Declarative sidecar mount plugin configuration
|
|
159
159
|
- `MountConfigOverlay` — Copy-on-write overlay (lower + upper layers)
|
|
160
|
-
- `chunkedS3MountPlugin()` — Declarative S3-compatible native mount plugin descriptor (from `@
|
|
160
|
+
- `chunkedS3MountPlugin()` — Declarative S3-compatible native mount plugin descriptor (from `@rivet-dev/agentos-runtime-core/descriptors`)
|
|
161
161
|
|
|
162
162
|
**MCP Servers**
|
|
163
163
|
- `McpServerConfig` — Union of local and remote MCP configs
|
|
@@ -177,8 +177,8 @@ await vm.dispose();
|
|
|
177
177
|
- `BatchReadResult` — Result of a batch read (path, content, error?)
|
|
178
178
|
|
|
179
179
|
**Agent**
|
|
180
|
-
- `AgentType` — `
|
|
181
|
-
- `AgentConfig` — Agent configuration (
|
|
180
|
+
- `AgentType` — `string` (a package manifest `name`, e.g. `"pi"`, `"claude"`); agents are resolved dynamically from the configured `/opt/agentos` package manifests, so any manifest `name` is valid
|
|
181
|
+
- `AgentConfig` — Agent configuration (adapterEntrypoint, launchArgs, defaultEnv)
|
|
182
182
|
- `AgentRegistryEntry` — Registry entry (id, acpAdapter, agentPackage, installed)
|
|
183
183
|
|
|
184
184
|
**Session**
|
package/dist/agent-os.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { NativeMountPluginDescriptor } from "@
|
|
1
|
+
import type { NativeMountPluginDescriptor } from "@rivet-dev/agentos-runtime-core/descriptors";
|
|
2
2
|
import type { AgentCapabilities, AgentInfo, PermissionReply, PermissionRequestHandler, SessionConfigOption, SessionEventHandler, SessionModeState } from "./agent-session-types.js";
|
|
3
3
|
import { type ToolKit } from "./host-tools.js";
|
|
4
4
|
import type { JsonRpcResponse } from "./json-rpc.js";
|
|
5
5
|
import type { ConnectTerminalOptions, Kernel, KernelExecOptions, KernelExecResult, ProcessInfo as KernelProcessInfo, KernelSpawnOptions, OpenShellOptions, Permissions, VirtualFileSystem, VirtualStat } from "./runtime-compat.js";
|
|
6
|
-
export type { MountConfigJsonObject, MountConfigJsonPrimitive, MountConfigJsonValue, NativeMountPluginDescriptor, } from "@
|
|
6
|
+
export type { MountConfigJsonObject, MountConfigJsonPrimitive, MountConfigJsonValue, NativeMountPluginDescriptor, } from "@rivet-dev/agentos-runtime-core/descriptors";
|
|
7
7
|
export type { AgentCapabilities, AgentInfo, PermissionReply, PermissionRequest, PermissionRequestHandler, SessionConfigOption, SessionEventHandler, SessionInitData, SessionMode, SessionModeState, } from "./agent-session-types.js";
|
|
8
8
|
export type { AcpTimeoutErrorData, JsonRpcError, JsonRpcErrorData, JsonRpcNotification, JsonRpcRequest, JsonRpcResponse, } from "./json-rpc.js";
|
|
9
9
|
export { isAcpTimeoutErrorData } from "./json-rpc.js";
|
|
@@ -46,15 +46,11 @@ export interface BatchReadResult {
|
|
|
46
46
|
/** Entry in the agent registry, describing an available agent type. */
|
|
47
47
|
export interface AgentRegistryEntry {
|
|
48
48
|
id: string;
|
|
49
|
-
/** npm adapter package (legacy agents) — absent for `/opt/agentos` packages. */
|
|
50
|
-
acpAdapter?: string;
|
|
51
|
-
/** npm agent package (legacy agents) — absent for `/opt/agentos` packages. */
|
|
52
|
-
agentPackage?: string;
|
|
53
|
-
/** Pre-resolved adapter command path for an `/opt/agentos` agent package. */
|
|
54
|
-
adapterEntrypoint?: string;
|
|
55
49
|
installed: boolean;
|
|
50
|
+
/** Guest entrypoint the sidecar launches for this agent (`/opt/agentos/bin/<acpEntrypoint>`). */
|
|
51
|
+
adapterEntrypoint: string;
|
|
56
52
|
}
|
|
57
|
-
import type { AgentType } from "./
|
|
53
|
+
import type { AgentType } from "./types.js";
|
|
58
54
|
import type { ScheduleDriver } from "./cron/schedule-driver.js";
|
|
59
55
|
import type { CronEventHandler, CronJob, CronJobInfo, CronJobOptions } from "./cron/types.js";
|
|
60
56
|
import { type LayerStore, type OverlayFilesystemMode, type RootSnapshotExport, type SnapshotLayerHandle } from "./layers.js";
|
|
@@ -177,6 +173,10 @@ export interface AgentOsLimits {
|
|
|
177
173
|
/** Guest JavaScript runtime buffering limits. */
|
|
178
174
|
jsRuntime?: {
|
|
179
175
|
v8HeapLimitMb?: number;
|
|
176
|
+
syncRpcWaitTimeoutMs?: number;
|
|
177
|
+
cpuTimeLimitMs?: number;
|
|
178
|
+
wallClockLimitMs?: number;
|
|
179
|
+
importCacheMaterializeTimeoutMs?: number;
|
|
180
180
|
capturedOutputLimitBytes?: number;
|
|
181
181
|
stdinBufferLimitBytes?: number;
|
|
182
182
|
eventPayloadLimitBytes?: number;
|
|
@@ -186,6 +186,7 @@ export interface AgentOsLimits {
|
|
|
186
186
|
python?: {
|
|
187
187
|
outputBufferMaxBytes?: number;
|
|
188
188
|
executionTimeoutMs?: number;
|
|
189
|
+
maxOldSpaceMb?: number;
|
|
189
190
|
vfsRpcTimeoutMs?: number;
|
|
190
191
|
};
|
|
191
192
|
/** Guest WASM runtime limits. */
|
|
@@ -193,6 +194,8 @@ export interface AgentOsLimits {
|
|
|
193
194
|
maxModuleFileBytes?: number;
|
|
194
195
|
capturedOutputLimitBytes?: number;
|
|
195
196
|
syncReadLimitBytes?: number;
|
|
197
|
+
prewarmTimeoutMs?: number;
|
|
198
|
+
runnerHeapLimitMb?: number;
|
|
196
199
|
};
|
|
197
200
|
}
|
|
198
201
|
export interface AgentStderrEvent {
|
|
@@ -295,11 +298,6 @@ export interface AgentOsOptions {
|
|
|
295
298
|
rootFilesystem?: RootFilesystemConfig;
|
|
296
299
|
/** Filesystems to mount at boot time. */
|
|
297
300
|
mounts?: MountConfig[];
|
|
298
|
-
/**
|
|
299
|
-
* @deprecated Use `mounts: [nodeModulesMount(path)]` instead.
|
|
300
|
-
* Compatibility alias for mounting `<moduleAccessCwd>/node_modules` at `/root/node_modules`.
|
|
301
|
-
*/
|
|
302
|
-
moduleAccessCwd?: string;
|
|
303
301
|
/** Additional instructions appended to the base OS system prompt injected at session start. */
|
|
304
302
|
additionalInstructions?: string;
|
|
305
303
|
/** Custom schedule driver for cron jobs. Defaults to TimerScheduleDriver. */
|
|
@@ -443,12 +441,9 @@ export declare class AgentOs {
|
|
|
443
441
|
private _closedShellIds;
|
|
444
442
|
private _pendingShellExitPromises;
|
|
445
443
|
private _shellCounter;
|
|
446
|
-
/** Command names linked into `/opt/agentos/bin` at runtime (via the sidecar). */
|
|
447
|
-
private _linkedCommands;
|
|
448
444
|
private _acpTerminals;
|
|
449
445
|
private _acpTerminalCounter;
|
|
450
446
|
private _softwareRoots;
|
|
451
|
-
private _softwareAgentConfigs;
|
|
452
447
|
private _cronManager;
|
|
453
448
|
private _toolKits;
|
|
454
449
|
private _toolReference;
|
|
@@ -490,7 +485,6 @@ export declare class AgentOs {
|
|
|
490
485
|
private _assertSafeAbsolutePath;
|
|
491
486
|
private _assertWritableAbsolutePath;
|
|
492
487
|
private _vfs;
|
|
493
|
-
private _copyPath;
|
|
494
488
|
readFile(path: string): Promise<Uint8Array>;
|
|
495
489
|
writeFile(path: string, content: string | Uint8Array): Promise<void>;
|
|
496
490
|
writeFiles(entries: BatchWriteEntry[]): Promise<BatchWriteResult[]>;
|
|
@@ -558,8 +552,17 @@ export declare class AgentOs {
|
|
|
558
552
|
* lifetime (and across a snapshot iff the volume persists).
|
|
559
553
|
*/
|
|
560
554
|
linkSoftware(descriptor: PackageRef | SoftwarePackageRef): Promise<void>;
|
|
561
|
-
|
|
562
|
-
|
|
555
|
+
providedCommands(): Promise<{
|
|
556
|
+
packageName: string;
|
|
557
|
+
commands: string[];
|
|
558
|
+
}[]>;
|
|
559
|
+
/**
|
|
560
|
+
* Returns all registered agents with their installation status. Thin forwarder:
|
|
561
|
+
* sends `AcpListAgentsRequest` and maps the response. The sidecar enumerates the
|
|
562
|
+
* projected `/opt/agentos` packages (the client parses no manifests). Every such
|
|
563
|
+
* agent is a package materialized into the VM, so `installed` is always `true`.
|
|
564
|
+
*/
|
|
565
|
+
listAgents(): Promise<AgentRegistryEntry[]>;
|
|
563
566
|
private _syncSessionState;
|
|
564
567
|
private _applySessionUpdate;
|
|
565
568
|
private _recordSessionNotification;
|
|
@@ -599,7 +602,7 @@ export declare class AgentOs {
|
|
|
599
602
|
private _rejectPendingPermissionRepliesFromSession;
|
|
600
603
|
private _closeSessionInternal;
|
|
601
604
|
private _hydrateSessionState;
|
|
602
|
-
createSession(agentType: AgentType
|
|
605
|
+
createSession(agentType: AgentType, options?: CreateSessionOptions): Promise<{
|
|
603
606
|
sessionId: string;
|
|
604
607
|
}>;
|
|
605
608
|
/**
|
|
@@ -617,7 +620,7 @@ export declare class AgentOs {
|
|
|
617
620
|
* Resume depends on a durable root; on a non-durable (default in-memory) root
|
|
618
621
|
* there is no surviving store and the fallback tier always runs.
|
|
619
622
|
*/
|
|
620
|
-
resumeSession(sessionId: string, agentType: AgentType
|
|
623
|
+
resumeSession(sessionId: string, agentType: AgentType, options?: ResumeSessionOptions): Promise<ResumeSessionResult>;
|
|
621
624
|
private _installSidecarRequestHandler;
|
|
622
625
|
private _handleAcpExtSidecarRequest;
|
|
623
626
|
private _dispatchAcpSidecarRequest;
|
|
@@ -644,12 +647,6 @@ export declare class AgentOs {
|
|
|
644
647
|
private _handleAcpReleaseTerminal;
|
|
645
648
|
private _handleAcpResizeTerminal;
|
|
646
649
|
private _handleAcpPermissionCallback;
|
|
647
|
-
/**
|
|
648
|
-
* Resolve an agent config by ID. Agents are /opt/agentos packages
|
|
649
|
-
* registered from their manifests (explicit software at create, or lazily
|
|
650
|
-
* linked dependency agents) — there is no hardcoded fallback config.
|
|
651
|
-
*/
|
|
652
|
-
private _resolveAgentConfig;
|
|
653
650
|
/**
|
|
654
651
|
* Gracefully destroy a session: cancel any pending work, close the client,
|
|
655
652
|
* and remove from tracking. Unlike close() which is abrupt, this attempts
|