network-ai
Advanced tools
| #!/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":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAM3D,2DAA2D;AAC3D,MAAM,WAAW,OAAO;IACtB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvG,SAAS,IAAI,MAAM,CAAC;IACpB,aAAa,IAAI,MAAM,CAAC;IACxB,UAAU,IAAI,MAAM,CAAC;IACrB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,iBAAiB,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnF,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,KAAK,IAAI,IAAI,CAAC;CACf;AAED,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;QACnE,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,aAAa,CAAC,KAAK,EAAE;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AA4ID,qEAAqE;AACrE,MAAM,WAAW,uBAAuB;IACtC,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,uFAAuF;IACvF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,gBAAiB,YAAW,eAAe;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,OAAO,GAAE,uBAA4B;IAMjD,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;IAyB1F,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,aAAa;CAkBtB"} |
| "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":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,gDAAkC;AAClC,kDAAoC;AACpC,uCAA+B;AAyB/B,+EAA+E;AAC/E,uDAAuD;AACvD,+EAA+E;AAE/E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAa,iBAAiB;IACnB,IAAI,CAAS;IACL,UAAU,GAAsB,EAAE,CAAC;IACnC,UAAU,GAAiC,IAAI,GAAG,EAAE,CAAC;IAEtE,YAAY,IAAI,GAAG,YAAY;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,QAAyB;QAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,cAAc;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,OAA0B;QACxC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,4CAA+B,8BAA8B,CAAC,CAAC;QACxF,CAAC;QAED,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAE/B,IAAI,CAAC;YACH,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,YAAY;oBACf,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;gBAExD,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,MAAM,GAAG,OAAO,CAAC,MAA6C,CAAC;oBACrE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,2CAA8B,mCAAmC,CAAC,CAAC;oBAC1F,CAAC;oBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;oBAChC,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAA4B,CAAC;oBACxE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,2CAA8B,+CAA+C,CAAC,CAAC;oBACtG,CAAC;oBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,4CAA+B,kBAAkB,QAAQ,GAAG,CAAC,CAAC;oBACrF,CAAC;oBACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACvD,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;wBAClB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;wBACzD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE;qBACpB,CAAC,CAAC;gBACL,CAAC;gBAED;oBACE,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,4CAA+B,sBAAsB,MAAM,GAAG,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,MAAM,CAChB,EAAE,2CAEF,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,GAAG,CAAC,EAA0B,EAAE,MAAe;QACrD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IACxC,CAAC;IAEO,MAAM,CACZ,EAA0B,EAC1B,IAAkB,EAClB,OAAe;QAEf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;IAC1D,CAAC;CACF;AAtFD,8CAsFC;AAED,+EAA+E;AAC/E,kEAAkE;AAClE,+EAA+E;AAE/E;;;GAGG;AACH,MAAa,0BAA0B;IACR;IAA7B,YAA6B,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;IAAG,CAAC;IAE5D,cAAc;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,IAA6B;QACxD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;CACF;AAVD,gEAUC;AAgBD;;;;;;;;;;GAUG;AACH,MAAa,YAAY;IACN,OAAO,CAAgI;IACvI,KAAK,CAAgC;IAC9C,OAAO,CAAe;IACb,WAAW,GAA6B,IAAI,GAAG,EAAE,CAAC;IAEnE,YACE,MAAqI,EACrI,UAA+B,EAAE;QAEjC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG;YACX,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS;YAC/B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;SAC1C,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,MAAM;QACJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9E,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAiD;IACjD,KAAK;QACH,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC;gBAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAI,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9C,iDAAiD;IACjD,IAAI,WAAW,KAAa,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3D;;;OAGG;IACH,SAAS,CAAC,SAAiB,EAAE,IAAa;QACxC,MAAM,GAAG,GAAG,UAAU,SAAS,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;QACrE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC;gBAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,kBAAkB;IAClB,6EAA6E;IAErE,cAAc,CAAC,GAAyB,EAAE,GAAwB;QACxE,yCAAyC;QACzC,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QAClD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,CAAC;QACpE,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,6BAA6B,CAAC,CAAC;QAE7E,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,aAAa,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5E,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,cAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;QAE7B,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACtD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QACpG,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,GAAyB,EAAE,GAAwB;QACpE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACjB,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,UAAU;YAC3B,YAAY,EAAE,YAAY;YAC1B,mBAAmB,EAAE,IAAI,EAAE,0BAA0B;SACtD,CAAC,CAAC;QAEH,oEAAoE;QACpE,GAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAE7C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE1B,sEAAsE;QACtE,IAAI,SAAS,GAA0C,IAAI,CAAC;QAC5D,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC/B,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC3B,IAAI,CAAC;oBAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC9D,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;QAED,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,IAAI,SAAS;gBAAE,aAAa,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,GAAyB,EAAE,GAAwB;QACrE,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;QACzC,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC/B,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC;YACzB,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;gBACxB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;gBAC7D,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YACvB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsB,CAAC;gBAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAElC,2DAA2D;gBAC3D,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;oBAC7D,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC5F,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;oBACrB,OAAO,EAAE,KAAK;oBACd,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,EAAE,IAAI,sCAAyB,EAAE,OAAO,EAAE,gBAAgB,MAAM,EAAE,EAAE;iBAC5E,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,IAAI,CAAC;gBACH,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,GAAwB;QAC5C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACrB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,YAAY;YACzC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;YAC9B,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAC7B,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,YAAY,CAAC,GAAwB;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF;AAxLD,oCAwLC;AAED,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAa,eAAe;IACT,QAAQ,CAAS;IAC1B,UAAU,GAAG,CAAC,CAAC;IAEvB;;;OAGG;IACH,YAAY,OAAe;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC;IAClE,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,IAAI,CAAC,OAA0B;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,cAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAEnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAwB;gBACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBAC3D,IAAI,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;gBAC7C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;iBAC1C;aACF,CAAC;YAEF,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;gBACtC,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBAClB,IAAI,CAAC;wBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAC,CAAC;oBAClD,CAAC;oBAAC,MAAM,CAAC;wBACP,MAAM,CAAC,IAAI,KAAK,CAAC,8CAA8C,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBACxF,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACxB,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE;gBACzB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChB,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oCAAoC;IACpC,MAAM;QACJ,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;CACF;AAzDD,0CAyDC"} |
+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 +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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"} |
+6
-1
| { | ||
| "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/", |
+2
-2
@@ -7,3 +7,3 @@ # Network-AI: Multi-Agent Orchestration Framework | ||
| [](https://github.com/jovanSAPFIONEER/Network-AI/actions/workflows/codeql.yml) | ||
| [](https://github.com/jovanSAPFIONEER/Network-AI/releases) | ||
| [](https://github.com/jovanSAPFIONEER/Network-AI/releases) | ||
| [](https://www.npmjs.com/package/network-ai) | ||
@@ -17,3 +17,3 @@ [](https://clawhub.ai/skills/network-ai) | ||
| [](https://agentskills.io) | ||
| [](#testing) | ||
| [](#testing) | ||
| [](#adapter-system) | ||
@@ -20,0 +20,0 @@ [](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
Network access
Supply chain riskThis module accesses the network.
Found 3 instances in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 3 instances in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 3 instances in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
1248136
11.63%161
8.78%19928
11.45%69
1.47%47
23.68%