proofscan 0.10.25 → 0.10.26

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.
@@ -1 +1 @@
1
- {"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../src/commands/connectors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,MAAM,GAAG,OAAO,CAoZ5E"}
1
+ {"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../src/commands/connectors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+ZpC,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,MAAM,GAAG,OAAO,CAyb5E"}
@@ -3,9 +3,296 @@
3
3
  */
4
4
  import { Command } from 'commander';
5
5
  import { promises as fs } from 'fs';
6
+ import * as path from 'path';
6
7
  import { ConfigManager, parseMcpServers, parseMcpServerById, readStdin } from '../config/index.js';
7
8
  import { output, outputSuccess, outputError, outputTable, redactSecrets } from '../utils/output.js';
8
- import { redactionSummary } from '../secrets/redaction.js';
9
+ import { redactionSummary, redactDeep } from '../secrets/redaction.js';
10
+ import { EventsStore } from '../db/events-store.js';
11
+ import { getEventsDb } from '../db/connection.js';
12
+ import { t } from '../i18n/index.js';
13
+ import { DEFAULT_EMBED_MAX_BYTES, SHORT_ID_LENGTH, toRpcStatus, createPayloadData, getConnectorHtmlFilename, getSpillFilename, generateConnectorHtml, openInBrowser, getPackageVersion, validateOutputPath, validateEmbedMaxBytes, ensureOutputDir, safeWriteFile, } from '../html/index.js';
14
+ // ============================================================================
15
+ // Connector HTML Export Helper Functions
16
+ // ============================================================================
17
+ /**
18
+ * Get MCP server info from latest initialize response across ALL sessions
19
+ * (not just latest session - handles cases where latest session has no initialize)
20
+ */
21
+ function getMcpServerInfo(configDir, connectorId) {
22
+ const db = getEventsDb(configDir);
23
+ // Query latest initialize response across all sessions for this connector
24
+ const initResponse = db.prepare(`
25
+ SELECT e.raw_json FROM events e
26
+ JOIN rpc_calls r ON e.rpc_id = r.rpc_id AND e.session_id = r.session_id
27
+ JOIN sessions s ON e.session_id = s.session_id
28
+ WHERE s.connector_id = ?
29
+ AND r.method = 'initialize'
30
+ AND e.kind = 'response'
31
+ ORDER BY e.ts DESC
32
+ LIMIT 1
33
+ `).get(connectorId);
34
+ if (!initResponse?.raw_json)
35
+ return null;
36
+ try {
37
+ const json = JSON.parse(initResponse.raw_json);
38
+ const caps = json.result?.capabilities;
39
+ return {
40
+ name: json.result?.serverInfo?.name ?? null,
41
+ version: json.result?.serverInfo?.version ?? null,
42
+ protocolVersion: json.result?.protocolVersion ?? null,
43
+ capabilities: {
44
+ tools: caps?.tools !== undefined,
45
+ resources: caps?.resources !== undefined,
46
+ prompts: caps?.prompts !== undefined,
47
+ },
48
+ };
49
+ }
50
+ catch {
51
+ return null;
52
+ }
53
+ }
54
+ /**
55
+ * Get session count for connector (separate COUNT query for efficiency)
56
+ */
57
+ function getSessionCount(configDir, connectorId) {
58
+ const db = getEventsDb(configDir);
59
+ const result = db.prepare(`
60
+ SELECT COUNT(*) as count FROM sessions WHERE connector_id = ?
61
+ `).get(connectorId);
62
+ return result.count;
63
+ }
64
+ /**
65
+ * Get sessions with LIMIT/OFFSET at DB level (not slice())
66
+ * Includes error_count for ERR badge in left pane
67
+ */
68
+ function getSessionsWithPagination(configDir, connectorId, limit, offset) {
69
+ const db = getEventsDb(configDir);
70
+ return db.prepare(`
71
+ SELECT s.*,
72
+ (SELECT COUNT(*) FROM events WHERE session_id = s.session_id) as event_count,
73
+ (SELECT COUNT(*) FROM rpc_calls WHERE session_id = s.session_id) as rpc_count,
74
+ (SELECT COUNT(*) FROM rpc_calls WHERE session_id = s.session_id AND success = 0) as error_count
75
+ FROM sessions s
76
+ WHERE s.connector_id = ?
77
+ ORDER BY s.started_at DESC
78
+ LIMIT ? OFFSET ?
79
+ `).all(connectorId, limit, offset);
80
+ }
81
+ /**
82
+ * Get RPC event data for HTML export
83
+ */
84
+ function getRpcEventData(configDir, sessionId, rpcId) {
85
+ const db = getEventsDb(configDir);
86
+ const requestEvent = db.prepare(`
87
+ SELECT raw_json FROM events
88
+ WHERE session_id = ? AND rpc_id = ? AND kind = 'request'
89
+ `).get(sessionId, rpcId);
90
+ const responseEvent = db.prepare(`
91
+ SELECT raw_json FROM events
92
+ WHERE session_id = ? AND rpc_id = ? AND kind = 'response'
93
+ `).get(sessionId, rpcId);
94
+ const requestRaw = requestEvent?.raw_json ?? null;
95
+ const responseRaw = responseEvent?.raw_json ?? null;
96
+ let requestJson = null;
97
+ let responseJson = null;
98
+ if (requestRaw) {
99
+ try {
100
+ requestJson = JSON.parse(requestRaw);
101
+ }
102
+ catch {
103
+ requestJson = requestRaw;
104
+ }
105
+ }
106
+ if (responseRaw) {
107
+ try {
108
+ responseJson = JSON.parse(responseRaw);
109
+ }
110
+ catch {
111
+ responseJson = responseRaw;
112
+ }
113
+ }
114
+ return { requestRaw, responseRaw, requestJson, responseJson };
115
+ }
116
+ /**
117
+ * Build session report data for HTML export
118
+ */
119
+ function buildSessionReport(session, rpcCalls, eventCount, configDir, options) {
120
+ const rpcs = [];
121
+ let spillCount = 0;
122
+ for (const rpc of rpcCalls) {
123
+ let { requestRaw, responseRaw, requestJson, responseJson } = getRpcEventData(configDir, session.session_id, rpc.rpc_id);
124
+ // Apply redaction if requested
125
+ if (options.redact) {
126
+ if (requestJson) {
127
+ const result = redactDeep(requestJson);
128
+ requestJson = result.value;
129
+ requestRaw = requestJson ? JSON.stringify(requestJson) : null;
130
+ }
131
+ if (responseJson) {
132
+ const result = redactDeep(responseJson);
133
+ responseJson = result.value;
134
+ responseRaw = responseJson ? JSON.stringify(responseJson) : null;
135
+ }
136
+ }
137
+ // Handle spill files for oversized payloads
138
+ let requestSpillFile;
139
+ let responseSpillFile;
140
+ const requestSize = requestRaw ? Buffer.byteLength(requestRaw, 'utf8') : 0;
141
+ const responseSize = responseRaw ? Buffer.byteLength(responseRaw, 'utf8') : 0;
142
+ if (options.spill) {
143
+ if (requestSize > options.embedMaxBytes && requestRaw) {
144
+ requestSpillFile = getSpillFilename(session.session_id, rpc.rpc_id, 'req');
145
+ const spillPath = path.join(options.outDir, requestSpillFile);
146
+ safeWriteFile(spillPath, requestRaw);
147
+ spillCount++;
148
+ }
149
+ if (responseSize > options.embedMaxBytes && responseRaw) {
150
+ responseSpillFile = getSpillFilename(session.session_id, rpc.rpc_id, 'res');
151
+ const spillPath = path.join(options.outDir, responseSpillFile);
152
+ safeWriteFile(spillPath, responseRaw);
153
+ spillCount++;
154
+ }
155
+ }
156
+ // Create payload data with truncation handling
157
+ const requestPayload = createPayloadData(requestJson, requestRaw, options.embedMaxBytes, requestSpillFile);
158
+ const responsePayload = createPayloadData(responseJson, responseRaw, options.embedMaxBytes, responseSpillFile);
159
+ // Calculate latency
160
+ let latency_ms = null;
161
+ if (rpc.response_ts) {
162
+ latency_ms = new Date(rpc.response_ts).getTime() - new Date(rpc.request_ts).getTime();
163
+ }
164
+ rpcs.push({
165
+ rpc_id: rpc.rpc_id,
166
+ method: rpc.method,
167
+ status: toRpcStatus(rpc.success),
168
+ latency_ms,
169
+ request_ts: rpc.request_ts,
170
+ response_ts: rpc.response_ts,
171
+ error_code: rpc.error_code,
172
+ request: requestPayload,
173
+ response: responsePayload,
174
+ });
175
+ }
176
+ // Calculate total latency across all RPCs
177
+ const totalLatencyMs = rpcs.reduce((sum, rpc) => {
178
+ if (rpc.latency_ms !== null) {
179
+ return sum + rpc.latency_ms;
180
+ }
181
+ return sum;
182
+ }, 0);
183
+ const report = {
184
+ meta: {
185
+ schemaVersion: 1,
186
+ generatedAt: new Date().toISOString(),
187
+ generatedBy: `proofscan v${getPackageVersion()}`,
188
+ redacted: options.redact,
189
+ },
190
+ session: {
191
+ session_id: session.session_id,
192
+ connector_id: session.connector_id,
193
+ started_at: session.started_at,
194
+ ended_at: session.ended_at,
195
+ exit_reason: session.exit_reason,
196
+ rpc_count: rpcCalls.length,
197
+ event_count: eventCount,
198
+ total_latency_ms: rpcs.length > 0 ? totalLatencyMs : null,
199
+ },
200
+ rpcs,
201
+ };
202
+ return { report, spillCount };
203
+ }
204
+ /**
205
+ * Export connector as HTML file
206
+ */
207
+ async function exportConnectorHtml(connectorId, connector, configDir, options) {
208
+ // 1. Get total count (separate COUNT query - efficient)
209
+ const totalSessionCount = getSessionCount(configDir, connectorId);
210
+ // 2. Get sessions with LIMIT/OFFSET at DB level (NOT slice())
211
+ const displayedSessions = getSessionsWithPagination(configDir, connectorId, options.maxSessions, options.offset);
212
+ console.log(t('html.connectorExporting', { count: displayedSessions.length }));
213
+ // Validate and create output directory
214
+ const validatedOutDir = validateOutputPath(options.outDir);
215
+ ensureOutputDir(validatedOutDir);
216
+ // 3. Get connector config and server info
217
+ const transportInfo = connector ? {
218
+ type: connector.transport.type,
219
+ command: connector.transport.type === 'stdio'
220
+ ? `${connector.transport.command}${connector.transport.args?.length ? ' ' + connector.transport.args.join(' ') : ''}`
221
+ : undefined,
222
+ url: 'url' in connector.transport ? connector.transport.url : undefined,
223
+ } : { type: 'stdio' };
224
+ // Get server info from latest initialize response (across ALL sessions)
225
+ const serverInfo = getMcpServerInfo(configDir, connectorId);
226
+ // 4. Build session reports
227
+ const eventsStore = new EventsStore(configDir);
228
+ const sessionReports = {};
229
+ let totalSpillCount = 0;
230
+ for (const session of displayedSessions) {
231
+ const rpcCalls = eventsStore.getRpcCallsBySession(session.session_id);
232
+ const { report, spillCount } = buildSessionReport(session, rpcCalls, session.event_count || 0, configDir, {
233
+ redact: options.redact,
234
+ embedMaxBytes: options.embedMaxBytes,
235
+ spill: options.spill,
236
+ outDir: validatedOutDir,
237
+ });
238
+ sessionReports[session.session_id] = report;
239
+ totalSpillCount += spillCount;
240
+ }
241
+ if (options.redact) {
242
+ console.log(t('html.redactedNote'));
243
+ }
244
+ // 5. Build connector report
245
+ const report = {
246
+ meta: {
247
+ schemaVersion: 1,
248
+ generatedAt: new Date().toISOString(),
249
+ generatedBy: `proofscan v${getPackageVersion()}`,
250
+ redacted: options.redact,
251
+ },
252
+ connector: {
253
+ connector_id: connectorId,
254
+ enabled: connector?.enabled ?? true,
255
+ transport: transportInfo,
256
+ server: serverInfo ?? undefined,
257
+ session_count: totalSessionCount,
258
+ displayed_sessions: displayedSessions.length,
259
+ offset: options.offset,
260
+ },
261
+ sessions: displayedSessions.map(s => ({
262
+ session_id: s.session_id,
263
+ short_id: s.session_id.slice(0, SHORT_ID_LENGTH),
264
+ started_at: s.started_at,
265
+ ended_at: s.ended_at,
266
+ rpc_count: s.rpc_count ?? 0,
267
+ event_count: s.event_count ?? 0,
268
+ error_count: s.error_count,
269
+ total_latency_ms: sessionReports[s.session_id]?.session.total_latency_ms ?? null,
270
+ })),
271
+ session_reports: sessionReports,
272
+ };
273
+ // 6. Generate and write HTML
274
+ const html = generateConnectorHtml(report);
275
+ const filename = getConnectorHtmlFilename(connectorId);
276
+ const outputPath = path.join(validatedOutDir, filename);
277
+ safeWriteFile(outputPath, html);
278
+ console.log(t('html.connectorExported', { path: outputPath }));
279
+ if (totalSpillCount > 0) {
280
+ console.log(` (${totalSpillCount} payload(s) written to spill files)`);
281
+ }
282
+ // Open in browser if requested
283
+ if (options.open) {
284
+ console.log(t('html.opening'));
285
+ try {
286
+ await openInBrowser(outputPath);
287
+ }
288
+ catch {
289
+ console.error(t('errors.openBrowserFailed', { path: outputPath }));
290
+ }
291
+ }
292
+ }
293
+ // ============================================================================
294
+ // Connectors Command
295
+ // ============================================================================
9
296
  export function createConnectorsCommand(getConfigPath) {
10
297
  const cmd = new Command('connectors')
11
298
  .description('Manage MCP server connectors');
@@ -51,10 +338,44 @@ export function createConnectorsCommand(getConfigPath) {
51
338
  .command('show')
52
339
  .description('Show connector details (secrets redacted)')
53
340
  .requiredOption('--id <id>', 'Connector ID')
341
+ .option('--html', 'Export as standalone HTML file')
342
+ .option('--out <dir>', 'Output directory for HTML', './pfscan_reports')
343
+ .option('--open', 'Open HTML in default browser')
344
+ .option('--redact', 'Redact sensitive values')
345
+ .option('--embed-max-bytes <n>', 'Max bytes per payload before truncation', String(DEFAULT_EMBED_MAX_BYTES))
346
+ .option('--spill', 'Write oversized payloads to separate files')
347
+ .option('--max-sessions <n>', 'Max sessions to include in HTML', '50')
348
+ .option('--offset <n>', 'Skip first N sessions (pagination)', '0')
54
349
  .action(async (options) => {
55
350
  try {
56
351
  const manager = new ConfigManager(getConfigPath());
57
352
  const connector = await manager.getConnector(options.id);
353
+ // HTML export mode
354
+ if (options.html) {
355
+ const embedMaxBytes = validateEmbedMaxBytes(options.embedMaxBytes);
356
+ const maxSessions = parseInt(options.maxSessions, 10);
357
+ const offset = parseInt(options.offset, 10);
358
+ // Validate numeric inputs
359
+ if (isNaN(maxSessions) || maxSessions < 1) {
360
+ outputError('--max-sessions must be a positive integer');
361
+ process.exit(1);
362
+ }
363
+ if (isNaN(offset) || offset < 0) {
364
+ outputError('--offset must be a non-negative integer');
365
+ process.exit(1);
366
+ }
367
+ await exportConnectorHtml(options.id, connector, manager.getConfigDir(), {
368
+ outDir: options.out,
369
+ open: options.open,
370
+ redact: options.redact,
371
+ embedMaxBytes,
372
+ spill: options.spill,
373
+ maxSessions,
374
+ offset,
375
+ });
376
+ return;
377
+ }
378
+ // Standard JSON/text output
58
379
  if (!connector) {
59
380
  outputError(`Connector not found: ${options.id}`);
60
381
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"connectors.js","sourceRoot":"","sources":["../../src/commands/connectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connectors.js","sourceRoot":"","sources":["../../src/commands/connectors.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,9 @@
3
3
  *
4
4
  * Exports standalone HTML reports for RPC and Session data.
5
5
  */
6
- export { HTML_REPORT_SCHEMA_VERSION, DEFAULT_EMBED_MAX_BYTES, TRUNCATION_PREVIEW_LENGTH, DEFAULT_EXPORT_OPTIONS, toRpcStatus, getStatusSymbol, createPayloadData, getRpcHtmlFilename, getSessionHtmlFilename, getSpillFilename, } from './types.js';
7
- export type { HtmlReportMeta, RpcStatus, HtmlExportOptions, PayloadData, HtmlRpcData, HtmlRpcReportV1, SessionRpcDetail, HtmlSessionData, HtmlSessionReportV1, } from './types.js';
8
- export { escapeHtml, escapeJsonForScript, generateRpcHtml, generateSessionHtml, } from './templates.js';
6
+ export { HTML_REPORT_SCHEMA_VERSION, DEFAULT_EMBED_MAX_BYTES, TRUNCATION_PREVIEW_LENGTH, SHORT_ID_LENGTH, DEFAULT_EXPORT_OPTIONS, toRpcStatus, getStatusSymbol, createPayloadData, getRpcHtmlFilename, getSessionHtmlFilename, getSpillFilename, getConnectorHtmlFilename, } from './types.js';
7
+ export type { HtmlReportMeta, RpcStatus, HtmlExportOptions, PayloadData, HtmlRpcData, HtmlRpcReportV1, SessionRpcDetail, HtmlSessionData, HtmlSessionReportV1, HtmlMcpCapabilities, HtmlMcpServerInfo, HtmlConnectorInfo, HtmlConnectorSessionRow, HtmlConnectorReportV1, } from './types.js';
8
+ export { escapeHtml, escapeJsonForScript, generateRpcHtml, generateSessionHtml, generateConnectorHtml, } from './templates.js';
9
9
  export { openInBrowser } from './browser.js';
10
10
  export { getPackageVersion, validateOutputPath, validateEmbedMaxBytes, ensureOutputDir, safeWriteFile, } from './utils.js';
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/html/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,aAAa,GACd,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/html/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,eAAe,EACf,sBAAsB,EACtB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EAEnB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,aAAa,GACd,MAAM,YAAY,CAAC"}
@@ -4,9 +4,9 @@
4
4
  * Exports standalone HTML reports for RPC and Session data.
5
5
  */
6
6
  // Types
7
- export { HTML_REPORT_SCHEMA_VERSION, DEFAULT_EMBED_MAX_BYTES, TRUNCATION_PREVIEW_LENGTH, DEFAULT_EXPORT_OPTIONS, toRpcStatus, getStatusSymbol, createPayloadData, getRpcHtmlFilename, getSessionHtmlFilename, getSpillFilename, } from './types.js';
7
+ export { HTML_REPORT_SCHEMA_VERSION, DEFAULT_EMBED_MAX_BYTES, TRUNCATION_PREVIEW_LENGTH, SHORT_ID_LENGTH, DEFAULT_EXPORT_OPTIONS, toRpcStatus, getStatusSymbol, createPayloadData, getRpcHtmlFilename, getSessionHtmlFilename, getSpillFilename, getConnectorHtmlFilename, } from './types.js';
8
8
  // Templates
9
- export { escapeHtml, escapeJsonForScript, generateRpcHtml, generateSessionHtml, } from './templates.js';
9
+ export { escapeHtml, escapeJsonForScript, generateRpcHtml, generateSessionHtml, generateConnectorHtml, } from './templates.js';
10
10
  // Browser
11
11
  export { openInBrowser } from './browser.js';
12
12
  // Utilities
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/html/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,QAAQ;AACR,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAcpB,YAAY;AACZ,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,YAAY;AACZ,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,aAAa,GACd,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/html/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,QAAQ;AACR,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,eAAe,EACf,sBAAsB,EACtB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAoBpB,YAAY;AACZ,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAExB,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,YAAY;AACZ,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,aAAa,GACd,MAAM,YAAY,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Generates standalone HTML files for RPC and Session reports.
5
5
  * Dark theme with neon blue accent badges.
6
6
  */
7
- import type { HtmlRpcReportV1, HtmlSessionReportV1 } from './types.js';
7
+ import type { HtmlConnectorReportV1, HtmlRpcReportV1, HtmlSessionReportV1 } from './types.js';
8
8
  /**
9
9
  * Escape HTML special characters to prevent XSS
10
10
  */
@@ -22,4 +22,8 @@ export declare function generateRpcHtml(report: HtmlRpcReportV1): string;
22
22
  * Generate Session HTML report (2-pane Wireshark-style layout)
23
23
  */
24
24
  export declare function generateSessionHtml(report: HtmlSessionReportV1): string;
25
+ /**
26
+ * Generate Connector HTML report (3-hierarchy: Connector -> Sessions -> RPCs)
27
+ */
28
+ export declare function generateConnectorHtml(report: HtmlConnectorReportV1): string;
25
29
  //# sourceMappingURL=templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/html/templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EAIpB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO/C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AA0jBD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAyE/D;AAuBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CA4EvE"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/html/templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,qBAAqB,EAErB,eAAe,EACf,mBAAmB,EAIpB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO/C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AA0jBD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAyE/D;AAuBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CA4EvE;AAyrBD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAuG3E"}