@haven_ai/connect 0.4.0-alpha.0 → 0.5.0-alpha.1

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.
package/README.md CHANGED
@@ -159,7 +159,9 @@ minutes. Two rules follow:
159
159
  This replaces the directory's signer wrapper with a diagnostic that logs the
160
160
  retirement (agent id, date, reason, restart guidance) to the host's MCP
161
161
  stderr log on every probe, and records it in `TOMBSTONE.json` for
162
- `--doctor`. It touches no key material and revokes nothing — revoke the
162
+ `--doctor` — with a copy in `~/.haven/tombstones/` (or `.tombstones/` inside
163
+ a custom credentials root), so the retirement stays visible after the
164
+ directory is deleted. It touches no key material and revokes nothing — revoke the
163
165
  agent on the Haven agent page yourself. Delete the tombstone only once every
164
166
  long-lived host has been restarted.
165
167
 
@@ -173,7 +175,12 @@ minutes. Two rules follow:
173
175
  and a refusal is `{"tombstoned": false, "error": {"code", "next_action"}}`
174
176
  with exit 1 — so check the result rather than assuming silence means success
175
177
  (#2175). The `message` field is present only for connector-authored refusals;
176
- an unexpected filesystem error keeps its raw text on stderr alone.
178
+ an unexpected filesystem error keeps its raw text on stderr alone. If only the
179
+ surviving copy fails — the directory IS tombstoned — the run still succeeds
180
+ with `"recordPath": null` and `"mirrorError"` set to the errno code (or
181
+ `mirror_write_failed` when there is none), and `--unwire --json` carries the
182
+ same as `mirror_error`; `--replace` still removes the old directory's key
183
+ files and names the failure in `retirement_mirror_errors` (#3259).
177
184
 
178
185
  ### Unwiring an agent (`--unwire`, #2169)
179
186
 
@@ -350,7 +357,8 @@ read-only verification tools, `hosted_mcp_url`, `superseded_agent_ids`,
350
357
  `existing_agents_before_write` (#3122 — the other live-keyed directories named
351
358
  before the first write, each with the account it spends from), and — on a run
352
359
  that replaced existing wiring — `superseded_agents_retired_locally` with
353
- `retired_agent_ids`; `server_name_rebound_from` (#3122) appears only when the
360
+ `retired_agent_ids`, plus `retirement_mirror_errors` (#3259) only when a retired
361
+ directory's surviving ledger record could not be written; `server_name_rebound_from` (#3122) appears only when the
354
362
  run took a server name over from another directory's local binding record. It
355
363
  contains no API key, private key, credential
356
364
  contents, full credential paths, or full delegate address. The same redacted
@@ -640,6 +648,7 @@ across the rest is yours.
640
648
  ## Diagnosing a stuck setup: `--doctor` / `--repair` (#1589)
641
649
 
642
650
  ```bash
651
+ npx @haven_ai/connect@<channel> --doctor
643
652
  npx @haven_ai/connect@<channel> --doctor --runtime codex-desktop
644
653
  npx @haven_ai/connect@<channel> --doctor --repair --runtime codex-desktop
645
654
  ```
@@ -649,6 +658,16 @@ not indifferent: `signer_runtime` compares the sidecar against the manifest of
649
658
  the connector **that runs the check**, so a doctor from another channel reports
650
659
  a skew that is not there. Use the channel your dashboard hands out.
651
660
 
661
+ `--runtime` is optional for `--doctor` and required for `--repair` (#3210).
662
+ Without the flag the doctor checks the runtime the setup recorded in the
663
+ agent directory's `last-connect-outcome.json` (#3120), and the `runtime_config`
664
+ verdict says which runtime it resolved and from which file; when no
665
+ record names one, the `runtime_config` check FAILS with "Runtime is unknown —
666
+ the runtime config was NOT checked" and the exit code is 1 — never a pass on a
667
+ config it did not open. `--repair` rewrites that config, so the runtime it
668
+ rewrites is named on the command line rather than inherited from a record on
669
+ disk: a flagless `--repair` is refused before anything runs.
670
+
652
671
  `--doctor` is read-only and needs NO setup token: it checks the runtime config,
653
672
  the agent credential files, the pinned signer runtime install (and, since
654
673
  #2424, whether that install was made under a local runtime-spec override —