Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,19 @@ repository = "https://github.com/rivet-dev/agent-os"
# normal crates.io dependencies so CI/publish builds do not need a sibling
# checkout.
[workspace.dependencies]
agentos-bridge = { package = "secure-exec-bridge", path = "../secure-exec-convwasi/crates/bridge", version = "0.3.0-rc.1" }
agentos-bridge = { package = "secure-exec-bridge", path = "../secure-exec-perf-rules/crates/bridge", version = "0.3.0-rc.1" }
agentos-protocol = { path = "crates/agentos-protocol", version = "0.2.0-rc.3" }
agentos-sidecar-core = { path = "crates/agentos-sidecar-core", version = "0.2.0-rc.3" }
agentos-sidecar = { path = "crates/agentos-sidecar", version = "0.2.0-rc.3" }
agentos-sidecar-browser = { path = "crates/agentos-sidecar-browser", version = "0.2.0-rc.3" }
agentos-kernel = { package = "secure-exec-kernel", path = "../secure-exec-convwasi/crates/kernel", version = "0.3.0-rc.1" }
agentos-execution = { package = "secure-exec-execution", path = "../secure-exec-convwasi/crates/execution", version = "0.3.0-rc.1" }
agentos-v8-runtime = { package = "secure-exec-v8-runtime", path = "../secure-exec-convwasi/crates/v8-runtime", version = "0.3.0-rc.1" }
secure-exec-client = { path = "../secure-exec-convwasi/crates/secure-exec-client", version = "0.3.0-rc.1" }
secure-exec-bridge = { path = "../secure-exec-convwasi/crates/bridge", version = "0.3.0-rc.1" }
secure-exec-sidecar = { path = "../secure-exec-convwasi/crates/sidecar", version = "0.3.0-rc.1" }
agentos-kernel = { package = "secure-exec-kernel", path = "../secure-exec-perf-rules/crates/kernel", version = "0.3.0-rc.1" }
agentos-execution = { package = "secure-exec-execution", path = "../secure-exec-perf-rules/crates/execution", version = "0.3.0-rc.1" }
agentos-v8-runtime = { package = "secure-exec-v8-runtime", path = "../secure-exec-perf-rules/crates/v8-runtime", version = "0.3.0-rc.1" }
secure-exec-client = { path = "../secure-exec-perf-rules/crates/secure-exec-client", version = "0.3.0-rc.1" }
secure-exec-bridge = { path = "../secure-exec-perf-rules/crates/bridge", version = "0.3.0-rc.1" }
secure-exec-sidecar = { path = "../secure-exec-perf-rules/crates/sidecar", version = "0.3.0-rc.1" }
# LOCAL-DEV: unpublished converged browser crate from the convwasi link (web/wasm work).
secure-exec-sidecar-browser = { path = "../secure-exec-convwasi/crates/sidecar-browser", version = "0.3.0-rc.1" }
secure-exec-vm-config = { path = "../secure-exec-convwasi/crates/vm-config", version = "0.3.0-rc.1" }
secure-exec-sidecar-browser = { path = "../secure-exec-perf-rules/crates/sidecar-browser", version = "0.3.0-rc.1" }
secure-exec-vm-config = { path = "../secure-exec-perf-rules/crates/vm-config", version = "0.3.0-rc.1" }
vbare = "0.0.4"
vbare-compiler = { package = "rivet-vbare-compiler", version = "0.0.5" }
10 changes: 5 additions & 5 deletions examples/quickstart/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@
"sandbox-agent": "^0.4.2",
"dockerode": "^4.0.9",
"get-port": "^7.1.0",
"@agentos-software/git": "link:../../../secure-exec-convwasi/registry/software/git",
"@agentos-software/claude-code": "link:../../../secure-exec-convwasi/registry/agent/claude",
"@agentos-software/opencode": "link:../../../secure-exec-convwasi/registry/agent/opencode",
"@agentos-software/pi": "link:../../../secure-exec-convwasi/registry/agent/pi",
"@secure-exec/s3": "link:../../../secure-exec-convwasi/registry/file-system/s3",
"@agentos-software/git": "catalog:",
"@agentos-software/claude-code": "catalog:",
"@agentos-software/opencode": "catalog:",
"@agentos-software/pi": "catalog:",
"@secure-exec/s3": "catalog:",
"zod": "^4.1.11",
"@rivet-dev/agentos": "workspace:*",
"rivetkit": "0.0.0-feat-dylib-actor-plugin.c44621f"
Expand Down
10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@
"@copilotkit/llmock": "^1.6.0",
"@mariozechner/pi-coding-agent": "^0.60.0",
"@rivet-dev/agentos-core": "workspace:*",
"@agentos-software/claude-code": "link:../secure-exec-convwasi/registry/agent/claude",
"@agentos-software/codex": "link:../secure-exec-convwasi/registry/agent/codex",
"@agentos-software/common": "link:../secure-exec-convwasi/registry/software/common",
"@secure-exec/core": "link:../secure-exec-convwasi/packages/core",
"@agentos-software/pi": "link:../secure-exec-convwasi/registry/agent/pi",
"@agentos-software/claude-code": "catalog:",
"@agentos-software/codex": "catalog:",
"@agentos-software/common": "catalog:",
"@secure-exec/core": "link:../secure-exec-perf-rules/packages/core",
"@agentos-software/pi": "catalog:",
"@types/node": "^22.19.15",
"jszip": "^3.10.1",
"pdf-lib": "^1.17.1",
Expand Down
4 changes: 2 additions & 2 deletions packages/agentos-sandbox/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@
},
"dependencies": {
"@rivet-dev/agentos-core": "workspace:*",
"@secure-exec/sandbox": "link:../../../secure-exec-convwasi/registry/tool/sandbox",
"@secure-exec/sandbox": "link:../../../secure-exec-perf-rules/registry/tool/sandbox",
"sandbox-agent": "^0.4.2",
"zod": "^4.1.11"
},
"devDependencies": {
"@agentos-software/common": "link:../../../secure-exec-convwasi/registry/software/common",
"@agentos-software/common": "catalog:",
"@types/node": "^22.10.2",
"typescript": "^5.7.2",
"vitest": "^2.1.8"
Expand Down
2 changes: 1 addition & 1 deletion packages/agentos/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
"test": "vitest run"
},
"dependencies": {
"@agentos-software/common": "link:../../../secure-exec-convwasi/registry/software/common",
"@agentos-software/common": "catalog:",
"@rivet-dev/agentos-core": "workspace:*",
"@rivet-dev/agentos-sidecar": "workspace:*",
"@rivetkit/react": "0.0.0-feat-dylib-actor-plugin.c44621f",
Expand Down
4 changes: 2 additions & 2 deletions packages/browser/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@
"test": "pnpm check:converged-gates && pnpm build && vitest run tests/runtime-driver && pnpm run test:browser-wasm"
},
"dependencies": {
"@secure-exec/browser": "link:../../../secure-exec-convwasi/packages/browser",
"@secure-exec/core": "link:../../../secure-exec-convwasi/packages/core",
"@secure-exec/browser": "link:../../../secure-exec-perf-rules/packages/browser",
"@secure-exec/core": "link:../../../secure-exec-perf-rules/packages/core",
"sucrase": "^3.35.0"
},
"devDependencies": {
Expand Down
52 changes: 26 additions & 26 deletions packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,11 @@
"test": "vitest run --reporter=verbose"
},
"dependencies": {
"@agentos-software/common": "link:../../../secure-exec-convwasi/registry/software/common",
"@agentos-software/common": "catalog:",
"@aws-sdk/client-s3": "^3.1019.0",
"@rivet-dev/agentos-sidecar": "workspace:*",
"@rivetkit/bare-ts": "^0.6.2",
"@secure-exec/core": "link:../../../secure-exec-convwasi/packages/core",
"@secure-exec/core": "link:../../../secure-exec-perf-rules/packages/core",
"@xterm/headless": "^6.0.0",
"better-sqlite3": "^12.8.0",
"croner": "^10.0.1",
Expand All @@ -80,31 +80,31 @@
"@bare-ts/tools": "0.15.0",
"@copilotkit/llmock": "^1.6.0",
"@rivet-dev/agentos-sandbox": "link:../agentos-sandbox",
"@agentos-software/git": "link:../../../secure-exec-convwasi/registry/software/git",
"@secure-exec/google-drive": "link:../../../secure-exec-convwasi/registry/file-system/google-drive",
"@secure-exec/s3": "link:../../../secure-exec-convwasi/registry/file-system/s3",
"@agentos-software/git": "catalog:",
"@secure-exec/google-drive": "catalog:",
"@secure-exec/s3": "catalog:",
"@mariozechner/pi-coding-agent": "^0.60.0",
"@agentos-software/claude-code": "link:../../../secure-exec-convwasi/registry/agent/claude",
"@agentos-software/codex-cli": "link:../../../secure-exec-convwasi/registry/software/codex",
"@agentos-software/codex": "link:../../../secure-exec-convwasi/registry/agent/codex",
"@agentos-software/coreutils": "link:../../../secure-exec-convwasi/registry/software/coreutils",
"@agentos-software/curl": "link:../../../secure-exec-convwasi/registry/software/curl",
"@agentos-software/diffutils": "link:../../../secure-exec-convwasi/registry/software/diffutils",
"@agentos-software/fd": "link:../../../secure-exec-convwasi/registry/software/fd",
"@agentos-software/file": "link:../../../secure-exec-convwasi/registry/software/file",
"@agentos-software/findutils": "link:../../../secure-exec-convwasi/registry/software/findutils",
"@agentos-software/gawk": "link:../../../secure-exec-convwasi/registry/software/gawk",
"@agentos-software/grep": "link:../../../secure-exec-convwasi/registry/software/grep",
"@agentos-software/gzip": "link:../../../secure-exec-convwasi/registry/software/gzip",
"@agentos-software/jq": "link:../../../secure-exec-convwasi/registry/software/jq",
"@agentos-software/opencode": "link:../../../secure-exec-convwasi/registry/agent/opencode",
"@agentos-software/pi": "link:../../../secure-exec-convwasi/registry/agent/pi",
"@agentos-software/pi-cli": "link:../../../secure-exec-convwasi/registry/agent/pi-cli",
"@agentos-software/ripgrep": "link:../../../secure-exec-convwasi/registry/software/ripgrep",
"@agentos-software/sed": "link:../../../secure-exec-convwasi/registry/software/sed",
"@agentos-software/tar": "link:../../../secure-exec-convwasi/registry/software/tar",
"@agentos-software/tree": "link:../../../secure-exec-convwasi/registry/software/tree",
"@agentos-software/yq": "link:../../../secure-exec-convwasi/registry/software/yq",
"@agentos-software/claude-code": "catalog:",
"@agentos-software/codex-cli": "catalog:",
"@agentos-software/codex": "catalog:",
"@agentos-software/coreutils": "catalog:",
"@agentos-software/curl": "catalog:",
"@agentos-software/diffutils": "catalog:",
"@agentos-software/fd": "catalog:",
"@agentos-software/file": "catalog:",
"@agentos-software/findutils": "catalog:",
"@agentos-software/gawk": "catalog:",
"@agentos-software/grep": "catalog:",
"@agentos-software/gzip": "catalog:",
"@agentos-software/jq": "catalog:",
"@agentos-software/opencode": "catalog:",
"@agentos-software/pi": "catalog:",
"@agentos-software/pi-cli": "catalog:",
"@agentos-software/ripgrep": "catalog:",
"@agentos-software/sed": "catalog:",
"@agentos-software/tar": "catalog:",
"@agentos-software/tree": "catalog:",
"@agentos-software/yq": "catalog:",
"@types/node": "^22.10.2",
"pi-acp": "^0.0.23",
"sandbox-agent": "^0.4.2",
Expand Down
2 changes: 1 addition & 1 deletion packages/posix/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
},
"license": "Apache-2.0",
"dependencies": {
"@secure-exec/core": "link:../../../secure-exec-convwasi/packages/core"
"@secure-exec/core": "link:../../../secure-exec-perf-rules/packages/core"
},
"devDependencies": {
"@types/node": "^22.10.2",
Expand Down
2 changes: 1 addition & 1 deletion packages/python/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
"test": "pnpm build && vitest run --fileParallelism=false"
},
"dependencies": {
"@secure-exec/core": "link:../../../secure-exec-convwasi/packages/core",
"@secure-exec/core": "link:../../../secure-exec-perf-rules/packages/core",
"pyodide": "^0.28.3"
},
"peerDependencies": {
Expand Down
48 changes: 24 additions & 24 deletions packages/shell/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,30 +15,30 @@
},
"dependencies": {
"@rivet-dev/agentos-core": "workspace:*",
"@agentos-software/codex-cli": "link:../../../secure-exec-convwasi/registry/software/codex",
"@agentos-software/coreutils": "link:../../../secure-exec-convwasi/registry/software/coreutils",
"@agentos-software/curl": "link:../../../secure-exec-convwasi/registry/software/curl",
"@agentos-software/diffutils": "link:../../../secure-exec-convwasi/registry/software/diffutils",
"@agentos-software/duckdb": "link:../../../secure-exec-convwasi/registry/software/duckdb",
"@agentos-software/fd": "link:../../../secure-exec-convwasi/registry/software/fd",
"@agentos-software/file": "link:../../../secure-exec-convwasi/registry/software/file",
"@agentos-software/findutils": "link:../../../secure-exec-convwasi/registry/software/findutils",
"@agentos-software/gawk": "link:../../../secure-exec-convwasi/registry/software/gawk",
"@agentos-software/git": "link:../../../secure-exec-convwasi/registry/software/git",
"@agentos-software/grep": "link:../../../secure-exec-convwasi/registry/software/grep",
"@agentos-software/gzip": "link:../../../secure-exec-convwasi/registry/software/gzip",
"@agentos-software/http-get": "link:../../../secure-exec-convwasi/registry/software/http-get",
"@agentos-software/jq": "link:../../../secure-exec-convwasi/registry/software/jq",
"@agentos-software/make": "link:../../../secure-exec-convwasi/registry/software/make",
"@agentos-software/ripgrep": "link:../../../secure-exec-convwasi/registry/software/ripgrep",
"@agentos-software/sed": "link:../../../secure-exec-convwasi/registry/software/sed",
"@agentos-software/sqlite3": "link:../../../secure-exec-convwasi/registry/software/sqlite3",
"@agentos-software/tar": "link:../../../secure-exec-convwasi/registry/software/tar",
"@agentos-software/tree": "link:../../../secure-exec-convwasi/registry/software/tree",
"@agentos-software/unzip": "link:../../../secure-exec-convwasi/registry/software/unzip",
"@agentos-software/wget": "link:../../../secure-exec-convwasi/registry/software/wget",
"@agentos-software/yq": "link:../../../secure-exec-convwasi/registry/software/yq",
"@agentos-software/zip": "link:../../../secure-exec-convwasi/registry/software/zip",
"@agentos-software/codex-cli": "catalog:",
"@agentos-software/coreutils": "catalog:",
"@agentos-software/curl": "catalog:",
"@agentos-software/diffutils": "catalog:",
"@agentos-software/duckdb": "catalog:",
"@agentos-software/fd": "catalog:",
"@agentos-software/file": "catalog:",
"@agentos-software/findutils": "catalog:",
"@agentos-software/gawk": "catalog:",
"@agentos-software/git": "catalog:",
"@agentos-software/grep": "catalog:",
"@agentos-software/gzip": "catalog:",
"@agentos-software/http-get": "catalog:",
"@agentos-software/jq": "catalog:",
"@agentos-software/make": "catalog:",
"@agentos-software/ripgrep": "catalog:",
"@agentos-software/sed": "catalog:",
"@agentos-software/sqlite3": "catalog:",
"@agentos-software/tar": "catalog:",
"@agentos-software/tree": "catalog:",
"@agentos-software/unzip": "catalog:",
"@agentos-software/wget": "catalog:",
"@agentos-software/yq": "catalog:",
"@agentos-software/zip": "catalog:",
"commander": "^14.0.2"
},
"devDependencies": {
Expand Down
6 changes: 6 additions & 0 deletions pnpm-workspace.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ catalog:
'@agentos-software/coreutils': 0.0.0-nathan-agentos-package-resolution.42d8146
'@agentos-software/curl': 0.0.0-nathan-agentos-package-resolution.42d8146
'@agentos-software/diffutils': 0.0.0-nathan-agentos-package-resolution.42d8146
'@agentos-software/duckdb': 0.0.260331072558
'@agentos-software/fd': 0.0.0-nathan-agentos-package-resolution.42d8146
'@agentos-software/file': 0.0.0-nathan-agentos-package-resolution.42d8146
'@agentos-software/findutils': 0.0.0-nathan-agentos-package-resolution.42d8146
Expand All @@ -57,6 +58,7 @@ catalog:
'@agentos-software/gzip': 0.0.0-nathan-agentos-package-resolution.42d8146
'@agentos-software/http-get': 0.0.0-nathan-agentos-package-resolution.efc374f
'@agentos-software/jq': 0.0.0-nathan-agentos-package-resolution.42d8146
'@agentos-software/make': 0.0.260331072558
'@agentos-software/opencode': 0.0.0-nathan-agentos-package-resolution.42d8146
'@agentos-software/pi': 0.0.0-nathan-agentos-package-resolution.42d8146
'@agentos-software/pi-cli': 0.0.0-nathan-agentos-package-resolution.42d8146
Expand All @@ -66,10 +68,14 @@ catalog:
'@agentos-software/tar': 0.0.0-nathan-agentos-package-resolution.42d8146
'@agentos-software/tree': 0.0.0-nathan-agentos-package-resolution.42d8146
'@agentos-software/unzip': 0.0.0-nathan-agentos-package-resolution.efc374f
'@agentos-software/wget': 0.0.260331072558
'@agentos-software/yq': 0.0.0-nathan-agentos-package-resolution.42d8146
'@agentos-software/zip': 0.0.0-nathan-agentos-package-resolution.efc374f
'@secure-exec/browser': 0.2.1
'@secure-exec/core': 0.0.0-nathan-agentos-package-resolution.0bf7dcb
'@secure-exec/google-drive': 0.0.260331072558
'@secure-exec/nodejs': 0.2.1
'@secure-exec/s3': 0.0.260331072558
'@secure-exec/sandbox': 0.0.0-nathan-agentos-package-resolution.0bf7dcb
# <<< secure-exec catalog <<<

Expand Down
86 changes: 86 additions & 0 deletions scripts/benchmarks/phase-probe.scratch.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
// Scratch phase attribution for unix_accept_latency + tcp_concurrent_4 residuals. NOT committed.
import { AgentOs } from "@rivet-dev/agentos-core";

const PROBE = `
const net = await import("node:net");
const os = await import("node:os");
const path = await import("node:path");
const now = () => Number(process.hrtime.bigint()) / 1e6;
const out = { unix: {}, tcpc: {} };

// --- unix accept phases (5 runs, keep per-phase p50-ish mid run) ---
const unixRuns = [];
for (let i = 0; i < 7; i++) {
const sock = path.join(os.tmpdir(), "phase-unix-" + process.pid + "-" + i + ".sock");
const t = { t0: now() };
await new Promise((resolve, reject) => {
const server = net.createServer((s) => { t.serverConn = now(); s.end(); });
server.on("error", reject);
server.listen(sock, () => {
t.listening = now();
const c = net.connect(sock);
c.on("connect", () => { t.clientConnect = now(); });
c.on("error", reject);
c.on("close", () => {
t.clientClose = now();
server.close(() => { t.serverClosed = now(); resolve(); });
});
c.end();
});
});
unixRuns.push({
listen: +(t.listening - t.t0).toFixed(2),
connect: +(t.clientConnect - t.listening).toFixed(2),
accept: +((t.serverConn ?? t.clientClose) - t.listening).toFixed(2),
close: +(t.clientClose - (t.serverConn ?? t.clientConnect)).toFixed(2),
serverClose: +(t.serverClosed - t.clientClose).toFixed(2),
total: +(t.serverClosed - t.t0).toFixed(2),
});
}
out.unix.runs = unixRuns.slice(2);

// --- tcp concurrent 4 phases ---
const tcpcRuns = [];
for (let i = 0; i < 7; i++) {
const t = { t0: now(), accepts: [], closes: [] };
await new Promise((resolve, reject) => {
let accepted = 0;
const server = net.createServer((socket) => {
t.accepts.push(+(now() - t.t0).toFixed(2));
socket.on("data", () => socket.end());
if (++accepted === 4) { /* wait for closes */ }
});
server.on("error", reject);
server.listen(0, "127.0.0.1", () => {
t.listening = +(now() - t.t0).toFixed(2);
let closed = 0;
for (let k = 0; k < 4; k++) {
const socket = net.connect(server.address().port, "127.0.0.1");
socket.on("error", reject);
socket.on("close", () => {
t.closes.push(+(now() - t.t0).toFixed(2));
if (++closed === 4) server.close(() => { t.done = +(now() - t.t0).toFixed(2); resolve(); });
});
socket.write("x");
}
});
});
tcpcRuns.push(t);
}
out.tcpc.runs = tcpcRuns.slice(2).map(r => ({ listening: r.listening, accepts: r.accepts, closes: r.closes, done: r.done }));
process.stdout.write(JSON.stringify(out));
`;

const vm = await AgentOs.create({});
const source = `(async () => { ${PROBE} })().catch(e => { console.error(e && e.stack || e); process.exit(1); });`;
await vm.writeFile("/tmp/phase-probe.mjs", source);
let stdout = "";
let stderr = "";
const proc = vm.spawn("node", ["/tmp/phase-probe.mjs"], {
onStdout: (d: Uint8Array) => (stdout += Buffer.from(d).toString("utf8")),
onStderr: (d: Uint8Array) => (stderr += Buffer.from(d).toString("utf8")),
});
const code = await vm.waitProcess(proc.pid);
console.log("guest exit", code, stdout.trim());
if (stderr.trim()) console.error("stderr:", stderr.slice(0, 600));
process.exit(0);
Loading