@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
|
@@ -18,9 +18,9 @@ export declare const OPT_AGENTOS_ROOT = "/opt/agentos";
|
|
|
18
18
|
export declare const OPT_AGENTOS_BIN = "/opt/agentos/bin";
|
|
19
19
|
export type AgentBlock = PackageAgentDescriptor;
|
|
20
20
|
export type PackageRef = ManifestPackageRef;
|
|
21
|
-
export
|
|
22
|
-
|
|
23
|
-
}
|
|
21
|
+
export type SoftwarePackageRef = {
|
|
22
|
+
packagePath: string;
|
|
23
|
+
};
|
|
24
24
|
/** @deprecated Package software is now represented by its package directory. */
|
|
25
25
|
export type PackageDescriptor = PackageRef;
|
|
26
26
|
/** Discriminate the dir-only package reference. */
|
package/dist/agentos-package.js
CHANGED
|
@@ -50,7 +50,13 @@ function validateAgentosPackageManifest(value, source) {
|
|
|
50
50
|
if (!isPlainObject(value) || typeof value.name !== "string") {
|
|
51
51
|
throw new Error(`Invalid agentOS package manifest at ${source}: missing name`);
|
|
52
52
|
}
|
|
53
|
-
|
|
53
|
+
if (typeof value.version !== "string") {
|
|
54
|
+
throw new Error(`Invalid agentOS package manifest at ${source}: missing version`);
|
|
55
|
+
}
|
|
56
|
+
const manifest = {
|
|
57
|
+
name: value.name,
|
|
58
|
+
version: value.version,
|
|
59
|
+
};
|
|
54
60
|
if (value.agent !== undefined) {
|
|
55
61
|
if (!isPlainObject(value.agent) ||
|
|
56
62
|
typeof value.agent.acpEntrypoint !== "string") {
|
package/dist/cron/types.d.ts
CHANGED
|
@@ -1,48 +1,8 @@
|
|
|
1
|
+
import type { SoftwarePackageRef } from "@agentos-software/manifest";
|
|
1
2
|
/**
|
|
2
|
-
* Default software
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* - `resolveDefaultSoftware()` — the set a bare `AgentOs.create()` projects:
|
|
8
|
-
* every NON-agent dependency's registry-built descriptor (`{ packageDir }`,
|
|
9
|
-
* or an ARRAY for meta-packages like `@agentos-software/common`). Agent
|
|
10
|
-
* packages are deliberately NOT projected by default — each carries a full
|
|
11
|
-
* node closure (and pi a V8 snapshot bundle), so they enter a VM only when a
|
|
12
|
-
* session actually needs them.
|
|
13
|
-
* - `resolveDependencyAgents()` — the agent packages, keyed by their manifest
|
|
14
|
-
* `name` (the `createSession(id)` id). `createSession` links the matching
|
|
15
|
-
* package into the running VM on first use (`linkSoftware`), which registers
|
|
16
|
-
* its entrypoint/env from the package's own `agentos-package.json`.
|
|
17
|
-
*
|
|
18
|
-
* Adding a default command set or an available agent = adding a dependency.
|
|
19
|
-
* Resolution THROWS with build instructions instead of silently skipping: a
|
|
20
|
-
* missing artifact means either `pnpm install` was not run or, with the
|
|
21
|
-
* file-linked deps, the sibling secure-exec registry was not built.
|
|
3
|
+
* Default software for a bare `AgentOs.create()`: the `@agentos-software/common`
|
|
4
|
+
* coreutils bundle, imported like any other package. The client makes NO
|
|
5
|
+
* npm/node_modules assumptions (see root CLAUDE.md) — no dep scan, no
|
|
6
|
+
* require.resolve. Opt out with `defaultSoftware: false`; add more via `software`.
|
|
22
7
|
*/
|
|
23
|
-
|
|
24
|
-
type SoftwareDescriptor = string | {
|
|
25
|
-
packageDir: string;
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* The default (non-agent) software set: every `@agentos-software/*`
|
|
29
|
-
* dependency's descriptor(s) whose packed manifest has no `agent` entry.
|
|
30
|
-
* Library deps (e.g. `@agentos-software/manifest`) export no descriptor and
|
|
31
|
-
* are skipped. Opt out with `AgentOs.create({ defaultSoftware: false })`.
|
|
32
|
-
*/
|
|
33
|
-
export declare function resolveDefaultSoftware(): Promise<SoftwareDescriptor[]>;
|
|
34
|
-
export interface DependencyAgent {
|
|
35
|
-
/** The dependency package name (e.g. `@agentos-software/pi`). */
|
|
36
|
-
dependency: string;
|
|
37
|
-
/** The packed runtime dir to `linkSoftware`. */
|
|
38
|
-
packageDir: string;
|
|
39
|
-
/** The agent's ACP entrypoint command name. */
|
|
40
|
-
acpEntrypoint: string;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Agent packages among the dependencies, keyed by manifest `name` (the
|
|
44
|
-
* `createSession(id)` id). Sync (no module import — the packed manifest is
|
|
45
|
-
* read straight from `<dep>/dist/package/`). Unbuilt agent deps THROW.
|
|
46
|
-
*/
|
|
47
|
-
export declare function resolveDependencyAgents(): Map<string, DependencyAgent>;
|
|
48
|
-
export {};
|
|
8
|
+
export declare function resolveDefaultSoftware(): SoftwarePackageRef[];
|
package/dist/default-software.js
CHANGED
|
@@ -1,93 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { createRequire } from "node:module";
|
|
3
|
-
import { dirname, join } from "node:path";
|
|
4
|
-
import { fileURLToPath } from "node:url";
|
|
5
|
-
const PACKAGE_ROOT = join(dirname(fileURLToPath(import.meta.url)), "..");
|
|
6
|
-
const requireFromHere = createRequire(import.meta.url);
|
|
7
|
-
const BUILD_INSTRUCTIONS = "With file-linked deps, build the registry in the sibling secure-exec " +
|
|
8
|
-
"checkout: `just registry-build` (see its registry/README.md).";
|
|
9
|
-
function dependencyNames() {
|
|
10
|
-
const manifest = JSON.parse(readFileSync(join(PACKAGE_ROOT, "package.json"), "utf8"));
|
|
11
|
-
return Object.keys(manifest.dependencies ?? {})
|
|
12
|
-
.filter((name) => name.startsWith("@agentos-software/"))
|
|
13
|
-
.sort();
|
|
14
|
-
}
|
|
15
|
-
function descriptorDir(ref) {
|
|
16
|
-
return typeof ref === "string" ? ref : ref.packageDir;
|
|
17
|
-
}
|
|
18
|
-
function readPackedManifest(dir) {
|
|
19
|
-
const path = join(dir, "agentos-package.json");
|
|
20
|
-
if (!existsSync(path))
|
|
21
|
-
return undefined;
|
|
22
|
-
try {
|
|
23
|
-
return JSON.parse(readFileSync(path, "utf8"));
|
|
24
|
-
}
|
|
25
|
-
catch {
|
|
26
|
-
return undefined;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
function assertBuilt(name, dir) {
|
|
30
|
-
if (!existsSync(join(dir, "package.json"))) {
|
|
31
|
-
throw new Error(`software package ${name} is not BUILT (missing ${dir}). ${BUILD_INSTRUCTIONS}`);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* The default (non-agent) software set: every `@agentos-software/*`
|
|
36
|
-
* dependency's descriptor(s) whose packed manifest has no `agent` entry.
|
|
37
|
-
* Library deps (e.g. `@agentos-software/manifest`) export no descriptor and
|
|
38
|
-
* are skipped. Opt out with `AgentOs.create({ defaultSoftware: false })`.
|
|
39
|
-
*/
|
|
40
|
-
export async function resolveDefaultSoftware() {
|
|
41
|
-
const software = [];
|
|
42
|
-
for (const name of dependencyNames()) {
|
|
43
|
-
let mod;
|
|
44
|
-
try {
|
|
45
|
-
mod = (await import(name));
|
|
46
|
-
}
|
|
47
|
-
catch (error) {
|
|
48
|
-
throw new Error(`software package ${name} could not be imported — run \`pnpm install\` ` +
|
|
49
|
-
`(it is a dependency of this package): ${String(error)}`);
|
|
50
|
-
}
|
|
51
|
-
if (mod.default === undefined)
|
|
52
|
-
continue; // library dep, not software
|
|
53
|
-
for (const descriptor of [mod.default].flat()) {
|
|
54
|
-
const dir = descriptorDir(descriptor);
|
|
55
|
-
assertBuilt(name, dir);
|
|
56
|
-
if (readPackedManifest(dir)?.agent)
|
|
57
|
-
continue; // agents load lazily
|
|
58
|
-
software.push(descriptor);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return software;
|
|
62
|
-
}
|
|
1
|
+
import common from "@agentos-software/common";
|
|
63
2
|
/**
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
3
|
+
* Default software for a bare `AgentOs.create()`: the `@agentos-software/common`
|
|
4
|
+
* coreutils bundle, imported like any other package. The client makes NO
|
|
5
|
+
* npm/node_modules assumptions (see root CLAUDE.md) — no dep scan, no
|
|
6
|
+
* require.resolve. Opt out with `defaultSoftware: false`; add more via `software`.
|
|
67
7
|
*/
|
|
68
|
-
export function
|
|
69
|
-
|
|
70
|
-
for (const name of dependencyNames()) {
|
|
71
|
-
let entry;
|
|
72
|
-
try {
|
|
73
|
-
entry = requireFromHere.resolve(name); // -> <pkg>/dist/index.js
|
|
74
|
-
}
|
|
75
|
-
catch {
|
|
76
|
-
continue; // not installed — surfaced by resolveDefaultSoftware/import paths
|
|
77
|
-
}
|
|
78
|
-
const dir = join(dirname(entry), "package");
|
|
79
|
-
const manifest = readPackedManifest(dir);
|
|
80
|
-
if (!manifest?.agent)
|
|
81
|
-
continue;
|
|
82
|
-
if (!manifest.name || !manifest.agent.acpEntrypoint) {
|
|
83
|
-
throw new Error(`agent package ${name} has an invalid packed manifest (${dir}/agentos-package.json) — rebuild it (\`just registry-build\`)`);
|
|
84
|
-
}
|
|
85
|
-
assertBuilt(name, dir);
|
|
86
|
-
agents.set(manifest.name, {
|
|
87
|
-
dependency: name,
|
|
88
|
-
packageDir: dir,
|
|
89
|
-
acpEntrypoint: manifest.agent.acpEntrypoint,
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
return agents;
|
|
8
|
+
export function resolveDefaultSoftware() {
|
|
9
|
+
return [common].flat();
|
|
93
10
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { JsRuntimeConfig } from "./JsRuntimeConfig.js";
|
|
2
|
+
import type { NativeRootFilesystemConfig } from "./NativeRootFilesystemConfig.js";
|
|
3
|
+
import type { PermissionsPolicy } from "./PermissionsPolicy.js";
|
|
4
|
+
import type { RootFilesystemConfig } from "./RootFilesystemConfig.js";
|
|
5
|
+
import type { VmDnsConfig } from "./VmDnsConfig.js";
|
|
6
|
+
import type { VmLimitsConfig } from "./VmLimitsConfig.js";
|
|
7
|
+
import type { VmListenPolicyConfig } from "./VmListenPolicyConfig.js";
|
|
8
|
+
/**
|
|
9
|
+
* Canonical Rust-side VM config. Unknown fields must stay rejected here and in
|
|
10
|
+
* the TS preflight schema at
|
|
11
|
+
* `packages/core/src/node-runtime-options-schema.ts`; update both when a
|
|
12
|
+
* public `NodeRuntime.create(...)` option changes the generated VM config.
|
|
13
|
+
*/
|
|
14
|
+
export type CreateVmConfig = {
|
|
15
|
+
cwd?: string;
|
|
16
|
+
env: Record<string, string>;
|
|
17
|
+
rootFilesystem: RootFilesystemConfig;
|
|
18
|
+
permissions?: PermissionsPolicy;
|
|
19
|
+
limits?: VmLimitsConfig;
|
|
20
|
+
dns?: VmDnsConfig;
|
|
21
|
+
nativeRoot?: NativeRootFilesystemConfig;
|
|
22
|
+
listen?: VmListenPolicyConfig;
|
|
23
|
+
loopbackExemptPorts: Array<number>;
|
|
24
|
+
jsRuntime?: JsRuntimeConfig;
|
|
25
|
+
bootstrapCommands?: Array<string>;
|
|
26
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type JsModuleResolution = "node" | "relative" | "none";
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { JsModuleResolution } from "./JsModuleResolution.js";
|
|
2
|
+
import type { JsRuntimePlatform } from "./JsRuntimePlatform.js";
|
|
3
|
+
/**
|
|
4
|
+
* Guest JavaScript host-environment configuration.
|
|
5
|
+
*
|
|
6
|
+
* Selects which globals/builtins/module-resolution surface guest JS sees,
|
|
7
|
+
* modeled on esbuild's `platform`. Omitting this preserves full Node.js
|
|
8
|
+
* emulation (`platform = node`).
|
|
9
|
+
*/
|
|
10
|
+
export type JsRuntimeConfig = {
|
|
11
|
+
/**
|
|
12
|
+
* Which host environment to emulate for guest JS. Default `node`.
|
|
13
|
+
*/
|
|
14
|
+
platform: JsRuntimePlatform;
|
|
15
|
+
/**
|
|
16
|
+
* How bare import specifiers resolve. Independent of `platform`.
|
|
17
|
+
* Default `node`.
|
|
18
|
+
*/
|
|
19
|
+
moduleResolution: JsModuleResolution;
|
|
20
|
+
/**
|
|
21
|
+
* Node builtin-module allow-list. Only valid when `platform = node`.
|
|
22
|
+
* `None` => engine default allow-list. `Some([])` => deny all builtins.
|
|
23
|
+
* `Some([..])` => exactly those.
|
|
24
|
+
*/
|
|
25
|
+
allowedBuiltins?: Array<string>;
|
|
26
|
+
/**
|
|
27
|
+
* Opt in to a high-resolution monotonic guest clock. Default false keeps
|
|
28
|
+
* the security-oriented 1ms timer resolution.
|
|
29
|
+
*/
|
|
30
|
+
highResolutionTime?: boolean;
|
|
31
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type JsRuntimeLimitsConfig = {
|
|
2
|
+
v8HeapLimitMb?: number;
|
|
3
|
+
syncRpcWaitTimeoutMs?: number;
|
|
4
|
+
cpuTimeLimitMs?: number;
|
|
5
|
+
wallClockLimitMs?: number;
|
|
6
|
+
importCacheMaterializeTimeoutMs?: number;
|
|
7
|
+
capturedOutputLimitBytes?: number;
|
|
8
|
+
stdinBufferLimitBytes?: number;
|
|
9
|
+
eventPayloadLimitBytes?: number;
|
|
10
|
+
v8IpcMaxFrameBytes?: number;
|
|
11
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type JsRuntimePlatform = "node" | "browser" | "neutral" | "bare";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type PermissionMode = "allow" | "ask" | "deny";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FsPermissionScope } from "./FsPermissionScope.js";
|
|
2
|
+
import type { PatternPermissionScope } from "./PatternPermissionScope.js";
|
|
3
|
+
export type PermissionsPolicy = {
|
|
4
|
+
fs?: FsPermissionScope;
|
|
5
|
+
network?: PatternPermissionScope;
|
|
6
|
+
childProcess?: PatternPermissionScope;
|
|
7
|
+
process?: PatternPermissionScope;
|
|
8
|
+
env?: PatternPermissionScope;
|
|
9
|
+
binding?: PatternPermissionScope;
|
|
10
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type ResourceLimitsConfig = {
|
|
2
|
+
cpuCount?: number;
|
|
3
|
+
maxProcesses?: number;
|
|
4
|
+
maxOpenFds?: number;
|
|
5
|
+
maxPipes?: number;
|
|
6
|
+
maxPtys?: number;
|
|
7
|
+
maxSockets?: number;
|
|
8
|
+
maxConnections?: number;
|
|
9
|
+
maxSocketBufferedBytes?: number;
|
|
10
|
+
maxSocketDatagramQueueLen?: number;
|
|
11
|
+
maxFilesystemBytes?: number;
|
|
12
|
+
maxInodeCount?: number;
|
|
13
|
+
maxBlockingReadMs?: number;
|
|
14
|
+
maxPreadBytes?: number;
|
|
15
|
+
maxFdWriteBytes?: number;
|
|
16
|
+
maxProcessArgvBytes?: number;
|
|
17
|
+
maxProcessEnvBytes?: number;
|
|
18
|
+
maxReaddirEntries?: number;
|
|
19
|
+
maxRecursiveFsDepth?: number;
|
|
20
|
+
maxRecursiveFsEntries?: number;
|
|
21
|
+
maxWasmFuel?: number;
|
|
22
|
+
maxWasmMemoryBytes?: number;
|
|
23
|
+
maxWasmStackBytes?: number;
|
|
24
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RootFilesystemEntry } from "./RootFilesystemEntry.js";
|
|
2
|
+
import type { RootFilesystemLowerDescriptor } from "./RootFilesystemLowerDescriptor.js";
|
|
3
|
+
import type { RootFilesystemMode } from "./RootFilesystemMode.js";
|
|
4
|
+
export type RootFilesystemConfig = {
|
|
5
|
+
mode: RootFilesystemMode;
|
|
6
|
+
disableDefaultBaseLayer: boolean;
|
|
7
|
+
lowers: Array<RootFilesystemLowerDescriptor>;
|
|
8
|
+
bootstrapEntries: Array<RootFilesystemEntry>;
|
|
9
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { RootFilesystemEntryEncoding } from "./RootFilesystemEntryEncoding.js";
|
|
2
|
+
import type { RootFilesystemEntryKind } from "./RootFilesystemEntryKind.js";
|
|
3
|
+
export type RootFilesystemEntry = {
|
|
4
|
+
path: string;
|
|
5
|
+
kind: RootFilesystemEntryKind;
|
|
6
|
+
mode?: number;
|
|
7
|
+
uid?: number;
|
|
8
|
+
gid?: number;
|
|
9
|
+
content?: string;
|
|
10
|
+
encoding?: RootFilesystemEntryEncoding;
|
|
11
|
+
target?: string;
|
|
12
|
+
executable: boolean;
|
|
13
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type RootFilesystemEntryEncoding = "utf8" | "base64";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type RootFilesystemEntryKind = "file" | "directory" | "symlink";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type RootFilesystemMode = "ephemeral" | "read-only";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type ToolLimitsConfig = {
|
|
2
|
+
defaultToolTimeoutMs?: number;
|
|
3
|
+
maxToolTimeoutMs?: number;
|
|
4
|
+
maxRegisteredToolkits?: number;
|
|
5
|
+
maxRegisteredToolsPerVm?: number;
|
|
6
|
+
maxToolsPerToolkit?: number;
|
|
7
|
+
maxToolSchemaBytes?: number;
|
|
8
|
+
maxToolExamplesPerTool?: number;
|
|
9
|
+
maxToolExampleInputBytes?: number;
|
|
10
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AcpLimitsConfig } from "./AcpLimitsConfig.js";
|
|
2
|
+
import type { HttpLimitsConfig } from "./HttpLimitsConfig.js";
|
|
3
|
+
import type { JsRuntimeLimitsConfig } from "./JsRuntimeLimitsConfig.js";
|
|
4
|
+
import type { PluginLimitsConfig } from "./PluginLimitsConfig.js";
|
|
5
|
+
import type { PythonLimitsConfig } from "./PythonLimitsConfig.js";
|
|
6
|
+
import type { ResourceLimitsConfig } from "./ResourceLimitsConfig.js";
|
|
7
|
+
import type { ToolLimitsConfig } from "./ToolLimitsConfig.js";
|
|
8
|
+
import type { WasmLimitsConfig } from "./WasmLimitsConfig.js";
|
|
9
|
+
export type VmLimitsConfig = {
|
|
10
|
+
resources?: ResourceLimitsConfig;
|
|
11
|
+
http?: HttpLimitsConfig;
|
|
12
|
+
tools?: ToolLimitsConfig;
|
|
13
|
+
plugins?: PluginLimitsConfig;
|
|
14
|
+
acp?: AcpLimitsConfig;
|
|
15
|
+
jsRuntime?: JsRuntimeLimitsConfig;
|
|
16
|
+
python?: PythonLimitsConfig;
|
|
17
|
+
wasm?: WasmLimitsConfig;
|
|
18
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/host-dir-mount.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MountConfigJsonObject, NativeMountPluginDescriptor } from "@
|
|
1
|
+
import type { MountConfigJsonObject, NativeMountPluginDescriptor } from "@rivet-dev/agentos-runtime-core/descriptors";
|
|
2
2
|
export interface HostDirBackendOptions {
|
|
3
3
|
/** Absolute path to the host directory to project into the VM. */
|
|
4
4
|
hostPath: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export { AgentOs, AgentOsSidecar } from "./agent-os.js";
|
|
2
|
-
export { AGENT_CONFIGS } from "./agents.js";
|
|
3
2
|
export { CronManager, InvalidScheduleError, PastScheduleError, TimerScheduleDriver, } from "./cron/index.js";
|
|
4
3
|
export { createHostDirBackend, nodeModulesMount } from "./host-dir-mount.js";
|
|
5
4
|
export { hostTool, MAX_TOOL_DESCRIPTION_LENGTH, toolKit, validateToolkits, } from "./host-tools.js";
|