@marcusrbrown/infra 0.26.2 → 0.27.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 +5 -1
  2. package/dist/cli.js +1541 -423
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -188,9 +188,13 @@ bunx @marcusrbrown/infra vpn client remove laptop
188
188
 
189
189
  ```bash
190
190
  bunx @marcusrbrown/infra status # all deployments
191
- bunx @marcusrbrown/infra status --json # machine-readable output
191
+ bunx @marcusrbrown/infra status --json # schema-versioned typed observations
192
192
  ```
193
193
 
194
+ The table has one row per app and the columns `App | Reachability | Container | Deploy | End-to-end | Resource`. Each cell is the worst result of that kind (`pass`, `fail`, `unknown`, `not measured`), and `—` marks a kind the app does not declare. Deploy and End-to-end read `not measured` until their readers land.
195
+
196
+ `status --json` prints `{schemaVersion, generatedAt, apps}`. Each entry in `apps` has `app`, `observations` and `facts`. An observation has `id`, `kind`, `result`, `observedAt` (null when `not_measured`), `source` and an optional bounded `detail`. `unknown` means the check could not decide; `not_measured` means it was never attempted (for example, a missing host variable). A failing collector makes only its own observations `unknown`. `facts` holds non-check values: versions, content hash, usage, last deploy, and the gateway's `workspace` memory status. The exit code is always 0; read the JSON for health. The per-app `<app> status --json` output is unchanged.
197
+
194
198
  ### MCP Bridge
195
199
 
196
200
  Starts a stdio MCP server exposing a read-only allowlist of exactly 9 status commands as tools: `gateway status`, `cliproxy status`, `cliproxy models`, `keeweb status`, `umami status`, `dashboard status`, `vpn status`, `broker status`, and unified `status`. Every mutating command is deliberately excluded from the allowlist.