resolvePromptOverrides function

PromptOverrides resolvePromptOverrides(
  1. Map<String, String> raw, {
  2. required String homeDir,
  3. required String baseDir,
})

Resolves the validated raw prompts: map (see parsePromptOverrideMap) into a PromptOverrides. Relative file paths resolve against baseDir (the CLI passes the agent cwd); the system alias canonicalizes to cli/mode_code. Missing files throw ConfigException.

Implementation

PromptOverrides resolvePromptOverrides(
  Map<String, String> raw, {
  required String homeDir,
  required String baseDir,
}) {
  if (raw.isEmpty) return PromptOverrides.empty;
  final texts = <String, String>{};
  for (final entry in raw.entries) {
    final name = entry.key == systemPromptAlias
        ? codeModePromptName
        : entry.key;
    texts[name] = loadPromptOverrideSource(
      entry.value,
      homeDir: homeDir,
      baseDir: baseDir,
      source: 'prompts.${entry.key}',
    );
  }
  return PromptOverrides(texts);
}