foundryvtt-mcp 0.11.0
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/LICENSE +21 -0
- package/README.md +142 -0
- package/dist/character/manager.d.ts +92 -0
- package/dist/character/manager.d.ts.map +1 -0
- package/dist/character/manager.js +208 -0
- package/dist/character/manager.js.map +1 -0
- package/dist/combat/manager.d.ts +94 -0
- package/dist/combat/manager.d.ts.map +1 -0
- package/dist/combat/manager.js +373 -0
- package/dist/combat/manager.js.map +1 -0
- package/dist/config/index.d.ts +114 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +177 -0
- package/dist/config/index.js.map +1 -0
- package/dist/diagnostics/client.d.ts +193 -0
- package/dist/diagnostics/client.d.ts.map +1 -0
- package/dist/diagnostics/client.js +314 -0
- package/dist/diagnostics/client.js.map +1 -0
- package/dist/diagnostics/types.d.ts +414 -0
- package/dist/diagnostics/types.d.ts.map +1 -0
- package/dist/diagnostics/types.js +94 -0
- package/dist/diagnostics/types.js.map +1 -0
- package/dist/foundry/auth.d.ts +19 -0
- package/dist/foundry/auth.d.ts.map +1 -0
- package/dist/foundry/auth.js +135 -0
- package/dist/foundry/auth.js.map +1 -0
- package/dist/foundry/client.d.ts +95 -0
- package/dist/foundry/client.d.ts.map +1 -0
- package/dist/foundry/client.js +692 -0
- package/dist/foundry/client.js.map +1 -0
- package/dist/foundry/types.d.ts +805 -0
- package/dist/foundry/types.d.ts.map +1 -0
- package/dist/foundry/types.js +13 -0
- package/dist/foundry/types.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +199 -0
- package/dist/index.js.map +1 -0
- package/dist/resources/index.d.ts +3 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +93 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/tools/base.d.ts +80 -0
- package/dist/tools/base.d.ts.map +1 -0
- package/dist/tools/base.js +73 -0
- package/dist/tools/base.js.map +1 -0
- package/dist/tools/definitions.d.ts +414 -0
- package/dist/tools/definitions.d.ts.map +1 -0
- package/dist/tools/definitions.js +429 -0
- package/dist/tools/definitions.js.map +1 -0
- package/dist/tools/handlers/actors.d.ts +31 -0
- package/dist/tools/handlers/actors.d.ts.map +1 -0
- package/dist/tools/handlers/actors.js +76 -0
- package/dist/tools/handlers/actors.js.map +1 -0
- package/dist/tools/handlers/chat.d.ts +13 -0
- package/dist/tools/handlers/chat.d.ts.map +1 -0
- package/dist/tools/handlers/chat.js +38 -0
- package/dist/tools/handlers/chat.js.map +1 -0
- package/dist/tools/handlers/combat.d.ts +11 -0
- package/dist/tools/handlers/combat.d.ts.map +1 -0
- package/dist/tools/handlers/combat.js +48 -0
- package/dist/tools/handlers/combat.js.map +1 -0
- package/dist/tools/handlers/diagnostics.d.ts +64 -0
- package/dist/tools/handlers/diagnostics.d.ts.map +1 -0
- package/dist/tools/handlers/diagnostics.js +182 -0
- package/dist/tools/handlers/diagnostics.js.map +1 -0
- package/dist/tools/handlers/dice.d.ts +39 -0
- package/dist/tools/handlers/dice.d.ts.map +1 -0
- package/dist/tools/handlers/dice.js +53 -0
- package/dist/tools/handlers/dice.js.map +1 -0
- package/dist/tools/handlers/generation.d.ts +44 -0
- package/dist/tools/handlers/generation.d.ts.map +1 -0
- package/dist/tools/handlers/generation.js +205 -0
- package/dist/tools/handlers/generation.js.map +1 -0
- package/dist/tools/handlers/items.d.ts +21 -0
- package/dist/tools/handlers/items.d.ts.map +1 -0
- package/dist/tools/handlers/items.js +50 -0
- package/dist/tools/handlers/items.js.map +1 -0
- package/dist/tools/handlers/journals.d.ts +22 -0
- package/dist/tools/handlers/journals.d.ts.map +1 -0
- package/dist/tools/handlers/journals.js +62 -0
- package/dist/tools/handlers/journals.js.map +1 -0
- package/dist/tools/handlers/resources.d.ts +13 -0
- package/dist/tools/handlers/resources.d.ts.map +1 -0
- package/dist/tools/handlers/resources.js +188 -0
- package/dist/tools/handlers/resources.js.map +1 -0
- package/dist/tools/handlers/scenes.d.ts +18 -0
- package/dist/tools/handlers/scenes.d.ts.map +1 -0
- package/dist/tools/handlers/scenes.js +34 -0
- package/dist/tools/handlers/scenes.js.map +1 -0
- package/dist/tools/handlers/users.d.ts +11 -0
- package/dist/tools/handlers/users.d.ts.map +1 -0
- package/dist/tools/handlers/users.js +34 -0
- package/dist/tools/handlers/users.js.map +1 -0
- package/dist/tools/handlers/utils.d.ts +11 -0
- package/dist/tools/handlers/utils.d.ts.map +1 -0
- package/dist/tools/handlers/utils.js +24 -0
- package/dist/tools/handlers/utils.js.map +1 -0
- package/dist/tools/handlers/world.d.ts +26 -0
- package/dist/tools/handlers/world.d.ts.map +1 -0
- package/dist/tools/handlers/world.js +92 -0
- package/dist/tools/handlers/world.js.map +1 -0
- package/dist/tools/index.d.ts +19 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +22 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/new-router.d.ts +29 -0
- package/dist/tools/new-router.d.ts.map +1 -0
- package/dist/tools/new-router.js +97 -0
- package/dist/tools/new-router.js.map +1 -0
- package/dist/tools/registry.d.ts +51 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +79 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/resources.d.ts +16 -0
- package/dist/tools/resources.d.ts.map +1 -0
- package/dist/tools/resources.js +63 -0
- package/dist/tools/resources.js.map +1 -0
- package/dist/tools/router.d.ts +22 -0
- package/dist/tools/router.d.ts.map +1 -0
- package/dist/tools/router.js +128 -0
- package/dist/tools/router.js.map +1 -0
- package/dist/utils/cache-instance.d.ts +25 -0
- package/dist/utils/cache-instance.d.ts.map +1 -0
- package/dist/utils/cache-instance.js +30 -0
- package/dist/utils/cache-instance.js.map +1 -0
- package/dist/utils/cache.d.ts +80 -0
- package/dist/utils/cache.d.ts.map +1 -0
- package/dist/utils/cache.js +205 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/diagnostics.d.ts +114 -0
- package/dist/utils/diagnostics.d.ts.map +1 -0
- package/dist/utils/diagnostics.js +330 -0
- package/dist/utils/diagnostics.js.map +1 -0
- package/dist/utils/logger.d.ts +137 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +158 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +98 -0
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview DiagnosticsClient for accessing FoundryVTT logs and system health
|
|
3
|
+
*
|
|
4
|
+
* This module provides a client interface for accessing diagnostic information
|
|
5
|
+
* from FoundryVTT through the REST API module's diagnostic endpoints.
|
|
6
|
+
*
|
|
7
|
+
* @version 0.1.0
|
|
8
|
+
* @author FoundryVTT MCP Team
|
|
9
|
+
*/
|
|
10
|
+
import { logger } from '../utils/logger.js';
|
|
11
|
+
import { ErrorDiagnosisSchema, LogResponseSchema, LogSearchResponseSchema, SystemHealthSchema, } from './types.js';
|
|
12
|
+
/**
|
|
13
|
+
* Client for accessing FoundryVTT diagnostic and logging information
|
|
14
|
+
*
|
|
15
|
+
* Provides methods to retrieve logs, search for specific patterns,
|
|
16
|
+
* monitor system health, and analyze errors through the REST API.
|
|
17
|
+
*
|
|
18
|
+
* @class DiagnosticsClient
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* const diagnostics = new DiagnosticsClient(foundryClient);
|
|
22
|
+
*
|
|
23
|
+
* // Get recent errors
|
|
24
|
+
* const errors = await diagnostics.getRecentLogs({ level: 'error', lines: 20 });
|
|
25
|
+
*
|
|
26
|
+
* // Search for specific patterns
|
|
27
|
+
* const matches = await diagnostics.searchLogs({ pattern: 'TypeError', timeframe: '3600' });
|
|
28
|
+
*
|
|
29
|
+
* // Check system health
|
|
30
|
+
* const health = await diagnostics.getSystemHealth();
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export class DiagnosticsClient {
|
|
34
|
+
foundryClient;
|
|
35
|
+
/**
|
|
36
|
+
* Create a new DiagnosticsClient instance
|
|
37
|
+
*
|
|
38
|
+
* @param foundryClient - The FoundryClient instance to use for API calls
|
|
39
|
+
*/
|
|
40
|
+
constructor(foundryClient) {
|
|
41
|
+
this.foundryClient = foundryClient;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Get recent log entries with optional filtering
|
|
45
|
+
*
|
|
46
|
+
* @param params - Search parameters for filtering logs
|
|
47
|
+
* @returns Promise resolving to log response with entries and metadata
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* // Get last 50 log entries
|
|
52
|
+
* const logs = await diagnostics.getRecentLogs();
|
|
53
|
+
*
|
|
54
|
+
* // Get only error logs from the last hour
|
|
55
|
+
* const errors = await diagnostics.getRecentLogs({
|
|
56
|
+
* level: 'error',
|
|
57
|
+
* since: new Date(Date.now() - 3600000).toISOString()
|
|
58
|
+
* });
|
|
59
|
+
*
|
|
60
|
+
* // Get logs with stack traces included
|
|
61
|
+
* const detailed = await diagnostics.getRecentLogs({
|
|
62
|
+
* lines: 100,
|
|
63
|
+
* includeStack: true
|
|
64
|
+
* });
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
async getRecentLogs(params = {}) {
|
|
68
|
+
try {
|
|
69
|
+
logger.debug('DiagnosticsClient | Getting recent logs', params);
|
|
70
|
+
const searchParams = new URLSearchParams();
|
|
71
|
+
if (params.lines !== undefined) {
|
|
72
|
+
searchParams.set('lines', params.lines.toString());
|
|
73
|
+
}
|
|
74
|
+
if (params.level) {
|
|
75
|
+
searchParams.set('level', params.level);
|
|
76
|
+
}
|
|
77
|
+
if (params.since) {
|
|
78
|
+
searchParams.set('since', params.since);
|
|
79
|
+
}
|
|
80
|
+
if (params.source) {
|
|
81
|
+
searchParams.set('source', params.source);
|
|
82
|
+
}
|
|
83
|
+
if (params.includeStack !== undefined) {
|
|
84
|
+
searchParams.set('includeStack', params.includeStack.toString());
|
|
85
|
+
}
|
|
86
|
+
const queryString = searchParams.toString();
|
|
87
|
+
const url = `/api/diagnostics/logs${queryString ? `?${queryString}` : ''}`;
|
|
88
|
+
const response = await this.foundryClient.get(url);
|
|
89
|
+
const parsed = LogResponseSchema.parse(response.data);
|
|
90
|
+
logger.debug('DiagnosticsClient | Retrieved logs', {
|
|
91
|
+
count: parsed.total,
|
|
92
|
+
bufferSize: parsed.bufferSize,
|
|
93
|
+
});
|
|
94
|
+
return parsed;
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
logger.error('DiagnosticsClient | Failed to get recent logs:', error);
|
|
98
|
+
throw new Error(`Failed to retrieve recent logs: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Search log entries for specific patterns using regular expressions
|
|
103
|
+
*
|
|
104
|
+
* @param params - Search parameters including pattern and filters
|
|
105
|
+
* @returns Promise resolving to matching log entries
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```typescript
|
|
109
|
+
* // Search for any TypeError occurrences
|
|
110
|
+
* const typeErrors = await diagnostics.searchLogs({
|
|
111
|
+
* pattern: 'TypeError'
|
|
112
|
+
* });
|
|
113
|
+
*
|
|
114
|
+
* // Search for network errors in the last hour
|
|
115
|
+
* const networkErrors = await diagnostics.searchLogs({
|
|
116
|
+
* pattern: 'Failed to fetch|Network Error',
|
|
117
|
+
* timeframe: '3600',
|
|
118
|
+
* level: 'error'
|
|
119
|
+
* });
|
|
120
|
+
*
|
|
121
|
+
* // Case-sensitive search for specific module errors
|
|
122
|
+
* const moduleErrors = await diagnostics.searchLogs({
|
|
123
|
+
* pattern: 'Module.*failed',
|
|
124
|
+
* caseSensitive: true
|
|
125
|
+
* });
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
async searchLogs(params) {
|
|
129
|
+
try {
|
|
130
|
+
logger.debug('DiagnosticsClient | Searching logs', params);
|
|
131
|
+
const searchParams = new URLSearchParams();
|
|
132
|
+
searchParams.set('pattern', params.pattern);
|
|
133
|
+
if (params.timeframe) {
|
|
134
|
+
searchParams.set('timeframe', params.timeframe);
|
|
135
|
+
}
|
|
136
|
+
if (params.level) {
|
|
137
|
+
searchParams.set('level', params.level);
|
|
138
|
+
}
|
|
139
|
+
if (params.caseSensitive !== undefined) {
|
|
140
|
+
searchParams.set('caseSensitive', params.caseSensitive.toString());
|
|
141
|
+
}
|
|
142
|
+
const url = `/api/diagnostics/search?${searchParams.toString()}`;
|
|
143
|
+
const response = await this.foundryClient.get(url);
|
|
144
|
+
const parsed = LogSearchResponseSchema.parse(response.data);
|
|
145
|
+
logger.debug('DiagnosticsClient | Search completed', {
|
|
146
|
+
pattern: params.pattern,
|
|
147
|
+
matches: parsed.matches,
|
|
148
|
+
});
|
|
149
|
+
return parsed;
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
logger.error('DiagnosticsClient | Failed to search logs:', error);
|
|
153
|
+
throw new Error(`Failed to search logs: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Get comprehensive system health and performance metrics
|
|
158
|
+
*
|
|
159
|
+
* @returns Promise resolving to complete system health information
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```typescript
|
|
163
|
+
* const health = await diagnostics.getSystemHealth();
|
|
164
|
+
*
|
|
165
|
+
* console.log(`Server status: ${health.status}`);
|
|
166
|
+
* console.log(`Active users: ${health.users.active}/${health.users.total}`);
|
|
167
|
+
* console.log(`Recent errors: ${health.logs.recentErrors}`);
|
|
168
|
+
* console.log(`Health score: ${health.healthScore}%`);
|
|
169
|
+
*
|
|
170
|
+
* if (health.status === 'critical') {
|
|
171
|
+
* console.warn('Server requires immediate attention!');
|
|
172
|
+
* }
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
async getSystemHealth() {
|
|
176
|
+
try {
|
|
177
|
+
logger.debug('DiagnosticsClient | Getting system health');
|
|
178
|
+
const response = await this.foundryClient.get('/api/diagnostics/health');
|
|
179
|
+
const parsed = SystemHealthSchema.parse(response.data);
|
|
180
|
+
logger.debug('DiagnosticsClient | System health retrieved', {
|
|
181
|
+
status: parsed.status,
|
|
182
|
+
activeUsers: parsed.users?.active,
|
|
183
|
+
recentErrors: parsed.logs?.recentErrors,
|
|
184
|
+
});
|
|
185
|
+
return parsed;
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
logger.error('DiagnosticsClient | Failed to get system health:', error);
|
|
189
|
+
throw new Error(`Failed to retrieve system health: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Analyze recent errors and get diagnostic suggestions
|
|
194
|
+
*
|
|
195
|
+
* @param timeframe - Time window in seconds to analyze (default: 3600)
|
|
196
|
+
* @returns Promise resolving to error diagnosis with suggestions
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
* ```typescript
|
|
200
|
+
* // Analyze errors from the last hour
|
|
201
|
+
* const diagnosis = await diagnostics.diagnoseErrors();
|
|
202
|
+
*
|
|
203
|
+
* // Analyze errors from the last 30 minutes
|
|
204
|
+
* const recentDiagnosis = await diagnostics.diagnoseErrors(1800);
|
|
205
|
+
*
|
|
206
|
+
* console.log(`Health score: ${diagnosis.healthScore}/100`);
|
|
207
|
+
* console.log(`Total errors: ${diagnosis.summary.totalErrors}`);
|
|
208
|
+
*
|
|
209
|
+
* // Display suggestions
|
|
210
|
+
* diagnosis.suggestions.forEach(suggestion => {
|
|
211
|
+
* console.log(`${suggestion.priority.toUpperCase()}: ${suggestion.suggestion}`);
|
|
212
|
+
* });
|
|
213
|
+
* ```
|
|
214
|
+
*/
|
|
215
|
+
async diagnoseErrors(timeframe = 3600) {
|
|
216
|
+
try {
|
|
217
|
+
logger.debug('DiagnosticsClient | Diagnosing errors', { timeframe });
|
|
218
|
+
const searchParams = new URLSearchParams();
|
|
219
|
+
searchParams.set('timeframe', timeframe.toString());
|
|
220
|
+
const url = `/api/diagnostics/errors?${searchParams.toString()}`;
|
|
221
|
+
const response = await this.foundryClient.get(url);
|
|
222
|
+
const parsed = ErrorDiagnosisSchema.parse(response.data);
|
|
223
|
+
logger.debug('DiagnosticsClient | Error diagnosis completed', {
|
|
224
|
+
totalErrors: parsed.summary?.totalErrors,
|
|
225
|
+
healthScore: parsed.healthScore,
|
|
226
|
+
suggestionCount: parsed.suggestions?.length,
|
|
227
|
+
});
|
|
228
|
+
return parsed;
|
|
229
|
+
}
|
|
230
|
+
catch (error) {
|
|
231
|
+
logger.error('DiagnosticsClient | Failed to diagnose errors:', error);
|
|
232
|
+
throw new Error(`Failed to diagnose errors: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Get errors filtered by severity and time window
|
|
237
|
+
*
|
|
238
|
+
* @param timeframe - Time window in seconds (default: 3600)
|
|
239
|
+
* @param level - Log level to filter by (default: 'error')
|
|
240
|
+
* @returns Promise resolving to filtered log entries
|
|
241
|
+
*
|
|
242
|
+
* @example
|
|
243
|
+
* ```typescript
|
|
244
|
+
* // Get all errors from the last 2 hours
|
|
245
|
+
* const errors = await diagnostics.getErrorsOnly(7200);
|
|
246
|
+
*
|
|
247
|
+
* // Get warnings from the last 30 minutes
|
|
248
|
+
* const warnings = await diagnostics.getErrorsOnly(1800, 'warn');
|
|
249
|
+
* ```
|
|
250
|
+
*/
|
|
251
|
+
async getErrorsOnly(timeframe = 3600, level = 'error') {
|
|
252
|
+
try {
|
|
253
|
+
const since = new Date(Date.now() - timeframe * 1000).toISOString();
|
|
254
|
+
const response = await this.getRecentLogs({
|
|
255
|
+
level,
|
|
256
|
+
since,
|
|
257
|
+
lines: 1000, // Get a large number to ensure we capture all errors
|
|
258
|
+
includeStack: true,
|
|
259
|
+
});
|
|
260
|
+
return response.logs;
|
|
261
|
+
}
|
|
262
|
+
catch (error) {
|
|
263
|
+
logger.error('DiagnosticsClient | Failed to get errors only:', error);
|
|
264
|
+
throw new Error(`Failed to retrieve ${level} logs: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Monitor system health and return status summary
|
|
269
|
+
*
|
|
270
|
+
* @returns Promise resolving to simplified health status
|
|
271
|
+
*
|
|
272
|
+
* @example
|
|
273
|
+
* ```typescript
|
|
274
|
+
* const status = await diagnostics.getHealthStatus();
|
|
275
|
+
* // Returns: { status: 'healthy' | 'warning' | 'critical', score: number }
|
|
276
|
+
* ```
|
|
277
|
+
*/
|
|
278
|
+
async getHealthStatus() {
|
|
279
|
+
try {
|
|
280
|
+
const health = await this.getSystemHealth();
|
|
281
|
+
return {
|
|
282
|
+
status: health.status,
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
catch (error) {
|
|
286
|
+
logger.error('DiagnosticsClient | Failed to get health status:', error);
|
|
287
|
+
return { status: 'critical' };
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Check if diagnostics API is available
|
|
292
|
+
*
|
|
293
|
+
* @returns Promise resolving to boolean indicating availability
|
|
294
|
+
*
|
|
295
|
+
* @example
|
|
296
|
+
* ```typescript
|
|
297
|
+
* const available = await diagnostics.isAvailable();
|
|
298
|
+
* if (!available) {
|
|
299
|
+
* console.log('Diagnostics API not available - check module installation');
|
|
300
|
+
* }
|
|
301
|
+
* ```
|
|
302
|
+
*/
|
|
303
|
+
async isAvailable() {
|
|
304
|
+
try {
|
|
305
|
+
await this.foundryClient.get('/api/diagnostics/health');
|
|
306
|
+
return true;
|
|
307
|
+
}
|
|
308
|
+
catch (error) {
|
|
309
|
+
logger.debug('DiagnosticsClient | Diagnostics API not available:', error);
|
|
310
|
+
return false;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/diagnostics/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EACL,oBAAoB,EAEpB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAQpB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,iBAAiB;IAMR;IALpB;;;;OAIG;IACH,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAEpD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,aAAa,CAAC,SAA0B,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,MAAM,CAAC,CAAC;YAEhE,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;YAE3C,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACtC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,wBAAwB,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAE3E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEtD,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;gBACjD,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;YACtE,MAAM,IAAI,KAAK,CACb,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC9F,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,KAAK,CAAC,UAAU,CAAC,MAA8B;QAC7C,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAC;YAE3D,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;YAC3C,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAE5C,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACvC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,GAAG,GAAG,2BAA2B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;YACjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE5D,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE;gBACnD,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;YAClE,MAAM,IAAI,KAAK,CACb,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAE1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEvD,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;gBAC1D,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM;gBACjC,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY;aACxC,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAC;YACxE,MAAM,IAAI,KAAK,CACb,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAChG,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,cAAc,CAAC,YAAoB,IAAI;QAC3C,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YAErE,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;YAC3C,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEpD,MAAM,GAAG,GAAG,2BAA2B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;YACjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEzD,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE;gBAC5D,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW;gBACxC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM;aAC5C,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;YACtE,MAAM,IAAI,KAAK,CACb,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,aAAa,CACjB,YAAoB,IAAI,EACxB,QAA2B,OAAO;QAElC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAEpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;gBACxC,KAAK;gBACL,KAAK;gBACL,KAAK,EAAE,IAAI,EAAE,qDAAqD;gBAClE,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;YACtE,MAAM,IAAI,KAAK,CACb,sBAAsB,KAAK,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAChG,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,OAAO;gBACL,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAC;YACxE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE,KAAK,CAAC,CAAC;YAC1E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF"}
|