@rivet-dev/agentos-core 0.0.0-codex-actor-plugin-contract-coverage.115ca8a → 0.0.0-eve-integration.9df6f34

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 (58) hide show
  1. package/README.md +41 -38
  2. package/dist/agent-os.d.ts +196 -232
  3. package/dist/agent-os.js +771 -1162
  4. package/dist/agentos-package.d.ts +5 -3
  5. package/dist/agentos-package.js +5 -2
  6. package/dist/{host-tools-zod.d.ts → bindings-zod.d.ts} +1 -1
  7. package/dist/{host-tools-zod.js → bindings-zod.js} +27 -20
  8. package/dist/bindings.d.ts +43 -0
  9. package/dist/bindings.js +34 -0
  10. package/dist/cron/cron-manager.js +43 -10
  11. package/dist/cron/index.d.ts +1 -1
  12. package/dist/cron/types.d.ts +25 -9
  13. package/dist/filesystem-snapshot.d.ts +1 -2
  14. package/dist/filesystem-snapshot.js +0 -43
  15. package/dist/generated/AcpLimitsConfig.d.ts +16 -0
  16. package/dist/generated/BindingLimitsConfig.d.ts +10 -0
  17. package/dist/generated/CreateVmConfig.d.ts +2 -0
  18. package/dist/generated/ProcessLimitsConfig.d.ts +7 -0
  19. package/dist/generated/ProcessLimitsConfig.js +2 -0
  20. package/dist/generated/VmGroupConfig.d.ts +5 -0
  21. package/dist/generated/VmGroupConfig.js +2 -0
  22. package/dist/generated/VmLimitsConfig.d.ts +4 -2
  23. package/dist/generated/VmUserAccountConfig.d.ts +9 -0
  24. package/dist/generated/VmUserAccountConfig.js +2 -0
  25. package/dist/generated/VmUserConfig.d.ts +19 -0
  26. package/dist/generated/WasmLimitsConfig.d.ts +1 -0
  27. package/dist/index.d.ts +4 -5
  28. package/dist/index.js +4 -5
  29. package/dist/layers.d.ts +5 -2
  30. package/dist/layers.js +0 -185
  31. package/dist/options-schema.d.ts +133 -31
  32. package/dist/options-schema.js +143 -26
  33. package/dist/runtime-compat.d.ts +11 -37
  34. package/dist/runtime-compat.js +88 -376
  35. package/dist/runtime.d.ts +10 -3
  36. package/dist/sandbox.d.ts +4 -4
  37. package/dist/sandbox.js +4 -4
  38. package/dist/session-api.d.ts +180 -0
  39. package/dist/session-api.js +1 -0
  40. package/dist/sidecar/agentos-protocol.d.ts +429 -29
  41. package/dist/sidecar/agentos-protocol.js +691 -93
  42. package/dist/sidecar/native-process-client.d.ts +1 -1
  43. package/dist/sidecar/native-process-client.js +1 -1
  44. package/dist/sidecar/rpc-client.d.ts +40 -6
  45. package/dist/sidecar/rpc-client.js +126 -38
  46. package/dist/test/runtime.d.ts +2 -1
  47. package/dist/test/runtime.js +2 -1
  48. package/dist/test/terminal-harness.js +0 -3
  49. package/dist/types.d.ts +4 -5
  50. package/package.json +29 -28
  51. package/dist/agent-session-types.d.ts +0 -67
  52. package/dist/generated/ToolLimitsConfig.d.ts +0 -10
  53. package/dist/host-tools.d.ts +0 -45
  54. package/dist/host-tools.js +0 -35
  55. package/dist/overlay-filesystem.d.ts +0 -19
  56. package/dist/overlay-filesystem.js +0 -645
  57. /package/dist/generated/{ToolLimitsConfig.js → BindingLimitsConfig.js} +0 -0
  58. /package/dist/{agent-session-types.js → generated/VmUserConfig.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rivet-dev/agentos-core",
3
- "version": "0.0.0-codex-actor-plugin-contract-coverage.115ca8a",
3
+ "version": "0.0.0-eve-integration.9df6f34",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/index.js",
@@ -46,24 +46,27 @@
46
46
  }
47
47
  },
48
48
  "scripts": {
49
- "check-types": "pnpm run build:protocols && tsc --noEmit",
49
+ "check-types": "pnpm run build:protocols && tsc --noEmit && tsc -p tsconfig.type-tests.json",
50
50
  "build": "pnpm run build:protocols && tsc",
51
51
  "build:agentos-protocol": "node ./scripts/compile-agentos-protocol.mjs",
52
52
  "build:protocols": "pnpm run build:agentos-protocol",
53
- "test": "vitest run --reporter=verbose"
53
+ "test": "vitest run --exclude '**/*.nightly.test.ts' --reporter=verbose",
54
+ "test:unit": "vitest run tests/agent-exit-event.test.ts tests/agentos-package.test.ts tests/agentos-protocol.test.ts tests/allowed-node-builtins.test.ts tests/bindings-zod.test.ts tests/bindings.test.ts tests/cron-manager.test.ts tests/cron-timer-driver.test.ts tests/generated-protocol.test.ts tests/leak-agent-os-processes.test.ts tests/leak-rpc-client.test.ts tests/mount-descriptors.test.ts tests/mount-reconfigure.test.ts tests/options-schema.test.ts tests/public-api-exports.test.ts tests/root-filesystem-descriptors.test.ts tests/runtime-compat-mount.test.ts tests/session-event-ordering.test.ts tests/session-permission-surface.test.ts tests/sidecar-client.test.ts tests/sidecar-permission-descriptors.test.ts tests/wasm-permission-tiers.test.ts --fileParallelism=false",
55
+ "test:pr": "pnpm test:unit && vitest run tests/migration-parity.test.ts --fileParallelism=false --reporter=verbose",
56
+ "test:nightly": "vitest run tests/*.nightly.test.ts --reporter=verbose --passWithNoTests"
54
57
  },
55
58
  "dependencies": {
56
- "@agentos-software/claude-code": "0.0.0-codex-actor-plugin-contract-coverage.115ca8a",
57
- "@agentos-software/codex-cli": "0.3.3",
58
- "@agentos-software/common": "0.0.0-codex-actor-plugin-contract-coverage.115ca8a",
59
- "@agentos-software/manifest": "0.0.0-codex-actor-plugin-contract-coverage.115ca8a",
60
- "@agentos-software/opencode": "0.0.0-codex-actor-plugin-contract-coverage.115ca8a",
61
- "@agentos-software/pi": "0.0.0-codex-actor-plugin-contract-coverage.115ca8a",
62
- "@agentos-software/pi-cli": "0.0.0-codex-actor-plugin-contract-coverage.115ca8a",
59
+ "@agentclientprotocol/sdk": "0.16.1",
60
+ "@agentos-software/claude-code": "0.2.7",
61
+ "@agentos-software/codex-cli": "0.3.4",
62
+ "@agentos-software/common": "0.0.0-eve-integration.9df6f34",
63
+ "@agentos-software/manifest": "0.0.0-eve-integration.9df6f34",
64
+ "@agentos-software/opencode": "0.2.7",
65
+ "@agentos-software/pi": "0.2.7",
63
66
  "@aws-sdk/client-s3": "^3.1019.0",
64
- "@rivet-dev/agentos-sidecar": "0.0.0-codex-actor-plugin-contract-coverage.115ca8a",
67
+ "@rivet-dev/agentos-sidecar": "0.0.0-eve-integration.9df6f34",
65
68
  "@rivetkit/bare-ts": "^0.6.2",
66
- "@rivet-dev/agentos-runtime-core": "0.0.0-codex-actor-plugin-contract-coverage.115ca8a",
69
+ "@rivet-dev/agentos-runtime-core": "0.0.0-eve-integration.9df6f34",
67
70
  "@xterm/headless": "^6.0.0",
68
71
  "better-sqlite3": "^12.8.0",
69
72
  "croner": "^10.0.1",
@@ -75,30 +78,30 @@
75
78
  "zod-to-json-schema": "^3.25.2"
76
79
  },
77
80
  "devDependencies": {
78
- "@agentos-software/claude-code": "0.0.0-codex-actor-plugin-contract-coverage.115ca8a",
79
- "@agentos-software/codex": "0.0.0-codex-actor-plugin-contract-coverage.115ca8a",
80
- "@agentos-software/coreutils": "0.3.3",
81
+ "@agentos-software/claude-code": "0.2.7",
82
+ "@agentos-software/codex": "0.2.7",
83
+ "@agentos-software/coreutils": "0.3.4",
81
84
  "@agentos-software/curl": "0.3.3",
82
- "@agentos-software/diffutils": "0.3.3",
85
+ "@agentos-software/diffutils": "0.3.4",
83
86
  "@agentos-software/duckdb": "0.3.3",
84
87
  "@agentos-software/fd": "0.3.3",
85
88
  "@agentos-software/file": "0.3.3",
86
- "@agentos-software/findutils": "0.3.3",
87
- "@agentos-software/gawk": "0.3.3",
89
+ "@agentos-software/findutils": "0.3.4",
90
+ "@agentos-software/gawk": "0.3.4",
88
91
  "@agentos-software/git": "0.3.3",
89
- "@agentos-software/grep": "0.3.3",
90
- "@agentos-software/gzip": "0.3.3",
91
- "@agentos-software/http-get": "0.3.3",
92
+ "@agentos-software/grep": "0.3.4",
93
+ "@agentos-software/gzip": "0.3.4",
92
94
  "@agentos-software/jq": "0.3.3",
93
- "@agentos-software/opencode": "0.0.0-codex-actor-plugin-contract-coverage.115ca8a",
94
- "@agentos-software/pi": "0.0.0-codex-actor-plugin-contract-coverage.115ca8a",
95
- "@agentos-software/pi-cli": "0.0.0-codex-actor-plugin-contract-coverage.115ca8a",
95
+ "@agentos-software/opencode": "0.2.7",
96
+ "@agentos-software/pi": "0.2.7",
96
97
  "@agentos-software/ripgrep": "0.3.3",
97
- "@agentos-software/sed": "0.3.3",
98
- "@agentos-software/tar": "0.3.3",
98
+ "@agentos-software/sed": "0.3.4",
99
+ "@agentos-software/tar": "0.3.4",
99
100
  "@agentos-software/tree": "0.3.3",
100
101
  "@agentos-software/vim": "0.3.3",
102
+ "@agentos-software/wget": "0.3.3",
101
103
  "@agentos-software/yq": "0.3.3",
104
+ "@rivet-dev/agentos-test-harness": "0.0.0-eve-integration.9df6f34",
102
105
  "@anthropic-ai/claude-agent-sdk": "^0.2.87",
103
106
  "@anthropic-ai/claude-code": "^2.1.86",
104
107
  "@bare-ts/tools": "0.15.0",
@@ -106,9 +109,7 @@
106
109
  "@browserbasehq/cli": "0.5.4",
107
110
  "@browserbasehq/sdk": "2.10.0",
108
111
  "@copilotkit/llmock": "^1.6.0",
109
- "@mariozechner/pi-coding-agent": "^0.60.0",
110
112
  "@types/node": "^22.10.2",
111
- "pi-acp": "^0.0.23",
112
113
  "sandbox-agent": "^0.4.2",
113
114
  "typescript": "^5.7.2",
114
115
  "vitest": "^2.1.8",
@@ -1,67 +0,0 @@
1
- import type { JsonRpcNotification } from "./json-rpc.js";
2
- export type SessionEventHandler = (event: JsonRpcNotification) => void;
3
- export interface PermissionRequest {
4
- permissionId: string;
5
- description?: string;
6
- params: Record<string, unknown>;
7
- }
8
- export type PermissionReply = "once" | "always" | "reject";
9
- export type PermissionRequestHandler = (request: PermissionRequest) => void;
10
- export interface SessionMode {
11
- id: string;
12
- name?: string;
13
- label?: string;
14
- description?: string;
15
- [key: string]: unknown;
16
- }
17
- export interface SessionModeState {
18
- currentModeId: string;
19
- availableModes: SessionMode[];
20
- }
21
- export interface SessionConfigOption {
22
- id: string;
23
- category?: string;
24
- label?: string;
25
- description?: string;
26
- currentValue?: string;
27
- allowedValues?: Array<{
28
- id: string;
29
- label?: string;
30
- }>;
31
- readOnly?: boolean;
32
- }
33
- export interface PromptCapabilities {
34
- audio?: boolean;
35
- embeddedContext?: boolean;
36
- image?: boolean;
37
- [key: string]: unknown;
38
- }
39
- export interface AgentCapabilities {
40
- permissions?: boolean;
41
- plan_mode?: boolean;
42
- questions?: boolean;
43
- tool_calls?: boolean;
44
- text_messages?: boolean;
45
- images?: boolean;
46
- file_attachments?: boolean;
47
- session_lifecycle?: boolean;
48
- error_events?: boolean;
49
- reasoning?: boolean;
50
- status?: boolean;
51
- streaming_deltas?: boolean;
52
- mcp_tools?: boolean;
53
- promptCapabilities?: PromptCapabilities;
54
- [key: string]: unknown;
55
- }
56
- export interface AgentInfo {
57
- name: string;
58
- title?: string;
59
- version?: string;
60
- [key: string]: unknown;
61
- }
62
- export interface SessionInitData {
63
- modes?: SessionModeState;
64
- configOptions?: SessionConfigOption[];
65
- capabilities?: AgentCapabilities;
66
- agentInfo?: AgentInfo;
67
- }
@@ -1,10 +0,0 @@
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
- };
@@ -1,45 +0,0 @@
1
- import type { ZodType } from "zod";
2
- /** Maximum length for tool and toolkit descriptions (characters). */
3
- export declare const MAX_TOOL_DESCRIPTION_LENGTH = 200;
4
- /**
5
- * A single tool that executes on the host.
6
- * Mirrors the shape of AI SDK's tool() but with host-execution semantics.
7
- */
8
- export interface HostTool<INPUT = any, OUTPUT = any> {
9
- /** Description shown to the agent in --help and prompt docs. Max 200 characters. */
10
- description: string;
11
- /** Zod schema for the input. Drives CLI flag generation and validation. */
12
- inputSchema: ZodType<INPUT>;
13
- /** Runs on the host when the agent invokes the tool. */
14
- execute: (input: INPUT) => Promise<OUTPUT> | OUTPUT;
15
- /** Examples included in auto-generated prompt docs. */
16
- examples?: ToolExample<INPUT>[];
17
- /** Timeout in ms. Default: 30000. */
18
- timeout?: number;
19
- }
20
- export interface ToolExample<INPUT = any> {
21
- /** Human description of what this example does. */
22
- description: string;
23
- /** The input args for the example. */
24
- input: INPUT;
25
- }
26
- /**
27
- * A named group of tools. Becomes a CLI binary: agentos-{name}.
28
- */
29
- export interface ToolKit {
30
- /** Toolkit name. Must be lowercase alphanumeric + hyphens. Becomes the CLI suffix: agentos-{name}. */
31
- name: string;
32
- /** Description shown in `agentos list-tools` and prompt docs. */
33
- description: string;
34
- /** The tools in this toolkit. Keys become subcommands. */
35
- tools: Record<string, HostTool>;
36
- }
37
- /** Helper to create a HostTool with type inference. */
38
- export declare function hostTool<INPUT, OUTPUT>(def: HostTool<INPUT, OUTPUT>): HostTool<INPUT, OUTPUT>;
39
- /** Helper to create a ToolKit. */
40
- export declare function toolKit(def: ToolKit): ToolKit;
41
- /**
42
- * Validate all description lengths in the given toolkits.
43
- * Throws if any toolkit or tool description exceeds MAX_TOOL_DESCRIPTION_LENGTH.
44
- */
45
- export declare function validateToolkits(toolKits: ToolKit[]): void;
@@ -1,35 +0,0 @@
1
- /** Maximum length for tool and toolkit descriptions (characters). */
2
- export const MAX_TOOL_DESCRIPTION_LENGTH = 200;
3
- /** Helper to create a HostTool with type inference. */
4
- export function hostTool(def) {
5
- return def;
6
- }
7
- /** Helper to create a ToolKit. */
8
- export function toolKit(def) {
9
- return def;
10
- }
11
- const TOOLKIT_COMMAND_NAME_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
12
- function validateToolCommandName(kind, name) {
13
- if (TOOLKIT_COMMAND_NAME_RE.test(name)) {
14
- return;
15
- }
16
- throw new Error(`${kind} name "${name}" must be lowercase alphanumeric with optional single hyphen separators`);
17
- }
18
- /**
19
- * Validate all description lengths in the given toolkits.
20
- * Throws if any toolkit or tool description exceeds MAX_TOOL_DESCRIPTION_LENGTH.
21
- */
22
- export function validateToolkits(toolKits) {
23
- for (const tk of toolKits) {
24
- validateToolCommandName("Toolkit", tk.name);
25
- if (tk.description.length > MAX_TOOL_DESCRIPTION_LENGTH) {
26
- throw new Error(`Toolkit "${tk.name}" description is ${tk.description.length} characters, max is ${MAX_TOOL_DESCRIPTION_LENGTH}`);
27
- }
28
- for (const [toolName, tool] of Object.entries(tk.tools)) {
29
- validateToolCommandName("Tool", toolName);
30
- if (tool.description.length > MAX_TOOL_DESCRIPTION_LENGTH) {
31
- throw new Error(`Tool "${tk.name}/${toolName}" description is ${tool.description.length} characters, max is ${MAX_TOOL_DESCRIPTION_LENGTH}`);
32
- }
33
- }
34
- }
35
- }
@@ -1,19 +0,0 @@
1
- /**
2
- * Overlay (copy-on-write) filesystem backend.
3
- *
4
- * Layers an optional writable upper filesystem over zero or more lower
5
- * filesystems. Reads resolve from highest precedence to lowest. Writes
6
- * go to the writable upper only, with copy-up and whiteout behavior.
7
- */
8
- import { type VirtualFileSystem } from "./runtime-compat.js";
9
- export interface OverlayBackendOptions {
10
- /** Legacy single lower layer. */
11
- lower?: VirtualFileSystem;
12
- /** Lower layers ordered highest-precedence first. */
13
- lowers?: VirtualFileSystem[];
14
- /** Writable upper layer. Defaults to a fresh in-memory filesystem in ephemeral mode. */
15
- upper?: VirtualFileSystem;
16
- /** Overlay mode. Defaults to ephemeral. */
17
- mode?: "ephemeral" | "read-only";
18
- }
19
- export declare function createOverlayBackend(options: OverlayBackendOptions): VirtualFileSystem;