@defai.digital/ax-cli 4.1.11 → 4.1.15

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 (86) hide show
  1. package/.ax-cli/settings.json +1 -0
  2. package/README.md +140 -589
  3. package/bin/ax-cli +6 -0
  4. package/dist/agent/dependency-resolver.d.ts +7 -0
  5. package/dist/agent/dependency-resolver.js +46 -18
  6. package/dist/agent/dependency-resolver.js.map +1 -1
  7. package/dist/agent/execution/tool-executor.d.ts +4 -0
  8. package/dist/agent/execution/tool-executor.js +76 -52
  9. package/dist/agent/execution/tool-executor.js.map +1 -1
  10. package/dist/agent/parallel-tools.d.ts +4 -0
  11. package/dist/agent/parallel-tools.js +65 -24
  12. package/dist/agent/parallel-tools.js.map +1 -1
  13. package/dist/agent/planning/plan-executor.d.ts +0 -5
  14. package/dist/agent/planning/plan-executor.js +23 -6
  15. package/dist/agent/planning/plan-executor.js.map +1 -1
  16. package/dist/agent/streaming/stream-handler.js +7 -4
  17. package/dist/agent/streaming/stream-handler.js.map +1 -1
  18. package/dist/agent/subagent-orchestrator.d.ts +35 -2
  19. package/dist/agent/subagent-orchestrator.js +188 -146
  20. package/dist/agent/subagent-orchestrator.js.map +1 -1
  21. package/dist/agent/subagent-types.js +3 -1
  22. package/dist/agent/subagent-types.js.map +1 -1
  23. package/dist/agent/subagent.d.ts +15 -4
  24. package/dist/agent/subagent.js +91 -72
  25. package/dist/agent/subagent.js.map +1 -1
  26. package/dist/design/figma-alias.d.ts +77 -0
  27. package/dist/design/figma-alias.js +246 -0
  28. package/dist/design/figma-alias.js.map +1 -1
  29. package/dist/design/figma-client.d.ts +4 -0
  30. package/dist/design/figma-client.js +24 -4
  31. package/dist/design/figma-client.js.map +1 -1
  32. package/dist/design/figma-map.js +78 -6
  33. package/dist/design/figma-map.js.map +1 -1
  34. package/dist/design/figma-tokens.js +6 -2
  35. package/dist/design/figma-tokens.js.map +1 -1
  36. package/dist/design/index.d.ts +1 -1
  37. package/dist/design/index.js +3 -1
  38. package/dist/design/index.js.map +1 -1
  39. package/dist/design/types.d.ts +9 -0
  40. package/dist/index.js +1 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/mcp/client-v2.js +4 -0
  43. package/dist/mcp/client-v2.js.map +1 -1
  44. package/dist/mcp/config-detector.js +3 -4
  45. package/dist/mcp/config-detector.js.map +1 -1
  46. package/dist/mcp/debug.d.ts +207 -0
  47. package/dist/mcp/debug.js +398 -0
  48. package/dist/mcp/debug.js.map +1 -0
  49. package/dist/mcp/index.d.ts +1 -0
  50. package/dist/mcp/index.js +4 -0
  51. package/dist/mcp/index.js.map +1 -1
  52. package/dist/mcp/reconnection.js +6 -3
  53. package/dist/mcp/reconnection.js.map +1 -1
  54. package/dist/mcp/validation.js +15 -6
  55. package/dist/mcp/validation.js.map +1 -1
  56. package/dist/memory/index.d.ts +1 -0
  57. package/dist/memory/index.js +2 -0
  58. package/dist/memory/index.js.map +1 -1
  59. package/dist/memory/provider-context-store.d.ts +127 -0
  60. package/dist/memory/provider-context-store.js +385 -0
  61. package/dist/memory/provider-context-store.js.map +1 -0
  62. package/dist/sdk/errors.d.ts +2 -0
  63. package/dist/sdk/errors.js +2 -0
  64. package/dist/sdk/errors.js.map +1 -1
  65. package/dist/sdk/index.d.ts +633 -62
  66. package/dist/sdk/index.js +854 -116
  67. package/dist/sdk/index.js.map +1 -1
  68. package/dist/sdk/testing.d.ts +46 -4
  69. package/dist/sdk/testing.js +58 -6
  70. package/dist/sdk/testing.js.map +1 -1
  71. package/dist/sdk/version.d.ts +13 -9
  72. package/dist/sdk/version.js +13 -9
  73. package/dist/sdk/version.js.map +1 -1
  74. package/dist/utils/file-lock.d.ts +141 -0
  75. package/dist/utils/file-lock.js +559 -0
  76. package/dist/utils/file-lock.js.map +1 -0
  77. package/dist/utils/provider-context.d.ts +243 -0
  78. package/dist/utils/provider-context.js +421 -0
  79. package/dist/utils/provider-context.js.map +1 -0
  80. package/dist/utils/provider-file-cache.d.ts +91 -0
  81. package/dist/utils/provider-file-cache.js +165 -0
  82. package/dist/utils/provider-file-cache.js.map +1 -0
  83. package/dist/utils/provider-settings.d.ts +181 -0
  84. package/dist/utils/provider-settings.js +450 -0
  85. package/dist/utils/provider-settings.js.map +1 -0
  86. package/package.json +4 -3
@@ -0,0 +1,207 @@
1
+ /**
2
+ * MCP Debug Mode
3
+ *
4
+ * Comprehensive diagnostic utilities for troubleshooting MCP server connections,
5
+ * tool calls, and configuration issues.
6
+ *
7
+ * @module mcp/debug
8
+ */
9
+ import { EventEmitter } from 'events';
10
+ import type { ServerName, ToolName, ConnectionState, MCPTool, MCPPrompt } from './client-v2.js';
11
+ import type { TransportType } from './transports.js';
12
+ import { Result } from './type-safety.js';
13
+ /**
14
+ * Types of debug events that can be emitted
15
+ */
16
+ export type DebugEventType = 'connection:start' | 'connection:success' | 'connection:failure' | 'connection:disconnect' | 'tool:call:start' | 'tool:call:success' | 'tool:call:failure' | 'tool:call:timeout' | 'transport:created' | 'transport:error' | 'health:check' | 'health:failure' | 'reconnection:scheduled' | 'reconnection:attempt' | 'reconnection:success' | 'reconnection:failure' | 'schema:validation' | 'resource:updated' | 'progress:update';
17
+ /**
18
+ * Debug event structure
19
+ */
20
+ export interface DebugEvent {
21
+ type: DebugEventType;
22
+ timestamp: Date;
23
+ serverName?: ServerName;
24
+ toolName?: ToolName;
25
+ data: Record<string, unknown>;
26
+ duration?: number;
27
+ error?: Error;
28
+ }
29
+ /**
30
+ * Server diagnostic information
31
+ */
32
+ export interface ServerDiagnostics {
33
+ serverName: ServerName;
34
+ status: ConnectionState['status'];
35
+ transportType?: TransportType;
36
+ connectedAt?: number;
37
+ failedAt?: number;
38
+ lastError?: string;
39
+ toolCount: number;
40
+ tools: string[];
41
+ promptCount: number;
42
+ prompts: string[];
43
+ reconnectionAttempts: number;
44
+ healthCheckStatus?: 'healthy' | 'unhealthy' | 'unknown';
45
+ lastHealthCheck?: Date;
46
+ }
47
+ /**
48
+ * Overall MCP diagnostic summary
49
+ */
50
+ export interface MCPDiagnostics {
51
+ timestamp: Date;
52
+ totalServers: number;
53
+ connectedServers: number;
54
+ failedServers: number;
55
+ connectingServers: number;
56
+ totalTools: number;
57
+ totalPrompts: number;
58
+ servers: ServerDiagnostics[];
59
+ recentEvents: DebugEvent[];
60
+ healthCheckEnabled: boolean;
61
+ reconnectionEnabled: boolean;
62
+ }
63
+ /**
64
+ * Debug log level
65
+ */
66
+ export type DebugLogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error';
67
+ /**
68
+ * Debug logger configuration
69
+ */
70
+ export interface DebugLoggerConfig {
71
+ enabled: boolean;
72
+ level: DebugLogLevel;
73
+ maxEvents: number;
74
+ includeTimestamps: boolean;
75
+ formatOutput: boolean;
76
+ }
77
+ /**
78
+ * Default debug logger configuration
79
+ */
80
+ export declare const DEFAULT_DEBUG_CONFIG: DebugLoggerConfig;
81
+ /**
82
+ * MCP Debug Logger
83
+ *
84
+ * Captures and formats debug events for MCP operations.
85
+ * Can be enabled/disabled at runtime.
86
+ */
87
+ export declare class MCPDebugLogger extends EventEmitter {
88
+ private config;
89
+ private events;
90
+ private serverHealthStatus;
91
+ constructor(config?: Partial<DebugLoggerConfig>);
92
+ /**
93
+ * Enable debug mode
94
+ */
95
+ enable(): void;
96
+ /**
97
+ * Disable debug mode
98
+ */
99
+ disable(): void;
100
+ /**
101
+ * Check if debug mode is enabled
102
+ */
103
+ isEnabled(): boolean;
104
+ /**
105
+ * Set debug level
106
+ */
107
+ setLevel(level: DebugLogLevel): void;
108
+ /**
109
+ * Log a debug event
110
+ */
111
+ log(type: DebugEventType, data: Record<string, unknown>, options?: {
112
+ serverName?: ServerName;
113
+ toolName?: ToolName;
114
+ duration?: number;
115
+ error?: Error;
116
+ }): void;
117
+ /**
118
+ * Check if event type should be logged at current level
119
+ */
120
+ private shouldLog;
121
+ /**
122
+ * Get log level for event type
123
+ */
124
+ private getEventLevel;
125
+ /**
126
+ * Format and output an event
127
+ */
128
+ private outputEvent;
129
+ /**
130
+ * Record health check result
131
+ */
132
+ recordHealthCheck(serverName: ServerName, healthy: boolean): void;
133
+ /**
134
+ * Get recent events
135
+ */
136
+ getRecentEvents(count?: number): DebugEvent[];
137
+ /**
138
+ * Get events for a specific server
139
+ */
140
+ getServerEvents(serverName: ServerName): DebugEvent[];
141
+ /**
142
+ * Get events for a specific tool
143
+ */
144
+ getToolEvents(toolName: ToolName): DebugEvent[];
145
+ /**
146
+ * Get events by type
147
+ */
148
+ getEventsByType(type: DebugEventType): DebugEvent[];
149
+ /**
150
+ * Get health status for a server
151
+ */
152
+ getHealthStatus(serverName: ServerName): {
153
+ status: 'healthy' | 'unhealthy' | 'unknown';
154
+ lastCheck?: Date;
155
+ };
156
+ /**
157
+ * Clear all recorded events
158
+ */
159
+ clearEvents(): void;
160
+ /**
161
+ * Clear health status
162
+ */
163
+ clearHealthStatus(): void;
164
+ /**
165
+ * Get configuration
166
+ */
167
+ getConfig(): DebugLoggerConfig;
168
+ /**
169
+ * Update configuration
170
+ */
171
+ updateConfig(config: Partial<DebugLoggerConfig>): void;
172
+ }
173
+ /**
174
+ * Get the singleton debug logger instance
175
+ */
176
+ export declare function getMCPDebugLogger(): MCPDebugLogger;
177
+ /**
178
+ * Reset the debug logger instance (for testing)
179
+ */
180
+ export declare function resetMCPDebugLogger(): void;
181
+ /**
182
+ * Collect diagnostics from MCPManagerV2
183
+ *
184
+ * @param manager - The MCP manager instance
185
+ * @returns Diagnostic summary
186
+ */
187
+ export declare function collectMCPDiagnostics(manager: {
188
+ getServers(): ServerName[];
189
+ getConnectionState(serverName: ServerName): ConnectionState | undefined;
190
+ getTools(): MCPTool[];
191
+ getPrompts(): MCPPrompt[];
192
+ getTransportType(serverName: ServerName): Result<TransportType, Error>;
193
+ getConnectionStatus(): {
194
+ connected: number;
195
+ failed: number;
196
+ connecting: number;
197
+ total: number;
198
+ };
199
+ }): Promise<MCPDiagnostics>;
200
+ /**
201
+ * Format diagnostics for display
202
+ */
203
+ export declare function formatMCPDiagnostics(diagnostics: MCPDiagnostics): string;
204
+ /**
205
+ * Create a debug session that instruments MCP manager events
206
+ */
207
+ export declare function createDebugSession(manager: EventEmitter, options?: Partial<DebugLoggerConfig>): MCPDebugLogger;
@@ -0,0 +1,398 @@
1
+ /**
2
+ * MCP Debug Mode
3
+ *
4
+ * Comprehensive diagnostic utilities for troubleshooting MCP server connections,
5
+ * tool calls, and configuration issues.
6
+ *
7
+ * @module mcp/debug
8
+ */
9
+ import { EventEmitter } from 'events';
10
+ /**
11
+ * Default debug logger configuration
12
+ */
13
+ export const DEFAULT_DEBUG_CONFIG = {
14
+ enabled: false,
15
+ level: 'info',
16
+ maxEvents: 100,
17
+ includeTimestamps: true,
18
+ formatOutput: true,
19
+ };
20
+ /**
21
+ * MCP Debug Logger
22
+ *
23
+ * Captures and formats debug events for MCP operations.
24
+ * Can be enabled/disabled at runtime.
25
+ */
26
+ export class MCPDebugLogger extends EventEmitter {
27
+ config;
28
+ events = [];
29
+ serverHealthStatus = new Map();
30
+ constructor(config = {}) {
31
+ super();
32
+ this.config = { ...DEFAULT_DEBUG_CONFIG, ...config };
33
+ }
34
+ /**
35
+ * Enable debug mode
36
+ */
37
+ enable() {
38
+ this.config.enabled = true;
39
+ }
40
+ /**
41
+ * Disable debug mode
42
+ */
43
+ disable() {
44
+ this.config.enabled = false;
45
+ }
46
+ /**
47
+ * Check if debug mode is enabled
48
+ */
49
+ isEnabled() {
50
+ return this.config.enabled;
51
+ }
52
+ /**
53
+ * Set debug level
54
+ */
55
+ setLevel(level) {
56
+ this.config.level = level;
57
+ }
58
+ /**
59
+ * Log a debug event
60
+ */
61
+ log(type, data, options) {
62
+ if (!this.config.enabled)
63
+ return;
64
+ const event = {
65
+ type,
66
+ timestamp: new Date(),
67
+ data,
68
+ ...options,
69
+ };
70
+ // Add to event buffer
71
+ this.events.push(event);
72
+ // Trim buffer if needed
73
+ if (this.events.length > this.config.maxEvents) {
74
+ this.events = this.events.slice(-this.config.maxEvents);
75
+ }
76
+ // Emit event for external listeners
77
+ this.emit('debug', event);
78
+ // Console output if enabled
79
+ if (this.shouldLog(type)) {
80
+ this.outputEvent(event);
81
+ }
82
+ }
83
+ /**
84
+ * Check if event type should be logged at current level
85
+ */
86
+ shouldLog(type) {
87
+ const levelPriority = {
88
+ trace: 0,
89
+ debug: 1,
90
+ info: 2,
91
+ warn: 3,
92
+ error: 4,
93
+ };
94
+ const eventLevel = this.getEventLevel(type);
95
+ return levelPriority[eventLevel] >= levelPriority[this.config.level];
96
+ }
97
+ /**
98
+ * Get log level for event type
99
+ */
100
+ getEventLevel(type) {
101
+ if (type.includes('failure') || type.includes('error') || type.includes('timeout')) {
102
+ return 'error';
103
+ }
104
+ if (type.includes('health:failure')) {
105
+ return 'warn';
106
+ }
107
+ if (type.includes('reconnection')) {
108
+ return 'info';
109
+ }
110
+ if (type.includes('start') || type.includes('success')) {
111
+ return 'debug';
112
+ }
113
+ return 'trace';
114
+ }
115
+ /**
116
+ * Format and output an event
117
+ */
118
+ outputEvent(event) {
119
+ if (!this.config.formatOutput) {
120
+ console.log('[MCP Debug]', event);
121
+ return;
122
+ }
123
+ const timestamp = this.config.includeTimestamps
124
+ ? `[${event.timestamp.toISOString()}]`
125
+ : '';
126
+ const level = this.getEventLevel(event.type).toUpperCase().padEnd(5);
127
+ const serverInfo = event.serverName ? ` [${event.serverName}]` : '';
128
+ const toolInfo = event.toolName ? ` ${event.toolName}` : '';
129
+ const durationInfo = event.duration ? ` (${event.duration}ms)` : '';
130
+ let message = `${timestamp} ${level} ${event.type}${serverInfo}${toolInfo}${durationInfo}`;
131
+ if (Object.keys(event.data).length > 0) {
132
+ message += ` ${JSON.stringify(event.data)}`;
133
+ }
134
+ if (event.error) {
135
+ message += ` ERROR: ${event.error.message}`;
136
+ }
137
+ console.log(message);
138
+ }
139
+ /**
140
+ * Record health check result
141
+ */
142
+ recordHealthCheck(serverName, healthy) {
143
+ this.serverHealthStatus.set(serverName, {
144
+ status: healthy ? 'healthy' : 'unhealthy',
145
+ lastCheck: new Date(),
146
+ });
147
+ this.log('health:check', { healthy }, { serverName });
148
+ }
149
+ /**
150
+ * Get recent events
151
+ */
152
+ getRecentEvents(count) {
153
+ const limit = count ?? this.config.maxEvents;
154
+ return this.events.slice(-limit);
155
+ }
156
+ /**
157
+ * Get events for a specific server
158
+ */
159
+ getServerEvents(serverName) {
160
+ return this.events.filter((e) => e.serverName === serverName);
161
+ }
162
+ /**
163
+ * Get events for a specific tool
164
+ */
165
+ getToolEvents(toolName) {
166
+ return this.events.filter((e) => e.toolName === toolName);
167
+ }
168
+ /**
169
+ * Get events by type
170
+ */
171
+ getEventsByType(type) {
172
+ return this.events.filter((e) => e.type === type);
173
+ }
174
+ /**
175
+ * Get health status for a server
176
+ */
177
+ getHealthStatus(serverName) {
178
+ const status = this.serverHealthStatus.get(serverName);
179
+ if (!status) {
180
+ return { status: 'unknown' };
181
+ }
182
+ return status;
183
+ }
184
+ /**
185
+ * Clear all recorded events
186
+ */
187
+ clearEvents() {
188
+ this.events = [];
189
+ }
190
+ /**
191
+ * Clear health status
192
+ */
193
+ clearHealthStatus() {
194
+ this.serverHealthStatus.clear();
195
+ }
196
+ /**
197
+ * Get configuration
198
+ */
199
+ getConfig() {
200
+ return { ...this.config };
201
+ }
202
+ /**
203
+ * Update configuration
204
+ */
205
+ updateConfig(config) {
206
+ this.config = { ...this.config, ...config };
207
+ }
208
+ }
209
+ // =============================================================================
210
+ // Singleton Instance
211
+ // =============================================================================
212
+ let debugLoggerInstance = null;
213
+ /**
214
+ * Get the singleton debug logger instance
215
+ */
216
+ export function getMCPDebugLogger() {
217
+ if (!debugLoggerInstance) {
218
+ debugLoggerInstance = new MCPDebugLogger();
219
+ }
220
+ return debugLoggerInstance;
221
+ }
222
+ /**
223
+ * Reset the debug logger instance (for testing)
224
+ */
225
+ export function resetMCPDebugLogger() {
226
+ if (debugLoggerInstance) {
227
+ debugLoggerInstance.removeAllListeners();
228
+ debugLoggerInstance.clearEvents();
229
+ debugLoggerInstance.clearHealthStatus();
230
+ }
231
+ debugLoggerInstance = null;
232
+ }
233
+ // =============================================================================
234
+ // Diagnostic Utilities
235
+ // =============================================================================
236
+ /**
237
+ * Collect diagnostics from MCPManagerV2
238
+ *
239
+ * @param manager - The MCP manager instance
240
+ * @returns Diagnostic summary
241
+ */
242
+ export async function collectMCPDiagnostics(manager) {
243
+ const debugLogger = getMCPDebugLogger();
244
+ const connectionStatus = manager.getConnectionStatus();
245
+ const allTools = manager.getTools();
246
+ const allPrompts = manager.getPrompts();
247
+ const serverNames = manager.getServers();
248
+ const serverDiagnostics = [];
249
+ // Collect all servers (not just connected ones)
250
+ const allServerNames = new Set();
251
+ for (const tool of allTools) {
252
+ allServerNames.add(tool.serverName);
253
+ }
254
+ for (const serverName of serverNames) {
255
+ allServerNames.add(serverName);
256
+ }
257
+ for (const serverName of allServerNames) {
258
+ const state = manager.getConnectionState(serverName);
259
+ const transportResult = manager.getTransportType(serverName);
260
+ const serverTools = allTools.filter((t) => t.serverName === serverName);
261
+ const serverPrompts = allPrompts.filter((p) => p.serverName === serverName);
262
+ const healthStatus = debugLogger.getHealthStatus(serverName);
263
+ const diagnostic = {
264
+ serverName,
265
+ status: state?.status ?? 'idle',
266
+ transportType: transportResult.success ? transportResult.value : undefined,
267
+ connectedAt: state?.status === 'connected' ? state.connectedAt : undefined,
268
+ failedAt: state?.status === 'failed' ? state.failedAt : undefined,
269
+ lastError: state?.status === 'failed' ? state.error.message : undefined,
270
+ toolCount: serverTools.length,
271
+ tools: serverTools.map((t) => String(t.name)),
272
+ promptCount: serverPrompts.length,
273
+ prompts: serverPrompts.map((p) => p.name),
274
+ reconnectionAttempts: 0, // Would need access to private state
275
+ healthCheckStatus: healthStatus.status,
276
+ lastHealthCheck: healthStatus.lastCheck,
277
+ };
278
+ serverDiagnostics.push(diagnostic);
279
+ }
280
+ return {
281
+ timestamp: new Date(),
282
+ totalServers: connectionStatus.total,
283
+ connectedServers: connectionStatus.connected,
284
+ failedServers: connectionStatus.failed,
285
+ connectingServers: connectionStatus.connecting,
286
+ totalTools: allTools.length,
287
+ totalPrompts: allPrompts.length,
288
+ servers: serverDiagnostics,
289
+ recentEvents: debugLogger.getRecentEvents(20),
290
+ healthCheckEnabled: true, // Would need access to config
291
+ reconnectionEnabled: true, // Would need access to config
292
+ };
293
+ }
294
+ /**
295
+ * Format diagnostics for display
296
+ */
297
+ export function formatMCPDiagnostics(diagnostics) {
298
+ const lines = [];
299
+ lines.push('═══════════════════════════════════════════════════════════════');
300
+ lines.push(' MCP DIAGNOSTICS REPORT');
301
+ lines.push('═══════════════════════════════════════════════════════════════');
302
+ lines.push(`Timestamp: ${diagnostics.timestamp.toISOString()}`);
303
+ lines.push('');
304
+ // Summary
305
+ lines.push('┌─────────────────────────────────────────────────────────────┐');
306
+ lines.push('│ SUMMARY │');
307
+ lines.push('├─────────────────────────────────────────────────────────────┤');
308
+ lines.push(`│ Servers: ${diagnostics.connectedServers}/${diagnostics.totalServers} connected, ${diagnostics.failedServers} failed, ${diagnostics.connectingServers} connecting`);
309
+ lines.push(`│ Tools: ${diagnostics.totalTools} registered`);
310
+ lines.push(`│ Prompts: ${diagnostics.totalPrompts} available`);
311
+ lines.push('└─────────────────────────────────────────────────────────────┘');
312
+ lines.push('');
313
+ // Server details
314
+ if (diagnostics.servers.length > 0) {
315
+ lines.push('┌─────────────────────────────────────────────────────────────┐');
316
+ lines.push('│ SERVER DETAILS │');
317
+ lines.push('└─────────────────────────────────────────────────────────────┘');
318
+ for (const server of diagnostics.servers) {
319
+ const statusIcon = server.status === 'connected' ? '✓' : server.status === 'failed' ? '✗' : '○';
320
+ const healthIcon = server.healthCheckStatus === 'healthy' ? '♥' : server.healthCheckStatus === 'unhealthy' ? '!' : '?';
321
+ lines.push(` ${statusIcon} ${server.serverName}`);
322
+ lines.push(` Status: ${server.status} ${healthIcon}`);
323
+ if (server.transportType) {
324
+ lines.push(` Transport: ${server.transportType}`);
325
+ }
326
+ if (server.connectedAt) {
327
+ lines.push(` Connected: ${new Date(server.connectedAt).toISOString()}`);
328
+ }
329
+ if (server.lastError) {
330
+ lines.push(` Last Error: ${server.lastError}`);
331
+ }
332
+ lines.push(` Tools: ${server.toolCount} (${server.tools.slice(0, 3).join(', ')}${server.tools.length > 3 ? '...' : ''})`);
333
+ if (server.promptCount > 0) {
334
+ lines.push(` Prompts: ${server.promptCount}`);
335
+ }
336
+ lines.push('');
337
+ }
338
+ }
339
+ // Recent events
340
+ if (diagnostics.recentEvents.length > 0) {
341
+ lines.push('┌─────────────────────────────────────────────────────────────┐');
342
+ lines.push('│ RECENT EVENTS │');
343
+ lines.push('└─────────────────────────────────────────────────────────────┘');
344
+ for (const event of diagnostics.recentEvents.slice(-10)) {
345
+ const time = event.timestamp.toISOString().split('T')[1].split('.')[0];
346
+ const serverInfo = event.serverName ? ` [${event.serverName}]` : '';
347
+ lines.push(` ${time} ${event.type}${serverInfo}`);
348
+ }
349
+ }
350
+ lines.push('');
351
+ lines.push('═══════════════════════════════════════════════════════════════');
352
+ return lines.join('\n');
353
+ }
354
+ /**
355
+ * Create a debug session that instruments MCP manager events
356
+ */
357
+ export function createDebugSession(manager, options) {
358
+ const debugLogger = getMCPDebugLogger();
359
+ if (options) {
360
+ debugLogger.updateConfig(options);
361
+ }
362
+ debugLogger.enable();
363
+ // Wire up manager events to debug logger
364
+ manager.on('serverAdded', (serverName, toolCount) => {
365
+ debugLogger.log('connection:success', { toolCount }, { serverName });
366
+ });
367
+ manager.on('serverError', (serverName, error) => {
368
+ debugLogger.log('connection:failure', {}, { serverName, error });
369
+ });
370
+ manager.on('serverRemoved', (serverName) => {
371
+ debugLogger.log('connection:disconnect', {}, { serverName });
372
+ });
373
+ manager.on('server-unhealthy', (serverName, error) => {
374
+ const err = error instanceof Error ? error : new Error(String(error));
375
+ debugLogger.log('health:failure', {}, { serverName, error: err });
376
+ debugLogger.recordHealthCheck(serverName, false);
377
+ });
378
+ manager.on('reconnection-scheduled', (serverName, attempt, delay) => {
379
+ debugLogger.log('reconnection:scheduled', { attempt, delay }, { serverName });
380
+ });
381
+ manager.on('reconnection-succeeded', (serverName, attempts) => {
382
+ debugLogger.log('reconnection:success', { attempts }, { serverName });
383
+ });
384
+ manager.on('reconnection-failed', (serverName, attempts, reason) => {
385
+ debugLogger.log('reconnection:failure', { attempts, reason }, { serverName });
386
+ });
387
+ manager.on('progress', (data) => {
388
+ debugLogger.log('progress:update', { progress: data.progress, total: data.total }, { serverName: data.serverName });
389
+ });
390
+ manager.on('resource-updated', (serverName, uri) => {
391
+ debugLogger.log('resource:updated', { uri }, { serverName });
392
+ });
393
+ manager.on('schema-validation-failed', (data) => {
394
+ debugLogger.log('schema:validation', { valid: false, errors: data.errors }, { serverName: data.serverName, toolName: data.toolName });
395
+ });
396
+ return debugLogger;
397
+ }
398
+ //# sourceMappingURL=debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/mcp/debug.ts"],"names":[],"mappings":"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"}
@@ -48,3 +48,4 @@ export { resolveMCPReferences, extractMCPReferences } from "./resources.js";
48
48
  export { parseMCPIdentifier, promptToSlashCommand, parsePromptCommand, formatPromptResult, getPromptDescription, } from "./prompts.js";
49
49
  export { ZAI_SERVER_NAMES, ZAI_ENDPOINTS, ZAI_VISION_PACKAGE, ZAI_MCP_TEMPLATES, ZAI_QUOTA_LIMITS, generateZAIServerConfig, getAllZAIServerNames, isZAIServer, getZAITemplate, type ZAIServerName, type ZAIPlanTier, type ZAIMCPTemplate, } from "./zai-templates.js";
50
50
  export { detectZAIServices, getEnabledZAIServers, validateZAIApiKey, getZAIApiKey, isZAIMCPConfigured, getRecommendedServers, isGLMModel, isZAIBaseURL, formatZAIStatus, type ZAIServiceStatus, } from "./zai-detector.js";
51
+ export { MCPDebugLogger, getMCPDebugLogger, resetMCPDebugLogger, collectMCPDiagnostics, formatMCPDiagnostics, createDebugSession, DEFAULT_DEBUG_CONFIG, type DebugEventType, type DebugEvent, type DebugLogLevel, type DebugLoggerConfig, type ServerDiagnostics, type MCPDiagnostics, } from "./debug.js";
package/dist/mcp/index.js CHANGED
@@ -78,4 +78,8 @@ export { parseMCPIdentifier, promptToSlashCommand, parsePromptCommand, formatPro
78
78
  export { ZAI_SERVER_NAMES, ZAI_ENDPOINTS, ZAI_VISION_PACKAGE, ZAI_MCP_TEMPLATES, ZAI_QUOTA_LIMITS, generateZAIServerConfig, getAllZAIServerNames, isZAIServer, getZAITemplate, } from "./zai-templates.js";
79
79
  // Z.AI service detection and validation
80
80
  export { detectZAIServices, getEnabledZAIServers, validateZAIApiKey, getZAIApiKey, isZAIMCPConfigured, getRecommendedServers, isGLMModel, isZAIBaseURL, formatZAIStatus, } from "./zai-detector.js";
81
+ // ============================================================================
82
+ // DEBUG MODE
83
+ // ============================================================================
84
+ export { MCPDebugLogger, getMCPDebugLogger, resetMCPDebugLogger, collectMCPDiagnostics, formatMCPDiagnostics, createDebugSession, DEFAULT_DEBUG_CONFIG, } from "./debug.js";
81
85
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E,kEAAkE;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,+DAA+D;AAC/D,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,GAIf,MAAM,gBAAgB,CAAC;AAGxB,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,gCAAgC;AAChC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AAGrB,iCAAiC;AACjC,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAEtG,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,OAAO,EACL,eAAe,GAKhB,MAAM,iBAAiB,CAAC;AAEzB,+EAA+E;AAC/E,0CAA0C;AAC1C,+EAA+E;AAE/E,oBAAoB;AACpB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,GAGlB,MAAM,eAAe,CAAC;AAEvB,uBAAuB;AACvB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,GAGrB,MAAM,mBAAmB,CAAC;AAE3B,yBAAyB;AACzB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,GAEzB,MAAM,oBAAoB,CAAC;AAE5B,oBAAoB;AACpB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,GAGzB,MAAM,uBAAuB,CAAC;AAE/B,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,YAAY;AACZ,OAAO,EACL,YAAY,EACZ,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,+CAA+C;AAC/C,OAAO,EAAU,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE5D,8CAA8C;AAC9C,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EAElB,MAAM,wBAAwB,CAAC;AAEhC,oBAAoB;AACpB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE5E,mBAAmB;AACnB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,uCAAuC;AACvC,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,WAAW,EACX,cAAc,GAIf,MAAM,oBAAoB,CAAC;AAE5B,wCAAwC;AACxC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,EACV,YAAY,EACZ,eAAe,GAEhB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}