moflo 4.8.19 → 4.8.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/guidance/shipped/moflo.md +45 -0
- package/.claude/helpers/statusline.cjs +1 -1
- package/.claude/workflow-state.json +9 -0
- package/package.json +2 -2
- package/src/@claude-flow/cli/dist/src/init/statusline-generator.js +1 -1
- package/src/@claude-flow/cli/dist/src/services/agentic-flow-bridge.js +5 -3
- package/src/@claude-flow/cli/package.json +1 -1
- package/src/@claude-flow/memory/dist/agent-memory-scope.d.ts +131 -0
- package/src/@claude-flow/memory/dist/agent-memory-scope.js +223 -0
- package/src/@claude-flow/memory/dist/agent-memory-scope.test.d.ts +8 -0
- package/src/@claude-flow/memory/dist/agent-memory-scope.test.js +466 -0
- package/src/@claude-flow/memory/dist/agentdb-adapter.d.ts +165 -0
- package/src/@claude-flow/memory/dist/agentdb-adapter.js +806 -0
- package/src/@claude-flow/memory/dist/agentdb-backend.d.ts +212 -0
- package/src/@claude-flow/memory/dist/agentdb-backend.js +842 -0
- package/src/@claude-flow/memory/dist/agentdb-backend.test.d.ts +7 -0
- package/src/@claude-flow/memory/dist/agentdb-backend.test.js +258 -0
- package/src/@claude-flow/memory/dist/application/commands/delete-memory.command.d.ts +65 -0
- package/src/@claude-flow/memory/dist/application/commands/delete-memory.command.js +129 -0
- package/src/@claude-flow/memory/dist/application/commands/store-memory.command.d.ts +48 -0
- package/src/@claude-flow/memory/dist/application/commands/store-memory.command.js +72 -0
- package/src/@claude-flow/memory/dist/application/index.d.ts +12 -0
- package/src/@claude-flow/memory/dist/application/index.js +15 -0
- package/src/@claude-flow/memory/dist/application/queries/search-memory.query.d.ts +72 -0
- package/src/@claude-flow/memory/dist/application/queries/search-memory.query.js +143 -0
- package/src/@claude-flow/memory/dist/application/services/memory-application-service.d.ts +121 -0
- package/src/@claude-flow/memory/dist/application/services/memory-application-service.js +190 -0
- package/src/@claude-flow/memory/dist/auto-memory-bridge.d.ts +226 -0
- package/src/@claude-flow/memory/dist/auto-memory-bridge.js +709 -0
- package/src/@claude-flow/memory/dist/auto-memory-bridge.test.d.ts +8 -0
- package/src/@claude-flow/memory/dist/auto-memory-bridge.test.js +757 -0
- package/src/@claude-flow/memory/dist/benchmark.test.d.ts +2 -0
- package/src/@claude-flow/memory/dist/benchmark.test.js +277 -0
- package/src/@claude-flow/memory/dist/cache-manager.d.ts +134 -0
- package/src/@claude-flow/memory/dist/cache-manager.js +407 -0
- package/src/@claude-flow/memory/dist/controller-registry.d.ts +216 -0
- package/src/@claude-flow/memory/dist/controller-registry.js +893 -0
- package/src/@claude-flow/memory/dist/controller-registry.test.d.ts +14 -0
- package/src/@claude-flow/memory/dist/controller-registry.test.js +593 -0
- package/src/@claude-flow/memory/dist/database-provider.d.ts +87 -0
- package/src/@claude-flow/memory/dist/database-provider.js +372 -0
- package/src/@claude-flow/memory/dist/database-provider.test.d.ts +7 -0
- package/src/@claude-flow/memory/dist/database-provider.test.js +287 -0
- package/src/@claude-flow/memory/dist/domain/entities/memory-entry.d.ts +143 -0
- package/src/@claude-flow/memory/dist/domain/entities/memory-entry.js +226 -0
- package/src/@claude-flow/memory/dist/domain/index.d.ts +11 -0
- package/src/@claude-flow/memory/dist/domain/index.js +12 -0
- package/src/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.d.ts +102 -0
- package/src/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.js +11 -0
- package/src/@claude-flow/memory/dist/domain/services/memory-domain-service.d.ts +105 -0
- package/src/@claude-flow/memory/dist/domain/services/memory-domain-service.js +297 -0
- package/src/@claude-flow/memory/dist/hnsw-index.d.ts +111 -0
- package/src/@claude-flow/memory/dist/hnsw-index.js +781 -0
- package/src/@claude-flow/memory/dist/hnsw-lite.d.ts +23 -0
- package/src/@claude-flow/memory/dist/hnsw-lite.js +168 -0
- package/src/@claude-flow/memory/dist/index.d.ts +204 -0
- package/src/@claude-flow/memory/dist/index.js +358 -0
- package/src/@claude-flow/memory/dist/infrastructure/index.d.ts +17 -0
- package/src/@claude-flow/memory/dist/infrastructure/index.js +16 -0
- package/src/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.d.ts +66 -0
- package/src/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.js +409 -0
- package/src/@claude-flow/memory/dist/learning-bridge.d.ts +137 -0
- package/src/@claude-flow/memory/dist/learning-bridge.js +335 -0
- package/src/@claude-flow/memory/dist/learning-bridge.test.d.ts +8 -0
- package/src/@claude-flow/memory/dist/learning-bridge.test.js +578 -0
- package/src/@claude-flow/memory/dist/memory-graph.d.ts +100 -0
- package/src/@claude-flow/memory/dist/memory-graph.js +333 -0
- package/src/@claude-flow/memory/dist/memory-graph.test.d.ts +8 -0
- package/src/@claude-flow/memory/dist/memory-graph.test.js +609 -0
- package/src/@claude-flow/memory/dist/migration.d.ts +68 -0
- package/src/@claude-flow/memory/dist/migration.js +513 -0
- package/src/@claude-flow/memory/dist/persistent-sona.d.ts +144 -0
- package/src/@claude-flow/memory/dist/persistent-sona.js +332 -0
- package/src/@claude-flow/memory/dist/query-builder.d.ts +211 -0
- package/src/@claude-flow/memory/dist/query-builder.js +438 -0
- package/src/@claude-flow/memory/dist/rvf-backend.d.ts +51 -0
- package/src/@claude-flow/memory/dist/rvf-backend.js +481 -0
- package/src/@claude-flow/memory/dist/rvf-learning-store.d.ts +139 -0
- package/src/@claude-flow/memory/dist/rvf-learning-store.js +295 -0
- package/src/@claude-flow/memory/dist/rvf-migration.d.ts +45 -0
- package/src/@claude-flow/memory/dist/rvf-migration.js +234 -0
- package/src/@claude-flow/memory/dist/sqljs-backend.d.ts +127 -0
- package/src/@claude-flow/memory/dist/sqljs-backend.js +600 -0
- package/src/@claude-flow/memory/dist/types.d.ts +484 -0
- package/src/@claude-flow/memory/dist/types.js +58 -0
- package/src/@claude-flow/shared/dist/core/config/defaults.d.ts +41 -0
- package/src/@claude-flow/shared/dist/core/config/defaults.js +186 -0
- package/src/@claude-flow/shared/dist/core/config/index.d.ts +8 -0
- package/src/@claude-flow/shared/dist/core/config/index.js +12 -0
- package/src/@claude-flow/shared/dist/core/config/loader.d.ts +45 -0
- package/src/@claude-flow/shared/dist/core/config/loader.js +222 -0
- package/src/@claude-flow/shared/dist/core/config/schema.d.ts +1134 -0
- package/src/@claude-flow/shared/dist/core/config/schema.js +158 -0
- package/src/@claude-flow/shared/dist/core/config/validator.d.ts +92 -0
- package/src/@claude-flow/shared/dist/core/config/validator.js +147 -0
- package/src/@claude-flow/shared/dist/core/event-bus.d.ts +31 -0
- package/src/@claude-flow/shared/dist/core/event-bus.js +197 -0
- package/src/@claude-flow/shared/dist/core/index.d.ts +15 -0
- package/src/@claude-flow/shared/dist/core/index.js +19 -0
- package/src/@claude-flow/shared/dist/core/interfaces/agent.interface.d.ts +200 -0
- package/src/@claude-flow/shared/dist/core/interfaces/agent.interface.js +6 -0
- package/src/@claude-flow/shared/dist/core/interfaces/coordinator.interface.d.ts +310 -0
- package/src/@claude-flow/shared/dist/core/interfaces/coordinator.interface.js +7 -0
- package/src/@claude-flow/shared/dist/core/interfaces/event.interface.d.ts +224 -0
- package/src/@claude-flow/shared/dist/core/interfaces/event.interface.js +46 -0
- package/src/@claude-flow/shared/dist/core/interfaces/index.d.ts +10 -0
- package/src/@claude-flow/shared/dist/core/interfaces/index.js +15 -0
- package/src/@claude-flow/shared/dist/core/interfaces/memory.interface.d.ts +298 -0
- package/src/@claude-flow/shared/dist/core/interfaces/memory.interface.js +7 -0
- package/src/@claude-flow/shared/dist/core/interfaces/task.interface.d.ts +185 -0
- package/src/@claude-flow/shared/dist/core/interfaces/task.interface.js +6 -0
- package/src/@claude-flow/shared/dist/core/orchestrator/event-coordinator.d.ts +35 -0
- package/src/@claude-flow/shared/dist/core/orchestrator/event-coordinator.js +101 -0
- package/src/@claude-flow/shared/dist/core/orchestrator/health-monitor.d.ts +60 -0
- package/src/@claude-flow/shared/dist/core/orchestrator/health-monitor.js +166 -0
- package/src/@claude-flow/shared/dist/core/orchestrator/index.d.ts +46 -0
- package/src/@claude-flow/shared/dist/core/orchestrator/index.js +64 -0
- package/src/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.d.ts +56 -0
- package/src/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.js +195 -0
- package/src/@claude-flow/shared/dist/core/orchestrator/session-manager.d.ts +83 -0
- package/src/@claude-flow/shared/dist/core/orchestrator/session-manager.js +193 -0
- package/src/@claude-flow/shared/dist/core/orchestrator/task-manager.d.ts +49 -0
- package/src/@claude-flow/shared/dist/core/orchestrator/task-manager.js +253 -0
- package/src/@claude-flow/shared/dist/events/domain-events.d.ts +282 -0
- package/src/@claude-flow/shared/dist/events/domain-events.js +165 -0
- package/src/@claude-flow/shared/dist/events/event-store.d.ts +126 -0
- package/src/@claude-flow/shared/dist/events/event-store.js +432 -0
- package/src/@claude-flow/shared/dist/events/event-store.test.d.ts +8 -0
- package/src/@claude-flow/shared/dist/events/event-store.test.js +297 -0
- package/src/@claude-flow/shared/dist/events/example-usage.d.ts +10 -0
- package/src/@claude-flow/shared/dist/events/example-usage.js +193 -0
- package/src/@claude-flow/shared/dist/events/index.d.ts +21 -0
- package/src/@claude-flow/shared/dist/events/index.js +22 -0
- package/src/@claude-flow/shared/dist/events/projections.d.ts +177 -0
- package/src/@claude-flow/shared/dist/events/projections.js +421 -0
- package/src/@claude-flow/shared/dist/events/rvf-event-log.d.ts +82 -0
- package/src/@claude-flow/shared/dist/events/rvf-event-log.js +340 -0
- package/src/@claude-flow/shared/dist/events/state-reconstructor.d.ts +101 -0
- package/src/@claude-flow/shared/dist/events/state-reconstructor.js +263 -0
- package/src/@claude-flow/shared/dist/events.d.ts +80 -0
- package/src/@claude-flow/shared/dist/events.js +249 -0
- package/src/@claude-flow/shared/dist/hooks/example-usage.d.ts +42 -0
- package/src/@claude-flow/shared/dist/hooks/example-usage.js +351 -0
- package/src/@claude-flow/shared/dist/hooks/executor.d.ts +100 -0
- package/src/@claude-flow/shared/dist/hooks/executor.js +267 -0
- package/src/@claude-flow/shared/dist/hooks/hooks.test.d.ts +9 -0
- package/src/@claude-flow/shared/dist/hooks/hooks.test.js +322 -0
- package/src/@claude-flow/shared/dist/hooks/index.d.ts +52 -0
- package/src/@claude-flow/shared/dist/hooks/index.js +51 -0
- package/src/@claude-flow/shared/dist/hooks/registry.d.ts +133 -0
- package/src/@claude-flow/shared/dist/hooks/registry.js +277 -0
- package/src/@claude-flow/shared/dist/hooks/safety/bash-safety.d.ts +105 -0
- package/src/@claude-flow/shared/dist/hooks/safety/bash-safety.js +481 -0
- package/src/@claude-flow/shared/dist/hooks/safety/file-organization.d.ts +144 -0
- package/src/@claude-flow/shared/dist/hooks/safety/file-organization.js +328 -0
- package/src/@claude-flow/shared/dist/hooks/safety/git-commit.d.ts +158 -0
- package/src/@claude-flow/shared/dist/hooks/safety/git-commit.js +450 -0
- package/src/@claude-flow/shared/dist/hooks/safety/index.d.ts +17 -0
- package/src/@claude-flow/shared/dist/hooks/safety/index.js +17 -0
- package/src/@claude-flow/shared/dist/hooks/session-hooks.d.ts +234 -0
- package/src/@claude-flow/shared/dist/hooks/session-hooks.js +334 -0
- package/src/@claude-flow/shared/dist/hooks/task-hooks.d.ts +163 -0
- package/src/@claude-flow/shared/dist/hooks/task-hooks.js +326 -0
- package/src/@claude-flow/shared/dist/hooks/types.d.ts +267 -0
- package/src/@claude-flow/shared/dist/hooks/types.js +62 -0
- package/src/@claude-flow/shared/dist/hooks/verify-exports.test.d.ts +9 -0
- package/src/@claude-flow/shared/dist/hooks/verify-exports.test.js +93 -0
- package/src/@claude-flow/shared/dist/index.d.ts +20 -0
- package/src/@claude-flow/shared/dist/index.js +50 -0
- package/src/@claude-flow/shared/dist/mcp/connection-pool.d.ts +98 -0
- package/src/@claude-flow/shared/dist/mcp/connection-pool.js +364 -0
- package/src/@claude-flow/shared/dist/mcp/index.d.ts +69 -0
- package/src/@claude-flow/shared/dist/mcp/index.js +84 -0
- package/src/@claude-flow/shared/dist/mcp/server.d.ts +166 -0
- package/src/@claude-flow/shared/dist/mcp/server.js +593 -0
- package/src/@claude-flow/shared/dist/mcp/session-manager.d.ts +136 -0
- package/src/@claude-flow/shared/dist/mcp/session-manager.js +335 -0
- package/src/@claude-flow/shared/dist/mcp/tool-registry.d.ts +178 -0
- package/src/@claude-flow/shared/dist/mcp/tool-registry.js +439 -0
- package/src/@claude-flow/shared/dist/mcp/transport/http.d.ts +104 -0
- package/src/@claude-flow/shared/dist/mcp/transport/http.js +476 -0
- package/src/@claude-flow/shared/dist/mcp/transport/index.d.ts +102 -0
- package/src/@claude-flow/shared/dist/mcp/transport/index.js +238 -0
- package/src/@claude-flow/shared/dist/mcp/transport/stdio.d.ts +104 -0
- package/src/@claude-flow/shared/dist/mcp/transport/stdio.js +263 -0
- package/src/@claude-flow/shared/dist/mcp/transport/websocket.d.ts +133 -0
- package/src/@claude-flow/shared/dist/mcp/transport/websocket.js +396 -0
- package/src/@claude-flow/shared/dist/mcp/types.d.ts +438 -0
- package/src/@claude-flow/shared/dist/mcp/types.js +54 -0
- package/src/@claude-flow/shared/dist/plugin-interface.d.ts +544 -0
- package/src/@claude-flow/shared/dist/plugin-interface.js +23 -0
- package/src/@claude-flow/shared/dist/plugin-loader.d.ts +139 -0
- package/src/@claude-flow/shared/dist/plugin-loader.js +434 -0
- package/src/@claude-flow/shared/dist/plugin-registry.d.ts +183 -0
- package/src/@claude-flow/shared/dist/plugin-registry.js +457 -0
- package/src/@claude-flow/shared/dist/plugins/index.d.ts +10 -0
- package/src/@claude-flow/shared/dist/plugins/index.js +10 -0
- package/src/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.d.ts +106 -0
- package/src/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.js +241 -0
- package/src/@claude-flow/shared/dist/plugins/official/index.d.ts +10 -0
- package/src/@claude-flow/shared/dist/plugins/official/index.js +10 -0
- package/src/@claude-flow/shared/dist/plugins/official/maestro-plugin.d.ts +121 -0
- package/src/@claude-flow/shared/dist/plugins/official/maestro-plugin.js +355 -0
- package/src/@claude-flow/shared/dist/plugins/types.d.ts +93 -0
- package/src/@claude-flow/shared/dist/plugins/types.js +9 -0
- package/src/@claude-flow/shared/dist/resilience/bulkhead.d.ts +105 -0
- package/src/@claude-flow/shared/dist/resilience/bulkhead.js +206 -0
- package/src/@claude-flow/shared/dist/resilience/circuit-breaker.d.ts +132 -0
- package/src/@claude-flow/shared/dist/resilience/circuit-breaker.js +233 -0
- package/src/@claude-flow/shared/dist/resilience/index.d.ts +19 -0
- package/src/@claude-flow/shared/dist/resilience/index.js +19 -0
- package/src/@claude-flow/shared/dist/resilience/rate-limiter.d.ts +168 -0
- package/src/@claude-flow/shared/dist/resilience/rate-limiter.js +314 -0
- package/src/@claude-flow/shared/dist/resilience/retry.d.ts +91 -0
- package/src/@claude-flow/shared/dist/resilience/retry.js +159 -0
- package/src/@claude-flow/shared/dist/security/index.d.ts +10 -0
- package/src/@claude-flow/shared/dist/security/index.js +12 -0
- package/src/@claude-flow/shared/dist/security/input-validation.d.ts +73 -0
- package/src/@claude-flow/shared/dist/security/input-validation.js +201 -0
- package/src/@claude-flow/shared/dist/security/secure-random.d.ts +92 -0
- package/src/@claude-flow/shared/dist/security/secure-random.js +142 -0
- package/src/@claude-flow/shared/dist/services/index.d.ts +7 -0
- package/src/@claude-flow/shared/dist/services/index.js +7 -0
- package/src/@claude-flow/shared/dist/services/v3-progress.service.d.ts +124 -0
- package/src/@claude-flow/shared/dist/services/v3-progress.service.js +402 -0
- package/src/@claude-flow/shared/dist/types/agent.types.d.ts +137 -0
- package/src/@claude-flow/shared/dist/types/agent.types.js +6 -0
- package/src/@claude-flow/shared/dist/types/index.d.ts +11 -0
- package/src/@claude-flow/shared/dist/types/index.js +17 -0
- package/src/@claude-flow/shared/dist/types/mcp.types.d.ts +266 -0
- package/src/@claude-flow/shared/dist/types/mcp.types.js +7 -0
- package/src/@claude-flow/shared/dist/types/memory.types.d.ts +236 -0
- package/src/@claude-flow/shared/dist/types/memory.types.js +7 -0
- package/src/@claude-flow/shared/dist/types/swarm.types.d.ts +186 -0
- package/src/@claude-flow/shared/dist/types/swarm.types.js +65 -0
- package/src/@claude-flow/shared/dist/types/task.types.d.ts +178 -0
- package/src/@claude-flow/shared/dist/types/task.types.js +32 -0
- package/src/@claude-flow/shared/dist/types.d.ts +197 -0
- package/src/@claude-flow/shared/dist/types.js +21 -0
- package/src/@claude-flow/shared/dist/utils/secure-logger.d.ts +69 -0
- package/src/@claude-flow/shared/dist/utils/secure-logger.js +208 -0
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* V3 MCP Types and Interfaces
|
|
3
|
+
*
|
|
4
|
+
* Optimized type definitions for the V3 MCP server with:
|
|
5
|
+
* - Strict typing for performance
|
|
6
|
+
* - Connection pooling types
|
|
7
|
+
* - Transport layer abstractions
|
|
8
|
+
* - Tool registry interfaces
|
|
9
|
+
*
|
|
10
|
+
* Performance Targets:
|
|
11
|
+
* - Server startup: <400ms
|
|
12
|
+
* - Tool registration: <10ms
|
|
13
|
+
* - Tool execution: <50ms overhead
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* JSON-RPC 2.0 Protocol Version
|
|
17
|
+
*/
|
|
18
|
+
export type JsonRpcVersion = '2.0';
|
|
19
|
+
/**
|
|
20
|
+
* MCP Protocol Version
|
|
21
|
+
*/
|
|
22
|
+
export interface MCPProtocolVersion {
|
|
23
|
+
major: number;
|
|
24
|
+
minor: number;
|
|
25
|
+
patch: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* MCP Request ID (can be string, number, or null)
|
|
29
|
+
*/
|
|
30
|
+
export type RequestId = string | number | null;
|
|
31
|
+
/**
|
|
32
|
+
* Base MCP Message
|
|
33
|
+
*/
|
|
34
|
+
export interface MCPMessage {
|
|
35
|
+
jsonrpc: JsonRpcVersion;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* MCP Request
|
|
39
|
+
*/
|
|
40
|
+
export interface MCPRequest extends MCPMessage {
|
|
41
|
+
id: RequestId;
|
|
42
|
+
method: string;
|
|
43
|
+
params?: Record<string, unknown>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* MCP Notification (request without id)
|
|
47
|
+
*/
|
|
48
|
+
export interface MCPNotification extends MCPMessage {
|
|
49
|
+
method: string;
|
|
50
|
+
params?: Record<string, unknown>;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* MCP Error
|
|
54
|
+
*/
|
|
55
|
+
export interface MCPError {
|
|
56
|
+
code: number;
|
|
57
|
+
message: string;
|
|
58
|
+
data?: unknown;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* MCP Response
|
|
62
|
+
*/
|
|
63
|
+
export interface MCPResponse extends MCPMessage {
|
|
64
|
+
id: RequestId;
|
|
65
|
+
result?: unknown;
|
|
66
|
+
error?: MCPError;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Transport type options
|
|
70
|
+
*/
|
|
71
|
+
export type TransportType = 'stdio' | 'http' | 'websocket' | 'in-process';
|
|
72
|
+
/**
|
|
73
|
+
* Authentication method
|
|
74
|
+
*/
|
|
75
|
+
export type AuthMethod = 'token' | 'oauth' | 'api-key' | 'none';
|
|
76
|
+
/**
|
|
77
|
+
* Authentication configuration
|
|
78
|
+
*/
|
|
79
|
+
export interface AuthConfig {
|
|
80
|
+
enabled: boolean;
|
|
81
|
+
method: AuthMethod;
|
|
82
|
+
tokens?: string[];
|
|
83
|
+
apiKeys?: string[];
|
|
84
|
+
jwtSecret?: string;
|
|
85
|
+
oauth?: {
|
|
86
|
+
clientId: string;
|
|
87
|
+
clientSecret: string;
|
|
88
|
+
authorizationUrl: string;
|
|
89
|
+
tokenUrl: string;
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Load balancer configuration
|
|
94
|
+
*/
|
|
95
|
+
export interface LoadBalancerConfig {
|
|
96
|
+
enabled: boolean;
|
|
97
|
+
maxConcurrentRequests: number;
|
|
98
|
+
rateLimit?: {
|
|
99
|
+
requestsPerSecond: number;
|
|
100
|
+
burstSize: number;
|
|
101
|
+
};
|
|
102
|
+
circuitBreaker?: {
|
|
103
|
+
failureThreshold: number;
|
|
104
|
+
resetTimeout: number;
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Connection pool configuration
|
|
109
|
+
*/
|
|
110
|
+
export interface ConnectionPoolConfig {
|
|
111
|
+
maxConnections: number;
|
|
112
|
+
minConnections: number;
|
|
113
|
+
idleTimeout: number;
|
|
114
|
+
acquireTimeout: number;
|
|
115
|
+
maxWaitingClients: number;
|
|
116
|
+
evictionRunInterval: number;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* MCP Server configuration
|
|
120
|
+
*/
|
|
121
|
+
export interface MCPServerConfig {
|
|
122
|
+
name: string;
|
|
123
|
+
version: string;
|
|
124
|
+
transport: TransportType;
|
|
125
|
+
host?: string;
|
|
126
|
+
port?: number;
|
|
127
|
+
tlsEnabled?: boolean;
|
|
128
|
+
tlsCert?: string;
|
|
129
|
+
tlsKey?: string;
|
|
130
|
+
auth?: AuthConfig;
|
|
131
|
+
loadBalancer?: LoadBalancerConfig;
|
|
132
|
+
connectionPool?: ConnectionPoolConfig;
|
|
133
|
+
corsEnabled?: boolean;
|
|
134
|
+
corsOrigins?: string[];
|
|
135
|
+
maxRequestSize?: number;
|
|
136
|
+
requestTimeout?: number;
|
|
137
|
+
enableMetrics?: boolean;
|
|
138
|
+
enableCaching?: boolean;
|
|
139
|
+
cacheTTL?: number;
|
|
140
|
+
logLevel?: 'debug' | 'info' | 'warn' | 'error';
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* MCP Session state
|
|
144
|
+
*/
|
|
145
|
+
export type SessionState = 'created' | 'initializing' | 'ready' | 'closing' | 'closed' | 'error';
|
|
146
|
+
/**
|
|
147
|
+
* MCP Session
|
|
148
|
+
*/
|
|
149
|
+
export interface MCPSession {
|
|
150
|
+
id: string;
|
|
151
|
+
state: SessionState;
|
|
152
|
+
transport: TransportType;
|
|
153
|
+
createdAt: Date;
|
|
154
|
+
lastActivityAt: Date;
|
|
155
|
+
isInitialized: boolean;
|
|
156
|
+
isAuthenticated: boolean;
|
|
157
|
+
clientInfo?: MCPClientInfo;
|
|
158
|
+
protocolVersion?: MCPProtocolVersion;
|
|
159
|
+
capabilities?: MCPCapabilities;
|
|
160
|
+
metadata?: Record<string, unknown>;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Client information from initialization
|
|
164
|
+
*/
|
|
165
|
+
export interface MCPClientInfo {
|
|
166
|
+
name: string;
|
|
167
|
+
version: string;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* MCP Capabilities
|
|
171
|
+
*/
|
|
172
|
+
export interface MCPCapabilities {
|
|
173
|
+
logging?: {
|
|
174
|
+
level: 'debug' | 'info' | 'warn' | 'error';
|
|
175
|
+
};
|
|
176
|
+
tools?: {
|
|
177
|
+
listChanged: boolean;
|
|
178
|
+
};
|
|
179
|
+
resources?: {
|
|
180
|
+
listChanged: boolean;
|
|
181
|
+
subscribe: boolean;
|
|
182
|
+
};
|
|
183
|
+
prompts?: {
|
|
184
|
+
listChanged: boolean;
|
|
185
|
+
};
|
|
186
|
+
experimental?: Record<string, unknown>;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Initialize request parameters
|
|
190
|
+
*/
|
|
191
|
+
export interface MCPInitializeParams {
|
|
192
|
+
protocolVersion: MCPProtocolVersion;
|
|
193
|
+
capabilities: MCPCapabilities;
|
|
194
|
+
clientInfo: MCPClientInfo;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Initialize response result
|
|
198
|
+
*/
|
|
199
|
+
export interface MCPInitializeResult {
|
|
200
|
+
protocolVersion: MCPProtocolVersion;
|
|
201
|
+
capabilities: MCPCapabilities;
|
|
202
|
+
serverInfo: {
|
|
203
|
+
name: string;
|
|
204
|
+
version: string;
|
|
205
|
+
};
|
|
206
|
+
instructions?: string;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* JSON Schema type for tool input
|
|
210
|
+
*/
|
|
211
|
+
export interface JSONSchema {
|
|
212
|
+
type: string;
|
|
213
|
+
properties?: Record<string, JSONSchema>;
|
|
214
|
+
required?: string[];
|
|
215
|
+
items?: JSONSchema;
|
|
216
|
+
enum?: string[];
|
|
217
|
+
description?: string;
|
|
218
|
+
default?: unknown;
|
|
219
|
+
minimum?: number;
|
|
220
|
+
maximum?: number;
|
|
221
|
+
minLength?: number;
|
|
222
|
+
maxLength?: number;
|
|
223
|
+
pattern?: string;
|
|
224
|
+
additionalProperties?: boolean | JSONSchema;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Tool execution context
|
|
228
|
+
*/
|
|
229
|
+
export interface ToolContext {
|
|
230
|
+
sessionId: string;
|
|
231
|
+
requestId?: RequestId;
|
|
232
|
+
orchestrator?: unknown;
|
|
233
|
+
swarmCoordinator?: unknown;
|
|
234
|
+
agentManager?: unknown;
|
|
235
|
+
resourceManager?: unknown;
|
|
236
|
+
messageBus?: unknown;
|
|
237
|
+
monitor?: unknown;
|
|
238
|
+
metadata?: Record<string, unknown>;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Tool handler function type
|
|
242
|
+
*/
|
|
243
|
+
export type ToolHandler<TInput = unknown, TOutput = unknown> = (input: TInput, context?: ToolContext) => Promise<TOutput>;
|
|
244
|
+
/**
|
|
245
|
+
* MCP Tool definition
|
|
246
|
+
*/
|
|
247
|
+
export interface MCPTool<TInput = unknown, TOutput = unknown> {
|
|
248
|
+
name: string;
|
|
249
|
+
description: string;
|
|
250
|
+
inputSchema: JSONSchema;
|
|
251
|
+
handler: ToolHandler<TInput, TOutput>;
|
|
252
|
+
category?: string;
|
|
253
|
+
tags?: string[];
|
|
254
|
+
version?: string;
|
|
255
|
+
deprecated?: boolean;
|
|
256
|
+
cacheable?: boolean;
|
|
257
|
+
cacheTTL?: number;
|
|
258
|
+
timeout?: number;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Tool call result
|
|
262
|
+
*/
|
|
263
|
+
export interface ToolCallResult {
|
|
264
|
+
content: Array<{
|
|
265
|
+
type: 'text' | 'image' | 'resource';
|
|
266
|
+
text?: string;
|
|
267
|
+
data?: string;
|
|
268
|
+
mimeType?: string;
|
|
269
|
+
}>;
|
|
270
|
+
isError: boolean;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Tool registration options
|
|
274
|
+
*/
|
|
275
|
+
export interface ToolRegistrationOptions {
|
|
276
|
+
override?: boolean;
|
|
277
|
+
validate?: boolean;
|
|
278
|
+
preload?: boolean;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Request handler function type
|
|
282
|
+
*/
|
|
283
|
+
export type RequestHandler = (request: MCPRequest) => Promise<MCPResponse>;
|
|
284
|
+
/**
|
|
285
|
+
* Notification handler function type
|
|
286
|
+
*/
|
|
287
|
+
export type NotificationHandler = (notification: MCPNotification) => Promise<void>;
|
|
288
|
+
/**
|
|
289
|
+
* Transport health status
|
|
290
|
+
*/
|
|
291
|
+
export interface TransportHealthStatus {
|
|
292
|
+
healthy: boolean;
|
|
293
|
+
error?: string;
|
|
294
|
+
metrics?: Record<string, number>;
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Transport interface
|
|
298
|
+
*/
|
|
299
|
+
export interface ITransport {
|
|
300
|
+
readonly type: TransportType;
|
|
301
|
+
start(): Promise<void>;
|
|
302
|
+
stop(): Promise<void>;
|
|
303
|
+
onRequest(handler: RequestHandler): void;
|
|
304
|
+
onNotification(handler: NotificationHandler): void;
|
|
305
|
+
sendNotification?(notification: MCPNotification): Promise<void>;
|
|
306
|
+
getHealthStatus(): Promise<TransportHealthStatus>;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Connection state
|
|
310
|
+
*/
|
|
311
|
+
export type ConnectionState = 'idle' | 'busy' | 'closing' | 'closed' | 'error';
|
|
312
|
+
/**
|
|
313
|
+
* Pooled connection
|
|
314
|
+
*/
|
|
315
|
+
export interface PooledConnection {
|
|
316
|
+
id: string;
|
|
317
|
+
state: ConnectionState;
|
|
318
|
+
createdAt: Date;
|
|
319
|
+
lastUsedAt: Date;
|
|
320
|
+
useCount: number;
|
|
321
|
+
transport: TransportType;
|
|
322
|
+
metadata?: Record<string, unknown>;
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Connection pool statistics
|
|
326
|
+
*/
|
|
327
|
+
export interface ConnectionPoolStats {
|
|
328
|
+
totalConnections: number;
|
|
329
|
+
idleConnections: number;
|
|
330
|
+
busyConnections: number;
|
|
331
|
+
pendingRequests: number;
|
|
332
|
+
totalAcquired: number;
|
|
333
|
+
totalReleased: number;
|
|
334
|
+
totalCreated: number;
|
|
335
|
+
totalDestroyed: number;
|
|
336
|
+
avgAcquireTime: number;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Connection pool interface
|
|
340
|
+
*/
|
|
341
|
+
export interface IConnectionPool {
|
|
342
|
+
acquire(): Promise<PooledConnection>;
|
|
343
|
+
release(connection: PooledConnection): void;
|
|
344
|
+
destroy(connection: PooledConnection): void;
|
|
345
|
+
getStats(): ConnectionPoolStats;
|
|
346
|
+
drain(): Promise<void>;
|
|
347
|
+
clear(): Promise<void>;
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Tool call metrics
|
|
351
|
+
*/
|
|
352
|
+
export interface ToolCallMetrics {
|
|
353
|
+
toolName: string;
|
|
354
|
+
duration: number;
|
|
355
|
+
success: boolean;
|
|
356
|
+
timestamp: number;
|
|
357
|
+
transport: TransportType;
|
|
358
|
+
cached?: boolean;
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* MCP Server metrics
|
|
362
|
+
*/
|
|
363
|
+
export interface MCPServerMetrics {
|
|
364
|
+
totalRequests: number;
|
|
365
|
+
successfulRequests: number;
|
|
366
|
+
failedRequests: number;
|
|
367
|
+
averageResponseTime: number;
|
|
368
|
+
activeSessions: number;
|
|
369
|
+
toolInvocations: Record<string, number>;
|
|
370
|
+
errors: Record<string, number>;
|
|
371
|
+
lastReset: Date;
|
|
372
|
+
startupTime?: number;
|
|
373
|
+
uptime?: number;
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* Session metrics
|
|
377
|
+
*/
|
|
378
|
+
export interface SessionMetrics {
|
|
379
|
+
total: number;
|
|
380
|
+
active: number;
|
|
381
|
+
authenticated: number;
|
|
382
|
+
expired: number;
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* MCP Event types
|
|
386
|
+
*/
|
|
387
|
+
export type MCPEventType = 'server:started' | 'server:stopped' | 'server:error' | 'session:created' | 'session:initialized' | 'session:closed' | 'session:error' | 'tool:registered' | 'tool:unregistered' | 'tool:called' | 'tool:completed' | 'tool:error' | 'transport:connected' | 'transport:disconnected' | 'transport:error' | 'pool:connection:acquired' | 'pool:connection:released' | 'pool:connection:created' | 'pool:connection:destroyed';
|
|
388
|
+
/**
|
|
389
|
+
* MCP Event
|
|
390
|
+
*/
|
|
391
|
+
export interface MCPEvent {
|
|
392
|
+
type: MCPEventType;
|
|
393
|
+
timestamp: Date;
|
|
394
|
+
data?: unknown;
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* Event handler function type
|
|
398
|
+
*/
|
|
399
|
+
export type EventHandler = (event: MCPEvent) => void;
|
|
400
|
+
/**
|
|
401
|
+
* Log level
|
|
402
|
+
*/
|
|
403
|
+
export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
404
|
+
/**
|
|
405
|
+
* Logger interface
|
|
406
|
+
*/
|
|
407
|
+
export interface ILogger {
|
|
408
|
+
debug(message: string, data?: unknown): void;
|
|
409
|
+
info(message: string, data?: unknown): void;
|
|
410
|
+
warn(message: string, data?: unknown): void;
|
|
411
|
+
error(message: string, data?: unknown): void;
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* Standard JSON-RPC error codes
|
|
415
|
+
*/
|
|
416
|
+
export declare const ErrorCodes: {
|
|
417
|
+
readonly PARSE_ERROR: -32700;
|
|
418
|
+
readonly INVALID_REQUEST: -32600;
|
|
419
|
+
readonly METHOD_NOT_FOUND: -32601;
|
|
420
|
+
readonly INVALID_PARAMS: -32602;
|
|
421
|
+
readonly INTERNAL_ERROR: -32603;
|
|
422
|
+
readonly SERVER_NOT_INITIALIZED: -32002;
|
|
423
|
+
readonly UNKNOWN_ERROR: -32001;
|
|
424
|
+
readonly REQUEST_CANCELLED: -32800;
|
|
425
|
+
readonly RATE_LIMITED: -32000;
|
|
426
|
+
readonly AUTHENTICATION_REQUIRED: -32001;
|
|
427
|
+
readonly AUTHORIZATION_FAILED: -32002;
|
|
428
|
+
};
|
|
429
|
+
/**
|
|
430
|
+
* MCP Error class
|
|
431
|
+
*/
|
|
432
|
+
export declare class MCPServerError extends Error {
|
|
433
|
+
code: number;
|
|
434
|
+
data?: unknown | undefined;
|
|
435
|
+
constructor(message: string, code?: number, data?: unknown | undefined);
|
|
436
|
+
toMCPError(): MCPError;
|
|
437
|
+
}
|
|
438
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* V3 MCP Types and Interfaces
|
|
3
|
+
*
|
|
4
|
+
* Optimized type definitions for the V3 MCP server with:
|
|
5
|
+
* - Strict typing for performance
|
|
6
|
+
* - Connection pooling types
|
|
7
|
+
* - Transport layer abstractions
|
|
8
|
+
* - Tool registry interfaces
|
|
9
|
+
*
|
|
10
|
+
* Performance Targets:
|
|
11
|
+
* - Server startup: <400ms
|
|
12
|
+
* - Tool registration: <10ms
|
|
13
|
+
* - Tool execution: <50ms overhead
|
|
14
|
+
*/
|
|
15
|
+
// ============================================================================
|
|
16
|
+
// Error Codes
|
|
17
|
+
// ============================================================================
|
|
18
|
+
/**
|
|
19
|
+
* Standard JSON-RPC error codes
|
|
20
|
+
*/
|
|
21
|
+
export const ErrorCodes = {
|
|
22
|
+
PARSE_ERROR: -32700,
|
|
23
|
+
INVALID_REQUEST: -32600,
|
|
24
|
+
METHOD_NOT_FOUND: -32601,
|
|
25
|
+
INVALID_PARAMS: -32602,
|
|
26
|
+
INTERNAL_ERROR: -32603,
|
|
27
|
+
SERVER_NOT_INITIALIZED: -32002,
|
|
28
|
+
UNKNOWN_ERROR: -32001,
|
|
29
|
+
REQUEST_CANCELLED: -32800,
|
|
30
|
+
RATE_LIMITED: -32000,
|
|
31
|
+
AUTHENTICATION_REQUIRED: -32001,
|
|
32
|
+
AUTHORIZATION_FAILED: -32002,
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* MCP Error class
|
|
36
|
+
*/
|
|
37
|
+
export class MCPServerError extends Error {
|
|
38
|
+
code;
|
|
39
|
+
data;
|
|
40
|
+
constructor(message, code = ErrorCodes.INTERNAL_ERROR, data) {
|
|
41
|
+
super(message);
|
|
42
|
+
this.code = code;
|
|
43
|
+
this.data = data;
|
|
44
|
+
this.name = 'MCPServerError';
|
|
45
|
+
}
|
|
46
|
+
toMCPError() {
|
|
47
|
+
return {
|
|
48
|
+
code: this.code,
|
|
49
|
+
message: this.message,
|
|
50
|
+
data: this.data,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=types.js.map
|