require("./base.cjs");
const require_index = require("./assistants/index.cjs");
require("./stream/subscription.cjs");
require("./stream/handles/tools.cjs");
require("./stream/messages.cjs");
require("./stream/media.cjs");
require("./stream/handles/subgraphs.cjs");
require("./stream/handles/subagents.cjs");
require("./stream/error.cjs");
require("./stream/index.cjs");
require("./stream/transport/http.cjs");
require("./stream/transport/websocket.cjs");
const require_index$2 = require("./threads/index.cjs");
const require_index$3 = require("./runs/index.cjs");
const require_index$4 = require("./crons/index.cjs");
const require_index$5 = require("./store/index.cjs");
const require_index$6 = require("./ui-internal/index.cjs");
require("./stream/transport/agent-server.cjs");
require("./stream/transport/index.cjs");
require("./stream/resolve-client-api-url.cjs");
//#region src/client/index.ts
var Client = class {
	/**
	* The client for interacting with assistants.
	*/
	assistants;
	/**
	* The client for interacting with threads.
	*/
	threads;
	/**
	* The client for interacting with runs.
	*/
	runs;
	/**
	* The client for interacting with cron runs.
	*/
	crons;
	/**
	* The client for interacting with the KV store.
	*/
	store;
	/**
	* The client for interacting with the UI.
	* @internal Used by LoadExternalComponent and the API might change in the future.
	*/
	"~ui";
	/**
	* @internal Used to obtain a stable key representing the client.
	*/
	"~configHash";
	constructor(config) {
		this["~configHash"] = JSON.stringify({
			apiUrl: config?.apiUrl,
			apiKey: config?.apiKey,
			timeoutMs: config?.timeoutMs,
			defaultHeaders: config?.defaultHeaders,
			streamProtocol: config?.streamProtocol,
			maxConcurrency: config?.callerOptions?.maxConcurrency,
			maxRetries: config?.callerOptions?.maxRetries,
			callbacks: {
				onFailedResponseHook: config?.callerOptions?.onFailedResponseHook != null,
				onRequest: config?.onRequest != null,
				fetch: config?.callerOptions?.fetch != null
			}
		});
		this.assistants = new require_index.AssistantsClient(config);
		this.threads = new require_index$2.ThreadsClient(config);
		this.runs = new require_index$3.RunsClient(config);
		this.crons = new require_index$4.CronsClient(config);
		this.store = new require_index$5.StoreClient(config);
		this["~ui"] = new require_index$6.UiClient(config);
	}
};
/**
* @internal Used to obtain a stable key representing the client.
*/
function getClientConfigHash(client) {
	return client["~configHash"];
}
//#endregion
exports.Client = Client;
exports.getClientConfigHash = getClientConfigHash;

//# sourceMappingURL=index.cjs.map