@bryan-thompson/inspector-assessment-client 1.32.2 → 1.32.3
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/lib/lib/assessment/configSchemas.d.ts +763 -0
- package/lib/lib/assessment/configSchemas.d.ts.map +1 -0
- package/lib/lib/assessment/configSchemas.js +187 -0
- package/lib/lib/assessment/coreTypes.d.ts +41 -0
- package/lib/lib/assessment/coreTypes.d.ts.map +1 -1
- package/lib/lib/assessment/jsonlEventSchemas.d.ts +1667 -0
- package/lib/lib/assessment/jsonlEventSchemas.d.ts.map +1 -0
- package/lib/lib/assessment/jsonlEventSchemas.js +437 -0
- package/lib/lib/assessment/progressTypes.d.ts +49 -1
- package/lib/lib/assessment/progressTypes.d.ts.map +1 -1
- package/lib/services/assessment/AssessmentOrchestrator.d.ts +3 -3
- package/lib/services/assessment/AssessmentOrchestrator.d.ts.map +1 -1
- package/lib/services/assessment/TestDataGenerator.d.ts +42 -8
- package/lib/services/assessment/TestDataGenerator.d.ts.map +1 -1
- package/lib/services/assessment/TestDataGenerator.js +23 -153
- package/lib/services/assessment/modules/CrossCapabilitySecurityAssessor.d.ts.map +1 -1
- package/lib/services/assessment/modules/DeveloperExperienceAssessor.d.ts.map +1 -1
- package/lib/services/assessment/modules/DocumentationAssessor.d.ts.map +1 -1
- package/lib/services/assessment/modules/ErrorHandlingAssessor.d.ts.map +1 -1
- package/lib/services/assessment/modules/ErrorHandlingAssessor.js +18 -1
- package/lib/services/assessment/modules/FunctionalityAssessor.d.ts +2 -2
- package/lib/services/assessment/modules/FunctionalityAssessor.d.ts.map +1 -1
- package/lib/services/assessment/modules/FunctionalityAssessor.js +6 -3
- package/lib/services/assessment/modules/MCPSpecComplianceAssessor.d.ts.map +1 -1
- package/lib/services/assessment/modules/PortabilityAssessor.d.ts.map +1 -1
- package/lib/services/assessment/modules/ProhibitedLibrariesAssessor.d.ts.map +1 -1
- package/lib/services/assessment/modules/ProtocolComplianceAssessor.d.ts.map +1 -1
- package/lib/services/assessment/modules/securityTests/SecurityPayloadTester.d.ts.map +1 -1
- package/lib/services/assessment/modules/securityTests/SecurityPayloadTester.js +78 -2
- package/lib/services/assessment/testdata/index.d.ts +12 -0
- package/lib/services/assessment/testdata/index.d.ts.map +1 -0
- package/lib/services/assessment/testdata/index.js +11 -0
- package/lib/services/assessment/testdata/realistic-values.d.ts +126 -0
- package/lib/services/assessment/testdata/realistic-values.d.ts.map +1 -0
- package/lib/services/assessment/testdata/realistic-values.js +162 -0
- package/lib/services/assessment/testdata/tool-category-data.d.ts +28 -0
- package/lib/services/assessment/testdata/tool-category-data.d.ts.map +1 -0
- package/lib/services/assessment/testdata/tool-category-data.js +60 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonlEventSchemas.d.ts","sourceRoot":"","sources":["../../../src/lib/assessment/jsonlEventSchemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,437 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod Schemas for JSONL Event Types
|
|
3
|
+
*
|
|
4
|
+
* Runtime validation schemas for all 13 JSONL event types emitted during
|
|
5
|
+
* CLI assessment runs. Enables type-safe parsing for external consumers.
|
|
6
|
+
*
|
|
7
|
+
* @module assessment/jsonlEventSchemas
|
|
8
|
+
* @see scripts/lib/jsonl-events.ts - TypeScript interface definitions
|
|
9
|
+
* @see docs/JSONL_EVENTS_REFERENCE.md - Event documentation
|
|
10
|
+
*/
|
|
11
|
+
import { z } from "zod";
|
|
12
|
+
import { ZOD_SCHEMA_VERSION, TransportTypeSchema, } from "../../lib/assessment/sharedSchemas.js";
|
|
13
|
+
// Re-export for consumers
|
|
14
|
+
export { ZOD_SCHEMA_VERSION, TransportTypeSchema };
|
|
15
|
+
// ============================================================================
|
|
16
|
+
// Shared Enum Schemas
|
|
17
|
+
// ============================================================================
|
|
18
|
+
/**
|
|
19
|
+
* Schema for module completion status.
|
|
20
|
+
*/
|
|
21
|
+
export const ModuleStatusSchema = z.enum(["PASS", "FAIL", "NEED_MORE_INFO"]);
|
|
22
|
+
/**
|
|
23
|
+
* Schema for confidence level (lowercase).
|
|
24
|
+
*/
|
|
25
|
+
export const ConfidenceLevelSchema = z.enum(["high", "medium", "low"]);
|
|
26
|
+
/**
|
|
27
|
+
* Schema for risk level (uppercase).
|
|
28
|
+
*/
|
|
29
|
+
export const RiskLevelSchema = z.enum(["HIGH", "MEDIUM", "LOW"]);
|
|
30
|
+
/**
|
|
31
|
+
* Schema for AUP violation severity.
|
|
32
|
+
*/
|
|
33
|
+
export const SeveritySchema = z.enum(["CRITICAL", "HIGH", "MEDIUM"]);
|
|
34
|
+
/**
|
|
35
|
+
* Schema for AUP violation location.
|
|
36
|
+
*/
|
|
37
|
+
export const LocationSchema = z.enum([
|
|
38
|
+
"tool_name",
|
|
39
|
+
"tool_description",
|
|
40
|
+
"readme",
|
|
41
|
+
"source_code",
|
|
42
|
+
]);
|
|
43
|
+
/**
|
|
44
|
+
* Schema for annotation field types.
|
|
45
|
+
*/
|
|
46
|
+
export const AnnotationFieldSchema = z.enum([
|
|
47
|
+
"readOnlyHint",
|
|
48
|
+
"destructiveHint",
|
|
49
|
+
]);
|
|
50
|
+
/**
|
|
51
|
+
* Schema for modules_configured reason.
|
|
52
|
+
*/
|
|
53
|
+
export const ModulesConfiguredReasonSchema = z.enum([
|
|
54
|
+
"skip-modules",
|
|
55
|
+
"only-modules",
|
|
56
|
+
"default",
|
|
57
|
+
]);
|
|
58
|
+
// ============================================================================
|
|
59
|
+
// Supporting Type Schemas
|
|
60
|
+
// ============================================================================
|
|
61
|
+
/**
|
|
62
|
+
* Schema for tool parameter information.
|
|
63
|
+
*/
|
|
64
|
+
export const ToolParamSchema = z.object({
|
|
65
|
+
name: z.string(),
|
|
66
|
+
type: z.string(),
|
|
67
|
+
required: z.boolean(),
|
|
68
|
+
description: z.string().optional(),
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* Schema for tool annotations object.
|
|
72
|
+
*/
|
|
73
|
+
export const ToolAnnotationsSchema = z
|
|
74
|
+
.object({
|
|
75
|
+
readOnlyHint: z.boolean().optional(),
|
|
76
|
+
destructiveHint: z.boolean().optional(),
|
|
77
|
+
idempotentHint: z.boolean().optional(),
|
|
78
|
+
openWorldHint: z.boolean().optional(),
|
|
79
|
+
})
|
|
80
|
+
.nullable();
|
|
81
|
+
/**
|
|
82
|
+
* Schema for inferred behavior in annotation_missing events.
|
|
83
|
+
*/
|
|
84
|
+
export const InferredBehaviorSchema = z.object({
|
|
85
|
+
expectedReadOnly: z.boolean(),
|
|
86
|
+
expectedDestructive: z.boolean(),
|
|
87
|
+
reason: z.string(),
|
|
88
|
+
});
|
|
89
|
+
// ============================================================================
|
|
90
|
+
// AUP Enrichment Schemas
|
|
91
|
+
// ============================================================================
|
|
92
|
+
/**
|
|
93
|
+
* Schema for sampled AUP violation.
|
|
94
|
+
*/
|
|
95
|
+
export const AUPViolationSampleSchema = z.object({
|
|
96
|
+
category: z.string(),
|
|
97
|
+
categoryName: z.string(),
|
|
98
|
+
severity: SeveritySchema,
|
|
99
|
+
matchedText: z.string(),
|
|
100
|
+
location: LocationSchema,
|
|
101
|
+
confidence: ConfidenceLevelSchema,
|
|
102
|
+
});
|
|
103
|
+
/**
|
|
104
|
+
* Schema for AUP violation metrics.
|
|
105
|
+
*/
|
|
106
|
+
export const AUPViolationMetricsSchema = z.object({
|
|
107
|
+
total: z.number().int().nonnegative(),
|
|
108
|
+
critical: z.number().int().nonnegative(),
|
|
109
|
+
high: z.number().int().nonnegative(),
|
|
110
|
+
medium: z.number().int().nonnegative(),
|
|
111
|
+
byCategory: z.record(z.string(), z.number().int().nonnegative()),
|
|
112
|
+
});
|
|
113
|
+
/**
|
|
114
|
+
* Schema for AUP scanned locations.
|
|
115
|
+
*/
|
|
116
|
+
export const AUPScannedLocationsSchema = z.object({
|
|
117
|
+
toolNames: z.boolean(),
|
|
118
|
+
toolDescriptions: z.boolean(),
|
|
119
|
+
readme: z.boolean(),
|
|
120
|
+
sourceCode: z.boolean(),
|
|
121
|
+
});
|
|
122
|
+
// ============================================================================
|
|
123
|
+
// Base Event Schema
|
|
124
|
+
// ============================================================================
|
|
125
|
+
/**
|
|
126
|
+
* Base schema for all JSONL events.
|
|
127
|
+
* All events include version (software version) and schemaVersion (event schema version).
|
|
128
|
+
*/
|
|
129
|
+
export const BaseEventSchema = z.object({
|
|
130
|
+
/** Inspector software version (e.g., "1.29.0") */
|
|
131
|
+
version: z.string(),
|
|
132
|
+
/** Event schema version (integer, increment when structure changes) */
|
|
133
|
+
schemaVersion: z.number().int().positive(),
|
|
134
|
+
});
|
|
135
|
+
// ============================================================================
|
|
136
|
+
// Event Schemas (13 Total)
|
|
137
|
+
// ============================================================================
|
|
138
|
+
/**
|
|
139
|
+
* 1. ServerConnectedEvent - Emitted after successful MCP connection.
|
|
140
|
+
*/
|
|
141
|
+
export const ServerConnectedEventSchema = BaseEventSchema.extend({
|
|
142
|
+
event: z.literal("server_connected"),
|
|
143
|
+
serverName: z.string(),
|
|
144
|
+
transport: TransportTypeSchema,
|
|
145
|
+
});
|
|
146
|
+
/**
|
|
147
|
+
* 2. ToolDiscoveredEvent - Emitted for each tool found.
|
|
148
|
+
*/
|
|
149
|
+
export const ToolDiscoveredEventSchema = BaseEventSchema.extend({
|
|
150
|
+
event: z.literal("tool_discovered"),
|
|
151
|
+
name: z.string(),
|
|
152
|
+
description: z.string().nullable(),
|
|
153
|
+
params: z.array(ToolParamSchema),
|
|
154
|
+
annotations: ToolAnnotationsSchema,
|
|
155
|
+
});
|
|
156
|
+
/**
|
|
157
|
+
* 3. ToolsDiscoveryCompleteEvent - Emitted after all tools listed.
|
|
158
|
+
*/
|
|
159
|
+
export const ToolsDiscoveryCompleteEventSchema = BaseEventSchema.extend({
|
|
160
|
+
event: z.literal("tools_discovery_complete"),
|
|
161
|
+
count: z.number().int().nonnegative(),
|
|
162
|
+
});
|
|
163
|
+
/**
|
|
164
|
+
* 4. ModulesConfiguredEvent - Emitted when --skip-modules or --only-modules used.
|
|
165
|
+
*/
|
|
166
|
+
export const ModulesConfiguredEventSchema = BaseEventSchema.extend({
|
|
167
|
+
event: z.literal("modules_configured"),
|
|
168
|
+
enabled: z.array(z.string()),
|
|
169
|
+
skipped: z.array(z.string()),
|
|
170
|
+
reason: ModulesConfiguredReasonSchema,
|
|
171
|
+
});
|
|
172
|
+
/**
|
|
173
|
+
* 5. ModuleStartedEvent - Emitted when a module begins execution.
|
|
174
|
+
*/
|
|
175
|
+
export const ModuleStartedEventSchema = BaseEventSchema.extend({
|
|
176
|
+
event: z.literal("module_started"),
|
|
177
|
+
module: z.string(),
|
|
178
|
+
estimatedTests: z.number().int().nonnegative(),
|
|
179
|
+
toolCount: z.number().int().nonnegative(),
|
|
180
|
+
});
|
|
181
|
+
/**
|
|
182
|
+
* 6. TestBatchEvent - Emitted during test execution with progress.
|
|
183
|
+
*/
|
|
184
|
+
export const TestBatchEventSchema = BaseEventSchema.extend({
|
|
185
|
+
event: z.literal("test_batch"),
|
|
186
|
+
module: z.string(),
|
|
187
|
+
completed: z.number().int().nonnegative(),
|
|
188
|
+
total: z.number().int().nonnegative(),
|
|
189
|
+
batchSize: z.number().int().positive(),
|
|
190
|
+
elapsed: z.number().nonnegative(),
|
|
191
|
+
});
|
|
192
|
+
/**
|
|
193
|
+
* 7. ModuleCompleteEvent - Emitted after module finishes with summary.
|
|
194
|
+
* Includes optional AUP enrichment when module=aup.
|
|
195
|
+
*/
|
|
196
|
+
export const ModuleCompleteEventSchema = BaseEventSchema.extend({
|
|
197
|
+
event: z.literal("module_complete"),
|
|
198
|
+
module: z.string(),
|
|
199
|
+
status: ModuleStatusSchema,
|
|
200
|
+
score: z.number().min(0).max(100),
|
|
201
|
+
testsRun: z.number().int().nonnegative(),
|
|
202
|
+
duration: z.number().nonnegative(),
|
|
203
|
+
// AUP-specific enrichment (optional)
|
|
204
|
+
violationsSample: z.array(AUPViolationSampleSchema).optional(),
|
|
205
|
+
samplingNote: z.string().optional(),
|
|
206
|
+
violationMetrics: AUPViolationMetricsSchema.optional(),
|
|
207
|
+
scannedLocations: AUPScannedLocationsSchema.optional(),
|
|
208
|
+
highRiskDomains: z.array(z.string()).optional(),
|
|
209
|
+
});
|
|
210
|
+
/**
|
|
211
|
+
* 8. VulnerabilityFoundEvent - Emitted when security vulnerability detected.
|
|
212
|
+
*/
|
|
213
|
+
export const VulnerabilityFoundEventSchema = BaseEventSchema.extend({
|
|
214
|
+
event: z.literal("vulnerability_found"),
|
|
215
|
+
tool: z.string(),
|
|
216
|
+
pattern: z.string(),
|
|
217
|
+
confidence: ConfidenceLevelSchema,
|
|
218
|
+
evidence: z.string(),
|
|
219
|
+
riskLevel: RiskLevelSchema,
|
|
220
|
+
requiresReview: z.boolean(),
|
|
221
|
+
payload: z.string().optional(),
|
|
222
|
+
});
|
|
223
|
+
/**
|
|
224
|
+
* 9. AnnotationMissingEvent - Emitted when tool lacks annotations.
|
|
225
|
+
*/
|
|
226
|
+
export const AnnotationMissingEventSchema = BaseEventSchema.extend({
|
|
227
|
+
event: z.literal("annotation_missing"),
|
|
228
|
+
tool: z.string(),
|
|
229
|
+
title: z.string().optional(),
|
|
230
|
+
description: z.string().optional(),
|
|
231
|
+
parameters: z.array(ToolParamSchema),
|
|
232
|
+
inferredBehavior: InferredBehaviorSchema,
|
|
233
|
+
});
|
|
234
|
+
/**
|
|
235
|
+
* 10. AnnotationMisalignedEvent - Emitted when annotation doesn't match behavior.
|
|
236
|
+
*/
|
|
237
|
+
export const AnnotationMisalignedEventSchema = BaseEventSchema.extend({
|
|
238
|
+
event: z.literal("annotation_misaligned"),
|
|
239
|
+
tool: z.string(),
|
|
240
|
+
title: z.string().optional(),
|
|
241
|
+
description: z.string().optional(),
|
|
242
|
+
parameters: z.array(ToolParamSchema),
|
|
243
|
+
field: AnnotationFieldSchema,
|
|
244
|
+
actual: z.boolean().optional(),
|
|
245
|
+
expected: z.boolean(),
|
|
246
|
+
confidence: z.number().min(0).max(1),
|
|
247
|
+
reason: z.string(),
|
|
248
|
+
});
|
|
249
|
+
/**
|
|
250
|
+
* 11. AnnotationReviewRecommendedEvent - Emitted for ambiguous patterns.
|
|
251
|
+
*/
|
|
252
|
+
export const AnnotationReviewRecommendedEventSchema = BaseEventSchema.extend({
|
|
253
|
+
event: z.literal("annotation_review_recommended"),
|
|
254
|
+
tool: z.string(),
|
|
255
|
+
title: z.string().optional(),
|
|
256
|
+
description: z.string().optional(),
|
|
257
|
+
parameters: z.array(ToolParamSchema),
|
|
258
|
+
field: AnnotationFieldSchema,
|
|
259
|
+
actual: z.boolean().optional(),
|
|
260
|
+
inferred: z.boolean(),
|
|
261
|
+
confidence: ConfidenceLevelSchema,
|
|
262
|
+
isAmbiguous: z.boolean(),
|
|
263
|
+
reason: z.string(),
|
|
264
|
+
});
|
|
265
|
+
/**
|
|
266
|
+
* 12. AnnotationAlignedEvent - Emitted when annotations correctly match behavior.
|
|
267
|
+
*/
|
|
268
|
+
export const AnnotationAlignedEventSchema = BaseEventSchema.extend({
|
|
269
|
+
event: z.literal("annotation_aligned"),
|
|
270
|
+
tool: z.string(),
|
|
271
|
+
confidence: ConfidenceLevelSchema,
|
|
272
|
+
annotations: z
|
|
273
|
+
.object({
|
|
274
|
+
readOnlyHint: z.boolean().optional(),
|
|
275
|
+
destructiveHint: z.boolean().optional(),
|
|
276
|
+
openWorldHint: z.boolean().optional(),
|
|
277
|
+
idempotentHint: z.boolean().optional(),
|
|
278
|
+
})
|
|
279
|
+
.nullable(),
|
|
280
|
+
});
|
|
281
|
+
/**
|
|
282
|
+
* 13. AssessmentCompleteEvent - Emitted at end of assessment.
|
|
283
|
+
*/
|
|
284
|
+
export const AssessmentCompleteEventSchema = BaseEventSchema.extend({
|
|
285
|
+
event: z.literal("assessment_complete"),
|
|
286
|
+
overallStatus: z.string(),
|
|
287
|
+
totalTests: z.number().int().nonnegative(),
|
|
288
|
+
executionTime: z.number().nonnegative(),
|
|
289
|
+
outputPath: z.string(),
|
|
290
|
+
});
|
|
291
|
+
// ============================================================================
|
|
292
|
+
// Union Schema
|
|
293
|
+
// ============================================================================
|
|
294
|
+
/**
|
|
295
|
+
* Union of all JSONL event schemas.
|
|
296
|
+
* Uses z.union() with z.literal() for event type discrimination.
|
|
297
|
+
*/
|
|
298
|
+
export const JSONLEventSchema = z.union([
|
|
299
|
+
ServerConnectedEventSchema,
|
|
300
|
+
ToolDiscoveredEventSchema,
|
|
301
|
+
ToolsDiscoveryCompleteEventSchema,
|
|
302
|
+
ModulesConfiguredEventSchema,
|
|
303
|
+
ModuleStartedEventSchema,
|
|
304
|
+
TestBatchEventSchema,
|
|
305
|
+
ModuleCompleteEventSchema,
|
|
306
|
+
VulnerabilityFoundEventSchema,
|
|
307
|
+
AnnotationMissingEventSchema,
|
|
308
|
+
AnnotationMisalignedEventSchema,
|
|
309
|
+
AnnotationReviewRecommendedEventSchema,
|
|
310
|
+
AnnotationAlignedEventSchema,
|
|
311
|
+
AssessmentCompleteEventSchema,
|
|
312
|
+
]);
|
|
313
|
+
// ============================================================================
|
|
314
|
+
// Helper Functions
|
|
315
|
+
// ============================================================================
|
|
316
|
+
/**
|
|
317
|
+
* Parse a JSONL event string or object with validation.
|
|
318
|
+
*
|
|
319
|
+
* @param input - Raw JSON string or parsed object
|
|
320
|
+
* @returns Validated and typed event
|
|
321
|
+
* @throws ZodError if validation fails
|
|
322
|
+
* @throws SyntaxError if input is invalid JSON string
|
|
323
|
+
*
|
|
324
|
+
* @example
|
|
325
|
+
* ```typescript
|
|
326
|
+
* const event = parseEvent('{"event":"server_connected",...}');
|
|
327
|
+
* console.log(event.serverName);
|
|
328
|
+
* ```
|
|
329
|
+
*/
|
|
330
|
+
export function parseEvent(input) {
|
|
331
|
+
const data = typeof input === "string" ? JSON.parse(input) : input;
|
|
332
|
+
return JSONLEventSchema.parse(data);
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Safely parse a JSONL event without throwing.
|
|
336
|
+
*
|
|
337
|
+
* @param input - Raw JSON string or parsed object
|
|
338
|
+
* @returns SafeParseResult with success status and data/error
|
|
339
|
+
*
|
|
340
|
+
* @remarks
|
|
341
|
+
* JSON parse errors are converted to ZodError with code "custom" and message prefixed with "Invalid JSON:".
|
|
342
|
+
* This allows uniform error handling, but consumers should be aware that not all errors are schema validation failures.
|
|
343
|
+
*
|
|
344
|
+
* @example
|
|
345
|
+
* ```typescript
|
|
346
|
+
* const result = safeParseEvent(line);
|
|
347
|
+
* if (result.success) {
|
|
348
|
+
* console.log(result.data.event);
|
|
349
|
+
* } else {
|
|
350
|
+
* console.error(result.error);
|
|
351
|
+
* }
|
|
352
|
+
* ```
|
|
353
|
+
*/
|
|
354
|
+
export function safeParseEvent(input) {
|
|
355
|
+
try {
|
|
356
|
+
const data = typeof input === "string" ? JSON.parse(input) : input;
|
|
357
|
+
return JSONLEventSchema.safeParse(data);
|
|
358
|
+
}
|
|
359
|
+
catch (e) {
|
|
360
|
+
// JSON parse error - return as Zod-like error
|
|
361
|
+
return {
|
|
362
|
+
success: false,
|
|
363
|
+
error: new z.ZodError([
|
|
364
|
+
{
|
|
365
|
+
code: "custom",
|
|
366
|
+
path: [],
|
|
367
|
+
message: e instanceof Error ? `Invalid JSON: ${e.message}` : "Invalid JSON",
|
|
368
|
+
},
|
|
369
|
+
]),
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Validate an event and return error messages.
|
|
375
|
+
*
|
|
376
|
+
* @param input - Raw event data
|
|
377
|
+
* @returns Array of validation error messages (empty if valid)
|
|
378
|
+
*
|
|
379
|
+
* @example
|
|
380
|
+
* ```typescript
|
|
381
|
+
* const errors = validateEvent(data);
|
|
382
|
+
* if (errors.length > 0) {
|
|
383
|
+
* console.error('Validation failed:', errors);
|
|
384
|
+
* }
|
|
385
|
+
* ```
|
|
386
|
+
*/
|
|
387
|
+
export function validateEvent(input) {
|
|
388
|
+
const result = JSONLEventSchema.safeParse(input);
|
|
389
|
+
if (result.success) {
|
|
390
|
+
return [];
|
|
391
|
+
}
|
|
392
|
+
return result.error.errors.map((e) => {
|
|
393
|
+
const path = e.path.length > 0 ? `${e.path.join(".")}: ` : "";
|
|
394
|
+
return `${path}${e.message}`;
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* Type guard for specific event types.
|
|
399
|
+
*
|
|
400
|
+
* @param event - Parsed event
|
|
401
|
+
* @param eventType - Event type to check
|
|
402
|
+
* @returns True if event matches the specified type
|
|
403
|
+
*
|
|
404
|
+
* @example
|
|
405
|
+
* ```typescript
|
|
406
|
+
* const event = parseEvent(line);
|
|
407
|
+
* if (isEventType(event, 'server_connected')) {
|
|
408
|
+
* // event is narrowed to ServerConnectedEvent
|
|
409
|
+
* console.log(event.serverName);
|
|
410
|
+
* }
|
|
411
|
+
* ```
|
|
412
|
+
*/
|
|
413
|
+
export function isEventType(event, eventType) {
|
|
414
|
+
return event.event === eventType;
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Parse multiple JSONL lines with line number tracking.
|
|
418
|
+
*
|
|
419
|
+
* @param lines - Array of JSONL strings
|
|
420
|
+
* @returns Array of parse results with line numbers (1-indexed)
|
|
421
|
+
*
|
|
422
|
+
* @example
|
|
423
|
+
* ```typescript
|
|
424
|
+
* const results = parseEventLines(lines);
|
|
425
|
+
* for (const { line, result } of results) {
|
|
426
|
+
* if (!result.success) {
|
|
427
|
+
* console.error(`Line ${line}: ${result.error.message}`);
|
|
428
|
+
* }
|
|
429
|
+
* }
|
|
430
|
+
* ```
|
|
431
|
+
*/
|
|
432
|
+
export function parseEventLines(lines) {
|
|
433
|
+
return lines.map((lineContent, index) => ({
|
|
434
|
+
line: index + 1,
|
|
435
|
+
result: safeParseEvent(lineContent),
|
|
436
|
+
}));
|
|
437
|
+
}
|
|
@@ -20,7 +20,7 @@ export interface ProgressCallback {
|
|
|
20
20
|
* Union type for all progress events emitted during assessment.
|
|
21
21
|
* @public
|
|
22
22
|
*/
|
|
23
|
-
export type ProgressEvent = ModuleStartedProgress | TestBatchProgress | ModuleCompleteProgress | VulnerabilityFoundProgress | AnnotationMissingProgress | AnnotationMisalignedProgress | AnnotationReviewRecommendedProgress | AnnotationPoisonedProgress | AnnotationAlignedProgress;
|
|
23
|
+
export type ProgressEvent = ModuleStartedProgress | TestBatchProgress | ModuleCompleteProgress | VulnerabilityFoundProgress | AnnotationMissingProgress | AnnotationMisalignedProgress | AnnotationReviewRecommendedProgress | AnnotationPoisonedProgress | AnnotationAlignedProgress | ToolTestCompleteProgress | ValidationSummaryProgress | PhaseStartedProgress | PhaseCompleteProgress;
|
|
24
24
|
/**
|
|
25
25
|
* Emitted when an assessment module begins execution.
|
|
26
26
|
* @public
|
|
@@ -170,4 +170,52 @@ export interface AnnotationAlignedProgress {
|
|
|
170
170
|
idempotentHint?: boolean;
|
|
171
171
|
};
|
|
172
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Emitted after all tests for a single tool complete.
|
|
175
|
+
* Provides per-tool summary for real-time progress in auditor UI.
|
|
176
|
+
* @public
|
|
177
|
+
*/
|
|
178
|
+
export interface ToolTestCompleteProgress {
|
|
179
|
+
type: "tool_test_complete";
|
|
180
|
+
tool: string;
|
|
181
|
+
module: string;
|
|
182
|
+
scenariosPassed: number;
|
|
183
|
+
scenariosExecuted: number;
|
|
184
|
+
confidence: "high" | "medium" | "low";
|
|
185
|
+
status: "PASS" | "FAIL" | "ERROR";
|
|
186
|
+
executionTime: number;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Emitted with per-tool input validation metrics.
|
|
190
|
+
* Tracks how tools handle invalid inputs (wrong types, missing required, etc.)
|
|
191
|
+
* @public
|
|
192
|
+
*/
|
|
193
|
+
export interface ValidationSummaryProgress {
|
|
194
|
+
type: "validation_summary";
|
|
195
|
+
tool: string;
|
|
196
|
+
wrongType: number;
|
|
197
|
+
missingRequired: number;
|
|
198
|
+
extraParams: number;
|
|
199
|
+
nullValues: number;
|
|
200
|
+
invalidValues: number;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Emitted when an assessment phase begins.
|
|
204
|
+
* Used for high-level progress tracking (discovery, assessment, analysis).
|
|
205
|
+
* @public
|
|
206
|
+
*/
|
|
207
|
+
export interface PhaseStartedProgress {
|
|
208
|
+
type: "phase_started";
|
|
209
|
+
phase: string;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Emitted when an assessment phase completes.
|
|
213
|
+
* Includes duration for performance tracking.
|
|
214
|
+
* @public
|
|
215
|
+
*/
|
|
216
|
+
export interface PhaseCompleteProgress {
|
|
217
|
+
type: "phase_complete";
|
|
218
|
+
phase: string;
|
|
219
|
+
duration: number;
|
|
220
|
+
}
|
|
173
221
|
//# sourceMappingURL=progressTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progressTypes.d.ts","sourceRoot":"","sources":["../../../src/lib/assessment/progressTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEzE;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GACrB,qBAAqB,GACrB,iBAAiB,GACjB,sBAAsB,GACtB,0BAA0B,GAC1B,yBAAyB,GACzB,4BAA4B,GAC5B,mCAAmC,GACnC,0BAA0B,GAC1B,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"progressTypes.d.ts","sourceRoot":"","sources":["../../../src/lib/assessment/progressTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @public
|
|
6
6
|
* @module AssessmentOrchestrator
|
|
7
7
|
*/
|
|
8
|
-
import { MCPDirectoryAssessment, AssessmentConfiguration, ManifestJsonSchema, ProgressCallback, ServerInfo } from "../../lib/assessmentTypes.js";
|
|
8
|
+
import { MCPDirectoryAssessment, AssessmentConfiguration, ManifestJsonSchema, ProgressCallback, ServerInfo, PackageJson } from "../../lib/assessmentTypes.js";
|
|
9
9
|
import { Tool, CompatibilityCallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
10
10
|
import { ClaudeCodeBridge, ClaudeCodeBridgeConfig } from "./lib/claudeCodeBridge.js";
|
|
11
11
|
/**
|
|
@@ -68,7 +68,7 @@ export interface AssessmentContext {
|
|
|
68
68
|
tools: Tool[];
|
|
69
69
|
callTool: (name: string, params: Record<string, unknown>) => Promise<CompatibilityCallToolResult>;
|
|
70
70
|
readmeContent?: string;
|
|
71
|
-
packageJson?:
|
|
71
|
+
packageJson?: PackageJson;
|
|
72
72
|
packageLock?: unknown;
|
|
73
73
|
privacyPolicy?: unknown;
|
|
74
74
|
config: AssessmentConfiguration;
|
|
@@ -149,7 +149,7 @@ export declare class AssessmentOrchestrator {
|
|
|
149
149
|
* @public
|
|
150
150
|
* @deprecated Use runFullAssessment() with AssessmentContext instead
|
|
151
151
|
*/
|
|
152
|
-
assess(serverName: string, tools: Tool[], callTool: (name: string, params: Record<string, unknown>) => Promise<CompatibilityCallToolResult>, serverInfo?: ServerInfo, readmeContent?: string, packageJson?:
|
|
152
|
+
assess(serverName: string, tools: Tool[], callTool: (name: string, params: Record<string, unknown>) => Promise<CompatibilityCallToolResult>, serverInfo?: ServerInfo, readmeContent?: string, packageJson?: PackageJson): Promise<MCPDirectoryAssessment>;
|
|
153
153
|
private collectTotalTestCount;
|
|
154
154
|
/**
|
|
155
155
|
* Get assessment configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssessmentOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/services/assessment/AssessmentOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EAEvB,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,
|
|
1
|
+
{"version":3,"file":"AssessmentOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/services/assessment/AssessmentOrchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,46 @@ export interface TestScenario {
|
|
|
23
23
|
export declare class TestDataGenerator {
|
|
24
24
|
private static claudeBridge;
|
|
25
25
|
private static logger;
|
|
26
|
+
/**
|
|
27
|
+
* Re-exported REALISTIC_DATA for backward compatibility.
|
|
28
|
+
* Data is now defined in ./testdata/realistic-values.ts
|
|
29
|
+
* Accessed via (TestDataGenerator as any).REALISTIC_DATA in tests.
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
protected static readonly REALISTIC_DATA: {
|
|
33
|
+
readonly urls: readonly ["https://www.google.com", "https://api.github.com/users/octocat", "https://jsonplaceholder.typicode.com/posts/1", "https://httpbin.org/get", "https://example.com", "https://www.wikipedia.org", "https://api.openweathermap.org/data/2.5/weather?q=London"];
|
|
34
|
+
readonly emails: readonly ["admin@example.com", "support@example.com", "info@example.com", "test@test.com", "user@domain.com", "noreply@example.com", "hello@world.com"];
|
|
35
|
+
readonly names: readonly ["Default", "Admin", "Test User", "Sample Item", "Example Project", "Demo Application", "Main"];
|
|
36
|
+
readonly ids: readonly ["1", "123", "550e8400-e29b-41d4-a716-446655440000", "default", "main", "264051cd-48ab-80ff-864e-d1aa9bc41429", "00000000-0000-0000-0000-000000000000", "admin", "user1"];
|
|
37
|
+
readonly paths: readonly ["/tmp/test.txt", "/home", "./README.md", "./package.json", "./src", "./test", "./config", "/var/log", "/etc"];
|
|
38
|
+
readonly queries: readonly ["test", "hello", "*", "name", "id:1", "status:active", "type:user", "limit:10", "{\"match_all\": {}}"];
|
|
39
|
+
readonly numbers: readonly [0, 1, 10, 100, 1000, 5, 50, 200, 404, 500];
|
|
40
|
+
readonly booleans: readonly [true, false];
|
|
41
|
+
readonly jsonObjects: readonly [{
|
|
42
|
+
readonly message: "Hello World";
|
|
43
|
+
}, {
|
|
44
|
+
readonly status: "ok";
|
|
45
|
+
readonly code: 200;
|
|
46
|
+
}, {
|
|
47
|
+
readonly data: readonly [];
|
|
48
|
+
readonly total: 0;
|
|
49
|
+
}, {
|
|
50
|
+
readonly id: 1;
|
|
51
|
+
readonly name: "Test";
|
|
52
|
+
}, {
|
|
53
|
+
readonly success: true;
|
|
54
|
+
}, {
|
|
55
|
+
readonly error: false;
|
|
56
|
+
}, {
|
|
57
|
+
readonly results: readonly [];
|
|
58
|
+
}, {}];
|
|
59
|
+
readonly arrays: readonly [readonly [], readonly [1], readonly ["a", "b", "c"], readonly [1, 2, 3], readonly [{
|
|
60
|
+
readonly id: 1;
|
|
61
|
+
}, {
|
|
62
|
+
readonly id: 2;
|
|
63
|
+
}], readonly ["test"], readonly [true, false]];
|
|
64
|
+
readonly timestamps: string[];
|
|
65
|
+
};
|
|
26
66
|
/**
|
|
27
67
|
* Set the Claude Code bridge for intelligent test generation
|
|
28
68
|
* Call this once during initialization if Claude integration is enabled
|
|
@@ -37,7 +77,6 @@ export declare class TestDataGenerator {
|
|
|
37
77
|
* Check if Claude Code integration is available and enabled
|
|
38
78
|
*/
|
|
39
79
|
static isClaudeEnabled(): boolean;
|
|
40
|
-
private static readonly REALISTIC_DATA;
|
|
41
80
|
/**
|
|
42
81
|
* Generate multiple test scenarios for a tool
|
|
43
82
|
* Uses Claude Code if available for intelligent generation,
|
|
@@ -94,15 +133,10 @@ export declare class TestDataGenerator {
|
|
|
94
133
|
*/
|
|
95
134
|
private static generateValueFromSchema;
|
|
96
135
|
/**
|
|
97
|
-
*
|
|
98
|
-
*
|
|
136
|
+
* Re-exported TOOL_CATEGORY_DATA for backward compatibility.
|
|
137
|
+
* Data is now defined in ./testdata/tool-category-data.ts
|
|
99
138
|
*/
|
|
100
139
|
static readonly TOOL_CATEGORY_DATA: Record<string, Record<string, string[]>>;
|
|
101
|
-
/**
|
|
102
|
-
* Field names that indicate specific data types regardless of tool category.
|
|
103
|
-
* These take precedence over category-specific generation.
|
|
104
|
-
*/
|
|
105
|
-
private static readonly SPECIFIC_FIELD_PATTERNS;
|
|
106
140
|
/**
|
|
107
141
|
* Generate a value using tool category as hint.
|
|
108
142
|
* For specific field names (url, email, path, etc.), uses field-name detection.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestDataGenerator.d.ts","sourceRoot":"","sources":["../../../src/services/assessment/TestDataGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"TestDataGenerator.d.ts","sourceRoot":"","sources":["../../../src/services/assessment/TestDataGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAOpD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,CAAC;IACjE,MAAM,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAAC;CAC9C;AAED,qBAAa,iBAAiB;IAE5B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAiC;IAE5D,OAAO,CAAC,MAAM,CAAC,MAAM,CAAuB;IAE5C;;;;;OAKG;IACH,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAkB;IAE1D;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI;IAI7D;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAI7C;;OAEG;IACH,MAAM,CAAC,eAAe,IAAI,OAAO;IAOjC;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,EAAE;IAoBxD;;;OAGG;WACU,0BAA0B,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAmD5E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAWpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAaxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAYxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAwCxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IA2FxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAgDpC;;OAEG;WACW,uBAAuB,CACnC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GACnD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAoB1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IA4SrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAgB9B;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO;IAI3E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAsDtC;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,kBAAkB,2CAAsB;IAExD;;;;;;;;;;OAUG;IACH,MAAM,CAAC,wBAAwB,CAC7B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,EAAE,MAAM,GACf,OAAO;CAoBX"}
|