@topolo/cli 0.13.13 → 0.13.16

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/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@topolo/cli",
3
3
  "packageManager": "pnpm@10.17.1",
4
- "version": "0.13.13",
5
- "topoloPublishedVersion": "0.13.13",
4
+ "version": "0.13.16",
5
+ "topoloPublishedVersion": "0.13.16",
6
6
  "description": "Public command-line interface for Topolo customer organizations, developers, and agents.",
7
7
  "license": "UNLICENSED",
8
8
  "author": "Topolo",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@modelcontextprotocol/sdk": "1.31.0",
34
- "@topolo/mcp": "0.14.27",
34
+ "@topolo/mcp": "0.14.30",
35
35
  "@topolo/sdk": "0.23.22",
36
36
  "commander": "^12.1.0",
37
37
  "undici": "6.29.0"
@@ -67,8 +67,16 @@ TOPOLO_CONTEXT=org:org_acme topolo --env production whoami --json
67
67
  TOPOLO_CONTEXT=org:org_acme topolo --env production actions --service brand --json
68
68
  ```
69
69
 
70
- The CLI keeps this pin through credential refresh and never changes the shared
71
- active context. A missing pinned credential does not select another context.
70
+ `topolo --context <key> <command>` pins one command the same way. The CLI keeps
71
+ this pin through credential refresh and never changes the stored default
72
+ context. A missing pinned credential does not select another context.
73
+
74
+ There is no implicit default: when several contexts are signed in for an
75
+ environment, any command or MCP without `--context`/`TOPOLO_CONTEXT` refuses
76
+ ("the context is no longer safe to assume"). Pin the context; do not run
77
+ `topolo context use` to work around the refusal. `topolo auth login` never moves
78
+ the stored default and prints which user and organization were approved; check
79
+ that line, because the browser may approve a different account than intended.
72
80
 
73
81
  For concurrent agents or multiple MCP connections, never coordinate by changing
74
82
  one shared active context. Register each pinned context through the CLI so it
@@ -79,6 +87,8 @@ topolo setup --name topolo-acme --context org:org_acme --env production
79
87
  topolo doctor --name topolo-acme
80
88
  ```
81
89
 
90
+ Every registration setup writes pins `TOPOLO_ENV` and `TOPOLO_CONTEXT`; without
91
+ `--context` it pins the only signed-in context and refuses when there are several.
82
92
  The context selector accepts an
83
93
  exact key returned by `topolo context ls --json` (such as `personal` or
84
94
  `org:<orgId>`) or a unique stored organization id, slug, or name. Each process
@@ -270,6 +280,13 @@ Local deletion does not revoke the upstream credential; use its published
270
280
  revocation action separately when required. Other SDK/remote hosts keep
271
281
  redaction unless they explicitly provide a protected store.
272
282
 
283
+ The only supported way to put a referenced API key on disk is an
284
+ operator-approved custody file:
285
+ `topolo credentials write-custody <reference> --out <absolute-dir> --app <appId> --api-key-id <id> --confirm --json`
286
+ verifies the key against Auth, writes 0600 `api-key.json` and `custody.json`
287
+ (metadata and a SHA-256 digest only) into a 0700 directory, prints no secret,
288
+ and deletes the local reference without revoking the upstream key.
289
+
273
290
  ## Generic public API escape hatch
274
291
 
275
292
  Only when public docs provide a complete contract: