require('./logger-DXu5t4bD.cjs');
require('./esm-C8GQ-4k9.cjs');
require('./pythonUtils-CJADVBl_.cjs');
require('./types-ykSCHP0x.cjs');
require('./util-BdlVY3dk.cjs');
require('./fetch-D5ITc9pG.cjs');
require('./cache-Cv2r51Z1.cjs');
require('./genaiTracer-C0huM5g6.cjs');
const require_chat = require('./chat-CwcRgAF_.cjs');
require('./transform-DTD-82AS.cjs');
require('./openai-BQhdK6dW.cjs');
require('./util-C-X2Ldab.cjs');

//#region src/providers/quiverai.ts
const QUIVERAI_API_BASE_URL = "https://api.quiver.ai/v1";
/**
* QuiverAI chat provider extends OpenAI chat completion provider.
* QuiverAI's chat API is OpenAI-compatible and excels at SVG generation.
*/
var QuiverAiChatProvider = class extends require_chat.OpenAiChatCompletionProvider {
	constructor(modelName, providerOptions = {}) {
		const config = providerOptions.config || {};
		super(modelName, {
			...providerOptions,
			config: {
				...config,
				apiBaseUrl: config.apiBaseUrl || QUIVERAI_API_BASE_URL,
				apiKeyEnvar: "QUIVERAI_API_KEY"
			}
		});
	}
	id() {
		return `quiverai:${this.modelName}`;
	}
	toString() {
		return `[QuiverAI Provider ${this.modelName}]`;
	}
	getApiUrlDefault() {
		return QUIVERAI_API_BASE_URL;
	}
};
function createQuiverAiProvider(providerPath, providerOptions = {}, env) {
	const splits = providerPath.split(":");
	const modelType = splits[1];
	const effectiveEnv = env || providerOptions.env;
	return new QuiverAiChatProvider((modelType === "chat" ? splits.slice(2) : splits.slice(1)).join(":") || "arrow-0.5", {
		...providerOptions,
		env: effectiveEnv
	});
}

//#endregion
exports.createQuiverAiProvider = createQuiverAiProvider;
//# sourceMappingURL=quiverai-Rp1euMTs.cjs.map