@thalovant/mcp-server 0.1.18 → 0.1.19

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/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.19
4
+
5
+ - Require Node SDK 0.3.5 or newer so runtime tools receive secure MQTT URL enforcement and bounded MQTT setup and HTTP failure cleanup.
6
+ - Keep package, registry, and container source metadata on version 0.1.19. Runtime tool names, inputs, and identity serialization remain compatible.
7
+
3
8
  ## 0.1.18
4
9
 
5
10
  - Serialize runtime tool calls sharing a hub client identity so concurrent calls cannot replace each other's Noise sessions or HTTP message queues. Different identities remain independent.
package/README.md CHANGED
@@ -399,7 +399,9 @@ Runtime calls sharing the same hub client identity run sequentially within one
399
399
  MCP process. Use a distinct client identity for each independently running MCP
400
400
  server so the hub can keep their sessions separate.
401
401
 
402
- Version 0.1.18 uses `@thalovant/sdk` 0.3.4 or newer. Runtime tools support
402
+ Version 0.1.19 uses `@thalovant/sdk` 0.3.5 or newer. This release enforces
403
+ secure effective MQTT URLs and carries a single connection deadline through
404
+ MQTT setup and HTTP failure cleanup. Runtime tools support
403
405
  HiveMind v3 Noise over WSS, HTTPS and MQTT over TLS. `thalovant_healthcheck`
404
406
  reports readiness only after authentication; a reachable hub or broker alone
405
407
  does not establish a runtime session.
package/dist/index.js CHANGED
@@ -654,6 +654,11 @@ async function createRuntimeClient(options) {
654
654
  // The hub HTTP/MQTT queues and Noise sessions are keyed by client identity.
655
655
  // A second tool call must finish after the first closes that identity's session.
656
656
  const runtimeLeases = new Map();
657
+ /**
658
+ * Hold an identity lease through both the tool action and client cleanup.
659
+ * This keeps HTTP/MQTT admissions from replacing another call's Noise session;
660
+ * a failed action still closes its client before the next lease starts.
661
+ */
657
662
  async function withRuntimeClient(options, run) {
658
663
  const client = await createRuntimeClient(options);
659
664
  const key = createHash("sha256").update(JSON.stringify([
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thalovant/mcp-server",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
4
4
  "description": "Stdio and Streamable HTTP MCP server for Thalovant control-plane and hub runtime APIs.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -64,7 +64,7 @@
64
64
  },
65
65
  "dependencies": {
66
66
  "@modelcontextprotocol/sdk": "^1.30.0",
67
- "@thalovant/sdk": "^0.3.4",
67
+ "@thalovant/sdk": "^0.3.5",
68
68
  "jose": "^6.2.8",
69
69
  "zod": "^3.25.76"
70
70
  },
package/server.json CHANGED
@@ -7,19 +7,19 @@
7
7
  "url": "https://github.com/thalovant/thalovant-mcp",
8
8
  "source": "github"
9
9
  },
10
- "version": "0.1.18",
10
+ "version": "0.1.19",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "@thalovant/mcp-server",
15
- "version": "0.1.18",
15
+ "version": "0.1.19",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  }
19
19
  },
20
20
  {
21
21
  "registryType": "oci",
22
- "identifier": "ghcr.io/thalovant/thalovant-mcp:0.1.18",
22
+ "identifier": "ghcr.io/thalovant/thalovant-mcp:0.1.19",
23
23
  "transport": {
24
24
  "type": "streamable-http",
25
25
  "url": "http://127.0.0.1:3000/mcp"