config.ts•2.61 kB
/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import { Security } from "../models/security.js";
import { ClosedEnum } from "../types/enums.js";
import { HTTPClient } from "./http.js";
import { Logger } from "./logger.js";
import { RetryConfig } from "./retries.js";
import { Params, pathToFunc } from "./url.js";
/**
* Contains the list of servers available to the SDK
*/
export const ServerList = [
/**
* Regional API endpoints for optimal performance.
*/
"https://{region}.cloudinary.com",
/**
* Custom domains for enterprise deployments.
*/
"https://{host}",
] as const;
/**
* Regional endpoint selection
*/
export const ServerRegion = {
Api: "api",
ApiEu: "api-eu",
ApiAp: "api-ap",
} as const;
/**
* Regional endpoint selection
*/
export type ServerRegion = ClosedEnum<typeof ServerRegion>;
export type SDKOptions = {
/**
* The security details required to authenticate the SDK
*/
security?: Security | (() => Promise<Security>) | undefined;
/**
* Allows setting the cloud_name parameter for all supported operations
*/
cloud_name?: string | undefined;
httpClient?: HTTPClient;
/**
* Allows overriding the default server used by the SDK
*/
serverIdx?: number | undefined;
/**
* Sets the region variable for url substitution
*/
region?: ServerRegion | undefined;
/**
* Sets the host variable for url substitution
*/
host?: string | undefined;
/**
* Allows overriding the default server URL used by the SDK
*/
serverURL?: string | undefined;
/**
* Allows overriding the default retry config used by the SDK
*/
retryConfig?: RetryConfig;
timeoutMs?: number;
debugLogger?: Logger | undefined;
};
export function serverURLFromOptions(options: SDKOptions): URL | null {
let serverURL = options.serverURL;
const serverParams: Params[] = [
{
"region": options.region ?? "api",
},
{
"host": options.host ?? "api.cloudinary.com",
},
];
let params: Params = {};
if (!serverURL) {
const serverIdx = options.serverIdx ?? 0;
if (serverIdx < 0 || serverIdx >= ServerList.length) {
throw new Error(`Invalid server index ${serverIdx}`);
}
serverURL = ServerList[serverIdx] || "";
params = serverParams[serverIdx] || {};
}
const u = pathToFunc(serverURL)(params);
return new URL(u);
}
export const SDK_METADATA = {
language: "typescript",
openapiDocVersion: "0.3.1",
sdkVersion: "0.0.1",
genVersion: "internal",
userAgent: "speakeasy-sdk/mcp-typescript 0.0.1 internal 0.3.1 mcp",
} as const;