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

Function engineConfigBaseDir

pkg/workflow/engine_config_dir.go:15–29  ·  view source on GitHub ↗

engineConfigBaseDir returns the base config directory for the given engine ID, determined by looking up the engine in the global registry and reading the first AgentManifestPathPrefix from the AgentFileProvider interface. Falls back to ".github" when the engine is not found or provides no path prefi

(engineID string)

Source from the content-addressed store, hash-verified

13// AgentManifestPathPrefix from the AgentFileProvider interface.
14// Falls back to ".github" when the engine is not found or provides no path prefixes.
15func engineConfigBaseDir(engineID string) string {
16 registry := GetGlobalEngineRegistry()
17 engine, err := registry.GetEngine(strings.ToLower(engineID))
18 if err == nil {
19 if provider, ok := engine.(AgentFileProvider); ok {
20 if prefixes := provider.GetAgentManifestPathPrefixes(); len(prefixes) > 0 {
21 baseDir := strings.TrimSuffix(prefixes[0], "/")
22 engineConfigDirLog.Printf("Resolved config base dir for engine %q to %q", engineID, baseDir)
23 return baseDir
24 }
25 }
26 }
27 engineConfigDirLog.Printf("Falling back to .github config base dir for engine %q (lookup err=%v)", engineID, err)
28 return ".github"
29}
30
31// GetEngineSkillDir returns the relative directory (from repo root / tmp base) used
32// to store inline skill files for a given engine.

Callers 2

GetEngineSkillDirFunction · 0.85
GetEngineSubAgentDirFunction · 0.85

Calls 5

GetGlobalEngineRegistryFunction · 0.85
GetEngineMethod · 0.80
ToLowerMethod · 0.80
PrintfMethod · 0.45

Tested by

no test coverage detected