@topolo/mcp 0.14.3 → 0.14.4

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
@@ -59,7 +59,7 @@ must not use an `npx` launcher because that makes startup network-dependent.
59
59
 
60
60
  Local stdio action results return `topolo-secret:<id>` references instead of
61
61
  bearer credentials. Pass these references unchanged to subsequent published
62
- actions; SDK 0.21.3 resolves them internally using the OS protected store and
62
+ actions; SDK 0.21.4 resolves nonempty string credentials internally using the OS protected store and
63
63
  masks them in plans and diagnostics. Entries are bound to the verified
64
64
  principal, organization, API key identity when present, and environment.
65
65
  References expire after 30 minutes; accessing an expired entry deletes it.
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  // src/index.ts
4
4
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
5
5
 
6
- // node_modules/.pnpm/@topolo+sdk@0.21.3/node_modules/@topolo/sdk/dist/index.js
6
+ // node_modules/.pnpm/@topolo+sdk@0.21.4/node_modules/@topolo/sdk/dist/index.js
7
7
  function applyAuthHeaders(headers, credential) {
8
8
  if (credential.kind === "api_key") {
9
9
  headers.set("X-Api-Key", credential.apiKey);
@@ -372,7 +372,8 @@ async function resolveActionSecrets(value, store, secrets) {
372
372
  if (isActionSecretReference(value)) {
373
373
  if (!store) throw new TopoloSdkError("action_secret_store_required", "Protected action references require a secret store.");
374
374
  const resolved = await store.load(value);
375
- if (typeof resolved === "string" && resolved) secrets.set(resolved, value);
375
+ if (typeof resolved !== "string" || !resolved) throw new TopoloSdkError("action_secret_unsupported_type", "Protected action handoff requires a nonempty string credential.");
376
+ secrets.set(resolved, value);
376
377
  return resolved;
377
378
  }
378
379
  if (Array.isArray(value)) return Promise.all(value.map((item) => resolveActionSecrets(item, store, secrets)));
@@ -3327,7 +3328,7 @@ function createTopolo(options) {
3327
3328
  };
3328
3329
  }
3329
3330
 
3330
- // node_modules/.pnpm/@topolo+sdk@0.21.3/node_modules/@topolo/sdk/dist/node/credential-store.js
3331
+ // node_modules/.pnpm/@topolo+sdk@0.21.4/node_modules/@topolo/sdk/dist/node/credential-store.js
3331
3332
  import { mkdir as mkdir2, readFile as readFile2, writeFile as writeFile2, chmod as chmod2, rm as rm2, stat } from "fs/promises";
3332
3333
  import { existsSync as existsSync2 } from "fs";
3333
3334
  import { homedir as homedir2, platform } from "os";
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@topolo/mcp",
3
3
  "packageManager": "pnpm@10.17.1",
4
- "version": "0.14.3",
5
- "topoloPublishedVersion": "0.14.3",
4
+ "version": "0.14.4",
5
+ "topoloPublishedVersion": "0.14.4",
6
6
  "description": "Model Context Protocol server for the Topolo platform. Exposes scope-gated tools that third-party agents (Claude, Codex, etc.) can call natively.",
7
7
  "license": "UNLICENSED",
8
8
  "author": "Topolo",
@@ -36,7 +36,7 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "@modelcontextprotocol/sdk": "^1.0.0",
39
- "@topolo/sdk": "0.21.3"
39
+ "@topolo/sdk": "0.21.4"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/node": "^20.12.0",