@mifune/agro 0.12.2 → 0.14.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 (5) hide show
  1. package/NOTICE +2 -2
  2. package/README.md +8 -20
  3. package/dist/agro.js +2050 -1856
  4. package/package.json +1 -1
  5. package/dist/oh.js +0 -6964
package/NOTICE CHANGED
@@ -1,4 +1,4 @@
1
- Open Harness
1
+ AGRO
2
2
  Copyright 2026 Ryan Eggleston, d/b/a Mifune Dev (mifune.dev)
3
3
 
4
4
  This product includes software developed at Mifune Dev (https://mifune.dev).
@@ -22,6 +22,6 @@ Trademarks
22
22
 
23
23
  Apache License, Version 2.0, Section 6 grants no permission to use the
24
24
  trade names, trademarks, service marks, or product names of the Licensor
25
- -- including "Mifune" and "Open Harness", their logos, or associated trade
25
+ -- including "Mifune" and "AGRO", their logos, or associated trade
26
26
  dress -- beyond the reasonable and customary use in describing the origin
27
27
  of the Work that Section 6 itself allows.
package/README.md CHANGED
@@ -40,18 +40,6 @@ curl -fsSL https://agro.mifune.dev/get-agro.sh | bash
40
40
  npm will not install Node for you.
41
41
  - **Docker** and **git** for the sandbox lifecycle commands (`agro sandbox install`, `agro shell`).
42
42
 
43
- ## Compatibility: `oh`
44
-
45
- `oh` is the compatibility entry point for `agro`. It ships as the npm package
46
- [`@mifune/openharness`](https://www.npmjs.com/package/@mifune/openharness), which
47
- contains no CLI code of its own: its only file imports the `agro` bundle from an
48
- exact-pinned `@mifune/agro` dependency. The two packages expose disjoint executables
49
- (`agro` and `oh`), can be installed together, and removing either never removes the
50
- other's executable. `oh --help` ends with a line that names `agro` as the canonical
51
- CLI; everything else about `oh` — the `.agro/` control plane, `agro.json`, `OH_*`
52
- variables, `~/.oh/sandboxes` — is unchanged, and `agro` reads and writes exactly the
53
- same files.
54
-
55
43
  ## Quick start
56
44
 
57
45
  Create a sandbox from any directory — no project checkout needed:
@@ -66,7 +54,7 @@ To bind one of your own checkouts into the sandbox, equip it and pass `--checkou
66
54
 
67
55
  ```bash
68
56
  cd your-project
69
- oh update # vendor .agro/ + crons/ — and nothing else (compatibility window)
57
+ agro vendor # vendor .agro/ + crons/ — and nothing else (compatibility window)
70
58
  agro sandbox install docker --checkout "$PWD" --name your-project
71
59
  ```
72
60
 
@@ -91,7 +79,7 @@ agro tool install agent-browser # asks before the ~1 GB Chromium download
91
79
  `agro harness` and `agro tool` also run **inside** the sandbox, where they install
92
80
  into the current environment instead of driving the container over Docker
93
81
  Compose. Detection is automatic (`/.dockerenv` plus `SANDBOX_NAME`); override it
94
- with `OH_EXECUTION_TARGET=local` or `OH_EXECUTION_TARGET=docker-compose`.
82
+ with `AGRO_EXECUTION_TARGET=local` or `AGRO_EXECUTION_TARGET=docker-compose`.
95
83
  `agro sandbox install` remains host-only and says so.
96
84
 
97
85
  ## Commands
@@ -106,10 +94,10 @@ with `OH_EXECUTION_TARGET=local` or `OH_EXECUTION_TARGET=docker-compose`.
106
94
  | `agro logs [name]` | Tail the sandbox compose logs. |
107
95
  | `agro ps [name]` | Show sandbox service status. |
108
96
  | `agro destroy [name] [--yes]` | Remove the sandbox, wipe its named volumes (`docker compose down -v`), then delete the registry entry. Names the volumes, then requires you to type the sandbox name; refuses without a TTY unless `--yes` is passed. |
109
- | `agro update [--dry-run]` | Upgrade the installed `agro` executable and nothing else, through the mechanism that installed it: npm-managed (`npm view` + `npm install -g --prefix <owning prefix> @mifune/agro@<version>`) or standalone (download `AGRO_JS_URL`, falling back to `OH_JS_URL` and defaulting to the latest `agro.js` release asset; verify its shebang and `--version`; rename it over the file; keep `<path>.prev` until the new file verifies). Refuses image-shipped, source-checkout, legacy-package, unresolvable, read-only, PATH-shadowed, and downgrade cases with the supported procedure; never uses `sudo`; a no-op when current. Project payload vendoring is `oh update` — see the compatibility note below. |
97
+ | `agro update [--dry-run]` | Upgrade the installed `agro` executable and nothing else, through the mechanism that installed it: npm-managed (`npm view` + `npm install -g --prefix <owning prefix> @mifune/agro@<version>`) or standalone (download `AGRO_JS_URL`, falling back to `AGRO_JS_URL` and defaulting to the latest `agro.js` release asset; verify its shebang and `--version`; rename it over the file; keep `<path>.prev` until the new file verifies). Refuses image-shipped, source-checkout, legacy-package, unresolvable, read-only, PATH-shadowed, and downgrade cases with the supported procedure; never uses `sudo`; a no-op when current. Project payload vendoring is `agro vendor` — see the compatibility note below. |
110
98
  | `agro config show [--sandbox <name>]` | Print the resolved `agro.json` — every non-secret setting. |
111
99
  | `agro config set <field> <value> [--sandbox <name>]` | Set one dotted `agro.json` field (`access.sshPort 2200`), validated against the schema. A secret key is refused with a pointer at `agro secret set`. |
112
- | `agro config repo` | Create a repo on your GitHub account, keep the cloned-from upstream as the `openharness` remote, point `origin` at yours, and push. Asks first and defaults to no; never runs without an interactive yes. |
100
+ | `agro config repo` | Create a repo on your GitHub account, keep the cloned-from upstream as the `agro` remote, point `origin` at yours, and push. Asks first and defaults to no; never runs without an interactive yes. |
113
101
  | `agro config <integration>` | Configure an integration via an interactive wizard. |
114
102
  | `agro secret set <KEY> [--sandbox <name>]` | Prompt for the value with the input hidden and write it to the gitignored `.env` (mode `0600`). The value is never taken from the command line, where shell history would keep it. |
115
103
  | `agro secret list [--sandbox <name>]` | List the allow-listed keys that hold a value, with the values redacted. |
@@ -127,17 +115,17 @@ two homes — a sandbox's registry entry (`--sandbox <name>`) and the project ro
127
115
  [configuration](https://github.com/mifunedev/agro/blob/main/docs/configuration.md)
128
116
  for the field reference.
129
117
 
130
- `agro` (or `oh`) is the only lifecycle door, on the host and in the sandbox, and every verb
118
+ `agro` is the only lifecycle door, on the host and in the sandbox, and every verb
131
119
  runs `.agro/scripts/docker-compose.sh` — see
132
120
  [lifecycle commands](https://github.com/mifunedev/agro/blob/main/docs/lifecycle-commands.md), which also
133
121
  states the confirmation policy `agro destroy` carries.
134
122
 
135
- `agro update` never touches a project. During the compatibility window `oh update` vendors
123
+ `agro update` never touches a project. During the compatibility window `agro vendor` vendors
136
124
  `.agro/` + `crons/` into the current directory, equipping an empty checkout and upgrading an
137
125
  equipped one (`--from <dir>` / `--from-remote [--ref <ref>]`, `--dry-run`, `--force`); it
138
126
  writes nothing else and never prompts. `agro update` rejects those flags and points at
139
- `oh update`. `oh update` prefers the payload bundled into the CLI itself; with `--from-remote`
140
- (or no payload at all) it shallow-clones the public OpenHarness repo into a temp dir and
127
+ `agro vendor`. `agro vendor` prefers the payload bundled into the CLI itself; with `--from-remote`
128
+ (or no payload at all) it shallow-clones the public AGRO repo into a temp dir and
141
129
  removes it after the run (`--ref <ref>` pins it). Root `docs/` remains project-owned and is
142
130
  not part of that payload. Catalog and help output therefore links to the AGRO source
143
131
  documentation instead of a path inside the equipped project.