validateConfig method

List<String> validateConfig(
  1. CliConfig config
)

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;
}