// Run a Node.js script inside the VM that does filesystem operations.import { AgentOs } from "@rivet-dev/agentos-core";const vm = await AgentOs.create();await vm.writeFile( "/tmp/demo.mjs", `import fs from "fs";import path from "path";// Create a directory and write filesfs.mkdirSync("/project/src", { recursive: true });fs.writeFileSync("/project/src/index.js", 'console.log("hello");');fs.writeFileSync("/project/README.md", "# My Project");// Read them backconst files = fs.readdirSync("/project", { recursive: true });console.log("Files:", files);const content = fs.readFileSync("/project/src/index.js", "utf8");console.log("index.js:", content);const stat = fs.statSync("/project/README.md");console.log("README size:", stat.size, "bytes");`,);const result = await vm.exec("node /tmp/demo.mjs");console.log(result.stdout);console.log("Exit code:", result.exitCode);await vm.dispose();
// Run a Node.js script inside the VM that does filesystem operations.
import { AgentOs } from "@rivet-dev/agentos-core";
const vm = await AgentOs.create();
await vm.writeFile(
"/tmp/demo.mjs",
`
import fs from "fs";
import path from "path";
// Create a directory and write files
fs.mkdirSync("/project/src", { recursive: true });
fs.writeFileSync("/project/src/index.js", 'console.log("hello");');
fs.writeFileSync("/project/README.md", "# My Project");
// Read them back
const files = fs.readdirSync("/project", { recursive: true });
console.log("Files:", files);
const content = fs.readFileSync("/project/src/index.js", "utf8");
console.log("index.js:", content);
const stat = fs.statSync("/project/README.md");
console.log("README size:", stat.size, "bytes");
`,
);
const result = await vm.exec("node /tmp/demo.mjs");
console.log(result.stdout);
console.log("Exit code:", result.exitCode);
await vm.dispose();