autoagent-cli
Version:
Run autonomous AI agents using Claude or Gemini for task execution
28 lines (27 loc) • 1.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProviderFactory = void 0;
const index_js_1 = require("./index.js");
class ProviderFactory {
static async getProvider(preferredProvider) {
try {
const provider = (0, index_js_1.createProvider)(preferredProvider);
if (await provider.checkAvailability()) {
return provider;
}
const fallbackProvider = await (0, index_js_1.getFirstAvailableProvider)();
if (fallbackProvider) {
return fallbackProvider;
}
throw new Error(`Provider ${preferredProvider} is not available and no fallback providers found`);
}
catch (error) {
const fallbackProvider = await (0, index_js_1.getFirstAvailableProvider)();
if (fallbackProvider) {
return fallbackProvider;
}
throw new Error(`Failed to create provider ${preferredProvider}: ${error instanceof Error ? error.message : 'Unknown error'}`);
}
}
}
exports.ProviderFactory = ProviderFactory;