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.
Files changed (241) hide show
  1. package/.claude/guidance/shipped/moflo.md +45 -0
  2. package/.claude/helpers/statusline.cjs +1 -1
  3. package/.claude/workflow-state.json +9 -0
  4. package/package.json +2 -2
  5. package/src/@claude-flow/cli/dist/src/init/statusline-generator.js +1 -1
  6. package/src/@claude-flow/cli/dist/src/services/agentic-flow-bridge.js +5 -3
  7. package/src/@claude-flow/cli/package.json +1 -1
  8. package/src/@claude-flow/memory/dist/agent-memory-scope.d.ts +131 -0
  9. package/src/@claude-flow/memory/dist/agent-memory-scope.js +223 -0
  10. package/src/@claude-flow/memory/dist/agent-memory-scope.test.d.ts +8 -0
  11. package/src/@claude-flow/memory/dist/agent-memory-scope.test.js +466 -0
  12. package/src/@claude-flow/memory/dist/agentdb-adapter.d.ts +165 -0
  13. package/src/@claude-flow/memory/dist/agentdb-adapter.js +806 -0
  14. package/src/@claude-flow/memory/dist/agentdb-backend.d.ts +212 -0
  15. package/src/@claude-flow/memory/dist/agentdb-backend.js +842 -0
  16. package/src/@claude-flow/memory/dist/agentdb-backend.test.d.ts +7 -0
  17. package/src/@claude-flow/memory/dist/agentdb-backend.test.js +258 -0
  18. package/src/@claude-flow/memory/dist/application/commands/delete-memory.command.d.ts +65 -0
  19. package/src/@claude-flow/memory/dist/application/commands/delete-memory.command.js +129 -0
  20. package/src/@claude-flow/memory/dist/application/commands/store-memory.command.d.ts +48 -0
  21. package/src/@claude-flow/memory/dist/application/commands/store-memory.command.js +72 -0
  22. package/src/@claude-flow/memory/dist/application/index.d.ts +12 -0
  23. package/src/@claude-flow/memory/dist/application/index.js +15 -0
  24. package/src/@claude-flow/memory/dist/application/queries/search-memory.query.d.ts +72 -0
  25. package/src/@claude-flow/memory/dist/application/queries/search-memory.query.js +143 -0
  26. package/src/@claude-flow/memory/dist/application/services/memory-application-service.d.ts +121 -0
  27. package/src/@claude-flow/memory/dist/application/services/memory-application-service.js +190 -0
  28. package/src/@claude-flow/memory/dist/auto-memory-bridge.d.ts +226 -0
  29. package/src/@claude-flow/memory/dist/auto-memory-bridge.js +709 -0
  30. package/src/@claude-flow/memory/dist/auto-memory-bridge.test.d.ts +8 -0
  31. package/src/@claude-flow/memory/dist/auto-memory-bridge.test.js +757 -0
  32. package/src/@claude-flow/memory/dist/benchmark.test.d.ts +2 -0
  33. package/src/@claude-flow/memory/dist/benchmark.test.js +277 -0
  34. package/src/@claude-flow/memory/dist/cache-manager.d.ts +134 -0
  35. package/src/@claude-flow/memory/dist/cache-manager.js +407 -0
  36. package/src/@claude-flow/memory/dist/controller-registry.d.ts +216 -0
  37. package/src/@claude-flow/memory/dist/controller-registry.js +893 -0
  38. package/src/@claude-flow/memory/dist/controller-registry.test.d.ts +14 -0
  39. package/src/@claude-flow/memory/dist/controller-registry.test.js +593 -0
  40. package/src/@claude-flow/memory/dist/database-provider.d.ts +87 -0
  41. package/src/@claude-flow/memory/dist/database-provider.js +372 -0
  42. package/src/@claude-flow/memory/dist/database-provider.test.d.ts +7 -0
  43. package/src/@claude-flow/memory/dist/database-provider.test.js +287 -0
  44. package/src/@claude-flow/memory/dist/domain/entities/memory-entry.d.ts +143 -0
  45. package/src/@claude-flow/memory/dist/domain/entities/memory-entry.js +226 -0
  46. package/src/@claude-flow/memory/dist/domain/index.d.ts +11 -0
  47. package/src/@claude-flow/memory/dist/domain/index.js +12 -0
  48. package/src/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.d.ts +102 -0
  49. package/src/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.js +11 -0
  50. package/src/@claude-flow/memory/dist/domain/services/memory-domain-service.d.ts +105 -0
  51. package/src/@claude-flow/memory/dist/domain/services/memory-domain-service.js +297 -0
  52. package/src/@claude-flow/memory/dist/hnsw-index.d.ts +111 -0
  53. package/src/@claude-flow/memory/dist/hnsw-index.js +781 -0
  54. package/src/@claude-flow/memory/dist/hnsw-lite.d.ts +23 -0
  55. package/src/@claude-flow/memory/dist/hnsw-lite.js +168 -0
  56. package/src/@claude-flow/memory/dist/index.d.ts +204 -0
  57. package/src/@claude-flow/memory/dist/index.js +358 -0
  58. package/src/@claude-flow/memory/dist/infrastructure/index.d.ts +17 -0
  59. package/src/@claude-flow/memory/dist/infrastructure/index.js +16 -0
  60. package/src/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.d.ts +66 -0
  61. package/src/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.js +409 -0
  62. package/src/@claude-flow/memory/dist/learning-bridge.d.ts +137 -0
  63. package/src/@claude-flow/memory/dist/learning-bridge.js +335 -0
  64. package/src/@claude-flow/memory/dist/learning-bridge.test.d.ts +8 -0
  65. package/src/@claude-flow/memory/dist/learning-bridge.test.js +578 -0
  66. package/src/@claude-flow/memory/dist/memory-graph.d.ts +100 -0
  67. package/src/@claude-flow/memory/dist/memory-graph.js +333 -0
  68. package/src/@claude-flow/memory/dist/memory-graph.test.d.ts +8 -0
  69. package/src/@claude-flow/memory/dist/memory-graph.test.js +609 -0
  70. package/src/@claude-flow/memory/dist/migration.d.ts +68 -0
  71. package/src/@claude-flow/memory/dist/migration.js +513 -0
  72. package/src/@claude-flow/memory/dist/persistent-sona.d.ts +144 -0
  73. package/src/@claude-flow/memory/dist/persistent-sona.js +332 -0
  74. package/src/@claude-flow/memory/dist/query-builder.d.ts +211 -0
  75. package/src/@claude-flow/memory/dist/query-builder.js +438 -0
  76. package/src/@claude-flow/memory/dist/rvf-backend.d.ts +51 -0
  77. package/src/@claude-flow/memory/dist/rvf-backend.js +481 -0
  78. package/src/@claude-flow/memory/dist/rvf-learning-store.d.ts +139 -0
  79. package/src/@claude-flow/memory/dist/rvf-learning-store.js +295 -0
  80. package/src/@claude-flow/memory/dist/rvf-migration.d.ts +45 -0
  81. package/src/@claude-flow/memory/dist/rvf-migration.js +234 -0
  82. package/src/@claude-flow/memory/dist/sqljs-backend.d.ts +127 -0
  83. package/src/@claude-flow/memory/dist/sqljs-backend.js +600 -0
  84. package/src/@claude-flow/memory/dist/types.d.ts +484 -0
  85. package/src/@claude-flow/memory/dist/types.js +58 -0
  86. package/src/@claude-flow/shared/dist/core/config/defaults.d.ts +41 -0
  87. package/src/@claude-flow/shared/dist/core/config/defaults.js +186 -0
  88. package/src/@claude-flow/shared/dist/core/config/index.d.ts +8 -0
  89. package/src/@claude-flow/shared/dist/core/config/index.js +12 -0
  90. package/src/@claude-flow/shared/dist/core/config/loader.d.ts +45 -0
  91. package/src/@claude-flow/shared/dist/core/config/loader.js +222 -0
  92. package/src/@claude-flow/shared/dist/core/config/schema.d.ts +1134 -0
  93. package/src/@claude-flow/shared/dist/core/config/schema.js +158 -0
  94. package/src/@claude-flow/shared/dist/core/config/validator.d.ts +92 -0
  95. package/src/@claude-flow/shared/dist/core/config/validator.js +147 -0
  96. package/src/@claude-flow/shared/dist/core/event-bus.d.ts +31 -0
  97. package/src/@claude-flow/shared/dist/core/event-bus.js +197 -0
  98. package/src/@claude-flow/shared/dist/core/index.d.ts +15 -0
  99. package/src/@claude-flow/shared/dist/core/index.js +19 -0
  100. package/src/@claude-flow/shared/dist/core/interfaces/agent.interface.d.ts +200 -0
  101. package/src/@claude-flow/shared/dist/core/interfaces/agent.interface.js +6 -0
  102. package/src/@claude-flow/shared/dist/core/interfaces/coordinator.interface.d.ts +310 -0
  103. package/src/@claude-flow/shared/dist/core/interfaces/coordinator.interface.js +7 -0
  104. package/src/@claude-flow/shared/dist/core/interfaces/event.interface.d.ts +224 -0
  105. package/src/@claude-flow/shared/dist/core/interfaces/event.interface.js +46 -0
  106. package/src/@claude-flow/shared/dist/core/interfaces/index.d.ts +10 -0
  107. package/src/@claude-flow/shared/dist/core/interfaces/index.js +15 -0
  108. package/src/@claude-flow/shared/dist/core/interfaces/memory.interface.d.ts +298 -0
  109. package/src/@claude-flow/shared/dist/core/interfaces/memory.interface.js +7 -0
  110. package/src/@claude-flow/shared/dist/core/interfaces/task.interface.d.ts +185 -0
  111. package/src/@claude-flow/shared/dist/core/interfaces/task.interface.js +6 -0
  112. package/src/@claude-flow/shared/dist/core/orchestrator/event-coordinator.d.ts +35 -0
  113. package/src/@claude-flow/shared/dist/core/orchestrator/event-coordinator.js +101 -0
  114. package/src/@claude-flow/shared/dist/core/orchestrator/health-monitor.d.ts +60 -0
  115. package/src/@claude-flow/shared/dist/core/orchestrator/health-monitor.js +166 -0
  116. package/src/@claude-flow/shared/dist/core/orchestrator/index.d.ts +46 -0
  117. package/src/@claude-flow/shared/dist/core/orchestrator/index.js +64 -0
  118. package/src/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.d.ts +56 -0
  119. package/src/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.js +195 -0
  120. package/src/@claude-flow/shared/dist/core/orchestrator/session-manager.d.ts +83 -0
  121. package/src/@claude-flow/shared/dist/core/orchestrator/session-manager.js +193 -0
  122. package/src/@claude-flow/shared/dist/core/orchestrator/task-manager.d.ts +49 -0
  123. package/src/@claude-flow/shared/dist/core/orchestrator/task-manager.js +253 -0
  124. package/src/@claude-flow/shared/dist/events/domain-events.d.ts +282 -0
  125. package/src/@claude-flow/shared/dist/events/domain-events.js +165 -0
  126. package/src/@claude-flow/shared/dist/events/event-store.d.ts +126 -0
  127. package/src/@claude-flow/shared/dist/events/event-store.js +432 -0
  128. package/src/@claude-flow/shared/dist/events/event-store.test.d.ts +8 -0
  129. package/src/@claude-flow/shared/dist/events/event-store.test.js +297 -0
  130. package/src/@claude-flow/shared/dist/events/example-usage.d.ts +10 -0
  131. package/src/@claude-flow/shared/dist/events/example-usage.js +193 -0
  132. package/src/@claude-flow/shared/dist/events/index.d.ts +21 -0
  133. package/src/@claude-flow/shared/dist/events/index.js +22 -0
  134. package/src/@claude-flow/shared/dist/events/projections.d.ts +177 -0
  135. package/src/@claude-flow/shared/dist/events/projections.js +421 -0
  136. package/src/@claude-flow/shared/dist/events/rvf-event-log.d.ts +82 -0
  137. package/src/@claude-flow/shared/dist/events/rvf-event-log.js +340 -0
  138. package/src/@claude-flow/shared/dist/events/state-reconstructor.d.ts +101 -0
  139. package/src/@claude-flow/shared/dist/events/state-reconstructor.js +263 -0
  140. package/src/@claude-flow/shared/dist/events.d.ts +80 -0
  141. package/src/@claude-flow/shared/dist/events.js +249 -0
  142. package/src/@claude-flow/shared/dist/hooks/example-usage.d.ts +42 -0
  143. package/src/@claude-flow/shared/dist/hooks/example-usage.js +351 -0
  144. package/src/@claude-flow/shared/dist/hooks/executor.d.ts +100 -0
  145. package/src/@claude-flow/shared/dist/hooks/executor.js +267 -0
  146. package/src/@claude-flow/shared/dist/hooks/hooks.test.d.ts +9 -0
  147. package/src/@claude-flow/shared/dist/hooks/hooks.test.js +322 -0
  148. package/src/@claude-flow/shared/dist/hooks/index.d.ts +52 -0
  149. package/src/@claude-flow/shared/dist/hooks/index.js +51 -0
  150. package/src/@claude-flow/shared/dist/hooks/registry.d.ts +133 -0
  151. package/src/@claude-flow/shared/dist/hooks/registry.js +277 -0
  152. package/src/@claude-flow/shared/dist/hooks/safety/bash-safety.d.ts +105 -0
  153. package/src/@claude-flow/shared/dist/hooks/safety/bash-safety.js +481 -0
  154. package/src/@claude-flow/shared/dist/hooks/safety/file-organization.d.ts +144 -0
  155. package/src/@claude-flow/shared/dist/hooks/safety/file-organization.js +328 -0
  156. package/src/@claude-flow/shared/dist/hooks/safety/git-commit.d.ts +158 -0
  157. package/src/@claude-flow/shared/dist/hooks/safety/git-commit.js +450 -0
  158. package/src/@claude-flow/shared/dist/hooks/safety/index.d.ts +17 -0
  159. package/src/@claude-flow/shared/dist/hooks/safety/index.js +17 -0
  160. package/src/@claude-flow/shared/dist/hooks/session-hooks.d.ts +234 -0
  161. package/src/@claude-flow/shared/dist/hooks/session-hooks.js +334 -0
  162. package/src/@claude-flow/shared/dist/hooks/task-hooks.d.ts +163 -0
  163. package/src/@claude-flow/shared/dist/hooks/task-hooks.js +326 -0
  164. package/src/@claude-flow/shared/dist/hooks/types.d.ts +267 -0
  165. package/src/@claude-flow/shared/dist/hooks/types.js +62 -0
  166. package/src/@claude-flow/shared/dist/hooks/verify-exports.test.d.ts +9 -0
  167. package/src/@claude-flow/shared/dist/hooks/verify-exports.test.js +93 -0
  168. package/src/@claude-flow/shared/dist/index.d.ts +20 -0
  169. package/src/@claude-flow/shared/dist/index.js +50 -0
  170. package/src/@claude-flow/shared/dist/mcp/connection-pool.d.ts +98 -0
  171. package/src/@claude-flow/shared/dist/mcp/connection-pool.js +364 -0
  172. package/src/@claude-flow/shared/dist/mcp/index.d.ts +69 -0
  173. package/src/@claude-flow/shared/dist/mcp/index.js +84 -0
  174. package/src/@claude-flow/shared/dist/mcp/server.d.ts +166 -0
  175. package/src/@claude-flow/shared/dist/mcp/server.js +593 -0
  176. package/src/@claude-flow/shared/dist/mcp/session-manager.d.ts +136 -0
  177. package/src/@claude-flow/shared/dist/mcp/session-manager.js +335 -0
  178. package/src/@claude-flow/shared/dist/mcp/tool-registry.d.ts +178 -0
  179. package/src/@claude-flow/shared/dist/mcp/tool-registry.js +439 -0
  180. package/src/@claude-flow/shared/dist/mcp/transport/http.d.ts +104 -0
  181. package/src/@claude-flow/shared/dist/mcp/transport/http.js +476 -0
  182. package/src/@claude-flow/shared/dist/mcp/transport/index.d.ts +102 -0
  183. package/src/@claude-flow/shared/dist/mcp/transport/index.js +238 -0
  184. package/src/@claude-flow/shared/dist/mcp/transport/stdio.d.ts +104 -0
  185. package/src/@claude-flow/shared/dist/mcp/transport/stdio.js +263 -0
  186. package/src/@claude-flow/shared/dist/mcp/transport/websocket.d.ts +133 -0
  187. package/src/@claude-flow/shared/dist/mcp/transport/websocket.js +396 -0
  188. package/src/@claude-flow/shared/dist/mcp/types.d.ts +438 -0
  189. package/src/@claude-flow/shared/dist/mcp/types.js +54 -0
  190. package/src/@claude-flow/shared/dist/plugin-interface.d.ts +544 -0
  191. package/src/@claude-flow/shared/dist/plugin-interface.js +23 -0
  192. package/src/@claude-flow/shared/dist/plugin-loader.d.ts +139 -0
  193. package/src/@claude-flow/shared/dist/plugin-loader.js +434 -0
  194. package/src/@claude-flow/shared/dist/plugin-registry.d.ts +183 -0
  195. package/src/@claude-flow/shared/dist/plugin-registry.js +457 -0
  196. package/src/@claude-flow/shared/dist/plugins/index.d.ts +10 -0
  197. package/src/@claude-flow/shared/dist/plugins/index.js +10 -0
  198. package/src/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.d.ts +106 -0
  199. package/src/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.js +241 -0
  200. package/src/@claude-flow/shared/dist/plugins/official/index.d.ts +10 -0
  201. package/src/@claude-flow/shared/dist/plugins/official/index.js +10 -0
  202. package/src/@claude-flow/shared/dist/plugins/official/maestro-plugin.d.ts +121 -0
  203. package/src/@claude-flow/shared/dist/plugins/official/maestro-plugin.js +355 -0
  204. package/src/@claude-flow/shared/dist/plugins/types.d.ts +93 -0
  205. package/src/@claude-flow/shared/dist/plugins/types.js +9 -0
  206. package/src/@claude-flow/shared/dist/resilience/bulkhead.d.ts +105 -0
  207. package/src/@claude-flow/shared/dist/resilience/bulkhead.js +206 -0
  208. package/src/@claude-flow/shared/dist/resilience/circuit-breaker.d.ts +132 -0
  209. package/src/@claude-flow/shared/dist/resilience/circuit-breaker.js +233 -0
  210. package/src/@claude-flow/shared/dist/resilience/index.d.ts +19 -0
  211. package/src/@claude-flow/shared/dist/resilience/index.js +19 -0
  212. package/src/@claude-flow/shared/dist/resilience/rate-limiter.d.ts +168 -0
  213. package/src/@claude-flow/shared/dist/resilience/rate-limiter.js +314 -0
  214. package/src/@claude-flow/shared/dist/resilience/retry.d.ts +91 -0
  215. package/src/@claude-flow/shared/dist/resilience/retry.js +159 -0
  216. package/src/@claude-flow/shared/dist/security/index.d.ts +10 -0
  217. package/src/@claude-flow/shared/dist/security/index.js +12 -0
  218. package/src/@claude-flow/shared/dist/security/input-validation.d.ts +73 -0
  219. package/src/@claude-flow/shared/dist/security/input-validation.js +201 -0
  220. package/src/@claude-flow/shared/dist/security/secure-random.d.ts +92 -0
  221. package/src/@claude-flow/shared/dist/security/secure-random.js +142 -0
  222. package/src/@claude-flow/shared/dist/services/index.d.ts +7 -0
  223. package/src/@claude-flow/shared/dist/services/index.js +7 -0
  224. package/src/@claude-flow/shared/dist/services/v3-progress.service.d.ts +124 -0
  225. package/src/@claude-flow/shared/dist/services/v3-progress.service.js +402 -0
  226. package/src/@claude-flow/shared/dist/types/agent.types.d.ts +137 -0
  227. package/src/@claude-flow/shared/dist/types/agent.types.js +6 -0
  228. package/src/@claude-flow/shared/dist/types/index.d.ts +11 -0
  229. package/src/@claude-flow/shared/dist/types/index.js +17 -0
  230. package/src/@claude-flow/shared/dist/types/mcp.types.d.ts +266 -0
  231. package/src/@claude-flow/shared/dist/types/mcp.types.js +7 -0
  232. package/src/@claude-flow/shared/dist/types/memory.types.d.ts +236 -0
  233. package/src/@claude-flow/shared/dist/types/memory.types.js +7 -0
  234. package/src/@claude-flow/shared/dist/types/swarm.types.d.ts +186 -0
  235. package/src/@claude-flow/shared/dist/types/swarm.types.js +65 -0
  236. package/src/@claude-flow/shared/dist/types/task.types.d.ts +178 -0
  237. package/src/@claude-flow/shared/dist/types/task.types.js +32 -0
  238. package/src/@claude-flow/shared/dist/types.d.ts +197 -0
  239. package/src/@claude-flow/shared/dist/types.js +21 -0
  240. package/src/@claude-flow/shared/dist/utils/secure-logger.d.ts +69 -0
  241. 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