@haven_ai/connect 0.7.0-alpha.0 → 0.8.1-alpha.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.
package/README.md CHANGED
@@ -392,7 +392,8 @@ also yields one rather than failing a completed setup.
392
392
 
393
393
  **The dashboard offers the revoke, never the connector (#2561).** The same ids
394
394
  now ride the install-status report, so the Haven dashboard can put a
395
- one-click revoke next to the setup that displaced them. The connector does not
395
+ revoke next to the setup that displaced them; it also ends the agent's budget
396
+ with one owner signature (#3542). The connector does not
396
397
  and must not do it: `POST /agents/:id/revoke` is owner-authenticated, and an
397
398
  agent credential retiring a sibling agent is the "agent editing its own
398
399
  authority" the re-key routes refuse. Nothing is revoked automatically — the
@@ -516,9 +517,9 @@ already-configured machine behaves as follows (characterized in
516
517
  refuses with `wiring_collision` — nothing written, token still unused —
517
518
  naming the superseded agent ids and the two flags that resolve it. The
518
519
  refusal is written as a **relay instruction**: an agent running the
519
- dashboard's command may append only `--json` (and `--runtime` after a
520
- runtime refusal), so it must hand the choice to its user rather than add
521
- a flag itself, and re-run only with the flag the user picks.
520
+ dashboard's command must hand the choice to its user rather than add a
521
+ flag itself. The setup prompt then permits one re-run with the flag the
522
+ user picks (#3689), on top of `--json` and a `--runtime` retry.
522
523
  - **`--replace`** is the unattended answer "yes, replace". `--name <slug>`
523
524
  installs alongside. Passing both is a usage error — they contradict.
524
525
  - **Replacing re-points the bare pair, then retires the previous directory
package/dist/cli.cjs CHANGED
@@ -620,9 +620,9 @@ var init_runtime_manifest = __esm({
620
620
  mcpPackage: "@haven_ai/mcp",
621
621
  mcpVersion: mcp.MCP_VERSION,
622
622
  sdkPackage: "@haven_ai/sdk",
623
- sdkVersion: "0.7.0-alpha.0",
623
+ sdkVersion: "0.8.1-alpha.0",
624
624
  signerPackage: "@haven_ai/signer",
625
- signerVersion: "0.7.0-alpha.0",
625
+ signerVersion: "0.8.1-alpha.0",
626
626
  // Sourced from the SDK, never a literal (#1161). This field read '20.0.0'
627
627
  // while every package's `engines` said `>=24` and the docs said `>=24.0.0`,
628
628
  // so the guard that was supposed to enforce the floor waved Node v23 through
@@ -4451,7 +4451,7 @@ var init_runtime = __esm({
4451
4451
  init_tombstone();
4452
4452
  init_local_mcp_runtime();
4453
4453
  init_runtime_manifest();
4454
- CONNECTOR_VERSION = "0.7.0-alpha.0";
4454
+ CONNECTOR_VERSION = "0.8.1-alpha.0";
4455
4455
  CONNECTOR_CLIENT_IDENTITY = `@haven_ai/connect/${CONNECTOR_VERSION}`;
4456
4456
  CONNECT_OUTCOME_SCHEMA_VERSION = 1;
4457
4457
  failureOutcomesByError = /* @__PURE__ */ new WeakMap();
@@ -4976,19 +4976,18 @@ async function discoverCredentialDirectory(homeDir, explicit) {
4976
4976
  const parkedOnly = [];
4977
4977
  for (const entry of entries) {
4978
4978
  const directory = path.join(root, entry);
4979
+ if (await pathExists3(path.join(directory, TOMBSTONE_FILENAME))) {
4980
+ tombstonedOnly.push(directory);
4981
+ continue;
4982
+ }
4979
4983
  try {
4980
4984
  const s = await promises.stat(path.join(directory, "identity.json"));
4981
4985
  candidates.push({ directory, mtimeMs: s.mtimeMs });
4982
4986
  } catch {
4983
4987
  try {
4984
- await promises.stat(path.join(directory, TOMBSTONE_FILENAME));
4985
- tombstonedOnly.push(directory);
4988
+ await promises.stat(path.join(directory, REKEY_PENDING_FILENAME));
4989
+ parkedOnly.push(directory);
4986
4990
  } catch {
4987
- try {
4988
- await promises.stat(path.join(directory, REKEY_PENDING_FILENAME));
4989
- parkedOnly.push(directory);
4990
- } catch {
4991
- }
4992
4991
  }
4993
4992
  }
4994
4993
  }