@bryan-thompson/inspector-assessment 1.5.0 → 1.7.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.
Files changed (77) hide show
  1. package/cli/build/assess-full.js +528 -0
  2. package/cli/build/assess-security.js +342 -0
  3. package/cli/build/cli.js +10 -1
  4. package/client/dist/assets/{OAuthCallback-TeTvKfWE.js → OAuthCallback-Xo9zS7pv.js} +1 -1
  5. package/client/dist/assets/{OAuthDebugCallback-DwA2sKy9.js → OAuthDebugCallback-CaIey8K_.js} +1 -1
  6. package/client/dist/assets/{index-BwAoxcvr.js → index-nCPw6E-c.js} +4 -4
  7. package/client/dist/index.html +1 -1
  8. package/client/lib/lib/assessmentTypes.d.ts +670 -0
  9. package/client/lib/lib/assessmentTypes.d.ts.map +1 -0
  10. package/client/lib/lib/assessmentTypes.js +220 -0
  11. package/client/lib/lib/aupPatterns.d.ts +63 -0
  12. package/client/lib/lib/aupPatterns.d.ts.map +1 -0
  13. package/client/lib/lib/aupPatterns.js +344 -0
  14. package/client/lib/lib/prohibitedLibraries.d.ts +76 -0
  15. package/client/lib/lib/prohibitedLibraries.d.ts.map +1 -0
  16. package/client/lib/lib/prohibitedLibraries.js +364 -0
  17. package/client/lib/lib/securityPatterns.d.ts +64 -0
  18. package/client/lib/lib/securityPatterns.d.ts.map +1 -0
  19. package/client/lib/lib/securityPatterns.js +453 -0
  20. package/client/lib/services/assessment/AssessmentOrchestrator.d.ts +88 -0
  21. package/client/lib/services/assessment/AssessmentOrchestrator.d.ts.map +1 -0
  22. package/client/lib/services/assessment/AssessmentOrchestrator.js +418 -0
  23. package/client/lib/services/assessment/ResponseValidator.d.ts +69 -0
  24. package/client/lib/services/assessment/ResponseValidator.d.ts.map +1 -0
  25. package/client/lib/services/assessment/ResponseValidator.js +1038 -0
  26. package/client/lib/services/assessment/TestDataGenerator.d.ts +86 -0
  27. package/client/lib/services/assessment/TestDataGenerator.d.ts.map +1 -0
  28. package/client/lib/services/assessment/TestDataGenerator.js +669 -0
  29. package/client/lib/services/assessment/TestScenarioEngine.d.ts +91 -0
  30. package/client/lib/services/assessment/TestScenarioEngine.d.ts.map +1 -0
  31. package/client/lib/services/assessment/TestScenarioEngine.js +505 -0
  32. package/client/lib/services/assessment/ToolClassifier.d.ts +61 -0
  33. package/client/lib/services/assessment/ToolClassifier.d.ts.map +1 -0
  34. package/client/lib/services/assessment/ToolClassifier.js +349 -0
  35. package/client/lib/services/assessment/lib/claudeCodeBridge.d.ts +160 -0
  36. package/client/lib/services/assessment/lib/claudeCodeBridge.d.ts.map +1 -0
  37. package/client/lib/services/assessment/lib/claudeCodeBridge.js +357 -0
  38. package/client/lib/services/assessment/modules/AUPComplianceAssessor.d.ts +100 -0
  39. package/client/lib/services/assessment/modules/AUPComplianceAssessor.d.ts.map +1 -0
  40. package/client/lib/services/assessment/modules/AUPComplianceAssessor.js +474 -0
  41. package/client/lib/services/assessment/modules/BaseAssessor.d.ts +71 -0
  42. package/client/lib/services/assessment/modules/BaseAssessor.d.ts.map +1 -0
  43. package/client/lib/services/assessment/modules/BaseAssessor.js +171 -0
  44. package/client/lib/services/assessment/modules/DocumentationAssessor.d.ts +45 -0
  45. package/client/lib/services/assessment/modules/DocumentationAssessor.d.ts.map +1 -0
  46. package/client/lib/services/assessment/modules/DocumentationAssessor.js +355 -0
  47. package/client/lib/services/assessment/modules/ErrorHandlingAssessor.d.ts +25 -0
  48. package/client/lib/services/assessment/modules/ErrorHandlingAssessor.d.ts.map +1 -0
  49. package/client/lib/services/assessment/modules/ErrorHandlingAssessor.js +564 -0
  50. package/client/lib/services/assessment/modules/FunctionalityAssessor.d.ts +20 -0
  51. package/client/lib/services/assessment/modules/FunctionalityAssessor.d.ts.map +1 -0
  52. package/client/lib/services/assessment/modules/FunctionalityAssessor.js +253 -0
  53. package/client/lib/services/assessment/modules/MCPSpecComplianceAssessor.d.ts +70 -0
  54. package/client/lib/services/assessment/modules/MCPSpecComplianceAssessor.d.ts.map +1 -0
  55. package/client/lib/services/assessment/modules/MCPSpecComplianceAssessor.js +508 -0
  56. package/client/lib/services/assessment/modules/ManifestValidationAssessor.d.ts +70 -0
  57. package/client/lib/services/assessment/modules/ManifestValidationAssessor.d.ts.map +1 -0
  58. package/client/lib/services/assessment/modules/ManifestValidationAssessor.js +430 -0
  59. package/client/lib/services/assessment/modules/PortabilityAssessor.d.ts +43 -0
  60. package/client/lib/services/assessment/modules/PortabilityAssessor.d.ts.map +1 -0
  61. package/client/lib/services/assessment/modules/PortabilityAssessor.js +347 -0
  62. package/client/lib/services/assessment/modules/ProhibitedLibrariesAssessor.d.ts +41 -0
  63. package/client/lib/services/assessment/modules/ProhibitedLibrariesAssessor.d.ts.map +1 -0
  64. package/client/lib/services/assessment/modules/ProhibitedLibrariesAssessor.js +256 -0
  65. package/client/lib/services/assessment/modules/SecurityAssessor.d.ts +176 -0
  66. package/client/lib/services/assessment/modules/SecurityAssessor.d.ts.map +1 -0
  67. package/client/lib/services/assessment/modules/SecurityAssessor.js +1333 -0
  68. package/client/lib/services/assessment/modules/ToolAnnotationAssessor.d.ts +96 -0
  69. package/client/lib/services/assessment/modules/ToolAnnotationAssessor.d.ts.map +1 -0
  70. package/client/lib/services/assessment/modules/ToolAnnotationAssessor.js +593 -0
  71. package/client/lib/services/assessment/modules/UsabilityAssessor.d.ts +21 -0
  72. package/client/lib/services/assessment/modules/UsabilityAssessor.d.ts.map +1 -0
  73. package/client/lib/services/assessment/modules/UsabilityAssessor.js +241 -0
  74. package/client/lib/services/assessment/modules/index.d.ts +33 -0
  75. package/client/lib/services/assessment/modules/index.d.ts.map +1 -0
  76. package/client/lib/services/assessment/modules/index.js +35 -0
  77. package/package.json +7 -2
@@ -0,0 +1,670 @@
1
+ /**
2
+ * MCP Directory Review Assessment Types
3
+ * Based on Anthropic's 5 core requirements for MCP directory submission
4
+ */
5
+ export type AssessmentStatus = "PASS" | "FAIL" | "NEED_MORE_INFO";
6
+ export type SecurityRiskLevel = "LOW" | "MEDIUM" | "HIGH";
7
+ export interface ToolTestResult {
8
+ toolName: string;
9
+ tested: boolean;
10
+ status: "working" | "broken" | "untested";
11
+ error?: string;
12
+ executionTime?: number;
13
+ testParameters?: Record<string, unknown>;
14
+ response?: unknown;
15
+ }
16
+ export interface EnhancedToolTestResult {
17
+ toolName: string;
18
+ tested: boolean;
19
+ status: "fully_working" | "partially_working" | "connectivity_only" | "broken" | "untested";
20
+ confidence: number;
21
+ scenariosExecuted: number;
22
+ scenariosPassed: number;
23
+ scenariosFailed: number;
24
+ executionTime: number;
25
+ validationSummary: {
26
+ happyPathSuccess: boolean;
27
+ edgeCasesHandled: number;
28
+ edgeCasesTotal: number;
29
+ boundariesRespected: number;
30
+ boundariesTotal: number;
31
+ errorHandlingWorks: boolean;
32
+ };
33
+ recommendations: string[];
34
+ detailedResults?: Array<{
35
+ scenarioName: string;
36
+ category: "happy_path" | "edge_case" | "boundary" | "error_case";
37
+ passed: boolean;
38
+ confidence: number;
39
+ issues: string[];
40
+ evidence: string[];
41
+ }>;
42
+ }
43
+ export interface SecurityTestResult {
44
+ testName: string;
45
+ description: string;
46
+ payload: string;
47
+ vulnerable: boolean;
48
+ evidence?: string;
49
+ riskLevel: SecurityRiskLevel;
50
+ toolName?: string;
51
+ response?: string;
52
+ confidence?: "high" | "medium" | "low";
53
+ requiresManualReview?: boolean;
54
+ manualReviewReason?: string;
55
+ reviewGuidance?: string;
56
+ connectionError?: boolean;
57
+ errorType?: "connection" | "server" | "protocol";
58
+ testReliability?: "completed" | "failed" | "retried";
59
+ }
60
+ export interface CodeExample {
61
+ code: string;
62
+ language?: string;
63
+ description?: string;
64
+ lineNumber?: number;
65
+ }
66
+ export interface DocumentationMetrics {
67
+ hasReadme: boolean;
68
+ exampleCount: number;
69
+ requiredExamples: number;
70
+ missingExamples: string[];
71
+ hasInstallInstructions: boolean;
72
+ hasUsageGuide: boolean;
73
+ hasAPIReference: boolean;
74
+ extractedExamples?: CodeExample[];
75
+ installInstructions?: string;
76
+ usageInstructions?: string;
77
+ }
78
+ export interface ErrorTestDetail {
79
+ toolName: string;
80
+ testType: string;
81
+ testInput: Record<string, unknown>;
82
+ testDescription?: string;
83
+ expectedError: string;
84
+ actualResponse: {
85
+ isError: boolean;
86
+ errorCode?: string | number;
87
+ errorMessage?: string;
88
+ rawResponse: unknown;
89
+ };
90
+ passed: boolean;
91
+ reason?: string;
92
+ }
93
+ export interface ErrorHandlingMetrics {
94
+ mcpComplianceScore: number;
95
+ errorResponseQuality: "excellent" | "good" | "fair" | "poor";
96
+ hasProperErrorCodes: boolean;
97
+ hasDescriptiveMessages: boolean;
98
+ validatesInputs: boolean;
99
+ validationCoverage?: {
100
+ wrongType: number;
101
+ wrongTypeCount?: {
102
+ passed: number;
103
+ total: number;
104
+ };
105
+ extraParams: number;
106
+ extraParamsCount?: {
107
+ passed: number;
108
+ total: number;
109
+ };
110
+ missingRequired: number;
111
+ missingRequiredCount?: {
112
+ passed: number;
113
+ total: number;
114
+ };
115
+ nullValues: number;
116
+ nullValuesCount?: {
117
+ passed: number;
118
+ total: number;
119
+ };
120
+ totalTests: number;
121
+ overallPassRate?: number;
122
+ };
123
+ testDetails?: ErrorTestDetail[];
124
+ }
125
+ export interface UsabilityMetrics {
126
+ toolNamingConvention: "consistent" | "inconsistent";
127
+ parameterClarity: "clear" | "unclear" | "mixed";
128
+ hasHelpfulDescriptions: boolean;
129
+ followsBestPractices: boolean;
130
+ detailedAnalysis?: {
131
+ tools: Array<{
132
+ toolName: string;
133
+ namingPattern: string;
134
+ description?: string;
135
+ descriptionLength: number;
136
+ hasDescription: boolean;
137
+ parameterCount: number;
138
+ hasRequiredParams: boolean;
139
+ hasSchema: boolean;
140
+ schemaQuality: string;
141
+ parameters?: Array<{
142
+ name: string;
143
+ type?: string;
144
+ required: boolean;
145
+ description?: string;
146
+ hasDescription: boolean;
147
+ }>;
148
+ }>;
149
+ naming: {
150
+ patterns: string[];
151
+ breakdown: Record<string, number>;
152
+ dominant: string;
153
+ };
154
+ descriptions: {
155
+ withDescriptions: number;
156
+ withoutDescriptions: number;
157
+ averageLength: number;
158
+ tooShort: Array<{
159
+ toolName: string;
160
+ namingPattern: string;
161
+ description?: string;
162
+ descriptionLength: number;
163
+ hasDescription: boolean;
164
+ parameterCount: number;
165
+ hasRequiredParams: boolean;
166
+ hasSchema: boolean;
167
+ schemaQuality: string;
168
+ parameters?: Array<{
169
+ name: string;
170
+ type?: string;
171
+ required: boolean;
172
+ description?: string;
173
+ hasDescription: boolean;
174
+ }>;
175
+ }>;
176
+ adequate: Array<{
177
+ toolName: string;
178
+ namingPattern: string;
179
+ description?: string;
180
+ descriptionLength: number;
181
+ hasDescription: boolean;
182
+ parameterCount: number;
183
+ hasRequiredParams: boolean;
184
+ hasSchema: boolean;
185
+ schemaQuality: string;
186
+ parameters?: Array<{
187
+ name: string;
188
+ type?: string;
189
+ required: boolean;
190
+ description?: string;
191
+ hasDescription: boolean;
192
+ }>;
193
+ }>;
194
+ detailed: Array<{
195
+ toolName: string;
196
+ namingPattern: string;
197
+ description?: string;
198
+ descriptionLength: number;
199
+ hasDescription: boolean;
200
+ parameterCount: number;
201
+ hasRequiredParams: boolean;
202
+ hasSchema: boolean;
203
+ schemaQuality: string;
204
+ parameters?: Array<{
205
+ name: string;
206
+ type?: string;
207
+ required: boolean;
208
+ description?: string;
209
+ hasDescription: boolean;
210
+ }>;
211
+ }>;
212
+ };
213
+ parameterIssues: string[];
214
+ bestPracticeScore: {
215
+ naming: number;
216
+ descriptions: number;
217
+ schemas: number;
218
+ clarity: number;
219
+ total: number;
220
+ };
221
+ overallScore: number;
222
+ };
223
+ }
224
+ export interface FunctionalityAssessment {
225
+ totalTools: number;
226
+ testedTools: number;
227
+ workingTools: number;
228
+ brokenTools: string[];
229
+ coveragePercentage: number;
230
+ status: AssessmentStatus;
231
+ explanation: string;
232
+ toolResults: ToolTestResult[];
233
+ }
234
+ export interface SecurityAssessment {
235
+ promptInjectionTests: SecurityTestResult[];
236
+ vulnerabilities: string[];
237
+ overallRiskLevel: SecurityRiskLevel;
238
+ status: AssessmentStatus;
239
+ explanation: string;
240
+ }
241
+ export interface DocumentationAssessment {
242
+ metrics: DocumentationMetrics;
243
+ status: AssessmentStatus;
244
+ explanation: string;
245
+ recommendations: string[];
246
+ }
247
+ export interface ErrorHandlingAssessment {
248
+ metrics: ErrorHandlingMetrics;
249
+ status: AssessmentStatus;
250
+ explanation: string;
251
+ recommendations: string[];
252
+ }
253
+ export interface UsabilityAssessment {
254
+ metrics: UsabilityMetrics;
255
+ status: AssessmentStatus;
256
+ explanation: string;
257
+ recommendations: string[];
258
+ }
259
+ export interface StructuredRecommendation {
260
+ id: string;
261
+ title: string;
262
+ severity: "critical" | "warning" | "enhancement";
263
+ confidence: "high" | "medium" | "low";
264
+ detectionMethod: "automated" | "manual-required";
265
+ category: string;
266
+ description: string;
267
+ requiresManualVerification: boolean;
268
+ manualVerificationSteps?: string[];
269
+ contextNote?: string;
270
+ actionItems: string[];
271
+ }
272
+ /**
273
+ * Individual protocol check result with evidence
274
+ */
275
+ export interface ProtocolCheckResult {
276
+ passed: boolean;
277
+ confidence: "high" | "medium" | "low";
278
+ evidence?: string;
279
+ warnings?: string[];
280
+ rawResponse?: unknown;
281
+ }
282
+ /**
283
+ * Protocol checks that are actually tested via MCP calls
284
+ * HIGH CONFIDENCE - these are verified through actual protocol interaction
285
+ */
286
+ export interface ProtocolChecks {
287
+ jsonRpcCompliance: ProtocolCheckResult;
288
+ serverInfoValidity: ProtocolCheckResult;
289
+ schemaCompliance: ProtocolCheckResult;
290
+ errorResponseCompliance: ProtocolCheckResult;
291
+ structuredOutputSupport: ProtocolCheckResult;
292
+ }
293
+ /**
294
+ * Metadata-based hints parsed from serverInfo
295
+ * LOW CONFIDENCE - these are NOT tested, just parsed from metadata
296
+ */
297
+ export interface MetadataHints {
298
+ confidence: "low";
299
+ requiresManualVerification: true;
300
+ transportHints?: {
301
+ detectedTransport?: string;
302
+ supportsStdio: boolean;
303
+ supportsHTTP: boolean;
304
+ supportsSSE: boolean;
305
+ detectionMethod: "metadata" | "assumed";
306
+ };
307
+ oauthHints?: {
308
+ hasOAuthConfig: boolean;
309
+ supportsOAuth: boolean;
310
+ supportsPKCE: boolean;
311
+ resourceIndicators?: string[];
312
+ };
313
+ annotationHints?: {
314
+ supportsReadOnlyHint: boolean;
315
+ supportsDestructiveHint: boolean;
316
+ supportsTitleAnnotation: boolean;
317
+ customAnnotations?: string[];
318
+ };
319
+ streamingHints?: {
320
+ supportsStreaming: boolean;
321
+ streamingProtocol?: "http-streaming" | "sse" | "websocket";
322
+ };
323
+ manualVerificationSteps: string[];
324
+ }
325
+ /**
326
+ * MCP Spec Compliance Assessment - Hybrid Structure
327
+ * Clearly separates verified protocol checks from unverified metadata hints
328
+ */
329
+ export interface MCPSpecComplianceAssessment {
330
+ protocolVersion: string;
331
+ protocolChecks: ProtocolChecks;
332
+ metadataHints?: MetadataHints;
333
+ status: AssessmentStatus;
334
+ complianceScore: number;
335
+ explanation: string;
336
+ recommendations: string[];
337
+ /** @deprecated Use protocolChecks and metadataHints instead */
338
+ transportCompliance?: TransportComplianceMetrics;
339
+ /** @deprecated Use metadataHints.oauthHints instead */
340
+ oauthImplementation?: OAuthComplianceMetrics;
341
+ /** @deprecated Use metadataHints.annotationHints instead */
342
+ annotationSupport?: AnnotationSupportMetrics;
343
+ /** @deprecated Use metadataHints.streamingHints instead */
344
+ streamingSupport?: StreamingSupportMetrics;
345
+ }
346
+ export interface TransportComplianceMetrics {
347
+ supportsStreamableHTTP: boolean;
348
+ deprecatedSSE: boolean;
349
+ transportValidation: "passed" | "failed" | "partial";
350
+ errors?: string[];
351
+ supportsStdio?: boolean;
352
+ supportsSSE?: boolean;
353
+ confidence?: "high" | "medium" | "low";
354
+ detectionMethod?: "automated" | "manual-required";
355
+ requiresManualCheck?: boolean;
356
+ manualVerificationSteps?: string[];
357
+ }
358
+ export interface OAuthComplianceMetrics {
359
+ implementsResourceServer: boolean;
360
+ supportsRFC8707: boolean;
361
+ resourceIndicators: string[];
362
+ tokenValidation: boolean;
363
+ scopeEnforcement: boolean;
364
+ errors?: string[];
365
+ supportsOAuth?: boolean;
366
+ supportsPKCE?: boolean;
367
+ }
368
+ export interface AnnotationSupportMetrics {
369
+ supportsReadOnlyHint: boolean;
370
+ supportsDestructiveHint: boolean;
371
+ supportsTitleAnnotation: boolean;
372
+ customAnnotations?: string[];
373
+ }
374
+ export interface StreamingSupportMetrics {
375
+ supportsStreaming: boolean;
376
+ streamingProtocol?: "http-streaming" | "sse" | "websocket";
377
+ performanceMetrics?: {
378
+ latency: number;
379
+ throughput: number;
380
+ };
381
+ }
382
+ export interface DependencyAnalysis {
383
+ totalDependencies: number;
384
+ directDependencies: number;
385
+ transitiveDependencies: number;
386
+ outdatedPackages: number;
387
+ abandonedPackages: number;
388
+ riskyLicenses: string[];
389
+ licenseCompliance?: boolean;
390
+ }
391
+ export interface VulnerabilityReport {
392
+ packageName: string;
393
+ version: string;
394
+ vulnerability: string;
395
+ severity: "CRITICAL" | "HIGH" | "MEDIUM" | "LOW";
396
+ cve?: string;
397
+ fixAvailable: boolean;
398
+ fixVersion?: string;
399
+ package?: string;
400
+ }
401
+ export interface SoftwareBillOfMaterials {
402
+ format: "SPDX" | "CycloneDX";
403
+ components: number;
404
+ licenses: string[];
405
+ attestations?: string[];
406
+ }
407
+ export interface PackageIntegrityMetrics {
408
+ signedPackages: number;
409
+ verifiedPublishers: number;
410
+ integrityChecksPassed: boolean;
411
+ integrityScore: number;
412
+ squattingRisk: "HIGH" | "MEDIUM" | "LOW";
413
+ }
414
+ export interface RuntimeTestResult {
415
+ testName: string;
416
+ category: "memory" | "filesystem" | "network" | "process";
417
+ passed: boolean;
418
+ findings?: string[];
419
+ severity?: SecurityRiskLevel;
420
+ }
421
+ export interface FuzzingReport {
422
+ totalInputsTested: number;
423
+ crashesFound: number;
424
+ hangsDetected: number;
425
+ memoryLeaks: number;
426
+ unexpectedBehaviors: string[];
427
+ coveragePercentage: number;
428
+ passed: number;
429
+ failed: number;
430
+ }
431
+ export interface SandboxTestResult {
432
+ escapeTechnique: string;
433
+ successful: boolean;
434
+ containmentLevel: "full" | "partial" | "none";
435
+ details?: string;
436
+ }
437
+ export interface BehaviorAnalysisReport {
438
+ suspiciousBehaviors: string[];
439
+ networkConnections: string[];
440
+ fileSystemAccess: string[];
441
+ processSpawning: boolean;
442
+ anomalyScore: number;
443
+ }
444
+ export interface MCPDirectoryAssessment {
445
+ serverName: string;
446
+ assessmentDate: string;
447
+ assessorVersion: string;
448
+ functionality: FunctionalityAssessment;
449
+ security: SecurityAssessment;
450
+ documentation: DocumentationAssessment;
451
+ errorHandling: ErrorHandlingAssessment;
452
+ usability: UsabilityAssessment;
453
+ mcpSpecCompliance?: MCPSpecComplianceAssessment;
454
+ aupCompliance?: AUPComplianceAssessment;
455
+ toolAnnotations?: ToolAnnotationAssessment;
456
+ prohibitedLibraries?: ProhibitedLibrariesAssessment;
457
+ manifestValidation?: ManifestValidationAssessment;
458
+ portability?: PortabilityAssessment;
459
+ overallStatus: AssessmentStatus;
460
+ summary: string;
461
+ recommendations: string[];
462
+ executionTime: number;
463
+ totalTestsRun: number;
464
+ evidenceFiles?: string[];
465
+ mcpProtocolVersion?: string;
466
+ }
467
+ /**
468
+ * AUP (Acceptable Use Policy) Compliance Types
469
+ * Based on Anthropic's 14 AUP categories (A-N)
470
+ */
471
+ export type AUPCategory = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N";
472
+ export type AUPSeverity = "CRITICAL" | "HIGH" | "MEDIUM" | "FLAG";
473
+ export interface AUPViolation {
474
+ category: AUPCategory;
475
+ categoryName: string;
476
+ severity: AUPSeverity;
477
+ pattern: string;
478
+ matchedText: string;
479
+ location: "tool_name" | "tool_description" | "readme" | "source_code";
480
+ filePath?: string;
481
+ lineNumber?: number;
482
+ confidence: "high" | "medium" | "low";
483
+ requiresHumanReview: boolean;
484
+ reviewGuidance?: string;
485
+ }
486
+ export interface AUPComplianceAssessment {
487
+ violations: AUPViolation[];
488
+ highRiskDomains: string[];
489
+ scannedLocations: {
490
+ toolNames: boolean;
491
+ toolDescriptions: boolean;
492
+ readme: boolean;
493
+ sourceCode: boolean;
494
+ };
495
+ status: AssessmentStatus;
496
+ explanation: string;
497
+ recommendations: string[];
498
+ }
499
+ /**
500
+ * Tool Annotation Types (Policy #17)
501
+ * Verifies readOnlyHint, destructiveHint presence
502
+ */
503
+ export interface ToolAnnotationResult {
504
+ toolName: string;
505
+ hasAnnotations: boolean;
506
+ annotations?: {
507
+ readOnlyHint?: boolean;
508
+ destructiveHint?: boolean;
509
+ title?: string;
510
+ description?: string;
511
+ idempotentHint?: boolean;
512
+ openWorldHint?: boolean;
513
+ };
514
+ inferredBehavior?: {
515
+ expectedReadOnly: boolean;
516
+ expectedDestructive: boolean;
517
+ reason: string;
518
+ };
519
+ issues: string[];
520
+ recommendations: string[];
521
+ }
522
+ export interface ToolAnnotationAssessment {
523
+ toolResults: ToolAnnotationResult[];
524
+ annotatedCount: number;
525
+ missingAnnotationsCount: number;
526
+ misalignedAnnotationsCount: number;
527
+ status: AssessmentStatus;
528
+ explanation: string;
529
+ recommendations: string[];
530
+ }
531
+ /**
532
+ * Prohibited Libraries Types (Policy #28-30)
533
+ * Detects financial and media processing libraries
534
+ */
535
+ export type ProhibitedLibraryCategory = "financial" | "media" | "payments" | "banking";
536
+ export interface ProhibitedLibraryMatch {
537
+ name: string;
538
+ category: ProhibitedLibraryCategory;
539
+ location: "package.json" | "source_import" | "requirements.txt" | "cargo.toml";
540
+ filePath?: string;
541
+ lineNumber?: number;
542
+ severity: "BLOCKING" | "HIGH" | "MEDIUM";
543
+ reason: string;
544
+ policyReference: string;
545
+ }
546
+ export interface ProhibitedLibrariesAssessment {
547
+ matches: ProhibitedLibraryMatch[];
548
+ scannedFiles: string[];
549
+ hasFinancialLibraries: boolean;
550
+ hasMediaLibraries: boolean;
551
+ status: AssessmentStatus;
552
+ explanation: string;
553
+ recommendations: string[];
554
+ }
555
+ /**
556
+ * MCPB Manifest Validation Types
557
+ * Based on manifest_version 0.3 spec
558
+ */
559
+ export interface ManifestJsonSchema {
560
+ manifest_version: string;
561
+ name: string;
562
+ version: string;
563
+ description?: string;
564
+ author?: string;
565
+ repository?: string;
566
+ license?: string;
567
+ mcp_config: {
568
+ command: string;
569
+ args?: string[];
570
+ env?: Record<string, string>;
571
+ };
572
+ icon?: string;
573
+ homepage?: string;
574
+ keywords?: string[];
575
+ }
576
+ export interface ManifestValidationResult {
577
+ field: string;
578
+ valid: boolean;
579
+ value?: unknown;
580
+ expectedType?: string;
581
+ issue?: string;
582
+ severity: "ERROR" | "WARNING" | "INFO";
583
+ }
584
+ export interface ManifestValidationAssessment {
585
+ hasManifest: boolean;
586
+ manifestVersion?: string;
587
+ validationResults: ManifestValidationResult[];
588
+ hasIcon: boolean;
589
+ hasRequiredFields: boolean;
590
+ missingFields: string[];
591
+ status: AssessmentStatus;
592
+ explanation: string;
593
+ recommendations: string[];
594
+ }
595
+ /**
596
+ * Portability Assessment Types
597
+ * Detects hardcoded paths, platform-specific code
598
+ */
599
+ export interface PortabilityIssue {
600
+ type: "hardcoded_path" | "platform_specific" | "bundle_root_antipattern" | "absolute_path" | "user_home_path";
601
+ filePath: string;
602
+ lineNumber?: number;
603
+ matchedText: string;
604
+ severity: "HIGH" | "MEDIUM" | "LOW";
605
+ recommendation: string;
606
+ }
607
+ export interface PortabilityAssessment {
608
+ issues: PortabilityIssue[];
609
+ scannedFiles: number;
610
+ platformSpecificCount: number;
611
+ hardcodedPathCount: number;
612
+ usesDirname: boolean;
613
+ usesBundleRoot: boolean;
614
+ status: AssessmentStatus;
615
+ explanation: string;
616
+ recommendations: string[];
617
+ }
618
+ export declare const PROMPT_INJECTION_TESTS: Omit<SecurityTestResult, "vulnerable" | "evidence">[];
619
+ /**
620
+ * Claude Code Bridge Configuration
621
+ * Enables integration with Claude Code CLI for intelligent analysis
622
+ */
623
+ export interface ClaudeCodeConfig {
624
+ enabled: boolean;
625
+ features: {
626
+ intelligentTestGeneration: boolean;
627
+ aupSemanticAnalysis: boolean;
628
+ annotationInference: boolean;
629
+ documentationQuality: boolean;
630
+ };
631
+ timeout: number;
632
+ workingDir?: string;
633
+ maxRetries?: number;
634
+ }
635
+ export interface AssessmentConfiguration {
636
+ testTimeout: number;
637
+ delayBetweenTests?: number;
638
+ skipBrokenTools: boolean;
639
+ reviewerMode?: boolean;
640
+ enableExtendedAssessment?: boolean;
641
+ parallelTesting?: boolean;
642
+ maxParallelTests?: number;
643
+ scenariosPerTool?: number;
644
+ maxToolsToTestForErrors?: number;
645
+ selectedToolsForTesting?: string[];
646
+ securityPatternsToTest?: number;
647
+ enableDomainTesting?: boolean;
648
+ mcpProtocolVersion?: string;
649
+ enableSourceCodeAnalysis?: boolean;
650
+ claudeCode?: ClaudeCodeConfig;
651
+ assessmentCategories?: {
652
+ functionality: boolean;
653
+ security: boolean;
654
+ documentation: boolean;
655
+ errorHandling: boolean;
656
+ usability: boolean;
657
+ mcpSpecCompliance?: boolean;
658
+ aupCompliance?: boolean;
659
+ toolAnnotations?: boolean;
660
+ prohibitedLibraries?: boolean;
661
+ manifestValidation?: boolean;
662
+ portability?: boolean;
663
+ };
664
+ }
665
+ export declare const DEFAULT_ASSESSMENT_CONFIG: AssessmentConfiguration;
666
+ export declare const REVIEWER_MODE_CONFIG: AssessmentConfiguration;
667
+ export declare const DEVELOPER_MODE_CONFIG: AssessmentConfiguration;
668
+ export declare const AUDIT_MODE_CONFIG: AssessmentConfiguration;
669
+ export declare const CLAUDE_ENHANCED_AUDIT_CONFIG: AssessmentConfiguration;
670
+ //# sourceMappingURL=assessmentTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assessmentTypes.d.ts","sourceRoot":"","sources":["../../src/lib/assessmentTypes.ts"],"names":[],"mappings":"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"}