@mifune/agro 0.15.1 → 0.16.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 (3) hide show
  1. package/README.md +14 -2
  2. package/dist/agro.js +607 -324
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -80,7 +80,7 @@ agro tool install agent-browser # asks before the ~1 GB Chromium download
80
80
  into the current environment instead of driving the container over Docker
81
81
  Compose. Detection is automatic (`/.dockerenv` plus `SANDBOX_NAME`); override it
82
82
  with `AGRO_EXECUTION_TARGET=local` or `AGRO_EXECUTION_TARGET=docker-compose`.
83
- `agro sandbox install` remains host-only and says so.
83
+ `agro sandbox install` and `agro sandbox upgrade` remain host-only and say so.
84
84
 
85
85
  ## Commands
86
86
 
@@ -88,6 +88,7 @@ with `AGRO_EXECUTION_TARGET=local` or `AGRO_EXECUTION_TARGET=docker-compose`.
88
88
  |---|---|
89
89
  | `agro sandbox install <runtime>` | Create a sandbox: run the wizard, write the registry entry under `${AGRO_HOME:-~/.agro}/sandboxes/<name>/`, materialise the compose files and wrapper into it, and boot the container. Flags: `--name`, `--checkout <dir>` (alias `--repo <dir>`), `--home-mount <dir>`, `--yes`, `--image[=<ref>]`, `--no-build`, `--print-argv`. `docker` is provisionable; `microsandbox` is planned and refuses with a pointer at the runtime RFC. |
90
90
  | `agro sandbox list [--json]` | List the registry entries with name, runtime, container status, and bound checkout. |
91
+ | `agro sandbox upgrade <name> --version <X.Y.Z>` | Recreate one image-mode sandbox immediately with the specified official release image. Keep the home mount, named volumes, checkout, `.env`, and unrelated settings. |
91
92
  | `agro shell [name]` | Open a `zsh` shell in the running sandbox container. |
92
93
  | `agro stop [name]` | Stop the sandbox, preserving volumes. |
93
94
  | `agro restart [name]` | Restart the sandbox service. |
@@ -120,7 +121,18 @@ runs `.agro/scripts/docker-compose.sh` — see
120
121
  [lifecycle commands](https://github.com/mifunedev/agro/blob/main/docs/lifecycle-commands.md), which also
121
122
  states the confirmation policy `agro destroy` carries.
122
123
 
123
- `agro update` never touches a project. During the compatibility window `agro vendor` vendors
124
+ `agro sandbox upgrade <name> --version X.Y.Z` runs only on the host. The command
125
+ requires an explicit release version and accepts a leading `v` or prerelease
126
+ suffix. The command refuses `latest`, absent entries, and build-mode entries.
127
+ The immediate container recreation interrupts active sessions, servers, and jobs.
128
+ The command keeps the home mount and named volumes; it never uses `down -v`.
129
+ A successful start records `image.ref`. On failure, the command keeps the prior
130
+ `image.ref` and attempts to restore the prior image. The command reports a failed
131
+ restoration. The command locks the entry during an upgrade. The command refuses
132
+ conflicting `AGRO_SANDBOX_IMAGE` values in the host shell or entry `.env` before recreation. See [lifecycle commands](https://github.com/mifunedev/agro/blob/main/docs/lifecycle-commands.md#upgrading-a-sandbox-image-agro-sandbox-upgrade).
133
+
134
+ `agro update` upgrades only the installed CLI. It does not recreate the sandbox
135
+ or change its image. During the compatibility window `agro vendor` vendors
124
136
  `.agro/` + `crons/` into the current directory, equipping an empty checkout and upgrading an
125
137
  equipped one (`--from <dir>` / `--from-remote [--ref <ref>]`, `--dry-run`, `--force`); it
126
138
  writes nothing else and never prompts. `agro update` rejects those flags and points at