Software
Wasm command packages that run inside the agent's environment. Install individually or use meta-packages.
git
Upstream Git version control for agentOS VMs.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "git");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});ripgrep
Fast recursive search (rg).
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "ripgrep");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});jq
Lightweight JSON processor.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "jq");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});SQLite3
SQLite database command-line interface.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "sqlite3");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});DuckDB
In-process analytics database CLI.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "duckdb");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});vim
Vim text editor with bundled runtime.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "vim");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});tar
GNU tar archiver.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "tar");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});ssh
OpenSSH client for remote commands and git-over-ssh, with enforced known_hosts verification and RSA, ECDSA, Ed25519, DH, ECDH, ChaCha20, and AES crypto.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "ssh");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});wget
GNU Wget file downloader.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "wget");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});curl
HTTP(S) client for fetching URLs and APIs.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "curl");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});Coreutils
sh, cat, ls, cp, mv, rm, sort, and 80+ essential POSIX commands.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "coreutils");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});Shell
POSIX-compatible shell for running command scripts.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "sh");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});xfs_io
Scriptable low-level filesystem I/O commands used by xfstests.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "xfsprogs");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});POSIX ACL tools
Inspect and modify POSIX access and default ACLs.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "acl");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});attr
Inspect and modify filesystem extended attributes.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "attr");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});grep
GNU grep pattern matching (grep, egrep, fgrep).
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "grep");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});sed
GNU stream editor for text transformation.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "sed");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});fd
Fast file finder.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "fd");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});tree
Display directory structure as a tree.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "tree");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});gawk
GNU awk text processing and data extraction.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "gawk");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});findutils
GNU find and xargs for file searching and batch execution.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "findutils");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});zip
Create zip archives.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "zip");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});envsubst
Substitute environment variables in text streams.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "envsubst");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});unzip
Extract zip archives.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "unzip");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});gzip
GNU gzip compression (gzip, gunzip, zcat).
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "gzip");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});diffutils
GNU diff for comparing files.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "diffutils");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});yq
YAML/JSON processor.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "yq");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});file
Detect file types.
| Category | Status | Docs |
|---|---|---|
| Software | Available | Guide |
Add to agentOS
Install the package's .aospkg release artifact into a VM so its commands are available inside the VM.
import { AgentOs } from "@rivet-dev/agentos-core";
// Each release publishes registry packages next to a manifest. Use a release
// version, or `latest`.
const base = "https://releases.rivet.dev/agent-os/latest/software/";
const { artifacts } = await (await fetch(`${base}manifest.json`)).json();
const pkg = artifacts.find((artifact) => artifact.name === "file");
const vm = await AgentOs.create();
// The bytes are verified against the digest before the package's commands
// appear on /opt/agentos/bin.
await vm.software.install({
type: "url",
url: new URL(pkg.path, base).href,
expectedDigest: pkg.digest,
});