run method

  1. @override
Future<void> run()
override

Runs this command.

The return value is wrapped in a Future if necessary and returned by CommandRunner.runCommand.

Implementation

@override
Future<void> run() async {
  final d = ai.AiConfigIo.describe(
    path: omnyServerAiConfigPath(argResults!['path'] as String?),
  );

  stdout
    ..writeln(
      'Config file: ${d.path}${d.fileExists ? '' : ' (does not exist)'}',
    )
    ..writeln('provider: ${d.provider?.wireName ?? '(unset)'}')
    ..writeln(
      'model:    ${d.model ?? '(default)'}'
      '${d.modelFromDefault ? '  [default]' : ''}',
    )
    ..writeln('  planner:  ${d.plannerModel ?? '(uses model)'}')
    ..writeln('  executor: ${d.executorModel ?? '(uses model)'}')
    ..writeln('  explainer: ${d.explainerModel ?? '(uses model)'}')
    ..writeln('mode:     ${d.mode.wireName}')
    ..writeln('language: ${d.language ?? '(model default)'}')
    ..writeln('baseUrl:  ${d.baseUrl ?? '(provider default)'}')
    ..writeln('maxSteps: ${d.maxSteps}');
  if (d.keySet) {
    final src = d.keyFromEnv ? d.keyEnvVar : 'ai.yaml';
    stdout.writeln('key:      set (from $src)');
  } else {
    stdout.writeln(
      'key:      not set'
      '${d.keyEnvVar == null ? '' : ' (set ${d.keyEnvVar} or run: '
                'omnyserver ai config --key -)'}',
    );
  }
}