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

Function extractEngineConfigWithInferredEngine

pkg/cli/audit_expanded.go:123–168  ·  view source on GitHub ↗
(logsPath, inferredEngineID string)

Source from the content-addressed store, hash-verified

121}
122
123func extractEngineConfigWithInferredEngine(logsPath, inferredEngineID string) *AuditEngineConfig {
124 if logsPath == "" {
125 return nil
126 }
127
128 awInfoPath := findAwInfoPath(logsPath)
129 if awInfoPath == "" {
130 auditExpandedLog.Printf("aw_info.json not found in %s", logsPath)
131 if inferredEngineID != "" {
132 registry := workflow.GetGlobalEngineRegistry()
133 if engine, err := registry.GetEngine(inferredEngineID); err == nil {
134 auditExpandedLog.Printf("Inferred engine config without aw_info.json: engine=%s", inferredEngineID)
135 return &AuditEngineConfig{
136 EngineID: inferredEngineID,
137 EngineName: engine.GetDisplayName(),
138 }
139 }
140 }
141 return nil
142 }
143 awInfo, err := parseAwInfo(awInfoPath, false)
144 if err != nil || awInfo == nil {
145 auditExpandedLog.Printf("Failed to parse aw_info.json for engine config: %v", err)
146 return nil
147 }
148
149 config := &AuditEngineConfig{
150 EngineID: awInfo.EngineID,
151 EngineName: awInfo.EngineName,
152 Model: awInfo.Model,
153 Version: awInfo.Version,
154 CLIVersion: awInfo.CLIVersion,
155 FirewallVersion: awInfo.GetFirewallVersion(),
156 TriggerEvent: awInfo.EventName,
157 Repository: awInfo.Repository,
158 }
159
160 // Extract MCP server names from aw_info.json steps metadata
161 if mcpNames, ok := extractMCPServerNamesFromAwInfo(logsPath); ok {
162 config.MCPServers = mcpNames
163 }
164
165 auditExpandedLog.Printf("Extracted engine config: engine=%s, model=%s, mcp_servers=%d",
166 config.EngineID, config.Model, len(config.MCPServers))
167 return config
168}
169
170func inferFallbackLogMetrics(logsPath string) (LogMetrics, string) {
171 if logsPath == "" {

Calls 8

GetGlobalEngineRegistryFunction · 0.92
findAwInfoPathFunction · 0.85
parseAwInfoFunction · 0.85
GetEngineMethod · 0.80
GetFirewallVersionMethod · 0.80
GetDisplayNameMethod · 0.65
PrintfMethod · 0.45