validateConfig method
Validate a parsed config and return a list of errors (empty if valid).
Implementation
List<String> validateConfig(CliConfig config) {
final errors = <String>[];
if (config.maxTokens != null && config.maxTokens! <= 0) {
errors.add('--max-tokens must be a positive integer');
}
if (config.verbose && config.quiet) {
errors.add('Cannot use both --verbose and --quiet');
}
if (config.sessionId != null && config.continueSession) {
errors.add('Cannot use both --session and --continue');
}
if (config.listenPort != null &&
(config.listenPort! < 0 || config.listenPort! > 65535)) {
errors.add('--listen-port must be between 0 and 65535');
}
if (config.outputFormat != null &&
!const ['text', 'json', 'markdown'].contains(config.outputFormat)) {
errors.add('--output-format must be one of: text, json, markdown');
}
if (config.permissionMode == PermissionMode.bypassPermissions &&
!config.dangerouslySkipPermissions) {
errors.add(
'bypass-permissions mode requires --dangerous-skip-permissions flag',
);
}
return errors;
}