@troxy/cli 0.1.7 → 0.1.9

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@troxy/cli",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "AI payment control — protect your agent's payments with policies",
5
5
  "type": "module",
6
6
  "bin": {
package/src/mcp-server.js CHANGED
@@ -105,12 +105,16 @@ export async function runMcp() {
105
105
  };
106
106
  });
107
107
 
108
- const transport = new StdioServerTransport();
109
- await server.connect(transport);
110
-
111
- // Heartbeat: tell the dashboard this MCP server is active
108
+ // Heartbeat: tell the dashboard this MCP server is active.
109
+ // Must be set up before server.connect() since stdio transport keeps the
110
+ // event loop running but connect() may not return in all environments.
112
111
  const sendHeartbeat = () =>
113
- api.mcpHeartbeat(apiKey).catch(() => {}); // silent — don't crash MCP on network error
112
+ api.mcpHeartbeat(apiKey)
113
+ .then(() => process.stderr.write('[troxy] heartbeat ok\n'))
114
+ .catch(err => process.stderr.write(`[troxy] heartbeat failed: ${err.message}\n`));
114
115
  sendHeartbeat();
115
116
  setInterval(sendHeartbeat, 60_000);
117
+
118
+ const transport = new StdioServerTransport();
119
+ await server.connect(transport);
116
120
  }