@inspectr/mcplab 0.1.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 (136) hide show
  1. package/README.md +762 -0
  2. package/dist/app/android-chrome-192x192.png +0 -0
  3. package/dist/app/android-chrome-512x512.png +0 -0
  4. package/dist/app/apple-touch-icon.png +0 -0
  5. package/dist/app/assets/index-DT-Z4AVG.js +249 -0
  6. package/dist/app/assets/index-EP4WAY8u.css +1 -0
  7. package/dist/app/favicon-16x16.png +0 -0
  8. package/dist/app/favicon-32x32.png +0 -0
  9. package/dist/app/favicon.svg +13 -0
  10. package/dist/app/index.html +26 -0
  11. package/dist/app/inspectr_logo_color.svg +9 -0
  12. package/dist/app/mcp.png +0 -0
  13. package/dist/app/mcp.svg +1 -0
  14. package/dist/app/robots.txt +14 -0
  15. package/dist/app/site.webmanifest +1 -0
  16. package/dist/app-server/app-context.d.ts +164 -0
  17. package/dist/app-server/app-context.d.ts.map +1 -0
  18. package/dist/app-server/app-context.js +2 -0
  19. package/dist/app-server/app-context.js.map +1 -0
  20. package/dist/app-server/assistant-common.d.ts +41 -0
  21. package/dist/app-server/assistant-common.d.ts.map +1 -0
  22. package/dist/app-server/assistant-common.js +104 -0
  23. package/dist/app-server/assistant-common.js.map +1 -0
  24. package/dist/app-server/config-store.d.ts +15 -0
  25. package/dist/app-server/config-store.d.ts.map +1 -0
  26. package/dist/app-server/config-store.js +67 -0
  27. package/dist/app-server/config-store.js.map +1 -0
  28. package/dist/app-server/dev-mcp.d.ts +6 -0
  29. package/dist/app-server/dev-mcp.d.ts.map +1 -0
  30. package/dist/app-server/dev-mcp.js +71 -0
  31. package/dist/app-server/dev-mcp.js.map +1 -0
  32. package/dist/app-server/evals-routes.d.ts +22 -0
  33. package/dist/app-server/evals-routes.d.ts.map +1 -0
  34. package/dist/app-server/evals-routes.js +135 -0
  35. package/dist/app-server/evals-routes.js.map +1 -0
  36. package/dist/app-server/http.d.ts +5 -0
  37. package/dist/app-server/http.d.ts.map +1 -0
  38. package/dist/app-server/http.js +31 -0
  39. package/dist/app-server/http.js.map +1 -0
  40. package/dist/app-server/index.d.ts +3 -0
  41. package/dist/app-server/index.d.ts.map +1 -0
  42. package/dist/app-server/index.js +2 -0
  43. package/dist/app-server/index.js.map +1 -0
  44. package/dist/app-server/jobs.d.ts +15 -0
  45. package/dist/app-server/jobs.d.ts.map +1 -0
  46. package/dist/app-server/jobs.js +11 -0
  47. package/dist/app-server/jobs.js.map +1 -0
  48. package/dist/app-server/libraries-store.d.ts +15 -0
  49. package/dist/app-server/libraries-store.d.ts.map +1 -0
  50. package/dist/app-server/libraries-store.js +61 -0
  51. package/dist/app-server/libraries-store.js.map +1 -0
  52. package/dist/app-server/markdown-reports.d.ts +12 -0
  53. package/dist/app-server/markdown-reports.d.ts.map +1 -0
  54. package/dist/app-server/markdown-reports.js +145 -0
  55. package/dist/app-server/markdown-reports.js.map +1 -0
  56. package/dist/app-server/oauth-debugger-domain.d.ts +230 -0
  57. package/dist/app-server/oauth-debugger-domain.d.ts.map +1 -0
  58. package/dist/app-server/oauth-debugger-domain.js +1098 -0
  59. package/dist/app-server/oauth-debugger-domain.js.map +1 -0
  60. package/dist/app-server/oauth-debugger.d.ts +20 -0
  61. package/dist/app-server/oauth-debugger.d.ts.map +1 -0
  62. package/dist/app-server/oauth-debugger.js +193 -0
  63. package/dist/app-server/oauth-debugger.js.map +1 -0
  64. package/dist/app-server/provider-models.d.ts +8 -0
  65. package/dist/app-server/provider-models.d.ts.map +1 -0
  66. package/dist/app-server/provider-models.js +60 -0
  67. package/dist/app-server/provider-models.js.map +1 -0
  68. package/dist/app-server/result-assistant-domain.d.ts +87 -0
  69. package/dist/app-server/result-assistant-domain.d.ts.map +1 -0
  70. package/dist/app-server/result-assistant-domain.js +212 -0
  71. package/dist/app-server/result-assistant-domain.js.map +1 -0
  72. package/dist/app-server/result-assistant.d.ts +22 -0
  73. package/dist/app-server/result-assistant.d.ts.map +1 -0
  74. package/dist/app-server/result-assistant.js +328 -0
  75. package/dist/app-server/result-assistant.js.map +1 -0
  76. package/dist/app-server/router.d.ts +4 -0
  77. package/dist/app-server/router.d.ts.map +1 -0
  78. package/dist/app-server/router.js +374 -0
  79. package/dist/app-server/router.js.map +1 -0
  80. package/dist/app-server/runs-routes.d.ts +44 -0
  81. package/dist/app-server/runs-routes.d.ts.map +1 -0
  82. package/dist/app-server/runs-routes.js +555 -0
  83. package/dist/app-server/runs-routes.js.map +1 -0
  84. package/dist/app-server/runs-store.d.ts +23 -0
  85. package/dist/app-server/runs-store.d.ts.map +1 -0
  86. package/dist/app-server/runs-store.js +84 -0
  87. package/dist/app-server/runs-store.js.map +1 -0
  88. package/dist/app-server/scenario-assistant-domain.d.ts +162 -0
  89. package/dist/app-server/scenario-assistant-domain.d.ts.map +1 -0
  90. package/dist/app-server/scenario-assistant-domain.js +269 -0
  91. package/dist/app-server/scenario-assistant-domain.js.map +1 -0
  92. package/dist/app-server/scenario-assistant.d.ts +29 -0
  93. package/dist/app-server/scenario-assistant.d.ts.map +1 -0
  94. package/dist/app-server/scenario-assistant.js +246 -0
  95. package/dist/app-server/scenario-assistant.js.map +1 -0
  96. package/dist/app-server/settings-store.d.ts +4 -0
  97. package/dist/app-server/settings-store.d.ts.map +1 -0
  98. package/dist/app-server/settings-store.js +32 -0
  99. package/dist/app-server/settings-store.js.map +1 -0
  100. package/dist/app-server/snapshots-routes.d.ts +24 -0
  101. package/dist/app-server/snapshots-routes.d.ts.map +1 -0
  102. package/dist/app-server/snapshots-routes.js +82 -0
  103. package/dist/app-server/snapshots-routes.js.map +1 -0
  104. package/dist/app-server/static-serving.d.ts +17 -0
  105. package/dist/app-server/static-serving.d.ts.map +1 -0
  106. package/dist/app-server/static-serving.js +64 -0
  107. package/dist/app-server/static-serving.js.map +1 -0
  108. package/dist/app-server/store-utils.d.ts +5 -0
  109. package/dist/app-server/store-utils.d.ts.map +1 -0
  110. package/dist/app-server/store-utils.js +26 -0
  111. package/dist/app-server/store-utils.js.map +1 -0
  112. package/dist/app-server/tool-analysis-domain.d.ts +146 -0
  113. package/dist/app-server/tool-analysis-domain.d.ts.map +1 -0
  114. package/dist/app-server/tool-analysis-domain.js +556 -0
  115. package/dist/app-server/tool-analysis-domain.js.map +1 -0
  116. package/dist/app-server/tool-analysis-storage.d.ts +41 -0
  117. package/dist/app-server/tool-analysis-storage.d.ts.map +1 -0
  118. package/dist/app-server/tool-analysis-storage.js +110 -0
  119. package/dist/app-server/tool-analysis-storage.js.map +1 -0
  120. package/dist/app-server/tool-analysis.d.ts +22 -0
  121. package/dist/app-server/tool-analysis.d.ts.map +1 -0
  122. package/dist/app-server/tool-analysis.js +271 -0
  123. package/dist/app-server/tool-analysis.js.map +1 -0
  124. package/dist/app-server/types.d.ts +28 -0
  125. package/dist/app-server/types.d.ts.map +1 -0
  126. package/dist/app-server/types.js +2 -0
  127. package/dist/app-server/types.js.map +1 -0
  128. package/dist/cli.d.ts +3 -0
  129. package/dist/cli.d.ts.map +1 -0
  130. package/dist/cli.js +544 -0
  131. package/dist/cli.js.map +1 -0
  132. package/dist/snapshot.d.ts +80 -0
  133. package/dist/snapshot.d.ts.map +1 -0
  134. package/dist/snapshot.js +401 -0
  135. package/dist/snapshot.js.map +1 -0
  136. package/package.json +55 -0
@@ -0,0 +1,146 @@
1
+ import type { ServerResponse } from 'node:http';
2
+ import type { EvalConfig, ToolDef } from '@inspectr/mcplab-core';
3
+ import { McpClientManager } from '@inspectr/mcplab-core';
4
+ import type { AppSettings } from './types.js';
5
+ type JobEvent = {
6
+ type: 'started' | 'log' | 'completed' | 'error';
7
+ ts: string;
8
+ payload: Record<string, unknown>;
9
+ };
10
+ export interface ToolAnalysisFinding {
11
+ id: string;
12
+ scope:
13
+ | 'tool_name'
14
+ | 'description'
15
+ | 'schema'
16
+ | 'ergonomics'
17
+ | 'safety'
18
+ | 'eval_readiness'
19
+ | 'execution';
20
+ severity: 'critical' | 'high' | 'medium' | 'low' | 'info';
21
+ title: string;
22
+ detail: string;
23
+ suggestion?: string;
24
+ }
25
+ interface ToolAnalysisSuggestedSchemaChange {
26
+ type: 'description' | 'parameter' | 'required' | 'enum' | 'constraints' | 'examples' | 'naming';
27
+ summary: string;
28
+ before?: string;
29
+ after?: string;
30
+ }
31
+ interface ToolAnalysisToolReport {
32
+ serverName: string;
33
+ toolName: string;
34
+ publicToolName: string;
35
+ description?: string;
36
+ inputSchema?: unknown;
37
+ safetyClassification: 'read_like' | 'unsafe_or_unknown';
38
+ classificationReason: string;
39
+ metadataReview?: {
40
+ strengths: string[];
41
+ issues: ToolAnalysisFinding[];
42
+ suggestedDescription?: string;
43
+ suggestedSchemaChanges: ToolAnalysisSuggestedSchemaChange[];
44
+ evalReadinessNotes: string[];
45
+ };
46
+ deeperAnalysis?: {
47
+ attempted: boolean;
48
+ skippedReason?: string;
49
+ sampleCalls: Array<{
50
+ callIndex: number;
51
+ arguments: unknown;
52
+ ok: boolean;
53
+ durationMs?: number;
54
+ resultPreview?: string;
55
+ error?: string;
56
+ observations: string[];
57
+ issues: ToolAnalysisFinding[];
58
+ }>;
59
+ overallObservations: string[];
60
+ };
61
+ overallRecommendations: string[];
62
+ }
63
+ interface ToolAnalysisServerReport {
64
+ serverName: string;
65
+ toolCountDiscovered: number;
66
+ toolCountAnalyzed: number;
67
+ toolCountSkipped: number;
68
+ warnings: string[];
69
+ tools: ToolAnalysisToolReport[];
70
+ }
71
+ export interface ToolAnalysisReport {
72
+ schemaVersion: 1;
73
+ createdAt: string;
74
+ assistantAgentName: string;
75
+ assistantAgentModel: string;
76
+ modes: {
77
+ metadataReview: boolean;
78
+ deeperAnalysis: boolean;
79
+ };
80
+ settings: {
81
+ autoRunPolicy?: 'read_only_allowlist';
82
+ sampleCallsPerTool?: number;
83
+ toolCallTimeoutMs?: number;
84
+ maxParallelTools?: number;
85
+ };
86
+ summary: {
87
+ serversAnalyzed: number;
88
+ toolsAnalyzed: number;
89
+ toolsSkipped: number;
90
+ issueCounts: {
91
+ critical: number;
92
+ high: number;
93
+ medium: number;
94
+ low: number;
95
+ info: number;
96
+ };
97
+ };
98
+ servers: ToolAnalysisServerReport[];
99
+ findings: ToolAnalysisFinding[];
100
+ }
101
+ export interface ToolAnalysisJob {
102
+ id: string;
103
+ status: 'running' | 'completed' | 'error' | 'stopped';
104
+ events: JobEvent[];
105
+ clients: Set<ServerResponse>;
106
+ abortController: AbortController;
107
+ result?: ToolAnalysisReport;
108
+ savedReportId?: string;
109
+ savedReportPath?: string;
110
+ }
111
+ interface ToolAnalysisToolContext {
112
+ serverName: string;
113
+ tool: ToolDef;
114
+ safetyClassification: 'read_like' | 'unsafe_or_unknown';
115
+ classificationReason: string;
116
+ }
117
+ export declare function discoverMcpToolsForServers(
118
+ serversByName: EvalConfig['servers'],
119
+ serverNames: string[]
120
+ ): Promise<{
121
+ mcp: McpClientManager;
122
+ servers: Array<{
123
+ serverName: string;
124
+ warnings: string[];
125
+ tools: ToolAnalysisToolContext[];
126
+ }>;
127
+ }>;
128
+ export declare function runToolAnalysisJob(params: {
129
+ job: ToolAnalysisJob;
130
+ settings: AppSettings;
131
+ requestedAssistantAgentName?: string;
132
+ serverNames: string[];
133
+ selectedToolsByServer?: Record<string, string[]>;
134
+ modes: {
135
+ metadataReview: boolean;
136
+ deeperAnalysis: boolean;
137
+ };
138
+ deeper: {
139
+ autoRunPolicy: 'read_only_allowlist';
140
+ sampleCallsPerTool: number;
141
+ toolCallTimeoutMs: number;
142
+ };
143
+ maxParallelTools: number;
144
+ }): Promise<void>;
145
+ export {};
146
+ //# sourceMappingURL=tool-analysis-domain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-analysis-domain.d.ts","sourceRoot":"","sources":["../../src/app-server/tool-analysis-domain.ts"],"names":[],"mappings":"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"}