@haven_ai/connect 0.0.0-dev.202609031827.893d74f → 0.0.0-dev.202609040858.f4467bb

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
@@ -8,14 +8,17 @@ public signing address, proof signature, and API-key hash. Haven never receives
8
8
  the private key or plaintext API key.
9
9
 
10
10
  ```sh
11
- npx -y @haven_ai/connect@alpha --setup hv_setup_... --api https://api.haven.example --ack-local-tools --runtime claude-code
11
+ npx -y @haven_ai/connect@<channel> --setup hv_setup_... --api https://api.haven.example --ack-local-tools --runtime claude-code
12
12
  ```
13
13
 
14
- `@alpha` is the **production** channel, and the Haven dashboard hands you the
15
- exact command to run — copy that rather than this one, which uses placeholder
16
- values. Since #2422 the package in it is per-deployment: the backend's setup
17
- response names it in `connector_package`, and a non-production deployment can be
18
- configured to hand out a different channel such as `@haven_ai/connect@dev`.
14
+ `<channel>` is a placeholder, like `hv_setup_...` and the API URL beside it:
15
+ **the Haven dashboard hands you the exact command to run — copy that one.** The
16
+ channel is per-deployment and has been since #2422: the backend's setup response
17
+ names the whole package in `connector_package`, production hands out
18
+ `@haven_ai/connect@alpha`, and a non-production deployment can be configured to
19
+ hand out another, such as `@haven_ai/connect@dev`. This README ships inside every
20
+ channel's tarball and is the npm landing page for all of them, so a literal here
21
+ would be wrong for every reader it did not describe (#2515).
19
22
  Read `connector_package` rather than assuming any particular backend's channel. Pinning `@alpha` by hand against such a backend
20
23
  installs a signer that skews against it — the signer refuses to sign an
21
24
  `x402_expected_context_version` it does not know.
@@ -102,9 +105,12 @@ minutes. Two rules follow:
102
105
  2. **Tombstone a directory before (or instead of) deleting it:**
103
106
 
104
107
  ```
105
- npx @haven_ai/connect@alpha --tombstone ~/.haven/agents/<directory> --reason "superseded" --json
108
+ npx @haven_ai/connect@<channel> --tombstone ~/.haven/agents/<directory> --reason "superseded" --json
106
109
  ```
107
110
 
111
+ `<channel>` is the placeholder defined under the first example; this command
112
+ rewrites local files only, so any published connector does the same job.
113
+
108
114
  This replaces the directory's signer wrapper with a diagnostic that logs the
109
115
  retirement (agent id, date, reason, restart guidance) to the host's MCP
110
116
  stderr log on every probe, and records it in `TOMBSTONE.json` for
@@ -132,10 +138,13 @@ Hermes) the `MCP_HAVEN_API_KEY` dotenv line behind, and the runtime quoted as
132
138
  one agent while signing as another. `--unwire` is the erase half:
133
139
 
134
140
  ```
135
- npx @haven_ai/connect@alpha --unwire ~/.haven/agents/<directory> [--reason "..."]
136
- npx @haven_ai/connect@alpha --unwire --name research [--reason "..."]
141
+ npx @haven_ai/connect@<channel> --unwire ~/.haven/agents/<directory> [--reason "..."]
142
+ npx @haven_ai/connect@<channel> --unwire --name research [--reason "..."]
137
143
  ```
138
144
 
145
+ `<channel>` is the placeholder defined under the first example; `--unwire`
146
+ touches local files only, so any published connector does the same job.
147
+
139
148
  It tombstone-first (so a stale long-lived host still hears `HAVEN-TOMBSTONE`,
140
149
  never a masked `ENOENT`), then removes THAT agent's hosted + signer pair from
141
150
  every runtime config it appears in (Hermes YAML, Codex TOML, the Cursor / VS
@@ -282,12 +291,12 @@ directory, so several agents coexist in one runtime instead of replacing each
282
291
  other:
283
292
 
284
293
  ```sh
285
- npx -y @haven_ai/connect@alpha --setup hv_setup_... --api https://api.haven.example \
294
+ npx -y @haven_ai/connect@<channel> --setup hv_setup_... --api https://api.haven.example \
286
295
  --name research --runtime claude-code
287
296
  ```
288
297
 
289
- As above, `@alpha` here is the production channel and the placeholders are
290
- illustrative: take the package from the setup response's `connector_package`
298
+ As above, `<channel>` is a placeholder like the rest of this line: take the
299
+ package from the setup response's `connector_package`
291
300
  and add `--name` to the command the dashboard gave you.
292
301
 
293
302
  | | Without `--name` | With `--name research` |
@@ -328,13 +337,13 @@ design. So it runs in two phases with the dashboard between them:
328
337
 
329
338
  ```sh
330
339
  # 1. On this machine: generate the new key, print its public address.
331
- npx -y @haven_ai/connect@alpha --rekey [--name research]
340
+ npx -y @haven_ai/connect@<channel> --rekey [--name research]
332
341
 
333
342
  # 2. In the dashboard: agent → Replace signing key → paste that address.
334
343
  # Sign the steps. It shows a new API key ONCE.
335
344
 
336
345
  # 3. Back here: write the new credentials and rewire this agent's MCP pair.
337
- npx -y @haven_ai/connect@alpha --rekey-finish --api-key sk_agent_... \
346
+ npx -y @haven_ai/connect@<channel> --rekey-finish --api-key sk_agent_... \
338
347
  --runtime claude-code [--name research]
339
348
  ```
340
349
 
@@ -342,8 +351,8 @@ npx -y @haven_ai/connect@alpha --rekey-finish --api-key sk_agent_... \
342
351
  Since [#2423](https://github.com/d-hinders/Haven-AI/issues/2423) the connector
343
352
  builds that command from the npm dist-tag **it** was published under, so a build
344
353
  installed from a non-production channel tells you to finish with that same
345
- channel rather than sending you to production mid-re-key. `@alpha` here is the
346
- production channel and is right for a production install; it is not right for
354
+ channel rather than sending you to production mid-re-key. `@alpha` is what
355
+ production hands out and is right for a production install; it is not right for
347
356
  every install, which is why the tool computes it and this page cannot.
348
357
 
349
358
  Between the two phases nothing has changed: the agent keeps working on its old
@@ -372,10 +381,15 @@ across the rest is yours.
372
381
  ## Diagnosing a stuck setup: `--doctor` / `--repair` (#1589)
373
382
 
374
383
  ```bash
375
- npx @haven_ai/connect@alpha --doctor --runtime codex-desktop
376
- npx @haven_ai/connect@alpha --doctor --repair --runtime codex-desktop
384
+ npx @haven_ai/connect@<channel> --doctor --runtime codex-desktop
385
+ npx @haven_ai/connect@<channel> --doctor --repair --runtime codex-desktop
377
386
  ```
378
387
 
388
+ `<channel>` is the placeholder defined under the first example — and here it is
389
+ not indifferent: `signer_runtime` compares the sidecar against the manifest of
390
+ the connector **that runs the check**, so a doctor from another channel reports
391
+ a skew that is not there. Use the channel your dashboard hands out.
392
+
379
393
  `--doctor` is read-only and needs NO setup token: it checks the runtime config,
380
394
  the agent credential files, the pinned signer runtime install (and, since
381
395
  #2424, whether that install was made under a local runtime-spec override —
@@ -429,9 +443,11 @@ A value is anything `npm install` accepts for that package: a checkout
429
443
  command — the command itself is unchanged:
430
444
 
431
445
  ```bash
432
- HAVEN_SIGNER_SPEC=file:$PWD/packages/signer npx @haven_ai/connect@alpha --setup <token> --runtime claude-code
446
+ HAVEN_SIGNER_SPEC=file:$PWD/packages/signer npx @haven_ai/connect@<channel> --setup <token> --runtime claude-code
433
447
  ```
434
448
 
449
+ `<channel>` is the placeholder defined under the first example.
450
+
435
451
  Environment variables rather than a flag, deliberately: the install runs from
436
452
  three entry points (`--setup`, `--doctor --repair`, `--rekey-finish`) and all
437
453
  three honour the same variables, so a re-key cannot silently reinstall the
package/dist/cli.cjs CHANGED
@@ -535,9 +535,9 @@ var init_runtime_manifest = __esm({
535
535
  mcpPackage: "@haven_ai/mcp",
536
536
  mcpVersion: mcp.MCP_VERSION,
537
537
  sdkPackage: "@haven_ai/sdk",
538
- sdkVersion: "0.0.0-dev.202609031827.893d74f",
538
+ sdkVersion: "0.0.0-dev.202609040858.f4467bb",
539
539
  signerPackage: "@haven_ai/signer",
540
- signerVersion: "0.0.0-dev.202609031827.893d74f",
540
+ signerVersion: "0.0.0-dev.202609040858.f4467bb",
541
541
  // Sourced from the SDK, never a literal (#1161). This field read '20.0.0'
542
542
  // while every package's `engines` said `>=24` and the docs said `>=24.0.0`,
543
543
  // so the guard that was supposed to enforce the floor waved Node v23 through
@@ -4270,7 +4270,7 @@ function defaultPromptIo() {
4270
4270
  // src/runtime.ts
4271
4271
  init_local_mcp_runtime();
4272
4272
  init_runtime_manifest();
4273
- var CONNECTOR_VERSION = "0.0.0-dev.202609031827.893d74f";
4273
+ var CONNECTOR_VERSION = "0.0.0-dev.202609040858.f4467bb";
4274
4274
  var CONNECT_OUTCOME_SCHEMA_VERSION = 1;
4275
4275
  var failureOutcomesByError = /* @__PURE__ */ new WeakMap();
4276
4276
  function failureOutcomeFor(runtimeHint, error) {