configTopLevelKeys top-level constant
Every top-level key the runtime config actually reads (the keys
CliConfig.fromYaml consumes, plus the roles: group members). The
source-text pin keeping this set honest lives in
test/config/config_service_test.dart.
Implementation
const configTopLevelKeys = <String>{
'provider',
'model',
'baseUrl',
'mode',
'approvalMode',
'allowedTools',
'prompts',
'roles',
'modelOverrides',
'retry',
'ttsr',
'memory',
'cube',
'tools',
'redact',
'spills',
'compaction',
'customProviders',
'models',
'mcp',
'a2a',
'providerTimeouts',
'agent',
'images',
'skills',
'subagents',
'fabric',
'power',
'tui',
'links',
// The main-model provider queue (issue #418): a top-level section in
// project/user yaml (and the FA_PROVIDERS_QUEUE env) parsed by the
// queue resolver (lib/src/model_roles/providers_queue.dart).
'providersQueue',
// Console-output behavior flags (gh-1198): the opt-in live thinking
// stream (`output.streamThinking`).
'output',
// The self-update policy (issue #1377): the `auto_update` scalar
// (`true`/`false`/`"notify"`), read by CliConfig.fromYaml and validated
// by the strict scalar mirror below (this file cannot import
// cli_config.dart — it uses dart:io).
'auto_update',
};