Skip to main content

Exe Dev/vm

@webframp/exe-dev/vmv2026.08.21.2· 1d agoMODELS
01README

exe.dev VM lifecycle model. Wraps the exe.dev HTTPS API to manage VMs as typed swamp resources — create, destroy, restart, resize, observe fleet state, execute commands, manage sharing, and track Shelley versions.

Authentication

Uses a bearer token generated via ssh exe.dev ssh-key generate-api-key. Run the setup method to generate a token with the correct permissions and store it in your vault automatically.

Quick Start

swamp extension pull @webframp/exe-dev/vm
swamp model create @webframp/exe-dev/vm exe-dev
# Edit model YAML to set: token: '${{ vault.get("vault-name", "exe-dev-api-token") }}'
swamp model method run exe-dev setup
swamp model method run exe-dev sync
02Release Notes

2026.08.21.2

Changed: exe.dev API request failures (network errors, DNS failures, connection resets) now raise an error that names the exe.dev command that was being attempted, instead of surfacing the raw fetch error with no context. The timeout error message also now includes the command that timed out. A malformed/non-JSON response from the exe.dev API now raises a clear "returned malformed JSON for command ..." error (including a snippet of the raw response) instead of a bare JSON.parse SyntaxError.

2026.08.21.1

Changed: Added .describe() documentation to every previously undocumented field in the resource schemas (SharingSchema, VmSchema, FleetSchema, StatSchema, ExecResultSchema, ShelleyVersionSchema, ShelleyVersionsSchema, ShelleyUpgradeResultSchema, and the inline shelleyUpgrade resource schema). No behavioral change — method argument schemas were already fully documented and are untouched.

2026.08.04.1

Added: Initial release of the exe.dev VM lifecycle model. Methods: setup, sync, create, destroy, restart, resize, stat, tag, exec, comment, share, shelley_versions, shelley_upgrade. Full fleet observation with typed resources, pre-flight existence checks on destructive operations, and actionable 403 diagnostics guiding token permission fixes.

03Models1
@webframp/exe-dev/vmv2026.08.21.2exe-dev/vm.ts

Global Arguments

ArgumentTypeDescription
token?stringexe.dev API bearer token (use vault reference). Generate with the
fn setup(expiry: string, vaultName: string, secretKey: string)
Generate a fully-permissioned exe.dev API token and store it in the
ArgumentTypeDescription
expirystringToken lifetime (e.g. 7d, 30d, 90d)
vaultNamestringVault to store the token in
secretKeystringSecret key name within the vault
fn sync()
List all VMs and store as a fleet snapshot. The adopt/observe pattern
fn create(name?: string, image?: string, cpu?: number, memory?: string, disk?: string, tags?: array, comment?: string, setupScript?: string, env?: record, integrations?: array)
Provision a new exe.dev VM. Returns the created VM details.
ArgumentTypeDescription
name?stringVM name (auto-generated if omitted)
image?stringContainer image (e.g. ubuntu:22.04)
cpu?numberNumber of CPUs (default 2)
memory?stringMemory allocation (e.g. 4GB, 8G)
disk?stringDisk size (e.g. 20GB, 50G)
tags?arrayTags to apply
comment?stringShort comment about the VM (max 200 bytes)
setupScript?stringSetup script to run on first boot (max 10KiB)
env?recordEnvironment variables as KEY=VALUE pairs
integrations?arrayIntegration names to attach
fn destroy(names: array)
Delete one or more exe.dev VMs by name.
ArgumentTypeDescription
namesarrayVM name(s) to delete
fn restart(name: string)
Restart an exe.dev VM.
ArgumentTypeDescription
namestringVM name to restart
fn resize(name: string, cpu?: number, memory?: string, disk?: string)
Resize a VM's CPU, memory, or disk.
ArgumentTypeDescription
namestringVM name to resize
cpu?numberNew CPU count
memory?stringNew memory (e.g. 8GB)
disk?stringNew disk size (must be larger than current)
fn stat(name: string, range: enum)
Fetch CPU, memory, disk, and IO metrics for a VM.
ArgumentTypeDescription
namestringVM name
rangeenumTime range for metrics
fn tag(name: string, add?: array, remove?: array)
Add or remove tags on a VM.
ArgumentTypeDescription
namestringVM name
add?arrayTags to add
remove?arrayTags to remove
fn exec(name: string, command: string, timeout: number)
Execute a shell command on a VM via SSH. Stores the output as
ArgumentTypeDescription
namestringVM name to execute on
commandstringShell command to run (max 64KB)
timeoutnumberSSH command timeout in seconds (max 300)
fn comment(name: string, text: string)
Set or clear a short comment on a VM (max 200 bytes).
ArgumentTypeDescription
namestringVM name
textstringComment text (empty string to clear)
fn share(name: string, action: enum, email?: string, linkToken?: string, root?: boolean)
Manage sharing on a VM: set public/private, add/remove users,
ArgumentTypeDescription
namestringVM name
actionenumSharing action to perform
email?stringEmail address (required for add/remove actions)
linkToken?stringShare link token (required for remove-link)
root?booleanGrant/revoke shell (SSH) access instead of web-only (for add/remove)
fn shelley_versions(filter?: array)
Fan out across all VMs (or a filtered subset) and check the
ArgumentTypeDescription
filter?arrayVM names to check (default: all VMs from latest fleet sync)
fn shelley_upgrade(names?: array)
Upgrade Shelley on one or more VMs via the exe.dev API
ArgumentTypeDescription
names?arrayVM names to upgrade. Default: all VMs where shelley_versions

Resources

fleet(infinite)— Snapshot of all exe.dev VMs visible to the authenticated account.
vm(infinite)— Individual VM state after create/restart/resize operations.
stat(infinite)— VM resource metrics (CPU, memory, disk, IO).
exec(infinite)— Output of a command executed on a VM via SSH.
shelleyVersions(infinite)— Shelley/Claude Code version observed on each VM in the fleet.
shelleyUpgrade(infinite)— Result of a Shelley upgrade operation per VM.
04Previous Versions2
2026.08.21.1

2026.08.21.1

Changed: Added .describe() documentation to every previously undocumented field in the resource schemas (SharingSchema, VmSchema, FleetSchema, StatSchema, ExecResultSchema, ShelleyVersionSchema, ShelleyVersionsSchema, ShelleyUpgradeResultSchema, and the inline shelleyUpgrade resource schema). No behavioral change — method argument schemas were already fully documented and are untouched.

2026.08.04.1

Added: Initial release of the exe.dev VM lifecycle model. Methods: setup, sync, create, destroy, restart, resize, stat, tag, exec, comment, share, shelley_versions, shelley_upgrade. Full fleet observation with typed resources, pre-flight existence checks on destructive operations, and actionable 403 diagnostics guiding token permission fixes.

2026.08.04.1

2026.08.04.1

Added: Initial release of the exe.dev VM lifecycle model. Methods: setup, sync, create, destroy, restart, resize, stat, tag, exec, comment, share, shelley_versions, shelley_upgrade. Full fleet observation with typed resources, pre-flight existence checks on destructive operations, and actionable 403 diagnostics guiding token permission fixes.

05Stats
A
100 / 100
Downloads
6
Archive size
28.1 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository2/2earned
06Platforms
07Labels