@madarco/agentbox 0.9.0 → 0.10.0

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 (36) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/README.md +161 -0
  3. package/dist/{_cloud-attach-ZXBCNWJX.js → _cloud-attach-O6NYTLES.js} +3 -3
  4. package/dist/{chunk-BXQMIEHC.js → chunk-2GPORKYF.js} +254 -162
  5. package/dist/chunk-2GPORKYF.js.map +1 -0
  6. package/dist/{chunk-NCJP5MTN.js → chunk-7UIAO7PC.js} +213 -51
  7. package/dist/chunk-7UIAO7PC.js.map +1 -0
  8. package/dist/{chunk-GU5LW4B5.js → chunk-R4O5WPHW.js} +374 -62
  9. package/dist/chunk-R4O5WPHW.js.map +1 -0
  10. package/dist/{dist-GDHP34ZK.js → dist-5FQGYRW5.js} +15 -3
  11. package/dist/dist-5FQGYRW5.js.map +1 -0
  12. package/dist/{dist-32EZBYG4.js → dist-BQNX7RQE.js} +12 -2
  13. package/dist/{dist-XML54CNB.js → dist-PZW3GWWU.js} +30 -5
  14. package/dist/dist-PZW3GWWU.js.map +1 -0
  15. package/dist/{dist-CX5CGVEB.js → dist-TMHSUVTP.js} +3 -3
  16. package/dist/index.js +1773 -526
  17. package/dist/index.js.map +1 -1
  18. package/package.json +9 -7
  19. package/runtime/docker/apps/cli/share/agentbox-setup/SKILL.md +9 -8
  20. package/runtime/docker/packages/ctl/dist/bin.cjs +32 -3
  21. package/runtime/hetzner/agentbox-setup-skill.md +9 -8
  22. package/runtime/hetzner/ctl.cjs +32 -3
  23. package/runtime/relay/bin.cjs +32 -3
  24. package/runtime/vercel/agentbox-setup-skill.md +9 -8
  25. package/runtime/vercel/ctl.cjs +32 -3
  26. package/runtime/vercel/custom-system-CLAUDE.md +1 -4
  27. package/runtime/vercel/scripts/provision.sh +40 -0
  28. package/share/agentbox-setup/SKILL.md +9 -8
  29. package/dist/chunk-BXQMIEHC.js.map +0 -1
  30. package/dist/chunk-GU5LW4B5.js.map +0 -1
  31. package/dist/chunk-NCJP5MTN.js.map +0 -1
  32. package/dist/dist-GDHP34ZK.js.map +0 -1
  33. package/dist/dist-XML54CNB.js.map +0 -1
  34. /package/dist/{_cloud-attach-ZXBCNWJX.js.map → _cloud-attach-O6NYTLES.js.map} +0 -0
  35. /package/dist/{dist-32EZBYG4.js.map → dist-BQNX7RQE.js.map} +0 -0
  36. /package/dist/{dist-CX5CGVEB.js.map → dist-TMHSUVTP.js.map} +0 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,89 @@
1
+ # Changelog
2
+
3
+ All notable changes to `@madarco/agentbox` are documented here.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ Entries are generated from the commit history with `/release-notes` and then
9
+ hand-reviewed — they describe what changed for someone using the `agentbox`
10
+ CLI, not the raw commits.
11
+
12
+ ## [0.10.0] - 2026-05-30
13
+
14
+ ### Breaking
15
+
16
+ - `agentbox browser` is renamed to `agentbox url` (it opens the box's web-app
17
+ URL). No alias is kept.
18
+ - `agentbox list --all` / `-a` is renamed to `--global` / `-g`, matching the
19
+ npm/pnpm convention. The old form is removed with no alias — update any
20
+ scripts that used it.
21
+
22
+ ### Added
23
+
24
+ - `agentbox install` is now an interactive setup wizard (system compatibility
25
+ check, provider picker, login/prepare hints, host `/agentbox` skill install)
26
+ and a new `agentbox doctor` reports the same checks in full detail. The wizard
27
+ auto-runs once on first use; `--skills-only` keeps the old host-skill-only
28
+ behavior.
29
+ - Portless integration on Docker Desktop: boxes can get a stable
30
+ `https://<box-name>.localhost` URL for their web app via the
31
+ [Portless](https://portless.sh) proxy. Opt-in on first run (saved to the new
32
+ `portless.enabled` config key; `--portless` / `--no-portless` flags). The same
33
+ URL works from the host and from inside the box's VNC browser.
34
+ - Cloud boxes now offer to sign you in before the box starts when agent
35
+ credentials are missing or expired, seeding the login into this box and every
36
+ future one (Claude, Codex, OpenCode).
37
+ - Attach now survives a box reboot: the wrapper stays open and auto-reconnects
38
+ once the box is back, so a Vercel checkpoint or restart no longer drops your
39
+ session.
40
+ - `agentbox url` and `agentbox screen` reach an in-box web service on Vercel —
41
+ the in-box proxy binds to the always-exposed port 8080, and `url` falls back to
42
+ the first exposed service port when no proxy is configured.
43
+ - `agentbox list --live` forces a real state probe of cloud boxes; by default
44
+ `list` now reads persisted box state, so it's fast even with several boxes.
45
+ - A 3-line alert band above the footer surfaces relay confirm prompts,
46
+ checkpoint notices, and the agent's questions without hiding the status bar —
47
+ in both the single-attach TUI and the dashboard.
48
+ - Agents skip their interactive permission prompts by default inside boxes
49
+ (boxes are already isolated). Controlled by `claude.dangerouslySkipPermissions`
50
+ / `codex.dangerouslySkipPermissions` (both default on); override per-box with
51
+ `--no-dangerously-skip-permissions`.
52
+
53
+ ### Changed
54
+
55
+ - `Ctrl+a` leader chords are now mnemonic and consistent across the agent/shell
56
+ footers and the dashboard: `s` opens the noVNC screen, `u` opens the web-app
57
+ URL, `d` detaches. The dashboard keeps `Ctrl+a q` to quit and moves "stop the
58
+ box" to `Ctrl+a t`.
59
+ - A Vercel checkpoint reboots the box, so it now asks for confirmation first
60
+ (skip with `-y`).
61
+ - Chromium is baked into the Vercel base snapshot at `prepare` time, so
62
+ agent-browser is ready immediately on every box instead of installing on each
63
+ create.
64
+ - The host relay is now a version-consistent global singleton shared by all
65
+ boxes, robust to mismatched `npx` caches.
66
+ - Faster dashboard switching on the Vercel provider; install-wizard copy and
67
+ progress animation polished.
68
+
69
+ ### Fixed
70
+
71
+ - The cloud login offer runs in the default docker image instead of a cloud
72
+ snapshot ref, fixing a `docker build` failure on `snap_…` image names.
73
+ - `agentbox list` shows the real state of cloud boxes (stopped/paused) instead
74
+ of always reporting `running`.
75
+ - Resuming a cloud box re-ensures its daemons and declared services, and a
76
+ stopped cloud box is resumed before attach instead of failing.
77
+ - Hetzner box creation waits for SSH to be ready before returning, so the next
78
+ command no longer races a not-yet-reachable VPS.
79
+ - The published npm package now includes the repo README.
80
+ - `Ctrl+c` during the startup banner animation exits cleanly.
81
+ - Skip-permissions conflict detection now also matches inline `--flag=value`
82
+ syntax, so an explicit user choice always wins; background-queue jobs honor
83
+ `--no-dangerously-skip-permissions`.
84
+ - The footer spinner keeps animating when the alert band collapses on a tiny
85
+ terminal.
86
+
87
+ ## [0.9.0] - 2026-05-29
88
+
89
+ First release with a tracked changelog. Earlier history lives in the git log.
package/README.md ADDED
@@ -0,0 +1,161 @@
1
+ <h1 style="font-weight:normal">
2
+ AgentBox&nbsp;
3
+ <a href="https://github.com/madarco/agentbox/blob/main/LICENSE"><img src="https://img.shields.io/github/license/madarco/agentbox.svg?colorB=ff0000"></a>
4
+ <a href="https://www.npmjs.com/package/@madarco/agentbox"><img src="https://img.shields.io/npm/d18m/%40madarco%2Fagentbox?label=npm" /></a>
5
+ <img src="https://img.shields.io/github/stars/madarco/agentbox" />
6
+ </h1>
7
+
8
+ Run multiple agents in parallel, with a single command, on your PC, self-hosted, or in the cloud
9
+ <br>
10
+
11
+ <p align="center">
12
+
13
+ ![AgentBox](https://raw.githubusercontent.com/madarco/agentbox/main/docs/cover.jpg)
14
+ </p>
15
+
16
+ ## How it works
17
+
18
+ ```sh
19
+ agentbox claude # launch a new VM with claude and your project inside
20
+ ```
21
+
22
+ - 📦 **Teleport** - Move your project to a dedicated VM, local or in the cloud, with a single command.
23
+ - 🤖 **Automatic** - Bring all your skills, plugins, and settings for **Claude Code**, **Codex**, **Open Code**
24
+ - 🌐 **A full Computer** — Dedicated browser, screen sharing, persistent shells and warmed up VS Code / Cursor IDE, with each box.
25
+ - 💾 **Checkpoints** — Sub <1s startup of new boxes from a previous checkpoint, auto pause to save cost/resources when not in use.
26
+ - 🔒 **Safe** - Your git credentials are kept on your local machine, with permission requests to push to the remote repository.
27
+
28
+
29
+ ### Complete setup:
30
+
31
+ ```sh
32
+ npm -g install @madarco/agentbox
33
+ agentbox install
34
+
35
+ # Launch a new VM with claude, copy all your settings and workspace
36
+ agentbox claude
37
+
38
+ # Also install required project libraries and launch your dev server
39
+ > Run setup wizard? -> Yes
40
+
41
+ # Also use a cloud:
42
+ agentbox hetzner claude # or vercel, daytona
43
+
44
+ # Ctrl+a d to detach, claude keep going, to reconnect later:
45
+ agentbox claude attach 1
46
+
47
+ # To open a persistent shell inside the box:
48
+ agentbox shell 1
49
+
50
+ # Create a second box:
51
+ agentbox claude
52
+ agentbox claude attach 2
53
+ agentbox shell 2
54
+
55
+ # Open your web project on a .local url tunnel on your pc
56
+ agentbox url 2
57
+ # Or the in-box browser via webVNC:
58
+ agentbox screen 2
59
+ # Or connect to vscode/cursor inside the box:
60
+ agentbox code 2
61
+
62
+ # See status and quickly switch between agents:
63
+ agentbox dashboard
64
+ ```
65
+
66
+ ## Demo
67
+
68
+ ![AgentBox demo](docs/demo.gif)
69
+
70
+ ## Install
71
+
72
+ ```sh
73
+ npm -g install @madarco/agentbox
74
+ ```
75
+
76
+ Requirements: macOS (arm64 or Intel) or Linux, Docker ([Docker Desktop](https://www.docker.com/products/docker-desktop/) or [OrbStack](https://orbstack.dev/)), Node `>=20.10`. The first `agentbox create` / `agentbox claude` builds the `agentbox/box:dev` image (~1 GB, one-time).
77
+ Uses `portless` to give box web apps the same URL from inside the box and on the host.
78
+
79
+ ## Cloud Providers
80
+
81
+ | | local docker | hetzner | daytona | vercel |
82
+ | ------------------- | ------------------------- | ---------------------- | ------------------ | ------------------ |
83
+ | Support | ✅ | ✅ | ⚠️ Partial | ✅ |
84
+ | Base image | Dockerfile | Setup script (Ubuntu) | Dockerfile | Setup script |
85
+ | Live snapshots | ✅ | ✅ | 🧪 Experimental | ✅ |
86
+ | Private preview URLs| ✅ (portless or OrbStack) | ✅ (portless) | ✅ (native) | ✅ (native) |
87
+
88
+ **Cloud setup** (optional — skip for local Docker)
89
+
90
+ - `agentbox install` — interactive setup wizard to choose which providers to use and configure them.
91
+ - `agentbox vercel login` — interactive Vercel Sandbox token setup, saved to `~/.agentbox/secrets.env`
92
+ - `agentbox hetzner login` — interactive Hetzner Cloud token setup, saved to `~/.agentbox/secrets.env`
93
+ - `agentbox daytona login` — interactive Daytona API key setup, saved to `~/.agentbox/secrets.env`
94
+ - `agentbox prepare [--provider daytona|hetzner]` — build the image and initial snapshot
95
+ - `agentbox hetzner claude`, `agentbox hetzner codex`, `agentbox hetzner create`, etc.
96
+
97
+ ## How to use
98
+
99
+ `<box>` is optional almost everywhere — it defaults to the box for the current project, or use its short index (`1`, `2`, …), name, or id prefix.
100
+
101
+ **Create & run**
102
+
103
+ - `agentbox create` — Create and start a new agent box (Docker container with FUSE overlay)
104
+ - `agentbox claude` — Create a sandboxed box and launch Claude Code in a detachable tmux session
105
+
106
+ **Access**
107
+
108
+ - `agentbox url` — Open a box's web app URL in the browser (even with no `expose:` service)
109
+ - `agentbox screen` — Open a box's VNC (noVNC) viewer in the browser
110
+ - `agentbox code` — Open a box in VS Code or Cursor via the Dev Containers extension
111
+ - `agentbox shell` — Open an interactive bash shell in a box
112
+ - `agentbox open` — Open a box's merged workspace in Finder
113
+ - `agentbox logs` — Print recent log lines from a box service; `-f` to stream
114
+ - `agentbox dashboard` — Box list + the selected box's live agent session
115
+
116
+ **Inspect**
117
+
118
+ - `agentbox list` (`ls`) — List boxes in current project or `-g` for all
119
+ - `agentbox status` — Show service + task status from a box's `agentbox-ctl` daemon
120
+ - `agentbox top` — Live resource monitor (cpu/mem/pids/disk) for a box, project, or all boxes
121
+
122
+ **Lifecycle**
123
+
124
+ - `agentbox start` — Start a stopped box (docker start + re-mount the FUSE overlay)
125
+ - `agentbox stop` — Stop a box (preserves the upper volume, `node_modules` included)
126
+ - `agentbox destroy` (`rm`) — Destroy a box and discard its upper volume
127
+ - `agentbox pause` / `agentbox unpause` — Freeze / resume a box (sub-second)
128
+
129
+ **Sync & state**
130
+
131
+ - `agentbox download` — Download a box's `/workspace` back into your host workspace (gitignore-aware)
132
+ - `agentbox cp <src> [dst]` — Copy individual files between host and box (like `docker cp`; direction picked by `name:` prefix)
133
+ - `agentbox checkpoint` (alias `checkpoints`) — List and manage project checkpoints (warm box state to start new boxes from); bare command lists, `checkpoint create` captures
134
+
135
+ **Advanced**
136
+
137
+ - `agentbox wait` — Block until the box reports all autostart units ready
138
+ - `agentbox prune` — Clean up orphan state records (and with `--all`, orphan docker resources)
139
+ - `agentbox self-update` — Update agentbox, wipe the box image so it rebuilds, reload the relay
140
+ - `agentbox config` — Read / write layered config (global, per-project, workspace `defaults:`)
141
+ - `agentbox relay` — Manage the host relay process (`status` / `stop` / `start` / `restart`)
142
+
143
+ Run `agentbox <command> --help` for command-specific options.
144
+
145
+ ## Development
146
+
147
+ ```sh
148
+ git clone https://github.com/madarco/agentbox && cd agentbox
149
+ pnpm install && pnpm build
150
+ node apps/cli/dist/index.js --help
151
+ ```
152
+
153
+ The full development workflow, stack, end-to-end smoke tests, and teardown live in [`docs/development.md`](https://github.com/madarco/agentbox/blob/main/docs/development.md).
154
+
155
+ # Author
156
+
157
+ [Marco D'Alia](https://www.madarco.net) - [@madarco](https://x.com/madarco) - [Linkedin](https://www.linkedin.com/in/marcodalia/)
158
+
159
+ # License
160
+
161
+ MIT. See [LICENSE](https://github.com/madarco/agentbox/blob/main/LICENSE).
@@ -2,12 +2,12 @@
2
2
  import {
3
3
  buildCloudAttachInnerCommand,
4
4
  cloudAgentAttach
5
- } from "./chunk-GU5LW4B5.js";
6
- import "./chunk-NCJP5MTN.js";
5
+ } from "./chunk-R4O5WPHW.js";
6
+ import "./chunk-7UIAO7PC.js";
7
7
  import "./chunk-KL36BRN4.js";
8
8
  import "./chunk-G3H2L3O2.js";
9
9
  export {
10
10
  buildCloudAttachInnerCommand,
11
11
  cloudAgentAttach
12
12
  };
13
- //# sourceMappingURL=_cloud-attach-ZXBCNWJX.js.map
13
+ //# sourceMappingURL=_cloud-attach-O6NYTLES.js.map