Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

network-ai

Package Overview
Dependencies
Maintainers
1
Versions
56
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

network-ai - npm Package Compare versions

Comparing version
3.9.0
to
4.0.0
+266
bin/mcp-server.ts
#!/usr/bin/env node
/**
* Network-AI MCP Server — Phase 6 Part 3
*
* Starts an HTTP/SSE server that exposes the full Network-AI tool suite to
* any MCP-compatible AI agent (Claude Desktop, Cursor, Cline, etc.).
*
* Usage:
* npx ts-node bin/mcp-server.ts [options]
* npx network-ai-server [options] (after clawhub publish)
*
* Options:
* --port <n> TCP port to listen on (default: 3001)
* --host <h> Hostname to bind to (default: 0.0.0.0)
* --board <name> Named blackboard to expose (default: main)
* --ceiling <n> Initial FederatedBudget token ceiling (default: 1_000_000)
* --no-budget Disable budget tools
* --no-token Disable token tools
* --no-extended Disable all extended tools (budget + token + audit)
* --no-control Disable control-plane tools
* --audit-log <path> Path to audit log file (default: ./data/audit_log.jsonl)
* --heartbeat <ms> SSE heartbeat interval in ms (default: 15000)
* --help Print this help text
*
* Connect any MCP client to:
* http://localhost:3001 (SSE stream — GET /sse)
* http://localhost:3001/mcp (JSON-RPC POST)
* http://localhost:3001/health (health check)
* http://localhost:3001/tools (list all tools)
*
* @module bin/mcp-server
* @version 4.0.0
*/
import {
createSwarmOrchestrator,
FederatedBudget,
McpBlackboardBridge,
getConfig,
setConfig,
} from '../index';
import { SecureTokenManager } from '../security';
import {
McpSseServer,
McpCombinedBridge,
McpBlackboardBridgeAdapter,
} from '../lib/mcp-transport-sse';
import { ExtendedMcpTools } from '../lib/mcp-tools-extended';
import { ControlMcpTools } from '../lib/mcp-tools-control';
// ============================================================================
// ARGUMENT PARSING
// ============================================================================
interface ServerArgs {
port: number;
host: string;
board: string;
ceiling: number;
noBudget: boolean;
noToken: boolean;
noExtended: boolean;
noControl: boolean;
auditLog: string;
heartbeat: number;
help: boolean;
}
function parseArgs(argv: string[]): ServerArgs {
const args: ServerArgs = {
port: 3001,
host: '0.0.0.0',
board: 'main',
ceiling: 1_000_000,
noBudget: false,
noToken: false,
noExtended: false,
noControl: false,
auditLog: './data/audit_log.jsonl',
heartbeat: 15000,
help: false,
};
for (let i = 0; i < argv.length; i++) {
const arg = argv[i];
const next = argv[i + 1];
switch (arg) {
case '--port': args.port = parseInt(next ?? '3001', 10); i++; break;
case '--host': args.host = next ?? '0.0.0.0'; i++; break;
case '--board': args.board = next ?? 'main'; i++; break;
case '--ceiling': args.ceiling = parseFloat(next ?? '1000000'); i++; break;
case '--audit-log': args.auditLog = next ?? './data/audit_log.jsonl'; i++; break;
case '--heartbeat': args.heartbeat = parseInt(next ?? '15000', 10); i++; break;
case '--no-budget': args.noBudget = true; break;
case '--no-token': args.noToken = true; break;
case '--no-extended': args.noExtended = true; break;
case '--no-control': args.noControl = true; break;
case '--help': case '-h': args.help = true; break;
}
}
return args;
}
function printHelp(): void {
console.log(`
network-ai-server — Network-AI MCP Server v4.0.0
Usage: npx ts-node bin/mcp-server.ts [options]
Options:
--port <n> TCP port (default: 3001)
--host <h> Bind host (default: 0.0.0.0)
--board <name> Named blackboard to expose (default: main)
--ceiling <n> Budget token ceiling (default: 1000000)
--audit-log <path> Audit log path (default: ./data/audit_log.jsonl)
--heartbeat <ms> SSE heartbeat interval (default: 15000)
--no-budget Disable budget tools
--no-token Disable token tools
--no-extended Disable extended tools (budget + token + audit)
--no-control Disable control-plane tools
--help Show this help
Connect to:
GET http://localhost:3001/sse SSE stream
POST http://localhost:3001/mcp JSON-RPC 2.0 tool calls
GET http://localhost:3001/health Health check
GET http://localhost:3001/tools All available tools
`);
}
// ============================================================================
// MAIN
// ============================================================================
async function main(): Promise<void> {
const args = parseArgs(process.argv.slice(2));
if (args.help) {
printHelp();
process.exit(0);
}
console.log(`\n[network-ai-server] Starting MCP Server v4.0.0`);
console.log(`[network-ai-server] Board: ${args.board} | Port: ${args.port}`);
// --------------------------------------------------------------------------
// 1. Create orchestrator + blackboard
// --------------------------------------------------------------------------
const orchestrator = createSwarmOrchestrator();
const blackboard = orchestrator.getBlackboard(args.board);
// --------------------------------------------------------------------------
// 2. Create MCP bridge for blackboard tools (5 tools)
// --------------------------------------------------------------------------
const blackboardBridge = new McpBlackboardBridge(blackboard, { name: args.board });
const blackboardAdapter = new McpBlackboardBridgeAdapter(blackboardBridge);
// --------------------------------------------------------------------------
// 3. Create extended tools (budget + token + audit) — optional
// --------------------------------------------------------------------------
let extendedTools: ExtendedMcpTools | null = null;
if (!args.noExtended) {
const budget = !args.noBudget
? new FederatedBudget({ ceiling: args.ceiling })
: undefined;
const tokenManager = !args.noToken
? new SecureTokenManager()
: undefined;
extendedTools = new ExtendedMcpTools({
budget,
tokenManager,
auditLogPath: args.auditLog,
});
const toolsEnabled: string[] = [];
if (budget) toolsEnabled.push('budget (5 tools)');
if (tokenManager) toolsEnabled.push('token (3 tools)');
toolsEnabled.push('audit (2 tools)');
console.log(`[network-ai-server] Extended tools: ${toolsEnabled.join(', ')}`);
}
// --------------------------------------------------------------------------
// 4. Create control-plane tools — optional
// --------------------------------------------------------------------------
let controlTools: ControlMcpTools | null = null;
if (!args.noControl) {
// Get the live CONFIG reference via the exported accessor
const liveConfig = getConfig() as Record<string, unknown>;
// Create a proxy config object that both reads from and writes to CONFIG
const configProxy = new Proxy(liveConfig, {
get(_t, key: string) {
return getConfig(key);
},
set(_t, key: string, value: unknown) {
setConfig(key, value);
return true;
},
ownKeys() {
return Object.keys(getConfig() as object);
},
getOwnPropertyDescriptor(_t, key: string) {
return { value: getConfig(key), writable: true, enumerable: true, configurable: true };
},
}) as unknown as import('../lib/mcp-tools-control').IConfig;
controlTools = new ControlMcpTools({
config: configProxy,
blackboard: blackboard as unknown as import('../lib/mcp-tools-control').IControlBlackboard,
systemToken: 'system-orchestrator-token',
});
console.log(`[network-ai-server] Control tools: config (2), agent (3), fsm (1), info (1)`);
}
// --------------------------------------------------------------------------
// 5. Assemble combined bridge
// --------------------------------------------------------------------------
const combined = new McpCombinedBridge('network-ai');
combined.register(blackboardAdapter);
if (extendedTools) combined.register(extendedTools);
if (controlTools) combined.register(controlTools);
const totalTools = combined.allDefinitions().length;
console.log(`[network-ai-server] Total tools exposed: ${totalTools}`);
// --------------------------------------------------------------------------
// 6. Start SSE server
// --------------------------------------------------------------------------
const server = new McpSseServer(combined, {
port: args.port,
host: args.host,
heartbeatMs: args.heartbeat,
});
await server.listen();
const localUrl = `http://localhost:${args.port}`;
console.log(`\n[network-ai-server] ✓ Listening on ${localUrl}`);
console.log(`[network-ai-server] SSE stream : ${localUrl}/sse`);
console.log(`[network-ai-server] Tool calls : ${localUrl}/mcp (POST)`);
console.log(`[network-ai-server] Health : ${localUrl}/health`);
console.log(`[network-ai-server] All tools : ${localUrl}/tools\n`);
console.log(`[network-ai-server] Connect any MCP client to: ${localUrl}`);
console.log(`[network-ai-server] Press Ctrl+C to stop.\n`);
// --------------------------------------------------------------------------
// 7. Graceful shutdown
// --------------------------------------------------------------------------
const shutdown = async (signal: string): Promise<void> => {
console.log(`\n[network-ai-server] Received ${signal} — shutting down...`);
await server.close();
console.log('[network-ai-server] Server stopped. Goodbye.\n');
process.exit(0);
};
process.on('SIGINT', () => void shutdown('SIGINT'));
process.on('SIGTERM', () => void shutdown('SIGTERM'));
}
main().catch(err => {
console.error('\n[network-ai-server] Fatal error:', err instanceof Error ? err.message : String(err));
process.exit(1);
});
#!/usr/bin/env node
/**
* Network-AI MCP Server — Phase 6 Part 3
*
* Starts an HTTP/SSE server that exposes the full Network-AI tool suite to
* any MCP-compatible AI agent (Claude Desktop, Cursor, Cline, etc.).
*
* Usage:
* npx ts-node bin/mcp-server.ts [options]
* npx network-ai-server [options] (after clawhub publish)
*
* Options:
* --port <n> TCP port to listen on (default: 3001)
* --host <h> Hostname to bind to (default: 0.0.0.0)
* --board <name> Named blackboard to expose (default: main)
* --ceiling <n> Initial FederatedBudget token ceiling (default: 1_000_000)
* --no-budget Disable budget tools
* --no-token Disable token tools
* --no-extended Disable all extended tools (budget + token + audit)
* --no-control Disable control-plane tools
* --audit-log <path> Path to audit log file (default: ./data/audit_log.jsonl)
* --heartbeat <ms> SSE heartbeat interval in ms (default: 15000)
* --help Print this help text
*
* Connect any MCP client to:
* http://localhost:3001 (SSE stream — GET /sse)
* http://localhost:3001/mcp (JSON-RPC POST)
* http://localhost:3001/health (health check)
* http://localhost:3001/tools (list all tools)
*
* @module bin/mcp-server
* @version 4.0.0
*/
export {};
//# sourceMappingURL=mcp-server.d.ts.map
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../bin/mcp-server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG"}
#!/usr/bin/env node
"use strict";
/**
* Network-AI MCP Server — Phase 6 Part 3
*
* Starts an HTTP/SSE server that exposes the full Network-AI tool suite to
* any MCP-compatible AI agent (Claude Desktop, Cursor, Cline, etc.).
*
* Usage:
* npx ts-node bin/mcp-server.ts [options]
* npx network-ai-server [options] (after clawhub publish)
*
* Options:
* --port <n> TCP port to listen on (default: 3001)
* --host <h> Hostname to bind to (default: 0.0.0.0)
* --board <name> Named blackboard to expose (default: main)
* --ceiling <n> Initial FederatedBudget token ceiling (default: 1_000_000)
* --no-budget Disable budget tools
* --no-token Disable token tools
* --no-extended Disable all extended tools (budget + token + audit)
* --no-control Disable control-plane tools
* --audit-log <path> Path to audit log file (default: ./data/audit_log.jsonl)
* --heartbeat <ms> SSE heartbeat interval in ms (default: 15000)
* --help Print this help text
*
* Connect any MCP client to:
* http://localhost:3001 (SSE stream — GET /sse)
* http://localhost:3001/mcp (JSON-RPC POST)
* http://localhost:3001/health (health check)
* http://localhost:3001/tools (list all tools)
*
* @module bin/mcp-server
* @version 4.0.0
*/
Object.defineProperty(exports, "__esModule", { value: true });
const index_1 = require("../index");
const security_1 = require("../security");
const mcp_transport_sse_1 = require("../lib/mcp-transport-sse");
const mcp_tools_extended_1 = require("../lib/mcp-tools-extended");
const mcp_tools_control_1 = require("../lib/mcp-tools-control");
function parseArgs(argv) {
const args = {
port: 3001,
host: '0.0.0.0',
board: 'main',
ceiling: 1_000_000,
noBudget: false,
noToken: false,
noExtended: false,
noControl: false,
auditLog: './data/audit_log.jsonl',
heartbeat: 15000,
help: false,
};
for (let i = 0; i < argv.length; i++) {
const arg = argv[i];
const next = argv[i + 1];
switch (arg) {
case '--port':
args.port = parseInt(next ?? '3001', 10);
i++;
break;
case '--host':
args.host = next ?? '0.0.0.0';
i++;
break;
case '--board':
args.board = next ?? 'main';
i++;
break;
case '--ceiling':
args.ceiling = parseFloat(next ?? '1000000');
i++;
break;
case '--audit-log':
args.auditLog = next ?? './data/audit_log.jsonl';
i++;
break;
case '--heartbeat':
args.heartbeat = parseInt(next ?? '15000', 10);
i++;
break;
case '--no-budget':
args.noBudget = true;
break;
case '--no-token':
args.noToken = true;
break;
case '--no-extended':
args.noExtended = true;
break;
case '--no-control':
args.noControl = true;
break;
case '--help':
case '-h':
args.help = true;
break;
}
}
return args;
}
function printHelp() {
console.log(`
network-ai-server — Network-AI MCP Server v4.0.0
Usage: npx ts-node bin/mcp-server.ts [options]
Options:
--port <n> TCP port (default: 3001)
--host <h> Bind host (default: 0.0.0.0)
--board <name> Named blackboard to expose (default: main)
--ceiling <n> Budget token ceiling (default: 1000000)
--audit-log <path> Audit log path (default: ./data/audit_log.jsonl)
--heartbeat <ms> SSE heartbeat interval (default: 15000)
--no-budget Disable budget tools
--no-token Disable token tools
--no-extended Disable extended tools (budget + token + audit)
--no-control Disable control-plane tools
--help Show this help
Connect to:
GET http://localhost:3001/sse SSE stream
POST http://localhost:3001/mcp JSON-RPC 2.0 tool calls
GET http://localhost:3001/health Health check
GET http://localhost:3001/tools All available tools
`);
}
// ============================================================================
// MAIN
// ============================================================================
async function main() {
const args = parseArgs(process.argv.slice(2));
if (args.help) {
printHelp();
process.exit(0);
}
console.log(`\n[network-ai-server] Starting MCP Server v4.0.0`);
console.log(`[network-ai-server] Board: ${args.board} | Port: ${args.port}`);
// --------------------------------------------------------------------------
// 1. Create orchestrator + blackboard
// --------------------------------------------------------------------------
const orchestrator = (0, index_1.createSwarmOrchestrator)();
const blackboard = orchestrator.getBlackboard(args.board);
// --------------------------------------------------------------------------
// 2. Create MCP bridge for blackboard tools (5 tools)
// --------------------------------------------------------------------------
const blackboardBridge = new index_1.McpBlackboardBridge(blackboard, { name: args.board });
const blackboardAdapter = new mcp_transport_sse_1.McpBlackboardBridgeAdapter(blackboardBridge);
// --------------------------------------------------------------------------
// 3. Create extended tools (budget + token + audit) — optional
// --------------------------------------------------------------------------
let extendedTools = null;
if (!args.noExtended) {
const budget = !args.noBudget
? new index_1.FederatedBudget({ ceiling: args.ceiling })
: undefined;
const tokenManager = !args.noToken
? new security_1.SecureTokenManager()
: undefined;
extendedTools = new mcp_tools_extended_1.ExtendedMcpTools({
budget,
tokenManager,
auditLogPath: args.auditLog,
});
const toolsEnabled = [];
if (budget)
toolsEnabled.push('budget (5 tools)');
if (tokenManager)
toolsEnabled.push('token (3 tools)');
toolsEnabled.push('audit (2 tools)');
console.log(`[network-ai-server] Extended tools: ${toolsEnabled.join(', ')}`);
}
// --------------------------------------------------------------------------
// 4. Create control-plane tools — optional
// --------------------------------------------------------------------------
let controlTools = null;
if (!args.noControl) {
// Get the live CONFIG reference via the exported accessor
const liveConfig = (0, index_1.getConfig)();
// Create a proxy config object that both reads from and writes to CONFIG
const configProxy = new Proxy(liveConfig, {
get(_t, key) {
return (0, index_1.getConfig)(key);
},
set(_t, key, value) {
(0, index_1.setConfig)(key, value);
return true;
},
ownKeys() {
return Object.keys((0, index_1.getConfig)());
},
getOwnPropertyDescriptor(_t, key) {
return { value: (0, index_1.getConfig)(key), writable: true, enumerable: true, configurable: true };
},
});
controlTools = new mcp_tools_control_1.ControlMcpTools({
config: configProxy,
blackboard: blackboard,
systemToken: 'system-orchestrator-token',
});
console.log(`[network-ai-server] Control tools: config (2), agent (3), fsm (1), info (1)`);
}
// --------------------------------------------------------------------------
// 5. Assemble combined bridge
// --------------------------------------------------------------------------
const combined = new mcp_transport_sse_1.McpCombinedBridge('network-ai');
combined.register(blackboardAdapter);
if (extendedTools)
combined.register(extendedTools);
if (controlTools)
combined.register(controlTools);
const totalTools = combined.allDefinitions().length;
console.log(`[network-ai-server] Total tools exposed: ${totalTools}`);
// --------------------------------------------------------------------------
// 6. Start SSE server
// --------------------------------------------------------------------------
const server = new mcp_transport_sse_1.McpSseServer(combined, {
port: args.port,
host: args.host,
heartbeatMs: args.heartbeat,
});
await server.listen();
const localUrl = `http://localhost:${args.port}`;
console.log(`\n[network-ai-server] ✓ Listening on ${localUrl}`);
console.log(`[network-ai-server] SSE stream : ${localUrl}/sse`);
console.log(`[network-ai-server] Tool calls : ${localUrl}/mcp (POST)`);
console.log(`[network-ai-server] Health : ${localUrl}/health`);
console.log(`[network-ai-server] All tools : ${localUrl}/tools\n`);
console.log(`[network-ai-server] Connect any MCP client to: ${localUrl}`);
console.log(`[network-ai-server] Press Ctrl+C to stop.\n`);
// --------------------------------------------------------------------------
// 7. Graceful shutdown
// --------------------------------------------------------------------------
const shutdown = async (signal) => {
console.log(`\n[network-ai-server] Received ${signal} — shutting down...`);
await server.close();
console.log('[network-ai-server] Server stopped. Goodbye.\n');
process.exit(0);
};
process.on('SIGINT', () => void shutdown('SIGINT'));
process.on('SIGTERM', () => void shutdown('SIGTERM'));
}
main().catch(err => {
console.error('\n[network-ai-server] Fatal error:', err instanceof Error ? err.message : String(err));
process.exit(1);
});
//# sourceMappingURL=mcp-server.js.map
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../bin/mcp-server.ts"],"names":[],"mappings":"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"}
/**
* Control-Plane MCP Tools — Phase 6 Part 4
*
* Exposes orchestrator configuration and agent lifecycle operations as MCP
* tools, giving an external AI agent full control-plane access to Network-AI.
*
* Tools exposed:
* config_get — read current CONFIG values
* config_set — update any CONFIG field at runtime
* agent_list — list all currently registered agents and their status
* agent_spawn — dispatch a task to a named agent
* agent_stop — mark a running agent as stopped
* fsm_transition — write an FSM state transition to the blackboard
* orchestrator_info — get orchestrator version, adapter count, blackboard stats
*
* @module mcp-tools-control
* @version 1.0.0
*/
import type { MCPToolDefinition, BlackboardToolResult } from './mcp-blackboard-tools';
import type { McpToolProvider } from './mcp-transport-sse';
/** Minimal CONFIG surface needed by the control tools. */
export interface IConfig {
maxParallelAgents: number;
defaultTimeout: number;
enableTracing: boolean;
[key: string]: unknown;
}
/** Minimal agent registry entry. */
export interface IAgentStatus {
agentId: string;
status: string;
lastSeen?: string;
taskCount?: number;
[key: string]: unknown;
}
/** Minimal blackboard surface needed for FSM transitions. */
export interface IControlBlackboard {
write(key: string, value: unknown, sourceAgent: string, ttl?: number, agentToken?: string): unknown;
read(key: string): {
key: string;
value: unknown;
} | null;
getSnapshot(): Record<string, unknown>;
}
/** Options for `ControlMcpTools`. */
export interface ControlMcpToolsOptions {
/** Live reference to the CONFIG object (mutated directly for config_set). */
config: IConfig;
/** Live reference to the agent registry map. */
agentRegistry?: Map<string, IAgentStatus>;
/** Reference to the primary blackboard (used for fsm_transition). */
blackboard?: IControlBlackboard;
/** System token for writing to the blackboard. */
systemToken?: string;
}
/**
* MCP tool provider for orchestrator control-plane operations.
*
* @example
* ```typescript
* import { ControlMcpTools } from 'network-ai';
*
* const controlTools = new ControlMcpTools({
* config: CONFIG, // live reference — mutations take effect immediately
* agentRegistry: agentMap,
* blackboard: orchestrator.getBlackboard(),
* systemToken: 'system-orchestrator-token',
* });
*
* combined.register(controlTools);
* ```
*/
export declare class ControlMcpTools implements McpToolProvider {
private readonly _config;
private readonly _agentRegistry?;
private readonly _blackboard?;
private readonly _systemToken;
private readonly _stoppedAgents;
constructor(options: ControlMcpToolsOptions);
getDefinitions(): MCPToolDefinition[];
call(toolName: string, args: Record<string, unknown>): Promise<BlackboardToolResult>;
private _configGet;
private _configSet;
private _agentList;
private _agentSpawn;
private _agentStop;
private _fsmTransition;
private _orchestratorInfo;
}
//# sourceMappingURL=mcp-tools-control.d.ts.map
{"version":3,"file":"mcp-tools-control.d.ts","sourceRoot":"","sources":["../../lib/mcp-tools-control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAM3D,0DAA0D;AAC1D,MAAM,WAAW,OAAO;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,oCAAoC;AACpC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,6DAA6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpG,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1D,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,qCAAqC;AACrC,MAAM,WAAW,sBAAsB;IACrC,6EAA6E;IAC7E,MAAM,EAAE,OAAO,CAAC;IAChB,gDAAgD;IAChD,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,qEAAqE;IACrE,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAiGD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,eAAgB,YAAW,eAAe;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA4B;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkC;gBAErD,OAAO,EAAE,sBAAsB;IAO3C,cAAc,IAAI,iBAAiB,EAAE;IAI/B,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAsB1F,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,UAAU;IA6BlB,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,WAAW;IA+CnB,OAAO,CAAC,UAAU;IAwBlB,OAAO,CAAC,cAAc;IAsDtB,OAAO,CAAC,iBAAiB;CA0B1B"}
"use strict";
/**
* Control-Plane MCP Tools — Phase 6 Part 4
*
* Exposes orchestrator configuration and agent lifecycle operations as MCP
* tools, giving an external AI agent full control-plane access to Network-AI.
*
* Tools exposed:
* config_get — read current CONFIG values
* config_set — update any CONFIG field at runtime
* agent_list — list all currently registered agents and their status
* agent_spawn — dispatch a task to a named agent
* agent_stop — mark a running agent as stopped
* fsm_transition — write an FSM state transition to the blackboard
* orchestrator_info — get orchestrator version, adapter count, blackboard stats
*
* @module mcp-tools-control
* @version 1.0.0
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ControlMcpTools = void 0;
// ============================================================================
// TOOL DEFINITIONS
// ============================================================================
const CONTROL_TOOL_DEFINITIONS = [
{
name: 'config_get',
description: 'Read the current Network-AI orchestrator configuration (maxParallelAgents, defaultTimeout, enableTracing, etc.).',
inputSchema: {
type: 'object',
properties: {
key: { type: 'string', description: 'Specific config key to read. Omit to return all values.' },
},
required: [],
},
},
{
name: 'config_set',
description: 'Update a Network-AI configuration value at runtime. Changes take effect immediately for all subsequent operations.',
inputSchema: {
type: 'object',
properties: {
key: { type: 'string', description: 'Config key to update (e.g. "maxParallelAgents", "defaultTimeout", "enableTracing")' },
value: { type: 'string', description: 'New value (JSON-encoded). E.g. "10" for a number, "true" for boolean, \'"string"\' for string.' },
},
required: ['key', 'value'],
},
},
{
name: 'agent_list',
description: 'List all agents currently registered with the orchestrator, including their status and last activity.',
inputSchema: {
type: 'object',
properties: {
status_filter: { type: 'string', description: 'Filter by status (optional): active, idle, stopped, error' },
},
required: [],
},
},
{
name: 'agent_spawn',
description: 'Dispatch a task to a named agent by writing a task record to the blackboard. The agent will pick it up on its next poll cycle.',
inputSchema: {
type: 'object',
properties: {
agent_id: { type: 'string', description: 'ID of the agent to assign the task to (e.g. "code_writer", "data_analyst")' },
task_key: { type: 'string', description: 'Blackboard key for the task (e.g. "task:write:auth_module")' },
instruction: { type: 'string', description: 'Natural language instruction for the agent' },
payload_json: { type: 'string', description: 'Optional JSON-encoded extra payload for the agent' },
ttl: { type: 'string', description: 'Time-to-live for the task entry in seconds (default: 3600)' },
},
required: ['agent_id', 'task_key', 'instruction'],
},
},
{
name: 'agent_stop',
description: 'Signal an agent to stop by writing a stop record to the blackboard and updating its status.',
inputSchema: {
type: 'object',
properties: {
agent_id: { type: 'string', description: 'ID of the agent to stop' },
reason: { type: 'string', description: 'Reason for stopping (optional, for audit)' },
},
required: ['agent_id'],
},
},
{
name: 'fsm_transition',
description: 'Manually advance an FSM (Finite State Machine) to a new state by writing the transition to the blackboard.',
inputSchema: {
type: 'object',
properties: {
fsm_id: { type: 'string', description: 'FSM identifier (e.g. "order_pipeline", "code_review_workflow")' },
new_state: { type: 'string', description: 'The state to transition to' },
metadata_json: { type: 'string', description: 'Optional JSON metadata to attach to the transition' },
agent_id: { type: 'string', description: 'Agent performing the transition (for audit)' },
},
required: ['fsm_id', 'new_state', 'agent_id'],
},
},
{
name: 'orchestrator_info',
description: 'Get a snapshot of the entire orchestrator: version, config, agent count, blackboard key count, and system health.',
inputSchema: {
type: 'object',
properties: {},
required: [],
},
},
];
// ============================================================================
// CONTROL MCP TOOLS
// ============================================================================
/**
* MCP tool provider for orchestrator control-plane operations.
*
* @example
* ```typescript
* import { ControlMcpTools } from 'network-ai';
*
* const controlTools = new ControlMcpTools({
* config: CONFIG, // live reference — mutations take effect immediately
* agentRegistry: agentMap,
* blackboard: orchestrator.getBlackboard(),
* systemToken: 'system-orchestrator-token',
* });
*
* combined.register(controlTools);
* ```
*/
class ControlMcpTools {
_config;
_agentRegistry;
_blackboard;
_systemToken;
_stoppedAgents = new Map(); // agentId -> reason
constructor(options) {
this._config = options.config;
this._agentRegistry = options.agentRegistry;
this._blackboard = options.blackboard;
this._systemToken = options.systemToken ?? 'system-orchestrator-token';
}
getDefinitions() {
return CONTROL_TOOL_DEFINITIONS;
}
async call(toolName, args) {
try {
switch (toolName) {
case 'config_get': return this._configGet(args);
case 'config_set': return this._configSet(args);
case 'agent_list': return this._agentList(args);
case 'agent_spawn': return this._agentSpawn(args);
case 'agent_stop': return this._agentStop(args);
case 'fsm_transition': return this._fsmTransition(args);
case 'orchestrator_info': return this._orchestratorInfo();
default:
return { ok: false, tool: toolName, error: `Unknown control tool: "${toolName}"` };
}
}
catch (err) {
return { ok: false, tool: toolName, error: err instanceof Error ? err.message : String(err) };
}
}
// --------------------------------------------------------------------------
// Config tools
// --------------------------------------------------------------------------
_configGet(args) {
const key = args['key'] ? String(args['key']) : null;
if (key) {
if (!(key in this._config)) {
return { ok: false, tool: 'config_get', error: `Unknown config key: "${key}". Known keys: ${Object.keys(this._config).join(', ')}` };
}
return { ok: true, tool: 'config_get', data: { [key]: this._config[key] } };
}
// Return entire config (exclude any function values)
const snapshot = {};
for (const [k, v] of Object.entries(this._config)) {
if (typeof v !== 'function')
snapshot[k] = v;
}
return { ok: true, tool: 'config_get', data: snapshot };
}
_configSet(args) {
const key = String(args['key'] ?? '');
const rawValue = String(args['value'] ?? '');
if (!key)
return { ok: false, tool: 'config_set', error: 'key is required' };
if (!rawValue && rawValue !== '0')
return { ok: false, tool: 'config_set', error: 'value is required' };
let parsed;
try {
parsed = JSON.parse(rawValue);
}
catch {
// Treat as raw string if not valid JSON
parsed = rawValue;
}
const previous = this._config[key];
this._config[key] = parsed;
return {
ok: true,
tool: 'config_set',
data: { key, previous, current: parsed, applied: true },
};
}
// --------------------------------------------------------------------------
// Agent tools
// --------------------------------------------------------------------------
_agentList(args) {
const statusFilter = args['status_filter'] ? String(args['status_filter']).toLowerCase() : null;
const agents = [];
if (this._agentRegistry) {
for (const [id, status] of this._agentRegistry) {
const entry = { ...status };
entry.agentId = id; // map key takes precedence
// Mark stopped agents
if (this._stoppedAgents.has(id)) {
entry.status = 'stopped';
entry.stopReason = this._stoppedAgents.get(id);
}
if (!statusFilter || String(entry.status).toLowerCase() === statusFilter) {
agents.push(entry);
}
}
}
// Also include stopped agents that may not be in the registry
for (const [id, reason] of this._stoppedAgents) {
if (!agents.find(a => a.agentId === id)) {
const entry = { agentId: id, status: 'stopped', stopReason: reason };
if (!statusFilter || statusFilter === 'stopped') {
agents.push(entry);
}
}
}
return { ok: true, tool: 'agent_list', data: { agents, count: agents.length } };
}
_agentSpawn(args) {
const agentId = String(args['agent_id'] ?? '');
const taskKey = String(args['task_key'] ?? '');
const instruction = String(args['instruction'] ?? '');
const ttl = Number(args['ttl']) || 3600;
if (!agentId)
return { ok: false, tool: 'agent_spawn', error: 'agent_id is required' };
if (!taskKey)
return { ok: false, tool: 'agent_spawn', error: 'task_key is required' };
if (!instruction)
return { ok: false, tool: 'agent_spawn', error: 'instruction is required' };
let extraPayload = undefined;
if (args['payload_json']) {
try {
extraPayload = JSON.parse(String(args['payload_json']));
}
catch {
return { ok: false, tool: 'agent_spawn', error: 'payload_json must be valid JSON' };
}
}
const task = {
agentId,
instruction,
payload: extraPayload,
spawnedAt: new Date().toISOString(),
spawnedBy: 'mcp-control',
status: 'pending',
};
if (this._blackboard) {
this._blackboard.write(taskKey, JSON.stringify(task), 'mcp-control', ttl, this._systemToken);
}
return {
ok: true,
tool: 'agent_spawn',
data: {
agentId,
taskKey,
task,
blackboardWritten: !!this._blackboard,
message: this._blackboard
? `Task written to blackboard at key "${taskKey}". Agent "${agentId}" will pick it up on next poll.`
: `No blackboard configured — task object returned but NOT persisted. Configure blackboard in ControlMcpTools.`,
},
};
}
_agentStop(args) {
const agentId = String(args['agent_id'] ?? '');
const reason = String(args['reason'] ?? 'stopped via MCP control tool');
if (!agentId)
return { ok: false, tool: 'agent_stop', error: 'agent_id is required' };
this._stoppedAgents.set(agentId, reason);
const stopKey = `agent:stop:${agentId}`;
if (this._blackboard) {
this._blackboard.write(stopKey, JSON.stringify({ agentId, reason, stoppedAt: new Date().toISOString() }), 'mcp-control', 300, this._systemToken);
}
return {
ok: true,
tool: 'agent_stop',
data: { agentId, reason, stopped: true, blackboardWritten: !!this._blackboard },
};
}
// --------------------------------------------------------------------------
// FSM tool
// --------------------------------------------------------------------------
_fsmTransition(args) {
const fsmId = String(args['fsm_id'] ?? '');
const newState = String(args['new_state'] ?? '');
const agentId = String(args['agent_id'] ?? '');
if (!fsmId)
return { ok: false, tool: 'fsm_transition', error: 'fsm_id is required' };
if (!newState)
return { ok: false, tool: 'fsm_transition', error: 'new_state is required' };
if (!agentId)
return { ok: false, tool: 'fsm_transition', error: 'agent_id is required' };
let metadata = undefined;
if (args['metadata_json']) {
try {
metadata = JSON.parse(String(args['metadata_json']));
}
catch {
return { ok: false, tool: 'fsm_transition', error: 'metadata_json must be valid JSON' };
}
}
const stateKey = `fsm:${fsmId}:state`;
const historyKey = `fsm:${fsmId}:history`;
let previousState = null;
if (this._blackboard) {
previousState = this._blackboard.read(stateKey)?.value ?? null;
}
const transition = {
from: previousState,
to: newState,
by: agentId,
at: new Date().toISOString(),
metadata,
};
if (this._blackboard) {
this._blackboard.write(stateKey, newState, agentId, undefined, this._systemToken);
// Append to history (read existing, push new entry)
const existing = this._blackboard.read(historyKey);
const history = existing ? JSON.parse(String(existing.value)) : [];
history.push(transition);
this._blackboard.write(historyKey, JSON.stringify(history), agentId, undefined, this._systemToken);
}
return {
ok: true,
tool: 'fsm_transition',
data: { fsmId, transition, blackboardWritten: !!this._blackboard },
};
}
// --------------------------------------------------------------------------
// Info
// --------------------------------------------------------------------------
_orchestratorInfo() {
const snapshot = {};
for (const [k, v] of Object.entries(this._config)) {
if (typeof v !== 'function')
snapshot[k] = v;
}
const bbSnapshot = this._blackboard?.getSnapshot() ?? {};
return {
ok: true,
tool: 'orchestrator_info',
data: {
version: '4.0.0',
config: snapshot,
agents: {
registered: this._agentRegistry?.size ?? 0,
stopped: this._stoppedAgents.size,
},
blackboard: {
keys: Object.keys(bbSnapshot).length,
available: !!this._blackboard,
},
ts: new Date().toISOString(),
},
};
}
}
exports.ControlMcpTools = ControlMcpTools;
//# sourceMappingURL=mcp-tools-control.js.map
{"version":3,"file":"mcp-tools-control.js","sourceRoot":"","sources":["../../lib/mcp-tools-control.ts"],"names":[],"mappings":"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"}
/**
* Extended MCP Tools — Phase 6 Part 2
*
* Exposes budget, token, and audit operations as MCP-compatible tools so
* an external AI agent can manage Network-AI's security and resource planes
* without any code changes.
*
* Tool groups:
* Budget — budget_status, budget_spend, budget_reset, budget_set_ceiling, budget_get_log
* Token — token_validate, token_revoke, token_create
* Audit — audit_query, audit_tail
*
* @module mcp-tools-extended
* @version 1.0.0
*/
import type { MCPToolDefinition, BlackboardToolResult } from './mcp-blackboard-tools';
import type { McpToolProvider } from './mcp-transport-sse';
/** Minimal FederatedBudget surface needed by the tools. */
export interface IBudget {
spend(agentId: string, tokens: number): {
allowed: boolean;
remaining: number;
deniedReason?: string;
};
remaining(): number;
getTotalSpent(): number;
getCeiling(): number;
getSpendLog(): Record<string, number>;
getTransactionLog(): Array<{
agentId: string;
tokens: number;
timestamp: string;
}>;
setCeiling(ceiling: number): void;
reset(): void;
}
/** Minimal SecureTokenManager surface needed by the tools. */
export interface ITokenManager {
generateToken(agentId: string, resourceType: string, scope: string): {
tokenId: string;
agentId: string;
resourceType: string;
scope: string;
issuedAt: number;
expiresAt: number;
signature: string;
};
validateToken(token: {
tokenId: string;
agentId: string;
resourceType: string;
scope: string;
issuedAt: number;
expiresAt: number;
signature: string;
}): {
valid: boolean;
reason?: string;
};
revokeToken(tokenId: string): void;
}
/** Options for `ExtendedMcpTools`. All dependencies are optional. */
export interface ExtendedMcpToolsOptions {
/** FederatedBudget instance. Budget tools are disabled if not provided. */
budget?: IBudget;
/** SecureTokenManager instance. Token tools are disabled if not provided. */
tokenManager?: ITokenManager;
/** Absolute path to the audit log JSONL file. Defaults to `./data/audit_log.jsonl`. */
auditLogPath?: string;
}
/**
* MCP tool provider for budget, token, and audit operations.
*
* All three categories are optional — only provide the services you need.
* Tools for missing services return a clear `{ ok: false, error }` response.
*
* @example
* ```typescript
* import { FederatedBudget, SecureTokenManager } from 'network-ai';
* import { ExtendedMcpTools } from 'network-ai';
*
* const tools = new ExtendedMcpTools({
* budget: new FederatedBudget({ ceiling: 100_000 }),
* tokenManager: new SecureTokenManager(),
* auditLogPath: './data/audit_log.jsonl',
* });
*
* // Register with McpCombinedBridge
* combined.register(tools);
* ```
*/
export declare class ExtendedMcpTools implements McpToolProvider {
private readonly _budget?;
private readonly _tokenManager?;
private readonly _auditLogPath;
constructor(options?: ExtendedMcpToolsOptions);
getDefinitions(): MCPToolDefinition[];
call(toolName: string, args: Record<string, unknown>): Promise<BlackboardToolResult>;
private _budgetStatus;
private _budgetSpend;
private _budgetReset;
private _budgetSetCeiling;
private _budgetGetLog;
private _noBudget;
private _tokenCreate;
private _tokenValidate;
private _tokenRevoke;
private _noTokenManager;
private _auditQuery;
private _auditTail;
private _readAuditLog;
}
//# sourceMappingURL=mcp-tools-extended.d.ts.map
{"version":3,"file":"mcp-tools-extended.d.ts","sourceRoot":"","sources":["../../lib/mcp-tools-extended.ts"],"names":[],"mappings":"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"}
"use strict";
/**
* Extended MCP Tools — Phase 6 Part 2
*
* Exposes budget, token, and audit operations as MCP-compatible tools so
* an external AI agent can manage Network-AI's security and resource planes
* without any code changes.
*
* Tool groups:
* Budget — budget_status, budget_spend, budget_reset, budget_set_ceiling, budget_get_log
* Token — token_validate, token_revoke, token_create
* Audit — audit_query, audit_tail
*
* @module mcp-tools-extended
* @version 1.0.0
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExtendedMcpTools = void 0;
const node_fs_1 = require("node:fs");
// ============================================================================
// TOOL DEFINITIONS
// ============================================================================
const EXTENDED_TOOL_DEFINITIONS = [
// ---- Budget ---------------------------------------------------------------
{
name: 'budget_status',
description: 'Get the current budget status: ceiling, total spent, remaining tokens, and per-agent breakdown.',
inputSchema: {
type: 'object',
properties: {
agent_id: { type: 'string', description: 'Calling agent identifier (for audit)' },
},
required: ['agent_id'],
},
},
{
name: 'budget_spend',
description: 'Spend tokens on behalf of an agent. Returns allowed/denied with remaining balance.',
inputSchema: {
type: 'object',
properties: {
agent_id: { type: 'string', description: 'The agent spending tokens' },
tokens: { type: 'string', description: 'Number of tokens to spend (positive integer)' },
},
required: ['agent_id', 'tokens'],
},
},
{
name: 'budget_reset',
description: 'Reset all spend counters to zero. The ceiling is preserved. Use when starting a new task cycle.',
inputSchema: {
type: 'object',
properties: {
agent_id: { type: 'string', description: 'Calling agent identifier (for audit)' },
confirm: { type: 'string', description: 'Must be "yes" to prevent accidental resets' },
},
required: ['agent_id', 'confirm'],
},
},
{
name: 'budget_set_ceiling',
description: 'Dynamically change the global token ceiling. Can be raised or lowered at runtime.',
inputSchema: {
type: 'object',
properties: {
agent_id: { type: 'string', description: 'Calling agent identifier (for audit)' },
ceiling: { type: 'string', description: 'New ceiling value (positive number)' },
},
required: ['agent_id', 'ceiling'],
},
},
{
name: 'budget_get_log',
description: 'Retrieve the full transaction log of all spend() calls in chronological order.',
inputSchema: {
type: 'object',
properties: {
agent_id: { type: 'string', description: 'Calling agent identifier' },
limit: { type: 'string', description: 'Maximum number of entries to return (default: 50)' },
},
required: ['agent_id'],
},
},
// ---- Token ----------------------------------------------------------------
{
name: 'token_create',
description: 'Generate a new signed security token for an agent. Returns the full token object.',
inputSchema: {
type: 'object',
properties: {
agent_id: { type: 'string', description: 'Agent to issue the token to' },
resource_type: { type: 'string', description: 'Resource type the token grants access to (e.g. "FILE_SYSTEM")' },
scope: { type: 'string', description: 'Permission scope (e.g. "read", "write", "admin")' },
},
required: ['agent_id', 'resource_type', 'scope'],
},
},
{
name: 'token_validate',
description: 'Validate a security token — checks signature, expiration, and revocation status.',
inputSchema: {
type: 'object',
properties: {
token_json: {
type: 'string',
description: 'JSON-encoded SecureToken object (as returned by token_create)',
},
},
required: ['token_json'],
},
},
{
name: 'token_revoke',
description: 'Revoke a token by its tokenId. The token will be rejected on all future validation attempts.',
inputSchema: {
type: 'object',
properties: {
token_id: { type: 'string', description: 'The tokenId to revoke' },
reason: { type: 'string', description: 'Optional reason for revocation (for audit)' },
},
required: ['token_id'],
},
},
// ---- Audit ----------------------------------------------------------------
{
name: 'audit_query',
description: 'Query the audit log. Filter by agent_id, event_type, outcome, or time range.',
inputSchema: {
type: 'object',
properties: {
agent_id_filter: { type: 'string', description: 'Filter entries by this agent ID (optional)' },
event_type_filter: { type: 'string', description: 'Filter by event type (optional)' },
outcome_filter: { type: 'string', description: 'Filter by outcome: success, failure, denied (optional)' },
since_iso: { type: 'string', description: 'ISO 8601 timestamp — return entries at or after this time (optional)' },
limit: { type: 'string', description: 'Maximum number of entries to return (default: 100)' },
},
required: [],
},
},
{
name: 'audit_tail',
description: 'Return the N most recent audit log entries. Fast — reads from end of file.',
inputSchema: {
type: 'object',
properties: {
n: { type: 'string', description: 'Number of recent entries to return (default: 20, max: 500)' },
},
required: [],
},
},
];
/**
* MCP tool provider for budget, token, and audit operations.
*
* All three categories are optional — only provide the services you need.
* Tools for missing services return a clear `{ ok: false, error }` response.
*
* @example
* ```typescript
* import { FederatedBudget, SecureTokenManager } from 'network-ai';
* import { ExtendedMcpTools } from 'network-ai';
*
* const tools = new ExtendedMcpTools({
* budget: new FederatedBudget({ ceiling: 100_000 }),
* tokenManager: new SecureTokenManager(),
* auditLogPath: './data/audit_log.jsonl',
* });
*
* // Register with McpCombinedBridge
* combined.register(tools);
* ```
*/
class ExtendedMcpTools {
_budget;
_tokenManager;
_auditLogPath;
constructor(options = {}) {
this._budget = options.budget;
this._tokenManager = options.tokenManager;
this._auditLogPath = options.auditLogPath ?? './data/audit_log.jsonl';
}
getDefinitions() {
return EXTENDED_TOOL_DEFINITIONS;
}
async call(toolName, args) {
try {
switch (toolName) {
case 'budget_status': return this._budgetStatus();
case 'budget_spend': return this._budgetSpend(args);
case 'budget_reset': return this._budgetReset(args);
case 'budget_set_ceiling': return this._budgetSetCeiling(args);
case 'budget_get_log': return this._budgetGetLog(args);
case 'token_create': return this._tokenCreate(args);
case 'token_validate': return this._tokenValidate(args);
case 'token_revoke': return this._tokenRevoke(args);
case 'audit_query': return this._auditQuery(args);
case 'audit_tail': return this._auditTail(args);
default:
return { ok: false, tool: toolName, error: `Unknown extended tool: "${toolName}"` };
}
}
catch (err) {
return { ok: false, tool: toolName, error: err instanceof Error ? err.message : String(err) };
}
}
// --------------------------------------------------------------------------
// Budget tools
// --------------------------------------------------------------------------
_budgetStatus() {
if (!this._budget)
return this._noBudget('budget_status');
return {
ok: true,
tool: 'budget_status',
data: {
ceiling: this._budget.getCeiling(),
totalSpent: this._budget.getTotalSpent(),
remaining: this._budget.remaining(),
perAgent: this._budget.getSpendLog(),
},
};
}
_budgetSpend(args) {
if (!this._budget)
return this._noBudget('budget_spend');
const agentId = String(args['agent_id'] ?? '');
const tokens = Number(args['tokens']);
if (!agentId)
return { ok: false, tool: 'budget_spend', error: 'agent_id is required' };
if (!Number.isFinite(tokens) || tokens <= 0)
return { ok: false, tool: 'budget_spend', error: 'tokens must be a positive number' };
const result = this._budget.spend(agentId, tokens);
return { ok: true, tool: 'budget_spend', data: result };
}
_budgetReset(args) {
if (!this._budget)
return this._noBudget('budget_reset');
if (String(args['confirm']).toLowerCase() !== 'yes') {
return { ok: false, tool: 'budget_reset', error: 'confirm must be "yes" to reset the budget' };
}
this._budget.reset();
return { ok: true, tool: 'budget_reset', data: { reset: true, remaining: this._budget.remaining() } };
}
_budgetSetCeiling(args) {
if (!this._budget)
return this._noBudget('budget_set_ceiling');
const ceiling = Number(args['ceiling']);
if (!Number.isFinite(ceiling) || ceiling <= 0) {
return { ok: false, tool: 'budget_set_ceiling', error: 'ceiling must be a positive number' };
}
this._budget.setCeiling(ceiling);
return { ok: true, tool: 'budget_set_ceiling', data: { ceiling, remaining: this._budget.remaining() } };
}
_budgetGetLog(args) {
if (!this._budget)
return this._noBudget('budget_get_log');
const limit = Math.min(Number(args['limit']) || 50, 1000);
const log = this._budget.getTransactionLog();
const entries = log.slice(-limit);
return { ok: true, tool: 'budget_get_log', data: { entries, total: log.length, shown: entries.length } };
}
_noBudget(tool) {
return { ok: false, tool, error: 'No FederatedBudget instance configured. Pass budget: new FederatedBudget(...) to ExtendedMcpTools.' };
}
// --------------------------------------------------------------------------
// Token tools
// --------------------------------------------------------------------------
_tokenCreate(args) {
if (!this._tokenManager)
return this._noTokenManager('token_create');
const agentId = String(args['agent_id'] ?? '');
const resourceType = String(args['resource_type'] ?? '');
const scope = String(args['scope'] ?? '');
if (!agentId || !resourceType || !scope) {
return { ok: false, tool: 'token_create', error: 'agent_id, resource_type, and scope are required' };
}
const token = this._tokenManager.generateToken(agentId, resourceType, scope);
return { ok: true, tool: 'token_create', data: token };
}
_tokenValidate(args) {
if (!this._tokenManager)
return this._noTokenManager('token_validate');
const tokenJson = String(args['token_json'] ?? '');
if (!tokenJson)
return { ok: false, tool: 'token_validate', error: 'token_json is required' };
try {
const token = JSON.parse(tokenJson);
const result = this._tokenManager.validateToken(token);
return { ok: true, tool: 'token_validate', data: result };
}
catch (e) {
return { ok: false, tool: 'token_validate', error: `Invalid token JSON: ${e instanceof Error ? e.message : String(e)}` };
}
}
_tokenRevoke(args) {
if (!this._tokenManager)
return this._noTokenManager('token_revoke');
const tokenId = String(args['token_id'] ?? '');
if (!tokenId)
return { ok: false, tool: 'token_revoke', error: 'token_id is required' };
this._tokenManager.revokeToken(tokenId);
return { ok: true, tool: 'token_revoke', data: { tokenId, revoked: true, reason: args['reason'] ?? 'revoked via MCP' } };
}
_noTokenManager(tool) {
return { ok: false, tool, error: 'No SecureTokenManager instance configured. Pass tokenManager: new SecureTokenManager() to ExtendedMcpTools.' };
}
// --------------------------------------------------------------------------
// Audit tools
// --------------------------------------------------------------------------
_auditQuery(args) {
const entries = this._readAuditLog();
if (!entries.ok)
return { ok: false, tool: 'audit_query', error: entries.error };
let results = entries.data;
const agentFilter = args['agent_id_filter'] ? String(args['agent_id_filter']) : null;
const eventFilter = args['event_type_filter'] ? String(args['event_type_filter']) : null;
const outcomeFilter = args['outcome_filter'] ? String(args['outcome_filter']) : null;
const sinceIso = args['since_iso'] ? String(args['since_iso']) : null;
const limit = Math.min(Number(args['limit']) || 100, 1000);
if (agentFilter)
results = results.filter(e => e.agentId === agentFilter);
if (eventFilter)
results = results.filter(e => e.eventType === eventFilter);
if (outcomeFilter)
results = results.filter(e => e.outcome === outcomeFilter);
if (sinceIso) {
const since = new Date(sinceIso).getTime();
if (!isNaN(since)) {
results = results.filter(e => new Date(e.timestamp).getTime() >= since);
}
}
const sliced = results.slice(-limit);
return { ok: true, tool: 'audit_query', data: { entries: sliced, total: results.length, shown: sliced.length } };
}
_auditTail(args) {
const n = Math.min(Math.max(Number(args['n']) || 20, 1), 500);
const entries = this._readAuditLog();
if (!entries.ok)
return { ok: false, tool: 'audit_tail', error: entries.error };
const all = entries.data;
const tail = all.slice(-n);
return { ok: true, tool: 'audit_tail', data: { entries: tail, total: all.length, shown: tail.length } };
}
_readAuditLog() {
try {
if (!(0, node_fs_1.existsSync)(this._auditLogPath)) {
return { ok: true, data: [] };
}
const raw = (0, node_fs_1.readFileSync)(this._auditLogPath, 'utf-8').trim();
if (!raw)
return { ok: true, data: [] };
const entries = raw.split('\n')
.filter(l => l.trim())
.map(l => {
try {
return JSON.parse(l);
}
catch {
return null;
}
})
.filter((e) => e !== null);
return { ok: true, data: entries };
}
catch (err) {
return { ok: false, error: `Failed to read audit log: ${err instanceof Error ? err.message : String(err)}` };
}
}
}
exports.ExtendedMcpTools = ExtendedMcpTools;
//# sourceMappingURL=mcp-tools-extended.js.map
{"version":3,"file":"mcp-tools-extended.js","sourceRoot":"","sources":["../../lib/mcp-tools-extended.ts"],"names":[],"mappings":"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"}
/**
* MCP SSE/HTTP Transport — Phase 6 Part 1
*
* Makes the MCP bridge network-accessible over HTTP + Server-Sent Events so
* any MCP-compatible AI (Claude Desktop, Cursor, Cline, etc.) can connect
* to Network-AI from outside the process.
*
* Architecture:
*
* External AI agent
* │ POST /mcp (JSON-RPC 2.0 request)
* ▼
* McpSseServer (HTTP, port 3001)
* │ handleRPC()
* ▼
* McpCombinedBridge
* ├── blackboard tools (read/write/list/delete/exists)
* ├── extended tools (budget/token/audit)
* └── control tools (config/agent/fsm)
*
* External AI agent
* │ GET /sse (SSE connection — server pushes events)
* ▼
* McpSseServer broadcasts events to all connected clients
*
* Zero external dependencies — uses Node.js built-in `node:http` only.
*
* @module mcp-transport-sse
* @version 1.0.0
*/
import type { McpTransport, McpJsonRpcRequest, McpJsonRpcResponse } from './mcp-bridge';
import { McpBlackboardBridge } from './mcp-bridge';
import type { MCPToolDefinition, BlackboardToolResult } from './mcp-blackboard-tools';
/**
* Any object that provides MCP tools can implement this interface and be
* registered with `McpCombinedBridge`.
*/
export interface McpToolProvider {
getDefinitions(): MCPToolDefinition[];
call(toolName: string, args: Record<string, unknown>): Promise<BlackboardToolResult>;
}
/**
* Aggregates multiple `McpToolProvider` instances into a single MCP bridge.
*
* Handles `tools/list` by merging all definitions, and routes `tools/call`
* to the first provider that owns the requested tool name.
*
* @example
* ```typescript
* const combined = new McpCombinedBridge('network-ai');
* combined.register(new McpBlackboardBridgeAdapter(myBridge));
* combined.register(new ExtendedMcpTools({ budget }));
* combined.register(new ControlMcpTools({ config, orchestrator }));
*
* const server = new McpSseServer(combined, { port: 3001 });
* await server.listen();
* ```
*/
export declare class McpCombinedBridge {
readonly name: string;
private readonly _providers;
private readonly _toolIndex;
constructor(name?: string);
/**
* Register a tool provider. Tools names must be globally unique across all
* registered providers — duplicate names are silently overwritten with the
* latest registration.
*/
register(provider: McpToolProvider): void;
/** All tool definitions across every registered provider. */
allDefinitions(): MCPToolDefinition[];
/**
* Handle a single JSON-RPC 2.0 request. Never rejects — errors are encoded
* in the response `error` field.
*/
handleRPC(request: McpJsonRpcRequest): Promise<McpJsonRpcResponse>;
private _ok;
private _error;
}
/**
* Wraps an existing `McpBlackboardBridge` as a `McpToolProvider` so it can be
* registered with `McpCombinedBridge` alongside extended and control tools.
*/
export declare class McpBlackboardBridgeAdapter implements McpToolProvider {
private readonly bridge;
constructor(bridge: McpBlackboardBridge);
getDefinitions(): MCPToolDefinition[];
call(toolName: string, args: Record<string, unknown>): Promise<BlackboardToolResult>;
}
/** Options for `McpSseServer`. */
export interface McpSseServerOptions {
/** TCP port to listen on. Defaults to `3001`. */
port?: number;
/** Hostname to bind to. Defaults to `'0.0.0.0'` (all interfaces). */
host?: string;
/** Heartbeat interval in ms. Defaults to `15000`. Set to `0` to disable. */
heartbeatMs?: number;
}
/**
* HTTP server that exposes a `McpCombinedBridge` (or any object with
* `handleRPC`) over two endpoints:
*
* - `GET /sse` — Server-Sent Events stream; sends initial `endpoint` event
* - `POST /mcp` — Receive JSON-RPC 2.0 requests, return responses
* - `GET /health` — Health check returning `{ status: 'ok', bridge, clients }`
* - `GET /tools` — List all available tools as JSON
*
* No external packages required — built on Node.js `node:http`.
*/
export declare class McpSseServer {
private readonly _bridge;
private readonly _opts;
private _server;
private readonly _sseClients;
constructor(bridge: {
handleRPC(req: McpJsonRpcRequest): Promise<McpJsonRpcResponse>;
name?: string;
allDefinitions?: () => MCPToolDefinition[];
}, options?: McpSseServerOptions);
/** Start listening. Resolves when the server is ready. */
listen(): Promise<void>;
/** Stop the server and close all SSE streams. */
close(): Promise<void>;
/** Current TCP port (useful when port was auto-assigned). */
get port(): number;
/** Number of currently connected SSE clients. */
get clientCount(): number;
/**
* Broadcast an event to every connected SSE client.
* Useful for pushing agent status updates, budget alerts, etc.
*/
broadcast(eventName: string, data: unknown): void;
private _handleRequest;
private _handleSse;
private _handlePost;
private _handleHealth;
private _handleTools;
}
/**
* `McpTransport` implementation that sends JSON-RPC requests to a remote
* `McpSseServer` via HTTP POST.
*
* Use this when the MCP client and server are in different processes or
* machines. Pairs with `McpBridgeClient` as a drop-in replacement for
* `McpInProcessTransport`.
*
* @example
* ```typescript
* import { McpBridgeClient } from 'network-ai';
* import { McpSseTransport } from 'network-ai';
*
* const transport = new McpSseTransport('http://localhost:3001');
* const client = new McpBridgeClient(transport);
*
* const tools = await client.listTools();
* const result = await client.callTool('blackboard_read', { key: 'status', agent_id: 'my-agent' });
* ```
*/
export declare class McpSseTransport implements McpTransport {
private readonly _postUrl;
private _idCounter;
/**
* @param baseUrl Base URL of the `McpSseServer`, e.g. `'http://localhost:3001'`.
* The transport will POST to `<baseUrl>/mcp`.
*/
constructor(baseUrl: string);
/** Send a JSON-RPC request and wait for the response. */
send(request: McpJsonRpcRequest): Promise<McpJsonRpcResponse>;
/** Generate a unique request ID. */
nextId(): number;
}
//# sourceMappingURL=mcp-transport-sse.d.ts.map
{"version":3,"file":"mcp-transport-sse.d.ts","sourceRoot":"","sources":["../../lib/mcp-transport-sse.ts"],"names":[],"mappings":"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"}
"use strict";
/**
* MCP SSE/HTTP Transport — Phase 6 Part 1
*
* Makes the MCP bridge network-accessible over HTTP + Server-Sent Events so
* any MCP-compatible AI (Claude Desktop, Cursor, Cline, etc.) can connect
* to Network-AI from outside the process.
*
* Architecture:
*
* External AI agent
* │ POST /mcp (JSON-RPC 2.0 request)
* ▼
* McpSseServer (HTTP, port 3001)
* │ handleRPC()
* ▼
* McpCombinedBridge
* ├── blackboard tools (read/write/list/delete/exists)
* ├── extended tools (budget/token/audit)
* └── control tools (config/agent/fsm)
*
* External AI agent
* │ GET /sse (SSE connection — server pushes events)
* ▼
* McpSseServer broadcasts events to all connected clients
*
* Zero external dependencies — uses Node.js built-in `node:http` only.
*
* @module mcp-transport-sse
* @version 1.0.0
*/
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.McpSseTransport = exports.McpSseServer = exports.McpBlackboardBridgeAdapter = exports.McpCombinedBridge = void 0;
const http = __importStar(require("node:http"));
const https = __importStar(require("node:https"));
const node_url_1 = require("node:url");
// ============================================================================
// COMBINED BRIDGE — aggregates multiple tool providers
// ============================================================================
/**
* Aggregates multiple `McpToolProvider` instances into a single MCP bridge.
*
* Handles `tools/list` by merging all definitions, and routes `tools/call`
* to the first provider that owns the requested tool name.
*
* @example
* ```typescript
* const combined = new McpCombinedBridge('network-ai');
* combined.register(new McpBlackboardBridgeAdapter(myBridge));
* combined.register(new ExtendedMcpTools({ budget }));
* combined.register(new ControlMcpTools({ config, orchestrator }));
*
* const server = new McpSseServer(combined, { port: 3001 });
* await server.listen();
* ```
*/
class McpCombinedBridge {
name;
_providers = [];
_toolIndex = new Map();
constructor(name = 'network-ai') {
this.name = name;
}
/**
* Register a tool provider. Tools names must be globally unique across all
* registered providers — duplicate names are silently overwritten with the
* latest registration.
*/
register(provider) {
this._providers.push(provider);
for (const def of provider.getDefinitions()) {
this._toolIndex.set(def.name, provider);
}
}
/** All tool definitions across every registered provider. */
allDefinitions() {
return this._providers.flatMap(p => p.getDefinitions());
}
/**
* Handle a single JSON-RPC 2.0 request. Never rejects — errors are encoded
* in the response `error` field.
*/
async handleRPC(request) {
if (!request || request.jsonrpc !== '2.0') {
return this._error(null, -32600 /* McpErrorCode.InvalidRequest */, 'Invalid JSON-RPC 2.0 request');
}
const { id, method } = request;
try {
switch (method) {
case 'tools/list':
return this._ok(id, { tools: this.allDefinitions() });
case 'tools/call': {
const params = request.params;
if (!params || typeof params !== 'object') {
return this._error(id, -32602 /* McpErrorCode.InvalidParams */, 'tools/call requires params object');
}
const toolName = params['name'];
const toolArgs = (params['arguments'] ?? {});
if (typeof toolName !== 'string' || !toolName) {
return this._error(id, -32602 /* McpErrorCode.InvalidParams */, 'tools/call: "name" must be a non-empty string');
}
const provider = this._toolIndex.get(toolName);
if (!provider) {
return this._error(id, -32601 /* McpErrorCode.MethodNotFound */, `Unknown tool: "${toolName}"`);
}
const result = await provider.call(toolName, toolArgs);
return this._ok(id, {
content: [{ type: 'text', text: JSON.stringify(result) }],
isError: !result.ok,
});
}
default:
return this._error(id, -32601 /* McpErrorCode.MethodNotFound */, `Method not found: "${method}"`);
}
}
catch (err) {
return this._error(id, -32603 /* McpErrorCode.InternalError */, err instanceof Error ? err.message : String(err));
}
}
_ok(id, result) {
return { jsonrpc: '2.0', id, result };
}
_error(id, code, message) {
return { jsonrpc: '2.0', id, error: { code, message } };
}
}
exports.McpCombinedBridge = McpCombinedBridge;
// ============================================================================
// BRIDGE ADAPTER — wraps McpBlackboardBridge as a McpToolProvider
// ============================================================================
/**
* Wraps an existing `McpBlackboardBridge` as a `McpToolProvider` so it can be
* registered with `McpCombinedBridge` alongside extended and control tools.
*/
class McpBlackboardBridgeAdapter {
bridge;
constructor(bridge) {
this.bridge = bridge;
}
getDefinitions() {
return this.bridge.listTools();
}
async call(toolName, args) {
return this.bridge.callTool(toolName, args);
}
}
exports.McpBlackboardBridgeAdapter = McpBlackboardBridgeAdapter;
/**
* HTTP server that exposes a `McpCombinedBridge` (or any object with
* `handleRPC`) over two endpoints:
*
* - `GET /sse` — Server-Sent Events stream; sends initial `endpoint` event
* - `POST /mcp` — Receive JSON-RPC 2.0 requests, return responses
* - `GET /health` — Health check returning `{ status: 'ok', bridge, clients }`
* - `GET /tools` — List all available tools as JSON
*
* No external packages required — built on Node.js `node:http`.
*/
class McpSseServer {
_bridge;
_opts;
_server;
_sseClients = new Set();
constructor(bridge, options = {}) {
this._bridge = bridge;
this._opts = {
port: options.port ?? 3001,
host: options.host ?? '0.0.0.0',
heartbeatMs: options.heartbeatMs ?? 15000,
};
}
/** Start listening. Resolves when the server is ready. */
listen() {
this._server = http.createServer((req, res) => this._handleRequest(req, res));
return new Promise(resolve => {
this._server.listen(this._opts.port, this._opts.host, () => resolve());
});
}
/** Stop the server and close all SSE streams. */
close() {
for (const client of this._sseClients) {
try {
client.end();
}
catch { /* ignore */ }
}
this._sseClients.clear();
return new Promise((resolve, reject) => {
this._server.close(err => (err ? reject(err) : resolve()));
});
}
/** Current TCP port (useful when port was auto-assigned). */
get port() { return this._opts.port; }
/** Number of currently connected SSE clients. */
get clientCount() { return this._sseClients.size; }
/**
* Broadcast an event to every connected SSE client.
* Useful for pushing agent status updates, budget alerts, etc.
*/
broadcast(eventName, data) {
const msg = `event: ${eventName}\ndata: ${JSON.stringify(data)}\n\n`;
for (const client of this._sseClients) {
try {
client.write(msg);
}
catch { /* client disconnected */ }
}
}
// --------------------------------------------------------------------------
// REQUEST ROUTING
// --------------------------------------------------------------------------
_handleRequest(req, res) {
// CORS — allow any MCP client to connect
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
if (req.method === 'OPTIONS') {
res.writeHead(204);
res.end();
return;
}
const base = `http://${req.headers.host ?? `localhost:${this._opts.port}`}`;
let parsed;
try {
parsed = new node_url_1.URL(req.url ?? '/', base);
}
catch {
res.writeHead(400);
res.end('Bad request');
return;
}
const path = parsed.pathname;
if (req.method === 'GET' && path === '/sse') {
this._handleSse(req, res);
}
else if (req.method === 'POST' && path === '/mcp') {
this._handlePost(req, res);
}
else if (req.method === 'GET' && path === '/health') {
this._handleHealth(res);
}
else if (req.method === 'GET' && path === '/tools') {
this._handleTools(res);
}
else {
res.writeHead(404, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({ error: 'Not found', endpoints: ['/sse', '/mcp', '/health', '/tools'] }));
}
}
_handleSse(req, res) {
res.writeHead(200, {
'Content-Type': 'text/event-stream',
'Cache-Control': 'no-cache',
'Connection': 'keep-alive',
'X-Accel-Buffering': 'no', // Disable nginx buffering
});
// MCP SSE protocol: send endpoint URL so client knows where to POST
res.write(`event: endpoint\ndata: /mcp\n\n`);
this._sseClients.add(res);
// Heartbeat keeps the connection alive through proxies/load balancers
let heartbeat = null;
if (this._opts.heartbeatMs > 0) {
heartbeat = setInterval(() => {
try {
res.write(': heartbeat\n\n');
}
catch { /* closed */ }
}, this._opts.heartbeatMs);
}
req.on('close', () => {
if (heartbeat)
clearInterval(heartbeat);
this._sseClients.delete(res);
});
}
_handlePost(req, res) {
let body = '';
const MAX_BODY = 4 * 1024 * 1024; // 4 MB
let bodySize = 0;
req.on('data', (chunk) => {
bodySize += chunk.length;
if (bodySize > MAX_BODY) {
res.writeHead(413, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({ error: 'Request body too large' }));
req.destroy();
return;
}
body += chunk.toString();
});
req.on('end', async () => {
try {
const rpc = JSON.parse(body);
const response = await this._bridge.handleRPC(rpc);
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(JSON.stringify(response));
// Optionally broadcast the call as an event to SSE clients
if (this._sseClients.size > 0 && rpc.method === 'tools/call') {
this.broadcast('tool_called', { method: rpc.method, params: rpc.params, ts: Date.now() });
}
}
catch (err) {
const errMsg = err instanceof Error ? err.message : String(err);
res.writeHead(400, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({
jsonrpc: '2.0',
id: null,
error: { code: -32700 /* McpErrorCode.ParseError */, message: `Parse error: ${errMsg}` },
}));
}
});
req.on('error', () => {
try {
res.writeHead(500);
res.end();
}
catch { /* already sent */ }
});
}
_handleHealth(res) {
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({
status: 'ok',
bridge: this._bridge.name ?? 'network-ai',
clients: this._sseClients.size,
ts: new Date().toISOString(),
}));
}
_handleTools(res) {
const defs = this._bridge.allDefinitions?.() ?? [];
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({ tools: defs, count: defs.length }));
}
}
exports.McpSseServer = McpSseServer;
// ============================================================================
// SSE TRANSPORT (CLIENT SIDE)
// ============================================================================
/**
* `McpTransport` implementation that sends JSON-RPC requests to a remote
* `McpSseServer` via HTTP POST.
*
* Use this when the MCP client and server are in different processes or
* machines. Pairs with `McpBridgeClient` as a drop-in replacement for
* `McpInProcessTransport`.
*
* @example
* ```typescript
* import { McpBridgeClient } from 'network-ai';
* import { McpSseTransport } from 'network-ai';
*
* const transport = new McpSseTransport('http://localhost:3001');
* const client = new McpBridgeClient(transport);
*
* const tools = await client.listTools();
* const result = await client.callTool('blackboard_read', { key: 'status', agent_id: 'my-agent' });
* ```
*/
class McpSseTransport {
_postUrl;
_idCounter = 0;
/**
* @param baseUrl Base URL of the `McpSseServer`, e.g. `'http://localhost:3001'`.
* The transport will POST to `<baseUrl>/mcp`.
*/
constructor(baseUrl) {
const clean = baseUrl.replace(/\/+$/, '');
this._postUrl = clean.endsWith('/mcp') ? clean : `${clean}/mcp`;
}
/** Send a JSON-RPC request and wait for the response. */
async send(request) {
const body = JSON.stringify(request);
const parsed = new node_url_1.URL(this._postUrl);
const isHttps = parsed.protocol === 'https:';
const lib = isHttps ? https : http;
return new Promise((resolve, reject) => {
const options = {
hostname: parsed.hostname,
port: parseInt(parsed.port || (isHttps ? '443' : '80'), 10),
path: parsed.pathname + (parsed.search || ''),
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Content-Length': Buffer.byteLength(body),
},
};
const req = lib.request(options, resp => {
let data = '';
resp.on('data', (chunk) => { data += chunk.toString(); });
resp.on('end', () => {
try {
resolve(JSON.parse(data));
}
catch {
reject(new Error(`McpSseTransport: invalid JSON from server: ${data.slice(0, 200)}`));
}
});
});
req.on('error', reject);
req.setTimeout(30000, () => {
req.destroy(new Error('McpSseTransport: request timed out after 30s'));
});
req.write(body);
req.end();
});
}
/** Generate a unique request ID. */
nextId() {
return ++this._idCounter;
}
}
exports.McpSseTransport = McpSseTransport;
//# sourceMappingURL=mcp-transport-sse.js.map
{"version":3,"file":"mcp-transport-sse.js","sourceRoot":"","sources":["../../lib/mcp-transport-sse.ts"],"names":[],"mappings":"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"}
+28
-0

@@ -761,2 +761,30 @@ /**

}): SwarmOrchestrator;
/**
* Read the current value of a CONFIG key, or the entire CONFIG snapshot.
*
* @example
* ```typescript
* const cfg = getConfig(); // { maxParallelAgents: Infinity, ... }
* const timeout = getConfig('defaultTimeout'); // 30000
* ```
*/
export declare function getConfig(): Readonly<typeof CONFIG>;
export declare function getConfig(key: string): unknown;
/**
* Update a CONFIG key at runtime. Changes take effect immediately for all
* subsequent orchestrator operations.
*
* @example
* ```typescript
* setConfig('maxParallelAgents', 10);
* setConfig('enableTracing', false);
* ```
*/
export declare function setConfig(key: string, value: unknown): void;
export { McpSseServer, McpSseTransport, McpCombinedBridge, McpBlackboardBridgeAdapter, } from './lib/mcp-transport-sse';
export type { McpToolProvider, McpSseServerOptions } from './lib/mcp-transport-sse';
export { ExtendedMcpTools } from './lib/mcp-tools-extended';
export type { IBudget, ITokenManager, ExtendedMcpToolsOptions } from './lib/mcp-tools-extended';
export { ControlMcpTools } from './lib/mcp-tools-control';
export type { IConfig, IAgentStatus, ControlMcpToolsOptions } from './lib/mcp-tools-control';
//# sourceMappingURL=index.d.ts.map
+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
{
"name": "network-ai",
"version": "3.9.0",
"version": "4.0.0",
"description": "AI agent orchestration framework for TypeScript/Node.js - plug-and-play multi-agent coordination with 12 frameworks (LangChain, AutoGen, CrewAI, OpenAI Assistants, LlamaIndex, Semantic Kernel, Haystack, DSPy, Agno, MCP, OpenClaw). Built-in security, swarm intelligence, and agentic workflow patterns.",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"bin": {
"network-ai-server": "./dist/bin/mcp-server.js"
},
"scripts": {

@@ -24,2 +27,3 @@ "build": "tsc -p tsconfig.build.json",

"test:phase5g": "npx ts-node test-phase5g.ts",
"test:phase6": "npx ts-node test-phase6.ts",
"test:all": "npx ts-node run-tests.ts",

@@ -88,2 +92,3 @@ "setup": "npx ts-node setup.ts",

"dist/",
"bin/",
"types/",

@@ -90,0 +95,0 @@ "scripts/",

@@ -7,3 +7,3 @@ # Network-AI: Multi-Agent Orchestration Framework

[![CodeQL](https://github.com/jovanSAPFIONEER/Network-AI/actions/workflows/codeql.yml/badge.svg)](https://github.com/jovanSAPFIONEER/Network-AI/actions/workflows/codeql.yml)
[![Release](https://img.shields.io/badge/release-v3.9.0-blue.svg)](https://github.com/jovanSAPFIONEER/Network-AI/releases)
[![Release](https://img.shields.io/badge/release-v4.0.0-blue.svg)](https://github.com/jovanSAPFIONEER/Network-AI/releases)
[![npm](https://img.shields.io/npm/dw/network-ai.svg?label=npm%20downloads)](https://www.npmjs.com/package/network-ai)

@@ -17,3 +17,3 @@ [![ClawHub](https://img.shields.io/badge/ClawHub-network--ai-orange.svg)](https://clawhub.ai/skills/network-ai)

[![AgentSkills](https://img.shields.io/badge/AgentSkills-compatible-orange.svg)](https://agentskills.io)
[![Tests](https://img.shields.io/badge/tests-1095%20passing-brightgreen.svg)](#testing)
[![Tests](https://img.shields.io/badge/tests-1216%20passing-brightgreen.svg)](#testing)
[![Adapters](https://img.shields.io/badge/frameworks-12%20supported-blueviolet.svg)](#adapter-system)

@@ -20,0 +20,0 @@ [![RSS Feed](https://img.shields.io/badge/RSS-releases-orange?logo=rss)](https://github.com/jovanSAPFIONEER/Network-AI/releases.atom)

/**
* Test runner — executes all test suites sequentially as isolated child
* processes. Each suite is fully cleaned up before the next one starts,
* preventing memory accumulation that crashes VS Code's integrated terminal.
*
* Usage: npx ts-node run-tests.ts
*/
export {};
//# sourceMappingURL=run-tests.d.ts.map
{"version":3,"file":"run-tests.d.ts","sourceRoot":"","sources":["../run-tests.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
"use strict";
/**
* Test runner — executes all test suites sequentially as isolated child
* processes. Each suite is fully cleaned up before the next one starts,
* preventing memory accumulation that crashes VS Code's integrated terminal.
*
* Usage: npx ts-node run-tests.ts
*/
Object.defineProperty(exports, "__esModule", { value: true });
const child_process_1 = require("child_process");
const path_1 = require("path");
const SUITES = [
'test-standalone.ts',
'test-security.ts',
'test-adapters.ts',
'test-priority.ts',
'test-phase4.ts',
'test-phase5.ts',
'test-phase5b.ts',
'test-phase5c.ts',
'test-phase5d.ts',
'test-phase5e.ts',
'test-phase5f.ts',
'test-phase5g.ts',
];
const WIDTH = 60;
const cwd = (0, path_1.resolve)(__dirname);
let totalPassed = 0;
let totalFailed = 0;
const results = [];
console.log('='.repeat(WIDTH));
console.log(' Network-AI Full Test Suite');
console.log('='.repeat(WIDTH));
for (const suite of SUITES) {
process.stdout.write(`\nRunning ${suite} ... `);
const result = (0, child_process_1.spawnSync)(process.execPath, // node
['-e', `require('ts-node/register'); require('./${suite}')`], {
cwd,
encoding: 'utf8',
maxBuffer: 10 * 1024 * 1024, // 10 MB output buffer
env: {
...process.env,
NODE_OPTIONS: '--max-old-space-size=512', // cap per-process RAM
},
});
// Count pass/fail markers — suites use either [PASS]/[FAIL] or [v]/[x]
const stdout = result.stdout ?? '';
const stderr = result.stderr ?? '';
const passed = (stdout.match(/\[PASS\]|\[v\]/g) ?? []).length;
const failed = (stdout.match(/\[FAIL\]|\[x\]/g) ?? []).length;
const ok = result.status === 0 && failed === 0;
totalPassed += passed;
totalFailed += failed;
results.push({ suite, passed, failed, ok });
if (ok) {
console.log(`OK (${passed} passed)`);
}
else {
console.log(`FAIL (${passed} passed, ${failed} failed)`);
// Print the last 20 lines of output for quick diagnosis
const lines = (stdout + stderr).split('\n').filter(Boolean);
lines.slice(-20).forEach(l => console.log(' ' + l));
}
}
console.log('\n' + '='.repeat(WIDTH));
console.log(` Results: ${totalPassed} passed, ${totalFailed} failed`);
console.log('='.repeat(WIDTH));
const allOk = results.every(r => r.ok);
if (allOk) {
console.log(`\nALL ${totalPassed} TESTS PASSED\n`);
}
else {
console.log('\nFAILED SUITES:');
results.filter(r => !r.ok).forEach(r => console.log(` - ${r.suite} (${r.failed} failed)`));
process.exit(1);
}
//# sourceMappingURL=run-tests.js.map
{"version":3,"file":"run-tests.js","sourceRoot":"","sources":["../run-tests.ts"],"names":[],"mappings":"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"}

Sorry, the diff of this file is too big to display