MCPcopy Create free account
hub / github.com/github/gh-aw / computeAuditDiff

Function computeAuditDiff

pkg/cli/audit_diff.go:370–403  ·  view source on GitHub ↗

computeAuditDiff produces a full AuditDiff combining firewall, MCP tool, and run metrics diffs.

(run1ID, run2ID int64, summary1, summary2 *RunSummary)

Source from the content-addressed store, hash-verified

368
369// computeAuditDiff produces a full AuditDiff combining firewall, MCP tool, and run metrics diffs.
370func computeAuditDiff(run1ID, run2ID int64, summary1, summary2 *RunSummary) *AuditDiff {
371 auditDiffLog.Printf("Computing full audit diff: run1=%d, run2=%d", run1ID, run2ID)
372 diff := &AuditDiff{
373 Run1ID: run1ID,
374 Run2ID: run2ID,
375 }
376
377 var fw1, fw2 *FirewallAnalysis
378 if summary1 != nil {
379 fw1 = summary1.FirewallAnalysis
380 }
381 if summary2 != nil {
382 fw2 = summary2.FirewallAnalysis
383 }
384 diff.FirewallDiff = computeFirewallDiff(run1ID, run2ID, fw1, fw2)
385
386 var mcp1, mcp2 *MCPToolUsageData
387 if summary1 != nil {
388 mcp1 = summary1.MCPToolUsage
389 }
390 if summary2 != nil {
391 mcp2 = summary2.MCPToolUsage
392 }
393 if mcp1 != nil || mcp2 != nil {
394 diff.MCPToolsDiff = computeMCPToolsDiff(mcp1, mcp2)
395 }
396
397 metricsDiff := computeRunMetricsDiff(summary1, summary2)
398 if metricsDiff != nil {
399 diff.RunMetricsDiff = metricsDiff
400 }
401
402 return diff
403}
404
405// mcpToolKey returns a unique key for an MCP tool given its server and tool name.
406func mcpToolKey(serverName, toolName string) string {

Calls 4

computeFirewallDiffFunction · 0.85
computeMCPToolsDiffFunction · 0.85
computeRunMetricsDiffFunction · 0.85
PrintfMethod · 0.45