@rivet-dev/agentos-core 0.2.5-rc.2 → 0.2.5-rc.4

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.
Files changed (93) hide show
  1. package/README.md +4 -4
  2. package/dist/agent-os.d.ts +25 -28
  3. package/dist/agent-os.js +129 -403
  4. package/dist/agentos-package.d.ts +3 -3
  5. package/dist/agentos-package.js +7 -1
  6. package/dist/cron/types.d.ts +1 -1
  7. package/dist/default-software.d.ts +6 -46
  8. package/dist/default-software.js +7 -90
  9. package/dist/generated/AcpLimitsConfig.d.ts +4 -0
  10. package/dist/generated/AcpLimitsConfig.js +2 -0
  11. package/dist/generated/CreateVmConfig.d.ts +26 -0
  12. package/dist/generated/CreateVmConfig.js +1 -0
  13. package/dist/generated/FsPermissionRule.d.ts +6 -0
  14. package/dist/generated/FsPermissionRule.js +1 -0
  15. package/dist/generated/FsPermissionRuleSet.d.ts +6 -0
  16. package/dist/generated/FsPermissionRuleSet.js +1 -0
  17. package/dist/generated/FsPermissionScope.d.ts +3 -0
  18. package/dist/generated/FsPermissionScope.js +1 -0
  19. package/dist/generated/HttpLimitsConfig.d.ts +3 -0
  20. package/dist/generated/HttpLimitsConfig.js +2 -0
  21. package/dist/generated/JsModuleResolution.d.ts +1 -0
  22. package/dist/generated/JsModuleResolution.js +2 -0
  23. package/dist/generated/JsRuntimeConfig.d.ts +31 -0
  24. package/dist/generated/JsRuntimeConfig.js +1 -0
  25. package/dist/generated/JsRuntimeLimitsConfig.d.ts +11 -0
  26. package/dist/generated/JsRuntimeLimitsConfig.js +2 -0
  27. package/dist/generated/JsRuntimePlatform.d.ts +1 -0
  28. package/dist/generated/JsRuntimePlatform.js +2 -0
  29. package/dist/generated/MountPluginDescriptor.d.ts +4 -0
  30. package/dist/generated/MountPluginDescriptor.js +2 -0
  31. package/dist/generated/NativeRootFilesystemConfig.d.ts +5 -0
  32. package/dist/generated/NativeRootFilesystemConfig.js +1 -0
  33. package/dist/generated/PatternPermissionRule.d.ts +6 -0
  34. package/dist/generated/PatternPermissionRule.js +1 -0
  35. package/dist/generated/PatternPermissionRuleSet.d.ts +6 -0
  36. package/dist/generated/PatternPermissionRuleSet.js +1 -0
  37. package/dist/generated/PatternPermissionScope.d.ts +3 -0
  38. package/dist/generated/PatternPermissionScope.js +1 -0
  39. package/dist/generated/PermissionMode.d.ts +1 -0
  40. package/dist/generated/PermissionMode.js +2 -0
  41. package/dist/generated/PermissionsPolicy.d.ts +10 -0
  42. package/dist/generated/PermissionsPolicy.js +1 -0
  43. package/dist/generated/PluginLimitsConfig.d.ts +4 -0
  44. package/dist/generated/PluginLimitsConfig.js +2 -0
  45. package/dist/generated/PythonLimitsConfig.d.ts +6 -0
  46. package/dist/generated/PythonLimitsConfig.js +2 -0
  47. package/dist/generated/ResourceLimitsConfig.d.ts +24 -0
  48. package/dist/generated/ResourceLimitsConfig.js +2 -0
  49. package/dist/generated/RootFilesystemConfig.d.ts +9 -0
  50. package/dist/generated/RootFilesystemConfig.js +1 -0
  51. package/dist/generated/RootFilesystemEntry.d.ts +13 -0
  52. package/dist/generated/RootFilesystemEntry.js +1 -0
  53. package/dist/generated/RootFilesystemEntryEncoding.d.ts +1 -0
  54. package/dist/generated/RootFilesystemEntryEncoding.js +2 -0
  55. package/dist/generated/RootFilesystemEntryKind.d.ts +1 -0
  56. package/dist/generated/RootFilesystemEntryKind.js +2 -0
  57. package/dist/generated/RootFilesystemLowerDescriptor.d.ts +7 -0
  58. package/dist/generated/RootFilesystemLowerDescriptor.js +1 -0
  59. package/dist/generated/RootFilesystemMode.d.ts +1 -0
  60. package/dist/generated/RootFilesystemMode.js +2 -0
  61. package/dist/generated/ToolLimitsConfig.d.ts +10 -0
  62. package/dist/generated/ToolLimitsConfig.js +2 -0
  63. package/dist/generated/VmDnsConfig.d.ts +6 -0
  64. package/dist/generated/VmDnsConfig.js +2 -0
  65. package/dist/generated/VmLimitsConfig.d.ts +18 -0
  66. package/dist/generated/VmLimitsConfig.js +1 -0
  67. package/dist/generated/VmListenPolicyConfig.d.ts +5 -0
  68. package/dist/generated/VmListenPolicyConfig.js +2 -0
  69. package/dist/generated/WasmLimitsConfig.d.ts +7 -0
  70. package/dist/generated/WasmLimitsConfig.js +2 -0
  71. package/dist/host-dir-mount.d.ts +1 -1
  72. package/dist/index.d.ts +0 -1
  73. package/dist/index.js +0 -1
  74. package/dist/options-schema.d.ts +14 -1
  75. package/dist/options-schema.js +27 -21
  76. package/dist/packages.d.ts +2 -2
  77. package/dist/packages.js +20 -6
  78. package/dist/runtime-compat.d.ts +17 -4
  79. package/dist/runtime-compat.js +51 -88
  80. package/dist/runtime.d.ts +27 -0
  81. package/dist/sandbox.d.ts +112 -0
  82. package/dist/sandbox.js +264 -0
  83. package/dist/sidecar/agentos-protocol.d.ts +27 -1
  84. package/dist/sidecar/agentos-protocol.js +77 -20
  85. package/dist/sidecar/native-process-client.d.ts +5 -4
  86. package/dist/sidecar/native-process-client.js +4 -4
  87. package/dist/sidecar/permissions.d.ts +1 -1
  88. package/dist/sidecar/rpc-client.d.ts +21 -2
  89. package/dist/sidecar/rpc-client.js +113 -41
  90. package/dist/types.d.ts +7 -1
  91. package/package.json +34 -35
  92. package/dist/agents.d.ts +0 -79
  93. 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 interface SoftwarePackageRef {
22
- packageDir: string;
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. */
@@ -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
- const manifest = { name: value.name };
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") {
@@ -1,5 +1,5 @@
1
1
  import type { CreateSessionOptions } from "../agent-os.js";
2
- import type { AgentType } from "../agents.js";
2
+ import type { AgentType } from "../types.js";
3
3
  export type CronAction = {
4
4
  type: "session";
5
5
  agentType: AgentType;
@@ -1,48 +1,8 @@
1
+ import type { SoftwarePackageRef } from "@agentos-software/manifest";
1
2
  /**
2
- * Default software + on-demand agents — FULLY DYNAMIC, no hardcoded lists.
3
- *
4
- * This package's own `@agentos-software/*` runtime dependencies (from
5
- * `dependencies`, never `devDependencies`) are the entire universe:
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
- /** A registry package descriptor: a package dir, or `{ packageDir }`. */
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[];
@@ -1,93 +1,10 @@
1
- import { existsSync, readFileSync } from "node:fs";
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
- * Agent packages among the dependencies, keyed by manifest `name` (the
65
- * `createSession(id)` id). Sync (no module import — the packed manifest is
66
- * read straight from `<dep>/dist/package/`). Unbuilt agent deps THROW.
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 resolveDependencyAgents() {
69
- const agents = new Map();
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,4 @@
1
+ export type AcpLimitsConfig = {
2
+ maxReadLineBytes?: number;
3
+ stdoutBufferByteLimit?: number;
4
+ };
@@ -0,0 +1,2 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ export {};
@@ -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,6 @@
1
+ import type { PermissionMode } from "./PermissionMode.js";
2
+ export type FsPermissionRule = {
3
+ mode: PermissionMode;
4
+ operations: Array<string>;
5
+ paths: Array<string>;
6
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import type { FsPermissionRule } from "./FsPermissionRule.js";
2
+ import type { PermissionMode } from "./PermissionMode.js";
3
+ export type FsPermissionRuleSet = {
4
+ default?: PermissionMode;
5
+ rules: Array<FsPermissionRule>;
6
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { FsPermissionRuleSet } from "./FsPermissionRuleSet.js";
2
+ import type { PermissionMode } from "./PermissionMode.js";
3
+ export type FsPermissionScope = PermissionMode | FsPermissionRuleSet;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export type HttpLimitsConfig = {
2
+ maxFetchResponseBytes?: number;
3
+ };
@@ -0,0 +1,2 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ export {};
@@ -0,0 +1 @@
1
+ export type JsModuleResolution = "node" | "relative" | "none";
@@ -0,0 +1,2 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ export {};
@@ -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,2 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ export {};
@@ -0,0 +1 @@
1
+ export type JsRuntimePlatform = "node" | "browser" | "neutral" | "bare";
@@ -0,0 +1,2 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ export {};
@@ -0,0 +1,4 @@
1
+ export type MountPluginDescriptor = {
2
+ id: string;
3
+ config: import("@rivet-dev/agentos-runtime-core/descriptors").MountConfigJsonValue;
4
+ };
@@ -0,0 +1,2 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { MountPluginDescriptor } from "./MountPluginDescriptor.js";
2
+ export type NativeRootFilesystemConfig = {
3
+ plugin: MountPluginDescriptor;
4
+ readOnly: boolean;
5
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import type { PermissionMode } from "./PermissionMode.js";
2
+ export type PatternPermissionRule = {
3
+ mode: PermissionMode;
4
+ operations: Array<string>;
5
+ patterns: Array<string>;
6
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import type { PatternPermissionRule } from "./PatternPermissionRule.js";
2
+ import type { PermissionMode } from "./PermissionMode.js";
3
+ export type PatternPermissionRuleSet = {
4
+ default?: PermissionMode;
5
+ rules: Array<PatternPermissionRule>;
6
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { PatternPermissionRuleSet } from "./PatternPermissionRuleSet.js";
2
+ import type { PermissionMode } from "./PermissionMode.js";
3
+ export type PatternPermissionScope = PermissionMode | PatternPermissionRuleSet;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type PermissionMode = "allow" | "ask" | "deny";
@@ -0,0 +1,2 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ export {};
@@ -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,4 @@
1
+ export type PluginLimitsConfig = {
2
+ maxPersistedManifestBytes?: number;
3
+ maxPersistedManifestFileBytes?: number;
4
+ };
@@ -0,0 +1,2 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ export {};
@@ -0,0 +1,6 @@
1
+ export type PythonLimitsConfig = {
2
+ outputBufferMaxBytes?: number;
3
+ executionTimeoutMs?: number;
4
+ maxOldSpaceMb?: number;
5
+ vfsRpcTimeoutMs?: number;
6
+ };
@@ -0,0 +1,2 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ 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,2 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ export {};
@@ -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,2 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ export {};
@@ -0,0 +1 @@
1
+ export type RootFilesystemEntryKind = "file" | "directory" | "symlink";
@@ -0,0 +1,2 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { RootFilesystemEntry } from "./RootFilesystemEntry.js";
2
+ export type RootFilesystemLowerDescriptor = {
3
+ "kind": "snapshot";
4
+ entries: Array<RootFilesystemEntry>;
5
+ } | {
6
+ "kind": "bundledBaseFilesystem";
7
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type RootFilesystemMode = "ephemeral" | "read-only";
@@ -0,0 +1,2 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ export {};
@@ -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,2 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ export {};
@@ -0,0 +1,6 @@
1
+ export type VmDnsConfig = {
2
+ nameServers: Array<string>;
3
+ overrides: {
4
+ [key in string]?: Array<string>;
5
+ };
6
+ };
@@ -0,0 +1,2 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ export {};
@@ -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 {};
@@ -0,0 +1,5 @@
1
+ export type VmListenPolicyConfig = {
2
+ portMin?: number;
3
+ portMax?: number;
4
+ allowPrivileged?: boolean;
5
+ };
@@ -0,0 +1,2 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ export {};
@@ -0,0 +1,7 @@
1
+ export type WasmLimitsConfig = {
2
+ maxModuleFileBytes?: number;
3
+ capturedOutputLimitBytes?: number;
4
+ syncReadLimitBytes?: number;
5
+ prewarmTimeoutMs?: number;
6
+ runnerHeapLimitMb?: number;
7
+ };
@@ -0,0 +1,2 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ export {};
@@ -1,4 +1,4 @@
1
- import type { MountConfigJsonObject, NativeMountPluginDescriptor } from "@secure-exec/core/descriptors";
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";