initialize static method

Future<void> initialize({
  1. String? apiKey,
  2. String? baseURL,
  3. SDKEnvironment environment = SDKEnvironment.development,
})

Initialize the SDK

Implementation

static Future<void> initialize({
  String? apiKey,
  String? baseURL,
  SDKEnvironment environment = SDKEnvironment.development,
}) async {
  final SDKInitParams params;

  if (environment == SDKEnvironment.development) {
    params = SDKInitParams(
      apiKey: apiKey ?? '',
      baseURL: Uri.parse(baseURL ?? 'https://api.runanywhere.ai'),
      environment: environment,
    );
  } else {
    if (apiKey == null || apiKey.isEmpty) {
      throw SDKError.validationFailed(
        'API key is required for ${environment.description} mode',
      );
    }
    if (baseURL == null || baseURL.isEmpty) {
      throw SDKError.validationFailed(
        'Base URL is required for ${environment.description} mode',
      );
    }
    final uri = Uri.tryParse(baseURL);
    if (uri == null) {
      throw SDKError.validationFailed('Invalid base URL: $baseURL');
    }
    params = SDKInitParams(
      apiKey: apiKey,
      baseURL: uri,
      environment: environment,
    );
  }

  await initializeWithParams(params);
}