codex_cli_sdk 4.1.6 copy "codex_cli_sdk: ^4.1.6" to clipboard
codex_cli_sdk: ^4.1.6 copied to clipboard

A powerful Dart SDK for interacting with OpenAI Codex CLI, providing seamless integration with AI-powered coding assistance through the Codex CLI tool.

example/codex_cli_sdk_example.dart

import 'dart:io';

import 'package:codex_cli_sdk/codex_cli_sdk.dart';

Future<void> main() async {
  final apiKey = Platform.environment['OPENAI_API_KEY'] ?? '';

  if (apiKey.isEmpty) {
    print('Please set the OPENAI_API_KEY environment variable');
    print('Example: export OPENAI_API_KEY="your-api-key-here"');
    exit(1);
  }

  final codexSDK = Codex(apiKey: apiKey);

  try {
    print('Checking Codex CLI installation...');
    final isInstalled = await codexSDK.isCodexCLIInstalled();

    if (!isInstalled) {
      print('Codex CLI is not installed.');
      print('Would you like to install it? (y/n)');

      final input = stdin.readLineSync();
      if (input?.toLowerCase() == 'y') {
        await codexSDK.installCodexCLI();
        print('Installation complete!');
      } else {
        print('Please install Codex CLI manually:');
        print('npm install -g @openai/codex');
        exit(1);
      }
    } else {
      print('✓ Codex CLI is installed');
    }

    print('\nSDK Information:');
    final info = await codexSDK.getSDKInfo();
    info.forEach((key, value) => print('  $key: $value'));

    print('\nCreating chat session...');
    final chat = codexSDK.createNewChat(
      options: const CodexChatOptions(
        systemPrompt: 'You are a helpful AI assistant',
        mode: 'suggest',
      ),
    );

    try {
      print('\nSending message to Codex...');
      final response = await chat.sendMessage([
        PromptContent.text('Explain what Dart is in one sentence.'),
      ]);

      print('\nCodex response:');
      print(response);

      print('\n--- Schema Example ---');
      final SchemaDefinition schema = SchemaDefinition(
        properties: {
          'language': SchemaProperty.text(nullable: false),
          'paradigm': SchemaProperty.text(nullable: false),
          'creator': SchemaProperty.text(nullable: true),
        },
      );

      final result = await chat.sendMessageWithSchema(
        messages: [
          PromptContent.text(
              'Give me information about the Dart programming language'),
        ],
        schema: schema,
      );

      print('\nStructured response:');
      print('Message: ${result.llmMessage}');
      print('Data: ${result.structuredSchemaData}');
    } finally {
      await chat.dispose();
    }

    print('\n--- MCP Status ---');
    final mcpInfo = await codexSDK.isMcpInstalled();
    print('MCP Support: ${mcpInfo.hasMcpSupport}');
    print('Configured Servers: ${mcpInfo.servers.length}');
    for (final server in mcpInfo.servers) {
      print('  - ${server.name}');
    }
  } catch (e) {
    print('Error: $e');
    exit(1);
  } finally {
    await codexSDK.dispose();
  }
}
0
likes
150
points
165
downloads

Publisher

unverified uploader

Weekly Downloads

A powerful Dart SDK for interacting with OpenAI Codex CLI, providing seamless integration with AI-powered coding assistance through the Codex CLI tool.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

path, programming_cli_core_sdk

More

Packages that depend on codex_cli_sdk